From a9d74f7a3566ec6d443d8d1fa6cea205ec52a1a4 Mon Sep 17 00:00:00 2001 From: Zhiming Ma Date: Mon, 29 May 2023 10:09:44 +0800 Subject: [PATCH] Agent: Add completion cache. (#158) --- clients/tabby-agent/dist/cli.js | 52 +- clients/tabby-agent/dist/index.d.ts | 1 + clients/tabby-agent/dist/index.global.js | 5022 ++++++++++++++++- clients/tabby-agent/dist/index.global.js.map | 2 +- clients/tabby-agent/dist/index.js | 177 +- clients/tabby-agent/dist/index.js.map | 2 +- clients/tabby-agent/package.json | 5 +- clients/tabby-agent/src/CompletionCache.ts | 136 + clients/tabby-agent/src/TabbyAgent.ts | 48 +- clients/tabby-agent/src/utils.ts | 20 + clients/tabby-agent/tsup.config.ts | 4 +- clients/tabby-agent/yarn.lock | 30 + clients/vim/node_scripts/tabby-agent.js | 52 +- clients/vim/yarn.lock | 39 +- clients/vscode/package.json | 1 - clients/vscode/src/CompletionCache.ts | 73 - clients/vscode/src/TabbyCompletionProvider.ts | 17 - clients/vscode/yarn.lock | 39 +- 18 files changed, 5398 insertions(+), 322 deletions(-) create mode 100644 clients/tabby-agent/src/CompletionCache.ts delete mode 100644 clients/vscode/src/CompletionCache.ts diff --git a/clients/tabby-agent/dist/cli.js b/clients/tabby-agent/dist/cli.js index 7d1dd69..658360f 100755 --- a/clients/tabby-agent/dist/cli.js +++ b/clients/tabby-agent/dist/cli.js @@ -1,7 +1,47 @@ #!/bin/env node -var Q=Object.create;var j=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var te=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Y(e))!ee.call(t,s)&&s!==n&&j(t,s,{get:()=>e[s],enumerable:!(r=X(e,s))||r.enumerable});return t};var H=(t,e,n)=>(n=t!=null?Q(Z(t)):{},te(e||!t||!t.__esModule?j(n,"default",{value:t,enumerable:!0}):n,t));var $=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)};var a=(t,e,n)=>($(t,e,"read from private field"),n?n.call(t):e.get(t)),R=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},u=(t,e,n,r)=>($(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);var J=H(require("axios")),M=require("events"),K=require("assert");function V(t){return new Promise(e=>setTimeout(e,t))}function W(t){return t.match(/.*(?:$|\r?\n)/g).filter(Boolean)}var T=class{constructor(e){this.config=e}};var B=H(require("axios")),U=H(require("form-data"));var C=class extends Error{constructor(n,r,s){super(s);this.name="ApiError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.body=r.body,this.request=n}};var O=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},d,f,m,y,A,v,E,g=class{constructor(e){R(this,d,void 0);R(this,f,void 0);R(this,m,void 0);R(this,y,void 0);R(this,A,void 0);R(this,v,void 0);R(this,E,void 0);u(this,d,!1),u(this,f,!1),u(this,m,!1),u(this,y,[]),u(this,A,new Promise((n,r)=>{u(this,v,n),u(this,E,r);let s=l=>{var p;a(this,d)||a(this,f)||a(this,m)||(u(this,d,!0),(p=a(this,v))==null||p.call(this,l))},o=l=>{var p;a(this,d)||a(this,f)||a(this,m)||(u(this,f,!0),(p=a(this,E))==null||p.call(this,l))},i=l=>{a(this,d)||a(this,f)||a(this,m)||a(this,y).push(l)};return Object.defineProperty(i,"isResolved",{get:()=>a(this,d)}),Object.defineProperty(i,"isRejected",{get:()=>a(this,f)}),Object.defineProperty(i,"isCancelled",{get:()=>a(this,m)}),e(s,o,i)}))}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,n){return a(this,A).then(e,n)}catch(e){return a(this,A).catch(e)}finally(e){return a(this,A).finally(e)}cancel(){var e;if(!(a(this,d)||a(this,f)||a(this,m))){if(u(this,m,!0),a(this,y).length)try{for(let n of a(this,y))n()}catch(n){console.warn("Cancellation threw an error",n);return}a(this,y).length=0,(e=a(this,E))==null||e.call(this,new O("Request aborted"))}}get isCancelled(){return a(this,m)}};d=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakMap,A=new WeakMap,v=new WeakMap,E=new WeakMap;var F=t=>t!=null,q=t=>typeof t=="string",D=t=>q(t)&&t!=="",_=t=>typeof t=="object"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.arrayBuffer=="function"&&typeof t.constructor=="function"&&typeof t.constructor.name=="string"&&/^(Blob|File)$/.test(t.constructor.name)&&/^(Blob|File)$/.test(t[Symbol.toStringTag]),ne=t=>t instanceof U.default,re=t=>t>=200&&t<300,se=t=>{try{return btoa(t)}catch{return Buffer.from(t).toString("base64")}},oe=t=>{let e=[],n=(s,o)=>{e.push(`${encodeURIComponent(s)}=${encodeURIComponent(String(o))}`)},r=(s,o)=>{F(o)&&(Array.isArray(o)?o.forEach(i=>{r(s,i)}):typeof o=="object"?Object.entries(o).forEach(([i,l])=>{r(`${s}[${i}]`,l)}):n(s,o))};return Object.entries(t).forEach(([s,o])=>{r(s,o)}),e.length>0?`?${e.join("&")}`:""},ie=(t,e)=>{let n=t.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",t.VERSION).replace(/{(.*?)}/g,(o,i)=>e.path?.hasOwnProperty(i)?n(String(e.path[i])):o),s=`${t.BASE}${r}`;return e.query?`${s}${oe(e.query)}`:s},ae=t=>{if(t.formData){let e=new U.default,n=(r,s)=>{q(s)||_(s)?e.append(r,s):e.append(r,JSON.stringify(s))};return Object.entries(t.formData).filter(([r,s])=>F(s)).forEach(([r,s])=>{Array.isArray(s)?s.forEach(o=>n(r,o)):n(r,s)}),e}},S=async(t,e)=>typeof e=="function"?e(t):e,pe=async(t,e,n)=>{let r=await S(e,t.TOKEN),s=await S(e,t.USERNAME),o=await S(e,t.PASSWORD),i=await S(e,t.HEADERS),l=typeof n?.getHeaders=="function"&&n?.getHeaders()||{},p=Object.entries({Accept:"application/json",...i,...e.headers,...l}).filter(([c,h])=>F(h)).reduce((c,[h,N])=>({...c,[h]:String(N)}),{});if(D(r)&&(p.Authorization=`Bearer ${r}`),D(s)&&D(o)){let c=se(`${s}:${o}`);p.Authorization=`Basic ${c}`}return e.body&&(e.mediaType?p["Content-Type"]=e.mediaType:_(e.body)?p["Content-Type"]=e.body.type||"application/octet-stream":q(e.body)?p["Content-Type"]="text/plain":ne(e.body)||(p["Content-Type"]="application/json")),p},le=t=>{if(t.body)return t.body},ce=async(t,e,n,r,s,o,i)=>{let l=B.default.CancelToken.source(),p={url:n,headers:o,data:r??s,method:e.method,withCredentials:t.WITH_CREDENTIALS,cancelToken:l.token};i(()=>l.cancel("The user aborted a request."));try{return await B.default.request(p)}catch(c){let h=c;if(h.response)return h.response;throw c}},ue=(t,e)=>{if(e){let n=t.headers[e];if(q(n))return n}},me=t=>{if(t.status!==204)return t.data},de=(t,e)=>{let r={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",...t.errors}[e.status];if(r)throw new C(t,e,r);if(!e.ok)throw new C(t,e,"Generic Error")},k=(t,e)=>new g(async(n,r,s)=>{try{let o=ie(t,e),i=ae(e),l=le(e),p=await pe(t,e,i);if(!s.isCancelled){let c=await ce(t,e,o,l,i,p,s),h=me(c),N=ue(c,e.responseHeader),L={url:o,ok:re(c.status),status:c.status,statusText:c.statusText,body:N??h};de(e,L),n(L.body)}}catch(o){r(o)}});var x=class extends T{constructor(e){super(e)}request(e){return k(this.config,e)}};var P=class{constructor(e){this.httpRequest=e}completionsV1CompletionsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/completions",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}eventsV1EventsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/events",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}};var b=class{constructor(e,n=x){this.request=new n({BASE:e?.BASE??"",VERSION:e?.VERSION??"0.1.0",WITH_CREDENTIALS:e?.WITH_CREDENTIALS??!1,CREDENTIALS:e?.CREDENTIALS??"include",TOKEN:e?.TOKEN,USERNAME:e?.USERNAME,PASSWORD:e?.PASSWORD,HEADERS:e?.HEADERS,ENCODE_PATH:e?.ENCODE_PATH}),this.default=new P(this.request)}};var I=class extends M.EventEmitter{constructor(){super();this.serverUrl="http://127.0.0.1:5000";this.status="connecting";this.ping(),this.api=new b({BASE:this.serverUrl})}changeStatus(n){if(this.status!=n){this.status=n;let r={event:"statusChanged",status:n};super.emit("statusChanged",r)}}async ping(n=0){try{let r=await J.default.get(`${this.serverUrl}/`);return(0,K.strict)(r.status==200),this.changeStatus("ready"),!0}catch{return n>5?(this.changeStatus("disconnected"),!1):(this.changeStatus("connecting"),await V(1e3),this.ping(n+1))}}wrapApiPromise(n){return new g((r,s,o)=>{n.then(i=>{this.changeStatus("ready"),r(i)}).catch(i=>{s(i)}).catch(i=>{this.changeStatus("disconnected"),s(i)}).catch(i=>{s(i)}),o(()=>{n.cancel()})})}setServerUrl(n){return this.serverUrl=n.replace(/\/$/,""),this.ping(),this.api=new b({BASE:this.serverUrl}),this.serverUrl}getServerUrl(){return this.serverUrl}getStatus(){return this.status}getCompletions(n){let r=this.api.default.completionsV1CompletionsPost(n);return this.wrapApiPromise(r)}postEvent(n){let r=this.api.default.eventsV1EventsPost(n);return this.wrapApiPromise(r)}};var z=["statusChanged"];var w=class{constructor(){this.inStream=process.stdin;this.outStream=process.stdout;this.errLogger=process.stderr;this.buffer="";this.ongoingRequests={};this.agent=null}handleInput(e){let n=e.toString();this.buffer+=n;let r=W(this.buffer);if(!(r.length<1)){r[r.length-1].endsWith(` -`)?this.buffer="":this.buffer=r.pop();for(let s of r){let o=null;try{o=JSON.parse(s)}catch(i){this.errLogger.write(JSON.stringify(i,Object.getOwnPropertyNames(i))+` -`);continue}this.handleRequest(o).then(i=>{this.sendResponse(i)})}}}async handleRequest(e){let n=[0,null];try{if(!this.agent)throw new Error(`Agent not bound. -`);n[0]=e[0];let r=e[1].func;if(r==="cancelRequest")n[1]=this.cancelRequest(e);else{let s=this.agent[r];if(!s)throw new Error(`Unknown function: ${r}`);let o=s.apply(this.agent,e[1].args);o instanceof g?(this.ongoingRequests[e[0]]=o,n[1]=await o,delete this.ongoingRequests[e[0]]):n[1]=o}}catch(r){this.errLogger.write(JSON.stringify(r,Object.getOwnPropertyNames(r))+` -`)}finally{return n}}cancelRequest(e){let n=this.ongoingRequests[e[1].args[0]];return n?(n.cancel(),!0):!1}sendResponse(e){this.outStream.write(JSON.stringify(e)+` -`)}bind(e){this.agent=e;for(let n of z)this.agent.on(n,r=>{this.sendResponse([0,r])})}listen(){this.inStream.on("data",this.handleInput.bind(this))}};var fe=new I,G=new w;G.bind(fe);G.listen(); +var ar=Object.create;var tn=Object.defineProperty;var sr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,cr=Object.prototype.hasOwnProperty;var pr=(i,e,t)=>e in i?tn(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var O=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports);var lr=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of or(e))!cr.call(i,a)&&a!==t&&tn(i,a,{get:()=>e[a],enumerable:!(n=sr(e,a))||n.enumerable});return i};var X=(i,e,t)=>(t=i!=null?ar(rr(i)):{},lr(e||!i||!i.__esModule?tn(t,"default",{value:i,enumerable:!0}):t,i));var L=(i,e,t)=>(pr(i,typeof e!="symbol"?e+"":e,t),t),nn=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var r=(i,e,t)=>(nn(i,e,"read from private field"),t?t.call(i):e.get(i)),C=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},y=(i,e,t,n)=>(nn(i,e,"write to private field"),n?n.call(i,t):e.set(i,t),t),ft=(i,e,t,n)=>({set _(a){y(i,e,a,t)},get _(){return r(i,e,n)}}),E=(i,e,t)=>(nn(i,e,"access private method"),t);var Aa=O((Hl,Ca)=>{var Ea=require("stream").Stream,$r=require("util");Ca.exports=fe;function fe(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}$r.inherits(fe,Ea);fe.create=function(i,e){var t=new this;e=e||{};for(var n in e)t[n]=e[n];t.source=i;var a=i.emit;return i.emit=function(){return t._handleEmit(arguments),a.apply(i,arguments)},i.on("error",function(){}),t.pauseStream&&i.pause(),t};Object.defineProperty(fe.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});fe.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};fe.prototype.resume=function(){this._released||this.release(),this.source.resume()};fe.prototype.pause=function(){this.source.pause()};fe.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(i){this.emit.apply(this,i)}.bind(this)),this._bufferedEvents=[]};fe.prototype.pipe=function(){var i=Ea.prototype.pipe.apply(this,arguments);return this.resume(),i};fe.prototype._handleEmit=function(i){if(this._released){this.emit.apply(this,i);return}i[0]==="data"&&(this.dataSize+=i[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(i)};fe.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var i="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(i))}}});var Ta=O((Ml,_a)=>{var Vr=require("util"),Sa=require("stream").Stream,Ra=Aa();_a.exports=P;function P(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}Vr.inherits(P,Sa);P.create=function(i){var e=new this;i=i||{};for(var t in i)e[t]=i[t];return e};P.isStreamLike=function(i){return typeof i!="function"&&typeof i!="string"&&typeof i!="boolean"&&typeof i!="number"&&!Buffer.isBuffer(i)};P.prototype.append=function(i){var e=P.isStreamLike(i);if(e){if(!(i instanceof Ra)){var t=Ra.create(i,{maxDataSize:1/0,pauseStream:this.pauseStreams});i.on("data",this._checkDataSize.bind(this)),i=t}this._handleErrors(i),this.pauseStreams&&i.pause()}return this._streams.push(i),this};P.prototype.pipe=function(i,e){return Sa.prototype.pipe.call(this,i,e),this.resume(),i};P.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};P.prototype._realGetNext=function(){var i=this._streams.shift();if(typeof i>"u"){this.end();return}if(typeof i!="function"){this._pipeNext(i);return}var e=i;e(function(t){var n=P.isStreamLike(t);n&&(t.on("data",this._checkDataSize.bind(this)),this._handleErrors(t)),this._pipeNext(t)}.bind(this))};P.prototype._pipeNext=function(i){this._currentStream=i;var e=P.isStreamLike(i);if(e){i.on("end",this._getNext.bind(this)),i.pipe(this,{end:!1});return}var t=i;this.write(t),this._getNext()};P.prototype._handleErrors=function(i){var e=this;i.on("error",function(t){e._emitError(t)})};P.prototype.write=function(i){this.emit("data",i)};P.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};P.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};P.prototype.end=function(){this._reset(),this.emit("end")};P.prototype.destroy=function(){this._reset(),this.emit("close")};P.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};P.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var i="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(i))}};P.prototype._updateDataSize=function(){this.dataSize=0;var i=this;this._streams.forEach(function(e){e.dataSize&&(i.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};P.prototype._emitError=function(i){this._reset(),this.emit("error",i)}});var ka=O((Wl,Gr)=>{Gr.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 Ba=O(($l,Fa)=>{Fa.exports=ka()});var Ua=O(ee=>{"use strict";var gt=Ba(),Jr=require("path").extname,Oa=/^\s*([^;\s]*)(?:;|\s|$)/,Kr=/^text\//i;ee.charset=ja;ee.charsets={lookup:ja};ee.contentType=Yr;ee.extension=Xr;ee.extensions=Object.create(null);ee.lookup=Qr;ee.types=Object.create(null);Zr(ee.extensions,ee.types);function ja(i){if(!i||typeof i!="string")return!1;var e=Oa.exec(i),t=e&>[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&Kr.test(e[1])?"UTF-8":!1}function Yr(i){if(!i||typeof i!="string")return!1;var e=i.indexOf("/")===-1?ee.lookup(i):i;if(!e)return!1;if(e.indexOf("charset")===-1){var t=ee.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function Xr(i){if(!i||typeof i!="string")return!1;var e=Oa.exec(i),t=e&&ee.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function Qr(i){if(!i||typeof i!="string")return!1;var e=Jr("x."+i).toLowerCase().substr(1);return e&&ee.types[e]||!1}function Zr(i,e){var t=["nginx","apache",void 0,"iana"];Object.keys(gt).forEach(function(a){var s=gt[a],o=s.extensions;if(!(!o||!o.length)){i[a]=o;for(var c=0;cu||l===u&&e[p].substr(0,12)==="application/"))continue}e[p]=a}}})}});var Ia=O((Gl,qa)=>{qa.exports=ec;function ec(i){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(i):setTimeout(i,0)}});var rn=O((Jl,Pa)=>{var La=Ia();Pa.exports=ic;function ic(i){var e=!1;return La(function(){e=!0}),function(n,a){e?i(n,a):La(function(){i(n,a)})}}});var cn=O((Kl,za)=>{za.exports=tc;function tc(i){Object.keys(i.jobs).forEach(nc.bind(i)),i.jobs={}}function nc(i){typeof this.jobs[i]=="function"&&this.jobs[i]()}});var pn=O((Yl,Da)=>{var Na=rn(),ac=cn();Da.exports=sc;function sc(i,e,t,n){var a=t.keyedList?t.keyedList[t.index]:t.index;t.jobs[a]=oc(e,a,i[a],function(s,o){a in t.jobs&&(delete t.jobs[a],s?ac(t):t.results[a]=o,n(s,t.results))})}function oc(i,e,t,n){var a;return i.length==2?a=i(t,Na(n)):a=i(t,e,Na(n)),a}});var ln=O((Xl,Ha)=>{Ha.exports=rc;function rc(i,e){var t=!Array.isArray(i),n={index:0,keyedList:t||e?Object.keys(i):null,jobs:{},results:t?{}:[],size:t?Object.keys(i).length:i.length};return e&&n.keyedList.sort(t?e:function(a,s){return e(i[a],i[s])}),n}});var un=O((Ql,Ma)=>{var cc=cn(),pc=rn();Ma.exports=lc;function lc(i){Object.keys(this.jobs).length&&(this.index=this.size,cc(this),pc(i)(null,this.results))}});var $a=O((Zl,Wa)=>{var uc=pn(),dc=ln(),mc=un();Wa.exports=fc;function fc(i,e,t){for(var n=dc(i);n.index<(n.keyedList||i).length;)uc(i,e,n,function(a,s){if(a){t(a,s);return}if(Object.keys(n.jobs).length===0){t(null,n.results);return}}),n.index++;return mc.bind(n,t)}});var dn=O((eu,yt)=>{var Va=pn(),hc=ln(),xc=un();yt.exports=vc;yt.exports.ascending=Ga;yt.exports.descending=bc;function vc(i,e,t,n){var a=hc(i,t);return Va(i,e,a,function s(o,c){if(o){n(o,c);return}if(a.index++,a.index<(a.keyedList||i).length){Va(i,e,a,s);return}n(null,a.results)}),xc.bind(a,n)}function Ga(i,e){return ie?1:0}function bc(i,e){return-1*Ga(i,e)}});var Ka=O((iu,Ja)=>{var gc=dn();Ja.exports=yc;function yc(i,e,t){return gc(i,e,null,t)}});var Xa=O((tu,Ya)=>{Ya.exports={parallel:$a(),serial:Ka(),serialOrdered:dn()}});var Za=O((nu,Qa)=>{Qa.exports=function(i,e){return Object.keys(e).forEach(function(t){i[t]=i[t]||e[t]}),i}});var vn=O((au,is)=>{var xn=Ta(),es=require("util"),mn=require("path"),wc=require("http"),Ec=require("https"),Cc=require("url").parse,Ac=require("fs"),Rc=require("stream").Stream,fn=Ua(),Sc=Xa(),hn=Za();is.exports=B;es.inherits(B,xn);function B(i){if(!(this instanceof B))return new B(i);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],xn.call(this),i=i||{};for(var e in i)this[e]=i[e]}B.LINE_BREAK=`\r +`;B.DEFAULT_CONTENT_TYPE="application/octet-stream";B.prototype.append=function(i,e,t){t=t||{},typeof t=="string"&&(t={filename:t});var n=xn.prototype.append.bind(this);if(typeof e=="number"&&(e=""+e),es.isArray(e)){this._error(new Error("Arrays are not supported."));return}var a=this._multiPartHeader(i,e,t),s=this._multiPartFooter();n(a),n(e),n(s),this._trackLength(a,e,t)};B.prototype._trackLength=function(i,e,t){var n=0;t.knownLength!=null?n+=+t.knownLength:Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(i)+B.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&e.hasOwnProperty("httpVersion"))&&!(e instanceof Rc))&&(t.knownLength||this._valuesToMeasure.push(e))};B.prototype._lengthRetriever=function(i,e){i.hasOwnProperty("fd")?i.end!=null&&i.end!=1/0&&i.start!=null?e(null,i.end+1-(i.start?i.start:0)):Ac.stat(i.path,function(t,n){var a;if(t){e(t);return}a=n.size-(i.start?i.start:0),e(null,a)}):i.hasOwnProperty("httpVersion")?e(null,+i.headers["content-length"]):i.hasOwnProperty("httpModule")?(i.on("response",function(t){i.pause(),e(null,+t.headers["content-length"])}),i.resume()):e("Unknown stream")};B.prototype._multiPartHeader=function(i,e,t){if(typeof t.header=="string")return t.header;var n=this._getContentDisposition(e,t),a=this._getContentType(e,t),s="",o={"Content-Disposition":["form-data",'name="'+i+'"'].concat(n||[]),"Content-Type":[].concat(a||[])};typeof t.header=="object"&&hn(o,t.header);var c;for(var p in o)o.hasOwnProperty(p)&&(c=o[p],c!=null&&(Array.isArray(c)||(c=[c]),c.length&&(s+=p+": "+c.join("; ")+B.LINE_BREAK)));return"--"+this.getBoundary()+B.LINE_BREAK+s+B.LINE_BREAK};B.prototype._getContentDisposition=function(i,e){var t,n;return typeof e.filepath=="string"?t=mn.normalize(e.filepath).replace(/\\/g,"/"):e.filename||i.name||i.path?t=mn.basename(e.filename||i.name||i.path):i.readable&&i.hasOwnProperty("httpVersion")&&(t=mn.basename(i.client._httpMessage.path||"")),t&&(n='filename="'+t+'"'),n};B.prototype._getContentType=function(i,e){var t=e.contentType;return!t&&i.name&&(t=fn.lookup(i.name)),!t&&i.path&&(t=fn.lookup(i.path)),!t&&i.readable&&i.hasOwnProperty("httpVersion")&&(t=i.headers["content-type"]),!t&&(e.filepath||e.filename)&&(t=fn.lookup(e.filepath||e.filename)),!t&&typeof i=="object"&&(t=B.DEFAULT_CONTENT_TYPE),t};B.prototype._multiPartFooter=function(){return function(i){var e=B.LINE_BREAK,t=this._streams.length===0;t&&(e+=this._lastBoundary()),i(e)}.bind(this)};B.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+B.LINE_BREAK};B.prototype.getHeaders=function(i){var e,t={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in i)i.hasOwnProperty(e)&&(t[e.toLowerCase()]=i[e]);return t};B.prototype.setBoundary=function(i){this._boundary=i};B.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};B.prototype.getBuffer=function(){for(var i=new Buffer.alloc(0),e=this.getBoundary(),t=0,n=this._streams.length;t{"use strict";var Dc=require("url").parse,Hc={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},Mc=String.prototype.endsWith||function(i){return i.length<=this.length&&this.indexOf(i,this.length-i.length)!==-1};function Wc(i){var e=typeof i=="string"?Dc(i):i||{},t=e.protocol,n=e.host,a=e.port;if(typeof n!="string"||!n||typeof t!="string"||(t=t.split(":",1)[0],n=n.replace(/:\d*$/,""),a=parseInt(a)||Hc[t]||0,!$c(n,a)))return"";var s=gi("npm_config_"+t+"_proxy")||gi(t+"_proxy")||gi("npm_config_proxy")||gi("all_proxy");return s&&s.indexOf("://")===-1&&(s=t+"://"+s),s}function $c(i,e){var t=(gi("npm_config_no_proxy")||gi("no_proxy")).toLowerCase();return t?t==="*"?!1:t.split(/[,\s]/).every(function(n){if(!n)return!0;var a=n.match(/^(.+):(\d+)$/),s=a?a[1]:n,o=a?parseInt(a[2]):0;return o&&o!==e?!0:/^[.*]/.test(s)?(s.charAt(0)==="*"&&(s=s.slice(1)),!Mc.call(i,s)):i!==s}):!0}function gi(i){return process.env[i.toLowerCase()]||process.env[i.toUpperCase()]||""}fs.getProxyForUrl=Wc});var vs=O((sd,xs)=>{var yi=1e3,wi=yi*60,Ei=wi*60,Ze=Ei*24,Vc=Ze*7,Gc=Ze*365.25;xs.exports=function(i,e){e=e||{};var t=typeof i;if(t==="string"&&i.length>0)return Jc(i);if(t==="number"&&isFinite(i))return e.long?Yc(i):Kc(i);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(i))};function Jc(i){if(i=String(i),!(i.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(i);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*Gc;case"weeks":case"week":case"w":return t*Vc;case"days":case"day":case"d":return t*Ze;case"hours":case"hour":case"hrs":case"hr":case"h":return t*Ei;case"minutes":case"minute":case"mins":case"min":case"m":return t*wi;case"seconds":case"second":case"secs":case"sec":case"s":return t*yi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Kc(i){var e=Math.abs(i);return e>=Ze?Math.round(i/Ze)+"d":e>=Ei?Math.round(i/Ei)+"h":e>=wi?Math.round(i/wi)+"m":e>=yi?Math.round(i/yi)+"s":i+"ms"}function Yc(i){var e=Math.abs(i);return e>=Ze?Rt(i,e,Ze,"day"):e>=Ei?Rt(i,e,Ei,"hour"):e>=wi?Rt(i,e,wi,"minute"):e>=yi?Rt(i,e,yi,"second"):i+" ms"}function Rt(i,e,t,n){var a=e>=t*1.5;return Math.round(i/t)+" "+n+(a?"s":"")}});var Rn=O((od,bs)=>{function Xc(i){t.debug=t,t.default=t,t.coerce=p,t.disable=s,t.enable=a,t.enabled=o,t.humanize=vs(),t.destroy=l,Object.keys(i).forEach(u=>{t[u]=i[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let d=0;for(let v=0;v{if(K==="%%")return"%";F++;let Oe=t.formatters[Z];if(typeof Oe=="function"){let je=A[F];K=Oe.call(w,je),A.splice(F,1),F--}return K}),t.formatArgs.call(w,A),(w.log||t.log).apply(w,A)}return x.namespace=u,x.useColors=t.useColors(),x.color=t.selectColor(u),x.extend=n,x.destroy=t.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(b!==t.namespaces&&(b=t.namespaces,h=t.enabled(u)),h),set:A=>{v=A}}),typeof t.init=="function"&&t.init(x),x}function n(u,d){let v=t(this.namespace+(typeof d>"u"?":":d)+u);return v.log=this.log,v}function a(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let d,v=(typeof u=="string"?u:"").split(/[\s,]+/),b=v.length;for(d=0;d"-"+d)].join(",");return t.enable(""),u}function o(u){if(u[u.length-1]==="*")return!0;let d,v;for(d=0,v=t.skips.length;d{se.formatArgs=Zc;se.save=ep;se.load=ip;se.useColors=Qc;se.storage=tp();se.destroy=(()=>{let i=!1;return()=>{i||(i=!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`."))}})();se.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 Qc(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1: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&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Zc(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+St.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;i.splice(1,0,e,"color: inherit");let t=0,n=0;i[0].replace(/%[a-zA-Z%]/g,a=>{a!=="%%"&&(t++,a==="%c"&&(n=t))}),i.splice(n,0,e)}se.log=console.debug||console.log||(()=>{});function ep(i){try{i?se.storage.setItem("debug",i):se.storage.removeItem("debug")}catch{}}function ip(){let i;try{i=se.storage.getItem("debug")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=process.env.DEBUG),i}function tp(){try{return localStorage}catch{}}St.exports=Rn()(se);var{formatters:np}=St.exports;np.j=function(i){try{return JSON.stringify(i)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ws=O((V,Tt)=>{var ap=require("tty"),_t=require("util");V.init=up;V.log=cp;V.formatArgs=op;V.save=pp;V.load=lp;V.useColors=sp;V.destroy=_t.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");V.colors=[6,2,3,4,5,1];try{let i=require("supports-color");i&&(i.stderr||i).level>=2&&(V.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{}V.inspectOpts=Object.keys(process.env).filter(i=>/^debug_/i.test(i)).reduce((i,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(a,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),i[t]=n,i},{});function sp(){return"colors"in V.inspectOpts?!!V.inspectOpts.colors:ap.isatty(process.stderr.fd)}function op(i){let{namespace:e,useColors:t}=this;if(t){let n=this.color,a="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${a};1m${e} \x1B[0m`;i[0]=s+i[0].split(` +`).join(` +`+s),i.push(a+"m+"+Tt.exports.humanize(this.diff)+"\x1B[0m")}else i[0]=rp()+e+" "+i[0]}function rp(){return V.inspectOpts.hideDate?"":new Date().toISOString()+" "}function cp(...i){return process.stderr.write(_t.format(...i)+` +`)}function pp(i){i?process.env.DEBUG=i:delete process.env.DEBUG}function lp(){return process.env.DEBUG}function up(i){i.inspectOpts={};let e=Object.keys(V.inspectOpts);for(let t=0;te.trim()).join(" ")};ys.O=function(i){return this.inspectOpts.colors=this.useColors,_t.inspect(i,this.inspectOpts)}});var Es=O((rd,Sn)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Sn.exports=gs():Sn.exports=ws()});var As=O((cd,Cs)=>{var Vi;Cs.exports=function(){if(!Vi){try{Vi=Es()("follow-redirects")}catch{}typeof Vi!="function"&&(Vi=function(){})}Vi.apply(null,arguments)}});var Os=O((pd,Bn)=>{var ei=require("url"),_n=ei.URL,dp=require("http"),mp=require("https"),_s=require("stream").Writable,Ts=require("assert"),ks=As(),kn=["abort","aborted","connect","error","socket","timeout"],Fn=Object.create(null);kn.forEach(function(i){Fn[i]=function(e,t,n){this._redirectable.emit(i,e,t,n)}});var fp=Ji("ERR_INVALID_URL","Invalid URL",TypeError),Rs=Ji("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),hp=Ji("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded"),xp=Ji("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),vp=Ji("ERR_STREAM_WRITE_AFTER_END","write after end");function oe(i,e){_s.call(this),this._sanitizeOptions(i),this._options=i,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(n){t._processResponse(n)},this._performRequest()}oe.prototype=Object.create(_s.prototype);oe.prototype.abort=function(){Bs(this._currentRequest),this.emit("abort")};oe.prototype.write=function(i,e,t){if(this._ending)throw new vp;if(!ii(i)&&!yp(i))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Gi(e)&&(t=e,e=null),i.length===0){t&&t();return}this._requestBodyLength+i.length<=this._options.maxBodyLength?(this._requestBodyLength+=i.length,this._requestBodyBuffers.push({data:i,encoding:e}),this._currentRequest.write(i,e,t)):(this.emit("error",new xp),this.abort())};oe.prototype.end=function(i,e,t){if(Gi(i)?(t=i,i=e=null):Gi(e)&&(t=e,e=null),!i)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var n=this,a=this._currentRequest;this.write(i,e,function(){n._ended=!0,a.end(null,null,t)}),this._ending=!0}};oe.prototype.setHeader=function(i,e){this._options.headers[i]=e,this._currentRequest.setHeader(i,e)};oe.prototype.removeHeader=function(i){delete this._options.headers[i],this._currentRequest.removeHeader(i)};oe.prototype.setTimeout=function(i,e){var t=this;function n(o){o.setTimeout(i),o.removeListener("timeout",o.destroy),o.addListener("timeout",o.destroy)}function a(o){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),s()},i),n(o)}function s(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",s),t.removeListener("error",s),t.removeListener("response",s),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",a)}return e&&this.on("timeout",e),this.socket?a(this.socket):this._currentRequest.once("socket",a),this.on("socket",n),this.on("abort",s),this.on("error",s),this.on("response",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(i){oe.prototype[i]=function(e,t){return this._currentRequest[i](e,t)}});["aborted","connection","socket"].forEach(function(i){Object.defineProperty(oe.prototype,i,{get:function(){return this._currentRequest[i]}})});oe.prototype._sanitizeOptions=function(i){if(i.headers||(i.headers={}),i.host&&(i.hostname||(i.hostname=i.host),delete i.host),!i.pathname&&i.path){var e=i.path.indexOf("?");e<0?i.pathname=i.path:(i.pathname=i.path.substring(0,e),i.search=i.path.substring(e))}};oe.prototype._performRequest=function(){var i=this._options.protocol,e=this._options.nativeProtocols[i];if(!e){this.emit("error",new TypeError("Unsupported protocol "+i));return}if(this._options.agents){var t=i.slice(0,-1);this._options.agent=this._options.agents[t]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var a of kn)n.on(a,Fn[a]);if(this._currentUrl=/^\//.test(this._options.path)?ei.format(this._options):this._options.path,this._isRedirect){var s=0,o=this,c=this._requestBodyBuffers;(function p(l){if(n===o._currentRequest)if(l)o.emit("error",l);else if(s=400){i.responseUrl=this._currentUrl,i.redirects=this._redirects,this.emit("response",i),this._requestBodyBuffers=[];return}if(Bs(this._currentRequest),i.destroy(),++this._redirectCount>this._options.maxRedirects){this.emit("error",new hp);return}var n,a=this._options.beforeRedirect;a&&(n=Object.assign({Host:i.req.getHeader("host")},this._options.headers));var s=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=[],Tn(/^content-/i,this._options.headers));var o=Tn(/^host$/i,this._options.headers),c=ei.parse(this._currentUrl),p=o||c.host,l=/^\w+:/.test(t)?this._currentUrl:ei.format(Object.assign(c,{host:p})),u;try{u=ei.resolve(l,t)}catch(h){this.emit("error",new Rs({cause:h}));return}ks("redirecting to",u),this._isRedirect=!0;var d=ei.parse(u);if(Object.assign(this._options,d),(d.protocol!==c.protocol&&d.protocol!=="https:"||d.host!==p&&!gp(d.host,p))&&Tn(/^(?:authorization|cookie)$/i,this._options.headers),Gi(a)){var v={headers:i.headers,statusCode:e},b={url:l,method:s,headers:n};try{a(this._options,v,b)}catch(h){this.emit("error",h);return}this._sanitizeOptions(this._options)}try{this._performRequest()}catch(h){this.emit("error",new Rs({cause:h}))}};function Fs(i){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(i).forEach(function(n){var a=n+":",s=t[a]=i[n],o=e[n]=Object.create(s);function c(l,u,d){if(ii(l)){var v;try{v=Ss(new _n(l))}catch{v=ei.parse(l)}if(!ii(v.protocol))throw new fp({input:l});l=v}else _n&&l instanceof _n?l=Ss(l):(d=u,u=l,l={protocol:a});return Gi(u)&&(d=u,u=null),u=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,u),u.nativeProtocols=t,!ii(u.host)&&!ii(u.hostname)&&(u.hostname="::1"),Ts.equal(u.protocol,a,"protocol mismatch"),ks("options",u),new oe(u,d)}function p(l,u,d){var v=o.request(l,u,d);return v.end(),v}Object.defineProperties(o,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:p,configurable:!0,enumerable:!0,writable:!0}})}),e}function bp(){}function Ss(i){var e={protocol:i.protocol,hostname:i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,hash:i.hash,search:i.search,pathname:i.pathname,path:i.pathname+i.search,href:i.href};return i.port!==""&&(e.port=Number(i.port)),e}function Tn(i,e){var t;for(var n in e)i.test(n)&&(t=e[n],delete e[n]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Ji(i,e,t){function n(a){Error.captureStackTrace(this,this.constructor),Object.assign(this,a||{}),this.code=i,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(t||Error),n.prototype.constructor=n,n.prototype.name="Error ["+i+"]",n}function Bs(i){for(var e of kn)i.removeListener(e,Fn[e]);i.on("error",bp),i.abort()}function gp(i,e){Ts(ii(i)&&ii(e));var t=i.length-e.length-1;return t>0&&i[t]==="."&&i.endsWith(e)}function ii(i){return typeof i=="string"||i instanceof String}function Gi(i){return typeof i=="function"}function yp(i){return typeof i=="object"&&"length"in i}Bn.exports=Fs({http:dp,https:mp});Bn.exports.wrap=Fs});var yo=O((ci,go)=>{"use strict";var Gn=require("crypto");ci=go.exports=ot;function ot(i,e){return e=vo(i,e),Np(i,e)}ci.sha1=function(i){return ot(i)};ci.keys=function(i){return ot(i,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};ci.MD5=function(i){return ot(i,{algorithm:"md5",encoding:"hex"})};ci.keysMD5=function(i){return ot(i,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var Bi=Gn.getHashes?Gn.getHashes().slice():["sha1","md5"];Bi.push("passthrough");var ho=["buffer","hex","binary","base64"];function vo(i,e){e=e||{};var t={};if(t.algorithm=e.algorithm||"sha1",t.encoding=e.encoding||"hex",t.excludeValues=!!e.excludeValues,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=e.ignoreUnknown===!0,t.respectType=e.respectType!==!1,t.respectFunctionNames=e.respectFunctionNames!==!1,t.respectFunctionProperties=e.respectFunctionProperties!==!1,t.unorderedArrays=e.unorderedArrays===!0,t.unorderedSets=e.unorderedSets!==!1,t.unorderedObjects=e.unorderedObjects!==!1,t.replacer=e.replacer||void 0,t.excludeKeys=e.excludeKeys||void 0,typeof i>"u")throw new Error("Object argument required.");for(var n=0;n"u"&&(t.write=t.update,t.end=t.update);var n=Jn(e,t);if(n.dispatch(i),t.update||t.end(""),t.digest)return t.digest(e.encoding==="buffer"?void 0:e.encoding);var a=t.read();return e.encoding==="buffer"?a:a.toString(e.encoding)}ci.writeToStream=function(i,e,t){return typeof t>"u"&&(t=e,e={}),e=vo(i,e),Jn(e,t).dispatch(i)};function Jn(i,e,t){t=t||[];var n=function(a){return e.update?e.update(a,"utf8"):e.write(a,"utf8")};return{dispatch:function(a){i.replacer&&(a=i.replacer(a));var s=typeof a;return a===null&&(s="null"),this["_"+s](a)},_object:function(a){var s=/\[object (.*)\]/i,o=Object.prototype.toString.call(a),c=s.exec(o);c?c=c[1]:c="unknown:["+o+"]",c=c.toLowerCase();var p=null;if((p=t.indexOf(a))>=0)return this.dispatch("[CIRCULAR:"+p+"]");if(t.push(a),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(a))return n("buffer:"),n(a);if(c!=="object"&&c!=="function"&&c!=="asyncfunction")if(this["_"+c])this["_"+c](a);else{if(i.ignoreUnknown)return n("["+c+"]");throw new Error('Unknown object type "'+c+'"')}else{var l=Object.keys(a);i.unorderedObjects&&(l=l.sort()),i.respectType!==!1&&!xo(a)&&l.splice(0,0,"prototype","__proto__","constructor"),i.excludeKeys&&(l=l.filter(function(d){return!i.excludeKeys(d)})),n("object:"+l.length+":");var u=this;return l.forEach(function(d){u.dispatch(d),n(":"),i.excludeValues||u.dispatch(a[d]),n(",")})}},_array:function(a,s){s=typeof s<"u"?s:i.unorderedArrays!==!1;var o=this;if(n("array:"+a.length+":"),!s||a.length<=1)return a.forEach(function(l){return o.dispatch(l)});var c=[],p=a.map(function(l){var u=new bo,d=t.slice(),v=Jn(i,u,d);return v.dispatch(l),c=c.concat(d.slice(t.length)),u.read().toString()});return t=t.concat(c),p.sort(),this._array(p,!1)},_date:function(a){return n("date:"+a.toJSON())},_symbol:function(a){return n("symbol:"+a.toString())},_error:function(a){return n("error:"+a.toString())},_boolean:function(a){return n("bool:"+a.toString())},_string:function(a){n("string:"+a.length+":"),n(a.toString())},_function:function(a){n("fn:"),xo(a)?this.dispatch("[native]"):this.dispatch(a.toString()),i.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(a.name)),i.respectFunctionProperties&&this._object(a)},_number:function(a){return n("number:"+a.toString())},_xml:function(a){return n("xml:"+a.toString())},_null:function(){return n("Null")},_undefined:function(){return n("Undefined")},_regexp:function(a){return n("regex:"+a.toString())},_uint8array:function(a){return n("uint8array:"),this.dispatch(Array.prototype.slice.call(a))},_uint8clampedarray:function(a){return n("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(a))},_int8array:function(a){return n("int8array:"),this.dispatch(Array.prototype.slice.call(a))},_uint16array:function(a){return n("uint16array:"),this.dispatch(Array.prototype.slice.call(a))},_int16array:function(a){return n("int16array:"),this.dispatch(Array.prototype.slice.call(a))},_uint32array:function(a){return n("uint32array:"),this.dispatch(Array.prototype.slice.call(a))},_int32array:function(a){return n("int32array:"),this.dispatch(Array.prototype.slice.call(a))},_float32array:function(a){return n("float32array:"),this.dispatch(Array.prototype.slice.call(a))},_float64array:function(a){return n("float64array:"),this.dispatch(Array.prototype.slice.call(a))},_arraybuffer:function(a){return n("arraybuffer:"),this.dispatch(new Uint8Array(a))},_url:function(a){return n("url:"+a.toString(),"utf8")},_map:function(a){n("map:");var s=Array.from(a);return this._array(s,i.unorderedSets!==!1)},_set:function(a){n("set:");var s=Array.from(a);return this._array(s,i.unorderedSets!==!1)},_file:function(a){return n("file:"),this.dispatch([a.name,a.size,a.type,a.lastModfied])},_blob:function(){if(i.ignoreUnknown)return n("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return n("domwindow")},_bigint:function(a){return n("bigint:"+a.toString())},_process:function(){return n("process")},_timer:function(){return n("timer")},_pipe:function(){return n("pipe")},_tcp:function(){return n("tcp")},_udp:function(){return n("udp")},_tty:function(){return n("tty")},_statwatcher:function(){return n("statwatcher")},_securecontext:function(){return n("securecontext")},_connection:function(){return n("connection")},_zlib:function(){return n("zlib")},_context:function(){return n("context")},_nodescript:function(){return n("nodescript")},_httpparser:function(){return n("httpparser")},_dataview:function(){return n("dataview")},_signal:function(){return n("signal")},_fsevent:function(){return n("fsevent")},_tlswrap:function(){return n("tlswrap")}}}function bo(){return{buf:"",write:function(i){this.buf+=i},end:function(i){this.buf+=i},read:function(){return this.buf}}}});var Eo=O((Bf,wo)=>{wo.exports={STRING:2,BOOLEAN:4,BYTES:4,NUMBER:8,Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8}});var Ro=O(Dt=>{"use strict";Dt.byteLength=Hp;Dt.toByteArray=Wp;Dt.fromByteArray=Gp;var Te=[],me=[],Dp=typeof Uint8Array<"u"?Uint8Array:Array,Kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(pi=0,Co=Kn.length;pi0)throw new Error("Invalid string. Length must be a multiple of 4");var t=i.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function Hp(i){var e=Ao(i),t=e[0],n=e[1];return(t+n)*3/4-n}function Mp(i,e,t){return(e+t)*3/4-t}function Wp(i){var e,t=Ao(i),n=t[0],a=t[1],s=new Dp(Mp(i,n,a)),o=0,c=a>0?n-4:n,p;for(p=0;p>16&255,s[o++]=e>>8&255,s[o++]=e&255;return a===2&&(e=me[i.charCodeAt(p)]<<2|me[i.charCodeAt(p+1)]>>4,s[o++]=e&255),a===1&&(e=me[i.charCodeAt(p)]<<10|me[i.charCodeAt(p+1)]<<4|me[i.charCodeAt(p+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function $p(i){return Te[i>>18&63]+Te[i>>12&63]+Te[i>>6&63]+Te[i&63]}function Vp(i,e,t){for(var n,a=[],s=e;sc?c:o+s));return n===1?(e=i[t-1],a.push(Te[e>>2]+Te[e<<4&63]+"==")):n===2&&(e=(i[t-2]<<8)+i[t-1],a.push(Te[e>>10]+Te[e>>4&63]+Te[e<<2&63]+"=")),a.join("")}});var So=O(Yn=>{Yn.read=function(i,e,t,n,a){var s,o,c=a*8-n-1,p=(1<>1,u=-7,d=t?a-1:0,v=t?-1:1,b=i[e+d];for(d+=v,s=b&(1<<-u)-1,b>>=-u,u+=c;u>0;s=s*256+i[e+d],d+=v,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=n;u>0;o=o*256+i[e+d],d+=v,u-=8);if(s===0)s=1-l;else{if(s===p)return o?NaN:(b?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-l}return(b?-1:1)*o*Math.pow(2,s-n)};Yn.write=function(i,e,t,n,a,s){var o,c,p,l=s*8-a-1,u=(1<>1,v=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,b=n?0:s-1,h=n?1:-1,x=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(p=Math.pow(2,-o))<1&&(o--,p*=2),o+d>=1?e+=v/p:e+=v*Math.pow(2,1-d),e*p>=2&&(o++,p/=2),o+d>=u?(c=0,o=u):o+d>=1?(c=(e*p-1)*Math.pow(2,a),o=o+d):(c=e*Math.pow(2,d-1)*Math.pow(2,a),o=0));a>=8;i[t+b]=c&255,b+=h,c/=256,a-=8);for(o=o<0;i[t+b]=o&255,b+=h,o/=256,l-=8);i[t+b-h]|=x*128}});var Mo=O(qi=>{"use strict";var Xn=Ro(),ji=So(),_o=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;qi.Buffer=f;qi.SlowBuffer=Zp;qi.INSPECT_MAX_BYTES=50;var Ht=2147483647;qi.kMaxLength=Ht;f.TYPED_ARRAY_SUPPORT=Jp();!f.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Jp(){try{let i=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(i,e),i.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}});Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function Ne(i){if(i>Ht)throw new RangeError('The value "'+i+'" is invalid for option "size"');let e=new Uint8Array(i);return Object.setPrototypeOf(e,f.prototype),e}function f(i,e,t){if(typeof i=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return ia(i)}return Bo(i,e,t)}f.poolSize=8192;function Bo(i,e,t){if(typeof i=="string")return Yp(i,e);if(ArrayBuffer.isView(i))return Xp(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(ke(i,ArrayBuffer)||i&&ke(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ke(i,SharedArrayBuffer)||i&&ke(i.buffer,SharedArrayBuffer)))return Zn(i,e,t);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=i.valueOf&&i.valueOf();if(n!=null&&n!==i)return f.from(n,e,t);let a=Qp(i);if(a)return a;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return f.from(i[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}f.from=function(i,e,t){return Bo(i,e,t)};Object.setPrototypeOf(f.prototype,Uint8Array.prototype);Object.setPrototypeOf(f,Uint8Array);function Oo(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function Kp(i,e,t){return Oo(i),i<=0?Ne(i):e!==void 0?typeof t=="string"?Ne(i).fill(e,t):Ne(i).fill(e):Ne(i)}f.alloc=function(i,e,t){return Kp(i,e,t)};function ia(i){return Oo(i),Ne(i<0?0:ta(i)|0)}f.allocUnsafe=function(i){return ia(i)};f.allocUnsafeSlow=function(i){return ia(i)};function Yp(i,e){if((typeof e!="string"||e==="")&&(e="utf8"),!f.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=jo(i,e)|0,n=Ne(t),a=n.write(i,e);return a!==t&&(n=n.slice(0,a)),n}function Qn(i){let e=i.length<0?0:ta(i.length)|0,t=Ne(e);for(let n=0;n=Ht)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ht.toString(16)+" bytes");return i|0}function Zp(i){return+i!=i&&(i=0),f.alloc(+i)}f.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==f.prototype};f.compare=function(e,t){if(ke(e,Uint8Array)&&(e=f.from(e,e.offset,e.byteLength)),ke(t,Uint8Array)&&(t=f.from(t,t.offset,t.byteLength)),!f.isBuffer(e)||!f.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,a=t.length;for(let s=0,o=Math.min(n,a);sa.length?(f.isBuffer(o)||(o=f.from(o)),o.copy(a,s)):Uint8Array.prototype.set.call(a,o,s);else if(f.isBuffer(o))o.copy(a,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=o.length}return a};function jo(i,e){if(f.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||ke(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);let t=i.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&t===0)return 0;let a=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return ea(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Ho(i).length;default:if(a)return n?-1:ea(i).length;e=(""+e).toLowerCase(),a=!0}}f.byteLength=jo;function el(i,e,t){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(i||(i="utf8");;)switch(i){case"hex":return ll(this,e,t);case"utf8":case"utf-8":return qo(this,e,t);case"ascii":return cl(this,e,t);case"latin1":case"binary":return pl(this,e,t);case"base64":return ol(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ul(this,e,t);default:if(n)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),n=!0}}f.prototype._isBuffer=!0;function li(i,e,t){let n=i[e];i[e]=i[t],i[t]=n}f.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};_o&&(f.prototype[_o]=f.prototype.inspect);f.prototype.compare=function(e,t,n,a,s){if(ke(e,Uint8Array)&&(e=f.from(e,e.offset,e.byteLength)),!f.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),a===void 0&&(a=0),s===void 0&&(s=this.length),t<0||n>e.length||a<0||s>this.length)throw new RangeError("out of range index");if(a>=s&&t>=n)return 0;if(a>=s)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,a>>>=0,s>>>=0,this===e)return 0;let o=s-a,c=n-t,p=Math.min(o,c),l=this.slice(a,s),u=e.slice(t,n);for(let d=0;d2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,aa(t)&&(t=a?0:i.length-1),t<0&&(t=i.length+t),t>=i.length){if(a)return-1;t=i.length-1}else if(t<0)if(a)t=0;else return-1;if(typeof e=="string"&&(e=f.from(e,n)),f.isBuffer(e))return e.length===0?-1:To(i,e,t,n,a);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(i,e,t):Uint8Array.prototype.lastIndexOf.call(i,e,t):To(i,[e],t,n,a);throw new TypeError("val must be string, number or Buffer")}function To(i,e,t,n,a){let s=1,o=i.length,c=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(i.length<2||e.length<2)return-1;s=2,o/=2,c/=2,t/=2}function p(u,d){return s===1?u[d]:u.readUInt16BE(d*s)}let l;if(a){let u=-1;for(l=t;lo&&(t=o-c),l=t;l>=0;l--){let u=!0;for(let d=0;da&&(n=a)):n=a;let s=e.length;n>s/2&&(n=s/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,a===void 0&&(a="utf8")):(a=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-t;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");let o=!1;for(;;)switch(a){case"hex":return il(this,e,t,n);case"utf8":case"utf-8":return tl(this,e,t,n);case"ascii":case"latin1":case"binary":return nl(this,e,t,n);case"base64":return al(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return sl(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),o=!0}};f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ol(i,e,t){return e===0&&t===i.length?Xn.fromByteArray(i):Xn.fromByteArray(i.slice(e,t))}function qo(i,e,t){t=Math.min(i.length,t);let n=[],a=e;for(;a239?4:s>223?3:s>191?2:1;if(a+c<=t){let p,l,u,d;switch(c){case 1:s<128&&(o=s);break;case 2:p=i[a+1],(p&192)===128&&(d=(s&31)<<6|p&63,d>127&&(o=d));break;case 3:p=i[a+1],l=i[a+2],(p&192)===128&&(l&192)===128&&(d=(s&15)<<12|(p&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:p=i[a+1],l=i[a+2],u=i[a+3],(p&192)===128&&(l&192)===128&&(u&192)===128&&(d=(s&15)<<18|(p&63)<<12|(l&63)<<6|u&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,c=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),a+=c}return rl(n)}var ko=4096;function rl(i){let e=i.length;if(e<=ko)return String.fromCharCode.apply(String,i);let t="",n=0;for(;nn)&&(t=n);let a="";for(let s=e;sn&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),tt)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(e,t,n){e=e>>>0,t=t>>>0,n||$(e,t,this.length);let a=this[e],s=1,o=0;for(;++o>>0,t=t>>>0,n||$(e,t,this.length);let a=this[e+--t],s=1;for(;t>0&&(s*=256);)a+=this[e+--t]*s;return a};f.prototype.readUint8=f.prototype.readUInt8=function(e,t){return e=e>>>0,t||$(e,1,this.length),this[e]};f.prototype.readUint16LE=f.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||$(e,2,this.length),this[e]|this[e+1]<<8};f.prototype.readUint16BE=f.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||$(e,2,this.length),this[e]<<8|this[e+1]};f.prototype.readUint32LE=f.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||$(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};f.prototype.readUint32BE=f.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||$(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};f.prototype.readBigUInt64LE=Ke(function(e){e=e>>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(a)+(BigInt(s)<>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(a)<>>0,t=t>>>0,n||$(e,t,this.length);let a=this[e],s=1,o=0;for(;++o=s&&(a-=Math.pow(2,8*t)),a};f.prototype.readIntBE=function(e,t,n){e=e>>>0,t=t>>>0,n||$(e,t,this.length);let a=t,s=1,o=this[e+--a];for(;a>0&&(s*=256);)o+=this[e+--a]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*t)),o};f.prototype.readInt8=function(e,t){return e=e>>>0,t||$(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};f.prototype.readInt16LE=function(e,t){e=e>>>0,t||$(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};f.prototype.readInt16BE=function(e,t){e=e>>>0,t||$(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};f.prototype.readInt32LE=function(e,t){return e=e>>>0,t||$(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};f.prototype.readInt32BE=function(e,t){return e=e>>>0,t||$(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};f.prototype.readBigInt64LE=Ke(function(e){e=e>>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(a)<>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(a)<>>0,t||$(e,4,this.length),ji.read(this,e,!0,23,4)};f.prototype.readFloatBE=function(e,t){return e=e>>>0,t||$(e,4,this.length),ji.read(this,e,!1,23,4)};f.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||$(e,8,this.length),ji.read(this,e,!0,52,8)};f.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||$(e,8,this.length),ji.read(this,e,!1,52,8)};function te(i,e,t,n,a,s){if(!f.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||ei.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(e,t,n,a){if(e=+e,t=t>>>0,n=n>>>0,!a){let c=Math.pow(2,8*n)-1;te(this,e,t,n,c,0)}let s=1,o=0;for(this[t]=e&255;++o>>0,n=n>>>0,!a){let c=Math.pow(2,8*n)-1;te(this,e,t,n,c,0)}let s=n-1,o=1;for(this[t+s]=e&255;--s>=0&&(o*=256);)this[t+s]=e/o&255;return t+n};f.prototype.writeUint8=f.prototype.writeUInt8=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,1,255,0),this[t]=e&255,t+1};f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Io(i,e,t,n,a){Do(e,n,a,i,t,7);let s=Number(e&BigInt(4294967295));i[t++]=s,s=s>>8,i[t++]=s,s=s>>8,i[t++]=s,s=s>>8,i[t++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return i[t++]=o,o=o>>8,i[t++]=o,o=o>>8,i[t++]=o,o=o>>8,i[t++]=o,t}function Lo(i,e,t,n,a){Do(e,n,a,i,t,7);let s=Number(e&BigInt(4294967295));i[t+7]=s,s=s>>8,i[t+6]=s,s=s>>8,i[t+5]=s,s=s>>8,i[t+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return i[t+3]=o,o=o>>8,i[t+2]=o,o=o>>8,i[t+1]=o,o=o>>8,i[t]=o,t+8}f.prototype.writeBigUInt64LE=Ke(function(e,t=0){return Io(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});f.prototype.writeBigUInt64BE=Ke(function(e,t=0){return Lo(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});f.prototype.writeIntLE=function(e,t,n,a){if(e=+e,t=t>>>0,!a){let p=Math.pow(2,8*n-1);te(this,e,t,n,p-1,-p)}let s=0,o=1,c=0;for(this[t]=e&255;++s>0)-c&255;return t+n};f.prototype.writeIntBE=function(e,t,n,a){if(e=+e,t=t>>>0,!a){let p=Math.pow(2,8*n-1);te(this,e,t,n,p-1,-p)}let s=n-1,o=1,c=0;for(this[t+s]=e&255;--s>=0&&(o*=256);)e<0&&c===0&&this[t+s+1]!==0&&(c=1),this[t+s]=(e/o>>0)-c&255;return t+n};f.prototype.writeInt8=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};f.prototype.writeInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};f.prototype.writeInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};f.prototype.writeInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};f.prototype.writeInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};f.prototype.writeBigInt64LE=Ke(function(e,t=0){return Io(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});f.prototype.writeBigInt64BE=Ke(function(e,t=0){return Lo(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Po(i,e,t,n,a,s){if(t+n>i.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function zo(i,e,t,n,a){return e=+e,t=t>>>0,a||Po(i,e,t,4,34028234663852886e22,-34028234663852886e22),ji.write(i,e,t,n,23,4),t+4}f.prototype.writeFloatLE=function(e,t,n){return zo(this,e,t,!0,n)};f.prototype.writeFloatBE=function(e,t,n){return zo(this,e,t,!1,n)};function No(i,e,t,n,a){return e=+e,t=t>>>0,a||Po(i,e,t,8,17976931348623157e292,-17976931348623157e292),ji.write(i,e,t,n,52,8),t+8}f.prototype.writeDoubleLE=function(e,t,n){return No(this,e,t,!0,n)};f.prototype.writeDoubleBE=function(e,t,n){return No(this,e,t,!1,n)};f.prototype.copy=function(e,t,n,a){if(!f.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!a&&a!==0&&(a=this.length),t>=e.length&&(t=e.length),t||(t=0),a>0&&a=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=t;s2**32?a=Fo(String(t)):typeof t=="bigint"&&(a=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(a=Fo(a)),a+="n"),n+=` It must be ${e}. Received ${a}`,n},RangeError);function Fo(i){let e="",t=i.length,n=i[0]==="-"?1:0;for(;t>=n+4;t-=3)e=`_${i.slice(t-3,t)}${e}`;return`${i.slice(0,t)}${e}`}function dl(i,e,t){Ui(e,"offset"),(i[e]===void 0||i[e+t]===void 0)&&rt(e,i.length-(t+1))}function Do(i,e,t,n,a,s){if(i>t||i3?e===0||e===BigInt(0)?c=`>= 0${o} and < 2${o} ** ${(s+1)*8}${o}`:c=`>= -(2${o} ** ${(s+1)*8-1}${o}) and < 2 ** ${(s+1)*8-1}${o}`:c=`>= ${e}${o} and <= ${t}${o}`,new Oi.ERR_OUT_OF_RANGE("value",c,i)}dl(n,a,s)}function Ui(i,e){if(typeof i!="number")throw new Oi.ERR_INVALID_ARG_TYPE(e,"number",i)}function rt(i,e,t){throw Math.floor(i)!==i?(Ui(i,t),new Oi.ERR_OUT_OF_RANGE(t||"offset","an integer",i)):e<0?new Oi.ERR_BUFFER_OUT_OF_BOUNDS:new Oi.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,i)}var ml=/[^+/0-9A-Za-z-_]/g;function fl(i){if(i=i.split("=")[0],i=i.trim().replace(ml,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function ea(i,e){e=e||1/0;let t,n=i.length,a=null,s=[];for(let o=0;o55295&&t<57344){if(!a){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}a=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),a=t;continue}t=(a-55296<<10|t-56320)+65536}else a&&(e-=3)>-1&&s.push(239,191,189);if(a=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function hl(i){let e=[];for(let t=0;t>8,a=t%256,s.push(a),s.push(n);return s}function Ho(i){return Xn.toByteArray(fl(i))}function Mt(i,e,t,n){let a;for(a=0;a=e.length||a>=i.length);++a)e[a+t]=i[a];return a}function ke(i,e){return i instanceof e||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===e.name}function aa(i){return i!==i}var vl=function(){let i="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let n=t*16;for(let a=0;a<16;++a)e[n+a]=i[t]+i[a]}return e}();function Ke(i){return typeof BigInt>"u"?bl:i}function bl(){throw new Error("BigInt not supported")}});var Vo=O((If,$o)=>{"use strict";var le=Eo(),Wo=Mo().Buffer;function gl(i){return 12+4*Math.ceil(i.length/4)}function yl(){return!(typeof window<"u"&&typeof document<"u")}function wl(i){let e=0,t=-1;try{let n=i;if(i instanceof Map?n=Object.fromEntries(i):i instanceof Set&&(n=Array.from(i)),i instanceof Int8Array)return i.length*le.Int8Array;if(i instanceof Uint8Array||i instanceof Uint8ClampedArray)return i.length*le.Uint8Array;if(i instanceof Int16Array)return i.length*le.Int16Array;if(i instanceof Uint16Array)return i.length*le.Uint16Array;if(i instanceof Int32Array)return i.length*le.Int32Array;if(i instanceof Uint32Array)return i.length*le.Uint32Array;if(i instanceof Float32Array)return i.length*le.Float32Array;if(i instanceof Float64Array)return i.length*le.Float64Array;let a=JSON.stringify(n);e=new Wo.from(a).byteLength}catch(n){return console.error("Error detected, return "+t,n),t}return e}function El(i){let e=[],t=[i],n=0;for(;t.length;){let a=t.pop();if(typeof a=="boolean")n+=le.BYTES;else if(typeof a=="string")yl()?n+=gl(a):n+=a.length*le.STRING;else if(typeof a=="number")n+=le.NUMBER;else if(typeof a=="symbol")Symbol.keyFor&&Symbol.keyFor(i)?n+=Symbol.keyFor(i).length*le.STRING:n+=(i.toString().length-8)*le.STRING;else if(typeof a=="bigint")n+=Wo.from(a.toString()).byteLength;else if(typeof a=="function")n+=a.toString().length;else if(typeof a=="object"&&e.indexOf(a)===-1){e.push(a);for(let s in a)t.push(a[s])}}return n}$o.exports=function(i){let e=0;return i!==null&&typeof i=="object"?e=wl(i):e=El(i),e}});function Ni(i,e){return function(){return i.apply(e,arguments)}}var{toString:ur}=Object.prototype,{getPrototypeOf:on}=Object,xt=(i=>e=>{let t=ur.call(e);return i[t]||(i[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Ce=i=>(i=i.toLowerCase(),e=>xt(e)===i),vt=i=>e=>typeof e===i,{isArray:fi}=Array,Di=vt("undefined");function dr(i){return i!==null&&!Di(i)&&i.constructor!==null&&!Di(i.constructor)&&de(i.constructor.isBuffer)&&i.constructor.isBuffer(i)}var ma=Ce("ArrayBuffer");function mr(i){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(i):e=i&&i.buffer&&ma(i.buffer),e}var fr=vt("string"),de=vt("function"),fa=vt("number"),bt=i=>i!==null&&typeof i=="object",hr=i=>i===!0||i===!1,ht=i=>{if(xt(i)!=="object")return!1;let e=on(i);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in i)&&!(Symbol.iterator in i)},xr=Ce("Date"),vr=Ce("File"),br=Ce("Blob"),gr=Ce("FileList"),yr=i=>bt(i)&&de(i.pipe),wr=i=>{let e;return i&&(typeof FormData=="function"&&i instanceof FormData||de(i.append)&&((e=xt(i))==="formdata"||e==="object"&&de(i.toString)&&i.toString()==="[object FormData]"))},Er=Ce("URLSearchParams"),Cr=i=>i.trim?i.trim():i.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Hi(i,e,{allOwnKeys:t=!1}={}){if(i===null||typeof i>"u")return;let n,a;if(typeof i!="object"&&(i=[i]),fi(i))for(n=0,a=i.length;n0;)if(a=t[n],e===a.toLowerCase())return a;return null}var xa=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),va=i=>!Di(i)&&i!==xa;function sn(){let{caseless:i}=va(this)&&this||{},e={},t=(n,a)=>{let s=i&&ha(e,a)||a;ht(e[s])&&ht(n)?e[s]=sn(e[s],n):ht(n)?e[s]=sn({},n):fi(n)?e[s]=n.slice():e[s]=n};for(let n=0,a=arguments.length;n(Hi(e,(a,s)=>{t&&de(a)?i[s]=Ni(a,t):i[s]=a},{allOwnKeys:n}),i),Rr=i=>(i.charCodeAt(0)===65279&&(i=i.slice(1)),i),Sr=(i,e,t,n)=>{i.prototype=Object.create(e.prototype,n),i.prototype.constructor=i,Object.defineProperty(i,"super",{value:e.prototype}),t&&Object.assign(i.prototype,t)},_r=(i,e,t,n)=>{let a,s,o,c={};if(e=e||{},i==null)return e;do{for(a=Object.getOwnPropertyNames(i),s=a.length;s-- >0;)o=a[s],(!n||n(o,i,e))&&!c[o]&&(e[o]=i[o],c[o]=!0);i=t!==!1&&on(i)}while(i&&(!t||t(i,e))&&i!==Object.prototype);return e},Tr=(i,e,t)=>{i=String(i),(t===void 0||t>i.length)&&(t=i.length),t-=e.length;let n=i.indexOf(e,t);return n!==-1&&n===t},kr=i=>{if(!i)return null;if(fi(i))return i;let e=i.length;if(!fa(e))return null;let t=new Array(e);for(;e-- >0;)t[e]=i[e];return t},Fr=(i=>e=>i&&e instanceof i)(typeof Uint8Array<"u"&&on(Uint8Array)),Br=(i,e)=>{let n=(i&&i[Symbol.iterator]).call(i),a;for(;(a=n.next())&&!a.done;){let s=a.value;e.call(i,s[0],s[1])}},Or=(i,e)=>{let t,n=[];for(;(t=i.exec(e))!==null;)n.push(t);return n},jr=Ce("HTMLFormElement"),Ur=i=>i.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,a){return n.toUpperCase()+a}),ua=(({hasOwnProperty:i})=>(e,t)=>i.call(e,t))(Object.prototype),qr=Ce("RegExp"),ba=(i,e)=>{let t=Object.getOwnPropertyDescriptors(i),n={};Hi(t,(a,s)=>{e(a,s,i)!==!1&&(n[s]=a)}),Object.defineProperties(i,n)},Ir=i=>{ba(i,(e,t)=>{if(de(i)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;let n=i[t];if(de(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},Lr=(i,e)=>{let t={},n=a=>{a.forEach(s=>{t[s]=!0})};return fi(i)?n(i):n(String(i).split(e)),t},Pr=()=>{},zr=(i,e)=>(i=+i,Number.isFinite(i)?i:e),an="abcdefghijklmnopqrstuvwxyz",da="0123456789",ga={DIGIT:da,ALPHA:an,ALPHA_DIGIT:an+an.toUpperCase()+da},Nr=(i=16,e=ga.ALPHA_DIGIT)=>{let t="",{length:n}=e;for(;i--;)t+=e[Math.random()*n|0];return t};function Dr(i){return!!(i&&de(i.append)&&i[Symbol.toStringTag]==="FormData"&&i[Symbol.iterator])}var Hr=i=>{let e=new Array(10),t=(n,a)=>{if(bt(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[a]=n;let s=fi(n)?[]:{};return Hi(n,(o,c)=>{let p=t(o,a+1);!Di(p)&&(s[c]=p)}),e[a]=void 0,s}}return n};return t(i,0)},Mr=Ce("AsyncFunction"),Wr=i=>i&&(bt(i)||de(i))&&de(i.then)&&de(i.catch),m={isArray:fi,isArrayBuffer:ma,isBuffer:dr,isFormData:wr,isArrayBufferView:mr,isString:fr,isNumber:fa,isBoolean:hr,isObject:bt,isPlainObject:ht,isUndefined:Di,isDate:xr,isFile:vr,isBlob:br,isRegExp:qr,isFunction:de,isStream:yr,isURLSearchParams:Er,isTypedArray:Fr,isFileList:gr,forEach:Hi,merge:sn,extend:Ar,trim:Cr,stripBOM:Rr,inherits:Sr,toFlatObject:_r,kindOf:xt,kindOfTest:Ce,endsWith:Tr,toArray:kr,forEachEntry:Br,matchAll:Or,isHTMLForm:jr,hasOwnProperty:ua,hasOwnProp:ua,reduceDescriptors:ba,freezeMethods:Ir,toObjectSet:Lr,toCamelCase:Ur,noop:Pr,toFiniteNumber:zr,findKey:ha,global:xa,isContextDefined:va,ALPHABET:ga,generateString:Nr,isSpecCompliantForm:Dr,toJSONObject:Hr,isAsyncFn:Mr,isThenable:Wr};function hi(i,e,t,n,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=i,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),a&&(this.response=a)}m.inherits(hi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:m.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var ya=hi.prototype,wa={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(i=>{wa[i]={value:i}});Object.defineProperties(hi,wa);Object.defineProperty(ya,"isAxiosError",{value:!0});hi.from=(i,e,t,n,a,s)=>{let o=Object.create(ya);return m.toFlatObject(i,o,function(p){return p!==Error.prototype},c=>c!=="isAxiosError"),hi.call(o,i.message,e,t,n,a),o.cause=i,o.name=i.name,s&&Object.assign(o,s),o};var g=hi;var ts=X(vn(),1),wt=ts.default;function bn(i){return m.isPlainObject(i)||m.isArray(i)}function as(i){return m.endsWith(i,"[]")?i.slice(0,-2):i}function ns(i,e,t){return i?i.concat(e).map(function(a,s){return a=as(a),!t&&s?"["+a+"]":a}).join(t?".":""):e}function _c(i){return m.isArray(i)&&!i.some(bn)}var Tc=m.toFlatObject(m,{},null,function(e){return/^is[A-Z]/.test(e)});function kc(i,e,t){if(!m.isObject(i))throw new TypeError("target must be an object");e=e||new(wt||FormData),t=m.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(x,A){return!m.isUndefined(A[x])});let n=t.metaTokens,a=t.visitor||u,s=t.dots,o=t.indexes,p=(t.Blob||typeof Blob<"u"&&Blob)&&m.isSpecCompliantForm(e);if(!m.isFunction(a))throw new TypeError("visitor must be a function");function l(h){if(h===null)return"";if(m.isDate(h))return h.toISOString();if(!p&&m.isBlob(h))throw new g("Blob is not supported. Use a Buffer instead.");return m.isArrayBuffer(h)||m.isTypedArray(h)?p&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,x,A){let w=h;if(h&&!A&&typeof h=="object"){if(m.endsWith(x,"{}"))x=n?x:x.slice(0,-2),h=JSON.stringify(h);else if(m.isArray(h)&&_c(h)||(m.isFileList(h)||m.endsWith(x,"[]"))&&(w=m.toArray(h)))return x=as(x),w.forEach(function(_,F){!(m.isUndefined(_)||_===null)&&e.append(o===!0?ns([x],F,s):o===null?x:x+"[]",l(_))}),!1}return bn(h)?!0:(e.append(ns(A,x,s),l(h)),!1)}let d=[],v=Object.assign(Tc,{defaultVisitor:u,convertValue:l,isVisitable:bn});function b(h,x){if(!m.isUndefined(h)){if(d.indexOf(h)!==-1)throw Error("Circular reference detected in "+x.join("."));d.push(h),m.forEach(h,function(w,k){(!(m.isUndefined(w)||w===null)&&a.call(e,w,m.isString(k)?k.trim():k,x,v))===!0&&b(w,x?x.concat(k):[k])}),d.pop()}}if(!m.isObject(i))throw new TypeError("data must be an object");return b(i),e}var De=kc;function ss(i){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(i).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function os(i,e){this._pairs=[],i&&De(i,this,e)}var rs=os.prototype;rs.append=function(e,t){this._pairs.push([e,t])};rs.toString=function(e){let t=e?function(n){return e.call(this,n,ss)}:ss;return this._pairs.map(function(a){return t(a[0])+"="+t(a[1])},"").join("&")};var cs=os;function Fc(i){return encodeURIComponent(i).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xe(i,e,t){if(!e)return i;let n=t&&t.encode||Fc,a=t&&t.serialize,s;if(a?s=a(e,t):s=m.isURLSearchParams(e)?e.toString():new cs(e,t).toString(n),s){let o=i.indexOf("#");o!==-1&&(i=i.slice(0,o)),i+=(i.indexOf("?")===-1?"?":"&")+s}return i}var gn=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){m.forEach(this.handlers,function(n){n!==null&&e(n)})}},yn=gn;var xi={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var ps=X(require("url"),1),ls=ps.default.URLSearchParams;var z={isNode:!0,classes:{URLSearchParams:ls,FormData:wt,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};function wn(i,e){return De(i,new z.classes.URLSearchParams,Object.assign({visitor:function(t,n,a,s){return z.isNode&&m.isBuffer(t)?(this.append(n,t.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}function Bc(i){return m.matchAll(/\w+|\[(\w*)]/g,i).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Oc(i){let e={},t=Object.keys(i),n,a=t.length,s;for(n=0;n=t.length;return o=!o&&m.isArray(a)?a.length:o,p?(m.hasOwnProp(a,o)?a[o]=[a[o],n]:a[o]=n,!c):((!a[o]||!m.isObject(a[o]))&&(a[o]=[]),e(t,n,a[o],s)&&m.isArray(a[o])&&(a[o]=Oc(a[o])),!c)}if(m.isFormData(i)&&m.isFunction(i.entries)){let t={};return m.forEachEntry(i,(n,a)=>{e(Bc(n),a,t,0)}),t}return null}var Et=jc;var Uc={"Content-Type":void 0};function qc(i,e,t){if(m.isString(i))try{return(e||JSON.parse)(i),m.trim(i)}catch(n){if(n.name!=="SyntaxError")throw n}return(t||JSON.stringify)(i)}var Ct={transitional:xi,adapter:["xhr","http"],transformRequest:[function(e,t){let n=t.getContentType()||"",a=n.indexOf("application/json")>-1,s=m.isObject(e);if(s&&m.isHTMLForm(e)&&(e=new FormData(e)),m.isFormData(e))return a&&a?JSON.stringify(Et(e)):e;if(m.isArrayBuffer(e)||m.isBuffer(e)||m.isStream(e)||m.isFile(e)||m.isBlob(e))return e;if(m.isArrayBufferView(e))return e.buffer;if(m.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return wn(e,this.formSerializer).toString();if((c=m.isFileList(e))||n.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return De(c?{"files[]":e}:e,p&&new p,this.formSerializer)}}return s||a?(t.setContentType("application/json",!1),qc(e)):e}],transformResponse:[function(e){let t=this.transitional||Ct.transitional,n=t&&t.forcedJSONParsing,a=this.responseType==="json";if(e&&m.isString(e)&&(n&&!this.responseType||a)){let o=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e)}catch(c){if(o)throw c.name==="SyntaxError"?g.from(c,g.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:z.classes.FormData,Blob:z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};m.forEach(["delete","get","head"],function(e){Ct.headers[e]={}});m.forEach(["post","put","patch"],function(e){Ct.headers[e]=m.merge(Uc)});var vi=Ct;var Ic=m.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),us=i=>{let e={},t,n,a;return i&&i.split(` +`).forEach(function(o){a=o.indexOf(":"),t=o.substring(0,a).trim().toLowerCase(),n=o.substring(a+1).trim(),!(!t||e[t]&&Ic[t])&&(t==="set-cookie"?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)}),e};var ds=Symbol("internals");function Mi(i){return i&&String(i).trim().toLowerCase()}function At(i){return i===!1||i==null?i:m.isArray(i)?i.map(At):String(i)}function Lc(i){let e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=t.exec(i);)e[n[1]]=n[2];return e}var Pc=i=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(i.trim());function En(i,e,t,n,a){if(m.isFunction(n))return n.call(this,e,t);if(a&&(e=t),!!m.isString(e)){if(m.isString(n))return e.indexOf(n)!==-1;if(m.isRegExp(n))return n.test(e)}}function zc(i){return i.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function Nc(i,e){let t=m.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(i,n+t,{value:function(a,s,o){return this[n].call(this,e,a,s,o)},configurable:!0})})}var bi=class{constructor(e){e&&this.set(e)}set(e,t,n){let a=this;function s(c,p,l){let u=Mi(p);if(!u)throw new Error("header name must be a non-empty string");let d=m.findKey(a,u);(!d||a[d]===void 0||l===!0||l===void 0&&a[d]!==!1)&&(a[d||p]=At(c))}let o=(c,p)=>m.forEach(c,(l,u)=>s(l,u,p));return m.isPlainObject(e)||e instanceof this.constructor?o(e,t):m.isString(e)&&(e=e.trim())&&!Pc(e)?o(us(e),t):e!=null&&s(t,e,n),this}get(e,t){if(e=Mi(e),e){let n=m.findKey(this,e);if(n){let a=this[n];if(!t)return a;if(t===!0)return Lc(a);if(m.isFunction(t))return t.call(this,a,n);if(m.isRegExp(t))return t.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Mi(e),e){let n=m.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||En(this,this[n],n,t)))}return!1}delete(e,t){let n=this,a=!1;function s(o){if(o=Mi(o),o){let c=m.findKey(n,o);c&&(!t||En(n,n[c],c,t))&&(delete n[c],a=!0)}}return m.isArray(e)?e.forEach(s):s(e),a}clear(e){let t=Object.keys(this),n=t.length,a=!1;for(;n--;){let s=t[n];(!e||En(this,this[s],s,e,!0))&&(delete this[s],a=!0)}return a}normalize(e){let t=this,n={};return m.forEach(this,(a,s)=>{let o=m.findKey(n,s);if(o){t[o]=At(a),delete t[s];return}let c=e?zc(s):String(s).trim();c!==s&&delete t[s],t[c]=At(a),n[c]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return m.forEach(this,(n,a)=>{n!=null&&n!==!1&&(t[a]=e&&m.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(a=>n.set(a)),n}static accessor(e){let n=(this[ds]=this[ds]={accessors:{}}).accessors,a=this.prototype;function s(o){let c=Mi(o);n[c]||(Nc(a,o),n[c]=!0)}return m.isArray(e)?e.forEach(s):s(e),this}};bi.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);m.freezeMethods(bi.prototype);m.freezeMethods(bi);var N=bi;function Wi(i,e){let t=this||vi,n=e||t,a=N.from(n.headers),s=n.data;return m.forEach(i,function(c){s=c.call(t,s,a.normalize(),e?e.status:void 0)}),a.normalize(),s}function $i(i){return!!(i&&i.__CANCEL__)}function ms(i,e,t){g.call(this,i??"canceled",g.ERR_CANCELED,e,t),this.name="CanceledError"}m.inherits(ms,g,{__CANCEL__:!0});var he=ms;function He(i,e,t){let n=t.config.validateStatus;!t.status||!n||n(t.status)?i(t):e(new g("Request failed with status code "+t.status,[g.ERR_BAD_REQUEST,g.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function Cn(i){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(i)}function An(i,e){return e?i.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):i}function Qe(i,e){return i&&!Cn(e)?An(i,e):e}var $s=X(hs(),1),Vs=X(require("http"),1),Gs=X(require("https"),1),Js=X(require("util"),1),Ks=X(Os(),1),qe=X(require("zlib"),1);var ti="1.4.0";function Ki(i){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(i);return e&&e[1]||""}var wp=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function On(i,e,t){let n=t&&t.Blob||z.classes.Blob,a=Ki(i);if(e===void 0&&n&&(e=!0),a==="data"){i=a.length?i.slice(a.length+1):i;let s=wp.exec(i);if(!s)throw new g("Invalid URL",g.ERR_INVALID_URL);let o=s[1],c=s[2],p=s[3],l=Buffer.from(decodeURIComponent(p),c?"base64":"utf8");if(e){if(!n)throw new g("Blob is not supported",g.ERR_NOT_SUPPORT);return new n([l],{type:o})}return l}throw new g("Unsupported protocol "+a,g.ERR_NOT_SUPPORT)}var ni=X(require("stream"),1);var Us=X(require("stream"),1);function Ep(i,e){let t=0,n=1e3/e,a=null;return function(o,c){let p=Date.now();if(o||p-t>n)return a&&(clearTimeout(a),a=null),t=p,i.apply(null,c);a||(a=setTimeout(()=>(a=null,t=Date.now(),i.apply(null,c)),n-(p-t)))}}var js=Ep;function Cp(i,e){i=i||10;let t=new Array(i),n=new Array(i),a=0,s=0,o;return e=e!==void 0?e:1e3,function(p){let l=Date.now(),u=n[s];o||(o=l),t[a]=p,n[a]=l;let d=s,v=0;for(;d!==a;)v+=t[d++],d=d%i;if(a=(a+1)%i,a===s&&(s=(s+1)%i),l-o!m.isUndefined(p[c])),super({readableHighWaterMark:e.chunkSize});let t=this,n=this[Ft]={length:e.length,timeWindow:e.timeWindow,ticksRate:e.ticksRate,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null},a=kt(n.ticksRate*e.samplesCount,n.timeWindow);this.on("newListener",c=>{c==="progress"&&(n.isCaptured||(n.isCaptured=!0))});let s=0;n.updateProgress=js(function(){let p=n.length,l=n.bytesSeen,u=l-s;if(!u||t.destroyed)return;let d=a(u);s=l,process.nextTick(()=>{t.emit("progress",{loaded:l,total:p,progress:p?l/p:void 0,bytes:u,rate:d||void 0,estimated:d&&p&&l<=p?(p-l)/d:void 0})})},n.ticksRate);let o=()=>{n.updateProgress(!0)};this.once("end",o),this.once("error",o)}_read(e){let t=this[Ft];return t.onReadCallback&&t.onReadCallback(),super._read(e)}_transform(e,t,n){let a=this,s=this[Ft],o=s.maxRate,c=this.readableHighWaterMark,p=s.timeWindow,l=1e3/p,u=o/l,d=s.minChunkSize!==!1?Math.max(s.minChunkSize,u*.01):0;function v(h,x){let A=Buffer.byteLength(h);s.bytesSeen+=A,s.bytes+=A,s.isCaptured&&s.updateProgress(),a.push(h)?process.nextTick(x):s.onReadCallback=()=>{s.onReadCallback=null,process.nextTick(x)}}let b=(h,x)=>{let A=Buffer.byteLength(h),w=null,k=c,_,F=0;if(o){let j=Date.now();(!s.ts||(F=j-s.ts)>=p)&&(s.ts=j,_=u-s.bytes,s.bytes=_<0?-_:0,F=0),_=u-s.bytes}if(o){if(_<=0)return setTimeout(()=>{x(null,h)},p-F);_k&&A-k>d&&(w=h.subarray(k),h=h.subarray(0,k)),v(h,w?()=>{process.nextTick(x,null,w)}:x)};b(e,function h(x,A){if(x)return n(x);A?b(A,h):n(null)})}setLength(e){return this[Ft].length=+e,this}},Un=jn;var Ys=X(require("events"),1);var Is=require("util"),Ls=require("stream");var{asyncIterator:qs}=Symbol,Ap=async function*(i){i.stream?yield*i.stream():i.arrayBuffer?yield await i.arrayBuffer():i[qs]?yield*i[qs]():yield i},Bt=Ap;var Rp=m.ALPHABET.ALPHA_DIGIT+"-_",Yi=new Is.TextEncoder,Me=`\r +`,Sp=Yi.encode(Me),_p=2,qn=class{constructor(e,t){let{escapeName:n}=this.constructor,a=m.isString(t),s=`Content-Disposition: form-data; name="${n(e)}"${!a&&t.name?`; filename="${n(t.name)}"`:""}${Me}`;a?t=Yi.encode(String(t).replace(/\r?\n|\r\n?/g,Me)):s+=`Content-Type: ${t.type||"application/octet-stream"}${Me}`,this.headers=Yi.encode(s+Me),this.contentLength=a?t.byteLength:t.size,this.size=this.headers.byteLength+this.contentLength+_p,this.name=e,this.value=t}async*encode(){yield this.headers;let{value:e}=this;m.isTypedArray(e)?yield e:yield*Bt(e),yield Sp}static escapeName(e){return String(e).replace(/[\r\n"]/g,t=>({"\r":"%0D","\n":"%0A",'"':"%22"})[t])}},Tp=(i,e,t)=>{let{tag:n="form-data-boundary",size:a=25,boundary:s=n+"-"+m.generateString(a,Rp)}=t||{};if(!m.isFormData(i))throw TypeError("FormData instance required");if(s.length<1||s.length>70)throw Error("boundary must be 10-70 characters long");let o=Yi.encode("--"+s+Me),c=Yi.encode("--"+s+"--"+Me+Me),p=c.byteLength,l=Array.from(i.entries()).map(([d,v])=>{let b=new qn(d,v);return p+=b.size,b});p+=o.byteLength*l.length,p=m.toFiniteNumber(p);let u={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(p)&&(u["Content-Length"]=p),e&&e(u),Ls.Readable.from(async function*(){for(let d of l)yield o,yield*d.encode();yield c}())},Ps=Tp;var zs=X(require("stream"),1),In=class extends zs.default.Transform{__transform(e,t,n){this.push(e),n()}_transform(e,t,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let a=Buffer.alloc(2);a[0]=120,a[1]=156,this.push(a,t)}this.__transform(e,t,n)}},Ns=In;var kp=(i,e)=>m.isAsyncFn(i)?function(...t){let n=t.pop();i.apply(this,t).then(a=>{try{e?n(null,...e(a)):n(null,a)}catch(s){n(s)}},n)}:i,Ds=kp;var Hs={flush:qe.default.constants.Z_SYNC_FLUSH,finishFlush:qe.default.constants.Z_SYNC_FLUSH},Fp={flush:qe.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:qe.default.constants.BROTLI_OPERATION_FLUSH},Ms=m.isFunction(qe.default.createBrotliDecompress),{http:Bp,https:Op}=Ks.default,jp=/https:?/,Ws=z.protocols.map(i=>i+":");function Up(i){i.beforeRedirects.proxy&&i.beforeRedirects.proxy(i),i.beforeRedirects.config&&i.beforeRedirects.config(i)}function Xs(i,e,t){let n=e;if(!n&&n!==!1){let a=(0,$s.getProxyForUrl)(t);a&&(n=new URL(a))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let s=Buffer.from(n.auth,"utf8").toString("base64");i.headers["Proxy-Authorization"]="Basic "+s}i.headers.host=i.hostname+(i.port?":"+i.port:"");let a=n.hostname||n.host;i.hostname=a,i.host=a,i.port=n.port,i.path=t,n.protocol&&(i.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}i.beforeRedirects.proxy=function(s){Xs(s,e,s.href)}}var qp=typeof process<"u"&&m.kindOf(process)==="process",Ip=i=>new Promise((e,t)=>{let n,a,s=(p,l)=>{a||(a=!0,n&&n(p,l))},o=p=>{s(p),e(p)},c=p=>{s(p,!0),t(p)};i(o,c,p=>n=p).catch(c)}),Qs=qp&&function(e){return Ip(async function(n,a,s){let{data:o,lookup:c,family:p}=e,{responseType:l,responseEncoding:u}=e,d=e.method.toUpperCase(),v,b=!1,h;c&&m.isAsyncFn(c)&&(c=Ds(c,R=>{if(m.isString(R))R=[R,R.indexOf(".")<0?6:4];else if(!m.isArray(R))throw new TypeError("lookup async function must return an array [ip: string, family: number]]");return R}));let x=new Ys.default,A=()=>{e.cancelToken&&e.cancelToken.unsubscribe(w),e.signal&&e.signal.removeEventListener("abort",w),x.removeAllListeners()};s((R,T)=>{v=!0,T&&(b=!0,A())});function w(R){x.emit("abort",!R||R.type?new he(null,e,h):R)}x.once("abort",a),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(w),e.signal&&(e.signal.aborted?w():e.signal.addEventListener("abort",w)));let k=Qe(e.baseURL,e.url),_=new URL(k,"http://localhost"),F=_.protocol||Ws[0];if(F==="data:"){let R;if(d!=="GET")return He(n,a,{status:405,statusText:"method not allowed",headers:{},config:e});try{R=On(e.url,l==="blob",{Blob:e.env&&e.env.Blob})}catch(T){throw g.from(T,g.ERR_BAD_REQUEST,e)}return l==="text"?(R=R.toString(u),(!u||u==="utf8")&&(R=m.stripBOM(R))):l==="stream"&&(R=ni.default.Readable.from(R)),He(n,a,{data:R,status:200,statusText:"OK",headers:new N,config:e})}if(Ws.indexOf(F)===-1)return a(new g("Unsupported protocol "+F,g.ERR_BAD_REQUEST,e));let j=N.from(e.headers).normalize();j.set("User-Agent","axios/"+ti,!1);let K=e.onDownloadProgress,Z=e.onUploadProgress,Oe=e.maxRate,je,di;if(m.isSpecCompliantForm(o)){let R=j.getContentType(/boundary=([-_\w\d]{10,70})/i);o=Ps(o,T=>{j.set(T)},{tag:`axios-${ti}-boundary`,boundary:R&&R[1]||void 0})}else if(m.isFormData(o)&&m.isFunction(o.getHeaders)){if(j.set(o.getHeaders()),!j.hasContentLength())try{let R=await Js.default.promisify(o.getLength).call(o);Number.isFinite(R)&&R>=0&&j.setContentLength(R)}catch{}}else if(m.isBlob(o))o.size&&j.setContentType(o.type||"application/octet-stream"),j.setContentLength(o.size||0),o=ni.default.Readable.from(Bt(o));else if(o&&!m.isStream(o)){if(!Buffer.isBuffer(o))if(m.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(m.isString(o))o=Buffer.from(o,"utf-8");else return a(new g("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",g.ERR_BAD_REQUEST,e));if(j.setContentLength(o.length,!1),e.maxBodyLength>-1&&o.length>e.maxBodyLength)return a(new g("Request body larger than maxBodyLength limit",g.ERR_BAD_REQUEST,e))}let tr=m.toFiniteNumber(j.getContentLength());m.isArray(Oe)?(je=Oe[0],di=Oe[1]):je=di=Oe,o&&(Z||je)&&(m.isStream(o)||(o=ni.default.Readable.from(o,{objectMode:!1})),o=ni.default.pipeline([o,new Un({length:tr,maxRate:m.toFiniteNumber(je)})],m.noop),Z&&o.on("progress",R=>{Z(Object.assign(R,{upload:!0}))}));let zi;if(e.auth){let R=e.auth.username||"",T=e.auth.password||"";zi=R+":"+T}if(!zi&&_.username){let R=_.username,T=_.password;zi=R+":"+T}zi&&j.delete("authorization");let la;try{la=Xe(_.pathname+_.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(R){let T=new Error(R.message);return T.config=e,T.url=e.url,T.exists=!0,a(T)}j.set("Accept-Encoding","gzip, compress, deflate"+(Ms?", br":""),!1);let ne={path:la,method:d,headers:j.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:zi,protocol:F,family:p,lookup:c,beforeRedirect:Up,beforeRedirects:{}};e.socketPath?ne.socketPath=e.socketPath:(ne.hostname=_.hostname,ne.port=_.port,Xs(ne,e.proxy,F+"//"+_.hostname+(_.port?":"+_.port:"")+ne.path));let ut,Qt=jp.test(ne.protocol);if(ne.agent=Qt?e.httpsAgent:e.httpAgent,e.transport?ut=e.transport:e.maxRedirects===0?ut=Qt?Gs.default:Vs.default:(e.maxRedirects&&(ne.maxRedirects=e.maxRedirects),e.beforeRedirect&&(ne.beforeRedirects.config=e.beforeRedirect),ut=Qt?Op:Bp),e.maxBodyLength>-1?ne.maxBodyLength=e.maxBodyLength:ne.maxBodyLength=1/0,e.insecureHTTPParser&&(ne.insecureHTTPParser=e.insecureHTTPParser),h=ut.request(ne,function(T){if(h.destroyed)return;let ae=[T],Zt=+T.headers["content-length"];if(K){let Ue=new Un({length:m.toFiniteNumber(Zt),maxRate:m.toFiniteNumber(di)});K&&Ue.on("progress",mt=>{K(Object.assign(mt,{download:!0}))}),ae.push(Ue)}let ue=T,dt=T.req||h;if(e.decompress!==!1&&T.headers["content-encoding"])switch((d==="HEAD"||T.statusCode===204)&&delete T.headers["content-encoding"],T.headers["content-encoding"]){case"gzip":case"x-gzip":case"compress":case"x-compress":ae.push(qe.default.createUnzip(Hs)),delete T.headers["content-encoding"];break;case"deflate":ae.push(new Ns),ae.push(qe.default.createUnzip(Hs)),delete T.headers["content-encoding"];break;case"br":Ms&&(ae.push(qe.default.createBrotliDecompress(Fp)),delete T.headers["content-encoding"])}ue=ae.length>1?ni.default.pipeline(ae,m.noop):ae[0];let nr=ni.default.finished(ue,()=>{nr(),A()}),mi={status:T.statusCode,statusText:T.statusMessage,headers:new N(T.headers),config:e,request:dt};if(l==="stream")mi.data=ue,He(n,a,mi);else{let Ue=[],mt=0;ue.on("data",function(Y){Ue.push(Y),mt+=Y.length,e.maxContentLength>-1&&mt>e.maxContentLength&&(b=!0,ue.destroy(),a(new g("maxContentLength size of "+e.maxContentLength+" exceeded",g.ERR_BAD_RESPONSE,e,dt)))}),ue.on("aborted",function(){if(b)return;let Y=new g("maxContentLength size of "+e.maxContentLength+" exceeded",g.ERR_BAD_RESPONSE,e,dt);ue.destroy(Y),a(Y)}),ue.on("error",function(Y){h.destroyed||a(g.from(Y,null,e,dt))}),ue.on("end",function(){try{let Y=Ue.length===1?Ue[0]:Buffer.concat(Ue);l!=="arraybuffer"&&(Y=Y.toString(u),(!u||u==="utf8")&&(Y=m.stripBOM(Y))),mi.data=Y}catch(Y){a(g.from(Y,null,e,mi.request,mi))}He(n,a,mi)})}x.once("abort",Ue=>{ue.destroyed||(ue.emit("error",Ue),ue.destroy())})}),x.once("abort",R=>{a(R),h.destroy(R)}),h.on("error",function(T){a(g.from(T,null,e,h))}),h.on("socket",function(T){T.setKeepAlive(!0,1e3*60)}),e.timeout){let R=parseInt(e.timeout,10);if(isNaN(R)){a(new g("error trying to parse `config.timeout` to int",g.ERR_BAD_OPTION_VALUE,e,h));return}h.setTimeout(R,function(){if(v)return;let ae=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",Zt=e.transitional||xi;e.timeoutErrorMessage&&(ae=e.timeoutErrorMessage),a(new g(ae,Zt.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,e,h)),w()})}if(m.isStream(o)){let R=!1,T=!1;o.on("end",()=>{R=!0}),o.once("error",ae=>{T=!0,h.destroy(ae)}),o.on("close",()=>{!R&&!T&&w(new he("Request stream has been aborted",e,h))}),o.pipe(h)}else h.end(o)})};var Zs=z.isStandardBrowserEnv?function(){return{write:function(t,n,a,s,o,c){let p=[];p.push(t+"="+encodeURIComponent(n)),m.isNumber(a)&&p.push("expires="+new Date(a).toGMTString()),m.isString(s)&&p.push("path="+s),m.isString(o)&&p.push("domain="+o),c===!0&&p.push("secure"),document.cookie=p.join("; ")},read:function(t){let n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();var eo=z.isStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a"),n;function a(s){let o=s;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return n=a(window.location.href),function(o){let c=m.isString(o)?a(o):o;return c.protocol===n.protocol&&c.host===n.host}}():function(){return function(){return!0}}();function io(i,e){let t=0,n=kt(50,250);return a=>{let s=a.loaded,o=a.lengthComputable?a.total:void 0,c=s-t,p=n(c),l=s<=o;t=s;let u={loaded:s,total:o,progress:o?s/o:void 0,bytes:c,rate:p||void 0,estimated:p&&o&&l?(o-s)/p:void 0,event:a};u[e?"download":"upload"]=!0,i(u)}}var Lp=typeof XMLHttpRequest<"u",to=Lp&&function(i){return new Promise(function(t,n){let a=i.data,s=N.from(i.headers).normalize(),o=i.responseType,c;function p(){i.cancelToken&&i.cancelToken.unsubscribe(c),i.signal&&i.signal.removeEventListener("abort",c)}m.isFormData(a)&&(z.isStandardBrowserEnv||z.isStandardBrowserWebWorkerEnv?s.setContentType(!1):s.setContentType("multipart/form-data;",!1));let l=new XMLHttpRequest;if(i.auth){let b=i.auth.username||"",h=i.auth.password?unescape(encodeURIComponent(i.auth.password)):"";s.set("Authorization","Basic "+btoa(b+":"+h))}let u=Qe(i.baseURL,i.url);l.open(i.method.toUpperCase(),Xe(u,i.params,i.paramsSerializer),!0),l.timeout=i.timeout;function d(){if(!l)return;let b=N.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),x={data:!o||o==="text"||o==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:b,config:i,request:l};He(function(w){t(w),p()},function(w){n(w),p()},x),l=null}if("onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(d)},l.onabort=function(){l&&(n(new g("Request aborted",g.ECONNABORTED,i,l)),l=null)},l.onerror=function(){n(new g("Network Error",g.ERR_NETWORK,i,l)),l=null},l.ontimeout=function(){let h=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",x=i.transitional||xi;i.timeoutErrorMessage&&(h=i.timeoutErrorMessage),n(new g(h,x.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,i,l)),l=null},z.isStandardBrowserEnv){let b=(i.withCredentials||eo(u))&&i.xsrfCookieName&&Zs.read(i.xsrfCookieName);b&&s.set(i.xsrfHeaderName,b)}a===void 0&&s.setContentType(null),"setRequestHeader"in l&&m.forEach(s.toJSON(),function(h,x){l.setRequestHeader(x,h)}),m.isUndefined(i.withCredentials)||(l.withCredentials=!!i.withCredentials),o&&o!=="json"&&(l.responseType=i.responseType),typeof i.onDownloadProgress=="function"&&l.addEventListener("progress",io(i.onDownloadProgress,!0)),typeof i.onUploadProgress=="function"&&l.upload&&l.upload.addEventListener("progress",io(i.onUploadProgress)),(i.cancelToken||i.signal)&&(c=b=>{l&&(n(!b||b.type?new he(null,i,l):b),l.abort(),l=null)},i.cancelToken&&i.cancelToken.subscribe(c),i.signal&&(i.signal.aborted?c():i.signal.addEventListener("abort",c)));let v=Ki(u);if(v&&z.protocols.indexOf(v)===-1){n(new g("Unsupported protocol "+v+":",g.ERR_BAD_REQUEST,i));return}l.send(a||null)})};var Ot={http:Qs,xhr:to};m.forEach(Ot,(i,e)=>{if(i){try{Object.defineProperty(i,"name",{value:e})}catch{}Object.defineProperty(i,"adapterName",{value:e})}});var no={getAdapter:i=>{i=m.isArray(i)?i:[i];let{length:e}=i,t,n;for(let a=0;ai instanceof N?i.toJSON():i;function Ie(i,e){e=e||{};let t={};function n(l,u,d){return m.isPlainObject(l)&&m.isPlainObject(u)?m.merge.call({caseless:d},l,u):m.isPlainObject(u)?m.merge({},u):m.isArray(u)?u.slice():u}function a(l,u,d){if(m.isUndefined(u)){if(!m.isUndefined(l))return n(void 0,l,d)}else return n(l,u,d)}function s(l,u){if(!m.isUndefined(u))return n(void 0,u)}function o(l,u){if(m.isUndefined(u)){if(!m.isUndefined(l))return n(void 0,l)}else return n(void 0,u)}function c(l,u,d){if(d in e)return n(l,u);if(d in i)return n(void 0,l)}let p={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(l,u)=>a(ao(l),ao(u),!0)};return m.forEach(Object.keys(Object.assign({},i,e)),function(u){let d=p[u]||a,v=d(i[u],e[u],u);m.isUndefined(v)&&d!==c||(t[u]=v)}),t}var Pn={};["object","boolean","number","function","string","symbol"].forEach((i,e)=>{Pn[i]=function(n){return typeof n===i||"a"+(e<1?"n ":" ")+i}});var so={};Pn.transitional=function(e,t,n){function a(s,o){return"[Axios v"+ti+"] Transitional option '"+s+"'"+o+(n?". "+n:"")}return(s,o,c)=>{if(e===!1)throw new g(a(o," has been removed"+(t?" in "+t:"")),g.ERR_DEPRECATED);return t&&!so[o]&&(so[o]=!0,console.warn(a(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(s,o,c):!0}};function Pp(i,e,t){if(typeof i!="object")throw new g("options must be an object",g.ERR_BAD_OPTION_VALUE);let n=Object.keys(i),a=n.length;for(;a-- >0;){let s=n[a],o=e[s];if(o){let c=i[s],p=c===void 0||o(c,s,i);if(p!==!0)throw new g("option "+s+" must be "+p,g.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new g("Unknown option "+s,g.ERR_BAD_OPTION)}}var Ut={assertOptions:Pp,validators:Pn};var We=Ut.validators,Ci=class{constructor(e){this.defaults=e,this.interceptors={request:new yn,response:new yn}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Ie(this.defaults,t);let{transitional:n,paramsSerializer:a,headers:s}=t;n!==void 0&&Ut.assertOptions(n,{silentJSONParsing:We.transitional(We.boolean),forcedJSONParsing:We.transitional(We.boolean),clarifyTimeoutError:We.transitional(We.boolean)},!1),a!=null&&(m.isFunction(a)?t.paramsSerializer={serialize:a}:Ut.assertOptions(a,{encode:We.function,serialize:We.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o;o=s&&m.merge(s.common,s[t.method]),o&&m.forEach(["delete","get","head","post","put","patch","common"],h=>{delete s[h]}),t.headers=N.concat(o,s);let c=[],p=!0;this.interceptors.request.forEach(function(x){typeof x.runWhen=="function"&&x.runWhen(t)===!1||(p=p&&x.synchronous,c.unshift(x.fulfilled,x.rejected))});let l=[];this.interceptors.response.forEach(function(x){l.push(x.fulfilled,x.rejected)});let u,d=0,v;if(!p){let h=[jt.bind(this),void 0];for(h.unshift.apply(h,c),h.push.apply(h,l),v=h.length,u=Promise.resolve(t);d{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](a);n._listeners=null}),this.promise.then=a=>{let s,o=new Promise(c=>{n.subscribe(c),s=c}).then(a);return o.cancel=function(){n.unsubscribe(s)},o},e(function(s,o,c){n.reason||(n.reason=new he(s,o,c),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new Qi(function(a){e=a}),cancel:e}}},oo=Qi;function zn(i){return function(t){return i.apply(null,t)}}function Nn(i){return m.isObject(i)&&i.isAxiosError===!0}var Dn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Dn).forEach(([i,e])=>{Dn[e]=i});var ro=Dn;function co(i){let e=new Xi(i),t=Ni(Xi.prototype.request,e);return m.extend(t,Xi.prototype,e,{allOwnKeys:!0}),m.extend(t,e,null,{allOwnKeys:!0}),t.create=function(a){return co(Ie(i,a))},t}var D=co(vi);D.Axios=Xi;D.CanceledError=he;D.CancelToken=oo;D.isCancel=$i;D.VERSION=ti;D.toFormData=De;D.AxiosError=g;D.Cancel=D.CanceledError;D.all=function(e){return Promise.all(e)};D.spread=zn;D.isAxiosError=Nn;D.mergeConfig=Ie;D.AxiosHeaders=N;D.formToJSON=i=>Et(m.isHTMLForm(i)?new FormData(i):i);D.HttpStatusCode=ro;D.default=D;var ai=D;var{Axios:lf,AxiosError:uf,CanceledError:df,isCancel:mf,CancelToken:ff,VERSION:hf,all:xf,Cancel:vf,isAxiosError:bf,spread:gf,toFormData:yf,AxiosHeaders:wf,HttpStatusCode:Ef,formToJSON:Cf,mergeConfig:Af}=ai;var Qo=require("events"),Zo=require("assert");var Zi=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,lo=new Set,Hn=typeof process=="object"&&process?process:{},uo=(i,e,t,n)=>{typeof Hn.emitWarning=="function"?Hn.emitWarning(i,e,t,n):console.error(`[${t}] ${e}: ${i}`)},Pt=globalThis.AbortController,po=globalThis.AbortSignal;if(typeof Pt>"u"){po=class{constructor(){L(this,"onabort");L(this,"_onabort",[]);L(this,"reason");L(this,"aborted",!1)}addEventListener(n,a){this._onabort.push(a)}},Pt=class{constructor(){L(this,"signal",new po);e()}abort(n){if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let a of this.signal._onabort)a(n);this.signal.onabort?.(n)}}};let i=Hn.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{i&&(i=!1,uo("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var zp=i=>!lo.has(i),Tf=Symbol("type"),$e=i=>i&&i===Math.floor(i)&&i>0&&isFinite(i),mo=i=>$e(i)?i<=Math.pow(2,8)?Uint8Array:i<=Math.pow(2,16)?Uint16Array:i<=Math.pow(2,32)?Uint32Array:i<=Number.MAX_SAFE_INTEGER?Ri:null:null,Ri=class extends Array{constructor(e){super(e),this.fill(0)}},Si,Ai=class{constructor(e,t){L(this,"heap");L(this,"length");if(!r(Ai,Si))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}static create(e){let t=mo(e);if(!t)return[];y(Ai,Si,!0);let n=new Ai(e,t);return y(Ai,Si,!1),n}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},qt=Ai;Si=new WeakMap,C(qt,Si,!1);var xe,re,Ae,ve,_i,H,be,M,q,S,Q,ce,J,W,ge,G,Le,Pe,ye,Re,Je,ie,it,Mn,si,ze,tt,pe,Nt,fo,oi,Ti,nt,Se,Ve,_e,Ge,at,Wn,ki,It,Fi,Lt,U,I,st,$n,ri,et,Vn=class{constructor(e){C(this,it);C(this,Nt);C(this,Se);C(this,_e);C(this,at);C(this,ki);C(this,Fi);C(this,U);C(this,st);C(this,ri);C(this,xe,void 0);C(this,re,void 0);C(this,Ae,void 0);C(this,ve,void 0);C(this,_i,void 0);L(this,"ttl");L(this,"ttlResolution");L(this,"ttlAutopurge");L(this,"updateAgeOnGet");L(this,"updateAgeOnHas");L(this,"allowStale");L(this,"noDisposeOnSet");L(this,"noUpdateTTL");L(this,"maxEntrySize");L(this,"sizeCalculation");L(this,"noDeleteOnFetchRejection");L(this,"noDeleteOnStaleGet");L(this,"allowStaleOnFetchAbort");L(this,"allowStaleOnFetchRejection");L(this,"ignoreFetchAbort");C(this,H,void 0);C(this,be,void 0);C(this,M,void 0);C(this,q,void 0);C(this,S,void 0);C(this,Q,void 0);C(this,ce,void 0);C(this,J,void 0);C(this,W,void 0);C(this,ge,void 0);C(this,G,void 0);C(this,Le,void 0);C(this,Pe,void 0);C(this,ye,void 0);C(this,Re,void 0);C(this,Je,void 0);C(this,ie,void 0);C(this,si,()=>{});C(this,ze,()=>{});C(this,tt,()=>{});C(this,pe,()=>!1);C(this,oi,e=>{});C(this,Ti,(e,t,n)=>{});C(this,nt,(e,t,n,a)=>{if(n||a)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:t=0,ttl:n,ttlResolution:a=1,ttlAutopurge:s,updateAgeOnGet:o,updateAgeOnHas:c,allowStale:p,dispose:l,disposeAfter:u,noDisposeOnSet:d,noUpdateTTL:v,maxSize:b=0,maxEntrySize:h=0,sizeCalculation:x,fetchMethod:A,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:k,allowStaleOnFetchRejection:_,allowStaleOnFetchAbort:F,ignoreFetchAbort:j}=e;if(t!==0&&!$e(t))throw new TypeError("max option must be a nonnegative integer");let K=t?mo(t):Array;if(!K)throw new Error("invalid max value: "+t);if(y(this,xe,t),y(this,re,b),this.maxEntrySize=h||r(this,re),this.sizeCalculation=x,this.sizeCalculation){if(!r(this,re)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(A!==void 0&&typeof A!="function")throw new TypeError("fetchMethod must be a function if specified");if(y(this,_i,A),y(this,Je,!!A),y(this,M,new Map),y(this,q,new Array(t).fill(void 0)),y(this,S,new Array(t).fill(void 0)),y(this,Q,new K(t)),y(this,ce,new K(t)),y(this,J,0),y(this,W,0),y(this,ge,qt.create(t)),y(this,H,0),y(this,be,0),typeof l=="function"&&y(this,Ae,l),typeof u=="function"?(y(this,ve,u),y(this,G,[])):(y(this,ve,void 0),y(this,G,void 0)),y(this,Re,!!r(this,Ae)),y(this,ie,!!r(this,ve)),this.noDisposeOnSet=!!d,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!_,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!j,this.maxEntrySize!==0){if(r(this,re)!==0&&!$e(r(this,re)))throw new TypeError("maxSize must be a positive integer if specified");if(!$e(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");E(this,Nt,fo).call(this)}if(this.allowStale=!!p,this.noDeleteOnStaleGet=!!k,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!c,this.ttlResolution=$e(a)||a===0?a:1,this.ttlAutopurge=!!s,this.ttl=n||0,this.ttl){if(!$e(this.ttl))throw new TypeError("ttl must be a positive integer if specified");E(this,it,Mn).call(this)}if(r(this,xe)===0&&this.ttl===0&&r(this,re)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!r(this,xe)&&!r(this,re)){let Z="LRU_CACHE_UNBOUNDED";zp(Z)&&(lo.add(Z),uo("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Z,Vn))}}static unsafeExposeInternals(e){return{starts:r(e,Pe),ttls:r(e,ye),sizes:r(e,Le),keyMap:r(e,M),keyList:r(e,q),valList:r(e,S),next:r(e,Q),prev:r(e,ce),get head(){return r(e,J)},get tail(){return r(e,W)},free:r(e,ge),isBackgroundFetch:t=>{var n;return E(n=e,U,I).call(n,t)},backgroundFetch:(t,n,a,s)=>{var o;return E(o=e,Fi,Lt).call(o,t,n,a,s)},moveToTail:t=>{var n;return E(n=e,ri,et).call(n,t)},indexes:t=>{var n;return E(n=e,Se,Ve).call(n,t)},rindexes:t=>{var n;return E(n=e,_e,Ge).call(n,t)},isStale:t=>{var n;return r(n=e,pe).call(n,t)}}}get max(){return r(this,xe)}get maxSize(){return r(this,re)}get calculatedSize(){return r(this,be)}get size(){return r(this,H)}get fetchMethod(){return r(this,_i)}get dispose(){return r(this,Ae)}get disposeAfter(){return r(this,ve)}getRemainingTTL(e){return r(this,M).has(e)?1/0:0}*entries(){for(let e of E(this,Se,Ve).call(this))r(this,S)[e]!==void 0&&r(this,q)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield[r(this,q)[e],r(this,S)[e]])}*rentries(){for(let e of E(this,_e,Ge).call(this))r(this,S)[e]!==void 0&&r(this,q)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield[r(this,q)[e],r(this,S)[e]])}*keys(){for(let e of E(this,Se,Ve).call(this)){let t=r(this,q)[e];t!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield t)}}*rkeys(){for(let e of E(this,_e,Ge).call(this)){let t=r(this,q)[e];t!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield t)}}*values(){for(let e of E(this,Se,Ve).call(this))r(this,S)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield r(this,S)[e])}*rvalues(){for(let e of E(this,_e,Ge).call(this))r(this,S)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield r(this,S)[e])}[Symbol.iterator](){return this.entries()}find(e,t={}){for(let n of E(this,Se,Ve).call(this)){let a=r(this,S)[n],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;if(s!==void 0&&e(s,r(this,q)[n],this))return this.get(r(this,q)[n],t)}}forEach(e,t=this){for(let n of E(this,Se,Ve).call(this)){let a=r(this,S)[n],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;s!==void 0&&e.call(t,s,r(this,q)[n],this)}}rforEach(e,t=this){for(let n of E(this,_e,Ge).call(this)){let a=r(this,S)[n],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;s!==void 0&&e.call(t,s,r(this,q)[n],this)}}purgeStale(){let e=!1;for(let t of E(this,_e,Ge).call(this,{allowStale:!0}))r(this,pe).call(this,t)&&(this.delete(r(this,q)[t]),e=!0);return e}dump(){let e=[];for(let t of E(this,Se,Ve).call(this,{allowStale:!0})){let n=r(this,q)[t],a=r(this,S)[t],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;if(s===void 0||n===void 0)continue;let o={value:s};if(r(this,ye)&&r(this,Pe)){o.ttl=r(this,ye)[t];let c=Zi.now()-r(this,Pe)[t];o.start=Math.floor(Date.now()-c)}r(this,Le)&&(o.size=r(this,Le)[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let a=Date.now()-n.start;n.start=Zi.now()-a}this.set(t,n.value,n)}}set(e,t,n={}){var v,b;if(t===void 0)return this.delete(e),this;let{ttl:a=this.ttl,start:s,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:c=this.sizeCalculation,status:p}=n,{noUpdateTTL:l=this.noUpdateTTL}=n,u=r(this,nt).call(this,e,t,n.size||0,c);if(this.maxEntrySize&&u>this.maxEntrySize)return p&&(p.set="miss",p.maxEntrySizeExceeded=!0),this.delete(e),this;let d=r(this,H)===0?void 0:r(this,M).get(e);if(d===void 0)d=r(this,H)===0?r(this,W):r(this,ge).length!==0?r(this,ge).pop():r(this,H)===r(this,xe)?E(this,ki,It).call(this,!1):r(this,H),r(this,q)[d]=e,r(this,S)[d]=t,r(this,M).set(e,d),r(this,Q)[r(this,W)]=d,r(this,ce)[d]=r(this,W),y(this,W,d),ft(this,H)._++,r(this,Ti).call(this,d,u,p),p&&(p.set="add"),l=!1;else{E(this,ri,et).call(this,d);let h=r(this,S)[d];if(t!==h){if(r(this,Je)&&E(this,U,I).call(this,h)?h.__abortController.abort(new Error("replaced")):o||(r(this,Re)&&((v=r(this,Ae))==null||v.call(this,h,e,"set")),r(this,ie)&&r(this,G)?.push([h,e,"set"])),r(this,oi).call(this,d),r(this,Ti).call(this,d,u,p),r(this,S)[d]=t,p){p.set="replace";let x=h&&E(this,U,I).call(this,h)?h.__staleWhileFetching:h;x!==void 0&&(p.oldValue=x)}}else p&&(p.set="update")}if(a!==0&&!r(this,ye)&&E(this,it,Mn).call(this),r(this,ye)&&(l||r(this,tt).call(this,d,a,s),p&&r(this,ze).call(this,p,d)),!o&&r(this,ie)&&r(this,G)){let h=r(this,G),x;for(;x=h?.shift();)(b=r(this,ve))==null||b.call(this,...x)}return this}pop(){var e;try{for(;r(this,H);){let t=r(this,S)[r(this,J)];if(E(this,ki,It).call(this,!0),E(this,U,I).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(r(this,ie)&&r(this,G)){let t=r(this,G),n;for(;n=t?.shift();)(e=r(this,ve))==null||e.call(this,...n)}}}has(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:a}=t,s=r(this,M).get(e);if(s!==void 0){let o=r(this,S)[s];if(E(this,U,I).call(this,o)&&o.__staleWhileFetching===void 0)return!1;if(r(this,pe).call(this,s))a&&(a.has="stale",r(this,ze).call(this,a,s));else return n&&r(this,si).call(this,s),a&&(a.has="hit",r(this,ze).call(this,a,s)),!0}else a&&(a.has="miss");return!1}peek(e,t={}){let{allowStale:n=this.allowStale}=t,a=r(this,M).get(e);if(a!==void 0&&(n||!r(this,pe).call(this,a))){let s=r(this,S)[a];return E(this,U,I).call(this,s)?s.__staleWhileFetching:s}}async fetch(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:a=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:c=this.noDisposeOnSet,size:p=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:d=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:v=this.allowStaleOnFetchRejection,ignoreFetchAbort:b=this.ignoreFetchAbort,allowStaleOnFetchAbort:h=this.allowStaleOnFetchAbort,context:x,forceRefresh:A=!1,status:w,signal:k}=t;if(!r(this,Je))return w&&(w.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:a,noDeleteOnStaleGet:s,status:w});let _={allowStale:n,updateAgeOnGet:a,noDeleteOnStaleGet:s,ttl:o,noDisposeOnSet:c,size:p,sizeCalculation:l,noUpdateTTL:u,noDeleteOnFetchRejection:d,allowStaleOnFetchRejection:v,allowStaleOnFetchAbort:h,ignoreFetchAbort:b,status:w,signal:k},F=r(this,M).get(e);if(F===void 0){w&&(w.fetch="miss");let j=E(this,Fi,Lt).call(this,e,F,_,x);return j.__returned=j}else{let j=r(this,S)[F];if(E(this,U,I).call(this,j)){let di=n&&j.__staleWhileFetching!==void 0;return w&&(w.fetch="inflight",di&&(w.returnedStale=!0)),di?j.__staleWhileFetching:j.__returned=j}let K=r(this,pe).call(this,F);if(!A&&!K)return w&&(w.fetch="hit"),E(this,ri,et).call(this,F),a&&r(this,si).call(this,F),w&&r(this,ze).call(this,w,F),j;let Z=E(this,Fi,Lt).call(this,e,F,_,x),je=Z.__staleWhileFetching!==void 0&&n;return w&&(w.fetch=K?"stale":"refresh",je&&K&&(w.returnedStale=!0)),je?Z.__staleWhileFetching:Z.__returned=Z}}get(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:a=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:o}=t,c=r(this,M).get(e);if(c!==void 0){let p=r(this,S)[c],l=E(this,U,I).call(this,p);return o&&r(this,ze).call(this,o,c),r(this,pe).call(this,c)?(o&&(o.get="stale"),l?(o&&n&&p.__staleWhileFetching!==void 0&&(o.returnedStale=!0),n?p.__staleWhileFetching:void 0):(s||this.delete(e),o&&n&&(o.returnedStale=!0),n?p:void 0)):(o&&(o.get="hit"),l?p.__staleWhileFetching:(E(this,ri,et).call(this,c),a&&r(this,si).call(this,c),p))}else o&&(o.get="miss")}delete(e){var n,a;let t=!1;if(r(this,H)!==0){let s=r(this,M).get(e);if(s!==void 0)if(t=!0,r(this,H)===1)this.clear();else{r(this,oi).call(this,s);let o=r(this,S)[s];E(this,U,I).call(this,o)?o.__abortController.abort(new Error("deleted")):(r(this,Re)||r(this,ie))&&(r(this,Re)&&((n=r(this,Ae))==null||n.call(this,o,e,"delete")),r(this,ie)&&r(this,G)?.push([o,e,"delete"])),r(this,M).delete(e),r(this,q)[s]=void 0,r(this,S)[s]=void 0,s===r(this,W)?y(this,W,r(this,ce)[s]):s===r(this,J)?y(this,J,r(this,Q)[s]):(r(this,Q)[r(this,ce)[s]]=r(this,Q)[s],r(this,ce)[r(this,Q)[s]]=r(this,ce)[s]),ft(this,H)._--,r(this,ge).push(s)}}if(r(this,ie)&&r(this,G)?.length){let s=r(this,G),o;for(;o=s?.shift();)(a=r(this,ve))==null||a.call(this,...o)}return t}clear(){var e,t;for(let n of E(this,_e,Ge).call(this,{allowStale:!0})){let a=r(this,S)[n];if(E(this,U,I).call(this,a))a.__abortController.abort(new Error("deleted"));else{let s=r(this,q)[n];r(this,Re)&&((e=r(this,Ae))==null||e.call(this,a,s,"delete")),r(this,ie)&&r(this,G)?.push([a,s,"delete"])}}if(r(this,M).clear(),r(this,S).fill(void 0),r(this,q).fill(void 0),r(this,ye)&&r(this,Pe)&&(r(this,ye).fill(0),r(this,Pe).fill(0)),r(this,Le)&&r(this,Le).fill(0),y(this,J,0),y(this,W,0),r(this,ge).length=0,y(this,be,0),y(this,H,0),r(this,ie)&&r(this,G)){let n=r(this,G),a;for(;a=n?.shift();)(t=r(this,ve))==null||t.call(this,...a)}}},zt=Vn;xe=new WeakMap,re=new WeakMap,Ae=new WeakMap,ve=new WeakMap,_i=new WeakMap,H=new WeakMap,be=new WeakMap,M=new WeakMap,q=new WeakMap,S=new WeakMap,Q=new WeakMap,ce=new WeakMap,J=new WeakMap,W=new WeakMap,ge=new WeakMap,G=new WeakMap,Le=new WeakMap,Pe=new WeakMap,ye=new WeakMap,Re=new WeakMap,Je=new WeakMap,ie=new WeakMap,it=new WeakSet,Mn=function(){let e=new Ri(r(this,xe)),t=new Ri(r(this,xe));y(this,ye,e),y(this,Pe,t),y(this,tt,(s,o,c=Zi.now())=>{if(t[s]=o!==0?c:0,e[s]=o,o!==0&&this.ttlAutopurge){let p=setTimeout(()=>{r(this,pe).call(this,s)&&this.delete(r(this,q)[s])},o+1);p.unref&&p.unref()}}),y(this,si,s=>{t[s]=e[s]!==0?Zi.now():0}),y(this,ze,(s,o)=>{if(e[o]){let c=e[o],p=t[o];s.ttl=c,s.start=p,s.now=n||a();let l=s.now-p;s.remainingTTL=c-l}});let n=0,a=()=>{let s=Zi.now();if(this.ttlResolution>0){n=s;let o=setTimeout(()=>n=0,this.ttlResolution);o.unref&&o.unref()}return s};this.getRemainingTTL=s=>{let o=r(this,M).get(s);if(o===void 0)return 0;let c=e[o],p=t[o];if(c===0||p===0)return 1/0;let l=(n||a())-p;return c-l},y(this,pe,s=>e[s]!==0&&t[s]!==0&&(n||a())-t[s]>e[s])},si=new WeakMap,ze=new WeakMap,tt=new WeakMap,pe=new WeakMap,Nt=new WeakSet,fo=function(){let e=new Ri(r(this,xe));y(this,be,0),y(this,Le,e),y(this,oi,t=>{y(this,be,r(this,be)-e[t]),e[t]=0}),y(this,nt,(t,n,a,s)=>{if(E(this,U,I).call(this,n))return 0;if(!$e(a))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(a=s(n,t),!$e(a))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return a}),y(this,Ti,(t,n,a)=>{if(e[t]=n,r(this,re)){let s=r(this,re)-e[t];for(;r(this,be)>s;)E(this,ki,It).call(this,!0)}y(this,be,r(this,be)+e[t]),a&&(a.entrySize=n,a.totalCalculatedSize=r(this,be))})},oi=new WeakMap,Ti=new WeakMap,nt=new WeakMap,Se=new WeakSet,Ve=function*({allowStale:e=this.allowStale}={}){if(r(this,H))for(let t=r(this,W);!(!E(this,at,Wn).call(this,t)||((e||!r(this,pe).call(this,t))&&(yield t),t===r(this,J)));)t=r(this,ce)[t]},_e=new WeakSet,Ge=function*({allowStale:e=this.allowStale}={}){if(r(this,H))for(let t=r(this,J);!(!E(this,at,Wn).call(this,t)||((e||!r(this,pe).call(this,t))&&(yield t),t===r(this,W)));)t=r(this,Q)[t]},at=new WeakSet,Wn=function(e){return e!==void 0&&r(this,M).get(r(this,q)[e])===e},ki=new WeakSet,It=function(e){var s;let t=r(this,J),n=r(this,q)[t],a=r(this,S)[t];return r(this,Je)&&E(this,U,I).call(this,a)?a.__abortController.abort(new Error("evicted")):(r(this,Re)||r(this,ie))&&(r(this,Re)&&((s=r(this,Ae))==null||s.call(this,a,n,"evict")),r(this,ie)&&r(this,G)?.push([a,n,"evict"])),r(this,oi).call(this,t),e&&(r(this,q)[t]=void 0,r(this,S)[t]=void 0,r(this,ge).push(t)),r(this,H)===1?(y(this,J,y(this,W,0)),r(this,ge).length=0):y(this,J,r(this,Q)[t]),r(this,M).delete(n),ft(this,H)._--,t},Fi=new WeakSet,Lt=function(e,t,n,a){let s=t===void 0?void 0:r(this,S)[t];if(E(this,U,I).call(this,s))return s;let o=new Pt,{signal:c}=n;c?.addEventListener("abort",()=>o.abort(c.reason),{signal:o.signal});let p={signal:o.signal,options:n,context:a},l=(x,A=!1)=>{let{aborted:w}=o.signal,k=n.ignoreFetchAbort&&x!==void 0;if(n.status&&(w&&!A?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,k&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),w&&!k&&!A)return d(o.signal.reason);let _=b;return r(this,S)[t]===b&&(x===void 0?_.__staleWhileFetching?r(this,S)[t]=_.__staleWhileFetching:this.delete(e):(n.status&&(n.status.fetchUpdated=!0),this.set(e,x,p.options))),x},u=x=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=x),d(x)),d=x=>{let{aborted:A}=o.signal,w=A&&n.allowStaleOnFetchAbort,k=w||n.allowStaleOnFetchRejection,_=k||n.noDeleteOnFetchRejection,F=b;if(r(this,S)[t]===b&&(!_||F.__staleWhileFetching===void 0?this.delete(e):w||(r(this,S)[t]=F.__staleWhileFetching)),k)return n.status&&F.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),F.__staleWhileFetching;if(F.__returned===F)throw x},v=(x,A)=>{var k;let w=(k=r(this,_i))==null?void 0:k.call(this,e,s,p);w&&w instanceof Promise&&w.then(_=>x(_),A),o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(x(),n.allowStaleOnFetchAbort&&(x=_=>l(_,!0)))})};n.status&&(n.status.fetchDispatched=!0);let b=new Promise(v).then(l,u),h=Object.assign(b,{__abortController:o,__staleWhileFetching:s,__returned:void 0});return t===void 0?(this.set(e,h,{...p.options,status:void 0}),t=r(this,M).get(e)):r(this,S)[t]=h,h},U=new WeakSet,I=function(e){if(!r(this,Je))return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof Pt},st=new WeakSet,$n=function(e,t){r(this,ce)[t]=e,r(this,Q)[e]=t},ri=new WeakSet,et=function(e){e!==r(this,W)&&(e===r(this,J)?y(this,J,r(this,Q)[e]):E(this,st,$n).call(this,r(this,ce)[e],r(this,Q)[e]),E(this,st,$n).call(this,r(this,W),e),y(this,W,e))};var Yo=X(yo()),Xo=X(Vo());var ct=class{constructor(e){this.config=e}};var oa=X(vn());var Ii=class extends Error{constructor(t,n,a){super(a);this.name="ApiError",this.url=n.url,this.status=n.status,this.statusText=n.statusText,this.body=n.body,this.request=t}};var Wt=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},Fe,Be,we,Ye,ui,pt,Li,Ee=class{constructor(e){C(this,Fe,void 0);C(this,Be,void 0);C(this,we,void 0);C(this,Ye,void 0);C(this,ui,void 0);C(this,pt,void 0);C(this,Li,void 0);y(this,Fe,!1),y(this,Be,!1),y(this,we,!1),y(this,Ye,[]),y(this,ui,new Promise((t,n)=>{y(this,pt,t),y(this,Li,n);let a=c=>{var p;r(this,Fe)||r(this,Be)||r(this,we)||(y(this,Fe,!0),(p=r(this,pt))==null||p.call(this,c))},s=c=>{var p;r(this,Fe)||r(this,Be)||r(this,we)||(y(this,Be,!0),(p=r(this,Li))==null||p.call(this,c))},o=c=>{r(this,Fe)||r(this,Be)||r(this,we)||r(this,Ye).push(c)};return Object.defineProperty(o,"isResolved",{get:()=>r(this,Fe)}),Object.defineProperty(o,"isRejected",{get:()=>r(this,Be)}),Object.defineProperty(o,"isCancelled",{get:()=>r(this,we)}),e(a,s,o)}))}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,t){return r(this,ui).then(e,t)}catch(e){return r(this,ui).catch(e)}finally(e){return r(this,ui).finally(e)}cancel(){var e;if(!(r(this,Fe)||r(this,Be)||r(this,we))){if(y(this,we,!0),r(this,Ye).length)try{for(let t of r(this,Ye))t()}catch(t){console.warn("Cancellation threw an error",t);return}r(this,Ye).length=0,(e=r(this,Li))==null||e.call(this,new Wt("Request aborted"))}}get isCancelled(){return r(this,we)}};Fe=new WeakMap,Be=new WeakMap,we=new WeakMap,Ye=new WeakMap,ui=new WeakMap,pt=new WeakMap,Li=new WeakMap;var ra=i=>i!=null,Vt=i=>typeof i=="string",sa=i=>Vt(i)&&i!=="",Go=i=>typeof i=="object"&&typeof i.type=="string"&&typeof i.stream=="function"&&typeof i.arrayBuffer=="function"&&typeof i.constructor=="function"&&typeof i.constructor.name=="string"&&/^(Blob|File)$/.test(i.constructor.name)&&/^(Blob|File)$/.test(i[Symbol.toStringTag]),Cl=i=>i instanceof oa.default,Al=i=>i>=200&&i<300,Rl=i=>{try{return btoa(i)}catch{return Buffer.from(i).toString("base64")}},Sl=i=>{let e=[],t=(a,s)=>{e.push(`${encodeURIComponent(a)}=${encodeURIComponent(String(s))}`)},n=(a,s)=>{ra(s)&&(Array.isArray(s)?s.forEach(o=>{n(a,o)}):typeof s=="object"?Object.entries(s).forEach(([o,c])=>{n(`${a}[${o}]`,c)}):t(a,s))};return Object.entries(i).forEach(([a,s])=>{n(a,s)}),e.length>0?`?${e.join("&")}`:""},_l=(i,e)=>{let t=i.ENCODE_PATH||encodeURI,n=e.url.replace("{api-version}",i.VERSION).replace(/{(.*?)}/g,(s,o)=>e.path?.hasOwnProperty(o)?t(String(e.path[o])):s),a=`${i.BASE}${n}`;return e.query?`${a}${Sl(e.query)}`:a},Tl=i=>{if(i.formData){let e=new oa.default,t=(n,a)=>{Vt(a)||Go(a)?e.append(n,a):e.append(n,JSON.stringify(a))};return Object.entries(i.formData).filter(([n,a])=>ra(a)).forEach(([n,a])=>{Array.isArray(a)?a.forEach(s=>t(n,s)):t(n,a)}),e}},$t=async(i,e)=>typeof e=="function"?e(i):e,kl=async(i,e,t)=>{let n=await $t(e,i.TOKEN),a=await $t(e,i.USERNAME),s=await $t(e,i.PASSWORD),o=await $t(e,i.HEADERS),c=typeof t?.getHeaders=="function"&&t?.getHeaders()||{},p=Object.entries({Accept:"application/json",...o,...e.headers,...c}).filter(([l,u])=>ra(u)).reduce((l,[u,d])=>({...l,[u]:String(d)}),{});if(sa(n)&&(p.Authorization=`Bearer ${n}`),sa(a)&&sa(s)){let l=Rl(`${a}:${s}`);p.Authorization=`Basic ${l}`}return e.body&&(e.mediaType?p["Content-Type"]=e.mediaType:Go(e.body)?p["Content-Type"]=e.body.type||"application/octet-stream":Vt(e.body)?p["Content-Type"]="text/plain":Cl(e.body)||(p["Content-Type"]="application/json")),p},Fl=i=>{if(i.body)return i.body},Bl=async(i,e,t,n,a,s,o)=>{let c=ai.CancelToken.source(),p={url:t,headers:s,data:n??a,method:e.method,withCredentials:i.WITH_CREDENTIALS,cancelToken:c.token};o(()=>c.cancel("The user aborted a request."));try{return await ai.request(p)}catch(l){let u=l;if(u.response)return u.response;throw l}},Ol=(i,e)=>{if(e){let t=i.headers[e];if(Vt(t))return t}},jl=i=>{if(i.status!==204)return i.data},Ul=(i,e)=>{let n={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",...i.errors}[e.status];if(n)throw new Ii(i,e,n);if(!e.ok)throw new Ii(i,e,"Generic Error")},Jo=(i,e)=>new Ee(async(t,n,a)=>{try{let s=_l(i,e),o=Tl(e),c=Fl(e),p=await kl(i,e,o);if(!a.isCancelled){let l=await Bl(i,e,s,c,o,p,a),u=jl(l),d=Ol(l,e.responseHeader),v={url:s,ok:Al(l.status),status:l.status,statusText:l.statusText,body:d??u};Ul(e,v),t(v.body)}}catch(s){n(s)}});var Gt=class extends ct{constructor(e){super(e)}request(e){return Jo(this.config,e)}};var lt=class{constructor(e){this.httpRequest=e}completionsV1CompletionsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/completions",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}eventsV1EventsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/events",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}};var Pi=class{constructor(e,t=Gt){this.request=new t({BASE:e?.BASE??"",VERSION:e?.VERSION??"0.1.0",WITH_CREDENTIALS:e?.WITH_CREDENTIALS??!1,CREDENTIALS:e?.CREDENTIALS??"include",TOKEN:e?.TOKEN,USERNAME:e?.USERNAME,PASSWORD:e?.PASSWORD,HEADERS:e?.HEADERS,ENCODE_PATH:e?.ENCODE_PATH}),this.default=new lt(this.request)}};function Ko(i){return new Promise(e=>setTimeout(e,i))}function Jt(i){return i.match(/.*(?:$|\r?\n)/g).filter(Boolean)}function ca(i){return i.match(/\w+|\W+/g).filter(Boolean)}function pa(i,e){return new Ee((t,n,a)=>{i.then(s=>{t(s)}).catch(s=>{n(s)}),a(()=>{e()})})}var Kt=class{constructor(){this.options={maxSize:1*1024*1024,partiallyAcceptedCacheGeneration:{enabled:!0,perCharacter:{lines:1,words:10,max:30},perWord:{lines:1,max:20},perLine:{max:3}}};this.cache=new zt({maxSize:this.options.maxSize,sizeCalculation:Xo.default})}has(e){return this.cache.has(this.hash(e))}set(e,t){for(let n of this.createCacheEntries(e,t))this.cache.set(this.hash(n.key),n.value)}get(e){return this.cache.get(this.hash(e))}hash(e){return(0,Yo.default)(e)}createCacheEntries(e,t){let n=[{key:e,value:t}];if(this.options.partiallyAcceptedCacheGeneration.enabled){let a=t.choices.map(s=>this.calculatePartiallyAcceptedPositions(s.text).map(o=>({prefix:s.text.slice(0,o),suffix:s.text.slice(o),choiceIndex:s.index}))).flat().reduce((s,o)=>(s[o.prefix]=s[o.prefix]||[],s[o.prefix].push({suffix:o.suffix,choiceIndex:o.choiceIndex}),s),{});for(let s in a){let o={...e,prompt:e.prompt+s},c={...t,choices:a[s].map(p=>({index:p.choiceIndex,text:p.suffix}))};n.push({key:o,value:c})}}return n}calculatePartiallyAcceptedPositions(e){let t=[],n=this.options.partiallyAcceptedCacheGeneration,a=Jt(e),s=0,o=0;for(;sd.indexOf(l)===u).sort((l,u)=>l-u)}};var Yt=class extends Qo.EventEmitter{constructor(){super();this.serverUrl="http://127.0.0.1:5000";this.status="connecting";this.ping(),this.api=new Pi({BASE:this.serverUrl}),this.completionCache=new Kt}changeStatus(t){if(this.status!=t){this.status=t;let n={event:"statusChanged",status:t};super.emit("statusChanged",n)}}async ping(t=0){try{let n=await ai.get(`${this.serverUrl}/`);return(0,Zo.strict)(n.status==200),this.changeStatus("ready"),!0}catch{return t>5?(this.changeStatus("disconnected"),!1):(this.changeStatus("connecting"),await Ko(1e3),this.ping(t+1))}}wrapApiPromise(t){return pa(t.then(n=>(this.changeStatus("ready"),n)).catch(n=>{throw this.changeStatus("disconnected"),n}),()=>{t.cancel()})}setServerUrl(t){return this.serverUrl=t.replace(/\/$/,""),this.ping(),this.api=new Pi({BASE:this.serverUrl}),this.serverUrl}getServerUrl(){return this.serverUrl}getStatus(){return this.status}getCompletions(t){if(this.completionCache.has(t))return new Ee(a=>{a(this.completionCache.get(t))});let n=this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(t));return pa(n.then(a=>(this.completionCache.set(t,a),a)),()=>{n.cancel()})}postEvent(t){return this.wrapApiPromise(this.api.default.eventsV1EventsPost(t))}};var er=["statusChanged"];var Xt=class{constructor(){this.inStream=process.stdin;this.outStream=process.stdout;this.errLogger=process.stderr;this.buffer="";this.ongoingRequests={};this.agent=null}handleInput(e){let t=e.toString();this.buffer+=t;let n=Jt(this.buffer);if(!(n.length<1)){n[n.length-1].endsWith(` +`)?this.buffer="":this.buffer=n.pop();for(let a of n){let s=null;try{s=JSON.parse(a)}catch(o){this.errLogger.write(JSON.stringify(o,Object.getOwnPropertyNames(o))+` +`);continue}this.handleRequest(s).then(o=>{this.sendResponse(o)})}}}async handleRequest(e){let t=[0,null];try{if(!this.agent)throw new Error(`Agent not bound. +`);t[0]=e[0];let n=e[1].func;if(n==="cancelRequest")t[1]=this.cancelRequest(e);else{let a=this.agent[n];if(!a)throw new Error(`Unknown function: ${n}`);let s=a.apply(this.agent,e[1].args);s instanceof Ee?(this.ongoingRequests[e[0]]=s,t[1]=await s,delete this.ongoingRequests[e[0]]):t[1]=s}}catch(n){this.errLogger.write(JSON.stringify(n,Object.getOwnPropertyNames(n))+` +`)}finally{return t}}cancelRequest(e){let t=this.ongoingRequests[e[1].args[0]];return t?(t.cancel(),!0):!1}sendResponse(e){this.outStream.write(JSON.stringify(e)+` +`)}bind(e){this.agent=e;for(let t of er)this.agent.on(t,n=>{this.sendResponse([0,n])})}listen(){this.inStream.on("data",this.handleInput.bind(this))}};var ql=new Yt,ir=new Xt;ir.bind(ql);ir.listen(); +/*! Bundled license information: + +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ diff --git a/clients/tabby-agent/dist/index.d.ts b/clients/tabby-agent/dist/index.d.ts index f320aad..c932f28 100644 --- a/clients/tabby-agent/dist/index.d.ts +++ b/clients/tabby-agent/dist/index.d.ts @@ -130,6 +130,7 @@ declare class TabbyAgent extends EventEmitter implements Agent { private serverUrl; private status; private api; + private completionCache; constructor(); private changeStatus; private ping; diff --git a/clients/tabby-agent/dist/index.global.js b/clients/tabby-agent/dist/index.global.js index 1588314..6468312 100644 --- a/clients/tabby-agent/dist/index.global.js +++ b/clients/tabby-agent/dist/index.global.js @@ -5,10 +5,18 @@ var Tabby = (() => { var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __require = /* @__PURE__ */ ((x3) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x3, { + get: (a4, b3) => (typeof require !== "undefined" ? require : a4)[b3] + }) : x3)(function(x3) { + if (typeof require !== "undefined") + return require.apply(this, arguments); + throw new Error('Dynamic require of "' + x3 + '" is not supported'); + }); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; - var __commonJS = (cb, mod) => function __require() { + var __commonJS = (cb, mod) => function __require2() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all3) => { @@ -32,6 +40,10 @@ var Tabby = (() => { mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; + }; var __accessCheck = (obj, member, msg) => { if (!member.has(obj)) throw TypeError("Cannot " + msg); @@ -50,6 +62,18 @@ var Tabby = (() => { setter ? setter.call(obj, value) : member.set(obj, value); return value; }; + var __privateWrapper = (obj, member, setter, getter) => ({ + set _(value) { + __privateSet(obj, member, value, setter); + }, + get _() { + return __privateGet(obj, member, getter); + } + }); + var __privateMethod = (obj, member, method) => { + __accessCheck(obj, member, "access private method"); + return method; + }; // node_modules/esbuild-plugin-polyfill-node/polyfills/global.js var global; @@ -72,10 +96,152 @@ var Tabby = (() => { }); // node_modules/@jspm/core/nodelibs/browser/process.js + var process_exports = {}; + __export(process_exports, { + _debugEnd: () => _debugEnd, + _debugProcess: () => _debugProcess, + _events: () => _events, + _eventsCount: () => _eventsCount, + _exiting: () => _exiting, + _fatalExceptions: () => _fatalExceptions, + _getActiveHandles: () => _getActiveHandles, + _getActiveRequests: () => _getActiveRequests, + _kill: () => _kill, + _linkedBinding: () => _linkedBinding, + _maxListeners: () => _maxListeners, + _preload_modules: () => _preload_modules, + _rawDebug: () => _rawDebug, + _startProfilerIdleNotifier: () => _startProfilerIdleNotifier, + _stopProfilerIdleNotifier: () => _stopProfilerIdleNotifier, + _tickCallback: () => _tickCallback, + abort: () => abort, + addListener: () => addListener, + allowedNodeEnvironmentFlags: () => allowedNodeEnvironmentFlags, + arch: () => arch, + argv: () => argv, + argv0: () => argv0, + assert: () => assert, + binding: () => binding, + chdir: () => chdir, + config: () => config, + cpuUsage: () => cpuUsage, + cwd: () => cwd, + debugPort: () => debugPort, + default: () => process, + dlopen: () => dlopen, + domain: () => domain, + emit: () => emit, + emitWarning: () => emitWarning, + env: () => env, + execArgv: () => execArgv, + execPath: () => execPath, + exit: () => exit, + features: () => features, + hasUncaughtExceptionCaptureCallback: () => hasUncaughtExceptionCaptureCallback, + hrtime: () => hrtime, + kill: () => kill, + listeners: () => listeners, + memoryUsage: () => memoryUsage, + moduleLoadList: () => moduleLoadList, + nextTick: () => nextTick, + off: () => off, + on: () => on, + once: () => once, + openStdin: () => openStdin, + pid: () => pid, + platform: () => platform, + ppid: () => ppid, + prependListener: () => prependListener, + prependOnceListener: () => prependOnceListener, + reallyExit: () => reallyExit, + release: () => release, + removeAllListeners: () => removeAllListeners, + removeListener: () => removeListener, + resourceUsage: () => resourceUsage, + setSourceMapsEnabled: () => setSourceMapsEnabled, + setUncaughtExceptionCaptureCallback: () => setUncaughtExceptionCaptureCallback, + stderr: () => stderr, + stdin: () => stdin, + stdout: () => stdout, + title: () => title, + umask: () => umask, + uptime: () => uptime, + version: () => version, + versions: () => versions + }); + function unimplemented(name2) { + throw new Error("Node.js process " + name2 + " is not supported by JSPM core outside of Node.js"); + } + function cleanUpNextTick() { + if (!draining || !currentQueue) + return; + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) + drainQueue(); + } + function drainQueue() { + if (draining) + return; + var timeout = setTimeout(cleanUpNextTick, 0); + draining = true; + var len = queue.length; + while (len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) + currentQueue[queueIndex].run(); + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + clearTimeout(timeout); + } + function nextTick(fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i4 = 1; i4 < arguments.length; i4++) + args[i4 - 1] = arguments[i4]; + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) + setTimeout(drainQueue, 0); + } function Item(fun, array) { this.fun = fun; this.array = array; } + function noop() { + } + function _linkedBinding(name2) { + unimplemented("_linkedBinding"); + } + function dlopen(name2) { + unimplemented("dlopen"); + } + function _getActiveRequests() { + return []; + } + function _getActiveHandles() { + return []; + } + function assert(condition, message) { + if (!condition) + throw new Error(message || "assertion error"); + } + function hasUncaughtExceptionCaptureCallback() { + return false; + } + function uptime() { + return _performance.now() / 1e3; + } function hrtime(previousTimestamp) { var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3); var clocktime = _performance.now() * 1e-3; @@ -91,7 +257,13 @@ var Tabby = (() => { } return [seconds, nanoseconds]; } - var env, _performance, nowOffset, nanoPerSec; + function on() { + return process; + } + function listeners(name2) { + return []; + } + var queue, draining, currentQueue, queueIndex, title, arch, platform, env, argv, execArgv, version, versions, emitWarning, binding, umask, cwd, chdir, release, _rawDebug, moduleLoadList, domain, _exiting, config, reallyExit, _kill, cpuUsage, resourceUsage, memoryUsage, kill, exit, openStdin, allowedNodeEnvironmentFlags, features, _fatalExceptions, setUncaughtExceptionCaptureCallback, _tickCallback, _debugProcess, _debugEnd, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, stdout, stderr, stdin, abort, pid, ppid, execPath, debugPort, argv0, _preload_modules, setSourceMapsEnabled, _performance, nowOffset, nanoPerSec, _maxListeners, _events, _eventsCount, addListener, once, off, removeListener, removeAllListeners, emit, prependListener, prependOnceListener, process; var init_process = __esm({ "node_modules/@jspm/core/nodelibs/browser/process.js"() { init_global(); @@ -99,9 +271,15 @@ var Tabby = (() => { init_filename(); init_buffer2(); init_process2(); + queue = []; + draining = false; + queueIndex = -1; Item.prototype.run = function() { this.fun.apply(null, this.array); }; + title = "browser"; + arch = "x64"; + platform = "browser"; env = { PATH: "/usr/bin", LANG: navigator.language + ".UTF-8", @@ -109,6 +287,75 @@ var Tabby = (() => { HOME: "/home", TMP: "/tmp" }; + argv = ["/usr/bin/node"]; + execArgv = []; + version = "v16.8.0"; + versions = {}; + emitWarning = function(message, type) { + console.warn((type ? type + ": " : "") + message); + }; + binding = function(name2) { + unimplemented("binding"); + }; + umask = function(mask) { + return 0; + }; + cwd = function() { + return "/"; + }; + chdir = function(dir) { + }; + release = { + name: "node", + sourceUrl: "", + headersUrl: "", + libUrl: "" + }; + _rawDebug = noop; + moduleLoadList = []; + domain = {}; + _exiting = false; + config = {}; + reallyExit = noop; + _kill = noop; + cpuUsage = function() { + return {}; + }; + resourceUsage = cpuUsage; + memoryUsage = cpuUsage; + kill = noop; + exit = noop; + openStdin = noop; + allowedNodeEnvironmentFlags = {}; + features = { + inspector: false, + debug: false, + uv: false, + ipv6: false, + tls_alpn: false, + tls_sni: false, + tls_ocsp: false, + tls: false, + cached_builtins: true + }; + _fatalExceptions = noop; + setUncaughtExceptionCaptureCallback = noop; + _tickCallback = noop; + _debugProcess = noop; + _debugEnd = noop; + _startProfilerIdleNotifier = noop; + _stopProfilerIdleNotifier = noop; + stdout = void 0; + stderr = void 0; + stdin = void 0; + abort = noop; + pid = 2; + ppid = 1; + execPath = "/bin/usr/node"; + debugPort = 9229; + argv0 = "node"; + _preload_modules = []; + setSourceMapsEnabled = noop; _performance = { now: typeof performance !== "undefined" ? performance.now.bind(performance) : void 0, timing: typeof performance !== "undefined" ? performance.timing : void 0 @@ -128,6 +375,88 @@ var Tabby = (() => { } return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]); }; + _maxListeners = 10; + _events = {}; + _eventsCount = 0; + addListener = on; + once = on; + off = on; + removeListener = on; + removeAllListeners = on; + emit = noop; + prependListener = on; + prependOnceListener = on; + process = { + version, + versions, + arch, + platform, + release, + _rawDebug, + moduleLoadList, + binding, + _linkedBinding, + _events, + _eventsCount, + _maxListeners, + on, + addListener, + once, + off, + removeListener, + removeAllListeners, + emit, + prependListener, + prependOnceListener, + listeners, + domain, + _exiting, + config, + dlopen, + uptime, + _getActiveRequests, + _getActiveHandles, + reallyExit, + _kill, + cpuUsage, + resourceUsage, + memoryUsage, + kill, + exit, + openStdin, + allowedNodeEnvironmentFlags, + assert, + features, + _fatalExceptions, + setUncaughtExceptionCaptureCallback, + hasUncaughtExceptionCaptureCallback, + emitWarning, + nextTick, + _tickCallback, + _debugProcess, + _debugEnd, + _startProfilerIdleNotifier, + _stopProfilerIdleNotifier, + stdout, + stdin, + stderr, + abort, + umask, + chdir, + cwd, + env, + title, + argv, + execArgv, + pid, + ppid, + execPath, + debugPort, + hrtime, + argv0, + _preload_modules, + setSourceMapsEnabled + }; } }); @@ -1988,6 +2317,2904 @@ var Tabby = (() => { } }); + // node_modules/object-hash/dist/object_hash.js + var require_object_hash = __commonJS({ + "node_modules/object-hash/dist/object_hash.js"(exports2, module) { + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + !function(e5) { + var t5; + "object" == typeof exports2 ? module.exports = e5() : "function" == typeof define && define.amd ? define(e5) : ("undefined" != typeof window ? t5 = window : "undefined" != typeof global ? t5 = global : "undefined" != typeof self && (t5 = self), t5.objectHash = e5()); + }(function() { + return function r5(o4, i4, u4) { + function s4(n4, e6) { + if (!i4[n4]) { + if (!o4[n4]) { + var t5 = "function" == typeof __require && __require; + if (!e6 && t5) + return t5(n4, true); + if (a4) + return a4(n4, true); + throw new Error("Cannot find module '" + n4 + "'"); + } + e6 = i4[n4] = { exports: {} }; + o4[n4][0].call(e6.exports, function(e7) { + var t6 = o4[n4][1][e7]; + return s4(t6 || e7); + }, e6, e6.exports, r5, o4, i4, u4); + } + return i4[n4].exports; + } + for (var a4 = "function" == typeof __require && __require, e5 = 0; e5 < u4.length; e5++) + s4(u4[e5]); + return s4; + }({ 1: [function(w3, b3, m4) { + !function(e5, n4, s4, c4, d4, h5, p4, g3, y4) { + "use strict"; + var r5 = w3("crypto"); + function t5(e6, t6) { + t6 = u4(e6, t6); + var n5; + return void 0 === (n5 = "passthrough" !== t6.algorithm ? r5.createHash(t6.algorithm) : new l4()).write && (n5.write = n5.update, n5.end = n5.update), f4(t6, n5).dispatch(e6), n5.update || n5.end(""), n5.digest ? n5.digest("buffer" === t6.encoding ? void 0 : t6.encoding) : (e6 = n5.read(), "buffer" !== t6.encoding ? e6.toString(t6.encoding) : e6); + } + (m4 = b3.exports = t5).sha1 = function(e6) { + return t5(e6); + }, m4.keys = function(e6) { + return t5(e6, { excludeValues: true, algorithm: "sha1", encoding: "hex" }); + }, m4.MD5 = function(e6) { + return t5(e6, { algorithm: "md5", encoding: "hex" }); + }, m4.keysMD5 = function(e6) { + return t5(e6, { algorithm: "md5", encoding: "hex", excludeValues: true }); + }; + var o4 = r5.getHashes ? r5.getHashes().slice() : ["sha1", "md5"], i4 = (o4.push("passthrough"), ["buffer", "hex", "binary", "base64"]); + function u4(e6, t6) { + var n5 = {}; + if (n5.algorithm = (t6 = t6 || {}).algorithm || "sha1", n5.encoding = t6.encoding || "hex", n5.excludeValues = !!t6.excludeValues, n5.algorithm = n5.algorithm.toLowerCase(), n5.encoding = n5.encoding.toLowerCase(), n5.ignoreUnknown = true === t6.ignoreUnknown, n5.respectType = false !== t6.respectType, n5.respectFunctionNames = false !== t6.respectFunctionNames, n5.respectFunctionProperties = false !== t6.respectFunctionProperties, n5.unorderedArrays = true === t6.unorderedArrays, n5.unorderedSets = false !== t6.unorderedSets, n5.unorderedObjects = false !== t6.unorderedObjects, n5.replacer = t6.replacer || void 0, n5.excludeKeys = t6.excludeKeys || void 0, void 0 === e6) + throw new Error("Object argument required."); + for (var r6 = 0; r6 < o4.length; ++r6) + o4[r6].toLowerCase() === n5.algorithm.toLowerCase() && (n5.algorithm = o4[r6]); + if (-1 === o4.indexOf(n5.algorithm)) + throw new Error('Algorithm "' + n5.algorithm + '" not supported. supported values: ' + o4.join(", ")); + if (-1 === i4.indexOf(n5.encoding) && "passthrough" !== n5.algorithm) + throw new Error('Encoding "' + n5.encoding + '" not supported. supported values: ' + i4.join(", ")); + return n5; + } + function a4(e6) { + if ("function" == typeof e6) + return null != /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(e6)); + } + function f4(o5, t6, i5) { + i5 = i5 || []; + function u5(e6) { + return t6.update ? t6.update(e6, "utf8") : t6.write(e6, "utf8"); + } + return { dispatch: function(e6) { + return this["_" + (null === (e6 = o5.replacer ? o5.replacer(e6) : e6) ? "null" : typeof e6)](e6); + }, _object: function(t7) { + var n5, e6 = Object.prototype.toString.call(t7), r6 = /\[object (.*)\]/i.exec(e6); + r6 = (r6 = r6 ? r6[1] : "unknown:[" + e6 + "]").toLowerCase(); + if (0 <= (e6 = i5.indexOf(t7))) + return this.dispatch("[CIRCULAR:" + e6 + "]"); + if (i5.push(t7), void 0 !== s4 && s4.isBuffer && s4.isBuffer(t7)) + return u5("buffer:"), u5(t7); + if ("object" === r6 || "function" === r6 || "asyncfunction" === r6) + return e6 = Object.keys(t7), o5.unorderedObjects && (e6 = e6.sort()), false === o5.respectType || a4(t7) || e6.splice(0, 0, "prototype", "__proto__", "constructor"), o5.excludeKeys && (e6 = e6.filter(function(e7) { + return !o5.excludeKeys(e7); + })), u5("object:" + e6.length + ":"), n5 = this, e6.forEach(function(e7) { + n5.dispatch(e7), u5(":"), o5.excludeValues || n5.dispatch(t7[e7]), u5(","); + }); + if (!this["_" + r6]) { + if (o5.ignoreUnknown) + return u5("[" + r6 + "]"); + throw new Error('Unknown object type "' + r6 + '"'); + } + this["_" + r6](t7); + }, _array: function(e6, t7) { + t7 = void 0 !== t7 ? t7 : false !== o5.unorderedArrays; + var n5 = this; + if (u5("array:" + e6.length + ":"), !t7 || e6.length <= 1) + return e6.forEach(function(e7) { + return n5.dispatch(e7); + }); + var r6 = [], t7 = e6.map(function(e7) { + var t8 = new l4(), n6 = i5.slice(); + return f4(o5, t8, n6).dispatch(e7), r6 = r6.concat(n6.slice(i5.length)), t8.read().toString(); + }); + return i5 = i5.concat(r6), t7.sort(), this._array(t7, false); + }, _date: function(e6) { + return u5("date:" + e6.toJSON()); + }, _symbol: function(e6) { + return u5("symbol:" + e6.toString()); + }, _error: function(e6) { + return u5("error:" + e6.toString()); + }, _boolean: function(e6) { + return u5("bool:" + e6.toString()); + }, _string: function(e6) { + u5("string:" + e6.length + ":"), u5(e6.toString()); + }, _function: function(e6) { + u5("fn:"), a4(e6) ? this.dispatch("[native]") : this.dispatch(e6.toString()), false !== o5.respectFunctionNames && this.dispatch("function-name:" + String(e6.name)), o5.respectFunctionProperties && this._object(e6); + }, _number: function(e6) { + return u5("number:" + e6.toString()); + }, _xml: function(e6) { + return u5("xml:" + e6.toString()); + }, _null: function() { + return u5("Null"); + }, _undefined: function() { + return u5("Undefined"); + }, _regexp: function(e6) { + return u5("regex:" + e6.toString()); + }, _uint8array: function(e6) { + return u5("uint8array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _uint8clampedarray: function(e6) { + return u5("uint8clampedarray:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _int8array: function(e6) { + return u5("int8array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _uint16array: function(e6) { + return u5("uint16array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _int16array: function(e6) { + return u5("int16array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _uint32array: function(e6) { + return u5("uint32array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _int32array: function(e6) { + return u5("int32array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _float32array: function(e6) { + return u5("float32array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _float64array: function(e6) { + return u5("float64array:"), this.dispatch(Array.prototype.slice.call(e6)); + }, _arraybuffer: function(e6) { + return u5("arraybuffer:"), this.dispatch(new Uint8Array(e6)); + }, _url: function(e6) { + return u5("url:" + e6.toString()); + }, _map: function(e6) { + u5("map:"); + e6 = Array.from(e6); + return this._array(e6, false !== o5.unorderedSets); + }, _set: function(e6) { + u5("set:"); + e6 = Array.from(e6); + return this._array(e6, false !== o5.unorderedSets); + }, _file: function(e6) { + return u5("file:"), this.dispatch([e6.name, e6.size, e6.type, e6.lastModfied]); + }, _blob: function() { + if (o5.ignoreUnknown) + return u5("[blob]"); + throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n'); + }, _domwindow: function() { + return u5("domwindow"); + }, _bigint: function(e6) { + return u5("bigint:" + e6.toString()); + }, _process: function() { + return u5("process"); + }, _timer: function() { + return u5("timer"); + }, _pipe: function() { + return u5("pipe"); + }, _tcp: function() { + return u5("tcp"); + }, _udp: function() { + return u5("udp"); + }, _tty: function() { + return u5("tty"); + }, _statwatcher: function() { + return u5("statwatcher"); + }, _securecontext: function() { + return u5("securecontext"); + }, _connection: function() { + return u5("connection"); + }, _zlib: function() { + return u5("zlib"); + }, _context: function() { + return u5("context"); + }, _nodescript: function() { + return u5("nodescript"); + }, _httpparser: function() { + return u5("httpparser"); + }, _dataview: function() { + return u5("dataview"); + }, _signal: function() { + return u5("signal"); + }, _fsevent: function() { + return u5("fsevent"); + }, _tlswrap: function() { + return u5("tlswrap"); + } }; + } + function l4() { + return { buf: "", write: function(e6) { + this.buf += e6; + }, end: function(e6) { + this.buf += e6; + }, read: function() { + return this.buf; + } }; + } + m4.writeToStream = function(e6, t6, n5) { + return void 0 === n5 && (n5 = t6, t6 = {}), f4(t6 = u4(e6, t6), n5).dispatch(e6); + }; + }.call(this, w3("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, w3("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/fake_9a5aa49d.js", "/"); + }, { buffer: 3, crypto: 5, lYpoI2: 11 }], 2: [function(e5, t5, f4) { + !function(e6, t6, n4, r5, o4, i4, u4, s4, a4) { + !function(e7) { + "use strict"; + var a5 = "undefined" != typeof Uint8Array ? Uint8Array : Array, t7 = "+".charCodeAt(0), n5 = "/".charCodeAt(0), r6 = "0".charCodeAt(0), o5 = "a".charCodeAt(0), i5 = "A".charCodeAt(0), u5 = "-".charCodeAt(0), s5 = "_".charCodeAt(0); + function f5(e8) { + e8 = e8.charCodeAt(0); + return e8 === t7 || e8 === u5 ? 62 : e8 === n5 || e8 === s5 ? 63 : e8 < r6 ? -1 : e8 < r6 + 10 ? e8 - r6 + 26 + 26 : e8 < i5 + 26 ? e8 - i5 : e8 < o5 + 26 ? e8 - o5 + 26 : void 0; + } + e7.toByteArray = function(e8) { + var t8, n6; + if (0 < e8.length % 4) + throw new Error("Invalid string. Length must be a multiple of 4"); + var r7 = e8.length, r7 = "=" === e8.charAt(r7 - 2) ? 2 : "=" === e8.charAt(r7 - 1) ? 1 : 0, o6 = new a5(3 * e8.length / 4 - r7), i6 = 0 < r7 ? e8.length - 4 : e8.length, u6 = 0; + function s6(e9) { + o6[u6++] = e9; + } + for (t8 = 0; t8 < i6; t8 += 4, 0) + s6((16711680 & (n6 = f5(e8.charAt(t8)) << 18 | f5(e8.charAt(t8 + 1)) << 12 | f5(e8.charAt(t8 + 2)) << 6 | f5(e8.charAt(t8 + 3)))) >> 16), s6((65280 & n6) >> 8), s6(255 & n6); + return 2 == r7 ? s6(255 & (n6 = f5(e8.charAt(t8)) << 2 | f5(e8.charAt(t8 + 1)) >> 4)) : 1 == r7 && (s6((n6 = f5(e8.charAt(t8)) << 10 | f5(e8.charAt(t8 + 1)) << 4 | f5(e8.charAt(t8 + 2)) >> 2) >> 8 & 255), s6(255 & n6)), o6; + }, e7.fromByteArray = function(e8) { + var t8, n6, r7, o6, i6 = e8.length % 3, u6 = ""; + function s6(e9) { + return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e9); + } + for (t8 = 0, r7 = e8.length - i6; t8 < r7; t8 += 3) + n6 = (e8[t8] << 16) + (e8[t8 + 1] << 8) + e8[t8 + 2], u6 += s6((o6 = n6) >> 18 & 63) + s6(o6 >> 12 & 63) + s6(o6 >> 6 & 63) + s6(63 & o6); + switch (i6) { + case 1: + u6 = (u6 += s6((n6 = e8[e8.length - 1]) >> 2)) + s6(n6 << 4 & 63) + "=="; + break; + case 2: + u6 = (u6 = (u6 += s6((n6 = (e8[e8.length - 2] << 8) + e8[e8.length - 1]) >> 10)) + s6(n6 >> 4 & 63)) + s6(n6 << 2 & 63) + "="; + } + return u6; + }; + }(void 0 === f4 ? this.base64js = {} : f4); + }.call(this, e5("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e5("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js", "/node_modules/gulp-browserify/node_modules/base64-js/lib"); + }, { buffer: 3, lYpoI2: 11 }], 3: [function(O3, e5, H3) { + !function(e6, n4, f4, r5, h5, p4, g3, y4, w3) { + var a4 = O3("base64-js"), i4 = O3("ieee754"); + function f4(e7, t6, n5) { + if (!(this instanceof f4)) + return new f4(e7, t6, n5); + var r6, o5, i5, u5, s5 = typeof e7; + if ("base64" === t6 && "string" == s5) + for (e7 = (u5 = e7).trim ? u5.trim() : u5.replace(/^\s+|\s+$/g, ""); e7.length % 4 != 0; ) + e7 += "="; + if ("number" == s5) + r6 = j3(e7); + else if ("string" == s5) + r6 = f4.byteLength(e7, t6); + else { + if ("object" != s5) + throw new Error("First argument needs to be a number, array or string."); + r6 = j3(e7.length); + } + if (f4._useTypedArrays ? o5 = f4._augment(new Uint8Array(r6)) : ((o5 = this).length = r6, o5._isBuffer = true), f4._useTypedArrays && "number" == typeof e7.byteLength) + o5._set(e7); + else if (C3(u5 = e7) || f4.isBuffer(u5) || u5 && "object" == typeof u5 && "number" == typeof u5.length) + for (i5 = 0; i5 < r6; i5++) + f4.isBuffer(e7) ? o5[i5] = e7.readUInt8(i5) : o5[i5] = e7[i5]; + else if ("string" == s5) + o5.write(e7, 0, t6); + else if ("number" == s5 && !f4._useTypedArrays && !n5) + for (i5 = 0; i5 < r6; i5++) + o5[i5] = 0; + return o5; + } + function b3(e7, t6, n5, r6) { + return f4._charsWritten = c4(function(e8) { + for (var t7 = [], n6 = 0; n6 < e8.length; n6++) + t7.push(255 & e8.charCodeAt(n6)); + return t7; + }(t6), e7, n5, r6); + } + function m4(e7, t6, n5, r6) { + return f4._charsWritten = c4(function(e8) { + for (var t7, n6, r7 = [], o5 = 0; o5 < e8.length; o5++) + n6 = e8.charCodeAt(o5), t7 = n6 >> 8, n6 = n6 % 256, r7.push(n6), r7.push(t7); + return r7; + }(t6), e7, n5, r6); + } + function v4(e7, t6, n5) { + var r6 = ""; + n5 = Math.min(e7.length, n5); + for (var o5 = t6; o5 < n5; o5++) + r6 += String.fromCharCode(e7[o5]); + return r6; + } + function o4(e7, t6, n5, r6) { + r6 || (d4("boolean" == typeof n5, "missing or invalid endian"), d4(null != t6, "missing offset"), d4(t6 + 1 < e7.length, "Trying to read beyond buffer length")); + var o5, r6 = e7.length; + if (!(r6 <= t6)) + return n5 ? (o5 = e7[t6], t6 + 1 < r6 && (o5 |= e7[t6 + 1] << 8)) : (o5 = e7[t6] << 8, t6 + 1 < r6 && (o5 |= e7[t6 + 1])), o5; + } + function u4(e7, t6, n5, r6) { + r6 || (d4("boolean" == typeof n5, "missing or invalid endian"), d4(null != t6, "missing offset"), d4(t6 + 3 < e7.length, "Trying to read beyond buffer length")); + var o5, r6 = e7.length; + if (!(r6 <= t6)) + return n5 ? (t6 + 2 < r6 && (o5 = e7[t6 + 2] << 16), t6 + 1 < r6 && (o5 |= e7[t6 + 1] << 8), o5 |= e7[t6], t6 + 3 < r6 && (o5 += e7[t6 + 3] << 24 >>> 0)) : (t6 + 1 < r6 && (o5 = e7[t6 + 1] << 16), t6 + 2 < r6 && (o5 |= e7[t6 + 2] << 8), t6 + 3 < r6 && (o5 |= e7[t6 + 3]), o5 += e7[t6] << 24 >>> 0), o5; + } + function _3(e7, t6, n5, r6) { + if (r6 || (d4("boolean" == typeof n5, "missing or invalid endian"), d4(null != t6, "missing offset"), d4(t6 + 1 < e7.length, "Trying to read beyond buffer length")), !(e7.length <= t6)) + return r6 = o4(e7, t6, n5, true), 32768 & r6 ? -1 * (65535 - r6 + 1) : r6; + } + function E3(e7, t6, n5, r6) { + if (r6 || (d4("boolean" == typeof n5, "missing or invalid endian"), d4(null != t6, "missing offset"), d4(t6 + 3 < e7.length, "Trying to read beyond buffer length")), !(e7.length <= t6)) + return r6 = u4(e7, t6, n5, true), 2147483648 & r6 ? -1 * (4294967295 - r6 + 1) : r6; + } + function I3(e7, t6, n5, r6) { + return r6 || (d4("boolean" == typeof n5, "missing or invalid endian"), d4(t6 + 3 < e7.length, "Trying to read beyond buffer length")), i4.read(e7, t6, n5, 23, 4); + } + function A3(e7, t6, n5, r6) { + return r6 || (d4("boolean" == typeof n5, "missing or invalid endian"), d4(t6 + 7 < e7.length, "Trying to read beyond buffer length")), i4.read(e7, t6, n5, 52, 8); + } + function s4(e7, t6, n5, r6, o5) { + o5 || (d4(null != t6, "missing value"), d4("boolean" == typeof r6, "missing or invalid endian"), d4(null != n5, "missing offset"), d4(n5 + 1 < e7.length, "trying to write beyond buffer length"), Y3(t6, 65535)); + o5 = e7.length; + if (!(o5 <= n5)) + for (var i5 = 0, u5 = Math.min(o5 - n5, 2); i5 < u5; i5++) + e7[n5 + i5] = (t6 & 255 << 8 * (r6 ? i5 : 1 - i5)) >>> 8 * (r6 ? i5 : 1 - i5); + } + function l4(e7, t6, n5, r6, o5) { + o5 || (d4(null != t6, "missing value"), d4("boolean" == typeof r6, "missing or invalid endian"), d4(null != n5, "missing offset"), d4(n5 + 3 < e7.length, "trying to write beyond buffer length"), Y3(t6, 4294967295)); + o5 = e7.length; + if (!(o5 <= n5)) + for (var i5 = 0, u5 = Math.min(o5 - n5, 4); i5 < u5; i5++) + e7[n5 + i5] = t6 >>> 8 * (r6 ? i5 : 3 - i5) & 255; + } + function B3(e7, t6, n5, r6, o5) { + o5 || (d4(null != t6, "missing value"), d4("boolean" == typeof r6, "missing or invalid endian"), d4(null != n5, "missing offset"), d4(n5 + 1 < e7.length, "Trying to write beyond buffer length"), F3(t6, 32767, -32768)), e7.length <= n5 || s4(e7, 0 <= t6 ? t6 : 65535 + t6 + 1, n5, r6, o5); + } + function L3(e7, t6, n5, r6, o5) { + o5 || (d4(null != t6, "missing value"), d4("boolean" == typeof r6, "missing or invalid endian"), d4(null != n5, "missing offset"), d4(n5 + 3 < e7.length, "Trying to write beyond buffer length"), F3(t6, 2147483647, -2147483648)), e7.length <= n5 || l4(e7, 0 <= t6 ? t6 : 4294967295 + t6 + 1, n5, r6, o5); + } + function U3(e7, t6, n5, r6, o5) { + o5 || (d4(null != t6, "missing value"), d4("boolean" == typeof r6, "missing or invalid endian"), d4(null != n5, "missing offset"), d4(n5 + 3 < e7.length, "Trying to write beyond buffer length"), D3(t6, 34028234663852886e22, -34028234663852886e22)), e7.length <= n5 || i4.write(e7, t6, n5, r6, 23, 4); + } + function x3(e7, t6, n5, r6, o5) { + o5 || (d4(null != t6, "missing value"), d4("boolean" == typeof r6, "missing or invalid endian"), d4(null != n5, "missing offset"), d4(n5 + 7 < e7.length, "Trying to write beyond buffer length"), D3(t6, 17976931348623157e292, -17976931348623157e292)), e7.length <= n5 || i4.write(e7, t6, n5, r6, 52, 8); + } + H3.Buffer = f4, H3.SlowBuffer = f4, H3.INSPECT_MAX_BYTES = 50, f4.poolSize = 8192, f4._useTypedArrays = function() { + try { + var e7 = new ArrayBuffer(0), t6 = new Uint8Array(e7); + return t6.foo = function() { + return 42; + }, 42 === t6.foo() && "function" == typeof t6.subarray; + } catch (e8) { + return false; + } + }(), f4.isEncoding = function(e7) { + switch (String(e7).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "binary": + case "base64": + case "raw": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } + }, f4.isBuffer = function(e7) { + return !(null == e7 || !e7._isBuffer); + }, f4.byteLength = function(e7, t6) { + var n5; + switch (e7 += "", t6 || "utf8") { + case "hex": + n5 = e7.length / 2; + break; + case "utf8": + case "utf-8": + n5 = T4(e7).length; + break; + case "ascii": + case "binary": + case "raw": + n5 = e7.length; + break; + case "base64": + n5 = M3(e7).length; + break; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + n5 = 2 * e7.length; + break; + default: + throw new Error("Unknown encoding"); + } + return n5; + }, f4.concat = function(e7, t6) { + if (d4(C3(e7), "Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."), 0 === e7.length) + return new f4(0); + if (1 === e7.length) + return e7[0]; + if ("number" != typeof t6) + for (o5 = t6 = 0; o5 < e7.length; o5++) + t6 += e7[o5].length; + for (var n5 = new f4(t6), r6 = 0, o5 = 0; o5 < e7.length; o5++) { + var i5 = e7[o5]; + i5.copy(n5, r6), r6 += i5.length; + } + return n5; + }, f4.prototype.write = function(e7, t6, n5, r6) { + isFinite(t6) ? isFinite(n5) || (r6 = n5, n5 = void 0) : (a5 = r6, r6 = t6, t6 = n5, n5 = a5), t6 = Number(t6) || 0; + var o5, i5, u5, s5, a5 = this.length - t6; + switch ((!n5 || a5 < (n5 = Number(n5))) && (n5 = a5), r6 = String(r6 || "utf8").toLowerCase()) { + case "hex": + o5 = function(e8, t7, n6, r7) { + n6 = Number(n6) || 0; + var o6 = e8.length - n6; + (!r7 || o6 < (r7 = Number(r7))) && (r7 = o6), d4((o6 = t7.length) % 2 == 0, "Invalid hex string"), o6 / 2 < r7 && (r7 = o6 / 2); + for (var i6 = 0; i6 < r7; i6++) { + var u6 = parseInt(t7.substr(2 * i6, 2), 16); + d4(!isNaN(u6), "Invalid hex string"), e8[n6 + i6] = u6; + } + return f4._charsWritten = 2 * i6, i6; + }(this, e7, t6, n5); + break; + case "utf8": + case "utf-8": + i5 = this, u5 = t6, s5 = n5, o5 = f4._charsWritten = c4(T4(e7), i5, u5, s5); + break; + case "ascii": + case "binary": + o5 = b3(this, e7, t6, n5); + break; + case "base64": + i5 = this, u5 = t6, s5 = n5, o5 = f4._charsWritten = c4(M3(e7), i5, u5, s5); + break; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + o5 = m4(this, e7, t6, n5); + break; + default: + throw new Error("Unknown encoding"); + } + return o5; + }, f4.prototype.toString = function(e7, t6, n5) { + var r6, o5, i5, u5, s5 = this; + if (e7 = String(e7 || "utf8").toLowerCase(), t6 = Number(t6) || 0, (n5 = void 0 !== n5 ? Number(n5) : s5.length) === t6) + return ""; + switch (e7) { + case "hex": + r6 = function(e8, t7, n6) { + var r7 = e8.length; + (!t7 || t7 < 0) && (t7 = 0); + (!n6 || n6 < 0 || r7 < n6) && (n6 = r7); + for (var o6 = "", i6 = t7; i6 < n6; i6++) + o6 += k3(e8[i6]); + return o6; + }(s5, t6, n5); + break; + case "utf8": + case "utf-8": + r6 = function(e8, t7, n6) { + var r7 = "", o6 = ""; + n6 = Math.min(e8.length, n6); + for (var i6 = t7; i6 < n6; i6++) + e8[i6] <= 127 ? (r7 += N3(o6) + String.fromCharCode(e8[i6]), o6 = "") : o6 += "%" + e8[i6].toString(16); + return r7 + N3(o6); + }(s5, t6, n5); + break; + case "ascii": + case "binary": + r6 = v4(s5, t6, n5); + break; + case "base64": + o5 = s5, u5 = n5, r6 = 0 === (i5 = t6) && u5 === o5.length ? a4.fromByteArray(o5) : a4.fromByteArray(o5.slice(i5, u5)); + break; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + r6 = function(e8, t7, n6) { + for (var r7 = e8.slice(t7, n6), o6 = "", i6 = 0; i6 < r7.length; i6 += 2) + o6 += String.fromCharCode(r7[i6] + 256 * r7[i6 + 1]); + return o6; + }(s5, t6, n5); + break; + default: + throw new Error("Unknown encoding"); + } + return r6; + }, f4.prototype.toJSON = function() { + return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) }; + }, f4.prototype.copy = function(e7, t6, n5, r6) { + if (t6 = t6 || 0, (r6 = r6 || 0 === r6 ? r6 : this.length) !== (n5 = n5 || 0) && 0 !== e7.length && 0 !== this.length) { + d4(n5 <= r6, "sourceEnd < sourceStart"), d4(0 <= t6 && t6 < e7.length, "targetStart out of bounds"), d4(0 <= n5 && n5 < this.length, "sourceStart out of bounds"), d4(0 <= r6 && r6 <= this.length, "sourceEnd out of bounds"), r6 > this.length && (r6 = this.length); + var o5 = (r6 = e7.length - t6 < r6 - n5 ? e7.length - t6 + n5 : r6) - n5; + if (o5 < 100 || !f4._useTypedArrays) + for (var i5 = 0; i5 < o5; i5++) + e7[i5 + t6] = this[i5 + n5]; + else + e7._set(this.subarray(n5, n5 + o5), t6); + } + }, f4.prototype.slice = function(e7, t6) { + var n5 = this.length; + if (e7 = S3(e7, n5, 0), t6 = S3(t6, n5, n5), f4._useTypedArrays) + return f4._augment(this.subarray(e7, t6)); + for (var r6 = t6 - e7, o5 = new f4(r6, void 0, true), i5 = 0; i5 < r6; i5++) + o5[i5] = this[i5 + e7]; + return o5; + }, f4.prototype.get = function(e7) { + return console.log(".get() is deprecated. Access using array indexes instead."), this.readUInt8(e7); + }, f4.prototype.set = function(e7, t6) { + return console.log(".set() is deprecated. Access using array indexes instead."), this.writeUInt8(e7, t6); + }, f4.prototype.readUInt8 = function(e7, t6) { + if (t6 || (d4(null != e7, "missing offset"), d4(e7 < this.length, "Trying to read beyond buffer length")), !(e7 >= this.length)) + return this[e7]; + }, f4.prototype.readUInt16LE = function(e7, t6) { + return o4(this, e7, true, t6); + }, f4.prototype.readUInt16BE = function(e7, t6) { + return o4(this, e7, false, t6); + }, f4.prototype.readUInt32LE = function(e7, t6) { + return u4(this, e7, true, t6); + }, f4.prototype.readUInt32BE = function(e7, t6) { + return u4(this, e7, false, t6); + }, f4.prototype.readInt8 = function(e7, t6) { + if (t6 || (d4(null != e7, "missing offset"), d4(e7 < this.length, "Trying to read beyond buffer length")), !(e7 >= this.length)) + return 128 & this[e7] ? -1 * (255 - this[e7] + 1) : this[e7]; + }, f4.prototype.readInt16LE = function(e7, t6) { + return _3(this, e7, true, t6); + }, f4.prototype.readInt16BE = function(e7, t6) { + return _3(this, e7, false, t6); + }, f4.prototype.readInt32LE = function(e7, t6) { + return E3(this, e7, true, t6); + }, f4.prototype.readInt32BE = function(e7, t6) { + return E3(this, e7, false, t6); + }, f4.prototype.readFloatLE = function(e7, t6) { + return I3(this, e7, true, t6); + }, f4.prototype.readFloatBE = function(e7, t6) { + return I3(this, e7, false, t6); + }, f4.prototype.readDoubleLE = function(e7, t6) { + return A3(this, e7, true, t6); + }, f4.prototype.readDoubleBE = function(e7, t6) { + return A3(this, e7, false, t6); + }, f4.prototype.writeUInt8 = function(e7, t6, n5) { + n5 || (d4(null != e7, "missing value"), d4(null != t6, "missing offset"), d4(t6 < this.length, "trying to write beyond buffer length"), Y3(e7, 255)), t6 >= this.length || (this[t6] = e7); + }, f4.prototype.writeUInt16LE = function(e7, t6, n5) { + s4(this, e7, t6, true, n5); + }, f4.prototype.writeUInt16BE = function(e7, t6, n5) { + s4(this, e7, t6, false, n5); + }, f4.prototype.writeUInt32LE = function(e7, t6, n5) { + l4(this, e7, t6, true, n5); + }, f4.prototype.writeUInt32BE = function(e7, t6, n5) { + l4(this, e7, t6, false, n5); + }, f4.prototype.writeInt8 = function(e7, t6, n5) { + n5 || (d4(null != e7, "missing value"), d4(null != t6, "missing offset"), d4(t6 < this.length, "Trying to write beyond buffer length"), F3(e7, 127, -128)), t6 >= this.length || (0 <= e7 ? this.writeUInt8(e7, t6, n5) : this.writeUInt8(255 + e7 + 1, t6, n5)); + }, f4.prototype.writeInt16LE = function(e7, t6, n5) { + B3(this, e7, t6, true, n5); + }, f4.prototype.writeInt16BE = function(e7, t6, n5) { + B3(this, e7, t6, false, n5); + }, f4.prototype.writeInt32LE = function(e7, t6, n5) { + L3(this, e7, t6, true, n5); + }, f4.prototype.writeInt32BE = function(e7, t6, n5) { + L3(this, e7, t6, false, n5); + }, f4.prototype.writeFloatLE = function(e7, t6, n5) { + U3(this, e7, t6, true, n5); + }, f4.prototype.writeFloatBE = function(e7, t6, n5) { + U3(this, e7, t6, false, n5); + }, f4.prototype.writeDoubleLE = function(e7, t6, n5) { + x3(this, e7, t6, true, n5); + }, f4.prototype.writeDoubleBE = function(e7, t6, n5) { + x3(this, e7, t6, false, n5); + }, f4.prototype.fill = function(e7, t6, n5) { + if (t6 = t6 || 0, n5 = n5 || this.length, d4("number" == typeof (e7 = "string" == typeof (e7 = e7 || 0) ? e7.charCodeAt(0) : e7) && !isNaN(e7), "value is not a number"), d4(t6 <= n5, "end < start"), n5 !== t6 && 0 !== this.length) { + d4(0 <= t6 && t6 < this.length, "start out of bounds"), d4(0 <= n5 && n5 <= this.length, "end out of bounds"); + for (var r6 = t6; r6 < n5; r6++) + this[r6] = e7; + } + }, f4.prototype.inspect = function() { + for (var e7 = [], t6 = this.length, n5 = 0; n5 < t6; n5++) + if (e7[n5] = k3(this[n5]), n5 === H3.INSPECT_MAX_BYTES) { + e7[n5 + 1] = "..."; + break; + } + return ""; + }, f4.prototype.toArrayBuffer = function() { + if ("undefined" == typeof Uint8Array) + throw new Error("Buffer.toArrayBuffer not supported in this browser"); + if (f4._useTypedArrays) + return new f4(this).buffer; + for (var e7 = new Uint8Array(this.length), t6 = 0, n5 = e7.length; t6 < n5; t6 += 1) + e7[t6] = this[t6]; + return e7.buffer; + }; + var t5 = f4.prototype; + function S3(e7, t6, n5) { + return "number" != typeof e7 ? n5 : t6 <= (e7 = ~~e7) ? t6 : 0 <= e7 || 0 <= (e7 += t6) ? e7 : 0; + } + function j3(e7) { + return (e7 = ~~Math.ceil(+e7)) < 0 ? 0 : e7; + } + function C3(e7) { + return (Array.isArray || function(e8) { + return "[object Array]" === Object.prototype.toString.call(e8); + })(e7); + } + function k3(e7) { + return e7 < 16 ? "0" + e7.toString(16) : e7.toString(16); + } + function T4(e7) { + for (var t6 = [], n5 = 0; n5 < e7.length; n5++) { + var r6 = e7.charCodeAt(n5); + if (r6 <= 127) + t6.push(e7.charCodeAt(n5)); + else + for (var o5 = n5, i5 = (55296 <= r6 && r6 <= 57343 && n5++, encodeURIComponent(e7.slice(o5, n5 + 1)).substr(1).split("%")), u5 = 0; u5 < i5.length; u5++) + t6.push(parseInt(i5[u5], 16)); + } + return t6; + } + function M3(e7) { + return a4.toByteArray(e7); + } + function c4(e7, t6, n5, r6) { + for (var o5 = 0; o5 < r6 && !(o5 + n5 >= t6.length || o5 >= e7.length); o5++) + t6[o5 + n5] = e7[o5]; + return o5; + } + function N3(e7) { + try { + return decodeURIComponent(e7); + } catch (e8) { + return String.fromCharCode(65533); + } + } + function Y3(e7, t6) { + d4("number" == typeof e7, "cannot write a non-number as a number"), d4(0 <= e7, "specified a negative value for writing an unsigned value"), d4(e7 <= t6, "value is larger than maximum value for type"), d4(Math.floor(e7) === e7, "value has a fractional component"); + } + function F3(e7, t6, n5) { + d4("number" == typeof e7, "cannot write a non-number as a number"), d4(e7 <= t6, "value larger than maximum allowed value"), d4(n5 <= e7, "value smaller than minimum allowed value"), d4(Math.floor(e7) === e7, "value has a fractional component"); + } + function D3(e7, t6, n5) { + d4("number" == typeof e7, "cannot write a non-number as a number"), d4(e7 <= t6, "value larger than maximum allowed value"), d4(n5 <= e7, "value smaller than minimum allowed value"); + } + function d4(e7, t6) { + if (!e7) + throw new Error(t6 || "Failed assertion"); + } + f4._augment = function(e7) { + return e7._isBuffer = true, e7._get = e7.get, e7._set = e7.set, e7.get = t5.get, e7.set = t5.set, e7.write = t5.write, e7.toString = t5.toString, e7.toLocaleString = t5.toString, e7.toJSON = t5.toJSON, e7.copy = t5.copy, e7.slice = t5.slice, e7.readUInt8 = t5.readUInt8, e7.readUInt16LE = t5.readUInt16LE, e7.readUInt16BE = t5.readUInt16BE, e7.readUInt32LE = t5.readUInt32LE, e7.readUInt32BE = t5.readUInt32BE, e7.readInt8 = t5.readInt8, e7.readInt16LE = t5.readInt16LE, e7.readInt16BE = t5.readInt16BE, e7.readInt32LE = t5.readInt32LE, e7.readInt32BE = t5.readInt32BE, e7.readFloatLE = t5.readFloatLE, e7.readFloatBE = t5.readFloatBE, e7.readDoubleLE = t5.readDoubleLE, e7.readDoubleBE = t5.readDoubleBE, e7.writeUInt8 = t5.writeUInt8, e7.writeUInt16LE = t5.writeUInt16LE, e7.writeUInt16BE = t5.writeUInt16BE, e7.writeUInt32LE = t5.writeUInt32LE, e7.writeUInt32BE = t5.writeUInt32BE, e7.writeInt8 = t5.writeInt8, e7.writeInt16LE = t5.writeInt16LE, e7.writeInt16BE = t5.writeInt16BE, e7.writeInt32LE = t5.writeInt32LE, e7.writeInt32BE = t5.writeInt32BE, e7.writeFloatLE = t5.writeFloatLE, e7.writeFloatBE = t5.writeFloatBE, e7.writeDoubleLE = t5.writeDoubleLE, e7.writeDoubleBE = t5.writeDoubleBE, e7.fill = t5.fill, e7.inspect = t5.inspect, e7.toArrayBuffer = t5.toArrayBuffer, e7; + }; + }.call(this, O3("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, O3("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/buffer/index.js", "/node_modules/gulp-browserify/node_modules/buffer"); + }, { "base64-js": 2, buffer: 3, ieee754: 10, lYpoI2: 11 }], 4: [function(c4, d4, e5) { + !function(e6, t5, a4, n4, r5, o4, i4, u4, s4) { + var a4 = c4("buffer").Buffer, f4 = 4, l4 = new a4(f4); + l4.fill(0); + d4.exports = { hash: function(e7, t6, n5, r6) { + for (var o5 = t6(function(e8, t7) { + e8.length % f4 != 0 && (n6 = e8.length + (f4 - e8.length % f4), e8 = a4.concat([e8, l4], n6)); + for (var n6, r7 = [], o6 = t7 ? e8.readInt32BE : e8.readInt32LE, i6 = 0; i6 < e8.length; i6 += f4) + r7.push(o6.call(e8, i6)); + return r7; + }(e7 = a4.isBuffer(e7) ? e7 : new a4(e7), r6), 8 * e7.length), t6 = r6, i5 = new a4(n5), u5 = t6 ? i5.writeInt32BE : i5.writeInt32LE, s5 = 0; s5 < o5.length; s5++) + u5.call(i5, o5[s5], 4 * s5, true); + return i5; + } }; + }.call(this, c4("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, c4("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify"); + }, { buffer: 3, lYpoI2: 11 }], 5: [function(v4, e5, _3) { + !function(l4, c4, u4, d4, h5, p4, g3, y4, w3) { + var u4 = v4("buffer").Buffer, e6 = v4("./sha"), t5 = v4("./sha256"), n4 = v4("./rng"), b3 = { sha1: e6, sha256: t5, md5: v4("./md5") }, s4 = 64, a4 = new u4(s4); + function r5(e7, n5) { + var r6 = b3[e7 = e7 || "sha1"], o5 = []; + return r6 || i4("algorithm:", e7, "is not yet supported"), { update: function(e8) { + return u4.isBuffer(e8) || (e8 = new u4(e8)), o5.push(e8), e8.length, this; + }, digest: function(e8) { + var t6 = u4.concat(o5), t6 = n5 ? function(e9, t7, n6) { + u4.isBuffer(t7) || (t7 = new u4(t7)), u4.isBuffer(n6) || (n6 = new u4(n6)), t7.length > s4 ? t7 = e9(t7) : t7.length < s4 && (t7 = u4.concat([t7, a4], s4)); + for (var r7 = new u4(s4), o6 = new u4(s4), i5 = 0; i5 < s4; i5++) + r7[i5] = 54 ^ t7[i5], o6[i5] = 92 ^ t7[i5]; + return n6 = e9(u4.concat([r7, n6])), e9(u4.concat([o6, n6])); + }(r6, n5, t6) : r6(t6); + return o5 = null, e8 ? t6.toString(e8) : t6; + } }; + } + function i4() { + var e7 = [].slice.call(arguments).join(" "); + throw new Error([e7, "we accept pull requests", "http://github.com/dominictarr/crypto-browserify"].join("\n")); + } + a4.fill(0), _3.createHash = function(e7) { + return r5(e7); + }, _3.createHmac = r5, _3.randomBytes = function(e7, t6) { + if (!t6 || !t6.call) + return new u4(n4(e7)); + try { + t6.call(this, void 0, new u4(n4(e7))); + } catch (e8) { + t6(e8); + } + }; + var o4, f4 = ["createCredentials", "createCipher", "createCipheriv", "createDecipher", "createDecipheriv", "createSign", "createVerify", "createDiffieHellman", "pbkdf2"], m4 = function(e7) { + _3[e7] = function() { + i4("sorry,", e7, "is not implemented yet"); + }; + }; + for (o4 in f4) + m4(f4[o4], o4); + }.call(this, v4("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, v4("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify"); + }, { "./md5": 6, "./rng": 7, "./sha": 8, "./sha256": 9, buffer: 3, lYpoI2: 11 }], 6: [function(w3, b3, e5) { + !function(e6, r5, o4, i4, u4, a4, f4, l4, y4) { + var t5 = w3("./helpers"); + function n4(e7, t6) { + e7[t6 >> 5] |= 128 << t6 % 32, e7[14 + (t6 + 64 >>> 9 << 4)] = t6; + for (var n5 = 1732584193, r6 = -271733879, o5 = -1732584194, i5 = 271733878, u5 = 0; u5 < e7.length; u5 += 16) { + var s5 = n5, a5 = r6, f5 = o5, l5 = i5, n5 = c4(n5, r6, o5, i5, e7[u5 + 0], 7, -680876936), i5 = c4(i5, n5, r6, o5, e7[u5 + 1], 12, -389564586), o5 = c4(o5, i5, n5, r6, e7[u5 + 2], 17, 606105819), r6 = c4(r6, o5, i5, n5, e7[u5 + 3], 22, -1044525330); + n5 = c4(n5, r6, o5, i5, e7[u5 + 4], 7, -176418897), i5 = c4(i5, n5, r6, o5, e7[u5 + 5], 12, 1200080426), o5 = c4(o5, i5, n5, r6, e7[u5 + 6], 17, -1473231341), r6 = c4(r6, o5, i5, n5, e7[u5 + 7], 22, -45705983), n5 = c4(n5, r6, o5, i5, e7[u5 + 8], 7, 1770035416), i5 = c4(i5, n5, r6, o5, e7[u5 + 9], 12, -1958414417), o5 = c4(o5, i5, n5, r6, e7[u5 + 10], 17, -42063), r6 = c4(r6, o5, i5, n5, e7[u5 + 11], 22, -1990404162), n5 = c4(n5, r6, o5, i5, e7[u5 + 12], 7, 1804603682), i5 = c4(i5, n5, r6, o5, e7[u5 + 13], 12, -40341101), o5 = c4(o5, i5, n5, r6, e7[u5 + 14], 17, -1502002290), n5 = d4(n5, r6 = c4(r6, o5, i5, n5, e7[u5 + 15], 22, 1236535329), o5, i5, e7[u5 + 1], 5, -165796510), i5 = d4(i5, n5, r6, o5, e7[u5 + 6], 9, -1069501632), o5 = d4(o5, i5, n5, r6, e7[u5 + 11], 14, 643717713), r6 = d4(r6, o5, i5, n5, e7[u5 + 0], 20, -373897302), n5 = d4(n5, r6, o5, i5, e7[u5 + 5], 5, -701558691), i5 = d4(i5, n5, r6, o5, e7[u5 + 10], 9, 38016083), o5 = d4(o5, i5, n5, r6, e7[u5 + 15], 14, -660478335), r6 = d4(r6, o5, i5, n5, e7[u5 + 4], 20, -405537848), n5 = d4(n5, r6, o5, i5, e7[u5 + 9], 5, 568446438), i5 = d4(i5, n5, r6, o5, e7[u5 + 14], 9, -1019803690), o5 = d4(o5, i5, n5, r6, e7[u5 + 3], 14, -187363961), r6 = d4(r6, o5, i5, n5, e7[u5 + 8], 20, 1163531501), n5 = d4(n5, r6, o5, i5, e7[u5 + 13], 5, -1444681467), i5 = d4(i5, n5, r6, o5, e7[u5 + 2], 9, -51403784), o5 = d4(o5, i5, n5, r6, e7[u5 + 7], 14, 1735328473), n5 = h5(n5, r6 = d4(r6, o5, i5, n5, e7[u5 + 12], 20, -1926607734), o5, i5, e7[u5 + 5], 4, -378558), i5 = h5(i5, n5, r6, o5, e7[u5 + 8], 11, -2022574463), o5 = h5(o5, i5, n5, r6, e7[u5 + 11], 16, 1839030562), r6 = h5(r6, o5, i5, n5, e7[u5 + 14], 23, -35309556), n5 = h5(n5, r6, o5, i5, e7[u5 + 1], 4, -1530992060), i5 = h5(i5, n5, r6, o5, e7[u5 + 4], 11, 1272893353), o5 = h5(o5, i5, n5, r6, e7[u5 + 7], 16, -155497632), r6 = h5(r6, o5, i5, n5, e7[u5 + 10], 23, -1094730640), n5 = h5(n5, r6, o5, i5, e7[u5 + 13], 4, 681279174), i5 = h5(i5, n5, r6, o5, e7[u5 + 0], 11, -358537222), o5 = h5(o5, i5, n5, r6, e7[u5 + 3], 16, -722521979), r6 = h5(r6, o5, i5, n5, e7[u5 + 6], 23, 76029189), n5 = h5(n5, r6, o5, i5, e7[u5 + 9], 4, -640364487), i5 = h5(i5, n5, r6, o5, e7[u5 + 12], 11, -421815835), o5 = h5(o5, i5, n5, r6, e7[u5 + 15], 16, 530742520), n5 = p4(n5, r6 = h5(r6, o5, i5, n5, e7[u5 + 2], 23, -995338651), o5, i5, e7[u5 + 0], 6, -198630844), i5 = p4(i5, n5, r6, o5, e7[u5 + 7], 10, 1126891415), o5 = p4(o5, i5, n5, r6, e7[u5 + 14], 15, -1416354905), r6 = p4(r6, o5, i5, n5, e7[u5 + 5], 21, -57434055), n5 = p4(n5, r6, o5, i5, e7[u5 + 12], 6, 1700485571), i5 = p4(i5, n5, r6, o5, e7[u5 + 3], 10, -1894986606), o5 = p4(o5, i5, n5, r6, e7[u5 + 10], 15, -1051523), r6 = p4(r6, o5, i5, n5, e7[u5 + 1], 21, -2054922799), n5 = p4(n5, r6, o5, i5, e7[u5 + 8], 6, 1873313359), i5 = p4(i5, n5, r6, o5, e7[u5 + 15], 10, -30611744), o5 = p4(o5, i5, n5, r6, e7[u5 + 6], 15, -1560198380), r6 = p4(r6, o5, i5, n5, e7[u5 + 13], 21, 1309151649), n5 = p4(n5, r6, o5, i5, e7[u5 + 4], 6, -145523070), i5 = p4(i5, n5, r6, o5, e7[u5 + 11], 10, -1120210379), o5 = p4(o5, i5, n5, r6, e7[u5 + 2], 15, 718787259), r6 = p4(r6, o5, i5, n5, e7[u5 + 9], 21, -343485551), n5 = g3(n5, s5), r6 = g3(r6, a5), o5 = g3(o5, f5), i5 = g3(i5, l5); + } + return Array(n5, r6, o5, i5); + } + function s4(e7, t6, n5, r6, o5, i5) { + return g3((t6 = g3(g3(t6, e7), g3(r6, i5))) << o5 | t6 >>> 32 - o5, n5); + } + function c4(e7, t6, n5, r6, o5, i5, u5) { + return s4(t6 & n5 | ~t6 & r6, e7, t6, o5, i5, u5); + } + function d4(e7, t6, n5, r6, o5, i5, u5) { + return s4(t6 & r6 | n5 & ~r6, e7, t6, o5, i5, u5); + } + function h5(e7, t6, n5, r6, o5, i5, u5) { + return s4(t6 ^ n5 ^ r6, e7, t6, o5, i5, u5); + } + function p4(e7, t6, n5, r6, o5, i5, u5) { + return s4(n5 ^ (t6 | ~r6), e7, t6, o5, i5, u5); + } + function g3(e7, t6) { + var n5 = (65535 & e7) + (65535 & t6); + return (e7 >> 16) + (t6 >> 16) + (n5 >> 16) << 16 | 65535 & n5; + } + b3.exports = function(e7) { + return t5.hash(e7, n4, 16); + }; + }.call(this, w3("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, w3("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify"); + }, { "./helpers": 4, buffer: 3, lYpoI2: 11 }], 7: [function(e5, l4, t5) { + !function(e6, t6, n4, r5, o4, i4, u4, s4, f4) { + var a4; + l4.exports = a4 || function(e7) { + for (var t7, n5 = new Array(e7), r6 = 0; r6 < e7; r6++) + 0 == (3 & r6) && (t7 = 4294967296 * Math.random()), n5[r6] = t7 >>> ((3 & r6) << 3) & 255; + return n5; + }; + }.call(this, e5("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e5("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify"); + }, { buffer: 3, lYpoI2: 11 }], 8: [function(c4, d4, e5) { + !function(e6, t5, n4, r5, o4, s4, a4, f4, l4) { + var i4 = c4("./helpers"); + function u4(l5, c5) { + l5[c5 >> 5] |= 128 << 24 - c5 % 32, l5[15 + (c5 + 64 >> 9 << 4)] = c5; + for (var e7, t6, n5, r6 = Array(80), o5 = 1732584193, i5 = -271733879, u5 = -1732584194, s5 = 271733878, d5 = -1009589776, h5 = 0; h5 < l5.length; h5 += 16) { + for (var p4 = o5, g3 = i5, y4 = u5, w3 = s5, b3 = d5, a5 = 0; a5 < 80; a5++) { + r6[a5] = a5 < 16 ? l5[h5 + a5] : v4(r6[a5 - 3] ^ r6[a5 - 8] ^ r6[a5 - 14] ^ r6[a5 - 16], 1); + var f5 = m4(m4(v4(o5, 5), (f5 = i5, t6 = u5, n5 = s5, (e7 = a5) < 20 ? f5 & t6 | ~f5 & n5 : !(e7 < 40) && e7 < 60 ? f5 & t6 | f5 & n5 | t6 & n5 : f5 ^ t6 ^ n5)), m4(m4(d5, r6[a5]), (e7 = a5) < 20 ? 1518500249 : e7 < 40 ? 1859775393 : e7 < 60 ? -1894007588 : -899497514)), d5 = s5, s5 = u5, u5 = v4(i5, 30), i5 = o5, o5 = f5; + } + o5 = m4(o5, p4), i5 = m4(i5, g3), u5 = m4(u5, y4), s5 = m4(s5, w3), d5 = m4(d5, b3); + } + return Array(o5, i5, u5, s5, d5); + } + function m4(e7, t6) { + var n5 = (65535 & e7) + (65535 & t6); + return (e7 >> 16) + (t6 >> 16) + (n5 >> 16) << 16 | 65535 & n5; + } + function v4(e7, t6) { + return e7 << t6 | e7 >>> 32 - t6; + } + d4.exports = function(e7) { + return i4.hash(e7, u4, 20, true); + }; + }.call(this, c4("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, c4("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify"); + }, { "./helpers": 4, buffer: 3, lYpoI2: 11 }], 9: [function(c4, d4, e5) { + !function(e6, t5, n4, r5, u4, s4, a4, f4, l4) { + function b3(e7, t6) { + var n5 = (65535 & e7) + (65535 & t6); + return (e7 >> 16) + (t6 >> 16) + (n5 >> 16) << 16 | 65535 & n5; + } + function o4(e7, l5) { + var c5, d5 = new Array(1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298), t6 = new Array(1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225), n5 = new Array(64); + e7[l5 >> 5] |= 128 << 24 - l5 % 32, e7[15 + (l5 + 64 >> 9 << 4)] = l5; + for (var r6, o5, h5 = 0; h5 < e7.length; h5 += 16) { + for (var i5 = t6[0], u5 = t6[1], s5 = t6[2], p4 = t6[3], a5 = t6[4], g3 = t6[5], y4 = t6[6], w3 = t6[7], f5 = 0; f5 < 64; f5++) + n5[f5] = f5 < 16 ? e7[f5 + h5] : b3(b3(b3((o5 = n5[f5 - 2], m4(o5, 17) ^ m4(o5, 19) ^ v4(o5, 10)), n5[f5 - 7]), (o5 = n5[f5 - 15], m4(o5, 7) ^ m4(o5, 18) ^ v4(o5, 3))), n5[f5 - 16]), c5 = b3(b3(b3(b3(w3, m4(o5 = a5, 6) ^ m4(o5, 11) ^ m4(o5, 25)), a5 & g3 ^ ~a5 & y4), d5[f5]), n5[f5]), r6 = b3(m4(r6 = i5, 2) ^ m4(r6, 13) ^ m4(r6, 22), i5 & u5 ^ i5 & s5 ^ u5 & s5), w3 = y4, y4 = g3, g3 = a5, a5 = b3(p4, c5), p4 = s5, s5 = u5, u5 = i5, i5 = b3(c5, r6); + t6[0] = b3(i5, t6[0]), t6[1] = b3(u5, t6[1]), t6[2] = b3(s5, t6[2]), t6[3] = b3(p4, t6[3]), t6[4] = b3(a5, t6[4]), t6[5] = b3(g3, t6[5]), t6[6] = b3(y4, t6[6]), t6[7] = b3(w3, t6[7]); + } + return t6; + } + var i4 = c4("./helpers"), m4 = function(e7, t6) { + return e7 >>> t6 | e7 << 32 - t6; + }, v4 = function(e7, t6) { + return e7 >>> t6; + }; + d4.exports = function(e7) { + return i4.hash(e7, o4, 32, true); + }; + }.call(this, c4("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, c4("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify"); + }, { "./helpers": 4, buffer: 3, lYpoI2: 11 }], 10: [function(e5, t5, f4) { + !function(e6, t6, n4, r5, o4, i4, u4, s4, a4) { + f4.read = function(e7, t7, n5, r6, o5) { + var i5, u5, l4 = 8 * o5 - r6 - 1, c4 = (1 << l4) - 1, d4 = c4 >> 1, s5 = -7, a5 = n5 ? o5 - 1 : 0, f5 = n5 ? -1 : 1, o5 = e7[t7 + a5]; + for (a5 += f5, i5 = o5 & (1 << -s5) - 1, o5 >>= -s5, s5 += l4; 0 < s5; i5 = 256 * i5 + e7[t7 + a5], a5 += f5, s5 -= 8) + ; + for (u5 = i5 & (1 << -s5) - 1, i5 >>= -s5, s5 += r6; 0 < s5; u5 = 256 * u5 + e7[t7 + a5], a5 += f5, s5 -= 8) + ; + if (0 === i5) + i5 = 1 - d4; + else { + if (i5 === c4) + return u5 ? NaN : 1 / 0 * (o5 ? -1 : 1); + u5 += Math.pow(2, r6), i5 -= d4; + } + return (o5 ? -1 : 1) * u5 * Math.pow(2, i5 - r6); + }, f4.write = function(e7, t7, l4, n5, r6, c4) { + var o5, i5, u5 = 8 * c4 - r6 - 1, s5 = (1 << u5) - 1, a5 = s5 >> 1, d4 = 23 === r6 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, f5 = n5 ? 0 : c4 - 1, h5 = n5 ? 1 : -1, c4 = t7 < 0 || 0 === t7 && 1 / t7 < 0 ? 1 : 0; + for (t7 = Math.abs(t7), isNaN(t7) || t7 === 1 / 0 ? (i5 = isNaN(t7) ? 1 : 0, o5 = s5) : (o5 = Math.floor(Math.log(t7) / Math.LN2), t7 * (n5 = Math.pow(2, -o5)) < 1 && (o5--, n5 *= 2), 2 <= (t7 += 1 <= o5 + a5 ? d4 / n5 : d4 * Math.pow(2, 1 - a5)) * n5 && (o5++, n5 /= 2), s5 <= o5 + a5 ? (i5 = 0, o5 = s5) : 1 <= o5 + a5 ? (i5 = (t7 * n5 - 1) * Math.pow(2, r6), o5 += a5) : (i5 = t7 * Math.pow(2, a5 - 1) * Math.pow(2, r6), o5 = 0)); 8 <= r6; e7[l4 + f5] = 255 & i5, f5 += h5, i5 /= 256, r6 -= 8) + ; + for (o5 = o5 << r6 | i5, u5 += r6; 0 < u5; e7[l4 + f5] = 255 & o5, f5 += h5, o5 /= 256, u5 -= 8) + ; + e7[l4 + f5 - h5] |= 128 * c4; + }; + }.call(this, e5("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e5("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/ieee754/index.js", "/node_modules/gulp-browserify/node_modules/ieee754"); + }, { buffer: 3, lYpoI2: 11 }], 11: [function(e5, h5, t5) { + !function(e6, t6, n4, r5, o4, f4, l4, c4, d4) { + var i4, u4, s4; + function a4() { + } + (e6 = h5.exports = {}).nextTick = (u4 = "undefined" != typeof window && window.setImmediate, s4 = "undefined" != typeof window && window.postMessage && window.addEventListener, u4 ? function(e7) { + return window.setImmediate(e7); + } : s4 ? (i4 = [], window.addEventListener("message", function(e7) { + var t7 = e7.source; + t7 !== window && null !== t7 || "process-tick" !== e7.data || (e7.stopPropagation(), 0 < i4.length && i4.shift()()); + }, true), function(e7) { + i4.push(e7), window.postMessage("process-tick", "*"); + }) : function(e7) { + setTimeout(e7, 0); + }), e6.title = "browser", e6.browser = true, e6.env = {}, e6.argv = [], e6.on = a4, e6.addListener = a4, e6.once = a4, e6.off = a4, e6.removeListener = a4, e6.removeAllListeners = a4, e6.emit = a4, e6.binding = function(e7) { + throw new Error("process.binding is not supported"); + }, e6.cwd = function() { + return "/"; + }, e6.chdir = function(e7) { + throw new Error("process.chdir is not supported"); + }; + }.call(this, e5("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e5("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/process/browser.js", "/node_modules/gulp-browserify/node_modules/process"); + }, { buffer: 3, lYpoI2: 11 }] }, {}, [1])(1); + }); + } + }); + + // node_modules/object-sizeof/byte_size.js + var require_byte_size = __commonJS({ + "node_modules/object-sizeof/byte_size.js"(exports2, module) { + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + module.exports = { + STRING: 2, + BOOLEAN: 4, + BYTES: 4, + NUMBER: 8, + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 + }; + } + }); + + // node_modules/base64-js/index.js + var require_base64_js = __commonJS({ + "node_modules/base64-js/index.js"(exports2) { + "use strict"; + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + exports2.byteLength = byteLength; + exports2.toByteArray = toByteArray; + exports2.fromByteArray = fromByteArray; + var lookup = []; + var revLookup = []; + var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (i4 = 0, len = code.length; i4 < len; ++i4) { + lookup[i4] = code[i4]; + revLookup[code.charCodeAt(i4)] = i4; + } + var i4; + var len; + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; + function getLens(b64) { + var len2 = b64.length; + if (len2 % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + var validLen = b64.indexOf("="); + if (validLen === -1) + validLen = len2; + var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4; + return [validLen, placeHoldersLen]; + } + function byteLength(b64) { + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; + } + function _byteLength(b64, validLen, placeHoldersLen) { + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; + } + function toByteArray(b64) { + var tmp; + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); + var curByte = 0; + var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen; + var i5; + for (i5 = 0; i5 < len2; i5 += 4) { + tmp = revLookup[b64.charCodeAt(i5)] << 18 | revLookup[b64.charCodeAt(i5 + 1)] << 12 | revLookup[b64.charCodeAt(i5 + 2)] << 6 | revLookup[b64.charCodeAt(i5 + 3)]; + arr[curByte++] = tmp >> 16 & 255; + arr[curByte++] = tmp >> 8 & 255; + arr[curByte++] = tmp & 255; + } + if (placeHoldersLen === 2) { + tmp = revLookup[b64.charCodeAt(i5)] << 2 | revLookup[b64.charCodeAt(i5 + 1)] >> 4; + arr[curByte++] = tmp & 255; + } + if (placeHoldersLen === 1) { + tmp = revLookup[b64.charCodeAt(i5)] << 10 | revLookup[b64.charCodeAt(i5 + 1)] << 4 | revLookup[b64.charCodeAt(i5 + 2)] >> 2; + arr[curByte++] = tmp >> 8 & 255; + arr[curByte++] = tmp & 255; + } + return arr; + } + function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; + } + function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i5 = start; i5 < end; i5 += 3) { + tmp = (uint8[i5] << 16 & 16711680) + (uint8[i5 + 1] << 8 & 65280) + (uint8[i5 + 2] & 255); + output.push(tripletToBase64(tmp)); + } + return output.join(""); + } + function fromByteArray(uint8) { + var tmp; + var len2 = uint8.length; + var extraBytes = len2 % 3; + var parts = []; + var maxChunkLength = 16383; + for (var i5 = 0, len22 = len2 - extraBytes; i5 < len22; i5 += maxChunkLength) { + parts.push(encodeChunk(uint8, i5, i5 + maxChunkLength > len22 ? len22 : i5 + maxChunkLength)); + } + if (extraBytes === 1) { + tmp = uint8[len2 - 1]; + parts.push( + lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==" + ); + } else if (extraBytes === 2) { + tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1]; + parts.push( + lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=" + ); + } + return parts.join(""); + } + } + }); + + // node_modules/ieee754/index.js + var require_ieee754 = __commonJS({ + "node_modules/ieee754/index.js"(exports2) { + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + exports2.read = function(buffer, offset, isLE, mLen, nBytes) { + var e5, m4; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i4 = isLE ? nBytes - 1 : 0; + var d4 = isLE ? -1 : 1; + var s4 = buffer[offset + i4]; + i4 += d4; + e5 = s4 & (1 << -nBits) - 1; + s4 >>= -nBits; + nBits += eLen; + for (; nBits > 0; e5 = e5 * 256 + buffer[offset + i4], i4 += d4, nBits -= 8) { + } + m4 = e5 & (1 << -nBits) - 1; + e5 >>= -nBits; + nBits += mLen; + for (; nBits > 0; m4 = m4 * 256 + buffer[offset + i4], i4 += d4, nBits -= 8) { + } + if (e5 === 0) { + e5 = 1 - eBias; + } else if (e5 === eMax) { + return m4 ? NaN : (s4 ? -1 : 1) * Infinity; + } else { + m4 = m4 + Math.pow(2, mLen); + e5 = e5 - eBias; + } + return (s4 ? -1 : 1) * m4 * Math.pow(2, e5 - mLen); + }; + exports2.write = function(buffer, value, offset, isLE, mLen, nBytes) { + var e5, m4, c4; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i4 = isLE ? 0 : nBytes - 1; + var d4 = isLE ? 1 : -1; + var s4 = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + if (isNaN(value) || value === Infinity) { + m4 = isNaN(value) ? 1 : 0; + e5 = eMax; + } else { + e5 = Math.floor(Math.log(value) / Math.LN2); + if (value * (c4 = Math.pow(2, -e5)) < 1) { + e5--; + c4 *= 2; + } + if (e5 + eBias >= 1) { + value += rt / c4; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c4 >= 2) { + e5++; + c4 /= 2; + } + if (e5 + eBias >= eMax) { + m4 = 0; + e5 = eMax; + } else if (e5 + eBias >= 1) { + m4 = (value * c4 - 1) * Math.pow(2, mLen); + e5 = e5 + eBias; + } else { + m4 = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e5 = 0; + } + } + for (; mLen >= 8; buffer[offset + i4] = m4 & 255, i4 += d4, m4 /= 256, mLen -= 8) { + } + e5 = e5 << mLen | m4; + eLen += mLen; + for (; eLen > 0; buffer[offset + i4] = e5 & 255, i4 += d4, e5 /= 256, eLen -= 8) { + } + buffer[offset + i4 - d4] |= s4 * 128; + }; + } + }); + + // node_modules/buffer/index.js + var require_buffer = __commonJS({ + "node_modules/buffer/index.js"(exports2) { + "use strict"; + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + var base642 = require_base64_js(); + var ieee754 = require_ieee754(); + var customInspectSymbol = typeof Symbol === "function" && typeof Symbol["for"] === "function" ? Symbol["for"]("nodejs.util.inspect.custom") : null; + exports2.Buffer = Buffer3; + exports2.SlowBuffer = SlowBuffer; + exports2.INSPECT_MAX_BYTES = 50; + var K_MAX_LENGTH = 2147483647; + exports2.kMaxLength = K_MAX_LENGTH; + Buffer3.TYPED_ARRAY_SUPPORT = typedArraySupport(); + if (!Buffer3.TYPED_ARRAY_SUPPORT && typeof console !== "undefined" && typeof console.error === "function") { + console.error( + "This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support." + ); + } + function typedArraySupport() { + try { + const arr = new Uint8Array(1); + const proto = { foo: function() { + return 42; + } }; + Object.setPrototypeOf(proto, Uint8Array.prototype); + Object.setPrototypeOf(arr, proto); + return arr.foo() === 42; + } catch (e5) { + return false; + } + } + Object.defineProperty(Buffer3.prototype, "parent", { + enumerable: true, + get: function() { + if (!Buffer3.isBuffer(this)) + return void 0; + return this.buffer; + } + }); + Object.defineProperty(Buffer3.prototype, "offset", { + enumerable: true, + get: function() { + if (!Buffer3.isBuffer(this)) + return void 0; + return this.byteOffset; + } + }); + function createBuffer(length) { + if (length > K_MAX_LENGTH) { + throw new RangeError('The value "' + length + '" is invalid for option "size"'); + } + const buf = new Uint8Array(length); + Object.setPrototypeOf(buf, Buffer3.prototype); + return buf; + } + function Buffer3(arg, encodingOrOffset, length) { + if (typeof arg === "number") { + if (typeof encodingOrOffset === "string") { + throw new TypeError( + 'The "string" argument must be of type string. Received type number' + ); + } + return allocUnsafe(arg); + } + return from(arg, encodingOrOffset, length); + } + Buffer3.poolSize = 8192; + function from(value, encodingOrOffset, length) { + if (typeof value === "string") { + return fromString(value, encodingOrOffset); + } + if (ArrayBuffer.isView(value)) { + return fromArrayView(value); + } + if (value == null) { + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value + ); + } + if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) { + return fromArrayBuffer(value, encodingOrOffset, length); + } + if (typeof SharedArrayBuffer !== "undefined" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) { + return fromArrayBuffer(value, encodingOrOffset, length); + } + if (typeof value === "number") { + throw new TypeError( + 'The "value" argument must not be of type number. Received type number' + ); + } + const valueOf = value.valueOf && value.valueOf(); + if (valueOf != null && valueOf !== value) { + return Buffer3.from(valueOf, encodingOrOffset, length); + } + const b3 = fromObject(value); + if (b3) + return b3; + if (typeof Symbol !== "undefined" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === "function") { + return Buffer3.from(value[Symbol.toPrimitive]("string"), encodingOrOffset, length); + } + throw new TypeError( + "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value + ); + } + Buffer3.from = function(value, encodingOrOffset, length) { + return from(value, encodingOrOffset, length); + }; + Object.setPrototypeOf(Buffer3.prototype, Uint8Array.prototype); + Object.setPrototypeOf(Buffer3, Uint8Array); + function assertSize(size) { + if (typeof size !== "number") { + throw new TypeError('"size" argument must be of type number'); + } else if (size < 0) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } + } + function alloc(size, fill, encoding) { + assertSize(size); + if (size <= 0) { + return createBuffer(size); + } + if (fill !== void 0) { + return typeof encoding === "string" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); + } + return createBuffer(size); + } + Buffer3.alloc = function(size, fill, encoding) { + return alloc(size, fill, encoding); + }; + function allocUnsafe(size) { + assertSize(size); + return createBuffer(size < 0 ? 0 : checked(size) | 0); + } + Buffer3.allocUnsafe = function(size) { + return allocUnsafe(size); + }; + Buffer3.allocUnsafeSlow = function(size) { + return allocUnsafe(size); + }; + function fromString(string, encoding) { + if (typeof encoding !== "string" || encoding === "") { + encoding = "utf8"; + } + if (!Buffer3.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + const length = byteLength(string, encoding) | 0; + let buf = createBuffer(length); + const actual = buf.write(string, encoding); + if (actual !== length) { + buf = buf.slice(0, actual); + } + return buf; + } + function fromArrayLike(array) { + const length = array.length < 0 ? 0 : checked(array.length) | 0; + const buf = createBuffer(length); + for (let i4 = 0; i4 < length; i4 += 1) { + buf[i4] = array[i4] & 255; + } + return buf; + } + function fromArrayView(arrayView) { + if (isInstance(arrayView, Uint8Array)) { + const copy = new Uint8Array(arrayView); + return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength); + } + return fromArrayLike(arrayView); + } + function fromArrayBuffer(array, byteOffset, length) { + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('"offset" is outside of buffer bounds'); + } + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('"length" is outside of buffer bounds'); + } + let buf; + if (byteOffset === void 0 && length === void 0) { + buf = new Uint8Array(array); + } else if (length === void 0) { + buf = new Uint8Array(array, byteOffset); + } else { + buf = new Uint8Array(array, byteOffset, length); + } + Object.setPrototypeOf(buf, Buffer3.prototype); + return buf; + } + function fromObject(obj) { + if (Buffer3.isBuffer(obj)) { + const len = checked(obj.length) | 0; + const buf = createBuffer(len); + if (buf.length === 0) { + return buf; + } + obj.copy(buf, 0, 0, len); + return buf; + } + if (obj.length !== void 0) { + if (typeof obj.length !== "number" || numberIsNaN(obj.length)) { + return createBuffer(0); + } + return fromArrayLike(obj); + } + if (obj.type === "Buffer" && Array.isArray(obj.data)) { + return fromArrayLike(obj.data); + } + } + function checked(length) { + if (length >= K_MAX_LENGTH) { + throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + " bytes"); + } + return length | 0; + } + function SlowBuffer(length) { + if (+length != length) { + length = 0; + } + return Buffer3.alloc(+length); + } + Buffer3.isBuffer = function isBuffer2(b3) { + return b3 != null && b3._isBuffer === true && b3 !== Buffer3.prototype; + }; + Buffer3.compare = function compare(a4, b3) { + if (isInstance(a4, Uint8Array)) + a4 = Buffer3.from(a4, a4.offset, a4.byteLength); + if (isInstance(b3, Uint8Array)) + b3 = Buffer3.from(b3, b3.offset, b3.byteLength); + if (!Buffer3.isBuffer(a4) || !Buffer3.isBuffer(b3)) { + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' + ); + } + if (a4 === b3) + return 0; + let x3 = a4.length; + let y4 = b3.length; + for (let i4 = 0, len = Math.min(x3, y4); i4 < len; ++i4) { + if (a4[i4] !== b3[i4]) { + x3 = a4[i4]; + y4 = b3[i4]; + break; + } + } + if (x3 < y4) + return -1; + if (y4 < x3) + return 1; + return 0; + }; + Buffer3.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case "hex": + case "utf8": + case "utf-8": + case "ascii": + case "latin1": + case "binary": + case "base64": + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return true; + default: + return false; + } + }; + Buffer3.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + if (list.length === 0) { + return Buffer3.alloc(0); + } + let i4; + if (length === void 0) { + length = 0; + for (i4 = 0; i4 < list.length; ++i4) { + length += list[i4].length; + } + } + const buffer = Buffer3.allocUnsafe(length); + let pos = 0; + for (i4 = 0; i4 < list.length; ++i4) { + let buf = list[i4]; + if (isInstance(buf, Uint8Array)) { + if (pos + buf.length > buffer.length) { + if (!Buffer3.isBuffer(buf)) + buf = Buffer3.from(buf); + buf.copy(buffer, pos); + } else { + Uint8Array.prototype.set.call( + buffer, + buf, + pos + ); + } + } else if (!Buffer3.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } else { + buf.copy(buffer, pos); + } + pos += buf.length; + } + return buffer; + }; + function byteLength(string, encoding) { + if (Buffer3.isBuffer(string)) { + return string.length; + } + if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { + return string.byteLength; + } + if (typeof string !== "string") { + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string + ); + } + const len = string.length; + const mustMatch = arguments.length > 2 && arguments[2] === true; + if (!mustMatch && len === 0) + return 0; + let loweredCase = false; + for (; ; ) { + switch (encoding) { + case "ascii": + case "latin1": + case "binary": + return len; + case "utf8": + case "utf-8": + return utf8ToBytes(string).length; + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return len * 2; + case "hex": + return len >>> 1; + case "base64": + return base64ToBytes(string).length; + default: + if (loweredCase) { + return mustMatch ? -1 : utf8ToBytes(string).length; + } + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } + } + Buffer3.byteLength = byteLength; + function slowToString(encoding, start, end) { + let loweredCase = false; + if (start === void 0 || start < 0) { + start = 0; + } + if (start > this.length) { + return ""; + } + if (end === void 0 || end > this.length) { + end = this.length; + } + if (end <= 0) { + return ""; + } + end >>>= 0; + start >>>= 0; + if (end <= start) { + return ""; + } + if (!encoding) + encoding = "utf8"; + while (true) { + switch (encoding) { + case "hex": + return hexSlice(this, start, end); + case "utf8": + case "utf-8": + return utf8Slice(this, start, end); + case "ascii": + return asciiSlice(this, start, end); + case "latin1": + case "binary": + return latin1Slice(this, start, end); + case "base64": + return base64Slice(this, start, end); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return utf16leSlice(this, start, end); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = (encoding + "").toLowerCase(); + loweredCase = true; + } + } + } + Buffer3.prototype._isBuffer = true; + function swap(b3, n4, m4) { + const i4 = b3[n4]; + b3[n4] = b3[m4]; + b3[m4] = i4; + } + Buffer3.prototype.swap16 = function swap16() { + const len = this.length; + if (len % 2 !== 0) { + throw new RangeError("Buffer size must be a multiple of 16-bits"); + } + for (let i4 = 0; i4 < len; i4 += 2) { + swap(this, i4, i4 + 1); + } + return this; + }; + Buffer3.prototype.swap32 = function swap32() { + const len = this.length; + if (len % 4 !== 0) { + throw new RangeError("Buffer size must be a multiple of 32-bits"); + } + for (let i4 = 0; i4 < len; i4 += 4) { + swap(this, i4, i4 + 3); + swap(this, i4 + 1, i4 + 2); + } + return this; + }; + Buffer3.prototype.swap64 = function swap64() { + const len = this.length; + if (len % 8 !== 0) { + throw new RangeError("Buffer size must be a multiple of 64-bits"); + } + for (let i4 = 0; i4 < len; i4 += 8) { + swap(this, i4, i4 + 7); + swap(this, i4 + 1, i4 + 6); + swap(this, i4 + 2, i4 + 5); + swap(this, i4 + 3, i4 + 4); + } + return this; + }; + Buffer3.prototype.toString = function toString3() { + const length = this.length; + if (length === 0) + return ""; + if (arguments.length === 0) + return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); + }; + Buffer3.prototype.toLocaleString = Buffer3.prototype.toString; + Buffer3.prototype.equals = function equals(b3) { + if (!Buffer3.isBuffer(b3)) + throw new TypeError("Argument must be a Buffer"); + if (this === b3) + return true; + return Buffer3.compare(this, b3) === 0; + }; + Buffer3.prototype.inspect = function inspect() { + let str = ""; + const max = exports2.INSPECT_MAX_BYTES; + str = this.toString("hex", 0, max).replace(/(.{2})/g, "$1 ").trim(); + if (this.length > max) + str += " ... "; + return ""; + }; + if (customInspectSymbol) { + Buffer3.prototype[customInspectSymbol] = Buffer3.prototype.inspect; + } + Buffer3.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { + if (isInstance(target, Uint8Array)) { + target = Buffer3.from(target, target.offset, target.byteLength); + } + if (!Buffer3.isBuffer(target)) { + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target + ); + } + if (start === void 0) { + start = 0; + } + if (end === void 0) { + end = target ? target.length : 0; + } + if (thisStart === void 0) { + thisStart = 0; + } + if (thisEnd === void 0) { + thisEnd = this.length; + } + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError("out of range index"); + } + if (thisStart >= thisEnd && start >= end) { + return 0; + } + if (thisStart >= thisEnd) { + return -1; + } + if (start >= end) { + return 1; + } + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) + return 0; + let x3 = thisEnd - thisStart; + let y4 = end - start; + const len = Math.min(x3, y4); + const thisCopy = this.slice(thisStart, thisEnd); + const targetCopy = target.slice(start, end); + for (let i4 = 0; i4 < len; ++i4) { + if (thisCopy[i4] !== targetCopy[i4]) { + x3 = thisCopy[i4]; + y4 = targetCopy[i4]; + break; + } + } + if (x3 < y4) + return -1; + if (y4 < x3) + return 1; + return 0; + }; + function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + if (buffer.length === 0) + return -1; + if (typeof byteOffset === "string") { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 2147483647) { + byteOffset = 2147483647; + } else if (byteOffset < -2147483648) { + byteOffset = -2147483648; + } + byteOffset = +byteOffset; + if (numberIsNaN(byteOffset)) { + byteOffset = dir ? 0 : buffer.length - 1; + } + if (byteOffset < 0) + byteOffset = buffer.length + byteOffset; + if (byteOffset >= buffer.length) { + if (dir) + return -1; + else + byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) + byteOffset = 0; + else + return -1; + } + if (typeof val === "string") { + val = Buffer3.from(val, encoding); + } + if (Buffer3.isBuffer(val)) { + if (val.length === 0) { + return -1; + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === "number") { + val = val & 255; + if (typeof Uint8Array.prototype.indexOf === "function") { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); + } + } + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + throw new TypeError("val must be string, number or Buffer"); + } + function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + let indexSize = 1; + let arrLength = arr.length; + let valLength = val.length; + if (encoding !== void 0) { + encoding = String(encoding).toLowerCase(); + if (encoding === "ucs2" || encoding === "ucs-2" || encoding === "utf16le" || encoding === "utf-16le") { + if (arr.length < 2 || val.length < 2) { + return -1; + } + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + function read(buf, i5) { + if (indexSize === 1) { + return buf[i5]; + } else { + return buf.readUInt16BE(i5 * indexSize); + } + } + let i4; + if (dir) { + let foundIndex = -1; + for (i4 = byteOffset; i4 < arrLength; i4++) { + if (read(arr, i4) === read(val, foundIndex === -1 ? 0 : i4 - foundIndex)) { + if (foundIndex === -1) + foundIndex = i4; + if (i4 - foundIndex + 1 === valLength) + return foundIndex * indexSize; + } else { + if (foundIndex !== -1) + i4 -= i4 - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) + byteOffset = arrLength - valLength; + for (i4 = byteOffset; i4 >= 0; i4--) { + let found = true; + for (let j3 = 0; j3 < valLength; j3++) { + if (read(arr, i4 + j3) !== read(val, j3)) { + found = false; + break; + } + } + if (found) + return i4; + } + } + return -1; + } + Buffer3.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; + }; + Buffer3.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); + }; + Buffer3.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); + }; + function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + const remaining = buf.length - offset; + if (!length) { + length = remaining; + } else { + length = Number(length); + if (length > remaining) { + length = remaining; + } + } + const strLen = string.length; + if (length > strLen / 2) { + length = strLen / 2; + } + let i4; + for (i4 = 0; i4 < length; ++i4) { + const parsed = parseInt(string.substr(i4 * 2, 2), 16); + if (numberIsNaN(parsed)) + return i4; + buf[offset + i4] = parsed; + } + return i4; + } + function utf8Write(buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); + } + function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); + } + function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); + } + function ucs2Write(buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); + } + Buffer3.prototype.write = function write(string, offset, length, encoding) { + if (offset === void 0) { + encoding = "utf8"; + length = this.length; + offset = 0; + } else if (length === void 0 && typeof offset === "string") { + encoding = offset; + length = this.length; + offset = 0; + } else if (isFinite(offset)) { + offset = offset >>> 0; + if (isFinite(length)) { + length = length >>> 0; + if (encoding === void 0) + encoding = "utf8"; + } else { + encoding = length; + length = void 0; + } + } else { + throw new Error( + "Buffer.write(string, encoding, offset[, length]) is no longer supported" + ); + } + const remaining = this.length - offset; + if (length === void 0 || length > remaining) + length = remaining; + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError("Attempt to write outside buffer bounds"); + } + if (!encoding) + encoding = "utf8"; + let loweredCase = false; + for (; ; ) { + switch (encoding) { + case "hex": + return hexWrite(this, string, offset, length); + case "utf8": + case "utf-8": + return utf8Write(this, string, offset, length); + case "ascii": + case "latin1": + case "binary": + return asciiWrite(this, string, offset, length); + case "base64": + return base64Write(this, string, offset, length); + case "ucs2": + case "ucs-2": + case "utf16le": + case "utf-16le": + return ucs2Write(this, string, offset, length); + default: + if (loweredCase) + throw new TypeError("Unknown encoding: " + encoding); + encoding = ("" + encoding).toLowerCase(); + loweredCase = true; + } + } + }; + Buffer3.prototype.toJSON = function toJSON2() { + return { + type: "Buffer", + data: Array.prototype.slice.call(this._arr || this, 0) + }; + }; + function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base642.fromByteArray(buf); + } else { + return base642.fromByteArray(buf.slice(start, end)); + } + } + function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + const res = []; + let i4 = start; + while (i4 < end) { + const firstByte = buf[i4]; + let codePoint = null; + let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; + if (i4 + bytesPerSequence <= end) { + let secondByte, thirdByte, fourthByte, tempCodePoint; + switch (bytesPerSequence) { + case 1: + if (firstByte < 128) { + codePoint = firstByte; + } + break; + case 2: + secondByte = buf[i4 + 1]; + if ((secondByte & 192) === 128) { + tempCodePoint = (firstByte & 31) << 6 | secondByte & 63; + if (tempCodePoint > 127) { + codePoint = tempCodePoint; + } + } + break; + case 3: + secondByte = buf[i4 + 1]; + thirdByte = buf[i4 + 2]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63; + if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) { + codePoint = tempCodePoint; + } + } + break; + case 4: + secondByte = buf[i4 + 1]; + thirdByte = buf[i4 + 2]; + fourthByte = buf[i4 + 3]; + if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) { + tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63; + if (tempCodePoint > 65535 && tempCodePoint < 1114112) { + codePoint = tempCodePoint; + } + } + } + } + if (codePoint === null) { + codePoint = 65533; + bytesPerSequence = 1; + } else if (codePoint > 65535) { + codePoint -= 65536; + res.push(codePoint >>> 10 & 1023 | 55296); + codePoint = 56320 | codePoint & 1023; + } + res.push(codePoint); + i4 += bytesPerSequence; + } + return decodeCodePointsArray(res); + } + var MAX_ARGUMENTS_LENGTH = 4096; + function decodeCodePointsArray(codePoints) { + const len = codePoints.length; + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); + } + let res = ""; + let i4 = 0; + while (i4 < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i4, i4 += MAX_ARGUMENTS_LENGTH) + ); + } + return res; + } + function asciiSlice(buf, start, end) { + let ret = ""; + end = Math.min(buf.length, end); + for (let i4 = start; i4 < end; ++i4) { + ret += String.fromCharCode(buf[i4] & 127); + } + return ret; + } + function latin1Slice(buf, start, end) { + let ret = ""; + end = Math.min(buf.length, end); + for (let i4 = start; i4 < end; ++i4) { + ret += String.fromCharCode(buf[i4]); + } + return ret; + } + function hexSlice(buf, start, end) { + const len = buf.length; + if (!start || start < 0) + start = 0; + if (!end || end < 0 || end > len) + end = len; + let out = ""; + for (let i4 = start; i4 < end; ++i4) { + out += hexSliceLookupTable[buf[i4]]; + } + return out; + } + function utf16leSlice(buf, start, end) { + const bytes = buf.slice(start, end); + let res = ""; + for (let i4 = 0; i4 < bytes.length - 1; i4 += 2) { + res += String.fromCharCode(bytes[i4] + bytes[i4 + 1] * 256); + } + return res; + } + Buffer3.prototype.slice = function slice(start, end) { + const len = this.length; + start = ~~start; + end = end === void 0 ? len : ~~end; + if (start < 0) { + start += len; + if (start < 0) + start = 0; + } else if (start > len) { + start = len; + } + if (end < 0) { + end += len; + if (end < 0) + end = 0; + } else if (end > len) { + end = len; + } + if (end < start) + end = start; + const newBuf = this.subarray(start, end); + Object.setPrototypeOf(newBuf, Buffer3.prototype); + return newBuf; + }; + function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) + throw new RangeError("offset is not uint"); + if (offset + ext > length) + throw new RangeError("Trying to access beyond buffer length"); + } + Buffer3.prototype.readUintLE = Buffer3.prototype.readUIntLE = function readUIntLE(offset, byteLength2, noAssert) { + offset = offset >>> 0; + byteLength2 = byteLength2 >>> 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + let val = this[offset]; + let mul = 1; + let i4 = 0; + while (++i4 < byteLength2 && (mul *= 256)) { + val += this[offset + i4] * mul; + } + return val; + }; + Buffer3.prototype.readUintBE = Buffer3.prototype.readUIntBE = function readUIntBE(offset, byteLength2, noAssert) { + offset = offset >>> 0; + byteLength2 = byteLength2 >>> 0; + if (!noAssert) { + checkOffset(offset, byteLength2, this.length); + } + let val = this[offset + --byteLength2]; + let mul = 1; + while (byteLength2 > 0 && (mul *= 256)) { + val += this[offset + --byteLength2] * mul; + } + return val; + }; + Buffer3.prototype.readUint8 = Buffer3.prototype.readUInt8 = function readUInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 1, this.length); + return this[offset]; + }; + Buffer3.prototype.readUint16LE = Buffer3.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; + }; + Buffer3.prototype.readUint16BE = Buffer3.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; + }; + Buffer3.prototype.readUint32LE = Buffer3.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216; + }; + Buffer3.prototype.readUint32BE = Buffer3.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); + }; + Buffer3.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) { + offset = offset >>> 0; + validateNumber(offset, "offset"); + const first = this[offset]; + const last = this[offset + 7]; + if (first === void 0 || last === void 0) { + boundsError(offset, this.length - 8); + } + const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24; + const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24; + return BigInt(lo) + (BigInt(hi) << BigInt(32)); + }); + Buffer3.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) { + offset = offset >>> 0; + validateNumber(offset, "offset"); + const first = this[offset]; + const last = this[offset + 7]; + if (first === void 0 || last === void 0) { + boundsError(offset, this.length - 8); + } + const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; + const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last; + return (BigInt(hi) << BigInt(32)) + BigInt(lo); + }); + Buffer3.prototype.readIntLE = function readIntLE(offset, byteLength2, noAssert) { + offset = offset >>> 0; + byteLength2 = byteLength2 >>> 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + let val = this[offset]; + let mul = 1; + let i4 = 0; + while (++i4 < byteLength2 && (mul *= 256)) { + val += this[offset + i4] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; + }; + Buffer3.prototype.readIntBE = function readIntBE(offset, byteLength2, noAssert) { + offset = offset >>> 0; + byteLength2 = byteLength2 >>> 0; + if (!noAssert) + checkOffset(offset, byteLength2, this.length); + let i4 = byteLength2; + let mul = 1; + let val = this[offset + --i4]; + while (i4 > 0 && (mul *= 256)) { + val += this[offset + --i4] * mul; + } + mul *= 128; + if (val >= mul) + val -= Math.pow(2, 8 * byteLength2); + return val; + }; + Buffer3.prototype.readInt8 = function readInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 1, this.length); + if (!(this[offset] & 128)) + return this[offset]; + return (255 - this[offset] + 1) * -1; + }; + Buffer3.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 2, this.length); + const val = this[offset] | this[offset + 1] << 8; + return val & 32768 ? val | 4294901760 : val; + }; + Buffer3.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 2, this.length); + const val = this[offset + 1] | this[offset] << 8; + return val & 32768 ? val | 4294901760 : val; + }; + Buffer3.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; + }; + Buffer3.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; + }; + Buffer3.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) { + offset = offset >>> 0; + validateNumber(offset, "offset"); + const first = this[offset]; + const last = this[offset + 7]; + if (first === void 0 || last === void 0) { + boundsError(offset, this.length - 8); + } + const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); + return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24); + }); + Buffer3.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) { + offset = offset >>> 0; + validateNumber(offset, "offset"); + const first = this[offset]; + const last = this[offset + 7]; + if (first === void 0 || last === void 0) { + boundsError(offset, this.length - 8); + } + const val = (first << 24) + // Overflow + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset]; + return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last); + }); + Buffer3.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, true, 23, 4); + }; + Buffer3.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, false, 23, 4); + }; + Buffer3.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, true, 52, 8); + }; + Buffer3.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) + checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, false, 52, 8); + }; + function checkInt(buf, value, offset, ext, max, min) { + if (!Buffer3.isBuffer(buf)) + throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) + throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + } + Buffer3.prototype.writeUintLE = Buffer3.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength2 = byteLength2 >>> 0; + if (!noAssert) { + const maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + let mul = 1; + let i4 = 0; + this[offset] = value & 255; + while (++i4 < byteLength2 && (mul *= 256)) { + this[offset + i4] = value / mul & 255; + } + return offset + byteLength2; + }; + Buffer3.prototype.writeUintBE = Buffer3.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength2 = byteLength2 >>> 0; + if (!noAssert) { + const maxBytes = Math.pow(2, 8 * byteLength2) - 1; + checkInt(this, value, offset, byteLength2, maxBytes, 0); + } + let i4 = byteLength2 - 1; + let mul = 1; + this[offset + i4] = value & 255; + while (--i4 >= 0 && (mul *= 256)) { + this[offset + i4] = value / mul & 255; + } + return offset + byteLength2; + }; + Buffer3.prototype.writeUint8 = Buffer3.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 1, 255, 0); + this[offset] = value & 255; + return offset + 1; + }; + Buffer3.prototype.writeUint16LE = Buffer3.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + return offset + 2; + }; + Buffer3.prototype.writeUint16BE = Buffer3.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 2, 65535, 0); + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + return offset + 2; + }; + Buffer3.prototype.writeUint32LE = Buffer3.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 255; + return offset + 4; + }; + Buffer3.prototype.writeUint32BE = Buffer3.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 4, 4294967295, 0); + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + return offset + 4; + }; + function wrtBigUInt64LE(buf, value, offset, min, max) { + checkIntBI(value, min, max, buf, offset, 7); + let lo = Number(value & BigInt(4294967295)); + buf[offset++] = lo; + lo = lo >> 8; + buf[offset++] = lo; + lo = lo >> 8; + buf[offset++] = lo; + lo = lo >> 8; + buf[offset++] = lo; + let hi = Number(value >> BigInt(32) & BigInt(4294967295)); + buf[offset++] = hi; + hi = hi >> 8; + buf[offset++] = hi; + hi = hi >> 8; + buf[offset++] = hi; + hi = hi >> 8; + buf[offset++] = hi; + return offset; + } + function wrtBigUInt64BE(buf, value, offset, min, max) { + checkIntBI(value, min, max, buf, offset, 7); + let lo = Number(value & BigInt(4294967295)); + buf[offset + 7] = lo; + lo = lo >> 8; + buf[offset + 6] = lo; + lo = lo >> 8; + buf[offset + 5] = lo; + lo = lo >> 8; + buf[offset + 4] = lo; + let hi = Number(value >> BigInt(32) & BigInt(4294967295)); + buf[offset + 3] = hi; + hi = hi >> 8; + buf[offset + 2] = hi; + hi = hi >> 8; + buf[offset + 1] = hi; + hi = hi >> 8; + buf[offset] = hi; + return offset + 8; + } + Buffer3.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) { + return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff")); + }); + Buffer3.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) { + return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt("0xffffffffffffffff")); + }); + Buffer3.prototype.writeIntLE = function writeIntLE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + const limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + let i4 = 0; + let mul = 1; + let sub = 0; + this[offset] = value & 255; + while (++i4 < byteLength2 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i4 - 1] !== 0) { + sub = 1; + } + this[offset + i4] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; + }; + Buffer3.prototype.writeIntBE = function writeIntBE(value, offset, byteLength2, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + const limit = Math.pow(2, 8 * byteLength2 - 1); + checkInt(this, value, offset, byteLength2, limit - 1, -limit); + } + let i4 = byteLength2 - 1; + let mul = 1; + let sub = 0; + this[offset + i4] = value & 255; + while (--i4 >= 0 && (mul *= 256)) { + if (value < 0 && sub === 0 && this[offset + i4 + 1] !== 0) { + sub = 1; + } + this[offset + i4] = (value / mul >> 0) - sub & 255; + } + return offset + byteLength2; + }; + Buffer3.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 1, 127, -128); + if (value < 0) + value = 255 + value + 1; + this[offset] = value & 255; + return offset + 1; + }; + Buffer3.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + return offset + 2; + }; + Buffer3.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 2, 32767, -32768); + this[offset] = value >>> 8; + this[offset + 1] = value & 255; + return offset + 2; + }; + Buffer3.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + this[offset] = value & 255; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + return offset + 4; + }; + Buffer3.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) + checkInt(this, value, offset, 4, 2147483647, -2147483648); + if (value < 0) + value = 4294967295 + value + 1; + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 255; + return offset + 4; + }; + Buffer3.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) { + return wrtBigUInt64LE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); + }); + Buffer3.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) { + return wrtBigUInt64BE(this, value, offset, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff")); + }); + function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) + throw new RangeError("Index out of range"); + if (offset < 0) + throw new RangeError("Index out of range"); + } + function writeFloat(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 34028234663852886e22, -34028234663852886e22); + } + ieee754.write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; + } + Buffer3.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); + }; + Buffer3.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); + }; + function writeDouble(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 17976931348623157e292, -17976931348623157e292); + } + ieee754.write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; + } + Buffer3.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); + }; + Buffer3.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); + }; + Buffer3.prototype.copy = function copy(target, targetStart, start, end) { + if (!Buffer3.isBuffer(target)) + throw new TypeError("argument should be a Buffer"); + if (!start) + start = 0; + if (!end && end !== 0) + end = this.length; + if (targetStart >= target.length) + targetStart = target.length; + if (!targetStart) + targetStart = 0; + if (end > 0 && end < start) + end = start; + if (end === start) + return 0; + if (target.length === 0 || this.length === 0) + return 0; + if (targetStart < 0) { + throw new RangeError("targetStart out of bounds"); + } + if (start < 0 || start >= this.length) + throw new RangeError("Index out of range"); + if (end < 0) + throw new RangeError("sourceEnd out of bounds"); + if (end > this.length) + end = this.length; + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + const len = end - start; + if (this === target && typeof Uint8Array.prototype.copyWithin === "function") { + this.copyWithin(targetStart, start, end); + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, end), + targetStart + ); + } + return len; + }; + Buffer3.prototype.fill = function fill(val, start, end, encoding) { + if (typeof val === "string") { + if (typeof start === "string") { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === "string") { + encoding = end; + end = this.length; + } + if (encoding !== void 0 && typeof encoding !== "string") { + throw new TypeError("encoding must be a string"); + } + if (typeof encoding === "string" && !Buffer3.isEncoding(encoding)) { + throw new TypeError("Unknown encoding: " + encoding); + } + if (val.length === 1) { + const code = val.charCodeAt(0); + if (encoding === "utf8" && code < 128 || encoding === "latin1") { + val = code; + } + } + } else if (typeof val === "number") { + val = val & 255; + } else if (typeof val === "boolean") { + val = Number(val); + } + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError("Out of range index"); + } + if (end <= start) { + return this; + } + start = start >>> 0; + end = end === void 0 ? this.length : end >>> 0; + if (!val) + val = 0; + let i4; + if (typeof val === "number") { + for (i4 = start; i4 < end; ++i4) { + this[i4] = val; + } + } else { + const bytes = Buffer3.isBuffer(val) ? val : Buffer3.from(val, encoding); + const len = bytes.length; + if (len === 0) { + throw new TypeError('The value "' + val + '" is invalid for argument "value"'); + } + for (i4 = 0; i4 < end - start; ++i4) { + this[i4 + start] = bytes[i4 % len]; + } + } + return this; + }; + var errors = {}; + function E3(sym, getMessage, Base) { + errors[sym] = class NodeError extends Base { + constructor() { + super(); + Object.defineProperty(this, "message", { + value: getMessage.apply(this, arguments), + writable: true, + configurable: true + }); + this.name = `${this.name} [${sym}]`; + this.stack; + delete this.name; + } + get code() { + return sym; + } + set code(value) { + Object.defineProperty(this, "code", { + configurable: true, + enumerable: true, + value, + writable: true + }); + } + toString() { + return `${this.name} [${sym}]: ${this.message}`; + } + }; + } + E3( + "ERR_BUFFER_OUT_OF_BOUNDS", + function(name2) { + if (name2) { + return `${name2} is outside of buffer bounds`; + } + return "Attempt to access memory outside buffer bounds"; + }, + RangeError + ); + E3( + "ERR_INVALID_ARG_TYPE", + function(name2, actual) { + return `The "${name2}" argument must be of type number. Received type ${typeof actual}`; + }, + TypeError + ); + E3( + "ERR_OUT_OF_RANGE", + function(str, range, input) { + let msg = `The value of "${str}" is out of range.`; + let received = input; + if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) { + received = addNumericalSeparator(String(input)); + } else if (typeof input === "bigint") { + received = String(input); + if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) { + received = addNumericalSeparator(received); + } + received += "n"; + } + msg += ` It must be ${range}. Received ${received}`; + return msg; + }, + RangeError + ); + function addNumericalSeparator(val) { + let res = ""; + let i4 = val.length; + const start = val[0] === "-" ? 1 : 0; + for (; i4 >= start + 4; i4 -= 3) { + res = `_${val.slice(i4 - 3, i4)}${res}`; + } + return `${val.slice(0, i4)}${res}`; + } + function checkBounds(buf, offset, byteLength2) { + validateNumber(offset, "offset"); + if (buf[offset] === void 0 || buf[offset + byteLength2] === void 0) { + boundsError(offset, buf.length - (byteLength2 + 1)); + } + } + function checkIntBI(value, min, max, buf, offset, byteLength2) { + if (value > max || value < min) { + const n4 = typeof min === "bigint" ? "n" : ""; + let range; + if (byteLength2 > 3) { + if (min === 0 || min === BigInt(0)) { + range = `>= 0${n4} and < 2${n4} ** ${(byteLength2 + 1) * 8}${n4}`; + } else { + range = `>= -(2${n4} ** ${(byteLength2 + 1) * 8 - 1}${n4}) and < 2 ** ${(byteLength2 + 1) * 8 - 1}${n4}`; + } + } else { + range = `>= ${min}${n4} and <= ${max}${n4}`; + } + throw new errors.ERR_OUT_OF_RANGE("value", range, value); + } + checkBounds(buf, offset, byteLength2); + } + function validateNumber(value, name2) { + if (typeof value !== "number") { + throw new errors.ERR_INVALID_ARG_TYPE(name2, "number", value); + } + } + function boundsError(value, length, type) { + if (Math.floor(value) !== value) { + validateNumber(value, type); + throw new errors.ERR_OUT_OF_RANGE(type || "offset", "an integer", value); + } + if (length < 0) { + throw new errors.ERR_BUFFER_OUT_OF_BOUNDS(); + } + throw new errors.ERR_OUT_OF_RANGE( + type || "offset", + `>= ${type ? 1 : 0} and <= ${length}`, + value + ); + } + var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; + function base64clean(str) { + str = str.split("=")[0]; + str = str.trim().replace(INVALID_BASE64_RE, ""); + if (str.length < 2) + return ""; + while (str.length % 4 !== 0) { + str = str + "="; + } + return str; + } + function utf8ToBytes(string, units) { + units = units || Infinity; + let codePoint; + const length = string.length; + let leadSurrogate = null; + const bytes = []; + for (let i4 = 0; i4 < length; ++i4) { + codePoint = string.charCodeAt(i4); + if (codePoint > 55295 && codePoint < 57344) { + if (!leadSurrogate) { + if (codePoint > 56319) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } else if (i4 + 1 === length) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + continue; + } + leadSurrogate = codePoint; + continue; + } + if (codePoint < 56320) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + leadSurrogate = codePoint; + continue; + } + codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536; + } else if (leadSurrogate) { + if ((units -= 3) > -1) + bytes.push(239, 191, 189); + } + leadSurrogate = null; + if (codePoint < 128) { + if ((units -= 1) < 0) + break; + bytes.push(codePoint); + } else if (codePoint < 2048) { + if ((units -= 2) < 0) + break; + bytes.push( + codePoint >> 6 | 192, + codePoint & 63 | 128 + ); + } else if (codePoint < 65536) { + if ((units -= 3) < 0) + break; + bytes.push( + codePoint >> 12 | 224, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else if (codePoint < 1114112) { + if ((units -= 4) < 0) + break; + bytes.push( + codePoint >> 18 | 240, + codePoint >> 12 & 63 | 128, + codePoint >> 6 & 63 | 128, + codePoint & 63 | 128 + ); + } else { + throw new Error("Invalid code point"); + } + } + return bytes; + } + function asciiToBytes(str) { + const byteArray = []; + for (let i4 = 0; i4 < str.length; ++i4) { + byteArray.push(str.charCodeAt(i4) & 255); + } + return byteArray; + } + function utf16leToBytes(str, units) { + let c4, hi, lo; + const byteArray = []; + for (let i4 = 0; i4 < str.length; ++i4) { + if ((units -= 2) < 0) + break; + c4 = str.charCodeAt(i4); + hi = c4 >> 8; + lo = c4 % 256; + byteArray.push(lo); + byteArray.push(hi); + } + return byteArray; + } + function base64ToBytes(str) { + return base642.toByteArray(base64clean(str)); + } + function blitBuffer(src, dst, offset, length) { + let i4; + for (i4 = 0; i4 < length; ++i4) { + if (i4 + offset >= dst.length || i4 >= src.length) + break; + dst[i4 + offset] = src[i4]; + } + return i4; + } + function isInstance(obj, type) { + return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name; + } + function numberIsNaN(obj) { + return obj !== obj; + } + var hexSliceLookupTable = function() { + const alphabet = "0123456789abcdef"; + const table = new Array(256); + for (let i4 = 0; i4 < 16; ++i4) { + const i16 = i4 * 16; + for (let j3 = 0; j3 < 16; ++j3) { + table[i16 + j3] = alphabet[i4] + alphabet[j3]; + } + } + return table; + }(); + function defineBigIntMethod(fn) { + return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn; + } + function BufferBigIntNotDefined() { + throw new Error("BigInt not supported"); + } + } + }); + + // node_modules/object-sizeof/indexv2.js + var require_indexv2 = __commonJS({ + "node_modules/object-sizeof/indexv2.js"(exports2, module) { + "use strict"; + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + var ECMA_SIZES = require_byte_size(); + var Buffer3 = require_buffer().Buffer; + function preciseStringSizeNode(str) { + return 12 + 4 * Math.ceil(str.length / 4); + } + function isNodeEnvironment() { + if (typeof window !== "undefined" && typeof document !== "undefined") { + return false; + } + return true; + } + function objectSizeComplex(obj) { + let totalSize = 0; + const errorIndication = -1; + try { + let potentialConversion = obj; + if (obj instanceof Map) { + potentialConversion = Object.fromEntries(obj); + } else if (obj instanceof Set) { + potentialConversion = Array.from(obj); + } + if (obj instanceof Int8Array) { + return obj.length * ECMA_SIZES.Int8Array; + } else if (obj instanceof Uint8Array || obj instanceof Uint8ClampedArray) { + return obj.length * ECMA_SIZES.Uint8Array; + } else if (obj instanceof Int16Array) { + return obj.length * ECMA_SIZES.Int16Array; + } else if (obj instanceof Uint16Array) { + return obj.length * ECMA_SIZES.Uint16Array; + } else if (obj instanceof Int32Array) { + return obj.length * ECMA_SIZES.Int32Array; + } else if (obj instanceof Uint32Array) { + return obj.length * ECMA_SIZES.Uint32Array; + } else if (obj instanceof Float32Array) { + return obj.length * ECMA_SIZES.Float32Array; + } else if (obj instanceof Float64Array) { + return obj.length * ECMA_SIZES.Float64Array; + } + const objectToString = JSON.stringify(potentialConversion); + const buffer = new Buffer3.from(objectToString); + totalSize = buffer.byteLength; + } catch (ex) { + console.error("Error detected, return " + errorIndication, ex); + return errorIndication; + } + return totalSize; + } + function objectSizeSimple(obj) { + const objectList = []; + const stack = [obj]; + let bytes = 0; + while (stack.length) { + const value = stack.pop(); + if (typeof value === "boolean") { + bytes += ECMA_SIZES.BYTES; + } else if (typeof value === "string") { + if (isNodeEnvironment()) { + bytes += preciseStringSizeNode(value); + } else { + bytes += value.length * ECMA_SIZES.STRING; + } + } else if (typeof value === "number") { + bytes += ECMA_SIZES.NUMBER; + } else if (typeof value === "symbol") { + const isGlobalSymbol = Symbol.keyFor && Symbol.keyFor(obj); + if (isGlobalSymbol) { + bytes += Symbol.keyFor(obj).length * ECMA_SIZES.STRING; + } else { + bytes += (obj.toString().length - 8) * ECMA_SIZES.STRING; + } + } else if (typeof value === "bigint") { + bytes += Buffer3.from(value.toString()).byteLength; + } else if (typeof value === "function") { + bytes += value.toString().length; + } else if (typeof value === "object" && objectList.indexOf(value) === -1) { + objectList.push(value); + for (const i4 in value) { + stack.push(value[i4]); + } + } + } + return bytes; + } + module.exports = function(obj) { + let totalSize = 0; + if (obj !== null && typeof obj === "object") { + totalSize = objectSizeComplex(obj); + } else { + totalSize = objectSizeSimple(obj); + } + return totalSize; + }; + } + }); + // node_modules/form-data/lib/browser.js var require_browser = __commonJS({ "node_modules/form-data/lib/browser.js"(exports2, module) { @@ -2303,15 +5530,15 @@ var Tabby = (() => { }; var toObjectSet = (arrayOrString, delimiter) => { const obj = {}; - const define = (arr) => { + const define2 = (arr) => { arr.forEach((value) => { obj[value] = true; }); }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); return obj; }; - var noop = () => { + var noop2 = () => { }; var toFiniteNumber = (value, defaultValue) => { value = +value; @@ -2401,7 +5628,7 @@ var Tabby = (() => { freezeMethods, toObjectSet, toCamelCase, - noop, + noop: noop2, toFiniteNumber, findKey, global: _global, @@ -2448,7 +5675,7 @@ var Tabby = (() => { init_filename(); init_buffer2(); init_process2(); - function AxiosError(message, code, config, request2, response) { + function AxiosError(message, code, config2, request2, response) { Error.call(this); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); @@ -2458,7 +5685,7 @@ var Tabby = (() => { this.message = message; this.name = "AxiosError"; code && (this.code = code); - config && (this.config = config); + config2 && (this.config = config2); request2 && (this.request = request2); response && (this.response = response); } @@ -2504,14 +5731,14 @@ var Tabby = (() => { }); Object.defineProperties(AxiosError, descriptors); Object.defineProperty(prototype, "isAxiosError", { value: true }); - AxiosError.from = (error, code, config, request2, response, customProps) => { + AxiosError.from = (error, code, config2, request2, response, customProps) => { const axiosError = Object.create(prototype); utils_default.toFlatObject(error, axiosError, function filter2(obj) { return obj !== Error.prototype; }, (prop) => { return prop !== "isAxiosError"; }); - AxiosError.call(axiosError, error.message, code, config, request2, response); + AxiosError.call(axiosError, error.message, code, config2, request2, response); axiosError.cause = error; axiosError.name = error.name; customProps && Object.assign(axiosError, customProps); @@ -3325,12 +6552,12 @@ var Tabby = (() => { // node_modules/axios/lib/core/transformData.js function transformData(fns, response) { - const config = this || defaults_default; - const context = response || config; + const config2 = this || defaults_default; + const context = response || config2; const headers = AxiosHeaders_default.from(context.headers); let data = context.data; utils_default.forEach(fns, function transform(fn) { - data = fn.call(config, data, headers.normalize(), response ? response.status : void 0); + data = fn.call(config2, data, headers.normalize(), response ? response.status : void 0); }); headers.normalize(); return data; @@ -3352,8 +6579,8 @@ var Tabby = (() => { init_filename(); init_buffer2(); init_process2(); - function CanceledError(message, config, request2) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config, request2); + function CanceledError(message, config2, request2) { + AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config2, request2); this.name = "CanceledError"; } utils_default.inherits(CanceledError, AxiosError_default, { @@ -3406,7 +6633,7 @@ var Tabby = (() => { // Standard browser envs support document.cookie function standardBrowserEnv() { return { - write: function write(name2, value, expires, path, domain, secure) { + write: function write(name2, value, expires, path, domain2, secure) { const cookie = []; cookie.push(name2 + "=" + encodeURIComponent(value)); if (utils_default.isNumber(expires)) { @@ -3415,8 +6642,8 @@ var Tabby = (() => { if (utils_default.isString(path)) { cookie.push("path=" + path); } - if (utils_default.isString(domain)) { - cookie.push("domain=" + domain); + if (utils_default.isString(domain2)) { + cookie.push("domain=" + domain2); } if (secure === true) { cookie.push("secure"); @@ -3605,18 +6832,18 @@ var Tabby = (() => { }; } var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; - var xhr_default = isXHRAdapterSupported && function(config) { + var xhr_default = isXHRAdapterSupported && function(config2) { return new Promise(function dispatchXhrRequest(resolve2, reject) { - let requestData = config.data; - const requestHeaders = AxiosHeaders_default.from(config.headers).normalize(); - const responseType = config.responseType; + let requestData = config2.data; + const requestHeaders = AxiosHeaders_default.from(config2.headers).normalize(); + const responseType = config2.responseType; let onCanceled; function done() { - if (config.cancelToken) { - config.cancelToken.unsubscribe(onCanceled); + if (config2.cancelToken) { + config2.cancelToken.unsubscribe(onCanceled); } - if (config.signal) { - config.signal.removeEventListener("abort", onCanceled); + if (config2.signal) { + config2.signal.removeEventListener("abort", onCanceled); } } if (utils_default.isFormData(requestData)) { @@ -3627,14 +6854,14 @@ var Tabby = (() => { } } let request2 = new XMLHttpRequest(); - if (config.auth) { - const username = config.auth.username || ""; - const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ""; + if (config2.auth) { + const username = config2.auth.username || ""; + const password = config2.auth.password ? unescape(encodeURIComponent(config2.auth.password)) : ""; requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password)); } - const fullPath = buildFullPath(config.baseURL, config.url); - request2.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); - request2.timeout = config.timeout; + const fullPath = buildFullPath(config2.baseURL, config2.url); + request2.open(config2.method.toUpperCase(), buildURL(fullPath, config2.params, config2.paramsSerializer), true); + request2.timeout = config2.timeout; function onloadend() { if (!request2) { return; @@ -3648,7 +6875,7 @@ var Tabby = (() => { status: request2.status, statusText: request2.statusText, headers: responseHeaders, - config, + config: config2, request: request2 }; settle(function _resolve2(value) { @@ -3677,31 +6904,31 @@ var Tabby = (() => { if (!request2) { return; } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config, request2)); + reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config2, request2)); request2 = null; }; request2.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config, request2)); + reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config2, request2)); request2 = null; }; request2.ontimeout = function handleTimeout() { - let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config.transitional || transitional_default; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; + let timeoutErrorMessage = config2.timeout ? "timeout of " + config2.timeout + "ms exceeded" : "timeout exceeded"; + const transitional2 = config2.transitional || transitional_default; + if (config2.timeoutErrorMessage) { + timeoutErrorMessage = config2.timeoutErrorMessage; } reject(new AxiosError_default( timeoutErrorMessage, transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config, + config2, request2 )); request2 = null; }; if (browser_default.isStandardBrowserEnv) { - const xsrfValue = (config.withCredentials || isURLSameOrigin_default(fullPath)) && config.xsrfCookieName && cookies_default.read(config.xsrfCookieName); + const xsrfValue = (config2.withCredentials || isURLSameOrigin_default(fullPath)) && config2.xsrfCookieName && cookies_default.read(config2.xsrfCookieName); if (xsrfValue) { - requestHeaders.set(config.xsrfHeaderName, xsrfValue); + requestHeaders.set(config2.xsrfHeaderName, xsrfValue); } } requestData === void 0 && requestHeaders.setContentType(null); @@ -3710,35 +6937,35 @@ var Tabby = (() => { request2.setRequestHeader(key, val); }); } - if (!utils_default.isUndefined(config.withCredentials)) { - request2.withCredentials = !!config.withCredentials; + if (!utils_default.isUndefined(config2.withCredentials)) { + request2.withCredentials = !!config2.withCredentials; } if (responseType && responseType !== "json") { - request2.responseType = config.responseType; + request2.responseType = config2.responseType; } - if (typeof config.onDownloadProgress === "function") { - request2.addEventListener("progress", progressEventReducer(config.onDownloadProgress, true)); + if (typeof config2.onDownloadProgress === "function") { + request2.addEventListener("progress", progressEventReducer(config2.onDownloadProgress, true)); } - if (typeof config.onUploadProgress === "function" && request2.upload) { - request2.upload.addEventListener("progress", progressEventReducer(config.onUploadProgress)); + if (typeof config2.onUploadProgress === "function" && request2.upload) { + request2.upload.addEventListener("progress", progressEventReducer(config2.onUploadProgress)); } - if (config.cancelToken || config.signal) { + if (config2.cancelToken || config2.signal) { onCanceled = (cancel) => { if (!request2) { return; } - reject(!cancel || cancel.type ? new CanceledError_default(null, config, request2) : cancel); + reject(!cancel || cancel.type ? new CanceledError_default(null, config2, request2) : cancel); request2.abort(); request2 = null; }; - config.cancelToken && config.cancelToken.subscribe(onCanceled); - if (config.signal) { - config.signal.aborted ? onCanceled() : config.signal.addEventListener("abort", onCanceled); + config2.cancelToken && config2.cancelToken.subscribe(onCanceled); + if (config2.signal) { + config2.signal.aborted ? onCanceled() : config2.signal.addEventListener("abort", onCanceled); } } const protocol = parseProtocol(fullPath); if (protocol && browser_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config)); + reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config2)); return; } request2.send(requestData || null); @@ -3791,41 +7018,41 @@ var Tabby = (() => { }; // node_modules/axios/lib/core/dispatchRequest.js - function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); + function throwIfCancellationRequested(config2) { + if (config2.cancelToken) { + config2.cancelToken.throwIfRequested(); } - if (config.signal && config.signal.aborted) { - throw new CanceledError_default(null, config); + if (config2.signal && config2.signal.aborted) { + throw new CanceledError_default(null, config2); } } - function dispatchRequest(config) { - throwIfCancellationRequested(config); - config.headers = AxiosHeaders_default.from(config.headers); - config.data = transformData.call( - config, - config.transformRequest + function dispatchRequest(config2) { + throwIfCancellationRequested(config2); + config2.headers = AxiosHeaders_default.from(config2.headers); + config2.data = transformData.call( + config2, + config2.transformRequest ); - if (["post", "put", "patch"].indexOf(config.method) !== -1) { - config.headers.setContentType("application/x-www-form-urlencoded", false); + if (["post", "put", "patch"].indexOf(config2.method) !== -1) { + config2.headers.setContentType("application/x-www-form-urlencoded", false); } - const adapter = adapters_default.getAdapter(config.adapter || defaults_default.adapter); - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); + const adapter = adapters_default.getAdapter(config2.adapter || defaults_default.adapter); + return adapter(config2).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config2); response.data = transformData.call( - config, - config.transformResponse, + config2, + config2.transformResponse, response ); response.headers = AxiosHeaders_default.from(response.headers); return response; }, function onAdapterRejection(reason) { if (!isCancel(reason)) { - throwIfCancellationRequested(config); + throwIfCancellationRequested(config2); if (reason && reason.response) { reason.response.data = transformData.call( - config, - config.transformResponse, + config2, + config2.transformResponse, reason.response ); reason.response.headers = AxiosHeaders_default.from(reason.response.headers); @@ -3844,7 +7071,7 @@ var Tabby = (() => { var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing; function mergeConfig(config1, config2) { config2 = config2 || {}; - const config = {}; + const config3 = {}; function getMergedValue(target, source, caseless) { if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { return utils_default.merge.call({ caseless }, target, source); @@ -3914,9 +7141,9 @@ var Tabby = (() => { utils_default.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { const merge2 = mergeMap[prop] || mergeDeepProperties; const configValue = merge2(config1[prop], config2[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue); + utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config3[prop] = configValue); }); - return config; + return config3; } // node_modules/axios/lib/helpers/validator.js @@ -3942,23 +7169,23 @@ var Tabby = (() => { }; }); var deprecatedWarnings = {}; - validators.transitional = function transitional(validator, version, message) { + validators.transitional = function transitional(validator, version2, message) { function formatMessage(opt, desc) { return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); } return (value, opt, opts) => { if (validator === false) { throw new AxiosError_default( - formatMessage(opt, " has been removed" + (version ? " in " + version : "")), + formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")), AxiosError_default.ERR_DEPRECATED ); } - if (version && !deprecatedWarnings[opt]) { + if (version2 && !deprecatedWarnings[opt]) { deprecatedWarnings[opt] = true; console.warn( formatMessage( opt, - " has been deprecated since v" + version + " and will be removed in the near future" + " has been deprecated since v" + version2 + " and will be removed in the near future" ) ); } @@ -4010,15 +7237,15 @@ var Tabby = (() => { * * @returns {Promise} The Promise to be fulfilled */ - request(configOrUrl, config) { + request(configOrUrl, config2) { if (typeof configOrUrl === "string") { - config = config || {}; - config.url = configOrUrl; + config2 = config2 || {}; + config2.url = configOrUrl; } else { - config = configOrUrl || {}; + config2 = configOrUrl || {}; } - config = mergeConfig(this.defaults, config); - const { transitional: transitional2, paramsSerializer, headers } = config; + config2 = mergeConfig(this.defaults, config2); + const { transitional: transitional2, paramsSerializer, headers } = config2; if (transitional2 !== void 0) { validator_default.assertOptions(transitional2, { silentJSONParsing: validators2.transitional(validators2.boolean), @@ -4028,7 +7255,7 @@ var Tabby = (() => { } if (paramsSerializer != null) { if (utils_default.isFunction(paramsSerializer)) { - config.paramsSerializer = { + config2.paramsSerializer = { serialize: paramsSerializer }; } else { @@ -4038,11 +7265,11 @@ var Tabby = (() => { }, true); } } - config.method = (config.method || this.defaults.method || "get").toLowerCase(); + config2.method = (config2.method || this.defaults.method || "get").toLowerCase(); let contextHeaders; contextHeaders = headers && utils_default.merge( headers.common, - headers[config.method] + headers[config2.method] ); contextHeaders && utils_default.forEach( ["delete", "get", "head", "post", "put", "patch", "common"], @@ -4050,11 +7277,11 @@ var Tabby = (() => { delete headers[method]; } ); - config.headers = AxiosHeaders_default.concat(contextHeaders, headers); + config2.headers = AxiosHeaders_default.concat(contextHeaders, headers); const requestInterceptorChain = []; let synchronousRequestInterceptors = true; this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) { + if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config2) === false) { return; } synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; @@ -4072,14 +7299,14 @@ var Tabby = (() => { chain.unshift.apply(chain, requestInterceptorChain); chain.push.apply(chain, responseInterceptorChain); len = chain.length; - promise = Promise.resolve(config); + promise = Promise.resolve(config2); while (i4 < len) { promise = promise.then(chain[i4++], chain[i4++]); } return promise; } len = requestInterceptorChain.length; - let newConfig = config; + let newConfig = config2; i4 = 0; while (i4 < len) { const onFulfilled = requestInterceptorChain[i4++]; @@ -4103,25 +7330,25 @@ var Tabby = (() => { } return promise; } - getUri(config) { - config = mergeConfig(this.defaults, config); - const fullPath = buildFullPath(config.baseURL, config.url); - return buildURL(fullPath, config.params, config.paramsSerializer); + getUri(config2) { + config2 = mergeConfig(this.defaults, config2); + const fullPath = buildFullPath(config2.baseURL, config2.url); + return buildURL(fullPath, config2.params, config2.paramsSerializer); } }; utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) { - Axios.prototype[method] = function(url, config) { - return this.request(mergeConfig(config || {}, { + Axios.prototype[method] = function(url, config2) { + return this.request(mergeConfig(config2 || {}, { method, url, - data: (config || {}).data + data: (config2 || {}).data })); }; }); utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) { function generateHTTPMethod(isForm) { - return function httpMethod(url, data, config) { - return this.request(mergeConfig(config || {}, { + return function httpMethod(url, data, config2) { + return this.request(mergeConfig(config2 || {}, { method, headers: isForm ? { "Content-Type": "multipart/form-data" @@ -4172,11 +7399,11 @@ var Tabby = (() => { }; return promise; }; - executor(function cancel(message, config, request2) { + executor(function cancel(message, config2, request2) { if (token.reason) { return; } - token.reason = new CanceledError_default(message, config, request2); + token.reason = new CanceledError_default(message, config2, request2); resolvePromise(token.reason); }); } @@ -4659,8 +7886,8 @@ var Tabby = (() => { defaultMaxListeners, init, listenerCount, - on, - once + on: on2, + once: once2 } = y; // node_modules/@jspm/core/nodelibs/browser/assert.js @@ -6505,15 +9732,1334 @@ var Tabby = (() => { var strictEqual = et.strictEqual; var throws = et.throws; + // src/CompletionCache.ts + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + + // node_modules/lru-cache/dist/mjs/index.js + init_global(); + init_dirname(); + init_filename(); + init_buffer2(); + init_process2(); + var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date; + var warned = /* @__PURE__ */ new Set(); + var PROCESS = typeof process_exports === "object" && !!process_exports ? process_exports : {}; + var emitWarning2 = (msg, type, code, fn) => { + typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`); + }; + var AC = globalThis.AbortController; + var AS = globalThis.AbortSignal; + if (typeof AC === "undefined") { + AS = class AbortSignal { + constructor() { + __publicField(this, "onabort"); + __publicField(this, "_onabort", []); + __publicField(this, "reason"); + __publicField(this, "aborted", false); + } + addEventListener(_3, fn) { + this._onabort.push(fn); + } + }; + AC = class AbortController { + constructor() { + __publicField(this, "signal", new AS()); + warnACPolyfill(); + } + abort(reason) { + if (this.signal.aborted) + return; + this.signal.reason = reason; + this.signal.aborted = true; + for (const fn of this.signal._onabort) { + fn(reason); + } + this.signal.onabort?.(reason); + } + }; + let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1"; + const warnACPolyfill = () => { + if (!printACPolyfillWarning) + return; + printACPolyfillWarning = false; + emitWarning2("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill); + }; + } + var shouldWarn = (code) => !warned.has(code); + var TYPE = Symbol("type"); + var isPosInt = (n4) => n4 && n4 === Math.floor(n4) && n4 > 0 && isFinite(n4); + var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null; + var ZeroArray = class extends Array { + constructor(size) { + super(size); + this.fill(0); + } + }; + var _constructing; + var _Stack = class { + constructor(max, HeapCls) { + __publicField(this, "heap"); + __publicField(this, "length"); + if (!__privateGet(_Stack, _constructing)) { + throw new TypeError("instantiate Stack using Stack.create(n)"); + } + this.heap = new HeapCls(max); + this.length = 0; + } + static create(max) { + const HeapCls = getUintArray(max); + if (!HeapCls) + return []; + __privateSet(_Stack, _constructing, true); + const s4 = new _Stack(max, HeapCls); + __privateSet(_Stack, _constructing, false); + return s4; + } + push(n4) { + this.heap[this.length++] = n4; + } + pop() { + return this.heap[--this.length]; + } + }; + var Stack = _Stack; + _constructing = new WeakMap(); + // private constructor + __privateAdd(Stack, _constructing, false); + var _max, _maxSize, _dispose, _disposeAfter, _fetchMethod, _size, _calculatedSize, _keyMap, _keyList, _valList, _next, _prev, _head, _tail, _free, _disposed, _sizes, _starts, _ttls, _hasDispose, _hasFetchMethod, _hasDisposeAfter, _initializeTTLTracking, initializeTTLTracking_fn, _updateItemAge, _statusTTL, _setItemTTL, _isStale, _initializeSizeTracking, initializeSizeTracking_fn, _removeItemSize, _addItemSize, _requireSize, _indexes, indexes_fn, _rindexes, rindexes_fn, _isValidIndex, isValidIndex_fn, _evict, evict_fn, _backgroundFetch, backgroundFetch_fn, _isBackgroundFetch, isBackgroundFetch_fn, _connect, connect_fn, _moveToTail, moveToTail_fn; + var _LRUCache = class { + constructor(options) { + __privateAdd(this, _initializeTTLTracking); + __privateAdd(this, _initializeSizeTracking); + __privateAdd(this, _indexes); + __privateAdd(this, _rindexes); + __privateAdd(this, _isValidIndex); + __privateAdd(this, _evict); + __privateAdd(this, _backgroundFetch); + __privateAdd(this, _isBackgroundFetch); + __privateAdd(this, _connect); + __privateAdd(this, _moveToTail); + // properties coming in from the options of these, only max and maxSize + // really *need* to be protected. The rest can be modified, as they just + // set defaults for various methods. + __privateAdd(this, _max, void 0); + __privateAdd(this, _maxSize, void 0); + __privateAdd(this, _dispose, void 0); + __privateAdd(this, _disposeAfter, void 0); + __privateAdd(this, _fetchMethod, void 0); + /** + * {@link LRUCache.OptionsBase.ttl} + */ + __publicField(this, "ttl"); + /** + * {@link LRUCache.OptionsBase.ttlResolution} + */ + __publicField(this, "ttlResolution"); + /** + * {@link LRUCache.OptionsBase.ttlAutopurge} + */ + __publicField(this, "ttlAutopurge"); + /** + * {@link LRUCache.OptionsBase.updateAgeOnGet} + */ + __publicField(this, "updateAgeOnGet"); + /** + * {@link LRUCache.OptionsBase.updateAgeOnHas} + */ + __publicField(this, "updateAgeOnHas"); + /** + * {@link LRUCache.OptionsBase.allowStale} + */ + __publicField(this, "allowStale"); + /** + * {@link LRUCache.OptionsBase.noDisposeOnSet} + */ + __publicField(this, "noDisposeOnSet"); + /** + * {@link LRUCache.OptionsBase.noUpdateTTL} + */ + __publicField(this, "noUpdateTTL"); + /** + * {@link LRUCache.OptionsBase.maxEntrySize} + */ + __publicField(this, "maxEntrySize"); + /** + * {@link LRUCache.OptionsBase.sizeCalculation} + */ + __publicField(this, "sizeCalculation"); + /** + * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection} + */ + __publicField(this, "noDeleteOnFetchRejection"); + /** + * {@link LRUCache.OptionsBase.noDeleteOnStaleGet} + */ + __publicField(this, "noDeleteOnStaleGet"); + /** + * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort} + */ + __publicField(this, "allowStaleOnFetchAbort"); + /** + * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} + */ + __publicField(this, "allowStaleOnFetchRejection"); + /** + * {@link LRUCache.OptionsBase.ignoreFetchAbort} + */ + __publicField(this, "ignoreFetchAbort"); + // computed properties + __privateAdd(this, _size, void 0); + __privateAdd(this, _calculatedSize, void 0); + __privateAdd(this, _keyMap, void 0); + __privateAdd(this, _keyList, void 0); + __privateAdd(this, _valList, void 0); + __privateAdd(this, _next, void 0); + __privateAdd(this, _prev, void 0); + __privateAdd(this, _head, void 0); + __privateAdd(this, _tail, void 0); + __privateAdd(this, _free, void 0); + __privateAdd(this, _disposed, void 0); + __privateAdd(this, _sizes, void 0); + __privateAdd(this, _starts, void 0); + __privateAdd(this, _ttls, void 0); + __privateAdd(this, _hasDispose, void 0); + __privateAdd(this, _hasFetchMethod, void 0); + __privateAdd(this, _hasDisposeAfter, void 0); + // conditionally set private methods related to TTL + __privateAdd(this, _updateItemAge, () => { + }); + __privateAdd(this, _statusTTL, () => { + }); + __privateAdd(this, _setItemTTL, () => { + }); + /* c8 ignore stop */ + __privateAdd(this, _isStale, () => false); + __privateAdd(this, _removeItemSize, (_i) => { + }); + __privateAdd(this, _addItemSize, (_i, _s, _st) => { + }); + __privateAdd(this, _requireSize, (_k, _v, size, sizeCalculation) => { + if (size || sizeCalculation) { + throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache"); + } + return 0; + }); + const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options; + if (max !== 0 && !isPosInt(max)) { + throw new TypeError("max option must be a nonnegative integer"); + } + const UintArray = max ? getUintArray(max) : Array; + if (!UintArray) { + throw new Error("invalid max value: " + max); + } + __privateSet(this, _max, max); + __privateSet(this, _maxSize, maxSize); + this.maxEntrySize = maxEntrySize || __privateGet(this, _maxSize); + this.sizeCalculation = sizeCalculation; + if (this.sizeCalculation) { + if (!__privateGet(this, _maxSize) && !this.maxEntrySize) { + throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize"); + } + if (typeof this.sizeCalculation !== "function") { + throw new TypeError("sizeCalculation set to non-function"); + } + } + if (fetchMethod !== void 0 && typeof fetchMethod !== "function") { + throw new TypeError("fetchMethod must be a function if specified"); + } + __privateSet(this, _fetchMethod, fetchMethod); + __privateSet(this, _hasFetchMethod, !!fetchMethod); + __privateSet(this, _keyMap, /* @__PURE__ */ new Map()); + __privateSet(this, _keyList, new Array(max).fill(void 0)); + __privateSet(this, _valList, new Array(max).fill(void 0)); + __privateSet(this, _next, new UintArray(max)); + __privateSet(this, _prev, new UintArray(max)); + __privateSet(this, _head, 0); + __privateSet(this, _tail, 0); + __privateSet(this, _free, Stack.create(max)); + __privateSet(this, _size, 0); + __privateSet(this, _calculatedSize, 0); + if (typeof dispose === "function") { + __privateSet(this, _dispose, dispose); + } + if (typeof disposeAfter === "function") { + __privateSet(this, _disposeAfter, disposeAfter); + __privateSet(this, _disposed, []); + } else { + __privateSet(this, _disposeAfter, void 0); + __privateSet(this, _disposed, void 0); + } + __privateSet(this, _hasDispose, !!__privateGet(this, _dispose)); + __privateSet(this, _hasDisposeAfter, !!__privateGet(this, _disposeAfter)); + this.noDisposeOnSet = !!noDisposeOnSet; + this.noUpdateTTL = !!noUpdateTTL; + this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; + this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; + this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; + this.ignoreFetchAbort = !!ignoreFetchAbort; + if (this.maxEntrySize !== 0) { + if (__privateGet(this, _maxSize) !== 0) { + if (!isPosInt(__privateGet(this, _maxSize))) { + throw new TypeError("maxSize must be a positive integer if specified"); + } + } + if (!isPosInt(this.maxEntrySize)) { + throw new TypeError("maxEntrySize must be a positive integer if specified"); + } + __privateMethod(this, _initializeSizeTracking, initializeSizeTracking_fn).call(this); + } + this.allowStale = !!allowStale; + this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; + this.updateAgeOnGet = !!updateAgeOnGet; + this.updateAgeOnHas = !!updateAgeOnHas; + this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1; + this.ttlAutopurge = !!ttlAutopurge; + this.ttl = ttl || 0; + if (this.ttl) { + if (!isPosInt(this.ttl)) { + throw new TypeError("ttl must be a positive integer if specified"); + } + __privateMethod(this, _initializeTTLTracking, initializeTTLTracking_fn).call(this); + } + if (__privateGet(this, _max) === 0 && this.ttl === 0 && __privateGet(this, _maxSize) === 0) { + throw new TypeError("At least one of max, maxSize, or ttl is required"); + } + if (!this.ttlAutopurge && !__privateGet(this, _max) && !__privateGet(this, _maxSize)) { + const code = "LRU_CACHE_UNBOUNDED"; + if (shouldWarn(code)) { + warned.add(code); + const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption."; + emitWarning2(msg, "UnboundedCacheWarning", code, _LRUCache); + } + } + } + /** + * Do not call this method unless you need to inspect the + * inner workings of the cache. If anything returned by this + * object is modified in any way, strange breakage may occur. + * + * These fields are private for a reason! + * + * @internal + */ + static unsafeExposeInternals(c4) { + return { + // properties + starts: __privateGet(c4, _starts), + ttls: __privateGet(c4, _ttls), + sizes: __privateGet(c4, _sizes), + keyMap: __privateGet(c4, _keyMap), + keyList: __privateGet(c4, _keyList), + valList: __privateGet(c4, _valList), + next: __privateGet(c4, _next), + prev: __privateGet(c4, _prev), + get head() { + return __privateGet(c4, _head); + }, + get tail() { + return __privateGet(c4, _tail); + }, + free: __privateGet(c4, _free), + // methods + isBackgroundFetch: (p4) => { + var _a; + return __privateMethod(_a = c4, _isBackgroundFetch, isBackgroundFetch_fn).call(_a, p4); + }, + backgroundFetch: (k3, index, options, context) => { + var _a; + return __privateMethod(_a = c4, _backgroundFetch, backgroundFetch_fn).call(_a, k3, index, options, context); + }, + moveToTail: (index) => { + var _a; + return __privateMethod(_a = c4, _moveToTail, moveToTail_fn).call(_a, index); + }, + indexes: (options) => { + var _a; + return __privateMethod(_a = c4, _indexes, indexes_fn).call(_a, options); + }, + rindexes: (options) => { + var _a; + return __privateMethod(_a = c4, _rindexes, rindexes_fn).call(_a, options); + }, + isStale: (index) => { + var _a; + return __privateGet(_a = c4, _isStale).call(_a, index); + } + }; + } + // Protected read-only members + /** + * {@link LRUCache.OptionsBase.max} (read-only) + */ + get max() { + return __privateGet(this, _max); + } + /** + * {@link LRUCache.OptionsBase.maxSize} (read-only) + */ + get maxSize() { + return __privateGet(this, _maxSize); + } + /** + * The total computed size of items in the cache (read-only) + */ + get calculatedSize() { + return __privateGet(this, _calculatedSize); + } + /** + * The number of items stored in the cache (read-only) + */ + get size() { + return __privateGet(this, _size); + } + /** + * {@link LRUCache.OptionsBase.fetchMethod} (read-only) + */ + get fetchMethod() { + return __privateGet(this, _fetchMethod); + } + /** + * {@link LRUCache.OptionsBase.dispose} (read-only) + */ + get dispose() { + return __privateGet(this, _dispose); + } + /** + * {@link LRUCache.OptionsBase.disposeAfter} (read-only) + */ + get disposeAfter() { + return __privateGet(this, _disposeAfter); + } + /** + * Return the remaining TTL time for a given entry key + */ + getRemainingTTL(key) { + return __privateGet(this, _keyMap).has(key) ? Infinity : 0; + } + /** + * Return a generator yielding `[key, value]` pairs, + * in order from most recently used to least recently used. + */ + *entries() { + for (const i4 of __privateMethod(this, _indexes, indexes_fn).call(this)) { + if (__privateGet(this, _valList)[i4] !== void 0 && __privateGet(this, _keyList)[i4] !== void 0 && !__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, __privateGet(this, _valList)[i4])) { + yield [__privateGet(this, _keyList)[i4], __privateGet(this, _valList)[i4]]; + } + } + } + /** + * Inverse order version of {@link LRUCache.entries} + * + * Return a generator yielding `[key, value]` pairs, + * in order from least recently used to most recently used. + */ + *rentries() { + for (const i4 of __privateMethod(this, _rindexes, rindexes_fn).call(this)) { + if (__privateGet(this, _valList)[i4] !== void 0 && __privateGet(this, _keyList)[i4] !== void 0 && !__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, __privateGet(this, _valList)[i4])) { + yield [__privateGet(this, _keyList)[i4], __privateGet(this, _valList)[i4]]; + } + } + } + /** + * Return a generator yielding the keys in the cache, + * in order from most recently used to least recently used. + */ + *keys() { + for (const i4 of __privateMethod(this, _indexes, indexes_fn).call(this)) { + const k3 = __privateGet(this, _keyList)[i4]; + if (k3 !== void 0 && !__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, __privateGet(this, _valList)[i4])) { + yield k3; + } + } + } + /** + * Inverse order version of {@link LRUCache.keys} + * + * Return a generator yielding the keys in the cache, + * in order from least recently used to most recently used. + */ + *rkeys() { + for (const i4 of __privateMethod(this, _rindexes, rindexes_fn).call(this)) { + const k3 = __privateGet(this, _keyList)[i4]; + if (k3 !== void 0 && !__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, __privateGet(this, _valList)[i4])) { + yield k3; + } + } + } + /** + * Return a generator yielding the values in the cache, + * in order from most recently used to least recently used. + */ + *values() { + for (const i4 of __privateMethod(this, _indexes, indexes_fn).call(this)) { + const v4 = __privateGet(this, _valList)[i4]; + if (v4 !== void 0 && !__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, __privateGet(this, _valList)[i4])) { + yield __privateGet(this, _valList)[i4]; + } + } + } + /** + * Inverse order version of {@link LRUCache.values} + * + * Return a generator yielding the values in the cache, + * in order from least recently used to most recently used. + */ + *rvalues() { + for (const i4 of __privateMethod(this, _rindexes, rindexes_fn).call(this)) { + const v4 = __privateGet(this, _valList)[i4]; + if (v4 !== void 0 && !__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, __privateGet(this, _valList)[i4])) { + yield __privateGet(this, _valList)[i4]; + } + } + } + /** + * Iterating over the cache itself yields the same results as + * {@link LRUCache.entries} + */ + [Symbol.iterator]() { + return this.entries(); + } + /** + * Find a value for which the supplied fn method returns a truthy value, + * similar to Array.find(). fn is called as fn(value, key, cache). + */ + find(fn, getOptions = {}) { + for (const i4 of __privateMethod(this, _indexes, indexes_fn).call(this)) { + const v4 = __privateGet(this, _valList)[i4]; + const value = __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4) ? v4.__staleWhileFetching : v4; + if (value === void 0) + continue; + if (fn(value, __privateGet(this, _keyList)[i4], this)) { + return this.get(__privateGet(this, _keyList)[i4], getOptions); + } + } + } + /** + * Call the supplied function on each item in the cache, in order from + * most recently used to least recently used. fn is called as + * fn(value, key, cache). Does not update age or recenty of use. + * Does not iterate over stale values. + */ + forEach(fn, thisp = this) { + for (const i4 of __privateMethod(this, _indexes, indexes_fn).call(this)) { + const v4 = __privateGet(this, _valList)[i4]; + const value = __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4) ? v4.__staleWhileFetching : v4; + if (value === void 0) + continue; + fn.call(thisp, value, __privateGet(this, _keyList)[i4], this); + } + } + /** + * The same as {@link LRUCache.forEach} but items are iterated over in + * reverse order. (ie, less recently used items are iterated over first.) + */ + rforEach(fn, thisp = this) { + for (const i4 of __privateMethod(this, _rindexes, rindexes_fn).call(this)) { + const v4 = __privateGet(this, _valList)[i4]; + const value = __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4) ? v4.__staleWhileFetching : v4; + if (value === void 0) + continue; + fn.call(thisp, value, __privateGet(this, _keyList)[i4], this); + } + } + /** + * Delete any stale entries. Returns true if anything was removed, + * false otherwise. + */ + purgeStale() { + let deleted = false; + for (const i4 of __privateMethod(this, _rindexes, rindexes_fn).call(this, { allowStale: true })) { + if (__privateGet(this, _isStale).call(this, i4)) { + this.delete(__privateGet(this, _keyList)[i4]); + deleted = true; + } + } + return deleted; + } + /** + * Return an array of [key, {@link LRUCache.Entry}] tuples which can be + * passed to cache.load() + */ + dump() { + const arr = []; + for (const i4 of __privateMethod(this, _indexes, indexes_fn).call(this, { allowStale: true })) { + const key = __privateGet(this, _keyList)[i4]; + const v4 = __privateGet(this, _valList)[i4]; + const value = __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4) ? v4.__staleWhileFetching : v4; + if (value === void 0 || key === void 0) + continue; + const entry = { value }; + if (__privateGet(this, _ttls) && __privateGet(this, _starts)) { + entry.ttl = __privateGet(this, _ttls)[i4]; + const age = perf.now() - __privateGet(this, _starts)[i4]; + entry.start = Math.floor(Date.now() - age); + } + if (__privateGet(this, _sizes)) { + entry.size = __privateGet(this, _sizes)[i4]; + } + arr.unshift([key, entry]); + } + return arr; + } + /** + * Reset the cache and load in the items in entries in the order listed. + * Note that the shape of the resulting cache may be different if the + * same options are not used in both caches. + */ + load(arr) { + this.clear(); + for (const [key, entry] of arr) { + if (entry.start) { + const age = Date.now() - entry.start; + entry.start = perf.now() - age; + } + this.set(key, entry.value, entry); + } + } + /** + * Add a value to the cache. + * + * Note: if `undefined` is specified as a value, this is an alias for + * {@link LRUCache#delete} + */ + set(k3, v4, setOptions = {}) { + var _a, _b; + if (v4 === void 0) { + this.delete(k3); + return this; + } + const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions; + let { noUpdateTTL = this.noUpdateTTL } = setOptions; + const size = __privateGet(this, _requireSize).call(this, k3, v4, setOptions.size || 0, sizeCalculation); + if (this.maxEntrySize && size > this.maxEntrySize) { + if (status) { + status.set = "miss"; + status.maxEntrySizeExceeded = true; + } + this.delete(k3); + return this; + } + let index = __privateGet(this, _size) === 0 ? void 0 : __privateGet(this, _keyMap).get(k3); + if (index === void 0) { + index = __privateGet(this, _size) === 0 ? __privateGet(this, _tail) : __privateGet(this, _free).length !== 0 ? __privateGet(this, _free).pop() : __privateGet(this, _size) === __privateGet(this, _max) ? __privateMethod(this, _evict, evict_fn).call(this, false) : __privateGet(this, _size); + __privateGet(this, _keyList)[index] = k3; + __privateGet(this, _valList)[index] = v4; + __privateGet(this, _keyMap).set(k3, index); + __privateGet(this, _next)[__privateGet(this, _tail)] = index; + __privateGet(this, _prev)[index] = __privateGet(this, _tail); + __privateSet(this, _tail, index); + __privateWrapper(this, _size)._++; + __privateGet(this, _addItemSize).call(this, index, size, status); + if (status) + status.set = "add"; + noUpdateTTL = false; + } else { + __privateMethod(this, _moveToTail, moveToTail_fn).call(this, index); + const oldVal = __privateGet(this, _valList)[index]; + if (v4 !== oldVal) { + if (__privateGet(this, _hasFetchMethod) && __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, oldVal)) { + oldVal.__abortController.abort(new Error("replaced")); + } else if (!noDisposeOnSet) { + if (__privateGet(this, _hasDispose)) { + (_a = __privateGet(this, _dispose)) == null ? void 0 : _a.call(this, oldVal, k3, "set"); + } + if (__privateGet(this, _hasDisposeAfter)) { + __privateGet(this, _disposed)?.push([oldVal, k3, "set"]); + } + } + __privateGet(this, _removeItemSize).call(this, index); + __privateGet(this, _addItemSize).call(this, index, size, status); + __privateGet(this, _valList)[index] = v4; + if (status) { + status.set = "replace"; + const oldValue = oldVal && __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, oldVal) ? oldVal.__staleWhileFetching : oldVal; + if (oldValue !== void 0) + status.oldValue = oldValue; + } + } else if (status) { + status.set = "update"; + } + } + if (ttl !== 0 && !__privateGet(this, _ttls)) { + __privateMethod(this, _initializeTTLTracking, initializeTTLTracking_fn).call(this); + } + if (__privateGet(this, _ttls)) { + if (!noUpdateTTL) { + __privateGet(this, _setItemTTL).call(this, index, ttl, start); + } + if (status) + __privateGet(this, _statusTTL).call(this, status, index); + } + if (!noDisposeOnSet && __privateGet(this, _hasDisposeAfter) && __privateGet(this, _disposed)) { + const dt = __privateGet(this, _disposed); + let task; + while (task = dt?.shift()) { + (_b = __privateGet(this, _disposeAfter)) == null ? void 0 : _b.call(this, ...task); + } + } + return this; + } + /** + * Evict the least recently used item, returning its value or + * `undefined` if cache is empty. + */ + pop() { + var _a; + try { + while (__privateGet(this, _size)) { + const val = __privateGet(this, _valList)[__privateGet(this, _head)]; + __privateMethod(this, _evict, evict_fn).call(this, true); + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, val)) { + if (val.__staleWhileFetching) { + return val.__staleWhileFetching; + } + } else if (val !== void 0) { + return val; + } + } + } finally { + if (__privateGet(this, _hasDisposeAfter) && __privateGet(this, _disposed)) { + const dt = __privateGet(this, _disposed); + let task; + while (task = dt?.shift()) { + (_a = __privateGet(this, _disposeAfter)) == null ? void 0 : _a.call(this, ...task); + } + } + } + } + /** + * Check if a key is in the cache, without updating the recency of use. + * Will return false if the item is stale, even though it is technically + * in the cache. + * + * Will not update item age unless + * {@link LRUCache.OptionsBase.updateAgeOnHas} is set. + */ + has(k3, hasOptions = {}) { + const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions; + const index = __privateGet(this, _keyMap).get(k3); + if (index !== void 0) { + const v4 = __privateGet(this, _valList)[index]; + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4) && v4.__staleWhileFetching === void 0) { + return false; + } + if (!__privateGet(this, _isStale).call(this, index)) { + if (updateAgeOnHas) { + __privateGet(this, _updateItemAge).call(this, index); + } + if (status) { + status.has = "hit"; + __privateGet(this, _statusTTL).call(this, status, index); + } + return true; + } else if (status) { + status.has = "stale"; + __privateGet(this, _statusTTL).call(this, status, index); + } + } else if (status) { + status.has = "miss"; + } + return false; + } + /** + * Like {@link LRUCache#get} but doesn't update recency or delete stale + * items. + * + * Returns `undefined` if the item is stale, unless + * {@link LRUCache.OptionsBase.allowStale} is set. + */ + peek(k3, peekOptions = {}) { + const { allowStale = this.allowStale } = peekOptions; + const index = __privateGet(this, _keyMap).get(k3); + if (index !== void 0 && (allowStale || !__privateGet(this, _isStale).call(this, index))) { + const v4 = __privateGet(this, _valList)[index]; + return __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4) ? v4.__staleWhileFetching : v4; + } + } + async fetch(k3, fetchOptions = {}) { + const { + // get options + allowStale = this.allowStale, + updateAgeOnGet = this.updateAgeOnGet, + noDeleteOnStaleGet = this.noDeleteOnStaleGet, + // set options + ttl = this.ttl, + noDisposeOnSet = this.noDisposeOnSet, + size = 0, + sizeCalculation = this.sizeCalculation, + noUpdateTTL = this.noUpdateTTL, + // fetch exclusive options + noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, + allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, + ignoreFetchAbort = this.ignoreFetchAbort, + allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, + context, + forceRefresh = false, + status, + signal + } = fetchOptions; + if (!__privateGet(this, _hasFetchMethod)) { + if (status) + status.fetch = "get"; + return this.get(k3, { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + status + }); + } + const options = { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + ttl, + noDisposeOnSet, + size, + sizeCalculation, + noUpdateTTL, + noDeleteOnFetchRejection, + allowStaleOnFetchRejection, + allowStaleOnFetchAbort, + ignoreFetchAbort, + status, + signal + }; + let index = __privateGet(this, _keyMap).get(k3); + if (index === void 0) { + if (status) + status.fetch = "miss"; + const p4 = __privateMethod(this, _backgroundFetch, backgroundFetch_fn).call(this, k3, index, options, context); + return p4.__returned = p4; + } else { + const v4 = __privateGet(this, _valList)[index]; + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4)) { + const stale = allowStale && v4.__staleWhileFetching !== void 0; + if (status) { + status.fetch = "inflight"; + if (stale) + status.returnedStale = true; + } + return stale ? v4.__staleWhileFetching : v4.__returned = v4; + } + const isStale = __privateGet(this, _isStale).call(this, index); + if (!forceRefresh && !isStale) { + if (status) + status.fetch = "hit"; + __privateMethod(this, _moveToTail, moveToTail_fn).call(this, index); + if (updateAgeOnGet) { + __privateGet(this, _updateItemAge).call(this, index); + } + if (status) + __privateGet(this, _statusTTL).call(this, status, index); + return v4; + } + const p4 = __privateMethod(this, _backgroundFetch, backgroundFetch_fn).call(this, k3, index, options, context); + const hasStale = p4.__staleWhileFetching !== void 0; + const staleVal = hasStale && allowStale; + if (status) { + status.fetch = isStale ? "stale" : "refresh"; + if (staleVal && isStale) + status.returnedStale = true; + } + return staleVal ? p4.__staleWhileFetching : p4.__returned = p4; + } + } + /** + * Return a value from the cache. Will update the recency of the cache + * entry found. + * + * If the key is not found, get() will return `undefined`. + */ + get(k3, getOptions = {}) { + const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions; + const index = __privateGet(this, _keyMap).get(k3); + if (index !== void 0) { + const value = __privateGet(this, _valList)[index]; + const fetching = __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, value); + if (status) + __privateGet(this, _statusTTL).call(this, status, index); + if (__privateGet(this, _isStale).call(this, index)) { + if (status) + status.get = "stale"; + if (!fetching) { + if (!noDeleteOnStaleGet) { + this.delete(k3); + } + if (status && allowStale) + status.returnedStale = true; + return allowStale ? value : void 0; + } else { + if (status && allowStale && value.__staleWhileFetching !== void 0) { + status.returnedStale = true; + } + return allowStale ? value.__staleWhileFetching : void 0; + } + } else { + if (status) + status.get = "hit"; + if (fetching) { + return value.__staleWhileFetching; + } + __privateMethod(this, _moveToTail, moveToTail_fn).call(this, index); + if (updateAgeOnGet) { + __privateGet(this, _updateItemAge).call(this, index); + } + return value; + } + } else if (status) { + status.get = "miss"; + } + } + /** + * Deletes a key out of the cache. + * Returns true if the key was deleted, false otherwise. + */ + delete(k3) { + var _a, _b; + let deleted = false; + if (__privateGet(this, _size) !== 0) { + const index = __privateGet(this, _keyMap).get(k3); + if (index !== void 0) { + deleted = true; + if (__privateGet(this, _size) === 1) { + this.clear(); + } else { + __privateGet(this, _removeItemSize).call(this, index); + const v4 = __privateGet(this, _valList)[index]; + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4)) { + v4.__abortController.abort(new Error("deleted")); + } else if (__privateGet(this, _hasDispose) || __privateGet(this, _hasDisposeAfter)) { + if (__privateGet(this, _hasDispose)) { + (_a = __privateGet(this, _dispose)) == null ? void 0 : _a.call(this, v4, k3, "delete"); + } + if (__privateGet(this, _hasDisposeAfter)) { + __privateGet(this, _disposed)?.push([v4, k3, "delete"]); + } + } + __privateGet(this, _keyMap).delete(k3); + __privateGet(this, _keyList)[index] = void 0; + __privateGet(this, _valList)[index] = void 0; + if (index === __privateGet(this, _tail)) { + __privateSet(this, _tail, __privateGet(this, _prev)[index]); + } else if (index === __privateGet(this, _head)) { + __privateSet(this, _head, __privateGet(this, _next)[index]); + } else { + __privateGet(this, _next)[__privateGet(this, _prev)[index]] = __privateGet(this, _next)[index]; + __privateGet(this, _prev)[__privateGet(this, _next)[index]] = __privateGet(this, _prev)[index]; + } + __privateWrapper(this, _size)._--; + __privateGet(this, _free).push(index); + } + } + } + if (__privateGet(this, _hasDisposeAfter) && __privateGet(this, _disposed)?.length) { + const dt = __privateGet(this, _disposed); + let task; + while (task = dt?.shift()) { + (_b = __privateGet(this, _disposeAfter)) == null ? void 0 : _b.call(this, ...task); + } + } + return deleted; + } + /** + * Clear the cache entirely, throwing away all values. + */ + clear() { + var _a, _b; + for (const index of __privateMethod(this, _rindexes, rindexes_fn).call(this, { allowStale: true })) { + const v4 = __privateGet(this, _valList)[index]; + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4)) { + v4.__abortController.abort(new Error("deleted")); + } else { + const k3 = __privateGet(this, _keyList)[index]; + if (__privateGet(this, _hasDispose)) { + (_a = __privateGet(this, _dispose)) == null ? void 0 : _a.call(this, v4, k3, "delete"); + } + if (__privateGet(this, _hasDisposeAfter)) { + __privateGet(this, _disposed)?.push([v4, k3, "delete"]); + } + } + } + __privateGet(this, _keyMap).clear(); + __privateGet(this, _valList).fill(void 0); + __privateGet(this, _keyList).fill(void 0); + if (__privateGet(this, _ttls) && __privateGet(this, _starts)) { + __privateGet(this, _ttls).fill(0); + __privateGet(this, _starts).fill(0); + } + if (__privateGet(this, _sizes)) { + __privateGet(this, _sizes).fill(0); + } + __privateSet(this, _head, 0); + __privateSet(this, _tail, 0); + __privateGet(this, _free).length = 0; + __privateSet(this, _calculatedSize, 0); + __privateSet(this, _size, 0); + if (__privateGet(this, _hasDisposeAfter) && __privateGet(this, _disposed)) { + const dt = __privateGet(this, _disposed); + let task; + while (task = dt?.shift()) { + (_b = __privateGet(this, _disposeAfter)) == null ? void 0 : _b.call(this, ...task); + } + } + } + }; + var LRUCache = _LRUCache; + _max = new WeakMap(); + _maxSize = new WeakMap(); + _dispose = new WeakMap(); + _disposeAfter = new WeakMap(); + _fetchMethod = new WeakMap(); + _size = new WeakMap(); + _calculatedSize = new WeakMap(); + _keyMap = new WeakMap(); + _keyList = new WeakMap(); + _valList = new WeakMap(); + _next = new WeakMap(); + _prev = new WeakMap(); + _head = new WeakMap(); + _tail = new WeakMap(); + _free = new WeakMap(); + _disposed = new WeakMap(); + _sizes = new WeakMap(); + _starts = new WeakMap(); + _ttls = new WeakMap(); + _hasDispose = new WeakMap(); + _hasFetchMethod = new WeakMap(); + _hasDisposeAfter = new WeakMap(); + _initializeTTLTracking = new WeakSet(); + initializeTTLTracking_fn = function() { + const ttls = new ZeroArray(__privateGet(this, _max)); + const starts = new ZeroArray(__privateGet(this, _max)); + __privateSet(this, _ttls, ttls); + __privateSet(this, _starts, starts); + __privateSet(this, _setItemTTL, (index, ttl, start = perf.now()) => { + starts[index] = ttl !== 0 ? start : 0; + ttls[index] = ttl; + if (ttl !== 0 && this.ttlAutopurge) { + const t5 = setTimeout(() => { + if (__privateGet(this, _isStale).call(this, index)) { + this.delete(__privateGet(this, _keyList)[index]); + } + }, ttl + 1); + if (t5.unref) { + t5.unref(); + } + } + }); + __privateSet(this, _updateItemAge, (index) => { + starts[index] = ttls[index] !== 0 ? perf.now() : 0; + }); + __privateSet(this, _statusTTL, (status, index) => { + if (ttls[index]) { + const ttl = ttls[index]; + const start = starts[index]; + status.ttl = ttl; + status.start = start; + status.now = cachedNow || getNow(); + const age = status.now - start; + status.remainingTTL = ttl - age; + } + }); + let cachedNow = 0; + const getNow = () => { + const n4 = perf.now(); + if (this.ttlResolution > 0) { + cachedNow = n4; + const t5 = setTimeout(() => cachedNow = 0, this.ttlResolution); + if (t5.unref) { + t5.unref(); + } + } + return n4; + }; + this.getRemainingTTL = (key) => { + const index = __privateGet(this, _keyMap).get(key); + if (index === void 0) { + return 0; + } + const ttl = ttls[index]; + const start = starts[index]; + if (ttl === 0 || start === 0) { + return Infinity; + } + const age = (cachedNow || getNow()) - start; + return ttl - age; + }; + __privateSet(this, _isStale, (index) => { + return ttls[index] !== 0 && starts[index] !== 0 && (cachedNow || getNow()) - starts[index] > ttls[index]; + }); + }; + _updateItemAge = new WeakMap(); + _statusTTL = new WeakMap(); + _setItemTTL = new WeakMap(); + _isStale = new WeakMap(); + _initializeSizeTracking = new WeakSet(); + initializeSizeTracking_fn = function() { + const sizes = new ZeroArray(__privateGet(this, _max)); + __privateSet(this, _calculatedSize, 0); + __privateSet(this, _sizes, sizes); + __privateSet(this, _removeItemSize, (index) => { + __privateSet(this, _calculatedSize, __privateGet(this, _calculatedSize) - sizes[index]); + sizes[index] = 0; + }); + __privateSet(this, _requireSize, (k3, v4, size, sizeCalculation) => { + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4)) { + return 0; + } + if (!isPosInt(size)) { + if (sizeCalculation) { + if (typeof sizeCalculation !== "function") { + throw new TypeError("sizeCalculation must be a function"); + } + size = sizeCalculation(v4, k3); + if (!isPosInt(size)) { + throw new TypeError("sizeCalculation return invalid (expect positive integer)"); + } + } else { + throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set."); + } + } + return size; + }); + __privateSet(this, _addItemSize, (index, size, status) => { + sizes[index] = size; + if (__privateGet(this, _maxSize)) { + const maxSize = __privateGet(this, _maxSize) - sizes[index]; + while (__privateGet(this, _calculatedSize) > maxSize) { + __privateMethod(this, _evict, evict_fn).call(this, true); + } + } + __privateSet(this, _calculatedSize, __privateGet(this, _calculatedSize) + sizes[index]); + if (status) { + status.entrySize = size; + status.totalCalculatedSize = __privateGet(this, _calculatedSize); + } + }); + }; + _removeItemSize = new WeakMap(); + _addItemSize = new WeakMap(); + _requireSize = new WeakMap(); + _indexes = new WeakSet(); + indexes_fn = function* ({ allowStale = this.allowStale } = {}) { + if (__privateGet(this, _size)) { + for (let i4 = __privateGet(this, _tail); true; ) { + if (!__privateMethod(this, _isValidIndex, isValidIndex_fn).call(this, i4)) { + break; + } + if (allowStale || !__privateGet(this, _isStale).call(this, i4)) { + yield i4; + } + if (i4 === __privateGet(this, _head)) { + break; + } else { + i4 = __privateGet(this, _prev)[i4]; + } + } + } + }; + _rindexes = new WeakSet(); + rindexes_fn = function* ({ allowStale = this.allowStale } = {}) { + if (__privateGet(this, _size)) { + for (let i4 = __privateGet(this, _head); true; ) { + if (!__privateMethod(this, _isValidIndex, isValidIndex_fn).call(this, i4)) { + break; + } + if (allowStale || !__privateGet(this, _isStale).call(this, i4)) { + yield i4; + } + if (i4 === __privateGet(this, _tail)) { + break; + } else { + i4 = __privateGet(this, _next)[i4]; + } + } + } + }; + _isValidIndex = new WeakSet(); + isValidIndex_fn = function(index) { + return index !== void 0 && __privateGet(this, _keyMap).get(__privateGet(this, _keyList)[index]) === index; + }; + _evict = new WeakSet(); + evict_fn = function(free) { + var _a; + const head = __privateGet(this, _head); + const k3 = __privateGet(this, _keyList)[head]; + const v4 = __privateGet(this, _valList)[head]; + if (__privateGet(this, _hasFetchMethod) && __privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4)) { + v4.__abortController.abort(new Error("evicted")); + } else if (__privateGet(this, _hasDispose) || __privateGet(this, _hasDisposeAfter)) { + if (__privateGet(this, _hasDispose)) { + (_a = __privateGet(this, _dispose)) == null ? void 0 : _a.call(this, v4, k3, "evict"); + } + if (__privateGet(this, _hasDisposeAfter)) { + __privateGet(this, _disposed)?.push([v4, k3, "evict"]); + } + } + __privateGet(this, _removeItemSize).call(this, head); + if (free) { + __privateGet(this, _keyList)[head] = void 0; + __privateGet(this, _valList)[head] = void 0; + __privateGet(this, _free).push(head); + } + if (__privateGet(this, _size) === 1) { + __privateSet(this, _head, __privateSet(this, _tail, 0)); + __privateGet(this, _free).length = 0; + } else { + __privateSet(this, _head, __privateGet(this, _next)[head]); + } + __privateGet(this, _keyMap).delete(k3); + __privateWrapper(this, _size)._--; + return head; + }; + _backgroundFetch = new WeakSet(); + backgroundFetch_fn = function(k3, index, options, context) { + const v4 = index === void 0 ? void 0 : __privateGet(this, _valList)[index]; + if (__privateMethod(this, _isBackgroundFetch, isBackgroundFetch_fn).call(this, v4)) { + return v4; + } + const ac = new AC(); + const { signal } = options; + signal?.addEventListener("abort", () => ac.abort(signal.reason), { + signal: ac.signal + }); + const fetchOpts = { + signal: ac.signal, + options, + context + }; + const cb = (v5, updateCache = false) => { + const { aborted } = ac.signal; + const ignoreAbort = options.ignoreFetchAbort && v5 !== void 0; + if (options.status) { + if (aborted && !updateCache) { + options.status.fetchAborted = true; + options.status.fetchError = ac.signal.reason; + if (ignoreAbort) + options.status.fetchAbortIgnored = true; + } else { + options.status.fetchResolved = true; + } + } + if (aborted && !ignoreAbort && !updateCache) { + return fetchFail(ac.signal.reason); + } + const bf2 = p4; + if (__privateGet(this, _valList)[index] === p4) { + if (v5 === void 0) { + if (bf2.__staleWhileFetching) { + __privateGet(this, _valList)[index] = bf2.__staleWhileFetching; + } else { + this.delete(k3); + } + } else { + if (options.status) + options.status.fetchUpdated = true; + this.set(k3, v5, fetchOpts.options); + } + } + return v5; + }; + const eb = (er) => { + if (options.status) { + options.status.fetchRejected = true; + options.status.fetchError = er; + } + return fetchFail(er); + }; + const fetchFail = (er) => { + const { aborted } = ac.signal; + const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; + const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; + const noDelete = allowStale || options.noDeleteOnFetchRejection; + const bf2 = p4; + if (__privateGet(this, _valList)[index] === p4) { + const del = !noDelete || bf2.__staleWhileFetching === void 0; + if (del) { + this.delete(k3); + } else if (!allowStaleAborted) { + __privateGet(this, _valList)[index] = bf2.__staleWhileFetching; + } + } + if (allowStale) { + if (options.status && bf2.__staleWhileFetching !== void 0) { + options.status.returnedStale = true; + } + return bf2.__staleWhileFetching; + } else if (bf2.__returned === bf2) { + throw er; + } + }; + const pcall = (res, rej) => { + var _a; + const fmp = (_a = __privateGet(this, _fetchMethod)) == null ? void 0 : _a.call(this, k3, v4, fetchOpts); + if (fmp && fmp instanceof Promise) { + fmp.then((v5) => res(v5), rej); + } + ac.signal.addEventListener("abort", () => { + if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) { + res(); + if (options.allowStaleOnFetchAbort) { + res = (v5) => cb(v5, true); + } + } + }); + }; + if (options.status) + options.status.fetchDispatched = true; + const p4 = new Promise(pcall).then(cb, eb); + const bf = Object.assign(p4, { + __abortController: ac, + __staleWhileFetching: v4, + __returned: void 0 + }); + if (index === void 0) { + this.set(k3, bf, { ...fetchOpts.options, status: void 0 }); + index = __privateGet(this, _keyMap).get(k3); + } else { + __privateGet(this, _valList)[index] = bf; + } + return bf; + }; + _isBackgroundFetch = new WeakSet(); + isBackgroundFetch_fn = function(p4) { + if (!__privateGet(this, _hasFetchMethod)) + return false; + const b3 = p4; + return !!b3 && b3 instanceof Promise && b3.hasOwnProperty("__staleWhileFetching") && b3.__abortController instanceof AC; + }; + _connect = new WeakSet(); + connect_fn = function(p4, n4) { + __privateGet(this, _prev)[n4] = p4; + __privateGet(this, _next)[p4] = n4; + }; + _moveToTail = new WeakSet(); + moveToTail_fn = function(index) { + if (index !== __privateGet(this, _tail)) { + if (index === __privateGet(this, _head)) { + __privateSet(this, _head, __privateGet(this, _next)[index]); + } else { + __privateMethod(this, _connect, connect_fn).call(this, __privateGet(this, _prev)[index], __privateGet(this, _next)[index]); + } + __privateMethod(this, _connect, connect_fn).call(this, __privateGet(this, _tail), index); + __privateSet(this, _tail, index); + } + }; + + // src/CompletionCache.ts + var import_object_hash = __toESM(require_object_hash()); + var import_object_sizeof = __toESM(require_indexv2()); + // src/utils.ts init_global(); init_dirname(); init_filename(); init_buffer2(); init_process2(); - function sleep(milliseconds) { - return new Promise((r5) => setTimeout(r5, milliseconds)); - } // src/generated/index.ts init_global(); @@ -6543,8 +11089,8 @@ var Tabby = (() => { init_buffer2(); init_process2(); var BaseHttpRequest = class { - constructor(config) { - this.config = config; + constructor(config2) { + this.config = config2; } }; @@ -6714,15 +11260,15 @@ var Tabby = (() => { const append2 = (key, value) => { qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`); }; - const process = (key, value) => { + const process2 = (key, value) => { if (isDefined(value)) { if (Array.isArray(value)) { value.forEach((v4) => { - process(key, v4); + process2(key, v4); }); } else if (typeof value === "object") { Object.entries(value).forEach(([k3, v4]) => { - process(`${key}[${k3}]`, v4); + process2(`${key}[${k3}]`, v4); }); } else { append2(key, value); @@ -6730,22 +11276,22 @@ var Tabby = (() => { } }; Object.entries(params).forEach(([key, value]) => { - process(key, value); + process2(key, value); }); if (qs.length > 0) { return `?${qs.join("&")}`; } return ""; }; - var getUrl = (config, options) => { - const encoder = config.ENCODE_PATH || encodeURI; - const path = options.url.replace("{api-version}", config.VERSION).replace(/{(.*?)}/g, (substring, group) => { + var getUrl = (config2, options) => { + const encoder = config2.ENCODE_PATH || encodeURI; + const path = options.url.replace("{api-version}", config2.VERSION).replace(/{(.*?)}/g, (substring, group) => { if (options.path?.hasOwnProperty(group)) { return encoder(String(options.path[group])); } return substring; }); - const url = `${config.BASE}${path}`; + const url = `${config2.BASE}${path}`; if (options.query) { return `${url}${getQueryString(options.query)}`; } @@ -6754,7 +11300,7 @@ var Tabby = (() => { var getFormData = (options) => { if (options.formData) { const formData = new import_form_data.default(); - const process = (key, value) => { + const process2 = (key, value) => { if (isString2(value) || isBlob2(value)) { formData.append(key, value); } else { @@ -6763,9 +11309,9 @@ var Tabby = (() => { }; Object.entries(options.formData).filter(([_3, value]) => isDefined(value)).forEach(([key, value]) => { if (Array.isArray(value)) { - value.forEach((v4) => process(key, v4)); + value.forEach((v4) => process2(key, v4)); } else { - process(key, value); + process2(key, value); } }); return formData; @@ -6778,11 +11324,11 @@ var Tabby = (() => { } return resolver; }; - var getHeaders = async (config, options, formData) => { - const token = await resolve(options, config.TOKEN); - const username = await resolve(options, config.USERNAME); - const password = await resolve(options, config.PASSWORD); - const additionalHeaders = await resolve(options, config.HEADERS); + var getHeaders = async (config2, options, formData) => { + const token = await resolve(options, config2.TOKEN); + const username = await resolve(options, config2.USERNAME); + const password = await resolve(options, config2.PASSWORD); + const additionalHeaders = await resolve(options, config2.HEADERS); const formHeaders = typeof formData?.getHeaders === "function" && formData?.getHeaders() || {}; const headers = Object.entries({ Accept: "application/json", @@ -6819,14 +11365,14 @@ var Tabby = (() => { } return void 0; }; - var sendRequest = async (config, options, url, body, formData, headers, onCancel) => { + var sendRequest = async (config2, options, url, body, formData, headers, onCancel) => { const source = axios_default.CancelToken.source(); const requestConfig = { url, headers, data: body ?? formData, method: options.method, - withCredentials: config.WITH_CREDENTIALS, + withCredentials: config2.WITH_CREDENTIALS, cancelToken: source.token }; onCancel(() => source.cancel("The user aborted a request.")); @@ -6874,15 +11420,15 @@ var Tabby = (() => { throw new ApiError(options, result, "Generic Error"); } }; - var request = (config, options) => { + var request = (config2, options) => { return new CancelablePromise(async (resolve2, reject, onCancel) => { try { - const url = getUrl(config, options); + const url = getUrl(config2, options); const formData = getFormData(options); const body = getRequestBody(options); - const headers = await getHeaders(config, options, formData); + const headers = await getHeaders(config2, options, formData); if (!onCancel.isCancelled) { - const response = await sendRequest(config, options, url, body, formData, headers, onCancel); + const response = await sendRequest(config2, options, url, body, formData, headers, onCancel); const responseBody = getResponseBody(response); const responseHeader = getResponseHeader(response, options.responseHeader); const result = { @@ -6903,8 +11449,8 @@ var Tabby = (() => { // src/generated/core/AxiosHttpRequest.ts var AxiosHttpRequest = class extends BaseHttpRequest { - constructor(config) { - super(config); + constructor(config2) { + super(config2); } /** * Request method @@ -6965,17 +11511,17 @@ var Tabby = (() => { // src/generated/TabbyApi.ts var TabbyApi = class { - constructor(config, HttpRequest = AxiosHttpRequest) { + constructor(config2, HttpRequest = AxiosHttpRequest) { this.request = new HttpRequest({ - BASE: config?.BASE ?? "", - VERSION: config?.VERSION ?? "0.1.0", - WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false, - CREDENTIALS: config?.CREDENTIALS ?? "include", - TOKEN: config?.TOKEN, - USERNAME: config?.USERNAME, - PASSWORD: config?.PASSWORD, - HEADERS: config?.HEADERS, - ENCODE_PATH: config?.ENCODE_PATH + BASE: config2?.BASE ?? "", + VERSION: config2?.VERSION ?? "0.1.0", + WITH_CREDENTIALS: config2?.WITH_CREDENTIALS ?? false, + CREDENTIALS: config2?.CREDENTIALS ?? "include", + TOKEN: config2?.TOKEN, + USERNAME: config2?.USERNAME, + PASSWORD: config2?.PASSWORD, + HEADERS: config2?.HEADERS, + ENCODE_PATH: config2?.ENCODE_PATH }); this.default = new DefaultService(this.request); } @@ -7001,6 +11547,134 @@ var Tabby = (() => { return EventType2; })(EventType || {}); + // src/utils.ts + function sleep(milliseconds) { + return new Promise((r5) => setTimeout(r5, milliseconds)); + } + function splitLines(input) { + return input.match(/.*(?:$|\r?\n)/g).filter(Boolean); + } + function splitWords(input) { + return input.match(/\w+|\W+/g).filter(Boolean); + } + function cancelable(promise, cancel) { + return new CancelablePromise((resolve2, reject, onCancel) => { + promise.then((resp) => { + resolve2(resp); + }).catch((err) => { + reject(err); + }); + onCancel(() => { + cancel(); + }); + }); + } + + // src/CompletionCache.ts + var CompletionCache = class { + constructor() { + this.options = { + maxSize: 1 * 1024 * 1024, + // 1MB + partiallyAcceptedCacheGeneration: { + enabled: true, + perCharacter: { + lines: 1, + words: 10, + max: 30 + }, + perWord: { + lines: 1, + max: 20 + }, + perLine: { + max: 3 + } + } + }; + this.cache = new LRUCache({ + maxSize: this.options.maxSize, + sizeCalculation: import_object_sizeof.default + }); + } + has(key) { + return this.cache.has(this.hash(key)); + } + set(key, value) { + for (const entry of this.createCacheEntries(key, value)) { + this.cache.set(this.hash(entry.key), entry.value); + } + } + get(key) { + return this.cache.get(this.hash(key)); + } + hash(key) { + return (0, import_object_hash.default)(key); + } + createCacheEntries(key, value) { + const list = [{ key, value }]; + if (this.options.partiallyAcceptedCacheGeneration.enabled) { + const entries = value.choices.map((choice) => { + return this.calculatePartiallyAcceptedPositions(choice.text).map((position) => { + return { + prefix: choice.text.slice(0, position), + suffix: choice.text.slice(position), + choiceIndex: choice.index + }; + }); + }).flat().reduce((grouped, entry) => { + grouped[entry.prefix] = grouped[entry.prefix] || []; + grouped[entry.prefix].push({ suffix: entry.suffix, choiceIndex: entry.choiceIndex }); + return grouped; + }, {}); + for (const prefix in entries) { + const cacheKey = { ...key, prompt: key.prompt + prefix }; + const cacheValue = { + ...value, + choices: entries[prefix].map((choice) => { + return { + index: choice.choiceIndex, + text: choice.suffix + }; + }) + }; + list.push({ + key: cacheKey, + value: cacheValue + }); + } + } + return list; + } + calculatePartiallyAcceptedPositions(completion) { + const positions = []; + const option = this.options.partiallyAcceptedCacheGeneration; + const lines = splitLines(completion); + let index = 0; + let offset = 0; + while (index < lines.length - 1 && index < option.perLine.max) { + offset += lines[index].length; + positions.push(offset); + index++; + } + const words = lines.slice(0, option.perWord.lines).map(splitWords).flat(); + index = 0; + offset = 0; + while (index < words.length && index < option.perWord.max) { + offset += words[index].length; + positions.push(offset); + index++; + } + const characters = lines.slice(0, option.perCharacter.lines).map(splitWords).flat().slice(0, option.perCharacter.words).join(""); + offset = 1; + while (offset < characters.length && offset < option.perCharacter.max) { + positions.push(offset); + offset++; + } + return positions.filter((v4, i4, arr) => arr.indexOf(v4) === i4).sort((a4, b3) => a4 - b3); + } + }; + // src/TabbyAgent.ts var TabbyAgent = class extends EventEmitter { constructor() { @@ -7009,6 +11683,7 @@ var Tabby = (() => { this.status = "connecting"; this.ping(); this.api = new TabbyApi({ BASE: this.serverUrl }); + this.completionCache = new CompletionCache(); } changeStatus(status) { if (this.status != status) { @@ -7035,22 +11710,18 @@ var Tabby = (() => { } } wrapApiPromise(promise) { - return new CancelablePromise((resolve2, reject, onCancel) => { - promise.then((resp) => { + return cancelable( + promise.then((resolved) => { this.changeStatus("ready"); - resolve2(resp); - }).catch((err) => { - reject(err); + return resolved; }).catch((err) => { this.changeStatus("disconnected"); - reject(err); - }).catch((err) => { - reject(err); - }); - onCancel(() => { + throw err; + }), + () => { promise.cancel(); - }); - }); + } + ); } setServerUrl(serverUrl) { this.serverUrl = serverUrl.replace(/\/$/, ""); @@ -7065,12 +11736,24 @@ var Tabby = (() => { return this.status; } getCompletions(request2) { - const promise = this.api.default.completionsV1CompletionsPost(request2); - return this.wrapApiPromise(promise); + if (this.completionCache.has(request2)) { + return new CancelablePromise((resolve2) => { + resolve2(this.completionCache.get(request2)); + }); + } + const promise = this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(request2)); + return cancelable( + promise.then((response) => { + this.completionCache.set(request2, response); + return response; + }), + () => { + promise.cancel(); + } + ); } postEvent(request2) { - const promise = this.api.default.eventsV1EventsPost(request2); - return this.wrapApiPromise(promise); + return this.wrapApiPromise(this.api.default.eventsV1EventsPost(request2)); } }; @@ -7088,6 +11771,17 @@ var Tabby = (() => { @jspm/core/nodelibs/browser/buffer.js: (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + @jspm/core/nodelibs/browser/assert.js: (*! * The buffer module from node.js, for the browser. diff --git a/clients/tabby-agent/dist/index.global.js.map b/clients/tabby-agent/dist/index.global.js.map index 4b0fa02..f3f667a 100644 --- a/clients/tabby-agent/dist/index.global.js.map +++ b/clients/tabby-agent/dist/index.global.js.map @@ -1 +1 @@ -{"version":3,"sources":["../node_modules/esbuild-plugin-polyfill-node/polyfills/global.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/__dirname.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/__filename.js","../node_modules/@jspm/core/nodelibs/browser/process.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/process.js","../node_modules/@jspm/core/nodelibs/browser/buffer.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/buffer.js","../node_modules/form-data/lib/browser.js","../src/index.ts","../src/TabbyAgent.ts","../node_modules/axios/index.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/@jspm/core/nodelibs/browser/events.js","../node_modules/@jspm/core/nodelibs/browser/chunk-4bd36a8f.js","../node_modules/@jspm/core/nodelibs/browser/assert.js","../node_modules/@jspm/core/nodelibs/browser/chunk-b4205b57.js","../node_modules/@jspm/core/nodelibs/browser/chunk-5decc758.js","../src/utils.ts","../src/generated/index.ts","../src/generated/TabbyApi.ts","../src/generated/core/AxiosHttpRequest.ts","../src/generated/core/BaseHttpRequest.ts","../src/generated/core/request.ts","../src/generated/core/ApiError.ts","../src/generated/core/CancelablePromise.ts","../src/generated/services/DefaultService.ts","../src/generated/core/OpenAPI.ts","../src/generated/models/EventType.ts","../src/types.ts"],"sourcesContent":["const global = globalThis;\nexport { global };\n","export const __dirname = \"/\";\n","export const __filename = \"/index.js\";\n","function unimplemented(name) {\r\n throw new Error('Node.js process ' + name + ' is not supported by JSPM core outside of Node.js');\r\n}\r\n\r\nvar queue = [];\r\nvar draining = false;\r\nvar currentQueue;\r\nvar queueIndex = -1;\r\n\r\nfunction cleanUpNextTick() {\r\n if (!draining || !currentQueue)\r\n return;\r\n draining = false;\r\n if (currentQueue.length) {\r\n queue = currentQueue.concat(queue);\r\n }\r\n else {\r\n queueIndex = -1;\r\n }\r\n if (queue.length)\r\n drainQueue();\r\n}\r\n\r\nfunction drainQueue() {\r\n if (draining)\r\n return;\r\n var timeout = setTimeout(cleanUpNextTick, 0);\r\n draining = true;\r\n\r\n var len = queue.length;\r\n while(len) {\r\n currentQueue = queue;\r\n queue = [];\r\n while (++queueIndex < len) {\r\n if (currentQueue)\r\n currentQueue[queueIndex].run();\r\n }\r\n queueIndex = -1;\r\n len = queue.length;\r\n }\r\n currentQueue = null;\r\n draining = false;\r\n clearTimeout(timeout);\r\n}\r\n\r\nfunction nextTick (fun) {\r\n var args = new Array(arguments.length - 1);\r\n if (arguments.length > 1) {\r\n for (var i = 1; i < arguments.length; i++)\r\n args[i - 1] = arguments[i];\r\n }\r\n queue.push(new Item(fun, args));\r\n if (queue.length === 1 && !draining)\r\n setTimeout(drainQueue, 0);\r\n}\r\n// v8 likes predictible objects\r\nfunction Item(fun, array) {\r\n this.fun = fun;\r\n this.array = array;\r\n}\r\nItem.prototype.run = function () {\r\n this.fun.apply(null, this.array);\r\n};\r\n\r\nvar title = 'browser';\r\nvar arch = 'x64';\r\nvar platform = 'browser';\r\nvar env = {\r\n PATH: '/usr/bin',\r\n LANG: navigator.language + '.UTF-8',\r\n PWD: '/',\r\n HOME: '/home',\r\n TMP: '/tmp',\r\n};\r\nvar argv = ['/usr/bin/node'];\r\nvar execArgv = [];\r\nvar version = 'v16.8.0';\r\nvar versions = {};\r\n\r\nvar emitWarning = function(message, type) {\r\n console.warn((type ? (type + ': ') : '') + message);\r\n};\r\n\r\nvar binding = function(name) { unimplemented('binding'); };\r\n\r\nvar umask = function(mask) { return 0; };\r\n\r\nvar cwd = function() { return '/'; };\r\nvar chdir = function(dir) {};\r\n\r\nvar release = {\r\n name: 'node',\r\n sourceUrl: '',\r\n headersUrl: '',\r\n libUrl: '',\r\n};\r\n\r\nfunction noop() {}\r\n\r\nvar _rawDebug = noop;\r\nvar moduleLoadList = [];\r\nfunction _linkedBinding(name) { unimplemented('_linkedBinding'); }\r\nvar domain = {};\r\nvar _exiting = false;\r\nvar config = {};\r\nfunction dlopen(name) { unimplemented('dlopen'); }\r\nfunction _getActiveRequests() { return []; }\r\nfunction _getActiveHandles() { return []; }\r\nvar reallyExit = noop;\r\nvar _kill = noop;\r\nvar cpuUsage = function() { return {}; };\r\nvar resourceUsage = cpuUsage;\r\nvar memoryUsage = cpuUsage;\r\nvar kill = noop;\r\nvar exit = noop;\r\nvar openStdin = noop;\r\nvar allowedNodeEnvironmentFlags = {};\r\nfunction assert(condition, message) {\r\n if (!condition) throw new Error(message || 'assertion error');\r\n}\r\nvar features = {\r\n inspector: false,\r\n debug: false,\r\n uv: false,\r\n ipv6: false,\r\n tls_alpn: false,\r\n tls_sni: false,\r\n tls_ocsp: false,\r\n tls: false,\r\n cached_builtins: true,\r\n};\r\nvar _fatalExceptions = noop;\r\nvar setUncaughtExceptionCaptureCallback = noop;\r\nfunction hasUncaughtExceptionCaptureCallback() { return false; }var _tickCallback = noop;\r\nvar _debugProcess = noop;\r\nvar _debugEnd = noop;\r\nvar _startProfilerIdleNotifier = noop;\r\nvar _stopProfilerIdleNotifier = noop;\r\nvar stdout = undefined;\r\nvar stderr = undefined;\r\nvar stdin = undefined;\r\nvar abort = noop;\r\nvar pid = 2;\r\nvar ppid = 1;\r\nvar execPath = '/bin/usr/node';\r\nvar debugPort = 9229;\r\nvar argv0 = 'node';\r\nvar _preload_modules = [];\r\nvar setSourceMapsEnabled = noop;\r\n\r\nvar _performance = {\r\n now: typeof performance !== 'undefined' ? performance.now.bind(performance) : undefined,\r\n timing: typeof performance !== 'undefined' ? performance.timing : undefined,\r\n};\r\nif (_performance.now === undefined) {\r\n var nowOffset = Date.now();\r\n\r\n if (_performance.timing && _performance.timing.navigationStart) {\r\n nowOffset = _performance.timing.navigationStart;\r\n }\r\n _performance.now = () => Date.now() - nowOffset;\r\n}\r\n\r\nfunction uptime() {\r\n return _performance.now() / 1000;\r\n}\r\n\r\nvar nanoPerSec = 1000000000;\r\nfunction hrtime(previousTimestamp) {\r\n var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3);\r\n var clocktime = _performance.now() * 1e-3;\r\n var seconds = Math.floor(clocktime) + baseNow;\r\n var nanoseconds = Math.floor((clocktime % 1) * 1e9);\r\n if (previousTimestamp) {\r\n seconds = seconds - previousTimestamp[0];\r\n nanoseconds = nanoseconds - previousTimestamp[1];\r\n if (nanoseconds < 0) {\r\n seconds--;\r\n nanoseconds += nanoPerSec;\r\n }\r\n }\r\n return [seconds, nanoseconds];\r\n}hrtime.bigint = function(time) {\r\n var diff = hrtime(time);\r\n if (typeof BigInt === 'undefined') {\r\n return diff[0] * nanoPerSec + diff[1];\r\n }\r\n return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]);\r\n};\r\n\r\nvar _maxListeners = 10;\r\nvar _events = {};\r\nvar _eventsCount = 0;\r\nfunction on () { return process }var addListener = on;\r\nvar once = on;\r\nvar off = on;\r\nvar removeListener = on;\r\nvar removeAllListeners = on;\r\nvar emit = noop;\r\nvar prependListener = on;\r\nvar prependOnceListener = on;\r\nfunction listeners (name) { return []; }\r\nvar process = {\r\n version,\r\n versions,\r\n arch,\r\n platform,\r\n release,\r\n _rawDebug,\r\n moduleLoadList,\r\n binding,\r\n _linkedBinding,\r\n _events,\r\n _eventsCount,\r\n _maxListeners,\r\n on,\r\n addListener,\r\n once,\r\n off,\r\n removeListener,\r\n removeAllListeners,\r\n emit,\r\n prependListener,\r\n prependOnceListener,\r\n listeners,\r\n domain,\r\n _exiting,\r\n config,\r\n dlopen,\r\n uptime,\r\n _getActiveRequests,\r\n _getActiveHandles,\r\n reallyExit,\r\n _kill,\r\n cpuUsage,\r\n resourceUsage,\r\n memoryUsage,\r\n kill,\r\n exit,\r\n openStdin,\r\n allowedNodeEnvironmentFlags,\r\n assert,\r\n features,\r\n _fatalExceptions,\r\n setUncaughtExceptionCaptureCallback,\r\n hasUncaughtExceptionCaptureCallback,\r\n emitWarning,\r\n nextTick,\r\n _tickCallback,\r\n _debugProcess,\r\n _debugEnd,\r\n _startProfilerIdleNotifier,\r\n _stopProfilerIdleNotifier,\r\n stdout,\r\n stdin,\r\n stderr,\r\n abort,\r\n umask,\r\n chdir,\r\n cwd,\r\n env,\r\n title,\r\n argv,\r\n execArgv,\r\n pid,\r\n ppid,\r\n execPath,\r\n debugPort,\r\n hrtime,\r\n argv0,\r\n _preload_modules,\r\n setSourceMapsEnabled,\r\n};\n\nexport { _debugEnd, _debugProcess, _events, _eventsCount, _exiting, _fatalExceptions, _getActiveHandles, _getActiveRequests, _kill, _linkedBinding, _maxListeners, _preload_modules, _rawDebug, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, _tickCallback, abort, addListener, allowedNodeEnvironmentFlags, arch, argv, argv0, assert, binding, chdir, config, cpuUsage, cwd, debugPort, process as default, dlopen, domain, emit, emitWarning, env, execArgv, execPath, exit, features, hasUncaughtExceptionCaptureCallback, hrtime, kill, listeners, memoryUsage, moduleLoadList, nextTick, off, on, once, openStdin, pid, platform, ppid, prependListener, prependOnceListener, reallyExit, release, removeAllListeners, removeListener, resourceUsage, setSourceMapsEnabled, setUncaughtExceptionCaptureCallback, stderr, stdin, stdout, title, umask, uptime, version, versions };\n","export * as process from \"process\";\n","var exports$3 = {},\n _dewExec$2 = false;\nfunction dew$2() {\n if (_dewExec$2) return exports$3;\n _dewExec$2 = true;\n exports$3.byteLength = byteLength;\n exports$3.toByteArray = toByteArray;\n exports$3.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\n var code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n } // Support decoding URL-safe base64 strings, as Node.js does.\n // See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\n revLookup[\"-\".charCodeAt(0)] = 62;\n revLookup[\"_\".charCodeAt(0)] = 63;\n\n function getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n } // base64 is 4/3 + up to two characters of the original data\n\n\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n\n return arr;\n }\n\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join(\"\");\n }\n\n function fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + \"==\");\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + \"=\");\n }\n\n return parts.join(\"\");\n }\n\n return exports$3;\n}\n\nvar exports$2 = {},\n _dewExec$1 = false;\nfunction dew$1() {\n if (_dewExec$1) return exports$2;\n _dewExec$1 = true;\n\n /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n exports$2.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n\n exports$2.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n };\n\n return exports$2;\n}\n\nvar exports$1 = {},\n _dewExec = false;\nfunction dew() {\n if (_dewExec) return exports$1;\n _dewExec = true;\n\n const base64 = dew$2();\n\n const ieee754 = dew$1();\n\n const customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") // eslint-disable-line dot-notation\n : null;\n exports$1.Buffer = Buffer;\n exports$1.SlowBuffer = SlowBuffer;\n exports$1.INSPECT_MAX_BYTES = 50;\n const K_MAX_LENGTH = 2147483647;\n exports$1.kMaxLength = K_MAX_LENGTH;\n /**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\n\n Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(\"This browser lacks typed array (Uint8Array) support which is required by \" + \"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");\n }\n\n function typedArraySupport() {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1);\n const proto = {\n foo: function () {\n return 42;\n }\n };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n\n Object.defineProperty(Buffer.prototype, \"parent\", {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer.prototype, \"offset\", {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n });\n\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\"The value \\\"\" + length + \"\\\" is invalid for option \\\"size\\\"\");\n } // Return an augmented `Uint8Array` instance\n\n\n const buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n }\n /**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\n function Buffer(arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") {\n throw new TypeError(\"The \\\"string\\\" argument must be of type string. Received type number\");\n }\n\n return allocUnsafe(arg);\n }\n\n return from(arg, encodingOrOffset, length);\n }\n\n Buffer.poolSize = 8192; // not used by this implementation\n\n function from(value, encodingOrOffset, length) {\n if (typeof value === \"string\") {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n }\n\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof SharedArrayBuffer !== \"undefined\" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === \"number\") {\n throw new TypeError(\"The \\\"value\\\" argument must not be of type number. Received type number\");\n }\n\n const valueOf = value.valueOf && value.valueOf();\n\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n const b = fromObject(value);\n if (b) return b;\n\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") {\n return Buffer.from(value[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n }\n\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n }\n /**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\n Buffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n }; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n // https://github.com/feross/buffer/pull/148\n\n\n Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer, Uint8Array);\n\n function assertSize(size) {\n if (typeof size !== \"number\") {\n throw new TypeError(\"\\\"size\\\" argument must be of type number\");\n } else if (size < 0) {\n throw new RangeError(\"The value \\\"\" + size + \"\\\" is invalid for option \\\"size\\\"\");\n }\n }\n\n function alloc(size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === \"string\" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n\n return createBuffer(size);\n }\n /**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\n Buffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n /**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\n Buffer.allocUnsafe = function (size) {\n return allocUnsafe(size);\n };\n /**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\n Buffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size);\n };\n\n function fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") {\n encoding = \"utf8\";\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n\n const length = byteLength(string, encoding) | 0;\n let buf = createBuffer(length);\n const actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n }\n\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = createBuffer(length);\n\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n\n return buf;\n }\n\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n\n return fromArrayLike(arrayView);\n }\n\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"\\\"offset\\\" is outside of buffer bounds\");\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"\\\"length\\\" is outside of buffer bounds\");\n }\n\n let buf;\n\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n } // Return an augmented `Uint8Array` instance\n\n\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n }\n\n function fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = createBuffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== \"number\" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n\n return fromArrayLike(obj);\n }\n\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n\n function checked(length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum \" + \"size: 0x\" + K_MAX_LENGTH.toString(16) + \" bytes\");\n }\n\n return length | 0;\n }\n\n function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n }\n\n Buffer.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n };\n\n Buffer.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\"The \\\"buf1\\\", \\\"buf2\\\" arguments must be one of type Buffer or Uint8Array\");\n }\n\n if (a === b) return 0;\n let x = a.length;\n let y = b.length;\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n\n Buffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n\n default:\n return false;\n }\n };\n\n Buffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n let i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n buf.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n } else {\n buf.copy(buffer, pos);\n }\n\n pos += buf.length;\n }\n\n return buffer;\n };\n\n function byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== \"string\") {\n throw new TypeError(\"The \\\"string\\\" argument must be one of type string, Buffer, or ArrayBuffer. \" + \"Received type \" + typeof string);\n }\n\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion\n\n let loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n\n case \"utf8\":\n case \"utf-8\":\n return utf8ToBytes(string).length;\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n\n case \"hex\":\n return len >>> 1;\n\n case \"base64\":\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n\n Buffer.byteLength = byteLength;\n\n function slowToString(encoding, start, end) {\n let loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return \"\";\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return \"\";\n } // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return \"\";\n }\n\n if (!encoding) encoding = \"utf8\";\n\n while (true) {\n switch (encoding) {\n case \"hex\":\n return hexSlice(this, start, end);\n\n case \"utf8\":\n case \"utf-8\":\n return utf8Slice(this, start, end);\n\n case \"ascii\":\n return asciiSlice(this, start, end);\n\n case \"latin1\":\n case \"binary\":\n return latin1Slice(this, start, end);\n\n case \"base64\":\n return base64Slice(this, start, end);\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n }\n } // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n // to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n // reliably in a browserify context because there could be multiple different\n // copies of the 'buffer' package in use. This method works even for Buffer\n // instances that were created from another copy of the `buffer` package.\n // See: https://github.com/feross/buffer/issues/154\n\n\n Buffer.prototype._isBuffer = true;\n\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n\n Buffer.prototype.swap16 = function swap16() {\n const len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n }\n\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n };\n\n Buffer.prototype.swap32 = function swap32() {\n const len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n }\n\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n };\n\n Buffer.prototype.swap64 = function swap64() {\n const len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n }\n\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n };\n\n Buffer.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n\n Buffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n Buffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n };\n\n Buffer.prototype.inspect = function inspect() {\n let str = \"\";\n const max = exports$1.INSPECT_MAX_BYTES;\n str = this.toString(\"hex\", 0, max).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max) str += \" ... \";\n return \"\";\n };\n\n if (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n }\n\n Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\"The \\\"target\\\" argument must be one of type Buffer or Uint8Array. \" + \"Received type \" + typeof target);\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError(\"out of range index\");\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n // OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n //\n // Arguments:\n // - buffer - a Buffer to search\n // - val - a string, Buffer, or number\n // - byteOffset - an index into `buffer`; will be clamped to an int32\n // - encoding - an optional encoding, relevant is val is a string\n // - dir - true for indexOf, false for lastIndexOf\n\n\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === \"string\") {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 255; // Search for a byte value [0-255]\n\n if (typeof Uint8Array.prototype.indexOf === \"function\") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n let i;\n\n if (dir) {\n let foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n }\n\n Buffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n\n Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n\n Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n\n function hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n }\n\n const strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n let i;\n\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n }\n\n function utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n }\n\n function asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n }\n\n function base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n }\n\n function ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n }\n\n Buffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = \"utf8\";\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n }\n\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n }\n\n if (!encoding) encoding = \"utf8\";\n let loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case \"hex\":\n return hexWrite(this, string, offset, length);\n\n case \"utf8\":\n case \"utf-8\":\n return utf8Write(this, string, offset, length);\n\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return asciiWrite(this, string, offset, length);\n\n case \"base64\":\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n\n Buffer.prototype.toJSON = function toJSON() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n\n function base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n }\n\n function utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n const res = [];\n let i = start;\n\n while (i < end) {\n const firstByte = buf[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n } // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n // the lowest limit is Chrome, with 0x10000 args.\n // We go 1 magnitude less, for safety\n\n\n const MAX_ARGUMENTS_LENGTH = 4096;\n\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n let res = \"\";\n let i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n }\n\n function asciiSlice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 127);\n }\n\n return ret;\n }\n\n function latin1Slice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n }\n\n function hexSlice(buf, start, end) {\n const len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n let out = \"\";\n\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n\n return out;\n }\n\n function utf16leSlice(buf, start, end) {\n const bytes = buf.slice(start, end);\n let res = \"\"; // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n }\n\n Buffer.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n const newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance\n\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n return newBuf;\n };\n /*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n\n Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n\n while (++i < byteLength && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n };\n\n Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n let val = this[offset + --byteLength];\n let mul = 1;\n\n while (byteLength > 0 && (mul *= 256)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n };\n\n Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n };\n\n Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n\n Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n\n Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n\n Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n\n Buffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n\n Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n\n while (++i < byteLength && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n };\n\n Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n };\n\n Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128)) return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n\n Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n\n Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n\n Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n\n Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n\n Buffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n\n Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n };\n\n Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n };\n\n Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n };\n\n Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n };\n\n function checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError(\"\\\"buffer\\\" argument must be a Buffer instance\");\n if (value > max || value < min) throw new RangeError(\"\\\"value\\\" argument is out of bounds\");\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n }\n\n Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n\n while (++i < byteLength && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n\n Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n\n Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n\n Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n\n Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n\n function wrtBigUInt64LE(buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n }\n\n function wrtBigUInt64BE(buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n }\n\n Buffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n Buffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n\n Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n\n while (++i < byteLength && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 127, -128);\n if (value < 0) value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n\n Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n\n Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n\n Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n\n Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0) value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n\n Buffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n Buffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n\n function checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n }\n\n function writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n\n Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n\n Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n\n function writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n\n Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n\n Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n }; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\n Buffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError(\"targetStart out of bounds\");\n }\n\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\"); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n const len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n }; // Usage:\n // buffer.fill(number[, offset[, end]])\n // buffer.fill(buffer[, offset[, end]])\n // buffer.fill(string[, offset[, end]][, encoding])\n\n\n Buffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n\n if (encoding !== undefined && typeof encoding !== \"string\") {\n throw new TypeError(\"encoding must be a string\");\n }\n\n if (typeof encoding === \"string\" && !Buffer.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n\n if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === \"number\") {\n val = val & 255;\n } else if (typeof val === \"boolean\") {\n val = Number(val);\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError(\"Out of range index\");\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n let i;\n\n if (typeof val === \"number\") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n const len = bytes.length;\n\n if (len === 0) {\n throw new TypeError(\"The value \\\"\" + val + \"\\\" is invalid for argument \\\"value\\\"\");\n }\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n }; // CUSTOM ERRORS\n // =============\n // Simplified versions from Node, changed for Buffer-only usage\n\n\n const errors = {};\n\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, \"message\", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n }); // Add the error code to the name to include it in the stack trace.\n\n this.name = `${this.name} [${sym}]`; // Access the stack to generate the error message including the error code\n // from the name.\n\n this.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n\n delete this.name;\n }\n\n get code() {\n return sym;\n }\n\n set code(value) {\n Object.defineProperty(this, \"code\", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n\n };\n }\n\n E(\"ERR_BUFFER_OUT_OF_BOUNDS\", function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n\n return \"Attempt to access memory outside buffer bounds\";\n }, RangeError);\n E(\"ERR_INVALID_ARG_TYPE\", function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E(\"ERR_OUT_OF_RANGE\", function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === \"bigint\") {\n received = String(input);\n\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n\n received += \"n\";\n }\n\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n\n function addNumericalSeparator(val) {\n let res = \"\";\n let i = val.length;\n const start = val[0] === \"-\" ? 1 : 0;\n\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n\n return `${val.slice(0, i)}${res}`;\n } // CHECK FUNCTIONS\n // ===============\n\n\n function checkBounds(buf, offset, byteLength) {\n validateNumber(offset, \"offset\");\n\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1));\n }\n }\n\n function checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === \"bigint\" ? \"n\" : \"\";\n let range;\n\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` + `${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n\n throw new errors.ERR_OUT_OF_RANGE(\"value\", range, value);\n }\n\n checkBounds(buf, offset, byteLength);\n }\n\n function validateNumber(value, name) {\n if (typeof value !== \"number\") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, \"number\", value);\n }\n }\n\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || \"offset\", \"an integer\", value);\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || \"offset\", `>= ${type ? 1 : 0} and <= ${length}`, value);\n } // HELPER FUNCTIONS\n // ================\n\n\n const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n function base64clean(str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split(\"=\")[0]; // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\n str = str.trim().replace(INVALID_BASE64_RE, \"\"); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return \"\"; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + \"=\";\n }\n\n return str;\n }\n\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 55295 && codePoint < 57344) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 56319) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 56320) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 128) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error(\"Invalid code point\");\n }\n }\n\n return bytes;\n }\n\n function asciiToBytes(str) {\n const byteArray = [];\n\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 255);\n }\n\n return byteArray;\n }\n\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n }\n\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n\n function blitBuffer(src, dst, offset, length) {\n let i;\n\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n } // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n // the `instanceof` check but they should be treated as of that type.\n // See: https://github.com/feross/buffer/issues/166\n\n\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n\n function numberIsNaN(obj) {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n } // Create lookup table for `toString('hex')`\n // See: https://github.com/feross/buffer/issues/219\n\n\n const hexSliceLookupTable = function () {\n const alphabet = \"0123456789abcdef\";\n const table = new Array(256);\n\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n\n return table;\n }(); // Return not function with Error if BigInt not supported\n\n\n function defineBigIntMethod(fn) {\n return typeof BigInt === \"undefined\" ? BufferBigIntNotDefined : fn;\n }\n\n function BufferBigIntNotDefined() {\n throw new Error(\"BigInt not supported\");\n }\n\n return exports$1;\n}\n\nconst exports = dew();\nexports['Buffer']; exports['SlowBuffer']; exports['INSPECT_MAX_BYTES']; exports['kMaxLength'];\n\nvar Buffer = exports.Buffer;\r\nvar INSPECT_MAX_BYTES = exports.INSPECT_MAX_BYTES;\r\nvar kMaxLength = exports.kMaxLength;\n\nexport { Buffer, INSPECT_MAX_BYTES, exports as default, kMaxLength };\n","export { Buffer } from \"buffer\";\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","export { TabbyAgent } from \"./TabbyAgent\";\nexport { Agent, AgentFunction, AgentEvent, StatusChangedEvent, agentEventNames } from \"./types\";\nexport {\n CancelablePromise,\n CancelError,\n ApiError,\n HTTPValidationError,\n ValidationError,\n CompletionRequest,\n CompletionResponse,\n Choice,\n ChoiceEvent,\n CompletionEvent,\n EventType,\n} from \"./generated\";\n","import axios from \"axios\";\nimport { EventEmitter } from \"events\";\nimport { strict as assert } from \"assert\";\nimport { sleep } from \"./utils\";\nimport { Agent, AgentEvent } from \"./types\";\nimport {\n TabbyApi,\n CancelablePromise,\n CancelError,\n ApiError,\n CompletionRequest,\n CompletionResponse,\n ChoiceEvent,\n CompletionEvent,\n} from \"./generated\";\n\nexport class TabbyAgent extends EventEmitter implements Agent {\n private serverUrl: string = \"http://127.0.0.1:5000\";\n private status: \"connecting\" | \"ready\" | \"disconnected\" = \"connecting\";\n private api: TabbyApi;\n\n constructor() {\n super();\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n }\n\n private changeStatus(status: \"connecting\" | \"ready\" | \"disconnected\") {\n if (this.status != status) {\n this.status = status;\n const event: AgentEvent = { event: \"statusChanged\", status };\n super.emit(\"statusChanged\", event);\n }\n }\n\n private async ping(tries: number = 0): Promise {\n try {\n const response = await axios.get(`${this.serverUrl}/`);\n assert(response.status == 200);\n this.changeStatus(\"ready\");\n return true;\n } catch (e) {\n if (tries > 5) {\n this.changeStatus(\"disconnected\");\n return false;\n }\n this.changeStatus(\"connecting\");\n const pingRetryDelay = 1000;\n await sleep(pingRetryDelay);\n return this.ping(tries + 1);\n }\n }\n\n private wrapApiPromise(promise: CancelablePromise): CancelablePromise {\n return new CancelablePromise((resolve, reject, onCancel) => {\n promise\n .then((resp: T) => {\n this.changeStatus(\"ready\");\n resolve(resp);\n })\n .catch((err: CancelError) => {\n reject(err);\n })\n .catch((err: ApiError) => {\n this.changeStatus(\"disconnected\");\n reject(err);\n })\n .catch((err: Error) => {\n reject(err);\n });\n onCancel(() => {\n promise.cancel();\n });\n });\n }\n\n public setServerUrl(serverUrl: string): string {\n this.serverUrl = serverUrl.replace(/\\/$/, \"\"); // Remove trailing slash\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n return this.serverUrl;\n }\n\n public getServerUrl(): string {\n return this.serverUrl;\n }\n\n public getStatus(): \"connecting\" | \"ready\" | \"disconnected\" {\n return this.status;\n }\n\n public getCompletions(request: CompletionRequest): CancelablePromise {\n const promise = this.api.default.completionsV1CompletionsPost(request);\n return this.wrapApiPromise(promise);\n }\n\n public postEvent(request: ChoiceEvent | CompletionEvent): CancelablePromise {\n const promise = this.api.default.eventsV1EventsPost(request);\n return this.wrapApiPromise(promise);\n }\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n mergeConfig\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","import platform from './node/index.js';\n\nexport {platform as default}\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else {\n requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","export const VERSION = \"1.4.0\";","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","import { y } from './chunk-4bd36a8f.js';\nexport { y as default } from './chunk-4bd36a8f.js';\n\n// https://github.com/denoland/deno_std/blob/d005433c709054af87aca54f57a446b4f7966f11/node/events.ts#L501-L638\r\ny.once = function (emitter, event) {\r\n return new Promise((resolve, reject) => {\r\n function eventListener(...args) {\r\n if (errorListener !== undefined) {\r\n emitter.removeListener('error', errorListener);\r\n }\r\n resolve(args);\r\n }\r\n let errorListener;\r\n if (event !== 'error') {\r\n // deno-lint-ignore no-explicit-any\r\n errorListener = (err) => {\r\n emitter.removeListener(name, eventListener);\r\n reject(err);\r\n };\r\n\r\n emitter.once('error', errorListener);\r\n }\r\n\r\n emitter.once(event, eventListener);\r\n });\r\n};\r\ny.on = function (emitter, event) {\r\n const unconsumedEventValues = [];\r\n const unconsumedPromises = [];\r\n let error = null;\r\n let finished = false;\r\n\r\n const iterator = {\r\n async next() {\r\n const value = unconsumedEventValues.shift();\r\n if (value) {\r\n return createIterResult(value, false);\r\n }\r\n\r\n if (error) {\r\n const p = Promise.reject(error);\r\n error = null;\r\n return p;\r\n }\r\n\r\n if (finished) {\r\n return createIterResult(undefined, true);\r\n }\r\n\r\n return new Promise((resolve, reject) => unconsumedPromises.push({ resolve, reject }));\r\n },\r\n async return() {\r\n emitter.removeListener(event, eventHandler);\r\n emitter.removeListener('error', errorHandler);\r\n finished = true;\r\n\r\n for (const promise of unconsumedPromises) {\r\n promise.resolve(createIterResult(undefined, true));\r\n }\r\n\r\n return createIterResult(undefined, true);\r\n },\r\n throw(err) {\r\n error = err;\r\n emitter.removeListener(event, eventHandler);\r\n emitter.removeListener('error', errorHandler);\r\n },\r\n [Symbol.asyncIterator]() {\r\n return this;\r\n },\r\n };\r\n\r\n emitter.on(event, eventHandler);\r\n emitter.on('error', errorHandler);\r\n\r\n return iterator;\r\n\r\n function eventHandler(...args) {\r\n const promise = unconsumedPromises.shift();\r\n if (promise) {\r\n promise.resolve(createIterResult(args, false));\r\n } else {\r\n unconsumedEventValues.push(args);\r\n }\r\n }\r\n\r\n function errorHandler(err) {\r\n finished = true;\r\n const toError = unconsumedPromises.shift();\r\n if (toError) {\r\n toError.reject(err);\r\n } else {\r\n error = err;\r\n }\r\n iterator.return();\r\n }\r\n};\r\nconst {\r\n EventEmitter,\r\n defaultMaxListeners,\r\n init,\r\n listenerCount,\r\n on,\r\n once,\r\n} = y;\n\nexport { EventEmitter, defaultMaxListeners, init, listenerCount, on, once };\n","var e,t,n=\"object\"==typeof Reflect?Reflect:null,r=n&&\"function\"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&\"function\"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this);}e=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function u(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function f(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function v(e,t,n,r){var i,o,s,v;if(u(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if(\"function\"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=f(e))>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");a.name=\"MaxListenersExceededWarning\",a.emitter=e,a.type=t,a.count=s.length,v=a,console&&console.warn&&console.warn(v);}return e}function a(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=a.bind(r);return i.listener=n,r.wrapFn=i,i}function h(e,t,n){var r=e._events;if(void 0===r)return [];var i=r[t];return void 0===i?[]:\"function\"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(s=t[0]),s instanceof Error)throw s;var u=new Error(\"Unhandled error.\"+(s?\" (\"+s.message+\")\":\"\"));throw u.context=s,u}var f=o[e];if(void 0===f)return !1;if(\"function\"==typeof f)r(f,this,t);else {var v=f.length,a=c(f,v);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():!function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return h(this,e,!0)},o.prototype.rawListeners=function(e){return h(this,e,!1)},o.listenerCount=function(e,t){return \"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};var y=e;y.EventEmitter;y.defaultMaxListeners;y.init;y.listenerCount;\n\ny.EventEmitter;\ny.defaultMaxListeners;\ny.init;\ny.listenerCount;\n\nexport { y };\n","import { X as X$1 } from './chunk-b4205b57.js';\nimport { T as T$1 } from './chunk-5decc758.js';\n\nfunction e(e,r){if(null==e)throw new TypeError(\"Cannot convert first argument to object\");for(var t=Object(e),n=1;n=0&&\"[object Function]\"===e$1.call(t.callee)),n};if(!Object.keys){var n=Object.prototype.hasOwnProperty,o=Object.prototype.toString,c=r$1,l=Object.prototype.propertyIsEnumerable,i=!l.call({toString:null},\"toString\"),a=l.call((function(){}),\"prototype\"),u=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],f=function(t){var e=t.constructor;return e&&e.prototype===t},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},s=function(){if(\"undefined\"==typeof window)return !1;for(var t in window)try{if(!p[\"$\"+t]&&n.call(window,t)&&null!==window[t]&&\"object\"==typeof window[t])try{f(window[t]);}catch(t){return !0}}catch(t){return !0}return !1}();t=function(t){var e=null!==t&&\"object\"==typeof t,r=\"[object Function]\"===o.call(t),l=c(t),p=e&&\"[object String]\"===o.call(t),y=[];if(!e&&!r&&!l)throw new TypeError(\"Object.keys called on a non-object\");var b=a&&r;if(p&&t.length>0&&!n.call(t,0))for(var g=0;g0)for(var h=0;h2?arguments[2]:{},c=r$2(o);e$2&&(c=n$1.call(c,Object.getOwnPropertySymbols(o)));for(var u=0;u1&&\"boolean\"!=typeof e)throw new TypeError('\"allowMissing\" argument must be a boolean');for(var n=v(r),y=P(\"%\"+(n.length>0?n[0]:\"\")+\"%\",e),a=1;a=n.length){var i=t$3(y,n[a]);if(!e&&!(n[a]in y))throw new o$3(\"base intrinsic for \"+r+\" exists, but the property is not available.\");y=i?i.get||i.value:y[n[a]];}else y=y[n[a]];return y};var t$4,p$1=e$4,o$4=c$2(\"%Function%\"),i$2=o$4.apply,a$3=o$4.call;(t$4=function(){return p$1.apply(a$3,arguments)}).apply=function(){return p$1.apply(i$2,arguments)};var l$4=t$4;var r$4,n$4,i$3=function(t){return t!=t},o$5=(r$4=function(t,e){return 0===t&&0===e?1/t==1/e:t===e||!(!i$3(t)||!i$3(e))},r$4),c$3=(n$4=function(){return \"function\"==typeof Object.is?Object.is:o$5},n$4),f$4=f$1,u$3=f$1,s$1=r$4,a$4=n$4,l$5=function(){var t=c$3();return f$4(Object,{is:t},{is:function(){return Object.is!==t}}),t},p$2=l$4(a$4(),Object);u$3(p$2,{getPolyfill:a$4,implementation:s$1,shim:l$5});var m=p$2;N=function(r){return r!=r};var N,e$5,i$4=N,n$5=(e$5=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:i$4},f$1),t$5=e$5,u$4=f$1,a$5=N,m$1=e$5,o$6=function(){var r=t$5();return n$5(Number,{isNaN:r},{isNaN:function(){return Number.isNaN!==r}}),r},s$2=m$1();u$4(s$2,{getPolyfill:m$1,implementation:a$5,shim:o$6});var f$5=s$2;var c$4={},a$6=!1;function i$5(){if(a$6)return c$4;function e(t){return (e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function n(t,n){return !n||\"object\"!==e(n)&&\"function\"!=typeof n?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):n}function r(t){return (r=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function o(t,e){return (o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}a$6=!0;var i,u,l={};function f(t,e,c){c||(c=Error);var a=function(c){function a(o,c,i){var u;return !function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,a),(u=n(this,r(a).call(this,function(t,n,r){return \"string\"==typeof e?e:e(t,n,r)}(o,c,i)))).code=t,u}return !function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e);}(a,c),a}(c);l[t]=a;}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?\"one of \".concat(e,\" \").concat(t.slice(0,n-1).join(\", \"),\", or \")+t[n-1]:2===n?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return \"of \".concat(e,\" \").concat(String(t))}return f(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),f(\"ERR_INVALID_ARG_TYPE\",(function(t,n,r){var o,c,u;if(void 0===i&&(i=tt()),i(\"string\"==typeof t,\"'name' must be a string\"),\"string\"==typeof n&&(c=\"not \",n.substr(0,c.length)===c)?(o=\"must not be\",n=n.replace(/^not /,\"\")):o=\"must be\",function(t,e,n){return (void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t,\" argument\"))u=\"The \".concat(t,\" \").concat(o,\" \").concat(s(n,\"type\"));else {var l=function(t,e,n){return \"number\"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,\".\")?\"property\":\"argument\";u='The \"'.concat(t,'\" ').concat(l,\" \").concat(o,\" \").concat(s(n,\"type\"));}return u+=\". Received type \".concat(e(r))}),TypeError),f(\"ERR_INVALID_ARG_VALUE\",(function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"is invalid\";void 0===u&&(u=X$1);var o=u.inspect(n);return o.length>128&&(o=\"\".concat(o.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(o)}),TypeError),f(\"ERR_INVALID_RETURN_VALUE\",(function(t,n,r){var o;return o=r&&r.constructor&&r.constructor.name?\"instance of \".concat(r.constructor.name):\"type \".concat(e(r)),\"Expected \".concat(t,' to be returned from the \"').concat(n,'\"')+\" function but got \".concat(o,\".\")}),TypeError),f(\"ERR_MISSING_ARGS\",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,\"At least one arg needs to be specified\");var r=\"The \",o=e.length;switch(e=e.map((function(t){return '\"'.concat(t,'\"')})),o){case 1:r+=\"\".concat(e[0],\" argument\");break;case 2:r+=\"\".concat(e[0],\" and \").concat(e[1],\" arguments\");break;default:r+=e.slice(0,o-1).join(\", \"),r+=\", and \".concat(e[o-1],\" arguments\");}return \"\".concat(r,\" must be specified\")}),TypeError),c$4.codes=l,c$4}var u$5={},l$6=!1;function f$6(){if(l$6)return u$5;l$6=!0;var n=T$1;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){for(var n=0;nt.length)&&(n=t.length),t.substring(n-e.length,n)===e}var m=\"\",E=\"\",w=\"\",S=\"\",j={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"};function O(t){var e=Object.keys(t),n=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){n[e]=t[e];})),Object.defineProperty(n,\"message\",{value:t.message}),n}function x(t){return b(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function q(t,e,r){var o=\"\",c=\"\",a=0,i=\"\",u=!1,l=x(t),f=l.split(\"\\n\"),s=x(e).split(\"\\n\"),p=0,g=\"\";if(\"strictEqual\"===r&&\"object\"===y(t)&&\"object\"===y(e)&&null!==t&&null!==e&&(r=\"strictEqualObject\"),1===f.length&&1===s.length&&f[0]!==s[0]){var h=f[0].length+s[0].length;if(h<=10){if(!(\"object\"===y(t)&&null!==t||\"object\"===y(e)&&null!==e||0===t&&0===e))return \"\".concat(j[r],\"\\n\\n\")+\"\".concat(f[0],\" !== \").concat(s[0],\"\\n\")}else if(\"strictEqualObject\"!==r){if(h<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;f[0][p]===s[0][p];)p++;p>2&&(g=\"\\n \".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return \"\";var n=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+=t.substring(0,n-t.length)}(\" \",p),\"^\"),p=0);}}}for(var b=f[f.length-1],v=s[s.length-1];b===v&&(p++<2?i=\"\\n \".concat(b).concat(i):o=b,f.pop(),s.pop(),0!==f.length&&0!==s.length);)b=f[f.length-1],v=s[s.length-1];var O=Math.max(f.length,s.length);if(0===O){var q=l.split(\"\\n\");if(q.length>30)for(q[26]=\"\".concat(m,\"...\").concat(S);q.length>27;)q.pop();return \"\".concat(j.notIdentical,\"\\n\\n\").concat(q.join(\"\\n\"),\"\\n\")}p>3&&(i=\"\\n\".concat(m,\"...\").concat(S).concat(i),u=!0),\"\"!==o&&(i=\"\\n \".concat(o).concat(i),o=\"\");var R=0,A=j[r]+\"\\n\".concat(E,\"+ actual\").concat(S,\" \").concat(w,\"- expected\").concat(S),k=\" \".concat(m,\"...\").concat(S,\" Lines skipped\");for(p=0;p1&&p>2&&(_>4?(c+=\"\\n\".concat(m,\"...\").concat(S),u=!0):_>3&&(c+=\"\\n \".concat(s[p-2]),R++),c+=\"\\n \".concat(s[p-1]),R++),a=p,o+=\"\\n\".concat(w,\"-\").concat(S,\" \").concat(s[p]),R++;else if(s.length1&&p>2&&(_>4?(c+=\"\\n\".concat(m,\"...\").concat(S),u=!0):_>3&&(c+=\"\\n \".concat(f[p-2]),R++),c+=\"\\n \".concat(f[p-1]),R++),a=p,c+=\"\\n\".concat(E,\"+\").concat(S,\" \").concat(f[p]),R++;else {var T=s[p],P=f[p],I=P!==T&&(!d(P,\",\")||P.slice(0,-1)!==T);I&&d(T,\",\")&&T.slice(0,-1)===P&&(I=!1,P+=\",\"),I?(_>1&&p>2&&(_>4?(c+=\"\\n\".concat(m,\"...\").concat(S),u=!0):_>3&&(c+=\"\\n \".concat(f[p-2]),R++),c+=\"\\n \".concat(f[p-1]),R++),a=p,c+=\"\\n\".concat(E,\"+\").concat(S,\" \").concat(P),o+=\"\\n\".concat(w,\"-\").concat(S,\" \").concat(T),R+=2):(c+=o,o=\"\",1!==_&&0!==p||(c+=\"\\n \".concat(P),R++));}if(R>20&&p30)for(g[26]=\"\".concat(m,\"...\").concat(S);g.length>27;)g.pop();r=1===g.length?c(this,h(e).call(this,\"\".concat(p,\" \").concat(g[0]))):c(this,h(e).call(this,\"\".concat(p,\"\\n\\n\").concat(g.join(\"\\n\"),\"\\n\")));}else {var b=x(l),d=\"\",R=j[i];\"notDeepEqual\"===i||\"notEqual\"===i?(b=\"\".concat(j[i],\"\\n\\n\").concat(b)).length>1024&&(b=\"\".concat(b.slice(0,1021),\"...\")):(d=\"\".concat(x(f)),b.length>512&&(b=\"\".concat(b.slice(0,509),\"...\")),d.length>512&&(d=\"\".concat(d.slice(0,509),\"...\")),\"deepEqual\"===i||\"equal\"===i?b=\"\".concat(R,\"\\n\\n\").concat(b,\"\\n\\nshould equal\\n\\n\"):d=\" \".concat(i,\" \").concat(d)),r=c(this,h(e).call(this,\"\".concat(b).concat(d)));}return Error.stackTraceLimit=s,r.generatedMessage=!o,Object.defineProperty(a(r),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),r.code=\"ERR_ASSERTION\",r.actual=l,r.expected=f,r.operator=i,Error.captureStackTrace&&Error.captureStackTrace(a(r),u),r.stack,r.name=\"AssertionError\",c(r)}var i,u;return !function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e);}(e,t),i=e,(u=[{key:\"toString\",value:function(){return \"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:b.custom,value:function(t,e){return b(this,function(t){for(var e=1;e10)return !0;for(var e=0;e57)return !0}return 10===t.length&&t>=Math.pow(2,32)}function G(t){return Object.keys(t).filter(U).concat(v$1(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */function V(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,o=0,c=Math.min(n,r);o1?n-1:0),o=1;o1?n-1:0),o=1;o1?n-1:0),o=1;o1?n-1:0),o=1;o=0&&\"[object Array]\"!==e.call(t)&&\"[object Function]\"===e.call(t.callee)},r=function(){return o(arguments)}();o.isLegacyArguments=n;var l=r?o:n;var t$1=Object.prototype.toString,o$1=Function.prototype.toString,n$1=/^\\s*(?:function)?\\*/,e$1=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.toStringTag,r$1=Object.getPrototypeOf,c=function(){if(!e$1)return !1;try{return Function(\"return function*() {}\")()}catch(t){}}(),u=c?r$1(c):{},i=function(c){return \"function\"==typeof c&&(!!n$1.test(o$1.call(c))||(e$1?r$1(c)===u:\"[object GeneratorFunction]\"===t$1.call(c)))};var t$2=\"function\"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}));}:function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t;}};var i$1=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8},o$2={},u$1=i$1,f=l,a=i;function c$1(e){return e.call.bind(e)}var s=\"undefined\"!=typeof BigInt,p=\"undefined\"!=typeof Symbol,y=p&&void 0!==Symbol.toStringTag,l$1=\"undefined\"!=typeof Uint8Array,d=\"undefined\"!=typeof ArrayBuffer;if(l$1&&y)var g=Object.getPrototypeOf(Uint8Array.prototype),b=c$1(Object.getOwnPropertyDescriptor(g,Symbol.toStringTag).get);var m=c$1(Object.prototype.toString),h=c$1(Number.prototype.valueOf),j=c$1(String.prototype.valueOf),A=c$1(Boolean.prototype.valueOf);if(s)var w=c$1(BigInt.prototype.valueOf);if(p)var v=c$1(Symbol.prototype.valueOf);function O(e,t){if(\"object\"!=typeof e)return !1;try{return t(e),!0}catch(e){return !1}}function S(e){return l$1&&y?void 0!==b(e):B(e)||k(e)||E(e)||D(e)||U(e)||P(e)||x(e)||I(e)||M(e)||z(e)||F(e)}function B(e){return l$1&&y?\"Uint8Array\"===b(e):\"[object Uint8Array]\"===m(e)||u$1(e)&&void 0!==e.buffer}function k(e){return l$1&&y?\"Uint8ClampedArray\"===b(e):\"[object Uint8ClampedArray]\"===m(e)}function E(e){return l$1&&y?\"Uint16Array\"===b(e):\"[object Uint16Array]\"===m(e)}function D(e){return l$1&&y?\"Uint32Array\"===b(e):\"[object Uint32Array]\"===m(e)}function U(e){return l$1&&y?\"Int8Array\"===b(e):\"[object Int8Array]\"===m(e)}function P(e){return l$1&&y?\"Int16Array\"===b(e):\"[object Int16Array]\"===m(e)}function x(e){return l$1&&y?\"Int32Array\"===b(e):\"[object Int32Array]\"===m(e)}function I(e){return l$1&&y?\"Float32Array\"===b(e):\"[object Float32Array]\"===m(e)}function M(e){return l$1&&y?\"Float64Array\"===b(e):\"[object Float64Array]\"===m(e)}function z(e){return l$1&&y?\"BigInt64Array\"===b(e):\"[object BigInt64Array]\"===m(e)}function F(e){return l$1&&y?\"BigUint64Array\"===b(e):\"[object BigUint64Array]\"===m(e)}function T(e){return \"[object Map]\"===m(e)}function N(e){return \"[object Set]\"===m(e)}function W(e){return \"[object WeakMap]\"===m(e)}function $(e){return \"[object WeakSet]\"===m(e)}function C(e){return \"[object ArrayBuffer]\"===m(e)}function V(e){return \"undefined\"!=typeof ArrayBuffer&&(C.working?C(e):e instanceof ArrayBuffer)}function G(e){return \"[object DataView]\"===m(e)}function R(e){return \"undefined\"!=typeof DataView&&(G.working?G(e):e instanceof DataView)}function J(e){return \"[object SharedArrayBuffer]\"===m(e)}function _(e){return \"undefined\"!=typeof SharedArrayBuffer&&(J.working?J(e):e instanceof SharedArrayBuffer)}function H(e){return O(e,h)}function Z(e){return O(e,j)}function q(e){return O(e,A)}function K(e){return s&&O(e,w)}function L(e){return p&&O(e,v)}o$2.isArgumentsObject=f,o$2.isGeneratorFunction=a,o$2.isPromise=function(e){return \"undefined\"!=typeof Promise&&e instanceof Promise||null!==e&&\"object\"==typeof e&&\"function\"==typeof e.then&&\"function\"==typeof e.catch},o$2.isArrayBufferView=function(e){return d&&ArrayBuffer.isView?ArrayBuffer.isView(e):S(e)||R(e)},o$2.isTypedArray=S,o$2.isUint8Array=B,o$2.isUint8ClampedArray=k,o$2.isUint16Array=E,o$2.isUint32Array=D,o$2.isInt8Array=U,o$2.isInt16Array=P,o$2.isInt32Array=x,o$2.isFloat32Array=I,o$2.isFloat64Array=M,o$2.isBigInt64Array=z,o$2.isBigUint64Array=F,T.working=\"undefined\"!=typeof Map&&T(new Map),o$2.isMap=function(e){return \"undefined\"!=typeof Map&&(T.working?T(e):e instanceof Map)},N.working=\"undefined\"!=typeof Set&&N(new Set),o$2.isSet=function(e){return \"undefined\"!=typeof Set&&(N.working?N(e):e instanceof Set)},W.working=\"undefined\"!=typeof WeakMap&&W(new WeakMap),o$2.isWeakMap=function(e){return \"undefined\"!=typeof WeakMap&&(W.working?W(e):e instanceof WeakMap)},$.working=\"undefined\"!=typeof WeakSet&&$(new WeakSet),o$2.isWeakSet=function(e){return $(e)},C.working=\"undefined\"!=typeof ArrayBuffer&&C(new ArrayBuffer),o$2.isArrayBuffer=V,G.working=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView&&G(new DataView(new ArrayBuffer(1),0,1)),o$2.isDataView=R,J.working=\"undefined\"!=typeof SharedArrayBuffer&&J(new SharedArrayBuffer),o$2.isSharedArrayBuffer=_,o$2.isAsyncFunction=function(e){return \"[object AsyncFunction]\"===m(e)},o$2.isMapIterator=function(e){return \"[object Map Iterator]\"===m(e)},o$2.isSetIterator=function(e){return \"[object Set Iterator]\"===m(e)},o$2.isGeneratorObject=function(e){return \"[object Generator]\"===m(e)},o$2.isWebAssemblyCompiledModule=function(e){return \"[object WebAssembly.Module]\"===m(e)},o$2.isNumberObject=H,o$2.isStringObject=Z,o$2.isBooleanObject=q,o$2.isBigIntObject=K,o$2.isSymbolObject=L,o$2.isBoxedPrimitive=function(e){return H(e)||Z(e)||q(e)||K(e)||L(e)},o$2.isAnyArrayBuffer=function(e){return l$1&&(V(e)||_(e))},[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach((function(e){Object.defineProperty(o$2,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}});}));var Q=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:global,X={},Y=T$1,ee=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return \"[Circular]\"}default:return e}})),u=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),ye(t)?r.showHidden=t:t&&X._extend(r,t),be(r.showHidden)&&(r.showHidden=!1),be(r.depth)&&(r.depth=2),be(r.colors)&&(r.colors=!1),be(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ue),ae(r,e,r.depth)}function ue(e,t){var r=oe.styles[t];return r?\"\u001b[\"+oe.colors[r][0]+\"m\"+e+\"\u001b[\"+oe.colors[r][1]+\"m\":e}function fe(e,t){return e}function ae(e,t,r){if(e.customInspect&&t&&we(t.inspect)&&t.inspect!==X.inspect&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return ge(n)||(n=ae(e,n,r)),n}var i=function(e,t){if(be(t))return e.stylize(\"undefined\",\"undefined\");if(ge(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(de(t))return e.stylize(\"\"+t,\"number\");if(ye(t))return e.stylize(\"\"+t,\"boolean\");if(le(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),u=function(e){var t={};return e.forEach((function(e,r){t[e]=!0;})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Ae(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return ce(t);if(0===o.length){if(we(t)){var f=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+f+\"]\",\"special\")}if(me(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(je(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Ae(t))return ce(t)}var a,c=\"\",s=!1,p=[\"{\",\"}\"];(pe(t)&&(s=!0,p=[\"[\",\"]\"]),we(t))&&(c=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return me(t)&&(c=\" \"+RegExp.prototype.toString.call(t)),je(t)&&(c=\" \"+Date.prototype.toUTCString.call(t)),Ae(t)&&(c=\" \"+ce(t)),0!==o.length||s&&0!=t.length?r<0?me(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),a=s?function(e,t,r,n,i){for(var o=[],u=0,f=t.length;u=0&&n++,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+r[1];return r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}(a,c,p)):p[0]+c+p[1]}function ce(e){return \"[\"+Error.prototype.toString.call(e)+\"]\"}function se(e,t,r,n,i,o){var u,f,a;if((a=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?f=a.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):a.set&&(f=e.stylize(\"[Setter]\",\"special\")),ke(n,i)||(u=\"[\"+i+\"]\"),f||(e.seen.indexOf(a.value)<0?(f=le(r)?ae(e,a.value,null):ae(e,a.value,r-1)).indexOf(\"\\n\")>-1&&(f=o?f.split(\"\\n\").map((function(e){return \" \"+e})).join(\"\\n\").substr(2):\"\\n\"+f.split(\"\\n\").map((function(e){return \" \"+e})).join(\"\\n\")):f=e.stylize(\"[Circular]\",\"special\")),be(u)){if(o&&i.match(/^\\d+$/))return f;(u=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,\"name\")):(u=u.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),u=e.stylize(u,\"string\"));}return u+\": \"+f}function pe(e){return Array.isArray(e)}function ye(e){return \"boolean\"==typeof e}function le(e){return null===e}function de(e){return \"number\"==typeof e}function ge(e){return \"string\"==typeof e}function be(e){return void 0===e}function me(e){return he(e)&&\"[object RegExp]\"===ve(e)}function he(e){return \"object\"==typeof e&&null!==e}function je(e){return he(e)&&\"[object Date]\"===ve(e)}function Ae(e){return he(e)&&(\"[object Error]\"===ve(e)||e instanceof Error)}function we(e){return \"function\"==typeof e}function ve(e){return Object.prototype.toString.call(e)}function Oe(e){return e<10?\"0\"+e.toString(10):e.toString(10)}X.debuglog=function(e){if(e=e.toUpperCase(),!re[e])if(ne.test(e)){var t=Y.pid;re[e]=function(){var r=X.format.apply(X,arguments);console.error(\"%s %d: %s\",e,t,r);};}else re[e]=function(){};return re[e]},X.inspect=oe,oe.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},oe.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},X.types=o$2,X.isArray=pe,X.isBoolean=ye,X.isNull=le,X.isNullOrUndefined=function(e){return null==e},X.isNumber=de,X.isString=ge,X.isSymbol=function(e){return \"symbol\"==typeof e},X.isUndefined=be,X.isRegExp=me,X.types.isRegExp=me,X.isObject=he,X.isDate=je,X.types.isDate=je,X.isError=Ae,X.types.isNativeError=Ae,X.isFunction=we,X.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},X.isBuffer=i$1;var Se=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Be(){var e=new Date,t=[Oe(e.getHours()),Oe(e.getMinutes()),Oe(e.getSeconds())].join(\":\");return [e.getDate(),Se[e.getMonth()],t].join(\" \")}function ke(e,t){return Object.prototype.hasOwnProperty.call(e,t)}X.log=function(){console.log(\"%s - %s\",Be(),X.format.apply(X,arguments));},X.inherits=t$2,X._extend=function(e,t){if(!t||!he(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var Ee=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function De(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r;}return t(e)}X.promisify=function(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(Ee&&e[Ee]){var t;if(\"function\"!=typeof(t=e[Ee]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,Ee,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n;})),i=[],o=0;o1)for(var n=1;n setTimeout(r, milliseconds));\n}\n\nexport function splitLines(input: string) {\n return input.match(/.*(?:$|\\r?\\n)/g).filter(Boolean) // Split lines and keep newline character\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport { TabbyApi } from './TabbyApi';\n\nexport { ApiError } from './core/ApiError';\nexport { BaseHttpRequest } from './core/BaseHttpRequest';\nexport { CancelablePromise, CancelError } from './core/CancelablePromise';\nexport { OpenAPI } from './core/OpenAPI';\nexport type { OpenAPIConfig } from './core/OpenAPI';\n\nexport type { Choice } from './models/Choice';\nexport type { ChoiceEvent } from './models/ChoiceEvent';\nexport type { CompletionEvent } from './models/CompletionEvent';\nexport type { CompletionRequest } from './models/CompletionRequest';\nexport type { CompletionResponse } from './models/CompletionResponse';\nexport { EventType } from './models/EventType';\nexport type { HTTPValidationError } from './models/HTTPValidationError';\nexport type { ValidationError } from './models/ValidationError';\n\nexport { DefaultService } from './services/DefaultService';\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { AxiosHttpRequest } from './core/AxiosHttpRequest';\n\nimport { DefaultService } from './services/DefaultService';\n\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class TabbyApi {\n\n public readonly default: DefaultService;\n\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial, HttpRequest: HttpRequestConstructor = AxiosHttpRequest) {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? '',\n VERSION: config?.VERSION ?? '0.1.0',\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? 'include',\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n });\n\n this.default = new DefaultService(this.request);\n }\n}\n\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n\nexport class AxiosHttpRequest extends BaseHttpRequest {\n\n constructor(config: OpenAPIConfig) {\n super(config);\n }\n\n /**\n * Request method\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\n public override request(options: ApiRequestOptions): CancelablePromise {\n return __request(this.config, options);\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport abstract class BaseHttpRequest {\n\n constructor(public readonly config: OpenAPIConfig) {}\n\n public abstract request(options: ApiRequestOptions): CancelablePromise;\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport FormData from 'form-data';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nconst isDefined = (value: T | null | undefined): value is Exclude => {\n return value !== undefined && value !== null;\n};\n\nconst isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nconst isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nconst isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nconst isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nconst isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n\nconst base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nconst getQueryString = (params: Record): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nconst getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\n\nconst resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)(options);\n }\n return resolver;\n};\n\nconst getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise> => {\n const token = await resolve(options, config.TOKEN);\n const username = await resolve(options, config.USERNAME);\n const password = await resolve(options, config.PASSWORD);\n const additionalHeaders = await resolve(options, config.HEADERS);\n const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n ...formHeaders,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return headers;\n};\n\nconst getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};\n\nconst sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Record,\n onCancel: OnCancel\n): Promise> => {\n const source = axios.CancelToken.source();\n\n const requestConfig: AxiosRequestConfig = {\n url,\n headers,\n data: body ?? formData,\n method: options.method,\n withCredentials: config.WITH_CREDENTIALS,\n cancelToken: source.token,\n };\n\n onCancel(() => source.cancel('The user aborted a request.'));\n\n try {\n return await axios.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};\n\nconst getResponseHeader = (response: AxiosResponse, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nconst getResponseBody = (response: AxiosResponse): any => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};\n\nconst catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(options, result, 'Generic Error');\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\nexport const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options, formData);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise implements Promise {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise;\n #resolve?: (value: T | PromiseLike) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n this.#resolve?.(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike) | null\n ): Promise {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch(\n onRejected?: ((reason: any) => TResult | PromiseLike) | null\n ): Promise {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n this.#reject?.(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ChoiceEvent } from '../models/ChoiceEvent';\nimport type { CompletionEvent } from '../models/CompletionEvent';\nimport type { CompletionRequest } from '../models/CompletionRequest';\nimport type { CompletionResponse } from '../models/CompletionResponse';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport type { BaseHttpRequest } from '../core/BaseHttpRequest';\n\nexport class DefaultService {\n\n constructor(public readonly httpRequest: BaseHttpRequest) {}\n\n /**\n * Completions\n * @param requestBody\n * @returns CompletionResponse Successful Response\n * @throws ApiError\n */\n public completionsV1CompletionsPost(\n requestBody: CompletionRequest,\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/completions',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n /**\n * Events\n * @param requestBody\n * @returns any Successful Response\n * @throws ApiError\n */\n public eventsV1EventsPost(\n requestBody: (ChoiceEvent | CompletionEvent),\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/events',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\ntype Headers = Record;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n ENCODE_PATH?: (path: string) => string;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: '',\n VERSION: '0.1.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * An enumeration.\n */\nexport enum EventType {\n COMPLETION = 'completion',\n VIEW = 'view',\n SELECT = 'select',\n}\n","import { CancelablePromise, ChoiceEvent, CompletionEvent, CompletionRequest, CompletionResponse } from \"./generated\";\n\nexport interface AgentFunction {\n setServerUrl(url: string): string;\n getServerUrl(): string;\n getStatus(): \"connecting\" | \"ready\" | \"disconnected\";\n getCompletions(request: CompletionRequest): CancelablePromise;\n postEvent(event: ChoiceEvent | CompletionEvent): CancelablePromise;\n}\n\nexport type StatusChangedEvent = {\n event: \"statusChanged\";\n status: \"connecting\" | \"ready\" | \"disconnected\";\n}\n\nexport type AgentEvent = StatusChangedEvent;\nexport const agentEventNames: AgentEvent['event'][] = [\"statusChanged\"];\n\nexport interface AgentEventEmitter {\n on(eventName: T[\"event\"], callback: (event: T) => void): this;\n}\n\nexport type Agent = AgentFunction & AgentEventEmitter;\n"],"mappings":"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","names":["init_buffer","init_process","init_process","i","len","len2","e","m","d","s","c","base64","Buffer","b","isBuffer","a","x","y","n","toString","j","toJSON","byteLength","E","name","init_buffer","init_process","init_buffer","exports","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","prototype","i","l","a","b","descriptors","filter","m","p2","hasOwnProperty","name","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","request","filter","init_buffer","init_process","i","Buffer","prototype","name","toString","encode","init_buffer","init_process","h","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","name","i","e","isFormData","isFileList","transitional","init_buffer","init_process","init_buffer","init_process","i","filter","w","self","i","prototype","init_buffer","init_process","init_buffer","init_process","request","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","resolve","validateStatus","init_buffer","init_process","name","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","standardBrowserEnv","nonStandardBrowserEnv","init_buffer","init_process","init_buffer","init_process","i","e","resolve","request","_resolve","_reject","transitional","e","i","init_buffer","init_process","a","b","merge","init_buffer","init_process","init_buffer","init_process","i","validators","transitional","i","forEachMethodNoData","forEachMethodWithData","init_buffer","init_process","resolve","i","_resolve","request","c","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","Axios","AxiosError","CanceledError","isCancel","CancelToken","VERSION","all","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","mergeConfig","init_buffer","init_process","init_buffer","init_process","e","t","n","r","i","o","s","v","a","u","f","resolve","p","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","e","t","n","r","o","i","u","c","l","s","f","a","h","p","t","e","o","n","r","l","c","u","i","f","a","s","p","y","d","m","h","v","T","e","r","t","n","o","a","l","i","c","b","e$1","r$1","u","f","p","s","y","g","h","$","j","w","o$1","n$1","c$1","l$1","u$1","t$1","t$2","o$2","i$1","d","A","v","P","m","N","E","S","O","x","q","R","k","_","T","I","D","F","L","M","U","G","V","B","C","z","Q","Y","W","H","J","K","X","Z","m$1","init_buffer","init_process","r","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","request","init_buffer","init_process","resolve","isString","isBlob","isFormData","FormData","Buffer","append","v","k","_","headers","resolve","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","EventType","e","resolve","request","init_buffer","init_process"]} +{"version":3,"sources":["../node_modules/esbuild-plugin-polyfill-node/polyfills/global.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/__dirname.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/__filename.js","../node_modules/@jspm/core/nodelibs/browser/process.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/process.js","../node_modules/@jspm/core/nodelibs/browser/buffer.js","../node_modules/esbuild-plugin-polyfill-node/polyfills/buffer.js","../node_modules/object-hash/dist/object_hash.js","../node_modules/object-sizeof/byte_size.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/buffer/index.js","../node_modules/object-sizeof/indexv2.js","../node_modules/form-data/lib/browser.js","../src/index.ts","../src/TabbyAgent.ts","../node_modules/axios/index.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/@jspm/core/nodelibs/browser/events.js","../node_modules/@jspm/core/nodelibs/browser/chunk-4bd36a8f.js","../node_modules/@jspm/core/nodelibs/browser/assert.js","../node_modules/@jspm/core/nodelibs/browser/chunk-b4205b57.js","../node_modules/@jspm/core/nodelibs/browser/chunk-5decc758.js","../src/CompletionCache.ts","../node_modules/lru-cache/src/index.ts","../src/utils.ts","../src/generated/index.ts","../src/generated/TabbyApi.ts","../src/generated/core/AxiosHttpRequest.ts","../src/generated/core/BaseHttpRequest.ts","../src/generated/core/request.ts","../src/generated/core/ApiError.ts","../src/generated/core/CancelablePromise.ts","../src/generated/services/DefaultService.ts","../src/generated/core/OpenAPI.ts","../src/generated/models/EventType.ts","../src/types.ts"],"sourcesContent":["const global = globalThis;\nexport { global };\n","export const __dirname = \"/\";\n","export const __filename = \"/index.js\";\n","function unimplemented(name) {\r\n throw new Error('Node.js process ' + name + ' is not supported by JSPM core outside of Node.js');\r\n}\r\n\r\nvar queue = [];\r\nvar draining = false;\r\nvar currentQueue;\r\nvar queueIndex = -1;\r\n\r\nfunction cleanUpNextTick() {\r\n if (!draining || !currentQueue)\r\n return;\r\n draining = false;\r\n if (currentQueue.length) {\r\n queue = currentQueue.concat(queue);\r\n }\r\n else {\r\n queueIndex = -1;\r\n }\r\n if (queue.length)\r\n drainQueue();\r\n}\r\n\r\nfunction drainQueue() {\r\n if (draining)\r\n return;\r\n var timeout = setTimeout(cleanUpNextTick, 0);\r\n draining = true;\r\n\r\n var len = queue.length;\r\n while(len) {\r\n currentQueue = queue;\r\n queue = [];\r\n while (++queueIndex < len) {\r\n if (currentQueue)\r\n currentQueue[queueIndex].run();\r\n }\r\n queueIndex = -1;\r\n len = queue.length;\r\n }\r\n currentQueue = null;\r\n draining = false;\r\n clearTimeout(timeout);\r\n}\r\n\r\nfunction nextTick (fun) {\r\n var args = new Array(arguments.length - 1);\r\n if (arguments.length > 1) {\r\n for (var i = 1; i < arguments.length; i++)\r\n args[i - 1] = arguments[i];\r\n }\r\n queue.push(new Item(fun, args));\r\n if (queue.length === 1 && !draining)\r\n setTimeout(drainQueue, 0);\r\n}\r\n// v8 likes predictible objects\r\nfunction Item(fun, array) {\r\n this.fun = fun;\r\n this.array = array;\r\n}\r\nItem.prototype.run = function () {\r\n this.fun.apply(null, this.array);\r\n};\r\n\r\nvar title = 'browser';\r\nvar arch = 'x64';\r\nvar platform = 'browser';\r\nvar env = {\r\n PATH: '/usr/bin',\r\n LANG: navigator.language + '.UTF-8',\r\n PWD: '/',\r\n HOME: '/home',\r\n TMP: '/tmp',\r\n};\r\nvar argv = ['/usr/bin/node'];\r\nvar execArgv = [];\r\nvar version = 'v16.8.0';\r\nvar versions = {};\r\n\r\nvar emitWarning = function(message, type) {\r\n console.warn((type ? (type + ': ') : '') + message);\r\n};\r\n\r\nvar binding = function(name) { unimplemented('binding'); };\r\n\r\nvar umask = function(mask) { return 0; };\r\n\r\nvar cwd = function() { return '/'; };\r\nvar chdir = function(dir) {};\r\n\r\nvar release = {\r\n name: 'node',\r\n sourceUrl: '',\r\n headersUrl: '',\r\n libUrl: '',\r\n};\r\n\r\nfunction noop() {}\r\n\r\nvar _rawDebug = noop;\r\nvar moduleLoadList = [];\r\nfunction _linkedBinding(name) { unimplemented('_linkedBinding'); }\r\nvar domain = {};\r\nvar _exiting = false;\r\nvar config = {};\r\nfunction dlopen(name) { unimplemented('dlopen'); }\r\nfunction _getActiveRequests() { return []; }\r\nfunction _getActiveHandles() { return []; }\r\nvar reallyExit = noop;\r\nvar _kill = noop;\r\nvar cpuUsage = function() { return {}; };\r\nvar resourceUsage = cpuUsage;\r\nvar memoryUsage = cpuUsage;\r\nvar kill = noop;\r\nvar exit = noop;\r\nvar openStdin = noop;\r\nvar allowedNodeEnvironmentFlags = {};\r\nfunction assert(condition, message) {\r\n if (!condition) throw new Error(message || 'assertion error');\r\n}\r\nvar features = {\r\n inspector: false,\r\n debug: false,\r\n uv: false,\r\n ipv6: false,\r\n tls_alpn: false,\r\n tls_sni: false,\r\n tls_ocsp: false,\r\n tls: false,\r\n cached_builtins: true,\r\n};\r\nvar _fatalExceptions = noop;\r\nvar setUncaughtExceptionCaptureCallback = noop;\r\nfunction hasUncaughtExceptionCaptureCallback() { return false; }var _tickCallback = noop;\r\nvar _debugProcess = noop;\r\nvar _debugEnd = noop;\r\nvar _startProfilerIdleNotifier = noop;\r\nvar _stopProfilerIdleNotifier = noop;\r\nvar stdout = undefined;\r\nvar stderr = undefined;\r\nvar stdin = undefined;\r\nvar abort = noop;\r\nvar pid = 2;\r\nvar ppid = 1;\r\nvar execPath = '/bin/usr/node';\r\nvar debugPort = 9229;\r\nvar argv0 = 'node';\r\nvar _preload_modules = [];\r\nvar setSourceMapsEnabled = noop;\r\n\r\nvar _performance = {\r\n now: typeof performance !== 'undefined' ? performance.now.bind(performance) : undefined,\r\n timing: typeof performance !== 'undefined' ? performance.timing : undefined,\r\n};\r\nif (_performance.now === undefined) {\r\n var nowOffset = Date.now();\r\n\r\n if (_performance.timing && _performance.timing.navigationStart) {\r\n nowOffset = _performance.timing.navigationStart;\r\n }\r\n _performance.now = () => Date.now() - nowOffset;\r\n}\r\n\r\nfunction uptime() {\r\n return _performance.now() / 1000;\r\n}\r\n\r\nvar nanoPerSec = 1000000000;\r\nfunction hrtime(previousTimestamp) {\r\n var baseNow = Math.floor((Date.now() - _performance.now()) * 1e-3);\r\n var clocktime = _performance.now() * 1e-3;\r\n var seconds = Math.floor(clocktime) + baseNow;\r\n var nanoseconds = Math.floor((clocktime % 1) * 1e9);\r\n if (previousTimestamp) {\r\n seconds = seconds - previousTimestamp[0];\r\n nanoseconds = nanoseconds - previousTimestamp[1];\r\n if (nanoseconds < 0) {\r\n seconds--;\r\n nanoseconds += nanoPerSec;\r\n }\r\n }\r\n return [seconds, nanoseconds];\r\n}hrtime.bigint = function(time) {\r\n var diff = hrtime(time);\r\n if (typeof BigInt === 'undefined') {\r\n return diff[0] * nanoPerSec + diff[1];\r\n }\r\n return BigInt(diff[0] * nanoPerSec) + BigInt(diff[1]);\r\n};\r\n\r\nvar _maxListeners = 10;\r\nvar _events = {};\r\nvar _eventsCount = 0;\r\nfunction on () { return process }var addListener = on;\r\nvar once = on;\r\nvar off = on;\r\nvar removeListener = on;\r\nvar removeAllListeners = on;\r\nvar emit = noop;\r\nvar prependListener = on;\r\nvar prependOnceListener = on;\r\nfunction listeners (name) { return []; }\r\nvar process = {\r\n version,\r\n versions,\r\n arch,\r\n platform,\r\n release,\r\n _rawDebug,\r\n moduleLoadList,\r\n binding,\r\n _linkedBinding,\r\n _events,\r\n _eventsCount,\r\n _maxListeners,\r\n on,\r\n addListener,\r\n once,\r\n off,\r\n removeListener,\r\n removeAllListeners,\r\n emit,\r\n prependListener,\r\n prependOnceListener,\r\n listeners,\r\n domain,\r\n _exiting,\r\n config,\r\n dlopen,\r\n uptime,\r\n _getActiveRequests,\r\n _getActiveHandles,\r\n reallyExit,\r\n _kill,\r\n cpuUsage,\r\n resourceUsage,\r\n memoryUsage,\r\n kill,\r\n exit,\r\n openStdin,\r\n allowedNodeEnvironmentFlags,\r\n assert,\r\n features,\r\n _fatalExceptions,\r\n setUncaughtExceptionCaptureCallback,\r\n hasUncaughtExceptionCaptureCallback,\r\n emitWarning,\r\n nextTick,\r\n _tickCallback,\r\n _debugProcess,\r\n _debugEnd,\r\n _startProfilerIdleNotifier,\r\n _stopProfilerIdleNotifier,\r\n stdout,\r\n stdin,\r\n stderr,\r\n abort,\r\n umask,\r\n chdir,\r\n cwd,\r\n env,\r\n title,\r\n argv,\r\n execArgv,\r\n pid,\r\n ppid,\r\n execPath,\r\n debugPort,\r\n hrtime,\r\n argv0,\r\n _preload_modules,\r\n setSourceMapsEnabled,\r\n};\n\nexport { _debugEnd, _debugProcess, _events, _eventsCount, _exiting, _fatalExceptions, _getActiveHandles, _getActiveRequests, _kill, _linkedBinding, _maxListeners, _preload_modules, _rawDebug, _startProfilerIdleNotifier, _stopProfilerIdleNotifier, _tickCallback, abort, addListener, allowedNodeEnvironmentFlags, arch, argv, argv0, assert, binding, chdir, config, cpuUsage, cwd, debugPort, process as default, dlopen, domain, emit, emitWarning, env, execArgv, execPath, exit, features, hasUncaughtExceptionCaptureCallback, hrtime, kill, listeners, memoryUsage, moduleLoadList, nextTick, off, on, once, openStdin, pid, platform, ppid, prependListener, prependOnceListener, reallyExit, release, removeAllListeners, removeListener, resourceUsage, setSourceMapsEnabled, setUncaughtExceptionCaptureCallback, stderr, stdin, stdout, title, umask, uptime, version, versions };\n","export * as process from \"process\";\n","var exports$3 = {},\n _dewExec$2 = false;\nfunction dew$2() {\n if (_dewExec$2) return exports$3;\n _dewExec$2 = true;\n exports$3.byteLength = byteLength;\n exports$3.toByteArray = toByteArray;\n exports$3.fromByteArray = fromByteArray;\n var lookup = [];\n var revLookup = [];\n var Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\n var code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n for (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n } // Support decoding URL-safe base64 strings, as Node.js does.\n // See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\n revLookup[\"-\".charCodeAt(0)] = 62;\n revLookup[\"_\".charCodeAt(0)] = 63;\n\n function getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n } // base64 is 4/3 + up to two characters of the original data\n\n\n function byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n\n function _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n }\n\n function toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 255;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 255;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 255;\n arr[curByte++] = tmp & 255;\n }\n\n return arr;\n }\n\n function tripletToBase64(num) {\n return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];\n }\n\n function encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join(\"\");\n }\n\n function fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + \"==\");\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + \"=\");\n }\n\n return parts.join(\"\");\n }\n\n return exports$3;\n}\n\nvar exports$2 = {},\n _dewExec$1 = false;\nfunction dew$1() {\n if (_dewExec$1) return exports$2;\n _dewExec$1 = true;\n\n /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n exports$2.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n };\n\n exports$2.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 255, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 255, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n };\n\n return exports$2;\n}\n\nvar exports$1 = {},\n _dewExec = false;\nfunction dew() {\n if (_dewExec) return exports$1;\n _dewExec = true;\n\n const base64 = dew$2();\n\n const ieee754 = dew$1();\n\n const customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") // eslint-disable-line dot-notation\n : null;\n exports$1.Buffer = Buffer;\n exports$1.SlowBuffer = SlowBuffer;\n exports$1.INSPECT_MAX_BYTES = 50;\n const K_MAX_LENGTH = 2147483647;\n exports$1.kMaxLength = K_MAX_LENGTH;\n /**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\n\n Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") {\n console.error(\"This browser lacks typed array (Uint8Array) support which is required by \" + \"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");\n }\n\n function typedArraySupport() {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1);\n const proto = {\n foo: function () {\n return 42;\n }\n };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n }\n\n Object.defineProperty(Buffer.prototype, \"parent\", {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n });\n Object.defineProperty(Buffer.prototype, \"offset\", {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n });\n\n function createBuffer(length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError(\"The value \\\"\" + length + \"\\\" is invalid for option \\\"size\\\"\");\n } // Return an augmented `Uint8Array` instance\n\n\n const buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n }\n /**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\n function Buffer(arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") {\n throw new TypeError(\"The \\\"string\\\" argument must be of type string. Received type number\");\n }\n\n return allocUnsafe(arg);\n }\n\n return from(arg, encodingOrOffset, length);\n }\n\n Buffer.poolSize = 8192; // not used by this implementation\n\n function from(value, encodingOrOffset, length) {\n if (typeof value === \"string\") {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n }\n\n if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof SharedArrayBuffer !== \"undefined\" && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === \"number\") {\n throw new TypeError(\"The \\\"value\\\" argument must not be of type number. Received type number\");\n }\n\n const valueOf = value.valueOf && value.valueOf();\n\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n const b = fromObject(value);\n if (b) return b;\n\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") {\n return Buffer.from(value[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n }\n\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, \" + \"or Array-like Object. Received type \" + typeof value);\n }\n /**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\n Buffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length);\n }; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n // https://github.com/feross/buffer/pull/148\n\n\n Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n Object.setPrototypeOf(Buffer, Uint8Array);\n\n function assertSize(size) {\n if (typeof size !== \"number\") {\n throw new TypeError(\"\\\"size\\\" argument must be of type number\");\n } else if (size < 0) {\n throw new RangeError(\"The value \\\"\" + size + \"\\\" is invalid for option \\\"size\\\"\");\n }\n }\n\n function alloc(size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === \"string\" ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n }\n\n return createBuffer(size);\n }\n /**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\n Buffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding);\n };\n\n function allocUnsafe(size) {\n assertSize(size);\n return createBuffer(size < 0 ? 0 : checked(size) | 0);\n }\n /**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\n Buffer.allocUnsafe = function (size) {\n return allocUnsafe(size);\n };\n /**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\n Buffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size);\n };\n\n function fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") {\n encoding = \"utf8\";\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n\n const length = byteLength(string, encoding) | 0;\n let buf = createBuffer(length);\n const actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n }\n\n function fromArrayLike(array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = createBuffer(length);\n\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n\n return buf;\n }\n\n function fromArrayView(arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n\n return fromArrayLike(arrayView);\n }\n\n function fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError(\"\\\"offset\\\" is outside of buffer bounds\");\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError(\"\\\"length\\\" is outside of buffer bounds\");\n }\n\n let buf;\n\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n } // Return an augmented `Uint8Array` instance\n\n\n Object.setPrototypeOf(buf, Buffer.prototype);\n return buf;\n }\n\n function fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = createBuffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== \"number\" || numberIsNaN(obj.length)) {\n return createBuffer(0);\n }\n\n return fromArrayLike(obj);\n }\n\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n }\n\n function checked(length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError(\"Attempt to allocate Buffer larger than maximum \" + \"size: 0x\" + K_MAX_LENGTH.toString(16) + \" bytes\");\n }\n\n return length | 0;\n }\n\n function SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n }\n\n Buffer.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n };\n\n Buffer.compare = function compare(a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\"The \\\"buf1\\\", \\\"buf2\\\" arguments must be one of type Buffer or Uint8Array\");\n }\n\n if (a === b) return 0;\n let x = a.length;\n let y = b.length;\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n };\n\n Buffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n\n default:\n return false;\n }\n };\n\n Buffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n let i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n buf.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n } else {\n buf.copy(buffer, pos);\n }\n\n pos += buf.length;\n }\n\n return buffer;\n };\n\n function byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== \"string\") {\n throw new TypeError(\"The \\\"string\\\" argument must be one of type string, Buffer, or ArrayBuffer. \" + \"Received type \" + typeof string);\n }\n\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion\n\n let loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n\n case \"utf8\":\n case \"utf-8\":\n return utf8ToBytes(string).length;\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n\n case \"hex\":\n return len >>> 1;\n\n case \"base64\":\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n }\n\n Buffer.byteLength = byteLength;\n\n function slowToString(encoding, start, end) {\n let loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return \"\";\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return \"\";\n } // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return \"\";\n }\n\n if (!encoding) encoding = \"utf8\";\n\n while (true) {\n switch (encoding) {\n case \"hex\":\n return hexSlice(this, start, end);\n\n case \"utf8\":\n case \"utf-8\":\n return utf8Slice(this, start, end);\n\n case \"ascii\":\n return asciiSlice(this, start, end);\n\n case \"latin1\":\n case \"binary\":\n return latin1Slice(this, start, end);\n\n case \"base64\":\n return base64Slice(this, start, end);\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n }\n } // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n // to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n // reliably in a browserify context because there could be multiple different\n // copies of the 'buffer' package in use. This method works even for Buffer\n // instances that were created from another copy of the `buffer` package.\n // See: https://github.com/feross/buffer/issues/154\n\n\n Buffer.prototype._isBuffer = true;\n\n function swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n }\n\n Buffer.prototype.swap16 = function swap16() {\n const len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n }\n\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n };\n\n Buffer.prototype.swap32 = function swap32() {\n const len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n }\n\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n };\n\n Buffer.prototype.swap64 = function swap64() {\n const len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n }\n\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n };\n\n Buffer.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n };\n\n Buffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n Buffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n };\n\n Buffer.prototype.inspect = function inspect() {\n let str = \"\";\n const max = exports$1.INSPECT_MAX_BYTES;\n str = this.toString(\"hex\", 0, max).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max) str += \" ... \";\n return \"\";\n };\n\n if (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n }\n\n Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\"The \\\"target\\\" argument must be one of type Buffer or Uint8Array. \" + \"Received type \" + typeof target);\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError(\"out of range index\");\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n // OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n //\n // Arguments:\n // - buffer - a Buffer to search\n // - val - a string, Buffer, or number\n // - byteOffset - an index into `buffer`; will be clamped to an int32\n // - encoding - an optional encoding, relevant is val is a string\n // - dir - true for indexOf, false for lastIndexOf\n\n\n function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 2147483647) {\n byteOffset = 2147483647;\n } else if (byteOffset < -2147483648) {\n byteOffset = -2147483648;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === \"string\") {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 255; // Search for a byte value [0-255]\n\n if (typeof Uint8Array.prototype.indexOf === \"function\") {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n\n function arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n let i;\n\n if (dir) {\n let foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n }\n\n Buffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n };\n\n Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n };\n\n Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n };\n\n function hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n }\n\n const strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n let i;\n\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n }\n\n function utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n }\n\n function asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n }\n\n function base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n }\n\n function ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n }\n\n Buffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = \"utf8\";\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n }\n\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n }\n\n if (!encoding) encoding = \"utf8\";\n let loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case \"hex\":\n return hexWrite(this, string, offset, length);\n\n case \"utf8\":\n case \"utf-8\":\n return utf8Write(this, string, offset, length);\n\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return asciiWrite(this, string, offset, length);\n\n case \"base64\":\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n };\n\n Buffer.prototype.toJSON = function toJSON() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n };\n\n function base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n }\n\n function utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n const res = [];\n let i = start;\n\n while (i < end) {\n const firstByte = buf[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n } // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n // the lowest limit is Chrome, with 0x10000 args.\n // We go 1 magnitude less, for safety\n\n\n const MAX_ARGUMENTS_LENGTH = 4096;\n\n function decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n let res = \"\";\n let i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n }\n\n function asciiSlice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 127);\n }\n\n return ret;\n }\n\n function latin1Slice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n }\n\n function hexSlice(buf, start, end) {\n const len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n let out = \"\";\n\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n\n return out;\n }\n\n function utf16leSlice(buf, start, end) {\n const bytes = buf.slice(start, end);\n let res = \"\"; // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n }\n\n Buffer.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n const newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance\n\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n return newBuf;\n };\n /*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\n function checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n\n Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n\n while (++i < byteLength && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n };\n\n Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n let val = this[offset + --byteLength];\n let mul = 1;\n\n while (byteLength > 0 && (mul *= 256)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n };\n\n Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n };\n\n Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n };\n\n Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n };\n\n Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 16777216;\n };\n\n Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 16777216 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n };\n\n Buffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const lo = first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n });\n Buffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n });\n\n Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n\n while (++i < byteLength && (mul *= 256)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n };\n\n Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n\n while (i > 0 && (mul *= 256)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 128;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n };\n\n Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 128)) return this[offset];\n return (255 - this[offset] + 1) * -1;\n };\n\n Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n\n Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 32768 ? val | 4294901760 : val;\n };\n\n Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n };\n\n Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n };\n\n Buffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val = this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n });\n Buffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last);\n });\n\n Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n };\n\n Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n };\n\n Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n };\n\n Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n };\n\n function checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError(\"\\\"buffer\\\" argument must be a Buffer instance\");\n if (value > max || value < min) throw new RangeError(\"\\\"value\\\" argument is out of bounds\");\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n }\n\n Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let mul = 1;\n let i = 0;\n this[offset] = value & 255;\n\n while (++i < byteLength && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 255;\n\n while (--i >= 0 && (mul *= 256)) {\n this[offset + i] = value / mul & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 255, 0);\n this[offset] = value & 255;\n return offset + 1;\n };\n\n Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n\n Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 65535, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n\n Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 255;\n return offset + 4;\n };\n\n Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 4294967295, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n\n function wrtBigUInt64LE(buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n }\n\n function wrtBigUInt64BE(buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(4294967295));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(4294967295));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n }\n\n Buffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n Buffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n });\n\n Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 255;\n\n while (++i < byteLength && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 255;\n\n while (--i >= 0 && (mul *= 256)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 255;\n }\n\n return offset + byteLength;\n };\n\n Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 127, -128);\n if (value < 0) value = 255 + value + 1;\n this[offset] = value & 255;\n return offset + 1;\n };\n\n Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n };\n\n Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 32767, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 255;\n return offset + 2;\n };\n\n Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n this[offset] = value & 255;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n };\n\n Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 2147483647, -2147483648);\n if (value < 0) value = 4294967295 + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 255;\n return offset + 4;\n };\n\n Buffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n Buffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n });\n\n function checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n }\n\n function writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n }\n\n Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n };\n\n Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n };\n\n function writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n }\n\n Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n };\n\n Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n }; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\n Buffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError(\"targetStart out of bounds\");\n }\n\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\"); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n const len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n }; // Usage:\n // buffer.fill(number[, offset[, end]])\n // buffer.fill(buffer[, offset[, end]])\n // buffer.fill(string[, offset[, end]][, encoding])\n\n\n Buffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n\n if (encoding !== undefined && typeof encoding !== \"string\") {\n throw new TypeError(\"encoding must be a string\");\n }\n\n if (typeof encoding === \"string\" && !Buffer.isEncoding(encoding)) {\n throw new TypeError(\"Unknown encoding: \" + encoding);\n }\n\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n\n if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === \"number\") {\n val = val & 255;\n } else if (typeof val === \"boolean\") {\n val = Number(val);\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError(\"Out of range index\");\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n let i;\n\n if (typeof val === \"number\") {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n const len = bytes.length;\n\n if (len === 0) {\n throw new TypeError(\"The value \\\"\" + val + \"\\\" is invalid for argument \\\"value\\\"\");\n }\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n }; // CUSTOM ERRORS\n // =============\n // Simplified versions from Node, changed for Buffer-only usage\n\n\n const errors = {};\n\n function E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n Object.defineProperty(this, \"message\", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n }); // Add the error code to the name to include it in the stack trace.\n\n this.name = `${this.name} [${sym}]`; // Access the stack to generate the error message including the error code\n // from the name.\n\n this.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n\n delete this.name;\n }\n\n get code() {\n return sym;\n }\n\n set code(value) {\n Object.defineProperty(this, \"code\", {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n\n };\n }\n\n E(\"ERR_BUFFER_OUT_OF_BOUNDS\", function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n\n return \"Attempt to access memory outside buffer bounds\";\n }, RangeError);\n E(\"ERR_INVALID_ARG_TYPE\", function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n }, TypeError);\n E(\"ERR_OUT_OF_RANGE\", function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === \"bigint\") {\n received = String(input);\n\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n\n received += \"n\";\n }\n\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n }, RangeError);\n\n function addNumericalSeparator(val) {\n let res = \"\";\n let i = val.length;\n const start = val[0] === \"-\" ? 1 : 0;\n\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n\n return `${val.slice(0, i)}${res}`;\n } // CHECK FUNCTIONS\n // ===============\n\n\n function checkBounds(buf, offset, byteLength) {\n validateNumber(offset, \"offset\");\n\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1));\n }\n }\n\n function checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === \"bigint\" ? \"n\" : \"\";\n let range;\n\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` + `${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n\n throw new errors.ERR_OUT_OF_RANGE(\"value\", range, value);\n }\n\n checkBounds(buf, offset, byteLength);\n }\n\n function validateNumber(value, name) {\n if (typeof value !== \"number\") {\n throw new errors.ERR_INVALID_ARG_TYPE(name, \"number\", value);\n }\n }\n\n function boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || \"offset\", \"an integer\", value);\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || \"offset\", `>= ${type ? 1 : 0} and <= ${length}`, value);\n } // HELPER FUNCTIONS\n // ================\n\n\n const INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n function base64clean(str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split(\"=\")[0]; // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\n str = str.trim().replace(INVALID_BASE64_RE, \"\"); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return \"\"; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + \"=\";\n }\n\n return str;\n }\n\n function utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 55295 && codePoint < 57344) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 56319) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 56320) {\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(239, 191, 189);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 128) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 2048) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 6 | 192, codePoint & 63 | 128);\n } else if (codePoint < 65536) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else if (codePoint < 1114112) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128);\n } else {\n throw new Error(\"Invalid code point\");\n }\n }\n\n return bytes;\n }\n\n function asciiToBytes(str) {\n const byteArray = [];\n\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 255);\n }\n\n return byteArray;\n }\n\n function utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n }\n\n function base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n }\n\n function blitBuffer(src, dst, offset, length) {\n let i;\n\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n } // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n // the `instanceof` check but they should be treated as of that type.\n // See: https://github.com/feross/buffer/issues/166\n\n\n function isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n }\n\n function numberIsNaN(obj) {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n } // Create lookup table for `toString('hex')`\n // See: https://github.com/feross/buffer/issues/219\n\n\n const hexSliceLookupTable = function () {\n const alphabet = \"0123456789abcdef\";\n const table = new Array(256);\n\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n\n return table;\n }(); // Return not function with Error if BigInt not supported\n\n\n function defineBigIntMethod(fn) {\n return typeof BigInt === \"undefined\" ? BufferBigIntNotDefined : fn;\n }\n\n function BufferBigIntNotDefined() {\n throw new Error(\"BigInt not supported\");\n }\n\n return exports$1;\n}\n\nconst exports = dew();\nexports['Buffer']; exports['SlowBuffer']; exports['INSPECT_MAX_BYTES']; exports['kMaxLength'];\n\nvar Buffer = exports.Buffer;\r\nvar INSPECT_MAX_BYTES = exports.INSPECT_MAX_BYTES;\r\nvar kMaxLength = exports.kMaxLength;\n\nexport { Buffer, INSPECT_MAX_BYTES, exports as default, kMaxLength };\n","export { Buffer } from \"buffer\";\n","!function(e){var t;\"object\"==typeof exports?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(\"undefined\"!=typeof window?t=window:\"undefined\"!=typeof global?t=global:\"undefined\"!=typeof self&&(t=self),t.objectHash=e())}(function(){return function r(o,i,u){function s(n,e){if(!i[n]){if(!o[n]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(n,!0);if(a)return a(n,!0);throw new Error(\"Cannot find module '\"+n+\"'\")}e=i[n]={exports:{}};o[n][0].call(e.exports,function(e){var t=o[n][1][e];return s(t||e)},e,e.exports,r,o,i,u)}return i[n].exports}for(var a=\"function\"==typeof require&&require,e=0;e>16),s((65280&n)>>8),s(255&n);return 2==r?s(255&(n=f(e.charAt(t))<<2|f(e.charAt(t+1))>>4)):1==r&&(s((n=f(e.charAt(t))<<10|f(e.charAt(t+1))<<4|f(e.charAt(t+2))>>2)>>8&255),s(255&n)),o},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u=\"\";function s(e){return\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)}for(t=0,r=e.length-i;t>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(i){case 1:u=(u+=s((n=e[e.length-1])>>2))+s(n<<4&63)+\"==\";break;case 2:u=(u=(u+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+\"=\"}return u}}(void 0===f?this.base64js={}:f)}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js\",\"/node_modules/gulp-browserify/node_modules/base64-js/lib\")},{buffer:3,lYpoI2:11}],3:[function(O,e,H){!function(e,n,f,r,h,p,g,y,w){var a=O(\"base64-js\"),i=O(\"ieee754\");function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var r,o,i,u,s=typeof e;if(\"base64\"===t&&\"string\"==s)for(e=(u=e).trim?u.trim():u.replace(/^\\s+|\\s+$/g,\"\");e.length%4!=0;)e+=\"=\";if(\"number\"==s)r=j(e);else if(\"string\"==s)r=f.byteLength(e,t);else{if(\"object\"!=s)throw new Error(\"First argument needs to be a number, array or string.\");r=j(e.length)}if(f._useTypedArrays?o=f._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),f._useTypedArrays&&\"number\"==typeof e.byteLength)o._set(e);else if(C(u=e)||f.isBuffer(u)||u&&\"object\"==typeof u&&\"number\"==typeof u.length)for(i=0;i>8,n=n%256,r.push(n),r.push(t);return r}(t),e,n,r)}function v(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o>>0)):(t+1>>0),o}function _(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1>>8*(r?i:1-i)}function l(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3>>8*(r?i:3-i)&255}function B(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1this.length&&(r=this.length);var o=(r=e.length-t=this.length))return this[e]},f.prototype.readUInt16LE=function(e,t){return o(this,e,!0,t)},f.prototype.readUInt16BE=function(e,t){return o(this,e,!1,t)},f.prototype.readUInt32LE=function(e,t){return u(this,e,!0,t)},f.prototype.readUInt32BE=function(e,t){return u(this,e,!1,t)},f.prototype.readInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){return _(this,e,!0,t)},f.prototype.readInt16BE=function(e,t){return _(this,e,!1,t)},f.prototype.readInt32LE=function(e,t){return E(this,e,!0,t)},f.prototype.readInt32BE=function(e,t){return E(this,e,!1,t)},f.prototype.readFloatLE=function(e,t){return I(this,e,!0,t)},f.prototype.readFloatBE=function(e,t){return I(this,e,!1,t)},f.prototype.readDoubleLE=function(e,t){return A(this,e,!0,t)},f.prototype.readDoubleBE=function(e,t){return A(this,e,!1,t)},f.prototype.writeUInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t=this.length||(this[t]=e)},f.prototype.writeUInt16LE=function(e,t,n){s(this,e,t,!0,n)},f.prototype.writeUInt16BE=function(e,t,n){s(this,e,t,!1,n)},f.prototype.writeUInt32LE=function(e,t,n){l(this,e,t,!0,n)},f.prototype.writeUInt32BE=function(e,t,n){l(this,e,t,!1,n)},f.prototype.writeInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},f.prototype.writeInt16LE=function(e,t,n){B(this,e,t,!0,n)},f.prototype.writeInt16BE=function(e,t,n){B(this,e,t,!1,n)},f.prototype.writeInt32LE=function(e,t,n){L(this,e,t,!0,n)},f.prototype.writeInt32BE=function(e,t,n){L(this,e,t,!1,n)},f.prototype.writeFloatLE=function(e,t,n){U(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){U(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){x(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){x(this,e,t,!1,n)},f.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,d(\"number\"==typeof(e=\"string\"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),\"value is not a number\"),d(t<=n,\"end < start\"),n!==t&&0!==this.length){d(0<=t&&t\"},f.prototype.toArrayBuffer=function(){if(\"undefined\"==typeof Uint8Array)throw new Error(\"Buffer.toArrayBuffer not supported in this browser\");if(f._useTypedArrays)return new f(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function N(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function Y(e,t){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(0<=e,\"specified a negative value for writing an unsigned value\"),d(e<=t,\"value is larger than maximum value for type\"),d(Math.floor(e)===e,\"value has a fractional component\")}function F(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\"),d(Math.floor(e)===e,\"value has a fractional component\")}function D(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\")}function d(e,t){if(!e)throw new Error(t||\"Failed assertion\")}f._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=t.get,e.set=t.set,e.write=t.write,e.toString=t.toString,e.toLocaleString=t.toString,e.toJSON=t.toJSON,e.copy=t.copy,e.slice=t.slice,e.readUInt8=t.readUInt8,e.readUInt16LE=t.readUInt16LE,e.readUInt16BE=t.readUInt16BE,e.readUInt32LE=t.readUInt32LE,e.readUInt32BE=t.readUInt32BE,e.readInt8=t.readInt8,e.readInt16LE=t.readInt16LE,e.readInt16BE=t.readInt16BE,e.readInt32LE=t.readInt32LE,e.readInt32BE=t.readInt32BE,e.readFloatLE=t.readFloatLE,e.readFloatBE=t.readFloatBE,e.readDoubleLE=t.readDoubleLE,e.readDoubleBE=t.readDoubleBE,e.writeUInt8=t.writeUInt8,e.writeUInt16LE=t.writeUInt16LE,e.writeUInt16BE=t.writeUInt16BE,e.writeUInt32LE=t.writeUInt32LE,e.writeUInt32BE=t.writeUInt32BE,e.writeInt8=t.writeInt8,e.writeInt16LE=t.writeInt16LE,e.writeInt16BE=t.writeInt16BE,e.writeInt32LE=t.writeInt32LE,e.writeInt32BE=t.writeInt32BE,e.writeFloatLE=t.writeFloatLE,e.writeFloatBE=t.writeFloatBE,e.writeDoubleLE=t.writeDoubleLE,e.writeDoubleBE=t.writeDoubleBE,e.fill=t.fill,e.inspect=t.inspect,e.toArrayBuffer=t.toArrayBuffer,e}}.call(this,O(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},O(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/buffer/index.js\",\"/node_modules/gulp-browserify/node_modules/buffer\")},{\"base64-js\":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(c,d,e){!function(e,t,a,n,r,o,i,u,s){var a=c(\"buffer\").Buffer,f=4,l=new a(f);l.fill(0);d.exports={hash:function(e,t,n,r){for(var o=t(function(e,t){e.length%f!=0&&(n=e.length+(f-e.length%f),e=a.concat([e,l],n));for(var n,r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;is?t=e(t):t.length>5]|=128<>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u>>32-o,n)}function c(e,t,n,r,o,i,u){return s(t&n|~t&r,e,t,o,i,u)}function d(e,t,n,r,o,i,u){return s(t&r|n&~r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return s(t^n^r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return s(n^(t|~r),e,t,o,i,u)}function g(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return t.hash(e,n,16)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],7:[function(e,l,t){!function(e,t,n,r,o,i,u,s,f){var a;l.exports=a||function(e){for(var t,n=new Array(e),r=0;r>>((3&r)<<3)&255;return n}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],8:[function(c,d,e){!function(e,t,n,r,o,s,a,f,l){var i=c(\"./helpers\");function u(l,c){l[c>>5]|=128<<24-c%32,l[15+(c+64>>9<<4)]=c;for(var e,t,n,r=Array(80),o=1732584193,i=-271733879,u=-1732584194,s=271733878,d=-1009589776,h=0;h>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t){return e<>>32-t}d.exports=function(e){return i.hash(e,u,20,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],9:[function(c,d,e){!function(e,t,n,r,u,s,a,f,l){function b(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,l){var c,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),t=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=new Array(64);e[l>>5]|=128<<24-l%32,e[15+(l+64>>9<<4)]=l;for(var r,o,h=0;h>>t|e<<32-t},v=function(e,t){return e>>>t};d.exports=function(e){return i.hash(e,o,32,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],10:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){f.read=function(e,t,n,r,o){var i,u,l=8*o-r-1,c=(1<>1,s=-7,a=n?o-1:0,f=n?-1:1,o=e[t+a];for(a+=f,i=o&(1<<-s)-1,o>>=-s,s+=l;0>=-s,s+=r;0>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:c-1,h=n?1:-1,c=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,o=s):(o=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-o))<1&&(o--,n*=2),2<=(t+=1<=o+a?d/n:d*Math.pow(2,1-a))*n&&(o++,n/=2),s<=o+a?(i=0,o=s):1<=o+a?(i=(t*n-1)*Math.pow(2,r),o+=a):(i=t*Math.pow(2,a-1)*Math.pow(2,r),o=0));8<=r;e[l+f]=255&i,f+=h,i/=256,r-=8);for(o=o< 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","// Copyright 2023 ChatGPT Jan 9 Version\n/* eslint-disable new-cap */ // to fix new Buffer.from\n'use strict'\nconst ECMA_SIZES = require('./byte_size')\nconst Buffer = require('buffer/').Buffer\n\n/**\n * Precisely calculate size of string in node\n * Based on https://stackoverflow.com/questions/68789144/how-much-memory-do-v8-take-to-store-a-string/68791382#68791382\n * @param {} str\n */\nfunction preciseStringSizeNode (str) {\n return 12 + 4 * Math.ceil(str.length / 4)\n}\n\n/**\n * In the browser environment, window and document are defined as global objects\n * @returns true if its a Node.js env, false if it is a browser\n */\nfunction isNodeEnvironment () {\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n return false\n }\n return true\n}\n\n/**\n * Size in bytes for complex objects\n * @param {*} obj\n * @returns size in bytes, or -1 if JSON.stringify threw an exception\n */\nfunction objectSizeComplex (obj) {\n let totalSize = 0\n const errorIndication = -1\n try {\n // analyse the object to calculate it better\n let potentialConversion = obj\n if (obj instanceof Map) {\n // convert the map to an object\n potentialConversion = Object.fromEntries(obj)\n } else if (obj instanceof Set) {\n // convert the set to an array\n potentialConversion = Array.from(obj)\n }\n if (obj instanceof Int8Array) {\n return obj.length * ECMA_SIZES.Int8Array\n } else if (obj instanceof Uint8Array || obj instanceof Uint8ClampedArray) {\n return obj.length * ECMA_SIZES.Uint8Array\n } else if (obj instanceof Int16Array) {\n return obj.length * ECMA_SIZES.Int16Array\n } else if (obj instanceof Uint16Array) {\n return obj.length * ECMA_SIZES.Uint16Array\n } else if (obj instanceof Int32Array) {\n return obj.length * ECMA_SIZES.Int32Array\n } else if (obj instanceof Uint32Array) {\n return obj.length * ECMA_SIZES.Uint32Array\n } else if (obj instanceof Float32Array) {\n return obj.length * ECMA_SIZES.Float32Array\n } else if (obj instanceof Float64Array) {\n return obj.length * ECMA_SIZES.Float64Array\n }\n const objectToString = JSON.stringify(potentialConversion)\n const buffer = new Buffer.from(objectToString)\n totalSize = buffer.byteLength\n } catch (ex) {\n console.error('Error detected, return ' + errorIndication, ex)\n return errorIndication\n }\n return totalSize\n}\n\n/**\n * Size in bytes for primitive types\n * @param {*} obj\n * @returns size in bytes\n */\nfunction objectSizeSimple (obj) {\n const objectList = []\n const stack = [obj]\n let bytes = 0\n\n while (stack.length) {\n const value = stack.pop()\n\n if (typeof value === 'boolean') {\n bytes += ECMA_SIZES.BYTES\n } else if (typeof value === 'string') {\n if (isNodeEnvironment()) {\n bytes += preciseStringSizeNode(value)\n } else {\n bytes += value.length * ECMA_SIZES.STRING\n }\n } else if (typeof value === 'number') {\n bytes += ECMA_SIZES.NUMBER\n } else if (typeof value === 'symbol') {\n const isGlobalSymbol = Symbol.keyFor && Symbol.keyFor(obj)\n if (isGlobalSymbol) {\n bytes += Symbol.keyFor(obj).length * ECMA_SIZES.STRING\n } else {\n bytes += (obj.toString().length - 8) * ECMA_SIZES.STRING\n }\n } else if (typeof value === 'bigint') {\n bytes += Buffer.from(value.toString()).byteLength\n } else if (typeof value === 'function') {\n bytes += value.toString().length\n } else if (typeof value === 'object' && objectList.indexOf(value) === -1) {\n objectList.push(value)\n\n for (const i in value) {\n stack.push(value[i])\n }\n }\n }\n return bytes\n}\n\nmodule.exports = function (obj) {\n let totalSize = 0\n\n if (obj !== null && typeof obj === 'object') {\n totalSize = objectSizeComplex(obj)\n } else {\n totalSize = objectSizeSimple(obj)\n }\n\n return totalSize\n}\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","export { TabbyAgent } from \"./TabbyAgent\";\nexport { Agent, AgentFunction, AgentEvent, StatusChangedEvent, agentEventNames } from \"./types\";\nexport {\n CancelablePromise,\n CancelError,\n ApiError,\n HTTPValidationError,\n ValidationError,\n CompletionRequest,\n CompletionResponse,\n Choice,\n ChoiceEvent,\n CompletionEvent,\n EventType,\n} from \"./generated\";\n","import axios from \"axios\";\nimport { EventEmitter } from \"events\";\nimport { strict as assert } from \"assert\";\nimport { CompletionCache } from \"./CompletionCache\";\nimport { sleep, cancelable } from \"./utils\";\nimport { Agent, AgentEvent } from \"./types\";\nimport {\n TabbyApi,\n CancelablePromise,\n ApiError,\n CompletionRequest,\n CompletionResponse,\n ChoiceEvent,\n CompletionEvent,\n} from \"./generated\";\n\nexport class TabbyAgent extends EventEmitter implements Agent {\n private serverUrl: string = \"http://127.0.0.1:5000\";\n private status: \"connecting\" | \"ready\" | \"disconnected\" = \"connecting\";\n private api: TabbyApi;\n private completionCache: CompletionCache;\n\n constructor() {\n super();\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n this.completionCache = new CompletionCache();\n }\n\n private changeStatus(status: \"connecting\" | \"ready\" | \"disconnected\") {\n if (this.status != status) {\n this.status = status;\n const event: AgentEvent = { event: \"statusChanged\", status };\n super.emit(\"statusChanged\", event);\n }\n }\n\n private async ping(tries: number = 0): Promise {\n try {\n const response = await axios.get(`${this.serverUrl}/`);\n assert(response.status == 200);\n this.changeStatus(\"ready\");\n return true;\n } catch (e) {\n if (tries > 5) {\n this.changeStatus(\"disconnected\");\n return false;\n }\n this.changeStatus(\"connecting\");\n const pingRetryDelay = 1000;\n await sleep(pingRetryDelay);\n return this.ping(tries + 1);\n }\n }\n\n private wrapApiPromise(promise: CancelablePromise): CancelablePromise {\n return cancelable(\n promise\n .then((resolved: T) => {\n this.changeStatus(\"ready\");\n return resolved;\n })\n .catch((err: ApiError) => {\n this.changeStatus(\"disconnected\");\n throw err;\n }),\n () => {\n promise.cancel();\n }\n );\n }\n\n public setServerUrl(serverUrl: string): string {\n this.serverUrl = serverUrl.replace(/\\/$/, \"\"); // Remove trailing slash\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n return this.serverUrl;\n }\n\n public getServerUrl(): string {\n return this.serverUrl;\n }\n\n public getStatus(): \"connecting\" | \"ready\" | \"disconnected\" {\n return this.status;\n }\n\n public getCompletions(request: CompletionRequest): CancelablePromise {\n if (this.completionCache.has(request)) {\n return new CancelablePromise((resolve) => {\n resolve(this.completionCache.get(request));\n });\n }\n const promise = this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(request));\n return cancelable(\n promise.then((response: CompletionResponse) => {\n this.completionCache.set(request, response);\n return response;\n }),\n () => {\n promise.cancel();\n }\n );\n }\n\n public postEvent(request: ChoiceEvent | CompletionEvent): CancelablePromise {\n return this.wrapApiPromise(this.api.default.eventsV1EventsPost(request));\n }\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n mergeConfig\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","import platform from './node/index.js';\n\nexport {platform as default}\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else {\n requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","export const VERSION = \"1.4.0\";","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","import { y } from './chunk-4bd36a8f.js';\nexport { y as default } from './chunk-4bd36a8f.js';\n\n// https://github.com/denoland/deno_std/blob/d005433c709054af87aca54f57a446b4f7966f11/node/events.ts#L501-L638\r\ny.once = function (emitter, event) {\r\n return new Promise((resolve, reject) => {\r\n function eventListener(...args) {\r\n if (errorListener !== undefined) {\r\n emitter.removeListener('error', errorListener);\r\n }\r\n resolve(args);\r\n }\r\n let errorListener;\r\n if (event !== 'error') {\r\n // deno-lint-ignore no-explicit-any\r\n errorListener = (err) => {\r\n emitter.removeListener(name, eventListener);\r\n reject(err);\r\n };\r\n\r\n emitter.once('error', errorListener);\r\n }\r\n\r\n emitter.once(event, eventListener);\r\n });\r\n};\r\ny.on = function (emitter, event) {\r\n const unconsumedEventValues = [];\r\n const unconsumedPromises = [];\r\n let error = null;\r\n let finished = false;\r\n\r\n const iterator = {\r\n async next() {\r\n const value = unconsumedEventValues.shift();\r\n if (value) {\r\n return createIterResult(value, false);\r\n }\r\n\r\n if (error) {\r\n const p = Promise.reject(error);\r\n error = null;\r\n return p;\r\n }\r\n\r\n if (finished) {\r\n return createIterResult(undefined, true);\r\n }\r\n\r\n return new Promise((resolve, reject) => unconsumedPromises.push({ resolve, reject }));\r\n },\r\n async return() {\r\n emitter.removeListener(event, eventHandler);\r\n emitter.removeListener('error', errorHandler);\r\n finished = true;\r\n\r\n for (const promise of unconsumedPromises) {\r\n promise.resolve(createIterResult(undefined, true));\r\n }\r\n\r\n return createIterResult(undefined, true);\r\n },\r\n throw(err) {\r\n error = err;\r\n emitter.removeListener(event, eventHandler);\r\n emitter.removeListener('error', errorHandler);\r\n },\r\n [Symbol.asyncIterator]() {\r\n return this;\r\n },\r\n };\r\n\r\n emitter.on(event, eventHandler);\r\n emitter.on('error', errorHandler);\r\n\r\n return iterator;\r\n\r\n function eventHandler(...args) {\r\n const promise = unconsumedPromises.shift();\r\n if (promise) {\r\n promise.resolve(createIterResult(args, false));\r\n } else {\r\n unconsumedEventValues.push(args);\r\n }\r\n }\r\n\r\n function errorHandler(err) {\r\n finished = true;\r\n const toError = unconsumedPromises.shift();\r\n if (toError) {\r\n toError.reject(err);\r\n } else {\r\n error = err;\r\n }\r\n iterator.return();\r\n }\r\n};\r\nconst {\r\n EventEmitter,\r\n defaultMaxListeners,\r\n init,\r\n listenerCount,\r\n on,\r\n once,\r\n} = y;\n\nexport { EventEmitter, defaultMaxListeners, init, listenerCount, on, once };\n","var e,t,n=\"object\"==typeof Reflect?Reflect:null,r=n&&\"function\"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&\"function\"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this);}e=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function u(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function f(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function v(e,t,n,r){var i,o,s,v;if(u(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit(\"newListener\",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if(\"function\"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=f(e))>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");a.name=\"MaxListenersExceededWarning\",a.emitter=e,a.type=t,a.count=s.length,v=a,console&&console.warn&&console.warn(v);}return e}function a(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=a.bind(r);return i.listener=n,r.wrapFn=i,i}function h(e,t,n){var r=e._events;if(void 0===r)return [];var i=r[t];return void 0===i?[]:\"function\"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(s=t[0]),s instanceof Error)throw s;var u=new Error(\"Unhandled error.\"+(s?\" (\"+s.message+\")\":\"\"));throw u.context=s,u}var f=o[e];if(void 0===f)return !1;if(\"function\"==typeof f)r(f,this,t);else {var v=f.length,a=c(f,v);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():!function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return h(this,e,!0)},o.prototype.rawListeners=function(e){return h(this,e,!1)},o.listenerCount=function(e,t){return \"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};var y=e;y.EventEmitter;y.defaultMaxListeners;y.init;y.listenerCount;\n\ny.EventEmitter;\ny.defaultMaxListeners;\ny.init;\ny.listenerCount;\n\nexport { y };\n","import { X as X$1 } from './chunk-b4205b57.js';\nimport { T as T$1 } from './chunk-5decc758.js';\n\nfunction e(e,r){if(null==e)throw new TypeError(\"Cannot convert first argument to object\");for(var t=Object(e),n=1;n=0&&\"[object Function]\"===e$1.call(t.callee)),n};if(!Object.keys){var n=Object.prototype.hasOwnProperty,o=Object.prototype.toString,c=r$1,l=Object.prototype.propertyIsEnumerable,i=!l.call({toString:null},\"toString\"),a=l.call((function(){}),\"prototype\"),u=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],f=function(t){var e=t.constructor;return e&&e.prototype===t},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},s=function(){if(\"undefined\"==typeof window)return !1;for(var t in window)try{if(!p[\"$\"+t]&&n.call(window,t)&&null!==window[t]&&\"object\"==typeof window[t])try{f(window[t]);}catch(t){return !0}}catch(t){return !0}return !1}();t=function(t){var e=null!==t&&\"object\"==typeof t,r=\"[object Function]\"===o.call(t),l=c(t),p=e&&\"[object String]\"===o.call(t),y=[];if(!e&&!r&&!l)throw new TypeError(\"Object.keys called on a non-object\");var b=a&&r;if(p&&t.length>0&&!n.call(t,0))for(var g=0;g0)for(var h=0;h2?arguments[2]:{},c=r$2(o);e$2&&(c=n$1.call(c,Object.getOwnPropertySymbols(o)));for(var u=0;u1&&\"boolean\"!=typeof e)throw new TypeError('\"allowMissing\" argument must be a boolean');for(var n=v(r),y=P(\"%\"+(n.length>0?n[0]:\"\")+\"%\",e),a=1;a=n.length){var i=t$3(y,n[a]);if(!e&&!(n[a]in y))throw new o$3(\"base intrinsic for \"+r+\" exists, but the property is not available.\");y=i?i.get||i.value:y[n[a]];}else y=y[n[a]];return y};var t$4,p$1=e$4,o$4=c$2(\"%Function%\"),i$2=o$4.apply,a$3=o$4.call;(t$4=function(){return p$1.apply(a$3,arguments)}).apply=function(){return p$1.apply(i$2,arguments)};var l$4=t$4;var r$4,n$4,i$3=function(t){return t!=t},o$5=(r$4=function(t,e){return 0===t&&0===e?1/t==1/e:t===e||!(!i$3(t)||!i$3(e))},r$4),c$3=(n$4=function(){return \"function\"==typeof Object.is?Object.is:o$5},n$4),f$4=f$1,u$3=f$1,s$1=r$4,a$4=n$4,l$5=function(){var t=c$3();return f$4(Object,{is:t},{is:function(){return Object.is!==t}}),t},p$2=l$4(a$4(),Object);u$3(p$2,{getPolyfill:a$4,implementation:s$1,shim:l$5});var m=p$2;N=function(r){return r!=r};var N,e$5,i$4=N,n$5=(e$5=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:i$4},f$1),t$5=e$5,u$4=f$1,a$5=N,m$1=e$5,o$6=function(){var r=t$5();return n$5(Number,{isNaN:r},{isNaN:function(){return Number.isNaN!==r}}),r},s$2=m$1();u$4(s$2,{getPolyfill:m$1,implementation:a$5,shim:o$6});var f$5=s$2;var c$4={},a$6=!1;function i$5(){if(a$6)return c$4;function e(t){return (e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function n(t,n){return !n||\"object\"!==e(n)&&\"function\"!=typeof n?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):n}function r(t){return (r=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function o(t,e){return (o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}a$6=!0;var i,u,l={};function f(t,e,c){c||(c=Error);var a=function(c){function a(o,c,i){var u;return !function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,a),(u=n(this,r(a).call(this,function(t,n,r){return \"string\"==typeof e?e:e(t,n,r)}(o,c,i)))).code=t,u}return !function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e);}(a,c),a}(c);l[t]=a;}function s(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?\"one of \".concat(e,\" \").concat(t.slice(0,n-1).join(\", \"),\", or \")+t[n-1]:2===n?\"one of \".concat(e,\" \").concat(t[0],\" or \").concat(t[1]):\"of \".concat(e,\" \").concat(t[0])}return \"of \".concat(e,\" \").concat(String(t))}return f(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),f(\"ERR_INVALID_ARG_TYPE\",(function(t,n,r){var o,c,u;if(void 0===i&&(i=tt()),i(\"string\"==typeof t,\"'name' must be a string\"),\"string\"==typeof n&&(c=\"not \",n.substr(0,c.length)===c)?(o=\"must not be\",n=n.replace(/^not /,\"\")):o=\"must be\",function(t,e,n){return (void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t,\" argument\"))u=\"The \".concat(t,\" \").concat(o,\" \").concat(s(n,\"type\"));else {var l=function(t,e,n){return \"number\"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,\".\")?\"property\":\"argument\";u='The \"'.concat(t,'\" ').concat(l,\" \").concat(o,\" \").concat(s(n,\"type\"));}return u+=\". Received type \".concat(e(r))}),TypeError),f(\"ERR_INVALID_ARG_VALUE\",(function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"is invalid\";void 0===u&&(u=X$1);var o=u.inspect(n);return o.length>128&&(o=\"\".concat(o.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(o)}),TypeError),f(\"ERR_INVALID_RETURN_VALUE\",(function(t,n,r){var o;return o=r&&r.constructor&&r.constructor.name?\"instance of \".concat(r.constructor.name):\"type \".concat(e(r)),\"Expected \".concat(t,' to be returned from the \"').concat(n,'\"')+\" function but got \".concat(o,\".\")}),TypeError),f(\"ERR_MISSING_ARGS\",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,\"At least one arg needs to be specified\");var r=\"The \",o=e.length;switch(e=e.map((function(t){return '\"'.concat(t,'\"')})),o){case 1:r+=\"\".concat(e[0],\" argument\");break;case 2:r+=\"\".concat(e[0],\" and \").concat(e[1],\" arguments\");break;default:r+=e.slice(0,o-1).join(\", \"),r+=\", and \".concat(e[o-1],\" arguments\");}return \"\".concat(r,\" must be specified\")}),TypeError),c$4.codes=l,c$4}var u$5={},l$6=!1;function f$6(){if(l$6)return u$5;l$6=!0;var n=T$1;function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){for(var n=0;nt.length)&&(n=t.length),t.substring(n-e.length,n)===e}var m=\"\",E=\"\",w=\"\",S=\"\",j={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"};function O(t){var e=Object.keys(t),n=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){n[e]=t[e];})),Object.defineProperty(n,\"message\",{value:t.message}),n}function x(t){return b(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function q(t,e,r){var o=\"\",c=\"\",a=0,i=\"\",u=!1,l=x(t),f=l.split(\"\\n\"),s=x(e).split(\"\\n\"),p=0,g=\"\";if(\"strictEqual\"===r&&\"object\"===y(t)&&\"object\"===y(e)&&null!==t&&null!==e&&(r=\"strictEqualObject\"),1===f.length&&1===s.length&&f[0]!==s[0]){var h=f[0].length+s[0].length;if(h<=10){if(!(\"object\"===y(t)&&null!==t||\"object\"===y(e)&&null!==e||0===t&&0===e))return \"\".concat(j[r],\"\\n\\n\")+\"\".concat(f[0],\" !== \").concat(s[0],\"\\n\")}else if(\"strictEqualObject\"!==r){if(h<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;f[0][p]===s[0][p];)p++;p>2&&(g=\"\\n \".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return \"\";var n=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+=t.substring(0,n-t.length)}(\" \",p),\"^\"),p=0);}}}for(var b=f[f.length-1],v=s[s.length-1];b===v&&(p++<2?i=\"\\n \".concat(b).concat(i):o=b,f.pop(),s.pop(),0!==f.length&&0!==s.length);)b=f[f.length-1],v=s[s.length-1];var O=Math.max(f.length,s.length);if(0===O){var q=l.split(\"\\n\");if(q.length>30)for(q[26]=\"\".concat(m,\"...\").concat(S);q.length>27;)q.pop();return \"\".concat(j.notIdentical,\"\\n\\n\").concat(q.join(\"\\n\"),\"\\n\")}p>3&&(i=\"\\n\".concat(m,\"...\").concat(S).concat(i),u=!0),\"\"!==o&&(i=\"\\n \".concat(o).concat(i),o=\"\");var R=0,A=j[r]+\"\\n\".concat(E,\"+ actual\").concat(S,\" \").concat(w,\"- expected\").concat(S),k=\" \".concat(m,\"...\").concat(S,\" Lines skipped\");for(p=0;p1&&p>2&&(_>4?(c+=\"\\n\".concat(m,\"...\").concat(S),u=!0):_>3&&(c+=\"\\n \".concat(s[p-2]),R++),c+=\"\\n \".concat(s[p-1]),R++),a=p,o+=\"\\n\".concat(w,\"-\").concat(S,\" \").concat(s[p]),R++;else if(s.length1&&p>2&&(_>4?(c+=\"\\n\".concat(m,\"...\").concat(S),u=!0):_>3&&(c+=\"\\n \".concat(f[p-2]),R++),c+=\"\\n \".concat(f[p-1]),R++),a=p,c+=\"\\n\".concat(E,\"+\").concat(S,\" \").concat(f[p]),R++;else {var T=s[p],P=f[p],I=P!==T&&(!d(P,\",\")||P.slice(0,-1)!==T);I&&d(T,\",\")&&T.slice(0,-1)===P&&(I=!1,P+=\",\"),I?(_>1&&p>2&&(_>4?(c+=\"\\n\".concat(m,\"...\").concat(S),u=!0):_>3&&(c+=\"\\n \".concat(f[p-2]),R++),c+=\"\\n \".concat(f[p-1]),R++),a=p,c+=\"\\n\".concat(E,\"+\").concat(S,\" \").concat(P),o+=\"\\n\".concat(w,\"-\").concat(S,\" \").concat(T),R+=2):(c+=o,o=\"\",1!==_&&0!==p||(c+=\"\\n \".concat(P),R++));}if(R>20&&p30)for(g[26]=\"\".concat(m,\"...\").concat(S);g.length>27;)g.pop();r=1===g.length?c(this,h(e).call(this,\"\".concat(p,\" \").concat(g[0]))):c(this,h(e).call(this,\"\".concat(p,\"\\n\\n\").concat(g.join(\"\\n\"),\"\\n\")));}else {var b=x(l),d=\"\",R=j[i];\"notDeepEqual\"===i||\"notEqual\"===i?(b=\"\".concat(j[i],\"\\n\\n\").concat(b)).length>1024&&(b=\"\".concat(b.slice(0,1021),\"...\")):(d=\"\".concat(x(f)),b.length>512&&(b=\"\".concat(b.slice(0,509),\"...\")),d.length>512&&(d=\"\".concat(d.slice(0,509),\"...\")),\"deepEqual\"===i||\"equal\"===i?b=\"\".concat(R,\"\\n\\n\").concat(b,\"\\n\\nshould equal\\n\\n\"):d=\" \".concat(i,\" \").concat(d)),r=c(this,h(e).call(this,\"\".concat(b).concat(d)));}return Error.stackTraceLimit=s,r.generatedMessage=!o,Object.defineProperty(a(r),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),r.code=\"ERR_ASSERTION\",r.actual=l,r.expected=f,r.operator=i,Error.captureStackTrace&&Error.captureStackTrace(a(r),u),r.stack,r.name=\"AssertionError\",c(r)}var i,u;return !function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e);}(e,t),i=e,(u=[{key:\"toString\",value:function(){return \"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:b.custom,value:function(t,e){return b(this,function(t){for(var e=1;e10)return !0;for(var e=0;e57)return !0}return 10===t.length&&t>=Math.pow(2,32)}function G(t){return Object.keys(t).filter(U).concat(v$1(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */function V(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,o=0,c=Math.min(n,r);o1?n-1:0),o=1;o1?n-1:0),o=1;o1?n-1:0),o=1;o1?n-1:0),o=1;o=0&&\"[object Array]\"!==e.call(t)&&\"[object Function]\"===e.call(t.callee)},r=function(){return o(arguments)}();o.isLegacyArguments=n;var l=r?o:n;var t$1=Object.prototype.toString,o$1=Function.prototype.toString,n$1=/^\\s*(?:function)?\\*/,e$1=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.toStringTag,r$1=Object.getPrototypeOf,c=function(){if(!e$1)return !1;try{return Function(\"return function*() {}\")()}catch(t){}}(),u=c?r$1(c):{},i=function(c){return \"function\"==typeof c&&(!!n$1.test(o$1.call(c))||(e$1?r$1(c)===u:\"[object GeneratorFunction]\"===t$1.call(c)))};var t$2=\"function\"==typeof Object.create?function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}));}:function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t;}};var i$1=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8},o$2={},u$1=i$1,f=l,a=i;function c$1(e){return e.call.bind(e)}var s=\"undefined\"!=typeof BigInt,p=\"undefined\"!=typeof Symbol,y=p&&void 0!==Symbol.toStringTag,l$1=\"undefined\"!=typeof Uint8Array,d=\"undefined\"!=typeof ArrayBuffer;if(l$1&&y)var g=Object.getPrototypeOf(Uint8Array.prototype),b=c$1(Object.getOwnPropertyDescriptor(g,Symbol.toStringTag).get);var m=c$1(Object.prototype.toString),h=c$1(Number.prototype.valueOf),j=c$1(String.prototype.valueOf),A=c$1(Boolean.prototype.valueOf);if(s)var w=c$1(BigInt.prototype.valueOf);if(p)var v=c$1(Symbol.prototype.valueOf);function O(e,t){if(\"object\"!=typeof e)return !1;try{return t(e),!0}catch(e){return !1}}function S(e){return l$1&&y?void 0!==b(e):B(e)||k(e)||E(e)||D(e)||U(e)||P(e)||x(e)||I(e)||M(e)||z(e)||F(e)}function B(e){return l$1&&y?\"Uint8Array\"===b(e):\"[object Uint8Array]\"===m(e)||u$1(e)&&void 0!==e.buffer}function k(e){return l$1&&y?\"Uint8ClampedArray\"===b(e):\"[object Uint8ClampedArray]\"===m(e)}function E(e){return l$1&&y?\"Uint16Array\"===b(e):\"[object Uint16Array]\"===m(e)}function D(e){return l$1&&y?\"Uint32Array\"===b(e):\"[object Uint32Array]\"===m(e)}function U(e){return l$1&&y?\"Int8Array\"===b(e):\"[object Int8Array]\"===m(e)}function P(e){return l$1&&y?\"Int16Array\"===b(e):\"[object Int16Array]\"===m(e)}function x(e){return l$1&&y?\"Int32Array\"===b(e):\"[object Int32Array]\"===m(e)}function I(e){return l$1&&y?\"Float32Array\"===b(e):\"[object Float32Array]\"===m(e)}function M(e){return l$1&&y?\"Float64Array\"===b(e):\"[object Float64Array]\"===m(e)}function z(e){return l$1&&y?\"BigInt64Array\"===b(e):\"[object BigInt64Array]\"===m(e)}function F(e){return l$1&&y?\"BigUint64Array\"===b(e):\"[object BigUint64Array]\"===m(e)}function T(e){return \"[object Map]\"===m(e)}function N(e){return \"[object Set]\"===m(e)}function W(e){return \"[object WeakMap]\"===m(e)}function $(e){return \"[object WeakSet]\"===m(e)}function C(e){return \"[object ArrayBuffer]\"===m(e)}function V(e){return \"undefined\"!=typeof ArrayBuffer&&(C.working?C(e):e instanceof ArrayBuffer)}function G(e){return \"[object DataView]\"===m(e)}function R(e){return \"undefined\"!=typeof DataView&&(G.working?G(e):e instanceof DataView)}function J(e){return \"[object SharedArrayBuffer]\"===m(e)}function _(e){return \"undefined\"!=typeof SharedArrayBuffer&&(J.working?J(e):e instanceof SharedArrayBuffer)}function H(e){return O(e,h)}function Z(e){return O(e,j)}function q(e){return O(e,A)}function K(e){return s&&O(e,w)}function L(e){return p&&O(e,v)}o$2.isArgumentsObject=f,o$2.isGeneratorFunction=a,o$2.isPromise=function(e){return \"undefined\"!=typeof Promise&&e instanceof Promise||null!==e&&\"object\"==typeof e&&\"function\"==typeof e.then&&\"function\"==typeof e.catch},o$2.isArrayBufferView=function(e){return d&&ArrayBuffer.isView?ArrayBuffer.isView(e):S(e)||R(e)},o$2.isTypedArray=S,o$2.isUint8Array=B,o$2.isUint8ClampedArray=k,o$2.isUint16Array=E,o$2.isUint32Array=D,o$2.isInt8Array=U,o$2.isInt16Array=P,o$2.isInt32Array=x,o$2.isFloat32Array=I,o$2.isFloat64Array=M,o$2.isBigInt64Array=z,o$2.isBigUint64Array=F,T.working=\"undefined\"!=typeof Map&&T(new Map),o$2.isMap=function(e){return \"undefined\"!=typeof Map&&(T.working?T(e):e instanceof Map)},N.working=\"undefined\"!=typeof Set&&N(new Set),o$2.isSet=function(e){return \"undefined\"!=typeof Set&&(N.working?N(e):e instanceof Set)},W.working=\"undefined\"!=typeof WeakMap&&W(new WeakMap),o$2.isWeakMap=function(e){return \"undefined\"!=typeof WeakMap&&(W.working?W(e):e instanceof WeakMap)},$.working=\"undefined\"!=typeof WeakSet&&$(new WeakSet),o$2.isWeakSet=function(e){return $(e)},C.working=\"undefined\"!=typeof ArrayBuffer&&C(new ArrayBuffer),o$2.isArrayBuffer=V,G.working=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView&&G(new DataView(new ArrayBuffer(1),0,1)),o$2.isDataView=R,J.working=\"undefined\"!=typeof SharedArrayBuffer&&J(new SharedArrayBuffer),o$2.isSharedArrayBuffer=_,o$2.isAsyncFunction=function(e){return \"[object AsyncFunction]\"===m(e)},o$2.isMapIterator=function(e){return \"[object Map Iterator]\"===m(e)},o$2.isSetIterator=function(e){return \"[object Set Iterator]\"===m(e)},o$2.isGeneratorObject=function(e){return \"[object Generator]\"===m(e)},o$2.isWebAssemblyCompiledModule=function(e){return \"[object WebAssembly.Module]\"===m(e)},o$2.isNumberObject=H,o$2.isStringObject=Z,o$2.isBooleanObject=q,o$2.isBigIntObject=K,o$2.isSymbolObject=L,o$2.isBoxedPrimitive=function(e){return H(e)||Z(e)||q(e)||K(e)||L(e)},o$2.isAnyArrayBuffer=function(e){return l$1&&(V(e)||_(e))},[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach((function(e){Object.defineProperty(o$2,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}});}));var Q=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:global,X={},Y=T$1,ee=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=i)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return \"[Circular]\"}default:return e}})),u=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),ye(t)?r.showHidden=t:t&&X._extend(r,t),be(r.showHidden)&&(r.showHidden=!1),be(r.depth)&&(r.depth=2),be(r.colors)&&(r.colors=!1),be(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ue),ae(r,e,r.depth)}function ue(e,t){var r=oe.styles[t];return r?\"\u001b[\"+oe.colors[r][0]+\"m\"+e+\"\u001b[\"+oe.colors[r][1]+\"m\":e}function fe(e,t){return e}function ae(e,t,r){if(e.customInspect&&t&&we(t.inspect)&&t.inspect!==X.inspect&&(!t.constructor||t.constructor.prototype!==t)){var n=t.inspect(r,e);return ge(n)||(n=ae(e,n,r)),n}var i=function(e,t){if(be(t))return e.stylize(\"undefined\",\"undefined\");if(ge(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(de(t))return e.stylize(\"\"+t,\"number\");if(ye(t))return e.stylize(\"\"+t,\"boolean\");if(le(t))return e.stylize(\"null\",\"null\")}(e,t);if(i)return i;var o=Object.keys(t),u=function(e){var t={};return e.forEach((function(e,r){t[e]=!0;})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(t)),Ae(t)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return ce(t);if(0===o.length){if(we(t)){var f=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+f+\"]\",\"special\")}if(me(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(je(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Ae(t))return ce(t)}var a,c=\"\",s=!1,p=[\"{\",\"}\"];(pe(t)&&(s=!0,p=[\"[\",\"]\"]),we(t))&&(c=\" [Function\"+(t.name?\": \"+t.name:\"\")+\"]\");return me(t)&&(c=\" \"+RegExp.prototype.toString.call(t)),je(t)&&(c=\" \"+Date.prototype.toUTCString.call(t)),Ae(t)&&(c=\" \"+ce(t)),0!==o.length||s&&0!=t.length?r<0?me(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(t),a=s?function(e,t,r,n,i){for(var o=[],u=0,f=t.length;u=0&&n++,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60)return r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+r[1];return r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}(a,c,p)):p[0]+c+p[1]}function ce(e){return \"[\"+Error.prototype.toString.call(e)+\"]\"}function se(e,t,r,n,i,o){var u,f,a;if((a=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?f=a.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):a.set&&(f=e.stylize(\"[Setter]\",\"special\")),ke(n,i)||(u=\"[\"+i+\"]\"),f||(e.seen.indexOf(a.value)<0?(f=le(r)?ae(e,a.value,null):ae(e,a.value,r-1)).indexOf(\"\\n\")>-1&&(f=o?f.split(\"\\n\").map((function(e){return \" \"+e})).join(\"\\n\").substr(2):\"\\n\"+f.split(\"\\n\").map((function(e){return \" \"+e})).join(\"\\n\")):f=e.stylize(\"[Circular]\",\"special\")),be(u)){if(o&&i.match(/^\\d+$/))return f;(u=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(u=u.substr(1,u.length-2),u=e.stylize(u,\"name\")):(u=u.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),u=e.stylize(u,\"string\"));}return u+\": \"+f}function pe(e){return Array.isArray(e)}function ye(e){return \"boolean\"==typeof e}function le(e){return null===e}function de(e){return \"number\"==typeof e}function ge(e){return \"string\"==typeof e}function be(e){return void 0===e}function me(e){return he(e)&&\"[object RegExp]\"===ve(e)}function he(e){return \"object\"==typeof e&&null!==e}function je(e){return he(e)&&\"[object Date]\"===ve(e)}function Ae(e){return he(e)&&(\"[object Error]\"===ve(e)||e instanceof Error)}function we(e){return \"function\"==typeof e}function ve(e){return Object.prototype.toString.call(e)}function Oe(e){return e<10?\"0\"+e.toString(10):e.toString(10)}X.debuglog=function(e){if(e=e.toUpperCase(),!re[e])if(ne.test(e)){var t=Y.pid;re[e]=function(){var r=X.format.apply(X,arguments);console.error(\"%s %d: %s\",e,t,r);};}else re[e]=function(){};return re[e]},X.inspect=oe,oe.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},oe.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},X.types=o$2,X.isArray=pe,X.isBoolean=ye,X.isNull=le,X.isNullOrUndefined=function(e){return null==e},X.isNumber=de,X.isString=ge,X.isSymbol=function(e){return \"symbol\"==typeof e},X.isUndefined=be,X.isRegExp=me,X.types.isRegExp=me,X.isObject=he,X.isDate=je,X.types.isDate=je,X.isError=Ae,X.types.isNativeError=Ae,X.isFunction=we,X.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},X.isBuffer=i$1;var Se=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Be(){var e=new Date,t=[Oe(e.getHours()),Oe(e.getMinutes()),Oe(e.getSeconds())].join(\":\");return [e.getDate(),Se[e.getMonth()],t].join(\" \")}function ke(e,t){return Object.prototype.hasOwnProperty.call(e,t)}X.log=function(){console.log(\"%s - %s\",Be(),X.format.apply(X,arguments));},X.inherits=t$2,X._extend=function(e,t){if(!t||!he(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var Ee=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function De(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r;}return t(e)}X.promisify=function(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(Ee&&e[Ee]){var t;if(\"function\"!=typeof(t=e[Ee]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,Ee,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n;})),i=[],o=0;o1)for(var n=1;n;\n private options = {\n maxSize: 1 * 1024 * 1024, // 1MB\n partiallyAcceptedCacheGeneration: {\n enabled: true,\n perCharacter: {\n lines: 1,\n words: 10,\n max: 30,\n },\n perWord: {\n lines: 1,\n max: 20,\n },\n perLine: {\n max: 3,\n },\n },\n };\n\n constructor() {\n this.cache = new LRUCache({\n maxSize: this.options.maxSize,\n sizeCalculation: sizeOfObject,\n });\n }\n\n has(key: CompletionCacheKey): boolean {\n return this.cache.has(this.hash(key));\n }\n\n set(key: CompletionCacheKey, value: CompletionCacheValue): void {\n for (const entry of this.createCacheEntries(key, value)) {\n this.cache.set(this.hash(entry.key), entry.value);\n }\n }\n\n get(key: CompletionCacheKey): CompletionCacheValue | undefined {\n return this.cache.get(this.hash(key));\n }\n\n private hash(key: CompletionCacheKey): string {\n return hashObject(key);\n }\n\n private createCacheEntries(\n key: CompletionCacheKey,\n value: CompletionCacheValue\n ): { key: CompletionCacheKey; value: CompletionCacheValue }[] {\n const list = [{ key, value }];\n if (this.options.partiallyAcceptedCacheGeneration.enabled) {\n const entries = value.choices\n .map((choice) => {\n return this.calculatePartiallyAcceptedPositions(choice.text).map((position) => {\n return {\n prefix: choice.text.slice(0, position),\n suffix: choice.text.slice(position),\n choiceIndex: choice.index,\n };\n });\n })\n .flat()\n .reduce((grouped: { [key: string]: { suffix: string; choiceIndex: number }[] }, entry) => {\n grouped[entry.prefix] = grouped[entry.prefix] || [];\n grouped[entry.prefix].push({ suffix: entry.suffix, choiceIndex: entry.choiceIndex });\n return grouped;\n }, {});\n for (const prefix in entries) {\n const cacheKey = { ...key, prompt: key.prompt + prefix };\n const cacheValue = {\n ...value,\n choices: entries[prefix].map((choice) => {\n return {\n index: choice.choiceIndex,\n text: choice.suffix,\n };\n }),\n };\n list.push({\n key: cacheKey,\n value: cacheValue,\n });\n }\n }\n return list;\n }\n\n private calculatePartiallyAcceptedPositions(completion: string): number[] {\n const positions: number[] = [];\n const option = this.options.partiallyAcceptedCacheGeneration;\n\n const lines = splitLines(completion);\n let index = 0;\n let offset = 0;\n // `index < lines.length - 1` to exclude the last line\n while (index < lines.length - 1 && index < option.perLine.max) {\n offset += lines[index].length;\n positions.push(offset);\n index++;\n }\n\n const words = lines.slice(0, option.perWord.lines).map(splitWords).flat();\n index = 0;\n offset = 0;\n while (index < words.length && index < option.perWord.max) {\n offset += words[index].length;\n positions.push(offset);\n index++;\n }\n\n const characters = lines\n .slice(0, option.perCharacter.lines)\n .map(splitWords)\n .flat()\n .slice(0, option.perCharacter.words)\n .join(\"\");\n offset = 1;\n while (offset < characters.length && offset < option.perCharacter.max) {\n positions.push(offset);\n offset++;\n }\n\n // distinct and sort ascending\n return positions.filter((v, i, arr) => arr.indexOf(v) === i).sort((a, b) => a - b);\n }\n}\n","/**\n * @module LRUCache\n */\n\n// module-private names and types\ntype Perf = { now: () => number }\nconst perf: Perf =\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date\n\nconst warned = new Set()\n\n// either a function or a class\ntype ForC = ((...a: any[]) => any) | { new (...a: any[]): any }\n\n/* c8 ignore start */\nconst PROCESS = (\n typeof process === 'object' && !!process ? process : {}\n) as { [k: string]: any }\n/* c8 ignore start */\n\nconst emitWarning = (\n msg: string,\n type: string,\n code: string,\n fn: ForC\n) => {\n typeof PROCESS.emitWarning === 'function'\n ? PROCESS.emitWarning(msg, type, code, fn)\n : console.error(`[${code}] ${type}: ${msg}`)\n}\n\nlet AC = globalThis.AbortController\nlet AS = globalThis.AbortSignal\n\n/* c8 ignore start */\nif (typeof AC === 'undefined') {\n //@ts-ignore\n AS = class AbortSignal {\n onabort?: (...a: any[]) => any\n _onabort: ((...a: any[]) => any)[] = []\n reason?: any\n aborted: boolean = false\n addEventListener(_: string, fn: (...a: any[]) => any) {\n this._onabort.push(fn)\n }\n }\n //@ts-ignore\n AC = class AbortController {\n constructor() {\n warnACPolyfill()\n }\n signal = new AS()\n abort(reason: any) {\n if (this.signal.aborted) return\n //@ts-ignore\n this.signal.reason = reason\n //@ts-ignore\n this.signal.aborted = true\n //@ts-ignore\n for (const fn of this.signal._onabort) {\n fn(reason)\n }\n this.signal.onabort?.(reason)\n }\n }\n let printACPolyfillWarning =\n PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1'\n const warnACPolyfill = () => {\n if (!printACPolyfillWarning) return\n printACPolyfillWarning = false\n emitWarning(\n 'AbortController is not defined. If using lru-cache in ' +\n 'node 14, load an AbortController polyfill from the ' +\n '`node-abort-controller` package. A minimal polyfill is ' +\n 'provided for use by LRUCache.fetch(), but it should not be ' +\n 'relied upon in other contexts (eg, passing it to other APIs that ' +\n 'use AbortController/AbortSignal might have undesirable effects). ' +\n 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.',\n 'NO_ABORT_CONTROLLER',\n 'ENOTSUP',\n warnACPolyfill\n )\n }\n}\n/* c8 ignore stop */\n\nconst shouldWarn = (code: string) => !warned.has(code)\n\nconst TYPE = Symbol('type')\ntype PosInt = number & { [TYPE]: 'Positive Integer' }\ntype Index = number & { [TYPE]: 'LRUCache Index' }\n\nconst isPosInt = (n: any): n is PosInt =>\n n && n === Math.floor(n) && n > 0 && isFinite(n)\n\ntype UintArray = Uint8Array | Uint16Array | Uint32Array\ntype NumberArray = UintArray | number[]\n\n/* c8 ignore start */\n// This is a little bit ridiculous, tbh.\n// The maximum array length is 2^32-1 or thereabouts on most JS impls.\n// And well before that point, you're caching the entire world, I mean,\n// that's ~32GB of just integers for the next/prev links, plus whatever\n// else to hold that many keys and values. Just filling the memory with\n// zeroes at init time is brutal when you get that big.\n// But why not be complete?\n// Maybe in the future, these limits will have expanded.\nconst getUintArray = (max: number) =>\n !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null\n/* c8 ignore stop */\n\nclass ZeroArray extends Array {\n constructor(size: number) {\n super(size)\n this.fill(0)\n }\n}\n\ntype StackLike = Stack | Index[]\nclass Stack {\n heap: NumberArray\n length: number\n // private constructor\n static #constructing: boolean = false\n static create(max: number): StackLike {\n const HeapCls = getUintArray(max)\n if (!HeapCls) return []\n Stack.#constructing = true\n const s = new Stack(max, HeapCls)\n Stack.#constructing = false\n return s\n }\n constructor(\n max: number,\n HeapCls: { new (n: number): NumberArray }\n ) {\n /* c8 ignore start */\n if (!Stack.#constructing) {\n throw new TypeError('instantiate Stack using Stack.create(n)')\n }\n /* c8 ignore stop */\n this.heap = new HeapCls(max)\n this.length = 0\n }\n push(n: Index) {\n this.heap[this.length++] = n\n }\n pop(): Index {\n return this.heap[--this.length] as Index\n }\n}\n\n/**\n * Promise representing an in-progress {@link LRUCache#fetch} call\n */\nexport type BackgroundFetch = Promise & {\n __returned: BackgroundFetch | undefined\n __abortController: AbortController\n __staleWhileFetching: V | undefined\n}\n\ntype DisposeTask = [\n value: V,\n key: K,\n reason: LRUCache.DisposeReason\n]\n\nexport namespace LRUCache {\n /**\n * An integer greater than 0, reflecting the calculated size of items\n */\n export type Size = number\n\n /**\n * Integer greater than 0, representing some number of milliseconds, or the\n * time at which a TTL started counting from.\n */\n export type Milliseconds = number\n\n /**\n * An integer greater than 0, reflecting a number of items\n */\n export type Count = number\n\n /**\n * The reason why an item was removed from the cache, passed\n * to the {@link Disposer} methods.\n */\n export type DisposeReason = 'evict' | 'set' | 'delete'\n /**\n * A method called upon item removal, passed as the\n * {@link OptionsBase.dispose} and/or\n * {@link OptionsBase.disposeAfter} options.\n */\n export type Disposer = (\n value: V,\n key: K,\n reason: DisposeReason\n ) => void\n\n /**\n * A function that returns the effective calculated size\n * of an entry in the cache.\n */\n export type SizeCalculator = (value: V, key: K) => Size\n\n /**\n * Options provided to the\n * {@link OptionsBase.fetchMethod} function.\n */\n export interface FetcherOptions {\n signal: AbortSignal\n options: FetcherFetchOptions\n /**\n * Object provided in the {@link FetchOptions.context} option to\n * {@link LRUCache#fetch}\n */\n context: FC\n }\n\n /**\n * Status object that may be passed to {@link LRUCache#fetch},\n * {@link LRUCache#get}, {@link LRUCache#set}, and {@link LRUCache#has}.\n */\n export interface Status {\n /**\n * The status of a set() operation.\n *\n * - add: the item was not found in the cache, and was added\n * - update: the item was in the cache, with the same value provided\n * - replace: the item was in the cache, and replaced\n * - miss: the item was not added to the cache for some reason\n */\n set?: 'add' | 'update' | 'replace' | 'miss'\n\n /**\n * the ttl stored for the item, or undefined if ttls are not used.\n */\n ttl?: Milliseconds\n\n /**\n * the start time for the item, or undefined if ttls are not used.\n */\n start?: Milliseconds\n\n /**\n * The timestamp used for TTL calculation\n */\n now?: Milliseconds\n\n /**\n * the remaining ttl for the item, or undefined if ttls are not used.\n */\n remainingTTL?: Milliseconds\n\n /**\n * The calculated size for the item, if sizes are used.\n */\n entrySize?: Size\n\n /**\n * The total calculated size of the cache, if sizes are used.\n */\n totalCalculatedSize?: Size\n\n /**\n * A flag indicating that the item was not stored, due to exceeding the\n * {@link OptionsBase.maxEntrySize}\n */\n maxEntrySizeExceeded?: true\n\n /**\n * The old value, specified in the case of `set:'update'` or\n * `set:'replace'`\n */\n oldValue?: V\n\n /**\n * The results of a {@link LRUCache#has} operation\n *\n * - hit: the item was found in the cache\n * - stale: the item was found in the cache, but is stale\n * - miss: the item was not found in the cache\n */\n has?: 'hit' | 'stale' | 'miss'\n\n /**\n * The status of a {@link LRUCache#fetch} operation.\n * Note that this can change as the underlying fetch() moves through\n * various states.\n *\n * - inflight: there is another fetch() for this key which is in process\n * - get: there is no fetchMethod, so {@link LRUCache#get} was called.\n * - miss: the item is not in cache, and will be fetched.\n * - hit: the item is in the cache, and was resolved immediately.\n * - stale: the item is in the cache, but stale.\n * - refresh: the item is in the cache, and not stale, but\n * {@link FetchOptions.forceRefresh} was specified.\n */\n fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'\n\n /**\n * The {@link OptionsBase.fetchMethod} was called\n */\n fetchDispatched?: true\n\n /**\n * The cached value was updated after a successful call to\n * {@link OptionsBase.fetchMethod}\n */\n fetchUpdated?: true\n\n /**\n * The reason for a fetch() rejection. Either the error raised by the\n * {@link OptionsBase.fetchMethod}, or the reason for an\n * AbortSignal.\n */\n fetchError?: Error\n\n /**\n * The fetch received an abort signal\n */\n fetchAborted?: true\n\n /**\n * The abort signal received was ignored, and the fetch was allowed to\n * continue.\n */\n fetchAbortIgnored?: true\n\n /**\n * The fetchMethod promise resolved successfully\n */\n fetchResolved?: true\n\n /**\n * The fetchMethod promise was rejected\n */\n fetchRejected?: true\n\n /**\n * The status of a {@link LRUCache#get} operation.\n *\n * - fetching: The item is currently being fetched. If a previous value\n * is present and allowed, that will be returned.\n * - stale: The item is in the cache, and is stale.\n * - hit: the item is in the cache\n * - miss: the item is not in the cache\n */\n get?: 'stale' | 'hit' | 'miss'\n\n /**\n * A fetch or get operation returned a stale value.\n */\n returnedStale?: true\n }\n\n /**\n * options which override the options set in the LRUCache constructor\n * when calling {@link LRUCache#fetch}.\n *\n * This is the union of {@link GetOptions} and {@link SetOptions}, plus\n * {@link OptionsBase.noDeleteOnFetchRejection},\n * {@link OptionsBase.allowStaleOnFetchRejection},\n * {@link FetchOptions.forceRefresh}, and\n * {@link OptionsBase.context}\n *\n * Any of these may be modified in the {@link OptionsBase.fetchMethod}\n * function, but the {@link GetOptions} fields will of course have no\n * effect, as the {@link LRUCache#get} call already happened by the time\n * the fetchMethod is called.\n */\n export interface FetcherFetchOptions\n extends Pick<\n OptionsBase,\n | 'allowStale'\n | 'updateAgeOnGet'\n | 'noDeleteOnStaleGet'\n | 'sizeCalculation'\n | 'ttl'\n | 'noDisposeOnSet'\n | 'noUpdateTTL'\n | 'noDeleteOnFetchRejection'\n | 'allowStaleOnFetchRejection'\n | 'ignoreFetchAbort'\n | 'allowStaleOnFetchAbort'\n > {\n status?: Status\n size?: Size\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#fetch} method.\n */\n export interface FetchOptions\n extends FetcherFetchOptions {\n /**\n * Set to true to force a re-load of the existing data, even if it\n * is not yet stale.\n */\n forceRefresh?: boolean\n /**\n * Context provided to the {@link OptionsBase.fetchMethod} as\n * the {@link FetcherOptions.context} param.\n *\n * If the FC type is specified as unknown (the default),\n * undefined or void, then this is optional. Otherwise, it will\n * be required.\n */\n context?: FC\n signal?: AbortSignal\n status?: Status\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is something\n * other than `unknown`, `undefined`, or `void`\n */\n export interface FetchOptionsWithContext\n extends FetchOptions {\n context: FC\n }\n /**\n * Options provided to {@link LRUCache#fetch} when the FC type is\n * `undefined` or `void`\n */\n export interface FetchOptionsNoContext\n extends FetchOptions {\n context?: undefined\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#has} method.\n */\n export interface HasOptions\n extends Pick, 'updateAgeOnHas'> {\n status?: Status\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#get} method.\n */\n export interface GetOptions\n extends Pick<\n OptionsBase,\n 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'\n > {\n status?: Status\n }\n\n /**\n * Options that may be passed to the {@link LRUCache#peek} method.\n */\n export interface PeekOptions\n extends Pick, 'allowStale'> {}\n\n /**\n * Options that may be passed to the {@link LRUCache#set} method.\n */\n export interface SetOptions\n extends Pick<\n OptionsBase,\n 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'\n > {\n /**\n * If size tracking is enabled, then setting an explicit size\n * in the {@link LRUCache#set} call will prevent calling the\n * {@link OptionsBase.sizeCalculation} function.\n */\n size?: Size\n /**\n * If TTL tracking is enabled, then setting an explicit start\n * time in the {@link LRUCache#set} call will override the\n * default time from `performance.now()` or `Date.now()`.\n *\n * Note that it must be a valid value for whichever time-tracking\n * method is in use.\n */\n start?: Milliseconds\n status?: Status\n }\n\n /**\n * The type signature for the {@link OptionsBase.fetchMethod} option.\n */\n export type Fetcher = (\n key: K,\n staleValue: V | undefined,\n options: FetcherOptions\n ) => Promise | V | void | undefined\n\n /**\n * Options which may be passed to the {@link LRUCache} constructor.\n *\n * Most of these may be overridden in the various options that use\n * them.\n *\n * Despite all being technically optional, the constructor requires that\n * a cache is at minimum limited by one or more of {@link OptionsBase.max},\n * {@link OptionsBase.ttl}, or {@link OptionsBase.maxSize}.\n *\n * If {@link OptionsBase.ttl} is used alone, then it is strongly advised\n * (and in fact required by the type definitions here) that the cache\n * also set {@link OptionsBase.ttlAutopurge}, to prevent potentially\n * unbounded storage.\n */\n export interface OptionsBase {\n /**\n * The maximum number of items to store in the cache before evicting\n * old entries. This is read-only on the {@link LRUCache} instance,\n * and may not be overridden.\n *\n * If set, then storage space will be pre-allocated at construction\n * time, and the cache will perform significantly faster.\n *\n * Note that significantly fewer items may be stored, if\n * {@link OptionsBase.maxSize} and/or {@link OptionsBase.ttl} are also\n * set.\n */\n max?: Count\n\n /**\n * Max time in milliseconds for items to live in cache before they are\n * considered stale. Note that stale items are NOT preemptively removed\n * by default, and MAY live in the cache long after they have expired.\n *\n * Also, as this cache is optimized for LRU/MRU operations, some of\n * the staleness/TTL checks will reduce performance, as they will incur\n * overhead by deleting items.\n *\n * Must be an integer number of ms. If set to 0, this indicates \"no TTL\"\n *\n * @default 0\n */\n ttl?: Milliseconds\n\n /**\n * Minimum amount of time in ms in which to check for staleness.\n * Defaults to 1, which means that the current time is checked\n * at most once per millisecond.\n *\n * Set to 0 to check the current time every time staleness is tested.\n * (This reduces performance, and is theoretically unnecessary.)\n *\n * Setting this to a higher value will improve performance somewhat\n * while using ttl tracking, albeit at the expense of keeping stale\n * items around a bit longer than their TTLs would indicate.\n *\n * @default 1\n */\n ttlResolution?: Milliseconds\n\n /**\n * Preemptively remove stale items from the cache.\n * Note that this may significantly degrade performance,\n * especially if the cache is storing a large number of items.\n * It is almost always best to just leave the stale items in\n * the cache, and let them fall out as new items are added.\n *\n * Note that this means that {@link OptionsBase.allowStale} is a bit\n * pointless, as stale items will be deleted almost as soon as they\n * expire.\n *\n * @default false\n */\n ttlAutopurge?: boolean\n\n /**\n * Update the age of items on {@link LRUCache#get}, renewing their TTL\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n *\n * @default false\n */\n updateAgeOnGet?: boolean\n\n /**\n * Update the age of items on {@link LRUCache#has}, renewing their TTL\n *\n * Has no effect if {@link OptionsBase.ttl} is not set.\n *\n * @default false\n */\n updateAgeOnHas?: boolean\n\n /**\n * Allow {@link LRUCache#get} and {@link LRUCache#fetch} calls to return\n * stale data, if available.\n */\n allowStale?: boolean\n\n /**\n * Function that is called on items when they are dropped from the cache.\n * This can be handy if you want to close file descriptors or do other\n * cleanup tasks when items are no longer accessible. Called with `key,\n * value`. It's called before actually removing the item from the\n * internal cache, so it is *NOT* safe to re-add them.\n *\n * Use {@link OptionsBase.disposeAfter} if you wish to dispose items after\n * they have been full removed, when it is safe to add them back to the\n * cache.\n */\n dispose?: Disposer\n\n /**\n * The same as {@link OptionsBase.dispose}, but called *after* the entry\n * is completely removed and the cache is once again in a clean state.\n * It is safe to add an item right back into the cache at this point.\n * However, note that it is *very* easy to inadvertently create infinite\n * recursion this way.\n */\n disposeAfter?: Disposer\n\n /**\n * Set to true to suppress calling the\n * {@link OptionsBase.dispose} function if the entry key is\n * still accessible within the cache.\n * This may be overridden by passing an options object to\n * {@link LRUCache#set}.\n */\n noDisposeOnSet?: boolean\n\n /**\n * Boolean flag to tell the cache to not update the TTL when\n * setting a new value for an existing key (ie, when updating a value\n * rather than inserting a new value). Note that the TTL value is\n * _always_ set (if provided) when adding a new entry into the cache.\n *\n * Has no effect if a {@link OptionsBase.ttl} is not set.\n */\n noUpdateTTL?: boolean\n\n /**\n * If you wish to track item size, you must provide a maxSize\n * note that we still will only keep up to max *actual items*,\n * if max is set, so size tracking may cause fewer than max items\n * to be stored. At the extreme, a single item of maxSize size\n * will cause everything else in the cache to be dropped when it\n * is added. Use with caution!\n *\n * Note also that size tracking can negatively impact performance,\n * though for most cases, only minimally.\n */\n maxSize?: Size\n\n /**\n * The maximum allowed size for any single item in the cache.\n *\n * If a larger item is passed to {@link LRUCache#set} or returned by a\n * {@link OptionsBase.fetchMethod}, then it will not be stored in the\n * cache.\n */\n maxEntrySize?: Size\n\n /**\n * A function that returns a number indicating the item's size.\n *\n * If not provided, and {@link OptionsBase.maxSize} or\n * {@link OptionsBase.maxEntrySize} are set, then all\n * {@link LRUCache#set} calls **must** provide an explicit\n * {@link SetOptions.size} or sizeCalculation param.\n */\n sizeCalculation?: SizeCalculator\n\n /**\n * Method that provides the implementation for {@link LRUCache#fetch}\n */\n fetchMethod?: Fetcher\n\n /**\n * Set to true to suppress the deletion of stale data when a\n * {@link OptionsBase.fetchMethod} returns a rejected promise.\n */\n noDeleteOnFetchRejection?: boolean\n\n /**\n * Do not delete stale items when they are retrieved with\n * {@link LRUCache#get}.\n *\n * Note that the `get` return value will still be `undefined`\n * unless {@link OptionsBase.allowStale} is true.\n */\n noDeleteOnStaleGet?: boolean\n\n /**\n * Set to true to allow returning stale data when a\n * {@link OptionsBase.fetchMethod} throws an error or returns a rejected\n * promise.\n *\n * This differs from using {@link OptionsBase.allowStale} in that stale\n * data will ONLY be returned in the case that the\n * {@link LRUCache#fetch} fails, not any other times.\n */\n allowStaleOnFetchRejection?: boolean\n\n /**\n * Set to true to return a stale value from the cache when the\n * `AbortSignal` passed to the {@link OptionsBase.fetchMethod} dispatches an `'abort'`\n * event, whether user-triggered, or due to internal cache behavior.\n *\n * Unless {@link OptionsBase.ignoreFetchAbort} is also set, the underlying\n * {@link OptionsBase.fetchMethod} will still be considered canceled, and its return\n * value will be ignored and not cached.\n */\n allowStaleOnFetchAbort?: boolean\n\n /**\n * Set to true to ignore the `abort` event emitted by the `AbortSignal`\n * object passed to {@link OptionsBase.fetchMethod}, and still cache the\n * resulting resolution value, as long as it is not `undefined`.\n *\n * When used on its own, this means aborted {@link LRUCache#fetch} calls are not\n * immediately resolved or rejected when they are aborted, and instead\n * take the full time to await.\n *\n * When used with {@link OptionsBase.allowStaleOnFetchAbort}, aborted\n * {@link LRUCache#fetch} calls will resolve immediately to their stale\n * cached value or `undefined`, and will continue to process and eventually\n * update the cache when they resolve, as long as the resulting value is\n * not `undefined`, thus supporting a \"return stale on timeout while\n * refreshing\" mechanism by passing `AbortSignal.timeout(n)` as the signal.\n *\n * **Note**: regardless of this setting, an `abort` event _is still\n * emitted on the `AbortSignal` object_, so may result in invalid results\n * when passed to other underlying APIs that use AbortSignals.\n *\n * This may be overridden in the {@link OptionsBase.fetchMethod} or the\n * call to {@link LRUCache#fetch}.\n */\n ignoreFetchAbort?: boolean\n }\n\n export interface OptionsMaxLimit\n extends OptionsBase {\n max: Count\n }\n export interface OptionsTTLLimit\n extends OptionsBase {\n ttl: Milliseconds\n ttlAutopurge: boolean\n }\n export interface OptionsSizeLimit\n extends OptionsBase {\n maxSize: Size\n }\n\n /**\n * The valid safe options for the {@link LRUCache} constructor\n */\n export type Options =\n | OptionsMaxLimit\n | OptionsSizeLimit\n | OptionsTTLLimit\n\n /**\n * Entry objects used by {@link LRUCache#load} and {@link LRUCache#dump}\n */\n export interface Entry {\n value: V\n ttl?: Milliseconds\n size?: Size\n start?: Milliseconds\n }\n}\n\n/**\n * Default export, the thing you're using this module to get.\n *\n * All properties from the options object (with the exception of\n * {@link OptionsBase.max} and {@link OptionsBase.maxSize}) are added as\n * normal public members. (`max` and `maxBase` are read-only getters.)\n * Changing any of these will alter the defaults for subsequent method calls,\n * but is otherwise safe.\n */\nexport class LRUCache {\n // properties coming in from the options of these, only max and maxSize\n // really *need* to be protected. The rest can be modified, as they just\n // set defaults for various methods.\n readonly #max: LRUCache.Count\n readonly #maxSize: LRUCache.Size\n readonly #dispose?: LRUCache.Disposer\n readonly #disposeAfter?: LRUCache.Disposer\n readonly #fetchMethod?: LRUCache.Fetcher\n\n /**\n * {@link LRUCache.OptionsBase.ttl}\n */\n ttl: LRUCache.Milliseconds\n\n /**\n * {@link LRUCache.OptionsBase.ttlResolution}\n */\n ttlResolution: LRUCache.Milliseconds\n /**\n * {@link LRUCache.OptionsBase.ttlAutopurge}\n */\n ttlAutopurge: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnGet}\n */\n updateAgeOnGet: boolean\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnHas}\n */\n updateAgeOnHas: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStale}\n */\n allowStale: boolean\n\n /**\n * {@link LRUCache.OptionsBase.noDisposeOnSet}\n */\n noDisposeOnSet: boolean\n /**\n * {@link LRUCache.OptionsBase.noUpdateTTL}\n */\n noUpdateTTL: boolean\n /**\n * {@link LRUCache.OptionsBase.maxEntrySize}\n */\n maxEntrySize: LRUCache.Size\n /**\n * {@link LRUCache.OptionsBase.sizeCalculation}\n */\n sizeCalculation?: LRUCache.SizeCalculator\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}\n */\n noDeleteOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}\n */\n noDeleteOnStaleGet: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}\n */\n allowStaleOnFetchAbort: boolean\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}\n */\n allowStaleOnFetchRejection: boolean\n /**\n * {@link LRUCache.OptionsBase.ignoreFetchAbort}\n */\n ignoreFetchAbort: boolean\n\n // computed properties\n #size: LRUCache.Count\n #calculatedSize: LRUCache.Size\n #keyMap: Map\n #keyList: (K | undefined)[]\n #valList: (V | BackgroundFetch | undefined)[]\n #next: NumberArray\n #prev: NumberArray\n #head: Index\n #tail: Index\n #free: StackLike\n #disposed?: DisposeTask[]\n #sizes?: ZeroArray\n #starts?: ZeroArray\n #ttls?: ZeroArray\n\n #hasDispose: boolean\n #hasFetchMethod: boolean\n #hasDisposeAfter: boolean\n\n /**\n * Do not call this method unless you need to inspect the\n * inner workings of the cache. If anything returned by this\n * object is modified in any way, strange breakage may occur.\n *\n * These fields are private for a reason!\n *\n * @internal\n */\n static unsafeExposeInternals<\n K extends {},\n V extends {},\n FC extends unknown = unknown\n >(c: LRUCache) {\n return {\n // properties\n starts: c.#starts,\n ttls: c.#ttls,\n sizes: c.#sizes,\n keyMap: c.#keyMap as Map,\n keyList: c.#keyList,\n valList: c.#valList,\n next: c.#next,\n prev: c.#prev,\n get head() {\n return c.#head\n },\n get tail() {\n return c.#tail\n },\n free: c.#free,\n // methods\n isBackgroundFetch: (p: any) => c.#isBackgroundFetch(p),\n backgroundFetch: (\n k: K,\n index: number | undefined,\n options: LRUCache.FetchOptions,\n context: any\n ): BackgroundFetch =>\n c.#backgroundFetch(\n k,\n index as Index | undefined,\n options,\n context\n ),\n moveToTail: (index: number): void =>\n c.#moveToTail(index as Index),\n indexes: (options?: { allowStale: boolean }) =>\n c.#indexes(options),\n rindexes: (options?: { allowStale: boolean }) =>\n c.#rindexes(options),\n isStale: (index: number | undefined) =>\n c.#isStale(index as Index),\n }\n }\n\n // Protected read-only members\n\n /**\n * {@link LRUCache.OptionsBase.max} (read-only)\n */\n get max(): LRUCache.Count {\n return this.#max\n }\n /**\n * {@link LRUCache.OptionsBase.maxSize} (read-only)\n */\n get maxSize(): LRUCache.Count {\n return this.#maxSize\n }\n /**\n * The total computed size of items in the cache (read-only)\n */\n get calculatedSize(): LRUCache.Size {\n return this.#calculatedSize\n }\n /**\n * The number of items stored in the cache (read-only)\n */\n get size(): LRUCache.Count {\n return this.#size\n }\n /**\n * {@link LRUCache.OptionsBase.fetchMethod} (read-only)\n */\n get fetchMethod(): LRUCache.Fetcher | undefined {\n return this.#fetchMethod\n }\n /**\n * {@link LRUCache.OptionsBase.dispose} (read-only)\n */\n get dispose() {\n return this.#dispose\n }\n /**\n * {@link LRUCache.OptionsBase.disposeAfter} (read-only)\n */\n get disposeAfter() {\n return this.#disposeAfter\n }\n\n constructor(\n options: LRUCache.Options | LRUCache\n ) {\n const {\n max = 0,\n ttl,\n ttlResolution = 1,\n ttlAutopurge,\n updateAgeOnGet,\n updateAgeOnHas,\n allowStale,\n dispose,\n disposeAfter,\n noDisposeOnSet,\n noUpdateTTL,\n maxSize = 0,\n maxEntrySize = 0,\n sizeCalculation,\n fetchMethod,\n noDeleteOnFetchRejection,\n noDeleteOnStaleGet,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n } = options\n\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer')\n }\n\n const UintArray = max ? getUintArray(max) : Array\n if (!UintArray) {\n throw new Error('invalid max value: ' + max)\n }\n\n this.#max = max\n this.#maxSize = maxSize\n this.maxEntrySize = maxEntrySize || this.#maxSize\n this.sizeCalculation = sizeCalculation\n if (this.sizeCalculation) {\n if (!this.#maxSize && !this.maxEntrySize) {\n throw new TypeError(\n 'cannot set sizeCalculation without setting maxSize or maxEntrySize'\n )\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function')\n }\n }\n\n if (\n fetchMethod !== undefined &&\n typeof fetchMethod !== 'function'\n ) {\n throw new TypeError(\n 'fetchMethod must be a function if specified'\n )\n }\n this.#fetchMethod = fetchMethod\n this.#hasFetchMethod = !!fetchMethod\n\n this.#keyMap = new Map()\n this.#keyList = new Array(max).fill(undefined)\n this.#valList = new Array(max).fill(undefined)\n this.#next = new UintArray(max)\n this.#prev = new UintArray(max)\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free = Stack.create(max)\n this.#size = 0\n this.#calculatedSize = 0\n\n if (typeof dispose === 'function') {\n this.#dispose = dispose\n }\n if (typeof disposeAfter === 'function') {\n this.#disposeAfter = disposeAfter\n this.#disposed = []\n } else {\n this.#disposeAfter = undefined\n this.#disposed = undefined\n }\n this.#hasDispose = !!this.#dispose\n this.#hasDisposeAfter = !!this.#disposeAfter\n\n this.noDisposeOnSet = !!noDisposeOnSet\n this.noUpdateTTL = !!noUpdateTTL\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection\n this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection\n this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort\n this.ignoreFetchAbort = !!ignoreFetchAbort\n\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.#maxSize !== 0) {\n if (!isPosInt(this.#maxSize)) {\n throw new TypeError(\n 'maxSize must be a positive integer if specified'\n )\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError(\n 'maxEntrySize must be a positive integer if specified'\n )\n }\n this.#initializeSizeTracking()\n }\n\n this.allowStale = !!allowStale\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet\n this.updateAgeOnGet = !!updateAgeOnGet\n this.updateAgeOnHas = !!updateAgeOnHas\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1\n this.ttlAutopurge = !!ttlAutopurge\n this.ttl = ttl || 0\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError(\n 'ttl must be a positive integer if specified'\n )\n }\n this.#initializeTTLTracking()\n }\n\n // do not allow completely unbounded caches\n if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {\n throw new TypeError(\n 'At least one of max, maxSize, or ttl is required'\n )\n }\n if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED'\n if (shouldWarn(code)) {\n warned.add(code)\n const msg =\n 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.'\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)\n }\n }\n }\n\n /**\n * Return the remaining TTL time for a given entry key\n */\n getRemainingTTL(key: K) {\n return this.#keyMap.has(key) ? Infinity : 0\n }\n\n #initializeTTLTracking() {\n const ttls = new ZeroArray(this.#max)\n const starts = new ZeroArray(this.#max)\n this.#ttls = ttls\n this.#starts = starts\n\n this.#setItemTTL = (index, ttl, start = perf.now()) => {\n starts[index] = ttl !== 0 ? start : 0\n ttls[index] = ttl\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.#isStale(index)) {\n this.delete(this.#keyList[index] as K)\n }\n }, ttl + 1)\n // unref() not supported on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n }\n\n this.#updateItemAge = index => {\n starts[index] = ttls[index] !== 0 ? perf.now() : 0\n }\n\n this.#statusTTL = (status, index) => {\n if (ttls[index]) {\n const ttl = ttls[index]\n const start = starts[index]\n status.ttl = ttl\n status.start = start\n status.now = cachedNow || getNow()\n const age = status.now - start\n status.remainingTTL = ttl - age\n }\n }\n\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0\n const getNow = () => {\n const n = perf.now()\n if (this.ttlResolution > 0) {\n cachedNow = n\n const t = setTimeout(\n () => (cachedNow = 0),\n this.ttlResolution\n )\n // not available on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref()\n }\n /* c8 ignore stop */\n }\n return n\n }\n\n this.getRemainingTTL = key => {\n const index = this.#keyMap.get(key)\n if (index === undefined) {\n return 0\n }\n const ttl = ttls[index]\n const start = starts[index]\n if (ttl === 0 || start === 0) {\n return Infinity\n }\n const age = (cachedNow || getNow()) - start\n return ttl - age\n }\n\n this.#isStale = index => {\n return (\n ttls[index] !== 0 &&\n starts[index] !== 0 &&\n (cachedNow || getNow()) - starts[index] > ttls[index]\n )\n }\n }\n\n // conditionally set private methods related to TTL\n #updateItemAge: (index: Index) => void = () => {}\n #statusTTL: (status: LRUCache.Status, index: Index) => void =\n () => {}\n #setItemTTL: (\n index: Index,\n ttl: LRUCache.Milliseconds,\n start?: LRUCache.Milliseconds\n // ignore because we never call this if we're not already in TTL mode\n /* c8 ignore start */\n ) => void = () => {}\n /* c8 ignore stop */\n\n #isStale: (index: Index) => boolean = () => false\n\n #initializeSizeTracking() {\n const sizes = new ZeroArray(this.#max)\n this.#calculatedSize = 0\n this.#sizes = sizes\n this.#removeItemSize = index => {\n this.#calculatedSize -= sizes[index]\n sizes[index] = 0\n }\n this.#requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.#isBackgroundFetch(v)) {\n return 0\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function')\n }\n size = sizeCalculation(v, k)\n if (!isPosInt(size)) {\n throw new TypeError(\n 'sizeCalculation return invalid (expect positive integer)'\n )\n }\n } else {\n throw new TypeError(\n 'invalid size value (must be positive integer). ' +\n 'When maxSize or maxEntrySize is used, sizeCalculation ' +\n 'or size must be set.'\n )\n }\n }\n return size\n }\n this.#addItemSize = (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status\n ) => {\n sizes[index] = size\n if (this.#maxSize) {\n const maxSize = this.#maxSize - sizes[index]\n while (this.#calculatedSize > maxSize) {\n this.#evict(true)\n }\n }\n this.#calculatedSize += sizes[index]\n if (status) {\n status.entrySize = size\n status.totalCalculatedSize = this.#calculatedSize\n }\n }\n }\n\n #removeItemSize: (index: Index) => void = _i => {}\n #addItemSize: (\n index: Index,\n size: LRUCache.Size,\n status?: LRUCache.Status\n ) => void = (_i, _s, _st) => {}\n #requireSize: (\n k: K,\n v: V | BackgroundFetch,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator\n ) => LRUCache.Size = (\n _k: K,\n _v: V | BackgroundFetch,\n size?: LRUCache.Size,\n sizeCalculation?: LRUCache.SizeCalculator\n ) => {\n if (size || sizeCalculation) {\n throw new TypeError(\n 'cannot set size without setting maxSize or maxEntrySize on cache'\n )\n }\n return 0\n };\n\n *#indexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#tail; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#head) {\n break\n } else {\n i = this.#prev[i] as Index\n }\n }\n }\n }\n\n *#rindexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#head; true; ) {\n if (!this.#isValidIndex(i)) {\n break\n }\n if (allowStale || !this.#isStale(i)) {\n yield i\n }\n if (i === this.#tail) {\n break\n } else {\n i = this.#next[i] as Index\n }\n }\n }\n }\n\n #isValidIndex(index: Index) {\n return (\n index !== undefined &&\n this.#keyMap.get(this.#keyList[index] as K) === index\n )\n }\n\n /**\n * Return a generator yielding `[key, value]` pairs,\n * in order from most recently used to least recently used.\n */\n *entries() {\n for (const i of this.#indexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]]\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.entries}\n *\n * Return a generator yielding `[key, value]` pairs,\n * in order from least recently used to most recently used.\n */\n *rentries() {\n for (const i of this.#rindexes()) {\n if (\n this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield [this.#keyList[i], this.#valList[i]]\n }\n }\n }\n\n /**\n * Return a generator yielding the keys in the cache,\n * in order from most recently used to least recently used.\n */\n *keys() {\n for (const i of this.#indexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.keys}\n *\n * Return a generator yielding the keys in the cache,\n * in order from least recently used to most recently used.\n */\n *rkeys() {\n for (const i of this.#rindexes()) {\n const k = this.#keyList[i]\n if (\n k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield k\n }\n }\n }\n\n /**\n * Return a generator yielding the values in the cache,\n * in order from most recently used to least recently used.\n */\n *values() {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i]\n }\n }\n }\n\n /**\n * Inverse order version of {@link LRUCache.values}\n *\n * Return a generator yielding the values in the cache,\n * in order from least recently used to most recently used.\n */\n *rvalues() {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n if (\n v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])\n ) {\n yield this.#valList[i]\n }\n }\n }\n\n /**\n * Iterating over the cache itself yields the same results as\n * {@link LRUCache.entries}\n */\n [Symbol.iterator]() {\n return this.entries()\n }\n\n /**\n * Find a value for which the supplied fn method returns a truthy value,\n * similar to Array.find(). fn is called as fn(value, key, cache).\n */\n find(\n fn: (v: V, k: K, self: LRUCache) => boolean,\n getOptions: LRUCache.GetOptions = {}\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n if (fn(value, this.#keyList[i] as K, this)) {\n return this.get(this.#keyList[i] as K, getOptions)\n }\n }\n }\n\n /**\n * Call the supplied function on each item in the cache, in order from\n * most recently used to least recently used. fn is called as\n * fn(value, key, cache). Does not update age or recenty of use.\n * Does not iterate over stale values.\n */\n forEach(\n fn: (v: V, k: K, self: LRUCache) => any,\n thisp: any = this\n ) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * The same as {@link LRUCache.forEach} but items are iterated over in\n * reverse order. (ie, less recently used items are iterated over first.)\n */\n rforEach(\n fn: (v: V, k: K, self: LRUCache) => any,\n thisp: any = this\n ) {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i]\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined) continue\n fn.call(thisp, value, this.#keyList[i] as K, this)\n }\n }\n\n /**\n * Delete any stale entries. Returns true if anything was removed,\n * false otherwise.\n */\n purgeStale() {\n let deleted = false\n for (const i of this.#rindexes({ allowStale: true })) {\n if (this.#isStale(i)) {\n this.delete(this.#keyList[i] as K)\n deleted = true\n }\n }\n return deleted\n }\n\n /**\n * Return an array of [key, {@link LRUCache.Entry}] tuples which can be\n * passed to cache.load()\n */\n dump() {\n const arr: [K, LRUCache.Entry][] = []\n for (const i of this.#indexes({ allowStale: true })) {\n const key = this.#keyList[i]\n const v = this.#valList[i]\n const value: V | undefined = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n if (value === undefined || key === undefined) continue\n const entry: LRUCache.Entry = { value }\n if (this.#ttls && this.#starts) {\n entry.ttl = this.#ttls[i]\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - this.#starts[i]\n entry.start = Math.floor(Date.now() - age)\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i]\n }\n arr.unshift([key, entry])\n }\n return arr\n }\n\n /**\n * Reset the cache and load in the items in entries in the order listed.\n * Note that the shape of the resulting cache may be different if the\n * same options are not used in both caches.\n */\n load(arr: [K, LRUCache.Entry][]) {\n this.clear()\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset, so that\n // we get the intended remaining TTL, no matter how long it's\n // been on ice.\n //\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start\n entry.start = perf.now() - age\n }\n this.set(key, entry.value, entry)\n }\n }\n\n /**\n * Add a value to the cache.\n *\n * Note: if `undefined` is specified as a value, this is an alias for\n * {@link LRUCache#delete}\n */\n set(\n k: K,\n v: V | BackgroundFetch | undefined,\n setOptions: LRUCache.SetOptions = {}\n ) {\n if (v === undefined) {\n this.delete(k)\n return this\n }\n const {\n ttl = this.ttl,\n start,\n noDisposeOnSet = this.noDisposeOnSet,\n sizeCalculation = this.sizeCalculation,\n status,\n } = setOptions\n let { noUpdateTTL = this.noUpdateTTL } = setOptions\n\n const size = this.#requireSize(\n k,\n v,\n setOptions.size || 0,\n sizeCalculation\n )\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n if (status) {\n status.set = 'miss'\n status.maxEntrySizeExceeded = true\n }\n // have to delete, in case something is there already.\n this.delete(k)\n return this\n }\n let index = this.#size === 0 ? undefined : this.#keyMap.get(k)\n if (index === undefined) {\n // addition\n index = (\n this.#size === 0\n ? this.#tail\n : this.#free.length !== 0\n ? this.#free.pop()\n : this.#size === this.#max\n ? this.#evict(false)\n : this.#size\n ) as Index\n this.#keyList[index] = k\n this.#valList[index] = v\n this.#keyMap.set(k, index)\n this.#next[this.#tail] = index\n this.#prev[index] = this.#tail\n this.#tail = index\n this.#size++\n this.#addItemSize(index, size, status)\n if (status) status.set = 'add'\n noUpdateTTL = false\n } else {\n // update\n this.#moveToTail(index)\n const oldVal = this.#valList[index] as V | BackgroundFetch\n if (v !== oldVal) {\n if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort(new Error('replaced'))\n } else if (!noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(oldVal as V, k, 'set')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([oldVal as V, k, 'set'])\n }\n }\n this.#removeItemSize(index)\n this.#addItemSize(index, size, status)\n this.#valList[index] = v\n if (status) {\n status.set = 'replace'\n const oldValue =\n oldVal && this.#isBackgroundFetch(oldVal)\n ? oldVal.__staleWhileFetching\n : oldVal\n if (oldValue !== undefined) status.oldValue = oldValue\n }\n } else if (status) {\n status.set = 'update'\n }\n }\n if (ttl !== 0 && !this.#ttls) {\n this.#initializeTTLTracking()\n }\n if (this.#ttls) {\n if (!noUpdateTTL) {\n this.#setItemTTL(index, ttl, start)\n }\n if (status) this.#statusTTL(status, index)\n }\n if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return this\n }\n\n /**\n * Evict the least recently used item, returning its value or\n * `undefined` if cache is empty.\n */\n pop(): V | undefined {\n try {\n while (this.#size) {\n const val = this.#valList[this.#head]\n this.#evict(true)\n if (this.#isBackgroundFetch(val)) {\n if (val.__staleWhileFetching) {\n return val.__staleWhileFetching\n }\n } else if (val !== undefined) {\n return val\n }\n }\n } finally {\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n }\n\n #evict(free: boolean) {\n const head = this.#head\n const k = this.#keyList[head] as K\n const v = this.#valList[head] as V\n if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('evicted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v, k, 'evict')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, 'evict'])\n }\n }\n this.#removeItemSize(head)\n // if we aren't about to use the index, then null these out\n if (free) {\n this.#keyList[head] = undefined\n this.#valList[head] = undefined\n this.#free.push(head)\n }\n if (this.#size === 1) {\n this.#head = this.#tail = 0 as Index\n this.#free.length = 0\n } else {\n this.#head = this.#next[head] as Index\n }\n this.#keyMap.delete(k)\n this.#size--\n return head\n }\n\n /**\n * Check if a key is in the cache, without updating the recency of use.\n * Will return false if the item is stale, even though it is technically\n * in the cache.\n *\n * Will not update item age unless\n * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.\n */\n has(k: K, hasOptions: LRUCache.HasOptions = {}) {\n const { updateAgeOnHas = this.updateAgeOnHas, status } =\n hasOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const v = this.#valList[index]\n if (\n this.#isBackgroundFetch(v) &&\n v.__staleWhileFetching === undefined\n ) {\n return false\n }\n if (!this.#isStale(index)) {\n if (updateAgeOnHas) {\n this.#updateItemAge(index)\n }\n if (status) {\n status.has = 'hit'\n this.#statusTTL(status, index)\n }\n return true\n } else if (status) {\n status.has = 'stale'\n this.#statusTTL(status, index)\n }\n } else if (status) {\n status.has = 'miss'\n }\n return false\n }\n\n /**\n * Like {@link LRUCache#get} but doesn't update recency or delete stale\n * items.\n *\n * Returns `undefined` if the item is stale, unless\n * {@link LRUCache.OptionsBase.allowStale} is set.\n */\n peek(k: K, peekOptions: LRUCache.PeekOptions = {}) {\n const { allowStale = this.allowStale } = peekOptions\n const index = this.#keyMap.get(k)\n if (\n index !== undefined &&\n (allowStale || !this.#isStale(index))\n ) {\n const v = this.#valList[index]\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v\n }\n }\n\n #backgroundFetch(\n k: K,\n index: Index | undefined,\n options: LRUCache.FetchOptions,\n context: any\n ): BackgroundFetch {\n const v = index === undefined ? undefined : this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n return v\n }\n\n const ac = new AC()\n const { signal } = options\n // when/if our AC signals, then stop listening to theirs.\n signal?.addEventListener('abort', () => ac.abort(signal.reason), {\n signal: ac.signal,\n })\n\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n }\n\n const cb = (\n v: V | void | undefined,\n updateCache = false\n ): V | undefined | void => {\n const { aborted } = ac.signal\n const ignoreAbort = options.ignoreFetchAbort && v !== undefined\n if (options.status) {\n if (aborted && !updateCache) {\n options.status.fetchAborted = true\n options.status.fetchError = ac.signal.reason\n if (ignoreAbort) options.status.fetchAbortIgnored = true\n } else {\n options.status.fetchResolved = true\n }\n }\n if (aborted && !ignoreAbort && !updateCache) {\n return fetchFail(ac.signal.reason)\n }\n // either we didn't abort, and are still here, or we did, and ignored\n const bf = p as BackgroundFetch\n if (this.#valList[index as Index] === p) {\n if (v === undefined) {\n if (bf.__staleWhileFetching) {\n this.#valList[index as Index] = bf.__staleWhileFetching\n } else {\n this.delete(k)\n }\n } else {\n if (options.status) options.status.fetchUpdated = true\n this.set(k, v, fetchOpts.options)\n }\n }\n return v\n }\n\n const eb = (er: any) => {\n if (options.status) {\n options.status.fetchRejected = true\n options.status.fetchError = er\n }\n return fetchFail(er)\n }\n\n const fetchFail = (er: any): V | undefined => {\n const { aborted } = ac.signal\n const allowStaleAborted =\n aborted && options.allowStaleOnFetchAbort\n const allowStale =\n allowStaleAborted || options.allowStaleOnFetchRejection\n const noDelete = allowStale || options.noDeleteOnFetchRejection\n const bf = p as BackgroundFetch\n if (this.#valList[index as Index] === p) {\n // if we allow stale on fetch rejections, then we need to ensure that\n // the stale value is not removed from the cache when the fetch fails.\n const del = !noDelete || bf.__staleWhileFetching === undefined\n if (del) {\n this.delete(k)\n } else if (!allowStaleAborted) {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n // leave it untouched if we're still waiting for an\n // aborted background fetch that hasn't yet returned.\n this.#valList[index as Index] = bf.__staleWhileFetching\n }\n }\n if (allowStale) {\n if (options.status && bf.__staleWhileFetching !== undefined) {\n options.status.returnedStale = true\n }\n return bf.__staleWhileFetching\n } else if (bf.__returned === bf) {\n throw er\n }\n }\n\n const pcall = (\n res: (v: V | void | undefined) => void,\n rej: (e: any) => void\n ) => {\n const fmp = this.#fetchMethod?.(k, v, fetchOpts)\n if (fmp && fmp instanceof Promise) {\n fmp.then(v => res(v), rej)\n }\n // ignored, we go until we finish, regardless.\n // defer check until we are actually aborting,\n // so fetchMethod can override.\n ac.signal.addEventListener('abort', () => {\n if (\n !options.ignoreFetchAbort ||\n options.allowStaleOnFetchAbort\n ) {\n res()\n // when it eventually resolves, update the cache.\n if (options.allowStaleOnFetchAbort) {\n res = v => cb(v, true)\n }\n }\n })\n }\n\n if (options.status) options.status.fetchDispatched = true\n const p = new Promise(pcall).then(cb, eb)\n const bf = Object.assign(p, {\n __abortController: ac,\n __staleWhileFetching: v,\n __returned: undefined,\n })\n\n if (index === undefined) {\n // internal, don't expose status.\n this.set(k, bf, { ...fetchOpts.options, status: undefined })\n index = this.#keyMap.get(k)\n } else {\n this.#valList[index] = bf\n }\n return bf\n }\n\n #isBackgroundFetch(p: any): p is BackgroundFetch {\n if (!this.#hasFetchMethod) return false\n const b = p as BackgroundFetch\n return (\n !!b &&\n b instanceof Promise &&\n b.hasOwnProperty('__staleWhileFetching') &&\n b.__abortController instanceof AC\n )\n }\n\n /**\n * Make an asynchronous cached fetch using the\n * {@link LRUCache.OptionsBase.fetchMethod} function.\n *\n * If multiple fetches for the same key are issued, then they will all be\n * coalesced into a single call to fetchMethod.\n *\n * Note that this means that handling options such as\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort},\n * {@link LRUCache.FetchOptions.signal},\n * and {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} will be\n * determined by the FIRST fetch() call for a given key.\n *\n * This is a known (fixable) shortcoming which will be addresed on when\n * someone complains about it, as the fix would involve added complexity and\n * may not be worth the costs for this edge case.\n */\n fetch(\n k: K,\n fetchOptions: unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : LRUCache.FetchOptionsWithContext\n ): Promise\n // this overload not allowed if context is required\n fetch(\n k: unknown extends FC\n ? K\n : FC extends undefined | void\n ? K\n : never,\n fetchOptions?: unknown extends FC\n ? LRUCache.FetchOptions\n : FC extends undefined | void\n ? LRUCache.FetchOptionsNoContext\n : never\n ): Promise\n async fetch(\n k: K,\n fetchOptions: LRUCache.FetchOptions = {}\n ): Promise {\n const {\n // get options\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n // set options\n ttl = this.ttl,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,\n allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,\n ignoreFetchAbort = this.ignoreFetchAbort,\n allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,\n context,\n forceRefresh = false,\n status,\n signal,\n } = fetchOptions\n\n if (!this.#hasFetchMethod) {\n if (status) status.fetch = 'get'\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n status,\n })\n }\n\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n status,\n signal,\n }\n\n let index = this.#keyMap.get(k)\n if (index === undefined) {\n if (status) status.fetch = 'miss'\n const p = this.#backgroundFetch(k, index, options, context)\n return (p.__returned = p)\n } else {\n // in cache, maybe already fetching\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n const stale =\n allowStale && v.__staleWhileFetching !== undefined\n if (status) {\n status.fetch = 'inflight'\n if (stale) status.returnedStale = true\n }\n return stale ? v.__staleWhileFetching : (v.__returned = v)\n }\n\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n const isStale = this.#isStale(index)\n if (!forceRefresh && !isStale) {\n if (status) status.fetch = 'hit'\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n if (status) this.#statusTTL(status, index)\n return v\n }\n\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.#backgroundFetch(k, index, options, context)\n const hasStale = p.__staleWhileFetching !== undefined\n const staleVal = hasStale && allowStale\n if (status) {\n status.fetch = isStale ? 'stale' : 'refresh'\n if (staleVal && isStale) status.returnedStale = true\n }\n return staleVal ? p.__staleWhileFetching : (p.__returned = p)\n }\n }\n\n /**\n * Return a value from the cache. Will update the recency of the cache\n * entry found.\n *\n * If the key is not found, get() will return `undefined`.\n */\n get(k: K, getOptions: LRUCache.GetOptions = {}) {\n const {\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n status,\n } = getOptions\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n const value = this.#valList[index]\n const fetching = this.#isBackgroundFetch(value)\n if (status) this.#statusTTL(status, index)\n if (this.#isStale(index)) {\n if (status) status.get = 'stale'\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.delete(k)\n }\n if (status && allowStale) status.returnedStale = true\n return allowStale ? value : undefined\n } else {\n if (\n status &&\n allowStale &&\n value.__staleWhileFetching !== undefined\n ) {\n status.returnedStale = true\n }\n return allowStale ? value.__staleWhileFetching : undefined\n }\n } else {\n if (status) status.get = 'hit'\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching.\n // If it's not stale, and fetching, AND has a __staleWhileFetching\n // value, then that means the user fetched with {forceRefresh:true},\n // so it's safe to return that value.\n if (fetching) {\n return value.__staleWhileFetching\n }\n this.#moveToTail(index)\n if (updateAgeOnGet) {\n this.#updateItemAge(index)\n }\n return value\n }\n } else if (status) {\n status.get = 'miss'\n }\n }\n\n #connect(p: Index, n: Index) {\n this.#prev[n] = p\n this.#next[p] = n\n }\n\n #moveToTail(index: Index): void {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.#tail) {\n if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n this.#connect(\n this.#prev[index] as Index,\n this.#next[index] as Index\n )\n }\n this.#connect(this.#tail, index)\n this.#tail = index\n }\n }\n\n /**\n * Deletes a key out of the cache.\n * Returns true if the key was deleted, false otherwise.\n */\n delete(k: K) {\n let deleted = false\n if (this.#size !== 0) {\n const index = this.#keyMap.get(k)\n if (index !== undefined) {\n deleted = true\n if (this.#size === 1) {\n this.clear()\n } else {\n this.#removeItemSize(index)\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k, 'delete')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k, 'delete'])\n }\n }\n this.#keyMap.delete(k)\n this.#keyList[index] = undefined\n this.#valList[index] = undefined\n if (index === this.#tail) {\n this.#tail = this.#prev[index] as Index\n } else if (index === this.#head) {\n this.#head = this.#next[index] as Index\n } else {\n this.#next[this.#prev[index]] = this.#next[index]\n this.#prev[this.#next[index]] = this.#prev[index]\n }\n this.#size--\n this.#free.push(index)\n }\n }\n }\n if (this.#hasDisposeAfter && this.#disposed?.length) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n return deleted\n }\n\n /**\n * Clear the cache entirely, throwing away all values.\n */\n clear() {\n for (const index of this.#rindexes({ allowStale: true })) {\n const v = this.#valList[index]\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'))\n } else {\n const k = this.#keyList[index]\n if (this.#hasDispose) {\n this.#dispose?.(v as V, k as K, 'delete')\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v as V, k as K, 'delete'])\n }\n }\n }\n\n this.#keyMap.clear()\n this.#valList.fill(undefined)\n this.#keyList.fill(undefined)\n if (this.#ttls && this.#starts) {\n this.#ttls.fill(0)\n this.#starts.fill(0)\n }\n if (this.#sizes) {\n this.#sizes.fill(0)\n }\n this.#head = 0 as Index\n this.#tail = 0 as Index\n this.#free.length = 0\n this.#calculatedSize = 0\n this.#size = 0\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed\n let task: DisposeTask | undefined\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task)\n }\n }\n }\n}\n","export function sleep(milliseconds: number) {\n return new Promise((r) => setTimeout(r, milliseconds));\n}\n\nexport function splitLines(input: string) {\n return input.match(/.*(?:$|\\r?\\n)/g).filter(Boolean) // Split lines and keep newline character\n}\n\nexport function splitWords(input: string) {\n return input.match(/\\w+|\\W+/g).filter(Boolean); // Split consecutive words and non-words\n}\n\nimport { CancelablePromise } from \"./generated\";\nexport function cancelable(promise: Promise, cancel: () => void): CancelablePromise {\n return new CancelablePromise((resolve, reject, onCancel) => {\n promise\n .then((resp: T) => {\n resolve(resp);\n })\n .catch((err: Error) => {\n reject(err);\n });\n onCancel(() => {\n cancel();\n });\n });\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport { TabbyApi } from './TabbyApi';\n\nexport { ApiError } from './core/ApiError';\nexport { BaseHttpRequest } from './core/BaseHttpRequest';\nexport { CancelablePromise, CancelError } from './core/CancelablePromise';\nexport { OpenAPI } from './core/OpenAPI';\nexport type { OpenAPIConfig } from './core/OpenAPI';\n\nexport type { Choice } from './models/Choice';\nexport type { ChoiceEvent } from './models/ChoiceEvent';\nexport type { CompletionEvent } from './models/CompletionEvent';\nexport type { CompletionRequest } from './models/CompletionRequest';\nexport type { CompletionResponse } from './models/CompletionResponse';\nexport { EventType } from './models/EventType';\nexport type { HTTPValidationError } from './models/HTTPValidationError';\nexport type { ValidationError } from './models/ValidationError';\n\nexport { DefaultService } from './services/DefaultService';\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { AxiosHttpRequest } from './core/AxiosHttpRequest';\n\nimport { DefaultService } from './services/DefaultService';\n\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class TabbyApi {\n\n public readonly default: DefaultService;\n\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial, HttpRequest: HttpRequestConstructor = AxiosHttpRequest) {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? '',\n VERSION: config?.VERSION ?? '0.1.0',\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? 'include',\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n });\n\n this.default = new DefaultService(this.request);\n }\n}\n\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n\nexport class AxiosHttpRequest extends BaseHttpRequest {\n\n constructor(config: OpenAPIConfig) {\n super(config);\n }\n\n /**\n * Request method\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\n public override request(options: ApiRequestOptions): CancelablePromise {\n return __request(this.config, options);\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport abstract class BaseHttpRequest {\n\n constructor(public readonly config: OpenAPIConfig) {}\n\n public abstract request(options: ApiRequestOptions): CancelablePromise;\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport FormData from 'form-data';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nconst isDefined = (value: T | null | undefined): value is Exclude => {\n return value !== undefined && value !== null;\n};\n\nconst isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nconst isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nconst isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nconst isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nconst isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n\nconst base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nconst getQueryString = (params: Record): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nconst getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\n\nconst resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)(options);\n }\n return resolver;\n};\n\nconst getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise> => {\n const token = await resolve(options, config.TOKEN);\n const username = await resolve(options, config.USERNAME);\n const password = await resolve(options, config.PASSWORD);\n const additionalHeaders = await resolve(options, config.HEADERS);\n const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n ...formHeaders,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return headers;\n};\n\nconst getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};\n\nconst sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Record,\n onCancel: OnCancel\n): Promise> => {\n const source = axios.CancelToken.source();\n\n const requestConfig: AxiosRequestConfig = {\n url,\n headers,\n data: body ?? formData,\n method: options.method,\n withCredentials: config.WITH_CREDENTIALS,\n cancelToken: source.token,\n };\n\n onCancel(() => source.cancel('The user aborted a request.'));\n\n try {\n return await axios.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};\n\nconst getResponseHeader = (response: AxiosResponse, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nconst getResponseBody = (response: AxiosResponse): any => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};\n\nconst catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(options, result, 'Generic Error');\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\nexport const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options, formData);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise implements Promise {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise;\n #resolve?: (value: T | PromiseLike) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n this.#resolve?.(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike) | null\n ): Promise {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch(\n onRejected?: ((reason: any) => TResult | PromiseLike) | null\n ): Promise {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n this.#reject?.(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ChoiceEvent } from '../models/ChoiceEvent';\nimport type { CompletionEvent } from '../models/CompletionEvent';\nimport type { CompletionRequest } from '../models/CompletionRequest';\nimport type { CompletionResponse } from '../models/CompletionResponse';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport type { BaseHttpRequest } from '../core/BaseHttpRequest';\n\nexport class DefaultService {\n\n constructor(public readonly httpRequest: BaseHttpRequest) {}\n\n /**\n * Completions\n * @param requestBody\n * @returns CompletionResponse Successful Response\n * @throws ApiError\n */\n public completionsV1CompletionsPost(\n requestBody: CompletionRequest,\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/completions',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n /**\n * Events\n * @param requestBody\n * @returns any Successful Response\n * @throws ApiError\n */\n public eventsV1EventsPost(\n requestBody: (ChoiceEvent | CompletionEvent),\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/events',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\ntype Headers = Record;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver;\n USERNAME?: string | Resolver;\n PASSWORD?: string | Resolver;\n HEADERS?: Headers | Resolver;\n ENCODE_PATH?: (path: string) => string;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: '',\n VERSION: '0.1.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * An enumeration.\n */\nexport enum EventType {\n COMPLETION = 'completion',\n VIEW = 'view',\n SELECT = 'select',\n}\n","import { CancelablePromise, ChoiceEvent, CompletionEvent, CompletionRequest, CompletionResponse } from \"./generated\";\n\nexport interface AgentFunction {\n setServerUrl(url: string): string;\n getServerUrl(): string;\n getStatus(): \"connecting\" | \"ready\" | \"disconnected\";\n getCompletions(request: CompletionRequest): CancelablePromise;\n postEvent(event: ChoiceEvent | CompletionEvent): CancelablePromise;\n}\n\nexport type StatusChangedEvent = {\n event: \"statusChanged\";\n status: \"connecting\" | \"ready\" | \"disconnected\";\n}\n\nexport type AgentEvent = StatusChangedEvent;\nexport const agentEventNames: AgentEvent['event'][] = [\"statusChanged\"];\n\nexport interface AgentEventEmitter {\n on(eventName: T[\"event\"], callback: (event: T) => void): this;\n}\n\nexport type Agent = AgentFunction & AgentEventEmitter;\n"],"mappings":"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","names":["name","i","init_buffer","init_process","init_process","i","len","len2","e","m","d","s","c","base64","Buffer","b","isBuffer","a","x","y","n","toString","j","toJSON","byteLength","E","name","init_buffer","init_process","init_buffer","exports","init_buffer","init_process","e","t","r","o","i","u","s","n","a","w","b","m","c","d","h","p","g","y","l","f","O","H","j","C","v","_","E","I","A","Y","B","F","L","U","D","x","T","M","k","N","S","exports","init_buffer","init_process","exports","init_buffer","init_process","i","len","len2","exports","init_buffer","init_process","e","m","i","d","s","c","exports","init_buffer","init_process","base64","Buffer","e","b","i","isBuffer","a","x","y","n","m","toString","j","toJSON","byteLength","E","name","c","exports","init_buffer","init_process","Buffer","i","exports","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","prototype","i","l","a","b","descriptors","filter","m","p2","hasOwnProperty","name","define","noop","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","config","request","filter","init_buffer","init_process","i","Buffer","prototype","name","toString","encode","init_buffer","init_process","h","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","name","i","e","isFormData","isFileList","transitional","init_buffer","init_process","init_buffer","init_process","i","filter","w","self","i","prototype","config","init_buffer","init_process","init_buffer","init_process","config","request","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","resolve","validateStatus","init_buffer","init_process","name","domain","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","standardBrowserEnv","nonStandardBrowserEnv","init_buffer","init_process","init_buffer","init_process","i","e","config","resolve","request","_resolve","_reject","transitional","e","i","config","init_buffer","init_process","config","a","b","merge","init_buffer","init_process","init_buffer","init_process","i","version","validators","config","transitional","i","forEachMethodNoData","forEachMethodWithData","init_buffer","init_process","resolve","i","_resolve","config","request","c","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","Axios","AxiosError","CanceledError","isCancel","CancelToken","VERSION","all","isAxiosError","spread","toFormData","AxiosHeaders","HttpStatusCode","mergeConfig","init_buffer","init_process","init_buffer","init_process","e","t","n","r","i","o","s","v","a","u","f","resolve","p","on","once","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","e","t","n","r","o","i","u","c","l","s","f","a","h","p","t","e","o","n","r","l","c","u","i","f","a","s","p","y","d","m","h","v","T","e","r","t","n","o","a","l","i","c","b","e$1","r$1","u","f","p","s","y","g","h","$","j","w","o$1","n$1","c$1","l$1","u$1","t$1","t$2","o$2","i$1","d","A","v","P","m","N","E","S","O","x","q","R","k","_","T","I","D","F","L","M","U","G","V","B","C","z","Q","Y","W","H","J","K","X","Z","m$1","init_buffer","init_process","init_buffer","init_process","emitWarning","_","n","s","c","p","k","i","v","t","bf","b","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","config","init_buffer","init_process","init_buffer","init_process","request","init_buffer","init_process","resolve","isString","isBlob","isFormData","FormData","Buffer","append","process","v","k","config","_","headers","resolve","config","init_buffer","init_process","config","init_buffer","init_process","init_buffer","init_process","EventType","r","resolve","sizeOfObject","hashObject","v","i","a","b","e","request","resolve","init_buffer","init_process"]} diff --git a/clients/tabby-agent/dist/index.js b/clients/tabby-agent/dist/index.js index 08bb334..0bc9840 100644 --- a/clients/tabby-agent/dist/index.js +++ b/clients/tabby-agent/dist/index.js @@ -61,10 +61,10 @@ var import_axios2 = __toESM(require("axios")); var import_events = require("events"); var import_assert = require("assert"); -// src/utils.ts -function sleep(milliseconds) { - return new Promise((r) => setTimeout(r, milliseconds)); -} +// src/CompletionCache.ts +var import_lru_cache = require("lru-cache"); +var import_object_hash = __toESM(require("object-hash")); +var import_object_sizeof = __toESM(require("object-sizeof")); // src/generated/core/BaseHttpRequest.ts var BaseHttpRequest = class { @@ -495,6 +495,134 @@ var EventType = /* @__PURE__ */ ((EventType2) => { return EventType2; })(EventType || {}); +// src/utils.ts +function sleep(milliseconds) { + return new Promise((r) => setTimeout(r, milliseconds)); +} +function splitLines(input) { + return input.match(/.*(?:$|\r?\n)/g).filter(Boolean); +} +function splitWords(input) { + return input.match(/\w+|\W+/g).filter(Boolean); +} +function cancelable(promise, cancel) { + return new CancelablePromise((resolve2, reject, onCancel) => { + promise.then((resp) => { + resolve2(resp); + }).catch((err) => { + reject(err); + }); + onCancel(() => { + cancel(); + }); + }); +} + +// src/CompletionCache.ts +var CompletionCache = class { + constructor() { + this.options = { + maxSize: 1 * 1024 * 1024, + // 1MB + partiallyAcceptedCacheGeneration: { + enabled: true, + perCharacter: { + lines: 1, + words: 10, + max: 30 + }, + perWord: { + lines: 1, + max: 20 + }, + perLine: { + max: 3 + } + } + }; + this.cache = new import_lru_cache.LRUCache({ + maxSize: this.options.maxSize, + sizeCalculation: import_object_sizeof.default + }); + } + has(key) { + return this.cache.has(this.hash(key)); + } + set(key, value) { + for (const entry of this.createCacheEntries(key, value)) { + this.cache.set(this.hash(entry.key), entry.value); + } + } + get(key) { + return this.cache.get(this.hash(key)); + } + hash(key) { + return (0, import_object_hash.default)(key); + } + createCacheEntries(key, value) { + const list = [{ key, value }]; + if (this.options.partiallyAcceptedCacheGeneration.enabled) { + const entries = value.choices.map((choice) => { + return this.calculatePartiallyAcceptedPositions(choice.text).map((position) => { + return { + prefix: choice.text.slice(0, position), + suffix: choice.text.slice(position), + choiceIndex: choice.index + }; + }); + }).flat().reduce((grouped, entry) => { + grouped[entry.prefix] = grouped[entry.prefix] || []; + grouped[entry.prefix].push({ suffix: entry.suffix, choiceIndex: entry.choiceIndex }); + return grouped; + }, {}); + for (const prefix in entries) { + const cacheKey = { ...key, prompt: key.prompt + prefix }; + const cacheValue = { + ...value, + choices: entries[prefix].map((choice) => { + return { + index: choice.choiceIndex, + text: choice.suffix + }; + }) + }; + list.push({ + key: cacheKey, + value: cacheValue + }); + } + } + return list; + } + calculatePartiallyAcceptedPositions(completion) { + const positions = []; + const option = this.options.partiallyAcceptedCacheGeneration; + const lines = splitLines(completion); + let index = 0; + let offset = 0; + while (index < lines.length - 1 && index < option.perLine.max) { + offset += lines[index].length; + positions.push(offset); + index++; + } + const words = lines.slice(0, option.perWord.lines).map(splitWords).flat(); + index = 0; + offset = 0; + while (index < words.length && index < option.perWord.max) { + offset += words[index].length; + positions.push(offset); + index++; + } + const characters = lines.slice(0, option.perCharacter.lines).map(splitWords).flat().slice(0, option.perCharacter.words).join(""); + offset = 1; + while (offset < characters.length && offset < option.perCharacter.max) { + positions.push(offset); + offset++; + } + return positions.filter((v, i, arr) => arr.indexOf(v) === i).sort((a, b) => a - b); + } +}; + // src/TabbyAgent.ts var TabbyAgent = class extends import_events.EventEmitter { constructor() { @@ -503,6 +631,7 @@ var TabbyAgent = class extends import_events.EventEmitter { this.status = "connecting"; this.ping(); this.api = new TabbyApi({ BASE: this.serverUrl }); + this.completionCache = new CompletionCache(); } changeStatus(status) { if (this.status != status) { @@ -529,22 +658,18 @@ var TabbyAgent = class extends import_events.EventEmitter { } } wrapApiPromise(promise) { - return new CancelablePromise((resolve2, reject, onCancel) => { - promise.then((resp) => { + return cancelable( + promise.then((resolved) => { this.changeStatus("ready"); - resolve2(resp); - }).catch((err) => { - reject(err); + return resolved; }).catch((err) => { this.changeStatus("disconnected"); - reject(err); - }).catch((err) => { - reject(err); - }); - onCancel(() => { + throw err; + }), + () => { promise.cancel(); - }); - }); + } + ); } setServerUrl(serverUrl) { this.serverUrl = serverUrl.replace(/\/$/, ""); @@ -559,12 +684,24 @@ var TabbyAgent = class extends import_events.EventEmitter { return this.status; } getCompletions(request2) { - const promise = this.api.default.completionsV1CompletionsPost(request2); - return this.wrapApiPromise(promise); + if (this.completionCache.has(request2)) { + return new CancelablePromise((resolve2) => { + resolve2(this.completionCache.get(request2)); + }); + } + const promise = this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(request2)); + return cancelable( + promise.then((response) => { + this.completionCache.set(request2, response); + return response; + }), + () => { + promise.cancel(); + } + ); } postEvent(request2) { - const promise = this.api.default.eventsV1EventsPost(request2); - return this.wrapApiPromise(promise); + return this.wrapApiPromise(this.api.default.eventsV1EventsPost(request2)); } }; diff --git a/clients/tabby-agent/dist/index.js.map b/clients/tabby-agent/dist/index.js.map index 82ae151..378e3f6 100644 --- a/clients/tabby-agent/dist/index.js.map +++ b/clients/tabby-agent/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/index.ts","../src/TabbyAgent.ts","../src/utils.ts","../src/generated/core/BaseHttpRequest.ts","../src/generated/core/request.ts","../src/generated/core/ApiError.ts","../src/generated/core/CancelablePromise.ts","../src/generated/core/AxiosHttpRequest.ts","../src/generated/services/DefaultService.ts","../src/generated/TabbyApi.ts","../src/generated/models/EventType.ts","../src/types.ts"],"sourcesContent":["export { TabbyAgent } from \"./TabbyAgent\";\nexport { Agent, AgentFunction, AgentEvent, StatusChangedEvent, agentEventNames } from \"./types\";\nexport {\n CancelablePromise,\n CancelError,\n ApiError,\n HTTPValidationError,\n ValidationError,\n CompletionRequest,\n CompletionResponse,\n Choice,\n ChoiceEvent,\n CompletionEvent,\n EventType,\n} from \"./generated\";\n","import axios from \"axios\";\nimport { EventEmitter } from \"events\";\nimport { strict as assert } from \"assert\";\nimport { sleep } from \"./utils\";\nimport { Agent, AgentEvent } from \"./types\";\nimport {\n TabbyApi,\n CancelablePromise,\n CancelError,\n ApiError,\n CompletionRequest,\n CompletionResponse,\n ChoiceEvent,\n CompletionEvent,\n} from \"./generated\";\n\nexport class TabbyAgent extends EventEmitter implements Agent {\n private serverUrl: string = \"http://127.0.0.1:5000\";\n private status: \"connecting\" | \"ready\" | \"disconnected\" = \"connecting\";\n private api: TabbyApi;\n\n constructor() {\n super();\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n }\n\n private changeStatus(status: \"connecting\" | \"ready\" | \"disconnected\") {\n if (this.status != status) {\n this.status = status;\n const event: AgentEvent = { event: \"statusChanged\", status };\n super.emit(\"statusChanged\", event);\n }\n }\n\n private async ping(tries: number = 0): Promise {\n try {\n const response = await axios.get(`${this.serverUrl}/`);\n assert(response.status == 200);\n this.changeStatus(\"ready\");\n return true;\n } catch (e) {\n if (tries > 5) {\n this.changeStatus(\"disconnected\");\n return false;\n }\n this.changeStatus(\"connecting\");\n const pingRetryDelay = 1000;\n await sleep(pingRetryDelay);\n return this.ping(tries + 1);\n }\n }\n\n private wrapApiPromise(promise: CancelablePromise): CancelablePromise {\n return new CancelablePromise((resolve, reject, onCancel) => {\n promise\n .then((resp: T) => {\n this.changeStatus(\"ready\");\n resolve(resp);\n })\n .catch((err: CancelError) => {\n reject(err);\n })\n .catch((err: ApiError) => {\n this.changeStatus(\"disconnected\");\n reject(err);\n })\n .catch((err: Error) => {\n reject(err);\n });\n onCancel(() => {\n promise.cancel();\n });\n });\n }\n\n public setServerUrl(serverUrl: string): string {\n this.serverUrl = serverUrl.replace(/\\/$/, \"\"); // Remove trailing slash\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n return this.serverUrl;\n }\n\n public getServerUrl(): string {\n return this.serverUrl;\n }\n\n public getStatus(): \"connecting\" | \"ready\" | \"disconnected\" {\n return this.status;\n }\n\n public getCompletions(request: CompletionRequest): CancelablePromise {\n const promise = this.api.default.completionsV1CompletionsPost(request);\n return this.wrapApiPromise(promise);\n }\n\n public postEvent(request: ChoiceEvent | CompletionEvent): CancelablePromise {\n const promise = this.api.default.eventsV1EventsPost(request);\n return this.wrapApiPromise(promise);\n }\n}\n","export function sleep(milliseconds: number) {\n return new Promise((r) => setTimeout(r, milliseconds));\n}\n\nexport function splitLines(input: string) {\n return input.match(/.*(?:$|\\r?\\n)/g).filter(Boolean) // Split lines and keep newline character\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport abstract class BaseHttpRequest {\n\n constructor(public readonly config: OpenAPIConfig) {}\n\n public abstract request(options: ApiRequestOptions): CancelablePromise;\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport FormData from 'form-data';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nconst isDefined = (value: T | null | undefined): value is Exclude => {\n return value !== undefined && value !== null;\n};\n\nconst isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nconst isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nconst isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nconst isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nconst isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n\nconst base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nconst getQueryString = (params: Record): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nconst getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\n\nconst resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)(options);\n }\n return resolver;\n};\n\nconst getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise> => {\n const token = await resolve(options, config.TOKEN);\n const username = await resolve(options, config.USERNAME);\n const password = await resolve(options, config.PASSWORD);\n const additionalHeaders = await resolve(options, config.HEADERS);\n const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n ...formHeaders,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return headers;\n};\n\nconst getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};\n\nconst sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Record,\n onCancel: OnCancel\n): Promise> => {\n const source = axios.CancelToken.source();\n\n const requestConfig: AxiosRequestConfig = {\n url,\n headers,\n data: body ?? formData,\n method: options.method,\n withCredentials: config.WITH_CREDENTIALS,\n cancelToken: source.token,\n };\n\n onCancel(() => source.cancel('The user aborted a request.'));\n\n try {\n return await axios.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};\n\nconst getResponseHeader = (response: AxiosResponse, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nconst getResponseBody = (response: AxiosResponse): any => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};\n\nconst catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(options, result, 'Generic Error');\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\nexport const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options, formData);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise implements Promise {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise;\n #resolve?: (value: T | PromiseLike) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n this.#resolve?.(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike) | null\n ): Promise {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch(\n onRejected?: ((reason: any) => TResult | PromiseLike) | null\n ): Promise {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n this.#reject?.(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n\nexport class AxiosHttpRequest extends BaseHttpRequest {\n\n constructor(config: OpenAPIConfig) {\n super(config);\n }\n\n /**\n * Request method\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\n public override request(options: ApiRequestOptions): CancelablePromise {\n return __request(this.config, options);\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ChoiceEvent } from '../models/ChoiceEvent';\nimport type { CompletionEvent } from '../models/CompletionEvent';\nimport type { CompletionRequest } from '../models/CompletionRequest';\nimport type { CompletionResponse } from '../models/CompletionResponse';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport type { BaseHttpRequest } from '../core/BaseHttpRequest';\n\nexport class DefaultService {\n\n constructor(public readonly httpRequest: BaseHttpRequest) {}\n\n /**\n * Completions\n * @param requestBody\n * @returns CompletionResponse Successful Response\n * @throws ApiError\n */\n public completionsV1CompletionsPost(\n requestBody: CompletionRequest,\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/completions',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n /**\n * Events\n * @param requestBody\n * @returns any Successful Response\n * @throws ApiError\n */\n public eventsV1EventsPost(\n requestBody: (ChoiceEvent | CompletionEvent),\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/events',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { AxiosHttpRequest } from './core/AxiosHttpRequest';\n\nimport { DefaultService } from './services/DefaultService';\n\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class TabbyApi {\n\n public readonly default: DefaultService;\n\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial, HttpRequest: HttpRequestConstructor = AxiosHttpRequest) {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? '',\n VERSION: config?.VERSION ?? '0.1.0',\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? 'include',\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n });\n\n this.default = new DefaultService(this.request);\n }\n}\n\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * An enumeration.\n */\nexport enum EventType {\n COMPLETION = 'completion',\n VIEW = 'view',\n SELECT = 'select',\n}\n","import { CancelablePromise, ChoiceEvent, CompletionEvent, CompletionRequest, CompletionResponse } from \"./generated\";\n\nexport interface AgentFunction {\n setServerUrl(url: string): string;\n getServerUrl(): string;\n getStatus(): \"connecting\" | \"ready\" | \"disconnected\";\n getCompletions(request: CompletionRequest): CancelablePromise;\n postEvent(event: ChoiceEvent | CompletionEvent): CancelablePromise;\n}\n\nexport type StatusChangedEvent = {\n event: \"statusChanged\";\n status: \"connecting\" | \"ready\" | \"disconnected\";\n}\n\nexport type AgentEvent = StatusChangedEvent;\nexport const agentEventNames: AgentEvent['event'][] = [\"statusChanged\"];\n\nexport interface AgentEventEmitter {\n on(eventName: T[\"event\"], callback: (event: T) => void): this;\n}\n\nexport type Agent = AgentFunction & AgentEventEmitter;\n"],"mappings":"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","names":["import_axios","request","resolve","FormData","headers","axios","resolve","EventType","axios","assert","resolve","request"]} +{"version":3,"sources":["../src/index.ts","../src/TabbyAgent.ts","../src/CompletionCache.ts","../src/generated/core/BaseHttpRequest.ts","../src/generated/core/request.ts","../src/generated/core/ApiError.ts","../src/generated/core/CancelablePromise.ts","../src/generated/core/AxiosHttpRequest.ts","../src/generated/services/DefaultService.ts","../src/generated/TabbyApi.ts","../src/generated/models/EventType.ts","../src/utils.ts","../src/types.ts"],"sourcesContent":["export { TabbyAgent } from \"./TabbyAgent\";\nexport { Agent, AgentFunction, AgentEvent, StatusChangedEvent, agentEventNames } from \"./types\";\nexport {\n CancelablePromise,\n CancelError,\n ApiError,\n HTTPValidationError,\n ValidationError,\n CompletionRequest,\n CompletionResponse,\n Choice,\n ChoiceEvent,\n CompletionEvent,\n EventType,\n} from \"./generated\";\n","import axios from \"axios\";\nimport { EventEmitter } from \"events\";\nimport { strict as assert } from \"assert\";\nimport { CompletionCache } from \"./CompletionCache\";\nimport { sleep, cancelable } from \"./utils\";\nimport { Agent, AgentEvent } from \"./types\";\nimport {\n TabbyApi,\n CancelablePromise,\n ApiError,\n CompletionRequest,\n CompletionResponse,\n ChoiceEvent,\n CompletionEvent,\n} from \"./generated\";\n\nexport class TabbyAgent extends EventEmitter implements Agent {\n private serverUrl: string = \"http://127.0.0.1:5000\";\n private status: \"connecting\" | \"ready\" | \"disconnected\" = \"connecting\";\n private api: TabbyApi;\n private completionCache: CompletionCache;\n\n constructor() {\n super();\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n this.completionCache = new CompletionCache();\n }\n\n private changeStatus(status: \"connecting\" | \"ready\" | \"disconnected\") {\n if (this.status != status) {\n this.status = status;\n const event: AgentEvent = { event: \"statusChanged\", status };\n super.emit(\"statusChanged\", event);\n }\n }\n\n private async ping(tries: number = 0): Promise {\n try {\n const response = await axios.get(`${this.serverUrl}/`);\n assert(response.status == 200);\n this.changeStatus(\"ready\");\n return true;\n } catch (e) {\n if (tries > 5) {\n this.changeStatus(\"disconnected\");\n return false;\n }\n this.changeStatus(\"connecting\");\n const pingRetryDelay = 1000;\n await sleep(pingRetryDelay);\n return this.ping(tries + 1);\n }\n }\n\n private wrapApiPromise(promise: CancelablePromise): CancelablePromise {\n return cancelable(\n promise\n .then((resolved: T) => {\n this.changeStatus(\"ready\");\n return resolved;\n })\n .catch((err: ApiError) => {\n this.changeStatus(\"disconnected\");\n throw err;\n }),\n () => {\n promise.cancel();\n }\n );\n }\n\n public setServerUrl(serverUrl: string): string {\n this.serverUrl = serverUrl.replace(/\\/$/, \"\"); // Remove trailing slash\n this.ping();\n this.api = new TabbyApi({ BASE: this.serverUrl });\n return this.serverUrl;\n }\n\n public getServerUrl(): string {\n return this.serverUrl;\n }\n\n public getStatus(): \"connecting\" | \"ready\" | \"disconnected\" {\n return this.status;\n }\n\n public getCompletions(request: CompletionRequest): CancelablePromise {\n if (this.completionCache.has(request)) {\n return new CancelablePromise((resolve) => {\n resolve(this.completionCache.get(request));\n });\n }\n const promise = this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(request));\n return cancelable(\n promise.then((response: CompletionResponse) => {\n this.completionCache.set(request, response);\n return response;\n }),\n () => {\n promise.cancel();\n }\n );\n }\n\n public postEvent(request: ChoiceEvent | CompletionEvent): CancelablePromise {\n return this.wrapApiPromise(this.api.default.eventsV1EventsPost(request));\n }\n}\n","import { LRUCache } from \"lru-cache\";\nimport hashObject from \"object-hash\";\nimport sizeOfObject from \"object-sizeof\";\nimport { CompletionRequest, CompletionResponse } from \"./generated\";\nimport { splitLines, splitWords } from \"./utils\";\n\ntype CompletionCacheKey = CompletionRequest;\ntype CompletionCacheValue = CompletionResponse;\n\nexport class CompletionCache {\n private cache: LRUCache;\n private options = {\n maxSize: 1 * 1024 * 1024, // 1MB\n partiallyAcceptedCacheGeneration: {\n enabled: true,\n perCharacter: {\n lines: 1,\n words: 10,\n max: 30,\n },\n perWord: {\n lines: 1,\n max: 20,\n },\n perLine: {\n max: 3,\n },\n },\n };\n\n constructor() {\n this.cache = new LRUCache({\n maxSize: this.options.maxSize,\n sizeCalculation: sizeOfObject,\n });\n }\n\n has(key: CompletionCacheKey): boolean {\n return this.cache.has(this.hash(key));\n }\n\n set(key: CompletionCacheKey, value: CompletionCacheValue): void {\n for (const entry of this.createCacheEntries(key, value)) {\n this.cache.set(this.hash(entry.key), entry.value);\n }\n }\n\n get(key: CompletionCacheKey): CompletionCacheValue | undefined {\n return this.cache.get(this.hash(key));\n }\n\n private hash(key: CompletionCacheKey): string {\n return hashObject(key);\n }\n\n private createCacheEntries(\n key: CompletionCacheKey,\n value: CompletionCacheValue\n ): { key: CompletionCacheKey; value: CompletionCacheValue }[] {\n const list = [{ key, value }];\n if (this.options.partiallyAcceptedCacheGeneration.enabled) {\n const entries = value.choices\n .map((choice) => {\n return this.calculatePartiallyAcceptedPositions(choice.text).map((position) => {\n return {\n prefix: choice.text.slice(0, position),\n suffix: choice.text.slice(position),\n choiceIndex: choice.index,\n };\n });\n })\n .flat()\n .reduce((grouped: { [key: string]: { suffix: string; choiceIndex: number }[] }, entry) => {\n grouped[entry.prefix] = grouped[entry.prefix] || [];\n grouped[entry.prefix].push({ suffix: entry.suffix, choiceIndex: entry.choiceIndex });\n return grouped;\n }, {});\n for (const prefix in entries) {\n const cacheKey = { ...key, prompt: key.prompt + prefix };\n const cacheValue = {\n ...value,\n choices: entries[prefix].map((choice) => {\n return {\n index: choice.choiceIndex,\n text: choice.suffix,\n };\n }),\n };\n list.push({\n key: cacheKey,\n value: cacheValue,\n });\n }\n }\n return list;\n }\n\n private calculatePartiallyAcceptedPositions(completion: string): number[] {\n const positions: number[] = [];\n const option = this.options.partiallyAcceptedCacheGeneration;\n\n const lines = splitLines(completion);\n let index = 0;\n let offset = 0;\n // `index < lines.length - 1` to exclude the last line\n while (index < lines.length - 1 && index < option.perLine.max) {\n offset += lines[index].length;\n positions.push(offset);\n index++;\n }\n\n const words = lines.slice(0, option.perWord.lines).map(splitWords).flat();\n index = 0;\n offset = 0;\n while (index < words.length && index < option.perWord.max) {\n offset += words[index].length;\n positions.push(offset);\n index++;\n }\n\n const characters = lines\n .slice(0, option.perCharacter.lines)\n .map(splitWords)\n .flat()\n .slice(0, option.perCharacter.words)\n .join(\"\");\n offset = 1;\n while (offset < characters.length && offset < option.perCharacter.max) {\n positions.push(offset);\n offset++;\n }\n\n // distinct and sort ascending\n return positions.filter((v, i, arr) => arr.indexOf(v) === i).sort((a, b) => a - b);\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport abstract class BaseHttpRequest {\n\n constructor(public readonly config: OpenAPIConfig) {}\n\n public abstract request(options: ApiRequestOptions): CancelablePromise;\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport axios from 'axios';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport FormData from 'form-data';\n\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nconst isDefined = (value: T | null | undefined): value is Exclude => {\n return value !== undefined && value !== null;\n};\n\nconst isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nconst isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nconst isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nconst isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nconst isSuccess = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n\nconst base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nconst getQueryString = (params: Record): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nconst getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\n\nconst resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)(options);\n }\n return resolver;\n};\n\nconst getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise> => {\n const token = await resolve(options, config.TOKEN);\n const username = await resolve(options, config.USERNAME);\n const password = await resolve(options, config.PASSWORD);\n const additionalHeaders = await resolve(options, config.HEADERS);\n const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n ...formHeaders,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return headers;\n};\n\nconst getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body) {\n return options.body;\n }\n return undefined;\n};\n\nconst sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Record,\n onCancel: OnCancel\n): Promise> => {\n const source = axios.CancelToken.source();\n\n const requestConfig: AxiosRequestConfig = {\n url,\n headers,\n data: body ?? formData,\n method: options.method,\n withCredentials: config.WITH_CREDENTIALS,\n cancelToken: source.token,\n };\n\n onCancel(() => source.cancel('The user aborted a request.'));\n\n try {\n return await axios.request(requestConfig);\n } catch (error) {\n const axiosError = error as AxiosError;\n if (axiosError.response) {\n return axiosError.response;\n }\n throw error;\n }\n};\n\nconst getResponseHeader = (response: AxiosResponse, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers[responseHeader];\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nconst getResponseBody = (response: AxiosResponse): any => {\n if (response.status !== 204) {\n return response.data;\n }\n return undefined;\n};\n\nconst catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(options, result, 'Generic Error');\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\nexport const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options, formData);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: isSuccess(response.status),\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise implements Promise {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise;\n #resolve?: (value: T | PromiseLike) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n this.#resolve?.(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike) | null\n ): Promise {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch(\n onRejected?: ((reason: any) => TResult | PromiseLike) | null\n ): Promise {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n this.#reject?.(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport { BaseHttpRequest } from './BaseHttpRequest';\nimport type { CancelablePromise } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\nimport { request as __request } from './request';\n\nexport class AxiosHttpRequest extends BaseHttpRequest {\n\n constructor(config: OpenAPIConfig) {\n super(config);\n }\n\n /**\n * Request method\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\n public override request(options: ApiRequestOptions): CancelablePromise {\n return __request(this.config, options);\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ChoiceEvent } from '../models/ChoiceEvent';\nimport type { CompletionEvent } from '../models/CompletionEvent';\nimport type { CompletionRequest } from '../models/CompletionRequest';\nimport type { CompletionResponse } from '../models/CompletionResponse';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport type { BaseHttpRequest } from '../core/BaseHttpRequest';\n\nexport class DefaultService {\n\n constructor(public readonly httpRequest: BaseHttpRequest) {}\n\n /**\n * Completions\n * @param requestBody\n * @returns CompletionResponse Successful Response\n * @throws ApiError\n */\n public completionsV1CompletionsPost(\n requestBody: CompletionRequest,\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/completions',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n /**\n * Events\n * @param requestBody\n * @returns any Successful Response\n * @throws ApiError\n */\n public eventsV1EventsPost(\n requestBody: (ChoiceEvent | CompletionEvent),\n ): CancelablePromise {\n return this.httpRequest.request({\n method: 'POST',\n url: '/v1/events',\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 422: `Validation Error`,\n },\n });\n }\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { BaseHttpRequest } from './core/BaseHttpRequest';\nimport type { OpenAPIConfig } from './core/OpenAPI';\nimport { AxiosHttpRequest } from './core/AxiosHttpRequest';\n\nimport { DefaultService } from './services/DefaultService';\n\ntype HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;\n\nexport class TabbyApi {\n\n public readonly default: DefaultService;\n\n public readonly request: BaseHttpRequest;\n\n constructor(config?: Partial, HttpRequest: HttpRequestConstructor = AxiosHttpRequest) {\n this.request = new HttpRequest({\n BASE: config?.BASE ?? '',\n VERSION: config?.VERSION ?? '0.1.0',\n WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,\n CREDENTIALS: config?.CREDENTIALS ?? 'include',\n TOKEN: config?.TOKEN,\n USERNAME: config?.USERNAME,\n PASSWORD: config?.PASSWORD,\n HEADERS: config?.HEADERS,\n ENCODE_PATH: config?.ENCODE_PATH,\n });\n\n this.default = new DefaultService(this.request);\n }\n}\n\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * An enumeration.\n */\nexport enum EventType {\n COMPLETION = 'completion',\n VIEW = 'view',\n SELECT = 'select',\n}\n","export function sleep(milliseconds: number) {\n return new Promise((r) => setTimeout(r, milliseconds));\n}\n\nexport function splitLines(input: string) {\n return input.match(/.*(?:$|\\r?\\n)/g).filter(Boolean) // Split lines and keep newline character\n}\n\nexport function splitWords(input: string) {\n return input.match(/\\w+|\\W+/g).filter(Boolean); // Split consecutive words and non-words\n}\n\nimport { CancelablePromise } from \"./generated\";\nexport function cancelable(promise: Promise, cancel: () => void): CancelablePromise {\n return new CancelablePromise((resolve, reject, onCancel) => {\n promise\n .then((resp: T) => {\n resolve(resp);\n })\n .catch((err: Error) => {\n reject(err);\n });\n onCancel(() => {\n cancel();\n });\n });\n}\n","import { CancelablePromise, ChoiceEvent, CompletionEvent, CompletionRequest, CompletionResponse } from \"./generated\";\n\nexport interface AgentFunction {\n setServerUrl(url: string): string;\n getServerUrl(): string;\n getStatus(): \"connecting\" | \"ready\" | \"disconnected\";\n getCompletions(request: CompletionRequest): CancelablePromise;\n postEvent(event: ChoiceEvent | CompletionEvent): CancelablePromise;\n}\n\nexport type StatusChangedEvent = {\n event: \"statusChanged\";\n status: \"connecting\" | \"ready\" | \"disconnected\";\n}\n\nexport type AgentEvent = StatusChangedEvent;\nexport const agentEventNames: AgentEvent['event'][] = [\"statusChanged\"];\n\nexport interface AgentEventEmitter {\n on(eventName: T[\"event\"], callback: (event: T) => void): this;\n}\n\nexport type Agent = AgentFunction & AgentEventEmitter;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,gBAAkB;AAClB,oBAA6B;AAC7B,oBAAiC;;;ACFjC,uBAAyB;AACzB,yBAAuB;AACvB,2BAAyB;;;ACKlB,IAAe,kBAAf,MAA+B;AAAA,EAEpC,YAA4B,QAAuB;AAAvB;AAAA,EAAwB;AAGtD;;;ACTA,mBAAkB;AAElB,uBAAqB;;;ACCd,IAAM,WAAN,cAAuB,MAAM;AAAA,EAOlC,YAAYC,UAA4B,UAAqB,SAAiB;AAC5E,UAAM,OAAO;AAEb,SAAK,OAAO;AACZ,SAAK,MAAM,SAAS;AACpB,SAAK,SAAS,SAAS;AACvB,SAAK,aAAa,SAAS;AAC3B,SAAK,OAAO,SAAS;AACrB,SAAK,UAAUA;AAAA,EACjB;AACF;;;ACpBO,IAAM,cAAN,cAA0B,MAAM;AAAA,EAErC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,IAAW,cAAuB;AAChC,WAAO;AAAA,EACT;AACF;AAbA;AAuBO,IAAM,oBAAN,MAAiD;AAAA,EAStD,YACE,UAKA;AAdF;AACA;AACA;AACA,uBAAS,iBAAT;AACA,uBAAS,UAAT;AACA;AACA;AASE,uBAAK,aAAc;AACnB,uBAAK,aAAc;AACnB,uBAAK,cAAe;AACpB,uBAAK,iBAAkB,CAAC;AACxB,uBAAK,UAAW,IAAI,QAAW,CAACC,UAAS,WAAW;AAClD,yBAAK,UAAWA;AAChB,yBAAK,SAAU;AAEf,YAAM,YAAY,CAAC,UAAoC;AA/C7D;AAgDQ,YAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,QACF;AACA,2BAAK,aAAc;AACnB,iCAAK,cAAL,8BAAgB;AAAA,MAClB;AAEA,YAAM,WAAW,CAAC,WAAuB;AAvD/C;AAwDQ,YAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,QACF;AACA,2BAAK,aAAc;AACnB,iCAAK,aAAL,8BAAe;AAAA,MACjB;AAEA,YAAM,WAAW,CAAC,kBAAoC;AACpD,YAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,QACF;AACA,2BAAK,iBAAgB,KAAK,aAAa;AAAA,MACzC;AAEA,aAAO,eAAe,UAAU,cAAc;AAAA,QAC5C,KAAK,MAAe,mBAAK;AAAA,MAC3B,CAAC;AAED,aAAO,eAAe,UAAU,cAAc;AAAA,QAC5C,KAAK,MAAe,mBAAK;AAAA,MAC3B,CAAC;AAED,aAAO,eAAe,UAAU,eAAe;AAAA,QAC7C,KAAK,MAAe,mBAAK;AAAA,MAC3B,CAAC;AAED,aAAO,SAAS,WAAW,UAAU,QAAoB;AAAA,IAC3D,CAAC;AAAA,EACH;AAAA,EAEC,KAAK,OAAO,WAAW,IAAI;AAClB,WAAO;AAAA,EACd;AAAA,EAEI,KACL,aACA,YAC8B;AAC9B,WAAO,mBAAK,UAAS,KAAK,aAAa,UAAU;AAAA,EACnD;AAAA,EAEO,MACL,YACsB;AACtB,WAAO,mBAAK,UAAS,MAAM,UAAU;AAAA,EACvC;AAAA,EAEO,QAAQ,WAA6C;AAC1D,WAAO,mBAAK,UAAS,QAAQ,SAAS;AAAA,EACxC;AAAA,EAEO,SAAe;AA3GxB;AA4GI,QAAI,mBAAK,gBAAe,mBAAK,gBAAe,mBAAK,eAAc;AAC7D;AAAA,IACF;AACA,uBAAK,cAAe;AACpB,QAAI,mBAAK,iBAAgB,QAAQ;AAC/B,UAAI;AACF,mBAAW,iBAAiB,mBAAK,kBAAiB;AAChD,wBAAc;AAAA,QAChB;AAAA,MACF,SAAS,OAAP;AACA,gBAAQ,KAAK,+BAA+B,KAAK;AACjD;AAAA,MACF;AAAA,IACF;AACA,uBAAK,iBAAgB,SAAS;AAC9B,6BAAK,aAAL,8BAAe,IAAI,YAAY,iBAAiB;AAAA,EAClD;AAAA,EAEA,IAAW,cAAuB;AAChC,WAAO,mBAAK;AAAA,EACd;AACF;AAzGE;AACA;AACA;AACS;AACA;AACT;AACA;;;AFhBF,IAAM,YAAY,CAAI,UAAuE;AAC3F,SAAO,UAAU,UAAa,UAAU;AAC1C;AAEA,IAAM,WAAW,CAAC,UAAgC;AAChD,SAAO,OAAO,UAAU;AAC1B;AAEA,IAAM,oBAAoB,CAAC,UAAgC;AACzD,SAAO,SAAS,KAAK,KAAK,UAAU;AACtC;AAEA,IAAM,SAAS,CAAC,UAA8B;AAC5C,SACE,OAAO,UAAU,YACjB,OAAO,MAAM,SAAS,YACtB,OAAO,MAAM,WAAW,cACxB,OAAO,MAAM,gBAAgB,cAC7B,OAAO,MAAM,gBAAgB,cAC7B,OAAO,MAAM,YAAY,SAAS,YAClC,gBAAgB,KAAK,MAAM,YAAY,IAAI,KAC3C,gBAAgB,KAAK,MAAM,OAAO,WAAW,CAAC;AAElD;AAEA,IAAM,aAAa,CAAC,UAAkC;AACpD,SAAO,iBAAiB,iBAAAC;AAC1B;AAEA,IAAM,YAAY,CAAC,WAA4B;AAC7C,SAAO,UAAU,OAAO,SAAS;AACnC;AAEA,IAAM,SAAS,CAAC,QAAwB;AACtC,MAAI;AACF,WAAO,KAAK,GAAG;AAAA,EACjB,SAAS,KAAP;AAEA,WAAO,OAAO,KAAK,GAAG,EAAE,SAAS,QAAQ;AAAA,EAC3C;AACF;AAEA,IAAM,iBAAiB,CAAC,WAAwC;AAC9D,QAAM,KAAe,CAAC;AAEtB,QAAM,SAAS,CAAC,KAAa,UAAe;AAC1C,OAAG,KAAK,GAAG,mBAAmB,GAAG,KAAK,mBAAmB,OAAO,KAAK,CAAC,GAAG;AAAA,EAC3E;AAEA,QAAM,UAAU,CAAC,KAAa,UAAe;AAC3C,QAAI,UAAU,KAAK,GAAG;AACpB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,QAAQ,OAAK;AACjB,kBAAQ,KAAK,CAAC;AAAA,QAChB,CAAC;AAAA,MACH,WAAW,OAAO,UAAU,UAAU;AACpC,eAAO,QAAQ,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AACxC,kBAAQ,GAAG,OAAO,MAAM,CAAC;AAAA,QAC3B,CAAC;AAAA,MACH,OAAO;AACL,eAAO,KAAK,KAAK;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/C,YAAQ,KAAK,KAAK;AAAA,EACpB,CAAC;AAED,MAAI,GAAG,SAAS,GAAG;AACjB,WAAO,IAAI,GAAG,KAAK,GAAG;AAAA,EACxB;AAEA,SAAO;AACT;AAEA,IAAM,SAAS,CAAC,QAAuB,YAAuC;AAC5E,QAAM,UAAU,OAAO,eAAe;AAEtC,QAAM,OAAO,QAAQ,IAClB,QAAQ,iBAAiB,OAAO,OAAO,EACvC,QAAQ,YAAY,CAAC,WAAmB,UAAkB;AACzD,QAAI,QAAQ,MAAM,eAAe,KAAK,GAAG;AACvC,aAAO,QAAQ,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC;AAAA,IAC5C;AACA,WAAO;AAAA,EACT,CAAC;AAEH,QAAM,MAAM,GAAG,OAAO,OAAO;AAC7B,MAAI,QAAQ,OAAO;AACjB,WAAO,GAAG,MAAM,eAAe,QAAQ,KAAK;AAAA,EAC9C;AACA,SAAO;AACT;AAEA,IAAM,cAAc,CAAC,YAAqD;AACxE,MAAI,QAAQ,UAAU;AACpB,UAAM,WAAW,IAAI,iBAAAA,QAAS;AAE9B,UAAM,UAAU,CAAC,KAAa,UAAe;AAC3C,UAAI,SAAS,KAAK,KAAK,OAAO,KAAK,GAAG;AACpC,iBAAS,OAAO,KAAK,KAAK;AAAA,MAC5B,OAAO;AACL,iBAAS,OAAO,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,MAC5C;AAAA,IACF;AAEA,WAAO,QAAQ,QAAQ,QAAQ,EAC5B,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,KAAK,CAAC,EACvC,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,QAAQ,OAAK,QAAQ,KAAK,CAAC,CAAC;AAAA,MACpC,OAAO;AACL,gBAAQ,KAAK,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAEH,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,IAAM,UAAU,OAAU,SAA4B,aAAuD;AAC3G,MAAI,OAAO,aAAa,YAAY;AAClC,WAAQ,SAAyB,OAAO;AAAA,EAC1C;AACA,SAAO;AACT;AAEA,IAAM,aAAa,OAAO,QAAuB,SAA4B,aAAyD;AACpI,QAAM,QAAQ,MAAM,QAAQ,SAAS,OAAO,KAAK;AACjD,QAAM,WAAW,MAAM,QAAQ,SAAS,OAAO,QAAQ;AACvD,QAAM,WAAW,MAAM,QAAQ,SAAS,OAAO,QAAQ;AACvD,QAAM,oBAAoB,MAAM,QAAQ,SAAS,OAAO,OAAO;AAC/D,QAAM,cAAc,OAAO,UAAU,eAAe,cAAc,UAAU,WAAW,KAAK,CAAC;AAE7F,QAAM,UAAU,OAAO,QAAQ;AAAA,IAC7B,QAAQ;AAAA,IACR,GAAG;AAAA,IACH,GAAG,QAAQ;AAAA,IACX,GAAG;AAAA,EACL,CAAC,EACA,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,KAAK,CAAC,EACvC,OAAO,CAACC,UAAS,CAAC,KAAK,KAAK,OAAO;AAAA,IAClC,GAAGA;AAAA,IACH,CAAC,GAAG,GAAG,OAAO,KAAK;AAAA,EACrB,IAAI,CAAC,CAA2B;AAEhC,MAAI,kBAAkB,KAAK,GAAG;AAC5B,YAAQ,eAAe,IAAI,UAAU;AAAA,EACvC;AAEA,MAAI,kBAAkB,QAAQ,KAAK,kBAAkB,QAAQ,GAAG;AAC9D,UAAM,cAAc,OAAO,GAAG,YAAY,UAAU;AACpD,YAAQ,eAAe,IAAI,SAAS;AAAA,EACtC;AAEA,MAAI,QAAQ,MAAM;AAChB,QAAI,QAAQ,WAAW;AACrB,cAAQ,cAAc,IAAI,QAAQ;AAAA,IACpC,WAAW,OAAO,QAAQ,IAAI,GAAG;AAC/B,cAAQ,cAAc,IAAI,QAAQ,KAAK,QAAQ;AAAA,IACjD,WAAW,SAAS,QAAQ,IAAI,GAAG;AACjC,cAAQ,cAAc,IAAI;AAAA,IAC5B,WAAW,CAAC,WAAW,QAAQ,IAAI,GAAG;AACpC,cAAQ,cAAc,IAAI;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,iBAAiB,CAAC,YAAoC;AAC1D,MAAI,QAAQ,MAAM;AAChB,WAAO,QAAQ;AAAA,EACjB;AACA,SAAO;AACT;AAEA,IAAM,cAAc,OAClB,QACA,SACA,KACA,MACA,UACA,SACA,aAC8B;AAC9B,QAAM,SAAS,aAAAC,QAAM,YAAY,OAAO;AAExC,QAAM,gBAAoC;AAAA,IACxC;AAAA,IACA;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,QAAQ,QAAQ;AAAA,IAChB,iBAAiB,OAAO;AAAA,IACxB,aAAa,OAAO;AAAA,EACtB;AAEA,WAAS,MAAM,OAAO,OAAO,6BAA6B,CAAC;AAE3D,MAAI;AACF,WAAO,MAAM,aAAAA,QAAM,QAAQ,aAAa;AAAA,EAC1C,SAAS,OAAP;AACA,UAAM,aAAa;AACnB,QAAI,WAAW,UAAU;AACvB,aAAO,WAAW;AAAA,IACpB;AACA,UAAM;AAAA,EACR;AACF;AAEA,IAAM,oBAAoB,CAAC,UAA8B,mBAAgD;AACvG,MAAI,gBAAgB;AAClB,UAAM,UAAU,SAAS,QAAQ,cAAc;AAC/C,QAAI,SAAS,OAAO,GAAG;AACrB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,aAAsC;AAC7D,MAAI,SAAS,WAAW,KAAK;AAC3B,WAAO,SAAS;AAAA,EAClB;AACA,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,SAA4B,WAA4B;AAC/E,QAAM,SAAiC;AAAA,IACrC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,GAAG,QAAQ;AAAA,EACb;AAEA,QAAM,QAAQ,OAAO,OAAO,MAAM;AAClC,MAAI,OAAO;AACT,UAAM,IAAI,SAAS,SAAS,QAAQ,KAAK;AAAA,EAC3C;AAEA,MAAI,CAAC,OAAO,IAAI;AACd,UAAM,IAAI,SAAS,SAAS,QAAQ,eAAe;AAAA,EACrD;AACF;AASO,IAAM,UAAU,CAAI,QAAuB,YAAqD;AACrG,SAAO,IAAI,kBAAkB,OAAOC,UAAS,QAAQ,aAAa;AAChE,QAAI;AACF,YAAM,MAAM,OAAO,QAAQ,OAAO;AAClC,YAAM,WAAW,YAAY,OAAO;AACpC,YAAM,OAAO,eAAe,OAAO;AACnC,YAAM,UAAU,MAAM,WAAW,QAAQ,SAAS,QAAQ;AAE1D,UAAI,CAAC,SAAS,aAAa;AACzB,cAAM,WAAW,MAAM,YAAe,QAAQ,SAAS,KAAK,MAAM,UAAU,SAAS,QAAQ;AAC7F,cAAM,eAAe,gBAAgB,QAAQ;AAC7C,cAAM,iBAAiB,kBAAkB,UAAU,QAAQ,cAAc;AAEzE,cAAM,SAAoB;AAAA,UACxB;AAAA,UACA,IAAI,UAAU,SAAS,MAAM;AAAA,UAC7B,QAAQ,SAAS;AAAA,UACjB,YAAY,SAAS;AAAA,UACrB,MAAM,kBAAkB;AAAA,QAC1B;AAEA,wBAAgB,SAAS,MAAM;AAE/B,QAAAA,SAAQ,OAAO,IAAI;AAAA,MACrB;AAAA,IACF,SAAS,OAAP;AACA,aAAO,KAAK;AAAA,IACd;AAAA,EACF,CAAC;AACH;;;AGtSO,IAAM,mBAAN,cAA+B,gBAAgB;AAAA,EAEpD,YAAY,QAAuB;AACjC,UAAM,MAAM;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQgB,QAAW,SAAkD;AAC3E,WAAO,QAAU,KAAK,QAAQ,OAAO;AAAA,EACvC;AACF;;;ACbO,IAAM,iBAAN,MAAqB;AAAA,EAE1B,YAA4B,aAA8B;AAA9B;AAAA,EAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpD,6BACL,aACuC;AACvC,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,mBACL,aACwB;AACxB,WAAO,KAAK,YAAY,QAAQ;AAAA,MAC9B,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAEF;;;AC5CO,IAAM,WAAN,MAAe;AAAA,EAMpB,YAAY,QAAiC,cAAsC,kBAAkB;AACnG,SAAK,UAAU,IAAI,YAAY;AAAA,MAC7B,MAAM,QAAQ,QAAQ;AAAA,MACtB,SAAS,QAAQ,WAAW;AAAA,MAC5B,kBAAkB,QAAQ,oBAAoB;AAAA,MAC9C,aAAa,QAAQ,eAAe;AAAA,MACpC,OAAO,QAAQ;AAAA,MACf,UAAU,QAAQ;AAAA,MAClB,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ;AAAA,MACjB,aAAa,QAAQ;AAAA,IACvB,CAAC;AAED,SAAK,UAAU,IAAI,eAAe,KAAK,OAAO;AAAA,EAChD;AACF;;;ACzBO,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,WAAA,gBAAa;AACb,EAAAA,WAAA,UAAO;AACP,EAAAA,WAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;;;ACPL,SAAS,MAAM,cAAsB;AAC1C,SAAO,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACvD;AAEO,SAAS,WAAW,OAAe;AACxC,SAAO,MAAM,MAAM,gBAAgB,EAAE,OAAO,OAAO;AACrD;AAEO,SAAS,WAAW,OAAe;AACxC,SAAO,MAAM,MAAM,UAAU,EAAE,OAAO,OAAO;AAC/C;AAGO,SAAS,WAAc,SAAqB,QAA0C;AAC3F,SAAO,IAAI,kBAAkB,CAACC,UAAS,QAAQ,aAAa;AAC1D,YACG,KAAK,CAAC,SAAY;AACjB,MAAAA,SAAQ,IAAI;AAAA,IACd,CAAC,EACA,MAAM,CAAC,QAAe;AACrB,aAAO,GAAG;AAAA,IACZ,CAAC;AACH,aAAS,MAAM;AACb,aAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AACH;;;ATjBO,IAAM,kBAAN,MAAsB;AAAA,EAqB3B,cAAc;AAnBd,SAAQ,UAAU;AAAA,MAChB,SAAS,IAAI,OAAO;AAAA;AAAA,MACpB,kCAAkC;AAAA,QAChC,SAAS;AAAA,QACT,cAAc;AAAA,UACZ,OAAO;AAAA,UACP,OAAO;AAAA,UACP,KAAK;AAAA,QACP;AAAA,QACA,SAAS;AAAA,UACP,OAAO;AAAA,UACP,KAAK;AAAA,QACP;AAAA,QACA,SAAS;AAAA,UACP,KAAK;AAAA,QACP;AAAA,MACF;AAAA,IACF;AAGE,SAAK,QAAQ,IAAI,0BAAuC;AAAA,MACtD,SAAS,KAAK,QAAQ;AAAA,MACtB,iBAAiB,qBAAAC;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,KAAkC;AACpC,WAAO,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;AAAA,EACtC;AAAA,EAEA,IAAI,KAAyB,OAAmC;AAC9D,eAAW,SAAS,KAAK,mBAAmB,KAAK,KAAK,GAAG;AACvD,WAAK,MAAM,IAAI,KAAK,KAAK,MAAM,GAAG,GAAG,MAAM,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EAEA,IAAI,KAA2D;AAC7D,WAAO,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;AAAA,EACtC;AAAA,EAEQ,KAAK,KAAiC;AAC5C,eAAO,mBAAAC,SAAW,GAAG;AAAA,EACvB;AAAA,EAEQ,mBACN,KACA,OAC4D;AAC5D,UAAM,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC;AAC5B,QAAI,KAAK,QAAQ,iCAAiC,SAAS;AACzD,YAAM,UAAU,MAAM,QACnB,IAAI,CAAC,WAAW;AACf,eAAO,KAAK,oCAAoC,OAAO,IAAI,EAAE,IAAI,CAAC,aAAa;AAC7E,iBAAO;AAAA,YACL,QAAQ,OAAO,KAAK,MAAM,GAAG,QAAQ;AAAA,YACrC,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,YAClC,aAAa,OAAO;AAAA,UACtB;AAAA,QACF,CAAC;AAAA,MACH,CAAC,EACA,KAAK,EACL,OAAO,CAAC,SAAuE,UAAU;AACxF,gBAAQ,MAAM,MAAM,IAAI,QAAQ,MAAM,MAAM,KAAK,CAAC;AAClD,gBAAQ,MAAM,MAAM,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,aAAa,MAAM,YAAY,CAAC;AACnF,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AACP,iBAAW,UAAU,SAAS;AAC5B,cAAM,WAAW,EAAE,GAAG,KAAK,QAAQ,IAAI,SAAS,OAAO;AACvD,cAAM,aAAa;AAAA,UACjB,GAAG;AAAA,UACH,SAAS,QAAQ,MAAM,EAAE,IAAI,CAAC,WAAW;AACvC,mBAAO;AAAA,cACL,OAAO,OAAO;AAAA,cACd,MAAM,OAAO;AAAA,YACf;AAAA,UACF,CAAC;AAAA,QACH;AACA,aAAK,KAAK;AAAA,UACR,KAAK;AAAA,UACL,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,oCAAoC,YAA8B;AACxE,UAAM,YAAsB,CAAC;AAC7B,UAAM,SAAS,KAAK,QAAQ;AAE5B,UAAM,QAAQ,WAAW,UAAU;AACnC,QAAI,QAAQ;AACZ,QAAI,SAAS;AAEb,WAAO,QAAQ,MAAM,SAAS,KAAK,QAAQ,OAAO,QAAQ,KAAK;AAC7D,gBAAU,MAAM,KAAK,EAAE;AACvB,gBAAU,KAAK,MAAM;AACrB;AAAA,IACF;AAEA,UAAM,QAAQ,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,EAAE,IAAI,UAAU,EAAE,KAAK;AACxE,YAAQ;AACR,aAAS;AACT,WAAO,QAAQ,MAAM,UAAU,QAAQ,OAAO,QAAQ,KAAK;AACzD,gBAAU,MAAM,KAAK,EAAE;AACvB,gBAAU,KAAK,MAAM;AACrB;AAAA,IACF;AAEA,UAAM,aAAa,MAChB,MAAM,GAAG,OAAO,aAAa,KAAK,EAClC,IAAI,UAAU,EACd,KAAK,EACL,MAAM,GAAG,OAAO,aAAa,KAAK,EAClC,KAAK,EAAE;AACV,aAAS;AACT,WAAO,SAAS,WAAW,UAAU,SAAS,OAAO,aAAa,KAAK;AACrE,gBAAU,KAAK,MAAM;AACrB;AAAA,IACF;AAGA,WAAO,UAAU,OAAO,CAAC,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,EACnF;AACF;;;ADvHO,IAAM,aAAN,cAAyB,2BAA8B;AAAA,EAM5D,cAAc;AACZ,UAAM;AANR,SAAQ,YAAoB;AAC5B,SAAQ,SAAkD;AAMxD,SAAK,KAAK;AACV,SAAK,MAAM,IAAI,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC;AAChD,SAAK,kBAAkB,IAAI,gBAAgB;AAAA,EAC7C;AAAA,EAEQ,aAAa,QAAiD;AACpE,QAAI,KAAK,UAAU,QAAQ;AACzB,WAAK,SAAS;AACd,YAAM,QAAoB,EAAE,OAAO,iBAAiB,OAAO;AAC3D,YAAM,KAAK,iBAAiB,KAAK;AAAA,IACnC;AAAA,EACF;AAAA,EAEA,MAAc,KAAK,QAAgB,GAAqB;AACtD,QAAI;AACF,YAAM,WAAW,MAAM,cAAAC,QAAM,IAAI,GAAG,KAAK,YAAY;AACrD,wBAAAC,QAAO,SAAS,UAAU,GAAG;AAC7B,WAAK,aAAa,OAAO;AACzB,aAAO;AAAA,IACT,SAAS,GAAP;AACA,UAAI,QAAQ,GAAG;AACb,aAAK,aAAa,cAAc;AAChC,eAAO;AAAA,MACT;AACA,WAAK,aAAa,YAAY;AAC9B,YAAM,iBAAiB;AACvB,YAAM,MAAM,cAAc;AAC1B,aAAO,KAAK,KAAK,QAAQ,CAAC;AAAA,IAC5B;AAAA,EACF;AAAA,EAEQ,eAAkB,SAAqD;AAC7E,WAAO;AAAA,MACL,QACG,KAAK,CAAC,aAAgB;AACrB,aAAK,aAAa,OAAO;AACzB,eAAO;AAAA,MACT,CAAC,EACA,MAAM,CAAC,QAAkB;AACxB,aAAK,aAAa,cAAc;AAChC,cAAM;AAAA,MACR,CAAC;AAAA,MACH,MAAM;AACJ,gBAAQ,OAAO;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEO,aAAa,WAA2B;AAC7C,SAAK,YAAY,UAAU,QAAQ,OAAO,EAAE;AAC5C,SAAK,KAAK;AACV,SAAK,MAAM,IAAI,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC;AAChD,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,eAAuB;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,YAAqD;AAC1D,WAAO,KAAK;AAAA,EACd;AAAA,EAEO,eAAeC,UAAmE;AACvF,QAAI,KAAK,gBAAgB,IAAIA,QAAO,GAAG;AACrC,aAAO,IAAI,kBAAkB,CAACC,aAAY;AACxC,QAAAA,SAAQ,KAAK,gBAAgB,IAAID,QAAO,CAAC;AAAA,MAC3C,CAAC;AAAA,IACH;AACA,UAAM,UAAU,KAAK,eAAe,KAAK,IAAI,QAAQ,6BAA6BA,QAAO,CAAC;AAC1F,WAAO;AAAA,MACL,QAAQ,KAAK,CAAC,aAAiC;AAC7C,aAAK,gBAAgB,IAAIA,UAAS,QAAQ;AAC1C,eAAO;AAAA,MACT,CAAC;AAAA,MACD,MAAM;AACJ,gBAAQ,OAAO;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEO,UAAUA,UAAgE;AAC/E,WAAO,KAAK,eAAe,KAAK,IAAI,QAAQ,mBAAmBA,QAAO,CAAC;AAAA,EACzE;AACF;;;AW5FO,IAAM,kBAAyC,CAAC,eAAe;","names":["import_axios","request","resolve","FormData","headers","axios","resolve","EventType","resolve","sizeOfObject","hashObject","axios","assert","request","resolve"]} diff --git a/clients/tabby-agent/package.json b/clients/tabby-agent/package.json index 004f1f0..a3820e3 100644 --- a/clients/tabby-agent/package.json +++ b/clients/tabby-agent/package.json @@ -28,6 +28,9 @@ }, "dependencies": { "axios": "^1.4.0", - "form-data": "^4.0.0" + "form-data": "^4.0.0", + "lru-cache": "^9.1.1", + "object-hash": "^3.0.0", + "object-sizeof": "^2.6.1" } } diff --git a/clients/tabby-agent/src/CompletionCache.ts b/clients/tabby-agent/src/CompletionCache.ts new file mode 100644 index 0000000..a93851c --- /dev/null +++ b/clients/tabby-agent/src/CompletionCache.ts @@ -0,0 +1,136 @@ +import { LRUCache } from "lru-cache"; +import hashObject from "object-hash"; +import sizeOfObject from "object-sizeof"; +import { CompletionRequest, CompletionResponse } from "./generated"; +import { splitLines, splitWords } from "./utils"; + +type CompletionCacheKey = CompletionRequest; +type CompletionCacheValue = CompletionResponse; + +export class CompletionCache { + private cache: LRUCache; + private options = { + maxSize: 1 * 1024 * 1024, // 1MB + partiallyAcceptedCacheGeneration: { + enabled: true, + perCharacter: { + lines: 1, + words: 10, + max: 30, + }, + perWord: { + lines: 1, + max: 20, + }, + perLine: { + max: 3, + }, + }, + }; + + constructor() { + this.cache = new LRUCache({ + maxSize: this.options.maxSize, + sizeCalculation: sizeOfObject, + }); + } + + has(key: CompletionCacheKey): boolean { + return this.cache.has(this.hash(key)); + } + + set(key: CompletionCacheKey, value: CompletionCacheValue): void { + for (const entry of this.createCacheEntries(key, value)) { + this.cache.set(this.hash(entry.key), entry.value); + } + } + + get(key: CompletionCacheKey): CompletionCacheValue | undefined { + return this.cache.get(this.hash(key)); + } + + private hash(key: CompletionCacheKey): string { + return hashObject(key); + } + + private createCacheEntries( + key: CompletionCacheKey, + value: CompletionCacheValue + ): { key: CompletionCacheKey; value: CompletionCacheValue }[] { + const list = [{ key, value }]; + if (this.options.partiallyAcceptedCacheGeneration.enabled) { + const entries = value.choices + .map((choice) => { + return this.calculatePartiallyAcceptedPositions(choice.text).map((position) => { + return { + prefix: choice.text.slice(0, position), + suffix: choice.text.slice(position), + choiceIndex: choice.index, + }; + }); + }) + .flat() + .reduce((grouped: { [key: string]: { suffix: string; choiceIndex: number }[] }, entry) => { + grouped[entry.prefix] = grouped[entry.prefix] || []; + grouped[entry.prefix].push({ suffix: entry.suffix, choiceIndex: entry.choiceIndex }); + return grouped; + }, {}); + for (const prefix in entries) { + const cacheKey = { ...key, prompt: key.prompt + prefix }; + const cacheValue = { + ...value, + choices: entries[prefix].map((choice) => { + return { + index: choice.choiceIndex, + text: choice.suffix, + }; + }), + }; + list.push({ + key: cacheKey, + value: cacheValue, + }); + } + } + return list; + } + + private calculatePartiallyAcceptedPositions(completion: string): number[] { + const positions: number[] = []; + const option = this.options.partiallyAcceptedCacheGeneration; + + const lines = splitLines(completion); + let index = 0; + let offset = 0; + // `index < lines.length - 1` to exclude the last line + while (index < lines.length - 1 && index < option.perLine.max) { + offset += lines[index].length; + positions.push(offset); + index++; + } + + const words = lines.slice(0, option.perWord.lines).map(splitWords).flat(); + index = 0; + offset = 0; + while (index < words.length && index < option.perWord.max) { + offset += words[index].length; + positions.push(offset); + index++; + } + + const characters = lines + .slice(0, option.perCharacter.lines) + .map(splitWords) + .flat() + .slice(0, option.perCharacter.words) + .join(""); + offset = 1; + while (offset < characters.length && offset < option.perCharacter.max) { + positions.push(offset); + offset++; + } + + // distinct and sort ascending + return positions.filter((v, i, arr) => arr.indexOf(v) === i).sort((a, b) => a - b); + } +} diff --git a/clients/tabby-agent/src/TabbyAgent.ts b/clients/tabby-agent/src/TabbyAgent.ts index eab8835..19e1c4b 100644 --- a/clients/tabby-agent/src/TabbyAgent.ts +++ b/clients/tabby-agent/src/TabbyAgent.ts @@ -1,12 +1,12 @@ import axios from "axios"; import { EventEmitter } from "events"; import { strict as assert } from "assert"; -import { sleep } from "./utils"; +import { CompletionCache } from "./CompletionCache"; +import { sleep, cancelable } from "./utils"; import { Agent, AgentEvent } from "./types"; import { TabbyApi, CancelablePromise, - CancelError, ApiError, CompletionRequest, CompletionResponse, @@ -18,11 +18,13 @@ export class TabbyAgent extends EventEmitter implements Agent { private serverUrl: string = "http://127.0.0.1:5000"; private status: "connecting" | "ready" | "disconnected" = "connecting"; private api: TabbyApi; + private completionCache: CompletionCache; constructor() { super(); this.ping(); this.api = new TabbyApi({ BASE: this.serverUrl }); + this.completionCache = new CompletionCache(); } private changeStatus(status: "connecting" | "ready" | "disconnected") { @@ -52,26 +54,20 @@ export class TabbyAgent extends EventEmitter implements Agent { } private wrapApiPromise(promise: CancelablePromise): CancelablePromise { - return new CancelablePromise((resolve, reject, onCancel) => { + return cancelable( promise - .then((resp: T) => { + .then((resolved: T) => { this.changeStatus("ready"); - resolve(resp); - }) - .catch((err: CancelError) => { - reject(err); + return resolved; }) .catch((err: ApiError) => { this.changeStatus("disconnected"); - reject(err); - }) - .catch((err: Error) => { - reject(err); - }); - onCancel(() => { + throw err; + }), + () => { promise.cancel(); - }); - }); + } + ); } public setServerUrl(serverUrl: string): string { @@ -90,12 +86,24 @@ export class TabbyAgent extends EventEmitter implements Agent { } public getCompletions(request: CompletionRequest): CancelablePromise { - const promise = this.api.default.completionsV1CompletionsPost(request); - return this.wrapApiPromise(promise); + if (this.completionCache.has(request)) { + return new CancelablePromise((resolve) => { + resolve(this.completionCache.get(request)); + }); + } + const promise = this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(request)); + return cancelable( + promise.then((response: CompletionResponse) => { + this.completionCache.set(request, response); + return response; + }), + () => { + promise.cancel(); + } + ); } public postEvent(request: ChoiceEvent | CompletionEvent): CancelablePromise { - const promise = this.api.default.eventsV1EventsPost(request); - return this.wrapApiPromise(promise); + return this.wrapApiPromise(this.api.default.eventsV1EventsPost(request)); } } diff --git a/clients/tabby-agent/src/utils.ts b/clients/tabby-agent/src/utils.ts index 25dfa99..3ac7c8b 100644 --- a/clients/tabby-agent/src/utils.ts +++ b/clients/tabby-agent/src/utils.ts @@ -5,3 +5,23 @@ export function sleep(milliseconds: number) { export function splitLines(input: string) { return input.match(/.*(?:$|\r?\n)/g).filter(Boolean) // Split lines and keep newline character } + +export function splitWords(input: string) { + return input.match(/\w+|\W+/g).filter(Boolean); // Split consecutive words and non-words +} + +import { CancelablePromise } from "./generated"; +export function cancelable(promise: Promise, cancel: () => void): CancelablePromise { + return new CancelablePromise((resolve, reject, onCancel) => { + promise + .then((resp: T) => { + resolve(resp); + }) + .catch((err: Error) => { + reject(err); + }); + onCancel(() => { + cancel(); + }); + }); +} diff --git a/clients/tabby-agent/tsup.config.ts b/clients/tabby-agent/tsup.config.ts index 2cf23f8..a7be51b 100644 --- a/clients/tabby-agent/tsup.config.ts +++ b/clients/tabby-agent/tsup.config.ts @@ -1,7 +1,8 @@ import { defineConfig } from "tsup"; import { polyfillNode } from "esbuild-plugin-polyfill-node"; +import { dependencies } from "./package.json"; -export default [ +export default async () => [ defineConfig({ name: "lib-node", entry: ["src/index.ts"], @@ -32,6 +33,7 @@ export default [ name: "cli", entry: ["src/cli.ts"], platform: "node", + noExternal: Object.keys(dependencies), minify: true, clean: true, }), diff --git a/clients/tabby-agent/yarn.lock b/clients/tabby-agent/yarn.lock index 202fd9f..39f30e8 100644 --- a/clients/tabby-agent/yarn.lock +++ b/clients/tabby-agent/yarn.lock @@ -281,6 +281,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -308,6 +313,14 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + bundle-require@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-4.0.1.tgz#2cc1ad76428043d15e0e7f30990ee3d5404aa2e3" @@ -608,6 +621,11 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^5.2.0: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" @@ -827,6 +845,18 @@ object-assign@^4.0.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-sizeof@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/object-sizeof/-/object-sizeof-2.6.1.tgz#1e2b6a01d182c268dbb07ee3403f539de45f63d3" + integrity sha512-a7VJ1Zx7ZuHceKwjgfsSqzV/X0PVGvpZz7ho3Dn4Cs0LLcR5e5WuV+gsbizmplD8s0nAXMJmckKB2rkSiPm/Gg== + dependencies: + buffer "^6.0.3" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" diff --git a/clients/vim/node_scripts/tabby-agent.js b/clients/vim/node_scripts/tabby-agent.js index 7c636bc..658360f 100755 --- a/clients/vim/node_scripts/tabby-agent.js +++ b/clients/vim/node_scripts/tabby-agent.js @@ -1,7 +1,47 @@ #!/bin/env node -var Q=Object.create;var j=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var te=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Y(e))!ee.call(t,s)&&s!==n&&j(t,s,{get:()=>e[s],enumerable:!(r=X(e,s))||r.enumerable});return t};var H=(t,e,n)=>(n=t!=null?Q(Z(t)):{},te(e||!t||!t.__esModule?j(n,"default",{value:t,enumerable:!0}):n,t));var $=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)};var a=(t,e,n)=>($(t,e,"read from private field"),n?n.call(t):e.get(t)),R=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},u=(t,e,n,r)=>($(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);var J=H(require("axios")),M=require("events"),K=require("assert");function V(t){return new Promise(e=>setTimeout(e,t))}function W(t){return t.match(/.*(?:$|\r?\n)/g).filter(Boolean)}var T=class{constructor(e){this.config=e}};var B=H(require("axios")),U=H(require("form-data"));var C=class extends Error{constructor(n,r,s){super(s);this.name="ApiError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.body=r.body,this.request=n}};var O=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},d,f,m,y,A,v,E,g=class{constructor(e){R(this,d,void 0);R(this,f,void 0);R(this,m,void 0);R(this,y,void 0);R(this,A,void 0);R(this,v,void 0);R(this,E,void 0);u(this,d,!1),u(this,f,!1),u(this,m,!1),u(this,y,[]),u(this,A,new Promise((n,r)=>{u(this,v,n),u(this,E,r);let s=l=>{var p;a(this,d)||a(this,f)||a(this,m)||(u(this,d,!0),(p=a(this,v))==null||p.call(this,l))},o=l=>{var p;a(this,d)||a(this,f)||a(this,m)||(u(this,f,!0),(p=a(this,E))==null||p.call(this,l))},i=l=>{a(this,d)||a(this,f)||a(this,m)||a(this,y).push(l)};return Object.defineProperty(i,"isResolved",{get:()=>a(this,d)}),Object.defineProperty(i,"isRejected",{get:()=>a(this,f)}),Object.defineProperty(i,"isCancelled",{get:()=>a(this,m)}),e(s,o,i)}))}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,n){return a(this,A).then(e,n)}catch(e){return a(this,A).catch(e)}finally(e){return a(this,A).finally(e)}cancel(){var e;if(!(a(this,d)||a(this,f)||a(this,m))){if(u(this,m,!0),a(this,y).length)try{for(let n of a(this,y))n()}catch(n){console.warn("Cancellation threw an error",n);return}a(this,y).length=0,(e=a(this,E))==null||e.call(this,new O("Request aborted"))}}get isCancelled(){return a(this,m)}};d=new WeakMap,f=new WeakMap,m=new WeakMap,y=new WeakMap,A=new WeakMap,v=new WeakMap,E=new WeakMap;var F=t=>t!=null,q=t=>typeof t=="string",D=t=>q(t)&&t!=="",_=t=>typeof t=="object"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.arrayBuffer=="function"&&typeof t.constructor=="function"&&typeof t.constructor.name=="string"&&/^(Blob|File)$/.test(t.constructor.name)&&/^(Blob|File)$/.test(t[Symbol.toStringTag]),ne=t=>t instanceof U.default,re=t=>t>=200&&t<300,se=t=>{try{return btoa(t)}catch{return Buffer.from(t).toString("base64")}},oe=t=>{let e=[],n=(s,o)=>{e.push(`${encodeURIComponent(s)}=${encodeURIComponent(String(o))}`)},r=(s,o)=>{F(o)&&(Array.isArray(o)?o.forEach(i=>{r(s,i)}):typeof o=="object"?Object.entries(o).forEach(([i,l])=>{r(`${s}[${i}]`,l)}):n(s,o))};return Object.entries(t).forEach(([s,o])=>{r(s,o)}),e.length>0?`?${e.join("&")}`:""},ie=(t,e)=>{let n=t.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",t.VERSION).replace(/{(.*?)}/g,(o,i)=>e.path?.hasOwnProperty(i)?n(String(e.path[i])):o),s=`${t.BASE}${r}`;return e.query?`${s}${oe(e.query)}`:s},ae=t=>{if(t.formData){let e=new U.default,n=(r,s)=>{q(s)||_(s)?e.append(r,s):e.append(r,JSON.stringify(s))};return Object.entries(t.formData).filter(([r,s])=>F(s)).forEach(([r,s])=>{Array.isArray(s)?s.forEach(o=>n(r,o)):n(r,s)}),e}},S=async(t,e)=>typeof e=="function"?e(t):e,pe=async(t,e,n)=>{let r=await S(e,t.TOKEN),s=await S(e,t.USERNAME),o=await S(e,t.PASSWORD),i=await S(e,t.HEADERS),l=typeof n?.getHeaders=="function"&&n?.getHeaders()||{},p=Object.entries({Accept:"application/json",...i,...e.headers,...l}).filter(([c,h])=>F(h)).reduce((c,[h,N])=>({...c,[h]:String(N)}),{});if(D(r)&&(p.Authorization=`Bearer ${r}`),D(s)&&D(o)){let c=se(`${s}:${o}`);p.Authorization=`Basic ${c}`}return e.body&&(e.mediaType?p["Content-Type"]=e.mediaType:_(e.body)?p["Content-Type"]=e.body.type||"application/octet-stream":q(e.body)?p["Content-Type"]="text/plain":ne(e.body)||(p["Content-Type"]="application/json")),p},le=t=>{if(t.body)return t.body},ce=async(t,e,n,r,s,o,i)=>{let l=B.default.CancelToken.source(),p={url:n,headers:o,data:r??s,method:e.method,withCredentials:t.WITH_CREDENTIALS,cancelToken:l.token};i(()=>l.cancel("The user aborted a request."));try{return await B.default.request(p)}catch(c){let h=c;if(h.response)return h.response;throw c}},ue=(t,e)=>{if(e){let n=t.headers[e];if(q(n))return n}},me=t=>{if(t.status!==204)return t.data},de=(t,e)=>{let r={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",...t.errors}[e.status];if(r)throw new C(t,e,r);if(!e.ok)throw new C(t,e,"Generic Error")},k=(t,e)=>new g(async(n,r,s)=>{try{let o=ie(t,e),i=ae(e),l=le(e),p=await pe(t,e,i);if(!s.isCancelled){let c=await ce(t,e,o,l,i,p,s),h=me(c),N=ue(c,e.responseHeader),L={url:o,ok:re(c.status),status:c.status,statusText:c.statusText,body:N??h};de(e,L),n(L.body)}}catch(o){r(o)}});var x=class extends T{constructor(e){super(e)}request(e){return k(this.config,e)}};var P=class{constructor(e){this.httpRequest=e}completionsV1CompletionsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/completions",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}eventsV1EventsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/events",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}};var b=class{constructor(e,n=x){this.request=new n({BASE:e?.BASE??"",VERSION:e?.VERSION??"0.1.0",WITH_CREDENTIALS:e?.WITH_CREDENTIALS??!1,CREDENTIALS:e?.CREDENTIALS??"include",TOKEN:e?.TOKEN,USERNAME:e?.USERNAME,PASSWORD:e?.PASSWORD,HEADERS:e?.HEADERS,ENCODE_PATH:e?.ENCODE_PATH}),this.default=new P(this.request)}};var I=class extends M.EventEmitter{constructor(){super();this.serverUrl="http://127.0.0.1:5000";this.status="connecting";this.ping(),this.api=new b({BASE:this.serverUrl})}changeStatus(n){if(this.status!=n){this.status=n;let r={event:"statusChanged",status:n};this.emit("statusChanged",r)}}async ping(n=0){try{let r=await J.default.get(`${this.serverUrl}/`);return(0,K.strict)(r.status==200),this.changeStatus("ready"),!0}catch{return n>5?(this.changeStatus("disconnected"),!1):(this.changeStatus("connecting"),await V(1e3),this.ping(n+1))}}wrapApiPromise(n){return new g((r,s,o)=>{n.then(i=>{this.changeStatus("ready"),r(i)}).catch(i=>{s(i)}).catch(i=>{this.changeStatus("disconnected"),s(i)}).catch(i=>{s(i)}),o(()=>{n.cancel()})})}setServerUrl(n){return this.serverUrl=n.replace(/\/$/,""),this.ping(),this.api=new b({BASE:this.serverUrl}),this.serverUrl}getServerUrl(){return this.serverUrl}getCompletions(n){let r=this.api.default.completionsV1CompletionsPost(n);return this.wrapApiPromise(r)}postEvent(n){let r=this.api.default.eventsV1EventsPost(n);return this.wrapApiPromise(r)}};var z=["statusChanged"];var w=class{constructor(){this.inStream=process.stdin;this.outStream=process.stdout;this.errLogger=process.stderr;this.buffer="";this.ongoingRequests={};this.agent=null}handleInput(e){let n=e.toString();this.buffer+=n;let r=W(this.buffer);if(!(r.length<1)){r[r.length-1].endsWith(` -`)?this.buffer="":this.buffer=r.pop();for(let s of r){let o=null;try{o=JSON.parse(s)}catch(i){this.errLogger.write(JSON.stringify(i,Object.getOwnPropertyNames(i))+` -`);continue}this.handleRequest(o).then(i=>{this.sendResponse(i)})}}}async handleRequest(e){let n=[0,null];try{if(!this.agent)throw new Error(`Agent not bound. -`);n[0]=e[0];let r=e[1].func;if(r==="cancelRequest")n[1]=this.cancelRequest(e);else{let s=this.agent[r];if(!s)throw new Error(`Unknown function: ${r}`);let o=s.apply(this.agent,e[1].args);o instanceof g?(this.ongoingRequests[e[0]]=o,n[1]=await o,delete this.ongoingRequests[e[0]]):n[1]=o}}catch(r){this.errLogger.write(JSON.stringify(r,Object.getOwnPropertyNames(r))+` -`)}finally{return n}}cancelRequest(e){let n=this.ongoingRequests[e[1].args[0]];return n?(n.cancel(),!0):!1}sendResponse(e){this.outStream.write(JSON.stringify(e)+` -`)}bind(e){this.agent=e;for(let n of z)this.agent.on(n,r=>{this.sendResponse([0,r])})}listen(){this.inStream.on("data",this.handleInput.bind(this))}};var fe=new I,G=new w;G.bind(fe);G.listen(); +var ar=Object.create;var tn=Object.defineProperty;var sr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,cr=Object.prototype.hasOwnProperty;var pr=(i,e,t)=>e in i?tn(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var O=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports);var lr=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of or(e))!cr.call(i,a)&&a!==t&&tn(i,a,{get:()=>e[a],enumerable:!(n=sr(e,a))||n.enumerable});return i};var X=(i,e,t)=>(t=i!=null?ar(rr(i)):{},lr(e||!i||!i.__esModule?tn(t,"default",{value:i,enumerable:!0}):t,i));var L=(i,e,t)=>(pr(i,typeof e!="symbol"?e+"":e,t),t),nn=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)};var r=(i,e,t)=>(nn(i,e,"read from private field"),t?t.call(i):e.get(i)),C=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},y=(i,e,t,n)=>(nn(i,e,"write to private field"),n?n.call(i,t):e.set(i,t),t),ft=(i,e,t,n)=>({set _(a){y(i,e,a,t)},get _(){return r(i,e,n)}}),E=(i,e,t)=>(nn(i,e,"access private method"),t);var Aa=O((Hl,Ca)=>{var Ea=require("stream").Stream,$r=require("util");Ca.exports=fe;function fe(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}$r.inherits(fe,Ea);fe.create=function(i,e){var t=new this;e=e||{};for(var n in e)t[n]=e[n];t.source=i;var a=i.emit;return i.emit=function(){return t._handleEmit(arguments),a.apply(i,arguments)},i.on("error",function(){}),t.pauseStream&&i.pause(),t};Object.defineProperty(fe.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});fe.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};fe.prototype.resume=function(){this._released||this.release(),this.source.resume()};fe.prototype.pause=function(){this.source.pause()};fe.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(i){this.emit.apply(this,i)}.bind(this)),this._bufferedEvents=[]};fe.prototype.pipe=function(){var i=Ea.prototype.pipe.apply(this,arguments);return this.resume(),i};fe.prototype._handleEmit=function(i){if(this._released){this.emit.apply(this,i);return}i[0]==="data"&&(this.dataSize+=i[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(i)};fe.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var i="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(i))}}});var Ta=O((Ml,_a)=>{var Vr=require("util"),Sa=require("stream").Stream,Ra=Aa();_a.exports=P;function P(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}Vr.inherits(P,Sa);P.create=function(i){var e=new this;i=i||{};for(var t in i)e[t]=i[t];return e};P.isStreamLike=function(i){return typeof i!="function"&&typeof i!="string"&&typeof i!="boolean"&&typeof i!="number"&&!Buffer.isBuffer(i)};P.prototype.append=function(i){var e=P.isStreamLike(i);if(e){if(!(i instanceof Ra)){var t=Ra.create(i,{maxDataSize:1/0,pauseStream:this.pauseStreams});i.on("data",this._checkDataSize.bind(this)),i=t}this._handleErrors(i),this.pauseStreams&&i.pause()}return this._streams.push(i),this};P.prototype.pipe=function(i,e){return Sa.prototype.pipe.call(this,i,e),this.resume(),i};P.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};P.prototype._realGetNext=function(){var i=this._streams.shift();if(typeof i>"u"){this.end();return}if(typeof i!="function"){this._pipeNext(i);return}var e=i;e(function(t){var n=P.isStreamLike(t);n&&(t.on("data",this._checkDataSize.bind(this)),this._handleErrors(t)),this._pipeNext(t)}.bind(this))};P.prototype._pipeNext=function(i){this._currentStream=i;var e=P.isStreamLike(i);if(e){i.on("end",this._getNext.bind(this)),i.pipe(this,{end:!1});return}var t=i;this.write(t),this._getNext()};P.prototype._handleErrors=function(i){var e=this;i.on("error",function(t){e._emitError(t)})};P.prototype.write=function(i){this.emit("data",i)};P.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};P.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};P.prototype.end=function(){this._reset(),this.emit("end")};P.prototype.destroy=function(){this._reset(),this.emit("close")};P.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};P.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var i="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(i))}};P.prototype._updateDataSize=function(){this.dataSize=0;var i=this;this._streams.forEach(function(e){e.dataSize&&(i.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};P.prototype._emitError=function(i){this._reset(),this.emit("error",i)}});var ka=O((Wl,Gr)=>{Gr.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 Ba=O(($l,Fa)=>{Fa.exports=ka()});var Ua=O(ee=>{"use strict";var gt=Ba(),Jr=require("path").extname,Oa=/^\s*([^;\s]*)(?:;|\s|$)/,Kr=/^text\//i;ee.charset=ja;ee.charsets={lookup:ja};ee.contentType=Yr;ee.extension=Xr;ee.extensions=Object.create(null);ee.lookup=Qr;ee.types=Object.create(null);Zr(ee.extensions,ee.types);function ja(i){if(!i||typeof i!="string")return!1;var e=Oa.exec(i),t=e&>[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&Kr.test(e[1])?"UTF-8":!1}function Yr(i){if(!i||typeof i!="string")return!1;var e=i.indexOf("/")===-1?ee.lookup(i):i;if(!e)return!1;if(e.indexOf("charset")===-1){var t=ee.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function Xr(i){if(!i||typeof i!="string")return!1;var e=Oa.exec(i),t=e&&ee.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function Qr(i){if(!i||typeof i!="string")return!1;var e=Jr("x."+i).toLowerCase().substr(1);return e&&ee.types[e]||!1}function Zr(i,e){var t=["nginx","apache",void 0,"iana"];Object.keys(gt).forEach(function(a){var s=gt[a],o=s.extensions;if(!(!o||!o.length)){i[a]=o;for(var c=0;cu||l===u&&e[p].substr(0,12)==="application/"))continue}e[p]=a}}})}});var Ia=O((Gl,qa)=>{qa.exports=ec;function ec(i){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(i):setTimeout(i,0)}});var rn=O((Jl,Pa)=>{var La=Ia();Pa.exports=ic;function ic(i){var e=!1;return La(function(){e=!0}),function(n,a){e?i(n,a):La(function(){i(n,a)})}}});var cn=O((Kl,za)=>{za.exports=tc;function tc(i){Object.keys(i.jobs).forEach(nc.bind(i)),i.jobs={}}function nc(i){typeof this.jobs[i]=="function"&&this.jobs[i]()}});var pn=O((Yl,Da)=>{var Na=rn(),ac=cn();Da.exports=sc;function sc(i,e,t,n){var a=t.keyedList?t.keyedList[t.index]:t.index;t.jobs[a]=oc(e,a,i[a],function(s,o){a in t.jobs&&(delete t.jobs[a],s?ac(t):t.results[a]=o,n(s,t.results))})}function oc(i,e,t,n){var a;return i.length==2?a=i(t,Na(n)):a=i(t,e,Na(n)),a}});var ln=O((Xl,Ha)=>{Ha.exports=rc;function rc(i,e){var t=!Array.isArray(i),n={index:0,keyedList:t||e?Object.keys(i):null,jobs:{},results:t?{}:[],size:t?Object.keys(i).length:i.length};return e&&n.keyedList.sort(t?e:function(a,s){return e(i[a],i[s])}),n}});var un=O((Ql,Ma)=>{var cc=cn(),pc=rn();Ma.exports=lc;function lc(i){Object.keys(this.jobs).length&&(this.index=this.size,cc(this),pc(i)(null,this.results))}});var $a=O((Zl,Wa)=>{var uc=pn(),dc=ln(),mc=un();Wa.exports=fc;function fc(i,e,t){for(var n=dc(i);n.index<(n.keyedList||i).length;)uc(i,e,n,function(a,s){if(a){t(a,s);return}if(Object.keys(n.jobs).length===0){t(null,n.results);return}}),n.index++;return mc.bind(n,t)}});var dn=O((eu,yt)=>{var Va=pn(),hc=ln(),xc=un();yt.exports=vc;yt.exports.ascending=Ga;yt.exports.descending=bc;function vc(i,e,t,n){var a=hc(i,t);return Va(i,e,a,function s(o,c){if(o){n(o,c);return}if(a.index++,a.index<(a.keyedList||i).length){Va(i,e,a,s);return}n(null,a.results)}),xc.bind(a,n)}function Ga(i,e){return ie?1:0}function bc(i,e){return-1*Ga(i,e)}});var Ka=O((iu,Ja)=>{var gc=dn();Ja.exports=yc;function yc(i,e,t){return gc(i,e,null,t)}});var Xa=O((tu,Ya)=>{Ya.exports={parallel:$a(),serial:Ka(),serialOrdered:dn()}});var Za=O((nu,Qa)=>{Qa.exports=function(i,e){return Object.keys(e).forEach(function(t){i[t]=i[t]||e[t]}),i}});var vn=O((au,is)=>{var xn=Ta(),es=require("util"),mn=require("path"),wc=require("http"),Ec=require("https"),Cc=require("url").parse,Ac=require("fs"),Rc=require("stream").Stream,fn=Ua(),Sc=Xa(),hn=Za();is.exports=B;es.inherits(B,xn);function B(i){if(!(this instanceof B))return new B(i);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],xn.call(this),i=i||{};for(var e in i)this[e]=i[e]}B.LINE_BREAK=`\r +`;B.DEFAULT_CONTENT_TYPE="application/octet-stream";B.prototype.append=function(i,e,t){t=t||{},typeof t=="string"&&(t={filename:t});var n=xn.prototype.append.bind(this);if(typeof e=="number"&&(e=""+e),es.isArray(e)){this._error(new Error("Arrays are not supported."));return}var a=this._multiPartHeader(i,e,t),s=this._multiPartFooter();n(a),n(e),n(s),this._trackLength(a,e,t)};B.prototype._trackLength=function(i,e,t){var n=0;t.knownLength!=null?n+=+t.knownLength:Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(i)+B.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&e.hasOwnProperty("httpVersion"))&&!(e instanceof Rc))&&(t.knownLength||this._valuesToMeasure.push(e))};B.prototype._lengthRetriever=function(i,e){i.hasOwnProperty("fd")?i.end!=null&&i.end!=1/0&&i.start!=null?e(null,i.end+1-(i.start?i.start:0)):Ac.stat(i.path,function(t,n){var a;if(t){e(t);return}a=n.size-(i.start?i.start:0),e(null,a)}):i.hasOwnProperty("httpVersion")?e(null,+i.headers["content-length"]):i.hasOwnProperty("httpModule")?(i.on("response",function(t){i.pause(),e(null,+t.headers["content-length"])}),i.resume()):e("Unknown stream")};B.prototype._multiPartHeader=function(i,e,t){if(typeof t.header=="string")return t.header;var n=this._getContentDisposition(e,t),a=this._getContentType(e,t),s="",o={"Content-Disposition":["form-data",'name="'+i+'"'].concat(n||[]),"Content-Type":[].concat(a||[])};typeof t.header=="object"&&hn(o,t.header);var c;for(var p in o)o.hasOwnProperty(p)&&(c=o[p],c!=null&&(Array.isArray(c)||(c=[c]),c.length&&(s+=p+": "+c.join("; ")+B.LINE_BREAK)));return"--"+this.getBoundary()+B.LINE_BREAK+s+B.LINE_BREAK};B.prototype._getContentDisposition=function(i,e){var t,n;return typeof e.filepath=="string"?t=mn.normalize(e.filepath).replace(/\\/g,"/"):e.filename||i.name||i.path?t=mn.basename(e.filename||i.name||i.path):i.readable&&i.hasOwnProperty("httpVersion")&&(t=mn.basename(i.client._httpMessage.path||"")),t&&(n='filename="'+t+'"'),n};B.prototype._getContentType=function(i,e){var t=e.contentType;return!t&&i.name&&(t=fn.lookup(i.name)),!t&&i.path&&(t=fn.lookup(i.path)),!t&&i.readable&&i.hasOwnProperty("httpVersion")&&(t=i.headers["content-type"]),!t&&(e.filepath||e.filename)&&(t=fn.lookup(e.filepath||e.filename)),!t&&typeof i=="object"&&(t=B.DEFAULT_CONTENT_TYPE),t};B.prototype._multiPartFooter=function(){return function(i){var e=B.LINE_BREAK,t=this._streams.length===0;t&&(e+=this._lastBoundary()),i(e)}.bind(this)};B.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+B.LINE_BREAK};B.prototype.getHeaders=function(i){var e,t={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in i)i.hasOwnProperty(e)&&(t[e.toLowerCase()]=i[e]);return t};B.prototype.setBoundary=function(i){this._boundary=i};B.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};B.prototype.getBuffer=function(){for(var i=new Buffer.alloc(0),e=this.getBoundary(),t=0,n=this._streams.length;t{"use strict";var Dc=require("url").parse,Hc={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},Mc=String.prototype.endsWith||function(i){return i.length<=this.length&&this.indexOf(i,this.length-i.length)!==-1};function Wc(i){var e=typeof i=="string"?Dc(i):i||{},t=e.protocol,n=e.host,a=e.port;if(typeof n!="string"||!n||typeof t!="string"||(t=t.split(":",1)[0],n=n.replace(/:\d*$/,""),a=parseInt(a)||Hc[t]||0,!$c(n,a)))return"";var s=gi("npm_config_"+t+"_proxy")||gi(t+"_proxy")||gi("npm_config_proxy")||gi("all_proxy");return s&&s.indexOf("://")===-1&&(s=t+"://"+s),s}function $c(i,e){var t=(gi("npm_config_no_proxy")||gi("no_proxy")).toLowerCase();return t?t==="*"?!1:t.split(/[,\s]/).every(function(n){if(!n)return!0;var a=n.match(/^(.+):(\d+)$/),s=a?a[1]:n,o=a?parseInt(a[2]):0;return o&&o!==e?!0:/^[.*]/.test(s)?(s.charAt(0)==="*"&&(s=s.slice(1)),!Mc.call(i,s)):i!==s}):!0}function gi(i){return process.env[i.toLowerCase()]||process.env[i.toUpperCase()]||""}fs.getProxyForUrl=Wc});var vs=O((sd,xs)=>{var yi=1e3,wi=yi*60,Ei=wi*60,Ze=Ei*24,Vc=Ze*7,Gc=Ze*365.25;xs.exports=function(i,e){e=e||{};var t=typeof i;if(t==="string"&&i.length>0)return Jc(i);if(t==="number"&&isFinite(i))return e.long?Yc(i):Kc(i);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(i))};function Jc(i){if(i=String(i),!(i.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(i);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*Gc;case"weeks":case"week":case"w":return t*Vc;case"days":case"day":case"d":return t*Ze;case"hours":case"hour":case"hrs":case"hr":case"h":return t*Ei;case"minutes":case"minute":case"mins":case"min":case"m":return t*wi;case"seconds":case"second":case"secs":case"sec":case"s":return t*yi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Kc(i){var e=Math.abs(i);return e>=Ze?Math.round(i/Ze)+"d":e>=Ei?Math.round(i/Ei)+"h":e>=wi?Math.round(i/wi)+"m":e>=yi?Math.round(i/yi)+"s":i+"ms"}function Yc(i){var e=Math.abs(i);return e>=Ze?Rt(i,e,Ze,"day"):e>=Ei?Rt(i,e,Ei,"hour"):e>=wi?Rt(i,e,wi,"minute"):e>=yi?Rt(i,e,yi,"second"):i+" ms"}function Rt(i,e,t,n){var a=e>=t*1.5;return Math.round(i/t)+" "+n+(a?"s":"")}});var Rn=O((od,bs)=>{function Xc(i){t.debug=t,t.default=t,t.coerce=p,t.disable=s,t.enable=a,t.enabled=o,t.humanize=vs(),t.destroy=l,Object.keys(i).forEach(u=>{t[u]=i[u]}),t.names=[],t.skips=[],t.formatters={};function e(u){let d=0;for(let v=0;v{if(K==="%%")return"%";F++;let Oe=t.formatters[Z];if(typeof Oe=="function"){let je=A[F];K=Oe.call(w,je),A.splice(F,1),F--}return K}),t.formatArgs.call(w,A),(w.log||t.log).apply(w,A)}return x.namespace=u,x.useColors=t.useColors(),x.color=t.selectColor(u),x.extend=n,x.destroy=t.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(b!==t.namespaces&&(b=t.namespaces,h=t.enabled(u)),h),set:A=>{v=A}}),typeof t.init=="function"&&t.init(x),x}function n(u,d){let v=t(this.namespace+(typeof d>"u"?":":d)+u);return v.log=this.log,v}function a(u){t.save(u),t.namespaces=u,t.names=[],t.skips=[];let d,v=(typeof u=="string"?u:"").split(/[\s,]+/),b=v.length;for(d=0;d"-"+d)].join(",");return t.enable(""),u}function o(u){if(u[u.length-1]==="*")return!0;let d,v;for(d=0,v=t.skips.length;d{se.formatArgs=Zc;se.save=ep;se.load=ip;se.useColors=Qc;se.storage=tp();se.destroy=(()=>{let i=!1;return()=>{i||(i=!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`."))}})();se.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 Qc(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1: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&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Zc(i){if(i[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+i[0]+(this.useColors?"%c ":" ")+"+"+St.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;i.splice(1,0,e,"color: inherit");let t=0,n=0;i[0].replace(/%[a-zA-Z%]/g,a=>{a!=="%%"&&(t++,a==="%c"&&(n=t))}),i.splice(n,0,e)}se.log=console.debug||console.log||(()=>{});function ep(i){try{i?se.storage.setItem("debug",i):se.storage.removeItem("debug")}catch{}}function ip(){let i;try{i=se.storage.getItem("debug")}catch{}return!i&&typeof process<"u"&&"env"in process&&(i=process.env.DEBUG),i}function tp(){try{return localStorage}catch{}}St.exports=Rn()(se);var{formatters:np}=St.exports;np.j=function(i){try{return JSON.stringify(i)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ws=O((V,Tt)=>{var ap=require("tty"),_t=require("util");V.init=up;V.log=cp;V.formatArgs=op;V.save=pp;V.load=lp;V.useColors=sp;V.destroy=_t.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");V.colors=[6,2,3,4,5,1];try{let i=require("supports-color");i&&(i.stderr||i).level>=2&&(V.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{}V.inspectOpts=Object.keys(process.env).filter(i=>/^debug_/i.test(i)).reduce((i,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(a,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),i[t]=n,i},{});function sp(){return"colors"in V.inspectOpts?!!V.inspectOpts.colors:ap.isatty(process.stderr.fd)}function op(i){let{namespace:e,useColors:t}=this;if(t){let n=this.color,a="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${a};1m${e} \x1B[0m`;i[0]=s+i[0].split(` +`).join(` +`+s),i.push(a+"m+"+Tt.exports.humanize(this.diff)+"\x1B[0m")}else i[0]=rp()+e+" "+i[0]}function rp(){return V.inspectOpts.hideDate?"":new Date().toISOString()+" "}function cp(...i){return process.stderr.write(_t.format(...i)+` +`)}function pp(i){i?process.env.DEBUG=i:delete process.env.DEBUG}function lp(){return process.env.DEBUG}function up(i){i.inspectOpts={};let e=Object.keys(V.inspectOpts);for(let t=0;te.trim()).join(" ")};ys.O=function(i){return this.inspectOpts.colors=this.useColors,_t.inspect(i,this.inspectOpts)}});var Es=O((rd,Sn)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Sn.exports=gs():Sn.exports=ws()});var As=O((cd,Cs)=>{var Vi;Cs.exports=function(){if(!Vi){try{Vi=Es()("follow-redirects")}catch{}typeof Vi!="function"&&(Vi=function(){})}Vi.apply(null,arguments)}});var Os=O((pd,Bn)=>{var ei=require("url"),_n=ei.URL,dp=require("http"),mp=require("https"),_s=require("stream").Writable,Ts=require("assert"),ks=As(),kn=["abort","aborted","connect","error","socket","timeout"],Fn=Object.create(null);kn.forEach(function(i){Fn[i]=function(e,t,n){this._redirectable.emit(i,e,t,n)}});var fp=Ji("ERR_INVALID_URL","Invalid URL",TypeError),Rs=Ji("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),hp=Ji("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded"),xp=Ji("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),vp=Ji("ERR_STREAM_WRITE_AFTER_END","write after end");function oe(i,e){_s.call(this),this._sanitizeOptions(i),this._options=i,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(n){t._processResponse(n)},this._performRequest()}oe.prototype=Object.create(_s.prototype);oe.prototype.abort=function(){Bs(this._currentRequest),this.emit("abort")};oe.prototype.write=function(i,e,t){if(this._ending)throw new vp;if(!ii(i)&&!yp(i))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Gi(e)&&(t=e,e=null),i.length===0){t&&t();return}this._requestBodyLength+i.length<=this._options.maxBodyLength?(this._requestBodyLength+=i.length,this._requestBodyBuffers.push({data:i,encoding:e}),this._currentRequest.write(i,e,t)):(this.emit("error",new xp),this.abort())};oe.prototype.end=function(i,e,t){if(Gi(i)?(t=i,i=e=null):Gi(e)&&(t=e,e=null),!i)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var n=this,a=this._currentRequest;this.write(i,e,function(){n._ended=!0,a.end(null,null,t)}),this._ending=!0}};oe.prototype.setHeader=function(i,e){this._options.headers[i]=e,this._currentRequest.setHeader(i,e)};oe.prototype.removeHeader=function(i){delete this._options.headers[i],this._currentRequest.removeHeader(i)};oe.prototype.setTimeout=function(i,e){var t=this;function n(o){o.setTimeout(i),o.removeListener("timeout",o.destroy),o.addListener("timeout",o.destroy)}function a(o){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),s()},i),n(o)}function s(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",s),t.removeListener("error",s),t.removeListener("response",s),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",a)}return e&&this.on("timeout",e),this.socket?a(this.socket):this._currentRequest.once("socket",a),this.on("socket",n),this.on("abort",s),this.on("error",s),this.on("response",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(i){oe.prototype[i]=function(e,t){return this._currentRequest[i](e,t)}});["aborted","connection","socket"].forEach(function(i){Object.defineProperty(oe.prototype,i,{get:function(){return this._currentRequest[i]}})});oe.prototype._sanitizeOptions=function(i){if(i.headers||(i.headers={}),i.host&&(i.hostname||(i.hostname=i.host),delete i.host),!i.pathname&&i.path){var e=i.path.indexOf("?");e<0?i.pathname=i.path:(i.pathname=i.path.substring(0,e),i.search=i.path.substring(e))}};oe.prototype._performRequest=function(){var i=this._options.protocol,e=this._options.nativeProtocols[i];if(!e){this.emit("error",new TypeError("Unsupported protocol "+i));return}if(this._options.agents){var t=i.slice(0,-1);this._options.agent=this._options.agents[t]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var a of kn)n.on(a,Fn[a]);if(this._currentUrl=/^\//.test(this._options.path)?ei.format(this._options):this._options.path,this._isRedirect){var s=0,o=this,c=this._requestBodyBuffers;(function p(l){if(n===o._currentRequest)if(l)o.emit("error",l);else if(s=400){i.responseUrl=this._currentUrl,i.redirects=this._redirects,this.emit("response",i),this._requestBodyBuffers=[];return}if(Bs(this._currentRequest),i.destroy(),++this._redirectCount>this._options.maxRedirects){this.emit("error",new hp);return}var n,a=this._options.beforeRedirect;a&&(n=Object.assign({Host:i.req.getHeader("host")},this._options.headers));var s=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=[],Tn(/^content-/i,this._options.headers));var o=Tn(/^host$/i,this._options.headers),c=ei.parse(this._currentUrl),p=o||c.host,l=/^\w+:/.test(t)?this._currentUrl:ei.format(Object.assign(c,{host:p})),u;try{u=ei.resolve(l,t)}catch(h){this.emit("error",new Rs({cause:h}));return}ks("redirecting to",u),this._isRedirect=!0;var d=ei.parse(u);if(Object.assign(this._options,d),(d.protocol!==c.protocol&&d.protocol!=="https:"||d.host!==p&&!gp(d.host,p))&&Tn(/^(?:authorization|cookie)$/i,this._options.headers),Gi(a)){var v={headers:i.headers,statusCode:e},b={url:l,method:s,headers:n};try{a(this._options,v,b)}catch(h){this.emit("error",h);return}this._sanitizeOptions(this._options)}try{this._performRequest()}catch(h){this.emit("error",new Rs({cause:h}))}};function Fs(i){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(i).forEach(function(n){var a=n+":",s=t[a]=i[n],o=e[n]=Object.create(s);function c(l,u,d){if(ii(l)){var v;try{v=Ss(new _n(l))}catch{v=ei.parse(l)}if(!ii(v.protocol))throw new fp({input:l});l=v}else _n&&l instanceof _n?l=Ss(l):(d=u,u=l,l={protocol:a});return Gi(u)&&(d=u,u=null),u=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,u),u.nativeProtocols=t,!ii(u.host)&&!ii(u.hostname)&&(u.hostname="::1"),Ts.equal(u.protocol,a,"protocol mismatch"),ks("options",u),new oe(u,d)}function p(l,u,d){var v=o.request(l,u,d);return v.end(),v}Object.defineProperties(o,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:p,configurable:!0,enumerable:!0,writable:!0}})}),e}function bp(){}function Ss(i){var e={protocol:i.protocol,hostname:i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,hash:i.hash,search:i.search,pathname:i.pathname,path:i.pathname+i.search,href:i.href};return i.port!==""&&(e.port=Number(i.port)),e}function Tn(i,e){var t;for(var n in e)i.test(n)&&(t=e[n],delete e[n]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Ji(i,e,t){function n(a){Error.captureStackTrace(this,this.constructor),Object.assign(this,a||{}),this.code=i,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(t||Error),n.prototype.constructor=n,n.prototype.name="Error ["+i+"]",n}function Bs(i){for(var e of kn)i.removeListener(e,Fn[e]);i.on("error",bp),i.abort()}function gp(i,e){Ts(ii(i)&&ii(e));var t=i.length-e.length-1;return t>0&&i[t]==="."&&i.endsWith(e)}function ii(i){return typeof i=="string"||i instanceof String}function Gi(i){return typeof i=="function"}function yp(i){return typeof i=="object"&&"length"in i}Bn.exports=Fs({http:dp,https:mp});Bn.exports.wrap=Fs});var yo=O((ci,go)=>{"use strict";var Gn=require("crypto");ci=go.exports=ot;function ot(i,e){return e=vo(i,e),Np(i,e)}ci.sha1=function(i){return ot(i)};ci.keys=function(i){return ot(i,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})};ci.MD5=function(i){return ot(i,{algorithm:"md5",encoding:"hex"})};ci.keysMD5=function(i){return ot(i,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var Bi=Gn.getHashes?Gn.getHashes().slice():["sha1","md5"];Bi.push("passthrough");var ho=["buffer","hex","binary","base64"];function vo(i,e){e=e||{};var t={};if(t.algorithm=e.algorithm||"sha1",t.encoding=e.encoding||"hex",t.excludeValues=!!e.excludeValues,t.algorithm=t.algorithm.toLowerCase(),t.encoding=t.encoding.toLowerCase(),t.ignoreUnknown=e.ignoreUnknown===!0,t.respectType=e.respectType!==!1,t.respectFunctionNames=e.respectFunctionNames!==!1,t.respectFunctionProperties=e.respectFunctionProperties!==!1,t.unorderedArrays=e.unorderedArrays===!0,t.unorderedSets=e.unorderedSets!==!1,t.unorderedObjects=e.unorderedObjects!==!1,t.replacer=e.replacer||void 0,t.excludeKeys=e.excludeKeys||void 0,typeof i>"u")throw new Error("Object argument required.");for(var n=0;n"u"&&(t.write=t.update,t.end=t.update);var n=Jn(e,t);if(n.dispatch(i),t.update||t.end(""),t.digest)return t.digest(e.encoding==="buffer"?void 0:e.encoding);var a=t.read();return e.encoding==="buffer"?a:a.toString(e.encoding)}ci.writeToStream=function(i,e,t){return typeof t>"u"&&(t=e,e={}),e=vo(i,e),Jn(e,t).dispatch(i)};function Jn(i,e,t){t=t||[];var n=function(a){return e.update?e.update(a,"utf8"):e.write(a,"utf8")};return{dispatch:function(a){i.replacer&&(a=i.replacer(a));var s=typeof a;return a===null&&(s="null"),this["_"+s](a)},_object:function(a){var s=/\[object (.*)\]/i,o=Object.prototype.toString.call(a),c=s.exec(o);c?c=c[1]:c="unknown:["+o+"]",c=c.toLowerCase();var p=null;if((p=t.indexOf(a))>=0)return this.dispatch("[CIRCULAR:"+p+"]");if(t.push(a),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(a))return n("buffer:"),n(a);if(c!=="object"&&c!=="function"&&c!=="asyncfunction")if(this["_"+c])this["_"+c](a);else{if(i.ignoreUnknown)return n("["+c+"]");throw new Error('Unknown object type "'+c+'"')}else{var l=Object.keys(a);i.unorderedObjects&&(l=l.sort()),i.respectType!==!1&&!xo(a)&&l.splice(0,0,"prototype","__proto__","constructor"),i.excludeKeys&&(l=l.filter(function(d){return!i.excludeKeys(d)})),n("object:"+l.length+":");var u=this;return l.forEach(function(d){u.dispatch(d),n(":"),i.excludeValues||u.dispatch(a[d]),n(",")})}},_array:function(a,s){s=typeof s<"u"?s:i.unorderedArrays!==!1;var o=this;if(n("array:"+a.length+":"),!s||a.length<=1)return a.forEach(function(l){return o.dispatch(l)});var c=[],p=a.map(function(l){var u=new bo,d=t.slice(),v=Jn(i,u,d);return v.dispatch(l),c=c.concat(d.slice(t.length)),u.read().toString()});return t=t.concat(c),p.sort(),this._array(p,!1)},_date:function(a){return n("date:"+a.toJSON())},_symbol:function(a){return n("symbol:"+a.toString())},_error:function(a){return n("error:"+a.toString())},_boolean:function(a){return n("bool:"+a.toString())},_string:function(a){n("string:"+a.length+":"),n(a.toString())},_function:function(a){n("fn:"),xo(a)?this.dispatch("[native]"):this.dispatch(a.toString()),i.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(a.name)),i.respectFunctionProperties&&this._object(a)},_number:function(a){return n("number:"+a.toString())},_xml:function(a){return n("xml:"+a.toString())},_null:function(){return n("Null")},_undefined:function(){return n("Undefined")},_regexp:function(a){return n("regex:"+a.toString())},_uint8array:function(a){return n("uint8array:"),this.dispatch(Array.prototype.slice.call(a))},_uint8clampedarray:function(a){return n("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(a))},_int8array:function(a){return n("int8array:"),this.dispatch(Array.prototype.slice.call(a))},_uint16array:function(a){return n("uint16array:"),this.dispatch(Array.prototype.slice.call(a))},_int16array:function(a){return n("int16array:"),this.dispatch(Array.prototype.slice.call(a))},_uint32array:function(a){return n("uint32array:"),this.dispatch(Array.prototype.slice.call(a))},_int32array:function(a){return n("int32array:"),this.dispatch(Array.prototype.slice.call(a))},_float32array:function(a){return n("float32array:"),this.dispatch(Array.prototype.slice.call(a))},_float64array:function(a){return n("float64array:"),this.dispatch(Array.prototype.slice.call(a))},_arraybuffer:function(a){return n("arraybuffer:"),this.dispatch(new Uint8Array(a))},_url:function(a){return n("url:"+a.toString(),"utf8")},_map:function(a){n("map:");var s=Array.from(a);return this._array(s,i.unorderedSets!==!1)},_set:function(a){n("set:");var s=Array.from(a);return this._array(s,i.unorderedSets!==!1)},_file:function(a){return n("file:"),this.dispatch([a.name,a.size,a.type,a.lastModfied])},_blob:function(){if(i.ignoreUnknown)return n("[blob]");throw Error(`Hashing Blob objects is currently not supported +(see https://github.com/puleos/object-hash/issues/26) +Use "options.replacer" or "options.ignoreUnknown" +`)},_domwindow:function(){return n("domwindow")},_bigint:function(a){return n("bigint:"+a.toString())},_process:function(){return n("process")},_timer:function(){return n("timer")},_pipe:function(){return n("pipe")},_tcp:function(){return n("tcp")},_udp:function(){return n("udp")},_tty:function(){return n("tty")},_statwatcher:function(){return n("statwatcher")},_securecontext:function(){return n("securecontext")},_connection:function(){return n("connection")},_zlib:function(){return n("zlib")},_context:function(){return n("context")},_nodescript:function(){return n("nodescript")},_httpparser:function(){return n("httpparser")},_dataview:function(){return n("dataview")},_signal:function(){return n("signal")},_fsevent:function(){return n("fsevent")},_tlswrap:function(){return n("tlswrap")}}}function bo(){return{buf:"",write:function(i){this.buf+=i},end:function(i){this.buf+=i},read:function(){return this.buf}}}});var Eo=O((Bf,wo)=>{wo.exports={STRING:2,BOOLEAN:4,BYTES:4,NUMBER:8,Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8}});var Ro=O(Dt=>{"use strict";Dt.byteLength=Hp;Dt.toByteArray=Wp;Dt.fromByteArray=Gp;var Te=[],me=[],Dp=typeof Uint8Array<"u"?Uint8Array:Array,Kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(pi=0,Co=Kn.length;pi0)throw new Error("Invalid string. Length must be a multiple of 4");var t=i.indexOf("=");t===-1&&(t=e);var n=t===e?0:4-t%4;return[t,n]}function Hp(i){var e=Ao(i),t=e[0],n=e[1];return(t+n)*3/4-n}function Mp(i,e,t){return(e+t)*3/4-t}function Wp(i){var e,t=Ao(i),n=t[0],a=t[1],s=new Dp(Mp(i,n,a)),o=0,c=a>0?n-4:n,p;for(p=0;p>16&255,s[o++]=e>>8&255,s[o++]=e&255;return a===2&&(e=me[i.charCodeAt(p)]<<2|me[i.charCodeAt(p+1)]>>4,s[o++]=e&255),a===1&&(e=me[i.charCodeAt(p)]<<10|me[i.charCodeAt(p+1)]<<4|me[i.charCodeAt(p+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function $p(i){return Te[i>>18&63]+Te[i>>12&63]+Te[i>>6&63]+Te[i&63]}function Vp(i,e,t){for(var n,a=[],s=e;sc?c:o+s));return n===1?(e=i[t-1],a.push(Te[e>>2]+Te[e<<4&63]+"==")):n===2&&(e=(i[t-2]<<8)+i[t-1],a.push(Te[e>>10]+Te[e>>4&63]+Te[e<<2&63]+"=")),a.join("")}});var So=O(Yn=>{Yn.read=function(i,e,t,n,a){var s,o,c=a*8-n-1,p=(1<>1,u=-7,d=t?a-1:0,v=t?-1:1,b=i[e+d];for(d+=v,s=b&(1<<-u)-1,b>>=-u,u+=c;u>0;s=s*256+i[e+d],d+=v,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=n;u>0;o=o*256+i[e+d],d+=v,u-=8);if(s===0)s=1-l;else{if(s===p)return o?NaN:(b?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-l}return(b?-1:1)*o*Math.pow(2,s-n)};Yn.write=function(i,e,t,n,a,s){var o,c,p,l=s*8-a-1,u=(1<>1,v=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,b=n?0:s-1,h=n?1:-1,x=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(p=Math.pow(2,-o))<1&&(o--,p*=2),o+d>=1?e+=v/p:e+=v*Math.pow(2,1-d),e*p>=2&&(o++,p/=2),o+d>=u?(c=0,o=u):o+d>=1?(c=(e*p-1)*Math.pow(2,a),o=o+d):(c=e*Math.pow(2,d-1)*Math.pow(2,a),o=0));a>=8;i[t+b]=c&255,b+=h,c/=256,a-=8);for(o=o<0;i[t+b]=o&255,b+=h,o/=256,l-=8);i[t+b-h]|=x*128}});var Mo=O(qi=>{"use strict";var Xn=Ro(),ji=So(),_o=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;qi.Buffer=f;qi.SlowBuffer=Zp;qi.INSPECT_MAX_BYTES=50;var Ht=2147483647;qi.kMaxLength=Ht;f.TYPED_ARRAY_SUPPORT=Jp();!f.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Jp(){try{let i=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(i,e),i.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}});Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function Ne(i){if(i>Ht)throw new RangeError('The value "'+i+'" is invalid for option "size"');let e=new Uint8Array(i);return Object.setPrototypeOf(e,f.prototype),e}function f(i,e,t){if(typeof i=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return ia(i)}return Bo(i,e,t)}f.poolSize=8192;function Bo(i,e,t){if(typeof i=="string")return Yp(i,e);if(ArrayBuffer.isView(i))return Xp(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(ke(i,ArrayBuffer)||i&&ke(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ke(i,SharedArrayBuffer)||i&&ke(i.buffer,SharedArrayBuffer)))return Zn(i,e,t);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=i.valueOf&&i.valueOf();if(n!=null&&n!==i)return f.from(n,e,t);let a=Qp(i);if(a)return a;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return f.from(i[Symbol.toPrimitive]("string"),e,t);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}f.from=function(i,e,t){return Bo(i,e,t)};Object.setPrototypeOf(f.prototype,Uint8Array.prototype);Object.setPrototypeOf(f,Uint8Array);function Oo(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function Kp(i,e,t){return Oo(i),i<=0?Ne(i):e!==void 0?typeof t=="string"?Ne(i).fill(e,t):Ne(i).fill(e):Ne(i)}f.alloc=function(i,e,t){return Kp(i,e,t)};function ia(i){return Oo(i),Ne(i<0?0:ta(i)|0)}f.allocUnsafe=function(i){return ia(i)};f.allocUnsafeSlow=function(i){return ia(i)};function Yp(i,e){if((typeof e!="string"||e==="")&&(e="utf8"),!f.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let t=jo(i,e)|0,n=Ne(t),a=n.write(i,e);return a!==t&&(n=n.slice(0,a)),n}function Qn(i){let e=i.length<0?0:ta(i.length)|0,t=Ne(e);for(let n=0;n=Ht)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ht.toString(16)+" bytes");return i|0}function Zp(i){return+i!=i&&(i=0),f.alloc(+i)}f.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==f.prototype};f.compare=function(e,t){if(ke(e,Uint8Array)&&(e=f.from(e,e.offset,e.byteLength)),ke(t,Uint8Array)&&(t=f.from(t,t.offset,t.byteLength)),!f.isBuffer(e)||!f.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,a=t.length;for(let s=0,o=Math.min(n,a);sa.length?(f.isBuffer(o)||(o=f.from(o)),o.copy(a,s)):Uint8Array.prototype.set.call(a,o,s);else if(f.isBuffer(o))o.copy(a,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=o.length}return a};function jo(i,e){if(f.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||ke(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);let t=i.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&t===0)return 0;let a=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return t;case"utf8":case"utf-8":return ea(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return t*2;case"hex":return t>>>1;case"base64":return Ho(i).length;default:if(a)return n?-1:ea(i).length;e=(""+e).toLowerCase(),a=!0}}f.byteLength=jo;function el(i,e,t){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((t===void 0||t>this.length)&&(t=this.length),t<=0)||(t>>>=0,e>>>=0,t<=e))return"";for(i||(i="utf8");;)switch(i){case"hex":return ll(this,e,t);case"utf8":case"utf-8":return qo(this,e,t);case"ascii":return cl(this,e,t);case"latin1":case"binary":return pl(this,e,t);case"base64":return ol(this,e,t);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ul(this,e,t);default:if(n)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),n=!0}}f.prototype._isBuffer=!0;function li(i,e,t){let n=i[e];i[e]=i[t],i[t]=n}f.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tt&&(e+=" ... "),""};_o&&(f.prototype[_o]=f.prototype.inspect);f.prototype.compare=function(e,t,n,a,s){if(ke(e,Uint8Array)&&(e=f.from(e,e.offset,e.byteLength)),!f.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),a===void 0&&(a=0),s===void 0&&(s=this.length),t<0||n>e.length||a<0||s>this.length)throw new RangeError("out of range index");if(a>=s&&t>=n)return 0;if(a>=s)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,a>>>=0,s>>>=0,this===e)return 0;let o=s-a,c=n-t,p=Math.min(o,c),l=this.slice(a,s),u=e.slice(t,n);for(let d=0;d2147483647?t=2147483647:t<-2147483648&&(t=-2147483648),t=+t,aa(t)&&(t=a?0:i.length-1),t<0&&(t=i.length+t),t>=i.length){if(a)return-1;t=i.length-1}else if(t<0)if(a)t=0;else return-1;if(typeof e=="string"&&(e=f.from(e,n)),f.isBuffer(e))return e.length===0?-1:To(i,e,t,n,a);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(i,e,t):Uint8Array.prototype.lastIndexOf.call(i,e,t):To(i,[e],t,n,a);throw new TypeError("val must be string, number or Buffer")}function To(i,e,t,n,a){let s=1,o=i.length,c=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(i.length<2||e.length<2)return-1;s=2,o/=2,c/=2,t/=2}function p(u,d){return s===1?u[d]:u.readUInt16BE(d*s)}let l;if(a){let u=-1;for(l=t;lo&&(t=o-c),l=t;l>=0;l--){let u=!0;for(let d=0;da&&(n=a)):n=a;let s=e.length;n>s/2&&(n=s/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,a===void 0&&(a="utf8")):(a=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-t;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");let o=!1;for(;;)switch(a){case"hex":return il(this,e,t,n);case"utf8":case"utf-8":return tl(this,e,t,n);case"ascii":case"latin1":case"binary":return nl(this,e,t,n);case"base64":return al(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return sl(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),o=!0}};f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ol(i,e,t){return e===0&&t===i.length?Xn.fromByteArray(i):Xn.fromByteArray(i.slice(e,t))}function qo(i,e,t){t=Math.min(i.length,t);let n=[],a=e;for(;a239?4:s>223?3:s>191?2:1;if(a+c<=t){let p,l,u,d;switch(c){case 1:s<128&&(o=s);break;case 2:p=i[a+1],(p&192)===128&&(d=(s&31)<<6|p&63,d>127&&(o=d));break;case 3:p=i[a+1],l=i[a+2],(p&192)===128&&(l&192)===128&&(d=(s&15)<<12|(p&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:p=i[a+1],l=i[a+2],u=i[a+3],(p&192)===128&&(l&192)===128&&(u&192)===128&&(d=(s&15)<<18|(p&63)<<12|(l&63)<<6|u&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,c=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),a+=c}return rl(n)}var ko=4096;function rl(i){let e=i.length;if(e<=ko)return String.fromCharCode.apply(String,i);let t="",n=0;for(;nn)&&(t=n);let a="";for(let s=e;sn&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),tt)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(e,t,n){e=e>>>0,t=t>>>0,n||$(e,t,this.length);let a=this[e],s=1,o=0;for(;++o>>0,t=t>>>0,n||$(e,t,this.length);let a=this[e+--t],s=1;for(;t>0&&(s*=256);)a+=this[e+--t]*s;return a};f.prototype.readUint8=f.prototype.readUInt8=function(e,t){return e=e>>>0,t||$(e,1,this.length),this[e]};f.prototype.readUint16LE=f.prototype.readUInt16LE=function(e,t){return e=e>>>0,t||$(e,2,this.length),this[e]|this[e+1]<<8};f.prototype.readUint16BE=f.prototype.readUInt16BE=function(e,t){return e=e>>>0,t||$(e,2,this.length),this[e]<<8|this[e+1]};f.prototype.readUint32LE=f.prototype.readUInt32LE=function(e,t){return e=e>>>0,t||$(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};f.prototype.readUint32BE=f.prototype.readUInt32BE=function(e,t){return e=e>>>0,t||$(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};f.prototype.readBigUInt64LE=Ke(function(e){e=e>>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(a)+(BigInt(s)<>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(a)<>>0,t=t>>>0,n||$(e,t,this.length);let a=this[e],s=1,o=0;for(;++o=s&&(a-=Math.pow(2,8*t)),a};f.prototype.readIntBE=function(e,t,n){e=e>>>0,t=t>>>0,n||$(e,t,this.length);let a=t,s=1,o=this[e+--a];for(;a>0&&(s*=256);)o+=this[e+--a]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*t)),o};f.prototype.readInt8=function(e,t){return e=e>>>0,t||$(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};f.prototype.readInt16LE=function(e,t){e=e>>>0,t||$(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};f.prototype.readInt16BE=function(e,t){e=e>>>0,t||$(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};f.prototype.readInt32LE=function(e,t){return e=e>>>0,t||$(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};f.prototype.readInt32BE=function(e,t){return e=e>>>0,t||$(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};f.prototype.readBigInt64LE=Ke(function(e){e=e>>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(a)<>>0,Ui(e,"offset");let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&rt(e,this.length-8);let a=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(a)<>>0,t||$(e,4,this.length),ji.read(this,e,!0,23,4)};f.prototype.readFloatBE=function(e,t){return e=e>>>0,t||$(e,4,this.length),ji.read(this,e,!1,23,4)};f.prototype.readDoubleLE=function(e,t){return e=e>>>0,t||$(e,8,this.length),ji.read(this,e,!0,52,8)};f.prototype.readDoubleBE=function(e,t){return e=e>>>0,t||$(e,8,this.length),ji.read(this,e,!1,52,8)};function te(i,e,t,n,a,s){if(!f.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||ei.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(e,t,n,a){if(e=+e,t=t>>>0,n=n>>>0,!a){let c=Math.pow(2,8*n)-1;te(this,e,t,n,c,0)}let s=1,o=0;for(this[t]=e&255;++o>>0,n=n>>>0,!a){let c=Math.pow(2,8*n)-1;te(this,e,t,n,c,0)}let s=n-1,o=1;for(this[t+s]=e&255;--s>=0&&(o*=256);)this[t+s]=e/o&255;return t+n};f.prototype.writeUint8=f.prototype.writeUInt8=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,1,255,0),this[t]=e&255,t+1};f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2};f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2};f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4};f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function Io(i,e,t,n,a){Do(e,n,a,i,t,7);let s=Number(e&BigInt(4294967295));i[t++]=s,s=s>>8,i[t++]=s,s=s>>8,i[t++]=s,s=s>>8,i[t++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return i[t++]=o,o=o>>8,i[t++]=o,o=o>>8,i[t++]=o,o=o>>8,i[t++]=o,t}function Lo(i,e,t,n,a){Do(e,n,a,i,t,7);let s=Number(e&BigInt(4294967295));i[t+7]=s,s=s>>8,i[t+6]=s,s=s>>8,i[t+5]=s,s=s>>8,i[t+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return i[t+3]=o,o=o>>8,i[t+2]=o,o=o>>8,i[t+1]=o,o=o>>8,i[t]=o,t+8}f.prototype.writeBigUInt64LE=Ke(function(e,t=0){return Io(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});f.prototype.writeBigUInt64BE=Ke(function(e,t=0){return Lo(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))});f.prototype.writeIntLE=function(e,t,n,a){if(e=+e,t=t>>>0,!a){let p=Math.pow(2,8*n-1);te(this,e,t,n,p-1,-p)}let s=0,o=1,c=0;for(this[t]=e&255;++s>0)-c&255;return t+n};f.prototype.writeIntBE=function(e,t,n,a){if(e=+e,t=t>>>0,!a){let p=Math.pow(2,8*n-1);te(this,e,t,n,p-1,-p)}let s=n-1,o=1,c=0;for(this[t+s]=e&255;--s>=0&&(o*=256);)e<0&&c===0&&this[t+s+1]!==0&&(c=1),this[t+s]=(e/o>>0)-c&255;return t+n};f.prototype.writeInt8=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1};f.prototype.writeInt16LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2};f.prototype.writeInt16BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2};f.prototype.writeInt32LE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4};f.prototype.writeInt32BE=function(e,t,n){return e=+e,t=t>>>0,n||te(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};f.prototype.writeBigInt64LE=Ke(function(e,t=0){return Io(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});f.prototype.writeBigInt64BE=Ke(function(e,t=0){return Lo(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Po(i,e,t,n,a,s){if(t+n>i.length)throw new RangeError("Index out of range");if(t<0)throw new RangeError("Index out of range")}function zo(i,e,t,n,a){return e=+e,t=t>>>0,a||Po(i,e,t,4,34028234663852886e22,-34028234663852886e22),ji.write(i,e,t,n,23,4),t+4}f.prototype.writeFloatLE=function(e,t,n){return zo(this,e,t,!0,n)};f.prototype.writeFloatBE=function(e,t,n){return zo(this,e,t,!1,n)};function No(i,e,t,n,a){return e=+e,t=t>>>0,a||Po(i,e,t,8,17976931348623157e292,-17976931348623157e292),ji.write(i,e,t,n,52,8),t+8}f.prototype.writeDoubleLE=function(e,t,n){return No(this,e,t,!0,n)};f.prototype.writeDoubleBE=function(e,t,n){return No(this,e,t,!1,n)};f.prototype.copy=function(e,t,n,a){if(!f.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!a&&a!==0&&(a=this.length),t>=e.length&&(t=e.length),t||(t=0),a>0&&a=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=t;s2**32?a=Fo(String(t)):typeof t=="bigint"&&(a=String(t),(t>BigInt(2)**BigInt(32)||t<-(BigInt(2)**BigInt(32)))&&(a=Fo(a)),a+="n"),n+=` It must be ${e}. Received ${a}`,n},RangeError);function Fo(i){let e="",t=i.length,n=i[0]==="-"?1:0;for(;t>=n+4;t-=3)e=`_${i.slice(t-3,t)}${e}`;return`${i.slice(0,t)}${e}`}function dl(i,e,t){Ui(e,"offset"),(i[e]===void 0||i[e+t]===void 0)&&rt(e,i.length-(t+1))}function Do(i,e,t,n,a,s){if(i>t||i3?e===0||e===BigInt(0)?c=`>= 0${o} and < 2${o} ** ${(s+1)*8}${o}`:c=`>= -(2${o} ** ${(s+1)*8-1}${o}) and < 2 ** ${(s+1)*8-1}${o}`:c=`>= ${e}${o} and <= ${t}${o}`,new Oi.ERR_OUT_OF_RANGE("value",c,i)}dl(n,a,s)}function Ui(i,e){if(typeof i!="number")throw new Oi.ERR_INVALID_ARG_TYPE(e,"number",i)}function rt(i,e,t){throw Math.floor(i)!==i?(Ui(i,t),new Oi.ERR_OUT_OF_RANGE(t||"offset","an integer",i)):e<0?new Oi.ERR_BUFFER_OUT_OF_BOUNDS:new Oi.ERR_OUT_OF_RANGE(t||"offset",`>= ${t?1:0} and <= ${e}`,i)}var ml=/[^+/0-9A-Za-z-_]/g;function fl(i){if(i=i.split("=")[0],i=i.trim().replace(ml,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function ea(i,e){e=e||1/0;let t,n=i.length,a=null,s=[];for(let o=0;o55295&&t<57344){if(!a){if(t>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}a=t;continue}if(t<56320){(e-=3)>-1&&s.push(239,191,189),a=t;continue}t=(a-55296<<10|t-56320)+65536}else a&&(e-=3)>-1&&s.push(239,191,189);if(a=null,t<128){if((e-=1)<0)break;s.push(t)}else if(t<2048){if((e-=2)<0)break;s.push(t>>6|192,t&63|128)}else if(t<65536){if((e-=3)<0)break;s.push(t>>12|224,t>>6&63|128,t&63|128)}else if(t<1114112){if((e-=4)<0)break;s.push(t>>18|240,t>>12&63|128,t>>6&63|128,t&63|128)}else throw new Error("Invalid code point")}return s}function hl(i){let e=[];for(let t=0;t>8,a=t%256,s.push(a),s.push(n);return s}function Ho(i){return Xn.toByteArray(fl(i))}function Mt(i,e,t,n){let a;for(a=0;a=e.length||a>=i.length);++a)e[a+t]=i[a];return a}function ke(i,e){return i instanceof e||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===e.name}function aa(i){return i!==i}var vl=function(){let i="0123456789abcdef",e=new Array(256);for(let t=0;t<16;++t){let n=t*16;for(let a=0;a<16;++a)e[n+a]=i[t]+i[a]}return e}();function Ke(i){return typeof BigInt>"u"?bl:i}function bl(){throw new Error("BigInt not supported")}});var Vo=O((If,$o)=>{"use strict";var le=Eo(),Wo=Mo().Buffer;function gl(i){return 12+4*Math.ceil(i.length/4)}function yl(){return!(typeof window<"u"&&typeof document<"u")}function wl(i){let e=0,t=-1;try{let n=i;if(i instanceof Map?n=Object.fromEntries(i):i instanceof Set&&(n=Array.from(i)),i instanceof Int8Array)return i.length*le.Int8Array;if(i instanceof Uint8Array||i instanceof Uint8ClampedArray)return i.length*le.Uint8Array;if(i instanceof Int16Array)return i.length*le.Int16Array;if(i instanceof Uint16Array)return i.length*le.Uint16Array;if(i instanceof Int32Array)return i.length*le.Int32Array;if(i instanceof Uint32Array)return i.length*le.Uint32Array;if(i instanceof Float32Array)return i.length*le.Float32Array;if(i instanceof Float64Array)return i.length*le.Float64Array;let a=JSON.stringify(n);e=new Wo.from(a).byteLength}catch(n){return console.error("Error detected, return "+t,n),t}return e}function El(i){let e=[],t=[i],n=0;for(;t.length;){let a=t.pop();if(typeof a=="boolean")n+=le.BYTES;else if(typeof a=="string")yl()?n+=gl(a):n+=a.length*le.STRING;else if(typeof a=="number")n+=le.NUMBER;else if(typeof a=="symbol")Symbol.keyFor&&Symbol.keyFor(i)?n+=Symbol.keyFor(i).length*le.STRING:n+=(i.toString().length-8)*le.STRING;else if(typeof a=="bigint")n+=Wo.from(a.toString()).byteLength;else if(typeof a=="function")n+=a.toString().length;else if(typeof a=="object"&&e.indexOf(a)===-1){e.push(a);for(let s in a)t.push(a[s])}}return n}$o.exports=function(i){let e=0;return i!==null&&typeof i=="object"?e=wl(i):e=El(i),e}});function Ni(i,e){return function(){return i.apply(e,arguments)}}var{toString:ur}=Object.prototype,{getPrototypeOf:on}=Object,xt=(i=>e=>{let t=ur.call(e);return i[t]||(i[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),Ce=i=>(i=i.toLowerCase(),e=>xt(e)===i),vt=i=>e=>typeof e===i,{isArray:fi}=Array,Di=vt("undefined");function dr(i){return i!==null&&!Di(i)&&i.constructor!==null&&!Di(i.constructor)&&de(i.constructor.isBuffer)&&i.constructor.isBuffer(i)}var ma=Ce("ArrayBuffer");function mr(i){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(i):e=i&&i.buffer&&ma(i.buffer),e}var fr=vt("string"),de=vt("function"),fa=vt("number"),bt=i=>i!==null&&typeof i=="object",hr=i=>i===!0||i===!1,ht=i=>{if(xt(i)!=="object")return!1;let e=on(i);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in i)&&!(Symbol.iterator in i)},xr=Ce("Date"),vr=Ce("File"),br=Ce("Blob"),gr=Ce("FileList"),yr=i=>bt(i)&&de(i.pipe),wr=i=>{let e;return i&&(typeof FormData=="function"&&i instanceof FormData||de(i.append)&&((e=xt(i))==="formdata"||e==="object"&&de(i.toString)&&i.toString()==="[object FormData]"))},Er=Ce("URLSearchParams"),Cr=i=>i.trim?i.trim():i.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Hi(i,e,{allOwnKeys:t=!1}={}){if(i===null||typeof i>"u")return;let n,a;if(typeof i!="object"&&(i=[i]),fi(i))for(n=0,a=i.length;n0;)if(a=t[n],e===a.toLowerCase())return a;return null}var xa=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),va=i=>!Di(i)&&i!==xa;function sn(){let{caseless:i}=va(this)&&this||{},e={},t=(n,a)=>{let s=i&&ha(e,a)||a;ht(e[s])&&ht(n)?e[s]=sn(e[s],n):ht(n)?e[s]=sn({},n):fi(n)?e[s]=n.slice():e[s]=n};for(let n=0,a=arguments.length;n(Hi(e,(a,s)=>{t&&de(a)?i[s]=Ni(a,t):i[s]=a},{allOwnKeys:n}),i),Rr=i=>(i.charCodeAt(0)===65279&&(i=i.slice(1)),i),Sr=(i,e,t,n)=>{i.prototype=Object.create(e.prototype,n),i.prototype.constructor=i,Object.defineProperty(i,"super",{value:e.prototype}),t&&Object.assign(i.prototype,t)},_r=(i,e,t,n)=>{let a,s,o,c={};if(e=e||{},i==null)return e;do{for(a=Object.getOwnPropertyNames(i),s=a.length;s-- >0;)o=a[s],(!n||n(o,i,e))&&!c[o]&&(e[o]=i[o],c[o]=!0);i=t!==!1&&on(i)}while(i&&(!t||t(i,e))&&i!==Object.prototype);return e},Tr=(i,e,t)=>{i=String(i),(t===void 0||t>i.length)&&(t=i.length),t-=e.length;let n=i.indexOf(e,t);return n!==-1&&n===t},kr=i=>{if(!i)return null;if(fi(i))return i;let e=i.length;if(!fa(e))return null;let t=new Array(e);for(;e-- >0;)t[e]=i[e];return t},Fr=(i=>e=>i&&e instanceof i)(typeof Uint8Array<"u"&&on(Uint8Array)),Br=(i,e)=>{let n=(i&&i[Symbol.iterator]).call(i),a;for(;(a=n.next())&&!a.done;){let s=a.value;e.call(i,s[0],s[1])}},Or=(i,e)=>{let t,n=[];for(;(t=i.exec(e))!==null;)n.push(t);return n},jr=Ce("HTMLFormElement"),Ur=i=>i.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,n,a){return n.toUpperCase()+a}),ua=(({hasOwnProperty:i})=>(e,t)=>i.call(e,t))(Object.prototype),qr=Ce("RegExp"),ba=(i,e)=>{let t=Object.getOwnPropertyDescriptors(i),n={};Hi(t,(a,s)=>{e(a,s,i)!==!1&&(n[s]=a)}),Object.defineProperties(i,n)},Ir=i=>{ba(i,(e,t)=>{if(de(i)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;let n=i[t];if(de(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},Lr=(i,e)=>{let t={},n=a=>{a.forEach(s=>{t[s]=!0})};return fi(i)?n(i):n(String(i).split(e)),t},Pr=()=>{},zr=(i,e)=>(i=+i,Number.isFinite(i)?i:e),an="abcdefghijklmnopqrstuvwxyz",da="0123456789",ga={DIGIT:da,ALPHA:an,ALPHA_DIGIT:an+an.toUpperCase()+da},Nr=(i=16,e=ga.ALPHA_DIGIT)=>{let t="",{length:n}=e;for(;i--;)t+=e[Math.random()*n|0];return t};function Dr(i){return!!(i&&de(i.append)&&i[Symbol.toStringTag]==="FormData"&&i[Symbol.iterator])}var Hr=i=>{let e=new Array(10),t=(n,a)=>{if(bt(n)){if(e.indexOf(n)>=0)return;if(!("toJSON"in n)){e[a]=n;let s=fi(n)?[]:{};return Hi(n,(o,c)=>{let p=t(o,a+1);!Di(p)&&(s[c]=p)}),e[a]=void 0,s}}return n};return t(i,0)},Mr=Ce("AsyncFunction"),Wr=i=>i&&(bt(i)||de(i))&&de(i.then)&&de(i.catch),m={isArray:fi,isArrayBuffer:ma,isBuffer:dr,isFormData:wr,isArrayBufferView:mr,isString:fr,isNumber:fa,isBoolean:hr,isObject:bt,isPlainObject:ht,isUndefined:Di,isDate:xr,isFile:vr,isBlob:br,isRegExp:qr,isFunction:de,isStream:yr,isURLSearchParams:Er,isTypedArray:Fr,isFileList:gr,forEach:Hi,merge:sn,extend:Ar,trim:Cr,stripBOM:Rr,inherits:Sr,toFlatObject:_r,kindOf:xt,kindOfTest:Ce,endsWith:Tr,toArray:kr,forEachEntry:Br,matchAll:Or,isHTMLForm:jr,hasOwnProperty:ua,hasOwnProp:ua,reduceDescriptors:ba,freezeMethods:Ir,toObjectSet:Lr,toCamelCase:Ur,noop:Pr,toFiniteNumber:zr,findKey:ha,global:xa,isContextDefined:va,ALPHABET:ga,generateString:Nr,isSpecCompliantForm:Dr,toJSONObject:Hr,isAsyncFn:Mr,isThenable:Wr};function hi(i,e,t,n,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=i,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),a&&(this.response=a)}m.inherits(hi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:m.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var ya=hi.prototype,wa={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(i=>{wa[i]={value:i}});Object.defineProperties(hi,wa);Object.defineProperty(ya,"isAxiosError",{value:!0});hi.from=(i,e,t,n,a,s)=>{let o=Object.create(ya);return m.toFlatObject(i,o,function(p){return p!==Error.prototype},c=>c!=="isAxiosError"),hi.call(o,i.message,e,t,n,a),o.cause=i,o.name=i.name,s&&Object.assign(o,s),o};var g=hi;var ts=X(vn(),1),wt=ts.default;function bn(i){return m.isPlainObject(i)||m.isArray(i)}function as(i){return m.endsWith(i,"[]")?i.slice(0,-2):i}function ns(i,e,t){return i?i.concat(e).map(function(a,s){return a=as(a),!t&&s?"["+a+"]":a}).join(t?".":""):e}function _c(i){return m.isArray(i)&&!i.some(bn)}var Tc=m.toFlatObject(m,{},null,function(e){return/^is[A-Z]/.test(e)});function kc(i,e,t){if(!m.isObject(i))throw new TypeError("target must be an object");e=e||new(wt||FormData),t=m.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(x,A){return!m.isUndefined(A[x])});let n=t.metaTokens,a=t.visitor||u,s=t.dots,o=t.indexes,p=(t.Blob||typeof Blob<"u"&&Blob)&&m.isSpecCompliantForm(e);if(!m.isFunction(a))throw new TypeError("visitor must be a function");function l(h){if(h===null)return"";if(m.isDate(h))return h.toISOString();if(!p&&m.isBlob(h))throw new g("Blob is not supported. Use a Buffer instead.");return m.isArrayBuffer(h)||m.isTypedArray(h)?p&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,x,A){let w=h;if(h&&!A&&typeof h=="object"){if(m.endsWith(x,"{}"))x=n?x:x.slice(0,-2),h=JSON.stringify(h);else if(m.isArray(h)&&_c(h)||(m.isFileList(h)||m.endsWith(x,"[]"))&&(w=m.toArray(h)))return x=as(x),w.forEach(function(_,F){!(m.isUndefined(_)||_===null)&&e.append(o===!0?ns([x],F,s):o===null?x:x+"[]",l(_))}),!1}return bn(h)?!0:(e.append(ns(A,x,s),l(h)),!1)}let d=[],v=Object.assign(Tc,{defaultVisitor:u,convertValue:l,isVisitable:bn});function b(h,x){if(!m.isUndefined(h)){if(d.indexOf(h)!==-1)throw Error("Circular reference detected in "+x.join("."));d.push(h),m.forEach(h,function(w,k){(!(m.isUndefined(w)||w===null)&&a.call(e,w,m.isString(k)?k.trim():k,x,v))===!0&&b(w,x?x.concat(k):[k])}),d.pop()}}if(!m.isObject(i))throw new TypeError("data must be an object");return b(i),e}var De=kc;function ss(i){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(i).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function os(i,e){this._pairs=[],i&&De(i,this,e)}var rs=os.prototype;rs.append=function(e,t){this._pairs.push([e,t])};rs.toString=function(e){let t=e?function(n){return e.call(this,n,ss)}:ss;return this._pairs.map(function(a){return t(a[0])+"="+t(a[1])},"").join("&")};var cs=os;function Fc(i){return encodeURIComponent(i).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xe(i,e,t){if(!e)return i;let n=t&&t.encode||Fc,a=t&&t.serialize,s;if(a?s=a(e,t):s=m.isURLSearchParams(e)?e.toString():new cs(e,t).toString(n),s){let o=i.indexOf("#");o!==-1&&(i=i.slice(0,o)),i+=(i.indexOf("?")===-1?"?":"&")+s}return i}var gn=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){m.forEach(this.handlers,function(n){n!==null&&e(n)})}},yn=gn;var xi={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var ps=X(require("url"),1),ls=ps.default.URLSearchParams;var z={isNode:!0,classes:{URLSearchParams:ls,FormData:wt,Blob:typeof Blob<"u"&&Blob||null},protocols:["http","https","file","data"]};function wn(i,e){return De(i,new z.classes.URLSearchParams,Object.assign({visitor:function(t,n,a,s){return z.isNode&&m.isBuffer(t)?(this.append(n,t.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},e))}function Bc(i){return m.matchAll(/\w+|\[(\w*)]/g,i).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Oc(i){let e={},t=Object.keys(i),n,a=t.length,s;for(n=0;n=t.length;return o=!o&&m.isArray(a)?a.length:o,p?(m.hasOwnProp(a,o)?a[o]=[a[o],n]:a[o]=n,!c):((!a[o]||!m.isObject(a[o]))&&(a[o]=[]),e(t,n,a[o],s)&&m.isArray(a[o])&&(a[o]=Oc(a[o])),!c)}if(m.isFormData(i)&&m.isFunction(i.entries)){let t={};return m.forEachEntry(i,(n,a)=>{e(Bc(n),a,t,0)}),t}return null}var Et=jc;var Uc={"Content-Type":void 0};function qc(i,e,t){if(m.isString(i))try{return(e||JSON.parse)(i),m.trim(i)}catch(n){if(n.name!=="SyntaxError")throw n}return(t||JSON.stringify)(i)}var Ct={transitional:xi,adapter:["xhr","http"],transformRequest:[function(e,t){let n=t.getContentType()||"",a=n.indexOf("application/json")>-1,s=m.isObject(e);if(s&&m.isHTMLForm(e)&&(e=new FormData(e)),m.isFormData(e))return a&&a?JSON.stringify(Et(e)):e;if(m.isArrayBuffer(e)||m.isBuffer(e)||m.isStream(e)||m.isFile(e)||m.isBlob(e))return e;if(m.isArrayBufferView(e))return e.buffer;if(m.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let c;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return wn(e,this.formSerializer).toString();if((c=m.isFileList(e))||n.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return De(c?{"files[]":e}:e,p&&new p,this.formSerializer)}}return s||a?(t.setContentType("application/json",!1),qc(e)):e}],transformResponse:[function(e){let t=this.transitional||Ct.transitional,n=t&&t.forcedJSONParsing,a=this.responseType==="json";if(e&&m.isString(e)&&(n&&!this.responseType||a)){let o=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e)}catch(c){if(o)throw c.name==="SyntaxError"?g.from(c,g.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:z.classes.FormData,Blob:z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};m.forEach(["delete","get","head"],function(e){Ct.headers[e]={}});m.forEach(["post","put","patch"],function(e){Ct.headers[e]=m.merge(Uc)});var vi=Ct;var Ic=m.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),us=i=>{let e={},t,n,a;return i&&i.split(` +`).forEach(function(o){a=o.indexOf(":"),t=o.substring(0,a).trim().toLowerCase(),n=o.substring(a+1).trim(),!(!t||e[t]&&Ic[t])&&(t==="set-cookie"?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)}),e};var ds=Symbol("internals");function Mi(i){return i&&String(i).trim().toLowerCase()}function At(i){return i===!1||i==null?i:m.isArray(i)?i.map(At):String(i)}function Lc(i){let e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=t.exec(i);)e[n[1]]=n[2];return e}var Pc=i=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(i.trim());function En(i,e,t,n,a){if(m.isFunction(n))return n.call(this,e,t);if(a&&(e=t),!!m.isString(e)){if(m.isString(n))return e.indexOf(n)!==-1;if(m.isRegExp(n))return n.test(e)}}function zc(i){return i.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function Nc(i,e){let t=m.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(i,n+t,{value:function(a,s,o){return this[n].call(this,e,a,s,o)},configurable:!0})})}var bi=class{constructor(e){e&&this.set(e)}set(e,t,n){let a=this;function s(c,p,l){let u=Mi(p);if(!u)throw new Error("header name must be a non-empty string");let d=m.findKey(a,u);(!d||a[d]===void 0||l===!0||l===void 0&&a[d]!==!1)&&(a[d||p]=At(c))}let o=(c,p)=>m.forEach(c,(l,u)=>s(l,u,p));return m.isPlainObject(e)||e instanceof this.constructor?o(e,t):m.isString(e)&&(e=e.trim())&&!Pc(e)?o(us(e),t):e!=null&&s(t,e,n),this}get(e,t){if(e=Mi(e),e){let n=m.findKey(this,e);if(n){let a=this[n];if(!t)return a;if(t===!0)return Lc(a);if(m.isFunction(t))return t.call(this,a,n);if(m.isRegExp(t))return t.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Mi(e),e){let n=m.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||En(this,this[n],n,t)))}return!1}delete(e,t){let n=this,a=!1;function s(o){if(o=Mi(o),o){let c=m.findKey(n,o);c&&(!t||En(n,n[c],c,t))&&(delete n[c],a=!0)}}return m.isArray(e)?e.forEach(s):s(e),a}clear(e){let t=Object.keys(this),n=t.length,a=!1;for(;n--;){let s=t[n];(!e||En(this,this[s],s,e,!0))&&(delete this[s],a=!0)}return a}normalize(e){let t=this,n={};return m.forEach(this,(a,s)=>{let o=m.findKey(n,s);if(o){t[o]=At(a),delete t[s];return}let c=e?zc(s):String(s).trim();c!==s&&delete t[s],t[c]=At(a),n[c]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return m.forEach(this,(n,a)=>{n!=null&&n!==!1&&(t[a]=e&&m.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(a=>n.set(a)),n}static accessor(e){let n=(this[ds]=this[ds]={accessors:{}}).accessors,a=this.prototype;function s(o){let c=Mi(o);n[c]||(Nc(a,o),n[c]=!0)}return m.isArray(e)?e.forEach(s):s(e),this}};bi.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);m.freezeMethods(bi.prototype);m.freezeMethods(bi);var N=bi;function Wi(i,e){let t=this||vi,n=e||t,a=N.from(n.headers),s=n.data;return m.forEach(i,function(c){s=c.call(t,s,a.normalize(),e?e.status:void 0)}),a.normalize(),s}function $i(i){return!!(i&&i.__CANCEL__)}function ms(i,e,t){g.call(this,i??"canceled",g.ERR_CANCELED,e,t),this.name="CanceledError"}m.inherits(ms,g,{__CANCEL__:!0});var he=ms;function He(i,e,t){let n=t.config.validateStatus;!t.status||!n||n(t.status)?i(t):e(new g("Request failed with status code "+t.status,[g.ERR_BAD_REQUEST,g.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function Cn(i){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(i)}function An(i,e){return e?i.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):i}function Qe(i,e){return i&&!Cn(e)?An(i,e):e}var $s=X(hs(),1),Vs=X(require("http"),1),Gs=X(require("https"),1),Js=X(require("util"),1),Ks=X(Os(),1),qe=X(require("zlib"),1);var ti="1.4.0";function Ki(i){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(i);return e&&e[1]||""}var wp=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function On(i,e,t){let n=t&&t.Blob||z.classes.Blob,a=Ki(i);if(e===void 0&&n&&(e=!0),a==="data"){i=a.length?i.slice(a.length+1):i;let s=wp.exec(i);if(!s)throw new g("Invalid URL",g.ERR_INVALID_URL);let o=s[1],c=s[2],p=s[3],l=Buffer.from(decodeURIComponent(p),c?"base64":"utf8");if(e){if(!n)throw new g("Blob is not supported",g.ERR_NOT_SUPPORT);return new n([l],{type:o})}return l}throw new g("Unsupported protocol "+a,g.ERR_NOT_SUPPORT)}var ni=X(require("stream"),1);var Us=X(require("stream"),1);function Ep(i,e){let t=0,n=1e3/e,a=null;return function(o,c){let p=Date.now();if(o||p-t>n)return a&&(clearTimeout(a),a=null),t=p,i.apply(null,c);a||(a=setTimeout(()=>(a=null,t=Date.now(),i.apply(null,c)),n-(p-t)))}}var js=Ep;function Cp(i,e){i=i||10;let t=new Array(i),n=new Array(i),a=0,s=0,o;return e=e!==void 0?e:1e3,function(p){let l=Date.now(),u=n[s];o||(o=l),t[a]=p,n[a]=l;let d=s,v=0;for(;d!==a;)v+=t[d++],d=d%i;if(a=(a+1)%i,a===s&&(s=(s+1)%i),l-o!m.isUndefined(p[c])),super({readableHighWaterMark:e.chunkSize});let t=this,n=this[Ft]={length:e.length,timeWindow:e.timeWindow,ticksRate:e.ticksRate,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null},a=kt(n.ticksRate*e.samplesCount,n.timeWindow);this.on("newListener",c=>{c==="progress"&&(n.isCaptured||(n.isCaptured=!0))});let s=0;n.updateProgress=js(function(){let p=n.length,l=n.bytesSeen,u=l-s;if(!u||t.destroyed)return;let d=a(u);s=l,process.nextTick(()=>{t.emit("progress",{loaded:l,total:p,progress:p?l/p:void 0,bytes:u,rate:d||void 0,estimated:d&&p&&l<=p?(p-l)/d:void 0})})},n.ticksRate);let o=()=>{n.updateProgress(!0)};this.once("end",o),this.once("error",o)}_read(e){let t=this[Ft];return t.onReadCallback&&t.onReadCallback(),super._read(e)}_transform(e,t,n){let a=this,s=this[Ft],o=s.maxRate,c=this.readableHighWaterMark,p=s.timeWindow,l=1e3/p,u=o/l,d=s.minChunkSize!==!1?Math.max(s.minChunkSize,u*.01):0;function v(h,x){let A=Buffer.byteLength(h);s.bytesSeen+=A,s.bytes+=A,s.isCaptured&&s.updateProgress(),a.push(h)?process.nextTick(x):s.onReadCallback=()=>{s.onReadCallback=null,process.nextTick(x)}}let b=(h,x)=>{let A=Buffer.byteLength(h),w=null,k=c,_,F=0;if(o){let j=Date.now();(!s.ts||(F=j-s.ts)>=p)&&(s.ts=j,_=u-s.bytes,s.bytes=_<0?-_:0,F=0),_=u-s.bytes}if(o){if(_<=0)return setTimeout(()=>{x(null,h)},p-F);_k&&A-k>d&&(w=h.subarray(k),h=h.subarray(0,k)),v(h,w?()=>{process.nextTick(x,null,w)}:x)};b(e,function h(x,A){if(x)return n(x);A?b(A,h):n(null)})}setLength(e){return this[Ft].length=+e,this}},Un=jn;var Ys=X(require("events"),1);var Is=require("util"),Ls=require("stream");var{asyncIterator:qs}=Symbol,Ap=async function*(i){i.stream?yield*i.stream():i.arrayBuffer?yield await i.arrayBuffer():i[qs]?yield*i[qs]():yield i},Bt=Ap;var Rp=m.ALPHABET.ALPHA_DIGIT+"-_",Yi=new Is.TextEncoder,Me=`\r +`,Sp=Yi.encode(Me),_p=2,qn=class{constructor(e,t){let{escapeName:n}=this.constructor,a=m.isString(t),s=`Content-Disposition: form-data; name="${n(e)}"${!a&&t.name?`; filename="${n(t.name)}"`:""}${Me}`;a?t=Yi.encode(String(t).replace(/\r?\n|\r\n?/g,Me)):s+=`Content-Type: ${t.type||"application/octet-stream"}${Me}`,this.headers=Yi.encode(s+Me),this.contentLength=a?t.byteLength:t.size,this.size=this.headers.byteLength+this.contentLength+_p,this.name=e,this.value=t}async*encode(){yield this.headers;let{value:e}=this;m.isTypedArray(e)?yield e:yield*Bt(e),yield Sp}static escapeName(e){return String(e).replace(/[\r\n"]/g,t=>({"\r":"%0D","\n":"%0A",'"':"%22"})[t])}},Tp=(i,e,t)=>{let{tag:n="form-data-boundary",size:a=25,boundary:s=n+"-"+m.generateString(a,Rp)}=t||{};if(!m.isFormData(i))throw TypeError("FormData instance required");if(s.length<1||s.length>70)throw Error("boundary must be 10-70 characters long");let o=Yi.encode("--"+s+Me),c=Yi.encode("--"+s+"--"+Me+Me),p=c.byteLength,l=Array.from(i.entries()).map(([d,v])=>{let b=new qn(d,v);return p+=b.size,b});p+=o.byteLength*l.length,p=m.toFiniteNumber(p);let u={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(p)&&(u["Content-Length"]=p),e&&e(u),Ls.Readable.from(async function*(){for(let d of l)yield o,yield*d.encode();yield c}())},Ps=Tp;var zs=X(require("stream"),1),In=class extends zs.default.Transform{__transform(e,t,n){this.push(e),n()}_transform(e,t,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let a=Buffer.alloc(2);a[0]=120,a[1]=156,this.push(a,t)}this.__transform(e,t,n)}},Ns=In;var kp=(i,e)=>m.isAsyncFn(i)?function(...t){let n=t.pop();i.apply(this,t).then(a=>{try{e?n(null,...e(a)):n(null,a)}catch(s){n(s)}},n)}:i,Ds=kp;var Hs={flush:qe.default.constants.Z_SYNC_FLUSH,finishFlush:qe.default.constants.Z_SYNC_FLUSH},Fp={flush:qe.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:qe.default.constants.BROTLI_OPERATION_FLUSH},Ms=m.isFunction(qe.default.createBrotliDecompress),{http:Bp,https:Op}=Ks.default,jp=/https:?/,Ws=z.protocols.map(i=>i+":");function Up(i){i.beforeRedirects.proxy&&i.beforeRedirects.proxy(i),i.beforeRedirects.config&&i.beforeRedirects.config(i)}function Xs(i,e,t){let n=e;if(!n&&n!==!1){let a=(0,$s.getProxyForUrl)(t);a&&(n=new URL(a))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let s=Buffer.from(n.auth,"utf8").toString("base64");i.headers["Proxy-Authorization"]="Basic "+s}i.headers.host=i.hostname+(i.port?":"+i.port:"");let a=n.hostname||n.host;i.hostname=a,i.host=a,i.port=n.port,i.path=t,n.protocol&&(i.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}i.beforeRedirects.proxy=function(s){Xs(s,e,s.href)}}var qp=typeof process<"u"&&m.kindOf(process)==="process",Ip=i=>new Promise((e,t)=>{let n,a,s=(p,l)=>{a||(a=!0,n&&n(p,l))},o=p=>{s(p),e(p)},c=p=>{s(p,!0),t(p)};i(o,c,p=>n=p).catch(c)}),Qs=qp&&function(e){return Ip(async function(n,a,s){let{data:o,lookup:c,family:p}=e,{responseType:l,responseEncoding:u}=e,d=e.method.toUpperCase(),v,b=!1,h;c&&m.isAsyncFn(c)&&(c=Ds(c,R=>{if(m.isString(R))R=[R,R.indexOf(".")<0?6:4];else if(!m.isArray(R))throw new TypeError("lookup async function must return an array [ip: string, family: number]]");return R}));let x=new Ys.default,A=()=>{e.cancelToken&&e.cancelToken.unsubscribe(w),e.signal&&e.signal.removeEventListener("abort",w),x.removeAllListeners()};s((R,T)=>{v=!0,T&&(b=!0,A())});function w(R){x.emit("abort",!R||R.type?new he(null,e,h):R)}x.once("abort",a),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(w),e.signal&&(e.signal.aborted?w():e.signal.addEventListener("abort",w)));let k=Qe(e.baseURL,e.url),_=new URL(k,"http://localhost"),F=_.protocol||Ws[0];if(F==="data:"){let R;if(d!=="GET")return He(n,a,{status:405,statusText:"method not allowed",headers:{},config:e});try{R=On(e.url,l==="blob",{Blob:e.env&&e.env.Blob})}catch(T){throw g.from(T,g.ERR_BAD_REQUEST,e)}return l==="text"?(R=R.toString(u),(!u||u==="utf8")&&(R=m.stripBOM(R))):l==="stream"&&(R=ni.default.Readable.from(R)),He(n,a,{data:R,status:200,statusText:"OK",headers:new N,config:e})}if(Ws.indexOf(F)===-1)return a(new g("Unsupported protocol "+F,g.ERR_BAD_REQUEST,e));let j=N.from(e.headers).normalize();j.set("User-Agent","axios/"+ti,!1);let K=e.onDownloadProgress,Z=e.onUploadProgress,Oe=e.maxRate,je,di;if(m.isSpecCompliantForm(o)){let R=j.getContentType(/boundary=([-_\w\d]{10,70})/i);o=Ps(o,T=>{j.set(T)},{tag:`axios-${ti}-boundary`,boundary:R&&R[1]||void 0})}else if(m.isFormData(o)&&m.isFunction(o.getHeaders)){if(j.set(o.getHeaders()),!j.hasContentLength())try{let R=await Js.default.promisify(o.getLength).call(o);Number.isFinite(R)&&R>=0&&j.setContentLength(R)}catch{}}else if(m.isBlob(o))o.size&&j.setContentType(o.type||"application/octet-stream"),j.setContentLength(o.size||0),o=ni.default.Readable.from(Bt(o));else if(o&&!m.isStream(o)){if(!Buffer.isBuffer(o))if(m.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else if(m.isString(o))o=Buffer.from(o,"utf-8");else return a(new g("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",g.ERR_BAD_REQUEST,e));if(j.setContentLength(o.length,!1),e.maxBodyLength>-1&&o.length>e.maxBodyLength)return a(new g("Request body larger than maxBodyLength limit",g.ERR_BAD_REQUEST,e))}let tr=m.toFiniteNumber(j.getContentLength());m.isArray(Oe)?(je=Oe[0],di=Oe[1]):je=di=Oe,o&&(Z||je)&&(m.isStream(o)||(o=ni.default.Readable.from(o,{objectMode:!1})),o=ni.default.pipeline([o,new Un({length:tr,maxRate:m.toFiniteNumber(je)})],m.noop),Z&&o.on("progress",R=>{Z(Object.assign(R,{upload:!0}))}));let zi;if(e.auth){let R=e.auth.username||"",T=e.auth.password||"";zi=R+":"+T}if(!zi&&_.username){let R=_.username,T=_.password;zi=R+":"+T}zi&&j.delete("authorization");let la;try{la=Xe(_.pathname+_.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(R){let T=new Error(R.message);return T.config=e,T.url=e.url,T.exists=!0,a(T)}j.set("Accept-Encoding","gzip, compress, deflate"+(Ms?", br":""),!1);let ne={path:la,method:d,headers:j.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:zi,protocol:F,family:p,lookup:c,beforeRedirect:Up,beforeRedirects:{}};e.socketPath?ne.socketPath=e.socketPath:(ne.hostname=_.hostname,ne.port=_.port,Xs(ne,e.proxy,F+"//"+_.hostname+(_.port?":"+_.port:"")+ne.path));let ut,Qt=jp.test(ne.protocol);if(ne.agent=Qt?e.httpsAgent:e.httpAgent,e.transport?ut=e.transport:e.maxRedirects===0?ut=Qt?Gs.default:Vs.default:(e.maxRedirects&&(ne.maxRedirects=e.maxRedirects),e.beforeRedirect&&(ne.beforeRedirects.config=e.beforeRedirect),ut=Qt?Op:Bp),e.maxBodyLength>-1?ne.maxBodyLength=e.maxBodyLength:ne.maxBodyLength=1/0,e.insecureHTTPParser&&(ne.insecureHTTPParser=e.insecureHTTPParser),h=ut.request(ne,function(T){if(h.destroyed)return;let ae=[T],Zt=+T.headers["content-length"];if(K){let Ue=new Un({length:m.toFiniteNumber(Zt),maxRate:m.toFiniteNumber(di)});K&&Ue.on("progress",mt=>{K(Object.assign(mt,{download:!0}))}),ae.push(Ue)}let ue=T,dt=T.req||h;if(e.decompress!==!1&&T.headers["content-encoding"])switch((d==="HEAD"||T.statusCode===204)&&delete T.headers["content-encoding"],T.headers["content-encoding"]){case"gzip":case"x-gzip":case"compress":case"x-compress":ae.push(qe.default.createUnzip(Hs)),delete T.headers["content-encoding"];break;case"deflate":ae.push(new Ns),ae.push(qe.default.createUnzip(Hs)),delete T.headers["content-encoding"];break;case"br":Ms&&(ae.push(qe.default.createBrotliDecompress(Fp)),delete T.headers["content-encoding"])}ue=ae.length>1?ni.default.pipeline(ae,m.noop):ae[0];let nr=ni.default.finished(ue,()=>{nr(),A()}),mi={status:T.statusCode,statusText:T.statusMessage,headers:new N(T.headers),config:e,request:dt};if(l==="stream")mi.data=ue,He(n,a,mi);else{let Ue=[],mt=0;ue.on("data",function(Y){Ue.push(Y),mt+=Y.length,e.maxContentLength>-1&&mt>e.maxContentLength&&(b=!0,ue.destroy(),a(new g("maxContentLength size of "+e.maxContentLength+" exceeded",g.ERR_BAD_RESPONSE,e,dt)))}),ue.on("aborted",function(){if(b)return;let Y=new g("maxContentLength size of "+e.maxContentLength+" exceeded",g.ERR_BAD_RESPONSE,e,dt);ue.destroy(Y),a(Y)}),ue.on("error",function(Y){h.destroyed||a(g.from(Y,null,e,dt))}),ue.on("end",function(){try{let Y=Ue.length===1?Ue[0]:Buffer.concat(Ue);l!=="arraybuffer"&&(Y=Y.toString(u),(!u||u==="utf8")&&(Y=m.stripBOM(Y))),mi.data=Y}catch(Y){a(g.from(Y,null,e,mi.request,mi))}He(n,a,mi)})}x.once("abort",Ue=>{ue.destroyed||(ue.emit("error",Ue),ue.destroy())})}),x.once("abort",R=>{a(R),h.destroy(R)}),h.on("error",function(T){a(g.from(T,null,e,h))}),h.on("socket",function(T){T.setKeepAlive(!0,1e3*60)}),e.timeout){let R=parseInt(e.timeout,10);if(isNaN(R)){a(new g("error trying to parse `config.timeout` to int",g.ERR_BAD_OPTION_VALUE,e,h));return}h.setTimeout(R,function(){if(v)return;let ae=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",Zt=e.transitional||xi;e.timeoutErrorMessage&&(ae=e.timeoutErrorMessage),a(new g(ae,Zt.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,e,h)),w()})}if(m.isStream(o)){let R=!1,T=!1;o.on("end",()=>{R=!0}),o.once("error",ae=>{T=!0,h.destroy(ae)}),o.on("close",()=>{!R&&!T&&w(new he("Request stream has been aborted",e,h))}),o.pipe(h)}else h.end(o)})};var Zs=z.isStandardBrowserEnv?function(){return{write:function(t,n,a,s,o,c){let p=[];p.push(t+"="+encodeURIComponent(n)),m.isNumber(a)&&p.push("expires="+new Date(a).toGMTString()),m.isString(s)&&p.push("path="+s),m.isString(o)&&p.push("domain="+o),c===!0&&p.push("secure"),document.cookie=p.join("; ")},read:function(t){let n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();var eo=z.isStandardBrowserEnv?function(){let e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a"),n;function a(s){let o=s;return e&&(t.setAttribute("href",o),o=t.href),t.setAttribute("href",o),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:t.pathname.charAt(0)==="/"?t.pathname:"/"+t.pathname}}return n=a(window.location.href),function(o){let c=m.isString(o)?a(o):o;return c.protocol===n.protocol&&c.host===n.host}}():function(){return function(){return!0}}();function io(i,e){let t=0,n=kt(50,250);return a=>{let s=a.loaded,o=a.lengthComputable?a.total:void 0,c=s-t,p=n(c),l=s<=o;t=s;let u={loaded:s,total:o,progress:o?s/o:void 0,bytes:c,rate:p||void 0,estimated:p&&o&&l?(o-s)/p:void 0,event:a};u[e?"download":"upload"]=!0,i(u)}}var Lp=typeof XMLHttpRequest<"u",to=Lp&&function(i){return new Promise(function(t,n){let a=i.data,s=N.from(i.headers).normalize(),o=i.responseType,c;function p(){i.cancelToken&&i.cancelToken.unsubscribe(c),i.signal&&i.signal.removeEventListener("abort",c)}m.isFormData(a)&&(z.isStandardBrowserEnv||z.isStandardBrowserWebWorkerEnv?s.setContentType(!1):s.setContentType("multipart/form-data;",!1));let l=new XMLHttpRequest;if(i.auth){let b=i.auth.username||"",h=i.auth.password?unescape(encodeURIComponent(i.auth.password)):"";s.set("Authorization","Basic "+btoa(b+":"+h))}let u=Qe(i.baseURL,i.url);l.open(i.method.toUpperCase(),Xe(u,i.params,i.paramsSerializer),!0),l.timeout=i.timeout;function d(){if(!l)return;let b=N.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders()),x={data:!o||o==="text"||o==="json"?l.responseText:l.response,status:l.status,statusText:l.statusText,headers:b,config:i,request:l};He(function(w){t(w),p()},function(w){n(w),p()},x),l=null}if("onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){!l||l.readyState!==4||l.status===0&&!(l.responseURL&&l.responseURL.indexOf("file:")===0)||setTimeout(d)},l.onabort=function(){l&&(n(new g("Request aborted",g.ECONNABORTED,i,l)),l=null)},l.onerror=function(){n(new g("Network Error",g.ERR_NETWORK,i,l)),l=null},l.ontimeout=function(){let h=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded",x=i.transitional||xi;i.timeoutErrorMessage&&(h=i.timeoutErrorMessage),n(new g(h,x.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,i,l)),l=null},z.isStandardBrowserEnv){let b=(i.withCredentials||eo(u))&&i.xsrfCookieName&&Zs.read(i.xsrfCookieName);b&&s.set(i.xsrfHeaderName,b)}a===void 0&&s.setContentType(null),"setRequestHeader"in l&&m.forEach(s.toJSON(),function(h,x){l.setRequestHeader(x,h)}),m.isUndefined(i.withCredentials)||(l.withCredentials=!!i.withCredentials),o&&o!=="json"&&(l.responseType=i.responseType),typeof i.onDownloadProgress=="function"&&l.addEventListener("progress",io(i.onDownloadProgress,!0)),typeof i.onUploadProgress=="function"&&l.upload&&l.upload.addEventListener("progress",io(i.onUploadProgress)),(i.cancelToken||i.signal)&&(c=b=>{l&&(n(!b||b.type?new he(null,i,l):b),l.abort(),l=null)},i.cancelToken&&i.cancelToken.subscribe(c),i.signal&&(i.signal.aborted?c():i.signal.addEventListener("abort",c)));let v=Ki(u);if(v&&z.protocols.indexOf(v)===-1){n(new g("Unsupported protocol "+v+":",g.ERR_BAD_REQUEST,i));return}l.send(a||null)})};var Ot={http:Qs,xhr:to};m.forEach(Ot,(i,e)=>{if(i){try{Object.defineProperty(i,"name",{value:e})}catch{}Object.defineProperty(i,"adapterName",{value:e})}});var no={getAdapter:i=>{i=m.isArray(i)?i:[i];let{length:e}=i,t,n;for(let a=0;ai instanceof N?i.toJSON():i;function Ie(i,e){e=e||{};let t={};function n(l,u,d){return m.isPlainObject(l)&&m.isPlainObject(u)?m.merge.call({caseless:d},l,u):m.isPlainObject(u)?m.merge({},u):m.isArray(u)?u.slice():u}function a(l,u,d){if(m.isUndefined(u)){if(!m.isUndefined(l))return n(void 0,l,d)}else return n(l,u,d)}function s(l,u){if(!m.isUndefined(u))return n(void 0,u)}function o(l,u){if(m.isUndefined(u)){if(!m.isUndefined(l))return n(void 0,l)}else return n(void 0,u)}function c(l,u,d){if(d in e)return n(l,u);if(d in i)return n(void 0,l)}let p={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(l,u)=>a(ao(l),ao(u),!0)};return m.forEach(Object.keys(Object.assign({},i,e)),function(u){let d=p[u]||a,v=d(i[u],e[u],u);m.isUndefined(v)&&d!==c||(t[u]=v)}),t}var Pn={};["object","boolean","number","function","string","symbol"].forEach((i,e)=>{Pn[i]=function(n){return typeof n===i||"a"+(e<1?"n ":" ")+i}});var so={};Pn.transitional=function(e,t,n){function a(s,o){return"[Axios v"+ti+"] Transitional option '"+s+"'"+o+(n?". "+n:"")}return(s,o,c)=>{if(e===!1)throw new g(a(o," has been removed"+(t?" in "+t:"")),g.ERR_DEPRECATED);return t&&!so[o]&&(so[o]=!0,console.warn(a(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(s,o,c):!0}};function Pp(i,e,t){if(typeof i!="object")throw new g("options must be an object",g.ERR_BAD_OPTION_VALUE);let n=Object.keys(i),a=n.length;for(;a-- >0;){let s=n[a],o=e[s];if(o){let c=i[s],p=c===void 0||o(c,s,i);if(p!==!0)throw new g("option "+s+" must be "+p,g.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new g("Unknown option "+s,g.ERR_BAD_OPTION)}}var Ut={assertOptions:Pp,validators:Pn};var We=Ut.validators,Ci=class{constructor(e){this.defaults=e,this.interceptors={request:new yn,response:new yn}}request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=Ie(this.defaults,t);let{transitional:n,paramsSerializer:a,headers:s}=t;n!==void 0&&Ut.assertOptions(n,{silentJSONParsing:We.transitional(We.boolean),forcedJSONParsing:We.transitional(We.boolean),clarifyTimeoutError:We.transitional(We.boolean)},!1),a!=null&&(m.isFunction(a)?t.paramsSerializer={serialize:a}:Ut.assertOptions(a,{encode:We.function,serialize:We.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o;o=s&&m.merge(s.common,s[t.method]),o&&m.forEach(["delete","get","head","post","put","patch","common"],h=>{delete s[h]}),t.headers=N.concat(o,s);let c=[],p=!0;this.interceptors.request.forEach(function(x){typeof x.runWhen=="function"&&x.runWhen(t)===!1||(p=p&&x.synchronous,c.unshift(x.fulfilled,x.rejected))});let l=[];this.interceptors.response.forEach(function(x){l.push(x.fulfilled,x.rejected)});let u,d=0,v;if(!p){let h=[jt.bind(this),void 0];for(h.unshift.apply(h,c),h.push.apply(h,l),v=h.length,u=Promise.resolve(t);d{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](a);n._listeners=null}),this.promise.then=a=>{let s,o=new Promise(c=>{n.subscribe(c),s=c}).then(a);return o.cancel=function(){n.unsubscribe(s)},o},e(function(s,o,c){n.reason||(n.reason=new he(s,o,c),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}static source(){let e;return{token:new Qi(function(a){e=a}),cancel:e}}},oo=Qi;function zn(i){return function(t){return i.apply(null,t)}}function Nn(i){return m.isObject(i)&&i.isAxiosError===!0}var Dn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Dn).forEach(([i,e])=>{Dn[e]=i});var ro=Dn;function co(i){let e=new Xi(i),t=Ni(Xi.prototype.request,e);return m.extend(t,Xi.prototype,e,{allOwnKeys:!0}),m.extend(t,e,null,{allOwnKeys:!0}),t.create=function(a){return co(Ie(i,a))},t}var D=co(vi);D.Axios=Xi;D.CanceledError=he;D.CancelToken=oo;D.isCancel=$i;D.VERSION=ti;D.toFormData=De;D.AxiosError=g;D.Cancel=D.CanceledError;D.all=function(e){return Promise.all(e)};D.spread=zn;D.isAxiosError=Nn;D.mergeConfig=Ie;D.AxiosHeaders=N;D.formToJSON=i=>Et(m.isHTMLForm(i)?new FormData(i):i);D.HttpStatusCode=ro;D.default=D;var ai=D;var{Axios:lf,AxiosError:uf,CanceledError:df,isCancel:mf,CancelToken:ff,VERSION:hf,all:xf,Cancel:vf,isAxiosError:bf,spread:gf,toFormData:yf,AxiosHeaders:wf,HttpStatusCode:Ef,formToJSON:Cf,mergeConfig:Af}=ai;var Qo=require("events"),Zo=require("assert");var Zi=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,lo=new Set,Hn=typeof process=="object"&&process?process:{},uo=(i,e,t,n)=>{typeof Hn.emitWarning=="function"?Hn.emitWarning(i,e,t,n):console.error(`[${t}] ${e}: ${i}`)},Pt=globalThis.AbortController,po=globalThis.AbortSignal;if(typeof Pt>"u"){po=class{constructor(){L(this,"onabort");L(this,"_onabort",[]);L(this,"reason");L(this,"aborted",!1)}addEventListener(n,a){this._onabort.push(a)}},Pt=class{constructor(){L(this,"signal",new po);e()}abort(n){if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let a of this.signal._onabort)a(n);this.signal.onabort?.(n)}}};let i=Hn.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{i&&(i=!1,uo("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var zp=i=>!lo.has(i),Tf=Symbol("type"),$e=i=>i&&i===Math.floor(i)&&i>0&&isFinite(i),mo=i=>$e(i)?i<=Math.pow(2,8)?Uint8Array:i<=Math.pow(2,16)?Uint16Array:i<=Math.pow(2,32)?Uint32Array:i<=Number.MAX_SAFE_INTEGER?Ri:null:null,Ri=class extends Array{constructor(e){super(e),this.fill(0)}},Si,Ai=class{constructor(e,t){L(this,"heap");L(this,"length");if(!r(Ai,Si))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}static create(e){let t=mo(e);if(!t)return[];y(Ai,Si,!0);let n=new Ai(e,t);return y(Ai,Si,!1),n}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},qt=Ai;Si=new WeakMap,C(qt,Si,!1);var xe,re,Ae,ve,_i,H,be,M,q,S,Q,ce,J,W,ge,G,Le,Pe,ye,Re,Je,ie,it,Mn,si,ze,tt,pe,Nt,fo,oi,Ti,nt,Se,Ve,_e,Ge,at,Wn,ki,It,Fi,Lt,U,I,st,$n,ri,et,Vn=class{constructor(e){C(this,it);C(this,Nt);C(this,Se);C(this,_e);C(this,at);C(this,ki);C(this,Fi);C(this,U);C(this,st);C(this,ri);C(this,xe,void 0);C(this,re,void 0);C(this,Ae,void 0);C(this,ve,void 0);C(this,_i,void 0);L(this,"ttl");L(this,"ttlResolution");L(this,"ttlAutopurge");L(this,"updateAgeOnGet");L(this,"updateAgeOnHas");L(this,"allowStale");L(this,"noDisposeOnSet");L(this,"noUpdateTTL");L(this,"maxEntrySize");L(this,"sizeCalculation");L(this,"noDeleteOnFetchRejection");L(this,"noDeleteOnStaleGet");L(this,"allowStaleOnFetchAbort");L(this,"allowStaleOnFetchRejection");L(this,"ignoreFetchAbort");C(this,H,void 0);C(this,be,void 0);C(this,M,void 0);C(this,q,void 0);C(this,S,void 0);C(this,Q,void 0);C(this,ce,void 0);C(this,J,void 0);C(this,W,void 0);C(this,ge,void 0);C(this,G,void 0);C(this,Le,void 0);C(this,Pe,void 0);C(this,ye,void 0);C(this,Re,void 0);C(this,Je,void 0);C(this,ie,void 0);C(this,si,()=>{});C(this,ze,()=>{});C(this,tt,()=>{});C(this,pe,()=>!1);C(this,oi,e=>{});C(this,Ti,(e,t,n)=>{});C(this,nt,(e,t,n,a)=>{if(n||a)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:t=0,ttl:n,ttlResolution:a=1,ttlAutopurge:s,updateAgeOnGet:o,updateAgeOnHas:c,allowStale:p,dispose:l,disposeAfter:u,noDisposeOnSet:d,noUpdateTTL:v,maxSize:b=0,maxEntrySize:h=0,sizeCalculation:x,fetchMethod:A,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:k,allowStaleOnFetchRejection:_,allowStaleOnFetchAbort:F,ignoreFetchAbort:j}=e;if(t!==0&&!$e(t))throw new TypeError("max option must be a nonnegative integer");let K=t?mo(t):Array;if(!K)throw new Error("invalid max value: "+t);if(y(this,xe,t),y(this,re,b),this.maxEntrySize=h||r(this,re),this.sizeCalculation=x,this.sizeCalculation){if(!r(this,re)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(A!==void 0&&typeof A!="function")throw new TypeError("fetchMethod must be a function if specified");if(y(this,_i,A),y(this,Je,!!A),y(this,M,new Map),y(this,q,new Array(t).fill(void 0)),y(this,S,new Array(t).fill(void 0)),y(this,Q,new K(t)),y(this,ce,new K(t)),y(this,J,0),y(this,W,0),y(this,ge,qt.create(t)),y(this,H,0),y(this,be,0),typeof l=="function"&&y(this,Ae,l),typeof u=="function"?(y(this,ve,u),y(this,G,[])):(y(this,ve,void 0),y(this,G,void 0)),y(this,Re,!!r(this,Ae)),y(this,ie,!!r(this,ve)),this.noDisposeOnSet=!!d,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!w,this.allowStaleOnFetchRejection=!!_,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!j,this.maxEntrySize!==0){if(r(this,re)!==0&&!$e(r(this,re)))throw new TypeError("maxSize must be a positive integer if specified");if(!$e(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");E(this,Nt,fo).call(this)}if(this.allowStale=!!p,this.noDeleteOnStaleGet=!!k,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!c,this.ttlResolution=$e(a)||a===0?a:1,this.ttlAutopurge=!!s,this.ttl=n||0,this.ttl){if(!$e(this.ttl))throw new TypeError("ttl must be a positive integer if specified");E(this,it,Mn).call(this)}if(r(this,xe)===0&&this.ttl===0&&r(this,re)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!r(this,xe)&&!r(this,re)){let Z="LRU_CACHE_UNBOUNDED";zp(Z)&&(lo.add(Z),uo("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Z,Vn))}}static unsafeExposeInternals(e){return{starts:r(e,Pe),ttls:r(e,ye),sizes:r(e,Le),keyMap:r(e,M),keyList:r(e,q),valList:r(e,S),next:r(e,Q),prev:r(e,ce),get head(){return r(e,J)},get tail(){return r(e,W)},free:r(e,ge),isBackgroundFetch:t=>{var n;return E(n=e,U,I).call(n,t)},backgroundFetch:(t,n,a,s)=>{var o;return E(o=e,Fi,Lt).call(o,t,n,a,s)},moveToTail:t=>{var n;return E(n=e,ri,et).call(n,t)},indexes:t=>{var n;return E(n=e,Se,Ve).call(n,t)},rindexes:t=>{var n;return E(n=e,_e,Ge).call(n,t)},isStale:t=>{var n;return r(n=e,pe).call(n,t)}}}get max(){return r(this,xe)}get maxSize(){return r(this,re)}get calculatedSize(){return r(this,be)}get size(){return r(this,H)}get fetchMethod(){return r(this,_i)}get dispose(){return r(this,Ae)}get disposeAfter(){return r(this,ve)}getRemainingTTL(e){return r(this,M).has(e)?1/0:0}*entries(){for(let e of E(this,Se,Ve).call(this))r(this,S)[e]!==void 0&&r(this,q)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield[r(this,q)[e],r(this,S)[e]])}*rentries(){for(let e of E(this,_e,Ge).call(this))r(this,S)[e]!==void 0&&r(this,q)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield[r(this,q)[e],r(this,S)[e]])}*keys(){for(let e of E(this,Se,Ve).call(this)){let t=r(this,q)[e];t!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield t)}}*rkeys(){for(let e of E(this,_e,Ge).call(this)){let t=r(this,q)[e];t!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield t)}}*values(){for(let e of E(this,Se,Ve).call(this))r(this,S)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield r(this,S)[e])}*rvalues(){for(let e of E(this,_e,Ge).call(this))r(this,S)[e]!==void 0&&!E(this,U,I).call(this,r(this,S)[e])&&(yield r(this,S)[e])}[Symbol.iterator](){return this.entries()}find(e,t={}){for(let n of E(this,Se,Ve).call(this)){let a=r(this,S)[n],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;if(s!==void 0&&e(s,r(this,q)[n],this))return this.get(r(this,q)[n],t)}}forEach(e,t=this){for(let n of E(this,Se,Ve).call(this)){let a=r(this,S)[n],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;s!==void 0&&e.call(t,s,r(this,q)[n],this)}}rforEach(e,t=this){for(let n of E(this,_e,Ge).call(this)){let a=r(this,S)[n],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;s!==void 0&&e.call(t,s,r(this,q)[n],this)}}purgeStale(){let e=!1;for(let t of E(this,_e,Ge).call(this,{allowStale:!0}))r(this,pe).call(this,t)&&(this.delete(r(this,q)[t]),e=!0);return e}dump(){let e=[];for(let t of E(this,Se,Ve).call(this,{allowStale:!0})){let n=r(this,q)[t],a=r(this,S)[t],s=E(this,U,I).call(this,a)?a.__staleWhileFetching:a;if(s===void 0||n===void 0)continue;let o={value:s};if(r(this,ye)&&r(this,Pe)){o.ttl=r(this,ye)[t];let c=Zi.now()-r(this,Pe)[t];o.start=Math.floor(Date.now()-c)}r(this,Le)&&(o.size=r(this,Le)[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let a=Date.now()-n.start;n.start=Zi.now()-a}this.set(t,n.value,n)}}set(e,t,n={}){var v,b;if(t===void 0)return this.delete(e),this;let{ttl:a=this.ttl,start:s,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:c=this.sizeCalculation,status:p}=n,{noUpdateTTL:l=this.noUpdateTTL}=n,u=r(this,nt).call(this,e,t,n.size||0,c);if(this.maxEntrySize&&u>this.maxEntrySize)return p&&(p.set="miss",p.maxEntrySizeExceeded=!0),this.delete(e),this;let d=r(this,H)===0?void 0:r(this,M).get(e);if(d===void 0)d=r(this,H)===0?r(this,W):r(this,ge).length!==0?r(this,ge).pop():r(this,H)===r(this,xe)?E(this,ki,It).call(this,!1):r(this,H),r(this,q)[d]=e,r(this,S)[d]=t,r(this,M).set(e,d),r(this,Q)[r(this,W)]=d,r(this,ce)[d]=r(this,W),y(this,W,d),ft(this,H)._++,r(this,Ti).call(this,d,u,p),p&&(p.set="add"),l=!1;else{E(this,ri,et).call(this,d);let h=r(this,S)[d];if(t!==h){if(r(this,Je)&&E(this,U,I).call(this,h)?h.__abortController.abort(new Error("replaced")):o||(r(this,Re)&&((v=r(this,Ae))==null||v.call(this,h,e,"set")),r(this,ie)&&r(this,G)?.push([h,e,"set"])),r(this,oi).call(this,d),r(this,Ti).call(this,d,u,p),r(this,S)[d]=t,p){p.set="replace";let x=h&&E(this,U,I).call(this,h)?h.__staleWhileFetching:h;x!==void 0&&(p.oldValue=x)}}else p&&(p.set="update")}if(a!==0&&!r(this,ye)&&E(this,it,Mn).call(this),r(this,ye)&&(l||r(this,tt).call(this,d,a,s),p&&r(this,ze).call(this,p,d)),!o&&r(this,ie)&&r(this,G)){let h=r(this,G),x;for(;x=h?.shift();)(b=r(this,ve))==null||b.call(this,...x)}return this}pop(){var e;try{for(;r(this,H);){let t=r(this,S)[r(this,J)];if(E(this,ki,It).call(this,!0),E(this,U,I).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(r(this,ie)&&r(this,G)){let t=r(this,G),n;for(;n=t?.shift();)(e=r(this,ve))==null||e.call(this,...n)}}}has(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:a}=t,s=r(this,M).get(e);if(s!==void 0){let o=r(this,S)[s];if(E(this,U,I).call(this,o)&&o.__staleWhileFetching===void 0)return!1;if(r(this,pe).call(this,s))a&&(a.has="stale",r(this,ze).call(this,a,s));else return n&&r(this,si).call(this,s),a&&(a.has="hit",r(this,ze).call(this,a,s)),!0}else a&&(a.has="miss");return!1}peek(e,t={}){let{allowStale:n=this.allowStale}=t,a=r(this,M).get(e);if(a!==void 0&&(n||!r(this,pe).call(this,a))){let s=r(this,S)[a];return E(this,U,I).call(this,s)?s.__staleWhileFetching:s}}async fetch(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:a=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:c=this.noDisposeOnSet,size:p=0,sizeCalculation:l=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:d=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:v=this.allowStaleOnFetchRejection,ignoreFetchAbort:b=this.ignoreFetchAbort,allowStaleOnFetchAbort:h=this.allowStaleOnFetchAbort,context:x,forceRefresh:A=!1,status:w,signal:k}=t;if(!r(this,Je))return w&&(w.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:a,noDeleteOnStaleGet:s,status:w});let _={allowStale:n,updateAgeOnGet:a,noDeleteOnStaleGet:s,ttl:o,noDisposeOnSet:c,size:p,sizeCalculation:l,noUpdateTTL:u,noDeleteOnFetchRejection:d,allowStaleOnFetchRejection:v,allowStaleOnFetchAbort:h,ignoreFetchAbort:b,status:w,signal:k},F=r(this,M).get(e);if(F===void 0){w&&(w.fetch="miss");let j=E(this,Fi,Lt).call(this,e,F,_,x);return j.__returned=j}else{let j=r(this,S)[F];if(E(this,U,I).call(this,j)){let di=n&&j.__staleWhileFetching!==void 0;return w&&(w.fetch="inflight",di&&(w.returnedStale=!0)),di?j.__staleWhileFetching:j.__returned=j}let K=r(this,pe).call(this,F);if(!A&&!K)return w&&(w.fetch="hit"),E(this,ri,et).call(this,F),a&&r(this,si).call(this,F),w&&r(this,ze).call(this,w,F),j;let Z=E(this,Fi,Lt).call(this,e,F,_,x),je=Z.__staleWhileFetching!==void 0&&n;return w&&(w.fetch=K?"stale":"refresh",je&&K&&(w.returnedStale=!0)),je?Z.__staleWhileFetching:Z.__returned=Z}}get(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:a=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:o}=t,c=r(this,M).get(e);if(c!==void 0){let p=r(this,S)[c],l=E(this,U,I).call(this,p);return o&&r(this,ze).call(this,o,c),r(this,pe).call(this,c)?(o&&(o.get="stale"),l?(o&&n&&p.__staleWhileFetching!==void 0&&(o.returnedStale=!0),n?p.__staleWhileFetching:void 0):(s||this.delete(e),o&&n&&(o.returnedStale=!0),n?p:void 0)):(o&&(o.get="hit"),l?p.__staleWhileFetching:(E(this,ri,et).call(this,c),a&&r(this,si).call(this,c),p))}else o&&(o.get="miss")}delete(e){var n,a;let t=!1;if(r(this,H)!==0){let s=r(this,M).get(e);if(s!==void 0)if(t=!0,r(this,H)===1)this.clear();else{r(this,oi).call(this,s);let o=r(this,S)[s];E(this,U,I).call(this,o)?o.__abortController.abort(new Error("deleted")):(r(this,Re)||r(this,ie))&&(r(this,Re)&&((n=r(this,Ae))==null||n.call(this,o,e,"delete")),r(this,ie)&&r(this,G)?.push([o,e,"delete"])),r(this,M).delete(e),r(this,q)[s]=void 0,r(this,S)[s]=void 0,s===r(this,W)?y(this,W,r(this,ce)[s]):s===r(this,J)?y(this,J,r(this,Q)[s]):(r(this,Q)[r(this,ce)[s]]=r(this,Q)[s],r(this,ce)[r(this,Q)[s]]=r(this,ce)[s]),ft(this,H)._--,r(this,ge).push(s)}}if(r(this,ie)&&r(this,G)?.length){let s=r(this,G),o;for(;o=s?.shift();)(a=r(this,ve))==null||a.call(this,...o)}return t}clear(){var e,t;for(let n of E(this,_e,Ge).call(this,{allowStale:!0})){let a=r(this,S)[n];if(E(this,U,I).call(this,a))a.__abortController.abort(new Error("deleted"));else{let s=r(this,q)[n];r(this,Re)&&((e=r(this,Ae))==null||e.call(this,a,s,"delete")),r(this,ie)&&r(this,G)?.push([a,s,"delete"])}}if(r(this,M).clear(),r(this,S).fill(void 0),r(this,q).fill(void 0),r(this,ye)&&r(this,Pe)&&(r(this,ye).fill(0),r(this,Pe).fill(0)),r(this,Le)&&r(this,Le).fill(0),y(this,J,0),y(this,W,0),r(this,ge).length=0,y(this,be,0),y(this,H,0),r(this,ie)&&r(this,G)){let n=r(this,G),a;for(;a=n?.shift();)(t=r(this,ve))==null||t.call(this,...a)}}},zt=Vn;xe=new WeakMap,re=new WeakMap,Ae=new WeakMap,ve=new WeakMap,_i=new WeakMap,H=new WeakMap,be=new WeakMap,M=new WeakMap,q=new WeakMap,S=new WeakMap,Q=new WeakMap,ce=new WeakMap,J=new WeakMap,W=new WeakMap,ge=new WeakMap,G=new WeakMap,Le=new WeakMap,Pe=new WeakMap,ye=new WeakMap,Re=new WeakMap,Je=new WeakMap,ie=new WeakMap,it=new WeakSet,Mn=function(){let e=new Ri(r(this,xe)),t=new Ri(r(this,xe));y(this,ye,e),y(this,Pe,t),y(this,tt,(s,o,c=Zi.now())=>{if(t[s]=o!==0?c:0,e[s]=o,o!==0&&this.ttlAutopurge){let p=setTimeout(()=>{r(this,pe).call(this,s)&&this.delete(r(this,q)[s])},o+1);p.unref&&p.unref()}}),y(this,si,s=>{t[s]=e[s]!==0?Zi.now():0}),y(this,ze,(s,o)=>{if(e[o]){let c=e[o],p=t[o];s.ttl=c,s.start=p,s.now=n||a();let l=s.now-p;s.remainingTTL=c-l}});let n=0,a=()=>{let s=Zi.now();if(this.ttlResolution>0){n=s;let o=setTimeout(()=>n=0,this.ttlResolution);o.unref&&o.unref()}return s};this.getRemainingTTL=s=>{let o=r(this,M).get(s);if(o===void 0)return 0;let c=e[o],p=t[o];if(c===0||p===0)return 1/0;let l=(n||a())-p;return c-l},y(this,pe,s=>e[s]!==0&&t[s]!==0&&(n||a())-t[s]>e[s])},si=new WeakMap,ze=new WeakMap,tt=new WeakMap,pe=new WeakMap,Nt=new WeakSet,fo=function(){let e=new Ri(r(this,xe));y(this,be,0),y(this,Le,e),y(this,oi,t=>{y(this,be,r(this,be)-e[t]),e[t]=0}),y(this,nt,(t,n,a,s)=>{if(E(this,U,I).call(this,n))return 0;if(!$e(a))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(a=s(n,t),!$e(a))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return a}),y(this,Ti,(t,n,a)=>{if(e[t]=n,r(this,re)){let s=r(this,re)-e[t];for(;r(this,be)>s;)E(this,ki,It).call(this,!0)}y(this,be,r(this,be)+e[t]),a&&(a.entrySize=n,a.totalCalculatedSize=r(this,be))})},oi=new WeakMap,Ti=new WeakMap,nt=new WeakMap,Se=new WeakSet,Ve=function*({allowStale:e=this.allowStale}={}){if(r(this,H))for(let t=r(this,W);!(!E(this,at,Wn).call(this,t)||((e||!r(this,pe).call(this,t))&&(yield t),t===r(this,J)));)t=r(this,ce)[t]},_e=new WeakSet,Ge=function*({allowStale:e=this.allowStale}={}){if(r(this,H))for(let t=r(this,J);!(!E(this,at,Wn).call(this,t)||((e||!r(this,pe).call(this,t))&&(yield t),t===r(this,W)));)t=r(this,Q)[t]},at=new WeakSet,Wn=function(e){return e!==void 0&&r(this,M).get(r(this,q)[e])===e},ki=new WeakSet,It=function(e){var s;let t=r(this,J),n=r(this,q)[t],a=r(this,S)[t];return r(this,Je)&&E(this,U,I).call(this,a)?a.__abortController.abort(new Error("evicted")):(r(this,Re)||r(this,ie))&&(r(this,Re)&&((s=r(this,Ae))==null||s.call(this,a,n,"evict")),r(this,ie)&&r(this,G)?.push([a,n,"evict"])),r(this,oi).call(this,t),e&&(r(this,q)[t]=void 0,r(this,S)[t]=void 0,r(this,ge).push(t)),r(this,H)===1?(y(this,J,y(this,W,0)),r(this,ge).length=0):y(this,J,r(this,Q)[t]),r(this,M).delete(n),ft(this,H)._--,t},Fi=new WeakSet,Lt=function(e,t,n,a){let s=t===void 0?void 0:r(this,S)[t];if(E(this,U,I).call(this,s))return s;let o=new Pt,{signal:c}=n;c?.addEventListener("abort",()=>o.abort(c.reason),{signal:o.signal});let p={signal:o.signal,options:n,context:a},l=(x,A=!1)=>{let{aborted:w}=o.signal,k=n.ignoreFetchAbort&&x!==void 0;if(n.status&&(w&&!A?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,k&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),w&&!k&&!A)return d(o.signal.reason);let _=b;return r(this,S)[t]===b&&(x===void 0?_.__staleWhileFetching?r(this,S)[t]=_.__staleWhileFetching:this.delete(e):(n.status&&(n.status.fetchUpdated=!0),this.set(e,x,p.options))),x},u=x=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=x),d(x)),d=x=>{let{aborted:A}=o.signal,w=A&&n.allowStaleOnFetchAbort,k=w||n.allowStaleOnFetchRejection,_=k||n.noDeleteOnFetchRejection,F=b;if(r(this,S)[t]===b&&(!_||F.__staleWhileFetching===void 0?this.delete(e):w||(r(this,S)[t]=F.__staleWhileFetching)),k)return n.status&&F.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),F.__staleWhileFetching;if(F.__returned===F)throw x},v=(x,A)=>{var k;let w=(k=r(this,_i))==null?void 0:k.call(this,e,s,p);w&&w instanceof Promise&&w.then(_=>x(_),A),o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(x(),n.allowStaleOnFetchAbort&&(x=_=>l(_,!0)))})};n.status&&(n.status.fetchDispatched=!0);let b=new Promise(v).then(l,u),h=Object.assign(b,{__abortController:o,__staleWhileFetching:s,__returned:void 0});return t===void 0?(this.set(e,h,{...p.options,status:void 0}),t=r(this,M).get(e)):r(this,S)[t]=h,h},U=new WeakSet,I=function(e){if(!r(this,Je))return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof Pt},st=new WeakSet,$n=function(e,t){r(this,ce)[t]=e,r(this,Q)[e]=t},ri=new WeakSet,et=function(e){e!==r(this,W)&&(e===r(this,J)?y(this,J,r(this,Q)[e]):E(this,st,$n).call(this,r(this,ce)[e],r(this,Q)[e]),E(this,st,$n).call(this,r(this,W),e),y(this,W,e))};var Yo=X(yo()),Xo=X(Vo());var ct=class{constructor(e){this.config=e}};var oa=X(vn());var Ii=class extends Error{constructor(t,n,a){super(a);this.name="ApiError",this.url=n.url,this.status=n.status,this.statusText=n.statusText,this.body=n.body,this.request=t}};var Wt=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},Fe,Be,we,Ye,ui,pt,Li,Ee=class{constructor(e){C(this,Fe,void 0);C(this,Be,void 0);C(this,we,void 0);C(this,Ye,void 0);C(this,ui,void 0);C(this,pt,void 0);C(this,Li,void 0);y(this,Fe,!1),y(this,Be,!1),y(this,we,!1),y(this,Ye,[]),y(this,ui,new Promise((t,n)=>{y(this,pt,t),y(this,Li,n);let a=c=>{var p;r(this,Fe)||r(this,Be)||r(this,we)||(y(this,Fe,!0),(p=r(this,pt))==null||p.call(this,c))},s=c=>{var p;r(this,Fe)||r(this,Be)||r(this,we)||(y(this,Be,!0),(p=r(this,Li))==null||p.call(this,c))},o=c=>{r(this,Fe)||r(this,Be)||r(this,we)||r(this,Ye).push(c)};return Object.defineProperty(o,"isResolved",{get:()=>r(this,Fe)}),Object.defineProperty(o,"isRejected",{get:()=>r(this,Be)}),Object.defineProperty(o,"isCancelled",{get:()=>r(this,we)}),e(a,s,o)}))}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,t){return r(this,ui).then(e,t)}catch(e){return r(this,ui).catch(e)}finally(e){return r(this,ui).finally(e)}cancel(){var e;if(!(r(this,Fe)||r(this,Be)||r(this,we))){if(y(this,we,!0),r(this,Ye).length)try{for(let t of r(this,Ye))t()}catch(t){console.warn("Cancellation threw an error",t);return}r(this,Ye).length=0,(e=r(this,Li))==null||e.call(this,new Wt("Request aborted"))}}get isCancelled(){return r(this,we)}};Fe=new WeakMap,Be=new WeakMap,we=new WeakMap,Ye=new WeakMap,ui=new WeakMap,pt=new WeakMap,Li=new WeakMap;var ra=i=>i!=null,Vt=i=>typeof i=="string",sa=i=>Vt(i)&&i!=="",Go=i=>typeof i=="object"&&typeof i.type=="string"&&typeof i.stream=="function"&&typeof i.arrayBuffer=="function"&&typeof i.constructor=="function"&&typeof i.constructor.name=="string"&&/^(Blob|File)$/.test(i.constructor.name)&&/^(Blob|File)$/.test(i[Symbol.toStringTag]),Cl=i=>i instanceof oa.default,Al=i=>i>=200&&i<300,Rl=i=>{try{return btoa(i)}catch{return Buffer.from(i).toString("base64")}},Sl=i=>{let e=[],t=(a,s)=>{e.push(`${encodeURIComponent(a)}=${encodeURIComponent(String(s))}`)},n=(a,s)=>{ra(s)&&(Array.isArray(s)?s.forEach(o=>{n(a,o)}):typeof s=="object"?Object.entries(s).forEach(([o,c])=>{n(`${a}[${o}]`,c)}):t(a,s))};return Object.entries(i).forEach(([a,s])=>{n(a,s)}),e.length>0?`?${e.join("&")}`:""},_l=(i,e)=>{let t=i.ENCODE_PATH||encodeURI,n=e.url.replace("{api-version}",i.VERSION).replace(/{(.*?)}/g,(s,o)=>e.path?.hasOwnProperty(o)?t(String(e.path[o])):s),a=`${i.BASE}${n}`;return e.query?`${a}${Sl(e.query)}`:a},Tl=i=>{if(i.formData){let e=new oa.default,t=(n,a)=>{Vt(a)||Go(a)?e.append(n,a):e.append(n,JSON.stringify(a))};return Object.entries(i.formData).filter(([n,a])=>ra(a)).forEach(([n,a])=>{Array.isArray(a)?a.forEach(s=>t(n,s)):t(n,a)}),e}},$t=async(i,e)=>typeof e=="function"?e(i):e,kl=async(i,e,t)=>{let n=await $t(e,i.TOKEN),a=await $t(e,i.USERNAME),s=await $t(e,i.PASSWORD),o=await $t(e,i.HEADERS),c=typeof t?.getHeaders=="function"&&t?.getHeaders()||{},p=Object.entries({Accept:"application/json",...o,...e.headers,...c}).filter(([l,u])=>ra(u)).reduce((l,[u,d])=>({...l,[u]:String(d)}),{});if(sa(n)&&(p.Authorization=`Bearer ${n}`),sa(a)&&sa(s)){let l=Rl(`${a}:${s}`);p.Authorization=`Basic ${l}`}return e.body&&(e.mediaType?p["Content-Type"]=e.mediaType:Go(e.body)?p["Content-Type"]=e.body.type||"application/octet-stream":Vt(e.body)?p["Content-Type"]="text/plain":Cl(e.body)||(p["Content-Type"]="application/json")),p},Fl=i=>{if(i.body)return i.body},Bl=async(i,e,t,n,a,s,o)=>{let c=ai.CancelToken.source(),p={url:t,headers:s,data:n??a,method:e.method,withCredentials:i.WITH_CREDENTIALS,cancelToken:c.token};o(()=>c.cancel("The user aborted a request."));try{return await ai.request(p)}catch(l){let u=l;if(u.response)return u.response;throw l}},Ol=(i,e)=>{if(e){let t=i.headers[e];if(Vt(t))return t}},jl=i=>{if(i.status!==204)return i.data},Ul=(i,e)=>{let n={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",...i.errors}[e.status];if(n)throw new Ii(i,e,n);if(!e.ok)throw new Ii(i,e,"Generic Error")},Jo=(i,e)=>new Ee(async(t,n,a)=>{try{let s=_l(i,e),o=Tl(e),c=Fl(e),p=await kl(i,e,o);if(!a.isCancelled){let l=await Bl(i,e,s,c,o,p,a),u=jl(l),d=Ol(l,e.responseHeader),v={url:s,ok:Al(l.status),status:l.status,statusText:l.statusText,body:d??u};Ul(e,v),t(v.body)}}catch(s){n(s)}});var Gt=class extends ct{constructor(e){super(e)}request(e){return Jo(this.config,e)}};var lt=class{constructor(e){this.httpRequest=e}completionsV1CompletionsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/completions",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}eventsV1EventsPost(e){return this.httpRequest.request({method:"POST",url:"/v1/events",body:e,mediaType:"application/json",errors:{422:"Validation Error"}})}};var Pi=class{constructor(e,t=Gt){this.request=new t({BASE:e?.BASE??"",VERSION:e?.VERSION??"0.1.0",WITH_CREDENTIALS:e?.WITH_CREDENTIALS??!1,CREDENTIALS:e?.CREDENTIALS??"include",TOKEN:e?.TOKEN,USERNAME:e?.USERNAME,PASSWORD:e?.PASSWORD,HEADERS:e?.HEADERS,ENCODE_PATH:e?.ENCODE_PATH}),this.default=new lt(this.request)}};function Ko(i){return new Promise(e=>setTimeout(e,i))}function Jt(i){return i.match(/.*(?:$|\r?\n)/g).filter(Boolean)}function ca(i){return i.match(/\w+|\W+/g).filter(Boolean)}function pa(i,e){return new Ee((t,n,a)=>{i.then(s=>{t(s)}).catch(s=>{n(s)}),a(()=>{e()})})}var Kt=class{constructor(){this.options={maxSize:1*1024*1024,partiallyAcceptedCacheGeneration:{enabled:!0,perCharacter:{lines:1,words:10,max:30},perWord:{lines:1,max:20},perLine:{max:3}}};this.cache=new zt({maxSize:this.options.maxSize,sizeCalculation:Xo.default})}has(e){return this.cache.has(this.hash(e))}set(e,t){for(let n of this.createCacheEntries(e,t))this.cache.set(this.hash(n.key),n.value)}get(e){return this.cache.get(this.hash(e))}hash(e){return(0,Yo.default)(e)}createCacheEntries(e,t){let n=[{key:e,value:t}];if(this.options.partiallyAcceptedCacheGeneration.enabled){let a=t.choices.map(s=>this.calculatePartiallyAcceptedPositions(s.text).map(o=>({prefix:s.text.slice(0,o),suffix:s.text.slice(o),choiceIndex:s.index}))).flat().reduce((s,o)=>(s[o.prefix]=s[o.prefix]||[],s[o.prefix].push({suffix:o.suffix,choiceIndex:o.choiceIndex}),s),{});for(let s in a){let o={...e,prompt:e.prompt+s},c={...t,choices:a[s].map(p=>({index:p.choiceIndex,text:p.suffix}))};n.push({key:o,value:c})}}return n}calculatePartiallyAcceptedPositions(e){let t=[],n=this.options.partiallyAcceptedCacheGeneration,a=Jt(e),s=0,o=0;for(;sd.indexOf(l)===u).sort((l,u)=>l-u)}};var Yt=class extends Qo.EventEmitter{constructor(){super();this.serverUrl="http://127.0.0.1:5000";this.status="connecting";this.ping(),this.api=new Pi({BASE:this.serverUrl}),this.completionCache=new Kt}changeStatus(t){if(this.status!=t){this.status=t;let n={event:"statusChanged",status:t};super.emit("statusChanged",n)}}async ping(t=0){try{let n=await ai.get(`${this.serverUrl}/`);return(0,Zo.strict)(n.status==200),this.changeStatus("ready"),!0}catch{return t>5?(this.changeStatus("disconnected"),!1):(this.changeStatus("connecting"),await Ko(1e3),this.ping(t+1))}}wrapApiPromise(t){return pa(t.then(n=>(this.changeStatus("ready"),n)).catch(n=>{throw this.changeStatus("disconnected"),n}),()=>{t.cancel()})}setServerUrl(t){return this.serverUrl=t.replace(/\/$/,""),this.ping(),this.api=new Pi({BASE:this.serverUrl}),this.serverUrl}getServerUrl(){return this.serverUrl}getStatus(){return this.status}getCompletions(t){if(this.completionCache.has(t))return new Ee(a=>{a(this.completionCache.get(t))});let n=this.wrapApiPromise(this.api.default.completionsV1CompletionsPost(t));return pa(n.then(a=>(this.completionCache.set(t,a),a)),()=>{n.cancel()})}postEvent(t){return this.wrapApiPromise(this.api.default.eventsV1EventsPost(t))}};var er=["statusChanged"];var Xt=class{constructor(){this.inStream=process.stdin;this.outStream=process.stdout;this.errLogger=process.stderr;this.buffer="";this.ongoingRequests={};this.agent=null}handleInput(e){let t=e.toString();this.buffer+=t;let n=Jt(this.buffer);if(!(n.length<1)){n[n.length-1].endsWith(` +`)?this.buffer="":this.buffer=n.pop();for(let a of n){let s=null;try{s=JSON.parse(a)}catch(o){this.errLogger.write(JSON.stringify(o,Object.getOwnPropertyNames(o))+` +`);continue}this.handleRequest(s).then(o=>{this.sendResponse(o)})}}}async handleRequest(e){let t=[0,null];try{if(!this.agent)throw new Error(`Agent not bound. +`);t[0]=e[0];let n=e[1].func;if(n==="cancelRequest")t[1]=this.cancelRequest(e);else{let a=this.agent[n];if(!a)throw new Error(`Unknown function: ${n}`);let s=a.apply(this.agent,e[1].args);s instanceof Ee?(this.ongoingRequests[e[0]]=s,t[1]=await s,delete this.ongoingRequests[e[0]]):t[1]=s}}catch(n){this.errLogger.write(JSON.stringify(n,Object.getOwnPropertyNames(n))+` +`)}finally{return t}}cancelRequest(e){let t=this.ongoingRequests[e[1].args[0]];return t?(t.cancel(),!0):!1}sendResponse(e){this.outStream.write(JSON.stringify(e)+` +`)}bind(e){this.agent=e;for(let t of er)this.agent.on(t,n=>{this.sendResponse([0,n])})}listen(){this.inStream.on("data",this.handleInput.bind(this))}};var ql=new Yt,ir=new Xt;ir.bind(ql);ir.listen(); +/*! Bundled license information: + +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) +*/ diff --git a/clients/vim/yarn.lock b/clients/vim/yarn.lock index f1da57f..cbd898d 100644 --- a/clients/vim/yarn.lock +++ b/clients/vim/yarn.lock @@ -137,6 +137,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + brace-expansion@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" @@ -151,6 +156,14 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + camelcase-keys@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-7.0.2.tgz#d048d8c69448745bb0de6fc4c1c52a30dfbe7252" @@ -434,6 +447,11 @@ hosted-git-info@^4.0.1: dependencies: lru-cache "^6.0.0" +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^5.2.0: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" @@ -642,6 +660,18 @@ normalize-package-data@^3.0.2: semver "^7.3.4" validate-npm-package-license "^3.0.1" +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-sizeof@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/object-sizeof/-/object-sizeof-2.6.1.tgz#1e2b6a01d182c268dbb07ee3403f539de45f63d3" + integrity sha512-a7VJ1Zx7ZuHceKwjgfsSqzV/X0PVGvpZz7ho3Dn4Cs0LLcR5e5WuV+gsbizmplD8s0nAXMJmckKB2rkSiPm/Gg== + dependencies: + buffer "^6.0.3" + p-event@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" @@ -876,9 +906,9 @@ string-width@^5.0.1, string-width@^5.1.2: ansi-regex "^5.0.1" strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" @@ -901,6 +931,9 @@ supports-color@^5.3.0: dependencies: axios "^1.4.0" form-data "^4.0.0" + lru-cache "^9.1.1" + object-hash "^3.0.0" + object-sizeof "^2.6.1" to-regex-range@^5.0.1: version "5.0.1" diff --git a/clients/vscode/package.json b/clients/vscode/package.json index 896c277..e69aeed 100644 --- a/clients/vscode/package.json +++ b/clients/vscode/package.json @@ -103,7 +103,6 @@ }, "dependencies": { "@sapphire/duration": "^1.1.0", - "linked-list-typescript": "^1.0.15", "tabby-agent": "file:../tabby-agent" } } diff --git a/clients/vscode/src/CompletionCache.ts b/clients/vscode/src/CompletionCache.ts deleted file mode 100644 index 40cf7f8..0000000 --- a/clients/vscode/src/CompletionCache.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { LinkedList } from "linked-list-typescript"; -import { CompletionResponse, Choice } from "tabby-agent"; - -type Range = { - start: number; - end: number; -}; - -export type CompletionCacheEntry = { - documentId: any; - promptRange: Range; - prompt: string; - completion: CompletionResponse; -}; - -export class CompletionCache { - public static capacity = 10; - private cache = new LinkedList(); - - constructor() {} - - private refresh(entry: CompletionCacheEntry) { - this.cache.remove(entry); - this.cache.prepend(entry); - } - - public add(entry: CompletionCacheEntry) { - this.cache.prepend(entry); - - while (this.cache.length > CompletionCache.capacity) { - this.cache.removeTail(); - } - - } - - public findCompatible(documentId: any, text: string, cursor: number): CompletionResponse | null { - let hit: { entry: CompletionCacheEntry; compatibleChoices: Choice[] } | null = null; - for (const entry of this.cache) { - if (entry.documentId !== documentId) { - continue; - } - // Check if text in prompt range has not changed - if (text.slice(entry.promptRange.start, entry.promptRange.end) !== entry.prompt) { - continue; - } - // Filter choices that start with inputted text after prompt - const compatibleChoices = entry.completion.choices - .filter((choice) => choice.text.startsWith(text.slice(entry.promptRange.end, cursor))) - .map((choice) => { - return { - index: choice.index, - text: choice.text.substring(cursor - entry.promptRange.end), - }; - }); - if (compatibleChoices.length > 0) { - hit = { - entry, - compatibleChoices, - }; - break; - } - } - if (hit) { - this.refresh(hit.entry); - return { - id: hit.entry.completion.id, - created: hit.entry.completion.created, - choices: hit.compatibleChoices, - }; - } - return null; - } -} diff --git a/clients/vscode/src/TabbyCompletionProvider.ts b/clients/vscode/src/TabbyCompletionProvider.ts index 669fe14..9679319 100644 --- a/clients/vscode/src/TabbyCompletionProvider.ts +++ b/clients/vscode/src/TabbyCompletionProvider.ts @@ -12,7 +12,6 @@ import { } from "vscode"; import { CompletionResponse, EventType, ChoiceEvent, CancelablePromise } from "tabby-agent"; import { Agent } from "./Agent"; -import { CompletionCache } from "./CompletionCache"; import { sleep } from "./utils"; export class TabbyCompletionProvider implements InlineCompletionItemProvider { @@ -21,7 +20,6 @@ export class TabbyCompletionProvider implements InlineCompletionItemProvider { private pendingCompletion: CancelablePromise | null = null; private agent = Agent.getInstance(); - private completionCache = new CompletionCache(); // User Settings private enabled: boolean = true; private suggestionDelay: number = 150; @@ -61,13 +59,6 @@ export class TabbyCompletionProvider implements InlineCompletionItemProvider { const replaceRange = this.calculateReplaceRange(document, position); - const compatibleCache = this.completionCache.findCompatible(document.uri, document.getText(), document.offsetAt(position)); - if (compatibleCache) { - const completions = this.toInlineCompletions(compatibleCache, replaceRange); - console.debug("Use cached completions: ", compatibleCache); - return Promise.resolve(completions); - } - console.debug( "Requesting: ", { @@ -91,14 +82,6 @@ export class TabbyCompletionProvider implements InlineCompletionItemProvider { }); this.pendingCompletion = null; - if (completion) { - this.completionCache.add({ - documentId: document.uri, - promptRange: { start: document.offsetAt(promptRange.start), end: document.offsetAt(promptRange.end) }, - prompt, - completion, - }); - } const completions = this.toInlineCompletions(completion, replaceRange); console.debug("Result completions: ", completions); return Promise.resolve(completions); diff --git a/clients/vscode/yarn.lock b/clients/vscode/yarn.lock index 2cdca5d..32a9983 100644 --- a/clients/vscode/yarn.lock +++ b/clients/vscode/yarn.lock @@ -578,7 +578,7 @@ balanced-match@^1.0.0: base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== binary-extensions@^2.0.0: @@ -655,6 +655,14 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -1489,9 +1497,9 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0: @@ -1755,11 +1763,6 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" -linked-list-typescript@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/linked-list-typescript/-/linked-list-typescript-1.0.15.tgz#faeed93cf9203f102e2158c29edcddda320abe82" - integrity sha512-RIyUu9lnJIyIaMe63O7/aFv/T2v3KsMFuXMBbUQCHX+cgtGro86ETDj5ed0a8gQL2+DFjzYYsgVG4I36/cUwgw== - linkify-it@^3.0.1: version "3.0.3" resolved "https://registry.npmmirror.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" @@ -1806,6 +1809,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1" + integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A== + markdown-it@^12.3.2: version "12.3.2" resolved "https://registry.npmmirror.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" @@ -1989,6 +1997,11 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + object-inspect@^1.9.0: version "1.12.3" resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" @@ -2007,6 +2020,13 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +object-sizeof@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/object-sizeof/-/object-sizeof-2.6.1.tgz#1e2b6a01d182c268dbb07ee3403f539de45f63d3" + integrity sha512-a7VJ1Zx7ZuHceKwjgfsSqzV/X0PVGvpZz7ho3Dn4Cs0LLcR5e5WuV+gsbizmplD8s0nAXMJmckKB2rkSiPm/Gg== + dependencies: + buffer "^6.0.3" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2510,6 +2530,9 @@ supports-preserve-symlinks-flag@^1.0.0: dependencies: axios "^1.4.0" form-data "^4.0.0" + lru-cache "^9.1.1" + object-hash "^3.0.0" + object-sizeof "^2.6.1" tapable@^2.1.1, tapable@^2.2.0: version "2.2.1"