tempest.games 0.0.13 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,35 +1,35 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var Il=Object.create;var{getPrototypeOf:El,defineProperty:ea,getOwnPropertyNames:Vl}=Object;var Ul=Object.prototype.hasOwnProperty;var Yl=(n,i,o)=>{o=n!=null?Il(El(n)):{};const e=i||!n||!n.__esModule?ea(o,"default",{value:n,enumerable:!0}):o;for(let a of Vl(n))if(!Ul.call(e,a))ea(e,a,{get:()=>n[a],enumerable:!0});return e};var h=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var Ha=h((UF,te)=>{function _l(n){var i=n.split(",");for(var o=0,e=0;o<i.length;o++){var a=ql(i[o].trim(),o);if(a)i[e++]=a}return i.length=e,i}function ql(n,i){var o=Pl.exec(n);if(!o)return null;var e=o[1],a=1;if(o[2]){var t=o[2].split(";");for(var s=0;s<t.length;s++){var c=t[s].trim().split("=");if(c[0]==="q"){a=parseFloat(c[1]);break}}}return{charset:e,q:a,i}}function nr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=ir(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function ir(n,i,o){var e=0;if(i.charset.toLowerCase()===n.toLowerCase())e|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:e}}function Qa(n,i){var o=_l(n===void 0?"*":n||"");if(!i)return o.filter(Za).sort(Ga).map(or);var e=i.map(function a(t,s){return nr(t,o,s)});return e.filter(Za).sort(Ga).map(function a(t){return i[e.indexOf(t)]})}function Ga(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function or(n){return n.charset}function Za(n){return n.q>0}te.exports=Qa;te.exports.preferredCharsets=Qa;var Pl=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var _a=h((YF,se)=>{function ar(n){var i=n.split(","),o=!1,e=1;for(var a=0,t=0;a<i.length;a++){var s=tr(i[a].trim(),a);if(s)i[t++]=s,o=o||La("identity",s),e=Math.min(e,s.q||1)}if(!o)i[t++]={encoding:"identity",q:e,i:a};return i.length=t,i}function tr(n,i){var o=er.exec(n);if(!o)return null;var e=o[1],a=1;if(o[2]){var t=o[2].split(";");for(var s=0;s<t.length;s++){var c=t[s].trim().split("=");if(c[0]==="q"){a=parseFloat(c[1]);break}}}return{encoding:e,q:a,i}}function sr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=La(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function La(n,i,o){var e=0;if(i.encoding.toLowerCase()===n.toLowerCase())e|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:e}}function Pa(n,i){var o=ar(n||"");if(!i)return o.filter(Da).sort(Na).map(cr);var e=i.map(function a(t,s){return sr(t,o,s)});return e.filter(Da).sort(Na).map(function a(t){return i[e.indexOf(t)]})}function Na(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function cr(n){return n.encoding}function Da(n){return n.q>0}se.exports=Pa;se.exports.preferredEncodings=Pa;var er=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var et=h((BF,ce)=>{function rr(n){var i=n.split(",");for(var o=0,e=0;o<i.length;o++){var a=it(i[o].trim(),o);if(a)i[e++]=a}return i.length=e,i}function it(n,i){var o=lr.exec(n);if(!o)return null;var e=o[1],a=o[2],t=e;if(a)t+="-"+a;var s=1;if(o[3]){var c=o[3].split(";");for(var l=0;l<c.length;l++){var r=c[l].split("=");if(r[0]==="q")s=parseFloat(r[1])}}return{prefix:e,suffix:a,q:s,i,full:t}}function pr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=mr(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function mr(n,i,o){var e=it(n);if(!e)return null;var a=0;if(i.full.toLowerCase()===e.full.toLowerCase())a|=4;else if(i.prefix.toLowerCase()===e.full.toLowerCase())a|=2;else if(i.full.toLowerCase()===e.prefix.toLowerCase())a|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:a}}function ot(n,i){var o=rr(n===void 0?"*":n||"");if(!i)return o.filter(nt).sort(qa).map(ur);var e=i.map(function a(t,s){return pr(t,o,s)});return e.filter(nt).sort(qa).map(function a(t){return i[e.indexOf(t)]})}function qa(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function ur(n){return n.full}function nt(n){return n.q>0}ce.exports=ot;ce.exports.preferredLanguages=ot;var lr=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var rt=h((XF,le)=>{function dr(n){var i=Tr(n);for(var o=0,e=0;o<i.length;o++){var a=st(i[o].trim(),o);if(a)i[e++]=a}return i.length=e,i}function st(n,i){var o=xr.exec(n);if(!o)return null;var e=Object.create(null),a=1,t=o[2],s=o[1];if(o[3]){var c=Sr(o[3]).map(br);for(var l=0;l<c.length;l++){var r=c[l],p=r[0].toLowerCase(),m=r[1],T=m&&m[0]==='"'&&m[m.length-1]==='"'?m.substr(1,m.length-2):m;if(p==="q"){a=parseFloat(T);break}e[p]=T}}return{type:s,subtype:t,params:e,q:a,i}}function fr(n,i,o){var e={o:-1,q:0,s:0};for(var a=0;a<i.length;a++){var t=yr(n,i[a],o);if(t&&(e.s-t.s||e.q-t.q||e.o-t.o)<0)e=t}return e}function yr(n,i,o){var e=st(n),a=0;if(!e)return null;if(i.type.toLowerCase()==e.type.toLowerCase())a|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==e.subtype.toLowerCase())a|=2;else if(i.subtype!="*")return null;var t=Object.keys(i.params);if(t.length>0)if(t.every(function(s){return i.params[s]=="*"||(i.params[s]||"").toLowerCase()==(e.params[s]||"").toLowerCase()}))a|=1;else return null;return{i:o,o:i.i,q:i.q,s:a}}function ct(n,i){var o=dr(n===void 0?"*/*":n||"");if(!i)return o.filter(tt).sort(at).map(vr);var e=i.map(function a(t,s){return fr(t,o,s)});return e.filter(tt).sort(at).map(function a(t){return i[e.indexOf(t)]})}function at(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function vr(n){return n.type+"/"+n.subtype}function tt(n){return n.q>0}function lt(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function br(n){var i=n.indexOf("="),o,e;if(i===-1)o=n;else o=n.substr(0,i),e=n.substr(i+1);return[o,e]}function Tr(n){var i=n.split(",");for(var o=1,e=0;o<i.length;o++)if(lt(i[e])%2==0)i[++e]=i[o];else i[e]+=","+i[o];return i.length=e+1,i}function Sr(n){var i=n.split(";");for(var o=1,e=0;o<i.length;o++)if(lt(i[e])%2==0)i[++e]=i[o];else i[e]+=";"+i[o];i.length=e+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}le.exports=ct;le.exports.preferredMediaTypes=ct;var xr=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var pt=h((GF,re)=>{function Y(n){if(!(this instanceof Y))return new Y(n);this.request=n}/*!
3
+ var Jm=Object.create;var{getPrototypeOf:$m,defineProperty:Ac,getOwnPropertyNames:Km}=Object;var jm=Object.prototype.hasOwnProperty;var Jc=(n,i,o)=>{o=n!=null?Jm($m(n)):{};const a=i||!n||!n.__esModule?Ac(o,"default",{value:n,enumerable:!0}):o;for(let e of Km(n))if(!jm.call(a,e))Ac(a,e,{get:()=>n[e],enumerable:!0});return a};var $=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var Sl=$((n$,Te)=>{function Bm(n){var i=n.split(",");for(var o=0,a=0;o<i.length;o++){var e=Cm(i[o].trim(),o);if(e)i[a++]=e}return i.length=a,i}function Cm(n,i){var o=Hm.exec(n);if(!o)return null;var a=o[1],e=1;if(o[2]){var c=o[2].split(";");for(var l=0;l<c.length;l++){var t=c[l].trim().split("=");if(t[0]==="q"){e=parseFloat(t[1]);break}}}return{charset:a,q:e,i}}function Vm(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=Em(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function Em(n,i,o){var a=0;if(i.charset.toLowerCase()===n.toLowerCase())a|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:a}}function bl(n,i){var o=Bm(n===void 0?"*":n||"");if(!i)return o.filter(vl).sort(fl).map(Um);var a=i.map(function e(c,l){return Vm(c,o,l)});return a.filter(vl).sort(fl).map(function e(c){return i[a.indexOf(c)]})}function fl(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Um(n){return n.charset}function vl(n){return n.q>0}Te.exports=bl;Te.exports.preferredCharsets=bl;var Hm=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var Fl=$((i$,we)=>{function Lm(n){var i=n.split(","),o=!1,a=1;for(var e=0,c=0;e<i.length;e++){var l=Nm(i[e].trim(),e);if(l)i[c++]=l,o=o||wl("identity",l),a=Math.min(a,l.q||1)}if(!o)i[c++]={encoding:"identity",q:a,i:e};return i.length=c,i}function Nm(n,i){var o=km.exec(n);if(!o)return null;var a=o[1],e=1;if(o[2]){var c=o[2].split(";");for(var l=0;l<c.length;l++){var t=c[l].trim().split("=");if(t[0]==="q"){e=parseFloat(t[1]);break}}}return{encoding:a,q:e,i}}function Im(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=wl(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function wl(n,i,o){var a=0;if(i.encoding.toLowerCase()===n.toLowerCase())a|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:a}}function dl(n,i){var o=Lm(n||"");if(!i)return o.filter(Tl).sort(yl).map(Dm);var a=i.map(function e(c,l){return Im(c,o,l)});return a.filter(Tl).sort(yl).map(function e(c){return i[a.indexOf(c)]})}function yl(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function Dm(n){return n.encoding}function Tl(n){return n.q>0}we.exports=dl;we.exports.preferredEncodings=dl;var km=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var $l=$((o$,de)=>{function qm(n){var i=n.split(",");for(var o=0,a=0;o<i.length;o++){var e=Al(i[o].trim(),o);if(e)i[a++]=e}return i.length=a,i}function Al(n,i){var o=_m.exec(n);if(!o)return null;var a=o[1],e=o[2],c=a;if(e)c+="-"+e;var l=1;if(o[3]){var t=o[3].split(";");for(var s=0;s<t.length;s++){var p=t[s].split("=");if(p[0]==="q")l=parseFloat(p[1])}}return{prefix:a,suffix:e,q:l,i,full:c}}function Pm(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=Zm(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function Zm(n,i,o){var a=Al(n);if(!a)return null;var e=0;if(i.full.toLowerCase()===a.full.toLowerCase())e|=4;else if(i.prefix.toLowerCase()===a.full.toLowerCase())e|=2;else if(i.full.toLowerCase()===a.prefix.toLowerCase())e|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:e}}function Jl(n,i){var o=qm(n===void 0?"*":n||"");if(!i)return o.filter(Rl).sort(Ml).map(nr);var a=i.map(function e(c,l){return Pm(c,o,l)});return a.filter(Rl).sort(Ml).map(function e(c){return i[a.indexOf(c)]})}function Ml(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function nr(n){return n.full}function Rl(n){return n.q>0}de.exports=Jl;de.exports.preferredLanguages=Jl;var _m=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var Ol=$((a$,Fe)=>{function or(n){var i=tr(n);for(var o=0,a=0;o<i.length;o++){var e=Wl(i[o].trim(),o);if(e)i[a++]=e}return i.length=a,i}function Wl(n,i){var o=ir.exec(n);if(!o)return null;var a=Object.create(null),e=1,c=o[2],l=o[1];if(o[3]){var t=sr(o[3]).map(lr);for(var s=0;s<t.length;s++){var p=t[s],m=p[0].toLowerCase(),r=p[1],S=r&&r[0]==='"'&&r[r.length-1]==='"'?r.substr(1,r.length-2):r;if(m==="q"){e=parseFloat(S);break}a[m]=S}}return{type:l,subtype:c,params:a,q:e,i}}function ar(n,i,o){var a={o:-1,q:0,s:0};for(var e=0;e<i.length;e++){var c=er(n,i[e],o);if(c&&(a.s-c.s||a.q-c.q||a.o-c.o)<0)a=c}return a}function er(n,i,o){var a=Wl(n),e=0;if(!a)return null;if(i.type.toLowerCase()==a.type.toLowerCase())e|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==a.subtype.toLowerCase())e|=2;else if(i.subtype!="*")return null;var c=Object.keys(i.params);if(c.length>0)if(c.every(function(l){return i.params[l]=="*"||(i.params[l]||"").toLowerCase()==(a.params[l]||"").toLowerCase()}))e|=1;else return null;return{i:o,o:i.i,q:i.q,s:e}}function zl(n,i){var o=or(n===void 0?"*/*":n||"");if(!i)return o.filter(jl).sort(Kl).map(cr);var a=i.map(function e(c,l){return ar(c,o,l)});return a.filter(jl).sort(Kl).map(function e(c){return i[a.indexOf(c)]})}function Kl(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function cr(n){return n.type+"/"+n.subtype}function jl(n){return n.q>0}function gl(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function lr(n){var i=n.indexOf("="),o,a;if(i===-1)o=n;else o=n.substr(0,i),a=n.substr(i+1);return[o,a]}function tr(n){var i=n.split(",");for(var o=1,a=0;o<i.length;o++)if(gl(i[a])%2==0)i[++a]=i[o];else i[a]+=","+i[o];return i.length=a+1,i}function sr(n){var i=n.split(";");for(var o=1,a=0;o<i.length;o++)if(gl(i[a])%2==0)i[++a]=i[o];else i[a]+=";"+i[o];i.length=a+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}Fe.exports=zl;Fe.exports.preferredMediaTypes=zl;var ir=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var hl=$((e$,Me)=>{function _(n){if(!(this instanceof _))return new _(n);this.request=n}/*!
4
4
  * negotiator
5
5
  * Copyright(c) 2012 Federico Romero
6
6
  * Copyright(c) 2012-2014 Isaac Z. Schlueter
7
7
  * Copyright(c) 2015 Douglas Christopher Wilson
8
8
  * MIT Licensed
9
- */var wr=Ha(),gr=_a(),Fr=et(),hr=rt();re.exports=Y;re.exports.Negotiator=Y;Y.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};Y.prototype.charsets=function n(i){return wr(this.request.headers["accept-charset"],i)};Y.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};Y.prototype.encodings=function n(i){return gr(this.request.headers["accept-encoding"],i)};Y.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};Y.prototype.languages=function n(i){return Fr(this.request.headers["accept-language"],i)};Y.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};Y.prototype.mediaTypes=function n(i){return hr(this.request.headers.accept,i)};Y.prototype.preferredCharset=Y.prototype.charset;Y.prototype.preferredCharsets=Y.prototype.charsets;Y.prototype.preferredEncoding=Y.prototype.encoding;Y.prototype.preferredEncodings=Y.prototype.encodings;Y.prototype.preferredLanguage=Y.prototype.language;Y.prototype.preferredLanguages=Y.prototype.languages;Y.prototype.preferredMediaType=Y.prototype.mediaType;Y.prototype.preferredMediaTypes=Y.prototype.mediaTypes});var mt=h((ZF,Ar)=>{Ar.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var xt=h((QF,ut)=>{/*!
9
+ */var pr=Sl(),mr=Fl(),rr=$l(),ur=Ol();Me.exports=_;Me.exports.Negotiator=_;_.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};_.prototype.charsets=function n(i){return pr(this.request.headers["accept-charset"],i)};_.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};_.prototype.encodings=function n(i){return mr(this.request.headers["accept-encoding"],i)};_.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};_.prototype.languages=function n(i){return rr(this.request.headers["accept-language"],i)};_.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};_.prototype.mediaTypes=function n(i){return ur(this.request.headers.accept,i)};_.prototype.preferredCharset=_.prototype.charset;_.prototype.preferredCharsets=_.prototype.charsets;_.prototype.preferredEncoding=_.prototype.encoding;_.prototype.preferredEncodings=_.prototype.encodings;_.prototype.preferredLanguage=_.prototype.language;_.prototype.preferredLanguages=_.prototype.languages;_.prototype.preferredMediaType=_.prototype.mediaType;_.prototype.preferredMediaTypes=_.prototype.mediaTypes});var Xl=$((c$,xr)=>{xr.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var Gl=$((l$,Yl)=>{/*!
10
10
  * mime-db
11
11
  * Copyright(c) 2014 Jonathan Ong
12
12
  * Copyright(c) 2015-2022 Douglas Christopher Wilson
13
13
  * MIT Licensed
14
- */ut.exports=mt()});var bt=h((kr)=>{function ft(n){if(!n||typeof n!=="string")return!1;var i=dt.exec(n),o=i&&co[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&Rr.test(i[1]))return"UTF-8";return!1}function Mr(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?kr.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=kr.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function Jr(n){if(!n||typeof n!=="string")return!1;var i=dt.exec(n),o=i&&kr.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function $r(n){if(!n||typeof n!=="string")return!1;var i=Kr("x."+n).toLowerCase().substr(1);if(!i)return!1;return kr.types[i]||!1}function jr(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(co).forEach(function e(a){var t=co[a],s=t.extensions;if(!s||!s.length)return;n[a]=s;for(var c=0;c<s.length;c++){var l=s[c];if(i[l]){var r=o.indexOf(co[i[l]].source),p=o.indexOf(t.source);if(i[l]!=="application/octet-stream"&&(r>p||r===p&&i[l].substr(0,12)==="application/"))continue}i[l]=a}})}/*!
14
+ */Yl.exports=Xl()});var Vl=$((wr)=>{function Hl(n){if(!n||typeof n!=="string")return!1;var i=Ql.exec(n),o=i&&va[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&vr.test(i[1]))return"UTF-8";return!1}function br(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?wr.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=wr.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function Sr(n){if(!n||typeof n!=="string")return!1;var i=Ql.exec(n),o=i&&wr.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function yr(n){if(!n||typeof n!=="string")return!1;var i=fr("x."+n).toLowerCase().substr(1);if(!i)return!1;return wr.types[i]||!1}function Tr(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(va).forEach(function a(e){var c=va[e],l=c.extensions;if(!l||!l.length)return;n[e]=l;for(var t=0;t<l.length;t++){var s=l[t];if(i[s]){var p=o.indexOf(va[i[s]].source),m=o.indexOf(c.source);if(i[s]!=="application/octet-stream"&&(p>m||p===m&&i[s].substr(0,12)==="application/"))continue}i[s]=e}})}/*!
15
15
  * mime-types
16
16
  * Copyright(c) 2014 Jonathan Ong
17
17
  * Copyright(c) 2015 Douglas Christopher Wilson
18
18
  * MIT Licensed
19
- */var co=xt(),Kr=import.meta.require("path").extname,dt=/^\s*([^;\s]*)(?:;|\s|$)/,Rr=/^text\//i;kr.charset=ft;kr.charsets={lookup:ft};kr.contentType=Mr;kr.extension=Jr;kr.extensions=Object.create(null);kr.lookup=$r;kr.types=Object.create(null);jr(kr.extensions,kr.types)});var lo=h((NF,Tt)=>{function mn(n){if(!(this instanceof mn))return new mn(n);this.headers=n.headers,this.negotiator=new Wr(n)}function Er(n){return n.indexOf("/")===-1?Ir.lookup(n):n}function Vr(n){return typeof n==="string"}/*!
19
+ */var va=Gl(),fr=import.meta.require("path").extname,Ql=/^\s*([^;\s]*)(?:;|\s|$)/,vr=/^text\//i;wr.charset=Hl;wr.charsets={lookup:Hl};wr.contentType=br;wr.extension=Sr;wr.extensions=Object.create(null);wr.lookup=yr;wr.types=Object.create(null);Tr(wr.extensions,wr.types)});var ba=$((s$,El)=>{function An(n){if(!(this instanceof An))return new An(n);this.headers=n.headers,this.negotiator=new Rr(n)}function Jr(n){return n.indexOf("/")===-1?Ar.lookup(n):n}function $r(n){return typeof n==="string"}/*!
20
20
  * accepts
21
21
  * Copyright(c) 2014 Jonathan Ong
22
22
  * Copyright(c) 2015 Douglas Christopher Wilson
23
23
  * MIT Licensed
24
- */var Wr=pt(),Ir=bt();Tt.exports=mn;mn.prototype.type=mn.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var e=i.map(Er),a=this.negotiator.mediaTypes(e.filter(Vr)),t=a[0];return t?i[e.indexOf(t)]:!1};mn.prototype.encoding=mn.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};mn.prototype.charset=mn.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};mn.prototype.lang=mn.prototype.langs=mn.prototype.language=mn.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1}});var xe=h((St,wt)=>{/*!
24
+ */var Rr=hl(),Ar=Vl();El.exports=An;An.prototype.type=An.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var a=i.map(Jr),e=this.negotiator.mediaTypes(a.filter($r)),c=e[0];return c?i[a.indexOf(c)]:!1};An.prototype.encoding=An.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};An.prototype.charset=An.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};An.prototype.lang=An.prototype.langs=An.prototype.language=An.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1}});var $e=$((Ul,kl)=>{/*!
25
25
  * base64id v0.1.0
26
- */var Ei=import.meta.require("crypto"),ue=function(){};ue.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Ei.randomBytes(n);var e=parseInt(i/n),a=parseInt(e*0.85);if(!a)return Ei.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==e)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>a){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Ei.randomBytes(i,function(s,c){o.bytesBuffer=c,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Ei.randomBytes(n)}var t=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,t};ue.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Ei.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};St=wt.exports=new ue});var ro=h((Ft)=>{Object.defineProperty(Ft,"__esModule",{value:!0});Ft.ERROR_PACKET=Ft.PACKET_TYPES_REVERSE=Ft.PACKET_TYPES=void 0;var Rn=Object.create(null);Ft.PACKET_TYPES=Rn;Rn.open="0";Rn.close="1";Rn.ping="2";Rn.pong="3";Rn.message="4";Rn.upgrade="5";Rn.noop="6";var gt=Object.create(null);Ft.PACKET_TYPES_REVERSE=gt;Object.keys(Rn).forEach((n)=>{gt[Rn[n]]=n});var Ur={type:"error",data:"parser error"};Ft.ERROR_PACKET=Ur});var Rt=h((Kt)=>{function Zr(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(At(n.data,!1));Kt.encodePacket(n,!0,(o)=>{if(!de)de=new TextEncoder;i(de.encode(o))})}Object.defineProperty(Kt,"__esModule",{value:!0});Kt.encodePacket=void 0;Kt.encodePacketToBinary=Zr;var Xr=ro(),Gr=({type:n,data:i},o,e)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return e(o?i:"b"+At(i,!0).toString("base64"));return e(Xr.PACKET_TYPES[n]+(i||""))};Kt.encodePacket=Gr;var At=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},de});var jt=h((Jt)=>{Object.defineProperty(Jt,"__esModule",{value:!0});Jt.decodePacket=void 0;var po=ro(),Hr=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Mt(n,i)};const o=n.charAt(0);if(o==="b"){const e=Buffer.from(n.substring(1),"base64");return{type:"message",data:Mt(e,i)}}if(!po.PACKET_TYPES_REVERSE[o])return po.ERROR_PACKET;return n.length>1?{type:po.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:po.PACKET_TYPES_REVERSE[o]}};Jt.decodePacket=Hr;var Mt=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Vi=h((xo)=>{function Lr(){return new TransformStream({transform(n,i){ve.encodePacketToBinary(n,(o)=>{const e=o.length;let a;if(e<126)a=new Uint8Array(1),new DataView(a.buffer).setUint8(0,e);else if(e<65536){a=new Uint8Array(3);const t=new DataView(a.buffer);t.setUint8(0,126),t.setUint16(1,e)}else{a=new Uint8Array(9);const t=new DataView(a.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(e))}if(n.data&&typeof n.data!=="string")a[0]|=128;i.enqueue(a),i.enqueue(o)})}})}function mo(n){return n.reduce((i,o)=>i+o.length,0)}function uo(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let e=0;for(let a=0;a<i;a++)if(o[a]=n[0][e++],e===n[0].length)n.shift(),e=0;if(n.length&&e<n[0].length)n[0]=n[0].slice(e);return o}function Pr(n,i){if(!ye)ye=new TextDecoder;const o=[];let e=0,a=-1,t=!1;return new TransformStream({transform(s,c){o.push(s);while(!0){if(e===0){if(mo(o)<1)break;const l=uo(o,1);if(t=(l[0]&128)===128,a=l[0]&127,a<126)e=3;else if(a===126)e=1;else e=2}else if(e===1){if(mo(o)<2)break;const l=uo(o,2);a=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),e=3}else if(e===2){if(mo(o)<8)break;const l=uo(o,8),r=new DataView(l.buffer,l.byteOffset,l.length),p=r.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(kt.ERROR_PACKET);break}a=p*Math.pow(2,32)+r.getUint32(4),e=3}else{if(mo(o)<a)break;const l=uo(o,a);c.enqueue(be.decodePacket(t?l:ye.decode(l),i)),e=0}if(a===0||a>n){c.enqueue(kt.ERROR_PACKET);break}}}})}Object.defineProperty(xo,"__esModule",{value:!0});xo.decodePayload=xo.decodePacket=xo.encodePayload=xo.encodePacket=xo.protocol=void 0;xo.createPacketEncoderStream=Lr;xo.createPacketDecoderStream=Pr;var ve=Rt();Object.defineProperty(xo,"encodePacket",{enumerable:!0,get:function(){return ve.encodePacket}});var be=jt();Object.defineProperty(xo,"decodePacket",{enumerable:!0,get:function(){return be.decodePacket}});var kt=ro(),Ot=String.fromCharCode(30),Nr=(n,i)=>{const o=n.length,e=new Array(o);let a=0;n.forEach((t,s)=>{ve.encodePacket(t,!1,(c)=>{if(e[s]=c,++a===o)i(e.join(Ot))})})};xo.encodePayload=Nr;var Dr=(n,i)=>{const o=n.split(Ot),e=[];for(let a=0;a<o.length;a++){const t=be.decodePacket(o[a],i);if(e.push(t),t.type==="error")break}return e};xo.decodePayload=Dr;var ye;xo.protocol=4});var Et=h((ih,It)=>{function Ct(n){var i=[],o=0,e=n.length,a,t;while(o<e)if(a=n.charCodeAt(o++),a>=55296&&a<=56319&&o<e)if(t=n.charCodeAt(o++),(t&64512)==56320)i.push(((a&1023)<<10)+(t&1023)+65536);else i.push(a),o--;else i.push(a);return i}function op(n){var i=n.length,o=-1,e,a="";while(++o<i){if(e=n[o],e>65535)e-=65536,a+=Yn(e>>>10&1023|55296),e=56320|e&1023;a+=Yn(e)}return a}function Wt(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Te(n,i){return Yn(n>>i&63|128)}function ep(n,i){if((n&4294967168)==0)return Yn(n);var o="";if((n&4294965248)==0)o=Yn(n>>6&31|192);else if((n&4294901760)==0){if(!Wt(n,i))n=65533;o=Yn(n>>12&15|224),o+=Te(n,6)}else if((n&4292870144)==0)o=Yn(n>>18&7|240),o+=Te(n,12),o+=Te(n,6);return o+=Yn(n&63|128),o}function ap(n,i){i=i||{};var o=i.strict!==!1,e=Ct(n),a=e.length,t=-1,s,c="";while(++t<a)s=e[t],c+=ep(s,o);return c}function li(){if(Bn>=yo)throw Error("Invalid byte index");var n=fo[Bn]&255;if(Bn++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function tp(n){var i,o,e,a,t;if(Bn>yo)throw Error("Invalid byte index");if(Bn==yo)return!1;if(i=fo[Bn]&255,Bn++,(i&128)==0)return i;if((i&224)==192)if(o=li(),t=(i&31)<<6|o,t>=128)return t;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=li(),e=li(),t=(i&15)<<12|o<<6|e,t>=2048)return Wt(t,n)?t:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=li(),e=li(),a=li(),t=(i&7)<<18|o<<12|e<<6|a,t>=65536&&t<=1114111)return t}throw Error("Invalid UTF-8 detected")}function sp(n,i){i=i||{};var o=i.strict!==!1;fo=Ct(n),yo=fo.length,Bn=0;var e=[],a;while((a=tp(o))!==!1)e.push(a);return op(e)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var Yn=String.fromCharCode,fo,yo,Bn;It.exports={version:"2.1.2",encode:ap,decode:sp}});var Ht=h((Qt)=>{function Se(n,i,o,e){if(typeof i==="function")e=i,i=null;if(typeof o==="function")e=o,o=null;if(Buffer.isBuffer(n.data))return Vt(n,i,e);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return Vt({type:n.type,data:ge(n.data)},i,e);var a=Qt.packets[n.type];if(n.data!==void 0)a+=o?Ut.encode(String(n.data),{strict:!1}):String(n.data);return e(""+a)}function Vt(n,i,o){if(!i)return Yt(n,o);var e=n.data,a=Buffer.allocUnsafe(1);return a[0]=Qt.packets[n.type],o(Buffer.concat([a,e]))}function Yt(n,i){var o=Buffer.isBuffer(n.data)?n.data:ge(n.data),e="b"+Qt.packets[n.type];return e+=o.toString("base64"),i(e)}function we(n,i,o){if(n===void 0)return gn;var e;if(typeof n==="string"){if(e=n.charAt(0),e==="b")return Bt(n.slice(1),i);if(o){if(n=rp(n),n===!1)return gn}if(Number(e)!=e||!ri[e])return gn;if(n.length>1)return{type:ri[e],data:n.slice(1)};else return{type:ri[e]}}if(i==="arraybuffer"){var a=new Uint8Array(n);return e=a[0],{type:ri[e],data:a.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=ge(n);return e=n[0],{type:ri[e],data:n.slice(1)}}function rp(n){try{n=Ut.decode(n,{strict:!1})}catch(i){return!1}return n}function Bt(n,i){var o=ri[n.charAt(0)],e=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var a=new Uint8Array(e.length);for(var t=0;t<a.length;t++)a[t]=e[t];e=a.buffer}return{type:o,data:e}}function pp(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&cp(n))return Gt(n,o);if(!n.length)return o("0:");function e(a,t){Se(a,i,!1,function(s){t(null,mp(s))})}Xt(n,e,function(a,t){return o(t.join(""))})}function mp(n){return n.length+":"+n}function Xt(n,i,o){const e=new Array(n.length);let a=0;for(let t=0;t<n.length;t++)i(n[t],(s,c)=>{if(e[t]=c,++a===n.length)o(null,e)})}function up(n,i,o){if(typeof n!=="string")return Zt(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(gn,0,1);var e="",a,t,s;for(var c=0,l=n.length;c<l;c++){var r=n.charAt(c);if(r!==":"){e+=r;continue}if(e===""||e!=(a=Number(e)))return o(gn,0,1);if(t=n.slice(c+1,c+1+a),e!=t.length)return o(gn,0,1);if(t.length){if(s=we(t,i,!1),gn.type===s.type&&gn.data===s.data)return o(gn,0,1);var p=o(s,c+a,l);if(p===!1)return}c+=a,e=""}if(e!=="")return o(gn,0,1)}function xp(n){var i="";for(var o=0,e=n.length;o<e;o++)i+=String.fromCharCode(n[o]);return i}function dp(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,e=n.length;o<e;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function ge(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function Gt(n,i){if(!n.length)return i(lp);Xt(n,fp,function(o,e){return i(Buffer.concat(e))})}function fp(n,i){function o(e){var a=""+e.length,t;if(typeof e==="string"){t=Buffer.allocUnsafe(a.length+2),t[0]=0;for(var s=0;s<a.length;s++)t[s+1]=parseInt(a[s],10);return t[t.length-1]=255,i(null,Buffer.concat([t,dp(e)]))}t=Buffer.allocUnsafe(a.length+2),t[0]=1;for(var s=0;s<a.length;s++)t[s+1]=parseInt(a[s],10);t[t.length-1]=255,i(null,Buffer.concat([t,e]))}Se(n,!0,!0,o)}function Zt(n,i,o){if(typeof i==="function")o=i,i=null;var e=n,a=[],t;while(e.length>0){var s="",c=e[0]===0;for(t=1;;t++){if(e[t]===255)break;if(s.length>310)return o(gn,0,1);s+=""+e[t]}e=e.slice(s.length+1);var l=parseInt(s,10),r=e.slice(1,l+1);if(c)r=xp(r);a.push(r),e=e.slice(l+1)}var p=a.length;for(t=0;t<p;t++){var m=a[t];o(we(m,i,!0),t,p)}}Object.defineProperty(Qt,"__esModule",{value:!0});Qt.packets=Qt.protocol=void 0;Qt.encodePacket=Se;Qt.encodeBase64Packet=Yt;Qt.decodePacket=we;Qt.decodeBase64Packet=Bt;Qt.encodePayload=pp;Qt.decodePayload=up;Qt.encodePayloadAsBinary=Gt;Qt.decodePayloadAsBinary=Zt;var Ut=Et();Qt.protocol=3;var cp=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};Qt.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var ri=Object.keys(Qt.packets),gn={type:"error",data:"parser error"},lp=Buffer.concat([])});var Dt=h((eh,Nt)=>{function Rp(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),e=(i[2]||"ms").toLowerCase();switch(e){case"years":case"year":case"yrs":case"yr":case"y":return o*Kp;case"weeks":case"week":case"w":return o*Ap;case"days":case"day":case"d":return o*Dn;case"hours":case"hour":case"hrs":case"hr":case"h":return o*xi;case"minutes":case"minute":case"mins":case"min":case"m":return o*ui;case"seconds":case"second":case"secs":case"sec":case"s":return o*mi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function Mp(n){var i=Math.abs(n);if(i>=Dn)return Math.round(n/Dn)+"d";if(i>=xi)return Math.round(n/xi)+"h";if(i>=ui)return Math.round(n/ui)+"m";if(i>=mi)return Math.round(n/mi)+"s";return n+"ms"}function Jp(n){var i=Math.abs(n);if(i>=Dn)return vo(n,i,Dn,"day");if(i>=xi)return vo(n,i,xi,"hour");if(i>=ui)return vo(n,i,ui,"minute");if(i>=mi)return vo(n,i,mi,"second");return n+" ms"}function vo(n,i,o,e){var a=i>=o*1.5;return Math.round(n/o)+" "+e+(a?"s":"")}var mi=1000,ui=mi*60,xi=ui*60,Dn=xi*24,Ap=Dn*7,Kp=Dn*365.25;Nt.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return Rp(n);else if(o==="number"&&isFinite(n))return i.long?Jp(n):Mp(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Fe=h((ah,Lt)=>{function $p(n){o.debug=o,o.default=o,o.coerce=l,o.disable=t,o.enable=a,o.enabled=s,o.humanize=Dt(),o.destroy=r,Object.keys(n).forEach((p)=>{o[p]=n[p]}),o.names=[],o.skips=[],o.formatters={};function i(p){let m=0;for(let T=0;T<p.length;T++)m=(m<<5)-m+p.charCodeAt(T),m|=0;return o.colors[Math.abs(m)%o.colors.length]}o.selectColor=i;function o(p){let m,T=null,R,y;function v(...u){if(!v.enabled)return;const b=v,S=Number(new Date),K=S-(m||S);if(b.diff=K,b.prev=m,b.curr=S,m=S,u[0]=o.coerce(u[0]),typeof u[0]!=="string")u.unshift("%O");let W=0;u[0]=u[0].replace(/%([a-zA-Z%])/g,(d,A)=>{if(d==="%%")return"%";W++;const w=o.formatters[A];if(typeof w==="function"){const g=u[W];d=w.call(b,g),u.splice(W,1),W--}return d}),o.formatArgs.call(b,u),(b.log||o.log).apply(b,u)}if(v.namespace=p,v.useColors=o.useColors(),v.color=o.selectColor(p),v.extend=e,v.destroy=o.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(T!==null)return T;if(R!==o.namespaces)R=o.namespaces,y=o.enabled(p);return y},set:(u)=>{T=u}}),typeof o.init==="function")o.init(v);return v}function e(p,m){const T=o(this.namespace+(typeof m==="undefined"?":":m)+p);return T.log=this.log,T}function a(p){o.save(p),o.namespaces=p,o.names=[],o.skips=[];let m;const T=(typeof p==="string"?p:"").split(/[\s,]+/),R=T.length;for(m=0;m<R;m++){if(!T[m])continue;if(p=T[m].replace(/\*/g,".*?"),p[0]==="-")o.skips.push(new RegExp("^"+p.slice(1)+"$"));else o.names.push(new RegExp("^"+p+"$"))}}function t(){const p=[...o.names.map(c),...o.skips.map(c).map((m)=>"-"+m)].join(",");return o.enable(""),p}function s(p){if(p[p.length-1]==="*")return!0;let m,T;for(m=0,T=o.skips.length;m<T;m++)if(o.skips[m].test(p))return!1;for(m=0,T=o.names.length;m<T;m++)if(o.names[m].test(p))return!0;return!1}function c(p){return p.toString().substring(2,p.toString().length-2).replace(/\.\*\?$/,"*")}function l(p){if(p instanceof Error)return p.stack||p.message;return p}function r(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}Lt.exports=$p});var _t=h((Pt,To)=>{function jp(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function kp(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+To.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,e=0;n[0].replace(/%[a-zA-Z%]/g,(a)=>{if(a==="%%")return;if(o++,a==="%c")e=o}),n.splice(e,0,i)}function Op(n){try{if(n)Pt.storage.setItem("debug",n);else Pt.storage.removeItem("debug")}catch(i){}}function zp(){let n;try{n=Pt.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function Cp(){try{return localStorage}catch(n){}}Pt.formatArgs=kp;Pt.save=Op;Pt.load=zp;Pt.useColors=jp;Pt.storage=Cp();Pt.destroy=(()=>{let n=!1;return()=>{if(!n)n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();Pt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];Pt.log=console.debug||console.log||(()=>{});To.exports=Fe()(Pt);var{formatters:Wp}=To.exports;Wp.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var ns=h((sh,qt)=>{qt.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",e=i.indexOf(o+n),a=i.indexOf("--");return e!==-1&&(a===-1?!0:e<a)}});var os=h((ch,is)=>{function Zp(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function Qp(n){if(di===!1)return 0;if(Fn("color=16m")||Fn("color=full")||Fn("color=truecolor"))return 3;if(Fn("color=256"))return 2;if(n&&!n.isTTY&&di!==!0)return 0;const i=di?1:0;if(process.platform==="win32"){const o=Gp.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in nn){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in nn))||nn.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in nn)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(nn.TEAMCITY_VERSION)?1:0;if(nn.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in nn){const o=parseInt((nn.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(nn.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(nn.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(nn.TERM))return 1;if("COLORTERM"in nn)return 1;if(nn.TERM==="dumb")return i;return i}function he(n){const i=Qp(n);return Zp(i)}var Gp=import.meta.require("os"),Fn=ns(),nn=process.env,di;if(Fn("no-color")||Fn("no-colors")||Fn("color=false"))di=!1;else if(Fn("color")||Fn("colors")||Fn("color=true")||Fn("color=always"))di=!0;if("FORCE_COLOR"in nn)di=nn.FORCE_COLOR.length===0||parseInt(nn.FORCE_COLOR,10)!==0;is.exports={supportsColor:he,stdout:he(process.stdout),stderr:he(process.stderr)}});var ss=h((as,wo)=>{function Np(){return"colors"in as.inspectOpts?Boolean(as.inspectOpts.colors):Hp.isatty(process.stderr.fd)}function Dp(n){const{namespace:i,useColors:o}=this;if(o){const e=this.color,a="\x1B[3"+(e<8?e:"8;5;"+e),t=` ${a};1m${i} \x1B[0m`;n[0]=t+n[0].split("\n").join("\n"+t),n.push(a+"m+"+wo.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Lp()+i+" "+n[0]}function Lp(){if(as.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Pp(...n){return process.stderr.write(So.formatWithOptions(as.inspectOpts,...n)+"\n")}function _p(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function qp(){return process.env.DEBUG}function nm(n){n.inspectOpts={};const i=Object.keys(as.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=as.inspectOpts[i[o]]}var Hp=import.meta.require("tty"),So=import.meta.require("util");as.init=nm;as.log=Pp;as.formatArgs=Dp;as.save=_p;as.load=qp;as.useColors=Np;as.destroy=So.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");as.colors=[6,2,3,4,5,1];try{const n=os();if(n&&(n.stderr||n).level>=2)as.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(n){}as.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(a,t)=>{return t.toUpperCase()});let e=process.env[i];if(/^(yes|on|true|enabled)$/i.test(e))e=!0;else if(/^(no|off|false|disabled)$/i.test(e))e=!1;else if(e==="null")e=null;else e=Number(e);return n[o]=e,n},{});wo.exports=Fe()(as);var{formatters:es}=wo.exports;es.o=function(n){return this.inspectOpts.colors=this.useColors,So.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};es.O=function(n){return this.inspectOpts.colors=this.useColors,So.inspect(n,this.inspectOpts)}});var q=h((rh,Ae)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)Ae.exports=_t();else Ae.exports=ss()});var Pn=h((rs)=>{function um(){}Object.defineProperty(rs,"__esModule",{value:!0});rs.Transport=void 0;var lm=import.meta.require("events"),rm=Vi(),pm=Ht(),mm=q(),cs=mm.default("engine:transport");class ls extends lm.EventEmitter{get readyState(){return this._readyState}set readyState(n){cs("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?rm:pm,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||um)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else cs("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}rs.Transport=ls});var Ke=h((xs)=>{Object.defineProperty(xs,"__esModule",{value:!0});xs.Polling=void 0;var xm=Pn(),ms=import.meta.require("zlib"),dm=lo(),fm=q(),un=fm.default("engine:polling"),ym={gzip:ms.createGzip,deflate:ms.createDeflate};class us extends xm.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){un("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}un("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},e=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=e,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)un("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let e=o?Buffer.concat([]):"";const a=()=>{n.removeListener("data",s),n.removeListener("end",c),n.removeListener("close",t),this.dataReq=this.dataRes=e=null},t=()=>{a(),this.onError("data request connection closed prematurely")},s=(l)=>{let r;if(o)e=Buffer.concat([e,l]),r=e.length;else e+=l,r=Buffer.byteLength(e);if(r>this.maxHttpBufferSize)i.writeHead(413).end(),a()},c=()=>{this.onData(e);const l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),a()};if(n.on("close",t),!o)n.setEncoding("utf8");n.on("data",s),n.on("end",c)}onData(n){un('received "%s"',n);const i=(o)=>{if(o.type==="close")return un("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)un("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const e=n.some((a)=>{return a.options&&a.options.compress});this.write(o,{compress:e})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){un('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const e=typeof n==="string",t={"Content-Type":e?"text/plain; charset=UTF-8":"application/octet-stream"},s=(r)=>{t["Content-Length"]=typeof r==="string"?Buffer.byteLength(r):r.length,this.res.writeHead(200,this.headers(this.req,t)),this.res.end(r),o()};if(!this.httpCompression||!i.compress){s(n);return}if((e?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){s(n);return}const l=dm(this.req).encodings(["gzip","deflate"]);if(!l){s(n);return}this.compress(n,l,(r,p)=>{if(r){this.res.writeHead(500),this.res.end(),o(r);return}t["Content-Encoding"]=l,s(p)})}compress(n,i,o){un("compressing");const e=[];let a=0;ym[i](this.httpCompression).on("error",o).on("data",function(t){e.push(t),a+=t.length}).on("end",function(){o(null,Buffer.concat(e,a))}).end(n)}doClose(n){un("closing");let i;if(this.dataReq)un("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)un("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)un("transport discarded - closing right away"),o();else un("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}xs.Polling=us});var bs=h((ys)=>{Object.defineProperty(ys,"__esModule",{value:!0});ys.JSONP=void 0;var vm=Ke(),bm=import.meta.require("querystring"),Tm=/\\\\n/g,Sm=/(\\)?\\n/g;class fs extends vm.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=bm.parse(n).d,typeof n==="string")n=n.replace(Sm,function(i,o){return o?i:"\n"}),super.onData(n.replace(Tm,"\\n"))}doWrite(n,i,o){const e=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+e+this.foot,super.doWrite(n,i,o)}}ys.JSONP=fs});var Fs=h((ws)=>{Object.defineProperty(ws,"__esModule",{value:!0});ws.WebSocket=void 0;var wm=Pn(),gm=q(),Ts=gm.default("engine:ws");class Ss extends wm.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const e=o?i:i.toString();Ts('received "%s"',e),super.onData(e)}),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],e=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,e?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,e?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,e;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((e=n.options)===null||e===void 0?void 0:e.wsPreEncodedFrame)!==void 0}doClose(n){Ts("closing"),this.socket.close(),n&&n()}}ws.WebSocket=Ss});var Re=h((As)=>{Object.defineProperty(As,"__esModule",{value:!0});As.WebTransport=void 0;var Fm=Pn(),hm=q(),Am=Vi(),fi=hm.default("engine:webtransport");class hs extends Fm.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const e=Am.createPacketEncoderStream();e.readable.pipeTo(i.writable).catch(()=>{fi("the stream was closed")}),this.writer=e.writable.getWriter(),(async()=>{try{while(!0){const{value:a,done:t}=await o.read();if(t){fi("session is closed");break}fi("received chunk: %o",a),this.onPacket(a)}}catch(a){fi("error while reading: %s",a.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){fi("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){fi("closing WebTransport session"),this.session.close(),n&&n()}}As.WebTransport=hs});var Me=h((Ms)=>{function Rs(n){if(typeof n._query.j==="string")return new Rm.JSONP(n);else return new Km.Polling(n)}Object.defineProperty(Ms,"__esModule",{value:!0});var Km=Ke(),Rm=bs(),Mm=Fs(),Jm=Re();Ms.default={polling:Rs,websocket:Mm.WebSocket,webtransport:Jm.WebTransport};Rs.upgradesTo=["websocket","webtransport"]});var Je=h(($s)=>{Object.defineProperty($s,"__esModule",{value:!0});$s.Socket=void 0;var jm=import.meta.require("events"),km=q(),jn=import.meta.require("timers"),N=km.default("engine:socket");class Js extends jm.EventEmitter{get readyState(){return this._readyState}set readyState(n){N("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,e,a){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=e,this.protocol=a,e)if(e.websocket&&e.websocket._socket)this.remoteAddress=e.websocket._socket.remoteAddress;else this.remoteAddress=e.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket)this.sendPacket("message",this.server.opts.initialPacket);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return N("packet received with closed socket");switch(N(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}N("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}N("got pong"),jn.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){N("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=jn.setTimeout(()=>{N("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){jn.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=jn.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),e=this.onPacket.bind(this),a=this.onDrain.bind(this),t=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",e),this.transport.on("drain",a),this.transport.once("close",t),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",e),n.removeListener("drain",a),n.removeListener("close",t)})}onDrain(){if(this.sentCallbackFn.length>0){N("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){N('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=jn.setTimeout(()=>{if(N("client did not complete upgrade - closing transport"),t(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const e=(r)=>{if(r.type==="ping"&&r.data==="probe")N("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(a,100);else if(r.type==="upgrade"&&this.readyState!=="closed"){if(N("got upgrade packet - upgrading"),t(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else t(),n.close()},a=()=>{if(this.transport.name==="polling"&&this.transport.writable)N("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},t=()=>{this.upgrading=!1,clearInterval(o),jn.clearTimeout(i),n.removeListener("packet",e),n.removeListener("close",c),n.removeListener("error",s),this.removeListener("close",l)},s=(r)=>{N("client did not complete upgrade - %s",r),t(),n.close(),n=null},c=()=>{s("transport closed")},l=()=>{s("socket closed")};n.on("packet",e),n.once("close",c),n.once("error",s),this.once("close",l)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){N("error triggered by discarded transport")}),this.transport.close(),jn.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",jn.clearTimeout(this.pingIntervalTimer),jn.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},e){if(typeof o==="function")e=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){N('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const a={type:n,options:o};if(i)a.data=i;if(this.emit("packetCreate",a),this.writeBuffer.push(a),typeof e==="function")this.packetsFn.push(e);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){N("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const e=i[o];if(this.server.opts.transports.indexOf(e)!==-1)n.push(e)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){N("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{N("all packets have been sent, closing the transport"),this.closeTransport(n)});return}N("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(N("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}$s.Socket=Js});var ks=h((Em)=>{function Cm(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},e=i||{},a=n.split(";"),t=e.decode||Om;for(var s=0;s<a.length;s++){var c=a[s],l=c.indexOf("=");if(l<0)continue;var r=c.substring(0,l).trim();if(o[r]==null){var p=c.substring(l+1,c.length).trim();if(p[0]==='"')p=p.slice(1,-1);o[r]=Im(p,t)}}return o}function Wm(n,i,o){var e=o||{},a=e.encode||zm;if(typeof a!=="function")throw new TypeError("option encode is invalid");if(!go.test(n))throw new TypeError("argument name is invalid");var t=a(i);if(t&&!go.test(t))throw new TypeError("argument val is invalid");var s=n+"="+t;if(e.maxAge!=null){var c=e.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(c)}if(e.domain){if(!go.test(e.domain))throw new TypeError("option domain is invalid");s+="; Domain="+e.domain}if(e.path){if(!go.test(e.path))throw new TypeError("option path is invalid");s+="; Path="+e.path}if(e.expires){if(typeof e.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");s+="; Expires="+e.expires.toUTCString()}if(e.httpOnly)s+="; HttpOnly";if(e.secure)s+="; Secure";if(e.sameSite){var l=typeof e.sameSite==="string"?e.sameSite.toLowerCase():e.sameSite;switch(l){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function Im(n,i){try{return i(n)}catch(o){return n}}/*!
26
+ */var Yo=import.meta.require("crypto"),Je=function(){};Je.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Yo.randomBytes(n);var a=parseInt(i/n),e=parseInt(a*0.85);if(!e)return Yo.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==a)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>e){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Yo.randomBytes(i,function(l,t){o.bytesBuffer=t,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Yo.randomBytes(n)}var c=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,c};Je.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Yo.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};Ul=kl.exports=new Je});var Sa=$((Nl)=>{Object.defineProperty(Nl,"__esModule",{value:!0});Nl.ERROR_PACKET=Nl.PACKET_TYPES_REVERSE=Nl.PACKET_TYPES=void 0;var Nn=Object.create(null);Nl.PACKET_TYPES=Nn;Nn.open="0";Nn.close="1";Nn.ping="2";Nn.pong="3";Nn.message="4";Nn.upgrade="5";Nn.noop="6";var Ll=Object.create(null);Nl.PACKET_TYPES_REVERSE=Ll;Object.keys(Nn).forEach((n)=>{Ll[Nn[n]]=n});var Kr={type:"error",data:"parser error"};Nl.ERROR_PACKET=Kr});var ql=$((_l)=>{function Or(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(Dl(n.data,!1));_l.encodePacket(n,!0,(o)=>{if(!Ke)Ke=new TextEncoder;i(Ke.encode(o))})}Object.defineProperty(_l,"__esModule",{value:!0});_l.encodePacket=void 0;_l.encodePacketToBinary=Or;var zr=Sa(),gr=({type:n,data:i},o,a)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return a(o?i:"b"+Dl(i,!0).toString("base64"));return a(zr.PACKET_TYPES[n]+(i||""))};_l.encodePacket=gr;var Dl=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},Ke});var it=$((Zl)=>{Object.defineProperty(Zl,"__esModule",{value:!0});Zl.decodePacket=void 0;var ya=Sa(),Xr=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Pl(n,i)};const o=n.charAt(0);if(o==="b"){const a=Buffer.from(n.substring(1),"base64");return{type:"message",data:Pl(a,i)}}if(!ya.PACKET_TYPES_REVERSE[o])return ya.ERROR_PACKET;return n.length>1?{type:ya.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:ya.PACKET_TYPES_REVERSE[o]}};Zl.decodePacket=Xr;var Pl=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Go=$((da)=>{function Qr(){return new TransformStream({transform(n,i){ze.encodePacketToBinary(n,(o)=>{const a=o.length;let e;if(a<126)e=new Uint8Array(1),new DataView(e.buffer).setUint8(0,a);else if(a<65536){e=new Uint8Array(3);const c=new DataView(e.buffer);c.setUint8(0,126),c.setUint16(1,a)}else{e=new Uint8Array(9);const c=new DataView(e.buffer);c.setUint8(0,127),c.setBigUint64(1,BigInt(a))}if(n.data&&typeof n.data!=="string")e[0]|=128;i.enqueue(e),i.enqueue(o)})}})}function Ta(n){return n.reduce((i,o)=>i+o.length,0)}function wa(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let a=0;for(let e=0;e<i;e++)if(o[e]=n[0][a++],a===n[0].length)n.shift(),a=0;if(n.length&&a<n[0].length)n[0]=n[0].slice(a);return o}function Hr(n,i){if(!We)We=new TextDecoder;const o=[];let a=0,e=-1,c=!1;return new TransformStream({transform(l,t){o.push(l);while(!0){if(a===0){if(Ta(o)<1)break;const s=wa(o,1);if(c=(s[0]&128)===128,e=s[0]&127,e<126)a=3;else if(e===126)a=1;else a=2}else if(a===1){if(Ta(o)<2)break;const s=wa(o,2);e=new DataView(s.buffer,s.byteOffset,s.length).getUint16(0),a=3}else if(a===2){if(Ta(o)<8)break;const s=wa(o,8),p=new DataView(s.buffer,s.byteOffset,s.length),m=p.getUint32(0);if(m>Math.pow(2,21)-1){t.enqueue(ot.ERROR_PACKET);break}e=m*Math.pow(2,32)+p.getUint32(4),a=3}else{if(Ta(o)<e)break;const s=wa(o,e);t.enqueue(ge.decodePacket(c?s:We.decode(s),i)),a=0}if(e===0||e>n){t.enqueue(ot.ERROR_PACKET);break}}}})}Object.defineProperty(da,"__esModule",{value:!0});da.decodePayload=da.decodePacket=da.encodePayload=da.encodePacket=da.protocol=void 0;da.createPacketEncoderStream=Qr;da.createPacketDecoderStream=Hr;var ze=ql();Object.defineProperty(da,"encodePacket",{enumerable:!0,get:function(){return ze.encodePacket}});var ge=it();Object.defineProperty(da,"decodePacket",{enumerable:!0,get:function(){return ge.decodePacket}});var ot=Sa(),at=String.fromCharCode(30),Yr=(n,i)=>{const o=n.length,a=new Array(o);let e=0;n.forEach((c,l)=>{ze.encodePacket(c,!1,(t)=>{if(a[l]=t,++e===o)i(a.join(at))})})};da.encodePayload=Yr;var Gr=(n,i)=>{const o=n.split(at),a=[];for(let e=0;e<o.length;e++){const c=ge.decodePacket(o[e],i);if(a.push(c),c.type==="error")break}return a};da.decodePayload=Gr;var We;da.protocol=4});var st=$((v$,tt)=>{function ct(n){var i=[],o=0,a=n.length,e,c;while(o<a)if(e=n.charCodeAt(o++),e>=55296&&e<=56319&&o<a)if(c=n.charCodeAt(o++),(c&64512)==56320)i.push(((e&1023)<<10)+(c&1023)+65536);else i.push(e),o--;else i.push(e);return i}function Ur(n){var i=n.length,o=-1,a,e="";while(++o<i){if(a=n[o],a>65535)a-=65536,e+=ui(a>>>10&1023|55296),a=56320|a&1023;e+=ui(a)}return e}function lt(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Oe(n,i){return ui(n>>i&63|128)}function kr(n,i){if((n&4294967168)==0)return ui(n);var o="";if((n&4294965248)==0)o=ui(n>>6&31|192);else if((n&4294901760)==0){if(!lt(n,i))n=65533;o=ui(n>>12&15|224),o+=Oe(n,6)}else if((n&4292870144)==0)o=ui(n>>18&7|240),o+=Oe(n,12),o+=Oe(n,6);return o+=ui(n&63|128),o}function Lr(n,i){i=i||{};var o=i.strict!==!1,a=ct(n),e=a.length,c=-1,l,t="";while(++c<e)l=a[c],t+=kr(l,o);return t}function Ei(){if(xi>=Ma)throw Error("Invalid byte index");var n=Fa[xi]&255;if(xi++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function Nr(n){var i,o,a,e,c;if(xi>Ma)throw Error("Invalid byte index");if(xi==Ma)return!1;if(i=Fa[xi]&255,xi++,(i&128)==0)return i;if((i&224)==192)if(o=Ei(),c=(i&31)<<6|o,c>=128)return c;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=Ei(),a=Ei(),c=(i&15)<<12|o<<6|a,c>=2048)return lt(c,n)?c:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=Ei(),a=Ei(),e=Ei(),c=(i&7)<<18|o<<12|a<<6|e,c>=65536&&c<=1114111)return c}throw Error("Invalid UTF-8 detected")}function Ir(n,i){i=i||{};var o=i.strict!==!1;Fa=ct(n),Ma=Fa.length,xi=0;var a=[],e;while((e=Nr(o))!==!1)a.push(e);return Ur(a)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var ui=String.fromCharCode,Fa,Ma,xi;tt.exports={version:"2.1.2",encode:Lr,decode:Ir}});var St=$((bt)=>{function he(n,i,o,a){if(typeof i==="function")a=i,i=null;if(typeof o==="function")a=o,o=null;if(Buffer.isBuffer(n.data))return pt(n,i,a);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return pt({type:n.type,data:Ye(n.data)},i,a);var e=bt.packets[n.type];if(n.data!==void 0)e+=o?mt.encode(String(n.data),{strict:!1}):String(n.data);return a(""+e)}function pt(n,i,o){if(!i)return rt(n,o);var a=n.data,e=Buffer.allocUnsafe(1);return e[0]=bt.packets[n.type],o(Buffer.concat([e,a]))}function rt(n,i){var o=Buffer.isBuffer(n.data)?n.data:Ye(n.data),a="b"+bt.packets[n.type];return a+=o.toString("base64"),i(a)}function Xe(n,i,o){if(n===void 0)return Qn;var a;if(typeof n==="string"){if(a=n.charAt(0),a==="b")return ut(n.slice(1),i);if(o){if(n=qr(n),n===!1)return Qn}if(Number(a)!=a||!Ui[a])return Qn;if(n.length>1)return{type:Ui[a],data:n.slice(1)};else return{type:Ui[a]}}if(i==="arraybuffer"){var e=new Uint8Array(n);return a=e[0],{type:Ui[a],data:e.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=Ye(n);return a=n[0],{type:Ui[a],data:n.slice(1)}}function qr(n){try{n=mt.decode(n,{strict:!1})}catch(i){return!1}return n}function ut(n,i){var o=Ui[n.charAt(0)],a=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var e=new Uint8Array(a.length);for(var c=0;c<e.length;c++)e[c]=a[c];a=e.buffer}return{type:o,data:a}}function Pr(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&Dr(n))return ft(n,o);if(!n.length)return o("0:");function a(e,c){he(e,i,!1,function(l){c(null,Zr(l))})}xt(n,a,function(e,c){return o(c.join(""))})}function Zr(n){return n.length+":"+n}function xt(n,i,o){const a=new Array(n.length);let e=0;for(let c=0;c<n.length;c++)i(n[c],(l,t)=>{if(a[c]=t,++e===n.length)o(null,a)})}function nu(n,i,o){if(typeof n!=="string")return vt(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(Qn,0,1);var a="",e,c,l;for(var t=0,s=n.length;t<s;t++){var p=n.charAt(t);if(p!==":"){a+=p;continue}if(a===""||a!=(e=Number(a)))return o(Qn,0,1);if(c=n.slice(t+1,t+1+e),a!=c.length)return o(Qn,0,1);if(c.length){if(l=Xe(c,i,!1),Qn.type===l.type&&Qn.data===l.data)return o(Qn,0,1);var m=o(l,t+e,s);if(m===!1)return}t+=e,a=""}if(a!=="")return o(Qn,0,1)}function iu(n){var i="";for(var o=0,a=n.length;o<a;o++)i+=String.fromCharCode(n[o]);return i}function ou(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,a=n.length;o<a;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function Ye(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function ft(n,i){if(!n.length)return i(_r);xt(n,au,function(o,a){return i(Buffer.concat(a))})}function au(n,i){function o(a){var e=""+a.length,c;if(typeof a==="string"){c=Buffer.allocUnsafe(e.length+2),c[0]=0;for(var l=0;l<e.length;l++)c[l+1]=parseInt(e[l],10);return c[c.length-1]=255,i(null,Buffer.concat([c,ou(a)]))}c=Buffer.allocUnsafe(e.length+2),c[0]=1;for(var l=0;l<e.length;l++)c[l+1]=parseInt(e[l],10);c[c.length-1]=255,i(null,Buffer.concat([c,a]))}he(n,!0,!0,o)}function vt(n,i,o){if(typeof i==="function")o=i,i=null;var a=n,e=[],c;while(a.length>0){var l="",t=a[0]===0;for(c=1;;c++){if(a[c]===255)break;if(l.length>310)return o(Qn,0,1);l+=""+a[c]}a=a.slice(l.length+1);var s=parseInt(l,10),p=a.slice(1,s+1);if(t)p=iu(p);e.push(p),a=a.slice(s+1)}var m=e.length;for(c=0;c<m;c++){var r=e[c];o(Xe(r,i,!0),c,m)}}Object.defineProperty(bt,"__esModule",{value:!0});bt.packets=bt.protocol=void 0;bt.encodePacket=he;bt.encodeBase64Packet=rt;bt.decodePacket=Xe;bt.decodeBase64Packet=ut;bt.encodePayload=Pr;bt.decodePayload=nu;bt.encodePayloadAsBinary=ft;bt.decodePayloadAsBinary=vt;var mt=st();bt.protocol=3;var Dr=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};bt.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var Ui=Object.keys(bt.packets),Qn={type:"error",data:"parser error"},_r=Buffer.concat([])});var Tt=$((S$,yt)=>{function vu(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),a=(i[2]||"ms").toLowerCase();switch(a){case"years":case"year":case"yrs":case"yr":case"y":return o*fu;case"weeks":case"week":case"w":return o*xu;case"days":case"day":case"d":return o*Ai;case"hours":case"hour":case"hrs":case"hr":case"h":return o*Ii;case"minutes":case"minute":case"mins":case"min":case"m":return o*Ni;case"seconds":case"second":case"secs":case"sec":case"s":return o*Li;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function bu(n){var i=Math.abs(n);if(i>=Ai)return Math.round(n/Ai)+"d";if(i>=Ii)return Math.round(n/Ii)+"h";if(i>=Ni)return Math.round(n/Ni)+"m";if(i>=Li)return Math.round(n/Li)+"s";return n+"ms"}function Su(n){var i=Math.abs(n);if(i>=Ai)return Ra(n,i,Ai,"day");if(i>=Ii)return Ra(n,i,Ii,"hour");if(i>=Ni)return Ra(n,i,Ni,"minute");if(i>=Li)return Ra(n,i,Li,"second");return n+" ms"}function Ra(n,i,o,a){var e=i>=o*1.5;return Math.round(n/o)+" "+a+(e?"s":"")}var Li=1000,Ni=Li*60,Ii=Ni*60,Ai=Ii*24,xu=Ai*7,fu=Ai*365.25;yt.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return vu(n);else if(o==="number"&&isFinite(n))return i.long?Su(n):bu(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Ge=$((y$,wt)=>{function yu(n){o.debug=o,o.default=o,o.coerce=s,o.disable=c,o.enable=e,o.enabled=l,o.humanize=Tt(),o.destroy=p,Object.keys(n).forEach((m)=>{o[m]=n[m]}),o.names=[],o.skips=[],o.formatters={};function i(m){let r=0;for(let S=0;S<m.length;S++)r=(r<<5)-r+m.charCodeAt(S),r|=0;return o.colors[Math.abs(r)%o.colors.length]}o.selectColor=i;function o(m){let r,S=null,K,y;function T(...f){if(!T.enabled)return;const w=T,d=Number(new Date),W=d-(r||d);if(w.diff=W,w.prev=r,w.curr=d,r=d,f[0]=o.coerce(f[0]),typeof f[0]!=="string")f.unshift("%O");let U=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,(u,R)=>{if(u==="%%")return"%";U++;const A=o.formatters[R];if(typeof A==="function"){const J=f[U];u=A.call(w,J),f.splice(U,1),U--}return u}),o.formatArgs.call(w,f),(w.log||o.log).apply(w,f)}if(T.namespace=m,T.useColors=o.useColors(),T.color=o.selectColor(m),T.extend=a,T.destroy=o.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(K!==o.namespaces)K=o.namespaces,y=o.enabled(m);return y},set:(f)=>{S=f}}),typeof o.init==="function")o.init(T);return T}function a(m,r){const S=o(this.namespace+(typeof r==="undefined"?":":r)+m);return S.log=this.log,S}function e(m){o.save(m),o.namespaces=m,o.names=[],o.skips=[];let r;const S=(typeof m==="string"?m:"").split(/[\s,]+/),K=S.length;for(r=0;r<K;r++){if(!S[r])continue;if(m=S[r].replace(/\*/g,".*?"),m[0]==="-")o.skips.push(new RegExp("^"+m.slice(1)+"$"));else o.names.push(new RegExp("^"+m+"$"))}}function c(){const m=[...o.names.map(t),...o.skips.map(t).map((r)=>"-"+r)].join(",");return o.enable(""),m}function l(m){if(m[m.length-1]==="*")return!0;let r,S;for(r=0,S=o.skips.length;r<S;r++)if(o.skips[r].test(m))return!1;for(r=0,S=o.names.length;r<S;r++)if(o.names[r].test(m))return!0;return!1}function t(m){return m.toString().substring(2,m.toString().length-2).replace(/\.\*\?$/,"*")}function s(m){if(m instanceof Error)return m.stack||m.message;return m}function p(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}wt.exports=yu});var Ft=$((dt,Ja)=>{function Tu(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function wu(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+Ja.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,a=0;n[0].replace(/%[a-zA-Z%]/g,(e)=>{if(e==="%%")return;if(o++,e==="%c")a=o}),n.splice(a,0,i)}function du(n){try{if(n)dt.storage.setItem("debug",n);else dt.storage.removeItem("debug")}catch(i){}}function Fu(){let n;try{n=dt.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function Mu(){try{return localStorage}catch(n){}}dt.formatArgs=wu;dt.save=du;dt.load=Fu;dt.useColors=Tu;dt.storage=Mu();dt.destroy=(()=>{let n=!1;return()=>{if(!n)n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();dt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];dt.log=console.debug||console.log||(()=>{});Ja.exports=Ge()(dt);var{formatters:Ru}=Ja.exports;Ru.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var Rt=$((w$,Mt)=>{Mt.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",a=i.indexOf(o+n),e=i.indexOf("--");return a!==-1&&(e===-1?!0:a<e)}});var Jt=$((d$,At)=>{function Ou(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function hu(n){if(Di===!1)return 0;if(Hn("color=16m")||Hn("color=full")||Hn("color=truecolor"))return 3;if(Hn("color=256"))return 2;if(n&&!n.isTTY&&Di!==!0)return 0;const i=Di?1:0;if(process.platform==="win32"){const o=gu.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in xn){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in xn))||xn.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in xn)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(xn.TEAMCITY_VERSION)?1:0;if(xn.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in xn){const o=parseInt((xn.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(xn.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(xn.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(xn.TERM))return 1;if("COLORTERM"in xn)return 1;if(xn.TERM==="dumb")return i;return i}function Qe(n){const i=hu(n);return Ou(i)}var gu=import.meta.require("os"),Hn=Rt(),xn=process.env,Di;if(Hn("no-color")||Hn("no-colors")||Hn("color=false"))Di=!1;else if(Hn("color")||Hn("colors")||Hn("color=true")||Hn("color=always"))Di=!0;if("FORCE_COLOR"in xn)Di=xn.FORCE_COLOR.length===0||parseInt(xn.FORCE_COLOR,10)!==0;At.exports={supportsColor:Qe,stdout:Qe(process.stdout),stderr:Qe(process.stderr)}});var Wt=$((Kt,Ka)=>{function Yu(){return"colors"in Kt.inspectOpts?Boolean(Kt.inspectOpts.colors):Xu.isatty(process.stderr.fd)}function Gu(n){const{namespace:i,useColors:o}=this;if(o){const a=this.color,e="\x1B[3"+(a<8?a:"8;5;"+a),c=` ${e};1m${i} \x1B[0m`;n[0]=c+n[0].split("\n").join("\n"+c),n.push(e+"m+"+Ka.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Qu()+i+" "+n[0]}function Qu(){if(Kt.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Hu(...n){return process.stderr.write($a.formatWithOptions(Kt.inspectOpts,...n)+"\n")}function Bu(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function Cu(){return process.env.DEBUG}function Vu(n){n.inspectOpts={};const i=Object.keys(Kt.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=Kt.inspectOpts[i[o]]}var Xu=import.meta.require("tty"),$a=import.meta.require("util");Kt.init=Vu;Kt.log=Hu;Kt.formatArgs=Gu;Kt.save=Bu;Kt.load=Cu;Kt.useColors=Yu;Kt.destroy=$a.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Kt.colors=[6,2,3,4,5,1];try{const n=Jt();if(n&&(n.stderr||n).level>=2)Kt.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(n){}Kt.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(e,c)=>{return c.toUpperCase()});let a=process.env[i];if(/^(yes|on|true|enabled)$/i.test(a))a=!0;else if(/^(no|off|false|disabled)$/i.test(a))a=!1;else if(a==="null")a=null;else a=Number(a);return n[o]=a,n},{});Ka.exports=Ge()(Kt);var{formatters:$t}=Ka.exports;$t.o=function(n){return this.inspectOpts.colors=this.useColors,$a.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};$t.O=function(n){return this.inspectOpts.colors=this.useColors,$a.inspect(n,this.inspectOpts)}});var rn=$((M$,He)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)He.exports=Ft();else He.exports=Wt()});var $i=$((Ot)=>{function nx(){}Object.defineProperty(Ot,"__esModule",{value:!0});Ot.Transport=void 0;var _u=import.meta.require("events"),qu=Go(),Pu=St(),Zu=rn(),zt=Zu.default("engine:transport");class gt extends _u.EventEmitter{get readyState(){return this._readyState}set readyState(n){zt("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?qu:Pu,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||nx)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else zt("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}Ot.Transport=gt});var Be=$((Gt)=>{Object.defineProperty(Gt,"__esModule",{value:!0});Gt.Polling=void 0;var ix=$i(),Xt=import.meta.require("zlib"),ox=ba(),ax=rn(),Jn=ax.default("engine:polling"),ex={gzip:Xt.createGzip,deflate:Xt.createDeflate};class Yt extends ix.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){Jn("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}Jn("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},a=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=a,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)Jn("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let a=o?Buffer.concat([]):"";const e=()=>{n.removeListener("data",l),n.removeListener("end",t),n.removeListener("close",c),this.dataReq=this.dataRes=a=null},c=()=>{e(),this.onError("data request connection closed prematurely")},l=(s)=>{let p;if(o)a=Buffer.concat([a,s]),p=a.length;else a+=s,p=Buffer.byteLength(a);if(p>this.maxHttpBufferSize)i.writeHead(413).end(),e()},t=()=>{this.onData(a);const s={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,s)),i.end("ok"),e()};if(n.on("close",c),!o)n.setEncoding("utf8");n.on("data",l),n.on("end",t)}onData(n){Jn('received "%s"',n);const i=(o)=>{if(o.type==="close")return Jn("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)Jn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const a=n.some((e)=>{return e.options&&e.options.compress});this.write(o,{compress:a})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){Jn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const a=typeof n==="string",c={"Content-Type":a?"text/plain; charset=UTF-8":"application/octet-stream"},l=(p)=>{c["Content-Length"]=typeof p==="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,c)),this.res.end(p),o()};if(!this.httpCompression||!i.compress){l(n);return}if((a?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){l(n);return}const s=ox(this.req).encodings(["gzip","deflate"]);if(!s){l(n);return}this.compress(n,s,(p,m)=>{if(p){this.res.writeHead(500),this.res.end(),o(p);return}c["Content-Encoding"]=s,l(m)})}compress(n,i,o){Jn("compressing");const a=[];let e=0;ex[i](this.httpCompression).on("error",o).on("data",function(c){a.push(c),e+=c.length}).on("end",function(){o(null,Buffer.concat(a,e))}).end(n)}doClose(n){Jn("closing");let i;if(this.dataReq)Jn("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)Jn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)Jn("transport discarded - closing right away"),o();else Jn("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}Gt.Polling=Yt});var Vt=$((Bt)=>{Object.defineProperty(Bt,"__esModule",{value:!0});Bt.JSONP=void 0;var cx=Be(),lx=import.meta.require("querystring"),tx=/\\\\n/g,sx=/(\\)?\\n/g;class Ht extends cx.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=lx.parse(n).d,typeof n==="string")n=n.replace(sx,function(i,o){return o?i:"\n"}),super.onData(n.replace(tx,"\\n"))}doWrite(n,i,o){const a=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+a+this.foot,super.doWrite(n,i,o)}}Bt.JSONP=Ht});var Nt=$((kt)=>{Object.defineProperty(kt,"__esModule",{value:!0});kt.WebSocket=void 0;var px=$i(),mx=rn(),Et=mx.default("engine:ws");class Ut extends px.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const a=o?i:i.toString();Et('received "%s"',a),super.onData(a)}),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],a=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,a?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,a?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,a;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((a=n.options)===null||a===void 0?void 0:a.wsPreEncodedFrame)!==void 0}doClose(n){Et("closing"),this.socket.close(),n&&n()}}kt.WebSocket=Ut});var Ce=$((Dt)=>{Object.defineProperty(Dt,"__esModule",{value:!0});Dt.WebTransport=void 0;var rx=$i(),ux=rn(),xx=Go(),_i=ux.default("engine:webtransport");class It extends rx.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const a=xx.createPacketEncoderStream();a.readable.pipeTo(i.writable).catch(()=>{_i("the stream was closed")}),this.writer=a.writable.getWriter(),(async()=>{try{while(!0){const{value:e,done:c}=await o.read();if(c){_i("session is closed");break}_i("received chunk: %o",e),this.onPacket(e)}}catch(e){_i("error while reading: %s",e.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){_i("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){_i("closing WebTransport session"),this.session.close(),n&&n()}}Dt.WebTransport=It});var Ve=$((Pt)=>{function qt(n){if(typeof n._query.j==="string")return new vx.JSONP(n);else return new fx.Polling(n)}Object.defineProperty(Pt,"__esModule",{value:!0});var fx=Be(),vx=Vt(),bx=Nt(),Sx=Ce();Pt.default={polling:qt,websocket:bx.WebSocket,webtransport:Sx.WebTransport};qt.upgradesTo=["websocket","webtransport"]});var Ee=$((ns)=>{Object.defineProperty(ns,"__esModule",{value:!0});ns.Socket=void 0;var Tx=import.meta.require("events"),wx=rn(),Zn=import.meta.require("timers"),ln=wx.default("engine:socket");class Zt extends Tx.EventEmitter{get readyState(){return this._readyState}set readyState(n){ln("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,a,e){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=a,this.protocol=e,a)if(a.websocket&&a.websocket._socket)this.remoteAddress=a.websocket._socket.remoteAddress;else this.remoteAddress=a.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket)this.sendPacket("message",this.server.opts.initialPacket);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return ln("packet received with closed socket");switch(ln(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}ln("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}ln("got pong"),Zn.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){ln("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=Zn.setTimeout(()=>{ln("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){Zn.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=Zn.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),a=this.onPacket.bind(this),e=this.onDrain.bind(this),c=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",a),this.transport.on("drain",e),this.transport.once("close",c),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",a),n.removeListener("drain",e),n.removeListener("close",c)})}onDrain(){if(this.sentCallbackFn.length>0){ln("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){ln('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=Zn.setTimeout(()=>{if(ln("client did not complete upgrade - closing transport"),c(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const a=(p)=>{if(p.type==="ping"&&p.data==="probe")ln("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(e,100);else if(p.type==="upgrade"&&this.readyState!=="closed"){if(ln("got upgrade packet - upgrading"),c(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else c(),n.close()},e=()=>{if(this.transport.name==="polling"&&this.transport.writable)ln("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},c=()=>{this.upgrading=!1,clearInterval(o),Zn.clearTimeout(i),n.removeListener("packet",a),n.removeListener("close",t),n.removeListener("error",l),this.removeListener("close",s)},l=(p)=>{ln("client did not complete upgrade - %s",p),c(),n.close(),n=null},t=()=>{l("transport closed")},s=()=>{l("socket closed")};n.on("packet",a),n.once("close",t),n.once("error",l),this.once("close",s)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){ln("error triggered by discarded transport")}),this.transport.close(),Zn.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",Zn.clearTimeout(this.pingIntervalTimer),Zn.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},a){if(typeof o==="function")a=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){ln('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const e={type:n,options:o};if(i)e.data=i;if(this.emit("packetCreate",e),this.writeBuffer.push(e),typeof a==="function")this.packetsFn.push(a);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){ln("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const a=i[o];if(this.server.opts.transports.indexOf(a)!==-1)n.push(a)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){ln("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{ln("all packets have been sent, closing the transport"),this.closeTransport(n)});return}ln("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(ln("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}ns.Socket=Zt});var os=$((Jx)=>{function Mx(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},a=i||{},e=n.split(";"),c=a.decode||dx;for(var l=0;l<e.length;l++){var t=e[l],s=t.indexOf("=");if(s<0)continue;var p=t.substring(0,s).trim();if(o[p]==null){var m=t.substring(s+1,t.length).trim();if(m[0]==='"')m=m.slice(1,-1);o[p]=Ax(m,c)}}return o}function Rx(n,i,o){var a=o||{},e=a.encode||Fx;if(typeof e!=="function")throw new TypeError("option encode is invalid");if(!ja.test(n))throw new TypeError("argument name is invalid");var c=e(i);if(c&&!ja.test(c))throw new TypeError("argument val is invalid");var l=n+"="+c;if(a.maxAge!=null){var t=a.maxAge-0;if(isNaN(t)||!isFinite(t))throw new TypeError("option maxAge is invalid");l+="; Max-Age="+Math.floor(t)}if(a.domain){if(!ja.test(a.domain))throw new TypeError("option domain is invalid");l+="; Domain="+a.domain}if(a.path){if(!ja.test(a.path))throw new TypeError("option path is invalid");l+="; Path="+a.path}if(a.expires){if(typeof a.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");l+="; Expires="+a.expires.toUTCString()}if(a.httpOnly)l+="; HttpOnly";if(a.secure)l+="; Secure";if(a.sameSite){var s=typeof a.sameSite==="string"?a.sameSite.toLowerCase():a.sameSite;switch(s){case!0:l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"strict":l+="; SameSite=Strict";break;case"none":l+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return l}function Ax(n,i){try{return i(n)}catch(o){return n}}/*!
27
27
  * cookie
28
28
  * Copyright(c) 2012-2014 Roman Shtylman
29
29
  * Copyright(c) 2015 Douglas Christopher Wilson
30
30
  * MIT Licensed
31
- */Em.parse=Cm;Em.serialize=Wm;var Om=decodeURIComponent,zm=encodeURIComponent,go=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var Cs=h((bh,zs)=>{function Xm(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function Gm(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;var i={};for(var o=0;o<10;o++)i["_"+String.fromCharCode(o)]=o;var e=Object.getOwnPropertyNames(i).map(function(t){return i[t]});if(e.join("")!=="0123456789")return!1;var a={};if("abcdefghijklmnopqrst".split("").forEach(function(t){a[t]=t}),Object.keys(Object.assign({},a)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(t){return!1}}var Os=Object.getOwnPropertySymbols,Ym=Object.prototype.hasOwnProperty,Bm=Object.prototype.propertyIsEnumerable;zs.exports=Gm()?Object.assign:function(n,i){var o,e=Xm(n),a;for(var t=1;t<arguments.length;t++){o=Object(arguments[t]);for(var s in o)if(Ym.call(o,s))e[s]=o[s];if(Os){a=Os(o);for(var c=0;c<a.length;c++)if(Bm.call(o,a[c]))e[a[c]]=o[a[c]]}}return e}});var Es=h((Th,$e)=>{function Is(n,i){if(typeof n!=="string")throw new TypeError("header argument is required");if(!i)throw new TypeError("field argument is required");var o=!Array.isArray(i)?Ws(String(i)):i;for(var e=0;e<o.length;e++)if(!Zm.test(o[e]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var a=n,t=Ws(n.toLowerCase());if(o.indexOf("*")!==-1||t.indexOf("*")!==-1)return"*";for(var s=0;s<o.length;s++){var c=o[s].toLowerCase();if(t.indexOf(c)===-1)t.push(c),a=a?a+", "+o[s]:o[s]}return a}function Ws(n){var i=0,o=[],e=0;for(var a=0,t=n.length;a<t;a++)switch(n.charCodeAt(a)){case 32:if(e===i)e=i=a+1;break;case 44:o.push(n.substring(e,i)),e=i=a+1;break;default:i=a+1;break}return o.push(n.substring(e,i)),o}function Qm(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",e=Array.isArray(o)?o.join(", "):String(o);if(o=Is(e,i))n.setHeader("Vary",o)}/*!
31
+ */Jx.parse=Mx;Jx.serialize=Rx;var dx=decodeURIComponent,Fx=encodeURIComponent,ja=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var cs=$((g$,es)=>{function zx(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function gx(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;var i={};for(var o=0;o<10;o++)i["_"+String.fromCharCode(o)]=o;var a=Object.getOwnPropertyNames(i).map(function(c){return i[c]});if(a.join("")!=="0123456789")return!1;var e={};if("abcdefghijklmnopqrst".split("").forEach(function(c){e[c]=c}),Object.keys(Object.assign({},e)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(c){return!1}}var as=Object.getOwnPropertySymbols,jx=Object.prototype.hasOwnProperty,Wx=Object.prototype.propertyIsEnumerable;es.exports=gx()?Object.assign:function(n,i){var o,a=zx(n),e;for(var c=1;c<arguments.length;c++){o=Object(arguments[c]);for(var l in o)if(jx.call(o,l))a[l]=o[l];if(as){e=as(o);for(var t=0;t<e.length;t++)if(Wx.call(o,e[t]))a[e[t]]=o[e[t]]}}return a}});var ss=$((O$,Ue)=>{function ts(n,i){if(typeof n!=="string")throw new TypeError("header argument is required");if(!i)throw new TypeError("field argument is required");var o=!Array.isArray(i)?ls(String(i)):i;for(var a=0;a<o.length;a++)if(!Ox.test(o[a]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var e=n,c=ls(n.toLowerCase());if(o.indexOf("*")!==-1||c.indexOf("*")!==-1)return"*";for(var l=0;l<o.length;l++){var t=o[l].toLowerCase();if(c.indexOf(t)===-1)c.push(t),e=e?e+", "+o[l]:o[l]}return e}function ls(n){var i=0,o=[],a=0;for(var e=0,c=n.length;e<c;e++)switch(n.charCodeAt(e)){case 32:if(a===i)a=i=e+1;break;case 44:o.push(n.substring(a,i)),a=i=e+1;break;default:i=e+1;break}return o.push(n.substring(a,i)),o}function hx(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",a=Array.isArray(o)?o.join(", "):String(o);if(o=ts(a,i))n.setHeader("Vary",o)}/*!
32
32
  * vary
33
33
  * Copyright(c) 2014-2017 Douglas Christopher Wilson
34
34
  * MIT Licensed
35
- */$e.exports=Qm;$e.exports.append=Is;var Zm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var je=h((Sh,Vs)=>{(function(){var n=Cs(),i=Es(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function e(y){return typeof y==="string"||y instanceof String}function a(y,v){if(Array.isArray(v)){for(var u=0;u<v.length;++u)if(a(y,v[u]))return!0;return!1}else if(e(v))return y===v;else if(v instanceof RegExp)return v.test(y);else return!!v}function t(y,v){var u=v.headers.origin,b=[],S;if(!y.origin||y.origin==="*")b.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(e(y.origin))b.push([{key:"Access-Control-Allow-Origin",value:y.origin}]),b.push([{key:"Vary",value:"Origin"}]);else S=a(u,y.origin),b.push([{key:"Access-Control-Allow-Origin",value:S?u:!1}]),b.push([{key:"Vary",value:"Origin"}]);return b}function s(y){var v=y.methods;if(v.join)v=y.methods.join(",");return{key:"Access-Control-Allow-Methods",value:v}}function c(y){if(y.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(y,v){var u=y.allowedHeaders||y.headers,b=[];if(!u)u=v.headers["access-control-request-headers"],b.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(u.join)u=u.join(",");if(u&&u.length)b.push([{key:"Access-Control-Allow-Headers",value:u}]);return b}function r(y){var v=y.exposedHeaders;if(!v)return null;else if(v.join)v=v.join(",");if(v&&v.length)return{key:"Access-Control-Expose-Headers",value:v};return null}function p(y){var v=(typeof y.maxAge==="number"||y.maxAge)&&y.maxAge.toString();if(v&&v.length)return{key:"Access-Control-Max-Age",value:v};return null}function m(y,v){for(var u=0,b=y.length;u<b;u++){var S=y[u];if(S){if(Array.isArray(S))m(S,v);else if(S.key==="Vary"&&S.value)i(v,S.value);else if(S.value)v.setHeader(S.key,S.value)}}}function T(y,v,u,b){var S=[],K=v.method&&v.method.toUpperCase&&v.method.toUpperCase();if(K==="OPTIONS")if(S.push(t(y,v)),S.push(c(y,v)),S.push(s(y,v)),S.push(l(y,v)),S.push(p(y,v)),S.push(r(y,v)),m(S,u),y.preflightContinue)b();else u.statusCode=y.optionsSuccessStatus,u.setHeader("Content-Length","0"),u.end();else S.push(t(y,v)),S.push(c(y,v)),S.push(r(y,v)),m(S,u),b()}function R(y){var v=null;if(typeof y==="function")v=y;else v=function(u,b){b(null,y)};return function u(b,S,K){v(b,function(W,x){if(W)K(W);else{var d=n({},o,x),A=null;if(d.origin&&typeof d.origin==="function")A=d.origin;else if(d.origin)A=function(w,g){g(null,d.origin)};if(A)A(b.headers.origin,function(w,g){if(w||!g)K(w);else d.origin=g,T(d,b,S,K)});else K()}})}}Vs.exports=R})()});var ke=h((Qs)=>{function nu(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function Xs(n,i,o){const e=i===B.errors.FORBIDDEN?403:400,a=o&&o.message?o.message:B.errorMessages[i];n.writeHead(e,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:a}))}function Gs(n,i,o={}){if(n.on("error",()=>{C("ignoring error from closed connection")}),n.writable){const e=o.message||B.errorMessages[i],a=Buffer.byteLength(e);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+a+"\r\n\r\n"+e)}n.destroy()}function iu(n){if(n+="",n.length<1)return!1;if(!Ui[n.charCodeAt(0)])return C('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Ui[n.charCodeAt(1)])return C('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Ui[n.charCodeAt(2)])return C('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Ui[n.charCodeAt(3)])return C('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Ui[n.charCodeAt(i)])return C('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(Qs,"__esModule",{value:!0});Qs.Server=Qs.BaseServer=void 0;var Hm=import.meta.require("querystring"),Nm=import.meta.require("url"),Us=xe(),Fo=Me(),Dm=import.meta.require("events"),Ys=Je(),Lm=q(),Pm=ks(),_m=import.meta.require("ws"),Bs=Re(),qm=Vi(),C=Lm.default("engine"),yi=Symbol("responseHeaders");class Yi extends Dm.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:_m.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(je()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return Fo.default[n].upgradesTo||[]}verify(n,i,o){const e=n._query.transport;if(!~this.opts.transports.indexOf(e)||e==="webtransport")return C('unknown transport "%s"',e),o(B.errors.UNKNOWN_TRANSPORT,{transport:e});if(iu(n.headers.origin)){const s=n.headers.origin;return n.headers.origin=null,C("origin header invalid"),o(B.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:s})}const t=n._query.sid;if(t){if(!this.clients.hasOwnProperty(t))return C('unknown sid "%s"',t),o(B.errors.UNKNOWN_SID,{sid:t});const s=this.clients[t].transport.name;if(!i&&s!==e)return C("bad request: unexpected transport without upgrade"),o(B.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:e,previousTransport:s})}else{if(n.method!=="GET")return o(B.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(e==="websocket"&&!i)return C("invalid transport upgrade"),o(B.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(s,c)=>{if(!c)return o(B.errors.FORBIDDEN,{message:s});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return C("no middleware to apply, skipping"),o();const e=(a)=>{C("applying middleware n\xB0%d",a+1),this.middlewares[a](n,i,(t)=>{if(t)return o(t);if(a+1<this.middlewares.length)e(a+1);else o()})};e(0)}close(){C("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return Us.generateId()}async handshake(n,i,o){const e=i._query.EIO==="4"?4:3;if(e===3&&!this.opts.allowEIO3){C("unsupported protocol version"),this.emit("connection_error",{req:i,code:B.errors.UNSUPPORTED_PROTOCOL_VERSION,message:B.errorMessages[B.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:e}}),o(B.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(i)}catch(c){C("error while generating an id"),this.emit("connection_error",{req:i,code:B.errors.BAD_REQUEST,message:B.errorMessages[B.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:c}}),o(B.errors.BAD_REQUEST);return}C('handshaking client "%s"',a);try{var t=this.createTransport(n,i);if(n==="polling")t.maxHttpBufferSize=this.opts.maxHttpBufferSize,t.httpCompression=this.opts.httpCompression;else if(n==="websocket")t.perMessageDeflate=this.opts.perMessageDeflate}catch(c){C('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:B.errors.BAD_REQUEST,message:B.errorMessages[B.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:c}}),o(B.errors.BAD_REQUEST);return}const s=new Ys.Socket(a,this,t,i,e);return t.on("headers",(c,l)=>{if(!l._query.sid){if(this.opts.cookie)c["Set-Cookie"]=[Pm.serialize(this.opts.cookie.name,a,this.opts.cookie)];this.emit("initial_headers",c,l)}this.emit("headers",c,l)}),t.onRequest(i),this.clients[a]=s,this.clientsCount++,s.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",s),t}async onWebTransportSession(n){const i=setTimeout(()=>{C("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),e=await n.incomingBidirectionalStreams.getReader().read();if(e.done){C("session is closed");return}const a=e.value,t=qm.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),s=a.readable.pipeThrough(t).getReader(),{value:c,done:l}=await s.read();if(l){C("stream is closed");return}if(clearTimeout(i),c.type!=="open")return C("invalid WebTransport handshake"),n.close();if(c.data===void 0){const m=new Bs.WebTransport(n,a,s),T=Us.generateId();C('handshaking client "%s" (WebTransport)',T);const R=new Ys.Socket(T,this,m,null,4);this.clients[T]=R,this.clientsCount++,R.once("close",()=>{delete this.clients[T],this.clientsCount--}),this.emit("connection",R);return}const r=nu(c.data);if(!r)return C("invalid WebTransport handshake"),n.close();const p=this.clients[r];if(!p)C("upgrade attempt for closed client"),n.close();else if(p.upgrading)C("transport has already been trying to upgrade"),n.close();else if(p.upgraded)C("transport had already been upgraded"),n.close();else{C("upgrading existing transport");const m=new Bs.WebTransport(n,a,s);p._maybeUpgrade(m)}}}Qs.BaseServer=Yi;Yi.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Yi.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class Zs{constructor(n,i){this.req=n,this.socket=i,n[yi]={}}setHeader(n,i){this.req[yi][n]=i}getHeader(n){return this.req[yi][n]}removeHeader(n){delete this.req[yi][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class B extends Yi{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),typeof this.ws.on==="function")this.ws.on("headers",(n,i)=>{const o=i[yi]||{};if(delete i[yi],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),C("writing headers: %j",o),Object.keys(o).forEach((a)=>{n.push(`${a}: ${o[a]}`)})})}cleanup(){if(this.ws)C("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?Hm.parse(Nm.parse(n.url).query):{}}createTransport(n,i){return new Fo.default[n](i)}handleRequest(n,i){C('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(e,a)=>{if(e!==void 0){this.emit("connection_error",{req:n,code:e,message:B.errorMessages[e],context:a}),Xs(i,e,a);return}if(n._query.sid)C("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const t=(s,c)=>Xs(i,s,c);this.handshake(n._query.transport,n,t)}};this._applyMiddlewares(n,i,(e)=>{if(e)o(B.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const e=new Zs(n,i),a=(t,s)=>{if(t!==void 0){this.emit("connection_error",{req:n,code:t,message:B.errorMessages[t],context:s}),Gs(i,t,s);return}const c=Buffer.from(o);o=null,e.writeHead(),this.ws.handleUpgrade(n,i,c,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,e,(t)=>{if(t)a(B.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,a)})}onWebSocket(n,i,o){if(o.on("error",a),Fo.default[n._query.transport]!==void 0&&!Fo.default[n._query.transport].prototype.handlesUpgrades){C("transport doesnt handle upgraded requests"),o.close();return}const e=n._query.sid;if(n.websocket=o,e){const t=this.clients[e];if(!t)C("upgrade attempt for closed client"),o.close();else if(t.upgrading)C("transport has already been trying to upgrade"),o.close();else if(t.upgraded)C("transport had already been upgraded"),o.close();else{C("upgrading existing transport"),o.removeListener("error",a);const s=this.createTransport(n._query.transport,n);s.perMessageDeflate=this.opts.perMessageDeflate,t._maybeUpgrade(s)}}else{const t=(s,c)=>Gs(i,s,c);this.handshake(n._query.transport,n,t)}function a(){C("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),e=i.destroyUpgradeTimeout||1000;function a(s){return o===s.url.slice(0,o.length)}const t=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(s,c)=>{if(a(s))C('intercepting request for path "%s"',o),this.handleRequest(s,c);else{let l=0;const r=t.length;for(;l<r;l++)t[l].call(n,s,c)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(s,c,l)=>{if(a(s))this.handleUpgrade(s,c,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(c.writable&&c.bytesWritten<=0)return c.on("error",(r)=>{C("error while destroying upgrade: %s",r.message)}),c.end()},e)})}}Qs.Server=B;var Ui=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]});var _s=h((Ls)=>{Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Polling=void 0;var eu=Pn(),Ns=import.meta.require("zlib"),au=lo(),tu=q(),vn=tu.default("engine:polling"),su={gzip:Ns.createGzip,deflate:Ns.createDeflate};class Ds extends eu.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){vn("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}vn("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},e=()=>{this.req=this.res=null};if(n.cleanup=e,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)vn("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let a,t=0;const s={"Content-Type":"text/html"};this.headers(n,s);for(let l in s)i.writeHeader(l,String(s[l]));const c=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,r)=>{const p=t+l.byteLength;if(p>o){this.onError("content-length mismatch"),i.close();return}if(!a){if(r){c(Buffer.from(l));return}a=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(a,t),r){if(p!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}c(a);return}t=p})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){vn('received "%s"',n);const i=(o)=>{if(o.type==="close")return vn("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)vn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const e=n.some((a)=>{return a.options&&a.options.compress});this.write(o,{compress:e})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){vn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const e=typeof n==="string",t={"Content-Type":e?"text/plain; charset=UTF-8":"application/octet-stream"},s=(r)=>{this.headers(this.req,t),this.res.cork(()=>{Object.keys(t).forEach((p)=>{this.res.writeHeader(p,String(t[p]))}),this.res.end(r)}),o()};if(!this.httpCompression||!i.compress){s(n);return}if((e?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){s(n);return}const l=au(this.req).encodings(["gzip","deflate"]);if(!l){s(n);return}this.compress(n,l,(r,p)=>{if(r){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(r);return}t["Content-Encoding"]=l,s(p)})}compress(n,i,o){vn("compressing");const e=[];let a=0;su[i](this.httpCompression).on("error",o).on("data",function(t){e.push(t),a+=t.length}).on("end",function(){o(null,Buffer.concat(e,a))}).end(n)}doClose(n){vn("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)vn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)vn("transport discarded - closing right away"),o();else vn("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}Ls.Polling=Ds});var ec=h((ic)=>{Object.defineProperty(ic,"__esModule",{value:!0});ic.WebSocket=void 0;var cu=Pn(),lu=q(),qs=lu.default("engine:ws");class nc extends cu.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],e=i+1===n.length,a=(t)=>{const s=typeof t!=="string",c=this.perMessageDeflate&&Buffer.byteLength(t)>this.perMessageDeflate.threshold;if(qs('writing "%s"',t),this.socket.send(t,s,c),e)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")a(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,a)}}doClose(n){qs("closing"),n&&n(),this.socket.end()}}ic.WebSocket=nc});var tc=h((ac)=>{Object.defineProperty(ac,"__esModule",{value:!0});var ru=_s(),pu=ec();ac.default={polling:ru.Polling,websocket:pu.WebSocket}});var pc=h((lc)=>{Object.defineProperty(lc,"__esModule",{value:!0});lc.uServer=void 0;var uu=q(),_n=ke(),xu=tc(),Xn=uu.default("engine:uws");class sc extends _n.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((e,a)=>{n.headers[e]=a}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{Xn("response has been aborted")})}createTransport(n,i){return new xu.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(e)=>{const a=e.getUserData().transport;a.socket=e,a.writable=!0,a.emit("ready")},message:(e,a,t)=>{e.getUserData().transport.onData(t?a:Buffer.from(a).toString())},close:(e,a,t)=>{e.getUserData().transport.onClose(a,t)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new cc(i),super._applyMiddlewares(n,n.res,(e)=>{n.res.writeHead(),o(e)})}handleRequest(n,i){Xn('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(e,a)=>{if(e!==void 0){this.emit("connection_error",{req:i,code:e,message:_n.Server.errorMessages[e],context:a}),this.abortRequest(i.res,e,a);return}if(i._query.sid)Xn("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const t=(s,c)=>this.abortRequest(n,s,c);this.handshake(i._query.transport,i,t)}};this._applyMiddlewares(i,n,(e)=>{if(e)o(_n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){Xn("on upgrade"),this.prepare(i,n),i.res=n;const e=async(a,t)=>{if(a!==void 0){this.emit("connection_error",{req:i,code:a,message:_n.Server.errorMessages[a],context:t}),this.abortRequest(n,a,t);return}const s=i._query.sid;let c;if(s){const l=this.clients[s];if(!l)return Xn("upgrade attempt for closed client"),n.close();else if(l.upgrading)return Xn("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return Xn("transport had already been upgraded"),n.close();else Xn("upgrading existing transport"),c=this.createTransport(i._query.transport,i),l._maybeUpgrade(c)}else if(c=await this.handshake(i._query.transport,i,(l,r)=>this.abortRequest(n,l,r)),!c)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:c},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(a)=>{if(a)e(_n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,e)})}abortRequest(n,i,o){const e=i===_n.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=o&&o.message?o.message:_n.Server.errorMessages[i];n.writeStatus(e),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:a}))}}lc.uServer=sc;class cc{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var fc=h((vi)=>{function Tu(n,i,o){if(typeof i==="function")o=i,i={};const e=du.createServer(function(t,s){s.writeHead(501),s.end("Not Implemented")}),a=xc(e,i);return a.httpServer=e,e.listen(n,o),a}function xc(n,i){const o=new mc.Server(i);return o.attach(n,i),o}Object.defineProperty(vi,"__esModule",{value:!0});vi.protocol=vi.Transport=vi.Socket=vi.uServer=vi.parser=vi.transports=vi.Server=void 0;vi.listen=Tu;vi.attach=xc;var du=import.meta.require("http"),mc=ke();Object.defineProperty(vi,"Server",{enumerable:!0,get:function(){return mc.Server}});var fu=Me();vi.transports=fu.default;var uc=Vi();vi.parser=uc;var yu=pc();Object.defineProperty(vi,"uServer",{enumerable:!0,get:function(){return yu.uServer}});var vu=Je();Object.defineProperty(vi,"Socket",{enumerable:!0,get:function(){return vu.Socket}});var bu=Pn();Object.defineProperty(vi,"Transport",{enumerable:!0,get:function(){return bu.Transport}});vi.protocol=uc.protocol});var yc=h((Au)=>{function sn(n){if(n)return hu(n)}function hu(n){for(var i in sn.prototype)n[i]=sn.prototype[i];return n}Au.Emitter=sn;sn.prototype.on=sn.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};sn.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};sn.prototype.off=sn.prototype.removeListener=sn.prototype.removeAllListeners=sn.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var e;for(var a=0;a<o.length;a++)if(e=o[a],e===i||e.fn===i){o.splice(a,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};sn.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var e=1;e<arguments.length;e++)i[e-1]=arguments[e];if(o){o=o.slice(0);for(var e=0,a=o.length;e<a;++e)o[e].apply(this,i)}return this};sn.prototype.emitReserved=sn.prototype.emit;sn.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};sn.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Oe=h((Tc)=>{function bc(n){return Ru&&(n instanceof ArrayBuffer||Mu(n))||Ju&&n instanceof Blob||$u&&n instanceof File}function ho(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,e=n.length;o<e;o++)if(ho(n[o]))return!0;return!1}if(bc(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return ho(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&ho(n[o]))return!0;return!1}Object.defineProperty(Tc,"__esModule",{value:!0});Tc.hasBinary=Tc.isBinary=void 0;var Ru=typeof ArrayBuffer==="function",Mu=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},vc=Object.prototype.toString,Ju=typeof Blob==="function"||typeof Blob!=="undefined"&&vc.call(Blob)==="[object BlobConstructor]",$u=typeof File==="function"||typeof File!=="undefined"&&vc.call(File)==="[object FileConstructor]";Tc.isBinary=bc;Tc.hasBinary=ho});var Fc=h((wc)=>{function Ou(n){const i=[],o=n.data,e=n;return e.data=ze(o,i),e.attachments=i.length,{packet:e,buffers:i}}function ze(n,i){if(!n)return n;if(ku.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let e=0;e<n.length;e++)o[e]=ze(n[e],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e))o[e]=ze(n[e],i);return o}return n}function zu(n,i){return n.data=Ce(n.data,i),delete n.attachments,n}function Ce(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=Ce(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=Ce(n[o],i)}return n}Object.defineProperty(wc,"__esModule",{value:!0});wc.reconstructPacket=wc.deconstructPacket=void 0;var ku=Oe();wc.deconstructPacket=Ou;wc.reconstructPacket=zu});var Bi=h(($c)=>{function hc(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty($c,"__esModule",{value:!0});$c.Decoder=$c.Encoder=$c.PacketType=$c.protocol=void 0;var Wu=yc(),Kc=Fc(),Rc=Oe(),Iu=q(),We=Iu.default("socket.io-parser"),Eu=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];$c.protocol=5;var Q;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(Q=$c.PacketType||($c.PacketType={}));class Mc{constructor(n){this.replacer=n}encode(n){if(We("encoding packet %j",n),n.type===Q.EVENT||n.type===Q.ACK){if(Rc.hasBinary(n))return this.encodeAsBinary({type:n.type===Q.EVENT?Q.BINARY_EVENT:Q.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===Q.BINARY_EVENT||n.type===Q.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return We("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=Kc.deconstructPacket(n),o=this.encodeAsString(i.packet),e=i.buffers;return e.unshift(o),e}}$c.Encoder=Mc;class Ie extends Wu.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===Q.BINARY_EVENT;if(o||i.type===Q.BINARY_ACK){if(i.type=o?Q.EVENT:Q.ACK,this.reconstructor=new Jc(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(Rc.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(Q[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===Q.BINARY_EVENT||o.type===Q.BINARY_ACK){const a=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const t=n.substring(a,i);if(t!=Number(t)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(t)}if(n.charAt(i+1)==="/"){const a=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(a,i)}else o.nsp="/";const e=n.charAt(i+1);if(e!==""&&Number(e)==e){const a=i+1;while(++i){const t=n.charAt(i);if(t==null||Number(t)!=t){--i;break}if(i===n.length)break}o.id=Number(n.substring(a,i+1))}if(n.charAt(++i)){const a=this.tryParse(n.substr(i));if(Ie.isPayloadValid(o.type,a))o.data=a;else throw new Error("invalid payload")}return We("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case Q.CONNECT:return hc(i);case Q.DISCONNECT:return i===void 0;case Q.CONNECT_ERROR:return typeof i==="string"||hc(i);case Q.EVENT:case Q.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&Eu.indexOf(i[0])===-1);case Q.ACK:case Q.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}$c.Decoder=Ie;class Jc{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=Kc.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var Cc=h((Oc)=>{Object.defineProperty(Oc,"__esModule",{value:!0});Oc.Client=void 0;var Ao=Bi(),Yu=q(),Bu=import.meta.require("url"),hn=Yu("socket.io:client");class kc{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout(()=>{if(this.nsps.size===0)hn("no namespace joined yet, close the client"),this.close();else hn("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return hn("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else hn("creation of namespace %s was denied",n),this._packet({type:Ao.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(e)=>{if(this.sockets.set(e.id,e),this.nsps.set(o.name,e),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else hn("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")hn("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){hn("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){hn("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let e of o)this.conn.write(e,i)}ondata(n){try{this.decoder.add(n)}catch(i){hn("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const a=Bu.parse(n.nsp,!0);i=a.pathname,o=a.query}else i=n.nsp,o=n.data;const e=this.nsps.get(i);if(!e&&n.type===Ao.PacketType.CONNECT)this.connect(i,o);else if(e&&n.type!==Ao.PacketType.CONNECT&&n.type!==Ao.PacketType.CONNECT_ERROR)process.nextTick(function(){e._onpacket(n)});else hn("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){hn("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0}}Oc.Client=kc});var Ko=h((Ic)=>{Object.defineProperty(Ic,"__esModule",{value:!0});Ic.StrictEventEmitter=void 0;var Xu=import.meta.require("events");class Wc extends Xu.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}Ic.StrictEventEmitter=Wc});var Ee=h((Vc)=>{Object.defineProperty(Vc,"__esModule",{value:!0});Vc.RESERVED_EVENTS=void 0;Vc.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Ue=h((Yc)=>{Object.defineProperty(Yc,"__esModule",{value:!0});Yc.RemoteSocket=Yc.BroadcastOperator=void 0;var Gu=Ee(),Zu=Bi();class kn{constructor(n,i=new Set,o=new Set,e={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=e}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new kn(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new kn(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new kn(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new kn(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new kn(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new kn(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(Gu.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],e={type:Zu.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(e,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const t=o.pop();let s=!1,c=[];const l=setTimeout(()=>{s=!0,t.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])},this.flags.timeout);let r=-1,p=0,m=0;const T=()=>{if(!s&&r===p&&c.length===m)clearTimeout(l),t.apply(this,[null,this.flags.expectSingleResponse?c[0]:c])};return this.adapter.broadcastWithAck(e,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(R)=>{m+=R,p++,T()},(R)=>{c.push(R),T()}),this.adapter.serverCount().then((R)=>{r=R,T()}),!0}emitWithAck(n,...i){return new Promise((o,e)=>{i.push((a,t)=>{if(a)return a.responses=t,e(a);else return o(t)}),this.emit(n,...i)})}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then((n)=>{return n.map((i)=>{if(i.server)return i;else return new Ve(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}Yc.BroadcastOperator=kn;class Ve{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new kn(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}Yc.RemoteSocket=Ve});var Ye=h((bi)=>{function Gc(){}var Zc=bi&&bi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(bi,"__esModule",{value:!0});bi.Socket=void 0;var bn=Bi(),Hu=Zc(q()),Nu=Ko(),Xc=Zc(xe()),Du=Ue(),Lu=Ee(),on=Hu.default("socket.io:socket"),Pu=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class Qc extends Nu.StrictEventEmitter{constructor(n,i,o,e){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,e)this.id=e.sid,this.pid=e.pid,e.rooms.forEach((a)=>this.join(a)),this.data=e.data,e.missedPackets.forEach((a)=>{this.packet({type:bn.PacketType.EVENT,data:a})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=Xc.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=Xc.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",Gc)}buildHandshake(n){var i,o,e,a;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(e=this.request)===null||e===void 0?void 0:e.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:n}}emit(n,...i){if(Lu.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],e={type:bn.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const t=this.nsp._ids++;on("emitting packet with ack id %d",t),this.registerAckCallback(t,o.pop()),e.id=t}const a=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(e,{rooms:new Set([this.id]),except:new Set,flags:a});else this.notifyOutgoingListeners(e),this.packet(e,a);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((e,a)=>{i.push((t,s)=>{if(o)return t?a(t):e(s);else return e(t)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const e=setTimeout(()=>{on("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...a)=>{clearTimeout(e),i.apply(this,[null,...a])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return on("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return on("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(on("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:bn.PacketType.CONNECT});else this.packet({type:bn.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(on("got packet %j",n),n.type){case bn.PacketType.EVENT:this.onevent(n);break;case bn.PacketType.BINARY_EVENT:this.onevent(n);break;case bn.PacketType.ACK:this.onack(n);break;case bn.PacketType.BINARY_ACK:this.onack(n);break;case bn.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(on("emitting event %j",i),n.id!=null)on("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let e of o)e.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const e=Array.prototype.slice.call(arguments);on("sending ack %j",e),i.packet({id:n,type:bn.PacketType.ACK,data:e}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")on("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else on("bad ack %s",n.id)}ondisconnect(){on("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(on("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&Pu.has(n))on("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data});this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=Gc}_error(n){this.packet({type:bn.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:bn.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){on("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else on("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function e(a){o[a](n,(t)=>{if(t)return i(t);if(!o[a+1])return i();e(a+1)})}e(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new Du.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}bi.Socket=Qc});var Be=h((On)=>{var _u=On&&On.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(On,"__esModule",{value:!0});On.Namespace=On.RESERVED_EVENTS=void 0;var Hc=Ye(),qu=Ko(),nx=_u(q()),xn=Ue(),Xi=nx.default("socket.io:namespace");On.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class Nc extends qu.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function e(a){o[a](n,(t)=>{if(t)return i(t);if(!o[a+1])return i();e(a+1)})}e(0)}to(n){return new xn.BroadcastOperator(this.adapter).to(n)}in(n){return new xn.BroadcastOperator(this.adapter).in(n)}except(n){return new xn.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var e;Xi("adding socket to nsp %s",this.name);const a=await this._createSocket(n,i);if(this._preConnectSockets.set(a.id,a),((e=this.server.opts.connectionStateRecovery)===null||e===void 0?void 0:e.skipMiddlewares)&&a.recovered&&n.conn.readyState==="open")return this._doConnect(a,o);this.run(a,(t)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){Xi("next called after client was closed - ignoring socket"),a._cleanup();return}if(t)if(Xi("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),n.conn.protocol===3)return a._error(t.data||t.message);else return a._error({message:t.message,data:t.data});this._doConnect(a,o)})})}async _createSocket(n,i){const{pid:o,offset:e}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof e==="string"){let a;try{a=await this.adapter.restoreSession(o,e)}catch(t){Xi("error while restoring session: %s",t)}if(a)return Xi("connection state recovered for sid %s",a.sid),new Hc.Socket(this,n,i,a)}return new Hc.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new xn.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(On.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,e)=>{i.push((a,t)=>{if(a)return a.responses=t,e(a);else return o(t)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new xn.BroadcastOperator(this.adapter).allSockets()}compress(n){return new xn.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new xn.BroadcastOperator(this.adapter).volatile}get local(){return new xn.BroadcastOperator(this.adapter).local}timeout(n){return new xn.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new xn.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new xn.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new xn.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new xn.BroadcastOperator(this.adapter).disconnectSockets(n)}}On.Namespace=Nc});var il=h((qc)=>{function Xe(n){let i="";do i=Pc[n%Ro]+i,n=Math.floor(n/Ro);while(n>0);return i}function ix(n){let i=0;for(Gn=0;Gn<n.length;Gn++)i=i*Ro+_c[n.charAt(Gn)];return i}function ox(){const n=Xe(+new Date);if(n!==Lc)return Dc=0,Lc=n;return n+"."+Xe(Dc++)}Object.defineProperty(qc,"__esModule",{value:!0});qc.yeast=qc.decode=qc.encode=void 0;var Pc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ro=64,_c={},Dc=0,Gn=0,Lc;qc.encode=Xe;qc.decode=ix;qc.yeast=ox;for(;Gn<Ro;Gn++)_c[Pc[Gn]]=Gn});var Qe=h((el)=>{function lx(n,i){const o=i.rooms.size===0||n.some((a)=>i.rooms.has(a)),e=n.every((a)=>!i.except.has(a));return o&&e}var Ge;Object.defineProperty(el,"__esModule",{value:!0});el.SessionAwareAdapter=el.Adapter=void 0;var tx=import.meta.require("events"),sx=il(),Mo=import.meta.require("ws"),cx=typeof((Ge=Mo===null||Mo===void 0?void 0:Mo.Sender)===null||Ge===void 0?void 0:Ge.frame)==="function";class Ze extends tx.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},e={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const a=this._encode(n,e);this.apply(i,(t)=>{if(typeof t.notifyOutgoingListeners==="function")t.notifyOutgoingListeners(n);t.client.writeToEngine(a,e)})}broadcastWithAck(n,i,o,e){const a=i.flags||{},t={preEncoded:!0,volatile:a.volatile,compress:a.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const s=this._encode(n,t);let c=0;this.apply(i,(l)=>{if(c++,l.acks.set(n.id,e),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(s,t)}),o(c)}_encode(n,i){const o=this.encoder.encode(n);if(cx&&o.length===1&&typeof o[0]==="string"){const e=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=Mo.Sender.frame(e,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((e)=>o.leave(e))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,e=this.computeExceptSids(n.except);if(o.size){const a=new Set;for(let t of o){if(!this.rooms.has(t))continue;for(let s of this.rooms.get(t)){if(a.has(s)||e.has(s))continue;const c=this.nsp.sockets.get(s);if(c)i(c),a.add(s)}}}else for(let[a]of this.sids){if(e.has(a))continue;const t=this.nsp.sockets.get(a);if(t)i(t)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((e)=>i.add(e))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}el.Adapter=Ze;class ol extends Ze{constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((e,a)=>{if(e.disconnectedAt<o)this.sessions.delete(a)});for(let e=this.packets.length-1;e>=0;e--)if(this.packets[e].emittedAt<o){this.packets.splice(0,e+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const a=this.packets.findIndex((s)=>s.id===i);if(a===-1)return null;const t=[];for(let s=a+1;s<this.packets.length;s++){const c=this.packets[s];if(lx(o.rooms,c.opts))t.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:t}))}broadcast(n,i){var o;const e=n.type===2,a=n.id===void 0,t=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(e&&a&&t){const s=sx.yeast();n.data.push(s),this.packets.push({id:s,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}el.SessionAwareAdapter=ol});var sl=h((An)=>{function Si(){return xx.randomBytes(8).toString("hex")}function qn(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function Ti(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var px=An&&An.__rest||function(n,i){var o={};for(var e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&i.indexOf(e)<0)o[e]=n[e];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var a=0,e=Object.getOwnPropertySymbols(n);a<e.length;a++)if(i.indexOf(e[a])<0&&Object.prototype.propertyIsEnumerable.call(n,e[a]))o[e[a]]=n[e[a]]}return o};Object.defineProperty(An,"__esModule",{value:!0});An.ClusterAdapterWithHeartbeat=An.ClusterAdapter=An.MessageType=void 0;var mx=Qe(),ux=q(),xx=import.meta.require("crypto"),D=ux.debug("socket.io-adapter"),dx="emitter",Jo=5000,j;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(j=An.MessageType||(An.MessageType={}));class He extends mx.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Si()}onMessage(n,i){if(n.uid===this.uid)return D("[%s] ignore message from self",this.uid);switch(D("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case j.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,Ti(n.data.opts),(e)=>{D("[%s] waiting for %d client acknowledgements",this.uid,e),this.publishResponse(n.uid,{type:j.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:e}})},(e)=>{D("[%s] received acknowledgement with value %j",this.uid,e),this.publishResponse(n.uid,{type:j.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:e}})});else{const e=n.data.packet,a=Ti(n.data.opts);this.addOffsetIfNecessary(e,a,i),super.broadcast(e,a)}break}case j.SOCKETS_JOIN:super.addSockets(Ti(n.data.opts),n.data.rooms);break;case j.SOCKETS_LEAVE:super.delSockets(Ti(n.data.opts),n.data.rooms);break;case j.DISCONNECT_SOCKETS:super.disconnectSockets(Ti(n.data.opts),n.data.close);break;case j.FETCH_SOCKETS:{D("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(Ti(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:j.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((e)=>{const a=e.handshake,{sessionStore:t}=a,s=px(a,["sessionStore"]);return{id:e.id,handshake:s,rooms:[...e.rooms],data:e.data}})}})});break}case j.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let a=!1;const t=(s)=>{if(a)return;a=!0,D("[%s] calling acknowledgement with %j",this.uid,s),this.publishResponse(n.uid,{type:j.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:s}})};this.nsp._onServerSideEmit([...o,t]);break}case j.BROADCAST_CLIENT_COUNT:case j.BROADCAST_ACK:case j.FETCH_SOCKETS_RESPONSE:case j.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:D("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const e=n.data.requestId;switch(D("[%s] received response %s to request %s",this.uid,n.type,e),n.type){case j.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(e))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case j.BROADCAST_ACK:{(o=this.ackRequests.get(e))===null||o===void 0||o.ack(n.data.packet);break}case j.FETCH_SOCKETS_RESPONSE:{const a=this.requests.get(e);if(!a)return;if(a.current++,n.data.sockets.forEach((t)=>a.responses.push(t)),a.current===a.expected)clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(e);break}case j.SERVER_SIDE_EMIT_RESPONSE:{const a=this.requests.get(e);if(!a)return;if(a.current++,a.responses.push(n.data.packet),a.current===a.expected)clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(e);break}default:D("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const a=await this.publishAndReturnOffset({type:j.BROADCAST,data:{packet:n,opts:qn(i)}});this.addOffsetIfNecessary(n,i,a)}catch(a){return D("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var e;if(!this.nsp.server.opts.connectionStateRecovery)return;const a=n.type===2,t=n.id===void 0,s=((e=i.flags)===null||e===void 0?void 0:e.volatile)===void 0;if(a&&t&&s)n.data.push(o)}broadcastWithAck(n,i,o,e){var a;if(!((a=i===null||i===void 0?void 0:i.flags)===null||a===void 0?void 0:a.local)){const s=Si();this.ackRequests.set(s,{clientCountCallback:o,ack:e}),this.publish({type:j.BROADCAST,data:{packet:n,requestId:s,opts:qn(i)}}),setTimeout(()=>{this.ackRequests.delete(s)},i.flags.timeout)}super.broadcastWithAck(n,i,o,e)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.SOCKETS_JOIN,data:{opts:qn(n),rooms:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.SOCKETS_LEAVE,data:{opts:qn(n),rooms:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.DISCONNECT_SOCKETS,data:{opts:qn(n),close:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,e]=await Promise.all([super.fetchSockets(n),this.serverCount()]),a=e-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||a<=0)return o;const t=Si();return new Promise((s,c)=>{const l=setTimeout(()=>{const p=this.requests.get(t);if(p)c(new Error(`timeout reached: only ${p.current} responses received out of ${p.expected}`)),this.requests.delete(t)},n.flags.timeout||Jo),r={type:j.FETCH_SOCKETS,resolve:s,timeout:l,current:0,expected:a,responses:o};this.requests.set(t,r),this.publish({type:j.FETCH_SOCKETS,data:{opts:qn(n),requestId:t}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:j.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),e=await this.serverCount()-1;if(D('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,e),e<=0)return o(null,[]);const a=Si(),t=setTimeout(()=>{const c=this.requests.get(a);if(c)o(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(a)},Jo),s={type:j.SERVER_SIDE_EMIT,resolve:o,timeout:t,current:0,expected:e,responses:[]};this.requests.set(a,s),this.publish({type:j.SERVER_SIDE_EMIT,data:{requestId:a,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{D("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{D("[%s] error while publishing response: %s",this.uid,o)})}}An.ClusterAdapter=He;class tl extends He{constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((e,a)=>{if(o-e>this._opts.heartbeatTimeout)D("[%s] node %s seems down",this.uid,a),this.removeNode(a)})},1000)}init(){this.publish({type:j.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:j.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:j.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return D("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==dx)this.nodesMap.set(n.uid,Date.now());switch(D("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case j.INITIAL_HEARTBEAT:this.publish({type:j.HEARTBEAT});break;case j.HEARTBEAT:break;case j.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:j.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),e=this.nodesMap.size;if(D('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,e),e<=0)return o(null,[]);const a=Si(),t=setTimeout(()=>{const c=this.customRequests.get(a);if(c)o(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(a)},Jo),s={type:j.SERVER_SIDE_EMIT,resolve:o,timeout:t,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,s),this.publish({type:j.SERVER_SIDE_EMIT,data:{requestId:a,packet:n}})}async fetchSockets(n){var i;const[o,e]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),a=e-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||a<=0)return o;const t=Si();return new Promise((s,c)=>{const l=setTimeout(()=>{const p=this.customRequests.get(t);if(p)c(new Error(`timeout reached: missing ${p.missingUids.size} responses`)),this.customRequests.delete(t)},n.flags.timeout||Jo),r={type:j.FETCH_SOCKETS,resolve:s,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(t,r),this.publish({type:j.FETCH_SOCKETS,data:{opts:qn(n),requestId:t}})})}onResponse(n){const i=n.data.requestId;switch(D("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case j.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((e)=>o.responses.push(e)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case j.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===j.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===j.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}An.ClusterAdapterWithHeartbeat=tl});var $o=h((ni)=>{Object.defineProperty(ni,"__esModule",{value:!0});ni.MessageType=ni.ClusterAdapterWithHeartbeat=ni.ClusterAdapter=ni.SessionAwareAdapter=ni.Adapter=void 0;var cl=Qe();Object.defineProperty(ni,"Adapter",{enumerable:!0,get:function(){return cl.Adapter}});Object.defineProperty(ni,"SessionAwareAdapter",{enumerable:!0,get:function(){return cl.SessionAwareAdapter}});var Ne=sl();Object.defineProperty(ni,"ClusterAdapter",{enumerable:!0,get:function(){return Ne.ClusterAdapter}});Object.defineProperty(ni,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return Ne.ClusterAdapterWithHeartbeat}});Object.defineProperty(ni,"MessageType",{enumerable:!0,get:function(){return Ne.MessageType}})});var ml=h((wi)=>{var yx=wi&&wi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(wi,"__esModule",{value:!0});wi.ParentNamespace=void 0;var ll=Be(),vx=$o(),bx=yx(q()),rl=bx.default("socket.io:parent-namespace");class jo extends ll.Namespace{constructor(n){super(n,"/_"+jo.count++);this.children=new Set}_initAdapter(){this.adapter=new pl(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){rl("creating child namespace %s",n);const i=new ll.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(e)=>{if(o.call(i,e),i.sockets.size===0)rl("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}wi.ParentNamespace=jo;jo.count=0;class pl extends vx.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var vl=h((oi)=>{function wx(n){ii.Adapter.prototype.addAll=function(i,o){const e=!this.sids.has(i);dl.call(this,i,o);const a=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!a)return;if(a.conn.transport.name==="websocket"){xl(this.nsp.name,a,e,o);return}if(e)a.conn.on("upgrade",()=>{const t=this.sids.get(i);if(t)xl(this.nsp.name,a,e,t)})},ii.Adapter.prototype.del=function(i,o){fl.call(this,i,o);const e=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(e&&e.conn.transport.name==="websocket"){const a=e.conn.id,t=e.conn.transport.socket,s=`${this.nsp.name}${De}${o}`;ko("unsubscribe connection %s from topic %s",a,s),t.unsubscribe(s)}},ii.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){yl.call(this,i,o);return}const a=o.flags||{},t={preEncoded:!0,volatile:a.volatile,compress:a.compress};i.nsp=this.nsp.name;const s=this.encoder.encode(i),c=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${De}${o.rooms.keys().next().value}`;ko("fast publish to %s",c),s.forEach((l)=>{const r=typeof l!=="string";n.publish(c,r?l:"4"+l,r)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(s,t)})}}function xl(n,i,o,e){const a=i.conn.id,t=i.conn.transport.socket;if(o)ko("subscribe connection %s to topic %s",a,n),t.subscribe(n);e.forEach((s)=>{const c=`${n}${De}${s}`;ko("subscribe connection %s to topic %s",a,c),t.subscribe(c)})}function gx(){ii.Adapter.prototype.addAll=dl,ii.Adapter.prototype.del=fl,ii.Adapter.prototype.broadcast=yl}function hx(n,i){const{size:o}=ul.statSync(i),e=ul.createReadStream(i),a=()=>!e.destroyed&&e.destroy(),t=(c)=>{throw a(),c},s=(c)=>{const l=Fx(c);n.cork(()=>{const r=n.getWriteOffset(),[p,m]=n.tryEnd(l,o);if(!m&&!p)e.pause(),n.onWritable((T)=>{const[R,y]=n.tryEnd(l.slice(T-r),o);if(!y&&R)e.resume();return R})})};n.onAborted(a),e.on("data",s).on("error",t).on("end",a)}var Tx=oi&&oi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(oi,"__esModule",{value:!0});oi.patchAdapter=wx;oi.restoreAdapter=gx;oi.serveFile=hx;var ii=$o(),ul=import.meta.require("fs"),Sx=Tx(q()),ko=Sx.default("socket.io:adapter-uws"),De="\x1F",{addAll:dl,del:fl,broadcast:yl}=ii.Adapter.prototype,Fx=(n)=>{const{buffer:i,byteOffset:o,byteLength:e}=n;return i.slice(o,o+e)}});var bl=h((Ph,Ax)=>{Ax.exports={name:"socket.io",version:"4.8.0",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --require ts-node/register --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":"prettier --check \"lib/**/*.ts\" \"test/**/*.ts\"","format:fix":"prettier --write \"lib/**/*.ts\" \"test/**/*.ts\"",prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.3.2","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var Rl=h((en,Gi)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",Kx=en&&en.__createBinding||(Object.create?function(n,i,o,e){if(e===void 0)e=o;var a=Object.getOwnPropertyDescriptor(i,o);if(!a||("get"in a?!i.__esModule:a.writable||a.configurable))a={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,e,a)}:function(n,i,o,e){if(e===void 0)e=o;n[e]=i[o]}),Rx=en&&en.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Mx=en&&en.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))Kx(i,n,o)}return Rx(i,n),i},Al=en&&en.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(en,"__esModule",{value:!0});en.Namespace=en.Socket=en.Server=void 0;var Jx=import.meta.require("http"),$x=import.meta.require("fs"),Le=import.meta.require("zlib"),jx=lo(),Oo=import.meta.require("stream"),Tl=import.meta.require("path"),Sl=fc(),kx=Cc(),wl=import.meta.require("events"),_e=Be();Object.defineProperty(en,"Namespace",{enumerable:!0,get:function(){return _e.Namespace}});var Ox=ml(),gl=$o(),zx=Mx(Bi()),Cx=Al(q()),Kl=Ye();Object.defineProperty(en,"Socket",{enumerable:!0,get:function(){return Kl.Socket}});var Wx=Ko(),Pe=vl(),Ix=Al(je()),ln=Cx.default("socket.io:server"),Fl=bl().version,hl=/\.map/;class gi extends Wx.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||zx,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||gl.SessionAwareAdapter);else this.adapter(i.adapter||gl.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=Ix.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const e=this.parentNsps.keys(),a=()=>{const t=e.next();if(t.done)return o(!1);t.value(n,i,(s,c)=>{if(s||!c)return a();if(this._nsps.has(n))return ln("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(t.value).createChild(n);ln("dynamic namespace %s was created",n),o(l)})};a()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){ln("creating http server and binding to %d",n);const o=n;n=Jx.createServer((e,a)=>{a.writeHead(404),a.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,ln("creating uWebSockets.js-based engine with opts %j",i);const o=new Sl.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(e,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}const t=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),s=hl.test(t),c=s?"map":"source",l='"'+Fl+'"',r="W/"+l,p=a.getHeader("if-none-match");if(p){if(l===p||r===p){ln("serve client %s 304",c),e.writeStatus("304 Not Modified"),e.end();return}}ln("serve client %s",c),e.writeHeader("cache-control","public, max-age=0"),e.writeHeader("content-type","application/"+(s?"json":"javascript")+"; charset=utf-8"),e.writeHeader("etag",l);const m=Tl.join(__dirname,"../client-dist/",t);Pe.serveFile(e,m)});Pe.patchAdapter(n)}initEngine(n,i){if(ln("creating engine.io instance with opts %j",i),this.eio=Sl.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){ln("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,e)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,e,()=>{this.serve(o,e)});else this.serve(o,e);else for(let a=0;a<i.length;a++)i[a].call(n,o,e)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),e=hl.test(o),a=e?"map":"source",t='"'+Fl+'"',s="W/"+t,c=n.headers["if-none-match"];if(c){if(t===c||s===c){ln("serve client %s 304",a),i.writeHead(304),i.end();return}}ln("serve client %s",a),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(e?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",t),gi.sendFile(o,n,i)}static sendFile(n,i,o){const e=$x.createReadStream(Tl.join(__dirname,"../client-dist/",n)),a=jx(i).encodings(["br","gzip","deflate"]),t=(s)=>{if(s)o.end()};switch(a){case"br":o.writeHead(200,{"content-encoding":"br"}),Oo.pipeline(e,Le.createBrotliCompress(),o,t);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Oo.pipeline(e,Le.createGzip(),o,t);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Oo.pipeline(e,Le.createDeflate(),o,t);break;default:o.writeHead(200),Oo.pipeline(e,o,t)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){ln("incoming connection with id %s",n.id);const i=new kx.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const e=new Ox.ParentNamespace(this);if(ln("initializing parent namespace %s",e.name),typeof n==="function")this.parentNsps.set(n,e);else this.parentNsps.set((a,t,s)=>s(null,n.test(a)),e),this.parentNamespacesFromRegExp.set(n,e);if(i)e.on("connect",i);return e}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[e,a]of this.parentNamespacesFromRegExp)if(e.test(n))return ln("attaching namespace %s to parent namespace %s",n,e),a.createChild(n);if(ln("initializing namespace %s",n),o=new _e.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),Pe.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}en.Server=gi;var Ex=Object.keys(wl.EventEmitter.prototype).filter(function(n){return typeof wl.EventEmitter.prototype[n]==="function"});Ex.forEach(function(n){gi.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Gi.exports=(n,i)=>new gi(n,i);Gi.exports.Server=gi;Gi.exports.Namespace=_e.Namespace;Gi.exports.Socket=Kl.Socket});import*as zl from"http";function ei(n=Math.random){return n().toString(36).slice(2)}class Ai extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((e,a)=>{i=e,o=a});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}var aa=(n,i,o=J.STORE)=>{return Ki(o,{key:`${n.key}:JSON`,get:({get:e})=>i.toJson(e(n)),set:({set:e},a)=>{e(n,i.fromJson(a))}})};function f(n){while(n.child!==null)n=n.child;return n}function ta(n){while(n.parent!==null)n=n.parent;return n}class z{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class Co extends z{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function zn(n,i,o){const e={key:i.key,type:"atom_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=i.default,y={key:m,default:R instanceof Function?R(l):R};if(i.effects)y.effects=i.effects(l);const v=Cn(T,y,p);return t.next({type:"state_creation",token:v}),v},e,{subject:t,install:(l)=>zn(l,i),internalRoles:o});return n.families.set(i.key,c),n.defaults.set(i.key,i.default),e}function sa(n,i){if("mutable"in i)return Ri(n,i);return zn(n,i)}function Wn(n,i,o){const e={key:i.key,type:"readonly_selector_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=Mi(T,{key:m,get:i.get(l)},p);return t.next({type:"state_creation",token:R}),R},e,{internalRoles:o,subject:t,install:(l)=>Wn(l,i),default:(l)=>{return i.get(l)({get:(...p)=>E(n,...p),find:(p,m)=>I(n,p,m),seek:(p,m)=>G(n,p,m),json:(p)=>L(n,p)})}});return n.families.set(i.key,c),e}function Wo(n,i){if("set"in i)return Ji(n,i);return Wn(n,i)}function ai(n,i){const o=k(i),e=`${n.key}(${o})`,a=Bl[n.type],t={key:e,type:a};if(a==="molecule")Object.assign(t,{key:i,family:n});else Object.assign(t,{family:{key:n.key,subKey:o}});return Object.assign(t,{counterfeit:!0}),t}var Bl={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function dn(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}class pn{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),e=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(e)e.add(n);else e=new Set([n]),this.relations.set(i,e)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const e=this.relations.get(i);if(e){if(e.delete(n),e.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const e=new Set([n]);this.relations.set(o,e)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let e of o){const a=this.relations.get(e);if(a){if(a.size===1)this.relations.delete(e);else a.delete(n);this.contents.delete(this.makeContentKey(n,e))}}this.relations.set(n,new Set(i));for(let e of i){let a=this.relations.get(e);if(a)a.add(n);else a=new Set([n]),this.relations.set(e,a)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,e])=>[o,new Set(e)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(e,a)=>o.has(e,a),this.addRelation=(e,a)=>{o.addRelation(e,a)},this.deleteRelation=(e,a)=>{o.deleteRelation(e,a)},this.replaceRelationsSafely=(e,a)=>{o.replaceRelationsSafely(e,a)},this.replaceRelationsUnsafely=(e,a)=>{o.replaceRelationsUnsafely(e,a)},this.getRelatedKeys=(e)=>o.getRelatedKeys(e),o.getContent)this.getContentInternal=(e)=>{return o.getContent(e)},this.setContent=(e,a)=>{o.setContent(e,a)},this.deleteContent=(e)=>{o.deleteContent(e)};for(let[e,a]of n.relations??[])for(let t of a)this.addRelation(e,t);for(let[e,a]of n.contents??[])this.setContent(e,a)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],e=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const a=this.getRelatedKey(n);if(a&&a!==o)this.delete(a,n)}case"1:n":{const a=this.getRelatedKey(o);if(a&&a!==n)this.delete(a,o)}}if(e){const a=this.makeContentKey(n,o);this.setContent(a,e)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const e=this.getRelatedKeys(i);if(e)for(let a of e)this.delete(a,i)}if(typeof o==="string"&&i===void 0){const e=this.getRelatedKeys(o);if(e)for(let a of e)this.delete(o,a)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const e=this.makeContentKey(o,i);this.deleteContent(e)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const e=!Array.isArray(i),a=e?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,a);else this.replaceRelationsSafely(n,a);if(e)for(let t of a){const s=this.makeContentKey(n,t),c=i[t];this.setContent(s,c)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const e=this.getRelatedKeys(i);if(e)return[...e].map((a)=>{return[a,this.getContent(i,a)??null]})}if(i===void 0&&o!==void 0){const e=this.getRelatedKeys(o);if(e)return[...e].map((a)=>{return[a,this.getContent(a,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function H(n){return"epoch"in n.transactionMeta}function V(n){return"phase"in n.transactionMeta}var ca=(n)=>{const i=f(n);if(!V(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function Sn(n){return n.type.split("_").map(Xl).join(" ")}var Xl=(n)=>n[0].toUpperCase()+n.slice(1);class cn extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${Sn(i)} ${k(i.key)} not found in store "${o.config.name}".`);else{const e=n[1];super(`${Sn(i)} "${i.key}" member ${k(e)} not found in store "${o.config.name}".`)}}}function In(n,i,o){return(...e)=>{const a=M(n,o);if(a)return a.run(e,i);throw new cn(n,o)}}var Zi=(n)=>(i)=>n instanceof Function?n(i):n;var En=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),la(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var ra=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!V(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},pa=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},ma=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},ti=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var ua=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var Io=(n,i)=>{const o=f(i),e=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,e?`evicting ${e.size} states downstream:`:"no downstream states",e??"to evict"),e){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let a of e){if(ma(o,a))continue;xa(a,o),ti(o,a)}}};function Gl(n,i){if(fa(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var da=(n,i,o)=>{const{key:e}=n,a=f(o);if(!V(a)||a.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",e,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!Gl(e,i))return;const s={type:"atom_update",key:e,...i};if(n.family)s.family=n.family;a.transactionMeta.update.updates.push(s),o.logger.info("\uD83D\uDCC1","atom",e,"stowed (",i.oldValue,"->",i.newValue,")")};var ya=(n,i,o)=>{const e=En(n,o);let a=e;if(n.type==="mutable_atom"&&V(o)){const{parent:s}=o;a=$i(n,s,o)}if(a=Zi(i)(a),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",a),a=fn(n.key,a,n.subject,o),va(n.key,o))ba(n.key,o);ti(o,n.key),Io(n,o);const t={oldValue:e,newValue:a};if(H(o))ua(n,t,o);else if(o.parent){if(o.on.transactionApplying.state===null)da(n,t,o);else if(n.key.startsWith("*")){const s=n.key.slice(1),c=o.atoms.get(s);let l=o.valueMap.get(s);if(c.type==="mutable_atom"&&V(o)){const{parent:p}=o;l=$i(c,p,o)}if(l.do(t.newValue)===null)Io(c,o)}}};var Qi=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":ya(n,i,o);break;case"selector":n.set(i);break}};function Hi(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function U(n,...i){let o,e,a,t;if(i.length===2){if(o=i[0],t=i[1],e=Hi(n,o)??null,e)a=o.family?P(o.family.subKey):null,o=I(n,e,a)}else e=i[0],a=i[1],t=i[2],o=I(n,e,a);if("counterfeit"in o){const l=n.disposalTraces.buffer.find((r)=>r?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const s=ra(n,o);if(s){const l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${s}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${s}`),U(n,o,t)});return}const c=M(o,n);Qi(c,t,n),pa(n)}function Ni(n,i,o){const{key:e,newValue:a,oldValue:t}=i,s=n==="newValue"?a:t,c={key:e,type:"atom"};if(i.family)Object.assign(c,{family:i.family});U(o,c,s)}function Ta(n,i){const o=new z,e={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},a={...e,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,a),e}function wn(n,i,o){const e=Mn(o,i,n.key);n.tokens.set(e.key,e);const a=V(o)&&o.transactionMeta.phase==="building",t=o.moleculeInProgress===n.key;if(!a&&!t)n.subject.next({type:"state_creation",token:e});return e}class _ extends Set{mode="record";subject=new z;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof _)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){const i=new _(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${k(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${k(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new _(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let e of this.transactionUpdates)this.doStep(e);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){const i=n.indexOf(":"),o=n.substring(0,i),e=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(e));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(e));break;case"tx":for(let a of e.split(";"))this.doStep(a)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),e=o-this.cacheUpdateNumber;if(e>0){if(e===1){this.mode="playback";const t=n.substring(i+1);return this.doStep(t),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(e)<this.cacheLimit){const t=this.cacheIdx+e;if(this.cache[t]===n)return null;this.mode="playback";let c=!1;while(!c){this.cacheIdx%=this.cacheLimit;const r=this.cache[this.cacheIdx];if(this.cacheIdx--,!r)return"OUT_OF_RANGE";this.undo(r),c=this.cacheIdx===t-1}const l=n.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),e=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(e));break;case"del":this.add(JSON.parse(e));break;case"clear":{const a=JSON.parse(e);for(let t of a)this.add(t);break}case"tx":{const a=e.split(";");for(let t=a.length-1;t>=0;t--)this.undoStep(a[t])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const e=n.substring(i+1);return this.undoStep(e),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function Z(n){return n[0].toUpperCase()+n.slice(1)}function Di(n,i,o=J.STORE){return Eo(o).set(n.key,new Uo(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Eo(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function ji(n,i){const o=Eo(i);let e=o.get(n.key);if(e===void 0){if(e=Eo(J.STORE).get(n.key)?.in(i),e===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,e)}return e}function si(n,i,o){const e=ji(n,o);let a;switch(n.cardinality){case"1:1":{const t=`${n.a}KeyOf${Z(n.b)}`,s=`${n.b}KeyOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntryOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntryOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}break}case"1:n":{const t=`${n.a}KeyOf${Z(n.b)}`,s=`${n.b}KeysOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntryOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntriesOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}break}case"n:n":{const t=`${n.a}KeysOf${Z(n.b)}`,s=`${n.b}KeysOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntriesOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntriesOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}}}return a}function Sa(n,i){return si(n,i,J.STORE)}function Zn(n,i,o){const e=ji(n,o),a=f(o);if(V(a)){const{toolkit:t}=a.transactionMeta;e.transact(t,({relations:s})=>{i(s)})}else i(e.relations)}function Zl(n,i){return ji(n,i).core.findRelatedKeysState}function wa(n){return Zl(n,J.STORE)}class Uo{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const e=new Uo(this.options,this.defaultContent,n);return this.alternates.set(i,e),e.alternates=this.alternates,e}constructor(n,i,o=J.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(x,d)=>{const A=this.toolkit.seek(x,d);if(A)return A;const w=this.molecules.get(k(d));if(w){const g=M(x,o);return wn(w,g,o)}if(o.config.lifespan==="immortal")throw new cn(x,d,o);return Mn(o,x,d)},this.toolkit={get:(...x)=>E(o,...x),set:(...x)=>{U(o,...x)},find:this.retrieve,seek:(...x)=>G(o,...x),json:(x)=>L(o,x),dispose:(...x)=>{an(o,...x)}};const e=n.between[0],a=n.between[1],t=Ri(o,{key:`${n.key}/relatedKeys`,default:()=>new _,mutable:!0,fromJson:(x)=>_.fromJSON(x),toJson:(x)=>x.toJSON()},["join","relations"]);this.core={findRelatedKeysState:t};const s=({get:x},d)=>x(this.retrieve(t,d)),c=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d),F=this.retrieve(t,A);w(g,($)=>$.add(A)),w(F,($)=>$.add(d))},l=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d),F=this.retrieve(t,A);let $,O;w(g,(X)=>{if(X.delete(A),X.size===0)$=`"${d}"`;return X}),w(F,(X)=>{if(X.delete(d),X.size===0)O=`"${A}"`;return X})},r=(x,d,A)=>{const{get:w,set:g}=x,F=this.retrieve(t,d),$=w(F);for(let O of $){if(A.includes(O))continue;const Tn=this.retrieve(t,O);g(Tn,(Kn)=>{return Kn.delete(d),Kn})}g(F,(O)=>{return O.transaction((X)=>{X.clear();for(let Tn of A){const Kn=s(x,Tn),ia=Kn.has(d);if(this.relations.cardinality==="1:n"){const oa=[];for(let Fi of Kn){if(Fi===d)continue;const hi=s(x,Fi);if(hi.delete(Tn),hi.size===0)oa.push(Fi)}if(!ia&&Kn.size>0)Kn.clear();for(let Fi of oa){const hi=[Tn,Fi].sort(),Wl=`"${hi[0]}:${hi[1]}"`;this.molecules.delete(Wl)}}if(!ia)Kn.add(d);X.add(Tn)}return!0}),O})},p=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d);w(g,(F)=>{return F.transaction(($)=>{for(let O of A)$.add(O);return!0}),F});for(let F of A){const $=this.retrieve(t,F);w($,(O)=>{return O.add(d),O})}return!0},m=(x,d,A)=>{const w=s(x,d);return A?w.has(A):w.size>0},T={getRelatedKeys:(x)=>s(this.toolkit,x),addRelation:(x,d)=>{c(this.toolkit,x,d)},deleteRelation:(x,d)=>{l(this.toolkit,x,d)},replaceRelationsSafely:(x,d)=>{r(this.toolkit,x,d)},replaceRelationsUnsafely:(x,d)=>{p(this.toolkit,x,d)},has:(x,d)=>m(this.toolkit,x,d)};let R,y,v;if(i){y=zn(o,{key:`${n.key}/content`,default:i},["join","content"]);const x={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};v=Ta(o,{key:`${n.key}/content-molecules`,new:class F{O;constructor($,O){this.key=O}}});const d=({get:F},$)=>F(this.retrieve(y,$)),A=({set:F},$,O)=>{F(this.retrieve(y,$),O)},w=(F,$)=>{const O=o.molecules.get(`"${$}"`);if(O)this.toolkit.dispose(O),this.molecules.delete(`"${$}"`)};R=Object.assign(T,{getContent:(F)=>{return d(this.toolkit,F)},setContent:(F,$)=>{A(this.toolkit,F,$)},deleteContent:(F)=>{w(this.toolkit,F)}})}else R=T;const u=new pn(n,{externalStore:R,makeContentKey:(...x)=>{const d=x.sort(),A=`${d[0]}:${d[1]}`,[w,g]=d.map((F)=>this.molecules.get(k(F)));if(o.config.lifespan==="immortal"&&w&&g){const F=f(o),$=Jn(F,[w,g],v,A);this.molecules.set(`"${A}"`,M($,F))}return A}}),b=()=>Wn(o,{key:`${n.key}/singleRelatedKey`,get:(x)=>({get:d})=>{const A=this.retrieve(t,x),w=d(A);for(let g of w)return g;return null}},["join","keys"]),S=()=>{return Wn(o,{key:`${n.key}/multipleRelatedKeys`,get:(x)=>({get:d})=>{const A=Vo(t,o),w=this.retrieve(A,x);return d(w).members}},["join","keys"])},K=()=>Wn(o,{key:`${n.key}/singleRelatedEntry`,get:(x)=>({get:d})=>{const A=this.retrieve(t,x),w=d(A);for(let g of w){const F=u.makeContentKey(x,g),$=this.retrieve(y,F),O=d($);return[g,O]}return null}},["join","entries"]),W=()=>Wn(o,{key:`${n.key}/multipleRelatedEntries`,get:(x)=>({get:d})=>{const A=Vo(t,o),w=this.retrieve(A,x);return d(w).members.map((F)=>{const $=u.makeContentKey(x,F),O=this.retrieve(y,$),X=d(O);return[F,X]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const x=b(),d=`${e}KeyOf${Z(a)}`,A=`${a}KeyOf${Z(e)}`,w={[d]:x,[A]:x};let g;if(i){const F=K(),$=`${e}EntryOf${Z(a)}`,O=`${a}EntryOf${Z(e)}`,X={[$]:F,[O]:F};g=Object.assign(w,X)}else g=w;this.relations=u,this.states=g;break}case"1:n":{const x=b(),d=S(),A=`${e}KeyOf${Z(a)}`,w=`${a}KeysOf${Z(e)}`,g={[A]:x,[w]:d};let F;if(i){const $=K(),O=W(),X=`${e}EntryOf${Z(a)}`,Tn=`${a}EntriesOf${Z(e)}`,Kn={[X]:$,[Tn]:O};F=Object.assign(g,Kn)}else F=g;this.relations=u,this.states=F;break}default:{const x=S(),d=`${e}KeysOf${Z(a)}`,A=`${a}KeysOf${Z(e)}`,w={[d]:x,[A]:x};let g;if(i){const F=W(),$=`${e}EntriesOf${Z(a)}`,O=`${a}EntriesOf${Z(e)}`,X={[$]:F,[O]:F};g=Object.assign(w,X)}else g=w;this.relations=u,this.states=g}}}}function Li(n){return{store:n}}function E(n,...i){let o,e,a;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(e=Hi(n,o)??null,e)a=o.family?P(o.family.subKey):null,o=I(n,e,a)}}else{e=i[0],a=i[1];let t;if(e.type==="molecule_family")t=G(n,e,a)??ai(e,a);else t=I(n,e,a);o=t}if("counterfeit"in o&&"family"in o){e=o.type==="molecule"?M(o.family,n):n.families.get(o.family.key);const t=o.type==="molecule"?o.key:o.family.subKey,s=n.disposalTraces.buffer.find((c)=>c?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,s?`This state was previously disposed:\n${s.trace}`:"No previous disposal trace was found."),e.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(e.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(e.key))return n.defaults.get(o.family.key);const c=M(e,n).default(t);return n.defaults.set(e.key,c),c}case"molecule_family":throw new cn(e,t,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return En(M(o,n),n);case"molecule":return M(o,n).instance}}class Pi{i;type="molecule";stringKey;family;subject=new z;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=k(i),o)this.family=o;if(n)if(Array.isArray(n))for(let e of n)this.above.set(e.stringKey,e);else this.above.set(n.stringKey,n)}}function ga(n){return n[0].toUpperCase()+n.slice(1)}function Jn(n,i,o,e,...a){const t=ta(n),s=f(n),c=k(e);s.moleculeInProgress=c;const l=Array.isArray(i)?i:[i],r=l.map((u)=>{if(u instanceof Pi)return u;const b=k(u.key),S=n.molecules.get(b);if(!S)throw new Error(`Molecule ${b} not found in store "${n.config.name}"`);return S}),p=new Pi(r,e,o);s.molecules.set(c,p);for(let u of r)u.below.set(p.stringKey,p);const m={get:(...u)=>E(f(t),...u),set:(...u)=>{U(f(t),...u)},seek:(u,b)=>G(f(t),u,b),json:(u)=>L(f(t),u),run:(u,b=ei())=>In(u,b,f(n)),make:(u,b,S,...K)=>Jn(f(t),u,b,S,...K),dispose:(u)=>{an(f(t),u)},env:()=>Li(f(t)),bond:(u,b)=>{if(u.type==="join"){const{as:S}=b,K=ji(u,t);K.molecules.set(c,p),p.joins.set(u.key,K);const W=T.subject.subscribe(`join:${u.key}-${c}`,(F)=>{if(F.type==="molecule_disposal"&&k(F.token.key)===c)W(),K.molecules.delete(c)});if(S===null)return;const x=u.a===S?u.b:u.a,d=Sa(u,e),A=d[`${x}KeysOf${ga(S)}`],w=d[`${x}EntriesOf${ga(S)}`];let g={relatedKeys:A};if(w)g=Object.assign(g,{relatedEntries:w});return g}return wn(p,M(u,t),f(t))},claim:(u,b)=>{const{exclusive:S}=b,K=f(n).molecules.get(k(u.key));if(K)if(S){for(let W of K.above.values())W.below.delete(K.stringKey);K.above.clear(),K.above.set(p.stringKey,p),p.below.set(K.stringKey,K)}else K.above.set(p.stringKey,p),p.below.set(K.stringKey,K)},spawn:(u,b,...S)=>Jn(f(n),[p],M(u,n),b,...S)},T=M(o,n),R=T.new;p.instance=new R(m,e,...a);const y={type:"molecule",key:e,family:o},v={type:"molecule_creation",token:y,family:o,context:l,params:a};if(H(s))T.subject.next(v);else if(V(s)&&s.on.transactionApplying.state===null)s.transactionMeta.update.updates.push(v);return s.moleculeInProgress=null,y}function Yo(n,i,o){switch(i){case"newValue":{Fa(n,o);break}case"oldValue":{an(o,n.token);break}}}function Bo(n,i,o){switch(i){case"newValue":{an(o,n.token);break}case"oldValue":{Fa(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Fa(n,i){const{family:o}=n.token;if(o){const e=i.families.get(o.key);if(e)I(i,e,P(o.subKey))}}function Xo(n,i,o){switch(i){case"newValue":Jn(o,n.context,n.family,n.token.key,...n.params);break;case"oldValue":an(o,n.token);break}}function Go(n,i,o){switch(i){case"newValue":an(o,n.token);break;case"oldValue":{const e=Jn(o,n.context,n.family,n.token.key);for(let[a,t]of n.values){const s=`${a}(${k(e.key)})`,c=M(e,o),l=c.tokens.has(s),r=o.families.get(a);if(r&&!l)wn(c,r,o);o.valueMap.set(s,t)}}break}}function _i(n,i,o){const e=n==="newValue"?i.updates:[...i.updates].reverse();for(let a of e)switch(a.type){case"atom_update":case"selector_update":Ni(n,a,o);break;case"state_creation":Yo(a,n,o);break;case"state_disposal":Bo(a,n,o);break;case"molecule_creation":Xo(a,n,o);break;case"molecule_disposal":Go(a,n,o);break;case"transaction_update":_i(n,a,o);break}}function ha(n,i,o){if(H(o)&&n)o.transactionMeta.epoch.set(n,i)}function Aa(n,i,o){if(!H(o))return;const a=o.transactionMeta.actionContinuities.getRelatedKey(n);if(a!==void 0)o.transactionMeta.epoch.set(a,i)}var Ka=(n,i)=>{const o=f(i),{parent:e}=o;if(e===null||!V(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,e.child=null,e.on.transactionApplying.next(o.transactionMeta);const{updates:a}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${a.length} updates:`,a),_i("newValue",o.transactionMeta.update,e),H(e))Aa(o.transactionMeta.update.key,o.transactionMeta.update.epoch,e),M({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(V(e))e.transactionMeta.update.updates.push(o.transactionMeta.update);e.on.transactionApplying.next(null)};function Ra(n,i,o){if(!H(o))return;const{epoch:a,actionContinuities:t}=o.transactionMeta;if(t.set(n,i),!a.has(n))a.set(n,-1)}class yn extends Map{n;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var Ma=(n,i,o,e)=>{const a=f(o),t={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new yn(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new yn(a.families),operation:{open:!1},readonlySelectors:new yn(a.readonlySelectors),timelines:new yn(a.timelines),timelineTopics:new pn(a.timelineTopics.toJSON()),trackers:new Map,transactions:new yn(a.transactions),selectorAtoms:new pn(a.selectorAtoms.toJSON()),selectorGraph:new pn(a.selectorGraph.toJSON(),{makeContentKey:(...r)=>r.sort().join(":")}),selectors:new yn(a.selectors),valueMap:new yn(a.valueMap),defaults:a.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new yn(a.molecules),moleculeFamilies:new yn(a.moleculeFamilies),moleculeInProgress:a.moleculeInProgress,miscResources:new yn(a.miscResources)},s=Ja(n,o),c={phase:"building",update:{type:"transaction_update",key:n,id:e,epoch:s===void 0?Number.NaN:s+1,updates:[],params:i,output:void 0},toolkit:{get:(...r)=>E(l,...r),set:(...r)=>{U(l,...r)},run:(r,p=ei())=>In(r,p,l),find:(r,p)=>I(l,r,p),seek:(r,p)=>G(l,r,p),json:(r)=>L(l,r),make:(r,p,m,...T)=>Jn(l,r,p,m,...T),dispose:(...r)=>{an(l,...r)},env:()=>Li(l)}},l=Object.assign(t,{transactionMeta:c});return a.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function Zo(n,i){const o={key:n.key,type:"transaction",run:(t,s)=>{const c=Ma(n.key,t,i,s);try{const l=f(i),{toolkit:r}=c.transactionMeta,p=n.do(r,...t);return Ka(p,l),p}catch(l){throw ca(e),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(t)=>Zo(n,t),subject:new z},e=f(i);e.transactions.set(o.key,o);const a=dn(o);return i.on.transactionCreation.next(a),a}function Ja(n,i){const o=H(i),e=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&e!==void 0?i.transactionMeta.epoch.get(e):void 0}class qi{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new qi([...this._buffer]);return n._index=this._index,n}}class $a{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new pn({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new pn({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new pn({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new pn({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new qi(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new z,atomDisposal:new z,selectorCreation:new z,selectorDisposal:new z,timelineCreation:new z,transactionCreation:new z,transactionApplying:new Co(null),operationClose:new z,moleculeCreationStart:new z,moleculeCreationDone:new z,moleculeDisposal:new z};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new ki("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},H(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new pn(i?.transactionMeta.actionContinuities.toJSON())};for(let[,e]of i.families){if(e.internalRoles?.includes("mutable")||e.internalRoles?.includes("join"))continue;e.install(this)}const o=new Set;for(let[,e]of i.atoms){if(o.has(e.key))continue;if(e.install(this),e.type==="mutable_atom"){const a=L(i,e),t=$n(e);o.add(a.key),o.add(t.key)}}for(let[,e]of i.readonlySelectors)e.install(this);for(let[,e]of i.selectors){if(o.has(e.key))continue;e.install(this)}for(let[,e]of i.transactions)e.install(this);for(let[,e]of i.timelines)e.install(this)}}}var J={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new $a({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function M(n,i){let o,e=i;while(e!==null){switch(n.type){case"atom":case"mutable_atom":o=e.atoms.get(n.key);break;case"selector":o=e.selectors.get(n.key);break;case"readonly_selector":o=e.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=e.families.get(n.key);break;case"timeline":o=e.timelines.get(n.key);break;case"transaction":o=e.transactions.get(n.key);break;case"molecule":o=e.molecules.get(k(n.key));break;case"molecule_family":o=e.moleculeFamilies.get(n.key);break}if(o)return o;e=e.child}throw new cn(n,i)}function no(n,i){let o;o=M(n,i);const{family:e}=n;for(let s of o.joins.values())s.relations.delete(o.key),s.molecules.delete(o.stringKey);const a=[];for(let s of o.above.values())a.push(dn(s));const t=[];for(let s of o.tokens.values()){const c=s.family;t.push([c.key,i.valueMap.get(s.key)])}if(e){const s=M(e,i),c={type:"molecule_disposal",token:n,family:e,context:a,values:t};if(n.family)c.family=n.family;for(let r of o.tokens.values())an(i,r);for(let r of o.below.values())if(r.family?.dependsOn==="all")no(r,i);else if(r.above.delete(o.stringKey),r.above.size===0)no(r,i);if(o.below.clear(),V(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(c);else s.subject.next(c);i.molecules.delete(o.stringKey)}for(let s of o.above.values())s.below.delete(o.stringKey)}function Mn(n,i,o){const e=n.families.get(i.key);if(e===void 0)throw new cn(i,n);const a=e(o),t=f(n);if(a.family&&t.moleculeInProgress===null){if(H(t))switch(a.type){case"atom":case"mutable_atom":n.on.atomCreation.next(a);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(a);break}else if(V(t)&&t.on.transactionApplying.state===null)t.transactionMeta.update.updates.push({type:"state_creation",token:a})}return a}function G(n,i,o){const e=k(o),a=`${i.key}(${e})`,t=f(n);let s;switch(i.type){case"atom_family":case"mutable_atom_family":s=t.atoms.get(a);break;case"selector_family":s=t.selectors.get(a);break;case"readonly_selector_family":s=t.readonlySelectors.get(a);break;case"molecule_family":s=t.molecules.get(k(o))}if(s)return dn(s);return s}function I(n,i,o){let e=G(n,i,o);if(e)return e;const a=n.molecules.get(k(o));if(a)return wn(a,i,n);if(n.config.lifespan==="immortal"){const t=ai(i,o);return n.logger.error("\u274C",t.type,t.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),t}return e=Mn(n,i,o),e}function an(n,...i){let o,e;if(i.length===1)o=i[0],e=o.key;else{const t=i[0],s=i[1];o=t.type==="molecule_family"?G(n,t,s)??ai(t,s):I(n,t,s)}try{M(o,n)}catch(t){const s=n.disposalTraces.buffer.find((c)=>c?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,s?`\n This state was most recently disposed\n${s.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":Qo(o,n);break;case"selector":case"readonly_selector":ja(o,n);break;case"molecule":no(o,n);break}const{stack:a}=new Error;if(a){const t=a?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:t})}}var io=(n,i)=>f(i).atoms.has(n),Ql=(n,i)=>f(i).selectors.has(n),Hl=(n,i)=>f(i).readonlySelectors.has(n),ka=(n,i)=>io(n,i)||Ql(n,i)||Hl(n,i);var oo=(n,i)=>{return f(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([e,{source:a}])=>a!==n).map(([e,{source:a}])=>a).filter((e)=>ka(e,i))};var Ho=(n,i,o)=>{const e=[],a=oo(n,o);while(a.length>0){const t=a.shift();if(i.has(t))continue;if(i.add(t),!io(t,o))a.push(...oo(t,o));else if(!e.includes(t))e.push(t)}return e},Oa=(n,i)=>{const o=n.key,e=oo(o,i),a=new Set;return e.flatMap((t)=>io(t,i)?t:Ho(t,a,i))};var za=(n,i,o,e)=>{const a=f(e);if(i.type==="atom"||i.type==="mutable_atom")a.selectorAtoms.set({selectorKey:n,atomKey:i.key}),e.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const t=Ho(i.key,o,e);e.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${t.map((s)=>`"${s}"`).join(", ")} ]`);for(let s of t)a.selectorAtoms=a.selectorAtoms.set({selectorKey:n,atomKey:s})}o.add(i.key)};var eo=(n,i,o)=>({get:(...e)=>{const a=f(o);let t;if(e.length===2){const[l,r]=e;switch(l.type){case"molecule_family":return E(o,l,r);default:if(o.config.lifespan==="ephemeral")t=I(o,l,r);else{const p=G(o,l,r);if(p)t=p;else throw new cn(l,r,o)}}}else[t]=e;if(t.type==="molecule")return E(o,t);const s=M(t,o),c=En(s,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${t.key}" =`,c,")"),a.selectorGraph.set({upstreamSelectorKey:t.key,downstreamSelectorKey:n},{source:t.key}),za(n,t,i,o),c},set:(...e)=>{let a,t;if(e.length===2)a=e[0],t=e[1];else{const l=e[0],r=e[1];t=e[2];const p=o.config.lifespan==="ephemeral"?I(o,l,r):G(o,l,r);if(!p)throw new cn(l,r,o);a=p}const s=f(o),c=M(a,s);Qi(c,t,s)},find:(e,a)=>I(o,e,a),seek:(e,a)=>G(o,e,a),json:(e)=>L(o,e)});var Mi=(n,i,o)=>{const e=f(n),a=new z,t=new Set,{get:s,find:c,seek:l,json:r}=eo(i.key,t,e),p=()=>{const y=i.get({get:s,find:c,seek:l,json:r});return fn(i.key,y,a,f(n)),t.clear(),y},m={...i,subject:a,install:(y)=>Mi(y,i,o),get:p,type:"readonly_selector",...o&&{family:o}};e.readonlySelectors.set(i.key,m);const T=p();n.logger.info("\u2728",m.type,m.key,"=",T);const R={key:i.key,type:"readonly_selector"};if(o)R.family=o;return R};var Oi=(n,i,o)=>{const e=f(n),a=new z,t=new Set,s=eo(i.key,t,e),{find:c,get:l,seek:r,json:p}=s,m={find:c,get:l,seek:r,json:p},T=(b=i.get,S=f(n))=>{const K=b(m);return fn(i.key,K,a,S),t.clear(),K},y={...i,subject:a,install:(b)=>Oi(b,i,o),get:T,set:(b)=>{const S=f(n),K=T(i.get,S),W=Zi(b)(K);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",K,"->",W,")"),fn(i.key,W,a,S),ti(S,i.key),H(S))a.next({newValue:W,oldValue:K});i.set(s,W)},type:"selector",...o&&{family:o}};e.selectors.set(i.key,y);const v=T();n.logger.info("\u2728",y.type,y.key,"=",v);const u={key:i.key,type:"selector"};if(o)u.family=o;return u};function Ki(n,i){if("set"in i){const a=Oi(n,i,void 0);return n.on.selectorCreation.next(a),a}const e=Mi(n,i,void 0);return n.on.selectorCreation.next(e),e}function ja(n,i){const o=f(i),{key:e}=n,a=M(n,o);if(!a.family)i.logger.error("\u274C","selector",e,"Standalone selectors cannot be disposed.");else{const t=o.molecules.get(a.family.subKey);if(t)t.tokens.delete(e);switch(n.type){case"selector":o.selectors.delete(e),M({key:a.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(e),M({key:a.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(e),o.selectorAtoms.delete(e),o.selectorGraph.delete(e),i.logger.info("\uD83D\uDD25",n.type,e,"deleted"),V(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function Ji(n,i,o){const e={key:i.key,type:"selector_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=Oi(T,{key:m,get:i.get(l),set:i.set(l)},p);return t.next({type:"state_creation",token:R}),R},e,{internalRoles:o,subject:t,install:(l)=>Ji(l,i),default:(l)=>{return i.get(l)({get:(...p)=>E(n,...p),find:(p,m)=>I(n,p,m),seek:(p,m)=>G(n,p,m),json:(p)=>L(n,p)})}});return n.families.set(i.key,c),e}function Ca(n,i,o=J.STORE){const e=Ji(o,{key:`${n.key}:JSON`,get:(t)=>({seek:s,get:c})=>{const l=s(n,t);if(l)return i.toJson(c(l));const r=k(t),p=o.molecules.get(r);if(p){const T=wn(p,n,o);return i.toJson(c(T))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${r}"`);const m=Mn(o,n,t);return i.toJson(c(m))},set:(t)=>({seek:s,set:c},l)=>{const r=s(n,t);if(r)c(r,i.fromJson(l));else{const p=k(t),m=o.molecules.get(p);if(m){const T=wn(m,n,o);c(T,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${p}"`);c(Mn(o,n,t),i.fromJson(l))}}}},["mutable","json"]);return M(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(t)=>{if(t.token.family)G(o,e,P(t.token.family.subKey))}),e}var P=(n)=>JSON.parse(n),k=(n)=>JSON.stringify(n),jT=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var Wa=(n,i)=>{const o=f(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Lo=(n,i)=>{const o=f(i);return Oa(n,i).map((a)=>{const t=o.atoms.get(a);if(t===void 0)throw new Error(`Atom "${a}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return t.subject.subscribe(`${n.type}:${n.key}`,(s)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",a,"went",s.oldValue,"->",s.newValue);const c=Wa(n,o),l=En(n,o);i.logger.info("\u2728",n.type,n.key,"went",c,"->",l),n.subject.next({newValue:l,oldValue:c})})})};function tn(n,i,o,e){function a(m){if(e.operation.open){const T=e.on.operationClose.subscribe(`state subscription ${o}`,()=>{T(),i(m)})}else i(m)}const t=M(n,e);e.logger.info("\uD83D\uDC40",t.type,t.key,`Adding subscription "${o}"`);const s=t.type==="selector"||t.type==="readonly_selector";let c=null,l=a;if(s)c=Lo(t,e),l=(m)=>{if(c)c.length=0,c.push(...Lo(t,e));a(m)};const r=t.subject.subscribe(o,l);return()=>{if(e.logger.info("\uD83D\uDE48",t.type,t.key,`Removing subscription "${o}"`),r(),c)for(let m of c)m()}}var No=(n,i,o,e)=>{const a=M(n,e);e.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const t=a.subject.subscribe(o,i);return()=>{e.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),t()}};var Do=(n,i,o,e)=>{const a=M(n,e);e.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const t=a.subject.subscribe(o,i);return()=>{e.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),t()}};class Vn{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const e=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,a=Cn(i,{key:o,default:null},e);if(i.parent?.valueMap.has(o)){const t=i.parent.valueMap.get(o);i.valueMap.set(o,t)}return a}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const e=`tracker:${o.config.name}:${V(o)?o.transactionMeta.update.key:"main"}:${n.key}`,a=E(o,n);this.unsubscribeFromInnerValue=a.subscribe(e,(t)=>{U(o,i,t)}),this.unsubscribeFromState=tn(n,(t)=>{if(t.newValue!==t.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=t.newValue.subscribe(e,(s)=>{U(o,i,s)})},e,o)}updateCore(n,i,o){const e=`tracker:${o.config.name}:${V(o)?o.transactionMeta.update.key:"main"}:${n.key}`;tn(i,({newValue:a,oldValue:t})=>{const s=o.timelineTopics.getRelatedKey(i.key);if(s){if(o.timelines.get(s)?.timeTraveling){const r=No({key:s,type:"timeline"},(p)=>{r(),U(o,n,(m)=>{if(p==="redo"&&a)m.do(a);else if(p==="undo"&&t)m.undo(t);return m})},e,o);return}}const c=o.on.operationClose.subscribe(e,()=>{c();const l=E(o,n),r=a===null?-1:l.getUpdateNumber(a),p=r-l.cacheUpdateNumber;if(a&&p===1)U(o,n,(m)=>(m.do(a),m));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${r}`)})},e,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=f(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function zi(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const e=f(n),a=e.atoms.get(i.key);if(a&&a.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),dn(a);const t=new z,s={...i,type:"mutable_atom",install:(r)=>{return r.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${r.config.name}"`),zi(r,i,o)},subject:t};if(o)s.family=o;const c=i.default();e.atoms.set(s.key,s),ao(i.key,n),fn(i.key,c,t,e);const l=dn(s);if(i.effects){let r=0;const p=[];for(let m of i.effects){const T=m({setSelf:(R)=>{U(n,l,R)},onSet:(R)=>tn(l,R,`effect[${r}]`,n)});if(T)p.push(T);++r}s.cleanup=()=>{for(let m of p)m()}}if(new Vn(l,n),!o)aa(l,i,n);return l}class Po{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=zn(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=M(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(e)=>{if(e.token.family){const a=P(e.token.family.subKey);G(i,this.latestUpdateAtoms,a),new Vn(e.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(e)=>{if(e.token.family){const a=P(e.token.family.subKey),t=G(i,this.mutableAtoms,a);if(t)new Vn(t,i)}})}}function Ri(n,i,o){const e={key:i.key,type:"mutable_atom_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R={key:m,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)R.effects=i.effects(l);const y=zi(T,R,p);return t.next({type:"state_creation",token:y}),y},e,{subject:t,install:(l)=>Ri(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,c),Ca(c,i,n),new Po(c,n),e}var Vo=(n,i)=>{const o=f(i),e=`${n.key}:JSON`;return o.families.get(e)};var L=(n,i)=>{if(i.family){const e=f(n),t={key:`${i.family.key}:JSON`,type:"selector_family"},s=M(t,e),c=JSON.parse(i.family.subKey);return I(n,s,c)}return{type:"selector",key:`${i.key}:JSON`}};var $n=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function fa(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function $i(n,i,o){const e=i.valueMap.get(n.key),a=o.valueMap.get(n.key);if(e===a){if(e===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const t=n.toJson(e),s=n.fromJson(t);return o.valueMap.set(n.key,s),new Vn(n,i),s}return a}function fn(n,i,o,e){const a=e.valueMap.get(n);if(a instanceof Ai)a.use(i);if(i instanceof Promise){const t=new Ai(i);return e.valueMap.set(n,t),t.then((s)=>{fn(n,s,o,e),o.next({newValue:s,oldValue:t})}).catch((s)=>{e.logger.error("\uD83D\uDCA5","state",n,"rejected:",s)}),t}return e.valueMap.set(n,i),i}var la=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&V(i)){const{parent:e}=i;o=$i(n,e,i)}return o},xa=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof Ai){const e=o,a=i.selectors.get(n)??i.readonlySelectors.get(n);if(a)e.use(a.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var va=(n,i)=>{return f(i).atomsThatAreDefault.has(n)},ao=(n,i)=>{const o=f(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},ba=(n,i)=>{const o=f(i);o.atomsThatAreDefault=new Set(f(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function Cn(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const e=f(n),a=e.atoms.get(i.key);if(a&&a.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),dn(a);const t=new z,s={...i,type:"atom",install:(r)=>{return r.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${r.config.name}"`),Cn(r,i,o)},subject:t};if(o)s.family=o;let c=i.default;if(i.default instanceof Function)c=i.default();e.atoms.set(s.key,s),ao(i.key,n),fn(i.key,c,t,e);const l=dn(s);if(i.effects){let r=0;const p=[];for(let m of i.effects){const T=m({setSelf:(R)=>{U(n,l,R)},onSet:(R)=>tn(l,R,`effect[${r}]`,n)});if(T)p.push(T);++r}s.cleanup=()=>{for(let m of p)m()}}return l}function Ia(n,i){if("mutable"in i){const a=zi(n,i,void 0);return n.on.atomCreation.next(a),a}const e=Cn(n,i,void 0);return n.on.atomCreation.next(e),e}function Qo(n,i){const o=f(i),{key:e}=n,a=M(n,o);if(!a.family)i.logger.error("\u274C","atom",e,"Standalone atoms cannot be disposed.");else{a.cleanup?.();const t=i.valueMap.get(a.key);M({key:a.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:t});const c=o.molecules.get(a.family.subKey);if(c)c.tokens.delete(e);if(o.atoms.delete(e),o.valueMap.delete(e),o.selectorAtoms.delete(e),o.atomsThatAreDefault.delete(e),o.timelineTopics.delete(e),n.type==="mutable_atom"){const l=$n(n);Qo(l,i),i.trackers.delete(e)}if(i.logger.info("\uD83D\uDD25","atom",e,"deleted"),V(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}function Un(n){return Ia(J.STORE,n)}function Qn(n){return sa(J.STORE,n)}var _o=(n)=>(i,o,e,a,...t)=>{console[n](`${i} ${o} "${e}" ${a}`,...t)},Nl={error:_o("error"),info:_o("info"),warn:_o("warn")};class ki{n;i;o;constructor(n,i,o=Nl){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}function to(n){return Wo(J.STORE,n)}function Hn(n){return Zo(n,J.STORE)}class ci{n;listeners;globalListeners;handleEvent(n,...i){for(let e of this.globalListeners)e(n,...i);const o=this.listeners.get(n);if(o)for(let e of o)e(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){const o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){const o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class Ci extends ci{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((e,...a)=>{const t=JSON.stringify([e,...a])+"\x03",s=(c)=>{if(c.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",s)};return this.process.stdin.once("error",s),this.process.stdin.write(t),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(e)=>{const a=e.toString();if(a==="\u2728")return;this.unprocessedEvents.push(...a.split("\x03"));const t=this.unprocessedEvents.shift();this.incompleteData+=t??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let s=P(this.incompleteData);this.handleEvent(...s);while(this.unprocessedEvents.length>0){const c=this.unprocessedEvents.shift();if(c){if(this.unprocessedEvents.length===0)this.incompleteData=c;s=P(c),this.handleEvent(...s)}}this.incompleteData=""}catch(s){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(s)}}),this.process.stderr.on("data",(e)=>{const a=e.toString();this.unprocessedLogs.push(...a.split("\x03"));const t=this.unprocessedLogs.shift();this.incompleteLog+=t??"";try{let s=P(this.incompleteLog);this.handleLog(s);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)s=P(this.incompleteLog),this.handleLog(s)}catch(s){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(s),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class Ea extends ci{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new z,this.out=new z,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class qo extends ci{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(k(n.map((i)=>i instanceof _?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{const o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const e=P(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",e),this.handleEvent(...e);while(this.unprocessedEvents.length>0){const a=this.unprocessedEvents.shift();if(a){if(this.unprocessedEvents.length===0)this.incompleteData=a;const t=P(a);this.handleEvent(...t)}}this.incompleteData=""}catch(e){if(e instanceof Error)this.logger.error("\u2757",e.message,e.cause,e.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");const i=new Ea(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const e=o(i);if(e)i.disposalFunctions.push(e)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function Ua(n){const{key:i,config:o}=n,e=so.create(i,o),{actions:a}=e;for(let t of a)Ra(i,t.key,J.STORE);return ha(i,-1,J.STORE),e}class Va extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class so{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new Va;static create(n,i){const o=new so(n),{type:e,globals:a,actions:t,perspectives:s}=i(o),c={type:e,key:n,globals:a,actions:t,perspectives:s};return so.existing.set(n,c),c}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":{const[o,e]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:e})}break}return this}}var Cg=Un({key:"usersInRoomIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),ne=Un({key:"roomIndex",default:()=>new _,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),Dl={enteredAtEpoch:0},Wi=Di({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},Dl),Wg=to({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=wa(Wi);return[i(o,n)]}});import{spawn as Ll}from"child_process";var ie=Qn({key:"roomArguments",default:["echo",["Hello World!"]]}),Ya=to({key:"room",get:(n)=>async({get:i,find:o})=>{const e=o(ie,n),a=i(e),[t,s]=a,c=await new Promise((l)=>{const r=Ll(t,s,{env:process.env}),p=(m)=>{if(m.toString()==="\u2728")r.stdout.off("data",p),l(r)};r.stdout.on("data",p)});return new Ci(c,n)}});var Lg=Hn({key:"createRoom",do:({get:n,set:i,find:o},e,a,t)=>{const s=t?[a,t]:[a],c=o(ie,e);i(c,s),i(ne,(p)=>p.add(e));const l=o(Ya,e);return n(l)}}),Pg=Hn({key:"joinRoom",do:(n,i,o,e)=>{const a={enteredAtEpoch:e};return Zn(Wi,(t)=>{t.set({room:i,user:o},a)},n.env().store),a}}),_g=Hn({key:"leaveRoom",do:(n,i,o)=>{Zn(Wi,(e)=>{e.delete({room:i,user:o})},n.env().store)}}),qg=Hn({key:"destroyRoom",do:(n,i)=>{Zn(Wi,(o)=>{o.delete({room:i})},n.env().store),n.set(ne,(o)=>(o.delete(i),o))}});function oe(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const e=oe(n,o.updates);return{...o,updates:e}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var oF=Qn({key:"transactionRedactor",default:{occlude:(n)=>n}}),Ba=Qn({key:"unacknowledgedUpdates",default:()=>[]});var Ii=Qn({key:"sockets",default:null}),ee=Un({key:"socketsIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),ae=Un({key:"usersIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),Nn=Di({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function Xa({socket:n,store:i=J.STORE}){return function o(e){let a=n;const t=e.key,s=si(Nn,a.id,i).userKeyOfSocket,c=E(i,s);if(!c)return i.logger.error("\u274C","continuity",t,`Tried to create a synchronizer for a socket (${a.id}) that is not connected to a user.`),()=>{};const l=si(Nn,c,i).socketKeyOfUser;tn(l,({newValue:b})=>{if(i.logger.info("\uD83D\uDC4B","continuity",t,`seeing ${c} on new socket ${b}`),b===null){i.logger.warn("\u274C","continuity",t,`User (${c}) is not connected to a socket, waiting for them to reappear.`);return}const S=I(i,Ii,b);a=E(i,S);for(let W of p)a?.emit(`tx-new:${t}`,W)},`sync-continuity:${t}:${c}`,i);const r=I(i,Ba,c),p=E(i,r),m=[],R=(()=>{const b=[];for(let S of e.perspectives){const{viewAtoms:K}=S,W=I(i,K,c),x=tn(W,({oldValue:d,newValue:A})=>{const w=d.map((O)=>O.key),g=A.map((O)=>O.key),F=d.filter((O)=>!g.includes(O.key)),$=A.filter((O)=>!w.includes(O.key)).flatMap((O)=>{const X=O.type==="mutable_atom"?L(i,O):O,Tn=E(i,X);return[X,Tn]});if(i.logger.info("\uD83D\uDC41","atom",S.resourceAtoms.key,`${c} has a new perspective`,{oldKeys:w,newKeys:g,revealed:$,concealed:F}),$.length>0)a?.emit(`reveal:${t}`,$);if(F.length>0)a?.emit(`conceal:${t}`,F)},`sync-continuity:${t}:${c}:perspective:${S.resourceAtoms.key}`,i);b.push(x)}return()=>{for(let S of b)S()}})(),y=()=>{const b=[];for(let K of e.globals){const W=K.type==="mutable_atom"?L(i,K):K,x=E(i,W);b.push(W,x)}for(let K of e.perspectives){const{viewAtoms:W,resourceAtoms:x}=K,d=I(i,W,c),A=E(i,d);i.logger.info("\uD83D\uDC41","atom",x.key,`${c} can see`,{viewAtoms:W,resourceAtoms:x,userView:A});for(let w of A){const g=w.type==="mutable_atom"?L(i,w):w,F=E(i,g);b.push(g,F)}}const S=H(i)?i.transactionMeta.epoch.get(t)??null:null;a?.emit(`continuity-init:${t}`,S,b);for(let K of e.actions){const W=Do(K,(x)=>{try{const d=e.globals.map((g)=>{if(g.type==="atom")return g.key;return $n(g).key}).concat(e.perspectives.flatMap((g)=>{const{viewAtoms:F}=g,$=I(i,F,c);return E(i,$).map((X)=>{return X.type==="mutable_atom"?"*"+X.key:X.key})})),A=oe(d,x.updates),w={...x,updates:A};U(i,r,(g)=>{if(w)g.push(w),g.sort((F,$)=>F.epoch-$.epoch);return g}),a?.emit(`tx-new:${t}`,w)}catch(d){if(d instanceof Error)i.logger.error("\u274C","continuity",t,`failed to send update from transaction ${K.key} to ${c}`,d.message)}},`sync-continuity:${t}:${c}`,i);m.push(W)}};a.off(`get:${t}`,y),a.on(`get:${t}`,y);const v=(b)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",t,"received",b);const{key:S,id:K}=b,W=`tx-run:${S}:${K}`,x=`${W}:start`,d=`${W}:end`;performance.mark(x);try{In({type:"transaction",key:S},K,i)(...b.params)}catch($){if($ instanceof Error)i.logger.error("\u274C","continuity",t,`failed to run transaction ${S} with update ${K}`,$.message)}performance.mark(d);const A=performance.measure(W,x,d);i?.logger.info("\uD83D\uDE80","transaction",S,K,A.duration);const w=`valuesOfCardsView("${c}")`,g=i.selectorAtoms.getRelatedKeys(w),F=i.valueMap.get(w);i.logger.info("\uD83D\uDC41","continuity",t,`seeing ${c} card values`,{valuesOfCardsViewKey:w,rootsOfCardValueView:g,myCardValueView:F})};a.off(`tx-run:${t}`,v),a.on(`tx-run:${t}`,v);const u=(b)=>{if(i.logger.info("\uD83D\uDC4D","continuity",t,`${c} acknowledged epoch ${b}`),p[0]?.epoch===b)U(i,r,(K)=>{return K.shift(),K})};return a?.on(`ack:${t}`,u),()=>{for(let b of m)b();a?.off(`ack:${t}`,u),R(),a?.off(`get:${t}`,y),a?.off(`tx-run:${t}`,v)}}}var Ml=Yl(Rl(),1),{Server:Jl,Namespace:_h,Socket:qh}=Ml.default;import{spawn as Ux}from"child_process";import{resolve as Yx}from"path";var{MODE:zo,FRONTEND_PORT:nA,BACKEND_PORT:iA}=process.env;function $l(n,i){const o=zo==="development"?"ts":"js",e=i.endsWith(".bun")?"bun":"node",t=[Yx(import.meta.dir,`${i}.${o}`)];if(e==="node"&&o==="ts")t.push("--experimental-strip-types");const s=Ux(e,t);return new Ci(s,i,n.logger)}var jl=Un({key:"count",default:0}),Bx=Hn({key:"incrementTX",do:({set:n})=>{n(jl,(i)=>i+1)}}),kl=Ua({key:"countContinuity",config:(n)=>n.add(jl).add(Bx)});async function na(){rn.logger.info("\uD83E\uDDF9 dispatching SIGINT to workers"),Ol.process.kill("SIGINT"),await new Promise((n)=>Ol.process.once("exit",n)),rn.logger.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var rn=new qo;J.STORE.loggers[0]=new ki("warn",void 0,rn.logger);var Ol=$l(rn,"backend.worker.game.bun"),Cl=zl.createServer((n,i)=>i.end("Hello World!")),qe=Cl.listen(4444).address(),Xx=typeof qe==="string"?null:qe===null?null:qe.port;if(Xx===null)throw new Error("Could not determine port for test server");new Jl(Cl,{cors:{origin:zo==="development"?"http://localhost:3333":"https://tempest.games",methods:["GET","POST"]}}).use((n,i)=>{const{token:o,username:e}=n.handshake.auth;if(o==="test"&&n.id){const a=I(J.STORE,Ii,n.id);U(J.STORE,a,n),Zn(Nn,(t)=>{t.set(n.id,e)},J.STORE),U(J.STORE,ae,(t)=>t.add(e)),U(J.STORE,ee,(t)=>t.add(n.id)),rn.logger.info(`${e} connected on ${n.id}`),i()}else rn.logger.info(`${e} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=Xa({socket:n,store:J.STORE})(kl);n.on("disconnect",()=>{const e=si(Nn,n.id,J.STORE).userKeyOfSocket,a=E(J.STORE,e);if(Zn(Nn,(t)=>{t.delete(n.id)},J.STORE),a)U(J.STORE,ae,(t)=>(t.delete(a),t));U(J.STORE,ee,(t)=>(t.delete(n.id),t)),an(J.STORE,Ii,n.id),rn.logger.info(`${n.id} disconnected`),o()})});rn.emit("alive");rn.on("updatesReady",()=>{rn.emit("readyToUpdate")});process.on("SIGINT",async()=>{rn.logger.info("\u2757 received SIGINT; exiting gracefully"),await na()});process.on("SIGTERM",async()=>{rn.logger.info("\u2757 received SIGTERM; exiting gracefully"),await na()});process.on("exit",async()=>{rn.logger.info("\u2757 received exit; exiting gracefully"),await na()});rn.logger.info("\uD83D\uDEEB backend server ready");
35
+ */Ue.exports=hx;Ue.exports.append=ts;var Ox=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var ke=$((h$,ps)=>{(function(){var n=cs(),i=ss(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function a(y){return typeof y==="string"||y instanceof String}function e(y,T){if(Array.isArray(T)){for(var f=0;f<T.length;++f)if(e(y,T[f]))return!0;return!1}else if(a(T))return y===T;else if(T instanceof RegExp)return T.test(y);else return!!T}function c(y,T){var f=T.headers.origin,w=[],d;if(!y.origin||y.origin==="*")w.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(a(y.origin))w.push([{key:"Access-Control-Allow-Origin",value:y.origin}]),w.push([{key:"Vary",value:"Origin"}]);else d=e(f,y.origin),w.push([{key:"Access-Control-Allow-Origin",value:d?f:!1}]),w.push([{key:"Vary",value:"Origin"}]);return w}function l(y){var T=y.methods;if(T.join)T=y.methods.join(",");return{key:"Access-Control-Allow-Methods",value:T}}function t(y){if(y.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function s(y,T){var f=y.allowedHeaders||y.headers,w=[];if(!f)f=T.headers["access-control-request-headers"],w.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(f.join)f=f.join(",");if(f&&f.length)w.push([{key:"Access-Control-Allow-Headers",value:f}]);return w}function p(y){var T=y.exposedHeaders;if(!T)return null;else if(T.join)T=T.join(",");if(T&&T.length)return{key:"Access-Control-Expose-Headers",value:T};return null}function m(y){var T=(typeof y.maxAge==="number"||y.maxAge)&&y.maxAge.toString();if(T&&T.length)return{key:"Access-Control-Max-Age",value:T};return null}function r(y,T){for(var f=0,w=y.length;f<w;f++){var d=y[f];if(d){if(Array.isArray(d))r(d,T);else if(d.key==="Vary"&&d.value)i(T,d.value);else if(d.value)T.setHeader(d.key,d.value)}}}function S(y,T,f,w){var d=[],W=T.method&&T.method.toUpperCase&&T.method.toUpperCase();if(W==="OPTIONS")if(d.push(c(y,T)),d.push(t(y,T)),d.push(l(y,T)),d.push(s(y,T)),d.push(m(y,T)),d.push(p(y,T)),r(d,f),y.preflightContinue)w();else f.statusCode=y.optionsSuccessStatus,f.setHeader("Content-Length","0"),f.end();else d.push(c(y,T)),d.push(t(y,T)),d.push(p(y,T)),r(d,f),w()}function K(y){var T=null;if(typeof y==="function")T=y;else T=function(f,w){w(null,y)};return function f(w,d,W){T(w,function(U,b){if(U)W(U);else{var u=n({},o,b),R=null;if(u.origin&&typeof u.origin==="function")R=u.origin;else if(u.origin)R=function(A,J){J(null,u.origin)};if(R)R(w.headers.origin,function(A,J){if(A||!J)W(A);else u.origin=J,S(u,w,d,W)});else W()}})}}ps.exports=K})()});var Le=$((bs)=>{function Vx(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function xs(n,i,o){const a=i===q.errors.FORBIDDEN?403:400,e=o&&o.message?o.message:q.errorMessages[i];n.writeHead(a,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:e}))}function fs(n,i,o={}){if(n.on("error",()=>{E("ignoring error from closed connection")}),n.writable){const a=o.message||q.errorMessages[i],e=Buffer.byteLength(a);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+e+"\r\n\r\n"+a)}n.destroy()}function Ex(n){if(n+="",n.length<1)return!1;if(!Qo[n.charCodeAt(0)])return E('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Qo[n.charCodeAt(1)])return E('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Qo[n.charCodeAt(2)])return E('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Qo[n.charCodeAt(3)])return E('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Qo[n.charCodeAt(i)])return E('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(bs,"__esModule",{value:!0});bs.Server=bs.BaseServer=void 0;var Xx=import.meta.require("querystring"),Yx=import.meta.require("url"),ms=$e(),Wa=Ve(),Gx=import.meta.require("events"),rs=Ee(),Qx=rn(),Hx=os(),Bx=import.meta.require("ws"),us=Ce(),Cx=Go(),E=Qx.default("engine"),qi=Symbol("responseHeaders");class Ho extends Gx.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:Bx.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(ke()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return Wa.default[n].upgradesTo||[]}verify(n,i,o){const a=n._query.transport;if(!~this.opts.transports.indexOf(a)||a==="webtransport")return E('unknown transport "%s"',a),o(q.errors.UNKNOWN_TRANSPORT,{transport:a});if(Ex(n.headers.origin)){const l=n.headers.origin;return n.headers.origin=null,E("origin header invalid"),o(q.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:l})}const c=n._query.sid;if(c){if(!this.clients.hasOwnProperty(c))return E('unknown sid "%s"',c),o(q.errors.UNKNOWN_SID,{sid:c});const l=this.clients[c].transport.name;if(!i&&l!==a)return E("bad request: unexpected transport without upgrade"),o(q.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:a,previousTransport:l})}else{if(n.method!=="GET")return o(q.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(a==="websocket"&&!i)return E("invalid transport upgrade"),o(q.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(l,t)=>{if(!t)return o(q.errors.FORBIDDEN,{message:l});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return E("no middleware to apply, skipping"),o();const a=(e)=>{E("applying middleware n\xB0%d",e+1),this.middlewares[e](n,i,(c)=>{if(c)return o(c);if(e+1<this.middlewares.length)a(e+1);else o()})};a(0)}close(){E("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return ms.generateId()}async handshake(n,i,o){const a=i._query.EIO==="4"?4:3;if(a===3&&!this.opts.allowEIO3){E("unsupported protocol version"),this.emit("connection_error",{req:i,code:q.errors.UNSUPPORTED_PROTOCOL_VERSION,message:q.errorMessages[q.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:a}}),o(q.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let e;try{e=await this.generateId(i)}catch(t){E("error while generating an id"),this.emit("connection_error",{req:i,code:q.errors.BAD_REQUEST,message:q.errorMessages[q.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:t}}),o(q.errors.BAD_REQUEST);return}E('handshaking client "%s"',e);try{var c=this.createTransport(n,i);if(n==="polling")c.maxHttpBufferSize=this.opts.maxHttpBufferSize,c.httpCompression=this.opts.httpCompression;else if(n==="websocket")c.perMessageDeflate=this.opts.perMessageDeflate}catch(t){E('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:q.errors.BAD_REQUEST,message:q.errorMessages[q.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:t}}),o(q.errors.BAD_REQUEST);return}const l=new rs.Socket(e,this,c,i,a);return c.on("headers",(t,s)=>{if(!s._query.sid){if(this.opts.cookie)t["Set-Cookie"]=[Hx.serialize(this.opts.cookie.name,e,this.opts.cookie)];this.emit("initial_headers",t,s)}this.emit("headers",t,s)}),c.onRequest(i),this.clients[e]=l,this.clientsCount++,l.once("close",()=>{delete this.clients[e],this.clientsCount--}),this.emit("connection",l),c}async onWebTransportSession(n){const i=setTimeout(()=>{E("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),a=await n.incomingBidirectionalStreams.getReader().read();if(a.done){E("session is closed");return}const e=a.value,c=Cx.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),l=e.readable.pipeThrough(c).getReader(),{value:t,done:s}=await l.read();if(s){E("stream is closed");return}if(clearTimeout(i),t.type!=="open")return E("invalid WebTransport handshake"),n.close();if(t.data===void 0){const r=new us.WebTransport(n,e,l),S=ms.generateId();E('handshaking client "%s" (WebTransport)',S);const K=new rs.Socket(S,this,r,null,4);this.clients[S]=K,this.clientsCount++,K.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",K);return}const p=Vx(t.data);if(!p)return E("invalid WebTransport handshake"),n.close();const m=this.clients[p];if(!m)E("upgrade attempt for closed client"),n.close();else if(m.upgrading)E("transport has already been trying to upgrade"),n.close();else if(m.upgraded)E("transport had already been upgraded"),n.close();else{E("upgrading existing transport");const r=new us.WebTransport(n,e,l);m._maybeUpgrade(r)}}}bs.BaseServer=Ho;Ho.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Ho.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class vs{constructor(n,i){this.req=n,this.socket=i,n[qi]={}}setHeader(n,i){this.req[qi][n]=i}getHeader(n){return this.req[qi][n]}removeHeader(n){delete this.req[qi][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class q extends Ho{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),typeof this.ws.on==="function")this.ws.on("headers",(n,i)=>{const o=i[qi]||{};if(delete i[qi],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),E("writing headers: %j",o),Object.keys(o).forEach((e)=>{n.push(`${e}: ${o[e]}`)})})}cleanup(){if(this.ws)E("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?Xx.parse(Yx.parse(n.url).query):{}}createTransport(n,i){return new Wa.default[n](i)}handleRequest(n,i){E('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(a,e)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:q.errorMessages[a],context:e}),xs(i,a,e);return}if(n._query.sid)E("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const c=(l,t)=>xs(i,l,t);this.handshake(n._query.transport,n,c)}};this._applyMiddlewares(n,i,(a)=>{if(a)o(q.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const a=new vs(n,i),e=(c,l)=>{if(c!==void 0){this.emit("connection_error",{req:n,code:c,message:q.errorMessages[c],context:l}),fs(i,c,l);return}const t=Buffer.from(o);o=null,a.writeHead(),this.ws.handleUpgrade(n,i,t,(s)=>{this.onWebSocket(n,i,s)})};this._applyMiddlewares(n,a,(c)=>{if(c)e(q.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,e)})}onWebSocket(n,i,o){if(o.on("error",e),Wa.default[n._query.transport]!==void 0&&!Wa.default[n._query.transport].prototype.handlesUpgrades){E("transport doesnt handle upgraded requests"),o.close();return}const a=n._query.sid;if(n.websocket=o,a){const c=this.clients[a];if(!c)E("upgrade attempt for closed client"),o.close();else if(c.upgrading)E("transport has already been trying to upgrade"),o.close();else if(c.upgraded)E("transport had already been upgraded"),o.close();else{E("upgrading existing transport"),o.removeListener("error",e);const l=this.createTransport(n._query.transport,n);l.perMessageDeflate=this.opts.perMessageDeflate,c._maybeUpgrade(l)}}else{const c=(l,t)=>fs(i,l,t);this.handshake(n._query.transport,n,c)}function e(){E("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),a=i.destroyUpgradeTimeout||1000;function e(l){return o===l.url.slice(0,o.length)}const c=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(l,t)=>{if(e(l))E('intercepting request for path "%s"',o),this.handleRequest(l,t);else{let s=0;const p=c.length;for(;s<p;s++)c[s].call(n,l,t)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(l,t,s)=>{if(e(l))this.handleUpgrade(l,t,s);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(t.writable&&t.bytesWritten<=0)return t.on("error",(p)=>{E("error while destroying upgrade: %s",p.message)}),t.end()},a)})}}bs.Server=q;var Qo=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]});var Fs=$((ws)=>{Object.defineProperty(ws,"__esModule",{value:!0});ws.Polling=void 0;var kx=$i(),ys=import.meta.require("zlib"),Lx=ba(),Nx=rn(),gn=Nx.default("engine:polling"),Ix={gzip:ys.createGzip,deflate:ys.createDeflate};class Ts extends kx.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){gn("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}gn("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},a=()=>{this.req=this.res=null};if(n.cleanup=a,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)gn("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let e,c=0;const l={"Content-Type":"text/html"};this.headers(n,l);for(let s in l)i.writeHeader(s,String(l[s]));const t=(s)=>{this.onData(s.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((s,p)=>{const m=c+s.byteLength;if(m>o){this.onError("content-length mismatch"),i.close();return}if(!e){if(p){t(Buffer.from(s));return}e=Buffer.allocUnsafe(o)}if(Buffer.from(s).copy(e,c),p){if(m!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}t(e);return}c=m})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){gn('received "%s"',n);const i=(o)=>{if(o.type==="close")return gn("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)gn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const a=n.some((e)=>{return e.options&&e.options.compress});this.write(o,{compress:a})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){gn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const a=typeof n==="string",c={"Content-Type":a?"text/plain; charset=UTF-8":"application/octet-stream"},l=(p)=>{this.headers(this.req,c),this.res.cork(()=>{Object.keys(c).forEach((m)=>{this.res.writeHeader(m,String(c[m]))}),this.res.end(p)}),o()};if(!this.httpCompression||!i.compress){l(n);return}if((a?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){l(n);return}const s=Lx(this.req).encodings(["gzip","deflate"]);if(!s){l(n);return}this.compress(n,s,(p,m)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(p);return}c["Content-Encoding"]=s,l(m)})}compress(n,i,o){gn("compressing");const a=[];let e=0;Ix[i](this.httpCompression).on("error",o).on("data",function(c){a.push(c),e+=c.length}).on("end",function(){o(null,Buffer.concat(a,e))}).end(n)}doClose(n){gn("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)gn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)gn("transport discarded - closing right away"),o();else gn("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}ws.Polling=Ts});var $s=$((As)=>{Object.defineProperty(As,"__esModule",{value:!0});As.WebSocket=void 0;var Dx=$i(),_x=rn(),Ms=_x.default("engine:ws");class Rs extends Dx.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],a=i+1===n.length,e=(c)=>{const l=typeof c!=="string",t=this.perMessageDeflate&&Buffer.byteLength(c)>this.perMessageDeflate.threshold;if(Ms('writing "%s"',c),this.socket.send(c,l,t),a)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")e(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,e)}}doClose(n){Ms("closing"),n&&n(),this.socket.end()}}As.WebSocket=Rs});var js=$((Ks)=>{Object.defineProperty(Ks,"__esModule",{value:!0});var qx=Fs(),Px=$s();Ks.default={polling:qx.Polling,websocket:Px.WebSocket}});var hs=$((gs)=>{Object.defineProperty(gs,"__esModule",{value:!0});gs.uServer=void 0;var nf=rn(),Ki=Le(),of=js(),fi=nf.default("engine:uws");class Ws extends Ki.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((a,e)=>{n.headers[a]=e}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{fi("response has been aborted")})}createTransport(n,i){return new of.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(a)=>{const e=a.getUserData().transport;e.socket=a,e.writable=!0,e.emit("ready")},message:(a,e,c)=>{a.getUserData().transport.onData(c?e:Buffer.from(e).toString())},close:(a,e,c)=>{a.getUserData().transport.onClose(e,c)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new zs(i),super._applyMiddlewares(n,n.res,(a)=>{n.res.writeHead(),o(a)})}handleRequest(n,i){fi('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(a,e)=>{if(a!==void 0){this.emit("connection_error",{req:i,code:a,message:Ki.Server.errorMessages[a],context:e}),this.abortRequest(i.res,a,e);return}if(i._query.sid)fi("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const c=(l,t)=>this.abortRequest(n,l,t);this.handshake(i._query.transport,i,c)}};this._applyMiddlewares(i,n,(a)=>{if(a)o(Ki.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){fi("on upgrade"),this.prepare(i,n),i.res=n;const a=async(e,c)=>{if(e!==void 0){this.emit("connection_error",{req:i,code:e,message:Ki.Server.errorMessages[e],context:c}),this.abortRequest(n,e,c);return}const l=i._query.sid;let t;if(l){const s=this.clients[l];if(!s)return fi("upgrade attempt for closed client"),n.close();else if(s.upgrading)return fi("transport has already been trying to upgrade"),n.close();else if(s.upgraded)return fi("transport had already been upgraded"),n.close();else fi("upgrading existing transport"),t=this.createTransport(i._query.transport,i),s._maybeUpgrade(t)}else if(t=await this.handshake(i._query.transport,i,(s,p)=>this.abortRequest(n,s,p)),!t)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:t},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(e)=>{if(e)a(Ki.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,a)})}abortRequest(n,i,o){const a=i===Ki.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",e=o&&o.message?o.message:Ki.Server.errorMessages[i];n.writeStatus(a),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:e}))}}gs.uServer=Ws;class zs{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var Hs=$((Pi)=>{function sf(n,i,o){if(typeof i==="function")o=i,i={};const a=af.createServer(function(c,l){l.writeHead(501),l.end("Not Implemented")}),e=Gs(a,i);return e.httpServer=a,a.listen(n,o),e}function Gs(n,i){const o=new Xs.Server(i);return o.attach(n,i),o}Object.defineProperty(Pi,"__esModule",{value:!0});Pi.protocol=Pi.Transport=Pi.Socket=Pi.uServer=Pi.parser=Pi.transports=Pi.Server=void 0;Pi.listen=sf;Pi.attach=Gs;var af=import.meta.require("http"),Xs=Le();Object.defineProperty(Pi,"Server",{enumerable:!0,get:function(){return Xs.Server}});var ef=Ve();Pi.transports=ef.default;var Ys=Go();Pi.parser=Ys;var cf=hs();Object.defineProperty(Pi,"uServer",{enumerable:!0,get:function(){return cf.uServer}});var lf=Ee();Object.defineProperty(Pi,"Socket",{enumerable:!0,get:function(){return lf.Socket}});var tf=$i();Object.defineProperty(Pi,"Transport",{enumerable:!0,get:function(){return tf.Transport}});Pi.protocol=Ys.protocol});var Bs=$((ff)=>{function yn(n){if(n)return xf(n)}function xf(n){for(var i in yn.prototype)n[i]=yn.prototype[i];return n}ff.Emitter=yn;yn.prototype.on=yn.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};yn.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};yn.prototype.off=yn.prototype.removeListener=yn.prototype.removeAllListeners=yn.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var a;for(var e=0;e<o.length;e++)if(a=o[e],a===i||a.fn===i){o.splice(e,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};yn.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var a=1;a<arguments.length;a++)i[a-1]=arguments[a];if(o){o=o.slice(0);for(var a=0,e=o.length;a<e;++a)o[a].apply(this,i)}return this};yn.prototype.emitReserved=yn.prototype.emit;yn.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};yn.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Ne=$((Es)=>{function Vs(n){return bf&&(n instanceof ArrayBuffer||Sf(n))||yf&&n instanceof Blob||Tf&&n instanceof File}function za(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,a=n.length;o<a;o++)if(za(n[o]))return!0;return!1}if(Vs(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return za(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&za(n[o]))return!0;return!1}Object.defineProperty(Es,"__esModule",{value:!0});Es.hasBinary=Es.isBinary=void 0;var bf=typeof ArrayBuffer==="function",Sf=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},Cs=Object.prototype.toString,yf=typeof Blob==="function"||typeof Blob!=="undefined"&&Cs.call(Blob)==="[object BlobConstructor]",Tf=typeof File==="function"||typeof File!=="undefined"&&Cs.call(File)==="[object FileConstructor]";Es.isBinary=Vs;Es.hasBinary=za});var Ns=$((ks)=>{function Ff(n){const i=[],o=n.data,a=n;return a.data=Ie(o,i),a.attachments=i.length,{packet:a,buffers:i}}function Ie(n,i){if(!n)return n;if(df.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let a=0;a<n.length;a++)o[a]=Ie(n[a],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let a in n)if(Object.prototype.hasOwnProperty.call(n,a))o[a]=Ie(n[a],i);return o}return n}function Mf(n,i){return n.data=De(n.data,i),delete n.attachments,n}function De(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=De(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=De(n[o],i)}return n}Object.defineProperty(ks,"__esModule",{value:!0});ks.reconstructPacket=ks.deconstructPacket=void 0;var df=Ne();ks.deconstructPacket=Ff;ks.reconstructPacket=Mf});var Bo=$((np)=>{function Is(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(np,"__esModule",{value:!0});np.Decoder=np.Encoder=np.PacketType=np.protocol=void 0;var Af=Bs(),_s=Ns(),qs=Ne(),Jf=rn(),_e=Jf.default("socket.io-parser"),$f=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];np.protocol=5;var an;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(an=np.PacketType||(np.PacketType={}));class Ps{constructor(n){this.replacer=n}encode(n){if(_e("encoding packet %j",n),n.type===an.EVENT||n.type===an.ACK){if(qs.hasBinary(n))return this.encodeAsBinary({type:n.type===an.EVENT?an.BINARY_EVENT:an.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===an.BINARY_EVENT||n.type===an.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return _e("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=_s.deconstructPacket(n),o=this.encodeAsString(i.packet),a=i.buffers;return a.unshift(o),a}}np.Encoder=Ps;class qe extends Af.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===an.BINARY_EVENT;if(o||i.type===an.BINARY_ACK){if(i.type=o?an.EVENT:an.ACK,this.reconstructor=new Zs(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(qs.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(an[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===an.BINARY_EVENT||o.type===an.BINARY_ACK){const e=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const c=n.substring(e,i);if(c!=Number(c)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(c)}if(n.charAt(i+1)==="/"){const e=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(e,i)}else o.nsp="/";const a=n.charAt(i+1);if(a!==""&&Number(a)==a){const e=i+1;while(++i){const c=n.charAt(i);if(c==null||Number(c)!=c){--i;break}if(i===n.length)break}o.id=Number(n.substring(e,i+1))}if(n.charAt(++i)){const e=this.tryParse(n.substr(i));if(qe.isPayloadValid(o.type,e))o.data=e;else throw new Error("invalid payload")}return _e("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case an.CONNECT:return Is(i);case an.DISCONNECT:return i===void 0;case an.CONNECT_ERROR:return typeof i==="string"||Is(i);case an.EVENT:case an.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&$f.indexOf(i[0])===-1);case an.ACK:case an.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}np.Decoder=qe;class Zs{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=_s.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var cp=$((ap)=>{Object.defineProperty(ap,"__esModule",{value:!0});ap.Client=void 0;var ga=Bo(),Wf=rn(),zf=import.meta.require("url"),Bn=Wf("socket.io:client");class op{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout(()=>{if(this.nsps.size===0)Bn("no namespace joined yet, close the client"),this.close();else Bn("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Bn("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Bn("creation of namespace %s was denied",n),this._packet({type:ga.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(a)=>{if(this.sockets.set(a.id,a),this.nsps.set(o.name,a),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else Bn("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Bn("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Bn("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){Bn("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let a of o)this.conn.write(a,i)}ondata(n){try{this.decoder.add(n)}catch(i){Bn("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const e=zf.parse(n.nsp,!0);i=e.pathname,o=e.query}else i=n.nsp,o=n.data;const a=this.nsps.get(i);if(!a&&n.type===ga.PacketType.CONNECT)this.connect(i,o);else if(a&&n.type!==ga.PacketType.CONNECT&&n.type!==ga.PacketType.CONNECT_ERROR)process.nextTick(function(){a._onpacket(n)});else Bn("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){Bn("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0}}ap.Client=op});var Oa=$((tp)=>{Object.defineProperty(tp,"__esModule",{value:!0});tp.StrictEventEmitter=void 0;var gf=import.meta.require("events");class lp extends gf.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}tp.StrictEventEmitter=lp});var Pe=$((pp)=>{Object.defineProperty(pp,"__esModule",{value:!0});pp.RESERVED_EVENTS=void 0;pp.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var nc=$((rp)=>{Object.defineProperty(rp,"__esModule",{value:!0});rp.RemoteSocket=rp.BroadcastOperator=void 0;var Of=Pe(),hf=Bo();class ni{constructor(n,i=new Set,o=new Set,a={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=a}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new ni(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new ni(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new ni(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new ni(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new ni(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new ni(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(Of.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],a={type:hf.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(a,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const c=o.pop();let l=!1,t=[];const s=setTimeout(()=>{l=!0,c.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:t])},this.flags.timeout);let p=-1,m=0,r=0;const S=()=>{if(!l&&p===m&&t.length===r)clearTimeout(s),c.apply(this,[null,this.flags.expectSingleResponse?t[0]:t])};return this.adapter.broadcastWithAck(a,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(K)=>{r+=K,m++,S()},(K)=>{t.push(K),S()}),this.adapter.serverCount().then((K)=>{p=K,S()}),!0}emitWithAck(n,...i){return new Promise((o,a)=>{i.push((e,c)=>{if(e)return e.responses=c,a(e);else return o(c)}),this.emit(n,...i)})}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then((n)=>{return n.map((i)=>{if(i.server)return i;else return new Ze(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}rp.BroadcastOperator=ni;class Ze{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new ni(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}rp.RemoteSocket=Ze});var ic=$((Zi)=>{function fp(){}var vp=Zi&&Zi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Socket=void 0;var On=Bo(),Yf=vp(rn()),Gf=Oa(),xp=vp($e()),Qf=nc(),Hf=Pe(),fn=Yf.default("socket.io:socket"),Bf=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class bp extends Gf.StrictEventEmitter{constructor(n,i,o,a){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,a)this.id=a.sid,this.pid=a.pid,a.rooms.forEach((e)=>this.join(e)),this.data=a.data,a.missedPackets.forEach((e)=>{this.packet({type:On.PacketType.EVENT,data:e})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=xp.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=xp.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",fp)}buildHandshake(n){var i,o,a,e;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(a=this.request)===null||a===void 0?void 0:a.url,query:((e=this.request)===null||e===void 0?void 0:e._query)||{},auth:n}}emit(n,...i){if(Hf.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],a={type:On.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const c=this.nsp._ids++;fn("emitting packet with ack id %d",c),this.registerAckCallback(c,o.pop()),a.id=c}const e=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(a,{rooms:new Set([this.id]),except:new Set,flags:e});else this.notifyOutgoingListeners(a),this.packet(a,e);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((a,e)=>{i.push((c,l)=>{if(o)return c?e(c):a(l);else return a(c)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const a=setTimeout(()=>{fn("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...e)=>{clearTimeout(a),i.apply(this,[null,...e])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return fn("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return fn("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(fn("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:On.PacketType.CONNECT});else this.packet({type:On.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(fn("got packet %j",n),n.type){case On.PacketType.EVENT:this.onevent(n);break;case On.PacketType.BINARY_EVENT:this.onevent(n);break;case On.PacketType.ACK:this.onack(n);break;case On.PacketType.BINARY_ACK:this.onack(n);break;case On.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(fn("emitting event %j",i),n.id!=null)fn("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let a of o)a.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const a=Array.prototype.slice.call(arguments);fn("sending ack %j",a),i.packet({id:n,type:On.PacketType.ACK,data:a}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")fn("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else fn("bad ack %s",n.id)}ondisconnect(){fn("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(fn("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&Bf.has(n))fn("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data});this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=fp}_error(n){this.packet({type:On.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:On.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){fn("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else fn("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function a(e){o[e](n,(c)=>{if(c)return i(c);if(!o[e+1])return i();a(e+1)})}a(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new Qf.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Zi.Socket=bp});var oc=$((ii)=>{var Cf=ii&&ii.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(ii,"__esModule",{value:!0});ii.Namespace=ii.RESERVED_EVENTS=void 0;var Sp=ic(),Vf=Oa(),Ef=Cf(rn()),$n=nc(),Co=Ef.default("socket.io:namespace");ii.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class yp extends Vf.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function a(e){o[e](n,(c)=>{if(c)return i(c);if(!o[e+1])return i();a(e+1)})}a(0)}to(n){return new $n.BroadcastOperator(this.adapter).to(n)}in(n){return new $n.BroadcastOperator(this.adapter).in(n)}except(n){return new $n.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var a;Co("adding socket to nsp %s",this.name);const e=await this._createSocket(n,i);if(this._preConnectSockets.set(e.id,e),((a=this.server.opts.connectionStateRecovery)===null||a===void 0?void 0:a.skipMiddlewares)&&e.recovered&&n.conn.readyState==="open")return this._doConnect(e,o);this.run(e,(c)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){Co("next called after client was closed - ignoring socket"),e._cleanup();return}if(c)if(Co("middleware error, sending CONNECT_ERROR packet to the client"),e._cleanup(),n.conn.protocol===3)return e._error(c.data||c.message);else return e._error({message:c.message,data:c.data});this._doConnect(e,o)})})}async _createSocket(n,i){const{pid:o,offset:a}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof a==="string"){let e;try{e=await this.adapter.restoreSession(o,a)}catch(c){Co("error while restoring session: %s",c)}if(e)return Co("connection state recovered for sid %s",e.sid),new Sp.Socket(this,n,i,e)}return new Sp.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new $n.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(ii.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,a)=>{i.push((e,c)=>{if(e)return e.responses=c,a(e);else return o(c)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new $n.BroadcastOperator(this.adapter).allSockets()}compress(n){return new $n.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new $n.BroadcastOperator(this.adapter).volatile}get local(){return new $n.BroadcastOperator(this.adapter).local}timeout(n){return new $n.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new $n.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new $n.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new $n.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new $n.BroadcastOperator(this.adapter).disconnectSockets(n)}}ii.Namespace=yp});var Ap=$((Mp)=>{function ac(n){let i="";do i=dp[n%ha]+i,n=Math.floor(n/ha);while(n>0);return i}function Uf(n){let i=0;for(vi=0;vi<n.length;vi++)i=i*ha+Fp[n.charAt(vi)];return i}function kf(){const n=ac(+new Date);if(n!==wp)return Tp=0,wp=n;return n+"."+ac(Tp++)}Object.defineProperty(Mp,"__esModule",{value:!0});Mp.yeast=Mp.decode=Mp.encode=void 0;var dp="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),ha=64,Fp={},Tp=0,vi=0,wp;Mp.encode=ac;Mp.decode=Uf;Mp.yeast=kf;for(;vi<ha;vi++)Fp[dp[vi]]=vi});var lc=$(($p)=>{function qf(n,i){const o=i.rooms.size===0||n.some((e)=>i.rooms.has(e)),a=n.every((e)=>!i.except.has(e));return o&&a}var ec;Object.defineProperty($p,"__esModule",{value:!0});$p.SessionAwareAdapter=$p.Adapter=void 0;var If=import.meta.require("events"),Df=Ap(),Xa=import.meta.require("ws"),_f=typeof((ec=Xa===null||Xa===void 0?void 0:Xa.Sender)===null||ec===void 0?void 0:ec.frame)==="function";class cc extends If.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},a={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const e=this._encode(n,a);this.apply(i,(c)=>{if(typeof c.notifyOutgoingListeners==="function")c.notifyOutgoingListeners(n);c.client.writeToEngine(e,a)})}broadcastWithAck(n,i,o,a){const e=i.flags||{},c={preEncoded:!0,volatile:e.volatile,compress:e.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const l=this._encode(n,c);let t=0;this.apply(i,(s)=>{if(t++,s.acks.set(n.id,a),typeof s.notifyOutgoingListeners==="function")s.notifyOutgoingListeners(n);s.client.writeToEngine(l,c)}),o(t)}_encode(n,i){const o=this.encoder.encode(n);if(_f&&o.length===1&&typeof o[0]==="string"){const a=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=Xa.Sender.frame(a,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((a)=>o.leave(a))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,a=this.computeExceptSids(n.except);if(o.size){const e=new Set;for(let c of o){if(!this.rooms.has(c))continue;for(let l of this.rooms.get(c)){if(e.has(l)||a.has(l))continue;const t=this.nsp.sockets.get(l);if(t)i(t),e.add(l)}}}else for(let[e]of this.sids){if(a.has(e))continue;const c=this.nsp.sockets.get(e);if(c)i(c)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((a)=>i.add(a))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}$p.Adapter=cc;class Jp extends cc{constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((a,e)=>{if(a.disconnectedAt<o)this.sessions.delete(e)});for(let a=this.packets.length-1;a>=0;a--)if(this.packets[a].emittedAt<o){this.packets.splice(0,a+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const e=this.packets.findIndex((l)=>l.id===i);if(e===-1)return null;const c=[];for(let l=e+1;l<this.packets.length;l++){const t=this.packets[l];if(qf(o.rooms,t.opts))c.push(t.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:c}))}broadcast(n,i){var o;const a=n.type===2,e=n.id===void 0,c=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(a&&e&&c){const l=Df.yeast();n.data.push(l),this.packets.push({id:l,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}$p.SessionAwareAdapter=Jp});var Wp=$((Cn)=>{function io(){return ov.randomBytes(8).toString("hex")}function ji(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function no(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var Zf=Cn&&Cn.__rest||function(n,i){var o={};for(var a in n)if(Object.prototype.hasOwnProperty.call(n,a)&&i.indexOf(a)<0)o[a]=n[a];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var e=0,a=Object.getOwnPropertySymbols(n);e<a.length;e++)if(i.indexOf(a[e])<0&&Object.prototype.propertyIsEnumerable.call(n,a[e]))o[a[e]]=n[a[e]]}return o};Object.defineProperty(Cn,"__esModule",{value:!0});Cn.ClusterAdapterWithHeartbeat=Cn.ClusterAdapter=Cn.MessageType=void 0;var nv=lc(),iv=rn(),ov=import.meta.require("crypto"),tn=iv.debug("socket.io-adapter"),av="emitter",Ya=5000,Q;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(Q=Cn.MessageType||(Cn.MessageType={}));class tc extends nv.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=io()}onMessage(n,i){if(n.uid===this.uid)return tn("[%s] ignore message from self",this.uid);switch(tn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case Q.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,no(n.data.opts),(a)=>{tn("[%s] waiting for %d client acknowledgements",this.uid,a),this.publishResponse(n.uid,{type:Q.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:a}})},(a)=>{tn("[%s] received acknowledgement with value %j",this.uid,a),this.publishResponse(n.uid,{type:Q.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:a}})});else{const a=n.data.packet,e=no(n.data.opts);this.addOffsetIfNecessary(a,e,i),super.broadcast(a,e)}break}case Q.SOCKETS_JOIN:super.addSockets(no(n.data.opts),n.data.rooms);break;case Q.SOCKETS_LEAVE:super.delSockets(no(n.data.opts),n.data.rooms);break;case Q.DISCONNECT_SOCKETS:super.disconnectSockets(no(n.data.opts),n.data.close);break;case Q.FETCH_SOCKETS:{tn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(no(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:Q.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((a)=>{const e=a.handshake,{sessionStore:c}=e,l=Zf(e,["sessionStore"]);return{id:a.id,handshake:l,rooms:[...a.rooms],data:a.data}})}})});break}case Q.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let e=!1;const c=(l)=>{if(e)return;e=!0,tn("[%s] calling acknowledgement with %j",this.uid,l),this.publishResponse(n.uid,{type:Q.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:l}})};this.nsp._onServerSideEmit([...o,c]);break}case Q.BROADCAST_CLIENT_COUNT:case Q.BROADCAST_ACK:case Q.FETCH_SOCKETS_RESPONSE:case Q.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:tn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const a=n.data.requestId;switch(tn("[%s] received response %s to request %s",this.uid,n.type,a),n.type){case Q.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(a))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case Q.BROADCAST_ACK:{(o=this.ackRequests.get(a))===null||o===void 0||o.ack(n.data.packet);break}case Q.FETCH_SOCKETS_RESPONSE:{const e=this.requests.get(a);if(!e)return;if(e.current++,n.data.sockets.forEach((c)=>e.responses.push(c)),e.current===e.expected)clearTimeout(e.timeout),e.resolve(e.responses),this.requests.delete(a);break}case Q.SERVER_SIDE_EMIT_RESPONSE:{const e=this.requests.get(a);if(!e)return;if(e.current++,e.responses.push(n.data.packet),e.current===e.expected)clearTimeout(e.timeout),e.resolve(null,e.responses),this.requests.delete(a);break}default:tn("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const e=await this.publishAndReturnOffset({type:Q.BROADCAST,data:{packet:n,opts:ji(i)}});this.addOffsetIfNecessary(n,i,e)}catch(e){return tn("[%s] error while broadcasting message: %s",this.uid,e.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var a;if(!this.nsp.server.opts.connectionStateRecovery)return;const e=n.type===2,c=n.id===void 0,l=((a=i.flags)===null||a===void 0?void 0:a.volatile)===void 0;if(e&&c&&l)n.data.push(o)}broadcastWithAck(n,i,o,a){var e;if(!((e=i===null||i===void 0?void 0:i.flags)===null||e===void 0?void 0:e.local)){const l=io();this.ackRequests.set(l,{clientCountCallback:o,ack:a}),this.publish({type:Q.BROADCAST,data:{packet:n,requestId:l,opts:ji(i)}}),setTimeout(()=>{this.ackRequests.delete(l)},i.flags.timeout)}super.broadcastWithAck(n,i,o,a)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:Q.SOCKETS_JOIN,data:{opts:ji(n),rooms:i}})}catch(e){tn("[%s] error while publishing message: %s",this.uid,e.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:Q.SOCKETS_LEAVE,data:{opts:ji(n),rooms:i}})}catch(e){tn("[%s] error while publishing message: %s",this.uid,e.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:Q.DISCONNECT_SOCKETS,data:{opts:ji(n),close:i}})}catch(e){tn("[%s] error while publishing message: %s",this.uid,e.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,a]=await Promise.all([super.fetchSockets(n),this.serverCount()]),e=a-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||e<=0)return o;const c=io();return new Promise((l,t)=>{const s=setTimeout(()=>{const m=this.requests.get(c);if(m)t(new Error(`timeout reached: only ${m.current} responses received out of ${m.expected}`)),this.requests.delete(c)},n.flags.timeout||Ya),p={type:Q.FETCH_SOCKETS,resolve:l,timeout:s,current:0,expected:e,responses:o};this.requests.set(c,p),this.publish({type:Q.FETCH_SOCKETS,data:{opts:ji(n),requestId:c}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:Q.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),a=await this.serverCount()-1;if(tn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,a),a<=0)return o(null,[]);const e=io(),c=setTimeout(()=>{const t=this.requests.get(e);if(t)o(new Error(`timeout reached: only ${t.current} responses received out of ${t.expected}`),t.responses),this.requests.delete(e)},Ya),l={type:Q.SERVER_SIDE_EMIT,resolve:o,timeout:c,current:0,expected:a,responses:[]};this.requests.set(e,l),this.publish({type:Q.SERVER_SIDE_EMIT,data:{requestId:e,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{tn("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{tn("[%s] error while publishing response: %s",this.uid,o)})}}Cn.ClusterAdapter=tc;class jp extends tc{constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((a,e)=>{if(o-a>this._opts.heartbeatTimeout)tn("[%s] node %s seems down",this.uid,e),this.removeNode(e)})},1000)}init(){this.publish({type:Q.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:Q.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:Q.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return tn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==av)this.nodesMap.set(n.uid,Date.now());switch(tn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case Q.INITIAL_HEARTBEAT:this.publish({type:Q.HEARTBEAT});break;case Q.HEARTBEAT:break;case Q.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:Q.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),a=this.nodesMap.size;if(tn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,a),a<=0)return o(null,[]);const e=io(),c=setTimeout(()=>{const t=this.customRequests.get(e);if(t)o(new Error(`timeout reached: missing ${t.missingUids.size} responses`),t.responses),this.customRequests.delete(e)},Ya),l={type:Q.SERVER_SIDE_EMIT,resolve:o,timeout:c,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(e,l),this.publish({type:Q.SERVER_SIDE_EMIT,data:{requestId:e,packet:n}})}async fetchSockets(n){var i;const[o,a]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),e=a-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||e<=0)return o;const c=io();return new Promise((l,t)=>{const s=setTimeout(()=>{const m=this.customRequests.get(c);if(m)t(new Error(`timeout reached: missing ${m.missingUids.size} responses`)),this.customRequests.delete(c)},n.flags.timeout||Ya),p={type:Q.FETCH_SOCKETS,resolve:l,timeout:s,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(c,p),this.publish({type:Q.FETCH_SOCKETS,data:{opts:ji(n),requestId:c}})})}onResponse(n){const i=n.data.requestId;switch(tn("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case Q.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((a)=>o.responses.push(a)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case Q.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===Q.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===Q.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}Cn.ClusterAdapterWithHeartbeat=jp});var Ga=$((Wi)=>{Object.defineProperty(Wi,"__esModule",{value:!0});Wi.MessageType=Wi.ClusterAdapterWithHeartbeat=Wi.ClusterAdapter=Wi.SessionAwareAdapter=Wi.Adapter=void 0;var zp=lc();Object.defineProperty(Wi,"Adapter",{enumerable:!0,get:function(){return zp.Adapter}});Object.defineProperty(Wi,"SessionAwareAdapter",{enumerable:!0,get:function(){return zp.SessionAwareAdapter}});var sc=Wp();Object.defineProperty(Wi,"ClusterAdapter",{enumerable:!0,get:function(){return sc.ClusterAdapter}});Object.defineProperty(Wi,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return sc.ClusterAdapterWithHeartbeat}});Object.defineProperty(Wi,"MessageType",{enumerable:!0,get:function(){return sc.MessageType}})});var Xp=$((oo)=>{var cv=oo&&oo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(oo,"__esModule",{value:!0});oo.ParentNamespace=void 0;var gp=oc(),lv=Ga(),tv=cv(rn()),Op=tv.default("socket.io:parent-namespace");class Qa extends gp.Namespace{constructor(n){super(n,"/_"+Qa.count++);this.children=new Set}_initAdapter(){this.adapter=new hp(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){Op("creating child namespace %s",n);const i=new gp.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(a)=>{if(o.call(i,a),i.sockets.size===0)Op("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}oo.ParentNamespace=Qa;Qa.count=0;class hp extends lv.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var Cp=$((gi)=>{function mv(n){zi.Adapter.prototype.addAll=function(i,o){const a=!this.sids.has(i);Qp.call(this,i,o);const e=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!e)return;if(e.conn.transport.name==="websocket"){Gp(this.nsp.name,e,a,o);return}if(a)e.conn.on("upgrade",()=>{const c=this.sids.get(i);if(c)Gp(this.nsp.name,e,a,c)})},zi.Adapter.prototype.del=function(i,o){Hp.call(this,i,o);const a=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(a&&a.conn.transport.name==="websocket"){const e=a.conn.id,c=a.conn.transport.socket,l=`${this.nsp.name}${pc}${o}`;Ha("unsubscribe connection %s from topic %s",e,l),c.unsubscribe(l)}},zi.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){Bp.call(this,i,o);return}const e=o.flags||{},c={preEncoded:!0,volatile:e.volatile,compress:e.compress};i.nsp=this.nsp.name;const l=this.encoder.encode(i),t=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${pc}${o.rooms.keys().next().value}`;Ha("fast publish to %s",t),l.forEach((s)=>{const p=typeof s!=="string";n.publish(t,p?s:"4"+s,p)}),this.apply(o,(s)=>{if(s.conn.transport.name!=="websocket")s.client.writeToEngine(l,c)})}}function Gp(n,i,o,a){const e=i.conn.id,c=i.conn.transport.socket;if(o)Ha("subscribe connection %s to topic %s",e,n),c.subscribe(n);a.forEach((l)=>{const t=`${n}${pc}${l}`;Ha("subscribe connection %s to topic %s",e,t),c.subscribe(t)})}function rv(){zi.Adapter.prototype.addAll=Qp,zi.Adapter.prototype.del=Hp,zi.Adapter.prototype.broadcast=Bp}function xv(n,i){const{size:o}=Yp.statSync(i),a=Yp.createReadStream(i),e=()=>!a.destroyed&&a.destroy(),c=(t)=>{throw e(),t},l=(t)=>{const s=uv(t);n.cork(()=>{const p=n.getWriteOffset(),[m,r]=n.tryEnd(s,o);if(!r&&!m)a.pause(),n.onWritable((S)=>{const[K,y]=n.tryEnd(s.slice(S-p),o);if(!y&&K)a.resume();return K})})};n.onAborted(e),a.on("data",l).on("error",c).on("end",e)}var sv=gi&&gi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(gi,"__esModule",{value:!0});gi.patchAdapter=mv;gi.restoreAdapter=rv;gi.serveFile=xv;var zi=Ga(),Yp=import.meta.require("fs"),pv=sv(rn()),Ha=pv.default("socket.io:adapter-uws"),pc="\x1F",{addAll:Qp,del:Hp,broadcast:Bp}=zi.Adapter.prototype,uv=(n)=>{const{buffer:i,byteOffset:o,byteLength:a}=n;return i.slice(o,o+a)}});var Vp=$((rK,fv)=>{fv.exports={name:"socket.io",version:"4.8.0",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --require ts-node/register --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":"prettier --check \"lib/**/*.ts\" \"test/**/*.ts\"","format:fix":"prettier --write \"lib/**/*.ts\" \"test/**/*.ts\"",prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.3.2","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var qp=$((vn,Vo)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",vv=vn&&vn.__createBinding||(Object.create?function(n,i,o,a){if(a===void 0)a=o;var e=Object.getOwnPropertyDescriptor(i,o);if(!e||("get"in e?!i.__esModule:e.writable||e.configurable))e={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,a,e)}:function(n,i,o,a){if(a===void 0)a=o;n[a]=i[o]}),bv=vn&&vn.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Sv=vn&&vn.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))vv(i,n,o)}return bv(i,n),i},Dp=vn&&vn.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(vn,"__esModule",{value:!0});vn.Namespace=vn.Socket=vn.Server=void 0;var yv=import.meta.require("http"),Tv=import.meta.require("fs"),mc=import.meta.require("zlib"),wv=ba(),Ba=import.meta.require("stream"),Ep=import.meta.require("path"),Up=Hs(),dv=cp(),kp=import.meta.require("events"),uc=oc();Object.defineProperty(vn,"Namespace",{enumerable:!0,get:function(){return uc.Namespace}});var Fv=Xp(),Lp=Ga(),Mv=Sv(Bo()),Rv=Dp(rn()),_p=ic();Object.defineProperty(vn,"Socket",{enumerable:!0,get:function(){return _p.Socket}});var Av=Oa(),rc=Cp(),Jv=Dp(ke()),Fn=Rv.default("socket.io:server"),Np=Vp().version,Ip=/\.map/;class ao extends Av.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||Mv,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||Lp.SessionAwareAdapter);else this.adapter(i.adapter||Lp.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=Jv.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const a=this.parentNsps.keys(),e=()=>{const c=a.next();if(c.done)return o(!1);c.value(n,i,(l,t)=>{if(l||!t)return e();if(this._nsps.has(n))return Fn("dynamic namespace %s already exists",n),o(this._nsps.get(n));const s=this.parentNsps.get(c.value).createChild(n);Fn("dynamic namespace %s was created",n),o(s)})};e()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){Fn("creating http server and binding to %d",n);const o=n;n=yv.createServer((a,e)=>{e.writeHead(404),e.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,Fn("creating uWebSockets.js-based engine with opts %j",i);const o=new Up.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(a,e)=>{if(!this.clientPathRegex.test(e.getUrl())){e.setYield(!0);return}const c=e.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),l=Ip.test(c),t=l?"map":"source",s='"'+Np+'"',p="W/"+s,m=e.getHeader("if-none-match");if(m){if(s===m||p===m){Fn("serve client %s 304",t),a.writeStatus("304 Not Modified"),a.end();return}}Fn("serve client %s",t),a.writeHeader("cache-control","public, max-age=0"),a.writeHeader("content-type","application/"+(l?"json":"javascript")+"; charset=utf-8"),a.writeHeader("etag",s);const r=Ep.join(__dirname,"../client-dist/",c);rc.serveFile(a,r)});rc.patchAdapter(n)}initEngine(n,i){if(Fn("creating engine.io instance with opts %j",i),this.eio=Up.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){Fn("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,a)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,a,()=>{this.serve(o,a)});else this.serve(o,a);else for(let e=0;e<i.length;e++)i[e].call(n,o,a)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),a=Ip.test(o),e=a?"map":"source",c='"'+Np+'"',l="W/"+c,t=n.headers["if-none-match"];if(t){if(c===t||l===t){Fn("serve client %s 304",e),i.writeHead(304),i.end();return}}Fn("serve client %s",e),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(a?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",c),ao.sendFile(o,n,i)}static sendFile(n,i,o){const a=Tv.createReadStream(Ep.join(__dirname,"../client-dist/",n)),e=wv(i).encodings(["br","gzip","deflate"]),c=(l)=>{if(l)o.end()};switch(e){case"br":o.writeHead(200,{"content-encoding":"br"}),Ba.pipeline(a,mc.createBrotliCompress(),o,c);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Ba.pipeline(a,mc.createGzip(),o,c);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Ba.pipeline(a,mc.createDeflate(),o,c);break;default:o.writeHead(200),Ba.pipeline(a,o,c)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){Fn("incoming connection with id %s",n.id);const i=new dv.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const a=new Fv.ParentNamespace(this);if(Fn("initializing parent namespace %s",a.name),typeof n==="function")this.parentNsps.set(n,a);else this.parentNsps.set((e,c,l)=>l(null,n.test(e)),a),this.parentNamespacesFromRegExp.set(n,a);if(i)a.on("connect",i);return a}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[a,e]of this.parentNamespacesFromRegExp)if(a.test(n))return Fn("attaching namespace %s to parent namespace %s",n,a),e.createChild(n);if(Fn("initializing namespace %s",n),o=new uc.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),rc.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}vn.Server=ao;var $v=Object.keys(kp.EventEmitter.prototype).filter(function(n){return typeof kp.EventEmitter.prototype[n]==="function"});$v.forEach(function(n){ao.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Vo.exports=(n,i)=>new ao(n,i);Vo.exports.Server=ao;Vo.exports.Namespace=uc.Namespace;Vo.exports.Socket=_p.Socket});var xm=$((SK,Wb)=>{Wb.exports={name:"dotenv",version:"16.4.5",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec","test:coverage":"tap --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Sm=$((yK,ei)=>{function Xb(n){const i={};let o=n.toString();o=o.replace(/\r\n?/mg,"\n");let a;while((a=hb.exec(o))!=null){const e=a[1];let c=a[2]||"";c=c.trim();const l=c[0];if(c=c.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),l==='"')c=c.replace(/\\n/g,"\n"),c=c.replace(/\\r/g,"\r");i[e]=c}return i}function Yb(n){const i=bm(n),o=mn.configDotenv({path:i});if(!o.parsed){const l=new Error(`MISSING_DATA: Cannot parse ${i} for an unknown reason`);throw l.code="MISSING_DATA",l}const a=vm(n).split(","),e=a.length;let c;for(let l=0;l<e;l++)try{const t=a[l].trim(),s=Hb(o,t);c=mn.decrypt(s.ciphertext,s.key);break}catch(t){if(l+1>=e)throw t}return mn.parse(c)}function Gb(n){console.log(`[dotenv@${wc}][INFO] ${n}`)}function Qb(n){console.log(`[dotenv@${wc}][WARN] ${n}`)}function La(n){console.log(`[dotenv@${wc}][DEBUG] ${n}`)}function vm(n){if(n&&n.DOTENV_KEY&&n.DOTENV_KEY.length>0)return n.DOTENV_KEY;if(process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0)return process.env.DOTENV_KEY;return""}function Hb(n,i){let o;try{o=new URL(i)}catch(t){if(t.code==="ERR_INVALID_URL"){const s=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw s.code="INVALID_DOTENV_KEY",s}throw t}const a=o.password;if(!a){const t=new Error("INVALID_DOTENV_KEY: Missing key part");throw t.code="INVALID_DOTENV_KEY",t}const e=o.searchParams.get("environment");if(!e){const t=new Error("INVALID_DOTENV_KEY: Missing environment part");throw t.code="INVALID_DOTENV_KEY",t}const c=`DOTENV_VAULT_${e.toUpperCase()}`,l=n.parsed[c];if(!l){const t=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${c} in your .env.vault file.`);throw t.code="NOT_FOUND_DOTENV_ENVIRONMENT",t}return{ciphertext:l,key:a}}function bm(n){let i=null;if(n&&n.path&&n.path.length>0)if(Array.isArray(n.path)){for(let o of n.path)if(yc.existsSync(o))i=o.endsWith(".vault")?o:`${o}.vault`}else i=n.path.endsWith(".vault")?n.path:`${n.path}.vault`;else i=Tc.resolve(process.cwd(),".env.vault");if(yc.existsSync(i))return i;return null}function fm(n){return n[0]==="~"?Tc.join(zb.homedir(),n.slice(1)):n}function Bb(n){Gb("Loading env from encrypted .env.vault");const i=mn._parseVault(n);let o=process.env;if(n&&n.processEnv!=null)o=n.processEnv;return mn.populate(o,i,n),{parsed:i}}function Cb(n){const i=Tc.resolve(process.cwd(),".env");let o="utf8";const a=Boolean(n&&n.debug);if(n&&n.encoding)o=n.encoding;else if(a)La("No encoding is specified. UTF-8 is used by default");let e=[i];if(n&&n.path)if(!Array.isArray(n.path))e=[fm(n.path)];else{e=[];for(let s of n.path)e.push(fm(s))}let c;const l={};for(let s of e)try{const p=mn.parse(yc.readFileSync(s,{encoding:o}));mn.populate(l,p,n)}catch(p){if(a)La(`Failed to load ${s} ${p.message}`);c=p}let t=process.env;if(n&&n.processEnv!=null)t=n.processEnv;if(mn.populate(t,l,n),c)return{parsed:l,error:c};else return{parsed:l}}function Vb(n){if(vm(n).length===0)return mn.configDotenv(n);const i=bm(n);if(!i)return Qb(`You set DOTENV_KEY but you are missing a .env.vault file at ${i}. Did you forget to build it?`),mn.configDotenv(n);return mn._configVault(n)}function Eb(n,i){const o=Buffer.from(i.slice(-64),"hex");let a=Buffer.from(n,"base64");const e=a.subarray(0,12),c=a.subarray(-16);a=a.subarray(12,-16);try{const l=gb.createDecipheriv("aes-256-gcm",o,e);return l.setAuthTag(c),`${l.update(a)}${l.final()}`}catch(l){const t=l instanceof RangeError,s=l.message==="Invalid key length",p=l.message==="Unsupported state or unable to authenticate data";if(t||s){const m=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw m.code="INVALID_DOTENV_KEY",m}else if(p){const m=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw m.code="DECRYPTION_FAILED",m}else throw l}}function Ub(n,i,o={}){const a=Boolean(o&&o.debug),e=Boolean(o&&o.override);if(typeof i!=="object"){const c=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw c.code="OBJECT_REQUIRED",c}for(let c of Object.keys(i))if(Object.prototype.hasOwnProperty.call(n,c)){if(e===!0)n[c]=i[c];if(a)if(e===!0)La(`"${c}" is already defined and WAS overwritten`);else La(`"${c}" is already defined and was NOT overwritten`)}else n[c]=i[c]}var yc=import.meta.require("fs"),Tc=import.meta.require("path"),zb=import.meta.require("os"),gb=import.meta.require("crypto"),Ob=xm(),wc=Ob.version,hb=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg,mn={configDotenv:Cb,_configVault:Bb,_parseVault:Yb,config:Vb,decrypt:Eb,parse:Xb,populate:Ub};yK.configDotenv=mn.configDotenv;yK._configVault=mn._configVault;yK._parseVault=mn._parseVault;yK.config=mn.config;yK.decrypt=mn.decrypt;yK.parse=mn.parse;yK.populate=mn.populate;ei.exports=mn});import*as Mm from"http";function Gi(n=Math.random){return n().toString(36).slice(2)}class Fo extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((a,e)=>{i=a,o=e});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}var $c=(n,i,o=Y.STORE)=>{return Mo(o,{key:`${n.key}:JSON`,get:({get:a})=>i.toJson(a(n)),set:({set:a},e)=>{a(n,i.fromJson(e))}})};function v(n){while(n.child!==null)n=n.child;return n}function Kc(n){while(n.parent!==null)n=n.parent;return n}class C{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class Ia extends C{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function ci(n,i,o){const a={key:i.key,type:"atom_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K=i.default,y={key:r,default:K instanceof Function?K(s):K};if(i.effects)y.effects=i.effects(s);const T=li(S,y,m);return c.next({type:"state_creation",token:T}),T},a,{subject:c,install:(s)=>ci(s,i),internalRoles:o});return n.families.set(i.key,t),n.defaults.set(i.key,i.default),a}function jc(n,i){if("mutable"in i)return Ro(n,i);return ci(n,i)}function ti(n,i,o){const a={key:i.key,type:"readonly_selector_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K=Ao(S,{key:r,get:i.get(s)},m);return c.next({type:"state_creation",token:K}),K},a,{internalRoles:o,subject:c,install:(s)=>ti(s,i),default:(s)=>{return i.get(s)({get:(...m)=>I(n,...m),find:(m,r)=>L(n,m,r),seek:(m,r)=>Z(n,m,r),json:(m)=>sn(n,m)})}});return n.families.set(i.key,t),a}function Da(n,i){if("set"in i)return Jo(n,i);return ti(n,i)}function Qi(n,i){const o=g(i),a=`${n.key}(${o})`,e=Wm[n.type],c={key:a,type:e};if(e==="molecule")Object.assign(c,{key:i,family:n});else Object.assign(c,{family:{key:n.key,subKey:o}});return Object.assign(c,{counterfeit:!0}),c}var Wm={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function jn(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}class Rn{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),a=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(a)a.add(n);else a=new Set([n]),this.relations.set(i,a)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const a=this.relations.get(i);if(a){if(a.delete(n),a.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const a=new Set([n]);this.relations.set(o,a)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let a of o){const e=this.relations.get(a);if(e){if(e.size===1)this.relations.delete(a);else e.delete(n);this.contents.delete(this.makeContentKey(n,a))}}this.relations.set(n,new Set(i));for(let a of i){let e=this.relations.get(a);if(e)e.add(n);else e=new Set([n]),this.relations.set(a,e)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,a])=>[o,new Set(a)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(a,e)=>o.has(a,e),this.addRelation=(a,e)=>{o.addRelation(a,e)},this.deleteRelation=(a,e)=>{o.deleteRelation(a,e)},this.replaceRelationsSafely=(a,e)=>{o.replaceRelationsSafely(a,e)},this.replaceRelationsUnsafely=(a,e)=>{o.replaceRelationsUnsafely(a,e)},this.getRelatedKeys=(a)=>o.getRelatedKeys(a),o.getContent)this.getContentInternal=(a)=>{return o.getContent(a)},this.setContent=(a,e)=>{o.setContent(a,e)},this.deleteContent=(a)=>{o.deleteContent(a)};for(let[a,e]of n.relations??[])for(let c of e)this.addRelation(a,c);for(let[a,e]of n.contents??[])this.setContent(a,e)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],a=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const e=this.getRelatedKey(n);if(e&&e!==o)this.delete(e,n)}case"1:n":{const e=this.getRelatedKey(o);if(e&&e!==n)this.delete(e,o)}}if(a){const e=this.makeContentKey(n,o);this.setContent(e,a)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const a=this.getRelatedKeys(i);if(a)for(let e of a)this.delete(e,i)}if(typeof o==="string"&&i===void 0){const a=this.getRelatedKeys(o);if(a)for(let e of a)this.delete(o,e)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const a=this.makeContentKey(o,i);this.deleteContent(a)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const a=!Array.isArray(i),e=a?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,e);else this.replaceRelationsSafely(n,e);if(a)for(let c of e){const l=this.makeContentKey(n,c),t=i[c];this.setContent(l,t)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const a=this.getRelatedKeys(i);if(a)return[...a].map((e)=>{return[e,this.getContent(i,e)??null]})}if(i===void 0&&o!==void 0){const a=this.getRelatedKeys(o);if(a)return[...a].map((e)=>{return[e,this.getContent(e,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function en(n){return"epoch"in n.transactionMeta}function k(n){return"phase"in n.transactionMeta}var Wc=(n)=>{const i=v(n);if(!k(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function Yn(n){return n.type.split("_").map(zm).join(" ")}var zm=(n)=>n[0].toUpperCase()+n.slice(1);class dn extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${Yn(i)} ${g(i.key)} not found in store "${o.config.name}".`);else{const a=n[1];super(`${Yn(i)} "${i.key}" member ${g(a)} not found in store "${o.config.name}".`)}}}function si(n,i,o){return(...a)=>{const e=h(n,o);if(e)return e.run(a,i);throw new dn(n,o)}}var na=(n)=>(i)=>n instanceof Function?n(i):n;var pi=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),zc(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var gc=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!k(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Oc=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},hc=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},Hi=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var Xc=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var _a=(n,i)=>{const o=v(i),a=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,a?`evicting ${a.size} states downstream:`:"no downstream states",a??"to evict"),a){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let e of a){if(hc(o,e))continue;Yc(e,o),Hi(o,e)}}};function gm(n,i){if(Qc(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Gc=(n,i,o)=>{const{key:a}=n,e=v(o);if(!k(e)||e.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",a,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!gm(a,i))return;const l={type:"atom_update",key:a,...i};if(n.family)l.family=n.family;e.transactionMeta.update.updates.push(l),o.logger.info("\uD83D\uDCC1","atom",a,"stowed (",i.oldValue,"->",i.newValue,")")};var Hc=(n,i,o)=>{const a=pi(n,o);let e=a;if(n.type==="mutable_atom"&&k(o)){const{parent:l}=o;e=$o(n,l,o)}if(e=na(i)(e),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",e),e=Wn(n.key,e,n.subject,o),Bc(n.key,o))Cc(n.key,o);Hi(o,n.key),_a(n,o);const c={oldValue:a,newValue:e};if(en(o))Xc(n,c,o);else if(o.parent){if(o.on.transactionApplying.state===null)Gc(n,c,o);else if(n.key.startsWith("*")){const l=n.key.slice(1),t=o.atoms.get(l);let s=o.valueMap.get(l);if(t.type==="mutable_atom"&&k(o)){const{parent:m}=o;s=$o(t,m,o)}if(s.do(c.newValue)===null)_a(t,o)}}};var ia=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":Hc(n,i,o);break;case"selector":n.set(i);break}};function oa(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function D(n,...i){let o,a,e,c;if(i.length===2){if(o=i[0],c=i[1],a=oa(n,o)??null,a)e=o.family?cn(o.family.subKey):null,o=L(n,a,e)}else a=i[0],e=i[1],c=i[2],o=L(n,a,e);if("counterfeit"in o){const s=n.disposalTraces.buffer.find((p)=>p?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,s?`This state was previously disposed:\n${s.trace}`:"No previous disposal trace was found.");return}const l=gc(n,o);if(l){const s=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${l}`,()=>{s(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${l}`),D(n,o,c)});return}const t=h(o,n);ia(t,c,n),Oc(n)}function aa(n,i,o){const{key:a,newValue:e,oldValue:c}=i,l=n==="newValue"?e:c,t={key:a,type:"atom"};if(i.family)Object.assign(t,{family:i.family});D(o,t,l)}function qa(n,i,o){const a=g(o);try{const e=[];let c;if(i==="root")e.push(n.molecules.get('"root"')),c="all";else if(i[0][0]===Vc){c="any";const m=g(i),r=n.molecules.get(m);if(!r)throw new Error(`Molecule ${m} not found in store "${n.config.name}"`);e.push(r)}else if(o[0][0]===Vc){c="all";for(let r of i){const S=g(r),K=n.molecules.get(S);if(!K)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);e.push(K)}}else{c="any";const r=g(i),S=n.molecules.get(r);if(!S)throw new Error(`Molecule ${r} not found in store "${n.config.name}"`);e.push(S)}const l=new Bi(e,o);l._dependsOn=c,n.molecules.set(a,l);for(let m of e)m.below.set(l.stringKey,l);const t={type:"molecule_creation",subType:"modern",key:l.key,provenance:i},s=v(n);if(k(s)&&s.transactionMeta.phase==="building")s.transactionMeta.update.updates.push(t);else s.on.moleculeCreationStart.next(t)}catch(e){if(e instanceof Error)n.logger.error("\u274C","molecule",a,"allocation failed:",e.message)}return o}function Ko(n,i){const o=g(i),a=n.molecules.get(o);if(!a)throw new Error(`Molecule ${o} not found in store "${n.config.name}"`);for(let p of a.joins.values())p.relations.delete(a.key),p.molecules.delete(a.stringKey);let e;if(a.above.size===1)e=a.above.values().next().value.key;else e=[...a.above.values()].map(({key:p})=>p);const c=[];for(let p of a.tokens.values()){const m=p.family;c.push([m.key,n.valueMap.get(p.key)])}for(let p of a.tokens.values())un(n,p);for(let p of a.below.values())if(p.dependsOn==="all")Ko(n,p.key);else if(p.above.delete(a.stringKey),p.above.size===0)Ko(n,p.key);a.below.clear();const l={type:"molecule_disposal",subType:"modern",key:a.key,values:c,provenance:e},t=v(n);if(k(t)&&t.transactionMeta.phase==="building")t.transactionMeta.update.updates.push(l);else t.on.moleculeDisposal.next(l);t.molecules.delete(a.stringKey);for(let p of a.above.values())p.below.delete(a.stringKey)}var Oy=Symbol("provenance"),Vc="T$";function Ec(n,i){const o=new C,a={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},e={...a,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,e),a}function Gn(n,i,o){const a=_n(o,i,n.key);n.tokens.set(a.key,a);const e=k(o)&&o.transactionMeta.phase==="building",c=o.moleculeInProgress===n.key;if(!e&&!c)n.subject.next({type:"state_creation",token:a});return a}class pn extends Set{mode="record";subject=new C;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof pn)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){const i=new pn(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${g(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${g(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new pn(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let a of this.transactionUpdates)this.doStep(a);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){const i=n.indexOf(":"),o=n.substring(0,i),a=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(a));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(a));break;case"tx":for(let e of a.split(";"))this.doStep(e)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),a=o-this.cacheUpdateNumber;if(a>0){if(a===1){this.mode="playback";const c=n.substring(i+1);return this.doStep(c),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(a)<this.cacheLimit){const c=this.cacheIdx+a;if(this.cache[c]===n)return null;this.mode="playback";let t=!1;while(!t){this.cacheIdx%=this.cacheLimit;const p=this.cache[this.cacheIdx];if(this.cacheIdx--,!p)return"OUT_OF_RANGE";this.undo(p),t=this.cacheIdx===c-1}const s=n.substring(i+1);return this.doStep(s),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),a=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(a));break;case"del":this.add(JSON.parse(a));break;case"clear":{const e=JSON.parse(a);for(let c of e)this.add(c);break}case"tx":{const e=a.split(";");for(let c=e.length-1;c>=0;c--)this.undoStep(e[c])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const a=n.substring(i+1);return this.undoStep(a),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function nn(n){return n[0].toUpperCase()+n.slice(1)}function ea(n,i,o=Y.STORE){return Pa(o).set(n.key,new ne(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Pa(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function jo(n,i){const o=Pa(i);let a=o.get(n.key);if(a===void 0){if(a=Pa(Y.STORE).get(n.key)?.in(i),a===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,a)}return a}function Ci(n,i,o){const a=jo(n,o);let e;switch(n.cardinality){case"1:1":{const c=`${n.a}KeyOf${nn(n.b)}`,l=`${n.b}KeyOf${nn(n.a)}`;e={get[c](){const s=a.states[c];return a.retrieve(s,i)},get[l](){const s=a.states[l];return a.retrieve(s,i)}};const t=`${n.a}EntryOf${nn(n.b)}`;if(t in a.states){const s=`${n.b}EntryOf${nn(n.a)}`;Object.assign(e,{get[t](){const p=a.states[t];return a.retrieve(p,i)},get[s](){const p=a.states[s];return a.retrieve(p,i)}})}break}case"1:n":{const c=`${n.a}KeyOf${nn(n.b)}`,l=`${n.b}KeysOf${nn(n.a)}`;e={get[c](){const s=a.states[c];return a.retrieve(s,i)},get[l](){const s=a.states[l];return a.retrieve(s,i)}};const t=`${n.a}EntryOf${nn(n.b)}`;if(t in a.states){const s=`${n.b}EntriesOf${nn(n.a)}`;Object.assign(e,{get[t](){const p=a.states[t];return a.retrieve(p,i)},get[s](){const p=a.states[s];return a.retrieve(p,i)}})}break}case"n:n":{const c=`${n.a}KeysOf${nn(n.b)}`,l=`${n.b}KeysOf${nn(n.a)}`;e={get[c](){const s=a.states[c];return a.retrieve(s,i)},get[l](){const s=a.states[l];return a.retrieve(s,i)}};const t=`${n.a}EntriesOf${nn(n.b)}`;if(t in a.states){const s=`${n.b}EntriesOf${nn(n.a)}`;Object.assign(e,{get[t](){const p=a.states[t];return a.retrieve(p,i)},get[s](){const p=a.states[s];return a.retrieve(p,i)}})}}}return e}function Uc(n,i){return Ci(n,i,Y.STORE)}function di(n,i,o){const a=jo(n,o),e=v(o);if(k(e)){const{toolkit:c}=e.transactionMeta;a.transact(c,({relations:l})=>{i(l)})}else i(a.relations)}function Om(n,i){return jo(n,i).core.findRelatedKeysState}function kc(n){return Om(n,Y.STORE)}class ne{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const a=new ne(this.options,this.defaultContent,n);return this.alternates.set(i,a),a.alternates=this.alternates,a}constructor(n,i,o=Y.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(b,u)=>{const R=this.toolkit.seek(b,u);if(R)return R;const A=this.molecules.get(g(u));if(A){const J=h(b,o);return Gn(A,J,o)}if(o.config.lifespan==="immortal")throw new dn(b,u,o);return _n(o,b,u)},this.toolkit={get:(...b)=>I(o,...b),set:(...b)=>{D(o,...b)},find:this.retrieve,seek:(...b)=>Z(o,...b),json:(b)=>sn(o,b),dispose:(...b)=>{un(o,...b)}};const a=n.between[0],e=n.between[1],c=Ro(o,{key:`${n.key}/relatedKeys`,default:()=>new pn,mutable:!0,fromJson:(b)=>pn.fromJSON(b),toJson:(b)=>b.toJSON()},["join","relations"]);this.core={findRelatedKeysState:c};const l=({get:b},u)=>b(this.retrieve(c,u)),t=(b,u,R)=>{const{set:A}=b,J=this.retrieve(c,u),j=this.retrieve(c,R);A(J,(G)=>G.add(R)),A(j,(G)=>G.add(u))},s=(b,u,R)=>{const{set:A}=b,J=this.retrieve(c,u),j=this.retrieve(c,R);let G,B;A(J,(P)=>{if(P.delete(R),P.size===0)G=`"${u}"`;return P}),A(j,(P)=>{if(P.delete(u),P.size===0)B=`"${R}"`;return P})},p=(b,u,R)=>{const{get:A,set:J}=b,j=this.retrieve(c,u),G=A(j);for(let B of G){if(R.includes(B))continue;const Xn=this.retrieve(c,B);J(Xn,(Ln)=>{return Ln.delete(u),Ln})}J(j,(B)=>{return B.transaction((P)=>{P.clear();for(let Xn of R){const Ln=l(b,Xn),Mc=Ln.has(u);if(this.relations.cardinality==="1:n"){const Rc=[];for(let To of Ln){if(To===u)continue;const wo=l(b,To);if(wo.delete(Xn),wo.size===0)Rc.push(To)}if(!Mc&&Ln.size>0)Ln.clear();for(let To of Rc){const wo=[Xn,To].sort(),Am=`"${wo[0]}:${wo[1]}"`;this.molecules.delete(Am)}}if(!Mc)Ln.add(u);P.add(Xn)}return!0}),B})},m=(b,u,R)=>{const{set:A}=b,J=this.retrieve(c,u);A(J,(j)=>{return j.transaction((G)=>{for(let B of R)G.add(B);return!0}),j});for(let j of R){const G=this.retrieve(c,j);A(G,(B)=>{return B.add(u),B})}return!0},r=(b,u,R)=>{const A=l(b,u);return R?A.has(R):A.size>0},S={getRelatedKeys:(b)=>l(this.toolkit,b),addRelation:(b,u)=>{t(this.toolkit,b,u)},deleteRelation:(b,u)=>{s(this.toolkit,b,u)},replaceRelationsSafely:(b,u)=>{p(this.toolkit,b,u)},replaceRelationsUnsafely:(b,u)=>{m(this.toolkit,b,u)},has:(b,u)=>r(this.toolkit,b,u)};let K,y,T;if(i){y=ci(o,{key:`${n.key}/content`,default:i},["join","content"]);const b={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};T=Ec(o,{key:`${n.key}/content-molecules`,new:class j{B;constructor(G,B){this.key=B}}});const u=({get:j},G)=>j(this.retrieve(y,G)),R=({set:j},G,B)=>{j(this.retrieve(y,G),B)},A=(j,G)=>{const B=o.molecules.get(`"${G}"`);if(B)this.toolkit.dispose(B),this.molecules.delete(`"${G}"`)};K=Object.assign(S,{getContent:(j)=>{return u(this.toolkit,j)},setContent:(j,G)=>{R(this.toolkit,j,G)},deleteContent:(j)=>{A(this.toolkit,j)}})}else K=S;const f=new Rn(n,{externalStore:K,makeContentKey:(...b)=>{const u=b.sort(),R=`${u[0]}:${u[1]}`,[A,J]=u.map((j)=>this.molecules.get(g(j)));if(o.config.lifespan==="immortal"&&A&&J){const j=v(o),G=qn(j,[A,J],T,R);this.molecules.set(`"${R}"`,h(G,j))}return R}}),w=()=>ti(o,{key:`${n.key}/singleRelatedKey`,get:(b)=>({get:u})=>{const R=this.retrieve(c,b),A=u(R);for(let J of A)return J;return null}},["join","keys"]),d=()=>{return ti(o,{key:`${n.key}/multipleRelatedKeys`,get:(b)=>({get:u})=>{const R=Za(c,o),A=this.retrieve(R,b);return u(A).members}},["join","keys"])},W=()=>ti(o,{key:`${n.key}/singleRelatedEntry`,get:(b)=>({get:u})=>{const R=this.retrieve(c,b),A=u(R);for(let J of A){const j=f.makeContentKey(b,J),G=this.retrieve(y,j),B=u(G);return[J,B]}return null}},["join","entries"]),U=()=>ti(o,{key:`${n.key}/multipleRelatedEntries`,get:(b)=>({get:u})=>{const R=Za(c,o),A=this.retrieve(R,b);return u(A).members.map((j)=>{const G=f.makeContentKey(b,j),B=this.retrieve(y,G),P=u(B);return[j,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const b=w(),u=`${a}KeyOf${nn(e)}`,R=`${e}KeyOf${nn(a)}`,A={[u]:b,[R]:b};let J;if(i){const j=W(),G=`${a}EntryOf${nn(e)}`,B=`${e}EntryOf${nn(a)}`,P={[G]:j,[B]:j};J=Object.assign(A,P)}else J=A;this.relations=f,this.states=J;break}case"1:n":{const b=w(),u=d(),R=`${a}KeyOf${nn(e)}`,A=`${e}KeysOf${nn(a)}`,J={[R]:b,[A]:u};let j;if(i){const G=W(),B=U(),P=`${a}EntryOf${nn(e)}`,Xn=`${e}EntriesOf${nn(a)}`,Ln={[P]:G,[Xn]:B};j=Object.assign(J,Ln)}else j=J;this.relations=f,this.states=j;break}default:{const b=d(),u=`${a}KeysOf${nn(e)}`,R=`${e}KeysOf${nn(a)}`,A={[u]:b,[R]:b};let J;if(i){const j=U(),G=`${a}EntriesOf${nn(e)}`,B=`${e}EntriesOf${nn(a)}`,P={[G]:j,[B]:j};J=Object.assign(A,P)}else J=A;this.relations=f,this.states=J}}}}function ca(n){return{store:n}}function I(n,...i){let o,a,e;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(a=oa(n,o)??null,a)e=o.family?cn(o.family.subKey):null,o=L(n,a,e)}}else{a=i[0],e=i[1];let c;if(a.type==="molecule_family")c=Z(n,a,e)??Qi(a,e);else c=L(n,a,e);o=c}if("counterfeit"in o&&"family"in o){a=o.type==="molecule"?h(o.family,n):n.families.get(o.family.key);const c=o.type==="molecule"?o.key:o.family.subKey,l=n.disposalTraces.buffer.find((t)=>t?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found."),a.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(a.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(a.key))return n.defaults.get(o.family.key);const t=h(a,n).default(c);return n.defaults.set(a.key,t),t}case"molecule_family":throw new dn(a,c,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return pi(h(o,n),n);case"molecule":return h(o,n).instance}}class Bi{i;type="molecule";stringKey;family;_dependsOn;get dependsOn(){if(this.family)return this.family.dependsOn;return this._dependsOn}subject=new C;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=g(i),o)this.family=o,this._dependsOn=o.dependsOn;if(n)for(let a of n)this.above.set(a.stringKey,a)}}function Lc(n){return n[0].toUpperCase()+n.slice(1)}function qn(n,i,o,a,...e){const c=Kc(n),l=v(n),t=g(a);l.moleculeInProgress=t;const s=Array.isArray(i)?i:[i],p=s.map((f)=>{if(f instanceof Bi)return f;const w=g(f.key),d=n.molecules.get(w);if(!d)throw new Error(`Molecule ${w} not found in store "${n.config.name}"`);return d}),m=new Bi(p,a,o);l.molecules.set(t,m);for(let f of p)f.below.set(m.stringKey,m);const r={get:(...f)=>I(v(c),...f),set:(...f)=>{D(v(c),...f)},seek:(f,w)=>Z(v(c),f,w),json:(f)=>sn(v(c),f),run:(f,w=Gi())=>si(f,w,v(n)),make:(f,w,d,...W)=>qn(v(c),f,w,d,...W),dispose:(f)=>{un(v(c),f)},env:()=>ca(v(c)),bond:(f,w)=>{if(f.type==="join"){const{as:d}=w,W=jo(f,c);W.molecules.set(t,m),m.joins.set(f.key,W);const U=S.subject.subscribe(`join:${f.key}-${t}`,(j)=>{if(j.type==="molecule_disposal"){if(g(j.token.key)===t)U(),W.molecules.delete(t)}});if(d===null)return;const b=f.a===d?f.b:f.a,u=Uc(f,a),R=u[`${b}KeysOf${Lc(d)}`],A=u[`${b}EntriesOf${Lc(d)}`];let J={relatedKeys:R};if(A)J=Object.assign(J,{relatedEntries:A});return J}return Gn(m,h(f,c),v(c))},claim:(f,w)=>{const{exclusive:d}=w,W=v(n).molecules.get(g(f.key));if(W)if(d){for(let U of W.above.values())U.below.delete(W.stringKey);W.above.clear(),W.above.set(m.stringKey,m),m.below.set(W.stringKey,W)}else W.above.set(m.stringKey,m),m.below.set(W.stringKey,W)},spawn:(f,w,...d)=>qn(v(n),[m],h(f,n),w,...d)},S=h(o,n),K=S.new;m.instance=new K(r,a,...e);const y={type:"molecule",key:a,family:o},T={type:"molecule_creation",subType:"classic",token:y,family:o,context:s,params:e};if(en(l))S.subject.next(T);else if(k(l)&&l.on.transactionApplying.state===null)l.transactionMeta.update.updates.push(T);return l.moleculeInProgress=null,y}function ie(n,i,o){switch(i){case"newValue":{Nc(n,o);break}case"oldValue":{un(o,n.token);break}}}function oe(n,i,o){switch(i){case"newValue":{un(o,n.token);break}case"oldValue":{Nc(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Nc(n,i){const{family:o}=n.token;if(o){const a=i.families.get(o.key);if(a)L(i,a,cn(o.subKey))}}function ae(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":qn(o,n.context,n.family,n.token.key,...n.params);break;case"modern":qa(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":un(o,n.token);break;case"modern":Ko(o,n.key);break}break}}function ee(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":un(o,n.token);break;case"modern":Ko(o,n.key);break}break;case"oldValue":switch(n.subType){case"classic":{const a=qn(o,n.context,n.family,n.token.key);for(let[e,c]of n.values){const l=`${e}(${g(a.key)})`,t=h(a,o),s=t.tokens.has(l),p=o.families.get(e);if(p&&!s)Gn(t,p,o);o.valueMap.set(l,c)}}break;case"modern":{qa(o,n.provenance,n.key);for(let[a,e]of n.values){const c=o.families.get(a);if(c){L(o,c,n.key);const l=`${a}(${g(n.key)})`;o.valueMap.set(l,e)}}}}break}}function la(n,i,o){const a=n==="newValue"?i.updates:[...i.updates].reverse();for(let e of a)switch(e.type){case"atom_update":case"selector_update":aa(n,e,o);break;case"state_creation":ie(e,n,o);break;case"state_disposal":oe(e,n,o);break;case"molecule_creation":ae(e,n,o);break;case"molecule_disposal":ee(e,n,o);break;case"transaction_update":la(n,e,o);break}}function Ic(n,i,o){if(en(o)&&n)o.transactionMeta.epoch.set(n,i)}function Dc(n,i,o){if(!en(o))return;const e=o.transactionMeta.actionContinuities.getRelatedKey(n);if(e!==void 0)o.transactionMeta.epoch.set(e,i)}var _c=(n,i)=>{const o=v(i),{parent:a}=o;if(a===null||!k(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,a.child=null,a.on.transactionApplying.next(o.transactionMeta);const{updates:e}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${e.length} updates:`,e),la("newValue",o.transactionMeta.update,a),en(a))Dc(o.transactionMeta.update.key,o.transactionMeta.update.epoch,a),h({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(k(a))a.transactionMeta.update.updates.push(o.transactionMeta.update);a.on.transactionApplying.next(null)};function qc(n,i,o){if(!en(o))return;const{epoch:e,actionContinuities:c}=o.transactionMeta;if(c.set(n,i),!e.has(n))e.set(n,-1)}class zn extends Map{n;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var Pc=(n,i,o,a)=>{const e=v(o),c={parent:e,child:null,on:e.on,loggers:e.loggers,logger:e.logger,config:e.config,atoms:new zn(e.atoms),atomsThatAreDefault:new Set(e.atomsThatAreDefault),families:new zn(e.families),operation:{open:!1},readonlySelectors:new zn(e.readonlySelectors),timelines:new zn(e.timelines),timelineTopics:new Rn(e.timelineTopics.toJSON()),trackers:new Map,transactions:new zn(e.transactions),selectorAtoms:new Rn(e.selectorAtoms.toJSON()),selectorGraph:new Rn(e.selectorGraph.toJSON(),{makeContentKey:(...p)=>p.sort().join(":")}),selectors:new zn(e.selectors),valueMap:new zn(e.valueMap),defaults:e.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new zn(e.molecules),moleculeFamilies:new zn(e.moleculeFamilies),moleculeInProgress:e.moleculeInProgress,miscResources:new zn(e.miscResources)},l=Zc(n,o),t={phase:"building",update:{type:"transaction_update",key:n,id:a,epoch:l===void 0?Number.NaN:l+1,updates:[],params:i,output:void 0},toolkit:{get:(...p)=>I(s,...p),set:(...p)=>{D(s,...p)},run:(p,m=Gi())=>si(p,m,s),find:(p,m)=>L(s,p,m),seek:(p,m)=>Z(s,p,m),json:(p)=>sn(s,p),make:(p,m,r,...S)=>qn(s,p,m,r,...S),dispose:(...p)=>{un(s,...p)},env:()=>ca(s)}},s=Object.assign(c,{transactionMeta:t});return e.child=s,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),s};function ce(n,i){const o={key:n.key,type:"transaction",run:(c,l)=>{const t=Pc(n.key,c,i,l);try{const s=v(i),{toolkit:p}=t.transactionMeta,m=n.do(p,...c);return _c(m,s),m}catch(s){throw Wc(a),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",s),s}},install:(c)=>ce(n,c),subject:new C},a=v(i);a.transactions.set(o.key,o);const e=jn(o);return i.on.transactionCreation.next(e),e}function Zc(n,i){const o=en(i),a=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&a!==void 0?i.transactionMeta.epoch.get(a):void 0}class ta{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new ta([...this._buffer]);return n._index=this._index,n}}class nl{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new Rn({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Rn({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new Rn({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Rn({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new ta(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new C,atomDisposal:new C,selectorCreation:new C,selectorDisposal:new C,timelineCreation:new C,transactionCreation:new C,transactionApplying:new Ia(null),operationClose:new C,moleculeCreationStart:new C,moleculeCreationDone:new C,moleculeDisposal:new C};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Wo("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},en(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new Rn(i?.transactionMeta.actionContinuities.toJSON())};for(let[,a]of i.families){if(a.internalRoles?.includes("mutable")||a.internalRoles?.includes("join"))continue;a.install(this)}const o=new Set;for(let[,a]of i.atoms){if(o.has(a.key))continue;if(a.install(this),a.type==="mutable_atom"){const e=sn(i,a),c=Pn(a);o.add(e.key),o.add(c.key)}}for(let[,a]of i.readonlySelectors)a.install(this);for(let[,a]of i.selectors){if(o.has(a.key))continue;a.install(this)}for(let[,a]of i.transactions)a.install(this);for(let[,a]of i.timelines)a.install(this)}}}var Y={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new nl({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function h(n,i){let o,a=i;while(a!==null){switch(n.type){case"atom":case"mutable_atom":o=a.atoms.get(n.key);break;case"selector":o=a.selectors.get(n.key);break;case"readonly_selector":o=a.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=a.families.get(n.key);break;case"timeline":o=a.timelines.get(n.key);break;case"transaction":o=a.transactions.get(n.key);break;case"molecule":o=a.molecules.get(g(n.key));break;case"molecule_family":o=a.moleculeFamilies.get(n.key);break}if(o)return o;a=a.child}throw new dn(n,i)}function sa(n,i){let o;o=h(n,i);const{family:a}=n;for(let l of o.joins.values())l.relations.delete(o.key),l.molecules.delete(o.stringKey);const e=[];for(let l of o.above.values())e.push(jn(l));const c=[];for(let l of o.tokens.values()){const t=l.family;c.push([t.key,i.valueMap.get(l.key)])}if(a){const l=h(a,i),t={type:"molecule_disposal",subType:"classic",token:n,family:a,context:e,values:c};if(n.family)t.family=n.family;for(let p of o.tokens.values())un(i,p);for(let p of o.below.values())if(p.dependsOn==="all")sa(p,i);else if(p.above.delete(o.stringKey),p.above.size===0)sa(p,i);if(o.below.clear(),k(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(t);else l.subject.next(t);i.molecules.delete(o.stringKey)}for(let l of o.above.values())l.below.delete(o.stringKey)}function _n(n,i,o){const a=n.families.get(i.key);if(a===void 0)throw new dn(i,n);const e=a(o),c=v(n);if(e.family&&c.moleculeInProgress===null){if(en(c))switch(e.type){case"atom":case"mutable_atom":n.on.atomCreation.next(e);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(e);break}else if(k(c)&&c.on.transactionApplying.state===null)c.transactionMeta.update.updates.push({type:"state_creation",token:e})}return e}function Z(n,i,o){const a=g(o),e=`${i.key}(${a})`,c=v(n);let l;switch(i.type){case"atom_family":case"mutable_atom_family":l=c.atoms.get(e);break;case"selector_family":l=c.selectors.get(e);break;case"readonly_selector_family":l=c.readonlySelectors.get(e);break;case"molecule_family":l=c.molecules.get(g(o))}if(l)return jn(l);return l}function L(n,i,o){let a=Z(n,i,o);if(a)return a;const e=n.molecules.get(g(o));if(e)return Gn(e,i,n);if(n.config.lifespan==="immortal"){const c=Qi(i,o);return n.logger.error("\u274C",c.type,c.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),c}return a=_n(n,i,o),a}function un(n,...i){let o,a;if(i.length===1)o=i[0],a=o.key;else{const c=i[0],l=i[1];o=c.type==="molecule_family"?Z(n,c,l)??Qi(c,l):L(n,c,l)}try{h(o,n)}catch(c){const l=n.disposalTraces.buffer.find((t)=>t?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,l?`\n This state was most recently disposed\n${l.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":le(o,n);break;case"selector":case"readonly_selector":il(o,n);break;case"molecule":sa(o,n);break}const{stack:e}=new Error;if(e){const c=e?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:c})}}var pa=(n,i)=>v(i).atoms.has(n),hm=(n,i)=>v(i).selectors.has(n),Xm=(n,i)=>v(i).readonlySelectors.has(n),ol=(n,i)=>pa(n,i)||hm(n,i)||Xm(n,i);var ma=(n,i)=>{return v(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([a,{source:e}])=>e!==n).map(([a,{source:e}])=>e).filter((a)=>ol(a,i))};var te=(n,i,o)=>{const a=[],e=ma(n,o);while(e.length>0){const c=e.shift();if(i.has(c))continue;if(i.add(c),!pa(c,o))e.push(...ma(c,o));else if(!a.includes(c))a.push(c)}return a},al=(n,i)=>{const o=n.key,a=ma(o,i),e=new Set;return a.flatMap((c)=>pa(c,i)?c:te(c,e,i))};var el=(n,i,o,a)=>{const e=v(a);if(i.type==="atom"||i.type==="mutable_atom")e.selectorAtoms.set({selectorKey:n,atomKey:i.key}),a.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const c=te(i.key,o,a);a.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${c.map((l)=>`"${l}"`).join(", ")} ]`);for(let l of c)e.selectorAtoms=e.selectorAtoms.set({selectorKey:n,atomKey:l})}o.add(i.key)};var ra=(n,i,o)=>({get:(...a)=>{const e=v(o);let c;if(a.length===2){const[s,p]=a;switch(s.type){case"molecule_family":return I(o,s,p);default:if(o.config.lifespan==="ephemeral")c=L(o,s,p);else{const m=Z(o,s,p);if(m)c=m;else throw new dn(s,p,o)}}}else[c]=a;if(c.type==="molecule")return I(o,c);const l=h(c,o),t=pi(l,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${c.key}" =`,t,")"),e.selectorGraph.set({upstreamSelectorKey:c.key,downstreamSelectorKey:n},{source:c.key}),el(n,c,i,o),t},set:(...a)=>{let e,c;if(a.length===2)e=a[0],c=a[1];else{const s=a[0],p=a[1];c=a[2];const m=o.config.lifespan==="ephemeral"?L(o,s,p):Z(o,s,p);if(!m)throw new dn(s,p,o);e=m}const l=v(o),t=h(e,l);ia(t,c,l)},find:(a,e)=>L(o,a,e),seek:(a,e)=>Z(o,a,e),json:(a)=>sn(o,a)});var Ao=(n,i,o)=>{const a=v(n),e=new C,c=new Set,{get:l,find:t,seek:s,json:p}=ra(i.key,c,a),m=()=>{const y=i.get({get:l,find:t,seek:s,json:p});return Wn(i.key,y,e,v(n)),c.clear(),y},r={...i,subject:e,install:(y)=>Ao(y,i,o),get:m,type:"readonly_selector",...o&&{family:o}};a.readonlySelectors.set(i.key,r);const S=m();n.logger.info("\u2728",r.type,r.key,"=",S);const K={key:i.key,type:"readonly_selector"};if(o)K.family=o;return K};var zo=(n,i,o)=>{const a=v(n),e=new C,c=new Set,l=ra(i.key,c,a),{find:t,get:s,seek:p,json:m}=l,r={find:t,get:s,seek:p,json:m},S=(w=i.get,d=v(n))=>{const W=w(r);return Wn(i.key,W,e,d),c.clear(),W},y={...i,subject:e,install:(w)=>zo(w,i,o),get:S,set:(w)=>{const d=v(n),W=S(i.get,d),U=na(w)(W);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",W,"->",U,")"),Wn(i.key,U,e,d),Hi(d,i.key),en(d))e.next({newValue:U,oldValue:W});i.set(l,U)},type:"selector",...o&&{family:o}};a.selectors.set(i.key,y);const T=S();n.logger.info("\u2728",y.type,y.key,"=",T);const f={key:i.key,type:"selector"};if(o)f.family=o;return f};function Mo(n,i){if("set"in i){const e=zo(n,i,void 0);return n.on.selectorCreation.next(e),e}const a=Ao(n,i,void 0);return n.on.selectorCreation.next(a),a}function il(n,i){const o=v(i),{key:a}=n,e=h(n,o);if(!e.family)i.logger.error("\u274C","selector",a,"Standalone selectors cannot be disposed.");else{const c=o.molecules.get(e.family.subKey);if(c)c.tokens.delete(a);switch(n.type){case"selector":o.selectors.delete(a),h({key:e.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(a),h({key:e.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(a),o.selectorAtoms.delete(a),o.selectorGraph.delete(a),i.logger.info("\uD83D\uDD25",n.type,a,"deleted"),k(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function Jo(n,i,o){const a={key:i.key,type:"selector_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K=zo(S,{key:r,get:i.get(s),set:i.set(s)},m);return c.next({type:"state_creation",token:K}),K},a,{internalRoles:o,subject:c,install:(s)=>Jo(s,i),default:(s)=>{return i.get(s)({get:(...m)=>I(n,...m),find:(m,r)=>L(n,m,r),seek:(m,r)=>Z(n,m,r),json:(m)=>sn(n,m)})}});return n.families.set(i.key,t),a}function cl(n,i,o=Y.STORE){const a=Jo(o,{key:`${n.key}:JSON`,get:(c)=>({seek:l,get:t})=>{const s=l(n,c);if(s)return i.toJson(t(s));const p=g(c),m=o.molecules.get(p);if(m){const S=Gn(m,n,o);return i.toJson(t(S))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${p}"`);const r=_n(o,n,c);return i.toJson(t(r))},set:(c)=>({seek:l,set:t},s)=>{const p=l(n,c);if(p)t(p,i.fromJson(s));else{const m=g(c),r=o.molecules.get(m);if(r){const S=Gn(r,n,o);t(S,i.fromJson(s))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${m}"`);t(_n(o,n,c),i.fromJson(s))}}}},["mutable","json"]);return h(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(c)=>{if(c.token.family)Z(o,a,cn(c.token.family.subKey))}),a}var cn=(n)=>JSON.parse(n),g=(n)=>JSON.stringify(n),LF=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var ll=(n,i)=>{const o=v(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var me=(n,i)=>{const o=v(i);return al(n,i).map((e)=>{const c=o.atoms.get(e);if(c===void 0)throw new Error(`Atom "${e}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return c.subject.subscribe(`${n.type}:${n.key}`,(l)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",e,"went",l.oldValue,"->",l.newValue);const t=ll(n,o),s=pi(n,o);i.logger.info("\u2728",n.type,n.key,"went",t,"->",s),n.subject.next({newValue:s,oldValue:t})})})};function Sn(n,i,o,a){function e(r){if(a.operation.open){const S=a.on.operationClose.subscribe(`state subscription ${o}`,()=>{S(),i(r)})}else i(r)}const c=h(n,a);a.logger.info("\uD83D\uDC40",c.type,c.key,`Adding subscription "${o}"`);const l=c.type==="selector"||c.type==="readonly_selector";let t=null,s=e;if(l)t=me(c,a),s=(r)=>{if(t)t.length=0,t.push(...me(c,a));e(r)};const p=c.subject.subscribe(o,s);return()=>{if(a.logger.info("\uD83D\uDE48",c.type,c.key,`Removing subscription "${o}"`),p(),t)for(let r of t)r()}}var se=(n,i,o,a)=>{const e=h(n,a);a.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const c=e.subject.subscribe(o,i);return()=>{a.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),c()}};var pe=(n,i,o,a)=>{const e=h(n,a);a.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const c=e.subject.subscribe(o,i);return()=>{a.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),c()}};class mi{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const a=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,e=li(i,{key:o,default:null},a);if(i.parent?.valueMap.has(o)){const c=i.parent.valueMap.get(o);i.valueMap.set(o,c)}return e}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const a=`tracker:${o.config.name}:${k(o)?o.transactionMeta.update.key:"main"}:${n.key}`,e=I(o,n);this.unsubscribeFromInnerValue=e.subscribe(a,(c)=>{D(o,i,c)}),this.unsubscribeFromState=Sn(n,(c)=>{if(c.newValue!==c.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=c.newValue.subscribe(a,(l)=>{D(o,i,l)})},a,o)}updateCore(n,i,o){const a=`tracker:${o.config.name}:${k(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Sn(i,({newValue:e,oldValue:c})=>{const l=o.timelineTopics.getRelatedKey(i.key);if(l){if(o.timelines.get(l)?.timeTraveling){const p=se({key:l,type:"timeline"},(m)=>{p(),D(o,n,(r)=>{if(m==="redo"&&e)r.do(e);else if(m==="undo"&&c)r.undo(c);return r})},a,o);return}}const t=o.on.operationClose.subscribe(a,()=>{t();const s=I(o,n),p=e===null?-1:s.getUpdateNumber(e),m=p-s.cacheUpdateNumber;if(e&&m===1)D(o,n,(r)=>(r.do(e),r));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${s.cacheUpdateNumber+1}, but got ${p}`)})},a,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=v(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function go(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const a=v(n),e=a.atoms.get(i.key);if(e&&e.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),jn(e);const c=new C,l={...i,type:"mutable_atom",install:(p)=>{return p.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${p.config.name}"`),go(p,i,o)},subject:c};if(o)l.family=o;const t=i.default();a.atoms.set(l.key,l),ua(i.key,n),Wn(i.key,t,c,a);const s=jn(l);if(i.effects){let p=0;const m=[];for(let r of i.effects){const S=r({setSelf:(K)=>{D(n,s,K)},onSet:(K)=>Sn(s,K,`effect[${p}]`,n)});if(S)m.push(S);++p}l.cleanup=()=>{for(let r of m)r()}}if(new mi(s,n),!o)$c(s,i,n);return s}class re{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=ci(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=h(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(a)=>{if(a.token.family){const e=cn(a.token.family.subKey);Z(i,this.latestUpdateAtoms,e),new mi(a.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(a)=>{if(a.token.family){const e=cn(a.token.family.subKey),c=Z(i,this.mutableAtoms,e);if(c)new mi(c,i)}})}}function Ro(n,i,o){const a={key:i.key,type:"mutable_atom_family"},e=n.families.get(i.key);if(e)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Yn(e)} "${e.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const c=new C,t=Object.assign((s)=>{const p=g(s),m={key:i.key,subKey:p},r=`${i.key}(${p})`,S=v(n),K={key:r,default:()=>i.default(s),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)K.effects=i.effects(s);const y=go(S,K,m);return c.next({type:"state_creation",token:y}),y},a,{subject:c,install:(s)=>Ro(s,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,t),cl(t,i,n),new re(t,n),a}var Za=(n,i)=>{const o=v(i),a=`${n.key}:JSON`;return o.families.get(a)};var sn=(n,i)=>{if(i.family){const a=v(n),c={key:`${i.family.key}:JSON`,type:"selector_family"},l=h(c,a),t=JSON.parse(i.family.subKey);return L(n,l,t)}return{type:"selector",key:`${i.key}:JSON`}};var Pn=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function Qc(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function $o(n,i,o){const a=i.valueMap.get(n.key),e=o.valueMap.get(n.key);if(a===e){if(a===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const c=n.toJson(a),l=n.fromJson(c);return o.valueMap.set(n.key,l),new mi(n,i),l}return e}function Wn(n,i,o,a){const e=a.valueMap.get(n);if(e instanceof Fo)e.use(i);if(i instanceof Promise){const c=new Fo(i);return a.valueMap.set(n,c),c.then((l)=>{Wn(n,l,o,a),o.next({newValue:l,oldValue:c})}).catch((l)=>{a.logger.error("\uD83D\uDCA5","state",n,"rejected:",l)}),c}return a.valueMap.set(n,i),i}var zc=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&k(i)){const{parent:a}=i;o=$o(n,a,i)}return o},Yc=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof Fo){const a=o,e=i.selectors.get(n)??i.readonlySelectors.get(n);if(e)a.use(e.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var Bc=(n,i)=>{return v(i).atomsThatAreDefault.has(n)},ua=(n,i)=>{const o=v(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},Cc=(n,i)=>{const o=v(i);o.atomsThatAreDefault=new Set(v(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function li(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const a=v(n),e=a.atoms.get(i.key);if(e&&e.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),jn(e);const c=new C,l={...i,type:"atom",install:(p)=>{return p.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${p.config.name}"`),li(p,i,o)},subject:c};if(o)l.family=o;let t=i.default;if(i.default instanceof Function)t=i.default();a.atoms.set(l.key,l),ua(i.key,n),Wn(i.key,t,c,a);const s=jn(l);if(i.effects){let p=0;const m=[];for(let r of i.effects){const S=r({setSelf:(K)=>{D(n,s,K)},onSet:(K)=>Sn(s,K,`effect[${p}]`,n)});if(S)m.push(S);++p}l.cleanup=()=>{for(let r of m)r()}}return s}function tl(n,i){if("mutable"in i){const e=go(n,i,void 0);return n.on.atomCreation.next(e),e}const a=li(n,i,void 0);return n.on.atomCreation.next(a),a}function le(n,i){const o=v(i),{key:a}=n,e=h(n,o);if(!e.family)i.logger.error("\u274C","atom",a,"Standalone atoms cannot be disposed.");else{e.cleanup?.();const c=i.valueMap.get(e.key);h({key:e.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:c});const t=o.molecules.get(e.family.subKey);if(t)t.tokens.delete(a);if(o.atoms.delete(a),o.valueMap.delete(a),o.selectorAtoms.delete(a),o.atomsThatAreDefault.delete(a),i.timelineTopics.delete(a),n.type==="mutable_atom"){const s=Pn(n);le(s,i),i.trackers.delete(a)}if(i.logger.info("\uD83D\uDD25","atom",a,"deleted"),k(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}function ri(n){return tl(Y.STORE,n)}function Fi(n){return jc(Y.STORE,n)}var ue=(n)=>(i,o,a,e,...c)=>{console[n](`${i} ${o} "${a}" ${e}`,...c)},Ym={error:ue("error"),info:ue("info"),warn:ue("warn")};class Wo{n;i;o;constructor(n,i,o=Ym){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}function xa(n){return Da(Y.STORE,n)}function Mi(n){return ce(n,Y.STORE)}class Vi{n;listeners;globalListeners;handleEvent(n,...i){for(let a of this.globalListeners)a(n,...i);const o=this.listeners.get(n);if(o)for(let a of o)a(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){const o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){const o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class Oo extends Vi{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((a,...e)=>{const c=JSON.stringify([a,...e])+"\x03",l=(t)=>{if(t.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",l)};return this.process.stdin.once("error",l),this.process.stdin.write(c),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(a)=>{const e=a.toString();if(e==="\u2728")return;this.unprocessedEvents.push(...e.split("\x03"));const c=this.unprocessedEvents.shift();this.incompleteData+=c??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let l=cn(this.incompleteData);this.handleEvent(...l);while(this.unprocessedEvents.length>0){const t=this.unprocessedEvents.shift();if(t){if(this.unprocessedEvents.length===0)this.incompleteData=t;l=cn(t),this.handleEvent(...l)}}this.incompleteData=""}catch(l){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(l)}}),this.process.stderr.on("data",(a)=>{const e=a.toString();this.unprocessedLogs.push(...e.split("\x03"));const c=this.unprocessedLogs.shift();this.incompleteLog+=c??"";try{let l=cn(this.incompleteLog);this.handleLog(l);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)l=cn(this.incompleteLog),this.handleLog(l)}catch(l){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(l),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class sl extends Vi{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new C,this.out=new C,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class xe extends Vi{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(g(n.map((i)=>i instanceof pn?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{const o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const a=cn(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",a),this.handleEvent(...a);while(this.unprocessedEvents.length>0){const e=this.unprocessedEvents.shift();if(e){if(this.unprocessedEvents.length===0)this.incompleteData=e;const c=cn(e);this.handleEvent(...c)}}this.incompleteData=""}catch(a){if(a instanceof Error)this.logger.error("\u2757",a.message,a.cause,a.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");const i=new sl(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const a=o(i);if(a)i.disposalFunctions.push(a)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function ml(n){const{key:i,config:o}=n,a=fa.create(i,o),{actions:e}=a;for(let c of e)qc(i,c.key,Y.STORE);return Ic(i,-1,Y.STORE),a}class pl extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class fa{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new pl;static create(n,i){const o=new fa(n),{type:a,globals:e,actions:c,perspectives:l}=i(o),t={type:a,key:n,globals:e,actions:c,perspectives:l};return fa.existing.set(n,t),t}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":{const[o,a]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:a})}break}return this}}var DA=ri({key:"usersInRoomIndex",mutable:!0,default:()=>new pn,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),fe=ri({key:"roomIndex",default:()=>new pn,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),Gm={enteredAtEpoch:0},ho=ea({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},Gm),_A=xa({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=kc(ho);return[i(o,n)]}});import{spawn as Qm}from"child_process";var ve=Fi({key:"roomArguments",default:["echo",["Hello World!"]]}),rl=xa({key:"room",get:(n)=>async({get:i,find:o})=>{const a=o(ve,n),e=i(a),[c,l]=e,t=await new Promise((s)=>{const p=Qm(c,l,{env:process.env}),m=(r)=>{if(r.toString()==="\u2728")p.stdout.off("data",m),s(p)};p.stdout.on("data",m)});return new Oo(t,n)}});var mJ=Mi({key:"createRoom",do:({get:n,set:i,find:o},a,e,c)=>{const l=c?[e,c]:[e],t=o(ve,a);i(t,l),i(fe,(m)=>m.add(a));const s=o(rl,a);return n(s)}}),rJ=Mi({key:"joinRoom",do:(n,i,o,a)=>{const e={enteredAtEpoch:a};return di(ho,(c)=>{c.set({room:i,user:o},e)},n.env().store),e}}),uJ=Mi({key:"leaveRoom",do:(n,i,o)=>{di(ho,(a)=>{a.delete({room:i,user:o})},n.env().store)}}),xJ=Mi({key:"destroyRoom",do:(n,i)=>{di(ho,(o)=>{o.delete({room:i})},n.env().store),n.set(fe,(o)=>(o.delete(i),o))}});function be(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const a=be(n,o.updates);return{...o,updates:a}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var bJ=Fi({key:"transactionRedactor",default:{occlude:(n)=>n}}),ul=Fi({key:"unacknowledgedUpdates",default:()=>[]});var Xo=Fi({key:"sockets",default:null}),Se=ri({key:"socketsIndex",mutable:!0,default:()=>new pn,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),ye=ri({key:"usersIndex",mutable:!0,default:()=>new pn,toJson:(n)=>n.toJSON(),fromJson:(n)=>pn.fromJSON(n)}),Ri=ea({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function xl({socket:n,store:i=Y.STORE}){return function o(a){let e=n;const c=a.key,l=Ci(Ri,e.id,i).userKeyOfSocket,t=I(i,l);if(!t)return i.logger.error("\u274C","continuity",c,`Tried to create a synchronizer for a socket (${e.id}) that is not connected to a user.`),()=>{};const s=Ci(Ri,t,i).socketKeyOfUser;Sn(s,({newValue:w})=>{if(i.logger.info("\uD83D\uDC4B","continuity",c,`seeing ${t} on new socket ${w}`),w===null){i.logger.warn("\u274C","continuity",c,`User (${t}) is not connected to a socket, waiting for them to reappear.`);return}const d=L(i,Xo,w);e=I(i,d);for(let U of m)e?.emit(`tx-new:${c}`,U)},`sync-continuity:${c}:${t}`,i);const p=L(i,ul,t),m=I(i,p),r=[],K=(()=>{const w=[];for(let d of a.perspectives){const{viewAtoms:W}=d,U=L(i,W,t),b=Sn(U,({oldValue:u,newValue:R})=>{const A=u.map((B)=>B.key),J=R.map((B)=>B.key),j=u.filter((B)=>!J.includes(B.key)),G=R.filter((B)=>!A.includes(B.key)).flatMap((B)=>{const P=B.type==="mutable_atom"?sn(i,B):B,Xn=I(i,P);return[P,Xn]});if(i.logger.info("\uD83D\uDC41","atom",d.resourceAtoms.key,`${t} has a new perspective`,{oldKeys:A,newKeys:J,revealed:G,concealed:j}),G.length>0)e?.emit(`reveal:${c}`,G);if(j.length>0)e?.emit(`conceal:${c}`,j)},`sync-continuity:${c}:${t}:perspective:${d.resourceAtoms.key}`,i);w.push(b)}return()=>{for(let d of w)d()}})(),y=()=>{const w=[];for(let W of a.globals){const U=W.type==="mutable_atom"?sn(i,W):W,b=I(i,U);w.push(U,b)}for(let W of a.perspectives){const{viewAtoms:U,resourceAtoms:b}=W,u=L(i,U,t),R=I(i,u);i.logger.info("\uD83D\uDC41","atom",b.key,`${t} can see`,{viewAtoms:U,resourceAtoms:b,userView:R});for(let A of R){const J=A.type==="mutable_atom"?sn(i,A):A,j=I(i,J);w.push(J,j)}}const d=en(i)?i.transactionMeta.epoch.get(c)??null:null;e?.emit(`continuity-init:${c}`,d,w);for(let W of a.actions){const U=pe(W,(b)=>{try{const u=a.globals.map((J)=>{if(J.type==="atom")return J.key;return Pn(J).key}).concat(a.perspectives.flatMap((J)=>{const{viewAtoms:j}=J,G=L(i,j,t);return I(i,G).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),R=be(u,b.updates),A={...b,updates:R};D(i,p,(J)=>{if(A)J.push(A),J.sort((j,G)=>j.epoch-G.epoch);return J}),e?.emit(`tx-new:${c}`,A)}catch(u){if(u instanceof Error)i.logger.error("\u274C","continuity",c,`failed to send update from transaction ${W.key} to ${t}`,u.message)}},`sync-continuity:${c}:${t}`,i);r.push(U)}};e.off(`get:${c}`,y),e.on(`get:${c}`,y);const T=(w)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",c,"received",w);const{key:d,id:W}=w,U=`tx-run:${d}:${W}`,b=`${U}:start`,u=`${U}:end`;performance.mark(b);try{si({type:"transaction",key:d},W,i)(...w.params)}catch(G){if(G instanceof Error)i.logger.error("\u274C","continuity",c,`failed to run transaction ${d} with update ${W}`,G.message)}performance.mark(u);const R=performance.measure(U,b,u);i?.logger.info("\uD83D\uDE80","transaction",d,W,R.duration);const A=`valuesOfCardsView("${t}")`,J=i.selectorAtoms.getRelatedKeys(A),j=i.valueMap.get(A);i.logger.info("\uD83D\uDC41","continuity",c,`seeing ${t} card values`,{valuesOfCardsViewKey:A,rootsOfCardValueView:J,myCardValueView:j})};e.off(`tx-run:${c}`,T),e.on(`tx-run:${c}`,T);const f=(w)=>{if(i.logger.info("\uD83D\uDC4D","continuity",c,`${t} acknowledged epoch ${w}`),m[0]?.epoch===w)D(i,p,(W)=>{return W.shift(),W})};return e?.on(`ack:${c}`,f),()=>{for(let w of r)w();e?.off(`ack:${c}`,f),K(),e?.off(`get:${c}`,y),e?.off(`tx-run:${c}`,T)}}}var Pp=Jc(qp(),1),{Server:Zp,Namespace:uK,Socket:xK}=Pp.default;import{spawn as Pb}from"child_process";import{resolve as Zb}from"path";function Wv(n){om=n}function Ca(){return om}function F(n,i){const o=Ca(),a=Va({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===to?void 0:to].filter((e)=>!!e)});n.common.issues.push(a)}function Ea(n,i,o,a){if(o==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?n!==i||!a:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?a:o==="a"?a.call(n):a?a.value:i.get(n)}function am(n,i,o,a,e){if(a==="m")throw new TypeError("Private method is not writable");if(a==="a"&&!e)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?n!==i||!e:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return a==="a"?e.call(n,o):e?e.value=o:i.set(n,o),o}function H(n){if(!n)return{};const{errorMap:i,invalid_type_error:o,required_error:a,description:e}=n;if(i&&(o||a))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(i)return{errorMap:i,description:e};return{errorMap:(l,t)=>{var s,p;const{message:m}=n;if(l.code==="invalid_enum_value")return{message:m!==null&&m!==void 0?m:t.defaultError};if(typeof t.data==="undefined")return{message:(s=m!==null&&m!==void 0?m:a)!==null&&s!==void 0?s:t.defaultError};if(l.code!=="invalid_type")return{message:t.defaultError};return{message:(p=m!==null&&m!==void 0?m:o)!==null&&p!==void 0?p:t.defaultError}},description:e}}function cm(n){let i="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(n.precision)i=`${i}\\.\\d{${n.precision}}`;else if(n.precision==null)i=`${i}(\\.\\d+)?`;return i}function Uv(n){return new RegExp(`^${cm(n)}\$`)}function lm(n){let i=`${em}T${cm(n)}`;const o=[];if(o.push(n.local?"Z?":"Z"),n.offset)o.push("([+-]\\d{2}:?\\d{2})");return i=`${i}(${o.join("|")})`,new RegExp(`^${i}\$`)}function kv(n,i){if((i==="v4"||!i)&&Bv.test(n))return!0;if((i==="v6"||!i)&&Cv.test(n))return!0;return!1}function Lv(n,i){const o=(n.toString().split(".")[1]||"").length,a=(i.toString().split(".")[1]||"").length,e=o>a?o:a,c=parseInt(n.toFixed(e).replace(".","")),l=parseInt(i.toFixed(e).replace(".",""));return c%l/Math.pow(10,e)}function eo(n){if(n instanceof on){const i={};for(let o in n.shape){const a=n.shape[o];i[o]=Un.create(eo(a))}return new on({...n._def,shape:()=>i})}else if(n instanceof En)return new En({...n._def,type:eo(n.element)});else if(n instanceof Un)return Un.create(eo(n.unwrap()));else if(n instanceof ai)return ai.create(eo(n.unwrap()));else if(n instanceof Dn)return Dn.create(n.items.map((i)=>eo(i)));else return n}function Sc(n,i){const o=bi(n),a=bi(i);if(n===i)return{valid:!0,data:n};else if(o===M.object&&a===M.object){const e=N.objectKeys(i),c=N.objectKeys(n).filter((t)=>e.indexOf(t)!==-1),l={...n,...i};for(let t of c){const s=Sc(n[t],i[t]);if(!s.valid)return{valid:!1};l[t]=s.data}return{valid:!0,data:l}}else if(o===M.array&&a===M.array){if(n.length!==i.length)return{valid:!1};const e=[];for(let c=0;c<n.length;c++){const l=n[c],t=i[c],s=Sc(l,t);if(!s.valid)return{valid:!1};e.push(s.data)}return{valid:!0,data:e}}else if(o===M.date&&a===M.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}function tm(n,i){return new wi({values:n,typeName:O.ZodEnum,...H(i)})}function sm(n,i={},o){if(n)return hi.create().superRefine((a,e)=>{var c,l;if(!n(a)){const t=typeof i==="function"?i(a):typeof i==="string"?{message:i}:i,s=(l=(c=t.fatal)!==null&&c!==void 0?c:o)!==null&&l!==void 0?l:!0,p=typeof t==="string"?{message:t}:t;e.addIssue({code:"custom",...p,fatal:s})}});return hi.create()}var N;(function(n){n.assertEqual=(e)=>e;function i(e){}n.assertIs=i;function o(e){throw new Error}n.assertNever=o,n.arrayToEnum=(e)=>{const c={};for(let l of e)c[l]=l;return c},n.getValidEnumValues=(e)=>{const c=n.objectKeys(e).filter((t)=>typeof e[e[t]]!=="number"),l={};for(let t of c)l[t]=e[t];return n.objectValues(l)},n.objectValues=(e)=>{return n.objectKeys(e).map(function(c){return e[c]})},n.objectKeys=typeof Object.keys==="function"?(e)=>Object.keys(e):(e)=>{const c=[];for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l))c.push(l);return c},n.find=(e,c)=>{for(let l of e)if(c(l))return l;return},n.isInteger=typeof Number.isInteger==="function"?(e)=>Number.isInteger(e):(e)=>typeof e==="number"&&isFinite(e)&&Math.floor(e)===e;function a(e,c=" | "){return e.map((l)=>typeof l==="string"?`'${l}'`:l).join(c)}n.joinValues=a,n.jsonStringifyReplacer=(e,c)=>{if(typeof c==="bigint")return c.toString();return c}})(N||(N={}));var fc;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(fc||(fc={}));var M=N.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),bi=(n)=>{switch(typeof n){case"undefined":return M.undefined;case"string":return M.string;case"number":return isNaN(n)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":if(Array.isArray(n))return M.array;if(n===null)return M.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return M.promise;if(typeof Map!=="undefined"&&n instanceof Map)return M.map;if(typeof Set!=="undefined"&&n instanceof Set)return M.set;if(typeof Date!=="undefined"&&n instanceof Date)return M.date;return M.object;default:return M.unknown}},x=N.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),jv=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Kn extends Error{constructor(n){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const i=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,i);else this.__proto__=i;this.name="ZodError",this.issues=n}get errors(){return this.issues}format(n){const i=n||function(e){return e.message},o={_errors:[]},a=(e)=>{for(let c of e.issues)if(c.code==="invalid_union")c.unionErrors.map(a);else if(c.code==="invalid_return_type")a(c.returnTypeError);else if(c.code==="invalid_arguments")a(c.argumentsError);else if(c.path.length===0)o._errors.push(i(c));else{let l=o,t=0;while(t<c.path.length){const s=c.path[t];if(t!==c.path.length-1)l[s]=l[s]||{_errors:[]};else l[s]=l[s]||{_errors:[]},l[s]._errors.push(i(c));l=l[s],t++}}};return a(this),o}static assert(n){if(!(n instanceof Kn))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,N.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=(i)=>i.message){const i={},o=[];for(let a of this.issues)if(a.path.length>0)i[a.path[0]]=i[a.path[0]]||[],i[a.path[0]].push(n(a));else o.push(n(a));return{formErrors:o,fieldErrors:i}}get formErrors(){return this.flatten()}}Kn.create=(n)=>{return new Kn(n)};var to=(n,i)=>{let o;switch(n.code){case x.invalid_type:if(n.received===M.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case x.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,N.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:o=`Unrecognized key(s) in object: ${N.joinValues(n.keys,", ")}`;break;case x.invalid_union:o="Invalid input";break;case x.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${N.joinValues(n.options)}`;break;case x.invalid_enum_value:o=`Invalid enum value. Expected ${N.joinValues(n.options)}, received '${n.received}'`;break;case x.invalid_arguments:o="Invalid function arguments";break;case x.invalid_return_type:o="Invalid function return type";break;case x.invalid_date:o="Invalid date";break;case x.invalid_string:if(typeof n.validation==="object")if("includes"in n.validation){if(o=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position==="number")o=`${o} at one or more positions greater than or equal to ${n.validation.position}`}else if("startsWith"in n.validation)o=`Invalid input: must start with "${n.validation.startsWith}"`;else if("endsWith"in n.validation)o=`Invalid input: must end with "${n.validation.endsWith}"`;else N.assertNever(n.validation);else if(n.validation!=="regex")o=`Invalid ${n.validation}`;else o="Invalid";break;case x.too_small:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`;else o="Invalid input";break;case x.too_big:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="bigint")o=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`;else o="Invalid input";break;case x.custom:o="Invalid input";break;case x.invalid_intersection_types:o="Intersection results could not be merged";break;case x.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case x.not_finite:o="Number must be finite";break;default:o=i.defaultError,N.assertNever(n)}return{message:o}},om=to,Va=(n)=>{const{data:i,path:o,errorMaps:a,issueData:e}=n,c=[...o,...e.path||[]],l={...e,path:c};if(e.message!==void 0)return{...e,path:c,message:e.message};let t="";const s=a.filter((p)=>!!p).slice().reverse();for(let p of s)t=p(l,{data:i,defaultError:t}).message;return{...e,path:c,message:t}},zv=[];class bn{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){const o=[];for(let a of i){if(a.status==="aborted")return X;if(a.status==="dirty")n.dirty();o.push(a.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){const o=[];for(let a of i){const e=await a.key,c=await a.value;o.push({key:e,value:c})}return bn.mergeObjectSync(n,o)}static mergeObjectSync(n,i){const o={};for(let a of i){const{key:e,value:c}=a;if(e.status==="aborted")return X;if(c.status==="aborted")return X;if(e.status==="dirty")n.dirty();if(c.status==="dirty")n.dirty();if(e.value!=="__proto__"&&(typeof c.value!=="undefined"||a.alwaysSet))o[e.value]=c.value}return{status:n.value,value:o}}}var X=Object.freeze({status:"aborted"}),co=(n)=>({status:"dirty",value:n}),Tn=(n)=>({status:"valid",value:n}),vc=(n)=>n.status==="aborted",bc=(n)=>n.status==="dirty",ko=(n)=>n.status==="valid",Lo=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;var z;(function(n){n.errToObj=(i)=>typeof i==="string"?{message:i}:i||{},n.toString=(i)=>typeof i==="string"?i:i===null||i===void 0?void 0:i.message})(z||(z={}));var Eo,Uo;class kn{constructor(n,i,o,a){this._cachedPath=[],this.parent=n,this.data=i,this._path=o,this._key=a}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var nm=(n,i)=>{if(ko(i))return{success:!0,data:i.value};else{if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const o=new Kn(n.common.issues);return this._error=o,this._error}}}};class V{constructor(n){this.spa=this.safeParseAsync,this._def=n,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(n){return bi(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:bi(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new bn,ctx:{common:n.parent.common,data:n.data,parsedType:bi(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Lo(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){const i=this._parse(n);return Promise.resolve(i)}parse(n,i){const o=this.safeParse(n,i);if(o.success)return o.data;throw o.error}safeParse(n,i){var o;const a={common:{issues:[],async:(o=i===null||i===void 0?void 0:i.async)!==null&&o!==void 0?o:!1,contextualErrorMap:i===null||i===void 0?void 0:i.errorMap},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:bi(n)},e=this._parseSync({data:n,path:a.path,parent:a});return nm(a,e)}async parseAsync(n,i){const o=await this.safeParseAsync(n,i);if(o.success)return o.data;throw o.error}async safeParseAsync(n,i){const o={common:{issues:[],contextualErrorMap:i===null||i===void 0?void 0:i.errorMap,async:!0},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:bi(n)},a=this._parse({data:n,path:o.path,parent:o}),e=await(Lo(a)?a:Promise.resolve(a));return nm(o,e)}refine(n,i){const o=(a)=>{if(typeof i==="string"||typeof i==="undefined")return{message:i};else if(typeof i==="function")return i(a);else return i};return this._refinement((a,e)=>{const c=n(a),l=()=>e.addIssue({code:x.custom,...o(a)});if(typeof Promise!=="undefined"&&c instanceof Promise)return c.then((t)=>{if(!t)return l(),!1;else return!0});if(!c)return l(),!1;else return!0})}refinement(n,i){return this._refinement((o,a)=>{if(!n(o))return a.addIssue(typeof i==="function"?i(o,a):i),!1;else return!0})}_refinement(n){return new hn({schema:this,typeName:O.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Un.create(this,this._def)}nullable(){return ai.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return En.create(this,this._def)}promise(){return Yi.create(this,this._def)}or(n){return ro.create([this,n],this._def)}and(n){return uo.create(this,n,this._def)}transform(n){return new hn({...H(this._def),schema:this,typeName:O.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new bo({...H(this._def),innerType:this,defaultValue:i,typeName:O.ZodDefault})}brand(){return new ka({typeName:O.ZodBranded,type:this,...H(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new So({...H(this._def),innerType:this,catchValue:i,typeName:O.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return Po.create(this,n)}readonly(){return yo.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var gv=/^c[^\s-]{8,}$/i,Ov=/^[0-9a-z]+$/,hv=/^[0-9A-HJKMNP-TV-Z]{26}$/,Xv=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Yv=/^[a-z0-9_-]{21}$/i,Gv=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Qv=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Hv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xc,Bv=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Cv=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Vv=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,em="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ev=new RegExp(`^${em}\$`);class Vn extends V{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==M.string){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.string,received:e.parsedType}),X}const o=new bn;let a=void 0;for(let e of this._def.checks)if(e.kind==="min"){if(n.data.length<e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_small,minimum:e.value,type:"string",inclusive:!0,exact:!1,message:e.message}),o.dirty()}else if(e.kind==="max"){if(n.data.length>e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_big,maximum:e.value,type:"string",inclusive:!0,exact:!1,message:e.message}),o.dirty()}else if(e.kind==="length"){const c=n.data.length>e.value,l=n.data.length<e.value;if(c||l){if(a=this._getOrReturnCtx(n,a),c)F(a,{code:x.too_big,maximum:e.value,type:"string",inclusive:!0,exact:!0,message:e.message});else if(l)F(a,{code:x.too_small,minimum:e.value,type:"string",inclusive:!0,exact:!0,message:e.message});o.dirty()}}else if(e.kind==="email"){if(!Qv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"email",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="emoji"){if(!xc)xc=new RegExp(Hv,"u");if(!xc.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"emoji",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="uuid"){if(!Xv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"uuid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="nanoid"){if(!Yv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"nanoid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="cuid"){if(!gv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"cuid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="cuid2"){if(!Ov.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"cuid2",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="ulid"){if(!hv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"ulid",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="url")try{new URL(n.data)}catch(c){a=this._getOrReturnCtx(n,a),F(a,{validation:"url",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="regex"){if(e.regex.lastIndex=0,!e.regex.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"regex",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="trim")n.data=n.data.trim();else if(e.kind==="includes"){if(!n.data.includes(e.value,e.position))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:{includes:e.value,position:e.position},message:e.message}),o.dirty()}else if(e.kind==="toLowerCase")n.data=n.data.toLowerCase();else if(e.kind==="toUpperCase")n.data=n.data.toUpperCase();else if(e.kind==="startsWith"){if(!n.data.startsWith(e.value))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:{startsWith:e.value},message:e.message}),o.dirty()}else if(e.kind==="endsWith"){if(!n.data.endsWith(e.value))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:{endsWith:e.value},message:e.message}),o.dirty()}else if(e.kind==="datetime"){if(!lm(e).test(n.data))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:"datetime",message:e.message}),o.dirty()}else if(e.kind==="date"){if(!Ev.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:"date",message:e.message}),o.dirty()}else if(e.kind==="time"){if(!Uv(e).test(n.data))a=this._getOrReturnCtx(n,a),F(a,{code:x.invalid_string,validation:"time",message:e.message}),o.dirty()}else if(e.kind==="duration"){if(!Gv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"duration",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="ip"){if(!kv(n.data,e.version))a=this._getOrReturnCtx(n,a),F(a,{validation:"ip",code:x.invalid_string,message:e.message}),o.dirty()}else if(e.kind==="base64"){if(!Vv.test(n.data))a=this._getOrReturnCtx(n,a),F(a,{validation:"base64",code:x.invalid_string,message:e.message}),o.dirty()}else N.assertNever(e);return{status:o.value,value:n.data}}_regex(n,i,o){return this.refinement((a)=>n.test(a),{validation:i,code:x.invalid_string,...z.errToObj(o)})}_addCheck(n){return new Vn({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...z.errToObj(n)})}url(n){return this._addCheck({kind:"url",...z.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...z.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...z.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...z.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...z.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...z.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...z.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...z.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...z.errToObj(n)})}datetime(n){var i,o;if(typeof n==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:n});return this._addCheck({kind:"datetime",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,offset:(i=n===null||n===void 0?void 0:n.offset)!==null&&i!==void 0?i:!1,local:(o=n===null||n===void 0?void 0:n.local)!==null&&o!==void 0?o:!1,...z.errToObj(n===null||n===void 0?void 0:n.message)})}date(n){return this._addCheck({kind:"date",message:n})}time(n){if(typeof n==="string")return this._addCheck({kind:"time",precision:null,message:n});return this._addCheck({kind:"time",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,...z.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...z.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...z.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...z.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...z.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...z.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...z.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...z.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...z.errToObj(i)})}nonempty(n){return this.min(1,z.errToObj(n))}trim(){return new Vn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Vn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Vn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((n)=>n.kind==="datetime")}get isDate(){return!!this._def.checks.find((n)=>n.kind==="date")}get isTime(){return!!this._def.checks.find((n)=>n.kind==="time")}get isDuration(){return!!this._def.checks.find((n)=>n.kind==="duration")}get isEmail(){return!!this._def.checks.find((n)=>n.kind==="email")}get isURL(){return!!this._def.checks.find((n)=>n.kind==="url")}get isEmoji(){return!!this._def.checks.find((n)=>n.kind==="emoji")}get isUUID(){return!!this._def.checks.find((n)=>n.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((n)=>n.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((n)=>n.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((n)=>n.kind==="cuid2")}get isULID(){return!!this._def.checks.find((n)=>n.kind==="ulid")}get isIP(){return!!this._def.checks.find((n)=>n.kind==="ip")}get isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}get minLength(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxLength(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}Vn.create=(n)=>{var i;return new Vn({checks:[],typeName:O.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...H(n)})};class yi extends V{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(n){if(this._def.coerce)n.data=Number(n.data);if(this._getType(n)!==M.number){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.number,received:e.parsedType}),X}let o=void 0;const a=new bn;for(let e of this._def.checks)if(e.kind==="int"){if(!N.isInteger(n.data))o=this._getOrReturnCtx(n,o),F(o,{code:x.invalid_type,expected:"integer",received:"float",message:e.message}),a.dirty()}else if(e.kind==="min"){if(e.inclusive?n.data<e.value:n.data<=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_small,minimum:e.value,type:"number",inclusive:e.inclusive,exact:!1,message:e.message}),a.dirty()}else if(e.kind==="max"){if(e.inclusive?n.data>e.value:n.data>=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_big,maximum:e.value,type:"number",inclusive:e.inclusive,exact:!1,message:e.message}),a.dirty()}else if(e.kind==="multipleOf"){if(Lv(n.data,e.value)!==0)o=this._getOrReturnCtx(n,o),F(o,{code:x.not_multiple_of,multipleOf:e.value,message:e.message}),a.dirty()}else if(e.kind==="finite"){if(!Number.isFinite(n.data))o=this._getOrReturnCtx(n,o),F(o,{code:x.not_finite,message:e.message}),a.dirty()}else N.assertNever(e);return{status:a.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,z.toString(i))}gt(n,i){return this.setLimit("min",n,!1,z.toString(i))}lte(n,i){return this.setLimit("max",n,!0,z.toString(i))}lt(n,i){return this.setLimit("max",n,!1,z.toString(i))}setLimit(n,i,o,a){return new yi({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:z.toString(a)}]})}_addCheck(n){return new yi({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:z.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:z.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:z.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:z.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:z.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:z.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:z.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:z.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:z.toString(n)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}get isInt(){return!!this._def.checks.find((n)=>n.kind==="int"||n.kind==="multipleOf"&&N.isInteger(n.value))}get isFinite(){let n=null,i=null;for(let o of this._def.checks)if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;else if(o.kind==="min"){if(i===null||o.value>i)i=o.value}else if(o.kind==="max"){if(n===null||o.value<n)n=o.value}return Number.isFinite(i)&&Number.isFinite(n)}}yi.create=(n)=>{return new yi({checks:[],typeName:O.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...H(n)})};class Ti extends V{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)n.data=BigInt(n.data);if(this._getType(n)!==M.bigint){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.bigint,received:e.parsedType}),X}let o=void 0;const a=new bn;for(let e of this._def.checks)if(e.kind==="min"){if(e.inclusive?n.data<e.value:n.data<=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_small,type:"bigint",minimum:e.value,inclusive:e.inclusive,message:e.message}),a.dirty()}else if(e.kind==="max"){if(e.inclusive?n.data>e.value:n.data>=e.value)o=this._getOrReturnCtx(n,o),F(o,{code:x.too_big,type:"bigint",maximum:e.value,inclusive:e.inclusive,message:e.message}),a.dirty()}else if(e.kind==="multipleOf"){if(n.data%e.value!==BigInt(0))o=this._getOrReturnCtx(n,o),F(o,{code:x.not_multiple_of,multipleOf:e.value,message:e.message}),a.dirty()}else N.assertNever(e);return{status:a.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,z.toString(i))}gt(n,i){return this.setLimit("min",n,!1,z.toString(i))}lte(n,i){return this.setLimit("max",n,!0,z.toString(i))}lt(n,i){return this.setLimit("max",n,!1,z.toString(i))}setLimit(n,i,o,a){return new Ti({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:z.toString(a)}]})}_addCheck(n){return new Ti({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:z.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:z.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:z.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:z.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:z.toString(i)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}Ti.create=(n)=>{var i;return new Ti({checks:[],typeName:O.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...H(n)})};class so extends V{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==M.boolean){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.boolean,received:o.parsedType}),X}return Tn(n.data)}}so.create=(n)=>{return new so({typeName:O.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...H(n)})};class Oi extends V{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==M.date){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_type,expected:M.date,received:e.parsedType}),X}if(isNaN(n.data.getTime())){const e=this._getOrReturnCtx(n);return F(e,{code:x.invalid_date}),X}const o=new bn;let a=void 0;for(let e of this._def.checks)if(e.kind==="min"){if(n.data.getTime()<e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_small,message:e.message,inclusive:!0,exact:!1,minimum:e.value,type:"date"}),o.dirty()}else if(e.kind==="max"){if(n.data.getTime()>e.value)a=this._getOrReturnCtx(n,a),F(a,{code:x.too_big,message:e.message,inclusive:!0,exact:!1,maximum:e.value,type:"date"}),o.dirty()}else N.assertNever(e);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new Oi({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:z.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:z.toString(i)})}get minDate(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n!=null?new Date(n):null}get maxDate(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n!=null?new Date(n):null}}Oi.create=(n)=>{return new Oi({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:O.ZodDate,...H(n)})};class No extends V{_parse(n){if(this._getType(n)!==M.symbol){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.symbol,received:o.parsedType}),X}return Tn(n.data)}}No.create=(n)=>{return new No({typeName:O.ZodSymbol,...H(n)})};class po extends V{_parse(n){if(this._getType(n)!==M.undefined){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.undefined,received:o.parsedType}),X}return Tn(n.data)}}po.create=(n)=>{return new po({typeName:O.ZodUndefined,...H(n)})};class mo extends V{_parse(n){if(this._getType(n)!==M.null){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.null,received:o.parsedType}),X}return Tn(n.data)}}mo.create=(n)=>{return new mo({typeName:O.ZodNull,...H(n)})};class hi extends V{constructor(){super(...arguments);this._any=!0}_parse(n){return Tn(n.data)}}hi.create=(n)=>{return new hi({typeName:O.ZodAny,...H(n)})};class Si extends V{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Tn(n.data)}}Si.create=(n)=>{return new Si({typeName:O.ZodUnknown,...H(n)})};class In extends V{_parse(n){const i=this._getOrReturnCtx(n);return F(i,{code:x.invalid_type,expected:M.never,received:i.parsedType}),X}}In.create=(n)=>{return new In({typeName:O.ZodNever,...H(n)})};class Io extends V{_parse(n){if(this._getType(n)!==M.undefined){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.void,received:o.parsedType}),X}return Tn(n.data)}}Io.create=(n)=>{return new Io({typeName:O.ZodVoid,...H(n)})};class En extends V{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),a=this._def;if(i.parsedType!==M.array)return F(i,{code:x.invalid_type,expected:M.array,received:i.parsedType}),X;if(a.exactLength!==null){const c=i.data.length>a.exactLength.value,l=i.data.length<a.exactLength.value;if(c||l)F(i,{code:c?x.too_big:x.too_small,minimum:l?a.exactLength.value:void 0,maximum:c?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),o.dirty()}if(a.minLength!==null){if(i.data.length<a.minLength.value)F(i,{code:x.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),o.dirty()}if(a.maxLength!==null){if(i.data.length>a.maxLength.value)F(i,{code:x.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),o.dirty()}if(i.common.async)return Promise.all([...i.data].map((c,l)=>{return a.type._parseAsync(new kn(i,c,i.path,l))})).then((c)=>{return bn.mergeArray(o,c)});const e=[...i.data].map((c,l)=>{return a.type._parseSync(new kn(i,c,i.path,l))});return bn.mergeArray(o,e)}get element(){return this._def.type}min(n,i){return new En({...this._def,minLength:{value:n,message:z.toString(i)}})}max(n,i){return new En({...this._def,maxLength:{value:n,message:z.toString(i)}})}length(n,i){return new En({...this._def,exactLength:{value:n,message:z.toString(i)}})}nonempty(n){return this.min(1,n)}}En.create=(n,i)=>{return new En({type:n,minLength:null,maxLength:null,exactLength:null,typeName:O.ZodArray,...H(i)})};class on extends V{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const n=this._def.shape(),i=N.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==M.object){const s=this._getOrReturnCtx(n);return F(s,{code:x.invalid_type,expected:M.object,received:s.parsedType}),X}const{status:o,ctx:a}=this._processInputParams(n),{shape:e,keys:c}=this._getCached(),l=[];if(!(this._def.catchall instanceof In&&this._def.unknownKeys==="strip")){for(let s in a.data)if(!c.includes(s))l.push(s)}const t=[];for(let s of c){const p=e[s],m=a.data[s];t.push({key:{status:"valid",value:s},value:p._parse(new kn(a,m,a.path,s)),alwaysSet:s in a.data})}if(this._def.catchall instanceof In){const s=this._def.unknownKeys;if(s==="passthrough")for(let p of l)t.push({key:{status:"valid",value:p},value:{status:"valid",value:a.data[p]}});else if(s==="strict"){if(l.length>0)F(a,{code:x.unrecognized_keys,keys:l}),o.dirty()}else if(s==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const s=this._def.catchall;for(let p of l){const m=a.data[p];t.push({key:{status:"valid",value:p},value:s._parse(new kn(a,m,a.path,p)),alwaysSet:p in a.data})}}if(a.common.async)return Promise.resolve().then(async()=>{const s=[];for(let p of t){const m=await p.key,r=await p.value;s.push({key:m,value:r,alwaysSet:p.alwaysSet})}return s}).then((s)=>{return bn.mergeObjectSync(o,s)});else return bn.mergeObjectSync(o,t)}get shape(){return this._def.shape()}strict(n){return z.errToObj,new on({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var a,e,c,l;const t=(c=(e=(a=this._def).errorMap)===null||e===void 0?void 0:e.call(a,i,o).message)!==null&&c!==void 0?c:o.defaultError;if(i.code==="unrecognized_keys")return{message:(l=z.errToObj(n).message)!==null&&l!==void 0?l:t};return{message:t}}}:{}})}strip(){return new on({...this._def,unknownKeys:"strip"})}passthrough(){return new on({...this._def,unknownKeys:"passthrough"})}extend(n){return new on({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new on({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:O.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new on({...this._def,catchall:n})}pick(n){const i={};return N.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new on({...this._def,shape:()=>i})}omit(n){const i={};return N.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new on({...this._def,shape:()=>i})}deepPartial(){return eo(this)}partial(n){const i={};return N.objectKeys(this.shape).forEach((o)=>{const a=this.shape[o];if(n&&!n[o])i[o]=a;else i[o]=a.optional()}),new on({...this._def,shape:()=>i})}required(n){const i={};return N.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let e=this.shape[o];while(e instanceof Un)e=e._def.innerType;i[o]=e}}),new on({...this._def,shape:()=>i})}keyof(){return tm(N.objectKeys(this.shape))}}on.create=(n,i)=>{return new on({shape:()=>n,unknownKeys:"strip",catchall:In.create(),typeName:O.ZodObject,...H(i)})};on.strictCreate=(n,i)=>{return new on({shape:()=>n,unknownKeys:"strict",catchall:In.create(),typeName:O.ZodObject,...H(i)})};on.lazycreate=(n,i)=>{return new on({shape:n,unknownKeys:"strip",catchall:In.create(),typeName:O.ZodObject,...H(i)})};class ro extends V{_parse(n){const{ctx:i}=this._processInputParams(n),o=this._def.options;function a(e){for(let l of e)if(l.result.status==="valid")return l.result;for(let l of e)if(l.result.status==="dirty")return i.common.issues.push(...l.ctx.common.issues),l.result;const c=e.map((l)=>new Kn(l.ctx.common.issues));return F(i,{code:x.invalid_union,unionErrors:c}),X}if(i.common.async)return Promise.all(o.map(async(e)=>{const c={...i,common:{...i.common,issues:[]},parent:null};return{result:await e._parseAsync({data:i.data,path:i.path,parent:c}),ctx:c}})).then(a);else{let e=void 0;const c=[];for(let t of o){const s={...i,common:{...i.common,issues:[]},parent:null},p=t._parseSync({data:i.data,path:i.path,parent:s});if(p.status==="valid")return p;else if(p.status==="dirty"&&!e)e={result:p,ctx:s};if(s.common.issues.length)c.push(s.common.issues)}if(e)return i.common.issues.push(...e.ctx.common.issues),e.result;const l=c.map((t)=>new Kn(t));return F(i,{code:x.invalid_union,unionErrors:l}),X}}get options(){return this._def.options}}ro.create=(n,i)=>{return new ro({options:n,typeName:O.ZodUnion,...H(i)})};var oi=(n)=>{if(n instanceof xo)return oi(n.schema);else if(n instanceof hn)return oi(n.innerType());else if(n instanceof fo)return[n.value];else if(n instanceof wi)return n.options;else if(n instanceof vo)return N.objectValues(n.enum);else if(n instanceof bo)return oi(n._def.innerType);else if(n instanceof po)return[void 0];else if(n instanceof mo)return[null];else if(n instanceof Un)return[void 0,...oi(n.unwrap())];else if(n instanceof ai)return[null,...oi(n.unwrap())];else if(n instanceof ka)return oi(n.unwrap());else if(n instanceof yo)return oi(n.unwrap());else if(n instanceof So)return oi(n._def.innerType);else return[]};class Ua extends V{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==M.object)return F(i,{code:x.invalid_type,expected:M.object,received:i.parsedType}),X;const o=this.discriminator,a=i.data[o],e=this.optionsMap.get(a);if(!e)return F(i,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),X;if(i.common.async)return e._parseAsync({data:i.data,path:i.path,parent:i});else return e._parseSync({data:i.data,path:i.path,parent:i})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(n,i,o){const a=new Map;for(let e of i){const c=oi(e.shape[n]);if(!c.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let l of c){if(a.has(l))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(l)}`);a.set(l,e)}}return new Ua({typeName:O.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:a,...H(o)})}}class uo extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),a=(e,c)=>{if(vc(e)||vc(c))return X;const l=Sc(e.value,c.value);if(!l.valid)return F(o,{code:x.invalid_intersection_types}),X;if(bc(e)||bc(c))i.dirty();return{status:i.value,value:l.data}};if(o.common.async)return Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([e,c])=>a(e,c));else return a(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}uo.create=(n,i,o)=>{return new uo({left:n,right:i,typeName:O.ZodIntersection,...H(o)})};class Dn extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==M.array)return F(o,{code:x.invalid_type,expected:M.array,received:o.parsedType}),X;if(o.data.length<this._def.items.length)return F(o,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X;if(!this._def.rest&&o.data.length>this._def.items.length)F(o,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();const e=[...o.data].map((c,l)=>{const t=this._def.items[l]||this._def.rest;if(!t)return null;return t._parse(new kn(o,c,o.path,l))}).filter((c)=>!!c);if(o.common.async)return Promise.all(e).then((c)=>{return bn.mergeArray(i,c)});else return bn.mergeArray(i,e)}get items(){return this._def.items}rest(n){return new Dn({...this._def,rest:n})}}Dn.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Dn({items:n,typeName:O.ZodTuple,rest:null,...H(i)})};class Do extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==M.object)return F(o,{code:x.invalid_type,expected:M.object,received:o.parsedType}),X;const a=[],e=this._def.keyType,c=this._def.valueType;for(let l in o.data)a.push({key:e._parse(new kn(o,l,o.path,l)),value:c._parse(new kn(o,o.data[l],o.path,l)),alwaysSet:l in o.data});if(o.common.async)return bn.mergeObjectAsync(i,a);else return bn.mergeObjectSync(i,a)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof V)return new Do({keyType:n,valueType:i,typeName:O.ZodRecord,...H(o)});return new Do({keyType:Vn.create(),valueType:n,typeName:O.ZodRecord,...H(i)})}}class _o extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==M.map)return F(o,{code:x.invalid_type,expected:M.map,received:o.parsedType}),X;const a=this._def.keyType,e=this._def.valueType,c=[...o.data.entries()].map(([l,t],s)=>{return{key:a._parse(new kn(o,l,o.path,[s,"key"])),value:e._parse(new kn(o,t,o.path,[s,"value"]))}});if(o.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(let t of c){const s=await t.key,p=await t.value;if(s.status==="aborted"||p.status==="aborted")return X;if(s.status==="dirty"||p.status==="dirty")i.dirty();l.set(s.value,p.value)}return{status:i.value,value:l}})}else{const l=new Map;for(let t of c){const{key:s,value:p}=t;if(s.status==="aborted"||p.status==="aborted")return X;if(s.status==="dirty"||p.status==="dirty")i.dirty();l.set(s.value,p.value)}return{status:i.value,value:l}}}}_o.create=(n,i,o)=>{return new _o({valueType:i,keyType:n,typeName:O.ZodMap,...H(o)})};class Xi extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==M.set)return F(o,{code:x.invalid_type,expected:M.set,received:o.parsedType}),X;const a=this._def;if(a.minSize!==null){if(o.data.size<a.minSize.value)F(o,{code:x.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),i.dirty()}if(a.maxSize!==null){if(o.data.size>a.maxSize.value)F(o,{code:x.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),i.dirty()}const e=this._def.valueType;function c(t){const s=new Set;for(let p of t){if(p.status==="aborted")return X;if(p.status==="dirty")i.dirty();s.add(p.value)}return{status:i.value,value:s}}const l=[...o.data.values()].map((t,s)=>e._parse(new kn(o,t,o.path,s)));if(o.common.async)return Promise.all(l).then((t)=>c(t));else return c(l)}min(n,i){return new Xi({...this._def,minSize:{value:n,message:z.toString(i)}})}max(n,i){return new Xi({...this._def,maxSize:{value:n,message:z.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}Xi.create=(n,i)=>{return new Xi({valueType:n,minSize:null,maxSize:null,typeName:O.ZodSet,...H(i)})};class lo extends V{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==M.function)return F(i,{code:x.invalid_type,expected:M.function,received:i.parsedType}),X;function o(l,t){return Va({data:l,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Ca(),to].filter((s)=>!!s),issueData:{code:x.invalid_arguments,argumentsError:t}})}function a(l,t){return Va({data:l,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,Ca(),to].filter((s)=>!!s),issueData:{code:x.invalid_return_type,returnTypeError:t}})}const e={errorMap:i.common.contextualErrorMap},c=i.data;if(this._def.returns instanceof Yi){const l=this;return Tn(async function(...t){const s=new Kn([]),p=await l._def.args.parseAsync(t,e).catch((S)=>{throw s.addIssue(o(t,S)),s}),m=await Reflect.apply(c,this,p);return await l._def.returns._def.type.parseAsync(m,e).catch((S)=>{throw s.addIssue(a(m,S)),s})})}else{const l=this;return Tn(function(...t){const s=l._def.args.safeParse(t,e);if(!s.success)throw new Kn([o(t,s.error)]);const p=Reflect.apply(c,this,s.data),m=l._def.returns.safeParse(p,e);if(!m.success)throw new Kn([a(p,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new lo({...this._def,args:Dn.create(n).rest(Si.create())})}returns(n){return new lo({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new lo({args:n?n:Dn.create([]).rest(Si.create()),returns:i||Si.create(),typeName:O.ZodFunction,...H(o)})}}class xo extends V{get schema(){return this._def.getter()}_parse(n){const{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}xo.create=(n,i)=>{return new xo({getter:n,typeName:O.ZodLazy,...H(i)})};class fo extends V{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return F(i,{received:i.data,code:x.invalid_literal,expected:this._def.value}),X}return{status:"valid",value:n.data}}get value(){return this._def.value}}fo.create=(n,i)=>{return new fo({value:n,typeName:O.ZodLiteral,...H(i)})};class wi extends V{constructor(){super(...arguments);Eo.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return F(i,{expected:N.joinValues(o),received:i.parsedType,code:x.invalid_type}),X}if(!Ea(this,Eo,"f"))am(this,Eo,new Set(this._def.values),"f");if(!Ea(this,Eo,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return F(i,{received:i.data,code:x.invalid_enum_value,options:o}),X}return Tn(n.data)}get options(){return this._def.values}get enum(){const n={};for(let i of this._def.values)n[i]=i;return n}get Values(){const n={};for(let i of this._def.values)n[i]=i;return n}get Enum(){const n={};for(let i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return wi.create(n,{...this._def,...i})}exclude(n,i=this._def){return wi.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Eo=new WeakMap;wi.create=tm;class vo extends V{constructor(){super(...arguments);Uo.set(this,void 0)}_parse(n){const i=N.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==M.string&&o.parsedType!==M.number){const a=N.objectValues(i);return F(o,{expected:N.joinValues(a),received:o.parsedType,code:x.invalid_type}),X}if(!Ea(this,Uo,"f"))am(this,Uo,new Set(N.getValidEnumValues(this._def.values)),"f");if(!Ea(this,Uo,"f").has(n.data)){const a=N.objectValues(i);return F(o,{received:o.data,code:x.invalid_enum_value,options:a}),X}return Tn(n.data)}get enum(){return this._def.values}}Uo=new WeakMap;vo.create=(n,i)=>{return new vo({values:n,typeName:O.ZodNativeEnum,...H(i)})};class Yi extends V{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==M.promise&&i.common.async===!1)return F(i,{code:x.invalid_type,expected:M.promise,received:i.parsedType}),X;const o=i.parsedType===M.promise?i.data:Promise.resolve(i.data);return Tn(o.then((a)=>{return this._def.type.parseAsync(a,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Yi.create=(n,i)=>{return new Yi({type:n,typeName:O.ZodPromise,...H(i)})};class hn extends V{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===O.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){const{status:i,ctx:o}=this._processInputParams(n),a=this._def.effect||null,e={addIssue:(c)=>{if(F(o,c),c.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(e.addIssue=e.addIssue.bind(e),a.type==="preprocess"){const c=a.transform(o.data,e);if(o.common.async)return Promise.resolve(c).then(async(l)=>{if(i.value==="aborted")return X;const t=await this._def.schema._parseAsync({data:l,path:o.path,parent:o});if(t.status==="aborted")return X;if(t.status==="dirty")return co(t.value);if(i.value==="dirty")return co(t.value);return t});else{if(i.value==="aborted")return X;const l=this._def.schema._parseSync({data:c,path:o.path,parent:o});if(l.status==="aborted")return X;if(l.status==="dirty")return co(l.value);if(i.value==="dirty")return co(l.value);return l}}if(a.type==="refinement"){const c=(l)=>{const t=a.refinement(l,e);if(o.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(o.common.async===!1){const l=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(l.status==="aborted")return X;if(l.status==="dirty")i.dirty();return c(l.value),{status:i.value,value:l.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((l)=>{if(l.status==="aborted")return X;if(l.status==="dirty")i.dirty();return c(l.value).then(()=>{return{status:i.value,value:l.value}})})}if(a.type==="transform")if(o.common.async===!1){const c=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!ko(c))return c;const l=a.transform(c.value,e);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:l}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((c)=>{if(!ko(c))return c;return Promise.resolve(a.transform(c.value,e)).then((l)=>({status:i.value,value:l}))});N.assertNever(a)}}hn.create=(n,i,o)=>{return new hn({schema:n,typeName:O.ZodEffects,effect:i,...H(o)})};hn.createWithPreprocess=(n,i,o)=>{return new hn({schema:i,effect:{type:"preprocess",transform:n},typeName:O.ZodEffects,...H(o)})};class Un extends V{_parse(n){if(this._getType(n)===M.undefined)return Tn(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Un.create=(n,i)=>{return new Un({innerType:n,typeName:O.ZodOptional,...H(i)})};class ai extends V{_parse(n){if(this._getType(n)===M.null)return Tn(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ai.create=(n,i)=>{return new ai({innerType:n,typeName:O.ZodNullable,...H(i)})};class bo extends V{_parse(n){const{ctx:i}=this._processInputParams(n);let o=i.data;if(i.parsedType===M.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}bo.create=(n,i)=>{return new bo({innerType:n,typeName:O.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...H(i)})};class So extends V{_parse(n){const{ctx:i}=this._processInputParams(n),o={...i,common:{...i.common,issues:[]}},a=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(Lo(a))return a.then((e)=>{return{status:"valid",value:e.status==="valid"?e.value:this._def.catchValue({get error(){return new Kn(o.common.issues)},input:o.data})}});else return{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Kn(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}So.create=(n,i)=>{return new So({innerType:n,typeName:O.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...H(i)})};class qo extends V{_parse(n){if(this._getType(n)!==M.nan){const o=this._getOrReturnCtx(n);return F(o,{code:x.invalid_type,expected:M.nan,received:o.parsedType}),X}return{status:"valid",value:n.data}}}qo.create=(n)=>{return new qo({typeName:O.ZodNaN,...H(n)})};var Nv=Symbol("zod_brand");class ka extends V{_parse(n){const{ctx:i}=this._processInputParams(n),o=i.data;return this._def.type._parse({data:o,path:i.path,parent:i})}unwrap(){return this._def.type}}class Po extends V{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{const e=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(e.status==="aborted")return X;if(e.status==="dirty")return i.dirty(),co(e.value);else return this._def.out._parseAsync({data:e.value,path:o.path,parent:o})})();else{const a=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(a.status==="aborted")return X;if(a.status==="dirty")return i.dirty(),{status:"dirty",value:a.value};else return this._def.out._parseSync({data:a.value,path:o.path,parent:o})}}static create(n,i){return new Po({in:n,out:i,typeName:O.ZodPipeline})}}class yo extends V{_parse(n){const i=this._def.innerType._parse(n),o=(a)=>{if(ko(a))a.value=Object.freeze(a.value);return a};return Lo(i)?i.then((a)=>o(a)):o(i)}unwrap(){return this._def.innerType}}yo.create=(n,i)=>{return new yo({innerType:n,typeName:O.ZodReadonly,...H(i)})};var Iv={object:on.lazycreate},O;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(O||(O={}));var Dv=(n,i={message:`Input not instance of ${n.name}`})=>sm((o)=>o instanceof n,i),pm=Vn.create,mm=yi.create,_v=qo.create,qv=Ti.create,rm=so.create,Pv=Oi.create,Zv=No.create,nb=po.create,ib=mo.create,ob=hi.create,ab=Si.create,eb=In.create,cb=Io.create,lb=En.create,Zo=on.create,tb=on.strictCreate,sb=ro.create,pb=Ua.create,mb=uo.create,rb=Dn.create,ub=Do.create,xb=_o.create,fb=Xi.create,vb=lo.create,bb=xo.create,Sb=fo.create,yb=wi.create,Tb=vo.create,wb=Yi.create,im=hn.create,db=Un.create,Fb=ai.create,Mb=hn.createWithPreprocess,Rb=Po.create,Ab=()=>pm().optional(),Jb=()=>mm().optional(),$b=()=>rm().optional(),Kb={string:(n)=>Vn.create({...n,coerce:!0}),number:(n)=>yi.create({...n,coerce:!0}),boolean:(n)=>so.create({...n,coerce:!0}),bigint:(n)=>Ti.create({...n,coerce:!0}),date:(n)=>Oi.create({...n,coerce:!0})},jb=X,wn=Object.freeze({__proto__:null,defaultErrorMap:to,setErrorMap:Wv,getErrorMap:Ca,makeIssue:Va,EMPTY_PATH:zv,addIssueToContext:F,ParseStatus:bn,INVALID:X,DIRTY:co,OK:Tn,isAborted:vc,isDirty:bc,isValid:ko,isAsync:Lo,get util(){return N},get objectUtil(){return fc},ZodParsedType:M,getParsedType:bi,ZodType:V,datetimeRegex:lm,ZodString:Vn,ZodNumber:yi,ZodBigInt:Ti,ZodBoolean:so,ZodDate:Oi,ZodSymbol:No,ZodUndefined:po,ZodNull:mo,ZodAny:hi,ZodUnknown:Si,ZodNever:In,ZodVoid:Io,ZodArray:En,ZodObject:on,ZodUnion:ro,ZodDiscriminatedUnion:Ua,ZodIntersection:uo,ZodTuple:Dn,ZodRecord:Do,ZodMap:_o,ZodSet:Xi,ZodFunction:lo,ZodLazy:xo,ZodLiteral:fo,ZodEnum:wi,ZodNativeEnum:vo,ZodPromise:Yi,ZodEffects:hn,ZodTransformer:hn,ZodOptional:Un,ZodNullable:ai,ZodDefault:bo,ZodCatch:So,ZodNaN:qo,BRAND:Nv,ZodBranded:ka,ZodPipeline:Po,ZodReadonly:yo,custom:sm,Schema:V,ZodSchema:V,late:Iv,get ZodFirstPartyTypeKind(){return O},coerce:Kb,any:ob,array:lb,bigint:qv,boolean:rm,date:Pv,discriminatedUnion:pb,effect:im,enum:yb,function:vb,instanceof:Dv,intersection:mb,lazy:bb,literal:Sb,map:xb,nan:_v,nativeEnum:Tb,never:eb,null:ib,nullable:Fb,number:mm,object:Zo,oboolean:$b,onumber:Jb,optional:db,ostring:Ab,pipeline:Rb,preprocess:Mb,promise:wb,record:ub,set:fb,strictObject:tb,string:pm,symbol:Zv,transformer:im,tuple:rb,undefined:nb,union:sb,unknown:ab,void:cb,NEVER:jb,ZodIssueCode:x,quotelessJson:jv,ZodError:Kn});function um(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[u,R]of Object.entries(i))if(R==="")delete i[u]}if(!!n.skipValidation)return i;const e=typeof n.client==="object"?n.client:{},c=typeof n.server==="object"?n.server:{},l=typeof n.shared==="object"?n.shared:{},t=Zo(e),s=Zo(c),p=Zo(l),m=n.isServer??(typeof window==="undefined"||("Deno"in window)),r=t.merge(p),S=s.merge(p).merge(t),K=m?S.safeParse(i):r.safeParse(i),y=n.onValidationError??((u)=>{throw console.error("\u274C Invalid environment variables:",u.flatten().fieldErrors),new Error("Invalid environment variables")}),T=n.onInvalidAccess??((u)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(K.success===!1)return y(K.error);const f=(u)=>{if(!n.clientPrefix)return!0;return!u.startsWith(n.clientPrefix)&&!(u in p.shape)},w=(u)=>{return m||!f(u)},d=(u)=>{return u==="__esModule"||u==="$$typeof"},W=(n.extends??[]).reduce((u,R)=>{return Object.assign(u,R)},{}),U=Object.assign(K.data,W);return new Proxy(U,{get(u,R){if(typeof R!=="string")return;if(d(R))return;if(!w(R))return T(R);return Reflect.get(u,R)}})}var ym=Jc(Sm(),1);ym.default.config();var Na=um({isServer:typeof window==="undefined",server:{POSTGRES_USER:wn.string(),POSTGRES_PASSWORD:wn.string(),POSTGRES_DATABASE:wn.string(),POSTGRES_HOST:wn.string(),POSTGRES_PORT:wn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:wn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:wn.union([wn.literal("true"),wn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:wn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:wn.string().transform((n)=>cn(n)).pipe(wn.array(wn.string()))},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:wn.string()},runtimeEnv:process.env,emptyStringAsUndefined:!0});function Tm(n,i){const o=Na.RUN_WORKERS_FROM_SOURCE?"ts":"js",a=i.endsWith(".bun")?"bun":"node",c=[Zb(import.meta.dir,`${i}.${o}`)];if(a==="node"&&o==="ts")c.push("--experimental-strip-types");const l=Pb(a,c);return new Oo(l,i,n.logger)}var wm=ri({key:"count",default:0}),nS=Mi({key:"incrementTX",do:({set:n})=>{n(wm,(i)=>i+1)}}),dm=ml({key:"countContinuity",config:(n)=>n.add(wm).add(nS)});async function Fc(){Mn.logger.info("\uD83E\uDDF9 dispatching SIGINT to workers"),Fm.process.kill("SIGINT"),await new Promise((n)=>Fm.process.once("exit",n)),Mn.logger.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var Mn=new xe;Y.STORE.loggers[0]=new Wo("warn",void 0,Mn.logger);var Fm=Tm(Mn,"backend.worker.game.bun"),Rm=Mm.createServer((n,i)=>i.end("Hello World!")),dc=Rm.listen(4444).address(),iS=typeof dc==="string"?null:dc===null?null:dc.port;if(iS===null)throw new Error("Could not determine port for test server");new Zp(Rm,{cors:{origin:Na.FRONTEND_ORIGINS,methods:["GET","POST"]}}).use((n,i)=>{const{token:o,username:a}=n.handshake.auth;if(o==="test"&&n.id){const e=L(Y.STORE,Xo,n.id);D(Y.STORE,e,n),di(Ri,(c)=>{c.set(n.id,a)},Y.STORE),D(Y.STORE,ye,(c)=>c.add(a)),D(Y.STORE,Se,(c)=>c.add(n.id)),Mn.logger.info(`${a} connected on ${n.id}`),i()}else Mn.logger.info(`${a} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=xl({socket:n,store:Y.STORE})(dm);n.on("disconnect",()=>{const a=Ci(Ri,n.id,Y.STORE).userKeyOfSocket,e=I(Y.STORE,a);if(di(Ri,(c)=>{c.delete(n.id)},Y.STORE),e)D(Y.STORE,ye,(c)=>(c.delete(e),c));D(Y.STORE,Se,(c)=>(c.delete(n.id),c)),un(Y.STORE,Xo,n.id),Mn.logger.info(`${n.id} disconnected`),o()})});Mn.emit("alive");Mn.on("updatesReady",()=>{Mn.emit("readyToUpdate")});process.on("SIGINT",async()=>{Mn.logger.info("\u2757 received SIGINT; exiting gracefully"),await Fc()});process.on("SIGTERM",async()=>{Mn.logger.info("\u2757 received SIGTERM; exiting gracefully"),await Fc()});process.on("exit",async()=>{Mn.logger.info("\u2757 received exit; exiting gracefully"),await Fc()});Mn.logger.info("\uD83D\uDEEB backend server ready");