9remote 0.1.13 → 0.1.14

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.
Files changed (2) hide show
  1. package/dist/server.cjs +17 -17
  2. package/package.json +1 -1
package/dist/server.cjs CHANGED
@@ -1,37 +1,37 @@
1
1
  const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- var kp=Object.create;var Zt=Object.defineProperty;var Cp=Object.getOwnPropertyDescriptor;var Tp=Object.getOwnPropertyNames;var Op=Object.getPrototypeOf,Rp=Object.prototype.hasOwnProperty;var Me=(s,e)=>()=>(s&&(e=s(s=0)),e);var x=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),De=(s,e)=>{for(var t in e)Zt(s,t,{get:e[t],enumerable:!0})},ba=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Tp(e))!Rp.call(s,n)&&n!==t&&Zt(s,n,{get:()=>e[n],enumerable:!(i=Cp(e,n))||i.enumerable});return s};var M=(s,e,t)=>(t=s!=null?kp(Op(s)):{},ba(e||!s||!s.__esModule?Zt(t,"default",{value:s,enumerable:!0}):t,s)),Ap=s=>ba(Zt({},"__esModule",{value:!0}),s);var Sa=x((zx,fi)=>{"use strict";fi.exports=_a;fi.exports.preferredCharsets=_a;var Pp=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function jp(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Ip(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Ip(s,e){var t=Pp.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{charset:i,q:n,i:e}}function Np(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Bp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Bp(s,e,t){var i=0;if(e.charset.toLowerCase()===s.toLowerCase())i|=1;else if(e.charset!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function _a(s,e){var t=jp(s===void 0?"*":s||"");if(!e)return t.filter(wa).sort(ya).map(Lp);var i=e.map(function(a,r){return Np(a,t,r)});return i.filter(wa).sort(ya).map(function(a){return e[i.indexOf(a)]})}function ya(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Lp(s){return s.charset}function wa(s){return s.q>0}});var Oa=x((Wx,mi)=>{"use strict";mi.exports=Ta;mi.exports.preferredEncodings=Ta;var Mp=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function Dp(s){for(var e=s.split(","),t=!1,i=1,n=0,a=0;n<e.length;n++){var r=qp(e[n].trim(),n);r&&(e[a++]=r,t=t||Ca("identity",r),i=Math.min(i,r.q||1))}return t||(e[a++]={encoding:"identity",q:i,i:n}),e.length=a,e}function qp(s,e){var t=Mp.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{encoding:i,q:n,i:e}}function Fp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Ca(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Ca(s,e,t){var i=0;if(e.encoding.toLowerCase()===s.toLowerCase())i|=1;else if(e.encoding!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Ta(s,e){var t=Dp(s||"");if(!e)return t.filter(ka).sort(Ea).map(Up);var i=e.map(function(a,r){return Fp(a,t,r)});return i.filter(ka).sort(Ea).map(function(a){return e[i.indexOf(a)]})}function Ea(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Up(s){return s.encoding}function ka(s){return s.q>0}});var Ia=x(($x,hi)=>{"use strict";hi.exports=ja;hi.exports.preferredLanguages=ja;var Hp=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function zp(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Pa(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Pa(s,e){var t=Hp.exec(s);if(!t)return null;var i=t[1],n=t[2],a=i;n&&(a+="-"+n);var r=1;if(t[3])for(var c=t[3].split(";"),o=0;o<c.length;o++){var l=c[o].split("=");l[0]==="q"&&(r=parseFloat(l[1]))}return{prefix:i,suffix:n,q:r,i:e,full:a}}function Wp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=$p(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function $p(s,e,t){var i=Pa(s);if(!i)return null;var n=0;if(e.full.toLowerCase()===i.full.toLowerCase())n|=4;else if(e.prefix.toLowerCase()===i.full.toLowerCase())n|=2;else if(e.full.toLowerCase()===i.prefix.toLowerCase())n|=1;else if(e.full!=="*")return null;return{i:t,o:e.i,q:e.q,s:n}}function ja(s,e){var t=zp(s===void 0?"*":s||"");if(!e)return t.filter(Aa).sort(Ra).map(Vp);var i=e.map(function(a,r){return Wp(a,t,r)});return i.filter(Aa).sort(Ra).map(function(a){return e[i.indexOf(a)]})}function Ra(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Vp(s){return s.full}function Aa(s){return s.q>0}});var qa=x((Vx,xi)=>{"use strict";xi.exports=Ma;xi.exports.preferredMediaTypes=Ma;var Gp=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function Kp(s){for(var e=Zp(s),t=0,i=0;t<e.length;t++){var n=La(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function La(s,e){var t=Gp.exec(s);if(!t)return null;var i=Object.create(null),n=1,a=t[2],r=t[1];if(t[3])for(var c=eu(t[3]).map(Qp),o=0;o<c.length;o++){var l=c[o],p=l[0].toLowerCase(),u=l[1],d=u&&u[0]==='"'&&u[u.length-1]==='"'?u.substr(1,u.length-2):u;if(p==="q"){n=parseFloat(d);break}i[p]=d}return{type:r,subtype:a,params:i,q:n,i:e}}function Yp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Xp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Xp(s,e,t){var i=La(s),n=0;if(!i)return null;if(e.type.toLowerCase()==i.type.toLowerCase())n|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==i.subtype.toLowerCase())n|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(r){return e.params[r]=="*"||(e.params[r]||"").toLowerCase()==(i.params[r]||"").toLowerCase()}))n|=1;else return null;return{i:t,o:e.i,q:e.q,s:n}}function Ma(s,e){var t=Kp(s===void 0?"*/*":s||"");if(!e)return t.filter(Ba).sort(Na).map(Jp);var i=e.map(function(a,r){return Yp(a,t,r)});return i.filter(Ba).sort(Na).map(function(a){return e[i.indexOf(a)]})}function Na(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Jp(s){return s.type+"/"+s.subtype}function Ba(s){return s.q>0}function Da(s){for(var e=0,t=0;(t=s.indexOf('"',t))!==-1;)e++,t++;return e}function Qp(s){var e=s.indexOf("="),t,i;return e===-1?t=s:(t=s.substr(0,e),i=s.substr(e+1)),[t,i]}function Zp(s){for(var e=s.split(","),t=1,i=0;t<e.length;t++)Da(e[i])%2==0?e[++i]=e[t]:e[i]+=","+e[t];return e.length=i+1,e}function eu(s){for(var e=s.split(";"),t=1,i=0;t<e.length;t++)Da(e[i])%2==0?e[++i]=e[t]:e[i]+=";"+e[t];e.length=i+1;for(var t=0;t<e.length;t++)e[t]=e[t].trim();return e}});var Fa=x((Gx,vi)=>{"use strict";var tu=Sa(),su=Oa(),iu=Ia(),nu=qa();vi.exports=S;vi.exports.Negotiator=S;function S(s){if(!(this instanceof S))return new S(s);this.request=s}S.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]};S.prototype.charsets=function(e){return tu(this.request.headers["accept-charset"],e)};S.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]};S.prototype.encodings=function(e){return su(this.request.headers["accept-encoding"],e)};S.prototype.language=function(e){var t=this.languages(e);return t&&t[0]};S.prototype.languages=function(e){return iu(this.request.headers["accept-language"],e)};S.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]};S.prototype.mediaTypes=function(e){return nu(this.request.headers.accept,e)};S.prototype.preferredCharset=S.prototype.charset;S.prototype.preferredCharsets=S.prototype.charsets;S.prototype.preferredEncoding=S.prototype.encoding;S.prototype.preferredEncodings=S.prototype.encodings;S.prototype.preferredLanguage=S.prototype.language;S.prototype.preferredLanguages=S.prototype.languages;S.prototype.preferredMediaType=S.prototype.mediaType;S.prototype.preferredMediaTypes=S.prototype.mediaTypes});var Ua=x((Kx,au)=>{au.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 za=x((Yx,Ha)=>{Ha.exports=Ua()});var Va=x($=>{"use strict";var es=za(),ru=require("path").extname,Wa=/^\s*([^;\s]*)(?:;|\s|$)/,ou=/^text\//i;$.charset=$a;$.charsets={lookup:$a};$.contentType=cu;$.extension=lu;$.extensions=Object.create(null);$.lookup=pu;$.types=Object.create(null);uu($.extensions,$.types);function $a(s){if(!s||typeof s!="string")return!1;var e=Wa.exec(s),t=e&&es[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&ou.test(e[1])?"UTF-8":!1}function cu(s){if(!s||typeof s!="string")return!1;var e=s.indexOf("/")===-1?$.lookup(s):s;if(!e)return!1;if(e.indexOf("charset")===-1){var t=$.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function lu(s){if(!s||typeof s!="string")return!1;var e=Wa.exec(s),t=e&&$.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function pu(s){if(!s||typeof s!="string")return!1;var e=ru("x."+s).toLowerCase().substr(1);return e&&$.types[e]||!1}function uu(s,e){var t=["nginx","apache",void 0,"iana"];Object.keys(es).forEach(function(n){var a=es[n],r=a.extensions;if(!(!r||!r.length)){s[n]=r;for(var c=0;c<r.length;c++){var o=r[c];if(e[o]){var l=t.indexOf(es[e[o]].source),p=t.indexOf(a.source);if(e[o]!=="application/octet-stream"&&(l>p||l===p&&e[o].substr(0,12)==="application/"))continue}e[o]=n}}})}});var ts=x((Jx,Ga)=>{"use strict";var du=Fa(),fu=Va();Ga.exports=X;function X(s){if(!(this instanceof X))return new X(s);this.headers=s.headers,this.negotiator=new du(s)}X.prototype.type=X.prototype.types=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var i=e.map(mu),n=this.negotiator.mediaTypes(i.filter(hu)),a=n[0];return a?e[i.indexOf(a)]:!1};X.prototype.encoding=X.prototype.encodings=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};X.prototype.charset=X.prototype.charsets=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};X.prototype.lang=X.prototype.langs=X.prototype.language=X.prototype.languages=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function mu(s){return s.indexOf("/")===-1?fu.lookup(s):s}function hu(s){return typeof s=="string"}});var bi=x((Ka,Ya)=>{var Ot=require("crypto"),gi=function(){};gi.prototype.getRandomBytes=function(s){var e=4096,t=this;if(s=s||12,s>e)return Ot.randomBytes(s);var i=parseInt(e/s),n=parseInt(i*.85);if(!n||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==i&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>n)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,Ot.randomBytes(e,function(r,c){t.bytesBuffer=c,t.bytesBufferIndex=0,t.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return Ot.randomBytes(s);var a=this.bytesBuffer.slice(s*this.bytesBufferIndex,s*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};gi.prototype.generateId=function(){var s=Buffer.alloc(15);return s.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,s.writeInt32BE(this.sequenceNumber,11),Ot.randomBytes?this.getRandomBytes(12).copy(s):[0,4,8].forEach(function(e){s.writeInt32BE(Math.random()*Math.pow(2,32)|0,e)}),s.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()};Ka=Ya.exports=new gi});var ss=x(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.ERROR_PACKET=Te.PACKET_TYPES_REVERSE=Te.PACKET_TYPES=void 0;var me=Object.create(null);Te.PACKET_TYPES=me;me.open="0";me.close="1";me.ping="2";me.pong="3";me.message="4";me.upgrade="5";me.noop="6";var Xa=Object.create(null);Te.PACKET_TYPES_REVERSE=Xa;Object.keys(me).forEach(s=>{Xa[me[s]]=s});var xu={type:"error",data:"parser error"};Te.ERROR_PACKET=xu});var Qa=x(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.encodePacket=void 0;Ze.encodePacketToBinary=bu;var vu=ss(),gu=({type:s,data:e},t,i)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?i(t?e:"b"+Ja(e,!0).toString("base64")):i(vu.PACKET_TYPES[s]+(e||""));Ze.encodePacket=gu;var Ja=(s,e)=>Buffer.isBuffer(s)||s instanceof Uint8Array&&!e?s:s instanceof ArrayBuffer?Buffer.from(s):Buffer.from(s.buffer,s.byteOffset,s.byteLength),yi;function bu(s,e){if(s.data instanceof ArrayBuffer||ArrayBuffer.isView(s.data))return e(Ja(s.data,!1));(0,Ze.encodePacket)(s,!0,t=>{yi||(yi=new TextEncoder),e(yi.encode(t))})}});var er=x(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.decodePacket=void 0;var is=ss(),yu=(s,e)=>{if(typeof s!="string")return{type:"message",data:Za(s,e)};let t=s.charAt(0);if(t==="b"){let i=Buffer.from(s.substring(1),"base64");return{type:"message",data:Za(i,e)}}return is.PACKET_TYPES_REVERSE[t]?s.length>1?{type:is.PACKET_TYPES_REVERSE[t],data:s.substring(1)}:{type:is.PACKET_TYPES_REVERSE[t]}:is.ERROR_PACKET};ns.decodePacket=yu;var Za=(s,e)=>e==="arraybuffer"?s instanceof ArrayBuffer?s:Buffer.isBuffer(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s.buffer:Buffer.isBuffer(s)?s:Buffer.from(s)});var Rt=x(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.decodePayload=V.decodePacket=V.encodePayload=V.encodePacket=V.protocol=void 0;V.createPacketEncoderStream=Su;V.createPacketDecoderStream=Eu;var _i=Qa();Object.defineProperty(V,"encodePacket",{enumerable:!0,get:function(){return _i.encodePacket}});var Si=er();Object.defineProperty(V,"decodePacket",{enumerable:!0,get:function(){return Si.decodePacket}});var tr=ss(),sr="",wu=(s,e)=>{let t=s.length,i=new Array(t),n=0;s.forEach((a,r)=>{(0,_i.encodePacket)(a,!1,c=>{i[r]=c,++n===t&&e(i.join(sr))})})};V.encodePayload=wu;var _u=(s,e)=>{let t=s.split(sr),i=[];for(let n=0;n<t.length;n++){let a=(0,Si.decodePacket)(t[n],e);if(i.push(a),a.type==="error")break}return i};V.decodePayload=_u;function Su(){return new TransformStream({transform(s,e){(0,_i.encodePacketToBinary)(s,t=>{let i=t.length,n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);let a=new DataView(n.buffer);a.setUint8(0,126),a.setUint16(1,i)}else{n=new Uint8Array(9);let a=new DataView(n.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(i))}s.data&&typeof s.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}var wi;function as(s){return s.reduce((e,t)=>e+t.length,0)}function rs(s,e){if(s[0].length===e)return s.shift();let t=new Uint8Array(e),i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function Eu(s,e){wi||(wi=new TextDecoder);let t=[],i=0,n=-1,a=!1;return new TransformStream({transform(r,c){for(t.push(r);;){if(i===0){if(as(t)<1)break;let o=rs(t,1);a=(o[0]&128)===128,n=o[0]&127,n<126?i=3:n===126?i=1:i=2}else if(i===1){if(as(t)<2)break;let o=rs(t,2);n=new DataView(o.buffer,o.byteOffset,o.length).getUint16(0),i=3}else if(i===2){if(as(t)<8)break;let o=rs(t,8),l=new DataView(o.buffer,o.byteOffset,o.length),p=l.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(tr.ERROR_PACKET);break}n=p*Math.pow(2,32)+l.getUint32(4),i=3}else{if(as(t)<n)break;let o=rs(t,n);c.enqueue((0,Si.decodePacket)(a?o:wi.decode(o),e)),i=0}if(n===0||n>s){c.enqueue(tr.ERROR_PACKET);break}}}})}V.protocol=4});var rr=x((sv,ar)=>{var Oe=String.fromCharCode;function ir(s){for(var e=[],t=0,i=s.length,n,a;t<i;)n=s.charCodeAt(t++),n>=55296&&n<=56319&&t<i?(a=s.charCodeAt(t++),(a&64512)==56320?e.push(((n&1023)<<10)+(a&1023)+65536):(e.push(n),t--)):e.push(n);return e}function ku(s){for(var e=s.length,t=-1,i,n="";++t<e;)i=s[t],i>65535&&(i-=65536,n+=Oe(i>>>10&1023|55296),i=56320|i&1023),n+=Oe(i);return n}function nr(s,e){if(s>=55296&&s<=57343){if(e)throw Error("Lone surrogate U+"+s.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Ei(s,e){return Oe(s>>e&63|128)}function Cu(s,e){if((s&4294967168)==0)return Oe(s);var t="";return(s&4294965248)==0?t=Oe(s>>6&31|192):(s&4294901760)==0?(nr(s,e)||(s=65533),t=Oe(s>>12&15|224),t+=Ei(s,6)):(s&4292870144)==0&&(t=Oe(s>>18&7|240),t+=Ei(s,12),t+=Ei(s,6)),t+=Oe(s&63|128),t}function Tu(s,e){e=e||{};for(var t=e.strict!==!1,i=ir(s),n=i.length,a=-1,r,c="";++a<n;)r=i[a],c+=Cu(r,t);return c}function et(){if(Re>=cs)throw Error("Invalid byte index");var s=os[Re]&255;if(Re++,(s&192)==128)return s&63;throw Error("Invalid continuation byte")}function Ou(s){var e,t,i,n,a;if(Re>cs)throw Error("Invalid byte index");if(Re==cs)return!1;if(e=os[Re]&255,Re++,(e&128)==0)return e;if((e&224)==192){if(t=et(),a=(e&31)<<6|t,a>=128)return a;throw Error("Invalid continuation byte")}if((e&240)==224){if(t=et(),i=et(),a=(e&15)<<12|t<<6|i,a>=2048)return nr(a,s)?a:65533;throw Error("Invalid continuation byte")}if((e&248)==240&&(t=et(),i=et(),n=et(),a=(e&7)<<18|t<<12|i<<6|n,a>=65536&&a<=1114111))return a;throw Error("Invalid UTF-8 detected")}var os,cs,Re;function Ru(s,e){e=e||{};var t=e.strict!==!1;os=ir(s),cs=os.length,Re=0;for(var i=[],n;(n=Ou(t))!==!1;)i.push(n);return ku(i)}ar.exports={version:"2.1.2",encode:Tu,decode:Ru}});var mr=x(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.packets=P.protocol=void 0;P.encodePacket=ki;P.encodeBase64Packet=lr;P.decodePacket=Ci;P.decodeBase64Packet=pr;P.encodePayload=Iu;P.decodePayload=Bu;P.encodePayloadAsBinary=dr;P.decodePayloadAsBinary=fr;var cr=rr();P.protocol=3;var Au=s=>{for(let e of s)if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return!0;return!1};P.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var tt=Object.keys(P.packets),re={type:"error",data:"parser error"},Pu=Buffer.concat([]);function ki(s,e,t,i){if(typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t=null),Buffer.isBuffer(s.data))return or(s,e,i);if(s.data&&(s.data.buffer||s.data)instanceof ArrayBuffer)return or({type:s.type,data:Ti(s.data)},e,i);var n=P.packets[s.type];return s.data!==void 0&&(n+=t?cr.encode(String(s.data),{strict:!1}):String(s.data)),i(""+n)}function or(s,e,t){if(!e)return lr(s,t);var i=s.data,n=Buffer.allocUnsafe(1);return n[0]=P.packets[s.type],t(Buffer.concat([n,i]))}function lr(s,e){var t=Buffer.isBuffer(s.data)?s.data:Ti(s.data),i="b"+P.packets[s.type];return i+=t.toString("base64"),e(i)}function Ci(s,e,t){if(s===void 0)return re;let i;if(typeof s=="string")return i=s.charAt(0),i==="b"?pr(s.slice(1),e):t&&(s=ju(s),s===!1)||Number(i)!=i||!tt[i]?re:s.length>1?{type:tt[i],data:s.slice(1)}:{type:tt[i]};if(e==="arraybuffer"){var n=new Uint8Array(s);return i=n[0],{type:tt[i],data:n.buffer.slice(1)}}return s instanceof ArrayBuffer&&(s=Ti(s)),i=s[0],{type:tt[i],data:s.slice(1)}}function ju(s){try{s=cr.decode(s,{strict:!1})}catch{return!1}return s}function pr(s,e){var t=tt[s.charAt(0)],i=Buffer.from(s.slice(1),"base64");if(e==="arraybuffer"){for(var n=new Uint8Array(i.length),a=0;a<n.length;a++)n[a]=i[a];i=n.buffer}return{type:t,data:i}}function Iu(s,e,t){if(typeof e=="function"&&(t=e,e=null),e&&Au(s))return dr(s,t);if(!s.length)return t("0:");function i(n,a){ki(n,e,!1,function(r){a(null,Nu(r))})}ur(s,i,function(n,a){return t(a.join(""))})}function Nu(s){return s.length+":"+s}function ur(s,e,t){let i=new Array(s.length),n=0;for(let a=0;a<s.length;a++)e(s[a],(r,c)=>{i[a]=c,++n===s.length&&t(null,i)})}function Bu(s,e,t){if(typeof s!="string")return fr(s,e,t);if(typeof e=="function"&&(t=e,e=null),s==="")return t(re,0,1);for(var i="",n,a,r,c=0,o=s.length;c<o;c++){var l=s.charAt(c);if(l!==":"){i+=l;continue}if(i===""||i!=(n=Number(i))||(a=s.slice(c+1,c+1+n),i!=a.length))return t(re,0,1);if(a.length){if(r=Ci(a,e,!1),re.type===r.type&&re.data===r.data)return t(re,0,1);var p=t(r,c+n,o);if(p===!1)return}c+=n,i=""}if(i!=="")return t(re,0,1)}function Lu(s){for(var e="",t=0,i=s.length;t<i;t++)e+=String.fromCharCode(s[t]);return e}function Mu(s){for(var e=Buffer.allocUnsafe(s.length),t=0,i=s.length;t<i;t++)e.writeUInt8(s.charCodeAt(t),t);return e}function Ti(s){var e=s.byteLength||s.length,t=s.byteOffset||0;return Buffer.from(s.buffer||s,t,e)}function dr(s,e){if(!s.length)return e(Pu);ur(s,Du,function(t,i){return e(Buffer.concat(i))})}function Du(s,e){function t(i){var n=""+i.length,a;if(typeof i=="string"){a=Buffer.allocUnsafe(n.length+2),a[0]=0;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);return a[a.length-1]=255,e(null,Buffer.concat([a,Mu(i)]))}a=Buffer.allocUnsafe(n.length+2),a[0]=1;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);a[a.length-1]=255,e(null,Buffer.concat([a,i]))}ki(s,!0,!0,t)}function fr(s,e,t){typeof e=="function"&&(t=e,e=null);for(var i=s,n=[],a;i.length>0;){var r="",c=i[0]===0;for(a=1;i[a]!==255;a++){if(r.length>310)return t(re,0,1);r+=""+i[a]}i=i.slice(r.length+1);var o=parseInt(r,10),l=i.slice(1,o+1);c&&(l=Lu(l)),n.push(l),i=i.slice(o+1)}var p=n.length;for(a=0;a<p;a++){var u=n[a];t(Ci(u,e,!0),a,p)}}});var xr=x((nv,hr)=>{var st=1e3,it=st*60,nt=it*60,qe=nt*24,qu=qe*7,Fu=qe*365.25;hr.exports=function(s,e){e=e||{};var t=typeof s;if(t==="string"&&s.length>0)return Uu(s);if(t==="number"&&isFinite(s))return e.long?zu(s):Hu(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))};function Uu(s){if(s=String(s),!(s.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*Fu;case"weeks":case"week":case"w":return t*qu;case"days":case"day":case"d":return t*qe;case"hours":case"hour":case"hrs":case"hr":case"h":return t*nt;case"minutes":case"minute":case"mins":case"min":case"m":return t*it;case"seconds":case"second":case"secs":case"sec":case"s":return t*st;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Hu(s){var e=Math.abs(s);return e>=qe?Math.round(s/qe)+"d":e>=nt?Math.round(s/nt)+"h":e>=it?Math.round(s/it)+"m":e>=st?Math.round(s/st)+"s":s+"ms"}function zu(s){var e=Math.abs(s);return e>=qe?ls(s,e,qe,"day"):e>=nt?ls(s,e,nt,"hour"):e>=it?ls(s,e,it,"minute"):e>=st?ls(s,e,st,"second"):s+" ms"}function ls(s,e,t,i){var n=e>=t*1.5;return Math.round(s/t)+" "+i+(n?"s":"")}});var Oi=x((av,vr)=>{function Wu(s){t.debug=t,t.default=t,t.coerce=o,t.disable=r,t.enable=n,t.enabled=c,t.humanize=xr(),t.destroy=l,Object.keys(s).forEach(p=>{t[p]=s[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let u=0;for(let d=0;d<p.length;d++)u=(u<<5)-u+p.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(p){let u,d=null,h,m;function f(...v){if(!f.enabled)return;let y=f,g=Number(new Date),L=g-(u||g);y.diff=L,y.prev=u,y.curr=g,u=g,v[0]=t.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let A=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(W,de)=>{if(W==="%%")return"%";A++;let ve=t.formatters[de];if(typeof ve=="function"){let fe=v[A];W=ve.call(y,fe),v.splice(A,1),A--}return W}),t.formatArgs.call(y,v),(y.log||t.log).apply(y,v)}return f.namespace=p,f.useColors=t.useColors(),f.color=t.selectColor(p),f.extend=i,f.destroy=t.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,m=t.enabled(p)),m),set:v=>{d=v}}),typeof t.init=="function"&&t.init(f),f}function i(p,u){let d=t(this.namespace+(typeof u>"u"?":":u)+p);return d.log=this.log,d}function n(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let u=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function a(p,u){let d=0,h=0,m=-1,f=0;for(;d<p.length;)if(h<u.length&&(u[h]===p[d]||u[h]==="*"))u[h]==="*"?(m=h,f=d,h++):(d++,h++);else if(m!==-1)h=m+1,f++,d=f;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function r(){let p=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),p}function c(p){for(let u of t.skips)if(a(p,u))return!1;for(let u of t.names)if(a(p,u))return!0;return!1}function o(p){return p instanceof Error?p.stack||p.message:p}function l(){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 t.enable(t.load()),t}vr.exports=Wu});var gr=x((G,ps)=>{G.formatArgs=Vu;G.save=Gu;G.load=Ku;G.useColors=$u;G.storage=Yu();G.destroy=(()=>{let s=!1;return()=>{s||(s=!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`."))}})();G.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"];function $u(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Vu(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+ps.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;s.splice(1,0,e,"color: inherit");let t=0,i=0;s[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),s.splice(i,0,e)}G.log=console.debug||console.log||(()=>{});function Gu(s){try{s?G.storage.setItem("debug",s):G.storage.removeItem("debug")}catch{}}function Ku(){let s;try{s=G.storage.getItem("debug")||G.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=process.env.DEBUG),s}function Yu(){try{return localStorage}catch{}}ps.exports=Oi()(G);var{formatters:Xu}=ps.exports;Xu.j=function(s){try{return JSON.stringify(s)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var yr=x((rv,br)=>{"use strict";br.exports=(s,e=process.argv)=>{let t=s.startsWith("-")?"":s.length===1?"-":"--",i=e.indexOf(t+s),n=e.indexOf("--");return i!==-1&&(n===-1||i<n)}});var Sr=x((ov,_r)=>{"use strict";var Ju=require("os"),wr=require("tty"),ee=yr(),{env:j}=process,Ae;ee("no-color")||ee("no-colors")||ee("color=false")||ee("color=never")?Ae=0:(ee("color")||ee("colors")||ee("color=true")||ee("color=always"))&&(Ae=1);"FORCE_COLOR"in j&&(j.FORCE_COLOR==="true"?Ae=1:j.FORCE_COLOR==="false"?Ae=0:Ae=j.FORCE_COLOR.length===0?1:Math.min(parseInt(j.FORCE_COLOR,10),3));function Ri(s){return s===0?!1:{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3}}function Ai(s,e){if(Ae===0)return 0;if(ee("color=16m")||ee("color=full")||ee("color=truecolor"))return 3;if(ee("color=256"))return 2;if(s&&!e&&Ae===void 0)return 0;let t=Ae||0;if(j.TERM==="dumb")return t;if(process.platform==="win32"){let i=Ju.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in j)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in j)||j.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in j)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(j.TEAMCITY_VERSION)?1:0;if(j.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in j){let i=parseInt((j.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(j.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(j.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(j.TERM)||"COLORTERM"in j?1:t}function Qu(s){let e=Ai(s,s&&s.isTTY);return Ri(e)}_r.exports={supportsColor:Qu,stdout:Ri(Ai(!0,wr.isatty(1))),stderr:Ri(Ai(!0,wr.isatty(2)))}});var kr=x((I,ds)=>{var Zu=require("tty"),us=require("util");I.init=rd;I.log=id;I.formatArgs=td;I.save=nd;I.load=ad;I.useColors=ed;I.destroy=us.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");I.colors=[6,2,3,4,5,1];try{let s=Sr();s&&(s.stderr||s).level>=2&&(I.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{}I.inspectOpts=Object.keys(process.env).filter(s=>/^debug_/i.test(s)).reduce((s,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,a)=>a.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),s[t]=i,s},{});function ed(){return"colors"in I.inspectOpts?!!I.inspectOpts.colors:Zu.isatty(process.stderr.fd)}function td(s){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${n};1m${e} \x1B[0m`;s[0]=a+s[0].split(`
2
+ var kp=Object.create;var Zt=Object.defineProperty;var Cp=Object.getOwnPropertyDescriptor;var Tp=Object.getOwnPropertyNames;var Op=Object.getPrototypeOf,Rp=Object.prototype.hasOwnProperty;var Me=(s,e)=>()=>(s&&(e=s(s=0)),e);var x=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),De=(s,e)=>{for(var t in e)Zt(s,t,{get:e[t],enumerable:!0})},ba=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Tp(e))!Rp.call(s,n)&&n!==t&&Zt(s,n,{get:()=>e[n],enumerable:!(i=Cp(e,n))||i.enumerable});return s};var M=(s,e,t)=>(t=s!=null?kp(Op(s)):{},ba(e||!s||!s.__esModule?Zt(t,"default",{value:s,enumerable:!0}):t,s)),Ap=s=>ba(Zt({},"__esModule",{value:!0}),s);var Sa=x((Wx,fi)=>{"use strict";fi.exports=_a;fi.exports.preferredCharsets=_a;var Pp=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function jp(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Ip(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Ip(s,e){var t=Pp.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{charset:i,q:n,i:e}}function Np(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Bp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Bp(s,e,t){var i=0;if(e.charset.toLowerCase()===s.toLowerCase())i|=1;else if(e.charset!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function _a(s,e){var t=jp(s===void 0?"*":s||"");if(!e)return t.filter(wa).sort(ya).map(Lp);var i=e.map(function(a,r){return Np(a,t,r)});return i.filter(wa).sort(ya).map(function(a){return e[i.indexOf(a)]})}function ya(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Lp(s){return s.charset}function wa(s){return s.q>0}});var Oa=x(($x,mi)=>{"use strict";mi.exports=Ta;mi.exports.preferredEncodings=Ta;var Mp=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function Dp(s){for(var e=s.split(","),t=!1,i=1,n=0,a=0;n<e.length;n++){var r=qp(e[n].trim(),n);r&&(e[a++]=r,t=t||Ca("identity",r),i=Math.min(i,r.q||1))}return t||(e[a++]={encoding:"identity",q:i,i:n}),e.length=a,e}function qp(s,e){var t=Mp.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{encoding:i,q:n,i:e}}function Fp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Ca(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Ca(s,e,t){var i=0;if(e.encoding.toLowerCase()===s.toLowerCase())i|=1;else if(e.encoding!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Ta(s,e){var t=Dp(s||"");if(!e)return t.filter(ka).sort(Ea).map(Up);var i=e.map(function(a,r){return Fp(a,t,r)});return i.filter(ka).sort(Ea).map(function(a){return e[i.indexOf(a)]})}function Ea(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Up(s){return s.encoding}function ka(s){return s.q>0}});var Ia=x((Vx,hi)=>{"use strict";hi.exports=ja;hi.exports.preferredLanguages=ja;var Hp=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function zp(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Pa(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Pa(s,e){var t=Hp.exec(s);if(!t)return null;var i=t[1],n=t[2],a=i;n&&(a+="-"+n);var r=1;if(t[3])for(var c=t[3].split(";"),o=0;o<c.length;o++){var l=c[o].split("=");l[0]==="q"&&(r=parseFloat(l[1]))}return{prefix:i,suffix:n,q:r,i:e,full:a}}function Wp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=$p(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function $p(s,e,t){var i=Pa(s);if(!i)return null;var n=0;if(e.full.toLowerCase()===i.full.toLowerCase())n|=4;else if(e.prefix.toLowerCase()===i.full.toLowerCase())n|=2;else if(e.full.toLowerCase()===i.prefix.toLowerCase())n|=1;else if(e.full!=="*")return null;return{i:t,o:e.i,q:e.q,s:n}}function ja(s,e){var t=zp(s===void 0?"*":s||"");if(!e)return t.filter(Aa).sort(Ra).map(Vp);var i=e.map(function(a,r){return Wp(a,t,r)});return i.filter(Aa).sort(Ra).map(function(a){return e[i.indexOf(a)]})}function Ra(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Vp(s){return s.full}function Aa(s){return s.q>0}});var qa=x((Gx,xi)=>{"use strict";xi.exports=Ma;xi.exports.preferredMediaTypes=Ma;var Gp=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function Kp(s){for(var e=Zp(s),t=0,i=0;t<e.length;t++){var n=La(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function La(s,e){var t=Gp.exec(s);if(!t)return null;var i=Object.create(null),n=1,a=t[2],r=t[1];if(t[3])for(var c=eu(t[3]).map(Qp),o=0;o<c.length;o++){var l=c[o],p=l[0].toLowerCase(),u=l[1],d=u&&u[0]==='"'&&u[u.length-1]==='"'?u.substr(1,u.length-2):u;if(p==="q"){n=parseFloat(d);break}i[p]=d}return{type:r,subtype:a,params:i,q:n,i:e}}function Yp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Xp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Xp(s,e,t){var i=La(s),n=0;if(!i)return null;if(e.type.toLowerCase()==i.type.toLowerCase())n|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==i.subtype.toLowerCase())n|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(r){return e.params[r]=="*"||(e.params[r]||"").toLowerCase()==(i.params[r]||"").toLowerCase()}))n|=1;else return null;return{i:t,o:e.i,q:e.q,s:n}}function Ma(s,e){var t=Kp(s===void 0?"*/*":s||"");if(!e)return t.filter(Ba).sort(Na).map(Jp);var i=e.map(function(a,r){return Yp(a,t,r)});return i.filter(Ba).sort(Na).map(function(a){return e[i.indexOf(a)]})}function Na(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Jp(s){return s.type+"/"+s.subtype}function Ba(s){return s.q>0}function Da(s){for(var e=0,t=0;(t=s.indexOf('"',t))!==-1;)e++,t++;return e}function Qp(s){var e=s.indexOf("="),t,i;return e===-1?t=s:(t=s.substr(0,e),i=s.substr(e+1)),[t,i]}function Zp(s){for(var e=s.split(","),t=1,i=0;t<e.length;t++)Da(e[i])%2==0?e[++i]=e[t]:e[i]+=","+e[t];return e.length=i+1,e}function eu(s){for(var e=s.split(";"),t=1,i=0;t<e.length;t++)Da(e[i])%2==0?e[++i]=e[t]:e[i]+=";"+e[t];e.length=i+1;for(var t=0;t<e.length;t++)e[t]=e[t].trim();return e}});var Fa=x((Kx,vi)=>{"use strict";var tu=Sa(),su=Oa(),iu=Ia(),nu=qa();vi.exports=S;vi.exports.Negotiator=S;function S(s){if(!(this instanceof S))return new S(s);this.request=s}S.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]};S.prototype.charsets=function(e){return tu(this.request.headers["accept-charset"],e)};S.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]};S.prototype.encodings=function(e){return su(this.request.headers["accept-encoding"],e)};S.prototype.language=function(e){var t=this.languages(e);return t&&t[0]};S.prototype.languages=function(e){return iu(this.request.headers["accept-language"],e)};S.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]};S.prototype.mediaTypes=function(e){return nu(this.request.headers.accept,e)};S.prototype.preferredCharset=S.prototype.charset;S.prototype.preferredCharsets=S.prototype.charsets;S.prototype.preferredEncoding=S.prototype.encoding;S.prototype.preferredEncodings=S.prototype.encodings;S.prototype.preferredLanguage=S.prototype.language;S.prototype.preferredLanguages=S.prototype.languages;S.prototype.preferredMediaType=S.prototype.mediaType;S.prototype.preferredMediaTypes=S.prototype.mediaTypes});var Ua=x((Yx,au)=>{au.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 za=x((Xx,Ha)=>{Ha.exports=Ua()});var Va=x($=>{"use strict";var es=za(),ru=require("path").extname,Wa=/^\s*([^;\s]*)(?:;|\s|$)/,ou=/^text\//i;$.charset=$a;$.charsets={lookup:$a};$.contentType=cu;$.extension=lu;$.extensions=Object.create(null);$.lookup=pu;$.types=Object.create(null);uu($.extensions,$.types);function $a(s){if(!s||typeof s!="string")return!1;var e=Wa.exec(s),t=e&&es[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&ou.test(e[1])?"UTF-8":!1}function cu(s){if(!s||typeof s!="string")return!1;var e=s.indexOf("/")===-1?$.lookup(s):s;if(!e)return!1;if(e.indexOf("charset")===-1){var t=$.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function lu(s){if(!s||typeof s!="string")return!1;var e=Wa.exec(s),t=e&&$.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function pu(s){if(!s||typeof s!="string")return!1;var e=ru("x."+s).toLowerCase().substr(1);return e&&$.types[e]||!1}function uu(s,e){var t=["nginx","apache",void 0,"iana"];Object.keys(es).forEach(function(n){var a=es[n],r=a.extensions;if(!(!r||!r.length)){s[n]=r;for(var c=0;c<r.length;c++){var o=r[c];if(e[o]){var l=t.indexOf(es[e[o]].source),p=t.indexOf(a.source);if(e[o]!=="application/octet-stream"&&(l>p||l===p&&e[o].substr(0,12)==="application/"))continue}e[o]=n}}})}});var ts=x((Qx,Ga)=>{"use strict";var du=Fa(),fu=Va();Ga.exports=X;function X(s){if(!(this instanceof X))return new X(s);this.headers=s.headers,this.negotiator=new du(s)}X.prototype.type=X.prototype.types=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var i=e.map(mu),n=this.negotiator.mediaTypes(i.filter(hu)),a=n[0];return a?e[i.indexOf(a)]:!1};X.prototype.encoding=X.prototype.encodings=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};X.prototype.charset=X.prototype.charsets=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};X.prototype.lang=X.prototype.langs=X.prototype.language=X.prototype.languages=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function mu(s){return s.indexOf("/")===-1?fu.lookup(s):s}function hu(s){return typeof s=="string"}});var bi=x((Ka,Ya)=>{var Rt=require("crypto"),gi=function(){};gi.prototype.getRandomBytes=function(s){var e=4096,t=this;if(s=s||12,s>e)return Rt.randomBytes(s);var i=parseInt(e/s),n=parseInt(i*.85);if(!n||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==i&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>n)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,Rt.randomBytes(e,function(r,c){t.bytesBuffer=c,t.bytesBufferIndex=0,t.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return Rt.randomBytes(s);var a=this.bytesBuffer.slice(s*this.bytesBufferIndex,s*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};gi.prototype.generateId=function(){var s=Buffer.alloc(15);return s.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,s.writeInt32BE(this.sequenceNumber,11),Rt.randomBytes?this.getRandomBytes(12).copy(s):[0,4,8].forEach(function(e){s.writeInt32BE(Math.random()*Math.pow(2,32)|0,e)}),s.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()};Ka=Ya.exports=new gi});var ss=x(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.ERROR_PACKET=Oe.PACKET_TYPES_REVERSE=Oe.PACKET_TYPES=void 0;var me=Object.create(null);Oe.PACKET_TYPES=me;me.open="0";me.close="1";me.ping="2";me.pong="3";me.message="4";me.upgrade="5";me.noop="6";var Xa=Object.create(null);Oe.PACKET_TYPES_REVERSE=Xa;Object.keys(me).forEach(s=>{Xa[me[s]]=s});var xu={type:"error",data:"parser error"};Oe.ERROR_PACKET=xu});var Qa=x(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.encodePacket=void 0;Ze.encodePacketToBinary=bu;var vu=ss(),gu=({type:s,data:e},t,i)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?i(t?e:"b"+Ja(e,!0).toString("base64")):i(vu.PACKET_TYPES[s]+(e||""));Ze.encodePacket=gu;var Ja=(s,e)=>Buffer.isBuffer(s)||s instanceof Uint8Array&&!e?s:s instanceof ArrayBuffer?Buffer.from(s):Buffer.from(s.buffer,s.byteOffset,s.byteLength),yi;function bu(s,e){if(s.data instanceof ArrayBuffer||ArrayBuffer.isView(s.data))return e(Ja(s.data,!1));(0,Ze.encodePacket)(s,!0,t=>{yi||(yi=new TextEncoder),e(yi.encode(t))})}});var er=x(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.decodePacket=void 0;var is=ss(),yu=(s,e)=>{if(typeof s!="string")return{type:"message",data:Za(s,e)};let t=s.charAt(0);if(t==="b"){let i=Buffer.from(s.substring(1),"base64");return{type:"message",data:Za(i,e)}}return is.PACKET_TYPES_REVERSE[t]?s.length>1?{type:is.PACKET_TYPES_REVERSE[t],data:s.substring(1)}:{type:is.PACKET_TYPES_REVERSE[t]}:is.ERROR_PACKET};ns.decodePacket=yu;var Za=(s,e)=>e==="arraybuffer"?s instanceof ArrayBuffer?s:Buffer.isBuffer(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s.buffer:Buffer.isBuffer(s)?s:Buffer.from(s)});var At=x(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.decodePayload=V.decodePacket=V.encodePayload=V.encodePacket=V.protocol=void 0;V.createPacketEncoderStream=Su;V.createPacketDecoderStream=Eu;var _i=Qa();Object.defineProperty(V,"encodePacket",{enumerable:!0,get:function(){return _i.encodePacket}});var Si=er();Object.defineProperty(V,"decodePacket",{enumerable:!0,get:function(){return Si.decodePacket}});var tr=ss(),sr="",wu=(s,e)=>{let t=s.length,i=new Array(t),n=0;s.forEach((a,r)=>{(0,_i.encodePacket)(a,!1,c=>{i[r]=c,++n===t&&e(i.join(sr))})})};V.encodePayload=wu;var _u=(s,e)=>{let t=s.split(sr),i=[];for(let n=0;n<t.length;n++){let a=(0,Si.decodePacket)(t[n],e);if(i.push(a),a.type==="error")break}return i};V.decodePayload=_u;function Su(){return new TransformStream({transform(s,e){(0,_i.encodePacketToBinary)(s,t=>{let i=t.length,n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);let a=new DataView(n.buffer);a.setUint8(0,126),a.setUint16(1,i)}else{n=new Uint8Array(9);let a=new DataView(n.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(i))}s.data&&typeof s.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}var wi;function as(s){return s.reduce((e,t)=>e+t.length,0)}function rs(s,e){if(s[0].length===e)return s.shift();let t=new Uint8Array(e),i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function Eu(s,e){wi||(wi=new TextDecoder);let t=[],i=0,n=-1,a=!1;return new TransformStream({transform(r,c){for(t.push(r);;){if(i===0){if(as(t)<1)break;let o=rs(t,1);a=(o[0]&128)===128,n=o[0]&127,n<126?i=3:n===126?i=1:i=2}else if(i===1){if(as(t)<2)break;let o=rs(t,2);n=new DataView(o.buffer,o.byteOffset,o.length).getUint16(0),i=3}else if(i===2){if(as(t)<8)break;let o=rs(t,8),l=new DataView(o.buffer,o.byteOffset,o.length),p=l.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(tr.ERROR_PACKET);break}n=p*Math.pow(2,32)+l.getUint32(4),i=3}else{if(as(t)<n)break;let o=rs(t,n);c.enqueue((0,Si.decodePacket)(a?o:wi.decode(o),e)),i=0}if(n===0||n>s){c.enqueue(tr.ERROR_PACKET);break}}}})}V.protocol=4});var rr=x((iv,ar)=>{var Re=String.fromCharCode;function ir(s){for(var e=[],t=0,i=s.length,n,a;t<i;)n=s.charCodeAt(t++),n>=55296&&n<=56319&&t<i?(a=s.charCodeAt(t++),(a&64512)==56320?e.push(((n&1023)<<10)+(a&1023)+65536):(e.push(n),t--)):e.push(n);return e}function ku(s){for(var e=s.length,t=-1,i,n="";++t<e;)i=s[t],i>65535&&(i-=65536,n+=Re(i>>>10&1023|55296),i=56320|i&1023),n+=Re(i);return n}function nr(s,e){if(s>=55296&&s<=57343){if(e)throw Error("Lone surrogate U+"+s.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Ei(s,e){return Re(s>>e&63|128)}function Cu(s,e){if((s&4294967168)==0)return Re(s);var t="";return(s&4294965248)==0?t=Re(s>>6&31|192):(s&4294901760)==0?(nr(s,e)||(s=65533),t=Re(s>>12&15|224),t+=Ei(s,6)):(s&4292870144)==0&&(t=Re(s>>18&7|240),t+=Ei(s,12),t+=Ei(s,6)),t+=Re(s&63|128),t}function Tu(s,e){e=e||{};for(var t=e.strict!==!1,i=ir(s),n=i.length,a=-1,r,c="";++a<n;)r=i[a],c+=Cu(r,t);return c}function et(){if(Ae>=cs)throw Error("Invalid byte index");var s=os[Ae]&255;if(Ae++,(s&192)==128)return s&63;throw Error("Invalid continuation byte")}function Ou(s){var e,t,i,n,a;if(Ae>cs)throw Error("Invalid byte index");if(Ae==cs)return!1;if(e=os[Ae]&255,Ae++,(e&128)==0)return e;if((e&224)==192){if(t=et(),a=(e&31)<<6|t,a>=128)return a;throw Error("Invalid continuation byte")}if((e&240)==224){if(t=et(),i=et(),a=(e&15)<<12|t<<6|i,a>=2048)return nr(a,s)?a:65533;throw Error("Invalid continuation byte")}if((e&248)==240&&(t=et(),i=et(),n=et(),a=(e&7)<<18|t<<12|i<<6|n,a>=65536&&a<=1114111))return a;throw Error("Invalid UTF-8 detected")}var os,cs,Ae;function Ru(s,e){e=e||{};var t=e.strict!==!1;os=ir(s),cs=os.length,Ae=0;for(var i=[],n;(n=Ou(t))!==!1;)i.push(n);return ku(i)}ar.exports={version:"2.1.2",encode:Tu,decode:Ru}});var mr=x(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.packets=P.protocol=void 0;P.encodePacket=ki;P.encodeBase64Packet=lr;P.decodePacket=Ci;P.decodeBase64Packet=pr;P.encodePayload=Iu;P.decodePayload=Bu;P.encodePayloadAsBinary=dr;P.decodePayloadAsBinary=fr;var cr=rr();P.protocol=3;var Au=s=>{for(let e of s)if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return!0;return!1};P.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var tt=Object.keys(P.packets),re={type:"error",data:"parser error"},Pu=Buffer.concat([]);function ki(s,e,t,i){if(typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t=null),Buffer.isBuffer(s.data))return or(s,e,i);if(s.data&&(s.data.buffer||s.data)instanceof ArrayBuffer)return or({type:s.type,data:Ti(s.data)},e,i);var n=P.packets[s.type];return s.data!==void 0&&(n+=t?cr.encode(String(s.data),{strict:!1}):String(s.data)),i(""+n)}function or(s,e,t){if(!e)return lr(s,t);var i=s.data,n=Buffer.allocUnsafe(1);return n[0]=P.packets[s.type],t(Buffer.concat([n,i]))}function lr(s,e){var t=Buffer.isBuffer(s.data)?s.data:Ti(s.data),i="b"+P.packets[s.type];return i+=t.toString("base64"),e(i)}function Ci(s,e,t){if(s===void 0)return re;let i;if(typeof s=="string")return i=s.charAt(0),i==="b"?pr(s.slice(1),e):t&&(s=ju(s),s===!1)||Number(i)!=i||!tt[i]?re:s.length>1?{type:tt[i],data:s.slice(1)}:{type:tt[i]};if(e==="arraybuffer"){var n=new Uint8Array(s);return i=n[0],{type:tt[i],data:n.buffer.slice(1)}}return s instanceof ArrayBuffer&&(s=Ti(s)),i=s[0],{type:tt[i],data:s.slice(1)}}function ju(s){try{s=cr.decode(s,{strict:!1})}catch{return!1}return s}function pr(s,e){var t=tt[s.charAt(0)],i=Buffer.from(s.slice(1),"base64");if(e==="arraybuffer"){for(var n=new Uint8Array(i.length),a=0;a<n.length;a++)n[a]=i[a];i=n.buffer}return{type:t,data:i}}function Iu(s,e,t){if(typeof e=="function"&&(t=e,e=null),e&&Au(s))return dr(s,t);if(!s.length)return t("0:");function i(n,a){ki(n,e,!1,function(r){a(null,Nu(r))})}ur(s,i,function(n,a){return t(a.join(""))})}function Nu(s){return s.length+":"+s}function ur(s,e,t){let i=new Array(s.length),n=0;for(let a=0;a<s.length;a++)e(s[a],(r,c)=>{i[a]=c,++n===s.length&&t(null,i)})}function Bu(s,e,t){if(typeof s!="string")return fr(s,e,t);if(typeof e=="function"&&(t=e,e=null),s==="")return t(re,0,1);for(var i="",n,a,r,c=0,o=s.length;c<o;c++){var l=s.charAt(c);if(l!==":"){i+=l;continue}if(i===""||i!=(n=Number(i))||(a=s.slice(c+1,c+1+n),i!=a.length))return t(re,0,1);if(a.length){if(r=Ci(a,e,!1),re.type===r.type&&re.data===r.data)return t(re,0,1);var p=t(r,c+n,o);if(p===!1)return}c+=n,i=""}if(i!=="")return t(re,0,1)}function Lu(s){for(var e="",t=0,i=s.length;t<i;t++)e+=String.fromCharCode(s[t]);return e}function Mu(s){for(var e=Buffer.allocUnsafe(s.length),t=0,i=s.length;t<i;t++)e.writeUInt8(s.charCodeAt(t),t);return e}function Ti(s){var e=s.byteLength||s.length,t=s.byteOffset||0;return Buffer.from(s.buffer||s,t,e)}function dr(s,e){if(!s.length)return e(Pu);ur(s,Du,function(t,i){return e(Buffer.concat(i))})}function Du(s,e){function t(i){var n=""+i.length,a;if(typeof i=="string"){a=Buffer.allocUnsafe(n.length+2),a[0]=0;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);return a[a.length-1]=255,e(null,Buffer.concat([a,Mu(i)]))}a=Buffer.allocUnsafe(n.length+2),a[0]=1;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);a[a.length-1]=255,e(null,Buffer.concat([a,i]))}ki(s,!0,!0,t)}function fr(s,e,t){typeof e=="function"&&(t=e,e=null);for(var i=s,n=[],a;i.length>0;){var r="",c=i[0]===0;for(a=1;i[a]!==255;a++){if(r.length>310)return t(re,0,1);r+=""+i[a]}i=i.slice(r.length+1);var o=parseInt(r,10),l=i.slice(1,o+1);c&&(l=Lu(l)),n.push(l),i=i.slice(o+1)}var p=n.length;for(a=0;a<p;a++){var u=n[a];t(Ci(u,e,!0),a,p)}}});var xr=x((av,hr)=>{var st=1e3,it=st*60,nt=it*60,qe=nt*24,qu=qe*7,Fu=qe*365.25;hr.exports=function(s,e){e=e||{};var t=typeof s;if(t==="string"&&s.length>0)return Uu(s);if(t==="number"&&isFinite(s))return e.long?zu(s):Hu(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))};function Uu(s){if(s=String(s),!(s.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*Fu;case"weeks":case"week":case"w":return t*qu;case"days":case"day":case"d":return t*qe;case"hours":case"hour":case"hrs":case"hr":case"h":return t*nt;case"minutes":case"minute":case"mins":case"min":case"m":return t*it;case"seconds":case"second":case"secs":case"sec":case"s":return t*st;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Hu(s){var e=Math.abs(s);return e>=qe?Math.round(s/qe)+"d":e>=nt?Math.round(s/nt)+"h":e>=it?Math.round(s/it)+"m":e>=st?Math.round(s/st)+"s":s+"ms"}function zu(s){var e=Math.abs(s);return e>=qe?ls(s,e,qe,"day"):e>=nt?ls(s,e,nt,"hour"):e>=it?ls(s,e,it,"minute"):e>=st?ls(s,e,st,"second"):s+" ms"}function ls(s,e,t,i){var n=e>=t*1.5;return Math.round(s/t)+" "+i+(n?"s":"")}});var Oi=x((rv,vr)=>{function Wu(s){t.debug=t,t.default=t,t.coerce=o,t.disable=r,t.enable=n,t.enabled=c,t.humanize=xr(),t.destroy=l,Object.keys(s).forEach(p=>{t[p]=s[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let u=0;for(let d=0;d<p.length;d++)u=(u<<5)-u+p.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(p){let u,d=null,h,m;function f(...v){if(!f.enabled)return;let y=f,g=Number(new Date),L=g-(u||g);y.diff=L,y.prev=u,y.curr=g,u=g,v[0]=t.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let A=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(W,de)=>{if(W==="%%")return"%";A++;let ve=t.formatters[de];if(typeof ve=="function"){let fe=v[A];W=ve.call(y,fe),v.splice(A,1),A--}return W}),t.formatArgs.call(y,v),(y.log||t.log).apply(y,v)}return f.namespace=p,f.useColors=t.useColors(),f.color=t.selectColor(p),f.extend=i,f.destroy=t.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,m=t.enabled(p)),m),set:v=>{d=v}}),typeof t.init=="function"&&t.init(f),f}function i(p,u){let d=t(this.namespace+(typeof u>"u"?":":u)+p);return d.log=this.log,d}function n(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let u=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function a(p,u){let d=0,h=0,m=-1,f=0;for(;d<p.length;)if(h<u.length&&(u[h]===p[d]||u[h]==="*"))u[h]==="*"?(m=h,f=d,h++):(d++,h++);else if(m!==-1)h=m+1,f++,d=f;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function r(){let p=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),p}function c(p){for(let u of t.skips)if(a(p,u))return!1;for(let u of t.names)if(a(p,u))return!0;return!1}function o(p){return p instanceof Error?p.stack||p.message:p}function l(){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 t.enable(t.load()),t}vr.exports=Wu});var gr=x((G,ps)=>{G.formatArgs=Vu;G.save=Gu;G.load=Ku;G.useColors=$u;G.storage=Yu();G.destroy=(()=>{let s=!1;return()=>{s||(s=!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`."))}})();G.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"];function $u(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Vu(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+ps.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;s.splice(1,0,e,"color: inherit");let t=0,i=0;s[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),s.splice(i,0,e)}G.log=console.debug||console.log||(()=>{});function Gu(s){try{s?G.storage.setItem("debug",s):G.storage.removeItem("debug")}catch{}}function Ku(){let s;try{s=G.storage.getItem("debug")||G.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=process.env.DEBUG),s}function Yu(){try{return localStorage}catch{}}ps.exports=Oi()(G);var{formatters:Xu}=ps.exports;Xu.j=function(s){try{return JSON.stringify(s)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var yr=x((ov,br)=>{"use strict";br.exports=(s,e=process.argv)=>{let t=s.startsWith("-")?"":s.length===1?"-":"--",i=e.indexOf(t+s),n=e.indexOf("--");return i!==-1&&(n===-1||i<n)}});var Sr=x((cv,_r)=>{"use strict";var Ju=require("os"),wr=require("tty"),ee=yr(),{env:j}=process,Pe;ee("no-color")||ee("no-colors")||ee("color=false")||ee("color=never")?Pe=0:(ee("color")||ee("colors")||ee("color=true")||ee("color=always"))&&(Pe=1);"FORCE_COLOR"in j&&(j.FORCE_COLOR==="true"?Pe=1:j.FORCE_COLOR==="false"?Pe=0:Pe=j.FORCE_COLOR.length===0?1:Math.min(parseInt(j.FORCE_COLOR,10),3));function Ri(s){return s===0?!1:{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3}}function Ai(s,e){if(Pe===0)return 0;if(ee("color=16m")||ee("color=full")||ee("color=truecolor"))return 3;if(ee("color=256"))return 2;if(s&&!e&&Pe===void 0)return 0;let t=Pe||0;if(j.TERM==="dumb")return t;if(process.platform==="win32"){let i=Ju.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in j)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in j)||j.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in j)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(j.TEAMCITY_VERSION)?1:0;if(j.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in j){let i=parseInt((j.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(j.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(j.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(j.TERM)||"COLORTERM"in j?1:t}function Qu(s){let e=Ai(s,s&&s.isTTY);return Ri(e)}_r.exports={supportsColor:Qu,stdout:Ri(Ai(!0,wr.isatty(1))),stderr:Ri(Ai(!0,wr.isatty(2)))}});var kr=x((I,ds)=>{var Zu=require("tty"),us=require("util");I.init=rd;I.log=id;I.formatArgs=td;I.save=nd;I.load=ad;I.useColors=ed;I.destroy=us.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");I.colors=[6,2,3,4,5,1];try{let s=Sr();s&&(s.stderr||s).level>=2&&(I.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{}I.inspectOpts=Object.keys(process.env).filter(s=>/^debug_/i.test(s)).reduce((s,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,a)=>a.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),s[t]=i,s},{});function ed(){return"colors"in I.inspectOpts?!!I.inspectOpts.colors:Zu.isatty(process.stderr.fd)}function td(s){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${n};1m${e} \x1B[0m`;s[0]=a+s[0].split(`
3
3
  `).join(`
4
4
  `+a),s.push(n+"m+"+ds.exports.humanize(this.diff)+"\x1B[0m")}else s[0]=sd()+e+" "+s[0]}function sd(){return I.inspectOpts.hideDate?"":new Date().toISOString()+" "}function id(...s){return process.stderr.write(us.formatWithOptions(I.inspectOpts,...s)+`
5
5
  `)}function nd(s){s?process.env.DEBUG=s:delete process.env.DEBUG}function ad(){return process.env.DEBUG}function rd(s){s.inspectOpts={};let e=Object.keys(I.inspectOpts);for(let t=0;t<e.length;t++)s.inspectOpts[e[t]]=I.inspectOpts[e[t]]}ds.exports=Oi()(I);var{formatters:Er}=ds.exports;Er.o=function(s){return this.inspectOpts.colors=this.useColors,us.inspect(s,this.inspectOpts).split(`
6
- `).map(e=>e.trim()).join(" ")};Er.O=function(s){return this.inspectOpts.colors=this.useColors,us.inspect(s,this.inspectOpts)}});var R=x((cv,Pi)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Pi.exports=gr():Pi.exports=kr()});var Fe=x(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.Transport=void 0;var od=require("events"),cd=Rt(),ld=mr(),pd=R(),Cr=(0,pd.default)("engine:transport");function ud(){}var fs=class extends od.EventEmitter{get readyState(){return this._readyState}set readyState(e){Cr("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=e._query.EIO==="4"?4:3,this.parser=this.protocol===4?cd:ld,this.supportsBinary=!(e._query&&e._query.b64)}discard(){this.discarded=!0}onRequest(e){}close(e){this.readyState==="closed"||this.readyState==="closing"||(this.readyState="closing",this.doClose(e||ud))}onError(e,t){if(this.listeners("error").length){let i=new Error(e);i.type="TransportError",i.description=t,this.emit("error",i)}else Cr("ignored transport error %s (%s)",e,t)}onPacket(e){this.emit("packet",e)}onData(e){this.onPacket(this.parser.decodePacket(e))}onClose(){this.readyState="closed",this.emit("close")}};ms.Transport=fs;fs.upgradesTo=[]});var Ii=x(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.Polling=void 0;var dd=Fe(),Tr=require("zlib"),fd=ts(),md=R(),J=(0,md.default)("engine:polling"),hd={gzip:Tr.createGzip,deflate:Tr.createDeflate},ji=class extends dd.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.method==="GET"?this.onPollRequest(e,t):e.method==="POST"?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req){J("request overlap"),this.onError("overlap from client"),t.writeHead(400),t.end();return}J("setting request"),this.req=e,this.res=t;let i=()=>{this.onError("poll connection closed prematurely")},n=()=>{e.removeListener("close",i),this.req=this.res=null};e.cleanup=n,e.on("close",i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(J("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeHead(400),t.end();return}let i=e.headers["content-type"]==="application/octet-stream";if(i&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let n=i?Buffer.concat([]):"",a=()=>{e.removeListener("data",c),e.removeListener("end",o),e.removeListener("close",r),this.dataReq=this.dataRes=n=null},r=()=>{a(),this.onError("data request connection closed prematurely")},c=l=>{let p;i?(n=Buffer.concat([n,l]),p=n.length):(n+=l,p=Buffer.byteLength(n)),p>this.maxHttpBufferSize&&(t.writeHead(413).end(),a())},o=()=>{this.onData(n);let l={"Content-Type":"text/html","Content-Length":"2"};t.writeHead(200,this.headers(e,l)),t.end("ok"),a()};e.on("close",r),i||e.setEncoding("utf8"),e.on("data",c),e.on("end",o)}onData(e){J('received "%s"',e);let t=i=>{if(i.type==="close")return J("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(J("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){J('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{r["Content-Length"]=typeof p=="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,r)),this.res.end(p),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=fd(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeHead(500),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){J("compressing");let n=[],a=0;hd[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){J("closing");let t;this.dataReq&&(J("aborting ongoing data request"),this.dataReq.destroy());let i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(J("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(J("transport discarded - closing right away"),i()):(J("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t={}){let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};hs.Polling=ji});var Or=x(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.JSONP=void 0;var xd=Ii(),vd=require("querystring"),gd=/\\\\n/g,bd=/(\\)?\\n/g,Ni=class extends xd.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){e=vd.parse(e).d,typeof e=="string"&&(e=e.replace(bd,function(t,i){return i?t:`
7
- `}),super.onData(e.replace(gd,"\\n")))}doWrite(e,t,i){let n=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+n+this.foot,super.doWrite(e,t,i)}};xs.JSONP=Ni});var Ar=x(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.WebSocket=void 0;var yd=Fe(),wd=R(),Rr=(0,wd.default)("engine:ws"),Bi=class extends yd.Transport{constructor(e){super(e),this._doSend=t=>{this.socket.send(t,this._onSent)},this._doSendLast=t=>{this.socket.send(t,this._onSentLast)},this._onSent=t=>{t&&this.onError("write error",t.stack)},this._onSentLast=t=>{t?this.onError("write error",t.stack):(this.emit("drain"),this.writable=!0,this.emit("ready"))},this.socket=e.websocket,this.socket.on("message",(t,i)=>{let n=i?t:t.toString();Rr('received "%s"',n),super.onData(n)}),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(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length;this._canSendPreEncodedFrame(i)?this.socket._sender.sendFrame(i.options.wsPreEncodedFrame,n?this._onSentLast:this._onSent):this.parser.encodePacket(i,this.supportsBinary,n?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(e){var t,i,n;return!this.perMessageDeflate&&typeof((i=(t=this.socket)===null||t===void 0?void 0:t._sender)===null||i===void 0?void 0:i.sendFrame)=="function"&&((n=e.options)===null||n===void 0?void 0:n.wsPreEncodedFrame)!==void 0}doClose(e){Rr("closing"),this.socket.close(),e&&e()}};vs.WebSocket=Bi});var Mi=x(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.WebTransport=void 0;var _d=Fe(),Sd=R(),Ed=Rt(),at=(0,Sd.default)("engine:webtransport"),Li=class extends _d.Transport{constructor(e,t,i){super({_query:{EIO:"4"}}),this.session=e;let n=(0,Ed.createPacketEncoderStream)();n.readable.pipeTo(t.writable).catch(()=>{at("the stream was closed")}),this.writer=n.writable.getWriter(),(async()=>{try{for(;;){let{value:a,done:r}=await i.read();if(r){at("session is closed");break}at("received chunk: %o",a),this.onPacket(a)}}catch(a){at("error while reading: %s",a.message)}})(),e.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){let i=e[t];await this.writer.write(i)}}catch(t){at("error while writing: %s",t.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(e){at("closing WebTransport session"),this.session.close(),e&&e()}};gs.WebTransport=Li});var qi=x(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});var kd=Ii(),Cd=Or(),Td=Ar(),Od=Mi();Di.default={polling:Pr,websocket:Td.WebSocket,webtransport:Od.WebTransport};function Pr(s){return typeof s._query.j=="string"?new Cd.JSONP(s):new kd.Polling(s)}Pr.upgradesTo=["websocket","webtransport"]});var Ui=x(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.Socket=void 0;var Rd=require("events"),Ad=R(),ge=require("timers"),O=(0,Ad.default)("engine:socket"),Fi=class extends Rd.EventEmitter{get readyState(){return this._readyState}set readyState(e){O("readyState updated from %s to %s",this._readyState,e),this._readyState=e}constructor(e,t,i,n,a){super(),this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=e,this.server=t,this.request=n,this.protocol=a,n&&(n.websocket&&n.websocket._socket?this.remoteAddress=n.websocket._socket.remoteAddress:this.remoteAddress=n.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(i),this.onOpen()}onOpen(){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),this.emit("open"),this.protocol===3?this.resetPingTimeout():this.schedulePing()}onPacket(e){if(this.readyState!=="open")return O("packet received with closed socket");switch(O(`received packet ${e.type}`),this.emit("packet",e),e.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}O("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}O("got pong"),(0,ge.clearTimeout)(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",e.data),this.emit("message",e.data);break}}onError(e){O("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,ge.setTimeout)(()=>{O("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,ge.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,ge.setTimeout)(()=>{this.readyState!=="closed"&&this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(e){let t=this.onError.bind(this),i=()=>this.flush(),n=this.onPacket.bind(this),a=this.onDrain.bind(this),r=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("ready",i),this.transport.on("packet",n),this.transport.on("drain",a),this.transport.once("close",r),this.cleanupFn.push(function(){e.removeListener("error",t),e.removeListener("ready",i),e.removeListener("packet",n),e.removeListener("drain",a),e.removeListener("close",r)})}onDrain(){if(this.sentCallbackFn.length>0){O("executing batch send callback");let e=this.sentCallbackFn.shift();if(e)for(let t=0;t<e.length;t++)e[t](this.transport)}}_maybeUpgrade(e){O('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;let t=(0,ge.setTimeout)(()=>{O("client did not complete upgrade - closing transport"),r(),e.readyState==="open"&&e.close()},this.server.opts.upgradeTimeout),i,n=p=>{p.type==="ping"&&p.data==="probe"?(O("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(i),i=setInterval(a,100)):p.type==="upgrade"&&this.readyState!=="closed"?(O("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),this.readyState==="closing"&&e.close(()=>{this.onClose("forced close")})):(r(),e.close())},a=()=>{this.transport.name==="polling"&&this.transport.writable&&(O("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(i),(0,ge.clearTimeout)(t),e.removeListener("packet",n),e.removeListener("close",o),e.removeListener("error",c),this.removeListener("close",l)},c=p=>{O("client did not complete upgrade - %s",p),r(),e.close(),e=null},o=()=>{c("transport closed")},l=()=>{c("socket closed")};e.on("packet",n),e.once("close",o),e.once("error",c),this.once("close",l)}clearTransport(){let e,t=this.cleanupFn.length;for(let i=0;i<t;i++)e=this.cleanupFn.shift(),e();this.transport.on("error",function(){O("error triggered by discarded transport")}),this.transport.close(),(0,ge.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){this.readyState!=="closed"&&(this.readyState="closed",(0,ge.clearTimeout)(this.pingIntervalTimer),(0,ge.clearTimeout)(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}send(e,t,i){return this.sendPacket("message",e,t,i),this}write(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i={},n){if(typeof i=="function"&&(n=i,i={}),this.readyState!=="closing"&&this.readyState!=="closed"){O('sending packet "%s" (%s)',e,t),i.compress=i.compress!==!1;let a={type:e,options:i};t&&(a.data=t),this.emit("packetCreate",a),this.writeBuffer.push(a),typeof n=="function"&&this.packetsFn.push(n),this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){O("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let e=this.writeBuffer;this.writeBuffer=[],this.packetsFn.length?(this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[]):this.sentCallbackFn.push(null),this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let e=[],t=this.server.upgrades(this.transport.name);for(let i=0;i<t.length;++i){let n=t[i];this.server.opts.transports.indexOf(n)!==-1&&e.push(n)}return e}close(e){if(e&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(e);if(this.readyState==="open"){if(this.readyState="closing",this.writeBuffer.length){O("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{O("all packets have been sent, closing the transport"),this.closeTransport(e)});return}O("the buffer is empty, closing the transport right away"),this.closeTransport(e)}}closeTransport(e){O("closing the transport (discard? %s)",!!e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}};bs.Socket=Fi});var Nr=x(Hi=>{"use strict";Hi.parse=Md;Hi.serialize=Dd;var Pd=Object.prototype.toString,jd=Object.prototype.hasOwnProperty,Id=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Nd=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Bd=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Ld=/^[\u0020-\u003A\u003D-\u007E]*$/;function Md(s,e){if(typeof s!="string")throw new TypeError("argument str must be a string");var t={},i=s.length;if(i<2)return t;var n=e&&e.decode||qd,a=0,r=0,c=0;do{if(r=s.indexOf("=",a),r===-1)break;if(c=s.indexOf(";",a),c===-1)c=i;else if(r>c){a=s.lastIndexOf(";",r-1)+1;continue}var o=jr(s,a,r),l=Ir(s,r,o),p=s.slice(o,l);if(!jd.call(t,p)){var u=jr(s,r+1,c),d=Ir(s,c,u);s.charCodeAt(u)===34&&s.charCodeAt(d-1)===34&&(u++,d--);var h=s.slice(u,d);t[p]=Ud(h,n)}a=c+1}while(a<i);return t}function jr(s,e,t){do{var i=s.charCodeAt(e);if(i!==32&&i!==9)return e}while(++e<t);return t}function Ir(s,e,t){for(;e>t;){var i=s.charCodeAt(--e);if(i!==32&&i!==9)return e+1}return t}function Dd(s,e,t){var i=t&&t.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Id.test(s))throw new TypeError("argument name is invalid");var n=i(e);if(!Nd.test(n))throw new TypeError("argument val is invalid");var a=s+"="+n;if(!t)return a;if(t.maxAge!=null){var r=Math.floor(t.maxAge);if(!isFinite(r))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+r}if(t.domain){if(!Bd.test(t.domain))throw new TypeError("option domain is invalid");a+="; Domain="+t.domain}if(t.path){if(!Ld.test(t.path))throw new TypeError("option path is invalid");a+="; Path="+t.path}if(t.expires){var c=t.expires;if(!Fd(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(t.httpOnly&&(a+="; HttpOnly"),t.secure&&(a+="; Secure"),t.partitioned&&(a+="; Partitioned"),t.priority){var o=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(o){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var l=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function qd(s){return s.indexOf("%")!==-1?decodeURIComponent(s):s}function Fd(s){return Pd.call(s)==="[object Date]"}function Ud(s,e){try{return e(s)}catch{return s}}});var be=x((vv,Mr)=>{"use strict";var Br=["nodebuffer","arraybuffer","fragments"],Lr=typeof Blob<"u";Lr&&Br.push("blob");Mr.exports={BINARY_TYPES:Br,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Lr,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var At=x((gv,ys)=>{"use strict";var{EMPTY_BUFFER:Hd}=be(),zi=Buffer[Symbol.species];function zd(s,e){if(s.length===0)return Hd;if(s.length===1)return s[0];let t=Buffer.allocUnsafe(e),i=0;for(let n=0;n<s.length;n++){let a=s[n];t.set(a,i),i+=a.length}return i<e?new zi(t.buffer,t.byteOffset,i):t}function Dr(s,e,t,i,n){for(let a=0;a<n;a++)t[i+a]=s[a]^e[a&3]}function qr(s,e){for(let t=0;t<s.length;t++)s[t]^=e[t&3]}function Wd(s){return s.length===s.buffer.byteLength?s.buffer:s.buffer.slice(s.byteOffset,s.byteOffset+s.length)}function Wi(s){if(Wi.readOnly=!0,Buffer.isBuffer(s))return s;let e;return s instanceof ArrayBuffer?e=new zi(s):ArrayBuffer.isView(s)?e=new zi(s.buffer,s.byteOffset,s.byteLength):(e=Buffer.from(s),Wi.readOnly=!1),e}ys.exports={concat:zd,mask:Dr,toArrayBuffer:Wd,toBuffer:Wi,unmask:qr};if(!process.env.WS_NO_BUFFER_UTIL)try{let s=require("bufferutil");ys.exports.mask=function(e,t,i,n,a){a<48?Dr(e,t,i,n,a):s.mask(e,t,i,n,a)},ys.exports.unmask=function(e,t){e.length<32?qr(e,t):s.unmask(e,t)}}catch{}});var Hr=x((bv,Ur)=>{"use strict";var Fr=Symbol("kDone"),$i=Symbol("kRun"),Vi=class{constructor(e){this[Fr]=()=>{this.pending--,this[$i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[$i]()}[$i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Fr])}}};Ur.exports=Vi});var jt=x((yv,Vr)=>{"use strict";var Pt=require("zlib"),zr=At(),$d=Hr(),{kStatusCode:Wr}=be(),Vd=Buffer[Symbol.species],Gd=Buffer.from([0,0,255,255]),_s=Symbol("permessage-deflate"),ye=Symbol("total-length"),rt=Symbol("callback"),Pe=Symbol("buffers"),ot=Symbol("error"),ws,Gi=class{constructor(e,t,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!ws){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ws=new $d(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[rt];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,i=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(i.server_no_context_takeover=!0),t.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(i.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?i.client_max_window_bits=t.clientMaxWindowBits:(i.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(i=>{let n=t[i];if(n.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(n=n[0],i==="client_max_window_bits"){if(n!==!0){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else if(i==="server_max_window_bits"){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else throw new Error(`Unknown parameter "${i}"`);t[i]=n})}),e}decompress(e,t,i){ws.add(n=>{this._decompress(e,t,(a,r)=>{n(),i(a,r)})})}compress(e,t,i){ws.add(n=>{this._compress(e,t,(a,r)=>{n(),i(a,r)})})}_decompress(e,t,i){let n=this._isServer?"client":"server";if(!this._inflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Pt.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=Pt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:r}),this._inflate[_s]=this,this._inflate[ye]=0,this._inflate[Pe]=[],this._inflate.on("error",Yd),this._inflate.on("data",$r)}this._inflate[rt]=i,this._inflate.write(e),t&&this._inflate.write(Gd),this._inflate.flush(()=>{let a=this._inflate[ot];if(a){this._inflate.close(),this._inflate=null,i(a);return}let r=zr.concat(this._inflate[Pe],this._inflate[ye]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[ye]=0,this._inflate[Pe]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),i(null,r)})}_compress(e,t,i){let n=this._isServer?"server":"client";if(!this._deflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Pt.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=Pt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:r}),this._deflate[ye]=0,this._deflate[Pe]=[],this._deflate.on("data",Kd)}this._deflate[rt]=i,this._deflate.write(e),this._deflate.flush(Pt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=zr.concat(this._deflate[Pe],this._deflate[ye]);t&&(a=new Vd(a.buffer,a.byteOffset,a.length-4)),this._deflate[rt]=null,this._deflate[ye]=0,this._deflate[Pe]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};Vr.exports=Gi;function Kd(s){this[Pe].push(s),this[ye]+=s.length}function $r(s){if(this[ye]+=s.length,this[_s]._maxPayload<1||this[ye]<=this[_s]._maxPayload){this[Pe].push(s);return}this[ot]=new RangeError("Max payload size exceeded"),this[ot].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[ot][Wr]=1009,this.removeListener("data",$r),this.reset()}function Yd(s){if(this[_s]._inflate=null,this[ot]){this[rt](this[ot]);return}s[Wr]=1007,this[rt](s)}});var ct=x((wv,Ss)=>{"use strict";var{isUtf8:Gr}=require("buffer"),{hasBlob:Xd}=be(),Jd=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,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,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,0,1,0,1,0];function Qd(s){return s>=1e3&&s<=1014&&s!==1004&&s!==1005&&s!==1006||s>=3e3&&s<=4999}function Ki(s){let e=s.length,t=0;for(;t<e;)if((s[t]&128)===0)t++;else if((s[t]&224)===192){if(t+1===e||(s[t+1]&192)!==128||(s[t]&254)===192)return!1;t+=2}else if((s[t]&240)===224){if(t+2>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||s[t]===224&&(s[t+1]&224)===128||s[t]===237&&(s[t+1]&224)===160)return!1;t+=3}else if((s[t]&248)===240){if(t+3>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||(s[t+3]&192)!==128||s[t]===240&&(s[t+1]&240)===128||s[t]===244&&s[t+1]>143||s[t]>244)return!1;t+=4}else return!1;return!0}function Zd(s){return Xd&&typeof s=="object"&&typeof s.arrayBuffer=="function"&&typeof s.type=="string"&&typeof s.stream=="function"&&(s[Symbol.toStringTag]==="Blob"||s[Symbol.toStringTag]==="File")}Ss.exports={isBlob:Zd,isValidStatusCode:Qd,isValidUTF8:Ki,tokenChars:Jd};if(Gr)Ss.exports.isValidUTF8=function(s){return s.length<24?Ki(s):Gr(s)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let s=require("utf-8-validate");Ss.exports.isValidUTF8=function(e){return e.length<32?Ki(e):s(e)}}catch{}});var Zi=x((_v,eo)=>{"use strict";var{Writable:ef}=require("stream"),Kr=jt(),{BINARY_TYPES:tf,EMPTY_BUFFER:Yr,kStatusCode:sf,kWebSocket:nf}=be(),{concat:Yi,toArrayBuffer:af,unmask:rf}=At(),{isValidStatusCode:of,isValidUTF8:Xr}=ct(),Es=Buffer[Symbol.species],te=0,Jr=1,Qr=2,Zr=3,Xi=4,Ji=5,ks=6,Qi=class extends ef{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||tf[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[nf]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=te}_write(e,t,i){if(this._opcode===8&&this._state==te)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Es(i.buffer,i.byteOffset+e,i.length-e),new Es(i.buffer,i.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let i=this._buffers[0],n=t.length-e;e>=i.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(i.buffer,i.byteOffset,e),n),this._buffers[0]=new Es(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case te:this.getInfo(e);break;case Jr:this.getPayloadLength16(e);break;case Qr:this.getPayloadLength64(e);break;case Zr:this.getMask();break;case Xi:this.getData(e);break;case Ji:case ks:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let i=(t[0]&64)===64;if(i&&!this._extensions[Kr.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=Jr:this._payloadLength===127?this._state=Qr:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),i=t.readUInt32BE(0);if(i>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=i*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=Zr:this._state=Xi}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Xi}getData(e){let t=Yr;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&rf(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=Ji,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[Kr.extensionName].decompress(e,this._fin,(n,a)=>{if(n)return t(n);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(r);return}this._fragments.push(a)}this.dataMessage(t),this._state===te&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=te;return}let t=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=Yi(i,t):this._binaryType==="arraybuffer"?n=af(Yi(i,t)):this._binaryType==="blob"?n=new Blob(i):n=i,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=te):(this._state=ks,setImmediate(()=>{this.emit("message",n,!0),this._state=te,this.startLoop(e)}))}else{let n=Yi(i,t);if(!this._skipUTF8Validation&&!Xr(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(a);return}this._state===Ji||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=te):(this._state=ks,setImmediate(()=>{this.emit("message",n,!1),this._state=te,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Yr),this.end();else{let i=e.readUInt16BE(0);if(!of(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(a);return}let n=new Es(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Xr(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._loop=!1,this.emit("conclude",i,n),this.end()}this._state=te;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=te):(this._state=ks,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=te,this.startLoop(t)}))}createError(e,t,i,n,a){this._loop=!1,this._errored=!0;let r=new e(i?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(r,this.createError),r.code=a,r[sf]=n,r}};eo.exports=Qi});var sn=x((Ev,io)=>{"use strict";var{Duplex:Sv}=require("stream"),{randomFillSync:cf}=require("crypto"),to=jt(),{EMPTY_BUFFER:lf,kWebSocket:pf,NOOP:uf}=be(),{isBlob:lt,isValidStatusCode:df}=ct(),{mask:so,toBuffer:Ue}=At(),se=Symbol("kByteLength"),ff=Buffer.alloc(4),Cs=8*1024,He,pt=Cs,oe=0,mf=1,hf=2,en=class s{constructor(e,t,i){this._extensions=t||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=oe,this.onerror=uf,this[pf]=void 0}static frame(e,t){let i,n=!1,a=2,r=!1;t.mask&&(i=t.maskBuffer||ff,t.generateMask?t.generateMask(i):(pt===Cs&&(He===void 0&&(He=Buffer.alloc(Cs)),cf(He,0,Cs),pt=0),i[0]=He[pt++],i[1]=He[pt++],i[2]=He[pt++],i[3]=He[pt++]),r=(i[0]|i[1]|i[2]|i[3])===0,a=6);let c;typeof e=="string"?(!t.mask||r)&&t[se]!==void 0?c=t[se]:(e=Buffer.from(e),c=e.length):(c=e.length,n=t.mask&&t.readOnly&&!r);let o=c;c>=65536?(a+=8,o=127):c>125&&(a+=2,o=126);let l=Buffer.allocUnsafe(n?c+a:a);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=o,o===126?l.writeUInt16BE(c,2):o===127&&(l[2]=l[3]=0,l.writeUIntBE(c,4,6)),t.mask?(l[1]|=128,l[a-4]=i[0],l[a-3]=i[1],l[a-2]=i[2],l[a-1]=i[3],r?[l,e]:n?(so(e,i,l,a,c),[l]):(so(e,i,e,0,c),[l,e])):[l,e]}close(e,t,i,n){let a;if(e===void 0)a=lf;else{if(typeof e!="number"||!df(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");a=Buffer.allocUnsafe(2+c),a.writeUInt16BE(e,0),typeof t=="string"?a.write(t,2):a.set(t,2)}}let r={[se]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==oe?this.enqueue([this.dispatch,a,!1,r,n]):this.sendFrame(s.frame(a,r),n)}ping(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):lt(e)?(n=e.size,a=!1):(e=Ue(e),n=e.length,a=Ue.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[se]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==oe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}pong(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):lt(e)?(n=e.size,a=!1):(e=Ue(e),n=e.length,a=Ue.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[se]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==oe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}send(e,t,i){let n=this._extensions[to.extensionName],a=t.binary?2:1,r=t.compress,c,o;typeof e=="string"?(c=Buffer.byteLength(e),o=!1):lt(e)?(c=e.size,o=!1):(e=Ue(e),c=e.length,o=Ue.readOnly),this._firstFragment?(this._firstFragment=!1,r&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(r=c>=n._threshold),this._compress=r):(r=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[se]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:o,rsv1:r};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,this._compress,l,i]):this.getBlobData(e,this._compress,l,i):this._state!==oe?this.enqueue([this.dispatch,e,this._compress,l,i]):this.dispatch(e,this._compress,l,i)}getBlobData(e,t,i,n){this._bufferedBytes+=i[se],this._state=hf,e.arrayBuffer().then(a=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(tn,this,c,n);return}this._bufferedBytes-=i[se];let r=Ue(a);t?this.dispatch(r,t,i,n):(this._state=oe,this.sendFrame(s.frame(r,i),n),this.dequeue())}).catch(a=>{process.nextTick(xf,this,a,n)})}dispatch(e,t,i,n){if(!t){this.sendFrame(s.frame(e,i),n);return}let a=this._extensions[to.extensionName];this._bufferedBytes+=i[se],this._state=mf,a.compress(e,i.fin,(r,c)=>{if(this._socket.destroyed){let o=new Error("The socket was closed while data was being compressed");tn(this,o,n);return}this._bufferedBytes-=i[se],this._state=oe,i.readOnly=!1,this.sendFrame(s.frame(c,i),n),this.dequeue()})}dequeue(){for(;this._state===oe&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][se],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][se],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};io.exports=en;function tn(s,e,t){typeof t=="function"&&t(e);for(let i=0;i<s._queue.length;i++){let n=s._queue[i],a=n[n.length-1];typeof a=="function"&&a(e)}}function xf(s,e,t){tn(s,e,t),s.onerror(e)}});var fo=x((kv,uo)=>{"use strict";var{kForOnEventAttribute:It,kListener:nn}=be(),no=Symbol("kCode"),ao=Symbol("kData"),ro=Symbol("kError"),oo=Symbol("kMessage"),co=Symbol("kReason"),ut=Symbol("kTarget"),lo=Symbol("kType"),po=Symbol("kWasClean"),we=class{constructor(e){this[ut]=null,this[lo]=e}get target(){return this[ut]}get type(){return this[lo]}};Object.defineProperty(we.prototype,"target",{enumerable:!0});Object.defineProperty(we.prototype,"type",{enumerable:!0});var ze=class extends we{constructor(e,t={}){super(e),this[no]=t.code===void 0?0:t.code,this[co]=t.reason===void 0?"":t.reason,this[po]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[no]}get reason(){return this[co]}get wasClean(){return this[po]}};Object.defineProperty(ze.prototype,"code",{enumerable:!0});Object.defineProperty(ze.prototype,"reason",{enumerable:!0});Object.defineProperty(ze.prototype,"wasClean",{enumerable:!0});var dt=class extends we{constructor(e,t={}){super(e),this[ro]=t.error===void 0?null:t.error,this[oo]=t.message===void 0?"":t.message}get error(){return this[ro]}get message(){return this[oo]}};Object.defineProperty(dt.prototype,"error",{enumerable:!0});Object.defineProperty(dt.prototype,"message",{enumerable:!0});var Nt=class extends we{constructor(e,t={}){super(e),this[ao]=t.data===void 0?null:t.data}get data(){return this[ao]}};Object.defineProperty(Nt.prototype,"data",{enumerable:!0});var vf={addEventListener(s,e,t={}){for(let n of this.listeners(s))if(!t[It]&&n[nn]===e&&!n[It])return;let i;if(s==="message")i=function(a,r){let c=new Nt("message",{data:r?a:a.toString()});c[ut]=this,Ts(e,this,c)};else if(s==="close")i=function(a,r){let c=new ze("close",{code:a,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[ut]=this,Ts(e,this,c)};else if(s==="error")i=function(a){let r=new dt("error",{error:a,message:a.message});r[ut]=this,Ts(e,this,r)};else if(s==="open")i=function(){let a=new we("open");a[ut]=this,Ts(e,this,a)};else return;i[It]=!!t[It],i[nn]=e,t.once?this.once(s,i):this.on(s,i)},removeEventListener(s,e){for(let t of this.listeners(s))if(t[nn]===e&&!t[It]){this.removeListener(s,t);break}}};uo.exports={CloseEvent:ze,ErrorEvent:dt,Event:we,EventTarget:vf,MessageEvent:Nt};function Ts(s,e,t){typeof s=="object"&&s.handleEvent?s.handleEvent.call(s,t):s.call(e,t)}});var an=x((Cv,mo)=>{"use strict";var{tokenChars:Bt}=ct();function he(s,e,t){s[e]===void 0?s[e]=[t]:s[e].push(t)}function gf(s){let e=Object.create(null),t=Object.create(null),i=!1,n=!1,a=!1,r,c,o=-1,l=-1,p=-1,u=0;for(;u<s.length;u++)if(l=s.charCodeAt(u),r===void 0)if(p===-1&&Bt[l]===1)o===-1&&(o=u);else if(u!==0&&(l===32||l===9))p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);l===44?(he(e,h,t),t=Object.create(null)):r=h,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(c===void 0)if(p===-1&&Bt[l]===1)o===-1&&(o=u);else if(l===32||l===9)p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u),he(t,s.slice(o,p),!0),l===44&&(he(e,r,t),t=Object.create(null),r=void 0),o=p=-1}else if(l===61&&o!==-1&&p===-1)c=s.slice(o,u),o=p=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(Bt[l]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);o===-1?o=u:i||(i=!0),n=!1}else if(a)if(Bt[l]===1)o===-1&&(o=u);else if(l===34&&o!==-1)a=!1,p=u;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(l===34&&s.charCodeAt(u-1)===61)a=!0;else if(p===-1&&Bt[l]===1)o===-1&&(o=u);else if(o!==-1&&(l===32||l===9))p===-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);i&&(h=h.replace(/\\/g,""),i=!1),he(t,c,h),l===44&&(he(e,r,t),t=Object.create(null),r=void 0),c=void 0,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(o===-1||a||l===32||l===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=u);let d=s.slice(o,p);return r===void 0?he(e,d,t):(c===void 0?he(t,d,!0):i?he(t,c,d.replace(/\\/g,"")):he(t,c,d),he(e,r,t)),e}function bf(s){return Object.keys(s).map(e=>{let t=s[e];return Array.isArray(t)||(t=[t]),t.map(i=>[e].concat(Object.keys(i).map(n=>{let a=i[n];return Array.isArray(a)||(a=[a]),a.map(r=>r===!0?n:`${n}=${r}`).join("; ")})).join("; ")).join(", ")}).join(", ")}mo.exports={format:bf,parse:gf}});var Ps=x((Rv,Co)=>{"use strict";var yf=require("events"),wf=require("https"),_f=require("http"),vo=require("net"),Sf=require("tls"),{randomBytes:Ef,createHash:kf}=require("crypto"),{Duplex:Tv,Readable:Ov}=require("stream"),{URL:rn}=require("url"),je=jt(),Cf=Zi(),Tf=sn(),{isBlob:Of}=ct(),{BINARY_TYPES:ho,EMPTY_BUFFER:Os,GUID:Rf,kForOnEventAttribute:on,kListener:Af,kStatusCode:Pf,kWebSocket:N,NOOP:go}=be(),{EventTarget:{addEventListener:jf,removeEventListener:If}}=fo(),{format:Nf,parse:Bf}=an(),{toBuffer:Lf}=At(),Mf=30*1e3,bo=Symbol("kAborted"),cn=[8,13],_e=["CONNECTING","OPEN","CLOSING","CLOSED"],Df=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,C=class s extends yf{constructor(e,t,i){super(),this._binaryType=ho[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Os,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=s.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(i=t,t=[]):t=[t]),yo(this,e,t,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){ho.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,i){let n=new Cf({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new Tf(e,this._extensions,i.generateMask);this._receiver=n,this._sender=a,this._socket=e,n[N]=this,a[N]=this,e[N]=this,n.on("conclude",Uf),n.on("drain",Hf),n.on("error",zf),n.on("message",Wf),n.on("ping",$f),n.on("pong",Vf),a.onerror=Gf,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",So),e.on("data",As),e.on("end",Eo),e.on("error",ko),this._readyState=s.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[je.extensionName]&&this._extensions[je.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Q(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===s.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=s.CLOSING,this._sender.close(e,t,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),_o(this)}}pause(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){ln(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Os,t,i)}pong(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){ln(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Os,t,i)}resume(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(i=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){ln(this,e,i);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[je.extensionName]||(n.compress=!1),this._sender.send(e||Os,n,i)}terminate(){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Q(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=s.CLOSING,this._socket.destroy())}}};Object.defineProperty(C,"CONNECTING",{enumerable:!0,value:_e.indexOf("CONNECTING")});Object.defineProperty(C.prototype,"CONNECTING",{enumerable:!0,value:_e.indexOf("CONNECTING")});Object.defineProperty(C,"OPEN",{enumerable:!0,value:_e.indexOf("OPEN")});Object.defineProperty(C.prototype,"OPEN",{enumerable:!0,value:_e.indexOf("OPEN")});Object.defineProperty(C,"CLOSING",{enumerable:!0,value:_e.indexOf("CLOSING")});Object.defineProperty(C.prototype,"CLOSING",{enumerable:!0,value:_e.indexOf("CLOSING")});Object.defineProperty(C,"CLOSED",{enumerable:!0,value:_e.indexOf("CLOSED")});Object.defineProperty(C.prototype,"CLOSED",{enumerable:!0,value:_e.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(s=>{Object.defineProperty(C.prototype,s,{enumerable:!0})});["open","error","close","message"].forEach(s=>{Object.defineProperty(C.prototype,`on${s}`,{enumerable:!0,get(){for(let e of this.listeners(s))if(e[on])return e[Af];return null},set(e){for(let t of this.listeners(s))if(t[on]){this.removeListener(s,t);break}typeof e=="function"&&this.addEventListener(s,e,{[on]:!0})}})});C.prototype.addEventListener=jf;C.prototype.removeEventListener=If;Co.exports=C;function yo(s,e,t,i){let n={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:cn[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(s._autoPong=n.autoPong,!cn.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${cn.join(", ")})`);let a;if(e instanceof rn)a=e;else try{a=new rn(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),s._url=a.href;let r=a.protocol==="wss:",c=a.protocol==="ws+unix:",o;if(a.protocol!=="ws:"&&!r&&!c?o=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!a.pathname?o="The URL's pathname is empty":a.hash&&(o="The URL contains a fragment identifier"),o){let f=new SyntaxError(o);if(s._redirects===0)throw f;Rs(s,f);return}let l=r?443:80,p=Ef(16).toString("base64"),u=r?wf.request:_f.request,d=new Set,h;if(n.createConnection=n.createConnection||(r?Ff:qf),n.defaultPort=n.defaultPort||l,n.port=a.port||l,n.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},n.path=a.pathname+a.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(h=new je(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=Nf({[je.extensionName]:h.offer()})),t.length){for(let f of t){if(typeof f!="string"||!Df.test(f)||d.has(f))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(f)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(a.username||a.password)&&(n.auth=`${a.username}:${a.password}`),c){let f=n.path.split(":");n.socketPath=f[0],n.path=f[1]}let m;if(n.followRedirects){if(s._redirects===0){s._originalIpc=c,s._originalSecure=r,s._originalHostOrSocketPath=c?n.socketPath:a.host;let f=i&&i.headers;if(i={...i,headers:{}},f)for(let[v,y]of Object.entries(f))i.headers[v.toLowerCase()]=y}else if(s.listenerCount("redirect")===0){let f=c?s._originalIpc?n.socketPath===s._originalHostOrSocketPath:!1:s._originalIpc?!1:a.host===s._originalHostOrSocketPath;(!f||s._originalSecure&&!r)&&(delete n.headers.authorization,delete n.headers.cookie,f||delete n.headers.host,n.auth=void 0)}n.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=s._req=u(n),s._redirects&&s.emit("redirect",s.url,m)}else m=s._req=u(n);n.timeout&&m.on("timeout",()=>{Q(s,m,"Opening handshake has timed out")}),m.on("error",f=>{m===null||m[bo]||(m=s._req=null,Rs(s,f))}),m.on("response",f=>{let v=f.headers.location,y=f.statusCode;if(v&&n.followRedirects&&y>=300&&y<400){if(++s._redirects>n.maxRedirects){Q(s,m,"Maximum redirects exceeded");return}m.abort();let g;try{g=new rn(v,e)}catch{let A=new SyntaxError(`Invalid URL: ${v}`);Rs(s,A);return}yo(s,g,t,i)}else s.emit("unexpected-response",m,f)||Q(s,m,`Unexpected server response: ${f.statusCode}`)}),m.on("upgrade",(f,v,y)=>{if(s.emit("upgrade",f),s.readyState!==C.CONNECTING)return;m=s._req=null;let g=f.headers.upgrade;if(g===void 0||g.toLowerCase()!=="websocket"){Q(s,v,"Invalid Upgrade header");return}let L=kf("sha1").update(p+Rf).digest("base64");if(f.headers["sec-websocket-accept"]!==L){Q(s,v,"Invalid Sec-WebSocket-Accept header");return}let A=f.headers["sec-websocket-protocol"],ue;if(A!==void 0?d.size?d.has(A)||(ue="Server sent an invalid subprotocol"):ue="Server sent a subprotocol but none was requested":d.size&&(ue="Server sent no subprotocol"),ue){Q(s,v,ue);return}A&&(s._protocol=A);let W=f.headers["sec-websocket-extensions"];if(W!==void 0){if(!h){Q(s,v,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let de;try{de=Bf(W)}catch{Q(s,v,"Invalid Sec-WebSocket-Extensions header");return}let ve=Object.keys(de);if(ve.length!==1||ve[0]!==je.extensionName){Q(s,v,"Server indicated an extension that was not requested");return}try{h.accept(de[je.extensionName])}catch{Q(s,v,"Invalid Sec-WebSocket-Extensions header");return}s._extensions[je.extensionName]=h}s.setSocket(v,y,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,s):m.end()}function Rs(s,e){s._readyState=C.CLOSING,s._errorEmitted=!0,s.emit("error",e),s.emitClose()}function qf(s){return s.path=s.socketPath,vo.connect(s)}function Ff(s){return s.path=void 0,!s.servername&&s.servername!==""&&(s.servername=vo.isIP(s.host)?"":s.host),Sf.connect(s)}function Q(s,e,t){s._readyState=C.CLOSING;let i=new Error(t);Error.captureStackTrace(i,Q),e.setHeader?(e[bo]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Rs,s,i)):(e.destroy(i),e.once("error",s.emit.bind(s,"error")),e.once("close",s.emitClose.bind(s)))}function ln(s,e,t){if(e){let i=Of(e)?e.size:Lf(e).length;s._socket?s._sender._bufferedBytes+=i:s._bufferedAmount+=i}if(t){let i=new Error(`WebSocket is not open: readyState ${s.readyState} (${_e[s.readyState]})`);process.nextTick(t,i)}}function Uf(s,e){let t=this[N];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=s,t._socket[N]!==void 0&&(t._socket.removeListener("data",As),process.nextTick(wo,t._socket),s===1005?t.close():t.close(s,e))}function Hf(){let s=this[N];s.isPaused||s._socket.resume()}function zf(s){let e=this[N];e._socket[N]!==void 0&&(e._socket.removeListener("data",As),process.nextTick(wo,e._socket),e.close(s[Pf])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s))}function xo(){this[N].emitClose()}function Wf(s,e){this[N].emit("message",s,e)}function $f(s){let e=this[N];e._autoPong&&e.pong(s,!this._isServer,go),e.emit("ping",s)}function Vf(s){this[N].emit("pong",s)}function wo(s){s.resume()}function Gf(s){let e=this[N];e.readyState!==C.CLOSED&&(e.readyState===C.OPEN&&(e._readyState=C.CLOSING,_o(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s)))}function _o(s){s._closeTimer=setTimeout(s._socket.destroy.bind(s._socket),Mf)}function So(){let s=this[N];this.removeListener("close",So),this.removeListener("data",As),this.removeListener("end",Eo),s._readyState=C.CLOSING;let e;!this._readableState.endEmitted&&!s._closeFrameReceived&&!s._receiver._writableState.errorEmitted&&(e=s._socket.read())!==null&&s._receiver.write(e),s._receiver.end(),this[N]=void 0,clearTimeout(s._closeTimer),s._receiver._writableState.finished||s._receiver._writableState.errorEmitted?s.emitClose():(s._receiver.on("error",xo),s._receiver.on("finish",xo))}function As(s){this[N]._receiver.write(s)||this.pause()}function Eo(){let s=this[N];s._readyState=C.CLOSING,s._receiver.end(),this.end()}function ko(){let s=this[N];this.removeListener("error",ko),this.on("error",go),s&&(s._readyState=C.CLOSING,this.destroy())}});var Ao=x((Pv,Ro)=>{"use strict";var Av=Ps(),{Duplex:Kf}=require("stream");function To(s){s.emit("close")}function Yf(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Oo(s){this.removeListener("error",Oo),this.destroy(),this.listenerCount("error")===0&&this.emit("error",s)}function Xf(s,e){let t=!0,i=new Kf({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return s.on("message",function(a,r){let c=!r&&i._readableState.objectMode?a.toString():a;i.push(c)||s.pause()}),s.once("error",function(a){i.destroyed||(t=!1,i.destroy(a))}),s.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(n,a){if(s.readyState===s.CLOSED){a(n),process.nextTick(To,i);return}let r=!1;s.once("error",function(o){r=!0,a(o)}),s.once("close",function(){r||a(n),process.nextTick(To,i)}),t&&s.terminate()},i._final=function(n){if(s.readyState===s.CONNECTING){s.once("open",function(){i._final(n)});return}s._socket!==null&&(s._socket._writableState.finished?(n(),i._readableState.endEmitted&&i.destroy()):(s._socket.once("finish",function(){n()}),s.close()))},i._read=function(){s.isPaused&&s.resume()},i._write=function(n,a,r){if(s.readyState===s.CONNECTING){s.once("open",function(){i._write(n,a,r)});return}s.send(n,r)},i.on("end",Yf),i.on("error",Oo),i}Ro.exports=Xf});var jo=x((jv,Po)=>{"use strict";var{tokenChars:Jf}=ct();function Qf(s){let e=new Set,t=-1,i=-1,n=0;for(n;n<s.length;n++){let r=s.charCodeAt(n);if(i===-1&&Jf[r]===1)t===-1&&(t=n);else if(n!==0&&(r===32||r===9))i===-1&&t!==-1&&(i=n);else if(r===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);i===-1&&(i=n);let c=s.slice(t,i);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=i=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let a=s.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return e.add(a),e}Po.exports={parse:Qf}});var qo=x((Nv,Do)=>{"use strict";var Zf=require("events"),js=require("http"),{Duplex:Iv}=require("stream"),{createHash:em}=require("crypto"),Io=an(),We=jt(),tm=jo(),sm=Ps(),{GUID:im,kWebSocket:nm}=be(),am=/^[+/0-9A-Za-z]{22}==$/,No=0,Bo=1,Mo=2,pn=class extends Zf{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:sm,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=js.createServer((i,n)=>{let a=js.STATUS_CODES[426];n.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),n.end(a)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=rm(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,a,r)=>{this.handleUpgrade(n,a,r,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=No}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Mo){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Lt,this);return}if(e&&this.once("close",e),this._state!==Bo)if(this._state=Bo,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Lt,this):process.nextTick(Lt,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Lt(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,i,n){t.on("error",Lo);let a=e.headers["sec-websocket-key"],r=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){$e(this,e,t,405,"Invalid HTTP method");return}if(r===void 0||r.toLowerCase()!=="websocket"){$e(this,e,t,400,"Invalid Upgrade header");return}if(a===void 0||!am.test(a)){$e(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){$e(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Mt(t,400);return}let o=e.headers["sec-websocket-protocol"],l=new Set;if(o!==void 0)try{l=tm.parse(o)}catch{$e(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&p!==void 0){let d=new We(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=Io.parse(p);h[We.extensionName]&&(d.accept(h[We.extensionName]),u[We.extensionName]=d)}catch{$e(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(h,m,f,v)=>{if(!h)return Mt(t,m||401,f,v);this.completeUpgrade(u,a,l,e,t,i,n)});return}if(!this.options.verifyClient(d))return Mt(t,401)}this.completeUpgrade(u,a,l,e,t,i,n)}completeUpgrade(e,t,i,n,a,r,c){if(!a.readable||!a.writable)return a.destroy();if(a[nm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>No)return Mt(a,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${em("sha1").update(t+im).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let u=this.options.handleProtocols?this.options.handleProtocols(i,n):i.values().next().value;u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),p._protocol=u)}if(e[We.extensionName]){let u=e[We.extensionName].params,d=Io.format({[We.extensionName]:[u]});l.push(`Sec-WebSocket-Extensions: ${d}`),p._extensions=e}this.emit("headers",l,n),a.write(l.concat(`\r
6
+ `).map(e=>e.trim()).join(" ")};Er.O=function(s){return this.inspectOpts.colors=this.useColors,us.inspect(s,this.inspectOpts)}});var R=x((lv,Pi)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Pi.exports=gr():Pi.exports=kr()});var Fe=x(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.Transport=void 0;var od=require("events"),cd=At(),ld=mr(),pd=R(),Cr=(0,pd.default)("engine:transport");function ud(){}var fs=class extends od.EventEmitter{get readyState(){return this._readyState}set readyState(e){Cr("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=e._query.EIO==="4"?4:3,this.parser=this.protocol===4?cd:ld,this.supportsBinary=!(e._query&&e._query.b64)}discard(){this.discarded=!0}onRequest(e){}close(e){this.readyState==="closed"||this.readyState==="closing"||(this.readyState="closing",this.doClose(e||ud))}onError(e,t){if(this.listeners("error").length){let i=new Error(e);i.type="TransportError",i.description=t,this.emit("error",i)}else Cr("ignored transport error %s (%s)",e,t)}onPacket(e){this.emit("packet",e)}onData(e){this.onPacket(this.parser.decodePacket(e))}onClose(){this.readyState="closed",this.emit("close")}};ms.Transport=fs;fs.upgradesTo=[]});var Ii=x(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.Polling=void 0;var dd=Fe(),Tr=require("zlib"),fd=ts(),md=R(),J=(0,md.default)("engine:polling"),hd={gzip:Tr.createGzip,deflate:Tr.createDeflate},ji=class extends dd.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.method==="GET"?this.onPollRequest(e,t):e.method==="POST"?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req){J("request overlap"),this.onError("overlap from client"),t.writeHead(400),t.end();return}J("setting request"),this.req=e,this.res=t;let i=()=>{this.onError("poll connection closed prematurely")},n=()=>{e.removeListener("close",i),this.req=this.res=null};e.cleanup=n,e.on("close",i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(J("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeHead(400),t.end();return}let i=e.headers["content-type"]==="application/octet-stream";if(i&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let n=i?Buffer.concat([]):"",a=()=>{e.removeListener("data",c),e.removeListener("end",o),e.removeListener("close",r),this.dataReq=this.dataRes=n=null},r=()=>{a(),this.onError("data request connection closed prematurely")},c=l=>{let p;i?(n=Buffer.concat([n,l]),p=n.length):(n+=l,p=Buffer.byteLength(n)),p>this.maxHttpBufferSize&&(t.writeHead(413).end(),a())},o=()=>{this.onData(n);let l={"Content-Type":"text/html","Content-Length":"2"};t.writeHead(200,this.headers(e,l)),t.end("ok"),a()};e.on("close",r),i||e.setEncoding("utf8"),e.on("data",c),e.on("end",o)}onData(e){J('received "%s"',e);let t=i=>{if(i.type==="close")return J("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(J("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){J('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{r["Content-Length"]=typeof p=="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,r)),this.res.end(p),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=fd(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeHead(500),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){J("compressing");let n=[],a=0;hd[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){J("closing");let t;this.dataReq&&(J("aborting ongoing data request"),this.dataReq.destroy());let i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(J("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(J("transport discarded - closing right away"),i()):(J("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t={}){let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};hs.Polling=ji});var Or=x(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.JSONP=void 0;var xd=Ii(),vd=require("querystring"),gd=/\\\\n/g,bd=/(\\)?\\n/g,Ni=class extends xd.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){e=vd.parse(e).d,typeof e=="string"&&(e=e.replace(bd,function(t,i){return i?t:`
7
+ `}),super.onData(e.replace(gd,"\\n")))}doWrite(e,t,i){let n=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+n+this.foot,super.doWrite(e,t,i)}};xs.JSONP=Ni});var Ar=x(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.WebSocket=void 0;var yd=Fe(),wd=R(),Rr=(0,wd.default)("engine:ws"),Bi=class extends yd.Transport{constructor(e){super(e),this._doSend=t=>{this.socket.send(t,this._onSent)},this._doSendLast=t=>{this.socket.send(t,this._onSentLast)},this._onSent=t=>{t&&this.onError("write error",t.stack)},this._onSentLast=t=>{t?this.onError("write error",t.stack):(this.emit("drain"),this.writable=!0,this.emit("ready"))},this.socket=e.websocket,this.socket.on("message",(t,i)=>{let n=i?t:t.toString();Rr('received "%s"',n),super.onData(n)}),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(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length;this._canSendPreEncodedFrame(i)?this.socket._sender.sendFrame(i.options.wsPreEncodedFrame,n?this._onSentLast:this._onSent):this.parser.encodePacket(i,this.supportsBinary,n?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(e){var t,i,n;return!this.perMessageDeflate&&typeof((i=(t=this.socket)===null||t===void 0?void 0:t._sender)===null||i===void 0?void 0:i.sendFrame)=="function"&&((n=e.options)===null||n===void 0?void 0:n.wsPreEncodedFrame)!==void 0}doClose(e){Rr("closing"),this.socket.close(),e&&e()}};vs.WebSocket=Bi});var Mi=x(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.WebTransport=void 0;var _d=Fe(),Sd=R(),Ed=At(),at=(0,Sd.default)("engine:webtransport"),Li=class extends _d.Transport{constructor(e,t,i){super({_query:{EIO:"4"}}),this.session=e;let n=(0,Ed.createPacketEncoderStream)();n.readable.pipeTo(t.writable).catch(()=>{at("the stream was closed")}),this.writer=n.writable.getWriter(),(async()=>{try{for(;;){let{value:a,done:r}=await i.read();if(r){at("session is closed");break}at("received chunk: %o",a),this.onPacket(a)}}catch(a){at("error while reading: %s",a.message)}})(),e.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){let i=e[t];await this.writer.write(i)}}catch(t){at("error while writing: %s",t.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(e){at("closing WebTransport session"),this.session.close(),e&&e()}};gs.WebTransport=Li});var qi=x(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});var kd=Ii(),Cd=Or(),Td=Ar(),Od=Mi();Di.default={polling:Pr,websocket:Td.WebSocket,webtransport:Od.WebTransport};function Pr(s){return typeof s._query.j=="string"?new Cd.JSONP(s):new kd.Polling(s)}Pr.upgradesTo=["websocket","webtransport"]});var Ui=x(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.Socket=void 0;var Rd=require("events"),Ad=R(),ge=require("timers"),O=(0,Ad.default)("engine:socket"),Fi=class extends Rd.EventEmitter{get readyState(){return this._readyState}set readyState(e){O("readyState updated from %s to %s",this._readyState,e),this._readyState=e}constructor(e,t,i,n,a){super(),this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=e,this.server=t,this.request=n,this.protocol=a,n&&(n.websocket&&n.websocket._socket?this.remoteAddress=n.websocket._socket.remoteAddress:this.remoteAddress=n.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(i),this.onOpen()}onOpen(){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),this.emit("open"),this.protocol===3?this.resetPingTimeout():this.schedulePing()}onPacket(e){if(this.readyState!=="open")return O("packet received with closed socket");switch(O(`received packet ${e.type}`),this.emit("packet",e),e.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}O("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}O("got pong"),(0,ge.clearTimeout)(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",e.data),this.emit("message",e.data);break}}onError(e){O("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,ge.setTimeout)(()=>{O("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,ge.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,ge.setTimeout)(()=>{this.readyState!=="closed"&&this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(e){let t=this.onError.bind(this),i=()=>this.flush(),n=this.onPacket.bind(this),a=this.onDrain.bind(this),r=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("ready",i),this.transport.on("packet",n),this.transport.on("drain",a),this.transport.once("close",r),this.cleanupFn.push(function(){e.removeListener("error",t),e.removeListener("ready",i),e.removeListener("packet",n),e.removeListener("drain",a),e.removeListener("close",r)})}onDrain(){if(this.sentCallbackFn.length>0){O("executing batch send callback");let e=this.sentCallbackFn.shift();if(e)for(let t=0;t<e.length;t++)e[t](this.transport)}}_maybeUpgrade(e){O('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;let t=(0,ge.setTimeout)(()=>{O("client did not complete upgrade - closing transport"),r(),e.readyState==="open"&&e.close()},this.server.opts.upgradeTimeout),i,n=p=>{p.type==="ping"&&p.data==="probe"?(O("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(i),i=setInterval(a,100)):p.type==="upgrade"&&this.readyState!=="closed"?(O("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),this.readyState==="closing"&&e.close(()=>{this.onClose("forced close")})):(r(),e.close())},a=()=>{this.transport.name==="polling"&&this.transport.writable&&(O("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(i),(0,ge.clearTimeout)(t),e.removeListener("packet",n),e.removeListener("close",o),e.removeListener("error",c),this.removeListener("close",l)},c=p=>{O("client did not complete upgrade - %s",p),r(),e.close(),e=null},o=()=>{c("transport closed")},l=()=>{c("socket closed")};e.on("packet",n),e.once("close",o),e.once("error",c),this.once("close",l)}clearTransport(){let e,t=this.cleanupFn.length;for(let i=0;i<t;i++)e=this.cleanupFn.shift(),e();this.transport.on("error",function(){O("error triggered by discarded transport")}),this.transport.close(),(0,ge.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){this.readyState!=="closed"&&(this.readyState="closed",(0,ge.clearTimeout)(this.pingIntervalTimer),(0,ge.clearTimeout)(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}send(e,t,i){return this.sendPacket("message",e,t,i),this}write(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i={},n){if(typeof i=="function"&&(n=i,i={}),this.readyState!=="closing"&&this.readyState!=="closed"){O('sending packet "%s" (%s)',e,t),i.compress=i.compress!==!1;let a={type:e,options:i};t&&(a.data=t),this.emit("packetCreate",a),this.writeBuffer.push(a),typeof n=="function"&&this.packetsFn.push(n),this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){O("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let e=this.writeBuffer;this.writeBuffer=[],this.packetsFn.length?(this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[]):this.sentCallbackFn.push(null),this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let e=[],t=this.server.upgrades(this.transport.name);for(let i=0;i<t.length;++i){let n=t[i];this.server.opts.transports.indexOf(n)!==-1&&e.push(n)}return e}close(e){if(e&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(e);if(this.readyState==="open"){if(this.readyState="closing",this.writeBuffer.length){O("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{O("all packets have been sent, closing the transport"),this.closeTransport(e)});return}O("the buffer is empty, closing the transport right away"),this.closeTransport(e)}}closeTransport(e){O("closing the transport (discard? %s)",!!e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}};bs.Socket=Fi});var Nr=x(Hi=>{"use strict";Hi.parse=Md;Hi.serialize=Dd;var Pd=Object.prototype.toString,jd=Object.prototype.hasOwnProperty,Id=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Nd=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Bd=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Ld=/^[\u0020-\u003A\u003D-\u007E]*$/;function Md(s,e){if(typeof s!="string")throw new TypeError("argument str must be a string");var t={},i=s.length;if(i<2)return t;var n=e&&e.decode||qd,a=0,r=0,c=0;do{if(r=s.indexOf("=",a),r===-1)break;if(c=s.indexOf(";",a),c===-1)c=i;else if(r>c){a=s.lastIndexOf(";",r-1)+1;continue}var o=jr(s,a,r),l=Ir(s,r,o),p=s.slice(o,l);if(!jd.call(t,p)){var u=jr(s,r+1,c),d=Ir(s,c,u);s.charCodeAt(u)===34&&s.charCodeAt(d-1)===34&&(u++,d--);var h=s.slice(u,d);t[p]=Ud(h,n)}a=c+1}while(a<i);return t}function jr(s,e,t){do{var i=s.charCodeAt(e);if(i!==32&&i!==9)return e}while(++e<t);return t}function Ir(s,e,t){for(;e>t;){var i=s.charCodeAt(--e);if(i!==32&&i!==9)return e+1}return t}function Dd(s,e,t){var i=t&&t.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Id.test(s))throw new TypeError("argument name is invalid");var n=i(e);if(!Nd.test(n))throw new TypeError("argument val is invalid");var a=s+"="+n;if(!t)return a;if(t.maxAge!=null){var r=Math.floor(t.maxAge);if(!isFinite(r))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+r}if(t.domain){if(!Bd.test(t.domain))throw new TypeError("option domain is invalid");a+="; Domain="+t.domain}if(t.path){if(!Ld.test(t.path))throw new TypeError("option path is invalid");a+="; Path="+t.path}if(t.expires){var c=t.expires;if(!Fd(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(t.httpOnly&&(a+="; HttpOnly"),t.secure&&(a+="; Secure"),t.partitioned&&(a+="; Partitioned"),t.priority){var o=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(o){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var l=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function qd(s){return s.indexOf("%")!==-1?decodeURIComponent(s):s}function Fd(s){return Pd.call(s)==="[object Date]"}function Ud(s,e){try{return e(s)}catch{return s}}});var be=x((gv,Mr)=>{"use strict";var Br=["nodebuffer","arraybuffer","fragments"],Lr=typeof Blob<"u";Lr&&Br.push("blob");Mr.exports={BINARY_TYPES:Br,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Lr,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Pt=x((bv,ys)=>{"use strict";var{EMPTY_BUFFER:Hd}=be(),zi=Buffer[Symbol.species];function zd(s,e){if(s.length===0)return Hd;if(s.length===1)return s[0];let t=Buffer.allocUnsafe(e),i=0;for(let n=0;n<s.length;n++){let a=s[n];t.set(a,i),i+=a.length}return i<e?new zi(t.buffer,t.byteOffset,i):t}function Dr(s,e,t,i,n){for(let a=0;a<n;a++)t[i+a]=s[a]^e[a&3]}function qr(s,e){for(let t=0;t<s.length;t++)s[t]^=e[t&3]}function Wd(s){return s.length===s.buffer.byteLength?s.buffer:s.buffer.slice(s.byteOffset,s.byteOffset+s.length)}function Wi(s){if(Wi.readOnly=!0,Buffer.isBuffer(s))return s;let e;return s instanceof ArrayBuffer?e=new zi(s):ArrayBuffer.isView(s)?e=new zi(s.buffer,s.byteOffset,s.byteLength):(e=Buffer.from(s),Wi.readOnly=!1),e}ys.exports={concat:zd,mask:Dr,toArrayBuffer:Wd,toBuffer:Wi,unmask:qr};if(!process.env.WS_NO_BUFFER_UTIL)try{let s=require("bufferutil");ys.exports.mask=function(e,t,i,n,a){a<48?Dr(e,t,i,n,a):s.mask(e,t,i,n,a)},ys.exports.unmask=function(e,t){e.length<32?qr(e,t):s.unmask(e,t)}}catch{}});var Hr=x((yv,Ur)=>{"use strict";var Fr=Symbol("kDone"),$i=Symbol("kRun"),Vi=class{constructor(e){this[Fr]=()=>{this.pending--,this[$i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[$i]()}[$i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Fr])}}};Ur.exports=Vi});var It=x((wv,Vr)=>{"use strict";var jt=require("zlib"),zr=Pt(),$d=Hr(),{kStatusCode:Wr}=be(),Vd=Buffer[Symbol.species],Gd=Buffer.from([0,0,255,255]),_s=Symbol("permessage-deflate"),ye=Symbol("total-length"),rt=Symbol("callback"),je=Symbol("buffers"),ot=Symbol("error"),ws,Gi=class{constructor(e,t,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!ws){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ws=new $d(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[rt];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,i=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(i.server_no_context_takeover=!0),t.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(i.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?i.client_max_window_bits=t.clientMaxWindowBits:(i.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(i=>{let n=t[i];if(n.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(n=n[0],i==="client_max_window_bits"){if(n!==!0){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else if(i==="server_max_window_bits"){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else throw new Error(`Unknown parameter "${i}"`);t[i]=n})}),e}decompress(e,t,i){ws.add(n=>{this._decompress(e,t,(a,r)=>{n(),i(a,r)})})}compress(e,t,i){ws.add(n=>{this._compress(e,t,(a,r)=>{n(),i(a,r)})})}_decompress(e,t,i){let n=this._isServer?"client":"server";if(!this._inflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?jt.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=jt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:r}),this._inflate[_s]=this,this._inflate[ye]=0,this._inflate[je]=[],this._inflate.on("error",Yd),this._inflate.on("data",$r)}this._inflate[rt]=i,this._inflate.write(e),t&&this._inflate.write(Gd),this._inflate.flush(()=>{let a=this._inflate[ot];if(a){this._inflate.close(),this._inflate=null,i(a);return}let r=zr.concat(this._inflate[je],this._inflate[ye]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[ye]=0,this._inflate[je]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),i(null,r)})}_compress(e,t,i){let n=this._isServer?"server":"client";if(!this._deflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?jt.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=jt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:r}),this._deflate[ye]=0,this._deflate[je]=[],this._deflate.on("data",Kd)}this._deflate[rt]=i,this._deflate.write(e),this._deflate.flush(jt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=zr.concat(this._deflate[je],this._deflate[ye]);t&&(a=new Vd(a.buffer,a.byteOffset,a.length-4)),this._deflate[rt]=null,this._deflate[ye]=0,this._deflate[je]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};Vr.exports=Gi;function Kd(s){this[je].push(s),this[ye]+=s.length}function $r(s){if(this[ye]+=s.length,this[_s]._maxPayload<1||this[ye]<=this[_s]._maxPayload){this[je].push(s);return}this[ot]=new RangeError("Max payload size exceeded"),this[ot].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[ot][Wr]=1009,this.removeListener("data",$r),this.reset()}function Yd(s){if(this[_s]._inflate=null,this[ot]){this[rt](this[ot]);return}s[Wr]=1007,this[rt](s)}});var ct=x((_v,Ss)=>{"use strict";var{isUtf8:Gr}=require("buffer"),{hasBlob:Xd}=be(),Jd=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,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,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,0,1,0,1,0];function Qd(s){return s>=1e3&&s<=1014&&s!==1004&&s!==1005&&s!==1006||s>=3e3&&s<=4999}function Ki(s){let e=s.length,t=0;for(;t<e;)if((s[t]&128)===0)t++;else if((s[t]&224)===192){if(t+1===e||(s[t+1]&192)!==128||(s[t]&254)===192)return!1;t+=2}else if((s[t]&240)===224){if(t+2>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||s[t]===224&&(s[t+1]&224)===128||s[t]===237&&(s[t+1]&224)===160)return!1;t+=3}else if((s[t]&248)===240){if(t+3>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||(s[t+3]&192)!==128||s[t]===240&&(s[t+1]&240)===128||s[t]===244&&s[t+1]>143||s[t]>244)return!1;t+=4}else return!1;return!0}function Zd(s){return Xd&&typeof s=="object"&&typeof s.arrayBuffer=="function"&&typeof s.type=="string"&&typeof s.stream=="function"&&(s[Symbol.toStringTag]==="Blob"||s[Symbol.toStringTag]==="File")}Ss.exports={isBlob:Zd,isValidStatusCode:Qd,isValidUTF8:Ki,tokenChars:Jd};if(Gr)Ss.exports.isValidUTF8=function(s){return s.length<24?Ki(s):Gr(s)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let s=require("utf-8-validate");Ss.exports.isValidUTF8=function(e){return e.length<32?Ki(e):s(e)}}catch{}});var Zi=x((Sv,eo)=>{"use strict";var{Writable:ef}=require("stream"),Kr=It(),{BINARY_TYPES:tf,EMPTY_BUFFER:Yr,kStatusCode:sf,kWebSocket:nf}=be(),{concat:Yi,toArrayBuffer:af,unmask:rf}=Pt(),{isValidStatusCode:of,isValidUTF8:Xr}=ct(),Es=Buffer[Symbol.species],te=0,Jr=1,Qr=2,Zr=3,Xi=4,Ji=5,ks=6,Qi=class extends ef{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||tf[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[nf]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=te}_write(e,t,i){if(this._opcode===8&&this._state==te)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Es(i.buffer,i.byteOffset+e,i.length-e),new Es(i.buffer,i.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let i=this._buffers[0],n=t.length-e;e>=i.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(i.buffer,i.byteOffset,e),n),this._buffers[0]=new Es(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case te:this.getInfo(e);break;case Jr:this.getPayloadLength16(e);break;case Qr:this.getPayloadLength64(e);break;case Zr:this.getMask();break;case Xi:this.getData(e);break;case Ji:case ks:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let i=(t[0]&64)===64;if(i&&!this._extensions[Kr.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=Jr:this._payloadLength===127?this._state=Qr:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),i=t.readUInt32BE(0);if(i>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=i*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=Zr:this._state=Xi}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Xi}getData(e){let t=Yr;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&rf(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=Ji,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[Kr.extensionName].decompress(e,this._fin,(n,a)=>{if(n)return t(n);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(r);return}this._fragments.push(a)}this.dataMessage(t),this._state===te&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=te;return}let t=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=Yi(i,t):this._binaryType==="arraybuffer"?n=af(Yi(i,t)):this._binaryType==="blob"?n=new Blob(i):n=i,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=te):(this._state=ks,setImmediate(()=>{this.emit("message",n,!0),this._state=te,this.startLoop(e)}))}else{let n=Yi(i,t);if(!this._skipUTF8Validation&&!Xr(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(a);return}this._state===Ji||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=te):(this._state=ks,setImmediate(()=>{this.emit("message",n,!1),this._state=te,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Yr),this.end();else{let i=e.readUInt16BE(0);if(!of(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(a);return}let n=new Es(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Xr(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._loop=!1,this.emit("conclude",i,n),this.end()}this._state=te;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=te):(this._state=ks,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=te,this.startLoop(t)}))}createError(e,t,i,n,a){this._loop=!1,this._errored=!0;let r=new e(i?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(r,this.createError),r.code=a,r[sf]=n,r}};eo.exports=Qi});var sn=x((kv,io)=>{"use strict";var{Duplex:Ev}=require("stream"),{randomFillSync:cf}=require("crypto"),to=It(),{EMPTY_BUFFER:lf,kWebSocket:pf,NOOP:uf}=be(),{isBlob:lt,isValidStatusCode:df}=ct(),{mask:so,toBuffer:Ue}=Pt(),se=Symbol("kByteLength"),ff=Buffer.alloc(4),Cs=8*1024,He,pt=Cs,oe=0,mf=1,hf=2,en=class s{constructor(e,t,i){this._extensions=t||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=oe,this.onerror=uf,this[pf]=void 0}static frame(e,t){let i,n=!1,a=2,r=!1;t.mask&&(i=t.maskBuffer||ff,t.generateMask?t.generateMask(i):(pt===Cs&&(He===void 0&&(He=Buffer.alloc(Cs)),cf(He,0,Cs),pt=0),i[0]=He[pt++],i[1]=He[pt++],i[2]=He[pt++],i[3]=He[pt++]),r=(i[0]|i[1]|i[2]|i[3])===0,a=6);let c;typeof e=="string"?(!t.mask||r)&&t[se]!==void 0?c=t[se]:(e=Buffer.from(e),c=e.length):(c=e.length,n=t.mask&&t.readOnly&&!r);let o=c;c>=65536?(a+=8,o=127):c>125&&(a+=2,o=126);let l=Buffer.allocUnsafe(n?c+a:a);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=o,o===126?l.writeUInt16BE(c,2):o===127&&(l[2]=l[3]=0,l.writeUIntBE(c,4,6)),t.mask?(l[1]|=128,l[a-4]=i[0],l[a-3]=i[1],l[a-2]=i[2],l[a-1]=i[3],r?[l,e]:n?(so(e,i,l,a,c),[l]):(so(e,i,e,0,c),[l,e])):[l,e]}close(e,t,i,n){let a;if(e===void 0)a=lf;else{if(typeof e!="number"||!df(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");a=Buffer.allocUnsafe(2+c),a.writeUInt16BE(e,0),typeof t=="string"?a.write(t,2):a.set(t,2)}}let r={[se]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==oe?this.enqueue([this.dispatch,a,!1,r,n]):this.sendFrame(s.frame(a,r),n)}ping(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):lt(e)?(n=e.size,a=!1):(e=Ue(e),n=e.length,a=Ue.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[se]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==oe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}pong(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):lt(e)?(n=e.size,a=!1):(e=Ue(e),n=e.length,a=Ue.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[se]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==oe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}send(e,t,i){let n=this._extensions[to.extensionName],a=t.binary?2:1,r=t.compress,c,o;typeof e=="string"?(c=Buffer.byteLength(e),o=!1):lt(e)?(c=e.size,o=!1):(e=Ue(e),c=e.length,o=Ue.readOnly),this._firstFragment?(this._firstFragment=!1,r&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(r=c>=n._threshold),this._compress=r):(r=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[se]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:o,rsv1:r};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,this._compress,l,i]):this.getBlobData(e,this._compress,l,i):this._state!==oe?this.enqueue([this.dispatch,e,this._compress,l,i]):this.dispatch(e,this._compress,l,i)}getBlobData(e,t,i,n){this._bufferedBytes+=i[se],this._state=hf,e.arrayBuffer().then(a=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(tn,this,c,n);return}this._bufferedBytes-=i[se];let r=Ue(a);t?this.dispatch(r,t,i,n):(this._state=oe,this.sendFrame(s.frame(r,i),n),this.dequeue())}).catch(a=>{process.nextTick(xf,this,a,n)})}dispatch(e,t,i,n){if(!t){this.sendFrame(s.frame(e,i),n);return}let a=this._extensions[to.extensionName];this._bufferedBytes+=i[se],this._state=mf,a.compress(e,i.fin,(r,c)=>{if(this._socket.destroyed){let o=new Error("The socket was closed while data was being compressed");tn(this,o,n);return}this._bufferedBytes-=i[se],this._state=oe,i.readOnly=!1,this.sendFrame(s.frame(c,i),n),this.dequeue()})}dequeue(){for(;this._state===oe&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][se],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][se],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};io.exports=en;function tn(s,e,t){typeof t=="function"&&t(e);for(let i=0;i<s._queue.length;i++){let n=s._queue[i],a=n[n.length-1];typeof a=="function"&&a(e)}}function xf(s,e,t){tn(s,e,t),s.onerror(e)}});var fo=x((Cv,uo)=>{"use strict";var{kForOnEventAttribute:Nt,kListener:nn}=be(),no=Symbol("kCode"),ao=Symbol("kData"),ro=Symbol("kError"),oo=Symbol("kMessage"),co=Symbol("kReason"),ut=Symbol("kTarget"),lo=Symbol("kType"),po=Symbol("kWasClean"),we=class{constructor(e){this[ut]=null,this[lo]=e}get target(){return this[ut]}get type(){return this[lo]}};Object.defineProperty(we.prototype,"target",{enumerable:!0});Object.defineProperty(we.prototype,"type",{enumerable:!0});var ze=class extends we{constructor(e,t={}){super(e),this[no]=t.code===void 0?0:t.code,this[co]=t.reason===void 0?"":t.reason,this[po]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[no]}get reason(){return this[co]}get wasClean(){return this[po]}};Object.defineProperty(ze.prototype,"code",{enumerable:!0});Object.defineProperty(ze.prototype,"reason",{enumerable:!0});Object.defineProperty(ze.prototype,"wasClean",{enumerable:!0});var dt=class extends we{constructor(e,t={}){super(e),this[ro]=t.error===void 0?null:t.error,this[oo]=t.message===void 0?"":t.message}get error(){return this[ro]}get message(){return this[oo]}};Object.defineProperty(dt.prototype,"error",{enumerable:!0});Object.defineProperty(dt.prototype,"message",{enumerable:!0});var Bt=class extends we{constructor(e,t={}){super(e),this[ao]=t.data===void 0?null:t.data}get data(){return this[ao]}};Object.defineProperty(Bt.prototype,"data",{enumerable:!0});var vf={addEventListener(s,e,t={}){for(let n of this.listeners(s))if(!t[Nt]&&n[nn]===e&&!n[Nt])return;let i;if(s==="message")i=function(a,r){let c=new Bt("message",{data:r?a:a.toString()});c[ut]=this,Ts(e,this,c)};else if(s==="close")i=function(a,r){let c=new ze("close",{code:a,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[ut]=this,Ts(e,this,c)};else if(s==="error")i=function(a){let r=new dt("error",{error:a,message:a.message});r[ut]=this,Ts(e,this,r)};else if(s==="open")i=function(){let a=new we("open");a[ut]=this,Ts(e,this,a)};else return;i[Nt]=!!t[Nt],i[nn]=e,t.once?this.once(s,i):this.on(s,i)},removeEventListener(s,e){for(let t of this.listeners(s))if(t[nn]===e&&!t[Nt]){this.removeListener(s,t);break}}};uo.exports={CloseEvent:ze,ErrorEvent:dt,Event:we,EventTarget:vf,MessageEvent:Bt};function Ts(s,e,t){typeof s=="object"&&s.handleEvent?s.handleEvent.call(s,t):s.call(e,t)}});var an=x((Tv,mo)=>{"use strict";var{tokenChars:Lt}=ct();function he(s,e,t){s[e]===void 0?s[e]=[t]:s[e].push(t)}function gf(s){let e=Object.create(null),t=Object.create(null),i=!1,n=!1,a=!1,r,c,o=-1,l=-1,p=-1,u=0;for(;u<s.length;u++)if(l=s.charCodeAt(u),r===void 0)if(p===-1&&Lt[l]===1)o===-1&&(o=u);else if(u!==0&&(l===32||l===9))p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);l===44?(he(e,h,t),t=Object.create(null)):r=h,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(c===void 0)if(p===-1&&Lt[l]===1)o===-1&&(o=u);else if(l===32||l===9)p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u),he(t,s.slice(o,p),!0),l===44&&(he(e,r,t),t=Object.create(null),r=void 0),o=p=-1}else if(l===61&&o!==-1&&p===-1)c=s.slice(o,u),o=p=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(Lt[l]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);o===-1?o=u:i||(i=!0),n=!1}else if(a)if(Lt[l]===1)o===-1&&(o=u);else if(l===34&&o!==-1)a=!1,p=u;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(l===34&&s.charCodeAt(u-1)===61)a=!0;else if(p===-1&&Lt[l]===1)o===-1&&(o=u);else if(o!==-1&&(l===32||l===9))p===-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);i&&(h=h.replace(/\\/g,""),i=!1),he(t,c,h),l===44&&(he(e,r,t),t=Object.create(null),r=void 0),c=void 0,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(o===-1||a||l===32||l===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=u);let d=s.slice(o,p);return r===void 0?he(e,d,t):(c===void 0?he(t,d,!0):i?he(t,c,d.replace(/\\/g,"")):he(t,c,d),he(e,r,t)),e}function bf(s){return Object.keys(s).map(e=>{let t=s[e];return Array.isArray(t)||(t=[t]),t.map(i=>[e].concat(Object.keys(i).map(n=>{let a=i[n];return Array.isArray(a)||(a=[a]),a.map(r=>r===!0?n:`${n}=${r}`).join("; ")})).join("; ")).join(", ")}).join(", ")}mo.exports={format:bf,parse:gf}});var Ps=x((Av,Co)=>{"use strict";var yf=require("events"),wf=require("https"),_f=require("http"),vo=require("net"),Sf=require("tls"),{randomBytes:Ef,createHash:kf}=require("crypto"),{Duplex:Ov,Readable:Rv}=require("stream"),{URL:rn}=require("url"),Ie=It(),Cf=Zi(),Tf=sn(),{isBlob:Of}=ct(),{BINARY_TYPES:ho,EMPTY_BUFFER:Os,GUID:Rf,kForOnEventAttribute:on,kListener:Af,kStatusCode:Pf,kWebSocket:N,NOOP:go}=be(),{EventTarget:{addEventListener:jf,removeEventListener:If}}=fo(),{format:Nf,parse:Bf}=an(),{toBuffer:Lf}=Pt(),Mf=30*1e3,bo=Symbol("kAborted"),cn=[8,13],_e=["CONNECTING","OPEN","CLOSING","CLOSED"],Df=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,C=class s extends yf{constructor(e,t,i){super(),this._binaryType=ho[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Os,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=s.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(i=t,t=[]):t=[t]),yo(this,e,t,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){ho.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,i){let n=new Cf({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new Tf(e,this._extensions,i.generateMask);this._receiver=n,this._sender=a,this._socket=e,n[N]=this,a[N]=this,e[N]=this,n.on("conclude",Uf),n.on("drain",Hf),n.on("error",zf),n.on("message",Wf),n.on("ping",$f),n.on("pong",Vf),a.onerror=Gf,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",So),e.on("data",As),e.on("end",Eo),e.on("error",ko),this._readyState=s.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Ie.extensionName]&&this._extensions[Ie.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Q(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===s.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=s.CLOSING,this._sender.close(e,t,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),_o(this)}}pause(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){ln(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Os,t,i)}pong(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){ln(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Os,t,i)}resume(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(i=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){ln(this,e,i);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Ie.extensionName]||(n.compress=!1),this._sender.send(e||Os,n,i)}terminate(){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Q(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=s.CLOSING,this._socket.destroy())}}};Object.defineProperty(C,"CONNECTING",{enumerable:!0,value:_e.indexOf("CONNECTING")});Object.defineProperty(C.prototype,"CONNECTING",{enumerable:!0,value:_e.indexOf("CONNECTING")});Object.defineProperty(C,"OPEN",{enumerable:!0,value:_e.indexOf("OPEN")});Object.defineProperty(C.prototype,"OPEN",{enumerable:!0,value:_e.indexOf("OPEN")});Object.defineProperty(C,"CLOSING",{enumerable:!0,value:_e.indexOf("CLOSING")});Object.defineProperty(C.prototype,"CLOSING",{enumerable:!0,value:_e.indexOf("CLOSING")});Object.defineProperty(C,"CLOSED",{enumerable:!0,value:_e.indexOf("CLOSED")});Object.defineProperty(C.prototype,"CLOSED",{enumerable:!0,value:_e.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(s=>{Object.defineProperty(C.prototype,s,{enumerable:!0})});["open","error","close","message"].forEach(s=>{Object.defineProperty(C.prototype,`on${s}`,{enumerable:!0,get(){for(let e of this.listeners(s))if(e[on])return e[Af];return null},set(e){for(let t of this.listeners(s))if(t[on]){this.removeListener(s,t);break}typeof e=="function"&&this.addEventListener(s,e,{[on]:!0})}})});C.prototype.addEventListener=jf;C.prototype.removeEventListener=If;Co.exports=C;function yo(s,e,t,i){let n={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:cn[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(s._autoPong=n.autoPong,!cn.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${cn.join(", ")})`);let a;if(e instanceof rn)a=e;else try{a=new rn(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),s._url=a.href;let r=a.protocol==="wss:",c=a.protocol==="ws+unix:",o;if(a.protocol!=="ws:"&&!r&&!c?o=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!a.pathname?o="The URL's pathname is empty":a.hash&&(o="The URL contains a fragment identifier"),o){let f=new SyntaxError(o);if(s._redirects===0)throw f;Rs(s,f);return}let l=r?443:80,p=Ef(16).toString("base64"),u=r?wf.request:_f.request,d=new Set,h;if(n.createConnection=n.createConnection||(r?Ff:qf),n.defaultPort=n.defaultPort||l,n.port=a.port||l,n.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},n.path=a.pathname+a.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(h=new Ie(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=Nf({[Ie.extensionName]:h.offer()})),t.length){for(let f of t){if(typeof f!="string"||!Df.test(f)||d.has(f))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(f)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(a.username||a.password)&&(n.auth=`${a.username}:${a.password}`),c){let f=n.path.split(":");n.socketPath=f[0],n.path=f[1]}let m;if(n.followRedirects){if(s._redirects===0){s._originalIpc=c,s._originalSecure=r,s._originalHostOrSocketPath=c?n.socketPath:a.host;let f=i&&i.headers;if(i={...i,headers:{}},f)for(let[v,y]of Object.entries(f))i.headers[v.toLowerCase()]=y}else if(s.listenerCount("redirect")===0){let f=c?s._originalIpc?n.socketPath===s._originalHostOrSocketPath:!1:s._originalIpc?!1:a.host===s._originalHostOrSocketPath;(!f||s._originalSecure&&!r)&&(delete n.headers.authorization,delete n.headers.cookie,f||delete n.headers.host,n.auth=void 0)}n.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=s._req=u(n),s._redirects&&s.emit("redirect",s.url,m)}else m=s._req=u(n);n.timeout&&m.on("timeout",()=>{Q(s,m,"Opening handshake has timed out")}),m.on("error",f=>{m===null||m[bo]||(m=s._req=null,Rs(s,f))}),m.on("response",f=>{let v=f.headers.location,y=f.statusCode;if(v&&n.followRedirects&&y>=300&&y<400){if(++s._redirects>n.maxRedirects){Q(s,m,"Maximum redirects exceeded");return}m.abort();let g;try{g=new rn(v,e)}catch{let A=new SyntaxError(`Invalid URL: ${v}`);Rs(s,A);return}yo(s,g,t,i)}else s.emit("unexpected-response",m,f)||Q(s,m,`Unexpected server response: ${f.statusCode}`)}),m.on("upgrade",(f,v,y)=>{if(s.emit("upgrade",f),s.readyState!==C.CONNECTING)return;m=s._req=null;let g=f.headers.upgrade;if(g===void 0||g.toLowerCase()!=="websocket"){Q(s,v,"Invalid Upgrade header");return}let L=kf("sha1").update(p+Rf).digest("base64");if(f.headers["sec-websocket-accept"]!==L){Q(s,v,"Invalid Sec-WebSocket-Accept header");return}let A=f.headers["sec-websocket-protocol"],ue;if(A!==void 0?d.size?d.has(A)||(ue="Server sent an invalid subprotocol"):ue="Server sent a subprotocol but none was requested":d.size&&(ue="Server sent no subprotocol"),ue){Q(s,v,ue);return}A&&(s._protocol=A);let W=f.headers["sec-websocket-extensions"];if(W!==void 0){if(!h){Q(s,v,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let de;try{de=Bf(W)}catch{Q(s,v,"Invalid Sec-WebSocket-Extensions header");return}let ve=Object.keys(de);if(ve.length!==1||ve[0]!==Ie.extensionName){Q(s,v,"Server indicated an extension that was not requested");return}try{h.accept(de[Ie.extensionName])}catch{Q(s,v,"Invalid Sec-WebSocket-Extensions header");return}s._extensions[Ie.extensionName]=h}s.setSocket(v,y,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,s):m.end()}function Rs(s,e){s._readyState=C.CLOSING,s._errorEmitted=!0,s.emit("error",e),s.emitClose()}function qf(s){return s.path=s.socketPath,vo.connect(s)}function Ff(s){return s.path=void 0,!s.servername&&s.servername!==""&&(s.servername=vo.isIP(s.host)?"":s.host),Sf.connect(s)}function Q(s,e,t){s._readyState=C.CLOSING;let i=new Error(t);Error.captureStackTrace(i,Q),e.setHeader?(e[bo]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Rs,s,i)):(e.destroy(i),e.once("error",s.emit.bind(s,"error")),e.once("close",s.emitClose.bind(s)))}function ln(s,e,t){if(e){let i=Of(e)?e.size:Lf(e).length;s._socket?s._sender._bufferedBytes+=i:s._bufferedAmount+=i}if(t){let i=new Error(`WebSocket is not open: readyState ${s.readyState} (${_e[s.readyState]})`);process.nextTick(t,i)}}function Uf(s,e){let t=this[N];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=s,t._socket[N]!==void 0&&(t._socket.removeListener("data",As),process.nextTick(wo,t._socket),s===1005?t.close():t.close(s,e))}function Hf(){let s=this[N];s.isPaused||s._socket.resume()}function zf(s){let e=this[N];e._socket[N]!==void 0&&(e._socket.removeListener("data",As),process.nextTick(wo,e._socket),e.close(s[Pf])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s))}function xo(){this[N].emitClose()}function Wf(s,e){this[N].emit("message",s,e)}function $f(s){let e=this[N];e._autoPong&&e.pong(s,!this._isServer,go),e.emit("ping",s)}function Vf(s){this[N].emit("pong",s)}function wo(s){s.resume()}function Gf(s){let e=this[N];e.readyState!==C.CLOSED&&(e.readyState===C.OPEN&&(e._readyState=C.CLOSING,_o(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s)))}function _o(s){s._closeTimer=setTimeout(s._socket.destroy.bind(s._socket),Mf)}function So(){let s=this[N];this.removeListener("close",So),this.removeListener("data",As),this.removeListener("end",Eo),s._readyState=C.CLOSING;let e;!this._readableState.endEmitted&&!s._closeFrameReceived&&!s._receiver._writableState.errorEmitted&&(e=s._socket.read())!==null&&s._receiver.write(e),s._receiver.end(),this[N]=void 0,clearTimeout(s._closeTimer),s._receiver._writableState.finished||s._receiver._writableState.errorEmitted?s.emitClose():(s._receiver.on("error",xo),s._receiver.on("finish",xo))}function As(s){this[N]._receiver.write(s)||this.pause()}function Eo(){let s=this[N];s._readyState=C.CLOSING,s._receiver.end(),this.end()}function ko(){let s=this[N];this.removeListener("error",ko),this.on("error",go),s&&(s._readyState=C.CLOSING,this.destroy())}});var Ao=x((jv,Ro)=>{"use strict";var Pv=Ps(),{Duplex:Kf}=require("stream");function To(s){s.emit("close")}function Yf(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Oo(s){this.removeListener("error",Oo),this.destroy(),this.listenerCount("error")===0&&this.emit("error",s)}function Xf(s,e){let t=!0,i=new Kf({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return s.on("message",function(a,r){let c=!r&&i._readableState.objectMode?a.toString():a;i.push(c)||s.pause()}),s.once("error",function(a){i.destroyed||(t=!1,i.destroy(a))}),s.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(n,a){if(s.readyState===s.CLOSED){a(n),process.nextTick(To,i);return}let r=!1;s.once("error",function(o){r=!0,a(o)}),s.once("close",function(){r||a(n),process.nextTick(To,i)}),t&&s.terminate()},i._final=function(n){if(s.readyState===s.CONNECTING){s.once("open",function(){i._final(n)});return}s._socket!==null&&(s._socket._writableState.finished?(n(),i._readableState.endEmitted&&i.destroy()):(s._socket.once("finish",function(){n()}),s.close()))},i._read=function(){s.isPaused&&s.resume()},i._write=function(n,a,r){if(s.readyState===s.CONNECTING){s.once("open",function(){i._write(n,a,r)});return}s.send(n,r)},i.on("end",Yf),i.on("error",Oo),i}Ro.exports=Xf});var jo=x((Iv,Po)=>{"use strict";var{tokenChars:Jf}=ct();function Qf(s){let e=new Set,t=-1,i=-1,n=0;for(n;n<s.length;n++){let r=s.charCodeAt(n);if(i===-1&&Jf[r]===1)t===-1&&(t=n);else if(n!==0&&(r===32||r===9))i===-1&&t!==-1&&(i=n);else if(r===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);i===-1&&(i=n);let c=s.slice(t,i);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=i=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let a=s.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return e.add(a),e}Po.exports={parse:Qf}});var qo=x((Bv,Do)=>{"use strict";var Zf=require("events"),js=require("http"),{Duplex:Nv}=require("stream"),{createHash:em}=require("crypto"),Io=an(),We=It(),tm=jo(),sm=Ps(),{GUID:im,kWebSocket:nm}=be(),am=/^[+/0-9A-Za-z]{22}==$/,No=0,Bo=1,Mo=2,pn=class extends Zf{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:sm,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=js.createServer((i,n)=>{let a=js.STATUS_CODES[426];n.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),n.end(a)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=rm(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,a,r)=>{this.handleUpgrade(n,a,r,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=No}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Mo){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Mt,this);return}if(e&&this.once("close",e),this._state!==Bo)if(this._state=Bo,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Mt,this):process.nextTick(Mt,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Mt(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,i,n){t.on("error",Lo);let a=e.headers["sec-websocket-key"],r=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){$e(this,e,t,405,"Invalid HTTP method");return}if(r===void 0||r.toLowerCase()!=="websocket"){$e(this,e,t,400,"Invalid Upgrade header");return}if(a===void 0||!am.test(a)){$e(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){$e(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Dt(t,400);return}let o=e.headers["sec-websocket-protocol"],l=new Set;if(o!==void 0)try{l=tm.parse(o)}catch{$e(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&p!==void 0){let d=new We(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=Io.parse(p);h[We.extensionName]&&(d.accept(h[We.extensionName]),u[We.extensionName]=d)}catch{$e(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(h,m,f,v)=>{if(!h)return Dt(t,m||401,f,v);this.completeUpgrade(u,a,l,e,t,i,n)});return}if(!this.options.verifyClient(d))return Dt(t,401)}this.completeUpgrade(u,a,l,e,t,i,n)}completeUpgrade(e,t,i,n,a,r,c){if(!a.readable||!a.writable)return a.destroy();if(a[nm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>No)return Dt(a,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${em("sha1").update(t+im).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let u=this.options.handleProtocols?this.options.handleProtocols(i,n):i.values().next().value;u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),p._protocol=u)}if(e[We.extensionName]){let u=e[We.extensionName].params,d=Io.format({[We.extensionName]:[u]});l.push(`Sec-WebSocket-Extensions: ${d}`),p._extensions=e}this.emit("headers",l,n),a.write(l.concat(`\r
8
8
  `).join(`\r
9
- `)),a.removeListener("error",Lo),p.setSocket(a,r,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Lt,this)})),c(p,n)}};Do.exports=pn;function rm(s,e){for(let t of Object.keys(e))s.on(t,e[t]);return function(){for(let i of Object.keys(e))s.removeListener(i,e[i])}}function Lt(s){s._state=Mo,s.emit("close")}function Lo(){this.destroy()}function Mt(s,e,t,i){t=t||js.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...i},s.once("finish",s.destroy),s.end(`HTTP/1.1 ${e} ${js.STATUS_CODES[e]}\r
9
+ `)),a.removeListener("error",Lo),p.setSocket(a,r,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Mt,this)})),c(p,n)}};Do.exports=pn;function rm(s,e){for(let t of Object.keys(e))s.on(t,e[t]);return function(){for(let i of Object.keys(e))s.removeListener(i,e[i])}}function Mt(s){s._state=Mo,s.emit("close")}function Lo(){this.destroy()}function Dt(s,e,t,i){t=t||js.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...i},s.once("finish",s.destroy),s.end(`HTTP/1.1 ${e} ${js.STATUS_CODES[e]}\r
10
10
  `+Object.keys(i).map(n=>`${n}: ${i[n]}`).join(`\r
11
11
  `)+`\r
12
12
  \r
13
- `+t)}function $e(s,e,t,i,n,a){if(s.listenerCount("wsClientError")){let r=new Error(n);Error.captureStackTrace(r,$e),s.emit("wsClientError",r,t,e)}else Mt(t,i,n,a)}});var un=x((Bv,Fo)=>{"use strict";var Se=Ps();Se.createWebSocketStream=Ao();Se.Server=qo();Se.Receiver=Zi();Se.Sender=sn();Se.WebSocket=Se;Se.WebSocketServer=Se.Server;Fo.exports=Se});var zo=x((Lv,Ho)=>{"use strict";var Uo=Object.getOwnPropertySymbols,om=Object.prototype.hasOwnProperty,cm=Object.prototype.propertyIsEnumerable;function lm(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function pm(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;var i=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Ho.exports=pm()?Object.assign:function(s,e){for(var t,i=lm(s),n,a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var r in t)om.call(t,r)&&(i[r]=t[r]);if(Uo){n=Uo(t);for(var c=0;c<n.length;c++)cm.call(t,n[c])&&(i[n[c]]=t[n[c]])}}return i}});var Vo=x((Mv,dn)=>{"use strict";dn.exports=dm;dn.exports.append=$o;var um=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function $o(s,e){if(typeof s!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var t=Array.isArray(e)?e:Wo(String(e)),i=0;i<t.length;i++)if(!um.test(t[i]))throw new TypeError("field argument contains an invalid header name");if(s==="*")return s;var n=s,a=Wo(s.toLowerCase());if(t.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var r=0;r<t.length;r++){var c=t[r].toLowerCase();a.indexOf(c)===-1&&(a.push(c),n=n?n+", "+t[r]:t[r])}return n}function Wo(s){for(var e=0,t=[],i=0,n=0,a=s.length;n<a;n++)switch(s.charCodeAt(n)){case 32:i===e&&(i=e=n+1);break;case 44:t.push(s.substring(i,e)),i=e=n+1;break;default:e=n+1;break}return t.push(s.substring(i,e)),t}function dm(s,e){if(!s||!s.getHeader||!s.setHeader)throw new TypeError("res argument is required");var t=s.getHeader("Vary")||"",i=Array.isArray(t)?t.join(", "):String(t);(t=$o(i,e))&&s.setHeader("Vary",t)}});var fn=x((Dv,Go)=>{(function(){"use strict";var s=zo(),e=Vo(),t={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function i(m){return typeof m=="string"||m instanceof String}function n(m,f){if(Array.isArray(f)){for(var v=0;v<f.length;++v)if(n(m,f[v]))return!0;return!1}else return i(f)?m===f:f instanceof RegExp?f.test(m):!!f}function a(m,f){var v=f.headers.origin,y=[],g;return!m.origin||m.origin==="*"?y.push([{key:"Access-Control-Allow-Origin",value:"*"}]):i(m.origin)?(y.push([{key:"Access-Control-Allow-Origin",value:m.origin}]),y.push([{key:"Vary",value:"Origin"}])):(g=n(v,m.origin),y.push([{key:"Access-Control-Allow-Origin",value:g?v:!1}]),y.push([{key:"Vary",value:"Origin"}])),y}function r(m){var f=m.methods;return f.join&&(f=m.methods.join(",")),{key:"Access-Control-Allow-Methods",value:f}}function c(m){return m.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function o(m,f){var v=m.allowedHeaders||m.headers,y=[];return v?v.join&&(v=v.join(",")):(v=f.headers["access-control-request-headers"],y.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),v&&v.length&&y.push([{key:"Access-Control-Allow-Headers",value:v}]),y}function l(m){var f=m.exposedHeaders;if(f)f.join&&(f=f.join(","));else return null;return f&&f.length?{key:"Access-Control-Expose-Headers",value:f}:null}function p(m){var f=(typeof m.maxAge=="number"||m.maxAge)&&m.maxAge.toString();return f&&f.length?{key:"Access-Control-Max-Age",value:f}:null}function u(m,f){for(var v=0,y=m.length;v<y;v++){var g=m[v];g&&(Array.isArray(g)?u(g,f):g.key==="Vary"&&g.value?e(f,g.value):g.value&&f.setHeader(g.key,g.value))}}function d(m,f,v,y){var g=[],L=f.method&&f.method.toUpperCase&&f.method.toUpperCase();L==="OPTIONS"?(g.push(a(m,f)),g.push(c(m)),g.push(r(m)),g.push(o(m,f)),g.push(p(m)),g.push(l(m)),u(g,v),m.preflightContinue?y():(v.statusCode=m.optionsSuccessStatus,v.setHeader("Content-Length","0"),v.end())):(g.push(a(m,f)),g.push(c(m)),g.push(l(m)),u(g,v),y())}function h(m){var f=null;return typeof m=="function"?f=m:f=function(v,y){y(null,m)},function(y,g,L){f(y,function(A,ue){if(A)L(A);else{var W=s({},t,ue),de=null;W.origin&&typeof W.origin=="function"?de=W.origin:W.origin&&(de=function(ve,fe){fe(null,W.origin)}),de?de(y.headers.origin,function(ve,fe){ve||!fe?L(ve):(W.origin=fe,d(W,y,g,L))}):L()}})}}Go.exports=h})()});var hn=x(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.Server=ht.BaseServer=void 0;var Ko=bi(),Is=qi(),fm=require("events"),Yo=Ui(),mm=R(),hm=Nr(),xm=un(),Xo=Mi(),vm=Rt(),w=(0,mm.default)("engine"),ft=Symbol("responseHeaders");function gm(s){try{let e=JSON.parse(s);if(typeof e.sid=="string")return e.sid}catch{}}var mt=class extends fm.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:xm.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},e),e.cookie&&(this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:e.cookie.path!==!1,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(fn()(this.opts.cors)),e.perMessageDeflate&&(this.opts.perMessageDeflate=Object.assign({threshold:1024},e.perMessageDeflate)),this.init()}_computePath(e){let t=(e.path||"/engine.io").replace(/\/$/,"");return e.addTrailingSlash!==!1&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades?Is.default[e].upgradesTo||[]:[]}verify(e,t,i){let n=e._query.transport;if(!~this.opts.transports.indexOf(n)||n==="webtransport")return w('unknown transport "%s"',n),i(k.errors.UNKNOWN_TRANSPORT,{transport:n});if(bm(e.headers.origin)){let c=e.headers.origin;return e.headers.origin=null,w("origin header invalid"),i(k.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:c})}let r=e._query.sid;if(r){if(!this.clients.hasOwnProperty(r))return w('unknown sid "%s"',r),i(k.errors.UNKNOWN_SID,{sid:r});let c=this.clients[r].transport.name;if(!t&&c!==n)return w("bad request: unexpected transport without upgrade"),i(k.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:n,previousTransport:c})}else return e.method!=="GET"?i(k.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):n==="websocket"&&!t?(w("invalid transport upgrade"),i(k.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})):this.opts.allowRequest?this.opts.allowRequest(e,(c,o)=>{if(!o)return i(k.errors.FORBIDDEN,{message:c});i()}):i();i()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return w("no middleware to apply, skipping"),i();let n=a=>{w("applying middleware n\xB0%d",a+1),this.middlewares[a](e,t,r=>{if(r)return i(r);a+1<this.middlewares.length?n(a+1):i()})};n(0)}close(){w("closing all open clients");for(let e in this.clients)this.clients.hasOwnProperty(e)&&this.clients[e].close(!0);return this.cleanup(),this}generateId(e){return Ko.generateId()}async handshake(e,t,i){let n=t._query.EIO==="4"?4:3;if(n===3&&!this.opts.allowEIO3){w("unsupported protocol version"),this.emit("connection_error",{req:t,code:k.errors.UNSUPPORTED_PROTOCOL_VERSION,message:k.errorMessages[k.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:n}}),i(k.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(t)}catch(o){w("error while generating an id"),this.emit("connection_error",{req:t,code:k.errors.BAD_REQUEST,message:k.errorMessages[k.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:o}}),i(k.errors.BAD_REQUEST);return}w('handshaking client "%s"',a);try{var r=this.createTransport(e,t);e==="polling"?(r.maxHttpBufferSize=this.opts.maxHttpBufferSize,r.httpCompression=this.opts.httpCompression):e==="websocket"&&(r.perMessageDeflate=this.opts.perMessageDeflate)}catch(o){w('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:k.errors.BAD_REQUEST,message:k.errorMessages[k.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:o}}),i(k.errors.BAD_REQUEST);return}let c=new Yo.Socket(a,this,r,t,n);return r.on("headers",(o,l)=>{!l._query.sid&&(this.opts.cookie&&(o["Set-Cookie"]=[(0,hm.serialize)(this.opts.cookie.name,a,this.opts.cookie)]),this.emit("initial_headers",o,l)),this.emit("headers",o,l)}),r.onRequest(t),this.clients[a]=c,this.clientsCount++,c.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",c),r}async onWebTransportSession(e){let t=setTimeout(()=>{w("the client failed to establish a bidirectional stream in the given period"),e.close()},this.opts.upgradeTimeout),n=await e.incomingBidirectionalStreams.getReader().read();if(n.done){w("session is closed");return}let a=n.value,r=(0,vm.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),c=a.readable.pipeThrough(r).getReader(),{value:o,done:l}=await c.read();if(l){w("stream is closed");return}if(clearTimeout(t),o.type!=="open")return w("invalid WebTransport handshake"),e.close();if(o.data===void 0){let d=new Xo.WebTransport(e,a,c),h=Ko.generateId();w('handshaking client "%s" (WebTransport)',h);let m=new Yo.Socket(h,this,d,null,4);this.clients[h]=m,this.clientsCount++,m.once("close",()=>{delete this.clients[h],this.clientsCount--}),this.emit("connection",m);return}let p=gm(o.data);if(!p)return w("invalid WebTransport handshake"),e.close();let u=this.clients[p];if(!u)w("upgrade attempt for closed client"),e.close();else if(u.upgrading)w("transport has already been trying to upgrade"),e.close();else if(u.upgraded)w("transport had already been upgraded"),e.close();else{w("upgrading existing transport");let d=new Xo.WebTransport(e,a,c);u._maybeUpgrade(d)}}};ht.BaseServer=mt;mt.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};mt.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var mn=class{constructor(e,t){this.req=e,this.socket=t,e[ft]={}}setHeader(e,t){this.req[ft][e]=t}getHeader(e){return this.req[ft][e]}removeHeader(e){delete this.req[ft][e]}write(){}writeHead(){}end(){this.socket.destroy()}},k=class s extends mt{init(){~this.opts.transports.indexOf("websocket")&&(this.ws&&this.ws.close(),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",(e,t)=>{let i=t[ft]||{};delete t[ft],!t._query.sid&&this.emit("initial_headers",i,t),this.emit("headers",i,t),w("writing headers: %j",i),Object.keys(i).forEach(a=>{e.push(`${a}: ${i[a]}`)})}))}cleanup(){this.ws&&(w("closing webSocketServer"),this.ws.close())}prepare(e){if(!e._query){let t=new URL(e.url,"https://socket.io");e._query=Object.fromEntries(t.searchParams.entries())}}createTransport(e,t){return new Is.default[e](t)}handleRequest(e,t){w('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:e,code:n,message:s.errorMessages[n],context:a}),Jo(t,n,a);return}if(e._query.sid)w("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{let r=(c,o)=>Jo(t,c,o);this.handshake(e._query.transport,e,r)}};this._applyMiddlewares(e,t,n=>{n?i(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,i)})}handleUpgrade(e,t,i){this.prepare(e);let n=new mn(e,t),a=(r,c)=>{if(r!==void 0){this.emit("connection_error",{req:e,code:r,message:s.errorMessages[r],context:c}),Qo(t,r,c);return}let o=Buffer.from(i);i=null,n.writeHead(),this.ws.handleUpgrade(e,t,o,l=>{this.onWebSocket(e,t,l)})};this._applyMiddlewares(e,n,r=>{r?a(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,a)})}onWebSocket(e,t,i){if(i.on("error",a),Is.default[e._query.transport]!==void 0&&!Is.default[e._query.transport].prototype.handlesUpgrades){w("transport doesnt handle upgraded requests"),i.close();return}let n=e._query.sid;if(e.websocket=i,n){let r=this.clients[n];if(!r)w("upgrade attempt for closed client"),i.close();else if(r.upgrading)w("transport has already been trying to upgrade"),i.close();else if(r.upgraded)w("transport had already been upgraded"),i.close();else{w("upgrading existing transport"),i.removeListener("error",a);let c=this.createTransport(e._query.transport,e);c.perMessageDeflate=this.opts.perMessageDeflate,r._maybeUpgrade(c)}}else{let r=(c,o)=>Qo(t,c,o);this.handshake(e._query.transport,e,r)}function a(){w("websocket error before upgrade")}}attach(e,t={}){let i=this._computePath(t),n=t.destroyUpgradeTimeout||1e3;function a(c){return i===c.url.slice(0,i.length)}let r=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("close",this.close.bind(this)),e.on("listening",this.init.bind(this)),e.on("request",(c,o)=>{if(a(c))w('intercepting request for path "%s"',i),this.handleRequest(c,o);else{let l=0,p=r.length;for(;l<p;l++)r[l].call(e,c,o)}}),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",(c,o,l)=>{a(c)?this.handleUpgrade(c,o,l):t.destroyUpgrade!==!1&&setTimeout(function(){if(o.writable&&o.bytesWritten<=0)return o.on("error",p=>{w("error while destroying upgrade: %s",p.message)}),o.end()},n)})}};ht.Server=k;function Jo(s,e,t){let i=e===k.errors.FORBIDDEN?403:400,n=t&&t.message?t.message:k.errorMessages[e];s.writeHead(i,{"Content-Type":"application/json"}),s.end(JSON.stringify({code:e,message:n}))}function Qo(s,e,t={}){if(s.on("error",()=>{w("ignoring error from closed connection")}),s.writable){let i=t.message||k.errorMessages[e],n=Buffer.byteLength(i);s.write(`HTTP/1.1 400 Bad Request\r
13
+ `+t)}function $e(s,e,t,i,n,a){if(s.listenerCount("wsClientError")){let r=new Error(n);Error.captureStackTrace(r,$e),s.emit("wsClientError",r,t,e)}else Dt(t,i,n,a)}});var un=x((Lv,Fo)=>{"use strict";var Se=Ps();Se.createWebSocketStream=Ao();Se.Server=qo();Se.Receiver=Zi();Se.Sender=sn();Se.WebSocket=Se;Se.WebSocketServer=Se.Server;Fo.exports=Se});var zo=x((Mv,Ho)=>{"use strict";var Uo=Object.getOwnPropertySymbols,om=Object.prototype.hasOwnProperty,cm=Object.prototype.propertyIsEnumerable;function lm(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function pm(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;var i=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Ho.exports=pm()?Object.assign:function(s,e){for(var t,i=lm(s),n,a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var r in t)om.call(t,r)&&(i[r]=t[r]);if(Uo){n=Uo(t);for(var c=0;c<n.length;c++)cm.call(t,n[c])&&(i[n[c]]=t[n[c]])}}return i}});var Vo=x((Dv,dn)=>{"use strict";dn.exports=dm;dn.exports.append=$o;var um=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function $o(s,e){if(typeof s!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var t=Array.isArray(e)?e:Wo(String(e)),i=0;i<t.length;i++)if(!um.test(t[i]))throw new TypeError("field argument contains an invalid header name");if(s==="*")return s;var n=s,a=Wo(s.toLowerCase());if(t.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var r=0;r<t.length;r++){var c=t[r].toLowerCase();a.indexOf(c)===-1&&(a.push(c),n=n?n+", "+t[r]:t[r])}return n}function Wo(s){for(var e=0,t=[],i=0,n=0,a=s.length;n<a;n++)switch(s.charCodeAt(n)){case 32:i===e&&(i=e=n+1);break;case 44:t.push(s.substring(i,e)),i=e=n+1;break;default:e=n+1;break}return t.push(s.substring(i,e)),t}function dm(s,e){if(!s||!s.getHeader||!s.setHeader)throw new TypeError("res argument is required");var t=s.getHeader("Vary")||"",i=Array.isArray(t)?t.join(", "):String(t);(t=$o(i,e))&&s.setHeader("Vary",t)}});var fn=x((qv,Go)=>{(function(){"use strict";var s=zo(),e=Vo(),t={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function i(m){return typeof m=="string"||m instanceof String}function n(m,f){if(Array.isArray(f)){for(var v=0;v<f.length;++v)if(n(m,f[v]))return!0;return!1}else return i(f)?m===f:f instanceof RegExp?f.test(m):!!f}function a(m,f){var v=f.headers.origin,y=[],g;return!m.origin||m.origin==="*"?y.push([{key:"Access-Control-Allow-Origin",value:"*"}]):i(m.origin)?(y.push([{key:"Access-Control-Allow-Origin",value:m.origin}]),y.push([{key:"Vary",value:"Origin"}])):(g=n(v,m.origin),y.push([{key:"Access-Control-Allow-Origin",value:g?v:!1}]),y.push([{key:"Vary",value:"Origin"}])),y}function r(m){var f=m.methods;return f.join&&(f=m.methods.join(",")),{key:"Access-Control-Allow-Methods",value:f}}function c(m){return m.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function o(m,f){var v=m.allowedHeaders||m.headers,y=[];return v?v.join&&(v=v.join(",")):(v=f.headers["access-control-request-headers"],y.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),v&&v.length&&y.push([{key:"Access-Control-Allow-Headers",value:v}]),y}function l(m){var f=m.exposedHeaders;if(f)f.join&&(f=f.join(","));else return null;return f&&f.length?{key:"Access-Control-Expose-Headers",value:f}:null}function p(m){var f=(typeof m.maxAge=="number"||m.maxAge)&&m.maxAge.toString();return f&&f.length?{key:"Access-Control-Max-Age",value:f}:null}function u(m,f){for(var v=0,y=m.length;v<y;v++){var g=m[v];g&&(Array.isArray(g)?u(g,f):g.key==="Vary"&&g.value?e(f,g.value):g.value&&f.setHeader(g.key,g.value))}}function d(m,f,v,y){var g=[],L=f.method&&f.method.toUpperCase&&f.method.toUpperCase();L==="OPTIONS"?(g.push(a(m,f)),g.push(c(m)),g.push(r(m)),g.push(o(m,f)),g.push(p(m)),g.push(l(m)),u(g,v),m.preflightContinue?y():(v.statusCode=m.optionsSuccessStatus,v.setHeader("Content-Length","0"),v.end())):(g.push(a(m,f)),g.push(c(m)),g.push(l(m)),u(g,v),y())}function h(m){var f=null;return typeof m=="function"?f=m:f=function(v,y){y(null,m)},function(y,g,L){f(y,function(A,ue){if(A)L(A);else{var W=s({},t,ue),de=null;W.origin&&typeof W.origin=="function"?de=W.origin:W.origin&&(de=function(ve,fe){fe(null,W.origin)}),de?de(y.headers.origin,function(ve,fe){ve||!fe?L(ve):(W.origin=fe,d(W,y,g,L))}):L()}})}}Go.exports=h})()});var hn=x(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.Server=ht.BaseServer=void 0;var Ko=bi(),Is=qi(),fm=require("events"),Yo=Ui(),mm=R(),hm=Nr(),xm=un(),Xo=Mi(),vm=At(),w=(0,mm.default)("engine"),ft=Symbol("responseHeaders");function gm(s){try{let e=JSON.parse(s);if(typeof e.sid=="string")return e.sid}catch{}}var mt=class extends fm.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:xm.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},e),e.cookie&&(this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:e.cookie.path!==!1,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(fn()(this.opts.cors)),e.perMessageDeflate&&(this.opts.perMessageDeflate=Object.assign({threshold:1024},e.perMessageDeflate)),this.init()}_computePath(e){let t=(e.path||"/engine.io").replace(/\/$/,"");return e.addTrailingSlash!==!1&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades?Is.default[e].upgradesTo||[]:[]}verify(e,t,i){let n=e._query.transport;if(!~this.opts.transports.indexOf(n)||n==="webtransport")return w('unknown transport "%s"',n),i(k.errors.UNKNOWN_TRANSPORT,{transport:n});if(bm(e.headers.origin)){let c=e.headers.origin;return e.headers.origin=null,w("origin header invalid"),i(k.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:c})}let r=e._query.sid;if(r){if(!this.clients.hasOwnProperty(r))return w('unknown sid "%s"',r),i(k.errors.UNKNOWN_SID,{sid:r});let c=this.clients[r].transport.name;if(!t&&c!==n)return w("bad request: unexpected transport without upgrade"),i(k.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:n,previousTransport:c})}else return e.method!=="GET"?i(k.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):n==="websocket"&&!t?(w("invalid transport upgrade"),i(k.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})):this.opts.allowRequest?this.opts.allowRequest(e,(c,o)=>{if(!o)return i(k.errors.FORBIDDEN,{message:c});i()}):i();i()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return w("no middleware to apply, skipping"),i();let n=a=>{w("applying middleware n\xB0%d",a+1),this.middlewares[a](e,t,r=>{if(r)return i(r);a+1<this.middlewares.length?n(a+1):i()})};n(0)}close(){w("closing all open clients");for(let e in this.clients)this.clients.hasOwnProperty(e)&&this.clients[e].close(!0);return this.cleanup(),this}generateId(e){return Ko.generateId()}async handshake(e,t,i){let n=t._query.EIO==="4"?4:3;if(n===3&&!this.opts.allowEIO3){w("unsupported protocol version"),this.emit("connection_error",{req:t,code:k.errors.UNSUPPORTED_PROTOCOL_VERSION,message:k.errorMessages[k.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:n}}),i(k.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(t)}catch(o){w("error while generating an id"),this.emit("connection_error",{req:t,code:k.errors.BAD_REQUEST,message:k.errorMessages[k.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:o}}),i(k.errors.BAD_REQUEST);return}w('handshaking client "%s"',a);try{var r=this.createTransport(e,t);e==="polling"?(r.maxHttpBufferSize=this.opts.maxHttpBufferSize,r.httpCompression=this.opts.httpCompression):e==="websocket"&&(r.perMessageDeflate=this.opts.perMessageDeflate)}catch(o){w('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:k.errors.BAD_REQUEST,message:k.errorMessages[k.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:o}}),i(k.errors.BAD_REQUEST);return}let c=new Yo.Socket(a,this,r,t,n);return r.on("headers",(o,l)=>{!l._query.sid&&(this.opts.cookie&&(o["Set-Cookie"]=[(0,hm.serialize)(this.opts.cookie.name,a,this.opts.cookie)]),this.emit("initial_headers",o,l)),this.emit("headers",o,l)}),r.onRequest(t),this.clients[a]=c,this.clientsCount++,c.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",c),r}async onWebTransportSession(e){let t=setTimeout(()=>{w("the client failed to establish a bidirectional stream in the given period"),e.close()},this.opts.upgradeTimeout),n=await e.incomingBidirectionalStreams.getReader().read();if(n.done){w("session is closed");return}let a=n.value,r=(0,vm.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),c=a.readable.pipeThrough(r).getReader(),{value:o,done:l}=await c.read();if(l){w("stream is closed");return}if(clearTimeout(t),o.type!=="open")return w("invalid WebTransport handshake"),e.close();if(o.data===void 0){let d=new Xo.WebTransport(e,a,c),h=Ko.generateId();w('handshaking client "%s" (WebTransport)',h);let m=new Yo.Socket(h,this,d,null,4);this.clients[h]=m,this.clientsCount++,m.once("close",()=>{delete this.clients[h],this.clientsCount--}),this.emit("connection",m);return}let p=gm(o.data);if(!p)return w("invalid WebTransport handshake"),e.close();let u=this.clients[p];if(!u)w("upgrade attempt for closed client"),e.close();else if(u.upgrading)w("transport has already been trying to upgrade"),e.close();else if(u.upgraded)w("transport had already been upgraded"),e.close();else{w("upgrading existing transport");let d=new Xo.WebTransport(e,a,c);u._maybeUpgrade(d)}}};ht.BaseServer=mt;mt.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};mt.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var mn=class{constructor(e,t){this.req=e,this.socket=t,e[ft]={}}setHeader(e,t){this.req[ft][e]=t}getHeader(e){return this.req[ft][e]}removeHeader(e){delete this.req[ft][e]}write(){}writeHead(){}end(){this.socket.destroy()}},k=class s extends mt{init(){~this.opts.transports.indexOf("websocket")&&(this.ws&&this.ws.close(),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",(e,t)=>{let i=t[ft]||{};delete t[ft],!t._query.sid&&this.emit("initial_headers",i,t),this.emit("headers",i,t),w("writing headers: %j",i),Object.keys(i).forEach(a=>{e.push(`${a}: ${i[a]}`)})}))}cleanup(){this.ws&&(w("closing webSocketServer"),this.ws.close())}prepare(e){if(!e._query){let t=new URL(e.url,"https://socket.io");e._query=Object.fromEntries(t.searchParams.entries())}}createTransport(e,t){return new Is.default[e](t)}handleRequest(e,t){w('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:e,code:n,message:s.errorMessages[n],context:a}),Jo(t,n,a);return}if(e._query.sid)w("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{let r=(c,o)=>Jo(t,c,o);this.handshake(e._query.transport,e,r)}};this._applyMiddlewares(e,t,n=>{n?i(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,i)})}handleUpgrade(e,t,i){this.prepare(e);let n=new mn(e,t),a=(r,c)=>{if(r!==void 0){this.emit("connection_error",{req:e,code:r,message:s.errorMessages[r],context:c}),Qo(t,r,c);return}let o=Buffer.from(i);i=null,n.writeHead(),this.ws.handleUpgrade(e,t,o,l=>{this.onWebSocket(e,t,l)})};this._applyMiddlewares(e,n,r=>{r?a(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,a)})}onWebSocket(e,t,i){if(i.on("error",a),Is.default[e._query.transport]!==void 0&&!Is.default[e._query.transport].prototype.handlesUpgrades){w("transport doesnt handle upgraded requests"),i.close();return}let n=e._query.sid;if(e.websocket=i,n){let r=this.clients[n];if(!r)w("upgrade attempt for closed client"),i.close();else if(r.upgrading)w("transport has already been trying to upgrade"),i.close();else if(r.upgraded)w("transport had already been upgraded"),i.close();else{w("upgrading existing transport"),i.removeListener("error",a);let c=this.createTransport(e._query.transport,e);c.perMessageDeflate=this.opts.perMessageDeflate,r._maybeUpgrade(c)}}else{let r=(c,o)=>Qo(t,c,o);this.handshake(e._query.transport,e,r)}function a(){w("websocket error before upgrade")}}attach(e,t={}){let i=this._computePath(t),n=t.destroyUpgradeTimeout||1e3;function a(c){return i===c.url.slice(0,i.length)}let r=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("close",this.close.bind(this)),e.on("listening",this.init.bind(this)),e.on("request",(c,o)=>{if(a(c))w('intercepting request for path "%s"',i),this.handleRequest(c,o);else{let l=0,p=r.length;for(;l<p;l++)r[l].call(e,c,o)}}),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",(c,o,l)=>{a(c)?this.handleUpgrade(c,o,l):t.destroyUpgrade!==!1&&setTimeout(function(){if(o.writable&&o.bytesWritten<=0)return o.on("error",p=>{w("error while destroying upgrade: %s",p.message)}),o.end()},n)})}};ht.Server=k;function Jo(s,e,t){let i=e===k.errors.FORBIDDEN?403:400,n=t&&t.message?t.message:k.errorMessages[e];s.writeHead(i,{"Content-Type":"application/json"}),s.end(JSON.stringify({code:e,message:n}))}function Qo(s,e,t={}){if(s.on("error",()=>{w("ignoring error from closed connection")}),s.writable){let i=t.message||k.errorMessages[e],n=Buffer.byteLength(i);s.write(`HTTP/1.1 400 Bad Request\r
14
14
  Connection: close\r
15
15
  Content-type: text/html\r
16
16
  Content-Length: `+n+`\r
17
17
  \r
18
- `+i)}s.destroy()}var Dt=[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];function bm(s){if(s+="",s.length<1)return!1;if(!Dt[s.charCodeAt(0)])return w('invalid header, index 0, char "%s"',s.charCodeAt(0)),!0;if(s.length<2)return!1;if(!Dt[s.charCodeAt(1)])return w('invalid header, index 1, char "%s"',s.charCodeAt(1)),!0;if(s.length<3)return!1;if(!Dt[s.charCodeAt(2)])return w('invalid header, index 2, char "%s"',s.charCodeAt(2)),!0;if(s.length<4)return!1;if(!Dt[s.charCodeAt(3)])return w('invalid header, index 3, char "%s"',s.charCodeAt(3)),!0;for(let e=4;e<s.length;++e)if(!Dt[s.charCodeAt(e)])return w('invalid header, index "%i", char "%s"',e,s.charCodeAt(e)),!0;return!1}});var ec=x(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Polling=void 0;var ym=Fe(),Zo=require("zlib"),wm=ts(),_m=R(),ie=(0,_m.default)("engine:polling"),Sm={gzip:Zo.createGzip,deflate:Zo.createDeflate},xn=class extends ym.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.getMethod()==="get"?this.onPollRequest(e,t):e.getMethod()==="post"?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req){ie("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}ie("setting request"),this.req=e,this.res=t;let i=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},n=()=>{this.req=this.res=null};e.cleanup=n,t.onAborted(i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(ie("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}let i=Number(e.headers["content-length"]);if(!i){this.onError("content-length header required"),t.writeStatus("411 Length Required").end();return}if(i>this.maxHttpBufferSize){this.onError("payload too large"),t.writeStatus("413 Payload Too Large").end();return}if(e.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let a,r=0,c={"Content-Type":"text/html"};this.headers(e,c);for(let l in c)t.writeHeader(l,String(c[l]));let o=l=>{this.onData(l.toString()),this.onDataRequestCleanup(),t.cork(()=>{t.end("ok")})};t.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),t.onData((l,p)=>{let u=r+l.byteLength;if(u>i){this.onError("content-length mismatch"),t.close();return}if(!a){if(p){o(Buffer.from(l));return}a=Buffer.allocUnsafe(i)}if(Buffer.from(l).copy(a,r),p){if(u!=i){this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}o(a);return}r=u})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){ie('received "%s"',e);let t=i=>{if(i.type==="close")return ie("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(ie("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){ie('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{this.headers(this.req,r),this.res.cork(()=>{Object.keys(r).forEach(u=>{this.res.writeHeader(u,String(r[u]))}),this.res.end(p)}),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=wm(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){ie("compressing");let n=[],a=0;Sm[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){ie("closing");let t,i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(ie("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(ie("transport discarded - closing right away"),i()):(ie("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t){t=t||{};let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Ns.Polling=xn});var sc=x(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.WebSocket=void 0;var Em=Fe(),km=R(),tc=(0,km.default)("engine:ws"),vn=class extends Em.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length,a=r=>{let c=typeof r!="string",o=this.perMessageDeflate&&Buffer.byteLength(r)>this.perMessageDeflate.threshold;tc('writing "%s"',r),this.socket.send(r,c,o),n&&(this.emit("drain"),this.writable=!0,this.emit("ready"))};i.options&&typeof i.options.wsPreEncoded=="string"?a(i.options.wsPreEncoded):this.parser.encodePacket(i,this.supportsBinary,a)}}doClose(e){tc("closing"),e&&e(),this.socket.end()}};Bs.WebSocket=vn});var ic=x(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});var Cm=ec(),Tm=sc();gn.default={polling:Cm.Polling,websocket:Tm.WebSocket}});var nc=x(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.uServer=void 0;var Om=R(),Ve=hn(),Rm=ic(),Ie=(0,Om.default)("engine:uws"),bn=class extends Ve.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();let i=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(i.entries()),e.headers={},e.forEach((n,a)=>{e.headers[n]=a}),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted(()=>{Ie("response has been aborted")})}createTransport(e,t){return new Rm.default[e](t)}attach(e,t={}){let i=this._computePath(t);e.any(i,this.handleRequest.bind(this)).ws(i,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:n=>{let a=n.getUserData().transport;a.socket=n,a.writable=!0,a.emit("ready")},message:(n,a,r)=>{n.getUserData().transport.onData(r?a:Buffer.from(a).toString())},close:(n,a,r)=>{n.getUserData().transport.onClose(a,r)}})}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return i();e.res=new yn(t),super._applyMiddlewares(e,e.res,n=>{e.res.writeHead(),i(n)})}handleRequest(e,t){Ie('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:t,code:n,message:Ve.Server.errorMessages[n],context:a}),this.abortRequest(t.res,n,a);return}if(t._query.sid)Ie("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{let r=(c,o)=>this.abortRequest(e,c,o);this.handshake(t._query.transport,t,r)}};this._applyMiddlewares(t,e,n=>{n?i(Ve.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,i)})}handleUpgrade(e,t,i){Ie("on upgrade"),this.prepare(t,e),t.res=e;let n=async(a,r)=>{if(a!==void 0){this.emit("connection_error",{req:t,code:a,message:Ve.Server.errorMessages[a],context:r}),this.abortRequest(e,a,r);return}let c=t._query.sid,o;if(c){let l=this.clients[c];if(l){if(l.upgrading)return Ie("transport has already been trying to upgrade"),e.close();if(l.upgraded)return Ie("transport had already been upgraded"),e.close();Ie("upgrading existing transport"),o=this.createTransport(t._query.transport,t),l._maybeUpgrade(o)}else return Ie("upgrade attempt for closed client"),e.close()}else if(o=await this.handshake(t._query.transport,t,(l,p)=>this.abortRequest(e,l,p)),!o)return;t.res.writeStatus("101 Switching Protocols"),e.upgrade({transport:o},t.getHeader("sec-websocket-key"),t.getHeader("sec-websocket-protocol"),t.getHeader("sec-websocket-extensions"),i)};this._applyMiddlewares(t,e,a=>{a?n(Ve.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,n)})}abortRequest(e,t,i){let n=t===Ve.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=i&&i.message?i.message:Ve.Server.errorMessages[t];e.writeStatus(n),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:a}))}};Ls.uServer=bn;var yn=class{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(e===200?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach(i=>{this.writeHeader(e,i)}):this.writeHeader(e,t)}removeHeader(){}getHeader(){}writeStatus(e){if(!this.isAborted)return this.res.writeStatus(e),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(e,t){this.isAborted||e!=="Content-Length"&&(this.statusWritten?this.res.writeHeader(e,t):this.headers.push([e,t]))}writeBufferedHeaders(){this.headers.forEach(([e,t])=>{this.res.writeHeader(e,t)})}end(e){this.isAborted||this.res.cork(()=>{this.statusWritten||this.writeBufferedHeaders(),this.res.end(e)})}onData(e){this.isAborted||this.res.onData(e)}onAborted(e){this.isAborted||this.res.onAborted(()=>{this.isAborted=!0,e()})}cork(e){this.isAborted||this.res.cork(e)}}});var cc=x(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.protocol=B.Transport=B.Socket=B.uServer=B.parser=B.transports=B.Server=void 0;B.listen=Bm;B.attach=oc;var Am=require("http"),ac=hn();Object.defineProperty(B,"Server",{enumerable:!0,get:function(){return ac.Server}});var Pm=qi();B.transports=Pm.default;var rc=Rt();B.parser=rc;var jm=nc();Object.defineProperty(B,"uServer",{enumerable:!0,get:function(){return jm.uServer}});var Im=Ui();Object.defineProperty(B,"Socket",{enumerable:!0,get:function(){return Im.Socket}});var Nm=Fe();Object.defineProperty(B,"Transport",{enumerable:!0,get:function(){return Nm.Transport}});B.protocol=rc.protocol;function Bm(s,e,t){typeof e=="function"&&(t=e,e={});let i=(0,Am.createServer)(function(a,r){r.writeHead(501),r.end("Not Implemented")}),n=oc(i,e);return n.httpServer=i,i.listen(s,t),n}function oc(s,e){let t=new ac.Server(e);return t.attach(s,e),t}});var pc=x(lc=>{lc.Emitter=U;function U(s){if(s)return Lm(s)}function Lm(s){for(var e in U.prototype)s[e]=U.prototype[e];return s}U.prototype.on=U.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};U.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};U.prototype.off=U.prototype.removeListener=U.prototype.removeAllListeners=U.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var i,n=0;n<t.length;n++)if(i=t[n],i===e||i.fn===e){t.splice(n,1);break}return t.length===0&&delete this._callbacks["$"+s],this};U.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){t=t.slice(0);for(var i=0,n=t.length;i<n;++i)t[i].apply(this,e)}return this};U.prototype.emitReserved=U.prototype.emit;U.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]};U.prototype.hasListeners=function(s){return!!this.listeners(s).length}});var wn=x(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.isBinary=dc;Ds.hasBinary=Ms;var Mm=typeof ArrayBuffer=="function",Dm=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,uc=Object.prototype.toString,qm=typeof Blob=="function"||typeof Blob<"u"&&uc.call(Blob)==="[object BlobConstructor]",Fm=typeof File=="function"||typeof File<"u"&&uc.call(File)==="[object FileConstructor]";function dc(s){return Mm&&(s instanceof ArrayBuffer||Dm(s))||qm&&s instanceof Blob||Fm&&s instanceof File}function Ms(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(Ms(s[t]))return!0;return!1}if(dc(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return Ms(s.toJSON(),!0);for(let t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&Ms(s[t]))return!0;return!1}});var fc=x(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.deconstructPacket=Hm;qs.reconstructPacket=zm;var Um=wn();function Hm(s){let e=[],t=s.data,i=s;return i.data=_n(t,e),i.attachments=e.length,{packet:i,buffers:e}}function _n(s,e){if(!s)return s;if((0,Um.isBinary)(s)){let t={_placeholder:!0,num:e.length};return e.push(s),t}else if(Array.isArray(s)){let t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=_n(s[i],e);return t}else if(typeof s=="object"&&!(s instanceof Date)){let t={};for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=_n(s[i],e));return t}return s}function zm(s,e){return s.data=Sn(s.data,e),delete s.attachments,s}function Sn(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}else if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=Sn(s[t],e);else if(typeof s=="object")for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=Sn(s[t],e));return s}});var qt=x(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.Decoder=ce.Encoder=ce.PacketType=ce.protocol=void 0;ce.isPacketValid=Xm;var Wm=pc(),mc=fc(),hc=wn(),$m=R(),En=(0,$m.default)("socket.io-parser"),xc=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];ce.protocol=5;var E;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(E||(ce.PacketType=E={}));var kn=class{constructor(e){this.replacer=e}encode(e){return En("encoding packet %j",e),(e.type===E.EVENT||e.type===E.ACK)&&(0,hc.hasBinary)(e)?this.encodeAsBinary({type:e.type===E.EVENT?E.BINARY_EVENT:E.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===E.BINARY_EVENT||e.type===E.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),En("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,mc.deconstructPacket)(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}};ce.Encoder=kn;var Cn=class s extends Wm.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let i=t.type===E.BINARY_EVENT;i||t.type===E.BINARY_ACK?(t.type=i?E.EVENT:E.ACK,this.reconstructor=new Tn(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,hc.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,i={type:Number(e.charAt(0))};if(E[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===E.BINARY_EVENT||i.type===E.BINARY_ACK){let a=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let r=e.substring(a,t);if(r!=Number(r)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(r)}if(e.charAt(t+1)==="/"){let a=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););i.nsp=e.substring(a,t)}else i.nsp="/";let n=e.charAt(t+1);if(n!==""&&Number(n)==n){let a=t+1;for(;++t;){let r=e.charAt(t);if(r==null||Number(r)!=r){--t;break}if(t===e.length)break}i.id=Number(e.substring(a,t+1))}if(e.charAt(++t)){let a=this.tryParse(e.substr(t));if(s.isPayloadValid(i.type,a))i.data=a;else throw new Error("invalid payload")}return En("decoded %s as %j",e,i),i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case E.CONNECT:return Fs(t);case E.DISCONNECT:return t===void 0;case E.CONNECT_ERROR:return typeof t=="string"||Fs(t);case E.EVENT:case E.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&xc.indexOf(t[0])===-1);case E.ACK:case E.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};ce.Decoder=Cn;var Tn=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,mc.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function Vm(s){return typeof s=="string"}var Gm=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s};function Km(s){return s===void 0||Gm(s)}function Fs(s){return Object.prototype.toString.call(s)==="[object Object]"}function Ym(s,e){switch(s){case E.CONNECT:return e===void 0||Fs(e);case E.DISCONNECT:return e===void 0;case E.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&xc.indexOf(e[0])===-1);case E.ACK:return Array.isArray(e);case E.CONNECT_ERROR:return typeof e=="string"||Fs(e);default:return!1}}function Xm(s){return Vm(s.nsp)&&Km(s.id)&&Ym(s.type,s.data)}});var vc=x(xt=>{"use strict";var Jm=xt&&xt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(xt,"__esModule",{value:!0});xt.Client=void 0;var Us=qt(),Qm=Jm(R()),le=(0,Qm.default)("socket.io:client"),On=class{constructor(e,t){this.sockets=new Map,this.nsps=new Map,this.server=e,this.conn=t,this.encoder=e.encoder,this.decoder=new e._parser.Decoder,this.id=t.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(()=>{this.nsps.size===0?(le("no namespace joined yet, close the client"),this.close()):le("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return le("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,i=>{i?this.doConnect(e,t):(le("creation of namespace %s was denied",e),this._packet({type:Us.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))})}doConnect(e,t){let i=this.server.of(e);i._add(this,t,n=>{this.sockets.set(n.id,n),this.nsps.set(i.name,n),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)})}_disconnect(){for(let e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){let t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else le("ignoring remove for %s",e.id)}close(){this.conn.readyState==="open"&&(le("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if(this.conn.readyState!=="open"){le("ignoring packet write %j",e);return}let i=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(i,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable){le("volatile packet is discarded since the transport is not currently writable");return}let i=Array.isArray(e)?e:[e];for(let n of i)this.conn.write(n,t)}ondata(e){try{this.decoder.add(e)}catch(t){le("invalid packet format"),this.onerror(t)}}ondecoded(e){let{namespace:t,authPayload:i}=this._parseNamespace(e),n=this.nsps.get(t);!n&&e.type===Us.PacketType.CONNECT?this.connect(t,i):n&&e.type!==Us.PacketType.CONNECT&&e.type!==Us.PacketType.CONNECT_ERROR?process.nextTick(function(){n._onpacket(e)}):(le("invalid state (packet type: %s)",e.type),this.close())}_parseNamespace(e){if(this.conn.protocol!==3)return{namespace:e.nsp,authPayload:e.data};let t=new URL(e.nsp,"https://socket.io");return{namespace:t.pathname,authPayload:Object.fromEntries(t.searchParams.entries())}}onerror(e){for(let t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){le("client close with reason %s",e),this.destroy();for(let i of this.sockets.values())i._onclose(e,t);this.sockets.clear(),this.decoder.destroy()}destroy(){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)}};xt.Client=On});var zs=x(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.StrictEventEmitter=void 0;var Zm=require("events"),Rn=class extends Zm.EventEmitter{on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}emitReserved(e,...t){return super.emit(e,...t)}emitUntyped(e,...t){return super.emit(e,...t)}listeners(e){return super.listeners(e)}};Hs.StrictEventEmitter=Rn});var An=x(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.RESERVED_EVENTS=void 0;Ws.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Pn=x(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.RemoteSocket=vt.BroadcastOperator=void 0;var eh=An(),th=qt(),$s=class s{constructor(e,t=new Set,i=new Set,n={}){this.adapter=e,this.rooms=t,this.exceptRooms=i,this.flags=n}to(e){let t=new Set(this.rooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){let t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,this.rooms,t,this.flags)}compress(e){let t=Object.assign({},this.flags,{compress:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){let e=Object.assign({},this.flags,{volatile:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}get local(){let e=Object.assign({},this.flags,{local:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){let t=Object.assign({},this.flags,{timeout:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(eh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:th.PacketType.EVENT,data:i};if(!(typeof i[i.length-1]=="function"))return this.adapter.broadcast(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let r=i.pop(),c=!1,o=[],l=setTimeout(()=>{c=!0,r.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:o])},this.flags.timeout),p=-1,u=0,d=0,h=()=>{!c&&p===u&&o.length===d&&(clearTimeout(l),r.apply(this,[null,this.flags.expectSingleResponse?o[0]:o]))};return this.adapter.broadcastWithAck(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},m=>{d+=m,u++,h()},m=>{o.push(m),h()}),this.adapter.serverCount().then(m=>{p=m,h()}),!0}emitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.emit(e,...t)})}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(e=>e.map(t=>t.server?t:new Vs(this.adapter,t)))}socketsJoin(e){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}socketsLeave(e){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}disconnectSockets(e=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},e)}};vt.BroadcastOperator=$s;var Vs=class{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new $s(e,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(e){return this.operator.timeout(e)}emit(e,...t){return this.operator.emit(e,...t)}join(e){return this.operator.socketsJoin(e)}leave(e){return this.operator.socketsLeave(e)}disconnect(e=!1){return this.operator.disconnectSockets(e),this}};vt.RemoteSocket=Vs});var In=x(gt=>{"use strict";var yc=gt&&gt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(gt,"__esModule",{value:!0});gt.Socket=void 0;var ne=qt(),sh=yc(R()),ih=zs(),gc=yc(bi()),nh=Pn(),ah=An(),D=(0,sh.default)("socket.io:socket"),rh=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function bc(){}var jn=class extends ih.StrictEventEmitter{constructor(e,t,i,n){super(),this.nsp=e,this.client=t,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=e.server,this.adapter=e.adapter,n?(this.id=n.sid,this.pid=n.pid,n.rooms.forEach(a=>this.join(a)),this.data=n.data,n.missedPackets.forEach(a=>{this.packet({type:ne.PacketType.EVENT,data:a})}),this.recovered=!0):(t.conn.protocol===3?this.id=e.name!=="/"?e.name+"#"+t.id:t.id:this.id=gc.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=gc.default.generateId())),this.handshake=this.buildHandshake(i),this.on("error",bc)}buildHandshake(e){var t,i,n,a;return{headers:((t=this.request)===null||t===void 0?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(!((i=this.request)===null||i===void 0)&&i.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(n=this.request)===null||n===void 0?void 0:n.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:e}}emit(e,...t){if(ah.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:ne.PacketType.EVENT,data:i};if(typeof i[i.length-1]=="function"){let r=this.nsp._ids++;D("emitting packet with ack id %d",r),this.registerAckCallback(r,i.pop()),n.id=r}let a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(n,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(n),this.packet(n,a)),!0}emitWithAck(e,...t){let i=this.flags.timeout!==void 0;return new Promise((n,a)=>{t.push((r,c)=>i?r?a(r):n(c):n(r)),this.emit(e,...t)})}registerAckCallback(e,t){let i=this.flags.timeout;if(i===void 0){this.acks.set(e,t);return}let n=setTimeout(()=>{D("event with ack id %d has timed out after %d ms",e,i),this.acks.delete(e),t.call(this,new Error("operation has timed out"))},i);this.acks.set(e,(...a)=>{clearTimeout(n),t.apply(this,[null,...a])})}to(e){return this.newBroadcastOperator().to(e)}in(e){return this.newBroadcastOperator().in(e)}except(e){return this.newBroadcastOperator().except(e)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}packet(e,t={}){e.nsp=this.nsp.name,t.compress=t.compress!==!1,this.client._packet(e,t)}join(e){return D("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return D("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){D("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3?this.packet({type:ne.PacketType.CONNECT}):this.packet({type:ne.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(D("got packet %j",e),e.type){case ne.PacketType.EVENT:this.onevent(e);break;case ne.PacketType.BINARY_EVENT:this.onevent(e);break;case ne.PacketType.ACK:this.onack(e);break;case ne.PacketType.BINARY_ACK:this.onack(e);break;case ne.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(e){let t=e.data||[];if(D("emitting event %j",t),e.id!=null&&(D("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){let i=this._anyListeners.slice();for(let n of i)n.apply(this,t)}this.dispatch(t)}ack(e){let t=this,i=!1;return function(){if(i)return;let n=Array.prototype.slice.call(arguments);D("sending ack %j",n),t.packet({id:e,type:ne.PacketType.ACK,data:n}),i=!0}}onack(e){let t=this.acks.get(e.id);typeof t=="function"?(D("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):D("bad ack %s",e.id)}ondisconnect(){D("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;D("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&rh.has(e)&&(D("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",e,t)}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=bc}_error(e){this.packet({type:ne.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:ne.PacketType.DISCONNECT}),this._onclose("server namespace disconnect")),this):this}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(e){return this.flags.timeout=e,this}dispatch(e){D("dispatching an event %j",e),this.run(e,t=>{process.nextTick(()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):D("ignore packet received after disconnection")})})}use(e){return this.fns.push(e),this}run(e,t){if(!this.fns.length)return t();let i=this.fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(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(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let i of t)i.apply(this,e.data)}}newBroadcastOperator(){let e=Object.assign({},this.flags);return this.flags={},new nh.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}};gt.Socket=jn});var Bn=x(Ee=>{"use strict";var oh=Ee&&Ee.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Namespace=Ee.RESERVED_EVENTS=void 0;var wc=In(),ch=zs(),lh=oh(R()),Z=Pn(),bt=(0,lh.default)("socket.io:namespace");Ee.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var Nn=class extends ch.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this),Promise.resolve(this.adapter.init()).catch(e=>{bt("error while initializing adapter: %s",e)})}use(e){return this._fns.push(e),this}run(e,t){if(!this._fns.length)return t();let i=this._fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}to(e){return new Z.BroadcastOperator(this.adapter).to(e)}in(e){return new Z.BroadcastOperator(this.adapter).in(e)}except(e){return new Z.BroadcastOperator(this.adapter).except(e)}async _add(e,t,i){var n;bt("adding socket to nsp %s",this.name);let a=await this._createSocket(e,t);if(this._preConnectSockets.set(a.id,a),!((n=this.server.opts.connectionStateRecovery)===null||n===void 0)&&n.skipMiddlewares&&a.recovered&&e.conn.readyState==="open")return this._doConnect(a,i);this.run(a,r=>{process.nextTick(()=>{if(e.conn.readyState!=="open"){bt("next called after client was closed - ignoring socket"),a._cleanup();return}if(r)return bt("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),e.conn.protocol===3?a._error(r.data||r.message):a._error({message:r.message,data:r.data});this._doConnect(a,i)})})}async _createSocket(e,t){let i=t.pid,n=t.offset;if(this.server.opts.connectionStateRecovery&&typeof i=="string"&&typeof n=="string"){let a;try{a=await this.adapter.restoreSession(i,n)}catch(r){bt("error while restoring session: %s",r)}if(a)return bt("connection state recovered for sid %s",a.sid),new wc.Socket(this,e,t,a)}return new wc.Socket(this,e,t)}_doConnect(e,t){this._preConnectSockets.delete(e.id),this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.delete(e.id)||this._preConnectSockets.delete(e.id)}emit(e,...t){return new Z.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...t){if(Ee.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return t.unshift(e),this.adapter.serverSideEmit(t),!0}serverSideEmitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.serverSideEmit(e,...t)})}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new Z.BroadcastOperator(this.adapter).allSockets()}compress(e){return new Z.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new Z.BroadcastOperator(this.adapter).volatile}get local(){return new Z.BroadcastOperator(this.adapter).local}timeout(e){return new Z.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new Z.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new Z.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new Z.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new Z.BroadcastOperator(this.adapter).disconnectSockets(e)}};Ee.Namespace=Nn});var Cc=x(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.encode=Ln;Ft.decode=ph;Ft.yeast=uh;var Ec="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Gs=64,kc={},_c=0,Ne=0,Sc;function Ln(s){let e="";do e=Ec[s%Gs]+e,s=Math.floor(s/Gs);while(s>0);return e}function ph(s){let e=0;for(Ne=0;Ne<s.length;Ne++)e=e*Gs+kc[s.charAt(Ne)];return e}function uh(){let s=Ln(+new Date);return s!==Sc?(_c=0,Sc=s):s+"."+Ln(_c++)}for(;Ne<Gs;Ne++)kc[Ec[Ne]]=Ne});var qn=x(yt=>{"use strict";var Mn;Object.defineProperty(yt,"__esModule",{value:!0});yt.SessionAwareAdapter=yt.Adapter=void 0;var dh=require("events"),fh=Cc(),Ks=un(),mh=typeof((Mn=Ks?.Sender)===null||Mn===void 0?void 0:Mn.frame)=="function",Ys=class extends dh.EventEmitter{constructor(e){super(),this.nsp=e,this.rooms=new Map,this.sids=new Map,this.encoder=e.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(e,t){this.sids.has(e)||this.sids.set(e,new Set);for(let i of t)this.sids.get(e).add(i),this.rooms.has(i)||(this.rooms.set(i,new Set),this.emit("create-room",i)),this.rooms.get(i).has(e)||(this.rooms.get(i).add(e),this.emit("join-room",i,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){let i=this.rooms.get(e);i!=null&&(i.delete(t)&&this.emit("leave-room",e,t),i.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){let i=t.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let a=this._encode(e,n);this.apply(t,r=>{typeof r.notifyOutgoingListeners=="function"&&r.notifyOutgoingListeners(e),r.client.writeToEngine(a,n)})}broadcastWithAck(e,t,i,n){let a=t.flags||{},r={preEncoded:!0,volatile:a.volatile,compress:a.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let c=this._encode(e,r),o=0;this.apply(t,l=>{o++,l.acks.set(e.id,n),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(c,r)}),i(o)}_encode(e,t){let i=this.encoder.encode(e);if(mh&&i.length===1&&typeof i[0]=="string"){let n=Buffer.from("4"+i[0]);t.wsPreEncodedFrame=Ks.Sender.frame(n,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return i}sockets(e){let t=new Set;return this.apply({rooms:e},i=>{t.add(i.id)}),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let t=[];return this.apply(e,i=>{t.push(i)}),Promise.resolve(t)}addSockets(e,t){this.apply(e,i=>{i.join(t)})}delSockets(e,t){this.apply(e,i=>{t.forEach(n=>i.leave(n))})}disconnectSockets(e,t){this.apply(e,i=>{i.disconnect(t)})}apply(e,t){let i=e.rooms,n=this.computeExceptSids(e.except);if(i.size){let a=new Set;for(let r of i)if(this.rooms.has(r))for(let c of this.rooms.get(r)){if(a.has(c)||n.has(c))continue;let o=this.nsp.sockets.get(c);o&&(t(o),a.add(c))}}else for(let[a]of this.sids){if(n.has(a))continue;let r=this.nsp.sockets.get(a);r&&t(r)}}computeExceptSids(e){let t=new Set;if(e&&e.size>0)for(let i of e)this.rooms.has(i)&&this.rooms.get(i).forEach(n=>t.add(n));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}};yt.Adapter=Ys;var Dn=class extends Ys{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let i=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((n,a)=>{n.disconnectedAt<i&&this.sessions.delete(a)});for(let n=this.packets.length-1;n>=0;n--)if(this.packets[n].emittedAt<i){this.packets.splice(0,n+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){let i=this.sessions.get(e);if(!i)return null;if(i.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let a=this.packets.findIndex(c=>c.id===t);if(a===-1)return null;let r=[];for(let c=a+1;c<this.packets.length;c++){let o=this.packets[c];hh(i.rooms,o.opts)&&r.push(o.data)}return Promise.resolve(Object.assign(Object.assign({},i),{missedPackets:r}))}broadcast(e,t){var i;let n=e.type===2,a=e.id===void 0,r=((i=t.flags)===null||i===void 0?void 0:i.volatile)===void 0;if(n&&a&&r){let c=(0,fh.yeast)();e.data.push(c),this.packets.push({id:c,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}};yt.SessionAwareAdapter=Dn;function hh(s,e){let t=e.rooms.size===0||s.some(n=>e.rooms.has(n)),i=s.every(n=>!e.except.has(n));return t&&i}});var Tc=x(xe=>{"use strict";var xh=xe&&xe.__rest||function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};Object.defineProperty(xe,"__esModule",{value:!0});xe.ClusterAdapterWithHeartbeat=xe.ClusterAdapter=xe.MessageType=void 0;var vh=qn(),gh=R(),bh=require("crypto"),T=(0,gh.debug)("socket.io-adapter"),yh="emitter",Xs=5e3;function _t(){return(0,bh.randomBytes)(8).toString("hex")}var b;(function(s){s[s.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",s[s.HEARTBEAT=2]="HEARTBEAT",s[s.BROADCAST=3]="BROADCAST",s[s.SOCKETS_JOIN=4]="SOCKETS_JOIN",s[s.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",s[s.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",s[s.FETCH_SOCKETS=7]="FETCH_SOCKETS",s[s.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",s[s.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",s[s.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",s[s.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",s[s.BROADCAST_ACK=12]="BROADCAST_ACK",s[s.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(b||(xe.MessageType=b={}));function Ge(s){return{rooms:[...s.rooms],except:[...s.except],flags:s.flags}}function wt(s){return{rooms:new Set(s.rooms),except:new Set(s.except),flags:s.flags}}var Js=class extends vh.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=_t()}onMessage(e,t){if(e.uid===this.uid)return T("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return T("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(T("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case b.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,wt(e.data.opts),n=>{T("[%s] waiting for %d client acknowledgements",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:n}})},n=>{T("[%s] received acknowledgement with value %j",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:n}})});else{let n=e.data.packet,a=wt(e.data.opts);this.addOffsetIfNecessary(n,a,t),super.broadcast(n,a)}break}case b.SOCKETS_JOIN:super.addSockets(wt(e.data.opts),e.data.rooms);break;case b.SOCKETS_LEAVE:super.delSockets(wt(e.data.opts),e.data.rooms);break;case b.DISCONNECT_SOCKETS:super.disconnectSockets(wt(e.data.opts),e.data.close);break;case b.FETCH_SOCKETS:{T("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(wt(e.data.opts)).then(i=>{this.publishResponse(e.uid,{type:b.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:i.map(n=>{let a=n.handshake,{sessionStore:r}=a,c=xh(a,["sessionStore"]);return{id:n.id,handshake:c,rooms:[...n.rooms],data:n.data}})}})});break}case b.SERVER_SIDE_EMIT:{let i=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(i);return}let a=!1,r=c=>{a||(a=!0,T("[%s] calling acknowledgement with %j",this.uid,c),this.publishResponse(e.uid,{type:b.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:c}}))};this.nsp._onServerSideEmit([...i,r]);break}case b.BROADCAST_CLIENT_COUNT:case b.BROADCAST_ACK:case b.FETCH_SOCKETS_RESPONSE:case b.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:T("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var t,i;let n=e.data.requestId;switch(T("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case b.BROADCAST_CLIENT_COUNT:{(t=this.ackRequests.get(n))===null||t===void 0||t.clientCountCallback(e.data.clientCount);break}case b.BROADCAST_ACK:{(i=this.ackRequests.get(n))===null||i===void 0||i.ack(e.data.packet);break}case b.FETCH_SOCKETS_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,e.data.sockets.forEach(r=>a.responses.push(r)),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(n));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,a.responses.push(e.data.packet),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(n));break}default:T("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,t){var i;if(!((i=t.flags)===null||i===void 0?void 0:i.local))try{let a=await this.publishAndReturnOffset({type:b.BROADCAST,data:{packet:e,opts:Ge(t)}});this.addOffsetIfNecessary(e,t,a)}catch(a){return T("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(e,t)}addOffsetIfNecessary(e,t,i){var n;if(!this.nsp.server.opts.connectionStateRecovery)return;let a=e.type===2,r=e.id===void 0,c=((n=t.flags)===null||n===void 0?void 0:n.volatile)===void 0;a&&r&&c&&e.data.push(i)}broadcastWithAck(e,t,i,n){var a;if(!((a=t?.flags)===null||a===void 0?void 0:a.local)){let c=_t();this.ackRequests.set(c,{clientCountCallback:i,ack:n}),this.publish({type:b.BROADCAST,data:{packet:e,requestId:c,opts:Ge(t)}}),setTimeout(()=>{this.ackRequests.delete(c)},t.flags.timeout)}super.broadcastWithAck(e,t,i,n)}async addSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_JOIN,data:{opts:Ge(e),rooms:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(e,t)}async delSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_LEAVE,data:{opts:Ge(e),rooms:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(e,t)}async disconnectSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.DISCONNECT_SOCKETS,data:{opts:Ge(e),close:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(e,t)}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets(e),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=_t();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.requests.get(r);u&&(o(new Error(`timeout reached: only ${u.current} responses received out of ${u.expected}`)),this.requests.delete(r))},e.flags.timeout||Xs),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,current:0,expected:a,responses:i};this.requests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:Ge(e),requestId:r}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=await this.serverCount()-1;if(T('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=_t(),r=setTimeout(()=>{let o=this.requests.get(a);o&&(i(new Error(`timeout reached: only ${o.current} responses received out of ${o.expected}`),o.responses),this.requests.delete(a))},Xs),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,current:0,expected:n,responses:[]};this.requests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}publish(e){T("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(t=>{T("[%s] error while publishing message: %s",this.uid,t)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,t){t.uid=this.uid,t.nsp=this.nsp.name,T("[%s] sending response %s to %s",this.uid,t.type,e),this.doPublishResponse(e,t).catch(i=>{T("[%s] error while publishing response: %s",this.uid,i)})}};xe.ClusterAdapter=Js;var Fn=class extends Js{constructor(e,t){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},t),this.cleanupTimer=setInterval(()=>{let i=Date.now();this.nodesMap.forEach((n,a)=>{i-n>this._opts.heartbeatTimeout&&(T("[%s] node %s seems down",this.uid,a),this.removeNode(a))})},1e3)}init(){this.publish({type:b.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:b.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:b.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,t){if(e.uid===this.uid)return T("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==yh&&this.nodesMap.set(e.uid,Date.now()),e.type){case b.INITIAL_HEARTBEAT:this.publish({type:b.HEARTBEAT});break;case b.HEARTBEAT:break;case b.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,t)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=this.nodesMap.size;if(T('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=_t(),r=setTimeout(()=>{let o=this.customRequests.get(a);o&&(i(new Error(`timeout reached: missing ${o.missingUids.size} responses`),o.responses),this.customRequests.delete(a))},Xs),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=_t();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.customRequests.get(r);u&&(o(new Error(`timeout reached: missing ${u.missingUids.size} responses`)),this.customRequests.delete(r))},e.flags.timeout||Xs),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:i};this.customRequests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:Ge(e),requestId:r}})})}onResponse(e){let t=e.data.requestId;switch(T("[%s] received response %s to request %s",this.uid,e.type,t),e.type){case b.FETCH_SOCKETS_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;e.data.sockets.forEach(n=>i.responses.push(n)),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(i.responses),this.customRequests.delete(t));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;i.responses.push(e.data.packet),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(null,i.responses),this.customRequests.delete(t));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((t,i)=>{t.missingUids.delete(e),t.missingUids.size===0&&(clearTimeout(t.timeout),t.type===b.FETCH_SOCKETS?t.resolve(t.responses):t.type===b.SERVER_SIDE_EMIT&&t.resolve(null,t.responses),this.customRequests.delete(i))}),this.nodesMap.delete(e)}};xe.ClusterAdapterWithHeartbeat=Fn});var Qs=x(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.MessageType=ae.ClusterAdapterWithHeartbeat=ae.ClusterAdapter=ae.SessionAwareAdapter=ae.Adapter=void 0;var Oc=qn();Object.defineProperty(ae,"Adapter",{enumerable:!0,get:function(){return Oc.Adapter}});Object.defineProperty(ae,"SessionAwareAdapter",{enumerable:!0,get:function(){return Oc.SessionAwareAdapter}});var Un=Tc();Object.defineProperty(ae,"ClusterAdapter",{enumerable:!0,get:function(){return Un.ClusterAdapter}});Object.defineProperty(ae,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return Un.ClusterAdapterWithHeartbeat}});Object.defineProperty(ae,"MessageType",{enumerable:!0,get:function(){return Un.MessageType}})});var Pc=x(St=>{"use strict";var wh=St&&St.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(St,"__esModule",{value:!0});St.ParentNamespace=void 0;var Rc=Bn(),_h=Qs(),Sh=wh(R()),Ac=(0,Sh.default)("socket.io:parent-namespace"),Zs=class s extends Rc.Namespace{constructor(e){super(e,"/_"+s.count++),this.children=new Set}_initAdapter(){this.adapter=new Hn(this)}emit(e,...t){return this.children.forEach(i=>{i.emit(e,...t)}),!0}createChild(e){Ac("creating child namespace %s",e);let t=new Rc.Namespace(this.server,e);if(this._fns.forEach(i=>t.use(i)),this.listeners("connect").forEach(i=>t.on("connect",i)),this.listeners("connection").forEach(i=>t.on("connection",i)),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){let i=t._remove;t._remove=n=>{i.call(t,n),t.sockets.size===0&&(Ac("closing child namespace %s",e),t.adapter.close(),this.server._nsps.delete(t.name),this.children.delete(t))}}return this.server._nsps.set(e,t),this.server.sockets.emitReserved("new_namespace",t),t}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};St.ParentNamespace=Zs;Zs.count=0;var Hn=class extends _h.Adapter{broadcast(e,t){this.nsp.children.forEach(i=>{i.adapter.broadcast(e,t)})}}});var Mc=x(Ye=>{"use strict";var Eh=Ye&&Ye.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.patchAdapter=Ch;Ye.restoreAdapter=Th;Ye.serveFile=Rh;var Ke=Qs(),jc=require("fs"),kh=Eh(R()),ei=(0,kh.default)("socket.io:adapter-uws"),zn="",{addAll:Nc,del:Bc,broadcast:Lc}=Ke.Adapter.prototype;function Ch(s){Ke.Adapter.prototype.addAll=function(e,t){let i=!this.sids.has(e);Nc.call(this,e,t);let n=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(n){if(n.conn.transport.name==="websocket"){Ic(this.nsp.name,n,i,t);return}i&&n.conn.on("upgrade",()=>{let a=this.sids.get(e);a&&Ic(this.nsp.name,n,i,a)})}},Ke.Adapter.prototype.del=function(e,t){Bc.call(this,e,t);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i&&i.conn.transport.name==="websocket"){let n=i.conn.id,a=i.conn.transport.socket,r=`${this.nsp.name}${zn}${t}`;ei("unsubscribe connection %s from topic %s",n,r),a.unsubscribe(r)}},Ke.Adapter.prototype.broadcast=function(e,t){if(!(t.rooms.size<=1&&t.except.size===0)){Lc.call(this,e,t);return}let n=t.flags||{},a={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name;let r=this.encoder.encode(e),c=t.rooms.size===0?this.nsp.name:`${this.nsp.name}${zn}${t.rooms.keys().next().value}`;ei("fast publish to %s",c),r.forEach(o=>{let l=typeof o!="string";s.publish(c,l?o:"4"+o,l)}),this.apply(t,o=>{o.conn.transport.name!=="websocket"&&o.client.writeToEngine(r,a)})}}function Ic(s,e,t,i){let n=e.conn.id,a=e.conn.transport.socket;t&&(ei("subscribe connection %s to topic %s",n,s),a.subscribe(s)),i.forEach(r=>{let c=`${s}${zn}${r}`;ei("subscribe connection %s to topic %s",n,c),a.subscribe(c)})}function Th(){Ke.Adapter.prototype.addAll=Nc,Ke.Adapter.prototype.del=Bc,Ke.Adapter.prototype.broadcast=Lc}var Oh=s=>{let{buffer:e,byteOffset:t,byteLength:i}=s;return e.slice(t,t+i)};function Rh(s,e){let{size:t}=(0,jc.statSync)(e),i=(0,jc.createReadStream)(e),n=()=>!i.destroyed&&i.destroy(),a=c=>{throw n(),c},r=c=>{let o=Oh(c);s.cork(()=>{let l=s.getWriteOffset(),[p,u]=s.tryEnd(o,t);!u&&!p&&(i.pause(),s.onWritable(d=>{let[h,m]=s.tryEnd(o.slice(d-l),t);return!m&&h&&i.resume(),h}))})};s.onAborted(n),i.on("data",r).on("error",a).on("end",n)}});var Dc=x((og,Ah)=>{Ah.exports={name:"socket.io",version:"4.8.3",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"},"./package.json":"./package.json"},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 --import=tsx --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.4.1","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 Vc=x((q,Ut)=>{"use strict";var Ph=q&&q.__createBinding||(Object.create?(function(s,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,i,n)}):(function(s,e,t,i){i===void 0&&(i=t),s[i]=e[t]})),jh=q&&q.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),Ih=q&&q.__importStar||function(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var t in s)t!=="default"&&Object.prototype.hasOwnProperty.call(s,t)&&Ph(e,s,t);return jh(e,s),e},Vn=q&&q.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(q,"__esModule",{value:!0});q.Namespace=q.Socket=q.Server=void 0;var Nh=Vn(require("http")),Bh=require("fs"),Wn=require("zlib"),Lh=ts(),ti=require("stream"),qc=require("path"),Fc=cc(),Mh=vc(),Uc=require("events"),Gn=Bn();Object.defineProperty(q,"Namespace",{enumerable:!0,get:function(){return Gn.Namespace}});var Dh=Pc(),Hc=Qs(),qh=Ih(qt()),Fh=Vn(R()),$c=In();Object.defineProperty(q,"Socket",{enumerable:!0,get:function(){return $c.Socket}});var Uh=zs(),$n=Mc(),Hh=Vn(fn()),H=(0,Fh.default)("socket.io:server"),zc=Dc().version,Wc=/\.map/,Et=class s extends Uh.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(t.serveClient!==!1),this._parser=t.parser||qh,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||Hc.SessionAwareAdapter)):this.adapter(t.adapter||Hc.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,Hh.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,i){if(this.parentNsps.size===0)return i(!1);let n=this.parentNsps.keys(),a=()=>{let r=n.next();if(r.done)return i(!1);r.value(e,t,(c,o)=>{if(c||!o)return a();if(this._nsps.has(e))return H("dynamic namespace %s already exists",e),i(this._nsps.get(e));let l=this.parentNsps.get(r.value).createChild(e);H("dynamic namespace %s was created",e),i(l)})};a()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let t of this._nsps.values())t._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if(typeof e=="function"){let i="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(i)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){H("creating http server and binding to %d",e);let i=e;e=Nh.default.createServer((n,a)=>{a.writeHead(404),a.end()}),e.listen(i)}return Object.assign(t,this.opts),t.path=t.path||this._path,this.initEngine(e,t),this}attachApp(e,t={}){Object.assign(t,this.opts),t.path=t.path||this._path,H("creating uWebSockets.js-based engine with opts %j",t);let i=new Fc.uServer(t);i.attach(e,t),this.bind(i),this._serveClient&&e.get(`${this._path}/*`,(n,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}let r=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),c=Wc.test(r),o=c?"map":"source",l='"'+zc+'"',p="W/"+l,u=a.getHeader("if-none-match");if(u&&(l===u||p===u)){H("serve client %s 304",o),n.writeStatus("304 Not Modified"),n.end();return}H("serve client %s",o),n.writeHeader("cache-control","public, max-age=0"),n.writeHeader("content-type","application/"+(c?"json":"javascript")+"; charset=utf-8"),n.writeHeader("etag",l);let d=qc.join(__dirname,"../client-dist/",r);(0,$n.serveFile)(n,d)}),(0,$n.patchAdapter)(e)}initEngine(e,t){H("creating engine.io instance with opts %j",t),this.eio=(0,Fc.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){H("attaching client serving req handler");let t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(i,n)=>{if(this.clientPathRegex.test(i.url))this._corsMiddleware?this._corsMiddleware(i,n,()=>{this.serve(i,n)}):this.serve(i,n);else for(let a=0;a<t.length;a++)t[a].call(e,i,n)})}serve(e,t){let i=e.url.replace(this._path,"").replace(/\?.*$/,""),n=Wc.test(i),a=n?"map":"source",r='"'+zc+'"',c="W/"+r,o=e.headers["if-none-match"];if(o&&(r===o||c===o)){H("serve client %s 304",a),t.writeHead(304),t.end();return}H("serve client %s",a),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(n?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",r),s.sendFile(i,e,t)}static sendFile(e,t,i){let n=(0,Bh.createReadStream)(qc.join(__dirname,"../client-dist/",e)),a=Lh(t).encodings(["br","gzip","deflate"]),r=c=>{c&&i.end()};switch(a){case"br":i.writeHead(200,{"content-encoding":"br"}),(0,ti.pipeline)(n,(0,Wn.createBrotliCompress)(),i,r);break;case"gzip":i.writeHead(200,{"content-encoding":"gzip"}),(0,ti.pipeline)(n,(0,Wn.createGzip)(),i,r);break;case"deflate":i.writeHead(200,{"content-encoding":"deflate"}),(0,ti.pipeline)(n,(0,Wn.createDeflate)(),i,r);break;default:i.writeHead(200),(0,ti.pipeline)(n,i,r)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){H("incoming connection with id %s",e.id);let t=new Mh.Client(this,e);return e.protocol===3&&t.connect("/"),this}of(e,t){if(typeof e=="function"||e instanceof RegExp){let n=new Dh.ParentNamespace(this);return H("initializing parent namespace %s",n.name),typeof e=="function"?this.parentNsps.set(e,n):(this.parentNsps.set((a,r,c)=>c(null,e.test(a)),n),this.parentNamespacesFromRegExp.set(e,n)),t&&n.on("connect",t),n}String(e)[0]!=="/"&&(e="/"+e);let i=this._nsps.get(e);if(!i){for(let[n,a]of this.parentNamespacesFromRegExp)if(n.test(e))return H("attaching namespace %s to parent namespace %s",e,n),a.createChild(e);H("initializing namespace %s",e),i=new Gn.Namespace(this,e),this._nsps.set(e,i),e!=="/"&&this.sockets.emitReserved("new_namespace",i)}return t&&i.on("connect",t),i}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async t=>{t.sockets.forEach(i=>{i._onclose("server shutting down")}),await t.adapter.close()})),this.engine.close(),(0,$n.restoreAdapter)(),this.httpServer)return new Promise(t=>{this.httpServer.close(i=>{e&&e(i),i&&H("server was not running"),t()})});e&&e()}use(e){return this.sockets.use(e),this}to(e){return this.sockets.to(e)}in(e){return this.sockets.in(e)}except(e){return this.sockets.except(e)}send(...e){return this.sockets.emit("message",...e),this}write(...e){return this.sockets.emit("message",...e),this}serverSideEmit(e,...t){return this.sockets.serverSideEmit(e,...t)}serverSideEmitWithAck(e,...t){return this.sockets.serverSideEmitWithAck(e,...t)}allSockets(){return this.sockets.allSockets()}compress(e){return this.sockets.compress(e)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(e){return this.sockets.timeout(e)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(e){return this.sockets.socketsJoin(e)}socketsLeave(e){return this.sockets.socketsLeave(e)}disconnectSockets(e=!1){return this.sockets.disconnectSockets(e)}};q.Server=Et;var zh=Object.keys(Uc.EventEmitter.prototype).filter(function(s){return typeof Uc.EventEmitter.prototype[s]=="function"});zh.forEach(function(s){Et.prototype[s]=function(){return this.sockets[s].apply(this.sockets,arguments)}});Ut.exports=(s,e)=>new Et(s,e);Ut.exports.Server=Et;Ut.exports.Namespace=Gn.Namespace;Ut.exports.Socket=$c.Socket});var Xc={};De(Xc,{TileManager:()=>Kn});var si,kt,ii,Yc,Wh,$h,Kn,Jc=Me(()=>{si=M(require("sharp"),1),kt=M(require("fs"),1),ii=M(require("path"),1),Yc=require("url"),Wh=(0,Yc.fileURLToPath)(__importMetaUrl),$h=ii.default.dirname(Wh),Kn=class{constructor(e){this.robot=e,this.tileSize=100,this.lastTileChecksums=new Map,this.screenWidth=0,this.screenHeight=0,this.tilesPerRow=0,this.tilesPerColumn=0,this.totalTiles=0,this.frameCount=0,this.tempDir=ii.default.join($h,"../../temp"),this.compressionQuality=1,this.changeThreshold=1,this.scaleFactor=.99,this.scaledWidth=0,this.scaledHeight=0,this.isProcessing=!1,this.sharedScreenCache=null,this.lastCaptureTime=0,this.CACHE_TTL=100,this.dpiScale=1,this.captureWidth=0,this.captureHeight=0,kt.default.existsSync(this.tempDir)||kt.default.mkdirSync(this.tempDir,{recursive:!0}),this.initializeScreenDimensions()}initializeScreenDimensions(){try{let{width:e,height:t}=this.robot.getScreenSize();this.screenWidth=e,this.screenHeight=t,this.detectDpiScale(),this.scaledWidth=Math.floor(e*this.scaleFactor),this.scaledHeight=Math.floor(t*this.scaleFactor),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn;let i=100;if(this.totalTiles>i){let n=Math.ceil(Math.sqrt(this.scaledWidth*this.scaledHeight/i));this.tileSize=Math.max(n,120),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}console.log(`\u{1F5A5}\uFE0F TileManager: ${e}x${t} (DPI ${this.dpiScale}x) -> ${this.totalTiles} tiles`)}catch(e){console.error("Screen dimensions error:",e),this.screenWidth=1920,this.screenHeight=1080,this.dpiScale=1,this.captureWidth=1920,this.captureHeight=1080,this.scaledWidth=1728,this.scaledHeight=972,this.tileSize=120,this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}}detectDpiScale(){if(process.platform==="darwin"){let e=this.robot.screen.capture(0,0,1,1);this.dpiScale=e.byteWidth/e.bytesPerPixel}else{let e=Math.min(this.screenWidth*2,4096),t=Math.min(this.screenHeight*2,4096),i=this.robot.screen.capture(0,0,e,t),n=i.byteWidth/i.bytesPerPixel;n>this.screenWidth?this.dpiScale=n/this.screenWidth:this.dpiScale=1}this.captureWidth=Math.floor(this.screenWidth*this.dpiScale),this.captureHeight=Math.floor(this.screenHeight*this.dpiScale)}async captureFullScreen(){let e=this.robot.screen.capture(0,0,this.captureWidth,this.captureHeight),t=Buffer.from(e.image);for(let o=0;o<t.length;o+=4){let l=t[o],p=t[o+2];t[o]=p,t[o+2]=l}let i=e.byteWidth/e.bytesPerPixel,n=e.height,a=t,r=i,c=n;if(this.dpiScale>1||this.scaleFactor<1){let o=Math.floor(this.screenWidth*this.scaleFactor),l=Math.floor(this.screenHeight*this.scaleFactor);a=await(0,si.default)(t,{raw:{width:i,height:n,channels:e.bytesPerPixel}}).resize(o,l,{kernel:si.default.kernel.nearest,fit:"fill"}).raw().toBuffer(),r=o,c=l}return{buffer:a,width:r,height:c,channels:e.bytesPerPixel}}async getSharedScreenCapture(){let e=Date.now();return this.sharedScreenCache&&e-this.lastCaptureTime<this.CACHE_TTL?this.sharedScreenCache:(this.sharedScreenCache=await this.captureFullScreen(),this.lastCaptureTime=e,this.sharedScreenCache)}clearScreenCache(){}async detectChangedTiles(){if(this.isProcessing)return[];this.isProcessing=!0;try{let e=await this.getSharedScreenCapture(),t=[],i=[];this.frameCount++;let n=[];for(let r=0;r<this.totalTiles;r++)n[r]=this.extractTile(e,r);if(this.lastTileChecksums.size===0){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);return t.push(...c),t}for(let r=0;r<this.totalTiles;r++){let c=this.calculateTileChecksum(n[r].buffer),o=this.lastTileChecksums.get(r);c!==o&&(i.push(r),this.lastTileChecksums.set(r,c))}if(i.length/this.totalTiles>this.changeThreshold){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);t.push(...c.map(o=>({...o,fullRefresh:!0})))}else if(i.length>0){let r=i.map(o=>this.processTileAsync(e,o,n[o])),c=await Promise.all(r);t.push(...c)}return t}finally{this.isProcessing=!1}}async processTileAsync(e,t,i=null){let n=i||this.extractTile(e,t),a=this.calculateTileChecksum(n.buffer);this.lastTileChecksums.set(t,a);let r=await this.compressTileImage(n.buffer,n.width,n.height),{row:c,col:o}=this.getTilePosition(t);return{type:"tile-update",tileIndex:t,x:o*this.tileSize,y:c*this.tileSize,width:n.width,height:n.height,imageBase64:r,size:Math.round(r.length*.75/1024),timestamp:Date.now(),frameCount:this.frameCount}}calculateTileChecksum(e){let t=0;for(let i=0;i<e.length;i+=64)t+=e[i]||0,t^=e[i+1]||0,t+=(e[i+2]||0)<<1,t^=(e[i+3]||0)<<2;return t>>>0}getTilePosition(e){return{row:Math.floor(e/this.tilesPerRow),col:e%this.tilesPerRow}}extractTile(e,t){let{row:i,col:n}=this.getTilePosition(t),a=n*this.tileSize,r=i*this.tileSize,c=Math.min(a+this.tileSize,e.width),o=Math.min(r+this.tileSize,e.height),l=c-a,p=o-r,u=e.channels,d=l*u,h=Buffer.alloc(l*p*u);for(let m=0;m<p;m++){let f=((r+m)*e.width+a)*u,v=m*d;e.buffer.copy(h,v,f,f+d)}return{buffer:h,width:l,height:p,channels:u,tileIndex:t,x:a,y:r}}async compressTileImage(e,t,i){return`data:image/webp;base64,${(await(0,si.default)(e,{raw:{width:t,height:i,channels:4}}).webp({quality:85,effort:2,smartSubsample:!0}).toBuffer()).toString("base64")}`}async getScreenDimensions(){try{let e=await this.captureFullScreen();this.scaledWidth=e.width,this.scaledHeight=e.height,this.tilesPerRow=Math.ceil(e.width/this.tileSize),this.tilesPerColumn=Math.ceil(e.height/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}catch(e){console.error("Error getting dimensions:",e)}return{width:this.scaledWidth,height:this.scaledHeight,tileWidth:this.tileSize,tileHeight:this.tileSize,tileCount:this.totalTiles,scaleFactor:this.scaleFactor,originalWidth:this.screenWidth,originalHeight:this.screenHeight}}async compareClientTileHashes(e){if(this.isProcessing)return{tiles:[],currentHashes:[],changedIndices:[]};this.isProcessing=!0;try{let t=await this.getSharedScreenCapture(),i=[],n=[];this.frameCount++;let a=[],r=new Map;for(let o=0;o<this.totalTiles;o++){a[o]=this.extractTile(t,o);let l=this.calculateTileChecksum(a[o].buffer);r.set(o,l),this.lastTileChecksums.set(o,l)}if(!e||e.length===0){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);return i.push(...l),{tiles:i,currentHashes:Array.from(r.values())}}for(let o=0;o<this.totalTiles;o++)e[o]!==r.get(o)&&n.push(o);if(n.length/this.totalTiles>this.changeThreshold){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);i.push(...l.map(p=>({...p,fullRefresh:!0})))}else if(n.length>0){let o=n.map(p=>this.processTileAsync(t,p,a[p])),l=await Promise.all(o);i.push(...l)}return{tiles:i,currentHashes:Array.from(r.values()),changedIndices:n}}finally{this.isProcessing=!1}}reset(){this.lastTileChecksums.clear(),this.frameCount=0}cleanup(){try{kt.default.existsSync(this.tempDir)&&kt.default.readdirSync(this.tempDir).forEach(t=>kt.default.unlinkSync(ii.default.join(this.tempDir,t)))}catch(e){console.warn("Cleanup error:",e)}}}});var K,Ht=Me(()=>{K={robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},resourceManagement:{inactiveTimeout:12e4,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50},streaming:{autoStreamingInterval:100,chunkSize:32,chunkDelay:5,updateDelayAfterAction:200}}});var Qc={};De(Qc,{ResourceManager:()=>Yn});var Yn,Zc=Me(()=>{Ht();Yn=class{constructor(){this.activeClients=new Map,this.activeTimers=new Map,this.chunkTimers=new Map,this.memoryCheckInterval=null}startResourceMonitoring(){this.memoryCheckInterval=setInterval(()=>{let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024);t>K.resourceManagement.memoryWarningThreshold&&(console.warn(`\u26A0\uFE0F High memory: ${t}MB`),this.cleanupInactiveClients())},K.resourceManagement.memoryCheckInterval)}stopResourceMonitoring(){this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null)}addClient(e,t){this.activeClients.set(e,{...t,lastActivity:Date.now()})}getClient(e){return this.activeClients.get(e)}updateClientActivity(e){let t=this.activeClients.get(e);t&&(t.lastActivity=Date.now())}cleanupInactiveClients(){let e=Date.now(),t=K.resourceManagement.inactiveTimeout;for(let[i,n]of this.activeClients.entries())e-n.lastActivity>t&&(console.log(`\u{1F9F9} Cleaning inactive client: ${i}`),this.cleanupClientResources(i,n),this.activeClients.delete(i))}cleanupClientResources(e,t){try{t?.screenInterval&&(clearInterval(t.screenInterval),t.screenInterval=null);let i=this.activeTimers.get(e);i&&(i.forEach(a=>clearTimeout(a)),this.activeTimers.delete(e));let n=this.chunkTimers.get(e);n&&(n.forEach(a=>clearTimeout(a)),this.chunkTimers.delete(e)),t?.tileManager&&(t.tileManager.cleanup(),t.tileManager.reset())}catch(i){console.error(`Error cleaning up ${e}:`,i.message)}}removeClient(e){let t=this.activeClients.get(e);t&&(this.cleanupClientResources(e,t),this.activeClients.delete(e))}getChunkTimers(e){return this.chunkTimers.has(e)||this.chunkTimers.set(e,new Set),this.chunkTimers.get(e)}cleanupAll(){this.stopResourceMonitoring();for(let[e,t]of this.activeClients.entries())this.cleanupClientResources(e,t);this.activeClients.clear(),this.activeTimers.clear(),this.chunkTimers.clear()}}});var el={};De(el,{ScreenUpdateHelper:()=>Xn});var Xn,tl=Me(()=>{Ht();Xn=class{constructor(e){this.resourceManager=e}async sendTilesInChunks(e,t,i,n=!1){if(!t||t.length===0)return;let a=K.streaming.chunkSize,r=[];for(let o=0;o<t.length;o+=a)r.push(t.slice(o,o+a));let c=this.resourceManager.getChunkTimers(e.id);for(let o=0;o<r.length;o++){let l=r[o],p=o===r.length-1,u=setTimeout(()=>{c.delete(u),e.connected&&e.emit("tiles-data",{tiles:l,timestamp:i,forceRefresh:!1,userAction:n,chunkInfo:{chunkIndex:o,totalChunks:r.length,isLastChunk:p}})},o*K.streaming.chunkDelay);c.add(u)}}}});var sl={};De(sl,{MouseHandler:()=>Jn});var Jn,il=Me(()=>{Ht();Jn=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastMouseMove=0}setupMouseHandlers(e,t){let i=this.robot;e.on("mouse-move",t(n=>{let a=Date.now();if(!(a-this.lastMouseMove<K.throttling.mouseThrottle)){this.lastMouseMove=a;try{i.moveMouse(n.x,n.y),this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Mouse move error:",r.message)}}})),e.on("mouse-click",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseClick(n.button||"left",n.double||!1),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse click error:",a.message)}})),e.on("mouse-press",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("down",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse press error:",a.message)}})),e.on("mouse-release",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("up",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse release error:",a.message)}})),e.on("scroll",t(async n=>{try{let{direction:a,amount:r=60,horizontal:c=!1}=n;if(!this.resourceManager.getClient(e.id))return;let l=0,p=0;c||a==="left"||a==="right"?l=a==="right"?r:-r:p=a==="down"?-r:r,i.scrollMouse(l,p),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Scroll error:",a.message)}})),e.on("mouse-drag-select",t(n=>{try{let{startX:a,startY:r,endX:c,endY:o}=n,l=i.getScreenSize(),p=Math.round(a/100*l.width),u=Math.round(r/100*l.height),d=Math.round(c/100*l.width),h=Math.round(o/100*l.height),m=Math.max(0,Math.min(l.width-1,p)),f=Math.max(0,Math.min(l.height-1,u)),v=Math.max(0,Math.min(l.width-1,d)),y=Math.max(0,Math.min(l.height-1,h));i.moveMouse(m,f),i.mouseToggle("down","left"),i.dragMouse(v,y),i.mouseToggle("up","left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Drag selection error:",a.message)}}))}}});var nl={};De(nl,{KeyboardHandler:()=>Qn});var Qn,al=Me(()=>{Ht();Qn=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastKeyPress=0,this.lastTypeText=0}setupKeyboardHandlers(e,t){let i=this.robot;e.on("key-press",t(n=>{let a=Date.now();if(!(a-this.lastKeyPress<K.throttling.keyThrottle)){this.lastKeyPress=a;try{if(!n.key||typeof n.key!="string")return;let r=n.key;if(r.length===1){i.keyTap(r,n.modifier||[]);for(let c of n.modifier||[])i.keyToggle(c,"up")}else switch(r.toLowerCase()){case"enter":case"return":i.keyTap("enter");break;case"space":i.keyTap(" ");break;case"backspace":i.keyTap("backspace");break;case"tab":i.keyTap("tab");break;case"escape":i.keyTap("escape");break;default:i.keyTap(r,n.modifier||[])}this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Key press error:",r.message)}}})),e.on("type-text",t(n=>{let a=Date.now();if(!(a-this.lastTypeText<K.throttling.typeTextThrottle)){this.lastTypeText=a;try{if(!n.text||typeof n.text!="string")return;let r=n.text;r.length>K.throttling.maxTextLength&&(r=r.substring(0,K.throttling.maxTextLength));let c=r.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");setTimeout(()=>{try{i.typeString(c),this.resourceManager.updateClientActivity(e.id);let o=this.resourceManager.getClient(e.id);o?.tileManager&&o.tileManager.clearScreenCache()}catch(o){console.error("Robot typeString error:",o.message)}},10)}catch(r){console.error("Type text error:",r.message)}}}))}}});var rl={};De(rl,{ScreenHandler:()=>Zn});var Zn,ol=Me(()=>{Zn=class{constructor(e,t){this.resourceManager=e,this.screenUpdateHelper=t}setupScreenHandlers(e,t){e.on("request-screen",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.detectChangedTiles();n.length>0&&e.emit("tiles-data",{tiles:n,timestamp:Date.now()}),this.resourceManager.updateClientActivity(e.id)}catch(n){console.error("Tile capture error:",n),e.emit("screen-error",{error:n.message})}})),e.on("request-screen-with-hashes",t(async i=>{let n=this.resourceManager.getClient(e.id);if(n)try{let a=i.tileHashes||[],r=await n.tileManager.compareClientTileHashes(a);r?.tiles?.length>0?e.emit("tiles-data",{tiles:r.tiles,timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:r.changedIndices}):e.emit("tiles-data",{tiles:[],timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:[]}),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Tile capture with hashes error:",a),e.emit("screen-error",{error:a.message})}})),e.on("start-streaming",t(()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u{1F680} Remote streaming started"),i.screenInterval=setInterval(async()=>{try{let n=await i.tileManager.detectChangedTiles();if(n.length>0){let a=Date.now();await this.screenUpdateHelper.sendTilesInChunks(e,n,a,!1)}}catch(n){console.error("Auto streaming error:",n)}},400))})),e.on("stop-streaming",()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u23F9\uFE0F Remote streaming stopped"))}),e.on("get-screen-dimensions",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.getScreenDimensions();e.emit("screen-dimensions",n)}catch(n){console.error("Get dimensions error:",n),e.emit("screen-error",{error:n.message})}}))}}});var Nl=x((Ig,sa)=>{"use strict";var rx=Object.prototype.hasOwnProperty,z="~";function Vt(){}Object.create&&(Vt.prototype=Object.create(null),new Vt().__proto__||(z=!1));function ox(s,e,t){this.fn=s,this.context=e,this.once=t||!1}function Il(s,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var a=new ox(t,i||s,n),r=z?z+e:e;return s._events[r]?s._events[r].fn?s._events[r]=[s._events[r],a]:s._events[r].push(a):(s._events[r]=a,s._eventsCount++),s}function li(s,e){--s._eventsCount===0?s._events=new Vt:delete s._events[e]}function F(){this._events=new Vt,this._eventsCount=0}F.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)rx.call(t,i)&&e.push(z?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};F.prototype.listeners=function(e){var t=z?z+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,a=i.length,r=new Array(a);n<a;n++)r[n]=i[n].fn;return r};F.prototype.listenerCount=function(e){var t=z?z+e:e,i=this._events[t];return i?i.fn?1:i.length:0};F.prototype.emit=function(e,t,i,n,a,r){var c=z?z+e:e;if(!this._events[c])return!1;var o=this._events[c],l=arguments.length,p,u;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),l){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,t),!0;case 3:return o.fn.call(o.context,t,i),!0;case 4:return o.fn.call(o.context,t,i,n),!0;case 5:return o.fn.call(o.context,t,i,n,a),!0;case 6:return o.fn.call(o.context,t,i,n,a,r),!0}for(u=1,p=new Array(l-1);u<l;u++)p[u-1]=arguments[u];o.fn.apply(o.context,p)}else{var d=o.length,h;for(u=0;u<d;u++)switch(o[u].once&&this.removeListener(e,o[u].fn,void 0,!0),l){case 1:o[u].fn.call(o[u].context);break;case 2:o[u].fn.call(o[u].context,t);break;case 3:o[u].fn.call(o[u].context,t,i);break;case 4:o[u].fn.call(o[u].context,t,i,n);break;default:if(!p)for(h=1,p=new Array(l-1);h<l;h++)p[h-1]=arguments[h];o[u].fn.apply(o[u].context,p)}}return!0};F.prototype.on=function(e,t,i){return Il(this,e,t,i,!1)};F.prototype.once=function(e,t,i){return Il(this,e,t,i,!0)};F.prototype.removeListener=function(e,t,i,n){var a=z?z+e:e;if(!this._events[a])return this;if(!t)return li(this,a),this;var r=this._events[a];if(r.fn)r.fn===t&&(!n||r.once)&&(!i||r.context===i)&&li(this,a);else{for(var c=0,o=[],l=r.length;c<l;c++)(r[c].fn!==t||n&&!r[c].once||i&&r[c].context!==i)&&o.push(r[c]);o.length?this._events[a]=o.length===1?o[0]:o:li(this,a)}return this};F.prototype.removeAllListeners=function(e){var t;return e?(t=z?z+e:e,this._events[t]&&li(this,t)):(this._events=new Vt,this._eventsCount=0),this};F.prototype.off=F.prototype.removeListener;F.prototype.addListener=F.prototype.on;F.prefixed=z;F.EventEmitter=F;typeof sa<"u"&&(sa.exports=F)});var Ll=x((Ng,Bl)=>{"use strict";Bl.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var pi=x(Dl=>{var Ce=Dl,cx=require("url"),Ml=require("util")._extend,lx=Ll(),px=/(^|,)\s*upgrade\s*($|,)/i,ia=/^https|wss/;Ce.isSSL=ia;Ce.setupOutgoing=function(s,e,t,i){s.port=e[i||"target"].port||(ia.test(e[i||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(c){s[c]=e[i||"target"][c]}),s.method=e.method||t.method,s.headers=Ml({},t.headers),e.headers&&Ml(s.headers,e.headers),e.auth&&(s.auth=e.auth),e.ca&&(s.ca=e.ca),ia.test(e[i||"target"].protocol)&&(s.rejectUnauthorized=typeof e.secure>"u"?!0:e.secure),s.agent=e.agent||!1,s.localAddress=e.localAddress,s.agent||(s.headers=s.headers||{},(typeof s.headers.connection!="string"||!px.test(s.headers.connection))&&(s.headers.connection="close"));var n=e[i||"target"],a=n&&e.prependPath!==!1&&n.path||"",r=e.toProxy?t.url:cx.parse(t.url).path||"";return r=e.ignorePath?"":r,s.path=Ce.urlJoin(a,r),e.changeOrigin&&(s.headers.host=lx(s.port,e[i||"target"].protocol)&&!ux(s.host)?s.host+":"+s.port:s.host),s};Ce.setupSocket=function(s){return s.setTimeout(0),s.setNoDelay(!0),s.setKeepAlive(!0,0),s};Ce.getPort=function(s){var e=s.headers.host?s.headers.host.match(/:(\d+)/):"";return e?e[1]:Ce.hasEncryptedConnection(s)?"443":"80"};Ce.hasEncryptedConnection=function(s){return!!(s.connection.encrypted||s.connection.pair)};Ce.urlJoin=function(){var s=Array.prototype.slice.call(arguments),e=s.length-1,t=s[e],i=t.split("?"),n;return s[e]=i.shift(),n=[s.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],n.push.apply(n,i),n.join("?")};Ce.rewriteCookieProperty=function s(e,t,i){return Array.isArray(e)?e.map(function(n){return s(n,t,i)}):e.replace(new RegExp("(;\\s*"+i+"=)([^;]+)","i"),function(n,a,r){var c;if(r in t)c=t[r];else if("*"in t)c=t["*"];else return n;return c?a+c:""})};function ux(s){return!!~s.indexOf(":")}});var Hl=x((Lg,Ul)=>{var ql=require("url"),Fl=pi(),dx=/^201|30(1|2|7|8)$/;Ul.exports={removeChunked:function(e,t,i){e.httpVersion==="1.0"&&delete i.headers["transfer-encoding"]},setConnection:function(e,t,i){e.httpVersion==="1.0"?i.headers.connection=e.headers.connection||"close":e.httpVersion!=="2.0"&&!i.headers.connection&&(i.headers.connection=e.headers.connection||"keep-alive")},setRedirectHostRewrite:function(e,t,i,n){if((n.hostRewrite||n.autoRewrite||n.protocolRewrite)&&i.headers.location&&dx.test(i.statusCode)){var a=ql.parse(n.target),r=ql.parse(i.headers.location);if(a.host!=r.host)return;n.hostRewrite?r.host=n.hostRewrite:n.autoRewrite&&(r.host=e.headers.host),n.protocolRewrite&&(r.protocol=n.protocolRewrite),i.headers.location=r.format()}},writeHeaders:function(e,t,i,n){var a=n.cookieDomainRewrite,r=n.cookiePathRewrite,c=n.preserveHeaderKeyCase,o,l=function(d,h){h!=null&&(a&&d.toLowerCase()==="set-cookie"&&(h=Fl.rewriteCookieProperty(h,a,"domain")),r&&d.toLowerCase()==="set-cookie"&&(h=Fl.rewriteCookieProperty(h,r,"path")),t.setHeader(String(d).trim(),h))};if(typeof a=="string"&&(a={"*":a}),typeof r=="string"&&(r={"*":r}),c&&i.rawHeaders!=null){o={};for(var p=0;p<i.rawHeaders.length;p+=2){var u=i.rawHeaders[p];o[u.toLowerCase()]=u}}Object.keys(i.headers).forEach(function(d){var h=i.headers[d];c&&o&&(d=o[d]||d),l(d,h)})},writeStatusCode:function(e,t,i){i.statusMessage?(t.statusCode=i.statusCode,t.statusMessage=i.statusMessage):t.statusCode=i.statusCode}}});var Wl=x((Mg,zl)=>{var Gt;zl.exports=function(){if(!Gt){try{Gt=R()("follow-redirects")}catch{}typeof Gt!="function"&&(Gt=function(){})}Gt.apply(null,arguments)}});var Yl=x((Dg,ha)=>{var Yt=require("url"),Kt=Yt.URL,fx=require("http"),mx=require("https"),ca=require("stream").Writable,la=require("assert"),$l=Wl();(function(){var e=typeof process<"u",t=typeof window<"u"&&typeof document<"u",i=Je(Error.captureStackTrace);!e&&(t||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var pa=!1;try{la(new Kt(""))}catch(s){pa=s.code==="ERR_INVALID_URL"}var hx=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],ua=["abort","aborted","connect","error","socket","timeout"],da=Object.create(null);ua.forEach(function(s){da[s]=function(e,t,i){this._redirectable.emit(s,e,t,i)}});var aa=Xt("ERR_INVALID_URL","Invalid URL",TypeError),ra=Xt("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),xx=Xt("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",ra),vx=Xt("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),gx=Xt("ERR_STREAM_WRITE_AFTER_END","write after end"),bx=ca.prototype.destroy||Gl;function Y(s,e){ca.call(this),this._sanitizeOptions(s),this._options=s,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){try{t._processResponse(i)}catch(n){t.emit("error",n instanceof ra?n:new ra({cause:n}))}},this._performRequest()}Y.prototype=Object.create(ca.prototype);Y.prototype.abort=function(){ma(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Y.prototype.destroy=function(s){return ma(this._currentRequest,s),bx.call(this,s),this};Y.prototype.write=function(s,e,t){if(this._ending)throw new gx;if(!Xe(s)&&!_x(s))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Je(e)&&(t=e,e=null),s.length===0){t&&t();return}this._requestBodyLength+s.length<=this._options.maxBodyLength?(this._requestBodyLength+=s.length,this._requestBodyBuffers.push({data:s,encoding:e}),this._currentRequest.write(s,e,t)):(this.emit("error",new vx),this.abort())};Y.prototype.end=function(s,e,t){if(Je(s)?(t=s,s=e=null):Je(e)&&(t=e,e=null),!s)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(s,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};Y.prototype.setHeader=function(s,e){this._options.headers[s]=e,this._currentRequest.setHeader(s,e)};Y.prototype.removeHeader=function(s){delete this._options.headers[s],this._currentRequest.removeHeader(s)};Y.prototype.setTimeout=function(s,e){var t=this;function i(r){r.setTimeout(s),r.removeListener("timeout",r.destroy),r.addListener("timeout",r.destroy)}function n(r){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),a()},s),i(r)}function a(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",a),t.removeListener("error",a),t.removeListener("response",a),t.removeListener("close",a),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",n)}return e&&this.on("timeout",e),this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(s){Y.prototype[s]=function(e,t){return this._currentRequest[s](e,t)}});["aborted","connection","socket"].forEach(function(s){Object.defineProperty(Y.prototype,s,{get:function(){return this._currentRequest[s]}})});Y.prototype._sanitizeOptions=function(s){if(s.headers||(s.headers={}),s.host&&(s.hostname||(s.hostname=s.host),delete s.host),!s.pathname&&s.path){var e=s.path.indexOf("?");e<0?s.pathname=s.path:(s.pathname=s.path.substring(0,e),s.search=s.path.substring(e))}};Y.prototype._performRequest=function(){var s=this._options.protocol,e=this._options.nativeProtocols[s];if(!e)throw new TypeError("Unsupported protocol "+s);if(this._options.agents){var t=s.slice(0,-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);i._redirectable=this;for(var n of ua)i.on(n,da[n]);if(this._currentUrl=/^\//.test(this._options.path)?Yt.format(this._options):this._options.path,this._isRedirect){var a=0,r=this,c=this._requestBodyBuffers;(function o(l){if(i===r._currentRequest)if(l)r.emit("error",l);else if(a<c.length){var p=c[a++];i.finished||i.write(p.data,p.encoding,o)}else r._ended&&i.end()})()}};Y.prototype._processResponse=function(s){var e=s.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:s.headers,statusCode:e});var t=s.headers.location;if(!t||this._options.followRedirects===!1||e<300||e>=400){s.responseUrl=this._currentUrl,s.redirects=this._redirects,this.emit("response",s),this._requestBodyBuffers=[];return}if(ma(this._currentRequest),s.destroy(),++this._redirectCount>this._options.maxRedirects)throw new xx;var i,n=this._options.beforeRedirect;n&&(i=Object.assign({Host:s.req.getHeader("host")},this._options.headers));var a=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],na(/^content-/i,this._options.headers));var r=na(/^host$/i,this._options.headers),c=fa(this._currentUrl),o=r||c.host,l=/^\w+:/.test(t)?this._currentUrl:Yt.format(Object.assign(c,{host:o})),p=yx(t,l);if($l("redirecting to",p.href),this._isRedirect=!0,oa(p,this._options),(p.protocol!==c.protocol&&p.protocol!=="https:"||p.host!==o&&!wx(p.host,o))&&na(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Je(n)){var u={headers:s.headers,statusCode:e},d={url:l,method:a,headers:i};n(this._options,u,d),this._sanitizeOptions(this._options)}this._performRequest()};function Vl(s){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(s).forEach(function(i){var n=i+":",a=t[n]=s[i],r=e[i]=Object.create(a);function c(l,p,u){return Sx(l)?l=oa(l):Xe(l)?l=oa(fa(l)):(u=p,p=Kl(l),l={protocol:n}),Je(p)&&(u=p,p=null),p=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,p),p.nativeProtocols=t,!Xe(p.host)&&!Xe(p.hostname)&&(p.hostname="::1"),la.equal(p.protocol,n,"protocol mismatch"),$l("options",p),new Y(p,u)}function o(l,p,u){var d=r.request(l,p,u);return d.end(),d}Object.defineProperties(r,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),e}function Gl(){}function fa(s){var e;if(pa)e=new Kt(s);else if(e=Kl(Yt.parse(s)),!Xe(e.protocol))throw new aa({input:s});return e}function yx(s,e){return pa?new Kt(s,e):fa(Yt.resolve(e,s))}function Kl(s){if(/^\[/.test(s.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(s.hostname))throw new aa({input:s.href||s});if(/^\[/.test(s.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(s.host))throw new aa({input:s.href||s});return s}function oa(s,e){var t=e||{};for(var i of hx)t[i]=s[i];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function na(s,e){var t;for(var i in e)s.test(i)&&(t=e[i],delete e[i]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Xt(s,e,t){function i(n){Je(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,n||{}),this.code=s,this.message=this.cause?e+": "+this.cause.message:e}return i.prototype=new(t||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+s+"]",enumerable:!1}}),i}function ma(s,e){for(var t of ua)s.removeListener(t,da[t]);s.on("error",Gl),s.destroy(e)}function wx(s,e){la(Xe(s)&&Xe(e));var t=s.length-e.length-1;return t>0&&s[t]==="."&&s.endsWith(e)}function Xe(s){return typeof s=="string"||s instanceof String}function Je(s){return typeof s=="function"}function _x(s){return typeof s=="object"&&"length"in s}function Sx(s){return Kt&&s instanceof Kt}ha.exports=Vl({http:fx,https:mx});ha.exports.wrap=Vl});var Jl=x((qg,Xl)=>{var Ex=require("http"),kx=require("https"),Jt=Hl(),ui=pi(),Cx=Yl();Jt=Object.keys(Jt).map(function(s){return Jt[s]});var Tx={http:Ex,https:kx};Xl.exports={deleteLength:function(e,t,i){(e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&(e.headers["content-length"]="0",delete e.headers["transfer-encoding"])},timeout:function(e,t,i){i.timeout&&e.socket.setTimeout(i.timeout)},XHeaders:function(e,t,i){if(i.xfwd){var n=e.isSpdy||ui.hasEncryptedConnection(e),a={for:e.connection.remoteAddress||e.socket.remoteAddress,port:ui.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(r){e.headers["x-forwarded-"+r]=(e.headers["x-forwarded-"+r]||"")+(e.headers["x-forwarded-"+r]?",":"")+a[r]}),e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers.host||""}},stream:function(e,t,i,n,a,r){a.emit("start",e,t,i.target||i.forward);var c=i.followRedirects?Cx:Tx,o=c.http,l=c.https;if(i.forward){var p=(i.forward.protocol==="https:"?l:o).request(ui.setupOutgoing(i.ssl||{},i,e,"forward")),u=m(p,i.forward);if(e.on("error",u),p.on("error",u),(i.buffer||e).pipe(p),!i.target)return t.end()}var d=(i.target.protocol==="https:"?l:o).request(ui.setupOutgoing(i.ssl||{},i,e));d.on("socket",function(f){a&&!d.getHeader("expect")&&a.emit("proxyReq",d,e,t,i)}),i.proxyTimeout&&d.setTimeout(i.proxyTimeout,function(){d.abort()}),e.on("aborted",function(){d.abort()});var h=m(d,i.target);e.on("error",h),d.on("error",h);function m(f,v){return function(g){if(e.socket.destroyed&&g.code==="ECONNRESET")return a.emit("econnreset",g,e,t,v),f.abort();r?r(g,e,t,v):a.emit("error",g,e,t,v)}}(i.buffer||e).pipe(d),d.on("response",function(f){if(a&&a.emit("proxyRes",f,e,t),!t.headersSent&&!i.selfHandleResponse)for(var v=0;v<Jt.length&&!Jt[v](e,t,f,i);v++);t.finished?a&&a.emit("end",e,t,f):(f.on("end",function(){a&&a.emit("end",e,t,f)}),i.selfHandleResponse||f.pipe(t))})}}});var Zl=x((Fg,Ql)=>{var Ox=require("http"),Rx=require("https"),Ct=pi();Ql.exports={checkMethodAndHeader:function(e,t){if(e.method!=="GET"||!e.headers.upgrade||e.headers.upgrade.toLowerCase()!=="websocket")return t.destroy(),!0},XHeaders:function(e,t,i){if(i.xfwd){var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:Ct.getPort(e),proto:Ct.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(a){e.headers["x-forwarded-"+a]=(e.headers["x-forwarded-"+a]||"")+(e.headers["x-forwarded-"+a]?",":"")+n[a]})}},stream:function(e,t,i,n,a,r){var c=function(p,u){return Object.keys(u).reduce(function(d,h){var m=u[h];if(!Array.isArray(m))return d.push(h+": "+m),d;for(var f=0;f<m.length;f++)d.push(h+": "+m[f]);return d},[p]).join(`\r
18
+ `+i)}s.destroy()}var qt=[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];function bm(s){if(s+="",s.length<1)return!1;if(!qt[s.charCodeAt(0)])return w('invalid header, index 0, char "%s"',s.charCodeAt(0)),!0;if(s.length<2)return!1;if(!qt[s.charCodeAt(1)])return w('invalid header, index 1, char "%s"',s.charCodeAt(1)),!0;if(s.length<3)return!1;if(!qt[s.charCodeAt(2)])return w('invalid header, index 2, char "%s"',s.charCodeAt(2)),!0;if(s.length<4)return!1;if(!qt[s.charCodeAt(3)])return w('invalid header, index 3, char "%s"',s.charCodeAt(3)),!0;for(let e=4;e<s.length;++e)if(!qt[s.charCodeAt(e)])return w('invalid header, index "%i", char "%s"',e,s.charCodeAt(e)),!0;return!1}});var ec=x(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Polling=void 0;var ym=Fe(),Zo=require("zlib"),wm=ts(),_m=R(),ie=(0,_m.default)("engine:polling"),Sm={gzip:Zo.createGzip,deflate:Zo.createDeflate},xn=class extends ym.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.getMethod()==="get"?this.onPollRequest(e,t):e.getMethod()==="post"?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req){ie("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}ie("setting request"),this.req=e,this.res=t;let i=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},n=()=>{this.req=this.res=null};e.cleanup=n,t.onAborted(i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(ie("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}let i=Number(e.headers["content-length"]);if(!i){this.onError("content-length header required"),t.writeStatus("411 Length Required").end();return}if(i>this.maxHttpBufferSize){this.onError("payload too large"),t.writeStatus("413 Payload Too Large").end();return}if(e.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let a,r=0,c={"Content-Type":"text/html"};this.headers(e,c);for(let l in c)t.writeHeader(l,String(c[l]));let o=l=>{this.onData(l.toString()),this.onDataRequestCleanup(),t.cork(()=>{t.end("ok")})};t.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),t.onData((l,p)=>{let u=r+l.byteLength;if(u>i){this.onError("content-length mismatch"),t.close();return}if(!a){if(p){o(Buffer.from(l));return}a=Buffer.allocUnsafe(i)}if(Buffer.from(l).copy(a,r),p){if(u!=i){this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}o(a);return}r=u})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){ie('received "%s"',e);let t=i=>{if(i.type==="close")return ie("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(ie("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){ie('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{this.headers(this.req,r),this.res.cork(()=>{Object.keys(r).forEach(u=>{this.res.writeHeader(u,String(r[u]))}),this.res.end(p)}),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=wm(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){ie("compressing");let n=[],a=0;Sm[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){ie("closing");let t,i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(ie("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(ie("transport discarded - closing right away"),i()):(ie("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t){t=t||{};let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Ns.Polling=xn});var sc=x(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.WebSocket=void 0;var Em=Fe(),km=R(),tc=(0,km.default)("engine:ws"),vn=class extends Em.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length,a=r=>{let c=typeof r!="string",o=this.perMessageDeflate&&Buffer.byteLength(r)>this.perMessageDeflate.threshold;tc('writing "%s"',r),this.socket.send(r,c,o),n&&(this.emit("drain"),this.writable=!0,this.emit("ready"))};i.options&&typeof i.options.wsPreEncoded=="string"?a(i.options.wsPreEncoded):this.parser.encodePacket(i,this.supportsBinary,a)}}doClose(e){tc("closing"),e&&e(),this.socket.end()}};Bs.WebSocket=vn});var ic=x(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});var Cm=ec(),Tm=sc();gn.default={polling:Cm.Polling,websocket:Tm.WebSocket}});var nc=x(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.uServer=void 0;var Om=R(),Ve=hn(),Rm=ic(),Ne=(0,Om.default)("engine:uws"),bn=class extends Ve.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();let i=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(i.entries()),e.headers={},e.forEach((n,a)=>{e.headers[n]=a}),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted(()=>{Ne("response has been aborted")})}createTransport(e,t){return new Rm.default[e](t)}attach(e,t={}){let i=this._computePath(t);e.any(i,this.handleRequest.bind(this)).ws(i,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:n=>{let a=n.getUserData().transport;a.socket=n,a.writable=!0,a.emit("ready")},message:(n,a,r)=>{n.getUserData().transport.onData(r?a:Buffer.from(a).toString())},close:(n,a,r)=>{n.getUserData().transport.onClose(a,r)}})}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return i();e.res=new yn(t),super._applyMiddlewares(e,e.res,n=>{e.res.writeHead(),i(n)})}handleRequest(e,t){Ne('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:t,code:n,message:Ve.Server.errorMessages[n],context:a}),this.abortRequest(t.res,n,a);return}if(t._query.sid)Ne("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{let r=(c,o)=>this.abortRequest(e,c,o);this.handshake(t._query.transport,t,r)}};this._applyMiddlewares(t,e,n=>{n?i(Ve.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,i)})}handleUpgrade(e,t,i){Ne("on upgrade"),this.prepare(t,e),t.res=e;let n=async(a,r)=>{if(a!==void 0){this.emit("connection_error",{req:t,code:a,message:Ve.Server.errorMessages[a],context:r}),this.abortRequest(e,a,r);return}let c=t._query.sid,o;if(c){let l=this.clients[c];if(l){if(l.upgrading)return Ne("transport has already been trying to upgrade"),e.close();if(l.upgraded)return Ne("transport had already been upgraded"),e.close();Ne("upgrading existing transport"),o=this.createTransport(t._query.transport,t),l._maybeUpgrade(o)}else return Ne("upgrade attempt for closed client"),e.close()}else if(o=await this.handshake(t._query.transport,t,(l,p)=>this.abortRequest(e,l,p)),!o)return;t.res.writeStatus("101 Switching Protocols"),e.upgrade({transport:o},t.getHeader("sec-websocket-key"),t.getHeader("sec-websocket-protocol"),t.getHeader("sec-websocket-extensions"),i)};this._applyMiddlewares(t,e,a=>{a?n(Ve.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,n)})}abortRequest(e,t,i){let n=t===Ve.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=i&&i.message?i.message:Ve.Server.errorMessages[t];e.writeStatus(n),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:a}))}};Ls.uServer=bn;var yn=class{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(e===200?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach(i=>{this.writeHeader(e,i)}):this.writeHeader(e,t)}removeHeader(){}getHeader(){}writeStatus(e){if(!this.isAborted)return this.res.writeStatus(e),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(e,t){this.isAborted||e!=="Content-Length"&&(this.statusWritten?this.res.writeHeader(e,t):this.headers.push([e,t]))}writeBufferedHeaders(){this.headers.forEach(([e,t])=>{this.res.writeHeader(e,t)})}end(e){this.isAborted||this.res.cork(()=>{this.statusWritten||this.writeBufferedHeaders(),this.res.end(e)})}onData(e){this.isAborted||this.res.onData(e)}onAborted(e){this.isAborted||this.res.onAborted(()=>{this.isAborted=!0,e()})}cork(e){this.isAborted||this.res.cork(e)}}});var cc=x(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.protocol=B.Transport=B.Socket=B.uServer=B.parser=B.transports=B.Server=void 0;B.listen=Bm;B.attach=oc;var Am=require("http"),ac=hn();Object.defineProperty(B,"Server",{enumerable:!0,get:function(){return ac.Server}});var Pm=qi();B.transports=Pm.default;var rc=At();B.parser=rc;var jm=nc();Object.defineProperty(B,"uServer",{enumerable:!0,get:function(){return jm.uServer}});var Im=Ui();Object.defineProperty(B,"Socket",{enumerable:!0,get:function(){return Im.Socket}});var Nm=Fe();Object.defineProperty(B,"Transport",{enumerable:!0,get:function(){return Nm.Transport}});B.protocol=rc.protocol;function Bm(s,e,t){typeof e=="function"&&(t=e,e={});let i=(0,Am.createServer)(function(a,r){r.writeHead(501),r.end("Not Implemented")}),n=oc(i,e);return n.httpServer=i,i.listen(s,t),n}function oc(s,e){let t=new ac.Server(e);return t.attach(s,e),t}});var pc=x(lc=>{lc.Emitter=U;function U(s){if(s)return Lm(s)}function Lm(s){for(var e in U.prototype)s[e]=U.prototype[e];return s}U.prototype.on=U.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};U.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};U.prototype.off=U.prototype.removeListener=U.prototype.removeAllListeners=U.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var i,n=0;n<t.length;n++)if(i=t[n],i===e||i.fn===e){t.splice(n,1);break}return t.length===0&&delete this._callbacks["$"+s],this};U.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){t=t.slice(0);for(var i=0,n=t.length;i<n;++i)t[i].apply(this,e)}return this};U.prototype.emitReserved=U.prototype.emit;U.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]};U.prototype.hasListeners=function(s){return!!this.listeners(s).length}});var wn=x(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.isBinary=dc;Ds.hasBinary=Ms;var Mm=typeof ArrayBuffer=="function",Dm=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,uc=Object.prototype.toString,qm=typeof Blob=="function"||typeof Blob<"u"&&uc.call(Blob)==="[object BlobConstructor]",Fm=typeof File=="function"||typeof File<"u"&&uc.call(File)==="[object FileConstructor]";function dc(s){return Mm&&(s instanceof ArrayBuffer||Dm(s))||qm&&s instanceof Blob||Fm&&s instanceof File}function Ms(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(Ms(s[t]))return!0;return!1}if(dc(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return Ms(s.toJSON(),!0);for(let t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&Ms(s[t]))return!0;return!1}});var fc=x(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.deconstructPacket=Hm;qs.reconstructPacket=zm;var Um=wn();function Hm(s){let e=[],t=s.data,i=s;return i.data=_n(t,e),i.attachments=e.length,{packet:i,buffers:e}}function _n(s,e){if(!s)return s;if((0,Um.isBinary)(s)){let t={_placeholder:!0,num:e.length};return e.push(s),t}else if(Array.isArray(s)){let t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=_n(s[i],e);return t}else if(typeof s=="object"&&!(s instanceof Date)){let t={};for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=_n(s[i],e));return t}return s}function zm(s,e){return s.data=Sn(s.data,e),delete s.attachments,s}function Sn(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}else if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=Sn(s[t],e);else if(typeof s=="object")for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=Sn(s[t],e));return s}});var Ft=x(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.Decoder=ce.Encoder=ce.PacketType=ce.protocol=void 0;ce.isPacketValid=Xm;var Wm=pc(),mc=fc(),hc=wn(),$m=R(),En=(0,$m.default)("socket.io-parser"),xc=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];ce.protocol=5;var E;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(E||(ce.PacketType=E={}));var kn=class{constructor(e){this.replacer=e}encode(e){return En("encoding packet %j",e),(e.type===E.EVENT||e.type===E.ACK)&&(0,hc.hasBinary)(e)?this.encodeAsBinary({type:e.type===E.EVENT?E.BINARY_EVENT:E.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===E.BINARY_EVENT||e.type===E.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),En("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,mc.deconstructPacket)(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}};ce.Encoder=kn;var Cn=class s extends Wm.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let i=t.type===E.BINARY_EVENT;i||t.type===E.BINARY_ACK?(t.type=i?E.EVENT:E.ACK,this.reconstructor=new Tn(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,hc.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,i={type:Number(e.charAt(0))};if(E[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===E.BINARY_EVENT||i.type===E.BINARY_ACK){let a=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let r=e.substring(a,t);if(r!=Number(r)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(r)}if(e.charAt(t+1)==="/"){let a=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););i.nsp=e.substring(a,t)}else i.nsp="/";let n=e.charAt(t+1);if(n!==""&&Number(n)==n){let a=t+1;for(;++t;){let r=e.charAt(t);if(r==null||Number(r)!=r){--t;break}if(t===e.length)break}i.id=Number(e.substring(a,t+1))}if(e.charAt(++t)){let a=this.tryParse(e.substr(t));if(s.isPayloadValid(i.type,a))i.data=a;else throw new Error("invalid payload")}return En("decoded %s as %j",e,i),i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case E.CONNECT:return Fs(t);case E.DISCONNECT:return t===void 0;case E.CONNECT_ERROR:return typeof t=="string"||Fs(t);case E.EVENT:case E.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&xc.indexOf(t[0])===-1);case E.ACK:case E.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};ce.Decoder=Cn;var Tn=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,mc.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function Vm(s){return typeof s=="string"}var Gm=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s};function Km(s){return s===void 0||Gm(s)}function Fs(s){return Object.prototype.toString.call(s)==="[object Object]"}function Ym(s,e){switch(s){case E.CONNECT:return e===void 0||Fs(e);case E.DISCONNECT:return e===void 0;case E.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&xc.indexOf(e[0])===-1);case E.ACK:return Array.isArray(e);case E.CONNECT_ERROR:return typeof e=="string"||Fs(e);default:return!1}}function Xm(s){return Vm(s.nsp)&&Km(s.id)&&Ym(s.type,s.data)}});var vc=x(xt=>{"use strict";var Jm=xt&&xt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(xt,"__esModule",{value:!0});xt.Client=void 0;var Us=Ft(),Qm=Jm(R()),le=(0,Qm.default)("socket.io:client"),On=class{constructor(e,t){this.sockets=new Map,this.nsps=new Map,this.server=e,this.conn=t,this.encoder=e.encoder,this.decoder=new e._parser.Decoder,this.id=t.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(()=>{this.nsps.size===0?(le("no namespace joined yet, close the client"),this.close()):le("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return le("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,i=>{i?this.doConnect(e,t):(le("creation of namespace %s was denied",e),this._packet({type:Us.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))})}doConnect(e,t){let i=this.server.of(e);i._add(this,t,n=>{this.sockets.set(n.id,n),this.nsps.set(i.name,n),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)})}_disconnect(){for(let e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){let t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else le("ignoring remove for %s",e.id)}close(){this.conn.readyState==="open"&&(le("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if(this.conn.readyState!=="open"){le("ignoring packet write %j",e);return}let i=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(i,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable){le("volatile packet is discarded since the transport is not currently writable");return}let i=Array.isArray(e)?e:[e];for(let n of i)this.conn.write(n,t)}ondata(e){try{this.decoder.add(e)}catch(t){le("invalid packet format"),this.onerror(t)}}ondecoded(e){let{namespace:t,authPayload:i}=this._parseNamespace(e),n=this.nsps.get(t);!n&&e.type===Us.PacketType.CONNECT?this.connect(t,i):n&&e.type!==Us.PacketType.CONNECT&&e.type!==Us.PacketType.CONNECT_ERROR?process.nextTick(function(){n._onpacket(e)}):(le("invalid state (packet type: %s)",e.type),this.close())}_parseNamespace(e){if(this.conn.protocol!==3)return{namespace:e.nsp,authPayload:e.data};let t=new URL(e.nsp,"https://socket.io");return{namespace:t.pathname,authPayload:Object.fromEntries(t.searchParams.entries())}}onerror(e){for(let t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){le("client close with reason %s",e),this.destroy();for(let i of this.sockets.values())i._onclose(e,t);this.sockets.clear(),this.decoder.destroy()}destroy(){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)}};xt.Client=On});var zs=x(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.StrictEventEmitter=void 0;var Zm=require("events"),Rn=class extends Zm.EventEmitter{on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}emitReserved(e,...t){return super.emit(e,...t)}emitUntyped(e,...t){return super.emit(e,...t)}listeners(e){return super.listeners(e)}};Hs.StrictEventEmitter=Rn});var An=x(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.RESERVED_EVENTS=void 0;Ws.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Pn=x(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.RemoteSocket=vt.BroadcastOperator=void 0;var eh=An(),th=Ft(),$s=class s{constructor(e,t=new Set,i=new Set,n={}){this.adapter=e,this.rooms=t,this.exceptRooms=i,this.flags=n}to(e){let t=new Set(this.rooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){let t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,this.rooms,t,this.flags)}compress(e){let t=Object.assign({},this.flags,{compress:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){let e=Object.assign({},this.flags,{volatile:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}get local(){let e=Object.assign({},this.flags,{local:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){let t=Object.assign({},this.flags,{timeout:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(eh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:th.PacketType.EVENT,data:i};if(!(typeof i[i.length-1]=="function"))return this.adapter.broadcast(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let r=i.pop(),c=!1,o=[],l=setTimeout(()=>{c=!0,r.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:o])},this.flags.timeout),p=-1,u=0,d=0,h=()=>{!c&&p===u&&o.length===d&&(clearTimeout(l),r.apply(this,[null,this.flags.expectSingleResponse?o[0]:o]))};return this.adapter.broadcastWithAck(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},m=>{d+=m,u++,h()},m=>{o.push(m),h()}),this.adapter.serverCount().then(m=>{p=m,h()}),!0}emitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.emit(e,...t)})}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(e=>e.map(t=>t.server?t:new Vs(this.adapter,t)))}socketsJoin(e){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}socketsLeave(e){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}disconnectSockets(e=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},e)}};vt.BroadcastOperator=$s;var Vs=class{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new $s(e,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(e){return this.operator.timeout(e)}emit(e,...t){return this.operator.emit(e,...t)}join(e){return this.operator.socketsJoin(e)}leave(e){return this.operator.socketsLeave(e)}disconnect(e=!1){return this.operator.disconnectSockets(e),this}};vt.RemoteSocket=Vs});var In=x(gt=>{"use strict";var yc=gt&&gt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(gt,"__esModule",{value:!0});gt.Socket=void 0;var ne=Ft(),sh=yc(R()),ih=zs(),gc=yc(bi()),nh=Pn(),ah=An(),D=(0,sh.default)("socket.io:socket"),rh=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function bc(){}var jn=class extends ih.StrictEventEmitter{constructor(e,t,i,n){super(),this.nsp=e,this.client=t,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=e.server,this.adapter=e.adapter,n?(this.id=n.sid,this.pid=n.pid,n.rooms.forEach(a=>this.join(a)),this.data=n.data,n.missedPackets.forEach(a=>{this.packet({type:ne.PacketType.EVENT,data:a})}),this.recovered=!0):(t.conn.protocol===3?this.id=e.name!=="/"?e.name+"#"+t.id:t.id:this.id=gc.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=gc.default.generateId())),this.handshake=this.buildHandshake(i),this.on("error",bc)}buildHandshake(e){var t,i,n,a;return{headers:((t=this.request)===null||t===void 0?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(!((i=this.request)===null||i===void 0)&&i.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(n=this.request)===null||n===void 0?void 0:n.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:e}}emit(e,...t){if(ah.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:ne.PacketType.EVENT,data:i};if(typeof i[i.length-1]=="function"){let r=this.nsp._ids++;D("emitting packet with ack id %d",r),this.registerAckCallback(r,i.pop()),n.id=r}let a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(n,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(n),this.packet(n,a)),!0}emitWithAck(e,...t){let i=this.flags.timeout!==void 0;return new Promise((n,a)=>{t.push((r,c)=>i?r?a(r):n(c):n(r)),this.emit(e,...t)})}registerAckCallback(e,t){let i=this.flags.timeout;if(i===void 0){this.acks.set(e,t);return}let n=setTimeout(()=>{D("event with ack id %d has timed out after %d ms",e,i),this.acks.delete(e),t.call(this,new Error("operation has timed out"))},i);this.acks.set(e,(...a)=>{clearTimeout(n),t.apply(this,[null,...a])})}to(e){return this.newBroadcastOperator().to(e)}in(e){return this.newBroadcastOperator().in(e)}except(e){return this.newBroadcastOperator().except(e)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}packet(e,t={}){e.nsp=this.nsp.name,t.compress=t.compress!==!1,this.client._packet(e,t)}join(e){return D("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return D("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){D("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3?this.packet({type:ne.PacketType.CONNECT}):this.packet({type:ne.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(D("got packet %j",e),e.type){case ne.PacketType.EVENT:this.onevent(e);break;case ne.PacketType.BINARY_EVENT:this.onevent(e);break;case ne.PacketType.ACK:this.onack(e);break;case ne.PacketType.BINARY_ACK:this.onack(e);break;case ne.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(e){let t=e.data||[];if(D("emitting event %j",t),e.id!=null&&(D("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){let i=this._anyListeners.slice();for(let n of i)n.apply(this,t)}this.dispatch(t)}ack(e){let t=this,i=!1;return function(){if(i)return;let n=Array.prototype.slice.call(arguments);D("sending ack %j",n),t.packet({id:e,type:ne.PacketType.ACK,data:n}),i=!0}}onack(e){let t=this.acks.get(e.id);typeof t=="function"?(D("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):D("bad ack %s",e.id)}ondisconnect(){D("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;D("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&rh.has(e)&&(D("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",e,t)}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=bc}_error(e){this.packet({type:ne.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:ne.PacketType.DISCONNECT}),this._onclose("server namespace disconnect")),this):this}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(e){return this.flags.timeout=e,this}dispatch(e){D("dispatching an event %j",e),this.run(e,t=>{process.nextTick(()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):D("ignore packet received after disconnection")})})}use(e){return this.fns.push(e),this}run(e,t){if(!this.fns.length)return t();let i=this.fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(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(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let i of t)i.apply(this,e.data)}}newBroadcastOperator(){let e=Object.assign({},this.flags);return this.flags={},new nh.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}};gt.Socket=jn});var Bn=x(Ee=>{"use strict";var oh=Ee&&Ee.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Namespace=Ee.RESERVED_EVENTS=void 0;var wc=In(),ch=zs(),lh=oh(R()),Z=Pn(),bt=(0,lh.default)("socket.io:namespace");Ee.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var Nn=class extends ch.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this),Promise.resolve(this.adapter.init()).catch(e=>{bt("error while initializing adapter: %s",e)})}use(e){return this._fns.push(e),this}run(e,t){if(!this._fns.length)return t();let i=this._fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}to(e){return new Z.BroadcastOperator(this.adapter).to(e)}in(e){return new Z.BroadcastOperator(this.adapter).in(e)}except(e){return new Z.BroadcastOperator(this.adapter).except(e)}async _add(e,t,i){var n;bt("adding socket to nsp %s",this.name);let a=await this._createSocket(e,t);if(this._preConnectSockets.set(a.id,a),!((n=this.server.opts.connectionStateRecovery)===null||n===void 0)&&n.skipMiddlewares&&a.recovered&&e.conn.readyState==="open")return this._doConnect(a,i);this.run(a,r=>{process.nextTick(()=>{if(e.conn.readyState!=="open"){bt("next called after client was closed - ignoring socket"),a._cleanup();return}if(r)return bt("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),e.conn.protocol===3?a._error(r.data||r.message):a._error({message:r.message,data:r.data});this._doConnect(a,i)})})}async _createSocket(e,t){let i=t.pid,n=t.offset;if(this.server.opts.connectionStateRecovery&&typeof i=="string"&&typeof n=="string"){let a;try{a=await this.adapter.restoreSession(i,n)}catch(r){bt("error while restoring session: %s",r)}if(a)return bt("connection state recovered for sid %s",a.sid),new wc.Socket(this,e,t,a)}return new wc.Socket(this,e,t)}_doConnect(e,t){this._preConnectSockets.delete(e.id),this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.delete(e.id)||this._preConnectSockets.delete(e.id)}emit(e,...t){return new Z.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...t){if(Ee.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return t.unshift(e),this.adapter.serverSideEmit(t),!0}serverSideEmitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.serverSideEmit(e,...t)})}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new Z.BroadcastOperator(this.adapter).allSockets()}compress(e){return new Z.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new Z.BroadcastOperator(this.adapter).volatile}get local(){return new Z.BroadcastOperator(this.adapter).local}timeout(e){return new Z.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new Z.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new Z.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new Z.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new Z.BroadcastOperator(this.adapter).disconnectSockets(e)}};Ee.Namespace=Nn});var Cc=x(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.encode=Ln;Ut.decode=ph;Ut.yeast=uh;var Ec="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Gs=64,kc={},_c=0,Be=0,Sc;function Ln(s){let e="";do e=Ec[s%Gs]+e,s=Math.floor(s/Gs);while(s>0);return e}function ph(s){let e=0;for(Be=0;Be<s.length;Be++)e=e*Gs+kc[s.charAt(Be)];return e}function uh(){let s=Ln(+new Date);return s!==Sc?(_c=0,Sc=s):s+"."+Ln(_c++)}for(;Be<Gs;Be++)kc[Ec[Be]]=Be});var qn=x(yt=>{"use strict";var Mn;Object.defineProperty(yt,"__esModule",{value:!0});yt.SessionAwareAdapter=yt.Adapter=void 0;var dh=require("events"),fh=Cc(),Ks=un(),mh=typeof((Mn=Ks?.Sender)===null||Mn===void 0?void 0:Mn.frame)=="function",Ys=class extends dh.EventEmitter{constructor(e){super(),this.nsp=e,this.rooms=new Map,this.sids=new Map,this.encoder=e.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(e,t){this.sids.has(e)||this.sids.set(e,new Set);for(let i of t)this.sids.get(e).add(i),this.rooms.has(i)||(this.rooms.set(i,new Set),this.emit("create-room",i)),this.rooms.get(i).has(e)||(this.rooms.get(i).add(e),this.emit("join-room",i,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){let i=this.rooms.get(e);i!=null&&(i.delete(t)&&this.emit("leave-room",e,t),i.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){let i=t.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let a=this._encode(e,n);this.apply(t,r=>{typeof r.notifyOutgoingListeners=="function"&&r.notifyOutgoingListeners(e),r.client.writeToEngine(a,n)})}broadcastWithAck(e,t,i,n){let a=t.flags||{},r={preEncoded:!0,volatile:a.volatile,compress:a.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let c=this._encode(e,r),o=0;this.apply(t,l=>{o++,l.acks.set(e.id,n),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(c,r)}),i(o)}_encode(e,t){let i=this.encoder.encode(e);if(mh&&i.length===1&&typeof i[0]=="string"){let n=Buffer.from("4"+i[0]);t.wsPreEncodedFrame=Ks.Sender.frame(n,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return i}sockets(e){let t=new Set;return this.apply({rooms:e},i=>{t.add(i.id)}),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let t=[];return this.apply(e,i=>{t.push(i)}),Promise.resolve(t)}addSockets(e,t){this.apply(e,i=>{i.join(t)})}delSockets(e,t){this.apply(e,i=>{t.forEach(n=>i.leave(n))})}disconnectSockets(e,t){this.apply(e,i=>{i.disconnect(t)})}apply(e,t){let i=e.rooms,n=this.computeExceptSids(e.except);if(i.size){let a=new Set;for(let r of i)if(this.rooms.has(r))for(let c of this.rooms.get(r)){if(a.has(c)||n.has(c))continue;let o=this.nsp.sockets.get(c);o&&(t(o),a.add(c))}}else for(let[a]of this.sids){if(n.has(a))continue;let r=this.nsp.sockets.get(a);r&&t(r)}}computeExceptSids(e){let t=new Set;if(e&&e.size>0)for(let i of e)this.rooms.has(i)&&this.rooms.get(i).forEach(n=>t.add(n));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}};yt.Adapter=Ys;var Dn=class extends Ys{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let i=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((n,a)=>{n.disconnectedAt<i&&this.sessions.delete(a)});for(let n=this.packets.length-1;n>=0;n--)if(this.packets[n].emittedAt<i){this.packets.splice(0,n+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){let i=this.sessions.get(e);if(!i)return null;if(i.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let a=this.packets.findIndex(c=>c.id===t);if(a===-1)return null;let r=[];for(let c=a+1;c<this.packets.length;c++){let o=this.packets[c];hh(i.rooms,o.opts)&&r.push(o.data)}return Promise.resolve(Object.assign(Object.assign({},i),{missedPackets:r}))}broadcast(e,t){var i;let n=e.type===2,a=e.id===void 0,r=((i=t.flags)===null||i===void 0?void 0:i.volatile)===void 0;if(n&&a&&r){let c=(0,fh.yeast)();e.data.push(c),this.packets.push({id:c,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}};yt.SessionAwareAdapter=Dn;function hh(s,e){let t=e.rooms.size===0||s.some(n=>e.rooms.has(n)),i=s.every(n=>!e.except.has(n));return t&&i}});var Tc=x(xe=>{"use strict";var xh=xe&&xe.__rest||function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};Object.defineProperty(xe,"__esModule",{value:!0});xe.ClusterAdapterWithHeartbeat=xe.ClusterAdapter=xe.MessageType=void 0;var vh=qn(),gh=R(),bh=require("crypto"),T=(0,gh.debug)("socket.io-adapter"),yh="emitter",Xs=5e3;function _t(){return(0,bh.randomBytes)(8).toString("hex")}var b;(function(s){s[s.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",s[s.HEARTBEAT=2]="HEARTBEAT",s[s.BROADCAST=3]="BROADCAST",s[s.SOCKETS_JOIN=4]="SOCKETS_JOIN",s[s.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",s[s.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",s[s.FETCH_SOCKETS=7]="FETCH_SOCKETS",s[s.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",s[s.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",s[s.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",s[s.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",s[s.BROADCAST_ACK=12]="BROADCAST_ACK",s[s.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(b||(xe.MessageType=b={}));function Ge(s){return{rooms:[...s.rooms],except:[...s.except],flags:s.flags}}function wt(s){return{rooms:new Set(s.rooms),except:new Set(s.except),flags:s.flags}}var Js=class extends vh.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=_t()}onMessage(e,t){if(e.uid===this.uid)return T("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return T("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(T("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case b.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,wt(e.data.opts),n=>{T("[%s] waiting for %d client acknowledgements",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:n}})},n=>{T("[%s] received acknowledgement with value %j",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:n}})});else{let n=e.data.packet,a=wt(e.data.opts);this.addOffsetIfNecessary(n,a,t),super.broadcast(n,a)}break}case b.SOCKETS_JOIN:super.addSockets(wt(e.data.opts),e.data.rooms);break;case b.SOCKETS_LEAVE:super.delSockets(wt(e.data.opts),e.data.rooms);break;case b.DISCONNECT_SOCKETS:super.disconnectSockets(wt(e.data.opts),e.data.close);break;case b.FETCH_SOCKETS:{T("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(wt(e.data.opts)).then(i=>{this.publishResponse(e.uid,{type:b.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:i.map(n=>{let a=n.handshake,{sessionStore:r}=a,c=xh(a,["sessionStore"]);return{id:n.id,handshake:c,rooms:[...n.rooms],data:n.data}})}})});break}case b.SERVER_SIDE_EMIT:{let i=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(i);return}let a=!1,r=c=>{a||(a=!0,T("[%s] calling acknowledgement with %j",this.uid,c),this.publishResponse(e.uid,{type:b.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:c}}))};this.nsp._onServerSideEmit([...i,r]);break}case b.BROADCAST_CLIENT_COUNT:case b.BROADCAST_ACK:case b.FETCH_SOCKETS_RESPONSE:case b.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:T("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var t,i;let n=e.data.requestId;switch(T("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case b.BROADCAST_CLIENT_COUNT:{(t=this.ackRequests.get(n))===null||t===void 0||t.clientCountCallback(e.data.clientCount);break}case b.BROADCAST_ACK:{(i=this.ackRequests.get(n))===null||i===void 0||i.ack(e.data.packet);break}case b.FETCH_SOCKETS_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,e.data.sockets.forEach(r=>a.responses.push(r)),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(n));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,a.responses.push(e.data.packet),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(n));break}default:T("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,t){var i;if(!((i=t.flags)===null||i===void 0?void 0:i.local))try{let a=await this.publishAndReturnOffset({type:b.BROADCAST,data:{packet:e,opts:Ge(t)}});this.addOffsetIfNecessary(e,t,a)}catch(a){return T("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(e,t)}addOffsetIfNecessary(e,t,i){var n;if(!this.nsp.server.opts.connectionStateRecovery)return;let a=e.type===2,r=e.id===void 0,c=((n=t.flags)===null||n===void 0?void 0:n.volatile)===void 0;a&&r&&c&&e.data.push(i)}broadcastWithAck(e,t,i,n){var a;if(!((a=t?.flags)===null||a===void 0?void 0:a.local)){let c=_t();this.ackRequests.set(c,{clientCountCallback:i,ack:n}),this.publish({type:b.BROADCAST,data:{packet:e,requestId:c,opts:Ge(t)}}),setTimeout(()=>{this.ackRequests.delete(c)},t.flags.timeout)}super.broadcastWithAck(e,t,i,n)}async addSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_JOIN,data:{opts:Ge(e),rooms:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(e,t)}async delSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_LEAVE,data:{opts:Ge(e),rooms:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(e,t)}async disconnectSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.DISCONNECT_SOCKETS,data:{opts:Ge(e),close:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(e,t)}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets(e),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=_t();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.requests.get(r);u&&(o(new Error(`timeout reached: only ${u.current} responses received out of ${u.expected}`)),this.requests.delete(r))},e.flags.timeout||Xs),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,current:0,expected:a,responses:i};this.requests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:Ge(e),requestId:r}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=await this.serverCount()-1;if(T('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=_t(),r=setTimeout(()=>{let o=this.requests.get(a);o&&(i(new Error(`timeout reached: only ${o.current} responses received out of ${o.expected}`),o.responses),this.requests.delete(a))},Xs),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,current:0,expected:n,responses:[]};this.requests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}publish(e){T("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(t=>{T("[%s] error while publishing message: %s",this.uid,t)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,t){t.uid=this.uid,t.nsp=this.nsp.name,T("[%s] sending response %s to %s",this.uid,t.type,e),this.doPublishResponse(e,t).catch(i=>{T("[%s] error while publishing response: %s",this.uid,i)})}};xe.ClusterAdapter=Js;var Fn=class extends Js{constructor(e,t){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},t),this.cleanupTimer=setInterval(()=>{let i=Date.now();this.nodesMap.forEach((n,a)=>{i-n>this._opts.heartbeatTimeout&&(T("[%s] node %s seems down",this.uid,a),this.removeNode(a))})},1e3)}init(){this.publish({type:b.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:b.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:b.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,t){if(e.uid===this.uid)return T("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==yh&&this.nodesMap.set(e.uid,Date.now()),e.type){case b.INITIAL_HEARTBEAT:this.publish({type:b.HEARTBEAT});break;case b.HEARTBEAT:break;case b.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,t)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=this.nodesMap.size;if(T('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=_t(),r=setTimeout(()=>{let o=this.customRequests.get(a);o&&(i(new Error(`timeout reached: missing ${o.missingUids.size} responses`),o.responses),this.customRequests.delete(a))},Xs),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=_t();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.customRequests.get(r);u&&(o(new Error(`timeout reached: missing ${u.missingUids.size} responses`)),this.customRequests.delete(r))},e.flags.timeout||Xs),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:i};this.customRequests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:Ge(e),requestId:r}})})}onResponse(e){let t=e.data.requestId;switch(T("[%s] received response %s to request %s",this.uid,e.type,t),e.type){case b.FETCH_SOCKETS_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;e.data.sockets.forEach(n=>i.responses.push(n)),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(i.responses),this.customRequests.delete(t));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;i.responses.push(e.data.packet),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(null,i.responses),this.customRequests.delete(t));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((t,i)=>{t.missingUids.delete(e),t.missingUids.size===0&&(clearTimeout(t.timeout),t.type===b.FETCH_SOCKETS?t.resolve(t.responses):t.type===b.SERVER_SIDE_EMIT&&t.resolve(null,t.responses),this.customRequests.delete(i))}),this.nodesMap.delete(e)}};xe.ClusterAdapterWithHeartbeat=Fn});var Qs=x(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.MessageType=ae.ClusterAdapterWithHeartbeat=ae.ClusterAdapter=ae.SessionAwareAdapter=ae.Adapter=void 0;var Oc=qn();Object.defineProperty(ae,"Adapter",{enumerable:!0,get:function(){return Oc.Adapter}});Object.defineProperty(ae,"SessionAwareAdapter",{enumerable:!0,get:function(){return Oc.SessionAwareAdapter}});var Un=Tc();Object.defineProperty(ae,"ClusterAdapter",{enumerable:!0,get:function(){return Un.ClusterAdapter}});Object.defineProperty(ae,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return Un.ClusterAdapterWithHeartbeat}});Object.defineProperty(ae,"MessageType",{enumerable:!0,get:function(){return Un.MessageType}})});var Pc=x(St=>{"use strict";var wh=St&&St.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(St,"__esModule",{value:!0});St.ParentNamespace=void 0;var Rc=Bn(),_h=Qs(),Sh=wh(R()),Ac=(0,Sh.default)("socket.io:parent-namespace"),Zs=class s extends Rc.Namespace{constructor(e){super(e,"/_"+s.count++),this.children=new Set}_initAdapter(){this.adapter=new Hn(this)}emit(e,...t){return this.children.forEach(i=>{i.emit(e,...t)}),!0}createChild(e){Ac("creating child namespace %s",e);let t=new Rc.Namespace(this.server,e);if(this._fns.forEach(i=>t.use(i)),this.listeners("connect").forEach(i=>t.on("connect",i)),this.listeners("connection").forEach(i=>t.on("connection",i)),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){let i=t._remove;t._remove=n=>{i.call(t,n),t.sockets.size===0&&(Ac("closing child namespace %s",e),t.adapter.close(),this.server._nsps.delete(t.name),this.children.delete(t))}}return this.server._nsps.set(e,t),this.server.sockets.emitReserved("new_namespace",t),t}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};St.ParentNamespace=Zs;Zs.count=0;var Hn=class extends _h.Adapter{broadcast(e,t){this.nsp.children.forEach(i=>{i.adapter.broadcast(e,t)})}}});var Mc=x(Ye=>{"use strict";var Eh=Ye&&Ye.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.patchAdapter=Ch;Ye.restoreAdapter=Th;Ye.serveFile=Rh;var Ke=Qs(),jc=require("fs"),kh=Eh(R()),ei=(0,kh.default)("socket.io:adapter-uws"),zn="",{addAll:Nc,del:Bc,broadcast:Lc}=Ke.Adapter.prototype;function Ch(s){Ke.Adapter.prototype.addAll=function(e,t){let i=!this.sids.has(e);Nc.call(this,e,t);let n=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(n){if(n.conn.transport.name==="websocket"){Ic(this.nsp.name,n,i,t);return}i&&n.conn.on("upgrade",()=>{let a=this.sids.get(e);a&&Ic(this.nsp.name,n,i,a)})}},Ke.Adapter.prototype.del=function(e,t){Bc.call(this,e,t);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i&&i.conn.transport.name==="websocket"){let n=i.conn.id,a=i.conn.transport.socket,r=`${this.nsp.name}${zn}${t}`;ei("unsubscribe connection %s from topic %s",n,r),a.unsubscribe(r)}},Ke.Adapter.prototype.broadcast=function(e,t){if(!(t.rooms.size<=1&&t.except.size===0)){Lc.call(this,e,t);return}let n=t.flags||{},a={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name;let r=this.encoder.encode(e),c=t.rooms.size===0?this.nsp.name:`${this.nsp.name}${zn}${t.rooms.keys().next().value}`;ei("fast publish to %s",c),r.forEach(o=>{let l=typeof o!="string";s.publish(c,l?o:"4"+o,l)}),this.apply(t,o=>{o.conn.transport.name!=="websocket"&&o.client.writeToEngine(r,a)})}}function Ic(s,e,t,i){let n=e.conn.id,a=e.conn.transport.socket;t&&(ei("subscribe connection %s to topic %s",n,s),a.subscribe(s)),i.forEach(r=>{let c=`${s}${zn}${r}`;ei("subscribe connection %s to topic %s",n,c),a.subscribe(c)})}function Th(){Ke.Adapter.prototype.addAll=Nc,Ke.Adapter.prototype.del=Bc,Ke.Adapter.prototype.broadcast=Lc}var Oh=s=>{let{buffer:e,byteOffset:t,byteLength:i}=s;return e.slice(t,t+i)};function Rh(s,e){let{size:t}=(0,jc.statSync)(e),i=(0,jc.createReadStream)(e),n=()=>!i.destroyed&&i.destroy(),a=c=>{throw n(),c},r=c=>{let o=Oh(c);s.cork(()=>{let l=s.getWriteOffset(),[p,u]=s.tryEnd(o,t);!u&&!p&&(i.pause(),s.onWritable(d=>{let[h,m]=s.tryEnd(o.slice(d-l),t);return!m&&h&&i.resume(),h}))})};s.onAborted(n),i.on("data",r).on("error",a).on("end",n)}});var Dc=x((cg,Ah)=>{Ah.exports={name:"socket.io",version:"4.8.3",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"},"./package.json":"./package.json"},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 --import=tsx --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.4.1","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 Vc=x((q,Ht)=>{"use strict";var Ph=q&&q.__createBinding||(Object.create?(function(s,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,i,n)}):(function(s,e,t,i){i===void 0&&(i=t),s[i]=e[t]})),jh=q&&q.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),Ih=q&&q.__importStar||function(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var t in s)t!=="default"&&Object.prototype.hasOwnProperty.call(s,t)&&Ph(e,s,t);return jh(e,s),e},Vn=q&&q.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(q,"__esModule",{value:!0});q.Namespace=q.Socket=q.Server=void 0;var Nh=Vn(require("http")),Bh=require("fs"),Wn=require("zlib"),Lh=ts(),ti=require("stream"),qc=require("path"),Fc=cc(),Mh=vc(),Uc=require("events"),Gn=Bn();Object.defineProperty(q,"Namespace",{enumerable:!0,get:function(){return Gn.Namespace}});var Dh=Pc(),Hc=Qs(),qh=Ih(Ft()),Fh=Vn(R()),$c=In();Object.defineProperty(q,"Socket",{enumerable:!0,get:function(){return $c.Socket}});var Uh=zs(),$n=Mc(),Hh=Vn(fn()),H=(0,Fh.default)("socket.io:server"),zc=Dc().version,Wc=/\.map/,Et=class s extends Uh.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(t.serveClient!==!1),this._parser=t.parser||qh,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||Hc.SessionAwareAdapter)):this.adapter(t.adapter||Hc.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,Hh.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,i){if(this.parentNsps.size===0)return i(!1);let n=this.parentNsps.keys(),a=()=>{let r=n.next();if(r.done)return i(!1);r.value(e,t,(c,o)=>{if(c||!o)return a();if(this._nsps.has(e))return H("dynamic namespace %s already exists",e),i(this._nsps.get(e));let l=this.parentNsps.get(r.value).createChild(e);H("dynamic namespace %s was created",e),i(l)})};a()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let t of this._nsps.values())t._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if(typeof e=="function"){let i="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(i)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){H("creating http server and binding to %d",e);let i=e;e=Nh.default.createServer((n,a)=>{a.writeHead(404),a.end()}),e.listen(i)}return Object.assign(t,this.opts),t.path=t.path||this._path,this.initEngine(e,t),this}attachApp(e,t={}){Object.assign(t,this.opts),t.path=t.path||this._path,H("creating uWebSockets.js-based engine with opts %j",t);let i=new Fc.uServer(t);i.attach(e,t),this.bind(i),this._serveClient&&e.get(`${this._path}/*`,(n,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}let r=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),c=Wc.test(r),o=c?"map":"source",l='"'+zc+'"',p="W/"+l,u=a.getHeader("if-none-match");if(u&&(l===u||p===u)){H("serve client %s 304",o),n.writeStatus("304 Not Modified"),n.end();return}H("serve client %s",o),n.writeHeader("cache-control","public, max-age=0"),n.writeHeader("content-type","application/"+(c?"json":"javascript")+"; charset=utf-8"),n.writeHeader("etag",l);let d=qc.join(__dirname,"../client-dist/",r);(0,$n.serveFile)(n,d)}),(0,$n.patchAdapter)(e)}initEngine(e,t){H("creating engine.io instance with opts %j",t),this.eio=(0,Fc.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){H("attaching client serving req handler");let t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(i,n)=>{if(this.clientPathRegex.test(i.url))this._corsMiddleware?this._corsMiddleware(i,n,()=>{this.serve(i,n)}):this.serve(i,n);else for(let a=0;a<t.length;a++)t[a].call(e,i,n)})}serve(e,t){let i=e.url.replace(this._path,"").replace(/\?.*$/,""),n=Wc.test(i),a=n?"map":"source",r='"'+zc+'"',c="W/"+r,o=e.headers["if-none-match"];if(o&&(r===o||c===o)){H("serve client %s 304",a),t.writeHead(304),t.end();return}H("serve client %s",a),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(n?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",r),s.sendFile(i,e,t)}static sendFile(e,t,i){let n=(0,Bh.createReadStream)(qc.join(__dirname,"../client-dist/",e)),a=Lh(t).encodings(["br","gzip","deflate"]),r=c=>{c&&i.end()};switch(a){case"br":i.writeHead(200,{"content-encoding":"br"}),(0,ti.pipeline)(n,(0,Wn.createBrotliCompress)(),i,r);break;case"gzip":i.writeHead(200,{"content-encoding":"gzip"}),(0,ti.pipeline)(n,(0,Wn.createGzip)(),i,r);break;case"deflate":i.writeHead(200,{"content-encoding":"deflate"}),(0,ti.pipeline)(n,(0,Wn.createDeflate)(),i,r);break;default:i.writeHead(200),(0,ti.pipeline)(n,i,r)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){H("incoming connection with id %s",e.id);let t=new Mh.Client(this,e);return e.protocol===3&&t.connect("/"),this}of(e,t){if(typeof e=="function"||e instanceof RegExp){let n=new Dh.ParentNamespace(this);return H("initializing parent namespace %s",n.name),typeof e=="function"?this.parentNsps.set(e,n):(this.parentNsps.set((a,r,c)=>c(null,e.test(a)),n),this.parentNamespacesFromRegExp.set(e,n)),t&&n.on("connect",t),n}String(e)[0]!=="/"&&(e="/"+e);let i=this._nsps.get(e);if(!i){for(let[n,a]of this.parentNamespacesFromRegExp)if(n.test(e))return H("attaching namespace %s to parent namespace %s",e,n),a.createChild(e);H("initializing namespace %s",e),i=new Gn.Namespace(this,e),this._nsps.set(e,i),e!=="/"&&this.sockets.emitReserved("new_namespace",i)}return t&&i.on("connect",t),i}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async t=>{t.sockets.forEach(i=>{i._onclose("server shutting down")}),await t.adapter.close()})),this.engine.close(),(0,$n.restoreAdapter)(),this.httpServer)return new Promise(t=>{this.httpServer.close(i=>{e&&e(i),i&&H("server was not running"),t()})});e&&e()}use(e){return this.sockets.use(e),this}to(e){return this.sockets.to(e)}in(e){return this.sockets.in(e)}except(e){return this.sockets.except(e)}send(...e){return this.sockets.emit("message",...e),this}write(...e){return this.sockets.emit("message",...e),this}serverSideEmit(e,...t){return this.sockets.serverSideEmit(e,...t)}serverSideEmitWithAck(e,...t){return this.sockets.serverSideEmitWithAck(e,...t)}allSockets(){return this.sockets.allSockets()}compress(e){return this.sockets.compress(e)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(e){return this.sockets.timeout(e)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(e){return this.sockets.socketsJoin(e)}socketsLeave(e){return this.sockets.socketsLeave(e)}disconnectSockets(e=!1){return this.sockets.disconnectSockets(e)}};q.Server=Et;var zh=Object.keys(Uc.EventEmitter.prototype).filter(function(s){return typeof Uc.EventEmitter.prototype[s]=="function"});zh.forEach(function(s){Et.prototype[s]=function(){return this.sockets[s].apply(this.sockets,arguments)}});Ht.exports=(s,e)=>new Et(s,e);Ht.exports.Server=Et;Ht.exports.Namespace=Gn.Namespace;Ht.exports.Socket=$c.Socket});var Xc={};De(Xc,{TileManager:()=>Kn});var si,kt,ii,Yc,Wh,$h,Kn,Jc=Me(()=>{si=M(require("sharp"),1),kt=M(require("fs"),1),ii=M(require("path"),1),Yc=require("url"),Wh=(0,Yc.fileURLToPath)(__importMetaUrl),$h=ii.default.dirname(Wh),Kn=class{constructor(e){this.robot=e,this.tileSize=100,this.lastTileChecksums=new Map,this.screenWidth=0,this.screenHeight=0,this.tilesPerRow=0,this.tilesPerColumn=0,this.totalTiles=0,this.frameCount=0,this.tempDir=ii.default.join($h,"../../temp"),this.compressionQuality=1,this.changeThreshold=1,this.scaleFactor=.99,this.scaledWidth=0,this.scaledHeight=0,this.isProcessing=!1,this.sharedScreenCache=null,this.lastCaptureTime=0,this.CACHE_TTL=100,this.dpiScale=1,this.captureWidth=0,this.captureHeight=0,kt.default.existsSync(this.tempDir)||kt.default.mkdirSync(this.tempDir,{recursive:!0}),this.initializeScreenDimensions()}initializeScreenDimensions(){try{let{width:e,height:t}=this.robot.getScreenSize();this.screenWidth=e,this.screenHeight=t,this.detectDpiScale(),this.scaledWidth=Math.floor(e*this.scaleFactor),this.scaledHeight=Math.floor(t*this.scaleFactor),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn;let i=100;if(this.totalTiles>i){let n=Math.ceil(Math.sqrt(this.scaledWidth*this.scaledHeight/i));this.tileSize=Math.max(n,120),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}console.log(`\u{1F5A5}\uFE0F TileManager: ${e}x${t} (DPI ${this.dpiScale}x) -> ${this.totalTiles} tiles`)}catch(e){console.error("Screen dimensions error:",e),this.screenWidth=1920,this.screenHeight=1080,this.dpiScale=1,this.captureWidth=1920,this.captureHeight=1080,this.scaledWidth=1728,this.scaledHeight=972,this.tileSize=120,this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}}detectDpiScale(){if(process.platform==="darwin"){let e=this.robot.screen.capture(0,0,1,1);this.dpiScale=e.byteWidth/e.bytesPerPixel}else{let e=Math.min(this.screenWidth*2,4096),t=Math.min(this.screenHeight*2,4096),i=this.robot.screen.capture(0,0,e,t),n=i.byteWidth/i.bytesPerPixel;n>this.screenWidth?this.dpiScale=n/this.screenWidth:this.dpiScale=1}this.captureWidth=Math.floor(this.screenWidth*this.dpiScale),this.captureHeight=Math.floor(this.screenHeight*this.dpiScale)}async captureFullScreen(){let e=this.robot.screen.capture(0,0,this.captureWidth,this.captureHeight),t=Buffer.from(e.image);for(let o=0;o<t.length;o+=4){let l=t[o],p=t[o+2];t[o]=p,t[o+2]=l}let i=e.byteWidth/e.bytesPerPixel,n=e.height,a=t,r=i,c=n;if(this.dpiScale>1||this.scaleFactor<1){let o=Math.floor(this.screenWidth*this.scaleFactor),l=Math.floor(this.screenHeight*this.scaleFactor);a=await(0,si.default)(t,{raw:{width:i,height:n,channels:e.bytesPerPixel}}).resize(o,l,{kernel:si.default.kernel.nearest,fit:"fill"}).raw().toBuffer(),r=o,c=l}return{buffer:a,width:r,height:c,channels:e.bytesPerPixel}}async getSharedScreenCapture(){let e=Date.now();return this.sharedScreenCache&&e-this.lastCaptureTime<this.CACHE_TTL?this.sharedScreenCache:(this.sharedScreenCache=await this.captureFullScreen(),this.lastCaptureTime=e,this.sharedScreenCache)}clearScreenCache(){}async detectChangedTiles(){if(this.isProcessing)return[];this.isProcessing=!0;try{let e=await this.getSharedScreenCapture(),t=[],i=[];this.frameCount++;let n=[];for(let r=0;r<this.totalTiles;r++)n[r]=this.extractTile(e,r);if(this.lastTileChecksums.size===0){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);return t.push(...c),t}for(let r=0;r<this.totalTiles;r++){let c=this.calculateTileChecksum(n[r].buffer),o=this.lastTileChecksums.get(r);c!==o&&(i.push(r),this.lastTileChecksums.set(r,c))}if(i.length/this.totalTiles>this.changeThreshold){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);t.push(...c.map(o=>({...o,fullRefresh:!0})))}else if(i.length>0){let r=i.map(o=>this.processTileAsync(e,o,n[o])),c=await Promise.all(r);t.push(...c)}return t}finally{this.isProcessing=!1}}async processTileAsync(e,t,i=null){let n=i||this.extractTile(e,t),a=this.calculateTileChecksum(n.buffer);this.lastTileChecksums.set(t,a);let r=await this.compressTileImage(n.buffer,n.width,n.height),{row:c,col:o}=this.getTilePosition(t);return{type:"tile-update",tileIndex:t,x:o*this.tileSize,y:c*this.tileSize,width:n.width,height:n.height,imageBase64:r,size:Math.round(r.length*.75/1024),timestamp:Date.now(),frameCount:this.frameCount}}calculateTileChecksum(e){let t=0;for(let i=0;i<e.length;i+=64)t+=e[i]||0,t^=e[i+1]||0,t+=(e[i+2]||0)<<1,t^=(e[i+3]||0)<<2;return t>>>0}getTilePosition(e){return{row:Math.floor(e/this.tilesPerRow),col:e%this.tilesPerRow}}extractTile(e,t){let{row:i,col:n}=this.getTilePosition(t),a=n*this.tileSize,r=i*this.tileSize,c=Math.min(a+this.tileSize,e.width),o=Math.min(r+this.tileSize,e.height),l=c-a,p=o-r,u=e.channels,d=l*u,h=Buffer.alloc(l*p*u);for(let m=0;m<p;m++){let f=((r+m)*e.width+a)*u,v=m*d;e.buffer.copy(h,v,f,f+d)}return{buffer:h,width:l,height:p,channels:u,tileIndex:t,x:a,y:r}}async compressTileImage(e,t,i){return`data:image/webp;base64,${(await(0,si.default)(e,{raw:{width:t,height:i,channels:4}}).webp({quality:85,effort:2,smartSubsample:!0}).toBuffer()).toString("base64")}`}async getScreenDimensions(){try{let e=await this.captureFullScreen();this.scaledWidth=e.width,this.scaledHeight=e.height,this.tilesPerRow=Math.ceil(e.width/this.tileSize),this.tilesPerColumn=Math.ceil(e.height/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}catch(e){console.error("Error getting dimensions:",e)}return{width:this.scaledWidth,height:this.scaledHeight,tileWidth:this.tileSize,tileHeight:this.tileSize,tileCount:this.totalTiles,scaleFactor:this.scaleFactor,originalWidth:this.screenWidth,originalHeight:this.screenHeight}}async compareClientTileHashes(e){if(this.isProcessing)return{tiles:[],currentHashes:[],changedIndices:[]};this.isProcessing=!0;try{let t=await this.getSharedScreenCapture(),i=[],n=[];this.frameCount++;let a=[],r=new Map;for(let o=0;o<this.totalTiles;o++){a[o]=this.extractTile(t,o);let l=this.calculateTileChecksum(a[o].buffer);r.set(o,l),this.lastTileChecksums.set(o,l)}if(!e||e.length===0){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);return i.push(...l),{tiles:i,currentHashes:Array.from(r.values())}}for(let o=0;o<this.totalTiles;o++)e[o]!==r.get(o)&&n.push(o);if(n.length/this.totalTiles>this.changeThreshold){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);i.push(...l.map(p=>({...p,fullRefresh:!0})))}else if(n.length>0){let o=n.map(p=>this.processTileAsync(t,p,a[p])),l=await Promise.all(o);i.push(...l)}return{tiles:i,currentHashes:Array.from(r.values()),changedIndices:n}}finally{this.isProcessing=!1}}reset(){this.lastTileChecksums.clear(),this.frameCount=0}cleanup(){try{kt.default.existsSync(this.tempDir)&&kt.default.readdirSync(this.tempDir).forEach(t=>kt.default.unlinkSync(ii.default.join(this.tempDir,t)))}catch(e){console.warn("Cleanup error:",e)}}}});var K,zt=Me(()=>{K={robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},resourceManagement:{inactiveTimeout:12e4,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50},streaming:{autoStreamingInterval:100,chunkSize:32,chunkDelay:5,updateDelayAfterAction:200}}});var Qc={};De(Qc,{ResourceManager:()=>Yn});var Yn,Zc=Me(()=>{zt();Yn=class{constructor(){this.activeClients=new Map,this.activeTimers=new Map,this.chunkTimers=new Map,this.memoryCheckInterval=null}startResourceMonitoring(){this.memoryCheckInterval=setInterval(()=>{let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024);t>K.resourceManagement.memoryWarningThreshold&&(console.warn(`\u26A0\uFE0F High memory: ${t}MB`),this.cleanupInactiveClients())},K.resourceManagement.memoryCheckInterval)}stopResourceMonitoring(){this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null)}addClient(e,t){this.activeClients.set(e,{...t,lastActivity:Date.now()})}getClient(e){return this.activeClients.get(e)}updateClientActivity(e){let t=this.activeClients.get(e);t&&(t.lastActivity=Date.now())}cleanupInactiveClients(){let e=Date.now(),t=K.resourceManagement.inactiveTimeout;for(let[i,n]of this.activeClients.entries())e-n.lastActivity>t&&(console.log(`\u{1F9F9} Cleaning inactive client: ${i}`),this.cleanupClientResources(i,n),this.activeClients.delete(i))}cleanupClientResources(e,t){try{t?.screenInterval&&(clearInterval(t.screenInterval),t.screenInterval=null);let i=this.activeTimers.get(e);i&&(i.forEach(a=>clearTimeout(a)),this.activeTimers.delete(e));let n=this.chunkTimers.get(e);n&&(n.forEach(a=>clearTimeout(a)),this.chunkTimers.delete(e)),t?.tileManager&&(t.tileManager.cleanup(),t.tileManager.reset())}catch(i){console.error(`Error cleaning up ${e}:`,i.message)}}removeClient(e){let t=this.activeClients.get(e);t&&(this.cleanupClientResources(e,t),this.activeClients.delete(e))}getChunkTimers(e){return this.chunkTimers.has(e)||this.chunkTimers.set(e,new Set),this.chunkTimers.get(e)}cleanupAll(){this.stopResourceMonitoring();for(let[e,t]of this.activeClients.entries())this.cleanupClientResources(e,t);this.activeClients.clear(),this.activeTimers.clear(),this.chunkTimers.clear()}}});var el={};De(el,{ScreenUpdateHelper:()=>Xn});var Xn,tl=Me(()=>{zt();Xn=class{constructor(e){this.resourceManager=e}async sendTilesInChunks(e,t,i,n=!1){if(!t||t.length===0)return;let a=K.streaming.chunkSize,r=[];for(let o=0;o<t.length;o+=a)r.push(t.slice(o,o+a));let c=this.resourceManager.getChunkTimers(e.id);for(let o=0;o<r.length;o++){let l=r[o],p=o===r.length-1,u=setTimeout(()=>{c.delete(u),e.connected&&e.emit("tiles-data",{tiles:l,timestamp:i,forceRefresh:!1,userAction:n,chunkInfo:{chunkIndex:o,totalChunks:r.length,isLastChunk:p}})},o*K.streaming.chunkDelay);c.add(u)}}}});var sl={};De(sl,{MouseHandler:()=>Jn});var Jn,il=Me(()=>{zt();Jn=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastMouseMove=0}setupMouseHandlers(e,t){let i=this.robot;e.on("mouse-move",t(n=>{let a=Date.now();if(!(a-this.lastMouseMove<K.throttling.mouseThrottle)){this.lastMouseMove=a;try{i.moveMouse(n.x,n.y),this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Mouse move error:",r.message)}}})),e.on("mouse-click",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseClick(n.button||"left",n.double||!1),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse click error:",a.message)}})),e.on("mouse-press",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("down",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse press error:",a.message)}})),e.on("mouse-release",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("up",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse release error:",a.message)}})),e.on("scroll",t(async n=>{try{let{direction:a,amount:r=60,horizontal:c=!1}=n;if(!this.resourceManager.getClient(e.id))return;let l=0,p=0;c||a==="left"||a==="right"?l=a==="right"?r:-r:p=a==="down"?-r:r,i.scrollMouse(l,p),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Scroll error:",a.message)}})),e.on("mouse-drag-select",t(n=>{try{let{startX:a,startY:r,endX:c,endY:o}=n,l=i.getScreenSize(),p=Math.round(a/100*l.width),u=Math.round(r/100*l.height),d=Math.round(c/100*l.width),h=Math.round(o/100*l.height),m=Math.max(0,Math.min(l.width-1,p)),f=Math.max(0,Math.min(l.height-1,u)),v=Math.max(0,Math.min(l.width-1,d)),y=Math.max(0,Math.min(l.height-1,h));i.moveMouse(m,f),i.mouseToggle("down","left"),i.dragMouse(v,y),i.mouseToggle("up","left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Drag selection error:",a.message)}}))}}});var nl={};De(nl,{KeyboardHandler:()=>Qn});var Qn,al=Me(()=>{zt();Qn=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastKeyPress=0,this.lastTypeText=0}setupKeyboardHandlers(e,t){let i=this.robot;e.on("key-press",t(n=>{let a=Date.now();if(!(a-this.lastKeyPress<K.throttling.keyThrottle)){this.lastKeyPress=a;try{if(!n.key||typeof n.key!="string")return;let r=n.key;if(r.length===1){i.keyTap(r,n.modifier||[]);for(let c of n.modifier||[])i.keyToggle(c,"up")}else switch(r.toLowerCase()){case"enter":case"return":i.keyTap("enter");break;case"space":i.keyTap(" ");break;case"backspace":i.keyTap("backspace");break;case"tab":i.keyTap("tab");break;case"escape":i.keyTap("escape");break;default:i.keyTap(r,n.modifier||[])}this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Key press error:",r.message)}}})),e.on("type-text",t(n=>{let a=Date.now();if(!(a-this.lastTypeText<K.throttling.typeTextThrottle)){this.lastTypeText=a;try{if(!n.text||typeof n.text!="string")return;let r=n.text;r.length>K.throttling.maxTextLength&&(r=r.substring(0,K.throttling.maxTextLength));let c=r.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");setTimeout(()=>{try{i.typeString(c),this.resourceManager.updateClientActivity(e.id);let o=this.resourceManager.getClient(e.id);o?.tileManager&&o.tileManager.clearScreenCache()}catch(o){console.error("Robot typeString error:",o.message)}},10)}catch(r){console.error("Type text error:",r.message)}}}))}}});var rl={};De(rl,{ScreenHandler:()=>Zn});var Zn,ol=Me(()=>{Zn=class{constructor(e,t){this.resourceManager=e,this.screenUpdateHelper=t}setupScreenHandlers(e,t){e.on("request-screen",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.detectChangedTiles();n.length>0&&e.emit("tiles-data",{tiles:n,timestamp:Date.now()}),this.resourceManager.updateClientActivity(e.id)}catch(n){console.error("Tile capture error:",n),e.emit("screen-error",{error:n.message})}})),e.on("request-screen-with-hashes",t(async i=>{let n=this.resourceManager.getClient(e.id);if(n)try{let a=i.tileHashes||[],r=await n.tileManager.compareClientTileHashes(a);r?.tiles?.length>0?e.emit("tiles-data",{tiles:r.tiles,timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:r.changedIndices}):e.emit("tiles-data",{tiles:[],timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:[]}),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Tile capture with hashes error:",a),e.emit("screen-error",{error:a.message})}})),e.on("start-streaming",t(()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u{1F680} Remote streaming started"),i.screenInterval=setInterval(async()=>{try{let n=await i.tileManager.detectChangedTiles();if(n.length>0){let a=Date.now();await this.screenUpdateHelper.sendTilesInChunks(e,n,a,!1)}}catch(n){console.error("Auto streaming error:",n)}},400))})),e.on("stop-streaming",()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u23F9\uFE0F Remote streaming stopped"))}),e.on("get-screen-dimensions",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.getScreenDimensions();e.emit("screen-dimensions",n)}catch(n){console.error("Get dimensions error:",n),e.emit("screen-error",{error:n.message})}}))}}});var Nl=x((Ng,sa)=>{"use strict";var ox=Object.prototype.hasOwnProperty,z="~";function Vt(){}Object.create&&(Vt.prototype=Object.create(null),new Vt().__proto__||(z=!1));function cx(s,e,t){this.fn=s,this.context=e,this.once=t||!1}function Il(s,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var a=new cx(t,i||s,n),r=z?z+e:e;return s._events[r]?s._events[r].fn?s._events[r]=[s._events[r],a]:s._events[r].push(a):(s._events[r]=a,s._eventsCount++),s}function li(s,e){--s._eventsCount===0?s._events=new Vt:delete s._events[e]}function F(){this._events=new Vt,this._eventsCount=0}F.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)ox.call(t,i)&&e.push(z?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};F.prototype.listeners=function(e){var t=z?z+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,a=i.length,r=new Array(a);n<a;n++)r[n]=i[n].fn;return r};F.prototype.listenerCount=function(e){var t=z?z+e:e,i=this._events[t];return i?i.fn?1:i.length:0};F.prototype.emit=function(e,t,i,n,a,r){var c=z?z+e:e;if(!this._events[c])return!1;var o=this._events[c],l=arguments.length,p,u;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),l){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,t),!0;case 3:return o.fn.call(o.context,t,i),!0;case 4:return o.fn.call(o.context,t,i,n),!0;case 5:return o.fn.call(o.context,t,i,n,a),!0;case 6:return o.fn.call(o.context,t,i,n,a,r),!0}for(u=1,p=new Array(l-1);u<l;u++)p[u-1]=arguments[u];o.fn.apply(o.context,p)}else{var d=o.length,h;for(u=0;u<d;u++)switch(o[u].once&&this.removeListener(e,o[u].fn,void 0,!0),l){case 1:o[u].fn.call(o[u].context);break;case 2:o[u].fn.call(o[u].context,t);break;case 3:o[u].fn.call(o[u].context,t,i);break;case 4:o[u].fn.call(o[u].context,t,i,n);break;default:if(!p)for(h=1,p=new Array(l-1);h<l;h++)p[h-1]=arguments[h];o[u].fn.apply(o[u].context,p)}}return!0};F.prototype.on=function(e,t,i){return Il(this,e,t,i,!1)};F.prototype.once=function(e,t,i){return Il(this,e,t,i,!0)};F.prototype.removeListener=function(e,t,i,n){var a=z?z+e:e;if(!this._events[a])return this;if(!t)return li(this,a),this;var r=this._events[a];if(r.fn)r.fn===t&&(!n||r.once)&&(!i||r.context===i)&&li(this,a);else{for(var c=0,o=[],l=r.length;c<l;c++)(r[c].fn!==t||n&&!r[c].once||i&&r[c].context!==i)&&o.push(r[c]);o.length?this._events[a]=o.length===1?o[0]:o:li(this,a)}return this};F.prototype.removeAllListeners=function(e){var t;return e?(t=z?z+e:e,this._events[t]&&li(this,t)):(this._events=new Vt,this._eventsCount=0),this};F.prototype.off=F.prototype.removeListener;F.prototype.addListener=F.prototype.on;F.prefixed=z;F.EventEmitter=F;typeof sa<"u"&&(sa.exports=F)});var Ll=x((Bg,Bl)=>{"use strict";Bl.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var pi=x(Dl=>{var Te=Dl,lx=require("url"),Ml=require("util")._extend,px=Ll(),ux=/(^|,)\s*upgrade\s*($|,)/i,ia=/^https|wss/;Te.isSSL=ia;Te.setupOutgoing=function(s,e,t,i){s.port=e[i||"target"].port||(ia.test(e[i||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(c){s[c]=e[i||"target"][c]}),s.method=e.method||t.method,s.headers=Ml({},t.headers),e.headers&&Ml(s.headers,e.headers),e.auth&&(s.auth=e.auth),e.ca&&(s.ca=e.ca),ia.test(e[i||"target"].protocol)&&(s.rejectUnauthorized=typeof e.secure>"u"?!0:e.secure),s.agent=e.agent||!1,s.localAddress=e.localAddress,s.agent||(s.headers=s.headers||{},(typeof s.headers.connection!="string"||!ux.test(s.headers.connection))&&(s.headers.connection="close"));var n=e[i||"target"],a=n&&e.prependPath!==!1&&n.path||"",r=e.toProxy?t.url:lx.parse(t.url).path||"";return r=e.ignorePath?"":r,s.path=Te.urlJoin(a,r),e.changeOrigin&&(s.headers.host=px(s.port,e[i||"target"].protocol)&&!dx(s.host)?s.host+":"+s.port:s.host),s};Te.setupSocket=function(s){return s.setTimeout(0),s.setNoDelay(!0),s.setKeepAlive(!0,0),s};Te.getPort=function(s){var e=s.headers.host?s.headers.host.match(/:(\d+)/):"";return e?e[1]:Te.hasEncryptedConnection(s)?"443":"80"};Te.hasEncryptedConnection=function(s){return!!(s.connection.encrypted||s.connection.pair)};Te.urlJoin=function(){var s=Array.prototype.slice.call(arguments),e=s.length-1,t=s[e],i=t.split("?"),n;return s[e]=i.shift(),n=[s.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],n.push.apply(n,i),n.join("?")};Te.rewriteCookieProperty=function s(e,t,i){return Array.isArray(e)?e.map(function(n){return s(n,t,i)}):e.replace(new RegExp("(;\\s*"+i+"=)([^;]+)","i"),function(n,a,r){var c;if(r in t)c=t[r];else if("*"in t)c=t["*"];else return n;return c?a+c:""})};function dx(s){return!!~s.indexOf(":")}});var Hl=x((Mg,Ul)=>{var ql=require("url"),Fl=pi(),fx=/^201|30(1|2|7|8)$/;Ul.exports={removeChunked:function(e,t,i){e.httpVersion==="1.0"&&delete i.headers["transfer-encoding"]},setConnection:function(e,t,i){e.httpVersion==="1.0"?i.headers.connection=e.headers.connection||"close":e.httpVersion!=="2.0"&&!i.headers.connection&&(i.headers.connection=e.headers.connection||"keep-alive")},setRedirectHostRewrite:function(e,t,i,n){if((n.hostRewrite||n.autoRewrite||n.protocolRewrite)&&i.headers.location&&fx.test(i.statusCode)){var a=ql.parse(n.target),r=ql.parse(i.headers.location);if(a.host!=r.host)return;n.hostRewrite?r.host=n.hostRewrite:n.autoRewrite&&(r.host=e.headers.host),n.protocolRewrite&&(r.protocol=n.protocolRewrite),i.headers.location=r.format()}},writeHeaders:function(e,t,i,n){var a=n.cookieDomainRewrite,r=n.cookiePathRewrite,c=n.preserveHeaderKeyCase,o,l=function(d,h){h!=null&&(a&&d.toLowerCase()==="set-cookie"&&(h=Fl.rewriteCookieProperty(h,a,"domain")),r&&d.toLowerCase()==="set-cookie"&&(h=Fl.rewriteCookieProperty(h,r,"path")),t.setHeader(String(d).trim(),h))};if(typeof a=="string"&&(a={"*":a}),typeof r=="string"&&(r={"*":r}),c&&i.rawHeaders!=null){o={};for(var p=0;p<i.rawHeaders.length;p+=2){var u=i.rawHeaders[p];o[u.toLowerCase()]=u}}Object.keys(i.headers).forEach(function(d){var h=i.headers[d];c&&o&&(d=o[d]||d),l(d,h)})},writeStatusCode:function(e,t,i){i.statusMessage?(t.statusCode=i.statusCode,t.statusMessage=i.statusMessage):t.statusCode=i.statusCode}}});var Wl=x((Dg,zl)=>{var Gt;zl.exports=function(){if(!Gt){try{Gt=R()("follow-redirects")}catch{}typeof Gt!="function"&&(Gt=function(){})}Gt.apply(null,arguments)}});var Yl=x((qg,ha)=>{var Yt=require("url"),Kt=Yt.URL,mx=require("http"),hx=require("https"),ca=require("stream").Writable,la=require("assert"),$l=Wl();(function(){var e=typeof process<"u",t=typeof window<"u"&&typeof document<"u",i=Je(Error.captureStackTrace);!e&&(t||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var pa=!1;try{la(new Kt(""))}catch(s){pa=s.code==="ERR_INVALID_URL"}var xx=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],ua=["abort","aborted","connect","error","socket","timeout"],da=Object.create(null);ua.forEach(function(s){da[s]=function(e,t,i){this._redirectable.emit(s,e,t,i)}});var aa=Xt("ERR_INVALID_URL","Invalid URL",TypeError),ra=Xt("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),vx=Xt("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",ra),gx=Xt("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),bx=Xt("ERR_STREAM_WRITE_AFTER_END","write after end"),yx=ca.prototype.destroy||Gl;function Y(s,e){ca.call(this),this._sanitizeOptions(s),this._options=s,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){try{t._processResponse(i)}catch(n){t.emit("error",n instanceof ra?n:new ra({cause:n}))}},this._performRequest()}Y.prototype=Object.create(ca.prototype);Y.prototype.abort=function(){ma(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Y.prototype.destroy=function(s){return ma(this._currentRequest,s),yx.call(this,s),this};Y.prototype.write=function(s,e,t){if(this._ending)throw new bx;if(!Xe(s)&&!Sx(s))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Je(e)&&(t=e,e=null),s.length===0){t&&t();return}this._requestBodyLength+s.length<=this._options.maxBodyLength?(this._requestBodyLength+=s.length,this._requestBodyBuffers.push({data:s,encoding:e}),this._currentRequest.write(s,e,t)):(this.emit("error",new gx),this.abort())};Y.prototype.end=function(s,e,t){if(Je(s)?(t=s,s=e=null):Je(e)&&(t=e,e=null),!s)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(s,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};Y.prototype.setHeader=function(s,e){this._options.headers[s]=e,this._currentRequest.setHeader(s,e)};Y.prototype.removeHeader=function(s){delete this._options.headers[s],this._currentRequest.removeHeader(s)};Y.prototype.setTimeout=function(s,e){var t=this;function i(r){r.setTimeout(s),r.removeListener("timeout",r.destroy),r.addListener("timeout",r.destroy)}function n(r){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),a()},s),i(r)}function a(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",a),t.removeListener("error",a),t.removeListener("response",a),t.removeListener("close",a),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",n)}return e&&this.on("timeout",e),this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(s){Y.prototype[s]=function(e,t){return this._currentRequest[s](e,t)}});["aborted","connection","socket"].forEach(function(s){Object.defineProperty(Y.prototype,s,{get:function(){return this._currentRequest[s]}})});Y.prototype._sanitizeOptions=function(s){if(s.headers||(s.headers={}),s.host&&(s.hostname||(s.hostname=s.host),delete s.host),!s.pathname&&s.path){var e=s.path.indexOf("?");e<0?s.pathname=s.path:(s.pathname=s.path.substring(0,e),s.search=s.path.substring(e))}};Y.prototype._performRequest=function(){var s=this._options.protocol,e=this._options.nativeProtocols[s];if(!e)throw new TypeError("Unsupported protocol "+s);if(this._options.agents){var t=s.slice(0,-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);i._redirectable=this;for(var n of ua)i.on(n,da[n]);if(this._currentUrl=/^\//.test(this._options.path)?Yt.format(this._options):this._options.path,this._isRedirect){var a=0,r=this,c=this._requestBodyBuffers;(function o(l){if(i===r._currentRequest)if(l)r.emit("error",l);else if(a<c.length){var p=c[a++];i.finished||i.write(p.data,p.encoding,o)}else r._ended&&i.end()})()}};Y.prototype._processResponse=function(s){var e=s.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:s.headers,statusCode:e});var t=s.headers.location;if(!t||this._options.followRedirects===!1||e<300||e>=400){s.responseUrl=this._currentUrl,s.redirects=this._redirects,this.emit("response",s),this._requestBodyBuffers=[];return}if(ma(this._currentRequest),s.destroy(),++this._redirectCount>this._options.maxRedirects)throw new vx;var i,n=this._options.beforeRedirect;n&&(i=Object.assign({Host:s.req.getHeader("host")},this._options.headers));var a=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],na(/^content-/i,this._options.headers));var r=na(/^host$/i,this._options.headers),c=fa(this._currentUrl),o=r||c.host,l=/^\w+:/.test(t)?this._currentUrl:Yt.format(Object.assign(c,{host:o})),p=wx(t,l);if($l("redirecting to",p.href),this._isRedirect=!0,oa(p,this._options),(p.protocol!==c.protocol&&p.protocol!=="https:"||p.host!==o&&!_x(p.host,o))&&na(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Je(n)){var u={headers:s.headers,statusCode:e},d={url:l,method:a,headers:i};n(this._options,u,d),this._sanitizeOptions(this._options)}this._performRequest()};function Vl(s){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(s).forEach(function(i){var n=i+":",a=t[n]=s[i],r=e[i]=Object.create(a);function c(l,p,u){return Ex(l)?l=oa(l):Xe(l)?l=oa(fa(l)):(u=p,p=Kl(l),l={protocol:n}),Je(p)&&(u=p,p=null),p=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,p),p.nativeProtocols=t,!Xe(p.host)&&!Xe(p.hostname)&&(p.hostname="::1"),la.equal(p.protocol,n,"protocol mismatch"),$l("options",p),new Y(p,u)}function o(l,p,u){var d=r.request(l,p,u);return d.end(),d}Object.defineProperties(r,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),e}function Gl(){}function fa(s){var e;if(pa)e=new Kt(s);else if(e=Kl(Yt.parse(s)),!Xe(e.protocol))throw new aa({input:s});return e}function wx(s,e){return pa?new Kt(s,e):fa(Yt.resolve(e,s))}function Kl(s){if(/^\[/.test(s.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(s.hostname))throw new aa({input:s.href||s});if(/^\[/.test(s.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(s.host))throw new aa({input:s.href||s});return s}function oa(s,e){var t=e||{};for(var i of xx)t[i]=s[i];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function na(s,e){var t;for(var i in e)s.test(i)&&(t=e[i],delete e[i]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Xt(s,e,t){function i(n){Je(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,n||{}),this.code=s,this.message=this.cause?e+": "+this.cause.message:e}return i.prototype=new(t||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+s+"]",enumerable:!1}}),i}function ma(s,e){for(var t of ua)s.removeListener(t,da[t]);s.on("error",Gl),s.destroy(e)}function _x(s,e){la(Xe(s)&&Xe(e));var t=s.length-e.length-1;return t>0&&s[t]==="."&&s.endsWith(e)}function Xe(s){return typeof s=="string"||s instanceof String}function Je(s){return typeof s=="function"}function Sx(s){return typeof s=="object"&&"length"in s}function Ex(s){return Kt&&s instanceof Kt}ha.exports=Vl({http:mx,https:hx});ha.exports.wrap=Vl});var Jl=x((Fg,Xl)=>{var kx=require("http"),Cx=require("https"),Jt=Hl(),ui=pi(),Tx=Yl();Jt=Object.keys(Jt).map(function(s){return Jt[s]});var Ox={http:kx,https:Cx};Xl.exports={deleteLength:function(e,t,i){(e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&(e.headers["content-length"]="0",delete e.headers["transfer-encoding"])},timeout:function(e,t,i){i.timeout&&e.socket.setTimeout(i.timeout)},XHeaders:function(e,t,i){if(i.xfwd){var n=e.isSpdy||ui.hasEncryptedConnection(e),a={for:e.connection.remoteAddress||e.socket.remoteAddress,port:ui.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(r){e.headers["x-forwarded-"+r]=(e.headers["x-forwarded-"+r]||"")+(e.headers["x-forwarded-"+r]?",":"")+a[r]}),e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers.host||""}},stream:function(e,t,i,n,a,r){a.emit("start",e,t,i.target||i.forward);var c=i.followRedirects?Tx:Ox,o=c.http,l=c.https;if(i.forward){var p=(i.forward.protocol==="https:"?l:o).request(ui.setupOutgoing(i.ssl||{},i,e,"forward")),u=m(p,i.forward);if(e.on("error",u),p.on("error",u),(i.buffer||e).pipe(p),!i.target)return t.end()}var d=(i.target.protocol==="https:"?l:o).request(ui.setupOutgoing(i.ssl||{},i,e));d.on("socket",function(f){a&&!d.getHeader("expect")&&a.emit("proxyReq",d,e,t,i)}),i.proxyTimeout&&d.setTimeout(i.proxyTimeout,function(){d.abort()}),e.on("aborted",function(){d.abort()});var h=m(d,i.target);e.on("error",h),d.on("error",h);function m(f,v){return function(g){if(e.socket.destroyed&&g.code==="ECONNRESET")return a.emit("econnreset",g,e,t,v),f.abort();r?r(g,e,t,v):a.emit("error",g,e,t,v)}}(i.buffer||e).pipe(d),d.on("response",function(f){if(a&&a.emit("proxyRes",f,e,t),!t.headersSent&&!i.selfHandleResponse)for(var v=0;v<Jt.length&&!Jt[v](e,t,f,i);v++);t.finished?a&&a.emit("end",e,t,f):(f.on("end",function(){a&&a.emit("end",e,t,f)}),i.selfHandleResponse||f.pipe(t))})}}});var Zl=x((Ug,Ql)=>{var Rx=require("http"),Ax=require("https"),Tt=pi();Ql.exports={checkMethodAndHeader:function(e,t){if(e.method!=="GET"||!e.headers.upgrade||e.headers.upgrade.toLowerCase()!=="websocket")return t.destroy(),!0},XHeaders:function(e,t,i){if(i.xfwd){var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:Tt.getPort(e),proto:Tt.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(a){e.headers["x-forwarded-"+a]=(e.headers["x-forwarded-"+a]||"")+(e.headers["x-forwarded-"+a]?",":"")+n[a]})}},stream:function(e,t,i,n,a,r){var c=function(p,u){return Object.keys(u).reduce(function(d,h){var m=u[h];if(!Array.isArray(m))return d.push(h+": "+m),d;for(var f=0;f<m.length;f++)d.push(h+": "+m[f]);return d},[p]).join(`\r
19
19
  `)+`\r
20
20
  \r
21
- `};Ct.setupSocket(t),n&&n.length&&t.unshift(n);var o=(Ct.isSSL.test(i.target.protocol)?Rx:Ox).request(Ct.setupOutgoing(i.ssl||{},i,e));return a&&a.emit("proxyReqWs",o,e,t,i,n),o.on("error",l),o.on("response",function(p){p.upgrade||(t.write(c("HTTP/"+p.httpVersion+" "+p.statusCode+" "+p.statusMessage,p.headers)),p.pipe(t))}),o.on("upgrade",function(p,u,d){u.on("error",l),u.on("end",function(){a.emit("close",p,u,d)}),t.on("error",function(){u.end()}),Ct.setupSocket(u),d&&d.length&&u.unshift(d),t.write(c("HTTP/1.1 101 Switching Protocols",p.headers)),u.pipe(t).pipe(u),a.emit("open",u),a.emit("proxySocket",u)}),o.end();function l(p){r?r(p,e,t):a.emit("error",p,e,t),t.end()}}}});var rp=x((Ug,ap)=>{var ip=ap.exports,ep=require("util")._extend,Ax=require("url").parse,np=Nl(),Px=require("http"),jx=require("https"),tp=Jl(),sp=Zl();ip.Server=Qe;function xa(s){return function(e){return function(t,i){var n=s==="ws"?this.wsPasses:this.webPasses,a=[].slice.call(arguments),r=a.length-1,c,o;typeof a[r]=="function"&&(o=a[r],r--);var l=e;if(!(a[r]instanceof Buffer)&&a[r]!==i&&(l=ep({},e),ep(l,a[r]),r--),a[r]instanceof Buffer&&(c=a[r]),["target","forward"].forEach(function(u){typeof l[u]=="string"&&(l[u]=Ax(l[u]))}),!l.target&&!l.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var p=0;p<n.length&&!n[p](t,i,l,c,this,o);p++);}}}ip.createRightProxy=xa;function Qe(s){np.call(this),s=s||{},s.prependPath=s.prependPath!==!1,this.web=this.proxyRequest=xa("web")(s),this.ws=this.proxyWebsocketRequest=xa("ws")(s),this.options=s,this.webPasses=Object.keys(tp).map(function(e){return tp[e]}),this.wsPasses=Object.keys(sp).map(function(e){return sp[e]}),this.on("error",this.onError,this)}require("util").inherits(Qe,np);Qe.prototype.onError=function(s){if(this.listeners("error").length===1)throw s};Qe.prototype.listen=function(s,e){var t=this,i=function(n,a){t.web(n,a)};return this._server=this.options.ssl?jx.createServer(this.options.ssl,i):Px.createServer(i),this.options.ws&&this._server.on("upgrade",function(n,a,r){t.ws(n,a,r)}),this._server.listen(s,e),this};Qe.prototype.close=function(s){var e=this;this._server&&this._server.close(t);function t(){e._server=null,s&&s.apply(null,arguments)}};Qe.prototype.before=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n,0,t)};Qe.prototype.after=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n++,0,t)}});var cp=x((Hg,op)=>{var Qt=rp().Server;function va(s){return new Qt(s)}Qt.createProxyServer=va;Qt.createServer=va;Qt.createProxy=va;op.exports=Qt});var pp=x((zg,lp)=>{lp.exports=cp()});var Ux={};De(Ux,{startServer:()=>Sp});module.exports=Ap(Ux);var yp=require("http"),wp=require("url"),_p=require("child_process");var Gc=M(Vc(),1),{Server:Kc,Namespace:cg,Socket:lg}=Gc.default;var ul=M(require("node-pty"),1),ai=M(require("os"),1),ri=M(require("fs"),1),dl=M(require("path"),1);var Be=null;function Vh(){return process.env.CODESPACES==="true"||process.env.GITPOD_WORKSPACE_ID||process.platform==="linux"&&!process.env.DISPLAY}async function cl(){if(Be!==null)return Be;if(Vh())return Be=!1,console.log("\u2139\uFE0F Remote desktop not available (headless environment)"),Be;try{let s=await import("@hurdlegroup/robotjs");(s.default||s).getScreenSize(),Be=!0}catch{Be=!1,console.log("\u2139\uFE0F Remote desktop not available (no display or robotjs not installed)")}return Be}function ll(){return Be===!0}async function pl(s){let e=null,t=null,i=null,n=null,a=null,r=null,c=null,o=async()=>{if(e)return!0;try{let f=await import("@hurdlegroup/robotjs");e=f.default||f;let{TileManager:v}=await Promise.resolve().then(()=>(Jc(),Xc)),{ResourceManager:y}=await Promise.resolve().then(()=>(Zc(),Qc)),{ScreenUpdateHelper:g}=await Promise.resolve().then(()=>(tl(),el)),{MouseHandler:L}=await Promise.resolve().then(()=>(il(),sl)),{KeyboardHandler:A}=await Promise.resolve().then(()=>(al(),nl)),{ScreenHandler:ue}=await Promise.resolve().then(()=>(ol(),rl));return t=v,i=y,n=g,a=L,r=A,c=ue,e.setMouseDelay(2),e.setKeyboardDelay(2),!0}catch(f){return console.error("\u274C Failed to load remote modules:",f.message),!1}},l=s.of("/remote"),p=null,u=null,d=null,h=null,m=null;l.on("connection",async f=>{let v=f.handshake.auth?.apiKey;if(!v){console.log("\u274C Remote connection rejected: no apiKey"),f.disconnect();return}if(console.log("\u{1F5A5}\uFE0F Remote client connected:",f.id),!await o()){f.emit("error",{message:"Remote desktop not available"}),f.disconnect();return}p||(p=new i,u=new n(p),d=new a(e,p),h=new r(e,p),m=new c(p,u),p.startResourceMonitoring()),f.isAuthenticated=!0;let g=new t(e);p.addClient(f.id,{tileManager:g,screenInterval:null,authenticated:!0,apiKey:v});let L=A=>A;d.setupMouseHandlers(f,L),h.setupKeyboardHandlers(f,L),m.setupScreenHandlers(f,L),f.on("disconnect",()=>{console.log("\u{1F5A5}\uFE0F Remote client disconnected:",f.id),p.removeClient(f.id)})})}var pe=new Map,ea="/tmp/9remote-uploads";ri.default.existsSync(ea)||ri.default.mkdirSync(ea,{recursive:!0});var ni=0,zt=null,Gh=6e4;function oi(){return process.env.CODESPACES==="true"}function Kh(){return oi()?{isCodespaces:!0,codespaceName:process.env.CODESPACE_NAME||"unknown"}:null}function Yh(){zt||(zt=setInterval(()=>{process.memoryUsage()},Gh))}function Xh(){zt&&(console.log("\u23F8\uFE0F Stopping Codespaces heartbeat"),clearInterval(zt),zt=null)}function fl(){return process.platform==="win32"?process.env.COMSPEC||"powershell.exe":process.env.SHELL||"/bin/zsh"}function Jh(){return oi()?"/workspaces":ai.default.homedir()}function Qh(){let s=ai.default.homedir(),e=ai.default.userInfo().username,t=fl(),i={...process.env};return Object.assign(i,{HOME:s,USER:e,LOGNAME:e,SHELL:t,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",PWD:s,OLDPWD:s,TMPDIR:i.TMPDIR||(process.platform==="win32"?i.TEMP||i.TMP:"/tmp"),__CF_USER_TEXT_ENCODING:i.__CF_USER_TEXT_ENCODING,XPC_FLAGS:i.XPC_FLAGS,XPC_SERVICE_NAME:i.XPC_SERVICE_NAME,SSH_AUTH_SOCK:i.SSH_AUTH_SOCK,TERM_PROGRAM:"9Remote",TERM_PROGRAM_VERSION:"1.0.0",ITERM_SESSION_ID:`9remote-${Date.now()}`,SHLVL:"1"}),i}function ml(s){s.on("connection",e=>{console.log(`\u{1F4DF} Terminal client connected: ${e.id}`),ni++,oi()&&ni===1&&Yh(),e.emit("serverInfo",{remoteAvailable:ll(),...Kh()}),e.on("getSessions",t=>{let i=[];for(let[n,a]of pe)i.push({id:n,name:a.name,createdAt:a.createdAt});t(i)}),e.on("createSession",({name:t},i)=>{let n=`session-${Date.now()}`,a=fl(),r=Qh(),c=Jh();try{let o=process.platform==="win32"?[]:["-l"],l=ul.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:c,env:r,useConpty:!1}),p={pty:l,name:t||`Terminal ${pe.size+1}`,createdAt:Date.now(),buffer:[]},u=50*1024;l.onData(d=>{p.buffer.push(d);let h=p.buffer.reduce((m,f)=>m+f.length,0);for(;h>u&&p.buffer.length>1;){let m=p.buffer.shift();h-=m.length}s.emit("output",{sessionId:n,data:Buffer.from(d,"utf-8")})}),pe.set(n,p),console.log(`PTY created: sessionId=${n}, name=${t}`),l.onExit(({exitCode:d})=>{console.log(`PTY exited: sessionId=${n}, code=${d}`),pe.delete(n),s.emit("sessionClosed",n)}),i({success:!0,sessionId:n})}catch(o){console.error("Failed to create session:",o),i({success:!1,error:o.message})}}),e.on("joinSession",(t,i)=>{let n=pe.get(t);if(!n){i({success:!1,error:"Session not found"});return}if(n.buffer&&n.buffer.length>0){let a=n.buffer.join("");e.emit("output",{sessionId:t,data:Buffer.from(a,"utf-8")})}i({success:!0,name:n.name})}),e.on("input",({sessionId:t,data:i})=>{if(!t)return;let n=pe.get(t);if(n){let a=Buffer.isBuffer(i)?i.toString("utf-8"):i;n.pty.write(a)}}),e.on("upload-file",({sessionId:t,filename:i,size:n,type:a,content:r})=>{if(!t)return;let c=pe.get(t);if(c)try{let o=Date.now(),l=i.replace(/[^a-zA-Z0-9._-]/g,"_"),p=`${o}_${l}`,u=dl.default.join(ea,p),d=Buffer.from(r,"base64");ri.default.writeFileSync(u,d),console.log(`\u{1F4CE} File uploaded: ${u} (${n} bytes)`),c.pty.write(u)}catch(o){console.error("File upload error:",o),e.emit("output",{sessionId:t,data:Buffer.from(`\r
21
+ `};Tt.setupSocket(t),n&&n.length&&t.unshift(n);var o=(Tt.isSSL.test(i.target.protocol)?Ax:Rx).request(Tt.setupOutgoing(i.ssl||{},i,e));return a&&a.emit("proxyReqWs",o,e,t,i,n),o.on("error",l),o.on("response",function(p){p.upgrade||(t.write(c("HTTP/"+p.httpVersion+" "+p.statusCode+" "+p.statusMessage,p.headers)),p.pipe(t))}),o.on("upgrade",function(p,u,d){u.on("error",l),u.on("end",function(){a.emit("close",p,u,d)}),t.on("error",function(){u.end()}),Tt.setupSocket(u),d&&d.length&&u.unshift(d),t.write(c("HTTP/1.1 101 Switching Protocols",p.headers)),u.pipe(t).pipe(u),a.emit("open",u),a.emit("proxySocket",u)}),o.end();function l(p){r?r(p,e,t):a.emit("error",p,e,t),t.end()}}}});var rp=x((Hg,ap)=>{var ip=ap.exports,ep=require("util")._extend,Px=require("url").parse,np=Nl(),jx=require("http"),Ix=require("https"),tp=Jl(),sp=Zl();ip.Server=Qe;function xa(s){return function(e){return function(t,i){var n=s==="ws"?this.wsPasses:this.webPasses,a=[].slice.call(arguments),r=a.length-1,c,o;typeof a[r]=="function"&&(o=a[r],r--);var l=e;if(!(a[r]instanceof Buffer)&&a[r]!==i&&(l=ep({},e),ep(l,a[r]),r--),a[r]instanceof Buffer&&(c=a[r]),["target","forward"].forEach(function(u){typeof l[u]=="string"&&(l[u]=Px(l[u]))}),!l.target&&!l.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var p=0;p<n.length&&!n[p](t,i,l,c,this,o);p++);}}}ip.createRightProxy=xa;function Qe(s){np.call(this),s=s||{},s.prependPath=s.prependPath!==!1,this.web=this.proxyRequest=xa("web")(s),this.ws=this.proxyWebsocketRequest=xa("ws")(s),this.options=s,this.webPasses=Object.keys(tp).map(function(e){return tp[e]}),this.wsPasses=Object.keys(sp).map(function(e){return sp[e]}),this.on("error",this.onError,this)}require("util").inherits(Qe,np);Qe.prototype.onError=function(s){if(this.listeners("error").length===1)throw s};Qe.prototype.listen=function(s,e){var t=this,i=function(n,a){t.web(n,a)};return this._server=this.options.ssl?Ix.createServer(this.options.ssl,i):jx.createServer(i),this.options.ws&&this._server.on("upgrade",function(n,a,r){t.ws(n,a,r)}),this._server.listen(s,e),this};Qe.prototype.close=function(s){var e=this;this._server&&this._server.close(t);function t(){e._server=null,s&&s.apply(null,arguments)}};Qe.prototype.before=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n,0,t)};Qe.prototype.after=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n++,0,t)}});var cp=x((zg,op)=>{var Qt=rp().Server;function va(s){return new Qt(s)}Qt.createProxyServer=va;Qt.createServer=va;Qt.createProxy=va;op.exports=Qt});var pp=x((Wg,lp)=>{lp.exports=cp()});var Hx={};De(Hx,{startServer:()=>Sp});module.exports=Ap(Hx);var yp=require("http"),wp=require("url"),_p=require("child_process");var Gc=M(Vc(),1),{Server:Kc,Namespace:lg,Socket:pg}=Gc.default;var ul=M(require("node-pty"),1),ai=M(require("os"),1),ri=M(require("fs"),1),dl=M(require("path"),1);var Le=null;function Vh(){return process.env.CODESPACES==="true"||process.env.GITPOD_WORKSPACE_ID||process.platform==="linux"&&!process.env.DISPLAY}async function cl(){if(Le!==null)return Le;if(Vh())return Le=!1,console.log("\u2139\uFE0F Remote desktop not available (headless environment)"),Le;try{let s=await import("@hurdlegroup/robotjs");(s.default||s).getScreenSize(),Le=!0}catch{Le=!1,console.log("\u2139\uFE0F Remote desktop not available (no display or robotjs not installed)")}return Le}function ll(){return Le===!0}async function pl(s){let e=null,t=null,i=null,n=null,a=null,r=null,c=null,o=async()=>{if(e)return!0;try{let f=await import("@hurdlegroup/robotjs");e=f.default||f;let{TileManager:v}=await Promise.resolve().then(()=>(Jc(),Xc)),{ResourceManager:y}=await Promise.resolve().then(()=>(Zc(),Qc)),{ScreenUpdateHelper:g}=await Promise.resolve().then(()=>(tl(),el)),{MouseHandler:L}=await Promise.resolve().then(()=>(il(),sl)),{KeyboardHandler:A}=await Promise.resolve().then(()=>(al(),nl)),{ScreenHandler:ue}=await Promise.resolve().then(()=>(ol(),rl));return t=v,i=y,n=g,a=L,r=A,c=ue,e.setMouseDelay(2),e.setKeyboardDelay(2),!0}catch(f){return console.error("\u274C Failed to load remote modules:",f.message),!1}},l=s.of("/remote"),p=null,u=null,d=null,h=null,m=null;l.on("connection",async f=>{let v=f.handshake.auth?.apiKey;if(!v){console.log("\u274C Remote connection rejected: no apiKey"),f.disconnect();return}if(console.log("\u{1F5A5}\uFE0F Remote client connected:",f.id),!await o()){f.emit("error",{message:"Remote desktop not available"}),f.disconnect();return}p||(p=new i,u=new n(p),d=new a(e,p),h=new r(e,p),m=new c(p,u),p.startResourceMonitoring()),f.isAuthenticated=!0;let g=new t(e);p.addClient(f.id,{tileManager:g,screenInterval:null,authenticated:!0,apiKey:v});let L=A=>A;d.setupMouseHandlers(f,L),h.setupKeyboardHandlers(f,L),m.setupScreenHandlers(f,L),f.on("disconnect",()=>{console.log("\u{1F5A5}\uFE0F Remote client disconnected:",f.id),p.removeClient(f.id)})})}var pe=new Map,ea="/tmp/9remote-uploads";ri.default.existsSync(ea)||ri.default.mkdirSync(ea,{recursive:!0});var ni=0,Wt=null,Gh=6e4;function oi(){return process.env.CODESPACES==="true"}function Kh(){return oi()?{isCodespaces:!0,codespaceName:process.env.CODESPACE_NAME||"unknown"}:null}function Yh(){Wt||(Wt=setInterval(()=>{process.memoryUsage()},Gh))}function Xh(){Wt&&(console.log("\u23F8\uFE0F Stopping Codespaces heartbeat"),clearInterval(Wt),Wt=null)}function fl(){return process.platform==="win32"?process.env.COMSPEC||"powershell.exe":process.env.SHELL||"/bin/zsh"}function Jh(){return oi()?"/workspaces":ai.default.homedir()}function Qh(){let s=ai.default.homedir(),e=ai.default.userInfo().username,t=fl(),i={...process.env};return Object.assign(i,{HOME:s,USER:e,LOGNAME:e,SHELL:t,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",PWD:s,OLDPWD:s,TMPDIR:i.TMPDIR||(process.platform==="win32"?i.TEMP||i.TMP:"/tmp"),__CF_USER_TEXT_ENCODING:i.__CF_USER_TEXT_ENCODING,XPC_FLAGS:i.XPC_FLAGS,XPC_SERVICE_NAME:i.XPC_SERVICE_NAME,SSH_AUTH_SOCK:i.SSH_AUTH_SOCK,TERM_PROGRAM:"9Remote",TERM_PROGRAM_VERSION:"1.0.0",ITERM_SESSION_ID:`9remote-${Date.now()}`,SHLVL:"1"}),i}function ml(s){s.on("connection",e=>{console.log(`\u{1F4DF} Terminal client connected: ${e.id}`),ni++,oi()&&ni===1&&Yh(),e.emit("serverInfo",{remoteAvailable:ll(),...Kh()}),e.on("getSessions",t=>{let i=[];for(let[n,a]of pe)i.push({id:n,name:a.name,createdAt:a.createdAt});t(i)}),e.on("createSession",({name:t},i)=>{let n=`session-${Date.now()}`,a=fl(),r=Qh(),c=Jh();try{let o=process.platform==="win32"?[]:["-l"],l=ul.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:c,env:r,useConpty:!1}),p={pty:l,name:t||`Terminal ${pe.size+1}`,createdAt:Date.now(),buffer:[]},u=50*1024;l.onData(d=>{p.buffer.push(d);let h=p.buffer.reduce((m,f)=>m+f.length,0);for(;h>u&&p.buffer.length>1;){let m=p.buffer.shift();h-=m.length}s.emit("output",{sessionId:n,data:Buffer.from(d,"utf-8")})}),pe.set(n,p),console.log(`PTY created: sessionId=${n}, name=${t}`),l.onExit(({exitCode:d})=>{console.log(`PTY exited: sessionId=${n}, code=${d}`),pe.delete(n),s.emit("sessionClosed",n)}),i({success:!0,sessionId:n})}catch(o){console.error("Failed to create session:",o),i({success:!1,error:o.message})}}),e.on("joinSession",(t,i)=>{let n=pe.get(t);if(!n){i({success:!1,error:"Session not found"});return}if(n.buffer&&n.buffer.length>0){let a=n.buffer.join("");e.emit("output",{sessionId:t,data:Buffer.from(a,"utf-8")})}i({success:!0,name:n.name})}),e.on("input",({sessionId:t,data:i})=>{if(!t)return;let n=pe.get(t);if(n){let a=Buffer.isBuffer(i)?i.toString("utf-8"):i;n.pty.write(a)}}),e.on("upload-file",({sessionId:t,filename:i,size:n,type:a,content:r})=>{if(!t)return;let c=pe.get(t);if(c)try{let o=Date.now(),l=i.replace(/[^a-zA-Z0-9._-]/g,"_"),p=`${o}_${l}`,u=dl.default.join(ea,p),d=Buffer.from(r,"base64");ri.default.writeFileSync(u,d),console.log(`\u{1F4CE} File uploaded: ${u} (${n} bytes)`),c.pty.write(u)}catch(o){console.error("File upload error:",o),e.emit("output",{sessionId:t,data:Buffer.from(`\r
22
22
  Error uploading file: ${o.message}\r
23
- `,"utf-8")})}}),e.on("resize",({sessionId:t,cols:i,rows:n})=>{if(!t)return;let a=pe.get(t);a&&a.pty.resize(i,n)}),e.on("deleteSession",(t,i)=>{let n=pe.get(t);n?(n.pty.kill(),pe.delete(t),i({success:!0})):i({success:!1,error:"Session not found"})}),e.on("renameSession",({sessionId:t,name:i},n)=>{let a=pe.get(t);a?(a.name=i,n({success:!0})):n({success:!1,error:"Session not found"})}),e.on("disconnect",()=>{console.log(`\u{1F4DF} Terminal client disconnected: ${e.id}`),ni--,oi()&&ni===0&&Xh()})})}var _=M(require("fs"),1),ke=M(require("path"),1),Wt=M(require("os"),1),Le=require("child_process");var hl=["node_modules",".git","dist","build",".next","coverage","__pycache__",".cache",".vscode",".idea",".turbo",".vercel",".output"],xl=[".png",".jpg",".jpeg",".gif",".webp",".ico",".svg",".bmp",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".wav",".avi",".mov",".webm",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db"];function vl(s){return hl.includes(s)}function $t(s){let e=ke.default.extname(s).toLowerCase();return xl.includes(e)}function Zh(s,e){return s.isDirectory()?"folder":$t(e)?"binary":"file"}function ci(s){return s<1024?`${s}B`:s<1024*1024?`${(s/1024).toFixed(1)}KB`:`${(s/(1024*1024)).toFixed(1)}MB`}function gl(s,e,t,i=50){if(!(t.length>=i))try{let n=_.default.readdirSync(s);for(let a of n){if(t.length>=i)return;if(a.startsWith(".")||vl(a))continue;let r=ke.default.join(s,a);try{let c=_.default.statSync(r);c.isDirectory()?gl(r,e,t,i):a.toLowerCase().includes(e.toLowerCase())&&t.push({name:a,path:r,type:$t(a)?"binary":"file",size:c.size,sizeFormatted:ci(c.size)})}catch{}}}catch{}}function bl(s){s.on("connection",e=>{e.on("getFiles",({dirPath:t},i)=>{try{let n=t||Wt.default.homedir(),a=t?.startsWith("~")?t.replace("~",Wt.default.homedir()):n;if(!_.default.existsSync(a)){i({success:!1,error:"Directory not found"});return}let r=_.default.readdirSync(a),c=[];for(let o of r)if(!(o.startsWith(".")&&o!==".env"&&o!==".env.example")&&!vl(o))try{let l=ke.default.join(a,o),p=_.default.statSync(l);c.push({name:o,path:l,type:Zh(p,o),size:p.isFile()?p.size:null,sizeFormatted:p.isFile()?ci(p.size):null,modified:p.mtime.getTime()})}catch{}c.sort((o,l)=>o.type==="folder"&&l.type!=="folder"?-1:o.type!=="folder"&&l.type==="folder"?1:o.name.localeCompare(l.name)),i({success:!0,files:c,currentPath:a,parentPath:ke.default.dirname(a)})}catch(n){i({success:!1,error:n.message})}}),e.on("searchFiles",({workspace:t,query:i},n)=>{try{if(!i||i.length<2){n({success:!0,files:[]});return}let a=t?.startsWith("~")?t.replace("~",Wt.default.homedir()):t||Wt.default.homedir();if(!_.default.existsSync(a)){n({success:!1,error:"Workspace not found"});return}let r=[];gl(a,i,r,50),r.sort((c,o)=>{let l=c.name.toLowerCase()===i.toLowerCase(),p=o.name.toLowerCase()===i.toLowerCase();return l&&!p?-1:!l&&p?1:c.path.length-o.path.length}),n({success:!0,files:r})}catch(a){n({success:!1,error:a.message})}}),e.on("readFile",({filePath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"File not found"});return}let n=_.default.statSync(t);if(n.size>204800){i({success:!1,error:`File too large (${ci(n.size)}). Max ${ci(204800)}`});return}if($t(t)){i({success:!1,error:"Cannot open binary file"});return}let a=_.default.readFileSync(t,"utf-8");i({success:!0,content:a})}catch(n){i({success:!1,error:n.message})}}),e.on("writeFile",({filePath:t,content:i},n)=>{try{_.default.writeFileSync(t,i,"utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("createItem",({itemPath:t,type:i},n)=>{try{if(_.default.existsSync(t)){n({success:!1,error:"Item already exists"});return}i==="folder"?_.default.mkdirSync(t,{recursive:!0}):_.default.writeFileSync(t,"","utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("deleteItem",({itemPath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"Item not found"});return}_.default.statSync(t).isDirectory()?_.default.rmSync(t,{recursive:!0}):_.default.unlinkSync(t),i({success:!0})}catch(n){i({success:!1,error:n.message})}}),e.on("renameItem",({oldPath:t,newPath:i},n)=>{try{if(!_.default.existsSync(t)){n({success:!1,error:"Item not found"});return}if(_.default.existsSync(i)){n({success:!1,error:"Target already exists"});return}_.default.renameSync(t,i),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("gitStatus",({repoPath:t},i)=>{try{let a=(0,Le.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
24
- `).filter(Boolean),r=[],c={};try{(0,Le.execSync)("git diff HEAD --numstat",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
25
- `).filter(Boolean).forEach(l=>{let p=l.split(" ");if(p.length>=3){let u=p[0]==="-"?0:parseInt(p[0],10)||0,d=p[1]==="-"?0:parseInt(p[1],10)||0;c[p[2]]={added:u,deleted:d}}})}catch{}for(let o of a){let l=o.match(/^([MADRCU?! ]{1,2})\s+(.+)$/);if(!l)continue;let p=l[1],u=l[2];if(!u)continue;let d;p.includes("?")?d="?":p.includes("A")?d="A":p.includes("D")?d="D":p.includes("M")?d="M":p.includes("R")?d="R":d=p.trim()[0]||"?";let h=c[u]||{added:0,deleted:0};if(d==="?")try{let m=ke.default.join(t,u);if(_.default.existsSync(m)&&!$t(u)){let f=_.default.readFileSync(m,"utf-8");h.added=f.split(`
26
- `).length,h.deleted=0}}catch{}r.push({status:d,path:u,added:h.added,deleted:h.deleted})}i({success:!0,files:r})}catch{i({success:!1,error:"Not a git repository or git not available"})}}),e.on("gitDiff",({repoPath:t,file:i,status:n},a)=>{try{let r="";if(i&&n==="?"){let c=ke.default.join(t,i);if(_.default.existsSync(c)){let l=_.default.readFileSync(c,"utf-8").split(`
23
+ `,"utf-8")})}}),e.on("resize",({sessionId:t,cols:i,rows:n})=>{if(!t)return;let a=pe.get(t);a&&a.pty.resize(i,n)}),e.on("deleteSession",(t,i)=>{let n=pe.get(t);n?(n.pty.kill(),pe.delete(t),i({success:!0})):i({success:!1,error:"Session not found"})}),e.on("renameSession",({sessionId:t,name:i},n)=>{let a=pe.get(t);a?(a.name=i,n({success:!0})):n({success:!1,error:"Session not found"})}),e.on("disconnect",()=>{console.log(`\u{1F4DF} Terminal client disconnected: ${e.id}`),ni--,oi()&&ni===0&&Xh()})})}var _=M(require("fs"),1),Ce=M(require("path"),1),Ct=M(require("os"),1),ke=require("child_process");var hl=["node_modules",".git","dist","build",".next","coverage","__pycache__",".cache",".vscode",".idea",".turbo",".vercel",".output"],xl=[".png",".jpg",".jpeg",".gif",".webp",".ico",".svg",".bmp",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".wav",".avi",".mov",".webm",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db"];function vl(s){return hl.includes(s)}function $t(s){let e=Ce.default.extname(s).toLowerCase();return xl.includes(e)}function Zh(s,e){return s.isDirectory()?"folder":$t(e)?"binary":"file"}function ci(s){return s<1024?`${s}B`:s<1024*1024?`${(s/1024).toFixed(1)}KB`:`${(s/(1024*1024)).toFixed(1)}MB`}function gl(s,e,t,i=50){if(!(t.length>=i))try{let n=_.default.readdirSync(s);for(let a of n){if(t.length>=i)return;if(a.startsWith(".")||vl(a))continue;let r=Ce.default.join(s,a);try{let c=_.default.statSync(r);c.isDirectory()?gl(r,e,t,i):a.toLowerCase().includes(e.toLowerCase())&&t.push({name:a,path:r,type:$t(a)?"binary":"file",size:c.size,sizeFormatted:ci(c.size)})}catch{}}}catch{}}function ex(){if(process.platform!=="win32")return[];try{return(0,ke.execSync)("wmic logicaldisk get name",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).split(/\r?\n/).map(t=>t.trim()).filter(t=>/^[A-Z]:$/.test(t)).map(t=>({letter:t[0],path:t+"\\"}))}catch{let s=[];for(let e of"CDEFGHIJ"){let t=`${e}:\\`;_.default.existsSync(t)&&s.push({letter:e,path:t})}return s}}function bl(s){s.on("connection",e=>{e.on("getSystemInfo",t=>{let i=process.platform,n=i==="win32";t({success:!0,platform:i,isWindows:n,drives:n?ex():[],homedir:Ct.default.homedir()})}),e.on("getFiles",({dirPath:t},i)=>{try{let n=t||Ct.default.homedir(),a=t?.startsWith("~")?t.replace("~",Ct.default.homedir()):n;if(!_.default.existsSync(a)){i({success:!1,error:"Directory not found"});return}let r=_.default.readdirSync(a),c=[];for(let o of r)if(!(o.startsWith(".")&&o!==".env"&&o!==".env.example")&&!vl(o))try{let l=Ce.default.join(a,o),p=_.default.statSync(l);c.push({name:o,path:l,type:Zh(p,o),size:p.isFile()?p.size:null,sizeFormatted:p.isFile()?ci(p.size):null,modified:p.mtime.getTime()})}catch{}c.sort((o,l)=>o.type==="folder"&&l.type!=="folder"?-1:o.type!=="folder"&&l.type==="folder"?1:o.name.localeCompare(l.name)),i({success:!0,files:c,currentPath:a,parentPath:Ce.default.dirname(a)})}catch(n){i({success:!1,error:n.message})}}),e.on("searchFiles",({workspace:t,query:i},n)=>{try{if(!i||i.length<2){n({success:!0,files:[]});return}let a=t?.startsWith("~")?t.replace("~",Ct.default.homedir()):t||Ct.default.homedir();if(!_.default.existsSync(a)){n({success:!1,error:"Workspace not found"});return}let r=[];gl(a,i,r,50),r.sort((c,o)=>{let l=c.name.toLowerCase()===i.toLowerCase(),p=o.name.toLowerCase()===i.toLowerCase();return l&&!p?-1:!l&&p?1:c.path.length-o.path.length}),n({success:!0,files:r})}catch(a){n({success:!1,error:a.message})}}),e.on("readFile",({filePath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"File not found"});return}let n=_.default.statSync(t);if(n.size>204800){i({success:!1,error:`File too large (${ci(n.size)}). Max ${ci(204800)}`});return}if($t(t)){i({success:!1,error:"Cannot open binary file"});return}let a=_.default.readFileSync(t,"utf-8");i({success:!0,content:a})}catch(n){i({success:!1,error:n.message})}}),e.on("writeFile",({filePath:t,content:i},n)=>{try{_.default.writeFileSync(t,i,"utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("createItem",({itemPath:t,type:i},n)=>{try{if(_.default.existsSync(t)){n({success:!1,error:"Item already exists"});return}i==="folder"?_.default.mkdirSync(t,{recursive:!0}):_.default.writeFileSync(t,"","utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("deleteItem",({itemPath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"Item not found"});return}_.default.statSync(t).isDirectory()?_.default.rmSync(t,{recursive:!0}):_.default.unlinkSync(t),i({success:!0})}catch(n){i({success:!1,error:n.message})}}),e.on("renameItem",({oldPath:t,newPath:i},n)=>{try{if(!_.default.existsSync(t)){n({success:!1,error:"Item not found"});return}if(_.default.existsSync(i)){n({success:!1,error:"Target already exists"});return}_.default.renameSync(t,i),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("gitStatus",({repoPath:t},i)=>{try{let a=(0,ke.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
24
+ `).filter(Boolean),r=[],c={};try{(0,ke.execSync)("git diff HEAD --numstat",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
25
+ `).filter(Boolean).forEach(l=>{let p=l.split(" ");if(p.length>=3){let u=p[0]==="-"?0:parseInt(p[0],10)||0,d=p[1]==="-"?0:parseInt(p[1],10)||0;c[p[2]]={added:u,deleted:d}}})}catch{}for(let o of a){let l=o.match(/^([MADRCU?! ]{1,2})\s+(.+)$/);if(!l)continue;let p=l[1],u=l[2];if(!u)continue;let d;p.includes("?")?d="?":p.includes("A")?d="A":p.includes("D")?d="D":p.includes("M")?d="M":p.includes("R")?d="R":d=p.trim()[0]||"?";let h=c[u]||{added:0,deleted:0};if(d==="?")try{let m=Ce.default.join(t,u);if(_.default.existsSync(m)&&!$t(u)){let f=_.default.readFileSync(m,"utf-8");h.added=f.split(`
26
+ `).length,h.deleted=0}}catch{}r.push({status:d,path:u,added:h.added,deleted:h.deleted})}i({success:!0,files:r})}catch{i({success:!1,error:"Not a git repository or git not available"})}}),e.on("gitDiff",({repoPath:t,file:i,status:n},a)=>{try{let r="";if(i&&n==="?"){let c=Ce.default.join(t,i);if(_.default.existsSync(c)){let l=_.default.readFileSync(c,"utf-8").split(`
27
27
  `);r=`diff --git a/${i} b/${i}
28
28
  new file mode 100644
29
29
  --- /dev/null
30
30
  +++ b/${i}
31
31
  @@ -0,0 +1,${l.length} @@
32
32
  ${l.map(p=>`+${p}`).join(`
33
- `)}`}}else if(i){let c=`git diff HEAD -- "${i}"`;r=(0,Le.execSync)(c,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}else{r=(0,Le.execSync)("git diff HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]});let o=(0,Le.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
34
- `).filter(l=>l.startsWith("??")).map(l=>l.substring(3));for(let l of o){let p=ke.default.join(t,l);if(_.default.existsSync(p)&&!$t(l))try{if(_.default.statSync(p).size<=204800){let h=_.default.readFileSync(p,"utf-8").split(`
33
+ `)}`}}else if(i){let c=`git diff HEAD -- "${i}"`;r=(0,ke.execSync)(c,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}else{r=(0,ke.execSync)("git diff HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]});let o=(0,ke.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
34
+ `).filter(l=>l.startsWith("??")).map(l=>l.substring(3));for(let l of o){let p=Ce.default.join(t,l);if(_.default.existsSync(p)&&!$t(l))try{if(_.default.statSync(p).size<=204800){let h=_.default.readFileSync(p,"utf-8").split(`
35
35
  `);r+=`
36
36
  diff --git a/${l} b/${l}
37
37
  new file mode 100644
@@ -39,8 +39,8 @@ new file mode 100644
39
39
  +++ b/${l}
40
40
  @@ -0,0 +1,${h.length} @@
41
41
  ${h.map(m=>`+${m}`).join(`
42
- `)}`}}catch{}}}a({success:!0,diff:r})}catch(r){a({success:!1,error:r.message})}}),e.on("gitDiscard",({repoPath:t,file:i,status:n},a)=>{try{if(!i){a({success:!1,error:"No file specified"});return}let r=ke.default.join(t,i);n==="?"?_.default.existsSync(r)&&(_.default.statSync(r).isDirectory()?_.default.rmSync(r,{recursive:!0}):_.default.unlinkSync(r)):n==="A"?((0,Le.execSync)(`git reset HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),_.default.existsSync(r)&&_.default.unlinkSync(r)):(0,Le.execSync)(`git checkout HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),a({success:!0})}catch(r){a({success:!1,error:r.message})}})})}async function yl(s){let e=new Kc(s,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:6e4,pingInterval:25e3});return await cl(),ml(e),pl(e),bl(e),e}var Sl=M(require("http"),1),El=M(require("https"),1),kl=require("child_process"),Cl=require("util"),ex=(0,Cl.promisify)(kl.exec);async function tx(){let s=process.platform,e=new Set([80,443]);try{let t;if(s==="win32")t="netstat -ano | findstr LISTENING";else{let a="/dev/null";t=`lsof -iTCP -sTCP:LISTEN -P -n 2>${a} || netstat -tlnp 2>${a}`}let{stdout:i}=await ex(t),n=i.split(`
43
- `);for(let a of n){let r=a.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(r)for(let c of r){let o=parseInt(c.replace(/[:\*\]\s]/g,""),10);o>0&&o<=65535&&(o===80||o===443||o>=1024)&&e.add(o)}}return Array.from(e)}catch(t){return console.error("Failed to get listening ports:",t.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function wl(s,e=2e3){return new Promise(t=>{let i=Sl.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"http",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}function _l(s,e=2e3){return new Promise(t=>{let i=El.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"https",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}async function sx(s){if([443,8443,9443].includes(s)){let t=await _l(s);if(t.active)return{port:s,...t};let i=await wl(s);if(i.active)return{port:s,...i}}else{let t=await wl(s);if(t.active)return{port:s,...t};let i=await _l(s);if(i.active)return{port:s,...i}}return{port:s,active:!1}}async function Tl(){let s=await tx();return(await Promise.all(s.map(t=>sx(t)))).filter(t=>t.active).map(t=>({port:t.port,protocol:t.protocol,url:`${t.protocol}://localhost:${t.port}`,name:`localhost:${t.port}`,status:t.status})).sort((t,i)=>t.port-i.port)}var Ol=M(require("crypto"),1),ix=process.env.API_KEY_SECRET||"9remote-api-key-secret";function nx(s,e){return Ol.default.createHmac("sha256",ix).update(s+e).digest("hex").slice(0,8)}function ax(s){if(!s||!s.startsWith("sk-"))return null;let e=s.split("-");if(e.length===4){let[,t,i,n]=e,a=nx(t,i);return n!==a?null:{machineId:t,keyId:i}}return null}function Rl(s){return ax(s)!==null}async function Al(s,e){let t=s.headers.authorization;if(!t||!t.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let i=t.slice(7);if(!Rl(i)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let n=await Tl();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(n))}function Pl(s){s.setHeader("Access-Control-Allow-Origin","*"),s.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),s.setHeader("Access-Control-Allow-Headers","*"),s.setHeader("Access-Control-Allow-Credentials","true")}function jl(s,e){return s.method==="OPTIONS"?(e.writeHead(200),e.end(),!0):!1}var Tt=require("zlib"),mp=M(pp(),1);var Ix=["data:","javascript:","#","mailto:","blob:"],Nx=["href","src","action","srcset","poster","data","formaction","data-src","data-href","data-url","data-background"];function di(s,e){return!s||Ix.some(t=>s.startsWith(t))||s.startsWith("/proxy/")?s:s.startsWith(`http://localhost:${e}`)?s.replace(`http://localhost:${e}`,`/proxy/${e}`):s.startsWith("/")&&!s.startsWith("//")?`/proxy/${e}${s}`:s}function up(s,e){let t=`/proxy/${e}`,i=new RegExp(`(${Nx.join("|")})=(["'])([^"']*?)\\2`,"gi");return s=s.replace(i,(n,a,r,c)=>{if(a.toLowerCase()==="srcset"){let o=c.split(",").map(l=>{let[p,...u]=l.trim().split(/\s+/),d=di(p,e);return u.length?`${d} ${u.join(" ")}`:d}).join(", ");return`${a}=${r}${o}${r}`}return`${a}=${r}${di(c,e)}${r}`}),s=s.replace(/url\(\s*(["']?)(\/_next\/[^)"']+)\1\s*\)/gi,(n,a,r)=>`url(${a}${t}${r}${a})`),s=s.replace(/"(\/_next\/[^"]+)"/g,(n,a)=>`"${t}${a}"`),s}function dp(s){let e=`/proxy/${s}`;return`
42
+ `)}`}}catch{}}}a({success:!0,diff:r})}catch(r){a({success:!1,error:r.message})}}),e.on("gitDiscard",({repoPath:t,file:i,status:n},a)=>{try{if(!i){a({success:!1,error:"No file specified"});return}let r=Ce.default.join(t,i);n==="?"?_.default.existsSync(r)&&(_.default.statSync(r).isDirectory()?_.default.rmSync(r,{recursive:!0}):_.default.unlinkSync(r)):n==="A"?((0,ke.execSync)(`git reset HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),_.default.existsSync(r)&&_.default.unlinkSync(r)):(0,ke.execSync)(`git checkout HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),a({success:!0})}catch(r){a({success:!1,error:r.message})}})})}async function yl(s){let e=new Kc(s,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:6e4,pingInterval:25e3});return await cl(),ml(e),pl(e),bl(e),e}var Sl=M(require("http"),1),El=M(require("https"),1),kl=require("child_process"),Cl=require("util"),tx=(0,Cl.promisify)(kl.exec);async function sx(){let s=process.platform,e=new Set([80,443]);try{let t;if(s==="win32")t="netstat -ano | findstr LISTENING";else{let a="/dev/null";t=`lsof -iTCP -sTCP:LISTEN -P -n 2>${a} || netstat -tlnp 2>${a}`}let{stdout:i}=await tx(t),n=i.split(`
43
+ `);for(let a of n){let r=a.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(r)for(let c of r){let o=parseInt(c.replace(/[:\*\]\s]/g,""),10);o>0&&o<=65535&&(o===80||o===443||o>=1024)&&e.add(o)}}return Array.from(e)}catch(t){return console.error("Failed to get listening ports:",t.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function wl(s,e=2e3){return new Promise(t=>{let i=Sl.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"http",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}function _l(s,e=2e3){return new Promise(t=>{let i=El.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"https",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}async function ix(s){if([443,8443,9443].includes(s)){let t=await _l(s);if(t.active)return{port:s,...t};let i=await wl(s);if(i.active)return{port:s,...i}}else{let t=await wl(s);if(t.active)return{port:s,...t};let i=await _l(s);if(i.active)return{port:s,...i}}return{port:s,active:!1}}async function Tl(){let s=await sx();return(await Promise.all(s.map(t=>ix(t)))).filter(t=>t.active).map(t=>({port:t.port,protocol:t.protocol,url:`${t.protocol}://localhost:${t.port}`,name:`localhost:${t.port}`,status:t.status})).sort((t,i)=>t.port-i.port)}var Ol=M(require("crypto"),1),nx=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ax(s,e){return Ol.default.createHmac("sha256",nx).update(s+e).digest("hex").slice(0,8)}function rx(s){if(!s||!s.startsWith("sk-"))return null;let e=s.split("-");if(e.length===4){let[,t,i,n]=e,a=ax(t,i);return n!==a?null:{machineId:t,keyId:i}}return null}function Rl(s){return rx(s)!==null}async function Al(s,e){let t=s.headers.authorization;if(!t||!t.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let i=t.slice(7);if(!Rl(i)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let n=await Tl();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(n))}function Pl(s){s.setHeader("Access-Control-Allow-Origin","*"),s.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),s.setHeader("Access-Control-Allow-Headers","*"),s.setHeader("Access-Control-Allow-Credentials","true")}function jl(s,e){return s.method==="OPTIONS"?(e.writeHead(200),e.end(),!0):!1}var Ot=require("zlib"),mp=M(pp(),1);var Nx=["data:","javascript:","#","mailto:","blob:"],Bx=["href","src","action","srcset","poster","data","formaction","data-src","data-href","data-url","data-background"];function di(s,e){return!s||Nx.some(t=>s.startsWith(t))||s.startsWith("/proxy/")?s:s.startsWith(`http://localhost:${e}`)?s.replace(`http://localhost:${e}`,`/proxy/${e}`):s.startsWith("/")&&!s.startsWith("//")?`/proxy/${e}${s}`:s}function up(s,e){let t=`/proxy/${e}`,i=new RegExp(`(${Bx.join("|")})=(["'])([^"']*?)\\2`,"gi");return s=s.replace(i,(n,a,r,c)=>{if(a.toLowerCase()==="srcset"){let o=c.split(",").map(l=>{let[p,...u]=l.trim().split(/\s+/),d=di(p,e);return u.length?`${d} ${u.join(" ")}`:d}).join(", ");return`${a}=${r}${o}${r}`}return`${a}=${r}${di(c,e)}${r}`}),s=s.replace(/url\(\s*(["']?)(\/_next\/[^)"']+)\1\s*\)/gi,(n,a,r)=>`url(${a}${t}${r}${a})`),s=s.replace(/"(\/_next\/[^"]+)"/g,(n,a)=>`"${t}${a}"`),s}function dp(s){let e=`/proxy/${s}`;return`
44
44
  // Service Worker for 9Remote Proxy - Port ${s}
45
45
  const PROXY_BASE = '${e}';
46
46
  const TARGET_PORT = ${s};
@@ -137,7 +137,7 @@ self.addEventListener('fetch', (event) => {
137
137
  });
138
138
  }
139
139
  })();
140
- </script>`}var ga=new Set;function hp(s){ga.add(String(s))}function xp(s){ga.delete(String(s))}function Bx(s){return ga.has(String(s))}function Lx(s){switch(s){case"gzip":return(0,Tt.createGunzip)();case"deflate":return(0,Tt.createInflate)();case"br":return(0,Tt.createBrotliDecompress)();default:return null}}function Mx(s,e){if(s.includes("<head>"))return s.replace("<head>","<head>"+e);if(s.includes("<HEAD>"))return s.replace("<HEAD>","<HEAD>"+e);let t=s.match(/<head[^>]*>/i);return t?s.replace(t[0],t[0]+e):e+s}function vp(){let s=mp.default.createProxyServer({selfHandleResponse:!0});return s.on("proxyRes",(e,t,i)=>{let n=t._proxyTargetPort,a=e.headers["content-type"]||"",r=e.headers["content-encoding"]||"",c=a.includes("text/html"),o={...e.headers};if(o.location&&(o.location=di(o.location,n)),a.includes("application/json")||a.includes("text/x-component")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(a.includes("javascript")||a.includes("text/javascript")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(!c){i.writeHead(e.statusCode,o),e.pipe(i);return}delete o["content-length"],delete o["content-encoding"];let u=Lx(r),d=u?e.pipe(u):e,h=[];d.on("data",m=>h.push(m)),d.on("error",m=>{console.error("[Proxy] Decompress error:",m.message),i.writeHead(502),i.end("Bad Gateway: Decompression failed")}),d.on("end",()=>{let m=Buffer.concat(h).toString("utf8");m=up(m,n);let f=fp(n);m=Mx(m,f),i.writeHead(e.statusCode,o),i.end(m)})}),s}function gp(s,e,t,i,n,a){if(n==="/sw.js"){let r=dp(i);t.writeHead(200,{"Content-Type":"application/javascript; charset=utf-8","Service-Worker-Allowed":"/","Cache-Control":"no-store, no-cache, must-revalidate"}),t.end(r);return}if(!Bx(i)){t.writeHead(401,{"Content-Type":"text/html"}),t.end(`
140
+ </script>`}var ga=new Set;function hp(s){ga.add(String(s))}function xp(s){ga.delete(String(s))}function Lx(s){return ga.has(String(s))}function Mx(s){switch(s){case"gzip":return(0,Ot.createGunzip)();case"deflate":return(0,Ot.createInflate)();case"br":return(0,Ot.createBrotliDecompress)();default:return null}}function Dx(s,e){if(s.includes("<head>"))return s.replace("<head>","<head>"+e);if(s.includes("<HEAD>"))return s.replace("<HEAD>","<HEAD>"+e);let t=s.match(/<head[^>]*>/i);return t?s.replace(t[0],t[0]+e):e+s}function vp(){let s=mp.default.createProxyServer({selfHandleResponse:!0});return s.on("proxyRes",(e,t,i)=>{let n=t._proxyTargetPort,a=e.headers["content-type"]||"",r=e.headers["content-encoding"]||"",c=a.includes("text/html"),o={...e.headers};if(o.location&&(o.location=di(o.location,n)),a.includes("application/json")||a.includes("text/x-component")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(a.includes("javascript")||a.includes("text/javascript")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(!c){i.writeHead(e.statusCode,o),e.pipe(i);return}delete o["content-length"],delete o["content-encoding"];let u=Mx(r),d=u?e.pipe(u):e,h=[];d.on("data",m=>h.push(m)),d.on("error",m=>{console.error("[Proxy] Decompress error:",m.message),i.writeHead(502),i.end("Bad Gateway: Decompression failed")}),d.on("end",()=>{let m=Buffer.concat(h).toString("utf8");m=up(m,n);let f=fp(n);m=Dx(m,f),i.writeHead(e.statusCode,o),i.end(m)})}),s}function gp(s,e,t,i,n,a){if(n==="/sw.js"){let r=dp(i);t.writeHead(200,{"Content-Type":"application/javascript; charset=utf-8","Service-Worker-Allowed":"/","Cache-Control":"no-store, no-cache, must-revalidate"}),t.end(r);return}if(!Lx(i)){t.writeHead(401,{"Content-Type":"text/html"}),t.end(`
141
141
  <!DOCTYPE html>
142
142
  <html>
143
143
  <head><title>Unauthorized</title></head>
@@ -148,7 +148,7 @@ self.addEventListener('fetch', (event) => {
148
148
  </div>
149
149
  </body>
150
150
  </html>
151
- `);return}e._proxyTargetPort=i,e.url=n+(a||""),s.web(e,t,{target:`http://localhost:${i}`,changeOrigin:!0},r=>{t.writeHead(502),t.end(`Bad Gateway: ${r.message}`)})}function Dx(){return process.env.CODESPACES==="true"}async function qx(s,e){if(s.method!=="POST"){e.writeHead(405),e.end(JSON.stringify({error:"Method not allowed"}));return}if(!Dx()){e.writeHead(400),e.end(JSON.stringify({error:"Not running on Codespaces"}));return}let t=process.env.CODESPACE_NAME;if(!t){e.writeHead(400),e.end(JSON.stringify({error:"Codespace name not found"}));return}e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify({success:!0,message:"Stopping codespace..."})),setTimeout(()=>{(0,_p.exec)(`gh codespace stop -c ${t}`,i=>{i&&console.error("Failed to stop codespace:",i)})},500)}var Fx="localhost",bp=parseInt(process.env.PORT||"2208",10);async function Sp(){let s=vp(),e=(0,yp.createServer)(async(t,i)=>{if(Pl(i),!jl(t,i))try{let n=(0,wp.parse)(t.url,!0),{pathname:a,search:r}=n;if(a==="/api/health"){i.setHeader("Content-Type","application/json"),i.writeHead(200),i.end(JSON.stringify({status:"ok",timestamp:Date.now()}));return}if(a==="/api/local-sites"){await Al(t,i);return}if(a==="/api/codespace/stop"){await qx(t,i);return}if(a==="/api/proxy/start"&&t.method==="POST"){let c="";t.on("data",o=>c+=o),t.on("end",()=>{let{port:o}=JSON.parse(c||"{}");o?(hp(o),i.setHeader("Content-Type","application/json"),i.writeHead(200),i.end(JSON.stringify({success:!0}))):(i.writeHead(400),i.end(JSON.stringify({error:"Port required"})))});return}if(a==="/api/proxy/end"&&t.method==="POST"){let c="";t.on("data",o=>c+=o),t.on("end",()=>{let{port:o}=JSON.parse(c||"{}");o?(xp(o),i.setHeader("Content-Type","application/json"),i.writeHead(200),i.end(JSON.stringify({success:!0}))):(i.writeHead(400),i.end(JSON.stringify({error:"Port required"})))});return}if(a.startsWith("/proxy/")){let c=a.match(/^\/proxy\/(\d+)(\/.*)?$/);if(c){gp(s,t,i,c[1],c[2]||"/",r);return}}i.writeHead(404),i.end(JSON.stringify({error:"Not found"}))}catch(n){console.error("Error:",t.url,n),i.statusCode=500,i.end("Internal server error")}});await yl(e),e.listen(bp,t=>{if(t)throw t;console.log(`\u2705 Server ready on http://${Fx}:${bp}`)})}Sp();0&&(module.exports={startServer});
151
+ `);return}e._proxyTargetPort=i,e.url=n+(a||""),s.web(e,t,{target:`http://localhost:${i}`,changeOrigin:!0},r=>{t.writeHead(502),t.end(`Bad Gateway: ${r.message}`)})}function qx(){return process.env.CODESPACES==="true"}async function Fx(s,e){if(s.method!=="POST"){e.writeHead(405),e.end(JSON.stringify({error:"Method not allowed"}));return}if(!qx()){e.writeHead(400),e.end(JSON.stringify({error:"Not running on Codespaces"}));return}let t=process.env.CODESPACE_NAME;if(!t){e.writeHead(400),e.end(JSON.stringify({error:"Codespace name not found"}));return}e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify({success:!0,message:"Stopping codespace..."})),setTimeout(()=>{(0,_p.exec)(`gh codespace stop -c ${t}`,i=>{i&&console.error("Failed to stop codespace:",i)})},500)}var Ux="localhost",bp=parseInt(process.env.PORT||"2208",10);async function Sp(){let s=vp(),e=(0,yp.createServer)(async(t,i)=>{if(Pl(i),!jl(t,i))try{let n=(0,wp.parse)(t.url,!0),{pathname:a,search:r}=n;if(a==="/api/health"){i.setHeader("Content-Type","application/json"),i.writeHead(200),i.end(JSON.stringify({status:"ok",timestamp:Date.now()}));return}if(a==="/api/local-sites"){await Al(t,i);return}if(a==="/api/codespace/stop"){await Fx(t,i);return}if(a==="/api/proxy/start"&&t.method==="POST"){let c="";t.on("data",o=>c+=o),t.on("end",()=>{let{port:o}=JSON.parse(c||"{}");o?(hp(o),i.setHeader("Content-Type","application/json"),i.writeHead(200),i.end(JSON.stringify({success:!0}))):(i.writeHead(400),i.end(JSON.stringify({error:"Port required"})))});return}if(a==="/api/proxy/end"&&t.method==="POST"){let c="";t.on("data",o=>c+=o),t.on("end",()=>{let{port:o}=JSON.parse(c||"{}");o?(xp(o),i.setHeader("Content-Type","application/json"),i.writeHead(200),i.end(JSON.stringify({success:!0}))):(i.writeHead(400),i.end(JSON.stringify({error:"Port required"})))});return}if(a.startsWith("/proxy/")){let c=a.match(/^\/proxy\/(\d+)(\/.*)?$/);if(c){gp(s,t,i,c[1],c[2]||"/",r);return}}i.writeHead(404),i.end(JSON.stringify({error:"Not found"}))}catch(n){console.error("Error:",t.url,n),i.statusCode=500,i.end("Internal server error")}});await yl(e),e.listen(bp,t=>{if(t)throw t;console.log(`\u2705 Server ready on http://${Ux}:${bp}`)})}Sp();0&&(module.exports={startServer});
152
152
  /*! Bundled license information:
153
153
 
154
154
  negotiator/index.js: