needle-cloud 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.esm.js +1 -1
  2. package/package.json +1 -1
package/dist/cli.esm.js CHANGED
@@ -1 +1 @@
1
- import e from"node-fetch";import{File as n}from"@web-std/file";import a from"node:crypto";import i from"@caporal/core";import o,{existsSync as s,statSync as t,readFileSync as r,readdirSync as c,appendFileSync as l,mkdirSync as p,writeFileSync as u,readFile as d}from"fs";import m,{TextEncoder as f}from"util";import h,{Readable as v}from"stream";import x,{resolve as g,join as b}from"path";import y from"http";import w from"https";import _ from"url";import k from"assert";import j from"tty";import T,{tmpdir as S}from"os";import E from"zlib";import{EventEmitter as C}from"events";import z from"crypto";import R from"buffer";import O from"open";import F from"ora";import{realpathSync as A,mkdirSync as L,existsSync as $,statSync as N,rename as U}from"node:fs";import{writeFile as q}from"node:fs/promises";import I from"node:os";import P from"node:path";import B from"dotenv";import D from"@logto/node";import{Router as W}from"express";import M from"body-parser";import{WebSocketServer as H}from"ws";const G={status:"/v1/status",version:"/v1/version",api:"/v1/api",usage:{get:"/v1/usage"},affiliate:{get:"/v1/affiliate/get",link_clicked:"/v1/affiliate/link_clicked"},account:{public_key:"/v1/account/public_key",post_machine:"/v1/account/machine",connect:"/v1/account/connect",get_licenses:"/v1/account/get/licenses",set_license_active:"/v1/account/set_license_active",set_licenses_active:"/v1/account/set_licenses_active",buy_licenses:"/v1/account/buy_licenses",update_licenses:"/v1/account/update_licenses",update_payment_method:"/v1/account/update_payment_method",get_billing:"/v1/account/get_billing",resume_subscription:"/v1/account/resume_subscription",cancel_subscription:"/v1/account/cancel_subscription",start_billingportal_session:"/v1/account/start_billingportal_session"},ai:{llmstxt:"/v1/ai/llmstxt",chat:"/v1/ai/chat",list_chats:"/v1/ai/chat/list",ask:"/v1/ai/ask"},organizations:{get:"/v1/organizations/get",orgs_details:"/v1/organizations/details",licenses:"/v1/organizations/licenses",get_invitations:"/v1/organizations/get_invitations"},events:{get:"/v1/events/get",post:"/v1/events/post",list:"/v1/events/list"},reports:{get:"/v1/reports/get",post:"/v1/reports/post"},questionnaire:{get:"/v1/questionnaires/get",post:"/v1/questionnaires/post"},roadmap:{get:"/v1/roadmap/get",post_vote:"/v1/roadmap/post"},tokens:{create:"/v1/tokens/create",delete:"/v1/tokens/delete",list:"/v1/tokens/list"},get:{stats:"/v1/get/stats",jobs:"/v1/list/jobs",uploads:"/v1/list/uploads",uploads_deleted:"/v1/list/uploads/deleted",deployments:"/v1/list/deployments",discounts:"/v1/get/discounts"},urls:{public:"/v1/public",public_download_urls:"/v1/public/download/urls"},view:{get:"/v1/view",get_analytics:"/v1/view/analytics",get_public_info:"/v1/view/public/info",post_version:"/v1/view/post_version",update:"/v1/view/update",delete:"/v1/view/delete",restore:"/v1/view/restore"},upload:{request:"/v1/upload/request",request_put_url:"/v1/upload/put",update_results:"/v1/upload/results",done:"/v1/upload/done",cancel:"/v1/upload/cancel"},optimize:{get_optimize_id:"/v1/optimize/get_id",request:"/v1/optimize/request"},jobs:{request_start:"/v1/jobs/request_start",request_download_url:"/v1/download/get_presigned_url",request_download_urls:"/v1/download/get_presigned_urls",request_restart:"/v1/jobs/restart",delete:"/v1/jobs/delete",post_update:"/v1/jobs/update",post_meta:"/v1/jobs/meta",post_results_stats:"/v1/jobs/results_stats",get_status:"/v1/jobs/status",get_org:"/v1/jobs/org",query:"/v1/jobs/query",request_job_that_needs_stats:"/v1/jobs/job_needs_stats"},worker:{ping:"/v1/worker/ping",get_available_count:"/v1/worker/get_available_count",post_available_info:"/v1/worker/post_available_info",get_available_info:"/v1/worker/get_available_info"},local_projects:{get:{user:"/v1/local_projects/user",by_id:"/v1/local_projects/"},post:"/v1/local_projects"}};function J(e){const n={authorization:"Bearer "+e.authToken};return e.org&&(n["x-needle-cloud-org"]=e.org),e.roles&&(n.roles=e.roles.join(",")),e.roles_org&&(n.roles_org=e.roles_org.join(",")),n}const K={credentials:"omit"};function V(e){e=e||{};const n="undefined"!=typeof window?window.location:null;"current_page"===e.baseUrl&&(e.baseUrl=null==n?void 0:n.href);let a=e.pathname||(null==n?void 0:n.pathname),i=e.baseUrl||(null==n?void 0:n.href);if(!a||!i)return null;const o=new URL(a,i);return n&&(o.search=n.search),e.license||(e.license="needle-engine:pro"),o.searchParams.set("purchase_intent",e.license),e.account_id&&o.searchParams.set("account_id",e.account_id),e.return_url&&o.searchParams.set("return_url",e.return_url),e.checkout_if_possible&&o.searchParams.set("checkout_if_possible","true"),e.show_all_cards&&o.searchParams.set("show_all_cards","true"),e.affiliate_id&&o.searchParams.set("affiliate_id",e.affiliate_id),e.tracking_id&&o.searchParams.set("tracking_id",e.tracking_id),o}function Y(e,n=void 0){let a=e.baseUrl+G.urls.public+`/${e.view_id}`;if(a+=e.job_id&&!0!==(null==n?void 0:n.latest)?"/"+e.job_id:"/latest",a+="/",e.filename){const n=e.filename.split("/");for(let e=0;e<n.length;e++){const i=n[e].trim();0!==i.length&&(a+=encodeURIComponent(i),e<n.length-1&&(a+="/"))}}return!0===(null==n?void 0:n.progressive)?a+="?progressive=1":!1===(null==n?void 0:n.progressive)&&(a+="?progressive=0"),a}function Z(e,n){return function(){return e.apply(n,arguments)}}const{toString:X}=Object.prototype,{getPrototypeOf:Q}=Object,ee=(ne=Object.create(null),e=>{const n=X.call(e);return ne[n]||(ne[n]=n.slice(8,-1).toLowerCase())});var ne;const ae=e=>(e=e.toLowerCase(),n=>ee(n)===e),ie=e=>n=>typeof n===e,{isArray:oe}=Array,se=ie("undefined"),te=ae("ArrayBuffer"),re=ie("string"),ce=ie("function"),le=ie("number"),pe=e=>null!==e&&"object"==typeof e,ue=e=>{if("object"!==ee(e))return!1;const n=Q(e);return!(null!==n&&n!==Object.prototype&&null!==Object.getPrototypeOf(n)||Symbol.toStringTag in e||Symbol.iterator in e)},de=ae("Date"),me=ae("File"),fe=ae("Blob"),he=ae("FileList"),ve=ae("URLSearchParams"),[xe,ge,be,ye]=["ReadableStream","Request","Response","Headers"].map(ae);function we(e,n,{allOwnKeys:a=!1}={}){if(null==e)return;let i,o;if("object"!=typeof e&&(e=[e]),oe(e))for(i=0,o=e.length;i<o;i++)n.call(null,e[i],i,e);else{const o=a?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let t;for(i=0;i<s;i++)t=o[i],n.call(null,e[t],t,e)}}function _e(e,n){n=n.toLowerCase();const a=Object.keys(e);let i,o=a.length;for(;o-- >0;)if(i=a[o],n===i.toLowerCase())return i;return null}const ke="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,je=e=>!se(e)&&e!==ke,Te=(Se="undefined"!=typeof Uint8Array&&Q(Uint8Array),e=>Se&&e instanceof Se);var Se;const Ee=ae("HTMLFormElement"),Ce=(({hasOwnProperty:e})=>(n,a)=>e.call(n,a))(Object.prototype),ze=ae("RegExp"),Re=(e,n)=>{const a=Object.getOwnPropertyDescriptors(e),i={};we(a,(a,o)=>{let s;!1!==(s=n(a,o,e))&&(i[o]=s||a)}),Object.defineProperties(e,i)},Oe="abcdefghijklmnopqrstuvwxyz",Fe="0123456789",Ae={DIGIT:Fe,ALPHA:Oe,ALPHA_DIGIT:Oe+Oe.toUpperCase()+Fe},Le=ae("AsyncFunction"),$e=(Ne="function"==typeof setImmediate,Ue=ce(ke.postMessage),Ne?setImmediate:Ue?(qe=`axios@${Math.random()}`,Ie=[],ke.addEventListener("message",({source:e,data:n})=>{e===ke&&n===qe&&Ie.length&&Ie.shift()()},!1),e=>{Ie.push(e),ke.postMessage(qe,"*")}):e=>setTimeout(e));var Ne,Ue,qe,Ie;const Pe="undefined"!=typeof queueMicrotask?queueMicrotask.bind(ke):"undefined"!=typeof process&&process.nextTick||$e;var Be={isArray:oe,isArrayBuffer:te,isBuffer:function(e){return null!==e&&!se(e)&&null!==e.constructor&&!se(e.constructor)&&ce(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let n;return e&&("function"==typeof FormData&&e instanceof FormData||ce(e.append)&&("formdata"===(n=ee(e))||"object"===n&&ce(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let n;return n="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&te(e.buffer),n},isString:re,isNumber:le,isBoolean:e=>!0===e||!1===e,isObject:pe,isPlainObject:ue,isReadableStream:xe,isRequest:ge,isResponse:be,isHeaders:ye,isUndefined:se,isDate:de,isFile:me,isBlob:fe,isRegExp:ze,isFunction:ce,isStream:e=>pe(e)&&ce(e.pipe),isURLSearchParams:ve,isTypedArray:Te,isFileList:he,forEach:we,merge:function e(){const{caseless:n}=je(this)&&this||{},a={},i=(i,o)=>{const s=n&&_e(a,o)||o;a[s]=ue(a[s])&&ue(i)?e(a[s],i):ue(i)?e({},i):oe(i)?i.slice():i};for(let e=0,n=arguments.length;e<n;e++)arguments[e]&&we(arguments[e],i);return a},extend:(e,n,a,{allOwnKeys:i}={})=>(we(n,(n,i)=>{e[i]=a&&ce(n)?Z(n,a):n},{allOwnKeys:i}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,n,a,i)=>{e.prototype=Object.create(n.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:n.prototype}),a&&Object.assign(e.prototype,a)},toFlatObject:(e,n,a,i)=>{let o,s,t;const r={};if(n=n||{},null==e)return n;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)t=o[s],i&&!i(t,e,n)||r[t]||(n[t]=e[t],r[t]=!0);e=!1!==a&&Q(e)}while(e&&(!a||a(e,n))&&e!==Object.prototype);return n},kindOf:ee,kindOfTest:ae,endsWith:(e,n,a)=>{e=String(e),(void 0===a||a>e.length)&&(a=e.length);const i=e.indexOf(n,a-=n.length);return-1!==i&&i===a},toArray:e=>{if(!e)return null;if(oe(e))return e;let n=e.length;if(!le(n))return null;const a=new Array(n);for(;n-- >0;)a[n]=e[n];return a},forEachEntry:(e,n)=>{const a=(e&&e[Symbol.iterator]).call(e);let i;for(;(i=a.next())&&!i.done;){const a=i.value;n.call(e,a[0],a[1])}},matchAll:(e,n)=>{let a;const i=[];for(;null!==(a=e.exec(n));)i.push(a);return i},isHTMLForm:Ee,hasOwnProperty:Ce,hasOwnProp:Ce,reduceDescriptors:Re,freezeMethods:e=>{Re(e,(n,a)=>{if(ce(e)&&-1!==["arguments","caller","callee"].indexOf(a))return!1;ce(e[a])&&(n.enumerable=!1,"writable"in n?n.writable=!1:n.set||(n.set=()=>{throw Error("Can not rewrite read-only method '"+a+"'")}))})},toObjectSet:(e,n)=>{const a={},i=e=>{e.forEach(e=>{a[e]=!0})};return oe(e)?i(e):i(String(e).split(n)),a},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,a){return n.toUpperCase()+a}),noop:()=>{},toFiniteNumber:(e,n)=>null!=e&&Number.isFinite(e=+e)?e:n,findKey:_e,global:ke,isContextDefined:je,ALPHABET:Ae,generateString:(e=16,n=Ae.ALPHA_DIGIT)=>{let a="";const{length:i}=n;for(;e--;)a+=n[Math.random()*i|0];return a},isSpecCompliantForm:function(e){return!!(e&&ce(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const n=new Array(10),a=(e,i)=>{if(pe(e)){if(n.indexOf(e)>=0)return;if(!("toJSON"in e)){n[i]=e;const o=oe(e)?[]:{};return we(e,(e,n)=>{const s=a(e,i+1);!se(s)&&(o[n]=s)}),n[i]=void 0,o}}return e};return a(e,0)},isAsyncFn:Le,isThenable:e=>e&&(pe(e)||ce(e))&&ce(e.then)&&ce(e.catch),setImmediate:$e,asap:Pe};function De(e,n,a,i,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",n&&(this.code=n),a&&(this.config=a),i&&(this.request=i),o&&(this.response=o)}Be.inherits(De,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:Be.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const We=De.prototype,Me={};["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(e=>{Me[e]={value:e}}),Object.defineProperties(De,Me),Object.defineProperty(We,"isAxiosError",{value:!0}),De.from=(e,n,a,i,o,s)=>{const t=Object.create(We);return Be.toFlatObject(e,t,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e),De.call(t,e.message,n,a,i,o),t.cause=e,t.name=e.name,s&&Object.assign(t,s),t};var He=h.Stream,Ge=Je;function Je(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}m.inherits(Je,He),Je.create=function(e,n){var a=new this;for(var i in n=n||{})a[i]=n[i];a.source=e;var o=e.emit;return e.emit=function(){return a._handleEmit(arguments),o.apply(e,arguments)},e.on("error",function(){}),a.pauseStream&&e.pause(),a},Object.defineProperty(Je.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),Je.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},Je.prototype.resume=function(){this._released||this.release(),this.source.resume()},Je.prototype.pause=function(){this.source.pause()},Je.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]},Je.prototype.pipe=function(){var e=He.prototype.pipe.apply(this,arguments);return this.resume(),e},Je.prototype._handleEmit=function(e){this._released?this.emit.apply(this,e):("data"===e[0]&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e))},Je.prototype._checkIfMaxDataSizeExceeded=function(){this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize||(this._maxDataSizeExceeded=!0,this.emit("error",new Error("DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.")))};var Ke=h.Stream,Ve=Ye;function Ye(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}m.inherits(Ye,Ke),Ye.create=function(e){var n=new this;for(var a in e=e||{})n[a]=e[a];return n},Ye.isStreamLike=function(e){return"function"!=typeof e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e&&!Buffer.isBuffer(e)},Ye.prototype.append=function(e){if(Ye.isStreamLike(e)){if(!(e instanceof Ge)){var n=Ge.create(e,{maxDataSize:Infinity,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=n}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this},Ye.prototype.pipe=function(e,n){return Ke.prototype.pipe.call(this,e,n),this.resume(),e},Ye.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop)this._pendingNext=!0;else{this._insideLoop=!0;try{do{this._pendingNext=!1,this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=!1}}},Ye.prototype._realGetNext=function(){var e=this._streams.shift();void 0!==e?"function"==typeof e?e(function(e){Ye.isStreamLike(e)&&(e.on("data",this._checkDataSize.bind(this)),this._handleErrors(e)),this._pipeNext(e)}.bind(this)):this._pipeNext(e):this.end()},Ye.prototype._pipeNext=function(e){if(this._currentStream=e,Ye.isStreamLike(e))return e.on("end",this._getNext.bind(this)),void e.pipe(this,{end:!1});this.write(e),this._getNext()},Ye.prototype._handleErrors=function(e){var n=this;e.on("error",function(e){n._emitError(e)})},Ye.prototype.write=function(e){this.emit("data",e)},Ye.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},Ye.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},Ye.prototype.end=function(){this._reset(),this.emit("end")},Ye.prototype.destroy=function(){this._reset(),this.emit("close")},Ye.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},Ye.prototype._checkDataSize=function(){this._updateDataSize(),this.dataSize<=this.maxDataSize||this._emitError(new Error("DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded."))},Ye.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(n){n.dataSize&&(e.dataSize+=n.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},Ye.prototype._emitError=function(e){this._reset(),this.emit("error",e)};var Ze="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Xe(e){var n={exports:{}};return e(n,n.exports),n.exports}var Qe={"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}},en=Xe(function(e,n){var a,i,o,s=x.extname,t=/^\s*([^;\s]*)(?:;|\s|$)/,r=/^text\//i;function c(e){if(!e||"string"!=typeof e)return!1;var n=t.exec(e),a=n&&Qe[n[1].toLowerCase()];return a&&a.charset?a.charset:!(!n||!r.test(n[1]))&&"UTF-8"}n.charset=c,n.charsets={lookup:c},n.contentType=function(e){if(!e||"string"!=typeof e)return!1;var a=-1===e.indexOf("/")?n.lookup(e):e;if(!a)return!1;if(-1===a.indexOf("charset")){var i=n.charset(a);i&&(a+="; charset="+i.toLowerCase())}return a},n.extension=function(e){if(!e||"string"!=typeof e)return!1;var a=t.exec(e),i=a&&n.extensions[a[1].toLowerCase()];return!(!i||!i.length)&&i[0]},n.extensions=Object.create(null),n.lookup=function(e){if(!e||"string"!=typeof e)return!1;var a=s("x."+e).toLowerCase().substr(1);return a&&n.types[a]||!1},n.types=Object.create(null),a=n.extensions,i=n.types,o=["nginx","apache",void 0,"iana"],Object.keys(Qe).forEach(function(e){var n=Qe[e],s=n.extensions;if(s&&s.length){a[e]=s;for(var t=0;t<s.length;t++){var r=s[t];if(i[r]){var c=o.indexOf(Qe[i[r]].source),l=o.indexOf(n.source);if("application/octet-stream"!==i[r]&&(c>l||c===l&&"application/"===i[r].substr(0,12)))continue}i[r]=e}}})}),nn=function(e){var n="function"==typeof setImmediate?setImmediate:"object"==typeof process&&"function"==typeof process.nextTick?process.nextTick:null;n?n(e):setTimeout(e,0)},an=function(e){var n=!1;return nn(function(){n=!0}),function(a,i){n?e(a,i):nn(function(){e(a,i)})}},on=function(e){Object.keys(e.jobs).forEach(sn.bind(e)),e.jobs={}};function sn(e){"function"==typeof this.jobs[e]&&this.jobs[e]()}var tn=function(e,n,a,i){var o=a.keyedList?a.keyedList[a.index]:a.index;a.jobs[o]=function(e,n,a,i){return 2==e.length?e(a,an(i)):e(a,n,an(i))}(n,o,e[o],function(e,n){o in a.jobs&&(delete a.jobs[o],e?on(a):a.results[o]=n,i(e,a.results))})},rn=function(e,n){var a=!Array.isArray(e),i={index:0,keyedList:a||n?Object.keys(e):null,jobs:{},results:a?{}:[],size:a?Object.keys(e).length:e.length};return n&&i.keyedList.sort(a?n:function(a,i){return n(e[a],e[i])}),i},cn=function(e){Object.keys(this.jobs).length&&(this.index=this.size,on(this),an(e)(null,this.results))},ln=function(e,n,a,i){var o=rn(e,a);return tn(e,n,o,function a(s,t){s?i(s,t):(o.index++,o.index<(o.keyedList||e).length?tn(e,n,o,a):i(null,o.results))}),cn.bind(o,i)};function pn(e,n){return e<n?-1:e>n?1:0}ln.ascending=pn,ln.descending=function(e,n){return-1*pn(e,n)};var un=function(e,n){return Object.keys(n).forEach(function(a){e[a]=e[a]||n[a]}),e},dn=_.parse,mn=h.Stream,fn=hn;function hn(e){if(!(this instanceof hn))return new hn(e);for(var n in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Ve.call(this),e=e||{})this[n]=e[n]}m.inherits(hn,Ve),hn.LINE_BREAK="\r\n",hn.DEFAULT_CONTENT_TYPE="application/octet-stream",hn.prototype.append=function(e,n,a){"string"==typeof(a=a||{})&&(a={filename:a});var i=Ve.prototype.append.bind(this);if("number"==typeof n&&(n=""+n),m.isArray(n))this._error(new Error("Arrays are not supported."));else{var o=this._multiPartHeader(e,n,a),s=this._multiPartFooter();i(o),i(n),i(s),this._trackLength(o,n,a)}},hn.prototype._trackLength=function(e,n,a){var i=0;null!=a.knownLength?i+=+a.knownLength:Buffer.isBuffer(n)?i=n.length:"string"==typeof n&&(i=Buffer.byteLength(n)),this._valueLength+=i,this._overheadLength+=Buffer.byteLength(e)+hn.LINE_BREAK.length,n&&(n.path||n.readable&&n.hasOwnProperty("httpVersion")||n instanceof mn)&&(a.knownLength||this._valuesToMeasure.push(n))},hn.prototype._lengthRetriever=function(e,n){e.hasOwnProperty("fd")?null!=e.end&&Infinity!=e.end&&null!=e.start?n(null,e.end+1-(e.start?e.start:0)):o.stat(e.path,function(a,i){a?n(a):n(null,i.size-(e.start?e.start:0))}):e.hasOwnProperty("httpVersion")?n(null,+e.headers["content-length"]):e.hasOwnProperty("httpModule")?(e.on("response",function(a){e.pause(),n(null,+a.headers["content-length"])}),e.resume()):n("Unknown stream")},hn.prototype._multiPartHeader=function(e,n,a){if("string"==typeof a.header)return a.header;var i,o=this._getContentDisposition(n,a),s=this._getContentType(n,a),t="",r={"Content-Disposition":["form-data",'name="'+e+'"'].concat(o||[]),"Content-Type":[].concat(s||[])};for(var c in"object"==typeof a.header&&un(r,a.header),r)r.hasOwnProperty(c)&&null!=(i=r[c])&&(Array.isArray(i)||(i=[i]),i.length&&(t+=c+": "+i.join("; ")+hn.LINE_BREAK));return"--"+this.getBoundary()+hn.LINE_BREAK+t+hn.LINE_BREAK},hn.prototype._getContentDisposition=function(e,n){var a,i;return"string"==typeof n.filepath?a=x.normalize(n.filepath).replace(/\\/g,"/"):n.filename||e.name||e.path?a=x.basename(n.filename||e.name||e.path):e.readable&&e.hasOwnProperty("httpVersion")&&(a=x.basename(e.client._httpMessage.path||"")),a&&(i='filename="'+a+'"'),i},hn.prototype._getContentType=function(e,n){var a=n.contentType;return!a&&e.name&&(a=en.lookup(e.name)),!a&&e.path&&(a=en.lookup(e.path)),!a&&e.readable&&e.hasOwnProperty("httpVersion")&&(a=e.headers["content-type"]),a||!n.filepath&&!n.filename||(a=en.lookup(n.filepath||n.filename)),a||"object"!=typeof e||(a=hn.DEFAULT_CONTENT_TYPE),a},hn.prototype._multiPartFooter=function(){return function(e){var n=hn.LINE_BREAK;0===this._streams.length&&(n+=this._lastBoundary()),e(n)}.bind(this)},hn.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+hn.LINE_BREAK},hn.prototype.getHeaders=function(e){var n,a={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(n in e)e.hasOwnProperty(n)&&(a[n.toLowerCase()]=e[n]);return a},hn.prototype.setBoundary=function(e){this._boundary=e},hn.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},hn.prototype.getBuffer=function(){for(var e=new Buffer.alloc(0),n=this.getBoundary(),a=0,i=this._streams.length;a<i;a++)"function"!=typeof this._streams[a]&&(e=Buffer.isBuffer(this._streams[a])?Buffer.concat([e,this._streams[a]]):Buffer.concat([e,Buffer.from(this._streams[a])]),"string"==typeof this._streams[a]&&this._streams[a].substring(2,n.length+2)===n||(e=Buffer.concat([e,Buffer.from(hn.LINE_BREAK)])));return Buffer.concat([e,Buffer.from(this._lastBoundary())])},hn.prototype._generateBoundary=function(){for(var e="--------------------------",n=0;n<24;n++)e+=Math.floor(10*Math.random()).toString(16);this._boundary=e},hn.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),e},hn.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e},hn.prototype.getLength=function(e){var n=this._overheadLength+this._valueLength;this._streams.length&&(n+=this._lastBoundary().length),this._valuesToMeasure.length?function(e,n,a){for(var i=rn(e);i.index<(i.keyedList||e).length;)tn(e,n,i,function(e,n){e?a(e,n):0!==Object.keys(i.jobs).length||a(null,i.results)}),i.index++;cn.bind(i,a)}(this._valuesToMeasure,this._lengthRetriever,function(a,i){a?e(a):(i.forEach(function(e){n+=e}),e(null,n))}):process.nextTick(e.bind(this,null,n))},hn.prototype.submit=function(e,n){var a,i,o={method:"post"};return"string"==typeof e?(e=dn(e),i=un({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},o)):(i=un(e,o)).port||(i.port="https:"==i.protocol?443:80),i.headers=this.getHeaders(e.headers),a="https:"==i.protocol?w.request(i):y.request(i),this.getLength(function(e,i){if(e&&"Unknown stream"!==e)this._error(e);else if(i&&a.setHeader("Content-Length",i),this.pipe(a),n){var o,s=function(e,i){return a.removeListener("error",s),a.removeListener("response",o),n.call(this,e,i)};o=s.bind(this,null),a.on("error",s),a.on("response",o)}}.bind(this)),a},hn.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit("error",e))},hn.prototype.toString=function(){return"[object FormData]"};var vn=fn;function xn(e){return Be.isPlainObject(e)||Be.isArray(e)}function gn(e){return Be.endsWith(e,"[]")?e.slice(0,-2):e}function bn(e,n,a){return e?e.concat(n).map(function(e,n){return e=gn(e),!a&&n?"["+e+"]":e}).join(a?".":""):n}const yn=Be.toFlatObject(Be,{},null,function(e){return/^is[A-Z]/.test(e)});function wn(e,n,a){if(!Be.isObject(e))throw new TypeError("target must be an object");n=n||new(vn||FormData);const i=(a=Be.toFlatObject(a,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,n){return!Be.isUndefined(n[e])})).metaTokens,o=a.visitor||l,s=a.dots,t=a.indexes,r=(a.Blob||"undefined"!=typeof Blob&&Blob)&&Be.isSpecCompliantForm(n);if(!Be.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(Be.isDate(e))return e.toISOString();if(!r&&Be.isBlob(e))throw new De("Blob is not supported. Use a Buffer instead.");return Be.isArrayBuffer(e)||Be.isTypedArray(e)?r&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,a,o){let r=e;if(e&&!o&&"object"==typeof e)if(Be.endsWith(a,"{}"))a=i?a:a.slice(0,-2),e=JSON.stringify(e);else if(Be.isArray(e)&&function(e){return Be.isArray(e)&&!e.some(xn)}(e)||(Be.isFileList(e)||Be.endsWith(a,"[]"))&&(r=Be.toArray(e)))return a=gn(a),r.forEach(function(e,i){!Be.isUndefined(e)&&null!==e&&n.append(!0===t?bn([a],i,s):null===t?a:a+"[]",c(e))}),!1;return!!xn(e)||(n.append(bn(o,a,s),c(e)),!1)}const p=[],u=Object.assign(yn,{defaultVisitor:l,convertValue:c,isVisitable:xn});if(!Be.isObject(e))throw new TypeError("data must be an object");return function e(a,i){if(!Be.isUndefined(a)){if(-1!==p.indexOf(a))throw Error("Circular reference detected in "+i.join("."));p.push(a),Be.forEach(a,function(a,s){!0===(!(Be.isUndefined(a)||null===a)&&o.call(n,a,Be.isString(s)?s.trim():s,i,u))&&e(a,i?i.concat(s):[s])}),p.pop()}}(e),n}function _n(e){const n={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return n[e]})}function kn(e,n){this._pairs=[],e&&wn(e,this,n)}const jn=kn.prototype;function Tn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Sn(e,n,a){if(!n)return e;const i=a&&a.encode||Tn,o=a&&a.serialize;let s;if(s=o?o(n,a):Be.isURLSearchParams(n)?n.toString():new kn(n,a).toString(i),s){const n=e.indexOf("#");-1!==n&&(e=e.slice(0,n)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}jn.append=function(e,n){this._pairs.push([e,n])},jn.toString=function(e){const n=e?function(n){return e.call(this,n,_n)}:_n;return this._pairs.map(function(e){return n(e[0])+"="+n(e[1])},"").join("&")};var En=class{constructor(){this.handlers=[]}use(e,n,a){return this.handlers.push({fulfilled:e,rejected:n,synchronous:!!a&&a.synchronous,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Be.forEach(this.handlers,function(n){null!==n&&e(n)})}},Cn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},zn={isNode:!0,classes:{URLSearchParams:_.URLSearchParams,FormData:vn,Blob:"undefined"!=typeof Blob&&Blob||null},protocols:["http","https","file","data"]};const Rn="undefined"!=typeof window&&"undefined"!=typeof document,On=(Fn="undefined"!=typeof navigator&&navigator.product,Rn&&["ReactNative","NativeScript","NS"].indexOf(Fn)<0);var Fn,An={__proto__:null,hasBrowserEnv:Rn,hasStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,hasStandardBrowserEnv:On,origin:Rn&&window.location.href||"http://localhost",...zn};function Ln(e){function n(e,a,i,o){let s=e[o++];if("__proto__"===s)return!0;const t=Number.isFinite(+s),r=o>=e.length;return s=!s&&Be.isArray(i)?i.length:s,r?(i[s]=Be.hasOwnProp(i,s)?[i[s],a]:a,!t):(i[s]&&Be.isObject(i[s])||(i[s]=[]),n(e,a,i[s],o)&&Be.isArray(i[s])&&(i[s]=function(e){const n={},a=Object.keys(e);let i;const o=a.length;let s;for(i=0;i<o;i++)s=a[i],n[s]=e[s];return n}(i[s])),!t)}if(Be.isFormData(e)&&Be.isFunction(e.entries)){const a={};return Be.forEachEntry(e,(e,i)=>{n(function(e){return Be.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),i,a,0)}),a}return null}const $n={transitional:Cn,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const a=n.getContentType()||"",i=a.indexOf("application/json")>-1,o=Be.isObject(e);if(o&&Be.isHTMLForm(e)&&(e=new FormData(e)),Be.isFormData(e))return i?JSON.stringify(Ln(e)):e;if(Be.isArrayBuffer(e)||Be.isBuffer(e)||Be.isStream(e)||Be.isFile(e)||Be.isBlob(e)||Be.isReadableStream(e))return e;if(Be.isArrayBufferView(e))return e.buffer;if(Be.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(a.indexOf("application/x-www-form-urlencoded")>-1)return function(e,n){return wn(e,new An.classes.URLSearchParams,Object.assign({visitor:function(e,n,a,i){return An.isNode&&Be.isBuffer(e)?(this.append(n,e.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},n))}(e,this.formSerializer).toString();if((s=Be.isFileList(e))||a.indexOf("multipart/form-data")>-1){const n=this.env&&this.env.FormData;return wn(s?{"files[]":e}:e,n&&new n,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),function(e,n,a){if(Be.isString(e))try{return(0,JSON.parse)(e),Be.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const n=this.transitional||$n.transitional,a=n&&n.forcedJSONParsing,i="json"===this.responseType;if(Be.isResponse(e)||Be.isReadableStream(e))return e;if(e&&Be.isString(e)&&(a&&!this.responseType||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(e){if(a){if("SyntaxError"===e.name)throw De.from(e,De.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:An.classes.FormData,Blob:An.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Be.forEach(["delete","get","head","post","put","patch"],e=>{$n.headers[e]={}});var Nn=$n;const Un=Be.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"]),qn=Symbol("internals");function In(e){return e&&String(e).trim().toLowerCase()}function Pn(e){return!1===e||null==e?e:Be.isArray(e)?e.map(Pn):String(e)}function Bn(e,n,a,i,o){return Be.isFunction(i)?i.call(this,n,a):(o&&(n=a),Be.isString(n)?Be.isString(i)?-1!==n.indexOf(i):Be.isRegExp(i)?i.test(n):void 0:void 0)}class Dn{constructor(e){e&&this.set(e)}set(e,n,a){const i=this;function o(e,n,a){const o=In(n);if(!o)throw new Error("header name must be a non-empty string");const s=Be.findKey(i,o);(!s||void 0===i[s]||!0===a||void 0===a&&!1!==i[s])&&(i[s||n]=Pn(e))}const s=(e,n)=>Be.forEach(e,(e,a)=>o(e,a,n));if(Be.isPlainObject(e)||e instanceof this.constructor)s(e,n);else if(Be.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const n={};let a,i,o;return e&&e.split("\n").forEach(function(e){o=e.indexOf(":"),a=e.substring(0,o).trim().toLowerCase(),i=e.substring(o+1).trim(),!a||n[a]&&Un[a]||("set-cookie"===a?n[a]?n[a].push(i):n[a]=[i]:n[a]=n[a]?n[a]+", "+i:i)}),n})(e),n);else if(Be.isHeaders(e))for(const[n,i]of e.entries())o(i,n,a);else null!=e&&o(n,e,a);return this}get(e,n){if(e=In(e)){const a=Be.findKey(this,e);if(a){const e=this[a];if(!n)return e;if(!0===n)return function(e){const n=Object.create(null),a=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=a.exec(e);)n[i[1]]=i[2];return n}(e);if(Be.isFunction(n))return n.call(this,e,a);if(Be.isRegExp(n))return n.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=In(e)){const a=Be.findKey(this,e);return!(!a||void 0===this[a]||n&&!Bn(0,this[a],a,n))}return!1}delete(e,n){const a=this;let i=!1;function o(e){if(e=In(e)){const o=Be.findKey(a,e);!o||n&&!Bn(0,a[o],o,n)||(delete a[o],i=!0)}}return Be.isArray(e)?e.forEach(o):o(e),i}clear(e){const n=Object.keys(this);let a=n.length,i=!1;for(;a--;){const o=n[a];e&&!Bn(0,this[o],o,e,!0)||(delete this[o],i=!0)}return i}normalize(e){const n=this,a={};return Be.forEach(this,(i,o)=>{const s=Be.findKey(a,o);if(s)return n[s]=Pn(i),void delete n[o];const t=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,a)=>n.toUpperCase()+a)}(o):String(o).trim();t!==o&&delete n[o],n[t]=Pn(i),a[t]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return Be.forEach(this,(a,i)=>{null!=a&&!1!==a&&(n[i]=e&&Be.isArray(a)?a.join(", "):a)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const a=new this(e);return n.forEach(e=>a.set(e)),a}static accessor(e){const n=(this[qn]=this[qn]={accessors:{}}).accessors,a=this.prototype;function i(e){const i=In(e);n[i]||(function(e,n){const a=Be.toCamelCase(" "+n);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+a,{value:function(e,a,o){return this[i].call(this,n,e,a,o)},configurable:!0})})}(a,e),n[i]=!0)}return Be.isArray(e)?e.forEach(i):i(e),this}}Dn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Be.reduceDescriptors(Dn.prototype,({value:e},n)=>{let a=n[0].toUpperCase()+n.slice(1);return{get:()=>e,set(e){this[a]=e}}}),Be.freezeMethods(Dn);var Wn=Dn;function Mn(e,n){const a=this||Nn,i=n||a,o=Wn.from(i.headers);let s=i.data;return Be.forEach(e,function(e){s=e.call(a,s,o.normalize(),n?n.status:void 0)}),o.normalize(),s}function Hn(e){return!(!e||!e.__CANCEL__)}function Gn(e,n,a){De.call(this,null==e?"canceled":e,De.ERR_CANCELED,n,a),this.name="CanceledError"}function Jn(e,n,a){const i=a.config.validateStatus;a.status&&i&&!i(a.status)?n(new De("Request failed with status code "+a.status,[De.ERR_BAD_REQUEST,De.ERR_BAD_RESPONSE][Math.floor(a.status/100)-4],a.config,a.request,a)):e(a)}function Kn(e,n){return e&&!function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}(n)?function(e,n){return n?e.replace(/\/?\/$/,"")+"/"+n.replace(/^\/+/,""):e}(e,n):n}Be.inherits(Gn,De,{__CANCEL__:!0});var Vn=_.parse,Yn={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},Zn=String.prototype.endsWith||function(e){return e.length<=this.length&&-1!==this.indexOf(e,this.length-e.length)};function Xn(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}var Qn=1e3,ea=60*Qn,na=60*ea,aa=24*na,ia=7*aa,oa=function(e,n){n=n||{};var a=typeof e;if("string"===a&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var n=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(n){var a=parseFloat(n[1]);switch((n[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*ia;case"days":case"day":case"d":return a*aa;case"hours":case"hour":case"hrs":case"hr":case"h":return a*na;case"minutes":case"minute":case"mins":case"min":case"m":return a*ea;case"seconds":case"second":case"secs":case"sec":case"s":return a*Qn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===a&&isFinite(e))return n.long?function(e){var n=Math.abs(e);return n>=aa?sa(e,n,aa,"day"):n>=na?sa(e,n,na,"hour"):n>=ea?sa(e,n,ea,"minute"):n>=Qn?sa(e,n,Qn,"second"):e+" ms"}(e):function(e){var n=Math.abs(e);return n>=aa?Math.round(e/aa)+"d":n>=na?Math.round(e/na)+"h":n>=ea?Math.round(e/ea)+"m":n>=Qn?Math.round(e/Qn)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function sa(e,n,a,i){var o=n>=1.5*a;return Math.round(e/a)+" "+i+(o?"s":"")}var ta=function(e){function n(e){let i,o,s,t=null;function r(...e){if(!r.enabled)return;const a=r,o=Number(new Date);a.diff=o-(i||o),a.prev=i,a.curr=o,i=o,e[0]=n.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(i,o)=>{if("%%"===i)return"%";s++;const t=n.formatters[o];return"function"==typeof t&&(i=t.call(a,e[s]),e.splice(s,1),s--),i}),n.formatArgs.call(a,e),(a.log||n.log).apply(a,e)}return r.namespace=e,r.useColors=n.useColors(),r.color=n.selectColor(e),r.extend=a,r.destroy=n.destroy,Object.defineProperty(r,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==t?t:(o!==n.namespaces&&(o=n.namespaces,s=n.enabled(e)),s),set:e=>{t=e}}),"function"==typeof n.init&&n.init(r),r}function a(e,a){const i=n(this.namespace+(void 0===a?":":a)+e);return i.log=this.log,i}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){return e instanceof Error?e.stack||e.message:e},n.disable=function(){const e=[...n.names.map(i),...n.skips.map(i).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let a;n.save(e),n.namespaces=e,n.names=[],n.skips=[];const i=("string"==typeof e?e:"").split(/[\s,]+/),o=i.length;for(a=0;a<o;a++)i[a]&&("-"===(e=i[a].replace(/\*/g,".*?"))[0]?n.skips.push(new RegExp("^"+e.slice(1)+"$")):n.names.push(new RegExp("^"+e+"$")))},n.enabled=function(e){if("*"===e[e.length-1])return!0;let a,i;for(a=0,i=n.skips.length;a<i;a++)if(n.skips[a].test(e))return!1;for(a=0,i=n.names.length;a<i;a++)if(n.names[a].test(e))return!0;return!1},n.humanize=oa,n.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(a=>{n[a]=e[a]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(e){let a=0;for(let n=0;n<e.length;n++)a=(a<<5)-a+e.charCodeAt(n),a|=0;return n.colors[Math.abs(a)%n.colors.length]},n.enable(n.load()),n},ra=Xe(function(e,n){n.formatArgs=function(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const a="color: "+this.color;n.splice(1,0,a,"color: inherit");let i=0,o=0;n[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(i++,"%c"===e&&(o=i))}),n.splice(o,0,a)},n.save=function(e){try{e?n.storage.setItem("debug",e):n.storage.removeItem("debug")}catch(e){}},n.load=function(){let e;try{e=n.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},n.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},n.storage=function(){try{return localStorage}catch(e){}}(),n.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})(),n.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"],n.log=console.debug||console.log||(()=>{}),e.exports=ta(n);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}),ca=(e,n=process.argv)=>{const a=e.startsWith("-")?"":1===e.length?"-":"--",i=n.indexOf(a+e),o=n.indexOf("--");return-1!==i&&(-1===o||i<o)};const{env:la}=process;let pa;function ua(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function da(e,n){if(0===pa)return 0;if(ca("color=16m")||ca("color=full")||ca("color=truecolor"))return 3;if(ca("color=256"))return 2;if(e&&!n&&void 0===pa)return 0;const a=pa||0;if("dumb"===la.TERM)return a;if("win32"===process.platform){const e=T.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in la)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(e=>e in la)||"codeship"===la.CI_NAME?1:a;if("TEAMCITY_VERSION"in la)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(la.TEAMCITY_VERSION)?1:0;if("truecolor"===la.COLORTERM)return 3;if("TERM_PROGRAM"in la){const e=parseInt((la.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(la.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(la.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(la.TERM)||"COLORTERM"in la?1:a}ca("no-color")||ca("no-colors")||ca("color=false")||ca("color=never")?pa=0:(ca("color")||ca("colors")||ca("color=true")||ca("color=always"))&&(pa=1),"FORCE_COLOR"in la&&(pa="true"===la.FORCE_COLOR?1:"false"===la.FORCE_COLOR?0:0===la.FORCE_COLOR.length?1:Math.min(parseInt(la.FORCE_COLOR,10),3));var ma,fa={supportsColor:function(e){return ua(da(e,e&&e.isTTY))},stdout:ua(da(!0,j.isatty(1))),stderr:ua(da(!0,j.isatty(2)))},ha=Xe(function(e,n){n.init=function(e){e.inspectOpts={};const a=Object.keys(n.inspectOpts);for(let i=0;i<a.length;i++)e.inspectOpts[a[i]]=n.inspectOpts[a[i]]},n.log=function(...e){return process.stderr.write(m.format(...e)+"\n")},n.formatArgs=function(a){const{namespace:i,useColors:o}=this;if(o){const n=this.color,o="[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${i} `;a[0]=s+a[0].split("\n").join("\n"+s),a.push(o+"m+"+e.exports.humanize(this.diff)+"")}else a[0]=(n.inspectOpts.hideDate?"":(new Date).toISOString()+" ")+i+" "+a[0]},n.save=function(e){e?process.env.DEBUG=e:delete process.env.DEBUG},n.load=function(){return process.env.DEBUG},n.useColors=function(){return"colors"in n.inspectOpts?Boolean(n.inspectOpts.colors):j.isatty(process.stderr.fd)},n.destroy=m.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),n.colors=[6,2,3,4,5,1];try{fa&&(fa.stderr||fa).level>=2&&(n.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(e){}n.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,n)=>{const a=n.substring(6).toLowerCase().replace(/_([a-z])/g,(e,n)=>n.toUpperCase());let i=process.env[n];return i=!!/^(yes|on|true|enabled)$/i.test(i)||!/^(no|off|false|disabled)$/i.test(i)&&("null"===i?null:Number(i)),e[a]=i,e},{}),e.exports=ta(n);const{formatters:a}=e.exports;a.o=function(e){return this.inspectOpts.colors=this.useColors,m.inspect(e,this.inspectOpts).split("\n").map(e=>e.trim()).join(" ")},a.O=function(e){return this.inspectOpts.colors=this.useColors,m.inspect(e,this.inspectOpts)}}),va=Xe(function(e){e.exports="undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?ra:ha}),xa=function(){if(!ma){try{ma=va("follow-redirects")}catch(e){}"function"!=typeof ma&&(ma=function(){})}ma.apply(null,arguments)},ga=_.URL,ba=h.Writable,ya=!1;try{k(new ga)}catch(e){ya="ERR_INVALID_URL"===e.code}var wa=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],_a=["abort","aborted","connect","error","socket","timeout"],ka=Object.create(null);_a.forEach(function(e){ka[e]=function(n,a,i){this._redirectable.emit(e,n,a,i)}});var ja=Ua("ERR_INVALID_URL","Invalid URL",TypeError),Ta=Ua("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Sa=Ua("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",Ta),Ea=Ua("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Ca=Ua("ERR_STREAM_WRITE_AFTER_END","write after end"),za=ba.prototype.destroy||Fa;function Ra(e,n){ba.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],n&&this.on("response",n);var a=this;this._onNativeResponse=function(e){try{a._processResponse(e)}catch(e){a.emit("error",e instanceof Ta?e:new Ta({cause:e}))}},this._performRequest()}function Oa(e){var n={maxRedirects:21,maxBodyLength:10485760},a={};return Object.keys(e).forEach(function(i){var o=i+":",s=a[o]=e[i],t=n[i]=Object.create(s);Object.defineProperties(t,{request:{value:function(e,i,s){return ga&&e instanceof ga?e=$a(e):Ia(e)?e=$a(Aa(e)):(s=i,i=La(e),e={protocol:o}),Pa(i)&&(s=i,i=null),(i=Object.assign({maxRedirects:n.maxRedirects,maxBodyLength:n.maxBodyLength},e,i)).nativeProtocols=a,Ia(i.host)||Ia(i.hostname)||(i.hostname="::1"),k.equal(i.protocol,o,"protocol mismatch"),xa("options",i),new Ra(i,s)},configurable:!0,enumerable:!0,writable:!0},get:{value:function(e,n,a){var i=t.request(e,n,a);return i.end(),i},configurable:!0,enumerable:!0,writable:!0}})}),n}function Fa(){}function Aa(e){var n;if(ya)n=new ga(e);else if(!Ia((n=La(_.parse(e))).protocol))throw new ja({input:e});return n}function La(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new ja({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new ja({input:e.href||e});return e}function $a(e,n){var a=n||{};for(var i of wa)a[i]=e[i];return a.hostname.startsWith("[")&&(a.hostname=a.hostname.slice(1,-1)),""!==a.port&&(a.port=Number(a.port)),a.path=a.search?a.pathname+a.search:a.pathname,a}function Na(e,n){var a;for(var i in n)e.test(i)&&(a=n[i],delete n[i]);return null==a?void 0:String(a).trim()}function Ua(e,n,a){function i(a){Error.captureStackTrace(this,this.constructor),Object.assign(this,a||{}),this.code=e,this.message=this.cause?n+": "+this.cause.message:n}return i.prototype=new(a||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),i}function qa(e,n){for(var a of _a)e.removeListener(a,ka[a]);e.on("error",Fa),e.destroy(n)}function Ia(e){return"string"==typeof e||e instanceof String}function Pa(e){return"function"==typeof e}(Ra.prototype=Object.create(ba.prototype)).abort=function(){qa(this._currentRequest),this._currentRequest.abort(),this.emit("abort")},Ra.prototype.destroy=function(e){return qa(this._currentRequest,e),za.call(this,e),this},Ra.prototype.write=function(e,n,a){if(this._ending)throw new Ca;if(!(Ia(e)||"object"==typeof(i=e)&&"length"in i))throw new TypeError("data should be a string, Buffer or Uint8Array");var i;Pa(n)&&(a=n,n=null),0!==e.length?this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:n}),this._currentRequest.write(e,n,a)):(this.emit("error",new Ea),this.abort()):a&&a()},Ra.prototype.end=function(e,n,a){if(Pa(e)?(a=e,e=n=null):Pa(n)&&(a=n,n=null),e){var i=this,o=this._currentRequest;this.write(e,n,function(){i._ended=!0,o.end(null,null,a)}),this._ending=!0}else this._ended=this._ending=!0,this._currentRequest.end(null,null,a)},Ra.prototype.setHeader=function(e,n){this._options.headers[e]=n,this._currentRequest.setHeader(e,n)},Ra.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)},Ra.prototype.setTimeout=function(e,n){var a=this;function i(n){n.setTimeout(e),n.removeListener("timeout",n.destroy),n.addListener("timeout",n.destroy)}function o(n){a._timeout&&clearTimeout(a._timeout),a._timeout=setTimeout(function(){a.emit("timeout"),s()},e),i(n)}function s(){a._timeout&&(clearTimeout(a._timeout),a._timeout=null),a.removeListener("abort",s),a.removeListener("error",s),a.removeListener("response",s),a.removeListener("close",s),n&&a.removeListener("timeout",n),a.socket||a._currentRequest.removeListener("socket",o)}return n&&this.on("timeout",n),this.socket?o(this.socket):this._currentRequest.once("socket",o),this.on("socket",i),this.on("abort",s),this.on("error",s),this.on("response",s),this.on("close",s),this},["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){Ra.prototype[e]=function(n,a){return this._currentRequest[e](n,a)}}),["aborted","connection","socket"].forEach(function(e){Object.defineProperty(Ra.prototype,e,{get:function(){return this._currentRequest[e]}})}),Ra.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var n=e.path.indexOf("?");n<0?e.pathname=e.path:(e.pathname=e.path.substring(0,n),e.search=e.path.substring(n))}},Ra.prototype._performRequest=function(){var e=this._options.protocol,n=this._options.nativeProtocols[e];if(!n)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var a=e.slice(0,-1);this._options.agent=this._options.agents[a]}var i=this._currentRequest=n.request(this._options,this._onNativeResponse);for(var o of(i._redirectable=this,_a))i.on(o,ka[o]);if(this._currentUrl=/^\//.test(this._options.path)?_.format(this._options):this._options.path,this._isRedirect){var s=0,t=this,r=this._requestBodyBuffers;!function e(n){if(i===t._currentRequest)if(n)t.emit("error",n);else if(s<r.length){var a=r[s++];i.finished||i.write(a.data,a.encoding,e)}else t._ended&&i.end()}()}},Ra.prototype._processResponse=function(e){var n=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:n});var a,i=e.headers.location;if(!i||!1===this._options.followRedirects||n<300||n>=400)return e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),void(this._requestBodyBuffers=[]);if(qa(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Sa;var o=this._options.beforeRedirect;o&&(a=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var s=this._options.method;((301===n||302===n)&&"POST"===this._options.method||303===n&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],Na(/^content-/i,this._options.headers));var t,r,c=Na(/^host$/i,this._options.headers),l=Aa(this._currentUrl),p=c||l.host,u=/^\w+:/.test(i)?this._currentUrl:_.format(Object.assign(l,{host:p})),d=(t=i,r=u,ya?new ga(t,r):Aa(_.resolve(r,t)));xa("redirecting to",d.href),this._isRedirect=!0,$a(d,this._options),(d.protocol!==l.protocol&&"https:"!==d.protocol||d.host!==p&&!function(e,n){k(Ia(e)&&Ia(n));var a=e.length-n.length-1;return a>0&&"."===e[a]&&e.endsWith(n)}(d.host,p))&&Na(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Pa(o)&&(o(this._options,{headers:e.headers,statusCode:n},{url:u,method:s,headers:a}),this._sanitizeOptions(this._options)),this._performRequest()};var Ba=Oa({http:y,https:w});Ba.wrap=Oa;const Da="1.7.4";function Wa(e){const n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return n&&n[1]||""}const Ma=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/,Ha=Symbol("internals");var Ga=class extends h.Transform{constructor(e){super({readableHighWaterMark:(e=Be.toFlatObject(e,{maxRate:0,chunkSize:65536,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(e,n)=>!Be.isUndefined(n[e]))).chunkSize});const n=this[Ha]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",e=>{"progress"===e&&(n.isCaptured||(n.isCaptured=!0))})}_read(e){const n=this[Ha];return n.onReadCallback&&n.onReadCallback(),super._read(e)}_transform(e,n,a){const i=this[Ha],o=i.maxRate,s=this.readableHighWaterMark,t=i.timeWindow,r=o/(1e3/t),c=!1!==i.minChunkSize?Math.max(i.minChunkSize,.01*r):0,l=(e,n)=>{const a=Buffer.byteLength(e);i.bytesSeen+=a,i.bytes+=a,i.isCaptured&&this.emit("progress",i.bytesSeen),this.push(e)?process.nextTick(n):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(n)}},p=(e,n)=>{const a=Buffer.byteLength(e);let p,u=null,d=s,m=0;if(o){const e=Date.now();(!i.ts||(m=e-i.ts)>=t)&&(i.ts=e,p=r-i.bytes,i.bytes=p<0?-p:0,m=0),p=r-i.bytes}if(o){if(p<=0)return setTimeout(()=>{n(null,e)},t-m);p<d&&(d=p)}d&&a>d&&a-d>c&&(u=e.subarray(d),e=e.subarray(0,d)),l(e,u?()=>{process.nextTick(n,null,u)}:n)};p(e,function e(n,i){if(n)return a(n);i?p(i,e):a(null)})}};const{asyncIterator:Ja}=Symbol;var Ka=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[Ja]?yield*e[Ja]():yield e};const Va=Be.ALPHABET.ALPHA_DIGIT+"-_",Ya=new f,Za="\r\n",Xa=Ya.encode(Za);class Qa{constructor(e,n){const{escapeName:a}=this.constructor,i=Be.isString(n);let o=`Content-Disposition: form-data; name="${a(e)}"${!i&&n.name?`; filename="${a(n.name)}"`:""}${Za}`;i?n=Ya.encode(String(n).replace(/\r?\n|\r\n?/g,Za)):o+=`Content-Type: ${n.type||"application/octet-stream"}${Za}`,this.headers=Ya.encode(o+Za),this.contentLength=i?n.byteLength:n.size,this.size=this.headers.byteLength+this.contentLength+2,this.name=e,this.value=n}async*encode(){yield this.headers;const{value:e}=this;Be.isTypedArray(e)?yield e:yield*Ka(e),yield Xa}static escapeName(e){return String(e).replace(/[\r\n"]/g,e=>({"\r":"%0D","\n":"%0A",'"':"%22"}[e]))}}var ei=class extends h.Transform{__transform(e,n,a){this.push(e),a()}_transform(e,n,a){if(0!==e.length&&(this._transform=this.__transform,120!==e[0])){const e=Buffer.alloc(2);e[0]=120,e[1]=156,this.push(e,n)}this.__transform(e,n,a)}},ni=(e,n)=>Be.isAsyncFn(e)?function(...a){const i=a.pop();e.apply(this,a).then(e=>{try{n?i(null,...n(e)):i(null,e)}catch(e){i(e)}},i)}:e;const ai=(e,n,a=3)=>{let i=0;const o=function(e,n){e=e||10;const a=new Array(e),i=new Array(e);let o,s=0,t=0;return n=void 0!==n?n:1e3,function(r){const c=Date.now(),l=i[t];o||(o=c),a[s]=r,i[s]=c;let p=t,u=0;for(;p!==s;)u+=a[p++],p%=e;if(s=(s+1)%e,s===t&&(t=(t+1)%e),c-o<n)return;const d=l&&c-l;return d?Math.round(1e3*u/d):void 0}}(50,250);return function(e,n){let a,i,o=0,s=1e3/n;const t=(n,s=Date.now())=>{o=s,a=null,i&&(clearTimeout(i),i=null),e.apply(null,n)};return[(...e)=>{const n=Date.now(),r=n-o;r>=s?t(e,n):(a=e,i||(i=setTimeout(()=>{i=null,t(a)},s-r)))},()=>a&&t(a)]}(a=>{const s=a.loaded,t=a.lengthComputable?a.total:void 0,r=s-i,c=o(r);i=s,e({loaded:s,total:t,progress:t?s/t:void 0,bytes:r,rate:c||void 0,estimated:c&&t&&s<=t?(t-s)/c:void 0,event:a,lengthComputable:null!=t,[n?"download":"upload"]:!0})},a)},ii=(e,n)=>{const a=null!=e;return[i=>n[0]({lengthComputable:a,total:e,loaded:i}),n[1]]},oi=e=>(...n)=>Be.asap(()=>e(...n)),si={flush:E.constants.Z_SYNC_FLUSH,finishFlush:E.constants.Z_SYNC_FLUSH},ti={flush:E.constants.BROTLI_OPERATION_FLUSH,finishFlush:E.constants.BROTLI_OPERATION_FLUSH},ri=Be.isFunction(E.createBrotliDecompress),{http:ci,https:li}=Ba,pi=/https:?/,ui=An.protocols.map(e=>e+":"),di=(e,[n,a])=>(e.on("end",a).on("error",a),n);function mi(e,n){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,n)}function fi(e,n,a){let i=n;if(!i&&!1!==i){const e=function(e){var n="string"==typeof e?Vn(e):e||{},a=n.protocol,i=n.host,o=n.port;if("string"!=typeof i||!i||"string"!=typeof a)return"";if(a=a.split(":",1)[0],!function(e,n){var a=(Xn("npm_config_no_proxy")||Xn("no_proxy")).toLowerCase();return!a||"*"!==a&&a.split(/[,\s]/).every(function(a){if(!a)return!0;var i=a.match(/^(.+):(\d+)$/),o=i?i[1]:a,s=i?parseInt(i[2]):0;return!(!s||s===n)||(/^[.*]/.test(o)?("*"===o.charAt(0)&&(o=o.slice(1)),!Zn.call(e,o)):e!==o)})}(i=i.replace(/:\d*$/,""),o=parseInt(o)||Yn[a]||0))return"";var s=Xn("npm_config_"+a+"_proxy")||Xn(a+"_proxy")||Xn("npm_config_proxy")||Xn("all_proxy");return s&&-1===s.indexOf("://")&&(s=a+"://"+s),s}(a);e&&(i=new URL(e))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));const n=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+n}e.headers.host=e.hostname+(e.port?":"+e.port:"");const n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=a,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(e){fi(e,n,e.href)}}const hi="undefined"!=typeof process&&"process"===Be.kindOf(process),vi=(e,n)=>(({address:e,family:n})=>{if(!Be.isString(e))throw TypeError("address must be a string");return{address:e,family:n||(e.indexOf(".")<0?6:4)}})(Be.isObject(e)?e:{address:e,family:n});var xi=hi&&function(e){return n=async function(n,a,i){let{data:o,lookup:s,family:t}=e;const{responseType:r,responseEncoding:c}=e,l=e.method.toUpperCase();let p,u,d=!1;if(s){const e=ni(s,e=>Be.isArray(e)?e:[e]);s=(n,a,i)=>{e(n,a,(e,n,o)=>{if(e)return i(e);const s=Be.isArray(n)?n.map(e=>vi(e)):[vi(n,o)];a.all?i(e,s):i(e,s[0].address,s[0].family)})}}const f=new C,x=()=>{e.cancelToken&&e.cancelToken.unsubscribe(g),e.signal&&e.signal.removeEventListener("abort",g),f.removeAllListeners()};function g(n){f.emit("abort",!n||n.type?new Gn(null,e,u):n)}i((e,n)=>{p=!0,n&&(d=!0,x())}),f.once("abort",a),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(g),e.signal&&(e.signal.aborted?g():e.signal.addEventListener("abort",g)));const b=Kn(e.baseURL,e.url),_=new URL(b,Be.hasBrowserEnv?An.origin:void 0),k=_.protocol||ui[0];if("data:"===k){let i;if("GET"!==l)return Jn(n,a,{status:405,statusText:"method not allowed",headers:{},config:e});try{i=function(e,n,a){const i=a&&a.Blob||An.classes.Blob,o=Wa(e);if(void 0===n&&i&&(n=!0),"data"===o){e=o.length?e.slice(o.length+1):e;const a=Ma.exec(e);if(!a)throw new De("Invalid URL",De.ERR_INVALID_URL);const s=a[1],t=a[2],r=Buffer.from(decodeURIComponent(a[3]),t?"base64":"utf8");if(n){if(!i)throw new De("Blob is not supported",De.ERR_NOT_SUPPORT);return new i([r],{type:s})}return r}throw new De("Unsupported protocol "+o,De.ERR_NOT_SUPPORT)}(e.url,"blob"===r,{Blob:e.env&&e.env.Blob})}catch(n){throw De.from(n,De.ERR_BAD_REQUEST,e)}return"text"===r?(i=i.toString(c),c&&"utf8"!==c||(i=Be.stripBOM(i))):"stream"===r&&(i=h.Readable.from(i)),Jn(n,a,{data:i,status:200,statusText:"OK",headers:new Wn,config:e})}if(-1===ui.indexOf(k))return a(new De("Unsupported protocol "+k,De.ERR_BAD_REQUEST,e));const j=Wn.from(e.headers).normalize();j.set("User-Agent","axios/"+Da,!1);const{onUploadProgress:T,onDownloadProgress:S}=e,z=e.maxRate;let R,O;if(Be.isSpecCompliantForm(o)){const e=j.getContentType(/boundary=([-_\w\d]{10,70})/i);o=((e,n,a)=>{const{tag:i="form-data-boundary",size:o=25,boundary:s=i+"-"+Be.generateString(o,Va)}=a||{};if(!Be.isFormData(e))throw TypeError("FormData instance required");if(s.length<1||s.length>70)throw Error("boundary must be 10-70 characters long");const t=Ya.encode("--"+s+Za),r=Ya.encode("--"+s+"--"+Za+Za);let c=r.byteLength;const l=Array.from(e.entries()).map(([e,n])=>{const a=new Qa(e,n);return c+=a.size,a});c+=t.byteLength*l.length,c=Be.toFiniteNumber(c);const p={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(c)&&(p["Content-Length"]=c),n&&n(p),v.from(async function*(){for(const e of l)yield t,yield*e.encode();yield r}())})(o,e=>{j.set(e)},{tag:`axios-${Da}-boundary`,boundary:e&&e[1]||void 0})}else if(Be.isFormData(o)&&Be.isFunction(o.getHeaders)){if(j.set(o.getHeaders()),!j.hasContentLength())try{const e=await m.promisify(o.getLength).call(o);Number.isFinite(e)&&e>=0&&j.setContentLength(e)}catch(e){}}else if(Be.isBlob(o))o.size&&j.setContentType(o.type||"application/octet-stream"),j.setContentLength(o.size||0),o=h.Readable.from(Ka(o));else if(o&&!Be.isStream(o)){if(Buffer.isBuffer(o));else if(Be.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else{if(!Be.isString(o))return a(new De("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",De.ERR_BAD_REQUEST,e));o=Buffer.from(o,"utf-8")}if(j.setContentLength(o.length,!1),e.maxBodyLength>-1&&o.length>e.maxBodyLength)return a(new De("Request body larger than maxBodyLength limit",De.ERR_BAD_REQUEST,e))}const F=Be.toFiniteNumber(j.getContentLength());let A,L;Be.isArray(z)?(R=z[0],O=z[1]):R=O=z,o&&(T||R)&&(Be.isStream(o)||(o=h.Readable.from(o,{objectMode:!1})),o=h.pipeline([o,new Ga({maxRate:Be.toFiniteNumber(R)})],Be.noop),T&&o.on("progress",di(o,ii(F,ai(oi(T),!1,3))))),e.auth&&(A=(e.auth.username||"")+":"+(e.auth.password||"")),!A&&_.username&&(A=_.username+":"+_.password),A&&j.delete("authorization");try{L=Sn(_.pathname+_.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(n){const i=new Error(n.message);return i.config=e,i.url=e.url,i.exists=!0,a(i)}j.set("Accept-Encoding","gzip, compress, deflate"+(ri?", br":""),!1);const $={path:L,method:l,headers:j.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:A,protocol:k,family:t,beforeRedirect:mi,beforeRedirects:{}};let N;!Be.isUndefined(s)&&($.lookup=s),e.socketPath?$.socketPath=e.socketPath:($.hostname=_.hostname,$.port=_.port,fi($,e.proxy,k+"//"+_.hostname+(_.port?":"+_.port:"")+$.path));const U=pi.test($.protocol);if($.agent=U?e.httpsAgent:e.httpAgent,e.transport?N=e.transport:0===e.maxRedirects?N=U?w:y:(e.maxRedirects&&($.maxRedirects=e.maxRedirects),e.beforeRedirect&&($.beforeRedirects.config=e.beforeRedirect),N=U?li:ci),$.maxBodyLength=e.maxBodyLength>-1?e.maxBodyLength:Infinity,e.insecureHTTPParser&&($.insecureHTTPParser=e.insecureHTTPParser),u=N.request($,function(i){if(u.destroyed)return;const o=[i],s=+i.headers["content-length"];if(S||O){const e=new Ga({maxRate:Be.toFiniteNumber(O)});S&&e.on("progress",di(e,ii(s,ai(oi(S),!0,3)))),o.push(e)}let t=i;const p=i.req||u;if(!1!==e.decompress&&i.headers["content-encoding"])switch("HEAD"!==l&&204!==i.statusCode||delete i.headers["content-encoding"],(i.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":o.push(E.createUnzip(si)),delete i.headers["content-encoding"];break;case"deflate":o.push(new ei),o.push(E.createUnzip(si)),delete i.headers["content-encoding"];break;case"br":ri&&(o.push(E.createBrotliDecompress(ti)),delete i.headers["content-encoding"])}t=o.length>1?h.pipeline(o,Be.noop):o[0];const m=h.finished(t,()=>{m(),x()}),v={status:i.statusCode,statusText:i.statusMessage,headers:new Wn(i.headers),config:e,request:p};if("stream"===r)v.data=t,Jn(n,a,v);else{const i=[];let o=0;t.on("data",function(n){i.push(n),o+=n.length,e.maxContentLength>-1&&o>e.maxContentLength&&(d=!0,t.destroy(),a(new De("maxContentLength size of "+e.maxContentLength+" exceeded",De.ERR_BAD_RESPONSE,e,p)))}),t.on("aborted",function(){if(d)return;const n=new De("maxContentLength size of "+e.maxContentLength+" exceeded",De.ERR_BAD_RESPONSE,e,p);t.destroy(n),a(n)}),t.on("error",function(n){u.destroyed||a(De.from(n,null,e,p))}),t.on("end",function(){try{let e=1===i.length?i[0]:Buffer.concat(i);"arraybuffer"!==r&&(e=e.toString(c),c&&"utf8"!==c||(e=Be.stripBOM(e))),v.data=e}catch(n){return a(De.from(n,null,e,v.request,v))}Jn(n,a,v)})}f.once("abort",e=>{t.destroyed||(t.emit("error",e),t.destroy())})}),f.once("abort",e=>{a(e),u.destroy(e)}),u.on("error",function(n){a(De.from(n,null,e,u))}),u.on("socket",function(e){e.setKeepAlive(!0,6e4)}),e.timeout){const n=parseInt(e.timeout,10);if(Number.isNaN(n))return void a(new De("error trying to parse `config.timeout` to int",De.ERR_BAD_OPTION_VALUE,e,u));u.setTimeout(n,function(){if(p)return;let n=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";e.timeoutErrorMessage&&(n=e.timeoutErrorMessage),a(new De(n,(e.transitional||Cn).clarifyTimeoutError?De.ETIMEDOUT:De.ECONNABORTED,e,u)),g()})}if(Be.isStream(o)){let n=!1,a=!1;o.on("end",()=>{n=!0}),o.once("error",e=>{a=!0,u.destroy(e)}),o.on("close",()=>{n||a||g(new Gn("Request stream has been aborted",e,u))}),o.pipe(u)}else u.end(o)},new Promise((e,a)=>{let i,o;const s=(e,n)=>{o||(o=!0,i&&i(e,n))},t=e=>{s(e,!0),a(e)};n(n=>{s(n),e(n)},t,e=>i=e).catch(t)});var n},gi=An.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let a;function i(a){let i=a;return e&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return a=i(window.location.href),function(e){const n=Be.isString(e)?i(e):e;return n.protocol===a.protocol&&n.host===a.host}}():function(){return!0},bi=An.hasStandardBrowserEnv?{write(e,n,a,i,o,s){const t=[e+"="+encodeURIComponent(n)];Be.isNumber(a)&&t.push("expires="+new Date(a).toGMTString()),Be.isString(i)&&t.push("path="+i),Be.isString(o)&&t.push("domain="+o),!0===s&&t.push("secure"),document.cookie=t.join("; ")},read(e){const n=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};const yi=e=>e instanceof Wn?{...e}:e;function wi(e,n){n=n||{};const a={};function i(e,n,a){return Be.isPlainObject(e)&&Be.isPlainObject(n)?Be.merge.call({caseless:a},e,n):Be.isPlainObject(n)?Be.merge({},n):Be.isArray(n)?n.slice():n}function o(e,n,a){return Be.isUndefined(n)?Be.isUndefined(e)?void 0:i(void 0,e,a):i(e,n,a)}function s(e,n){if(!Be.isUndefined(n))return i(void 0,n)}function t(e,n){return Be.isUndefined(n)?Be.isUndefined(e)?void 0:i(void 0,e):i(void 0,n)}function r(a,o,s){return s in n?i(a,o):s in e?i(void 0,a):void 0}const c={url:s,method:s,data:s,baseURL:t,transformRequest:t,transformResponse:t,paramsSerializer:t,timeout:t,timeoutMessage:t,withCredentials:t,withXSRFToken:t,adapter:t,responseType:t,xsrfCookieName:t,xsrfHeaderName:t,onUploadProgress:t,onDownloadProgress:t,decompress:t,maxContentLength:t,maxBodyLength:t,beforeRedirect:t,transport:t,httpAgent:t,httpsAgent:t,cancelToken:t,socketPath:t,responseEncoding:t,validateStatus:r,headers:(e,n)=>o(yi(e),yi(n),!0)};return Be.forEach(Object.keys(Object.assign({},e,n)),function(i){const s=c[i]||o,t=s(e[i],n[i],i);Be.isUndefined(t)&&s!==r||(a[i]=t)}),a}var _i=e=>{const n=wi({},e);let a,{data:i,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:t,headers:r,auth:c}=n;if(n.headers=r=Wn.from(r),n.url=Sn(Kn(n.baseURL,n.url),e.params,e.paramsSerializer),c&&r.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),Be.isFormData(i))if(An.hasStandardBrowserEnv||An.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if(!1!==(a=r.getContentType())){const[e,...n]=a?a.split(";").map(e=>e.trim()).filter(Boolean):[];r.setContentType([e||"multipart/form-data",...n].join("; "))}if(An.hasStandardBrowserEnv&&(o&&Be.isFunction(o)&&(o=o(n)),o||!1!==o&&gi(n.url))){const e=s&&t&&bi.read(t);e&&r.set(s,e)}return n},ki="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(n,a){const i=_i(e);let o=i.data;const s=Wn.from(i.headers).normalize();let t,r,c,l,p,{responseType:u,onUploadProgress:d,onDownloadProgress:m}=i;function f(){l&&l(),p&&p(),i.cancelToken&&i.cancelToken.unsubscribe(t),i.signal&&i.signal.removeEventListener("abort",t)}let h=new XMLHttpRequest;function v(){if(!h)return;const i=Wn.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders());Jn(function(e){n(e),f()},function(e){a(e),f()},{data:u&&"text"!==u&&"json"!==u?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:i,config:e,request:h}),h=null}h.open(i.method.toUpperCase(),i.url,!0),h.timeout=i.timeout,"onloadend"in h?h.onloadend=v:h.onreadystatechange=function(){h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))&&setTimeout(v)},h.onabort=function(){h&&(a(new De("Request aborted",De.ECONNABORTED,e,h)),h=null)},h.onerror=function(){a(new De("Network Error",De.ERR_NETWORK,e,h)),h=null},h.ontimeout=function(){let n=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";i.timeoutErrorMessage&&(n=i.timeoutErrorMessage),a(new De(n,(i.transitional||Cn).clarifyTimeoutError?De.ETIMEDOUT:De.ECONNABORTED,e,h)),h=null},void 0===o&&s.setContentType(null),"setRequestHeader"in h&&Be.forEach(s.toJSON(),function(e,n){h.setRequestHeader(n,e)}),Be.isUndefined(i.withCredentials)||(h.withCredentials=!!i.withCredentials),u&&"json"!==u&&(h.responseType=i.responseType),m&&([c,p]=ai(m,!0),h.addEventListener("progress",c)),d&&h.upload&&([r,l]=ai(d),h.upload.addEventListener("progress",r),h.upload.addEventListener("loadend",l)),(i.cancelToken||i.signal)&&(t=n=>{h&&(a(!n||n.type?new Gn(null,e,h):n),h.abort(),h=null)},i.cancelToken&&i.cancelToken.subscribe(t),i.signal&&(i.signal.aborted?t():i.signal.addEventListener("abort",t)));const x=Wa(i.url);x&&-1===An.protocols.indexOf(x)?a(new De("Unsupported protocol "+x+":",De.ERR_BAD_REQUEST,e)):h.send(o||null)})},ji=(e,n)=>{let a,i=new AbortController;const o=function(e){if(!a){a=!0,t();const n=e instanceof Error?e:this.reason;i.abort(n instanceof De?n:new Gn(n instanceof Error?n.message:n))}};let s=n&&setTimeout(()=>{o(new De(`timeout ${n} of ms exceeded`,De.ETIMEDOUT))},n);const t=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))}),e=null)};e.forEach(e=>e&&e.addEventListener&&e.addEventListener("abort",o));const{signal:r}=i;return r.unsubscribe=t,[r,()=>{s&&clearTimeout(s),s=null}]};const Ti=function*(e,n){let a=e.byteLength;if(!n||a<n)return void(yield e);let i,o=0;for(;o<a;)i=o+n,yield e.slice(o,i),o=i},Si=(e,n,a,i,o)=>{const s=async function*(e,n,a){for await(const i of e)yield*Ti(ArrayBuffer.isView(i)?i:await a(String(i)),n)}(e,n,o);let t,r=0,c=e=>{t||(t=!0,i&&i(e))};return new ReadableStream({async pull(e){try{const{done:n,value:i}=await s.next();if(n)return c(),void e.close();if(a){let e=r+=i.byteLength;a(e)}e.enqueue(new Uint8Array(i))}catch(e){throw c(e),e}},cancel:e=>(c(e),s.return())},{highWaterMark:2})},Ei="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Ci=Ei&&"function"==typeof ReadableStream,zi=Ei&&("function"==typeof TextEncoder?(Ri=new TextEncoder,e=>Ri.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Ri;const Oi=(e,...n)=>{try{return!!e(...n)}catch(e){return!1}},Fi=Ci&&Oi(()=>{let e=!1;const n=new Request(An.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!n}),Ai=Ci&&Oi(()=>Be.isReadableStream(new Response("").body)),Li={stream:Ai&&(e=>e.body)};var $i;Ei&&($i=new Response,["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Li[e]&&(Li[e]=Be.isFunction($i[e])?n=>n[e]():(n,a)=>{throw new De(`Response type '${e}' is not supported`,De.ERR_NOT_SUPPORT,a)})}));var Ni=Ei&&(async e=>{let{url:n,method:a,data:i,signal:o,cancelToken:s,timeout:t,onDownloadProgress:r,onUploadProgress:c,responseType:l,headers:p,withCredentials:u="same-origin",fetchOptions:d}=_i(e);l=l?(l+"").toLowerCase():"text";let m,f,[h,v]=o||s||t?ji([o,s],t):[];const x=()=>{!m&&setTimeout(()=>{h&&h.unsubscribe()}),m=!0};let g;try{if(c&&Fi&&"get"!==a&&"head"!==a&&0!==(g=await(async(e,n)=>{const a=Be.toFiniteNumber(e.getContentLength());return null==a?(async e=>null==e?0:Be.isBlob(e)?e.size:Be.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:Be.isArrayBufferView(e)||Be.isArrayBuffer(e)?e.byteLength:(Be.isURLSearchParams(e)&&(e+=""),Be.isString(e)?(await zi(e)).byteLength:void 0))(n):a})(p,i))){let e,a=new Request(n,{method:"POST",body:i,duplex:"half"});if(Be.isFormData(i)&&(e=a.headers.get("content-type"))&&p.setContentType(e),a.body){const[e,n]=ii(g,ai(oi(c)));i=Si(a.body,65536,e,n,zi)}}Be.isString(u)||(u=u?"include":"omit"),f=new Request(n,{...d,signal:h,method:a.toUpperCase(),headers:p.normalize().toJSON(),body:i,duplex:"half",credentials:u});let o=await fetch(f);const s=Ai&&("stream"===l||"response"===l);if(Ai&&(r||s)){const e={};["status","statusText","headers"].forEach(n=>{e[n]=o[n]});const n=Be.toFiniteNumber(o.headers.get("content-length")),[a,i]=r&&ii(n,ai(oi(r),!0))||[];o=new Response(Si(o.body,65536,a,()=>{i&&i(),s&&x()},zi),e)}l=l||"text";let t=await Li[Be.findKey(Li,l)||"text"](o,e);return!s&&x(),v&&v(),await new Promise((n,a)=>{Jn(n,a,{data:t,headers:Wn.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:f})})}catch(n){if(x(),n&&"TypeError"===n.name&&/fetch/i.test(n.message))throw Object.assign(new De("Network Error",De.ERR_NETWORK,e,f),{cause:n.cause||n});throw De.from(n,n&&n.code,e,f)}});const Ui={http:xi,xhr:ki,fetch:Ni};Be.forEach(Ui,(e,n)=>{if(e){try{Object.defineProperty(e,"name",{value:n})}catch(e){}Object.defineProperty(e,"adapterName",{value:n})}});const qi=e=>`- ${e}`,Ii=e=>Be.isFunction(e)||null===e||!1===e;var Pi=e=>{e=Be.isArray(e)?e:[e];const{length:n}=e;let a,i;const o={};for(let s=0;s<n;s++){let n;if(a=e[s],i=a,!Ii(a)&&(i=Ui[(n=String(a)).toLowerCase()],void 0===i))throw new De(`Unknown adapter '${n}'`);if(i)break;o[n||"#"+s]=i}if(!i){const e=Object.entries(o).map(([e,n])=>`adapter ${e} `+(!1===n?"is not supported by the environment":"is not available in the build"));throw new De("There is no suitable adapter to dispatch the request "+(n?e.length>1?"since :\n"+e.map(qi).join("\n"):" "+qi(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return i};function Bi(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Gn(null,e)}function Di(e){return Bi(e),e.headers=Wn.from(e.headers),e.data=Mn.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Pi(e.adapter||Nn.adapter)(e).then(function(n){return Bi(e),n.data=Mn.call(e,e.transformResponse,n),n.headers=Wn.from(n.headers),n},function(n){return Hn(n)||(Bi(e),n&&n.response&&(n.response.data=Mn.call(e,e.transformResponse,n.response),n.response.headers=Wn.from(n.response.headers))),Promise.reject(n)})}const Wi={};["object","boolean","number","function","string","symbol"].forEach((e,n)=>{Wi[e]=function(a){return typeof a===e||"a"+(n<1?"n ":" ")+e}});const Mi={};Wi.transitional=function(e,n,a){function i(e,n){return"[Axios v1.7.4] Transitional option '"+e+"'"+n+(a?". "+a:"")}return(a,o,s)=>{if(!1===e)throw new De(i(o," has been removed"+(n?" in "+n:"")),De.ERR_DEPRECATED);return n&&!Mi[o]&&(Mi[o]=!0,console.warn(i(o," has been deprecated since v"+n+" and will be removed in the near future"))),!e||e(a,o,s)}};var Hi={assertOptions:function(e,n,a){if("object"!=typeof e)throw new De("options must be an object",De.ERR_BAD_OPTION_VALUE);const i=Object.keys(e);let o=i.length;for(;o-- >0;){const s=i[o],t=n[s];if(t){const n=e[s],a=void 0===n||t(n,s,e);if(!0!==a)throw new De("option "+s+" must be "+a,De.ERR_BAD_OPTION_VALUE)}else if(!0!==a)throw new De("Unknown option "+s,De.ERR_BAD_OPTION)}},validators:Wi};const Gi=Hi.validators;class Ji{constructor(e){this.defaults=e,this.interceptors={request:new En,response:new En}}async request(e,n){try{return await this._request(e,n)}catch(e){if(e instanceof Error){let n;Error.captureStackTrace?Error.captureStackTrace(n={}):n=new Error;const a=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.stack?a&&!String(e.stack).endsWith(a.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+a):e.stack=a}catch(e){}}throw e}}_request(e,n){"string"==typeof e?(n=n||{}).url=e:n=e||{},n=wi(this.defaults,n);const{transitional:a,paramsSerializer:i,headers:o}=n;void 0!==a&&Hi.assertOptions(a,{silentJSONParsing:Gi.transitional(Gi.boolean),forcedJSONParsing:Gi.transitional(Gi.boolean),clarifyTimeoutError:Gi.transitional(Gi.boolean)},!1),null!=i&&(Be.isFunction(i)?n.paramsSerializer={serialize:i}:Hi.assertOptions(i,{encode:Gi.function,serialize:Gi.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=o&&Be.merge(o.common,o[n.method]);o&&Be.forEach(["delete","get","head","post","put","patch","common"],e=>{delete o[e]}),n.headers=Wn.concat(s,o);const t=[];let r=!0;this.interceptors.request.forEach(function(e){"function"==typeof e.runWhen&&!1===e.runWhen(n)||(r=r&&e.synchronous,t.unshift(e.fulfilled,e.rejected))});const c=[];let l;this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let p,u=0;if(!r){const e=[Di.bind(this),void 0];for(e.unshift.apply(e,t),e.push.apply(e,c),p=e.length,l=Promise.resolve(n);u<p;)l=l.then(e[u++],e[u++]);return l}p=t.length;let d=n;for(u=0;u<p;){const e=t[u++],n=t[u++];try{d=e(d)}catch(e){n.call(this,e);break}}try{l=Di.call(this,d)}catch(e){return Promise.reject(e)}for(u=0,p=c.length;u<p;)l=l.then(c[u++],c[u++]);return l}getUri(e){return Sn(Kn((e=wi(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}Be.forEach(["delete","get","head","options"],function(e){Ji.prototype[e]=function(n,a){return this.request(wi(a||{},{method:e,url:n,data:(a||{}).data}))}}),Be.forEach(["post","put","patch"],function(e){function n(n){return function(a,i,o){return this.request(wi(o||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:a,data:i}))}}Ji.prototype[e]=n(),Ji.prototype[e+"Form"]=n(!0)});var Ki=Ji;class Vi{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(e){n=e});const a=this;this.promise.then(e=>{if(!a._listeners)return;let n=a._listeners.length;for(;n-- >0;)a._listeners[n](e);a._listeners=null}),this.promise.then=e=>{let n;const i=new Promise(e=>{a.subscribe(e),n=e}).then(e);return i.cancel=function(){a.unsubscribe(n)},i},e(function(e,i,o){a.reason||(a.reason=new Gn(e,i,o),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);-1!==n&&this._listeners.splice(n,1)}static source(){let e;return{token:new Vi(function(n){e=n}),cancel:e}}}var Yi=Vi;const Zi={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(Zi).forEach(([e,n])=>{Zi[n]=e});var Xi=Zi;const Qi=function e(n){const a=new Ki(n),i=Z(Ki.prototype.request,a);return Be.extend(i,Ki.prototype,a,{allOwnKeys:!0}),Be.extend(i,a,null,{allOwnKeys:!0}),i.create=function(a){return e(wi(n,a))},i}(Nn);Qi.Axios=Ki,Qi.CanceledError=Gn,Qi.CancelToken=Yi,Qi.isCancel=Hn,Qi.VERSION=Da,Qi.toFormData=wn,Qi.AxiosError=De,Qi.Cancel=Qi.CanceledError,Qi.all=function(e){return Promise.all(e)},Qi.spread=function(e){return function(n){return e.apply(null,n)}},Qi.isAxiosError=function(e){return Be.isObject(e)&&!0===e.isAxiosError},Qi.mergeConfig=wi,Qi.AxiosHeaders=Wn,Qi.formToJSON=e=>Ln(Be.isHTMLForm(e)?new FormData(e):e),Qi.getAdapter=Pi,Qi.HttpStatusCode=Xi,Qi.default=Qi;var eo=Qi;const{CanceledError:no}=eo,ao=/screenshot(\-\d+?)?\.needle\.(webp|png|jpg|jpeg)/;function io(e){return!!e.endsWith("screenshot.needle.webp")||!!ao.test(e)||!!e.endsWith(".needle.log")}async function oo(e,n){const a=n.baseUrl+G.jobs.post_update,i={...J(n),job_id:e.identifier,status:e.status},o={status_message:e.status_message,error:e.error,progress:e.progress},s=await fetch(a,{...K,method:"POST",headers:i,body:JSON.stringify(o)}).catch(e=>(console.error(e),null));return!!s&&s.ok}async function so(e,n){const a=n.baseUrl+G.jobs.get_status,i={...J(n),job_id:e,org:n.org},o=await fetch(a,{...K,method:"GET",headers:i}).catch(e=>(console.error(e),null));return o?o.ok?await o.json():(console.error("Failed to get status",o.status,await o.text()),null):null}var to=Xe(function(e){!function(){var n="input is invalid type",a="object"==typeof window,i=a?window:{};i.JS_MD5_NO_WINDOW&&(a=!1);var o=!a&&"object"==typeof self,s=!i.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;s?i=Ze:o&&(i=self);var t,r=!i.JS_MD5_NO_COMMON_JS&&e.exports,c=!i.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,l="0123456789abcdef".split(""),p=[128,32768,8388608,-2147483648],u=[0,8,16,24],d=["hex","array","digest","buffer","arrayBuffer","base64"],m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),f=[];if(c){var h=new ArrayBuffer(68);t=new Uint8Array(h),f=new Uint32Array(h)}var v=Array.isArray;!i.JS_MD5_NO_NODE_JS&&v||(v=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var x=ArrayBuffer.isView;!c||!i.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&x||(x=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var g=function(e){var a=typeof e;if("string"===a)return[e,!0];if("object"!==a||null===e)throw new Error(n);if(c&&e.constructor===ArrayBuffer)return[new Uint8Array(e),!1];if(!v(e)&&!x(e))throw new Error(n);return[e,!1]},b=function(e){return function(n){return new w(!0).update(n)[e]()}},y=function(e){return function(n,a){return new _(n,!0).update(a)[e]()}};function w(e){if(e)f[0]=f[16]=f[1]=f[2]=f[3]=f[4]=f[5]=f[6]=f[7]=f[8]=f[9]=f[10]=f[11]=f[12]=f[13]=f[14]=f[15]=0,this.blocks=f,this.buffer8=t;else if(c){var n=new ArrayBuffer(68);this.buffer8=new Uint8Array(n),this.blocks=new Uint32Array(n)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}function _(e,n){var a,i=g(e);if(e=i[0],i[1]){var o,s=[],t=e.length,r=0;for(a=0;a<t;++a)(o=e.charCodeAt(a))<128?s[r++]=o:o<2048?(s[r++]=192|o>>>6,s[r++]=128|63&o):o<55296||o>=57344?(s[r++]=224|o>>>12,s[r++]=128|o>>>6&63,s[r++]=128|63&o):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++a)),s[r++]=240|o>>>18,s[r++]=128|o>>>12&63,s[r++]=128|o>>>6&63,s[r++]=128|63&o);e=s}e.length>64&&(e=new w(!0).update(e).array());var c=[],l=[];for(a=0;a<64;++a){var p=e[a]||0;c[a]=92^p,l[a]=54^p}w.call(this,n),this.update(l),this.oKeyPad=c,this.inner=!0,this.sharedMemory=n}w.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");for(var n,a,i=g(e),o=i[1],s=0,t=(e=i[0]).length,r=this.blocks,l=this.buffer8;s<t;){if(this.hashed&&(this.hashed=!1,r[0]=r[16],r[16]=r[1]=r[2]=r[3]=r[4]=r[5]=r[6]=r[7]=r[8]=r[9]=r[10]=r[11]=r[12]=r[13]=r[14]=r[15]=0),o)if(c)for(a=this.start;s<t&&a<64;++s)(n=e.charCodeAt(s))<128?l[a++]=n:n<2048?(l[a++]=192|n>>>6,l[a++]=128|63&n):n<55296||n>=57344?(l[a++]=224|n>>>12,l[a++]=128|n>>>6&63,l[a++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++s)),l[a++]=240|n>>>18,l[a++]=128|n>>>12&63,l[a++]=128|n>>>6&63,l[a++]=128|63&n);else for(a=this.start;s<t&&a<64;++s)(n=e.charCodeAt(s))<128?r[a>>>2]|=n<<u[3&a++]:n<2048?(r[a>>>2]|=(192|n>>>6)<<u[3&a++],r[a>>>2]|=(128|63&n)<<u[3&a++]):n<55296||n>=57344?(r[a>>>2]|=(224|n>>>12)<<u[3&a++],r[a>>>2]|=(128|n>>>6&63)<<u[3&a++],r[a>>>2]|=(128|63&n)<<u[3&a++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++s)),r[a>>>2]|=(240|n>>>18)<<u[3&a++],r[a>>>2]|=(128|n>>>12&63)<<u[3&a++],r[a>>>2]|=(128|n>>>6&63)<<u[3&a++],r[a>>>2]|=(128|63&n)<<u[3&a++]);else if(c)for(a=this.start;s<t&&a<64;++s)l[a++]=e[s];else for(a=this.start;s<t&&a<64;++s)r[a>>>2]|=e[s]<<u[3&a++];this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this},w.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,n=this.lastByteIndex;e[n>>>2]|=p[3&n],n>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},w.prototype.hash=function(){var e,n,a,i,o,s,t=this.blocks;this.first?n=((n=((e=((e=t[0]-680876937)<<7|e>>>25)-271733879|0)^(a=((a=(-271733879^(i=((i=(-1732584194^2004318071&e)+t[1]-117830708)<<12|i>>>20)+e|0)&(-271733879^e))+t[2]-1126478375)<<17|a>>>15)+i|0)&(i^e))+t[3]-1316259209)<<22|n>>>10)+a|0:(e=this.h0,n=this.h1,n=((n+=((e=((e+=((i=this.h3)^n&((a=this.h2)^i))+t[0]-680876936)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+t[1]-389564586)<<12|i>>>20)+e|0)&(e^n))+t[2]+606105819)<<17|a>>>15)+i|0)&(i^e))+t[3]-1044525330)<<22|n>>>10)+a|0),n=((n+=((e=((e+=(i^n&(a^i))+t[4]-176418897)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+t[5]+1200080426)<<12|i>>>20)+e|0)&(e^n))+t[6]-1473231341)<<17|a>>>15)+i|0)&(i^e))+t[7]-45705983)<<22|n>>>10)+a|0,n=((n+=((e=((e+=(i^n&(a^i))+t[8]+1770035416)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+t[9]-1958414417)<<12|i>>>20)+e|0)&(e^n))+t[10]-42063)<<17|a>>>15)+i|0)&(i^e))+t[11]-1990404162)<<22|n>>>10)+a|0,n=((n+=((e=((e+=(i^n&(a^i))+t[12]+1804603682)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+t[13]-40341101)<<12|i>>>20)+e|0)&(e^n))+t[14]-1502002290)<<17|a>>>15)+i|0)&(i^e))+t[15]+1236535329)<<22|n>>>10)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+t[1]-165796510)<<5|e>>>27)+n|0)^n))+t[6]-1069501632)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+t[11]+643717713)<<14|a>>>18)+i|0)^i))+t[0]-373897302)<<20|n>>>12)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+t[5]-701558691)<<5|e>>>27)+n|0)^n))+t[10]+38016083)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+t[15]-660478335)<<14|a>>>18)+i|0)^i))+t[4]-405537848)<<20|n>>>12)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+t[9]+568446438)<<5|e>>>27)+n|0)^n))+t[14]-1019803690)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+t[3]-187363961)<<14|a>>>18)+i|0)^i))+t[8]+1163531501)<<20|n>>>12)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+t[13]-1444681467)<<5|e>>>27)+n|0)^n))+t[2]-51403784)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+t[7]+1735328473)<<14|a>>>18)+i|0)^i))+t[12]-1926607734)<<20|n>>>12)+a|0,n=((n+=((s=(i=((i+=((o=n^a)^(e=((e+=(o^i)+t[5]-378558)<<4|e>>>28)+n|0))+t[8]-2022574463)<<11|i>>>21)+e|0)^e)^(a=((a+=(s^n)+t[11]+1839030562)<<16|a>>>16)+i|0))+t[14]-35309556)<<23|n>>>9)+a|0,n=((n+=((s=(i=((i+=((o=n^a)^(e=((e+=(o^i)+t[1]-1530992060)<<4|e>>>28)+n|0))+t[4]+1272893353)<<11|i>>>21)+e|0)^e)^(a=((a+=(s^n)+t[7]-155497632)<<16|a>>>16)+i|0))+t[10]-1094730640)<<23|n>>>9)+a|0,n=((n+=((s=(i=((i+=((o=n^a)^(e=((e+=(o^i)+t[13]+681279174)<<4|e>>>28)+n|0))+t[0]-358537222)<<11|i>>>21)+e|0)^e)^(a=((a+=(s^n)+t[3]-722521979)<<16|a>>>16)+i|0))+t[6]+76029189)<<23|n>>>9)+a|0,n=((n+=((s=(i=((i+=((o=n^a)^(e=((e+=(o^i)+t[9]-640364487)<<4|e>>>28)+n|0))+t[12]-421815835)<<11|i>>>21)+e|0)^e)^(a=((a+=(s^n)+t[15]+530742520)<<16|a>>>16)+i|0))+t[2]-995338651)<<23|n>>>9)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+t[0]-198630844)<<6|e>>>26)+n|0)|~a))+t[7]+1126891415)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+t[14]-1416354905)<<15|a>>>17)+i|0)|~e))+t[5]-57434055)<<21|n>>>11)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+t[12]+1700485571)<<6|e>>>26)+n|0)|~a))+t[3]-1894986606)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+t[10]-1051523)<<15|a>>>17)+i|0)|~e))+t[1]-2054922799)<<21|n>>>11)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+t[8]+1873313359)<<6|e>>>26)+n|0)|~a))+t[15]-30611744)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+t[6]-1560198380)<<15|a>>>17)+i|0)|~e))+t[13]+1309151649)<<21|n>>>11)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+t[4]-145523070)<<6|e>>>26)+n|0)|~a))+t[11]-1120210379)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+t[2]+718787259)<<15|a>>>17)+i|0)|~e))+t[9]-343485551)<<21|n>>>11)+a|0,this.first?(this.h0=e+1732584193|0,this.h1=n-271733879|0,this.h2=a-1732584194|0,this.h3=i+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+n|0,this.h2=this.h2+a|0,this.h3=this.h3+i|0)},w.prototype.toString=w.prototype.hex=function(){this.finalize();var e=this.h0,n=this.h1,a=this.h2,i=this.h3;return l[e>>>4&15]+l[15&e]+l[e>>>12&15]+l[e>>>8&15]+l[e>>>20&15]+l[e>>>16&15]+l[e>>>28&15]+l[e>>>24&15]+l[n>>>4&15]+l[15&n]+l[n>>>12&15]+l[n>>>8&15]+l[n>>>20&15]+l[n>>>16&15]+l[n>>>28&15]+l[n>>>24&15]+l[a>>>4&15]+l[15&a]+l[a>>>12&15]+l[a>>>8&15]+l[a>>>20&15]+l[a>>>16&15]+l[a>>>28&15]+l[a>>>24&15]+l[i>>>4&15]+l[15&i]+l[i>>>12&15]+l[i>>>8&15]+l[i>>>20&15]+l[i>>>16&15]+l[i>>>28&15]+l[i>>>24&15]},w.prototype.array=w.prototype.digest=function(){this.finalize();var e=this.h0,n=this.h1,a=this.h2,i=this.h3;return[255&e,e>>>8&255,e>>>16&255,e>>>24&255,255&n,n>>>8&255,n>>>16&255,n>>>24&255,255&a,a>>>8&255,a>>>16&255,a>>>24&255,255&i,i>>>8&255,i>>>16&255,i>>>24&255]},w.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),n=new Uint32Array(e);return n[0]=this.h0,n[1]=this.h1,n[2]=this.h2,n[3]=this.h3,e},w.prototype.buffer=w.prototype.arrayBuffer,w.prototype.base64=function(){for(var e,n,a,i="",o=this.array(),s=0;s<15;)e=o[s++],n=o[s++],a=o[s++],i+=m[e>>>2]+m[63&(e<<4|n>>>4)]+m[63&(n<<2|a>>>6)]+m[63&a];return i+(m[(e=o[s])>>>2]+m[e<<4&63]+"==")},(_.prototype=new w).finalize=function(){if(w.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();w.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(e),w.prototype.finalize.call(this)}};var k=function(){var e=b("hex");s&&(e=function(e){var a,o=z,s=R.Buffer;return a=s.from&&!i.JS_MD5_NO_BUFFER_FROM?s.from:function(e){return new s(e)},function(i){if("string"==typeof i)return o.createHash("md5").update(i,"utf8").digest("hex");if(null==i)throw new Error(n);return i.constructor===ArrayBuffer&&(i=new Uint8Array(i)),v(i)||x(i)||i.constructor===s?o.createHash("md5").update(a(i)).digest("hex"):e(i)}}(e)),e.create=function(){return new w},e.update=function(n){return e.create().update(n)};for(var a=0;a<d.length;++a){var o=d[a];e[o]=b(o)}return e}();k.md5=k,k.md5.hmac=function(){var e=y("hex");e.create=function(e){return new _(e)},e.update=function(n,a){return e.create(n).update(a)};for(var n=0;n<d.length;++n){var a=d[n];e[a]=y(a)}return e}(),r?e.exports=k:i.md5=k}()});function ro(e,n=0){return uo(e,n,2).getUint16(0,!0)}function co(e,n=0){return uo(e,n,4).getUint32(0,!0)}function lo(e,n=0,a=e.byteLength){const i=e.slice(n,n+a);return mo.decode(new Uint8Array(i))}function po(e,n,a=0){if(e.length<n.length+a)return!1;for(const[i,o]of n.entries())if(null!==o&&o!==e[i+a])return!1;return!0}function uo(e,n,a){const i=e.slice(n,n+a);return new DataView(new Uint8Array(i).buffer)}const mo=new TextDecoder("utf8"),fo=[["db","application/vnd.sqlite3",[83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0]],["woff","font/woff",[119,79,70,70]],["woff2","font/woff2",[119,79,70,50]],["bmp","image/bmp",[66,77]],["gif","image/gif",[71,73,70,56,55,97]],["gif","image/gif",[71,73,70,56,57,97]],["heic","image/heic",[102,116,121,112,104,101,105],{offset:4}],["heic","image/heic",[102,116,121,112,109],{offset:4}],["ico","image/x-icon",[0,0,1,0]],["jpg","image/jpeg",[255,216,255]],["pdf","application/pdf",[37,80,68,70,45]],["png","image/png",[137,80,78,71,13,10,26,10]],["7z","application/x-7z-compressed",[55,122,188,175,39,28]],["rar","application/x-rar-compressed",[82,97,114,33,26,7,0]],["rar","application/x-rar-compressed",[82,97,114,33,26,7,1,0]],["rtf","application/rtf",[123,92,114,116,102,49]],["bz2","application/x-bzip2",[66,90,104]],["gz","application/gzip",[31,139]],["tar","application/x-tar",[117,115,116,97,114,0,48,48],{offset:257}],["tar","application/x-tar",[117,115,116,97,114,32,32,0],{offset:257}],["tif","image/tiff",[73,73,42,0]],["tiff","image/tiff",[77,77,0,42]],["zip","application/zip",[80,75,3,4],{exact:!1}],["zip","application/zip",[80,75,5,6]],["mp3","audio/mp3",[255,251]],["mp3","audio/mp3",[255,243]],["mp3","audio/mp3",[255,242]],["mp3","audio/mp3",[73,68,51]],["mp4","video/mp4",[102,116,121,112,105,115,111,109],{offset:4}],["avi","video/x-msvideo",[82,73,70,70,null,null,null,null,65,86,73,32]],["wav","audio/wav",[82,73,70,70,null,null,null,null,87,65,86,69]],["ogx","application/ogg",[79,103,103,83],{exact:!1},[["oga","audio/ogg",[127,70,76,65,67],{offset:28}],["ogg","audio/ogg",[1,118,111,114,98,105,115],{offset:28}],["ogm","video/ogg",[1,118,105,100,101,111,0],{offset:28}],["ogv","video/ogg",[128,116,104,101,111,114,97],{offset:28}]]],["webp","image/webp",[82,73,70,70,null,null,null,null,87,69,66,80]],["psd","image/vnd.adobe.photoshop",[56,66,80,83]],["flac","audio/x-flac",[102,76,97,67]],["wasm","application/wasm",[0,97,115,109]],["deb","application/x-deb",[33,60,97,114,99,104,62,10]],["exe","application/x-msdownload",[77,90]],["exe","application/x-msdownload",[90,77]],["class","application/java-vm",[202,254,186,190]]];function ho(e){return e.flatMap(([e,n,a,i={},o=[]])=>[[e,n,a,i],...o])}function vo(e,n){const a=ro(e,26),i=lo(e,30,a),[o]=i.split("/"),s=i.endsWith(".xml");return"META-INF"===o?{ext:"jar",mime:"application/java-archive"}:"ppt"===o&&s?{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:"word"===o&&s?{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:"xl"===o&&s?{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}:"mimetype"===o?function(e,n){const a=co(e,18),i=co(e,22),o=ro(e,28);if(a===i){const i=lo(e,30+n+o,a);if("application/vnd.oasis.opendocument.presentation"===i)return{ext:"odp",mime:i};if("application/vnd.oasis.opendocument.spreadsheet"===i)return{ext:"ods",mime:i};if("application/vnd.oasis.opendocument.text"===i)return{ext:"odt",mime:i};if("application/epub+zip"===i)return{ext:"epub",mime:i}}}(e,a)??n:n}const xo=function(e){return ho(e).map(([e,n,a,{offset:i=0}={}])=>a.length+i).reduce((e,n)=>n>e?n:e,0)}(fo);function go(e,n){for(const[a,i,o,{exact:s=!0,offset:t=0}={},r=[]]of n)if(po(e,o,t)){if("zip"===a&&!s)return vo(e.buffer,{ext:a,mime:i});if(!s&&r.length)for(const[n,a,i,{offset:o=0}={}]of r)if(po(e,i,o))return{ext:n,mime:a};return{ext:a,mime:i}}}function bo(e,n,a){let i=0;for(;;){let o=e.indexOf(n,i);if(-1===o)break;i=o+n.length,e=e.replace(n,a)}return e}function yo(e,n,a=void 0){const i=bo(e,"\\","/").split("/").pop()||e,o=(null==a?void 0:a.type)||_o(n,e),s=new File([n],i,{type:o});return s.path=e,s}function wo(e){const n=to.md5.create();return n.update(e),n.base64()}function _o(e,n=void 0){const a=function(e,{extra:n=!1,hint:a}={}){const i=new Uint8Array(e.slice(0,xo));if(a){const e=function(e,{ext:n,mime:a}){return n||a?ho(e).filter(e=>e[0]===n||e[1]===a):[]}(fo,a);if(e.length>0){const n=go(i,e);if(void 0!==n)return n}}return go(i,fo)||(n?function(e){return function(e){try{const n=lo(e);if(!function(e){for(let n=0;n<e.length;n++)try{const a=e.charCodeAt(n);if(65533===a||a<=8)return!1}catch{return!1}return!0}(n))return;try{return JSON.parse(n),{ext:"json",mime:"application/json"}}catch{return{ext:"txt",mime:"text/plain"}}}catch{return}}(e)}(e):void 0)}(e);if(a)return a.mime;const i=new Uint8Array(e).subarray(0,4);let o="";for(var s=0;s<i.length;s++)o+=i[s].toString(16);let t="unknown";switch(o){case"676c5446":t="model/gltf-binary";break;case"89504e47":t="image/png";break;case"ffd8ffe0":case"ffd8ffe1":case"ffd8ffe2":case"ffd8ffe3":case"ffd8ffe8":t="image/jpeg";break;default:t="unknown"}return"unknown"===t&&"string"==typeof n&&(t=function(e){const n=e.toLowerCase();let a="";return n.endsWith(".html")||n.endsWith(".html.gz")?a="text/html":n.endsWith(".js")||n.endsWith(".js.gz")?a="application/javascript":n.endsWith(".wasm")?a="application/wasm":n.endsWith(".css")?a="text/css":n.endsWith(".json")?a="application/json":n.endsWith(".txt")?a="text/plain":n.endsWith(".bin")?a="application/octet-stream":n.endsWith(".png")?a="image/png":n.endsWith(".jpg")||n.endsWith(".jpeg")?a="image/jpeg":n.endsWith(".gif")?a="image/gif":n.endsWith(".webp")?a="image/webp":n.endsWith(".svg")?a="image/svg+xml":n.endsWith(".glb")?a="model/gltf-binary":n.endsWith(".gltf")?a="model/gltf+json":n.endsWith(".vrm")?a="model/gltf-binary":n.endsWith(".usdz")?a="model/vnd.usdz+zip":n.endsWith(".usda")?a="model/vnd.usd-usda":n.endsWith(".usdc")?a="model/vnd.usd-usdc":n.endsWith(".usd")?a="model/vnd.usd-usd":n.endsWith(".mtl")?a="model/mtl":n.endsWith(".obj")?a="model/obj":n.endsWith(".fbx")?a="model/vnd.autodesk.fbx":n.endsWith(".stl")&&(a="model/stl"),a}(n)),t}function ko(e,n){const a=e.toLowerCase();return"application/gzip"===n||"application/brotli"===n?(a.endsWith(".html.gz")||a.endsWith(".html.br")?(n="text/html",e=e.substring(0,e.length-3)):a.endsWith(".js.gz")||a.endsWith(".js.br")||a.endsWith(".mjs.gz")||a.endsWith(".mjs.br")||a.endsWith(".cjs.gz")||a.endsWith(".cjs.br")?(n="application/javascript",e=e.substring(0,e.length-3)):a.endsWith(".css.gz")||a.endsWith(".css.br")?(n="text/css",e=e.substring(0,e.length-3)):a.endsWith(".json.gz")||a.endsWith(".json.br")?(n="text/json",e=e.substring(0,e.length-3)):a.endsWith(".txt.gz")||a.endsWith(".txt.br")?(n="text/plain",e=e.substring(0,e.length-3)):a.endsWith(".wasm.gz")||a.endsWith(".wasm.br")?(n="application/wasm",e=e.substring(0,e.length-3)):a.endsWith(".bin.gz")||a.endsWith(".bin.br")?(n="application/octet-stream",e=e.substring(0,e.length-3)):a.endsWith(".png.gz")||a.endsWith(".png.br")?(n="image/png",e=e.substring(0,e.length-3)):a.endsWith(".jpg.gz")||a.endsWith(".jpg.br")||a.endsWith(".jpeg.gz")||a.endsWith(".jpeg.br")?(n="image/jpeg",e=e.substring(0,e.length-3)):a.endsWith(".gif.gz")||a.endsWith(".gif.br")?(n="image/gif",e=e.substring(0,e.length-3)):a.endsWith(".webp.gz")||a.endsWith(".webp.br")?(n="image/webp",e=e.substring(0,e.length-3)):a.endsWith(".svg.gz")||a.endsWith(".svg.br")?(n="image/svg+xml",e=e.substring(0,e.length-3)):a.endsWith(".ico.gz")||a.endsWith(".ico.br")?(n="image/x-icon",e=e.substring(0,e.length-3)):a.endsWith(".webm.gz")||a.endsWith(".webm.br")?(n="video/webm",e=e.substring(0,e.length-3)):a.endsWith(".mp4.gz")||a.endsWith(".mp4.br")?(n="video/mp4",e=e.substring(0,e.length-3)):a.endsWith(".mov.gz")||a.endsWith(".mov.br")?(n="video/quicktime",e=e.substring(0,e.length-3)):a.endsWith(".mp3.gz")||a.endsWith(".mp3.br")?(n="audio/mpeg",e=e.substring(0,e.length-3)):a.endsWith(".wav.gz")||a.endsWith(".wav.br")?(n="audio/wave",e=e.substring(0,e.length-3)):a.endsWith(".ogg.gz")||a.endsWith(".ogg.br")?(n="audio/ogg",e=e.substring(0,e.length-3)):a.endsWith(".flac.gz")||a.endsWith(".flac.br")?(n="audio/flac",e=e.substring(0,e.length-3)):a.endsWith(".glb.gz")||a.endsWith(".glb.br")?(n="model/gltf-binary",e=e.substring(0,e.length-3)):a.endsWith(".gltf.gz")||a.endsWith(".gltf.br")?(n="model/gltf+json",e=e.substring(0,e.length-3)):a.endsWith(".vrm.gz")||a.endsWith(".vrm.br")?(n="model/gltf-binary",e=e.substring(0,e.length-3)):a.endsWith(".usdz.gz")||a.endsWith(".usdz.br")?(n="model/vnd.usdz+zip",e=e.substring(0,e.length-3)):a.endsWith(".obj.gz")||a.endsWith(".obj.br")?(n="model/obj",e=e.substring(0,e.length-3)):(a.endsWith(".mtl.gz")||a.endsWith(".mtl.br"))&&(n="model/mtl",e=e.substring(0,e.length-3)),{filename:e,mimetype:n}):null}function jo(e,n=void 0,a=!0){const i=Math.abs(e);if(i>=1099511627776){let i=a?" TB":"";return(e/1099511627776).toFixed(void 0===n?2:n)+i}if(i>=1073741824){let i=a?" GB":"";return(e/1073741824).toFixed(void 0===n?2:n)+i}if(i>=1048576){let i=a?" MB":"";return(e/1048576).toFixed(void 0===n?1:n)+i}if(i>=1024){let i=a?" KB":"";return(e/1024).toFixed(void 0===n?0:n)+i}let o=a?" B":"";return e.toFixed(0)+o}function To(e){return e.split("/").reduce((e,n)=>("."===n||(".."===n?e.pop():null!=n&&n.length&&e.push(n)),e),[]).join("/")}async function So(e){return new Promise(n=>setTimeout(n,e))}const Eo=/^image_(?<image_lod>\d+)_|^mesh_lod_(?<mesh_lod>\d+)_/;function Co(e){return e.includes("\\u")?JSON.parse(`"${e}"`):decodeURIComponent(e)}function zo(e){let n=null,a="";const i=e.filter(e=>"index.html"===e.name.toLowerCase()||"index.html.gz"===e.name.toLowerCase()||"index.html.br"===e.name.toLowerCase());if(1===i.length)return n=i[0],n;const o=e.filter(e=>e.name.toLowerCase().endsWith(".html")||e.name.toLowerCase().endsWith(".htm")||e.name.toLowerCase().endsWith(".html.gz")||e.name.toLowerCase().endsWith(".html.br"));if(1===o.length)return o[0];if(o.length>1){const e=new Map;for(const n of o){const a=n.path.split("/");let i=e.get(a.length);i||(i=[],e.set(a.length,i)),i.push(n)}const i=Array.from(e.keys()).sort((e,n)=>e-n);if(i.length>0)for(const a of i){const i=e.get(a);if(!i)continue;const o=i.find(e=>"index.html"===e.name.toLowerCase()||"index.html.gz"===e.name.toLowerCase()||"index.html.br"===e.name.toLowerCase());return o?(n=o,n):(n=i[0],n)}return a="Invalid upload: Multiple HTML files found but could not determine root.",console.error(a,o.map(e=>e.path||e.name)),{error:a}}const s=e.filter(e=>e.name.toLowerCase().endsWith(".glb")||e.name.toLowerCase().endsWith(".gltf")||e.name.toLowerCase().endsWith(".vrm"));if(s.length>1){const e=function(e){const n=new Array,a=/(mesh_lod|image)_\d_(.{1,50})/;for(const i of e){if(a.test(i.name))continue;const e=i.name.toLowerCase();(e.endsWith(".gltf")||e.endsWith(".vrm")||e.endsWith(".glb"))&&n.push(i)}return 1==n.length?n[0]:Ro(n)}(s);return e?(n=e,n):(a="Invalid upload: Multiple glb/glTF/vrm files found. This is currently not supported.",console.error(a,s.map(e=>e.path||e.name)),{error:a})}if(1===s.length)return n=s[0],n;const t=e.filter(e=>e.name.toLowerCase().endsWith(".usdz")||e.name.toLowerCase().endsWith(".usd")||e.name.toLowerCase().endsWith(".usda")||e.name.toLowerCase().endsWith(".usdc"));t.length>=1&&(n=Ro(t));const r=e.filter(e=>e.name.toLowerCase().endsWith(".fbx"));if(r.length>1)return a="Invalid upload: Multiple fbx files found. This is currently not supported.",console.error(a,r),{error:a};if(1===r.length)return n=r[0],n;const c=e.filter(e=>e.name.toLowerCase().endsWith(".obj"));if(c.length>1)return a="Invalid upload: Multiple obj files found. This is currently not supported.",console.error(a,c),{error:a};if(1===c.length)return n=c[0],n;const l=e.filter(e=>e.name.toLowerCase().endsWith(".stl"));if(l.length>1)return a="Invalid upload: Multiple stl files found. This is currently not supported.",console.error(a,l),{error:a};if(1===l.length)return n=l[0],n;if(1===e.length&&!e[0].arrayBuffer&&e[0].path.toLowerCase().startsWith("http"))return n=e[0],n;const p=e.filter(e=>e.name.toLowerCase().endsWith("package.json"));return 1===p.length?(n=p[0],n):p.length>1?(a="Invalid upload: Multiple package.json files found. This is currently not supported.",console.error(a,p),{error:a}):n||{error:"No supported file to upload found..."}}function Ro(e){let n=-1,a=Infinity;for(let i=0;i<e.length;i++){const o=e[i];o.path.split("/").length<a&&(a=o.path.split("/").length,n=i)}return n<0?null:e[n]}class Oo{constructor(e,n){this.totalFiles=e,this.estimatedTotalSize=n,this.uploadedSize=0,this.startTime=Date.now(),this.lastUpdateTime=this.startTime,this.lastUploadedSize=0,this.speedEMA=null,this.emaFactor=.1,this.smoothedRemainingTime=null,this.recentSpeeds=new Array,this.maxRecentSpeeds=20,this.initialEstimateThreshold=.05}updateProgress(e){const n=Date.now(),a=(n-this.lastUpdateTime)/1e3,i=e-this.lastUploadedSize;if(this.uploadedSize=e,a>0&&i>0){this.recentSpeeds.push(i/a),this.recentSpeeds.length>this.maxRecentSpeeds&&this.recentSpeeds.shift();const e=this.recentSpeeds.reduce((e,n)=>e+n,0)/this.recentSpeeds.length;this.speedEMA=null===this.speedEMA?e:this.emaFactor*e+(1-this.emaFactor)*this.speedEMA}this.lastUpdateTime=n,this.lastUploadedSize=e;const o=this.uploadedSize/this.estimatedTotalSize,s=(n-this.startTime)/1e3,t=this.speedEMA&&this.speedEMA>0?this.speedEMA:this.uploadedSize/s;let r;if(r=t>0?(this.estimatedTotalSize-this.uploadedSize)/t:Infinity,o>=this.initialEstimateThreshold)if(null===this.smoothedRemainingTime)this.smoothedRemainingTime=r;else{const e=.1;this.smoothedRemainingTime=(1-e)*this.smoothedRemainingTime+e*r}else this.smoothedRemainingTime=s/o-s;return this.smoothedRemainingTime=Math.max(this.smoothedRemainingTime,(this.estimatedTotalSize-this.uploadedSize)/t),{progress:100*o,estimatedTimeRemaining:Math.round(this.smoothedRemainingTime),estimatedTimeRemainingString:this.smoothedRemainingTime>3?this.__formatTime(this.smoothedRemainingTime):"few seconds"}}__formatTime(e){if(!isFinite(e)||e>86400)return"Calculating...";if(e<60)return`${Math.round(e)}sec`;const n=Math.floor(e/60);return n<60?`${n}min`:`${Math.floor(n/60)}h ${n%60}min`}}async function Fo(e){const n=await import("./pako.esm-01431bd2.js"),a=await e.arrayBuffer(),i=n.gzip(new Uint8Array(a)).buffer.slice(0);if(i.byteLength>51200&&i.byteLength>=a.byteLength){if(a.byteLength>0)return null}else if(!(i instanceof ArrayBuffer))return console.error("gzipCompress: Invalid ArrayBuffer"),{error:`Gzip compressing failed for "${e.name}" (unexpected result)`};return yo(`${"path"in e?e.path:e.name}.gz`,i,{type:"application/gzip"})}async function Ao(e,n,a=void 0){const i=async function(e,n,a){var i,o,s,t,r,c,l,p,u,d,m,f,h,v;const x=n.files,g=(null==(i=a)?void 0:i.loglevel)||"none";if(!x.length)return"none"!=g&&console.error("No files to upload"),{success:!1,error:"No files to upload"};if(!n.entrypoint){const e=zo(x);if(null==e)return{success:!1,error:"No entrypoint file found"};if("object"==typeof e&&"error"in e)return{success:!1,error:e.error};"info"===g&&console.log("Entrypoint: "+e.name),n.entrypoint=e}n.entrypoint&&!x.includes(n.entrypoint)&&x.push(n.entrypoint);const b=await async function(e){if(e.length>5e3)return{success:!1,error:"Too many files. Maximum filecount is 5000"};let n=0,a=0,i=0,o=0;for(let c=e.length-1;c>=0;c--){const l=e[c];if(n+=l.size,n>1073741824)return{success:!1,error:`Total file size exceeds limit of ${1024..toFixed(0)} MB. Please reduce the size of your upload.`};const p=l.name.toLocaleLowerCase();if(".ds_store"!==p){if(p.endsWith(".gltf")?i++:p.endsWith(".glb")?(r=p)&&Eo.test(r)||o++:p.endsWith(".vrm")&&a++,p.endsWith(".gltf")){var s;i+=1,console.log(`Found glTF file ${l.name}. Will check if all dependencies are available\n`,e);const n=await l.text(),a=n.matchAll(/"uri"\s*:\s*"(?<value>.*?)"/g);if(!a)continue;const o=JSON.parse(n);if("2.0"!==o.asset.version)return console.warn("⚠ glTF version is not 2.0. This is currently not supported."),{success:!1,error:`glTF version ${o.asset.version} is unsupported.Please use glTF 2.0.`};const r=null==(s=l.path)?void 0:s.split("/"),c=r.splice(0,r.length-1).join("/");for(const n of a){var t;const a=null==(t=n.groups)?void 0:t.value;if(a){let n=!1;if(a.startsWith("http://")||a.startsWith("https://")||a.startsWith("www.")){console.log(`✅ Found remote dependency ${a} `);break}if(a.startsWith("data:")){console.log(`✅ Found embedded dependency ${a} `);break}{const i=To(`${c}/${Co(a)}`);console.log('❓ Check if local dependency exists "'+i+'"');for(const a of e){if(a.webkitRelativePath===i||a.name==i){n=!0,console.log(`✅ Found dependency in name or webkit: ${a.name} || ${a.webkitRelativePath} `);break}if(a.path===i){n=!0,console.log(`✅ Found dependency in path: ${a.path} `);break}}}if(!n)return console.warn("⚠ Missing dependency "+a,c),{success:!1,error:"Missing resource: "+a}}}}}else e.splice(c,1)}var r;return{success:!0,vrm_count:a,gltf_count:i,glb_count:o}}(x);if("error"in b)return{success:!1,error:b.error||"Failed to validate files"};if(null!=(o=n.entrypoint)&&o.name.endsWith(".htm")||null!=(s=n.entrypoint)&&s.name.endsWith(".html")||null!=(t=n.entrypoint)&&t.name.endsWith(".html.gz")||null!=(r=n.entrypoint)&&r.name.endsWith(".html.br"))a||(a={}),a.type="deployment";else if(b.vrm_count>10)return{success:!1,error:"Multiple model files found - this is not supported for asset uploads. Please upload a single model file only."};if(n.raw)"none"!=g&&console.warn("Raw upload - skipping gzip compression of files");else for(let e=0;e<x.length;e++){const i=x[e],o=i.name.toLowerCase();if(o.endsWith(".html")||o.endsWith(".js")||o.endsWith(".css")){var y,w;"none"!==(null==(y=a)?void 0:y.loglevel)&&console.log(`gZip compressing file: ${i.name}`);const o=await Fo(i).catch(e=>({error:`Error compressing ${i.name}: ${e.message}`}));if(null===o){var _;"none"!==(null==(_=a)?void 0:_.loglevel)&&console.error(`Did not compress file: ${i.name}`);continue}if("error"in o)return{success:!1,error:o.error,status:500};if(!o)return{success:!1,error:`Failed to compress ${i.name}`,status:500};const s=n.entrypoint===i;x[e]=o,s&&(n.entrypoint=o),"none"!==(null==(w=a)?void 0:w.loglevel)&&console.log(`gZip compressed file: ${i.name} ${s?"(entrypoint)":""}`)}}x.sort((e,n)=>e.name.includes(".needle")&&!n.name.includes(".needle")?-1:!e.name.includes(".needle")&&n.name.includes(".needle")?1:0);const{baseUrl:k,authToken:j}=e,T="Bearer "+j,S={...J(e),triggered_by:n.triggered_by,filename:`${encodeURIComponent(n.entrypoint.name)}`,"total-files":x.length.toString(),"total-files-size":x.reduce((e,n)=>e+n.size,0).toString()};null!=(c=a)&&c.view_id&&(S.view_id=a.view_id),null!=(l=a)&&l.type&&(S.type=a.type),null!=(p=a)&&p.name&&(S.name=encodeURIComponent(a.name)),null!=(u=a)&&u.parent_job_id&&(S.parent_job_id=a.parent_job_id);const E={results:{entrypoint:(null==(d=n.entrypoint)?void 0:d.path)||(null==(m=n.entrypoint)?void 0:m.name),files:[]}},C=[];for(let e=0;e<x.length;e++){var z,R,O;const n=x[e];let i=n.path||n.webkitRelativePath||n.name;if(null!=(z=i)&&z.includes(":"))throw new Error(`Invalid filename: ${i}`);let o=await n.arrayBuffer();const s=n.size;let t=n.type;if(null!=(R=t)&&R.length&&"unknown"!==t.toLowerCase()||(t=_o(o,i)),"deployment"===(null==(O=a)?void 0:O.type)){const e=ko(i,t);e&&(i=e.filename,t=e.mimetype)}const r=wo(o);C[e]=o,E.results.files[e]={filename:i,content_type:t,content_length:s,content_md5:r}}const F=await fetch(k+G.upload.request,{...K,method:"POST",headers:S,body:JSON.stringify(E)}).catch(e=>"fetch failed"==e.message||"Failed to fetch"==e.message?`Network error. Make sure you are connected to the internet and ${k} is reachable.`:(console.error("Failed to begin upload\n",e),null));if(null===F||"string"==typeof F)return{success:!1,error:F||"Failed to begin upload"};if(!F.ok){const e=await F.text();if(e.startsWith("{")){const n=JSON.parse(e);if("error"in n)return{success:!1,status:F.status,error:n.error}}return"none"!=g&&console.error("Failed to begin upload\n",F.status,e),{success:!1,status:F.status,error:`${e}`}}const A=await F.json();"debug"===g&&console.debug("BeginResponse",A);const L=x.reduce((e,n)=>e+n.size,0);if("exists"===A.type)return"none"!=g&&console.log("Upload already exists",A.id),{success:!0,uploadSkipped:!0,id:A.id,type:A.job_type,view_id:A.view_id,filesUploaded:x.length,totalSize:L,url:A.url};const $=n.entrypoint.webkitRelativePath||n.entrypoint.name;let N=0;null==(f=a)||null==(f=f.abort)||f.addEventListener("abort",async()=>{console.log("Upload aborted: Cancelling upload"),await fetch(k+G.upload.cancel,{...K,method:"POST",headers:{authorization:T,id:A.id}})});let U=!1,q=Date.now();function I(n,a,i=!1){if(!i&&Date.now()-q<1e3)return!1;if(U&&"completed"!==a)return void("none"!=g&&console.warn("Invalid status update..."));q=Date.now();const o=Math.floor(N/L*100);return"debug"===g&&console.log("SET STATUS: "+a,n,o),oo({identifier:A.id,status:a,status_message:n,progress:o},e),!0}null!=(h=a)&&h.onStart&&a.onStart(A.id,A.view_id);const P=Date.now(),B=new Oo(x.length,L/1024/1024),D=new Array;let W=!1;const M=[...x],H=x.length;for(let i=0;i<M.length;i++){var V;if(null!=(V=a)&&null!=(V=V.abort)&&V.aborted){console.debug("Upload aborted");break}if(W){console.debug("Upload failed");break}if(D.length<10){console.debug(`Uploading file ${i}/${x.length}: ${x[i].name}`);let o=0,s=0;const t=E.results.files[i],r=t.filename,c=C[i],l=t.content_length,p=t.content_type,u=x[i],d=u.name.endsWith(".gz")?"gzip":u.name.endsWith(".br")?"br":void 0,m=Lo({uploadId:A.id,uploadRequestPUTUrl:A.request_put_url,entrypointPath:$,file:x[i],fileName:r,fileMd5:t.content_md5,fileBuffer:c,fileType:p,content_encoding:d,fileSize:l,fileIndex:i,fileNumber:i+1,fileCount:H,loglevel:g,experimental:n.experimental,args:e,options:a,onProgress:e=>{var n;const t=e.progress||0;o=x[i].size*t;const c=o-s;if(s=o,N+=c,null!=(n=a)&&n.progress){const e=N/L,n=x.length,o=x[i].size,s=(Date.now()-P)/1e3,c=B.updateProgress(N/1024/1024);a.progress({uploadedBytes:N,totalBytes:L,progress01:e,fileName:x[i].name,fileSize:o,fileProgress01:t,fileIndex:i,totalFiles:n,estimatedTimeLeftDisplay:c.estimatedTimeRemainingString,estimatedTimeLeft:c.estimatedTimeRemaining,elapsedTime:s}),I(`Uploading file ${i+1}/${n} (${r}): ${(100*t).toFixed(0)}% of ${jo(L)}. Finished in approx. ${c.estimatedTimeRemainingString}`,"running",!1)}}}).then(e=>{if(!0!==e)return e;for(let e=D.length-1;e>=0;e--)D[e]===m&&D.splice(e,1);I(`Uploaded ${jo(N)+" of "+jo(L)} for ${x[i].name}`,"running")}).catch(e=>{var n;null!=(n=a)&&null!=(n=n.abort)&&n.aborted?console.warn("Upload aborted"):(console.error(e.message),W=!0)});D.push(m)}D.length>=10&&await Promise.race(D)}if(await Promise.all(D).catch(e=>{var n;null!=(n=a)&&null!=(n=n.abort)&&n.aborted?console.warn("Upload aborted"):(console.error(e.message),W=!0)}),W)return await oo({identifier:A.id,status:"failed",error:"Failed to upload files"},e),{success:!1,error:"Failed to upload files"};if(null!=(v=a)&&null!=(v=v.abort)&&v.aborted)return await oo({identifier:A.id,status:"canceled",status_message:"Upload aborted",error:"Upload aborted"},e),{success:!1,error:"Upload aborted"};U=!0,console.log(`Upload Done: All files uploaded to ${A.id}`);const Y={...J(e),id:A.id};"none"!=g&&console.log("Completing upload - notify server");let Z=null;for(let e=0;e<5;e++){var X;await So(1e3*e);const n=AbortSignal.timeout(2e4+1e3*e);if(Z=await fetch(k+G.upload.done,{...K,method:"POST",headers:Y,signal:n}).catch(n=>(console.error(`Failed to complete upload (${e+1} / 5)`,n.message),null)),!0===(null==(X=Z)?void 0:X.ok))break;var Q;"none"!=g&&e<4&&console.warn(`Failed to complete upload (${(null==(Q=Z)?void 0:Q.status)||"no status"}): will retry in 1 second`)}if(!Z)return console.error("Failed to complete upload"),{success:!1,error:"Failed to complete upload"};if(!Z.ok){if(524===Z.status)return console.error("Failed to complete upload: Gateway Timeout"),{success:!1,error:"Failed to complete upload: Gateway Timeout"};{const e=await Z.text();return console.error(`Failed to complete upload (${Z.status}): ${e}`),{success:!1,error:"Failed to complete upload"}}}"none"!=g&&console.log("Upload complete");const ee=await Z.json();return{success:!0,type:ee.type,uploadSkipped:!1,id:ee.id,view_id:ee.view_id,url:ee.url,filesUploaded:x.length,totalSize:L}}(e,n,a);return await i.finally(()=>{})}async function Lo(e){const{uploadId:n,uploadRequestPUTUrl:a,entrypointPath:i,file:o,fileName:s,fileBuffer:t,fileMd5:r,fileSize:c,fileType:l,content_encoding:p,fileIndex:u,fileNumber:d,fileCount:m,loglevel:f,args:h,options:v,experimental:x}=e;"info"===f&&console.log(`Uploading file "${o.name}" type=${l} (${c}) ${o.type} with hash ${r}`);const g={...J(h),"Content-Type":"application/json",org:h.org,job_id:n,filesize:c.toString(),progress:(u/m*100).toFixed(0)},b={filename:s,entrypoint:i,"content-type":l,"content-md5":r,"content-encoding":p};"debug"===f&&console.debug("Requesting presigned URL with headers",g);const y=JSON.stringify(b);let w=null,_="";for(let e=0;e<5;e++){var k;if(null!=w)break;if(null!=v&&null!=(k=v.abort)&&k.aborted)throw new Error("Upload aborted");await So(200*e),w=await fetch(a,{...K,method:"POST",headers:g,body:y}).then(async e=>e.ok?await e.json():(_=await e.text(),console.log(a),console.warn(`Failed to get presigned url for "${s}" "${l}" (${e.status}).\n→ Retrying...`),null)).catch(e=>(_=e.message,console.warn("Failed to get presigned url "+e.message+", retrying..."),null))}if(null==w)throw new Error(`Failed to get presigned url for "${s}" "${l}" \n${_}`);const j=w.presigned_url;var T=!1;let S=null;for(let n=0;n<5;n++){var E;if(n>0&&("none"!==f&&console.log(`Retry PUT #${n} for file ${s}`),await So(1e3*n)),null!=v&&null!=(E=v.abort)&&E.aborted)throw new no("Upload aborted");const a={"Content-Type":l,"Content-MD5":r};x&&(a["Content-Length"]=c.toString()),p&&(a["Content-Encoding"]=p),0===n&&"none"!=f&&console.log(`Uploading file ${d}/${m}: ${s}`),"debug"===f&&console.debug("PUT with headers",a);const i=await eo.put(j,t,{...K,withCredentials:!1,signal:null==v?void 0:v.abort,headers:a,onUploadProgress:n=>{e.onProgress(n)}}).catch(e=>(S=e.message,e instanceof no||("none"!==f&&console.error(`Failed to upload file (PUT) (${d}, ${s}) "${e.message}"`),"debug"===f&&(console.log(a,{fileSize:c}),e.response?console.debug(e.response):console.debug(e))),null));if(i){if(200!==i.status){S=`${i.statusText} (${i.status})`,console.debug(`Failed (${i.status} ${i.status}) to upload file ${o.name} to "${w.path}". Retrying...`);continue}T=!0,"info"===f&&console.log(`Uploaded file ${d}/${m} "${s}" (${l}, ${jo(c)})`);break}}var C;if(!T)throw console.error("Failed to upload file "+s),await oo({identifier:n,status:"failed",status_message:`Failed to upload file (${s}): ${null==(C=S)?void 0:C.substring(0,200)}`,error:"Failed to upload file "+s},h),new Error("Failed to upload file "+s);return!0}new Array;const $o=()=>"https://cloud.needle.tools/account",No=()=>"https://cloud.needle.tools/edit";function Uo(e){return O(e)}const qo=["node_modules",".git",".vscode",".vercel",".github",".idea"];function Io(e,n,a=null,i="",o=0){if(null===a){if(o>0)throw new Error("result must be provided if level > 0. Did you forget to pass it?");a={files:[],total_size:0}}if(0===o){if(!s(n))throw new Error(`Directory or file "${n}" does not exist.`);if(t(n).isFile()){const e=yo(n,r(n));return e.path=e.name,a.files.push(e),a.entrypoint=e,a}}else if(o>20)throw new Error("Recursion depth too high. Are you sure you are providing the correct directory?");const l=c(n,{withFileTypes:!0});for(const o of l)if(0==o.isDirectory()){if("optimization"===e&&0==((p=(p=o.name).toLowerCase()).endsWith(".glb")||p.endsWith(".gltf")||p.endsWith(".vrm")||p.endsWith(".usdz")||p.endsWith(".usd")||p.endsWith(".fbx")))continue;const s=yo(i+o.name,r(n+"/"+o.name));if(a.files.push(s),a.total_size+=s.size,a.total_size>1073741824)throw new Error(`Collected filesize exceeds ${1024..toFixed(0)} MB. Are you sure you are providing the correct directory?`);if(a.files.length>1e4)throw new Error(`Too many files (${a.files.length}): The maximum filecount is 10,000.`)}var p;for(const s of l)if(s.isDirectory()){if(qo.includes(s.name))continue;Io(e,n+"/"+s.name,a,i+s.name+"/",o+1)}return a}const Po=`${A(I.tmpdir())}/Needle/Cloud/logs`;L(Po,{recursive:!0});const Bo=P.resolve(Po,"cli.log");if($(Bo)){const e=N(Bo),n=e.mtimeMs;if(Date.now()-n>1728e5||e.size>52428800){const e=P.resolve(Po,"cli.prev.log");U(Bo,e,n=>{n?console.error(`Failed to rename log file: ${n.message}`):console.log(`Log file renamed to ${e}`)})}}function Do(){return Bo}async function Wo(e,n){return e=`[${(new Date).toISOString()}] ${e}`,null!=n&&n.emptyLineBefore&&(e="\n"+e),q(Bo,e+"\n",{flag:"a"}).then(()=>!0).catch(e=>(console.error(`Failed to write to log file: ${e.message}`),!1))}function Mo(e,n,a){process.env.GITHUB_ACTIONS&&(process.env.GITHUB_OUTPUT?l(process.env.GITHUB_OUTPUT,`${e}=${n}\n`):null==a||a.logger.warn("GITHUB_OUTPUT environment variable is not set. Cannot set output variables."))}async function Ho(e){var n;e.directory=x.resolve(e.directory);let{files:a,entrypoint:i}=Io("deployment",e.directory);if(e.entrypoint&&(i=a.find(n=>n.path===e.entrypoint),!i))return void F().fail(`Entrypoint "${e.entrypoint}" not found. Please make sure you provide a valid entrypoint.`);if(!i){const e=zo(a);if("error"in e)return Wo(`[Deployment] Error determining entrypoint: ${e.error}`),void F().fail(`Error: ${e.error}`);i=e}if(!(a.length>0&&i&&(i.name.toLowerCase().endsWith(".html")||i.name.toLowerCase().endsWith(".html.gz")||i.name.toLowerCase().endsWith(".html.br"))))return Wo("[Deployment] Deployment is not valid: No .html file found."),void F().fail("Deployment is not valid: No .html file found.");if(!i)return Wo("[Deployment] No entrypoint found. Please provide an index.html file in your project."),void F().fail("No entrypoint found. Please provide an index.html file in your project.");const o=null!=(n=e.endpoint)&&n.length?e.endpoint:"https://cloud.needle.tools/api";let s=e.name;s||(s=Go(e.directory)||void 0);let t=null==o?void 0:o.includes("localhost");const r=s?` of "${s}"`:"",c=F().start(`Begin deployment${r} ${t?"(local)":""} of ${a.length} files...`);c.spinner="earth",await So(50);let l=-1;Wo(`Deployment started${r} ${t?"(local)":""} of ${a.length} files...`);const p=await Ao({baseUrl:o,authToken:e.token,org:e.org_id},{triggered_by:"cli",files:a,entrypoint:i,experimental:e.experimental,raw:e.raw},{name:s,type:"deployment",loglevel:e.verbose?"debug":"none",progress:e=>{if(e.fileIndex!==l){l=e.fileIndex;const n=e.totalBytes/1024/1024;c.text=`Uploading file ${e.fileIndex+1} of ${e.totalFiles} files: ${(e.uploadedBytes/1024/1024).toFixed(1)} / ${n.toFixed(1)} MB. Total progress: ${(100*e.progress01).toFixed(1)} %. Time passed: ${e.elapsedTime.toFixed(0)}sec. About ${e.estimatedTimeLeftDisplay} until complete.`}}}).catch(e=>(c.fail(e),null));if(null!=p&&!0===p.success){c.succeed(`🚀 Deployment${r} successful (${p.view_id}/${p.id})`);let n="";n=p.url?p.url:"https://cloud.needle.tools/view/"+p.view_id+"/"+p.id,console.log("🔗 View the deployment at: "+n),e.open&&Uo(n);try{Mo("deployment_url",n,{logger:e.logger}),Mo("edit_id",p.view_id,{logger:e.logger})}catch(n){e.logger.error("Error writing output for CI: "+n)}}else c.fail(`${null==p?void 0:p.error}`)}function Go(e,n=0){if(n>10)return null;const a=x.join(e,"needle.config.json");if(s(a)){const n=x.join(e,"package.json");if(s(n)){var i;const e=r(n,"utf8"),a=JSON.parse(e);if(null!=(i=a.name)&&i.length)return a.name}return x.basename(e)}const o=x.dirname(e);return o===e?null:Go(o,n+1)}async function Jo(e){const n=new URL((e.endpoint||"https://cloud.needle.tools/api")+G.get.deployments);n.searchParams.append("offset",e.offset.toString()),n.searchParams.append("limit",e.limit.toString()),e.names&&n.searchParams.append("name",e.names.map(e=>e.trim()).join(","));const a=await fetch(n,{method:"GET",headers:{...J({authToken:e.authToken,org:e.org})}});return a.ok?await a.json():{status:a.status,error:await a.text()}}const Ko=8424,Vo="http://localhost:8424";var Yo;const Zo={appId:"2stnsoa6a1b0gwc7lra55",appSecret:"seV1T6iKBKLlttjdk25I2px43ZCEHnPJ",endpoint:"https://auth.needle.tools",resources:["https://cloud.needle.tools/api"],scopes:["openid","profile","email","roles","urn:logto:scope:organizations","urn:logto:scope:organization_roles","identities","custom_data","all","read","write","delete","upload","download","invite","editor"]},Xo={getAccessToken:!0,fetchUserInfo:!0,resource:null==(Yo=Zo.resources)?void 0:Yo[0],resources:Zo.resources||[],scopes:Zo.scopes||[]};function Qo(e="default"){return null==e?`${Vo}/?signed-out=1`:"too-many-logins"===e?`${Vo}/?too-many-logins=1`:"error"===e?`${Vo}/?error=1`:`${Vo}/?signed-out=1`}var es;function ns(){o.existsSync(ts)&&o.rmSync(ts,{recursive:!0})}const as=process.argv.includes("--debug-auth"),is=new Map;let os=null==(es=Zo.resources)?void 0:es[0];if(os)try{os=new URL(os).hostname}catch(e){as&&console.error("Invalid resource URL",os)}let ss=os||"-";ss=ss.replace(/[^a-zA-Z0-9\.\-]/g,"");const ts=`${S()}/Needle/Cloud/.auth/${ss}`,rs={accessToken:`${ts}/accessToken`,refreshToken:`${ts}/refreshToken`,idToken:`${ts}/idToken`,signInSession:`${ts}/signInSession`};function cs(e){return rs[e]||`${ts}/${e}`}class ls{constructor(){this.basePath=ts}async setItem(e,n){as&&console.debug("\n- SET ITEM",e,n),o.existsSync(this.basePath)||o.mkdirSync(this.basePath,{recursive:!0});const a=cs(e);a&&o.writeFileSync(a,n),is.set(e,n)}async getItem(e){as&&console.debug("\n- GET ITEM",e);const n=is.get(e);if(void 0===n){const n=cs(e);if(n){if(o.existsSync(n)){const a=o.readFileSync(n,"utf8");return is.set(e,a),a}}else console.error(`Unknown token name: ${e}`);return null}return String(n)}async removeItem(e){as&&console.debug("\n- REMOVE ITEM",e),is.delete(e);const n=cs(e);n&&o.existsSync(n)&&o.rmSync(n)}}function ps(){const e=us({navigate:e=>{console.warn(`Request open ${e} (this should not happen)`),Wo(`Request open ${e} (this should not happen)`)}});return ds(e)}function us(e){const n=new ls;return new D(Zo,{storage:n,navigate:n=>{if(null==e.navigate)throw new Error("Can not navigate");e.navigate(n)}})}function ds(e){return e.getContext(Xo).then(n=>{const a=n;return a.client=e,a}).catch(async e=>("oidc.invalid_token"==e.code?(Wo("OIDC: Invalid token"),console.error("Invalid token - if this is a dev environment make sure your auth server is also hosted by a development instance of the CLI\n","https://cloud.needle.tools/api")):e.code&&(console.error(e.code),Wo(`OIDC: ${e.code}`)),null))}let ms=null;function fs(e){var n;const a=null==(n=e.userInfo)?void 0:n.custom_data;if(!a)return[];const i=a.machines;return i?i.map(e=>e.name):[]}let hs=Date.now();async function vs(e){var n;const a=Date.now();a-hs>3e4&&"client"in e&&(hs=a,await e.client.fetchUserInfo().catch(console.error));const i=null==(n=e.userInfo)?void 0:n.custom_data;if(!i)return!1;if(ms||await xs(),!ms)return console.error("Failed to get machine id"),!0;const o=i.machines;if(!o)return!1;const s=o.some(e=>e.id===ms);return s}async function xs(){return ms||await import("node-machine-id").then(async e=>{const n=await e.default.machineId(!1);ms=n}),ms}function gs(){return T.userInfo().username+"@"+T.hostname()}async function bs(e,n={signout:!1}){if(e.accessToken){const i={machine_id:await xs(),machine_name:gs(),platform:T.platform(),arch:T.arch()},o=await fetch("https://cloud.needle.tools/api"+G.account.post_machine,{method:"POST",headers:{Authorization:"Bearer "+e.accessToken,"Content-Type":"application/json"},body:JSON.stringify(i)}).catch(e=>(console.error(`Failed to validate login: ${e.message} - Make sure https://cloud.needle.tools/api is reachable`),Wo(`Failed to validate login with error "${e.message}" - Make sure https://cloud.needle.tools/api is reachable.`),{status:500,error:"Failed to validate login at 'https://cloud.needle.tools/api' - make sure this URL is reachable."}));if(!o)return!1;if("error"in o)return o;let s=!0;if(403===o.status){const e=await o.text();if(e.trimStart().startsWith("{")){const n=JSON.parse(e);n.logins&&(s=!1,Wo("Too many logins from different machines"),F().fail("You have reached the maximum number of allowed logins\n"),F().warn(`Please logout from one of the following machines:\n- ${n.logins.join("\n- ")}\n`))}}var a;return!!s||(n.signout&&(ns(),"client"in e&&(null==(a=e.client)||a.signOut(Qo("too-many-logins")))),!1)}return!0}const ys=e=>{const n=W();return n.use("/:action",async(n,a,i)=>{const{action:o}=n.params,s=us({navigate:e=>{a.redirect(e)}});switch(o){case"sign-in":e.invalid_login=!1,e.invalid_login_type=null,e.error=void 0,Wo("Sign in..."),await s.clearAllTokens(),await s.signIn(`${Vo}/auth-callback`);break;case"sign-out":{var t,r;const n=await ps(),a=(null==n||null==(t=n.userInfo)?void 0:t.sub)||(null==n||null==(r=n.claims)?void 0:r.sub),i=null==n?void 0:n.accessToken;Wo(`Sign out... (${a})`),a&&i&&await async function(e){return!e.accessToken||import("node-machine-id").then(async n=>{const a=await xs();return ms=a,await fetch("https://cloud.needle.tools/api"+G.account.post_machine,{method:"POST",headers:{Authorization:"Bearer "+e.accessToken,"Content-Type":"application/json"},body:JSON.stringify({action:"logout",machine_id:a,machine_name:gs()})}).catch(e=>{Wo(`Failed to validate logout: ${e.message} - Make sure https://cloud.needle.tools/api is reachable`),console.error(`Failed to validate logout: ${e.message} - Make sure https://cloud.needle.tools/api is reachable`)}),!0})}({userId:a,accessToken:i}).catch(e=>{console.error(e),Wo(`Failed to validate logout: ${e}`)}),e.invalid_login=!1,e.invalid_login_type=null,e.error=void 0,console.log("User signed out"+(a?`: ${a}`:"")),await s.signOut(Qo());break}case"auth-callback":if(n.url){const i=await s.handleSignInCallback(`${Vo}${n.originalUrl}`).catch(e=>({error:e}));if(i&&"error"in i)Wo(`Error during sign in: ${i.error}`),a.redirect(Vo+"?cancelled");else{var c,l,p,u;const n=await ps();if(null!=n&&n.isAuthenticated){var d,m;e.invalid_login=!1,e.user_email=(null==(d=n.claims)?void 0:d.email)||(null==(m=n.userInfo)?void 0:m.email)||null,e.logged_in_machine_names=[...fs(n)];const i=await bs(n,{signout:!0});if(!i)return e.invalid_login=!0,e.invalid_login_type="too-many-logins",a.redirect(Qo("too-many-logins"));if("object"==typeof i&&"error"in i)return e.invalid_login=!0,e.invalid_login_type="error",e.error=i.error,a.redirect(Qo("error"))}console.log(`User logged in: ${(null==n||null==(c=n.userInfo)?void 0:c.sub)||(null==n||null==(l=n.claims)?void 0:l.sub)}`),Wo(`User logged in: ${(null==n||null==(p=n.userInfo)?void 0:p.sub)||(null==n||null==(u=n.claims)?void 0:u.sub)}`),a.redirect(Vo)}}break;default:i()}}),n};function ws(e){var n,a,i,o;if(!e)return"";let s=(null==(n=e.claims)?void 0:n.name)||(null==(a=e.userInfo)?void 0:a.name)||(null==(i=e.claims)?void 0:i.username)||"";var t,r;return(!s||s.length<=0)&&null!=(o=e.claims)&&o.email?(r=null==(t=e.claims)?void 0:t.email)?(r=(r=(r=(r=r.split("@")[0]).replace(/[^a-zA-Z0-9]/g," ")).replace(/\s+/g," ")).split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),r):r:s}async function _s(e,n=null){var a,i;if(!e)return{status:500,error:"User is not provided"};if(!e.isAuthenticated)return{status:403,error:"User is not authenticated"};const o=(null==(a=e.claims)?void 0:a.sub)||(null==(i=e.userInfo)?void 0:i.sub);n===o&&(n=null);let s=null;if(null==n)s=e.accessToken;else if(null!=n){var t;let a=null==e||null==(t=e.userInfo)||null==(t=t.organization_data)?void 0:t.find(e=>e.id===n);if(!a){var r;const i=n.toLowerCase();a=null==e||null==(r=e.userInfo)||null==(r=r.organization_data)?void 0:r.find(e=>e.name.toLowerCase()===i)}if(!a)return{status:403,error:`User is not part of team "${n}"`};n=a.id,s=await e.client.getOrganizationToken(a.id).catch(e=>{var i;return console.error(`Error getting organization token for "${null==(i=a)?void 0:i.name}" (${n}): ${e.message}`),null})}return s?{authToken:s,org:n}:{status:403,error:"No access token found"}}const ks=function(){return async(e,n,a)=>{const i=us({navigate:e=>{n.redirect(e)}}),o=await ds(i);Object.defineProperty(e,"user",{enumerable:!0,get:()=>o}),a()}},js=[{name:"needle_cloud_me",description:"Get current Needle Cloud user information",inputSchema:{type:"object",properties:{},additionalProperties:!1,required:[]}}],Ts={needle_cloud_me:async function(e){try{const e=await ps(),n=null==e?void 0:e.userInfo;return n?JSON.stringify({id:n.sub,name:n.name||n.preferred_username,email:n.email}):"No user is currently logged in."}catch(e){return"Error retrieving user: "+(e instanceof Error?e.message:String(e))}}};function Ss(e,n){const a=js.findIndex(n=>n.name===e.name);-1!==a&&js.splice(a,1),js.push(e),Ts[e.name]=n}const Es=W();let Cs=!1;function zs(e){if(!Array.isArray(e))return console.error("Invalid input: paths should be an array of strings."),null;for(const n of e)if(!1!==s(n))try{const e=Os(n);if(e)return e}catch(e){}}Es.post("/mcp",async(e,n)=>{const{method:a,params:i,id:o}=e.body;console.log(`[MCP] Received request: ${a} (ID: ${o})`),n.setHeader("Content-Type","application/json"),n.setHeader("Transfer-Encoding","chunked"),n.setHeader("Access-Control-Allow-Origin","*"),n.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization");try{let e=null;if("initialize"===a)console.log("[MCP] Processing initialize request"),Wo("MCP Server initialize request received"),e={jsonrpc:"2.0",id:o,result:{protocolVersion:"2024-11-05",capabilities:{tools:{listChanged:!1}},serverInfo:{name:"Needle Cloud Local Server",version:"1.0.0"}}},Cs=!0;else if("ping"===a)console.log("[MCP] Processing ping request"),e={jsonrpc:"2.0",id:o,result:{}};else{if("notifications/initialized"===a)return console.log("[MCP] Client initialized notification received"),Wo("MCP Client initialized"),n.status(204).end();if(Wo(`MCP Request: ${a}`),Cs)if("tools/list"===a)console.log("[MCP] Handling tools/list request"),e={jsonrpc:"2.0",result:{tools:js},id:o};else if("tools/call"===a){const n=null==i?void 0:i.name;console.log(`[MCP] Handling tools/call request for tool: ${n}`);try{const a=await async function(e,n){const a=Ts[e];if(!a)throw new Error(`Tool "${e}" is not registered.`);const i=await a(n);if("string"==typeof i)return{content:[{type:"text",text:i}]};if("object"==typeof i)return{content:[{type:"text",text:JSON.stringify(i)}]};throw new Error(`Invalid tool result type for tool "${e}".`)}(n,(null==i?void 0:i.arguments)||{}).catch(e=>{throw new Error(`Tool execution failed: ${e.message}`)});e={jsonrpc:"2.0",id:o,result:a}}catch(n){console.error("[MCP] Tool execution error:",n),e={jsonrpc:"2.0",error:{code:-32603,message:`Tool execution failed: ${n.message}`},id:o}}}else console.log(`[MCP] Unknown method: ${a}`),e={jsonrpc:"2.0",error:{code:-32601,message:`Method '${a}' not found`},id:o};else e={jsonrpc:"2.0",error:{code:-32002,message:"Server not initialized"},id:o||null}}e&&(console.log("[MCP] Sending response:",e),n.write(JSON.stringify(e))),n.end()}catch(e){console.error("[MCP] Error processing request:",e);const a={jsonrpc:"2.0",error:{code:-32603,message:"Internal server error",data:"development"===process.env.NODE_ENV?e.stack:void 0},id:o||null};n.write(JSON.stringify(a)),n.end()}}),Es.options("/mcp",(e,n)=>{n.setHeader("Access-Control-Allow-Origin","*"),n.setHeader("Access-Control-Allow-Methods","POST, OPTIONS"),n.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization"),n.status(204).end()});const Rs=new RegExp(/\[remote*\s\"(?<name>.+?)\".+?url\s*=\s*(?<url>.+?)\n/gms);function Os(e){const n=b(e,".git");if(s(n)){const e=b(n,"config");if(s(e)){const n=r(e,"utf-8"),a=[];for(;;){const e=Rs.exec(n);if(!e)break;if(e.groups){const n=e.groups.url;n.length&&a.push({name:e.groups.name,url:n})}}const i=a.find(e=>"origin"===e.name)||a.find(e=>"upstream"===e.name)||a[0];if(i)return i.url}}const a=b(e,".plastic");if(s(a)){const e=b(a,"replicas.db");if(s(e)){const n=r(e,"utf-8").split("\n");for(const e of n){const n=e.split("=");if(2===n.length&&"repo"===n[0].trim()){const e=n[1].trim();if(e.length)return e}}}}const i=b(e,"..");return i===e?null:Os(i)}const{json:Fs}=M;async function As(n={restart:!1}){const a=await e(Vo).catch(e=>({ok:!1})),i="/sign-in",o="/api/authenticated",t="/api/projects",r={baseUrl:Vo,port:Ko,isHost:!1,auth_endpoints:{"sign-in":`${Vo}${i}`,"sign-out":`${Vo}/sign-out`,"is-authenticated":`${Vo}${o}`}};let c=a.ok;if(c&&!0===(null==n?void 0:n.restart)){Wo("Restarting auth server...");const p=`${Vo}/restart`;n.ora&&(n.ora.text="Sending restart request to server");const u=await e(p,{method:"post"}).catch(e=>({ok:!1,status:400,error:e}));if(u.ok)return await So(300),As({restart:!1});console.error("Failed to restart server",u.status),Wo(`Failed to restart server: ${u.status}`)}if(!c){process.title="Needle CLI server";const m=await import("express").catch(e=>{throw console.error("Error starting the auth server (express not found)",e),Wo("Error starting the auth server"),new Error("Failed to load express module")});if(!m)throw Wo("Error loading auth server module"),new Error("Failed to load express module");Wo("Starting Needle CLI server... (Using api at https://cloud.needle.tools/api)",{emptyLineBefore:!0}),r.isHost=!0;let f=null;const h={invalid_login:!1,invalid_login_type:null,user_email:null,logged_in_machine_names:[]};let v=m.default();v.use(Fs({limit:"10mb"})),v.use(ys(h)),v.use(Es);const x="\n <title>Needle Cloud</title>\n <link rel=\"icon\" href=\"https://cdn.needle.tools/static/branding/favicon.ico\" type=\"image/x-icon\">\n <style>\n body { \n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n font-size: 18px;\n padding: 2rem;\n background: #f0f4ef;\n }\n a {\n color: rgb(120, 76, 223);\n }\n .main_panel {\n display: flex;\n flex-direction: column;\n gap: .5rem;\n justify-content: flex-start;\n align-items: center;\n width: min(80ch, 90vw);\n margin: 0 auto;\n\n height: 100%;\n\n & img.logo {\n height: 3rem;\n margin-bottom: 1rem;\n }\n }\n .secondary {\n color: rgba(0, 0, 0, .5);\n }\n .error-details {\n font-size: 12px;\n color: rgba(0, 0, 0, .5);\n }\n .error-details a {\n color: inherit;\n }\n </style>",g='<div class="main_panel"><img class="logo" src="https://cdn.needle.tools/static/branding/logo_needle.png" alt="Needle Logo">',b="</div>";v.get("/",ks(),async(e,n)=>{var a;if(n.set({"Content-Type":"text/html; charset=utf-8"}),n.write(x),null!=e.query.cancelled)return n.end("Login cancelled. You can close this window now"),void Wo("Login cancelled by user");if(null!=e.query["too-many-logins"]&&h.logged_in_machine_names.length){var o;const e=$o();let a="<div>";return a+="<strong>You have reached the maximum number of allowed device logins!</strong><br/><br/>",a+=(null==(o=h.logged_in_machine_names)?void 0:o.map(e=>`• ${e}`).join("<br/>"))+"<br/><br/>",a+=`1) Go to <a href="${e}#device-logins" target="_blank">Needle Cloud device logins</a> and logout one of your devices.<br/>\n 2) Then <a href="${i}">sign-in on this machine</a>.<br/><br/>`,a+="</div>",n.status(406),n.end(g+a+b),void Wo(`Login failed: Too many logins from different machines: [${h.logged_in_machine_names.join(", ")}]`)}if(null!=e.query.error)return n.status(500),void n.end(`${g}\n <div>\n <strong>An error occurred</strong>: Please make sure <i>https://cloud.needle.tools/api</i> and <i>https://auth.needle.tools</i> are reachable and not blocked by your firewall or network. After that please try to <a href="${i}">sign-in</a> again.\n <br/><span class="error-details">If the issue persists please contact support and include logs at <a title="Link to local log file. Please copy this url and open it in your file explorer or terminal" href="${Do()}" target="_blank">${Do()}</a></span>\n </div>\n ${b}`);if(null!=(a=e.user)&&a.isAuthenticated){var s;if(!await vs(e.user)){if(h.invalid_login=!0,h.logged_in_machine_names=[...fs(e.user)],ns(),Wo("Cleared stored auth data"),"client"in e.user){const n=e.user;await n.client.clearAccessToken(),await n.client.clearAllTokens(),Wo("Cleared all tokens")}return n.end(`${g}<div>You have been logged out from this machine. You can close this window now or try to <a href="${i}">sign in</a> again</div>${b}`)}return h.invalid_login=!1,n.end(`${g}\n <div>\n Hi ${ws(e.user)} — you logged in successfully. You can close this window now.\n </div>\n ${b}`),void Wo(`Logged in successfully as ${ws(e.user)} (${null==(s=e.user.userInfo)?void 0:s.sub})`)}let t=`<span><a href="${i}">Sign in</a> to your Needle account</span>`;"1"===e.query["signed-out"]&&(t=`<span class="secondary">You have been signed out successfully.</span>${t}`),n.write(g+t+b),n.end()}),v.post("/restart",(e,a)=>{var i;n.ora&&(n.ora.text="Received restart event. This instance will close"),null==(i=f)||i.close(e=>{e&&console.error(e)}),setTimeout(()=>{process.exit(0)},100),a.status(200).end("Server is restarting"),Wo("Server is restarting\n")}),v.get("/api/logs",async(e,n)=>{const a=Do();s(a)?d(a,"utf-8",(e,i)=>{if(e)return console.error(e),void n.status(500).end("Failed to read log file");n.set({"Content-Type":"text/plain; charset=utf-8"});let o=`--- Needle CLI Log File ---\n${a}`;o+="\n\n--- Log Start ---\n",o+=i,n.status(200).end(o)}):n.status(404).end("Log file not found")}),v.get(o,ks(),async(e,n)=>{var a;if(!0===h.invalid_login){const e=Ls(h);return n.status(e.status).json(e)}h.invalid_login=!1,n.status(null!=(a=e.user)&&a.isAuthenticated?200:400).send()}),v.get("/api/user",ks(),async(e,n)=>{var a;const i=e.user;if(null==i||!i.isAuthenticated){if(!0===h.invalid_login){const e=Ls(h);return n.status(e.status).json(e)}return n.status(401).json({error:"Not authenticated"})}if(h.invalid_login=!1,!await vs(i))return ns(),n.status(403).json({error:"You have been logged out from this machine"});if(null==i||!i.claims)return n.status(400).json({error:"User claims not found"});if(null==i||!i.userInfo)return n.status(400).json({error:"User info not found"});const o=null==i||null==(a=i.claims)?void 0:a.organization_roles,s=null==i?void 0:i.userInfo.custom_data,t={authenticated:i.isAuthenticated,id:i.userInfo.sub,name:ws(i),email:i.claims.email||i.userInfo.email||"",profile_picture:i.userInfo.picture||"",default_org_id:(null==s?void 0:s.default_org)||"none",orgs:[]},r=["manage","owner","member","developer"];i.userInfo.organization_data&&(t.orgs=i.userInfo.organization_data.map(e=>{var n;const a={id:e.id,name:e.name,roles:(null==o?void 0:o.filter(n=>n.startsWith(e.id)).map(e=>e.split(":")[1]))||[],canWrite:!1};return a.canWrite=null==(n=a.roles)?void 0:n.some(e=>r.includes(e)),a}).sort((e,n)=>e.id===t.default_org_id?-1:n.id===t.default_org_id?1:e.name.localeCompare(n.name))),n.json(t)}),v.get("/api/license",ks(),async(n,a)=>{var i,o,s;const t=null==(i=n.query.token)?void 0:i.toString(),r=null==(o=n.query.org)?void 0:o.toString();let c=null;if(t)c={authToken:t};else{const e=await ps();if(!e||!e.isAuthenticated)return a.status(401).json({error:"Not authenticated",code:"not_authenticated"});if(!await vs(e))return ns(),a.status(403).json({error:"Invalid login"});c=await _s(e,r||null).catch(e=>({status:500,error:e.message}))}if(!c)return a.status(500).json({error:"Failed to fetch licenses (Missing auth)"});if("error"in c)return a.status(c.status).json({error:c.error});const l=J(c),p=null==(s=n.query.integration)?void 0:s.toLocaleString(),u={...l,"x-needle":"cli","x-needle-integration":null!=p&&p.length?p:"unknown"},d=await e(`https://cloud.needle.tools/api${G.account.get_licenses}`,{method:"GET",headers:u}).catch(e=>(console.error("Failed to fetch licenses",e.message),Wo(`Failed to fetch licenses: "${e.message}"`),null));if(!d)return a.status(500).json({error:"Failed to fetch licenses"});if(d.ok){const e=await d.json();return void 0===e.can_use_editor&&(e.can_use_editor=!0),a.json(e)}return a.status(d.status).json({error:d.statusText})}),v.get("/api/deployments",ks(),async(e,n)=>{var a;const i=await ps();if(!i||!i.isAuthenticated)return n.status(401).json({error:"Not authenticated"});const o=null==(a=e.query.org)?void 0:a.toString(),s=await _s(i,o).catch(e=>({status:500,error:e.message}));if("error"in s)return n.status(s.status).json({error:s.error});if(o&&!s.org)return n.status(400).json({error:"Organization not found"});const t=await Jo({endpoint:"https://cloud.needle.tools/api",authToken:s.authToken,org:s.org||void 0,limit:20,offset:0,names:void 0}).catch(e=>(console.error("List Deployments error: "+e.message),{status:500,error:e.message}));if("error"in t)return n.status(t.status).json({error:t.error});for(const e of t.deployments)e.editUrl=`${No()}/${e.id}`;const r={...t};return n.json(r)}),v.get(t,ks(),async(n,a)=>{const i=await ps();if(!i||!i.isAuthenticated)return a.status(401).json({error:"Not authenticated"});const o=`https://cloud.needle.tools/api${G.local_projects.get.user}`,s=await e(o,{method:"GET",headers:{Authorization:`Bearer ${i.accessToken}`}}).catch(e=>(console.error("Failed to fetch projects",e.message),null));if(!s)return a.status(500).json({error:"Failed to fetch projects"});if(!s.ok)return a.status(s.status).json({error:s.statusText});const t=await s.json().catch(e=>console.error(e));return a.json(t)}),v.get(t+"/:id",ks(),async(n,a)=>{var i;const o=await ps();if(!o||!o.isAuthenticated)return a.status(401).json({error:"Not authenticated"});let s=null==(i=n.query.org)?void 0:i.toString();const t=await _s(o,s).catch(e=>({status:500,error:e.message}));if(!t)return a.status(500).json({error:"Failed to fetch projects"});if("error"in t)return a.status(t.status).json({error:t.error});const r=J(t),c=`https://cloud.needle.tools/api${G.local_projects.get.by_id}${encodeURIComponent(n.params.id)}`,l=await e(c,{method:"GET",headers:{...r}}).catch(e=>(console.error("Failed to fetch project",e.message),null));if(!l)return a.status(500).json({error:"Failed to fetch projects. Please try again later or contact hi@needle.tools"});if(!l.ok)return a.status(l.status).json({error:l.statusText});const p=await l.json().catch(e=>(console.error(e),null));return p?a.json(p):a.status(500).json({error:"Failed to parse data. Please try again later or contact hi@needle.tools"})}),v.post("/api/projects",ks(),async(n,a)=>{const i=await ps();if(!i||!i.isAuthenticated)return a.status(401).json({error:"Not authenticated"});const o="string"==typeof n.body?JSON.parse(n.body):n.body,s={machine_id:await xs(),project_id:o.project_id,project_name:o.project_name,scene_name:o.scene_name,web_project_path:o.web_project_path,editor_name:o.editor_name,editor_version:o.editor_version};if(!s.project_id||!s.project_name)return a.status(400).json({error:"Invalid request"});const t=`https://cloud.needle.tools/api${G.local_projects.post}`,r=await e(t,{method:"POST",headers:{Authorization:`Bearer ${i.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(s)}).catch(console.error);return r?r.ok?a.send("OK"):a.status(r.status).json({error:r.statusText}):a.status(500).json({error:"Failed to upsert project"})}),v.get("/api/public_key",ks(),async(n,a)=>{var i,o;const s=await ps();if(!s||!s.isAuthenticated)return a.status(401).json({error:"Not authenticated"});const t=null==(i=n.query.org)?void 0:i.toString(),r=await _s(s,t).catch(e=>({error:e.message,status:500}));if(!r)return a.status(500).json({error:"Failed to fetch public key"});if("error"in r)return a.status(r.status).json({error:r.error});const c={project_id:(null==(o=n.query.project_id)?void 0:o.toString())||void 0,machine_id:await xs()},l=await e(`https://cloud.needle.tools/api${G.account.public_key}`,{method:"POST",headers:{...J(r),"Content-Type":"application/json"},body:JSON.stringify(c)});if(l.ok){const e=await l.json().catch(console.error);return null!=e&&e.public_key?a.json(e):a.status(500).json({error:"Failed to fetch public key"})}return a.status(l.status).json({error:l.statusText})}),v.get("/api/local_project_id",async(e,n)=>{const a=e.query.paths;if(!a)return n.status(400).json({error:"Missing paths"});let i=[];"string"==typeof a?i=a.split(",").map(e=>e.trim()).filter(e=>e.length>0):Array.isArray(a)&&(i=a.map(e=>e.toString().trim()).filter(e=>e.length>0));const o=zs(i);return o?n.json({project_id:o}):n.status(404).json({error:"Project ID not found"})});let y=null;const w=new Promise(e=>y=e);function l(){Wo("Cleaning up auth server...")}f=v.listen(Ko,()=>{null==y||y()}),f.on("close",l),process.on("exit",l),process.on("SIGINT",()=>{l(),process.exit(0)}),await w.catch(e=>{console.error(e),Wo(`Error starting the auth server (promise failed): ${e.message}`)}),function(e){const n=new H({server:e,path:"/mcp/ws"});console.log("\nWebSocket server created and attached to HTTP server."),Wo("MCP websocket server created.");let a=0;n.on("connection",e=>{const n=++a;console.log("New WebSocket connection established."),Wo(`New MCP websocket connection established. Connection ID: ${n}`),e.on("close",()=>{console.log("WebSocket connection closed."),Wo(`MCP websocket connection closed. Connection ID: ${n}`)});const i=new Map;e.on("message",n=>{try{const a=n.toString();console.log("Received message:",a);const o=JSON.parse(a);switch(o.command){default:console.log(`Unknown command: ${o.command}`),Wo(`Unknown MCP websocket command received: ${o.command}`);break;case"register_tools":{const n=o.tools;console.log(`Registering ${n.length} tools from client.`),Wo(`Registering ${n.length} MCP tools from client. ${n.map(e=>null==e?void 0:e.name).join(", ")}`);for(const a of n)Ss(a,async n=>{console.log(`Tool ${a.name} executed via WebSocket with args:`,n);const o=`${a.name}-${Date.now()}-${Math.random()}`;return await new Promise((s,t)=>{const r=setTimeout(()=>{i.has(o)&&(console.error(`Tool execution timed out for tool: ${a.name}`),i.delete(o),t(new Error(`Tool execution timed out for tool: ${a.name}`)))},3e4);i.set(o,{resolve:e=>{s(e),clearTimeout(r)},reject:t}),e.send(JSON.stringify({command:"execute_tool",tool_name:a.name,args:n,requestId:o}))})});break}case"tool_result":{const e=o.requestId,n=o.result;if(console.log(`Received tool result for requestId: ${e}`,n),i.has(e)){const{resolve:a}=i.get(e);a(n),i.delete(e)}else console.error(`No pending tool execution found for requestId: ${e}`);break}}}catch(e){console.error("Error processing WebSocket message:",e)}})})}(f)}return r}function Ls(e){let n="";return n=e.error?e.error:e.logged_in_machine_names.length>0?`You're already authenticated on ${e.logged_in_machine_names.length} other machine(s)${e.user_email?` with ${e.user_email}`:""}. Please logout from other machines first on ${$o()}. You're currently logged in on: ${e.logged_in_machine_names.join(", ")}`:"An unknown error occured.",{status:403,error:n}}async function $s(e={headless:!1,silent:!1,clearAuthData:!1}){return!0===e.clearAuthData&&await ns(),Us("sign-in",{...e})}function Ns(e={}){return Us("sign-out",{...e})}function Us(n,a){return new Promise(async(i,o)=>{let s=!1;if("sign-in"==n){const e=await ps();if(null!=e&&e.isAuthenticated)return await bs(e)?(s=!0,a.ora&&(a.ora.text=`Authorized as ${ws(e)}`),"gotoAccountPage"in a&&!0===a.gotoAccountPage&&(a.ora&&(a.ora.text="Opening account page in the browser"),Uo($o()),await new Promise(e=>setTimeout(e,2e3))),i(e)):i(null);if(!0===a.headless)return i(null)}else if("sign-out"==n&&!0===a.headless){s=!0,ns();const n=await As(),a=await e(n.auth_endpoints["sign-out"],{follow:2});return i(a.ok)}const t=await As();switch(a.timeout||(a.timeout=6e5),"number"==typeof a.timeout&&a.timeout>0&&setTimeout(()=>{s||(a.ora&&a.ora.fail('Timeout "'+n+'"'),i(null))},a.timeout),n){case"sign-in":const e=t.auth_endpoints["sign-in"];setTimeout(()=>Uo(e),300),a.ora&&(a.ora.text=`Please authenticate in the browser: ${e}`),setTimeout(l,2e3);break;case"sign-out":ns(),Uo(t.auth_endpoints["sign-out"]),setTimeout(l,2e3)}let r=0;const c=10;function l(){e(t.auth_endpoints["is-authenticated"]).then(async e=>{if(200===e.status||400===e.status||403===e.status)switch(n){case"sign-in":if(200===e.status){const e=await ps();return e&&!await bs(e)?i(null):(s=!0,a.ora&&e&&(a.ora.text="User is authenticated"),i(e))}if(403===e.status){a.ora&&a.ora.fail("Authentication failed");const n=await e.text();if(n.startsWith("{")){const e=JSON.parse(n);if("logged_in_machine_names"in e&&Array.isArray(e.logged_in_machine_names)){const n=e.logged_in_machine_names;F().fail(`You're already authenticated on ${n.length} other machine(s). Please logout from other machines first. You're currently logged in on: ${n.join(", ")}`)}}return i(null)}break;case"sign-out":if(400===e.status)return s=!0,ns(),a.ora&&(a.ora.text="User is signed-out"),i(!0)}else if(r++,r>c)return a.ora?a.ora.fail(`Failed to complete auth flow. Please try again. Make sure that port ${t.port} is not blocked`):a.silent||console.error(`Failed to complete auth flow. Please try again. Make sure that port ${t.port} is not blocked`),i(null);setTimeout(l,1e3)}).catch(e=>{r>=10&&console.debug("Error polling auth status: "+e.message)})}})}globalThis.fetch||(globalThis.fetch=e),globalThis.File||(globalThis.File=n),globalThis.crypto||(globalThis.crypto=a.webcrypto);const qs=process.argv.includes("--silent"),Is=JSON.parse(r(new URL("../package.json",import.meta.url),"utf-8"));!qs&&process.argv.includes("version")&&console.log(`☁ Needle Cloud — ${Is.version}, Node ${process.version}`);const Ps="The access token to use. Use the login command or get a token from https://cloud.needle.tools. You can pass the access token with your command or set the environment variable NEEDLE_CLOUD_TOKEN";async function Bs(e,n=null,a=!0){let i,o=null==e?void 0:e.toString();var s;if(o||(B.config(),process.env.NEEDLE_CLOUD_TOKEN&&(o=process.env.NEEDLE_CLOUD_TOKEN,null!=(s=o)&&s.length&&console.log("Using NEEDLE_CLOUD_TOKEN token from env"))),""===o||"true"===o){const e=(await import("node:readline")).createInterface({input:process.stdin}),n=10;let a,o="",s=!1;return new Promise(t=>{const r="Paste your https://cloud.needle.tools/team#token access token here:",c=F({text:r,interval:200,spinner:"moon"}).start();process.stdin.setRawMode(!0),process.stdin.on("data",l=>{const p=l.toString();""===p&&process.exit();const u="\n"===p||"\r"===p;if(!u&&"\n"!==p&&"\r"!==p){""===p||"\b"===p?o=o.slice(0,-1):o+=p;const e=o.replace(/./g,"*");c.text=`${r} ${e}`}clearTimeout(a),a=setTimeout(()=>{if(!s&&(u||o.trim().length>n)){process.stdin.setRawMode(!1),e.close(),s=!0;const n=o.trim();if(n.length>0){const e=n.slice(3,-3).replace(/./g,"*");c.succeed("Access token received: "+e)}else c.fail("No access token provided");t({accessToken:n,org_id:i})}},150)})})}if(!o){let e;await async function(){const e=await ps();return null==e?void 0:e.isAuthenticated}()||(e=qs?void 0:F("No access token found. Please sign in to authenticate...").start());const s=$s({headless:!a,ora:e,timeout:12e4}),u=await s;var t;if(u&&!vs(u)?(null==(t=e)||t.warn("You are not logged in from this machine. Please login again."),await Ns({headless:!0})):e&&(u?e.succeed("Logged in"):e.fail("Login failed")),null!=u&&u.isAuthenticated){var r;if(null==n){const e=await async function(e){var n;if(!e)return{status:401,error:"Not authenticated"};const a=null==(n=e.userInfo)?void 0:n.custom_data;return a?a.default_org?a.default_org:(console.warn("WARN: You do not have a default organization set. Please visit your Needle Cloud account settings and then try again."),Wo("WARN: You do not have a default organization set. Please visit your Needle Cloud account settings and then try again."),null):null}(u);"string"==typeof e&&(n=e)}else n===(null==(r=u.userInfo)?void 0:r.sub)&&(n=null);if(n){var c,l,p;if(i=null==(c=u.userInfo)||null==(c=c.organization_data)||null==(c=c.find(e=>e.id===n))?void 0:c.id,i||(n=null==(l=n.toString())?void 0:l.toLowerCase(),null!=i||(i=null==(p=u.userInfo)||null==(p=p.organization_data)||null==(p=p.find(e=>e.name.toLowerCase()===n))?void 0:p.id)),!i)throw new Error(`ERR: You (${ws(u)}) are not a member of the organization "${n}"`);o=await(null==u?void 0:u.client.getOrganizationToken(i))}else o=null==u?void 0:u.accessToken}}return o||(console.error("ERR: Missing NEEDLE_CLOUD_TOKEN token. Please provide the access token argument or set the environment variable NEEDLE_CLOUD_TOKEN. Get an access token for your team at https://cloud.needle.tools/team"),process.exit(403)),{accessToken:o,org_id:i}}const Ds=i.program;async function Ws(){const{spawn:e}=await import("node:child_process");e(process.execPath,[process.argv[1],"start-server","--integration","cli-login"],{stdio:"inherit",env:{...process.env,NEEDLE_CLOUD_TOKEN:process.env.NEEDLE_CLOUD_TOKEN||""}}),await new Promise(e=>setTimeout(e,1e3))}Ds.version(Is.version).description("Command-line interface (CLI) for Needle Cloud"),Ds.command("start-server","Starts the Needle Auth server").configure({visible:!1,strictOptions:!1}).help("Start the local server for Needle Cloud. This is required to authenticate with Needle Cloud and access your account and data.").option("--restart <restart>","Restarts the server",{required:!1,validator:Ds.BOOLEAN,default:!1}).option("--integration <integration>","Hint for the process which integration triggered this command",{required:!1,validator:Ds.STRING}).action(async({options:e})=>{const n=e.integration,a=qs?void 0:F("Starting Needle License server "+(n?`(from ${n})`:"")).start();As({ora:a,restart:e.restart}).then(e=>{null!=e&&e.baseUrl&&e.isHost?null==a||a.succeed(`Server started on ${e.port}`):!1===(null==e?void 0:e.isHost)?(n||null==a||a.warn(`Server is running on ${e.port}`),process.exit(0)):null==a||a.fail("Failed to start server")})}),Ds.command("get-project-id","Gets the project id for a local project").configure({visible:!1,strictOptions:!1}).argument("<paths...>","The path to the local project (web project directory)").action(async({args:e})=>{const n=zs(e.paths);n?console.log(`Found project ID: "${n}"`):console.log("No project ID found.")}),Ds.command("login","Login to Needle Cloud").help("Login to Needle Cloud. If you are already logged in, this will refresh the access token.").option("--headless <headless>","The headless process will not open a browser window to login. If the user is not authorized then no auth flow can be started. Use this if you only want to **check** if the user is authenticated",{required:!1,validator:Ds.BOOLEAN,default:!1}).option("--clear <clear>","Refresh the access token",{required:!1,validator:Ds.BOOLEAN,default:!1}).action(async({options:e})=>{await Ws();const n=e.headless.valueOf()||!1,a=e.clear.valueOf()||!1,i=qs?void 0:F("Login").start();await $s({headless:n,silent:qs,clearAuthData:a,ora:i}).then(async e=>{null!=e&&e.isAuthenticated?null==i||i.succeed("Successfully logged in as "+ws(e)):0==n?null!=e&&e.claims||null!=e&&e.userInfo?null==i||i.warn(`You (${ws(e)}) are not authenticated...`):null==i||i.fail("Login failed"):qs||null==i||i.warn("Not logged in"),process.exit(null!=e&&e.isAuthenticated?0:1)})}),Ds.command("logout","Logout of Needle Cloud").help("Logout of Needle Cloud (if you have logged in before).").option("--headless <headless>","Headless will not open a browser window to logout",{required:!1,validator:Ds.BOOLEAN,default:!1}).action(async({options:e})=>{await Ws();const n=e.headless.valueOf()||!1;await Ns({headless:n}).then(e=>{e?F("Logged out").succeed():F("Logout failed").fail(),process.exit(e?0:1)})}),Ds.command("me","Prints your user information").help("Prints basic informaton about the logged in Needle Cloud account (your account)").action(async({})=>{const e=qs?void 0:F("Query user data").start(),n=await ps();if(null!=n&&n.isAuthenticated&&await vs(n)){const s=n.userInfo||n.claims;var a,i,o;s?(null==e||e.succeed(`You are logged in as ${ws(n)}`),console.log(`- Name: ${ws(n)}`),console.log(`- ID: ${s.sub}`),s.email&&console.log(`- Email: ${s.email}`),s.phone_number&&console.log(`- Phone: ${s.phone_number}`),null!=(a=n.userInfo)&&a.organization_data&&console.log(`- Teams [${null==(i=n.userInfo)?void 0:i.organization_data.length}]: ${null==(o=n.userInfo)?void 0:o.organization_data.sort((e,n)=>e.name.localeCompare(n.name)).map(e=>e.name).join(", ")}`)):null==e||e.fail("Failed to get user data")}else null==e||e.warn("You are not logged in")}),Ds.command("get-indie","Start license flow for Needle Engine INDIE").configure({visible:!1,strictArgsCount:!1,strictOptions:!1}).action(async({})=>{const e=F().start("Start Needle Engine INDIE purchase flow"),n=V({baseUrl:"https://cloud.needle.tools",account_id:null,license:"needle-engine:indie",return_url:null});n?(e.succeed("Start Needle Engine INDIE purchase flow: opening browser"),Uo(n.toString())):e.fail("Failed to get purchase url - please visit https://cloud.needle.tools")}),Ds.command("get-pro","Start license flow for Needle Engine PRO").configure({visible:!1,strictArgsCount:!1,strictOptions:!1}).option("--org <org>","The team to purchase the license for",{validator:Ds.STRING}).action(async({options:e})=>{var n;let a=(null==(n=e.org)?void 0:n.toString())||null;const i=F().start("Start Needle Engine PRO purchase flow"),o=V({baseUrl:"https://cloud.needle.tools",pathname:a?`/team/${a}`:"/account",account_id:a,license:"needle-engine:pro",return_url:null});if(!o)return void i.fail("Failed to get purchase url - please visit https://cloud.needle.tools");const s=o.toString();i.succeed(`Started Needle Engine PRO purchase flow: opening browser at ${s}`),Uo(s)});const Ms={account:{url:$o}},Hs=`"${Object.keys(Ms).join('", "')}"`;Ds.command("open",`Open a page in the default browser. Options are: ${Hs}`).argument("<page>",`The page to open. Options are: ${Hs}`,{validator:Ds.STRING}).help("").action(async({args:e,logger:n})=>{const a=e.page.toString(),i=Ms[a];i?"url"in i?Uo(i.url):n.error(`Unknown argument: ${a}`):n.error(`Unknown argument: ${a}. Options are: ${Hs}`)}),Ds.command("list-deployments","Get a list of deployed websites").configure({visible:!1}).help("").option("--token <token>",Ps,{validator:Ds.STRING}).option("--org <org>","The organization name or id to authenticate for",{required:!1,validator:Ds.STRING}).option("--endpoint <endpoint>","The needle cloud endpoint to use - e.g. https://cloud.needle.tools/api",{required:!1,validator:Ds.STRING}).option("--limit <limit>","Limit the number of deployments to show (min: 0, max: 100)",{validator:Ds.NUMBER,default:10}).option("--offset <offset>","The offset for deployments (default: 0, min: 0)",{validator:Ds.NUMBER,default:0}).option("--format <format>","The output format. Options: cli (default), json",{validator:Ds.STRING,default:"cli",hidden:!0}).option("--name","Filter by one or multiple deployment names (separated by ;)",{validator:Ds.STRING}).action(async({options:e,logger:n})=>{var a,i,o;const{accessToken:s,org_id:t}=await Bs(e.token,e.org),r=(null==(a=e.endpoint)?void 0:a.toString())||"https://cloud.needle.tools/api",c=e.limit.valueOf(),l=e.offset.valueOf(),p=(null==(i=e.format)?void 0:i.toString())||"cli",u=(null==(o=e.name)?void 0:o.toString())||void 0;if(c<0)return void n.error("The limit can not be negative");if(c>100)return void n.error("The limit can not be higher than 100");const d=F("Query deployments").start(),m=await Jo({endpoint:r,authToken:s,org:t,limit:c,offset:l,names:null==u?void 0:u.split(";")}).catch(e=>{n.error(e)});if(m&&"error"in m)d.fail(m.error+" (status: "+m.status+")");else if(m){if("json"===p){d.succeed(`Found ${m.deployments.length} deployments`);const e=JSON.stringify(m.deployments);return void console.log(e)}m.deployments.length>0?(d.succeed(`Found ${m.deployments.length} deployments`),m.deployments.forEach((e,a)=>{n.info(`${a+c*l}: ${e.name} – ${e.url}`)})):d.warn("No deployments found")}else d.fail("Failed to query deployments")}),Ds.command("deploy","Deploy a website to Needle").help("").argument("<directory>","The directory to deploy",{validator:Ds.STRING}).option("--token <token>",Ps,{validator:Ds.STRING}).option("--team <team>","The team name or id to deploy to (not needed when using token/accesstoken)",{required:!1,validator:Ds.STRING}).option("--org <org>","The organization name or id to deloy to (not needed when using token/accesstoken)",{required:!1,validator:Ds.STRING,hidden:!0}).option("--name <name>","The project name. This name will also be used in your website URL",{required:!1,validator:Ds.STRING}).option("--entrypoint <entrypoint>",'The entrypoint file to use (e.g. "index.html"). This is useful if you want to deploy a folder with multiple HTML files and you want to configure which file to load initially or if you have multiple model files in one folder',{required:!1,validator:Ds.STRING,hidden:!0}).option("--endpoint <endpoint>","The needle cloud endpoint to use - e.g. https://cloud.needle.tools/api",{required:!1,validator:Ds.STRING,hidden:!0}).option("--open","Open the deployment in the default browser",{default:!0,validator:Ds.BOOLEAN}).option("--verbose <verbose>","Enables verbose output logs",{required:!1,validator:Ds.BOOLEAN,default:!1,hidden:!0}).option("--experimental","Use the experimental upload API. Mostly used for debugging (default: false)",{required:!1,validator:Ds.BOOLEAN,default:!1,hidden:!0}).option("--raw","Use raw to disallow modifications like gzip compression on upload",{required:!1,validator:Ds.BOOLEAN,default:!1,hidden:!0}).action(async({args:e,options:n,logger:a})=>{var i,o,s;const t=n.open,{accessToken:r,org_id:c}=await Bs(n.token,n.team||n.org),l=n.verbose.valueOf(),p=n.experimental.valueOf()||!1,u=n.raw.valueOf()||!1;await Ho({logger:a,endpoint:(null==(i=n.endpoint)?void 0:i.toString())||void 0,token:r,org_id:c,directory:e.directory.toString(),name:(null==(o=n.name)?void 0:o.toString())||void 0,entrypoint:(null==(s=n.entrypoint)?void 0:s.toString())||void 0,open:t,verbose:l||!1,experimental:p||!1,raw:u||!1})}),Ds.command("optimize","Optimize glTF, GLB, VRM, FBX, USD files").help("").option("--token <token>",Ps,{validator:Ds.STRING}).option("--team <team>","The team name or id to upload the file to",{required:!1,validator:Ds.STRING}).option("--org <org>","The organization name or id to upload the file to",{required:!1,validator:Ds.STRING,hidden:!0}).argument("<path>","The full path to a file or directory that should be optimized",{validator:Ds.STRING}).option("--outdir <outdir>","The output directory for the optimized file(s). If set your optimized asset files will automatically be downloaded to this directory.",{required:!1,validator:Ds.STRING}).option("--name <name>","The optimization project name / unique identifier. This can also be the view id of previous uploads.",{required:!1,validator:Ds.STRING}).option("--verbose <verbose>","Enables verbose output logs",{required:!1,validator:Ds.BOOLEAN,default:!1}).option("--progressive","Use Needle progressive loading",{required:!1,validator:Ds.BOOLEAN,default:!0}).action(async({args:e,options:n,logger:a})=>{var i,o,r;const c=n.verbose.valueOf(),{accessToken:l,org_id:d}=await Bs(n.token,n.team||n.org);if(l!=n.token){const e=await ps();null!=e&&e.isAuthenticated?d||(F("Please provide an organization id to optimize files...").fail(),process.exit(1)):(F("Please login to optimize files...").fail(),process.exit(1));const n=await async function(e,n){const a=e.baseUrl+G.account.get_licenses,i={...{...n},...J(e)},o=await fetch(a,{...K,method:"GET",headers:i}).catch(e=>(console.error(e),null));return o?o.ok?(await o.json()).licenses:(console.error(o.statusText,await o.text()),[]):[]}({baseUrl:"https://cloud.needle.tools/api",authToken:l,org:d},{type:"org",org_id:d});(!n||n.length<=0||!n.find(e=>"Needle Engine"===e.type&&("pro"===e.license||"enterprise"===e.license)))&&(F("Update to Needle PRO or Enterprise required to optimize files via CLI. Visit https://cloud.needle.tools/get-pro").fail(),process.exit(1))}const m=(null==(i=n.progressive)?void 0:i.valueOf())||!0,f=await async function(e){if(e.outDir){var n;if((null==(n=e.outDir)?void 0:n.length)<=0){const e="Output Directory is invalid";return F().fail(e),{error:e}}if(s(e.outDir)&&t(e.outDir).isFile()){const e="The output directory is a file - it must be a directory";return F().fail(e),{error:e}}}const a=e.fileOrDirectory;if(!s(a))return F().fail(`File not found: ${a}`),{error:"File not found"};if(!e.token||e.token.length<=1||"string"!=typeof e.token||"true"===e.token)return{error:`Missing access token. Create a token at ${$o()}`};if(void 0!==e.name&&e.name&&(e.name.length<=0||"true"===e.name||"false"===e.name))return{error:`Name is not valid: "${e.name}". Please provide a valid name`};e.fileOrDirectory=g(e.fileOrDirectory);const i=F(`Gathering files ${e.fileOrDirectory}`).start();let o=null;try{o=Io("optimization",e.fileOrDirectory)}catch(n){return F().fail(`${n.message||`Failed to collect files in ${e.fileOrDirectory}`}`),{error:"Failed to collect files"}}const r=function(e){const n=bo(e,"\\","/").split("/");return n[n.length-1].includes(".")&&n.pop(),n.join("/")}(a);i.text=`Uploading ${o.files.length} files for optimization:\n- ${o.files.map(e=>e.path||e.name).join("\n -")}`;const c="https://cloud.needle.tools/api";e.verbose&&console.log("Using endpoint:",c);const l=await Ao({baseUrl:c,authToken:e.token,org:e.org_id},{triggered_by:"cli",files:o.files,entrypoint:o.entrypoint},{type:"upload",name:e.name,loglevel:e.verbose?"debug":"none",progress:e=>{i.text=`Uploading ${e.fileName} - finished in approx. ${e.estimatedTimeLeftDisplay}, ${100*e.progress01}%`}});if(0==l.success){const e=`${l.error||"Unknown error: could not start upload"}`;return i.fail(e),{error:e,noprint:!0}}if(l.success){const n=`${No()}/${l.view_id}?select_team=1`;i.succeed(l.uploadSkipped?`Files have already been uploaded to ${n}`:`Uploaded ${o.files.length} files for optimization to ${n}`);const a=await async function(e,n={progressive:!0}){const a=e.baseUrl+G.optimize.request,i={...J(e),job_id:e.id,type:"optimization",triggered_by:e.trigger_type},o={parameters:{...n}},s=await fetch(a,{...K,method:"POST",headers:i,body:JSON.stringify(o)});if(!s.ok){const e=await s.text();return console.error(`Failed to request optimization (${s.status}): ${e} `),null}return await s.json().catch(e=>(console.error(e),null))}({baseUrl:c,authToken:e.token,org:e.org_id,id:l.id,trigger_type:"cli"},{progressive:e.progressive,pipeline_version:"latest"});if(!a)return{error:"Failed to send optimization request"};if("error"in a){const e=`Failed to optimize: ${a.error}`;return console.error(e),{error:e}}{const n=a.job,i=F(`Optimization requested for ${n.name||n.identifier}`).start();let o=!1;for(i.color="gray";;){if("completed"===a.job.status){var d;o=!0,i.succeed(`${null!=(d=a.message)?d:"Optimization completed"}`);break}let s=2e3;const t=await so(n.identifier,{baseUrl:c,authToken:e.token,org:a.job.org});if("new"!==(null==t?void 0:t.status)&&"pending"!==(null==t?void 0:t.status)||(i.text="Your asset is queued - waiting for optimization to start",i.color="yellow",s=2e3),"running"===(null==t?void 0:t.status))i.text=`Your asset is being optimized: ${t.progress?`${t.progress}%`:""} ${t.status_message?`— ${t.status_message}`:""}`,i.color="cyan",s=1e3;else if("stalled"===(null==t?void 0:t.status))s=2500;else{if("completed"===(null==t?void 0:t.status)){o=!0,i.succeed(`Your asset has finished optimizing: ${t.status_message}`);break}if("canceled"===(null==t?void 0:t.status))return i.fail(`Optimization cancelled: ${t.error}`),{error:t.error||"Optimization cancelled"};if("failed"===(null==t?void 0:t.status))return i.fail(`Optimization failed: ${t.error}`),console.error(`Optimization failed: ${t.error}`),{error:t.error||"Optimization failed"}}await So(s)}if(o){const a=F("Loading finished job information...").start(),i=await async function(e){if(!e.identifier)return null;const n={...J(e)},a={job_id:e.identifier,fields:e.fields},i=e.baseUrl+G.jobs.query,o=await fetch(i,{...K,method:"POST",headers:n,body:JSON.stringify(a)}).catch(e=>(console.error(e),null));if(null==o)return null;if(!o.ok)return console.error("Failed to get job",o.status,await o.text()),null;const s=await o.json().catch(e=>(console.error(e),null));return null==s?null:s.job}({baseUrl:c,authToken:e.token,org:e.org_id,identifier:n.identifier,fields:["results"]});if(null==i||!i.results){a.fail(`Finished job did not output files... Please report an issue to hi@needle.tools with job id ${n.identifier}`);const e="Failed to get job results";return console.error(e),{error:e}}if(e.verbose&&console.log(`-- Results\nId: ${n.identifier}\nEntryPoint: ${i.results.entrypoint}\nFiles:\n`,i.results.files),e.outDir){const o=new Array;for(const t of i.results.files){if(io(t.filename)){e.verbose&&console.log("Skipping internal file");continue}const i=t.filename;a.text=`Downloading ${i}`;const l=Y({baseUrl:c,view_id:n.view_id,job_id:n.identifier,filename:i}),d=await fetch(l).catch(e=>(console.error(e),null));if(d&&d.ok){const n=await d.arrayBuffer().catch(e=>(console.error(e),null));if(!n)return a.fail(`Failed to get buffer for downloaded file: ${i}`),{error:"Failed to get buffer for downloaded file"};let t=r;e.outDir&&(t=e.outDir,s(t)||p(t,{recursive:!0}));const c=t+"/"+i;a.succeed(`Downloaded ${i}`);const l=c.split("/").slice(0,-1).join("/");e.verbose&&console.log(`Writing file ${i} (${(n.byteLength/1024).toFixed(2)} KB) to "${c}"`),s(l)||(a.info(`Creating directory: ${l}`),p(l,{recursive:!0})),u(c,Buffer.from(n)),o.push(c)}else a.fail(`Failed to download (${null==d?void 0:d.status} | ${null==d?void 0:d.statusText}): ${i}`),e.verbose&&console.log("URL: "+l)}a.succeed(`Successfully downloaded ${o.length} optimized ${o.length>1?"files":"file"}`),e.verbose&&console.log("Downloaded files:\n",o)}else a.succeed(`Asset successfully optimized: https://cloud.needle.tools/edit/${n.view_id} (To download optimized files, use the --outdir option)`);return{success:!0}}}}return{error:"Unknown error"}}({logger:a,token:l,org_id:d,fileOrDirectory:e.path.toString(),name:(null==(o=n.name)?void 0:o.toString())||void 0,progressive:m,outDir:(null==(r=n.outdir)?void 0:r.toString())||void 0,verbose:c||!1}).catch(e=>{console.error(e),process.exit(1)});Array.isArray(f)?process.exit(0):"error"in f&&(f.noprint||console.error(f.error),process.exit(1))});export{Ds as program};
1
+ import e from"node-fetch";import{File as n}from"@web-std/file";import a from"node:crypto";import i from"@caporal/core";import o,{existsSync as t,statSync as s,readFileSync as r,readdirSync as c,appendFileSync as l,mkdirSync as p,writeFileSync as u,readFile as d}from"fs";import m,{TextEncoder as f}from"util";import h,{Readable as v}from"stream";import x,{resolve as g,join as b}from"path";import y from"http";import w from"https";import _ from"url";import k from"assert";import j from"tty";import T,{tmpdir as S}from"os";import E from"zlib";import{EventEmitter as C}from"events";import R from"crypto";import z from"buffer";import O from"open";import F from"ora";import{realpathSync as $,mkdirSync as A,existsSync as L,statSync as N,rename as U}from"node:fs";import{writeFile as q}from"node:fs/promises";import P from"node:os";import I from"node:path";import B from"dotenv";import D from"@logto/node";import{Router as W}from"express";import M from"body-parser";import{WebSocketServer as H}from"ws";const G={status:"/v1/status",version:"/v1/version",api:"/v1/api",usage:{get:"/v1/usage"},affiliate:{get:"/v1/affiliate/get",link_clicked:"/v1/affiliate/link_clicked"},account:{public_key:"/v1/account/public_key",post_machine:"/v1/account/machine",connect:"/v1/account/connect",get_licenses:"/v1/account/get/licenses",set_license_active:"/v1/account/set_license_active",set_licenses_active:"/v1/account/set_licenses_active",buy_licenses:"/v1/account/buy_licenses",update_licenses:"/v1/account/update_licenses",update_payment_method:"/v1/account/update_payment_method",get_billing:"/v1/account/get_billing",resume_subscription:"/v1/account/resume_subscription",cancel_subscription:"/v1/account/cancel_subscription",start_billingportal_session:"/v1/account/start_billingportal_session"},ai:{llmstxt:"/v1/ai/llmstxt",chat:"/v1/ai/chat",list_chats:"/v1/ai/chat/list",ask:"/v1/ai/ask"},organizations:{get:"/v1/organizations/get",orgs_details:"/v1/organizations/details",licenses:"/v1/organizations/licenses",get_invitations:"/v1/organizations/get_invitations"},events:{get:"/v1/events/get",post:"/v1/events/post",list:"/v1/events/list"},reports:{get:"/v1/reports/get",post:"/v1/reports/post"},questionnaire:{get:"/v1/questionnaires/get",post:"/v1/questionnaires/post"},roadmap:{get:"/v1/roadmap/get",post_vote:"/v1/roadmap/post"},tokens:{create:"/v1/tokens/create",delete:"/v1/tokens/delete",list:"/v1/tokens/list"},get:{stats:"/v1/get/stats",jobs:"/v1/list/jobs",uploads:"/v1/list/uploads",uploads_deleted:"/v1/list/uploads/deleted",deployments:"/v1/list/deployments",discounts:"/v1/get/discounts"},urls:{public:"/v1/public",public_download_urls:"/v1/public/download/urls"},view:{get:"/v1/view",get_analytics:"/v1/view/analytics",get_public_info:"/v1/view/public/info",post_version:"/v1/view/post_version",update:"/v1/view/update",delete:"/v1/view/delete",restore:"/v1/view/restore"},upload:{request:"/v1/upload/request",request_put_url:"/v1/upload/put",update_results:"/v1/upload/results",done:"/v1/upload/done",cancel:"/v1/upload/cancel"},optimize:{get_optimize_id:"/v1/optimize/get_id",request:"/v1/optimize/request"},jobs:{request_start:"/v1/jobs/request_start",request_download_url:"/v1/download/get_presigned_url",request_download_urls:"/v1/download/get_presigned_urls",request_restart:"/v1/jobs/restart",delete:"/v1/jobs/delete",post_update:"/v1/jobs/update",post_meta:"/v1/jobs/meta",post_results_stats:"/v1/jobs/results_stats",get_status:"/v1/jobs/status",get_org:"/v1/jobs/org",query:"/v1/jobs/query",request_job_that_needs_stats:"/v1/jobs/job_needs_stats"},worker:{ping:"/v1/worker/ping",get_available_count:"/v1/worker/get_available_count",post_available_info:"/v1/worker/post_available_info",get_available_info:"/v1/worker/get_available_info"},local_projects:{get:{user:"/v1/local_projects/user",by_id:"/v1/local_projects/"},post:"/v1/local_projects"}};function J(e){const n={authorization:"Bearer "+e.authToken};return e.org&&(n["x-needle-cloud-org"]=e.org),e.roles&&(n.roles=e.roles.join(",")),e.roles_org&&(n.roles_org=e.roles_org.join(",")),n}const K={credentials:"omit"};function V(e){e=e||{};const n="undefined"!=typeof window?window.location:null;"current_page"===e.baseUrl&&(e.baseUrl=null==n?void 0:n.href);let a=e.pathname||(null==n?void 0:n.pathname),i=e.baseUrl||(null==n?void 0:n.href);if(!a||!i)return null;const o=new URL(a,i);return n&&(o.search=n.search),e.license||(e.license="needle-engine:pro"),o.searchParams.set("purchase_intent",e.license),e.account_id&&o.searchParams.set("account_id",e.account_id),e.return_url&&o.searchParams.set("return_url",e.return_url),e.checkout_if_possible&&o.searchParams.set("checkout_if_possible","true"),e.show_all_cards&&o.searchParams.set("show_all_cards","true"),e.affiliate_id&&o.searchParams.set("affiliate_id",e.affiliate_id),e.tracking_id&&o.searchParams.set("tracking_id",e.tracking_id),o}function Y(e,n=void 0){let a=e.baseUrl+G.urls.public+`/${e.view_id}`;if(a+=e.job_id&&!0!==(null==n?void 0:n.latest)?"/"+e.job_id:"/latest",a+="/",e.filename){const n=e.filename.split("/");for(let e=0;e<n.length;e++){const i=n[e].trim();0!==i.length&&(a+=encodeURIComponent(i),e<n.length-1&&(a+="/"))}}return!0===(null==n?void 0:n.progressive)?a+="?progressive=1":!1===(null==n?void 0:n.progressive)&&(a+="?progressive=0"),a}function Z(e,n){return function(){return e.apply(n,arguments)}}const{toString:X}=Object.prototype,{getPrototypeOf:Q}=Object,ee=(ne=Object.create(null),e=>{const n=X.call(e);return ne[n]||(ne[n]=n.slice(8,-1).toLowerCase())});var ne;const ae=e=>(e=e.toLowerCase(),n=>ee(n)===e),ie=e=>n=>typeof n===e,{isArray:oe}=Array,te=ie("undefined"),se=ae("ArrayBuffer"),re=ie("string"),ce=ie("function"),le=ie("number"),pe=e=>null!==e&&"object"==typeof e,ue=e=>{if("object"!==ee(e))return!1;const n=Q(e);return!(null!==n&&n!==Object.prototype&&null!==Object.getPrototypeOf(n)||Symbol.toStringTag in e||Symbol.iterator in e)},de=ae("Date"),me=ae("File"),fe=ae("Blob"),he=ae("FileList"),ve=ae("URLSearchParams"),[xe,ge,be,ye]=["ReadableStream","Request","Response","Headers"].map(ae);function we(e,n,{allOwnKeys:a=!1}={}){if(null==e)return;let i,o;if("object"!=typeof e&&(e=[e]),oe(e))for(i=0,o=e.length;i<o;i++)n.call(null,e[i],i,e);else{const o=a?Object.getOwnPropertyNames(e):Object.keys(e),t=o.length;let s;for(i=0;i<t;i++)s=o[i],n.call(null,e[s],s,e)}}function _e(e,n){n=n.toLowerCase();const a=Object.keys(e);let i,o=a.length;for(;o-- >0;)if(i=a[o],n===i.toLowerCase())return i;return null}const ke="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,je=e=>!te(e)&&e!==ke,Te=(Se="undefined"!=typeof Uint8Array&&Q(Uint8Array),e=>Se&&e instanceof Se);var Se;const Ee=ae("HTMLFormElement"),Ce=(({hasOwnProperty:e})=>(n,a)=>e.call(n,a))(Object.prototype),Re=ae("RegExp"),ze=(e,n)=>{const a=Object.getOwnPropertyDescriptors(e),i={};we(a,(a,o)=>{let t;!1!==(t=n(a,o,e))&&(i[o]=t||a)}),Object.defineProperties(e,i)},Oe="abcdefghijklmnopqrstuvwxyz",Fe="0123456789",$e={DIGIT:Fe,ALPHA:Oe,ALPHA_DIGIT:Oe+Oe.toUpperCase()+Fe},Ae=ae("AsyncFunction"),Le=(Ne="function"==typeof setImmediate,Ue=ce(ke.postMessage),Ne?setImmediate:Ue?(qe=`axios@${Math.random()}`,Pe=[],ke.addEventListener("message",({source:e,data:n})=>{e===ke&&n===qe&&Pe.length&&Pe.shift()()},!1),e=>{Pe.push(e),ke.postMessage(qe,"*")}):e=>setTimeout(e));var Ne,Ue,qe,Pe;const Ie="undefined"!=typeof queueMicrotask?queueMicrotask.bind(ke):"undefined"!=typeof process&&process.nextTick||Le;var Be={isArray:oe,isArrayBuffer:se,isBuffer:function(e){return null!==e&&!te(e)&&null!==e.constructor&&!te(e.constructor)&&ce(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let n;return e&&("function"==typeof FormData&&e instanceof FormData||ce(e.append)&&("formdata"===(n=ee(e))||"object"===n&&ce(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let n;return n="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&se(e.buffer),n},isString:re,isNumber:le,isBoolean:e=>!0===e||!1===e,isObject:pe,isPlainObject:ue,isReadableStream:xe,isRequest:ge,isResponse:be,isHeaders:ye,isUndefined:te,isDate:de,isFile:me,isBlob:fe,isRegExp:Re,isFunction:ce,isStream:e=>pe(e)&&ce(e.pipe),isURLSearchParams:ve,isTypedArray:Te,isFileList:he,forEach:we,merge:function e(){const{caseless:n}=je(this)&&this||{},a={},i=(i,o)=>{const t=n&&_e(a,o)||o;a[t]=ue(a[t])&&ue(i)?e(a[t],i):ue(i)?e({},i):oe(i)?i.slice():i};for(let e=0,n=arguments.length;e<n;e++)arguments[e]&&we(arguments[e],i);return a},extend:(e,n,a,{allOwnKeys:i}={})=>(we(n,(n,i)=>{e[i]=a&&ce(n)?Z(n,a):n},{allOwnKeys:i}),e),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,n,a,i)=>{e.prototype=Object.create(n.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:n.prototype}),a&&Object.assign(e.prototype,a)},toFlatObject:(e,n,a,i)=>{let o,t,s;const r={};if(n=n||{},null==e)return n;do{for(o=Object.getOwnPropertyNames(e),t=o.length;t-- >0;)s=o[t],i&&!i(s,e,n)||r[s]||(n[s]=e[s],r[s]=!0);e=!1!==a&&Q(e)}while(e&&(!a||a(e,n))&&e!==Object.prototype);return n},kindOf:ee,kindOfTest:ae,endsWith:(e,n,a)=>{e=String(e),(void 0===a||a>e.length)&&(a=e.length);const i=e.indexOf(n,a-=n.length);return-1!==i&&i===a},toArray:e=>{if(!e)return null;if(oe(e))return e;let n=e.length;if(!le(n))return null;const a=new Array(n);for(;n-- >0;)a[n]=e[n];return a},forEachEntry:(e,n)=>{const a=(e&&e[Symbol.iterator]).call(e);let i;for(;(i=a.next())&&!i.done;){const a=i.value;n.call(e,a[0],a[1])}},matchAll:(e,n)=>{let a;const i=[];for(;null!==(a=e.exec(n));)i.push(a);return i},isHTMLForm:Ee,hasOwnProperty:Ce,hasOwnProp:Ce,reduceDescriptors:ze,freezeMethods:e=>{ze(e,(n,a)=>{if(ce(e)&&-1!==["arguments","caller","callee"].indexOf(a))return!1;ce(e[a])&&(n.enumerable=!1,"writable"in n?n.writable=!1:n.set||(n.set=()=>{throw Error("Can not rewrite read-only method '"+a+"'")}))})},toObjectSet:(e,n)=>{const a={},i=e=>{e.forEach(e=>{a[e]=!0})};return oe(e)?i(e):i(String(e).split(n)),a},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,a){return n.toUpperCase()+a}),noop:()=>{},toFiniteNumber:(e,n)=>null!=e&&Number.isFinite(e=+e)?e:n,findKey:_e,global:ke,isContextDefined:je,ALPHABET:$e,generateString:(e=16,n=$e.ALPHA_DIGIT)=>{let a="";const{length:i}=n;for(;e--;)a+=n[Math.random()*i|0];return a},isSpecCompliantForm:function(e){return!!(e&&ce(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const n=new Array(10),a=(e,i)=>{if(pe(e)){if(n.indexOf(e)>=0)return;if(!("toJSON"in e)){n[i]=e;const o=oe(e)?[]:{};return we(e,(e,n)=>{const t=a(e,i+1);!te(t)&&(o[n]=t)}),n[i]=void 0,o}}return e};return a(e,0)},isAsyncFn:Ae,isThenable:e=>e&&(pe(e)||ce(e))&&ce(e.then)&&ce(e.catch),setImmediate:Le,asap:Ie};function De(e,n,a,i,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",n&&(this.code=n),a&&(this.config=a),i&&(this.request=i),o&&(this.response=o)}Be.inherits(De,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:Be.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const We=De.prototype,Me={};["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(e=>{Me[e]={value:e}}),Object.defineProperties(De,Me),Object.defineProperty(We,"isAxiosError",{value:!0}),De.from=(e,n,a,i,o,t)=>{const s=Object.create(We);return Be.toFlatObject(e,s,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e),De.call(s,e.message,n,a,i,o),s.cause=e,s.name=e.name,t&&Object.assign(s,t),s};var He=h.Stream,Ge=Je;function Je(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}m.inherits(Je,He),Je.create=function(e,n){var a=new this;for(var i in n=n||{})a[i]=n[i];a.source=e;var o=e.emit;return e.emit=function(){return a._handleEmit(arguments),o.apply(e,arguments)},e.on("error",function(){}),a.pauseStream&&e.pause(),a},Object.defineProperty(Je.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),Je.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},Je.prototype.resume=function(){this._released||this.release(),this.source.resume()},Je.prototype.pause=function(){this.source.pause()},Je.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]},Je.prototype.pipe=function(){var e=He.prototype.pipe.apply(this,arguments);return this.resume(),e},Je.prototype._handleEmit=function(e){this._released?this.emit.apply(this,e):("data"===e[0]&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e))},Je.prototype._checkIfMaxDataSizeExceeded=function(){this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize||(this._maxDataSizeExceeded=!0,this.emit("error",new Error("DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.")))};var Ke=h.Stream,Ve=Ye;function Ye(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}m.inherits(Ye,Ke),Ye.create=function(e){var n=new this;for(var a in e=e||{})n[a]=e[a];return n},Ye.isStreamLike=function(e){return"function"!=typeof e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e&&!Buffer.isBuffer(e)},Ye.prototype.append=function(e){if(Ye.isStreamLike(e)){if(!(e instanceof Ge)){var n=Ge.create(e,{maxDataSize:Infinity,pauseStream:this.pauseStreams});e.on("data",this._checkDataSize.bind(this)),e=n}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this},Ye.prototype.pipe=function(e,n){return Ke.prototype.pipe.call(this,e,n),this.resume(),e},Ye.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop)this._pendingNext=!0;else{this._insideLoop=!0;try{do{this._pendingNext=!1,this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=!1}}},Ye.prototype._realGetNext=function(){var e=this._streams.shift();void 0!==e?"function"==typeof e?e(function(e){Ye.isStreamLike(e)&&(e.on("data",this._checkDataSize.bind(this)),this._handleErrors(e)),this._pipeNext(e)}.bind(this)):this._pipeNext(e):this.end()},Ye.prototype._pipeNext=function(e){if(this._currentStream=e,Ye.isStreamLike(e))return e.on("end",this._getNext.bind(this)),void e.pipe(this,{end:!1});this.write(e),this._getNext()},Ye.prototype._handleErrors=function(e){var n=this;e.on("error",function(e){n._emitError(e)})},Ye.prototype.write=function(e){this.emit("data",e)},Ye.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},Ye.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},Ye.prototype.end=function(){this._reset(),this.emit("end")},Ye.prototype.destroy=function(){this._reset(),this.emit("close")},Ye.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},Ye.prototype._checkDataSize=function(){this._updateDataSize(),this.dataSize<=this.maxDataSize||this._emitError(new Error("DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded."))},Ye.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(n){n.dataSize&&(e.dataSize+=n.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},Ye.prototype._emitError=function(e){this._reset(),this.emit("error",e)};var Ze="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Xe(e){var n={exports:{}};return e(n,n.exports),n.exports}var Qe={"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}},en=Xe(function(e,n){var a,i,o,t=x.extname,s=/^\s*([^;\s]*)(?:;|\s|$)/,r=/^text\//i;function c(e){if(!e||"string"!=typeof e)return!1;var n=s.exec(e),a=n&&Qe[n[1].toLowerCase()];return a&&a.charset?a.charset:!(!n||!r.test(n[1]))&&"UTF-8"}n.charset=c,n.charsets={lookup:c},n.contentType=function(e){if(!e||"string"!=typeof e)return!1;var a=-1===e.indexOf("/")?n.lookup(e):e;if(!a)return!1;if(-1===a.indexOf("charset")){var i=n.charset(a);i&&(a+="; charset="+i.toLowerCase())}return a},n.extension=function(e){if(!e||"string"!=typeof e)return!1;var a=s.exec(e),i=a&&n.extensions[a[1].toLowerCase()];return!(!i||!i.length)&&i[0]},n.extensions=Object.create(null),n.lookup=function(e){if(!e||"string"!=typeof e)return!1;var a=t("x."+e).toLowerCase().substr(1);return a&&n.types[a]||!1},n.types=Object.create(null),a=n.extensions,i=n.types,o=["nginx","apache",void 0,"iana"],Object.keys(Qe).forEach(function(e){var n=Qe[e],t=n.extensions;if(t&&t.length){a[e]=t;for(var s=0;s<t.length;s++){var r=t[s];if(i[r]){var c=o.indexOf(Qe[i[r]].source),l=o.indexOf(n.source);if("application/octet-stream"!==i[r]&&(c>l||c===l&&"application/"===i[r].substr(0,12)))continue}i[r]=e}}})}),nn=function(e){var n="function"==typeof setImmediate?setImmediate:"object"==typeof process&&"function"==typeof process.nextTick?process.nextTick:null;n?n(e):setTimeout(e,0)},an=function(e){var n=!1;return nn(function(){n=!0}),function(a,i){n?e(a,i):nn(function(){e(a,i)})}},on=function(e){Object.keys(e.jobs).forEach(tn.bind(e)),e.jobs={}};function tn(e){"function"==typeof this.jobs[e]&&this.jobs[e]()}var sn=function(e,n,a,i){var o=a.keyedList?a.keyedList[a.index]:a.index;a.jobs[o]=function(e,n,a,i){return 2==e.length?e(a,an(i)):e(a,n,an(i))}(n,o,e[o],function(e,n){o in a.jobs&&(delete a.jobs[o],e?on(a):a.results[o]=n,i(e,a.results))})},rn=function(e,n){var a=!Array.isArray(e),i={index:0,keyedList:a||n?Object.keys(e):null,jobs:{},results:a?{}:[],size:a?Object.keys(e).length:e.length};return n&&i.keyedList.sort(a?n:function(a,i){return n(e[a],e[i])}),i},cn=function(e){Object.keys(this.jobs).length&&(this.index=this.size,on(this),an(e)(null,this.results))},ln=function(e,n,a,i){var o=rn(e,a);return sn(e,n,o,function a(t,s){t?i(t,s):(o.index++,o.index<(o.keyedList||e).length?sn(e,n,o,a):i(null,o.results))}),cn.bind(o,i)};function pn(e,n){return e<n?-1:e>n?1:0}ln.ascending=pn,ln.descending=function(e,n){return-1*pn(e,n)};var un=function(e,n){return Object.keys(n).forEach(function(a){e[a]=e[a]||n[a]}),e},dn=_.parse,mn=h.Stream,fn=hn;function hn(e){if(!(this instanceof hn))return new hn(e);for(var n in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Ve.call(this),e=e||{})this[n]=e[n]}m.inherits(hn,Ve),hn.LINE_BREAK="\r\n",hn.DEFAULT_CONTENT_TYPE="application/octet-stream",hn.prototype.append=function(e,n,a){"string"==typeof(a=a||{})&&(a={filename:a});var i=Ve.prototype.append.bind(this);if("number"==typeof n&&(n=""+n),m.isArray(n))this._error(new Error("Arrays are not supported."));else{var o=this._multiPartHeader(e,n,a),t=this._multiPartFooter();i(o),i(n),i(t),this._trackLength(o,n,a)}},hn.prototype._trackLength=function(e,n,a){var i=0;null!=a.knownLength?i+=+a.knownLength:Buffer.isBuffer(n)?i=n.length:"string"==typeof n&&(i=Buffer.byteLength(n)),this._valueLength+=i,this._overheadLength+=Buffer.byteLength(e)+hn.LINE_BREAK.length,n&&(n.path||n.readable&&n.hasOwnProperty("httpVersion")||n instanceof mn)&&(a.knownLength||this._valuesToMeasure.push(n))},hn.prototype._lengthRetriever=function(e,n){e.hasOwnProperty("fd")?null!=e.end&&Infinity!=e.end&&null!=e.start?n(null,e.end+1-(e.start?e.start:0)):o.stat(e.path,function(a,i){a?n(a):n(null,i.size-(e.start?e.start:0))}):e.hasOwnProperty("httpVersion")?n(null,+e.headers["content-length"]):e.hasOwnProperty("httpModule")?(e.on("response",function(a){e.pause(),n(null,+a.headers["content-length"])}),e.resume()):n("Unknown stream")},hn.prototype._multiPartHeader=function(e,n,a){if("string"==typeof a.header)return a.header;var i,o=this._getContentDisposition(n,a),t=this._getContentType(n,a),s="",r={"Content-Disposition":["form-data",'name="'+e+'"'].concat(o||[]),"Content-Type":[].concat(t||[])};for(var c in"object"==typeof a.header&&un(r,a.header),r)r.hasOwnProperty(c)&&null!=(i=r[c])&&(Array.isArray(i)||(i=[i]),i.length&&(s+=c+": "+i.join("; ")+hn.LINE_BREAK));return"--"+this.getBoundary()+hn.LINE_BREAK+s+hn.LINE_BREAK},hn.prototype._getContentDisposition=function(e,n){var a,i;return"string"==typeof n.filepath?a=x.normalize(n.filepath).replace(/\\/g,"/"):n.filename||e.name||e.path?a=x.basename(n.filename||e.name||e.path):e.readable&&e.hasOwnProperty("httpVersion")&&(a=x.basename(e.client._httpMessage.path||"")),a&&(i='filename="'+a+'"'),i},hn.prototype._getContentType=function(e,n){var a=n.contentType;return!a&&e.name&&(a=en.lookup(e.name)),!a&&e.path&&(a=en.lookup(e.path)),!a&&e.readable&&e.hasOwnProperty("httpVersion")&&(a=e.headers["content-type"]),a||!n.filepath&&!n.filename||(a=en.lookup(n.filepath||n.filename)),a||"object"!=typeof e||(a=hn.DEFAULT_CONTENT_TYPE),a},hn.prototype._multiPartFooter=function(){return function(e){var n=hn.LINE_BREAK;0===this._streams.length&&(n+=this._lastBoundary()),e(n)}.bind(this)},hn.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+hn.LINE_BREAK},hn.prototype.getHeaders=function(e){var n,a={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(n in e)e.hasOwnProperty(n)&&(a[n.toLowerCase()]=e[n]);return a},hn.prototype.setBoundary=function(e){this._boundary=e},hn.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},hn.prototype.getBuffer=function(){for(var e=new Buffer.alloc(0),n=this.getBoundary(),a=0,i=this._streams.length;a<i;a++)"function"!=typeof this._streams[a]&&(e=Buffer.isBuffer(this._streams[a])?Buffer.concat([e,this._streams[a]]):Buffer.concat([e,Buffer.from(this._streams[a])]),"string"==typeof this._streams[a]&&this._streams[a].substring(2,n.length+2)===n||(e=Buffer.concat([e,Buffer.from(hn.LINE_BREAK)])));return Buffer.concat([e,Buffer.from(this._lastBoundary())])},hn.prototype._generateBoundary=function(){for(var e="--------------------------",n=0;n<24;n++)e+=Math.floor(10*Math.random()).toString(16);this._boundary=e},hn.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),e},hn.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e},hn.prototype.getLength=function(e){var n=this._overheadLength+this._valueLength;this._streams.length&&(n+=this._lastBoundary().length),this._valuesToMeasure.length?function(e,n,a){for(var i=rn(e);i.index<(i.keyedList||e).length;)sn(e,n,i,function(e,n){e?a(e,n):0!==Object.keys(i.jobs).length||a(null,i.results)}),i.index++;cn.bind(i,a)}(this._valuesToMeasure,this._lengthRetriever,function(a,i){a?e(a):(i.forEach(function(e){n+=e}),e(null,n))}):process.nextTick(e.bind(this,null,n))},hn.prototype.submit=function(e,n){var a,i,o={method:"post"};return"string"==typeof e?(e=dn(e),i=un({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},o)):(i=un(e,o)).port||(i.port="https:"==i.protocol?443:80),i.headers=this.getHeaders(e.headers),a="https:"==i.protocol?w.request(i):y.request(i),this.getLength(function(e,i){if(e&&"Unknown stream"!==e)this._error(e);else if(i&&a.setHeader("Content-Length",i),this.pipe(a),n){var o,t=function(e,i){return a.removeListener("error",t),a.removeListener("response",o),n.call(this,e,i)};o=t.bind(this,null),a.on("error",t),a.on("response",o)}}.bind(this)),a},hn.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit("error",e))},hn.prototype.toString=function(){return"[object FormData]"};var vn=fn;function xn(e){return Be.isPlainObject(e)||Be.isArray(e)}function gn(e){return Be.endsWith(e,"[]")?e.slice(0,-2):e}function bn(e,n,a){return e?e.concat(n).map(function(e,n){return e=gn(e),!a&&n?"["+e+"]":e}).join(a?".":""):n}const yn=Be.toFlatObject(Be,{},null,function(e){return/^is[A-Z]/.test(e)});function wn(e,n,a){if(!Be.isObject(e))throw new TypeError("target must be an object");n=n||new(vn||FormData);const i=(a=Be.toFlatObject(a,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,n){return!Be.isUndefined(n[e])})).metaTokens,o=a.visitor||l,t=a.dots,s=a.indexes,r=(a.Blob||"undefined"!=typeof Blob&&Blob)&&Be.isSpecCompliantForm(n);if(!Be.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(Be.isDate(e))return e.toISOString();if(!r&&Be.isBlob(e))throw new De("Blob is not supported. Use a Buffer instead.");return Be.isArrayBuffer(e)||Be.isTypedArray(e)?r&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,a,o){let r=e;if(e&&!o&&"object"==typeof e)if(Be.endsWith(a,"{}"))a=i?a:a.slice(0,-2),e=JSON.stringify(e);else if(Be.isArray(e)&&function(e){return Be.isArray(e)&&!e.some(xn)}(e)||(Be.isFileList(e)||Be.endsWith(a,"[]"))&&(r=Be.toArray(e)))return a=gn(a),r.forEach(function(e,i){!Be.isUndefined(e)&&null!==e&&n.append(!0===s?bn([a],i,t):null===s?a:a+"[]",c(e))}),!1;return!!xn(e)||(n.append(bn(o,a,t),c(e)),!1)}const p=[],u=Object.assign(yn,{defaultVisitor:l,convertValue:c,isVisitable:xn});if(!Be.isObject(e))throw new TypeError("data must be an object");return function e(a,i){if(!Be.isUndefined(a)){if(-1!==p.indexOf(a))throw Error("Circular reference detected in "+i.join("."));p.push(a),Be.forEach(a,function(a,t){!0===(!(Be.isUndefined(a)||null===a)&&o.call(n,a,Be.isString(t)?t.trim():t,i,u))&&e(a,i?i.concat(t):[t])}),p.pop()}}(e),n}function _n(e){const n={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return n[e]})}function kn(e,n){this._pairs=[],e&&wn(e,this,n)}const jn=kn.prototype;function Tn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Sn(e,n,a){if(!n)return e;const i=a&&a.encode||Tn,o=a&&a.serialize;let t;if(t=o?o(n,a):Be.isURLSearchParams(n)?n.toString():new kn(n,a).toString(i),t){const n=e.indexOf("#");-1!==n&&(e=e.slice(0,n)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e}jn.append=function(e,n){this._pairs.push([e,n])},jn.toString=function(e){const n=e?function(n){return e.call(this,n,_n)}:_n;return this._pairs.map(function(e){return n(e[0])+"="+n(e[1])},"").join("&")};var En=class{constructor(){this.handlers=[]}use(e,n,a){return this.handlers.push({fulfilled:e,rejected:n,synchronous:!!a&&a.synchronous,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Be.forEach(this.handlers,function(n){null!==n&&e(n)})}},Cn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Rn={isNode:!0,classes:{URLSearchParams:_.URLSearchParams,FormData:vn,Blob:"undefined"!=typeof Blob&&Blob||null},protocols:["http","https","file","data"]};const zn="undefined"!=typeof window&&"undefined"!=typeof document,On=(Fn="undefined"!=typeof navigator&&navigator.product,zn&&["ReactNative","NativeScript","NS"].indexOf(Fn)<0);var Fn,$n={__proto__:null,hasBrowserEnv:zn,hasStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,hasStandardBrowserEnv:On,origin:zn&&window.location.href||"http://localhost",...Rn};function An(e){function n(e,a,i,o){let t=e[o++];if("__proto__"===t)return!0;const s=Number.isFinite(+t),r=o>=e.length;return t=!t&&Be.isArray(i)?i.length:t,r?(i[t]=Be.hasOwnProp(i,t)?[i[t],a]:a,!s):(i[t]&&Be.isObject(i[t])||(i[t]=[]),n(e,a,i[t],o)&&Be.isArray(i[t])&&(i[t]=function(e){const n={},a=Object.keys(e);let i;const o=a.length;let t;for(i=0;i<o;i++)t=a[i],n[t]=e[t];return n}(i[t])),!s)}if(Be.isFormData(e)&&Be.isFunction(e.entries)){const a={};return Be.forEachEntry(e,(e,i)=>{n(function(e){return Be.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),i,a,0)}),a}return null}const Ln={transitional:Cn,adapter:["xhr","http","fetch"],transformRequest:[function(e,n){const a=n.getContentType()||"",i=a.indexOf("application/json")>-1,o=Be.isObject(e);if(o&&Be.isHTMLForm(e)&&(e=new FormData(e)),Be.isFormData(e))return i?JSON.stringify(An(e)):e;if(Be.isArrayBuffer(e)||Be.isBuffer(e)||Be.isStream(e)||Be.isFile(e)||Be.isBlob(e)||Be.isReadableStream(e))return e;if(Be.isArrayBufferView(e))return e.buffer;if(Be.isURLSearchParams(e))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let t;if(o){if(a.indexOf("application/x-www-form-urlencoded")>-1)return function(e,n){return wn(e,new $n.classes.URLSearchParams,Object.assign({visitor:function(e,n,a,i){return $n.isNode&&Be.isBuffer(e)?(this.append(n,e.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},n))}(e,this.formSerializer).toString();if((t=Be.isFileList(e))||a.indexOf("multipart/form-data")>-1){const n=this.env&&this.env.FormData;return wn(t?{"files[]":e}:e,n&&new n,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),function(e,n,a){if(Be.isString(e))try{return(0,JSON.parse)(e),Be.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const n=this.transitional||Ln.transitional,a=n&&n.forcedJSONParsing,i="json"===this.responseType;if(Be.isResponse(e)||Be.isReadableStream(e))return e;if(e&&Be.isString(e)&&(a&&!this.responseType||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(e)}catch(e){if(a){if("SyntaxError"===e.name)throw De.from(e,De.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:$n.classes.FormData,Blob:$n.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Be.forEach(["delete","get","head","post","put","patch"],e=>{Ln.headers[e]={}});var Nn=Ln;const Un=Be.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"]),qn=Symbol("internals");function Pn(e){return e&&String(e).trim().toLowerCase()}function In(e){return!1===e||null==e?e:Be.isArray(e)?e.map(In):String(e)}function Bn(e,n,a,i,o){return Be.isFunction(i)?i.call(this,n,a):(o&&(n=a),Be.isString(n)?Be.isString(i)?-1!==n.indexOf(i):Be.isRegExp(i)?i.test(n):void 0:void 0)}class Dn{constructor(e){e&&this.set(e)}set(e,n,a){const i=this;function o(e,n,a){const o=Pn(n);if(!o)throw new Error("header name must be a non-empty string");const t=Be.findKey(i,o);(!t||void 0===i[t]||!0===a||void 0===a&&!1!==i[t])&&(i[t||n]=In(e))}const t=(e,n)=>Be.forEach(e,(e,a)=>o(e,a,n));if(Be.isPlainObject(e)||e instanceof this.constructor)t(e,n);else if(Be.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))t((e=>{const n={};let a,i,o;return e&&e.split("\n").forEach(function(e){o=e.indexOf(":"),a=e.substring(0,o).trim().toLowerCase(),i=e.substring(o+1).trim(),!a||n[a]&&Un[a]||("set-cookie"===a?n[a]?n[a].push(i):n[a]=[i]:n[a]=n[a]?n[a]+", "+i:i)}),n})(e),n);else if(Be.isHeaders(e))for(const[n,i]of e.entries())o(i,n,a);else null!=e&&o(n,e,a);return this}get(e,n){if(e=Pn(e)){const a=Be.findKey(this,e);if(a){const e=this[a];if(!n)return e;if(!0===n)return function(e){const n=Object.create(null),a=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=a.exec(e);)n[i[1]]=i[2];return n}(e);if(Be.isFunction(n))return n.call(this,e,a);if(Be.isRegExp(n))return n.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,n){if(e=Pn(e)){const a=Be.findKey(this,e);return!(!a||void 0===this[a]||n&&!Bn(0,this[a],a,n))}return!1}delete(e,n){const a=this;let i=!1;function o(e){if(e=Pn(e)){const o=Be.findKey(a,e);!o||n&&!Bn(0,a[o],o,n)||(delete a[o],i=!0)}}return Be.isArray(e)?e.forEach(o):o(e),i}clear(e){const n=Object.keys(this);let a=n.length,i=!1;for(;a--;){const o=n[a];e&&!Bn(0,this[o],o,e,!0)||(delete this[o],i=!0)}return i}normalize(e){const n=this,a={};return Be.forEach(this,(i,o)=>{const t=Be.findKey(a,o);if(t)return n[t]=In(i),void delete n[o];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,n,a)=>n.toUpperCase()+a)}(o):String(o).trim();s!==o&&delete n[o],n[s]=In(i),a[s]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const n=Object.create(null);return Be.forEach(this,(a,i)=>{null!=a&&!1!==a&&(n[i]=e&&Be.isArray(a)?a.join(", "):a)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,n])=>e+": "+n).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...n){const a=new this(e);return n.forEach(e=>a.set(e)),a}static accessor(e){const n=(this[qn]=this[qn]={accessors:{}}).accessors,a=this.prototype;function i(e){const i=Pn(e);n[i]||(function(e,n){const a=Be.toCamelCase(" "+n);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+a,{value:function(e,a,o){return this[i].call(this,n,e,a,o)},configurable:!0})})}(a,e),n[i]=!0)}return Be.isArray(e)?e.forEach(i):i(e),this}}Dn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Be.reduceDescriptors(Dn.prototype,({value:e},n)=>{let a=n[0].toUpperCase()+n.slice(1);return{get:()=>e,set(e){this[a]=e}}}),Be.freezeMethods(Dn);var Wn=Dn;function Mn(e,n){const a=this||Nn,i=n||a,o=Wn.from(i.headers);let t=i.data;return Be.forEach(e,function(e){t=e.call(a,t,o.normalize(),n?n.status:void 0)}),o.normalize(),t}function Hn(e){return!(!e||!e.__CANCEL__)}function Gn(e,n,a){De.call(this,null==e?"canceled":e,De.ERR_CANCELED,n,a),this.name="CanceledError"}function Jn(e,n,a){const i=a.config.validateStatus;a.status&&i&&!i(a.status)?n(new De("Request failed with status code "+a.status,[De.ERR_BAD_REQUEST,De.ERR_BAD_RESPONSE][Math.floor(a.status/100)-4],a.config,a.request,a)):e(a)}function Kn(e,n){return e&&!function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}(n)?function(e,n){return n?e.replace(/\/?\/$/,"")+"/"+n.replace(/^\/+/,""):e}(e,n):n}Be.inherits(Gn,De,{__CANCEL__:!0});var Vn=_.parse,Yn={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},Zn=String.prototype.endsWith||function(e){return e.length<=this.length&&-1!==this.indexOf(e,this.length-e.length)};function Xn(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}var Qn=1e3,ea=60*Qn,na=60*ea,aa=24*na,ia=7*aa,oa=function(e,n){n=n||{};var a=typeof e;if("string"===a&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var n=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(n){var a=parseFloat(n[1]);switch((n[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*ia;case"days":case"day":case"d":return a*aa;case"hours":case"hour":case"hrs":case"hr":case"h":return a*na;case"minutes":case"minute":case"mins":case"min":case"m":return a*ea;case"seconds":case"second":case"secs":case"sec":case"s":return a*Qn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===a&&isFinite(e))return n.long?function(e){var n=Math.abs(e);return n>=aa?ta(e,n,aa,"day"):n>=na?ta(e,n,na,"hour"):n>=ea?ta(e,n,ea,"minute"):n>=Qn?ta(e,n,Qn,"second"):e+" ms"}(e):function(e){var n=Math.abs(e);return n>=aa?Math.round(e/aa)+"d":n>=na?Math.round(e/na)+"h":n>=ea?Math.round(e/ea)+"m":n>=Qn?Math.round(e/Qn)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function ta(e,n,a,i){var o=n>=1.5*a;return Math.round(e/a)+" "+i+(o?"s":"")}var sa=function(e){function n(e){let i,o,t,s=null;function r(...e){if(!r.enabled)return;const a=r,o=Number(new Date);a.diff=o-(i||o),a.prev=i,a.curr=o,i=o,e[0]=n.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let t=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(i,o)=>{if("%%"===i)return"%";t++;const s=n.formatters[o];return"function"==typeof s&&(i=s.call(a,e[t]),e.splice(t,1),t--),i}),n.formatArgs.call(a,e),(a.log||n.log).apply(a,e)}return r.namespace=e,r.useColors=n.useColors(),r.color=n.selectColor(e),r.extend=a,r.destroy=n.destroy,Object.defineProperty(r,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(o!==n.namespaces&&(o=n.namespaces,t=n.enabled(e)),t),set:e=>{s=e}}),"function"==typeof n.init&&n.init(r),r}function a(e,a){const i=n(this.namespace+(void 0===a?":":a)+e);return i.log=this.log,i}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){return e instanceof Error?e.stack||e.message:e},n.disable=function(){const e=[...n.names.map(i),...n.skips.map(i).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let a;n.save(e),n.namespaces=e,n.names=[],n.skips=[];const i=("string"==typeof e?e:"").split(/[\s,]+/),o=i.length;for(a=0;a<o;a++)i[a]&&("-"===(e=i[a].replace(/\*/g,".*?"))[0]?n.skips.push(new RegExp("^"+e.slice(1)+"$")):n.names.push(new RegExp("^"+e+"$")))},n.enabled=function(e){if("*"===e[e.length-1])return!0;let a,i;for(a=0,i=n.skips.length;a<i;a++)if(n.skips[a].test(e))return!1;for(a=0,i=n.names.length;a<i;a++)if(n.names[a].test(e))return!0;return!1},n.humanize=oa,n.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(a=>{n[a]=e[a]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(e){let a=0;for(let n=0;n<e.length;n++)a=(a<<5)-a+e.charCodeAt(n),a|=0;return n.colors[Math.abs(a)%n.colors.length]},n.enable(n.load()),n},ra=Xe(function(e,n){n.formatArgs=function(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const a="color: "+this.color;n.splice(1,0,a,"color: inherit");let i=0,o=0;n[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(i++,"%c"===e&&(o=i))}),n.splice(o,0,a)},n.save=function(e){try{e?n.storage.setItem("debug",e):n.storage.removeItem("debug")}catch(e){}},n.load=function(){let e;try{e=n.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},n.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},n.storage=function(){try{return localStorage}catch(e){}}(),n.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})(),n.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"],n.log=console.debug||console.log||(()=>{}),e.exports=sa(n);const{formatters:a}=e.exports;a.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}),ca=(e,n=process.argv)=>{const a=e.startsWith("-")?"":1===e.length?"-":"--",i=n.indexOf(a+e),o=n.indexOf("--");return-1!==i&&(-1===o||i<o)};const{env:la}=process;let pa;function ua(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function da(e,n){if(0===pa)return 0;if(ca("color=16m")||ca("color=full")||ca("color=truecolor"))return 3;if(ca("color=256"))return 2;if(e&&!n&&void 0===pa)return 0;const a=pa||0;if("dumb"===la.TERM)return a;if("win32"===process.platform){const e=T.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in la)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(e=>e in la)||"codeship"===la.CI_NAME?1:a;if("TEAMCITY_VERSION"in la)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(la.TEAMCITY_VERSION)?1:0;if("truecolor"===la.COLORTERM)return 3;if("TERM_PROGRAM"in la){const e=parseInt((la.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(la.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(la.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(la.TERM)||"COLORTERM"in la?1:a}ca("no-color")||ca("no-colors")||ca("color=false")||ca("color=never")?pa=0:(ca("color")||ca("colors")||ca("color=true")||ca("color=always"))&&(pa=1),"FORCE_COLOR"in la&&(pa="true"===la.FORCE_COLOR?1:"false"===la.FORCE_COLOR?0:0===la.FORCE_COLOR.length?1:Math.min(parseInt(la.FORCE_COLOR,10),3));var ma,fa={supportsColor:function(e){return ua(da(e,e&&e.isTTY))},stdout:ua(da(!0,j.isatty(1))),stderr:ua(da(!0,j.isatty(2)))},ha=Xe(function(e,n){n.init=function(e){e.inspectOpts={};const a=Object.keys(n.inspectOpts);for(let i=0;i<a.length;i++)e.inspectOpts[a[i]]=n.inspectOpts[a[i]]},n.log=function(...e){return process.stderr.write(m.format(...e)+"\n")},n.formatArgs=function(a){const{namespace:i,useColors:o}=this;if(o){const n=this.color,o="[3"+(n<8?n:"8;5;"+n),t=` ${o};1m${i} `;a[0]=t+a[0].split("\n").join("\n"+t),a.push(o+"m+"+e.exports.humanize(this.diff)+"")}else a[0]=(n.inspectOpts.hideDate?"":(new Date).toISOString()+" ")+i+" "+a[0]},n.save=function(e){e?process.env.DEBUG=e:delete process.env.DEBUG},n.load=function(){return process.env.DEBUG},n.useColors=function(){return"colors"in n.inspectOpts?Boolean(n.inspectOpts.colors):j.isatty(process.stderr.fd)},n.destroy=m.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),n.colors=[6,2,3,4,5,1];try{fa&&(fa.stderr||fa).level>=2&&(n.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(e){}n.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,n)=>{const a=n.substring(6).toLowerCase().replace(/_([a-z])/g,(e,n)=>n.toUpperCase());let i=process.env[n];return i=!!/^(yes|on|true|enabled)$/i.test(i)||!/^(no|off|false|disabled)$/i.test(i)&&("null"===i?null:Number(i)),e[a]=i,e},{}),e.exports=sa(n);const{formatters:a}=e.exports;a.o=function(e){return this.inspectOpts.colors=this.useColors,m.inspect(e,this.inspectOpts).split("\n").map(e=>e.trim()).join(" ")},a.O=function(e){return this.inspectOpts.colors=this.useColors,m.inspect(e,this.inspectOpts)}}),va=Xe(function(e){e.exports="undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?ra:ha}),xa=function(){if(!ma){try{ma=va("follow-redirects")}catch(e){}"function"!=typeof ma&&(ma=function(){})}ma.apply(null,arguments)},ga=_.URL,ba=h.Writable,ya=!1;try{k(new ga)}catch(e){ya="ERR_INVALID_URL"===e.code}var wa=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],_a=["abort","aborted","connect","error","socket","timeout"],ka=Object.create(null);_a.forEach(function(e){ka[e]=function(n,a,i){this._redirectable.emit(e,n,a,i)}});var ja=Ua("ERR_INVALID_URL","Invalid URL",TypeError),Ta=Ua("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Sa=Ua("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",Ta),Ea=Ua("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Ca=Ua("ERR_STREAM_WRITE_AFTER_END","write after end"),Ra=ba.prototype.destroy||Fa;function za(e,n){ba.call(this),this._sanitizeOptions(e),this._options=e,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],n&&this.on("response",n);var a=this;this._onNativeResponse=function(e){try{a._processResponse(e)}catch(e){a.emit("error",e instanceof Ta?e:new Ta({cause:e}))}},this._performRequest()}function Oa(e){var n={maxRedirects:21,maxBodyLength:10485760},a={};return Object.keys(e).forEach(function(i){var o=i+":",t=a[o]=e[i],s=n[i]=Object.create(t);Object.defineProperties(s,{request:{value:function(e,i,t){return ga&&e instanceof ga?e=La(e):Pa(e)?e=La($a(e)):(t=i,i=Aa(e),e={protocol:o}),Ia(i)&&(t=i,i=null),(i=Object.assign({maxRedirects:n.maxRedirects,maxBodyLength:n.maxBodyLength},e,i)).nativeProtocols=a,Pa(i.host)||Pa(i.hostname)||(i.hostname="::1"),k.equal(i.protocol,o,"protocol mismatch"),xa("options",i),new za(i,t)},configurable:!0,enumerable:!0,writable:!0},get:{value:function(e,n,a){var i=s.request(e,n,a);return i.end(),i},configurable:!0,enumerable:!0,writable:!0}})}),n}function Fa(){}function $a(e){var n;if(ya)n=new ga(e);else if(!Pa((n=Aa(_.parse(e))).protocol))throw new ja({input:e});return n}function Aa(e){if(/^\[/.test(e.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(e.hostname))throw new ja({input:e.href||e});if(/^\[/.test(e.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))throw new ja({input:e.href||e});return e}function La(e,n){var a=n||{};for(var i of wa)a[i]=e[i];return a.hostname.startsWith("[")&&(a.hostname=a.hostname.slice(1,-1)),""!==a.port&&(a.port=Number(a.port)),a.path=a.search?a.pathname+a.search:a.pathname,a}function Na(e,n){var a;for(var i in n)e.test(i)&&(a=n[i],delete n[i]);return null==a?void 0:String(a).trim()}function Ua(e,n,a){function i(a){Error.captureStackTrace(this,this.constructor),Object.assign(this,a||{}),this.code=e,this.message=this.cause?n+": "+this.cause.message:n}return i.prototype=new(a||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+e+"]",enumerable:!1}}),i}function qa(e,n){for(var a of _a)e.removeListener(a,ka[a]);e.on("error",Fa),e.destroy(n)}function Pa(e){return"string"==typeof e||e instanceof String}function Ia(e){return"function"==typeof e}(za.prototype=Object.create(ba.prototype)).abort=function(){qa(this._currentRequest),this._currentRequest.abort(),this.emit("abort")},za.prototype.destroy=function(e){return qa(this._currentRequest,e),Ra.call(this,e),this},za.prototype.write=function(e,n,a){if(this._ending)throw new Ca;if(!(Pa(e)||"object"==typeof(i=e)&&"length"in i))throw new TypeError("data should be a string, Buffer or Uint8Array");var i;Ia(n)&&(a=n,n=null),0!==e.length?this._requestBodyLength+e.length<=this._options.maxBodyLength?(this._requestBodyLength+=e.length,this._requestBodyBuffers.push({data:e,encoding:n}),this._currentRequest.write(e,n,a)):(this.emit("error",new Ea),this.abort()):a&&a()},za.prototype.end=function(e,n,a){if(Ia(e)?(a=e,e=n=null):Ia(n)&&(a=n,n=null),e){var i=this,o=this._currentRequest;this.write(e,n,function(){i._ended=!0,o.end(null,null,a)}),this._ending=!0}else this._ended=this._ending=!0,this._currentRequest.end(null,null,a)},za.prototype.setHeader=function(e,n){this._options.headers[e]=n,this._currentRequest.setHeader(e,n)},za.prototype.removeHeader=function(e){delete this._options.headers[e],this._currentRequest.removeHeader(e)},za.prototype.setTimeout=function(e,n){var a=this;function i(n){n.setTimeout(e),n.removeListener("timeout",n.destroy),n.addListener("timeout",n.destroy)}function o(n){a._timeout&&clearTimeout(a._timeout),a._timeout=setTimeout(function(){a.emit("timeout"),t()},e),i(n)}function t(){a._timeout&&(clearTimeout(a._timeout),a._timeout=null),a.removeListener("abort",t),a.removeListener("error",t),a.removeListener("response",t),a.removeListener("close",t),n&&a.removeListener("timeout",n),a.socket||a._currentRequest.removeListener("socket",o)}return n&&this.on("timeout",n),this.socket?o(this.socket):this._currentRequest.once("socket",o),this.on("socket",i),this.on("abort",t),this.on("error",t),this.on("response",t),this.on("close",t),this},["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(e){za.prototype[e]=function(n,a){return this._currentRequest[e](n,a)}}),["aborted","connection","socket"].forEach(function(e){Object.defineProperty(za.prototype,e,{get:function(){return this._currentRequest[e]}})}),za.prototype._sanitizeOptions=function(e){if(e.headers||(e.headers={}),e.host&&(e.hostname||(e.hostname=e.host),delete e.host),!e.pathname&&e.path){var n=e.path.indexOf("?");n<0?e.pathname=e.path:(e.pathname=e.path.substring(0,n),e.search=e.path.substring(n))}},za.prototype._performRequest=function(){var e=this._options.protocol,n=this._options.nativeProtocols[e];if(!n)throw new TypeError("Unsupported protocol "+e);if(this._options.agents){var a=e.slice(0,-1);this._options.agent=this._options.agents[a]}var i=this._currentRequest=n.request(this._options,this._onNativeResponse);for(var o of(i._redirectable=this,_a))i.on(o,ka[o]);if(this._currentUrl=/^\//.test(this._options.path)?_.format(this._options):this._options.path,this._isRedirect){var t=0,s=this,r=this._requestBodyBuffers;!function e(n){if(i===s._currentRequest)if(n)s.emit("error",n);else if(t<r.length){var a=r[t++];i.finished||i.write(a.data,a.encoding,e)}else s._ended&&i.end()}()}},za.prototype._processResponse=function(e){var n=e.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:e.headers,statusCode:n});var a,i=e.headers.location;if(!i||!1===this._options.followRedirects||n<300||n>=400)return e.responseUrl=this._currentUrl,e.redirects=this._redirects,this.emit("response",e),void(this._requestBodyBuffers=[]);if(qa(this._currentRequest),e.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Sa;var o=this._options.beforeRedirect;o&&(a=Object.assign({Host:e.req.getHeader("host")},this._options.headers));var t=this._options.method;((301===n||302===n)&&"POST"===this._options.method||303===n&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],Na(/^content-/i,this._options.headers));var s,r,c=Na(/^host$/i,this._options.headers),l=$a(this._currentUrl),p=c||l.host,u=/^\w+:/.test(i)?this._currentUrl:_.format(Object.assign(l,{host:p})),d=(s=i,r=u,ya?new ga(s,r):$a(_.resolve(r,s)));xa("redirecting to",d.href),this._isRedirect=!0,La(d,this._options),(d.protocol!==l.protocol&&"https:"!==d.protocol||d.host!==p&&!function(e,n){k(Pa(e)&&Pa(n));var a=e.length-n.length-1;return a>0&&"."===e[a]&&e.endsWith(n)}(d.host,p))&&Na(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Ia(o)&&(o(this._options,{headers:e.headers,statusCode:n},{url:u,method:t,headers:a}),this._sanitizeOptions(this._options)),this._performRequest()};var Ba=Oa({http:y,https:w});Ba.wrap=Oa;const Da="1.7.4";function Wa(e){const n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return n&&n[1]||""}const Ma=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/,Ha=Symbol("internals");var Ga=class extends h.Transform{constructor(e){super({readableHighWaterMark:(e=Be.toFlatObject(e,{maxRate:0,chunkSize:65536,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(e,n)=>!Be.isUndefined(n[e]))).chunkSize});const n=this[Ha]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",e=>{"progress"===e&&(n.isCaptured||(n.isCaptured=!0))})}_read(e){const n=this[Ha];return n.onReadCallback&&n.onReadCallback(),super._read(e)}_transform(e,n,a){const i=this[Ha],o=i.maxRate,t=this.readableHighWaterMark,s=i.timeWindow,r=o/(1e3/s),c=!1!==i.minChunkSize?Math.max(i.minChunkSize,.01*r):0,l=(e,n)=>{const a=Buffer.byteLength(e);i.bytesSeen+=a,i.bytes+=a,i.isCaptured&&this.emit("progress",i.bytesSeen),this.push(e)?process.nextTick(n):i.onReadCallback=()=>{i.onReadCallback=null,process.nextTick(n)}},p=(e,n)=>{const a=Buffer.byteLength(e);let p,u=null,d=t,m=0;if(o){const e=Date.now();(!i.ts||(m=e-i.ts)>=s)&&(i.ts=e,p=r-i.bytes,i.bytes=p<0?-p:0,m=0),p=r-i.bytes}if(o){if(p<=0)return setTimeout(()=>{n(null,e)},s-m);p<d&&(d=p)}d&&a>d&&a-d>c&&(u=e.subarray(d),e=e.subarray(0,d)),l(e,u?()=>{process.nextTick(n,null,u)}:n)};p(e,function e(n,i){if(n)return a(n);i?p(i,e):a(null)})}};const{asyncIterator:Ja}=Symbol;var Ka=async function*(e){e.stream?yield*e.stream():e.arrayBuffer?yield await e.arrayBuffer():e[Ja]?yield*e[Ja]():yield e};const Va=Be.ALPHABET.ALPHA_DIGIT+"-_",Ya=new f,Za="\r\n",Xa=Ya.encode(Za);class Qa{constructor(e,n){const{escapeName:a}=this.constructor,i=Be.isString(n);let o=`Content-Disposition: form-data; name="${a(e)}"${!i&&n.name?`; filename="${a(n.name)}"`:""}${Za}`;i?n=Ya.encode(String(n).replace(/\r?\n|\r\n?/g,Za)):o+=`Content-Type: ${n.type||"application/octet-stream"}${Za}`,this.headers=Ya.encode(o+Za),this.contentLength=i?n.byteLength:n.size,this.size=this.headers.byteLength+this.contentLength+2,this.name=e,this.value=n}async*encode(){yield this.headers;const{value:e}=this;Be.isTypedArray(e)?yield e:yield*Ka(e),yield Xa}static escapeName(e){return String(e).replace(/[\r\n"]/g,e=>({"\r":"%0D","\n":"%0A",'"':"%22"}[e]))}}var ei=class extends h.Transform{__transform(e,n,a){this.push(e),a()}_transform(e,n,a){if(0!==e.length&&(this._transform=this.__transform,120!==e[0])){const e=Buffer.alloc(2);e[0]=120,e[1]=156,this.push(e,n)}this.__transform(e,n,a)}},ni=(e,n)=>Be.isAsyncFn(e)?function(...a){const i=a.pop();e.apply(this,a).then(e=>{try{n?i(null,...n(e)):i(null,e)}catch(e){i(e)}},i)}:e;const ai=(e,n,a=3)=>{let i=0;const o=function(e,n){e=e||10;const a=new Array(e),i=new Array(e);let o,t=0,s=0;return n=void 0!==n?n:1e3,function(r){const c=Date.now(),l=i[s];o||(o=c),a[t]=r,i[t]=c;let p=s,u=0;for(;p!==t;)u+=a[p++],p%=e;if(t=(t+1)%e,t===s&&(s=(s+1)%e),c-o<n)return;const d=l&&c-l;return d?Math.round(1e3*u/d):void 0}}(50,250);return function(e,n){let a,i,o=0,t=1e3/n;const s=(n,t=Date.now())=>{o=t,a=null,i&&(clearTimeout(i),i=null),e.apply(null,n)};return[(...e)=>{const n=Date.now(),r=n-o;r>=t?s(e,n):(a=e,i||(i=setTimeout(()=>{i=null,s(a)},t-r)))},()=>a&&s(a)]}(a=>{const t=a.loaded,s=a.lengthComputable?a.total:void 0,r=t-i,c=o(r);i=t,e({loaded:t,total:s,progress:s?t/s:void 0,bytes:r,rate:c||void 0,estimated:c&&s&&t<=s?(s-t)/c:void 0,event:a,lengthComputable:null!=s,[n?"download":"upload"]:!0})},a)},ii=(e,n)=>{const a=null!=e;return[i=>n[0]({lengthComputable:a,total:e,loaded:i}),n[1]]},oi=e=>(...n)=>Be.asap(()=>e(...n)),ti={flush:E.constants.Z_SYNC_FLUSH,finishFlush:E.constants.Z_SYNC_FLUSH},si={flush:E.constants.BROTLI_OPERATION_FLUSH,finishFlush:E.constants.BROTLI_OPERATION_FLUSH},ri=Be.isFunction(E.createBrotliDecompress),{http:ci,https:li}=Ba,pi=/https:?/,ui=$n.protocols.map(e=>e+":"),di=(e,[n,a])=>(e.on("end",a).on("error",a),n);function mi(e,n){e.beforeRedirects.proxy&&e.beforeRedirects.proxy(e),e.beforeRedirects.config&&e.beforeRedirects.config(e,n)}function fi(e,n,a){let i=n;if(!i&&!1!==i){const e=function(e){var n="string"==typeof e?Vn(e):e||{},a=n.protocol,i=n.host,o=n.port;if("string"!=typeof i||!i||"string"!=typeof a)return"";if(a=a.split(":",1)[0],!function(e,n){var a=(Xn("npm_config_no_proxy")||Xn("no_proxy")).toLowerCase();return!a||"*"!==a&&a.split(/[,\s]/).every(function(a){if(!a)return!0;var i=a.match(/^(.+):(\d+)$/),o=i?i[1]:a,t=i?parseInt(i[2]):0;return!(!t||t===n)||(/^[.*]/.test(o)?("*"===o.charAt(0)&&(o=o.slice(1)),!Zn.call(e,o)):e!==o)})}(i=i.replace(/:\d*$/,""),o=parseInt(o)||Yn[a]||0))return"";var t=Xn("npm_config_"+a+"_proxy")||Xn(a+"_proxy")||Xn("npm_config_proxy")||Xn("all_proxy");return t&&-1===t.indexOf("://")&&(t=a+"://"+t),t}(a);e&&(i=new URL(e))}if(i){if(i.username&&(i.auth=(i.username||"")+":"+(i.password||"")),i.auth){(i.auth.username||i.auth.password)&&(i.auth=(i.auth.username||"")+":"+(i.auth.password||""));const n=Buffer.from(i.auth,"utf8").toString("base64");e.headers["Proxy-Authorization"]="Basic "+n}e.headers.host=e.hostname+(e.port?":"+e.port:"");const n=i.hostname||i.host;e.hostname=n,e.host=n,e.port=i.port,e.path=a,i.protocol&&(e.protocol=i.protocol.includes(":")?i.protocol:`${i.protocol}:`)}e.beforeRedirects.proxy=function(e){fi(e,n,e.href)}}const hi="undefined"!=typeof process&&"process"===Be.kindOf(process),vi=(e,n)=>(({address:e,family:n})=>{if(!Be.isString(e))throw TypeError("address must be a string");return{address:e,family:n||(e.indexOf(".")<0?6:4)}})(Be.isObject(e)?e:{address:e,family:n});var xi=hi&&function(e){return n=async function(n,a,i){let{data:o,lookup:t,family:s}=e;const{responseType:r,responseEncoding:c}=e,l=e.method.toUpperCase();let p,u,d=!1;if(t){const e=ni(t,e=>Be.isArray(e)?e:[e]);t=(n,a,i)=>{e(n,a,(e,n,o)=>{if(e)return i(e);const t=Be.isArray(n)?n.map(e=>vi(e)):[vi(n,o)];a.all?i(e,t):i(e,t[0].address,t[0].family)})}}const f=new C,x=()=>{e.cancelToken&&e.cancelToken.unsubscribe(g),e.signal&&e.signal.removeEventListener("abort",g),f.removeAllListeners()};function g(n){f.emit("abort",!n||n.type?new Gn(null,e,u):n)}i((e,n)=>{p=!0,n&&(d=!0,x())}),f.once("abort",a),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(g),e.signal&&(e.signal.aborted?g():e.signal.addEventListener("abort",g)));const b=Kn(e.baseURL,e.url),_=new URL(b,Be.hasBrowserEnv?$n.origin:void 0),k=_.protocol||ui[0];if("data:"===k){let i;if("GET"!==l)return Jn(n,a,{status:405,statusText:"method not allowed",headers:{},config:e});try{i=function(e,n,a){const i=a&&a.Blob||$n.classes.Blob,o=Wa(e);if(void 0===n&&i&&(n=!0),"data"===o){e=o.length?e.slice(o.length+1):e;const a=Ma.exec(e);if(!a)throw new De("Invalid URL",De.ERR_INVALID_URL);const t=a[1],s=a[2],r=Buffer.from(decodeURIComponent(a[3]),s?"base64":"utf8");if(n){if(!i)throw new De("Blob is not supported",De.ERR_NOT_SUPPORT);return new i([r],{type:t})}return r}throw new De("Unsupported protocol "+o,De.ERR_NOT_SUPPORT)}(e.url,"blob"===r,{Blob:e.env&&e.env.Blob})}catch(n){throw De.from(n,De.ERR_BAD_REQUEST,e)}return"text"===r?(i=i.toString(c),c&&"utf8"!==c||(i=Be.stripBOM(i))):"stream"===r&&(i=h.Readable.from(i)),Jn(n,a,{data:i,status:200,statusText:"OK",headers:new Wn,config:e})}if(-1===ui.indexOf(k))return a(new De("Unsupported protocol "+k,De.ERR_BAD_REQUEST,e));const j=Wn.from(e.headers).normalize();j.set("User-Agent","axios/"+Da,!1);const{onUploadProgress:T,onDownloadProgress:S}=e,R=e.maxRate;let z,O;if(Be.isSpecCompliantForm(o)){const e=j.getContentType(/boundary=([-_\w\d]{10,70})/i);o=((e,n,a)=>{const{tag:i="form-data-boundary",size:o=25,boundary:t=i+"-"+Be.generateString(o,Va)}=a||{};if(!Be.isFormData(e))throw TypeError("FormData instance required");if(t.length<1||t.length>70)throw Error("boundary must be 10-70 characters long");const s=Ya.encode("--"+t+Za),r=Ya.encode("--"+t+"--"+Za+Za);let c=r.byteLength;const l=Array.from(e.entries()).map(([e,n])=>{const a=new Qa(e,n);return c+=a.size,a});c+=s.byteLength*l.length,c=Be.toFiniteNumber(c);const p={"Content-Type":`multipart/form-data; boundary=${t}`};return Number.isFinite(c)&&(p["Content-Length"]=c),n&&n(p),v.from(async function*(){for(const e of l)yield s,yield*e.encode();yield r}())})(o,e=>{j.set(e)},{tag:`axios-${Da}-boundary`,boundary:e&&e[1]||void 0})}else if(Be.isFormData(o)&&Be.isFunction(o.getHeaders)){if(j.set(o.getHeaders()),!j.hasContentLength())try{const e=await m.promisify(o.getLength).call(o);Number.isFinite(e)&&e>=0&&j.setContentLength(e)}catch(e){}}else if(Be.isBlob(o))o.size&&j.setContentType(o.type||"application/octet-stream"),j.setContentLength(o.size||0),o=h.Readable.from(Ka(o));else if(o&&!Be.isStream(o)){if(Buffer.isBuffer(o));else if(Be.isArrayBuffer(o))o=Buffer.from(new Uint8Array(o));else{if(!Be.isString(o))return a(new De("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",De.ERR_BAD_REQUEST,e));o=Buffer.from(o,"utf-8")}if(j.setContentLength(o.length,!1),e.maxBodyLength>-1&&o.length>e.maxBodyLength)return a(new De("Request body larger than maxBodyLength limit",De.ERR_BAD_REQUEST,e))}const F=Be.toFiniteNumber(j.getContentLength());let $,A;Be.isArray(R)?(z=R[0],O=R[1]):z=O=R,o&&(T||z)&&(Be.isStream(o)||(o=h.Readable.from(o,{objectMode:!1})),o=h.pipeline([o,new Ga({maxRate:Be.toFiniteNumber(z)})],Be.noop),T&&o.on("progress",di(o,ii(F,ai(oi(T),!1,3))))),e.auth&&($=(e.auth.username||"")+":"+(e.auth.password||"")),!$&&_.username&&($=_.username+":"+_.password),$&&j.delete("authorization");try{A=Sn(_.pathname+_.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(n){const i=new Error(n.message);return i.config=e,i.url=e.url,i.exists=!0,a(i)}j.set("Accept-Encoding","gzip, compress, deflate"+(ri?", br":""),!1);const L={path:A,method:l,headers:j.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:$,protocol:k,family:s,beforeRedirect:mi,beforeRedirects:{}};let N;!Be.isUndefined(t)&&(L.lookup=t),e.socketPath?L.socketPath=e.socketPath:(L.hostname=_.hostname,L.port=_.port,fi(L,e.proxy,k+"//"+_.hostname+(_.port?":"+_.port:"")+L.path));const U=pi.test(L.protocol);if(L.agent=U?e.httpsAgent:e.httpAgent,e.transport?N=e.transport:0===e.maxRedirects?N=U?w:y:(e.maxRedirects&&(L.maxRedirects=e.maxRedirects),e.beforeRedirect&&(L.beforeRedirects.config=e.beforeRedirect),N=U?li:ci),L.maxBodyLength=e.maxBodyLength>-1?e.maxBodyLength:Infinity,e.insecureHTTPParser&&(L.insecureHTTPParser=e.insecureHTTPParser),u=N.request(L,function(i){if(u.destroyed)return;const o=[i],t=+i.headers["content-length"];if(S||O){const e=new Ga({maxRate:Be.toFiniteNumber(O)});S&&e.on("progress",di(e,ii(t,ai(oi(S),!0,3)))),o.push(e)}let s=i;const p=i.req||u;if(!1!==e.decompress&&i.headers["content-encoding"])switch("HEAD"!==l&&204!==i.statusCode||delete i.headers["content-encoding"],(i.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":o.push(E.createUnzip(ti)),delete i.headers["content-encoding"];break;case"deflate":o.push(new ei),o.push(E.createUnzip(ti)),delete i.headers["content-encoding"];break;case"br":ri&&(o.push(E.createBrotliDecompress(si)),delete i.headers["content-encoding"])}s=o.length>1?h.pipeline(o,Be.noop):o[0];const m=h.finished(s,()=>{m(),x()}),v={status:i.statusCode,statusText:i.statusMessage,headers:new Wn(i.headers),config:e,request:p};if("stream"===r)v.data=s,Jn(n,a,v);else{const i=[];let o=0;s.on("data",function(n){i.push(n),o+=n.length,e.maxContentLength>-1&&o>e.maxContentLength&&(d=!0,s.destroy(),a(new De("maxContentLength size of "+e.maxContentLength+" exceeded",De.ERR_BAD_RESPONSE,e,p)))}),s.on("aborted",function(){if(d)return;const n=new De("maxContentLength size of "+e.maxContentLength+" exceeded",De.ERR_BAD_RESPONSE,e,p);s.destroy(n),a(n)}),s.on("error",function(n){u.destroyed||a(De.from(n,null,e,p))}),s.on("end",function(){try{let e=1===i.length?i[0]:Buffer.concat(i);"arraybuffer"!==r&&(e=e.toString(c),c&&"utf8"!==c||(e=Be.stripBOM(e))),v.data=e}catch(n){return a(De.from(n,null,e,v.request,v))}Jn(n,a,v)})}f.once("abort",e=>{s.destroyed||(s.emit("error",e),s.destroy())})}),f.once("abort",e=>{a(e),u.destroy(e)}),u.on("error",function(n){a(De.from(n,null,e,u))}),u.on("socket",function(e){e.setKeepAlive(!0,6e4)}),e.timeout){const n=parseInt(e.timeout,10);if(Number.isNaN(n))return void a(new De("error trying to parse `config.timeout` to int",De.ERR_BAD_OPTION_VALUE,e,u));u.setTimeout(n,function(){if(p)return;let n=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";e.timeoutErrorMessage&&(n=e.timeoutErrorMessage),a(new De(n,(e.transitional||Cn).clarifyTimeoutError?De.ETIMEDOUT:De.ECONNABORTED,e,u)),g()})}if(Be.isStream(o)){let n=!1,a=!1;o.on("end",()=>{n=!0}),o.once("error",e=>{a=!0,u.destroy(e)}),o.on("close",()=>{n||a||g(new Gn("Request stream has been aborted",e,u))}),o.pipe(u)}else u.end(o)},new Promise((e,a)=>{let i,o;const t=(e,n)=>{o||(o=!0,i&&i(e,n))},s=e=>{t(e,!0),a(e)};n(n=>{t(n),e(n)},s,e=>i=e).catch(s)});var n},gi=$n.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let a;function i(a){let i=a;return e&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return a=i(window.location.href),function(e){const n=Be.isString(e)?i(e):e;return n.protocol===a.protocol&&n.host===a.host}}():function(){return!0},bi=$n.hasStandardBrowserEnv?{write(e,n,a,i,o,t){const s=[e+"="+encodeURIComponent(n)];Be.isNumber(a)&&s.push("expires="+new Date(a).toGMTString()),Be.isString(i)&&s.push("path="+i),Be.isString(o)&&s.push("domain="+o),!0===t&&s.push("secure"),document.cookie=s.join("; ")},read(e){const n=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};const yi=e=>e instanceof Wn?{...e}:e;function wi(e,n){n=n||{};const a={};function i(e,n,a){return Be.isPlainObject(e)&&Be.isPlainObject(n)?Be.merge.call({caseless:a},e,n):Be.isPlainObject(n)?Be.merge({},n):Be.isArray(n)?n.slice():n}function o(e,n,a){return Be.isUndefined(n)?Be.isUndefined(e)?void 0:i(void 0,e,a):i(e,n,a)}function t(e,n){if(!Be.isUndefined(n))return i(void 0,n)}function s(e,n){return Be.isUndefined(n)?Be.isUndefined(e)?void 0:i(void 0,e):i(void 0,n)}function r(a,o,t){return t in n?i(a,o):t in e?i(void 0,a):void 0}const c={url:t,method:t,data:t,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:r,headers:(e,n)=>o(yi(e),yi(n),!0)};return Be.forEach(Object.keys(Object.assign({},e,n)),function(i){const t=c[i]||o,s=t(e[i],n[i],i);Be.isUndefined(s)&&t!==r||(a[i]=s)}),a}var _i=e=>{const n=wi({},e);let a,{data:i,withXSRFToken:o,xsrfHeaderName:t,xsrfCookieName:s,headers:r,auth:c}=n;if(n.headers=r=Wn.from(r),n.url=Sn(Kn(n.baseURL,n.url),e.params,e.paramsSerializer),c&&r.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),Be.isFormData(i))if($n.hasStandardBrowserEnv||$n.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if(!1!==(a=r.getContentType())){const[e,...n]=a?a.split(";").map(e=>e.trim()).filter(Boolean):[];r.setContentType([e||"multipart/form-data",...n].join("; "))}if($n.hasStandardBrowserEnv&&(o&&Be.isFunction(o)&&(o=o(n)),o||!1!==o&&gi(n.url))){const e=t&&s&&bi.read(s);e&&r.set(t,e)}return n},ki="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(n,a){const i=_i(e);let o=i.data;const t=Wn.from(i.headers).normalize();let s,r,c,l,p,{responseType:u,onUploadProgress:d,onDownloadProgress:m}=i;function f(){l&&l(),p&&p(),i.cancelToken&&i.cancelToken.unsubscribe(s),i.signal&&i.signal.removeEventListener("abort",s)}let h=new XMLHttpRequest;function v(){if(!h)return;const i=Wn.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders());Jn(function(e){n(e),f()},function(e){a(e),f()},{data:u&&"text"!==u&&"json"!==u?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:i,config:e,request:h}),h=null}h.open(i.method.toUpperCase(),i.url,!0),h.timeout=i.timeout,"onloadend"in h?h.onloadend=v:h.onreadystatechange=function(){h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))&&setTimeout(v)},h.onabort=function(){h&&(a(new De("Request aborted",De.ECONNABORTED,e,h)),h=null)},h.onerror=function(){a(new De("Network Error",De.ERR_NETWORK,e,h)),h=null},h.ontimeout=function(){let n=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";i.timeoutErrorMessage&&(n=i.timeoutErrorMessage),a(new De(n,(i.transitional||Cn).clarifyTimeoutError?De.ETIMEDOUT:De.ECONNABORTED,e,h)),h=null},void 0===o&&t.setContentType(null),"setRequestHeader"in h&&Be.forEach(t.toJSON(),function(e,n){h.setRequestHeader(n,e)}),Be.isUndefined(i.withCredentials)||(h.withCredentials=!!i.withCredentials),u&&"json"!==u&&(h.responseType=i.responseType),m&&([c,p]=ai(m,!0),h.addEventListener("progress",c)),d&&h.upload&&([r,l]=ai(d),h.upload.addEventListener("progress",r),h.upload.addEventListener("loadend",l)),(i.cancelToken||i.signal)&&(s=n=>{h&&(a(!n||n.type?new Gn(null,e,h):n),h.abort(),h=null)},i.cancelToken&&i.cancelToken.subscribe(s),i.signal&&(i.signal.aborted?s():i.signal.addEventListener("abort",s)));const x=Wa(i.url);x&&-1===$n.protocols.indexOf(x)?a(new De("Unsupported protocol "+x+":",De.ERR_BAD_REQUEST,e)):h.send(o||null)})},ji=(e,n)=>{let a,i=new AbortController;const o=function(e){if(!a){a=!0,s();const n=e instanceof Error?e:this.reason;i.abort(n instanceof De?n:new Gn(n instanceof Error?n.message:n))}};let t=n&&setTimeout(()=>{o(new De(`timeout ${n} of ms exceeded`,De.ETIMEDOUT))},n);const s=()=>{e&&(t&&clearTimeout(t),t=null,e.forEach(e=>{e&&(e.removeEventListener?e.removeEventListener("abort",o):e.unsubscribe(o))}),e=null)};e.forEach(e=>e&&e.addEventListener&&e.addEventListener("abort",o));const{signal:r}=i;return r.unsubscribe=s,[r,()=>{t&&clearTimeout(t),t=null}]};const Ti=function*(e,n){let a=e.byteLength;if(!n||a<n)return void(yield e);let i,o=0;for(;o<a;)i=o+n,yield e.slice(o,i),o=i},Si=(e,n,a,i,o)=>{const t=async function*(e,n,a){for await(const i of e)yield*Ti(ArrayBuffer.isView(i)?i:await a(String(i)),n)}(e,n,o);let s,r=0,c=e=>{s||(s=!0,i&&i(e))};return new ReadableStream({async pull(e){try{const{done:n,value:i}=await t.next();if(n)return c(),void e.close();if(a){let e=r+=i.byteLength;a(e)}e.enqueue(new Uint8Array(i))}catch(e){throw c(e),e}},cancel:e=>(c(e),t.return())},{highWaterMark:2})},Ei="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Ci=Ei&&"function"==typeof ReadableStream,Ri=Ei&&("function"==typeof TextEncoder?(zi=new TextEncoder,e=>zi.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var zi;const Oi=(e,...n)=>{try{return!!e(...n)}catch(e){return!1}},Fi=Ci&&Oi(()=>{let e=!1;const n=new Request($n.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!n}),$i=Ci&&Oi(()=>Be.isReadableStream(new Response("").body)),Ai={stream:$i&&(e=>e.body)};var Li;Ei&&(Li=new Response,["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Ai[e]&&(Ai[e]=Be.isFunction(Li[e])?n=>n[e]():(n,a)=>{throw new De(`Response type '${e}' is not supported`,De.ERR_NOT_SUPPORT,a)})}));var Ni=Ei&&(async e=>{let{url:n,method:a,data:i,signal:o,cancelToken:t,timeout:s,onDownloadProgress:r,onUploadProgress:c,responseType:l,headers:p,withCredentials:u="same-origin",fetchOptions:d}=_i(e);l=l?(l+"").toLowerCase():"text";let m,f,[h,v]=o||t||s?ji([o,t],s):[];const x=()=>{!m&&setTimeout(()=>{h&&h.unsubscribe()}),m=!0};let g;try{if(c&&Fi&&"get"!==a&&"head"!==a&&0!==(g=await(async(e,n)=>{const a=Be.toFiniteNumber(e.getContentLength());return null==a?(async e=>null==e?0:Be.isBlob(e)?e.size:Be.isSpecCompliantForm(e)?(await new Request(e).arrayBuffer()).byteLength:Be.isArrayBufferView(e)||Be.isArrayBuffer(e)?e.byteLength:(Be.isURLSearchParams(e)&&(e+=""),Be.isString(e)?(await Ri(e)).byteLength:void 0))(n):a})(p,i))){let e,a=new Request(n,{method:"POST",body:i,duplex:"half"});if(Be.isFormData(i)&&(e=a.headers.get("content-type"))&&p.setContentType(e),a.body){const[e,n]=ii(g,ai(oi(c)));i=Si(a.body,65536,e,n,Ri)}}Be.isString(u)||(u=u?"include":"omit"),f=new Request(n,{...d,signal:h,method:a.toUpperCase(),headers:p.normalize().toJSON(),body:i,duplex:"half",credentials:u});let o=await fetch(f);const t=$i&&("stream"===l||"response"===l);if($i&&(r||t)){const e={};["status","statusText","headers"].forEach(n=>{e[n]=o[n]});const n=Be.toFiniteNumber(o.headers.get("content-length")),[a,i]=r&&ii(n,ai(oi(r),!0))||[];o=new Response(Si(o.body,65536,a,()=>{i&&i(),t&&x()},Ri),e)}l=l||"text";let s=await Ai[Be.findKey(Ai,l)||"text"](o,e);return!t&&x(),v&&v(),await new Promise((n,a)=>{Jn(n,a,{data:s,headers:Wn.from(o.headers),status:o.status,statusText:o.statusText,config:e,request:f})})}catch(n){if(x(),n&&"TypeError"===n.name&&/fetch/i.test(n.message))throw Object.assign(new De("Network Error",De.ERR_NETWORK,e,f),{cause:n.cause||n});throw De.from(n,n&&n.code,e,f)}});const Ui={http:xi,xhr:ki,fetch:Ni};Be.forEach(Ui,(e,n)=>{if(e){try{Object.defineProperty(e,"name",{value:n})}catch(e){}Object.defineProperty(e,"adapterName",{value:n})}});const qi=e=>`- ${e}`,Pi=e=>Be.isFunction(e)||null===e||!1===e;var Ii=e=>{e=Be.isArray(e)?e:[e];const{length:n}=e;let a,i;const o={};for(let t=0;t<n;t++){let n;if(a=e[t],i=a,!Pi(a)&&(i=Ui[(n=String(a)).toLowerCase()],void 0===i))throw new De(`Unknown adapter '${n}'`);if(i)break;o[n||"#"+t]=i}if(!i){const e=Object.entries(o).map(([e,n])=>`adapter ${e} `+(!1===n?"is not supported by the environment":"is not available in the build"));throw new De("There is no suitable adapter to dispatch the request "+(n?e.length>1?"since :\n"+e.map(qi).join("\n"):" "+qi(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return i};function Bi(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Gn(null,e)}function Di(e){return Bi(e),e.headers=Wn.from(e.headers),e.data=Mn.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Ii(e.adapter||Nn.adapter)(e).then(function(n){return Bi(e),n.data=Mn.call(e,e.transformResponse,n),n.headers=Wn.from(n.headers),n},function(n){return Hn(n)||(Bi(e),n&&n.response&&(n.response.data=Mn.call(e,e.transformResponse,n.response),n.response.headers=Wn.from(n.response.headers))),Promise.reject(n)})}const Wi={};["object","boolean","number","function","string","symbol"].forEach((e,n)=>{Wi[e]=function(a){return typeof a===e||"a"+(n<1?"n ":" ")+e}});const Mi={};Wi.transitional=function(e,n,a){function i(e,n){return"[Axios v1.7.4] Transitional option '"+e+"'"+n+(a?". "+a:"")}return(a,o,t)=>{if(!1===e)throw new De(i(o," has been removed"+(n?" in "+n:"")),De.ERR_DEPRECATED);return n&&!Mi[o]&&(Mi[o]=!0,console.warn(i(o," has been deprecated since v"+n+" and will be removed in the near future"))),!e||e(a,o,t)}};var Hi={assertOptions:function(e,n,a){if("object"!=typeof e)throw new De("options must be an object",De.ERR_BAD_OPTION_VALUE);const i=Object.keys(e);let o=i.length;for(;o-- >0;){const t=i[o],s=n[t];if(s){const n=e[t],a=void 0===n||s(n,t,e);if(!0!==a)throw new De("option "+t+" must be "+a,De.ERR_BAD_OPTION_VALUE)}else if(!0!==a)throw new De("Unknown option "+t,De.ERR_BAD_OPTION)}},validators:Wi};const Gi=Hi.validators;class Ji{constructor(e){this.defaults=e,this.interceptors={request:new En,response:new En}}async request(e,n){try{return await this._request(e,n)}catch(e){if(e instanceof Error){let n;Error.captureStackTrace?Error.captureStackTrace(n={}):n=new Error;const a=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.stack?a&&!String(e.stack).endsWith(a.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+a):e.stack=a}catch(e){}}throw e}}_request(e,n){"string"==typeof e?(n=n||{}).url=e:n=e||{},n=wi(this.defaults,n);const{transitional:a,paramsSerializer:i,headers:o}=n;void 0!==a&&Hi.assertOptions(a,{silentJSONParsing:Gi.transitional(Gi.boolean),forcedJSONParsing:Gi.transitional(Gi.boolean),clarifyTimeoutError:Gi.transitional(Gi.boolean)},!1),null!=i&&(Be.isFunction(i)?n.paramsSerializer={serialize:i}:Hi.assertOptions(i,{encode:Gi.function,serialize:Gi.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let t=o&&Be.merge(o.common,o[n.method]);o&&Be.forEach(["delete","get","head","post","put","patch","common"],e=>{delete o[e]}),n.headers=Wn.concat(t,o);const s=[];let r=!0;this.interceptors.request.forEach(function(e){"function"==typeof e.runWhen&&!1===e.runWhen(n)||(r=r&&e.synchronous,s.unshift(e.fulfilled,e.rejected))});const c=[];let l;this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let p,u=0;if(!r){const e=[Di.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,c),p=e.length,l=Promise.resolve(n);u<p;)l=l.then(e[u++],e[u++]);return l}p=s.length;let d=n;for(u=0;u<p;){const e=s[u++],n=s[u++];try{d=e(d)}catch(e){n.call(this,e);break}}try{l=Di.call(this,d)}catch(e){return Promise.reject(e)}for(u=0,p=c.length;u<p;)l=l.then(c[u++],c[u++]);return l}getUri(e){return Sn(Kn((e=wi(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}Be.forEach(["delete","get","head","options"],function(e){Ji.prototype[e]=function(n,a){return this.request(wi(a||{},{method:e,url:n,data:(a||{}).data}))}}),Be.forEach(["post","put","patch"],function(e){function n(n){return function(a,i,o){return this.request(wi(o||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:a,data:i}))}}Ji.prototype[e]=n(),Ji.prototype[e+"Form"]=n(!0)});var Ki=Ji;class Vi{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(e){n=e});const a=this;this.promise.then(e=>{if(!a._listeners)return;let n=a._listeners.length;for(;n-- >0;)a._listeners[n](e);a._listeners=null}),this.promise.then=e=>{let n;const i=new Promise(e=>{a.subscribe(e),n=e}).then(e);return i.cancel=function(){a.unsubscribe(n)},i},e(function(e,i,o){a.reason||(a.reason=new Gn(e,i,o),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);-1!==n&&this._listeners.splice(n,1)}static source(){let e;return{token:new Vi(function(n){e=n}),cancel:e}}}var Yi=Vi;const Zi={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(Zi).forEach(([e,n])=>{Zi[n]=e});var Xi=Zi;const Qi=function e(n){const a=new Ki(n),i=Z(Ki.prototype.request,a);return Be.extend(i,Ki.prototype,a,{allOwnKeys:!0}),Be.extend(i,a,null,{allOwnKeys:!0}),i.create=function(a){return e(wi(n,a))},i}(Nn);Qi.Axios=Ki,Qi.CanceledError=Gn,Qi.CancelToken=Yi,Qi.isCancel=Hn,Qi.VERSION=Da,Qi.toFormData=wn,Qi.AxiosError=De,Qi.Cancel=Qi.CanceledError,Qi.all=function(e){return Promise.all(e)},Qi.spread=function(e){return function(n){return e.apply(null,n)}},Qi.isAxiosError=function(e){return Be.isObject(e)&&!0===e.isAxiosError},Qi.mergeConfig=wi,Qi.AxiosHeaders=Wn,Qi.formToJSON=e=>An(Be.isHTMLForm(e)?new FormData(e):e),Qi.getAdapter=Ii,Qi.HttpStatusCode=Xi,Qi.default=Qi;var eo=Qi;const{CanceledError:no}=eo,ao=/screenshot(\-\d+?)?\.needle\.(webp|png|jpg|jpeg)/;function io(e){return!!e.endsWith("screenshot.needle.webp")||!!ao.test(e)||!!e.endsWith(".needle.log")}async function oo(e,n){const a=n.baseUrl+G.jobs.post_update,i={...J(n),job_id:e.identifier,status:e.status},o={status_message:e.status_message,error:e.error,progress:e.progress},t=await fetch(a,{...K,method:"POST",headers:i,body:JSON.stringify(o)}).catch(e=>(console.error(e),null));return!!t&&t.ok}async function to(e,n){const a=n.baseUrl+G.jobs.get_status,i={...J(n),job_id:e,org:n.org},o=await fetch(a,{...K,method:"GET",headers:i}).catch(e=>(console.error(e),null));return o?o.ok?await o.json():(console.error("Failed to get status",o.status,await o.text()),null):null}var so=Xe(function(e){!function(){var n="input is invalid type",a="object"==typeof window,i=a?window:{};i.JS_MD5_NO_WINDOW&&(a=!1);var o=!a&&"object"==typeof self,t=!i.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;t?i=Ze:o&&(i=self);var s,r=!i.JS_MD5_NO_COMMON_JS&&e.exports,c=!i.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,l="0123456789abcdef".split(""),p=[128,32768,8388608,-2147483648],u=[0,8,16,24],d=["hex","array","digest","buffer","arrayBuffer","base64"],m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),f=[];if(c){var h=new ArrayBuffer(68);s=new Uint8Array(h),f=new Uint32Array(h)}var v=Array.isArray;!i.JS_MD5_NO_NODE_JS&&v||(v=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var x=ArrayBuffer.isView;!c||!i.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&x||(x=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var g=function(e){var a=typeof e;if("string"===a)return[e,!0];if("object"!==a||null===e)throw new Error(n);if(c&&e.constructor===ArrayBuffer)return[new Uint8Array(e),!1];if(!v(e)&&!x(e))throw new Error(n);return[e,!1]},b=function(e){return function(n){return new w(!0).update(n)[e]()}},y=function(e){return function(n,a){return new _(n,!0).update(a)[e]()}};function w(e){if(e)f[0]=f[16]=f[1]=f[2]=f[3]=f[4]=f[5]=f[6]=f[7]=f[8]=f[9]=f[10]=f[11]=f[12]=f[13]=f[14]=f[15]=0,this.blocks=f,this.buffer8=s;else if(c){var n=new ArrayBuffer(68);this.buffer8=new Uint8Array(n),this.blocks=new Uint32Array(n)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}function _(e,n){var a,i=g(e);if(e=i[0],i[1]){var o,t=[],s=e.length,r=0;for(a=0;a<s;++a)(o=e.charCodeAt(a))<128?t[r++]=o:o<2048?(t[r++]=192|o>>>6,t[r++]=128|63&o):o<55296||o>=57344?(t[r++]=224|o>>>12,t[r++]=128|o>>>6&63,t[r++]=128|63&o):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++a)),t[r++]=240|o>>>18,t[r++]=128|o>>>12&63,t[r++]=128|o>>>6&63,t[r++]=128|63&o);e=t}e.length>64&&(e=new w(!0).update(e).array());var c=[],l=[];for(a=0;a<64;++a){var p=e[a]||0;c[a]=92^p,l[a]=54^p}w.call(this,n),this.update(l),this.oKeyPad=c,this.inner=!0,this.sharedMemory=n}w.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");for(var n,a,i=g(e),o=i[1],t=0,s=(e=i[0]).length,r=this.blocks,l=this.buffer8;t<s;){if(this.hashed&&(this.hashed=!1,r[0]=r[16],r[16]=r[1]=r[2]=r[3]=r[4]=r[5]=r[6]=r[7]=r[8]=r[9]=r[10]=r[11]=r[12]=r[13]=r[14]=r[15]=0),o)if(c)for(a=this.start;t<s&&a<64;++t)(n=e.charCodeAt(t))<128?l[a++]=n:n<2048?(l[a++]=192|n>>>6,l[a++]=128|63&n):n<55296||n>=57344?(l[a++]=224|n>>>12,l[a++]=128|n>>>6&63,l[a++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++t)),l[a++]=240|n>>>18,l[a++]=128|n>>>12&63,l[a++]=128|n>>>6&63,l[a++]=128|63&n);else for(a=this.start;t<s&&a<64;++t)(n=e.charCodeAt(t))<128?r[a>>>2]|=n<<u[3&a++]:n<2048?(r[a>>>2]|=(192|n>>>6)<<u[3&a++],r[a>>>2]|=(128|63&n)<<u[3&a++]):n<55296||n>=57344?(r[a>>>2]|=(224|n>>>12)<<u[3&a++],r[a>>>2]|=(128|n>>>6&63)<<u[3&a++],r[a>>>2]|=(128|63&n)<<u[3&a++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++t)),r[a>>>2]|=(240|n>>>18)<<u[3&a++],r[a>>>2]|=(128|n>>>12&63)<<u[3&a++],r[a>>>2]|=(128|n>>>6&63)<<u[3&a++],r[a>>>2]|=(128|63&n)<<u[3&a++]);else if(c)for(a=this.start;t<s&&a<64;++t)l[a++]=e[t];else for(a=this.start;t<s&&a<64;++t)r[a>>>2]|=e[t]<<u[3&a++];this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this},w.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,n=this.lastByteIndex;e[n>>>2]|=p[3&n],n>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},w.prototype.hash=function(){var e,n,a,i,o,t,s=this.blocks;this.first?n=((n=((e=((e=s[0]-680876937)<<7|e>>>25)-271733879|0)^(a=((a=(-271733879^(i=((i=(-1732584194^2004318071&e)+s[1]-117830708)<<12|i>>>20)+e|0)&(-271733879^e))+s[2]-1126478375)<<17|a>>>15)+i|0)&(i^e))+s[3]-1316259209)<<22|n>>>10)+a|0:(e=this.h0,n=this.h1,n=((n+=((e=((e+=((i=this.h3)^n&((a=this.h2)^i))+s[0]-680876936)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+s[1]-389564586)<<12|i>>>20)+e|0)&(e^n))+s[2]+606105819)<<17|a>>>15)+i|0)&(i^e))+s[3]-1044525330)<<22|n>>>10)+a|0),n=((n+=((e=((e+=(i^n&(a^i))+s[4]-176418897)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+s[5]+1200080426)<<12|i>>>20)+e|0)&(e^n))+s[6]-1473231341)<<17|a>>>15)+i|0)&(i^e))+s[7]-45705983)<<22|n>>>10)+a|0,n=((n+=((e=((e+=(i^n&(a^i))+s[8]+1770035416)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+s[9]-1958414417)<<12|i>>>20)+e|0)&(e^n))+s[10]-42063)<<17|a>>>15)+i|0)&(i^e))+s[11]-1990404162)<<22|n>>>10)+a|0,n=((n+=((e=((e+=(i^n&(a^i))+s[12]+1804603682)<<7|e>>>25)+n|0)^(a=((a+=(n^(i=((i+=(a^e&(n^a))+s[13]-40341101)<<12|i>>>20)+e|0)&(e^n))+s[14]-1502002290)<<17|a>>>15)+i|0)&(i^e))+s[15]+1236535329)<<22|n>>>10)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+s[1]-165796510)<<5|e>>>27)+n|0)^n))+s[6]-1069501632)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+s[11]+643717713)<<14|a>>>18)+i|0)^i))+s[0]-373897302)<<20|n>>>12)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+s[5]-701558691)<<5|e>>>27)+n|0)^n))+s[10]+38016083)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+s[15]-660478335)<<14|a>>>18)+i|0)^i))+s[4]-405537848)<<20|n>>>12)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+s[9]+568446438)<<5|e>>>27)+n|0)^n))+s[14]-1019803690)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+s[3]-187363961)<<14|a>>>18)+i|0)^i))+s[8]+1163531501)<<20|n>>>12)+a|0,n=((n+=((i=((i+=(n^a&((e=((e+=(a^i&(n^a))+s[13]-1444681467)<<5|e>>>27)+n|0)^n))+s[2]-51403784)<<9|i>>>23)+e|0)^e&((a=((a+=(e^n&(i^e))+s[7]+1735328473)<<14|a>>>18)+i|0)^i))+s[12]-1926607734)<<20|n>>>12)+a|0,n=((n+=((t=(i=((i+=((o=n^a)^(e=((e+=(o^i)+s[5]-378558)<<4|e>>>28)+n|0))+s[8]-2022574463)<<11|i>>>21)+e|0)^e)^(a=((a+=(t^n)+s[11]+1839030562)<<16|a>>>16)+i|0))+s[14]-35309556)<<23|n>>>9)+a|0,n=((n+=((t=(i=((i+=((o=n^a)^(e=((e+=(o^i)+s[1]-1530992060)<<4|e>>>28)+n|0))+s[4]+1272893353)<<11|i>>>21)+e|0)^e)^(a=((a+=(t^n)+s[7]-155497632)<<16|a>>>16)+i|0))+s[10]-1094730640)<<23|n>>>9)+a|0,n=((n+=((t=(i=((i+=((o=n^a)^(e=((e+=(o^i)+s[13]+681279174)<<4|e>>>28)+n|0))+s[0]-358537222)<<11|i>>>21)+e|0)^e)^(a=((a+=(t^n)+s[3]-722521979)<<16|a>>>16)+i|0))+s[6]+76029189)<<23|n>>>9)+a|0,n=((n+=((t=(i=((i+=((o=n^a)^(e=((e+=(o^i)+s[9]-640364487)<<4|e>>>28)+n|0))+s[12]-421815835)<<11|i>>>21)+e|0)^e)^(a=((a+=(t^n)+s[15]+530742520)<<16|a>>>16)+i|0))+s[2]-995338651)<<23|n>>>9)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+s[0]-198630844)<<6|e>>>26)+n|0)|~a))+s[7]+1126891415)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+s[14]-1416354905)<<15|a>>>17)+i|0)|~e))+s[5]-57434055)<<21|n>>>11)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+s[12]+1700485571)<<6|e>>>26)+n|0)|~a))+s[3]-1894986606)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+s[10]-1051523)<<15|a>>>17)+i|0)|~e))+s[1]-2054922799)<<21|n>>>11)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+s[8]+1873313359)<<6|e>>>26)+n|0)|~a))+s[15]-30611744)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+s[6]-1560198380)<<15|a>>>17)+i|0)|~e))+s[13]+1309151649)<<21|n>>>11)+a|0,n=((n+=((i=((i+=(n^((e=((e+=(a^(n|~i))+s[4]-145523070)<<6|e>>>26)+n|0)|~a))+s[11]-1120210379)<<10|i>>>22)+e|0)^((a=((a+=(e^(i|~n))+s[2]+718787259)<<15|a>>>17)+i|0)|~e))+s[9]-343485551)<<21|n>>>11)+a|0,this.first?(this.h0=e+1732584193|0,this.h1=n-271733879|0,this.h2=a-1732584194|0,this.h3=i+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+n|0,this.h2=this.h2+a|0,this.h3=this.h3+i|0)},w.prototype.toString=w.prototype.hex=function(){this.finalize();var e=this.h0,n=this.h1,a=this.h2,i=this.h3;return l[e>>>4&15]+l[15&e]+l[e>>>12&15]+l[e>>>8&15]+l[e>>>20&15]+l[e>>>16&15]+l[e>>>28&15]+l[e>>>24&15]+l[n>>>4&15]+l[15&n]+l[n>>>12&15]+l[n>>>8&15]+l[n>>>20&15]+l[n>>>16&15]+l[n>>>28&15]+l[n>>>24&15]+l[a>>>4&15]+l[15&a]+l[a>>>12&15]+l[a>>>8&15]+l[a>>>20&15]+l[a>>>16&15]+l[a>>>28&15]+l[a>>>24&15]+l[i>>>4&15]+l[15&i]+l[i>>>12&15]+l[i>>>8&15]+l[i>>>20&15]+l[i>>>16&15]+l[i>>>28&15]+l[i>>>24&15]},w.prototype.array=w.prototype.digest=function(){this.finalize();var e=this.h0,n=this.h1,a=this.h2,i=this.h3;return[255&e,e>>>8&255,e>>>16&255,e>>>24&255,255&n,n>>>8&255,n>>>16&255,n>>>24&255,255&a,a>>>8&255,a>>>16&255,a>>>24&255,255&i,i>>>8&255,i>>>16&255,i>>>24&255]},w.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),n=new Uint32Array(e);return n[0]=this.h0,n[1]=this.h1,n[2]=this.h2,n[3]=this.h3,e},w.prototype.buffer=w.prototype.arrayBuffer,w.prototype.base64=function(){for(var e,n,a,i="",o=this.array(),t=0;t<15;)e=o[t++],n=o[t++],a=o[t++],i+=m[e>>>2]+m[63&(e<<4|n>>>4)]+m[63&(n<<2|a>>>6)]+m[63&a];return i+(m[(e=o[t])>>>2]+m[e<<4&63]+"==")},(_.prototype=new w).finalize=function(){if(w.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();w.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(e),w.prototype.finalize.call(this)}};var k=function(){var e=b("hex");t&&(e=function(e){var a,o=R,t=z.Buffer;return a=t.from&&!i.JS_MD5_NO_BUFFER_FROM?t.from:function(e){return new t(e)},function(i){if("string"==typeof i)return o.createHash("md5").update(i,"utf8").digest("hex");if(null==i)throw new Error(n);return i.constructor===ArrayBuffer&&(i=new Uint8Array(i)),v(i)||x(i)||i.constructor===t?o.createHash("md5").update(a(i)).digest("hex"):e(i)}}(e)),e.create=function(){return new w},e.update=function(n){return e.create().update(n)};for(var a=0;a<d.length;++a){var o=d[a];e[o]=b(o)}return e}();k.md5=k,k.md5.hmac=function(){var e=y("hex");e.create=function(e){return new _(e)},e.update=function(n,a){return e.create(n).update(a)};for(var n=0;n<d.length;++n){var a=d[n];e[a]=y(a)}return e}(),r?e.exports=k:i.md5=k}()});function ro(e,n=0){return uo(e,n,2).getUint16(0,!0)}function co(e,n=0){return uo(e,n,4).getUint32(0,!0)}function lo(e,n=0,a=e.byteLength){const i=e.slice(n,n+a);return mo.decode(new Uint8Array(i))}function po(e,n,a=0){if(e.length<n.length+a)return!1;for(const[i,o]of n.entries())if(null!==o&&o!==e[i+a])return!1;return!0}function uo(e,n,a){const i=e.slice(n,n+a);return new DataView(new Uint8Array(i).buffer)}const mo=new TextDecoder("utf8"),fo=[["db","application/vnd.sqlite3",[83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0]],["woff","font/woff",[119,79,70,70]],["woff2","font/woff2",[119,79,70,50]],["bmp","image/bmp",[66,77]],["gif","image/gif",[71,73,70,56,55,97]],["gif","image/gif",[71,73,70,56,57,97]],["heic","image/heic",[102,116,121,112,104,101,105],{offset:4}],["heic","image/heic",[102,116,121,112,109],{offset:4}],["ico","image/x-icon",[0,0,1,0]],["jpg","image/jpeg",[255,216,255]],["pdf","application/pdf",[37,80,68,70,45]],["png","image/png",[137,80,78,71,13,10,26,10]],["7z","application/x-7z-compressed",[55,122,188,175,39,28]],["rar","application/x-rar-compressed",[82,97,114,33,26,7,0]],["rar","application/x-rar-compressed",[82,97,114,33,26,7,1,0]],["rtf","application/rtf",[123,92,114,116,102,49]],["bz2","application/x-bzip2",[66,90,104]],["gz","application/gzip",[31,139]],["tar","application/x-tar",[117,115,116,97,114,0,48,48],{offset:257}],["tar","application/x-tar",[117,115,116,97,114,32,32,0],{offset:257}],["tif","image/tiff",[73,73,42,0]],["tiff","image/tiff",[77,77,0,42]],["zip","application/zip",[80,75,3,4],{exact:!1}],["zip","application/zip",[80,75,5,6]],["mp3","audio/mp3",[255,251]],["mp3","audio/mp3",[255,243]],["mp3","audio/mp3",[255,242]],["mp3","audio/mp3",[73,68,51]],["mp4","video/mp4",[102,116,121,112,105,115,111,109],{offset:4}],["avi","video/x-msvideo",[82,73,70,70,null,null,null,null,65,86,73,32]],["wav","audio/wav",[82,73,70,70,null,null,null,null,87,65,86,69]],["ogx","application/ogg",[79,103,103,83],{exact:!1},[["oga","audio/ogg",[127,70,76,65,67],{offset:28}],["ogg","audio/ogg",[1,118,111,114,98,105,115],{offset:28}],["ogm","video/ogg",[1,118,105,100,101,111,0],{offset:28}],["ogv","video/ogg",[128,116,104,101,111,114,97],{offset:28}]]],["webp","image/webp",[82,73,70,70,null,null,null,null,87,69,66,80]],["psd","image/vnd.adobe.photoshop",[56,66,80,83]],["flac","audio/x-flac",[102,76,97,67]],["wasm","application/wasm",[0,97,115,109]],["deb","application/x-deb",[33,60,97,114,99,104,62,10]],["exe","application/x-msdownload",[77,90]],["exe","application/x-msdownload",[90,77]],["class","application/java-vm",[202,254,186,190]]];function ho(e){return e.flatMap(([e,n,a,i={},o=[]])=>[[e,n,a,i],...o])}function vo(e,n){const a=ro(e,26),i=lo(e,30,a),[o]=i.split("/"),t=i.endsWith(".xml");return"META-INF"===o?{ext:"jar",mime:"application/java-archive"}:"ppt"===o&&t?{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:"word"===o&&t?{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:"xl"===o&&t?{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}:"mimetype"===o?function(e,n){const a=co(e,18),i=co(e,22),o=ro(e,28);if(a===i){const i=lo(e,30+n+o,a);if("application/vnd.oasis.opendocument.presentation"===i)return{ext:"odp",mime:i};if("application/vnd.oasis.opendocument.spreadsheet"===i)return{ext:"ods",mime:i};if("application/vnd.oasis.opendocument.text"===i)return{ext:"odt",mime:i};if("application/epub+zip"===i)return{ext:"epub",mime:i}}}(e,a)??n:n}const xo=function(e){return ho(e).map(([e,n,a,{offset:i=0}={}])=>a.length+i).reduce((e,n)=>n>e?n:e,0)}(fo);function go(e,n){for(const[a,i,o,{exact:t=!0,offset:s=0}={},r=[]]of n)if(po(e,o,s)){if("zip"===a&&!t)return vo(e.buffer,{ext:a,mime:i});if(!t&&r.length)for(const[n,a,i,{offset:o=0}={}]of r)if(po(e,i,o))return{ext:n,mime:a};return{ext:a,mime:i}}}function bo(e,n,a){let i=0;for(;;){let o=e.indexOf(n,i);if(-1===o)break;i=o+n.length,e=e.replace(n,a)}return e}function yo(e,n,a=void 0){const i=bo(e,"\\","/").split("/").pop()||e,o=(null==a?void 0:a.type)||_o(n,e),t=new File([n],i,{type:o});return t.path=e,t}function wo(e){const n=so.md5.create();return n.update(e),n.base64()}function _o(e,n=void 0){const a=function(e,{extra:n=!1,hint:a}={}){const i=new Uint8Array(e.slice(0,xo));if(a){const e=function(e,{ext:n,mime:a}){return n||a?ho(e).filter(e=>e[0]===n||e[1]===a):[]}(fo,a);if(e.length>0){const n=go(i,e);if(void 0!==n)return n}}return go(i,fo)||(n?function(e){return function(e){try{const n=lo(e);if(!function(e){for(let n=0;n<e.length;n++)try{const a=e.charCodeAt(n);if(65533===a||a<=8)return!1}catch{return!1}return!0}(n))return;try{return JSON.parse(n),{ext:"json",mime:"application/json"}}catch{return{ext:"txt",mime:"text/plain"}}}catch{return}}(e)}(e):void 0)}(e);if(a)return a.mime;const i=new Uint8Array(e).subarray(0,4);let o="";for(var t=0;t<i.length;t++)o+=i[t].toString(16);let s="unknown";switch(o){case"676c5446":s="model/gltf-binary";break;case"89504e47":s="image/png";break;case"ffd8ffe0":case"ffd8ffe1":case"ffd8ffe2":case"ffd8ffe3":case"ffd8ffe8":s="image/jpeg";break;default:s="unknown"}return"unknown"===s&&"string"==typeof n&&(s=function(e){const n=e.toLowerCase();let a="";return n.endsWith(".html")||n.endsWith(".html.gz")?a="text/html":n.endsWith(".js")||n.endsWith(".js.gz")?a="application/javascript":n.endsWith(".wasm")?a="application/wasm":n.endsWith(".css")?a="text/css":n.endsWith(".json")?a="application/json":n.endsWith(".txt")?a="text/plain":n.endsWith(".bin")?a="application/octet-stream":n.endsWith(".png")?a="image/png":n.endsWith(".jpg")||n.endsWith(".jpeg")?a="image/jpeg":n.endsWith(".gif")?a="image/gif":n.endsWith(".webp")?a="image/webp":n.endsWith(".svg")?a="image/svg+xml":n.endsWith(".glb")?a="model/gltf-binary":n.endsWith(".gltf")?a="model/gltf+json":n.endsWith(".vrm")?a="model/gltf-binary":n.endsWith(".usdz")?a="model/vnd.usdz+zip":n.endsWith(".usda")?a="model/vnd.usd-usda":n.endsWith(".usdc")?a="model/vnd.usd-usdc":n.endsWith(".usd")?a="model/vnd.usd-usd":n.endsWith(".mtl")?a="model/mtl":n.endsWith(".obj")?a="model/obj":n.endsWith(".fbx")?a="model/vnd.autodesk.fbx":n.endsWith(".stl")&&(a="model/stl"),a}(n)),s}function ko(e,n){const a=e.toLowerCase();return"application/gzip"===n||"application/brotli"===n?(a.endsWith(".html.gz")||a.endsWith(".html.br")?(n="text/html",e=e.substring(0,e.length-3)):a.endsWith(".js.gz")||a.endsWith(".js.br")||a.endsWith(".mjs.gz")||a.endsWith(".mjs.br")||a.endsWith(".cjs.gz")||a.endsWith(".cjs.br")?(n="application/javascript",e=e.substring(0,e.length-3)):a.endsWith(".css.gz")||a.endsWith(".css.br")?(n="text/css",e=e.substring(0,e.length-3)):a.endsWith(".json.gz")||a.endsWith(".json.br")?(n="text/json",e=e.substring(0,e.length-3)):a.endsWith(".txt.gz")||a.endsWith(".txt.br")?(n="text/plain",e=e.substring(0,e.length-3)):a.endsWith(".wasm.gz")||a.endsWith(".wasm.br")?(n="application/wasm",e=e.substring(0,e.length-3)):a.endsWith(".bin.gz")||a.endsWith(".bin.br")?(n="application/octet-stream",e=e.substring(0,e.length-3)):a.endsWith(".png.gz")||a.endsWith(".png.br")?(n="image/png",e=e.substring(0,e.length-3)):a.endsWith(".jpg.gz")||a.endsWith(".jpg.br")||a.endsWith(".jpeg.gz")||a.endsWith(".jpeg.br")?(n="image/jpeg",e=e.substring(0,e.length-3)):a.endsWith(".gif.gz")||a.endsWith(".gif.br")?(n="image/gif",e=e.substring(0,e.length-3)):a.endsWith(".webp.gz")||a.endsWith(".webp.br")?(n="image/webp",e=e.substring(0,e.length-3)):a.endsWith(".svg.gz")||a.endsWith(".svg.br")?(n="image/svg+xml",e=e.substring(0,e.length-3)):a.endsWith(".ico.gz")||a.endsWith(".ico.br")?(n="image/x-icon",e=e.substring(0,e.length-3)):a.endsWith(".webm.gz")||a.endsWith(".webm.br")?(n="video/webm",e=e.substring(0,e.length-3)):a.endsWith(".mp4.gz")||a.endsWith(".mp4.br")?(n="video/mp4",e=e.substring(0,e.length-3)):a.endsWith(".mov.gz")||a.endsWith(".mov.br")?(n="video/quicktime",e=e.substring(0,e.length-3)):a.endsWith(".mp3.gz")||a.endsWith(".mp3.br")?(n="audio/mpeg",e=e.substring(0,e.length-3)):a.endsWith(".wav.gz")||a.endsWith(".wav.br")?(n="audio/wave",e=e.substring(0,e.length-3)):a.endsWith(".ogg.gz")||a.endsWith(".ogg.br")?(n="audio/ogg",e=e.substring(0,e.length-3)):a.endsWith(".flac.gz")||a.endsWith(".flac.br")?(n="audio/flac",e=e.substring(0,e.length-3)):a.endsWith(".glb.gz")||a.endsWith(".glb.br")?(n="model/gltf-binary",e=e.substring(0,e.length-3)):a.endsWith(".gltf.gz")||a.endsWith(".gltf.br")?(n="model/gltf+json",e=e.substring(0,e.length-3)):a.endsWith(".vrm.gz")||a.endsWith(".vrm.br")?(n="model/gltf-binary",e=e.substring(0,e.length-3)):a.endsWith(".usdz.gz")||a.endsWith(".usdz.br")?(n="model/vnd.usdz+zip",e=e.substring(0,e.length-3)):a.endsWith(".obj.gz")||a.endsWith(".obj.br")?(n="model/obj",e=e.substring(0,e.length-3)):(a.endsWith(".mtl.gz")||a.endsWith(".mtl.br"))&&(n="model/mtl",e=e.substring(0,e.length-3)),{filename:e,mimetype:n}):null}function jo(e,n=void 0,a=!0){const i=Math.abs(e);if(i>=1099511627776){let i=a?" TB":"";return(e/1099511627776).toFixed(void 0===n?2:n)+i}if(i>=1073741824){let i=a?" GB":"";return(e/1073741824).toFixed(void 0===n?2:n)+i}if(i>=1048576){let i=a?" MB":"";return(e/1048576).toFixed(void 0===n?1:n)+i}if(i>=1024){let i=a?" KB":"";return(e/1024).toFixed(void 0===n?0:n)+i}let o=a?" B":"";return e.toFixed(0)+o}function To(e){return e.split("/").reduce((e,n)=>("."===n||(".."===n?e.pop():null!=n&&n.length&&e.push(n)),e),[]).join("/")}async function So(e){return new Promise(n=>setTimeout(n,e))}const Eo=/^image_(?<image_lod>\d+)_|^mesh_lod_(?<mesh_lod>\d+)_/;function Co(e){return e.includes("\\u")?JSON.parse(`"${e}"`):decodeURIComponent(e)}function Ro(e){let n=null,a="";const i=e.filter(e=>"index.html"===e.name.toLowerCase()||"index.html.gz"===e.name.toLowerCase()||"index.html.br"===e.name.toLowerCase());if(1===i.length)return n=i[0],n;const o=e.filter(e=>e.name.toLowerCase().endsWith(".html")||e.name.toLowerCase().endsWith(".htm")||e.name.toLowerCase().endsWith(".html.gz")||e.name.toLowerCase().endsWith(".html.br"));if(1===o.length)return o[0];if(o.length>1){const e=new Map;for(const n of o){const a=n.path.split("/");let i=e.get(a.length);i||(i=[],e.set(a.length,i)),i.push(n)}const i=Array.from(e.keys()).sort((e,n)=>e-n);if(i.length>0)for(const a of i){const i=e.get(a);if(!i)continue;const o=i.find(e=>"index.html"===e.name.toLowerCase()||"index.html.gz"===e.name.toLowerCase()||"index.html.br"===e.name.toLowerCase());return o?(n=o,n):(n=i[0],n)}return a="Invalid upload: Multiple HTML files found but could not determine root.",console.error(a,o.map(e=>e.path||e.name)),{error:a}}const t=e.filter(e=>e.name.toLowerCase().endsWith(".glb")||e.name.toLowerCase().endsWith(".gltf")||e.name.toLowerCase().endsWith(".vrm"));if(t.length>1){const e=function(e){const n=new Array,a=/(mesh_lod|image)_\d_(.{1,50})/;for(const i of e){if(a.test(i.name))continue;const e=i.name.toLowerCase();(e.endsWith(".gltf")||e.endsWith(".vrm")||e.endsWith(".glb"))&&n.push(i)}return 1==n.length?n[0]:zo(n)}(t);return e?(n=e,n):(a="Invalid upload: Multiple glb/glTF/vrm files found. This is currently not supported.",console.error(a,t.map(e=>e.path||e.name)),{error:a})}if(1===t.length)return n=t[0],n;const s=e.filter(e=>e.name.toLowerCase().endsWith(".usdz")||e.name.toLowerCase().endsWith(".usd")||e.name.toLowerCase().endsWith(".usda")||e.name.toLowerCase().endsWith(".usdc"));s.length>=1&&(n=zo(s));const r=e.filter(e=>e.name.toLowerCase().endsWith(".fbx"));if(r.length>1)return a="Invalid upload: Multiple fbx files found. This is currently not supported.",console.error(a,r),{error:a};if(1===r.length)return n=r[0],n;const c=e.filter(e=>e.name.toLowerCase().endsWith(".obj"));if(c.length>1)return a="Invalid upload: Multiple obj files found. This is currently not supported.",console.error(a,c),{error:a};if(1===c.length)return n=c[0],n;const l=e.filter(e=>e.name.toLowerCase().endsWith(".stl"));if(l.length>1)return a="Invalid upload: Multiple stl files found. This is currently not supported.",console.error(a,l),{error:a};if(1===l.length)return n=l[0],n;if(1===e.length&&!e[0].arrayBuffer&&e[0].path.toLowerCase().startsWith("http"))return n=e[0],n;const p=e.filter(e=>e.name.toLowerCase().endsWith("package.json"));return 1===p.length?(n=p[0],n):p.length>1?(a="Invalid upload: Multiple package.json files found. This is currently not supported.",console.error(a,p),{error:a}):n||{error:"No supported file to upload found..."}}function zo(e){let n=-1,a=Infinity;for(let i=0;i<e.length;i++){const o=e[i];o.path.split("/").length<a&&(a=o.path.split("/").length,n=i)}return n<0?null:e[n]}class Oo{constructor(e,n){this.totalFiles=e,this.estimatedTotalSize=n,this.uploadedSize=0,this.startTime=Date.now(),this.lastUpdateTime=this.startTime,this.lastUploadedSize=0,this.speedEMA=null,this.emaFactor=.1,this.smoothedRemainingTime=null,this.recentSpeeds=new Array,this.maxRecentSpeeds=20,this.initialEstimateThreshold=.05}updateProgress(e){const n=Date.now(),a=(n-this.lastUpdateTime)/1e3,i=e-this.lastUploadedSize;if(this.uploadedSize=e,a>0&&i>0){this.recentSpeeds.push(i/a),this.recentSpeeds.length>this.maxRecentSpeeds&&this.recentSpeeds.shift();const e=this.recentSpeeds.reduce((e,n)=>e+n,0)/this.recentSpeeds.length;this.speedEMA=null===this.speedEMA?e:this.emaFactor*e+(1-this.emaFactor)*this.speedEMA}this.lastUpdateTime=n,this.lastUploadedSize=e;const o=this.uploadedSize/this.estimatedTotalSize,t=(n-this.startTime)/1e3,s=this.speedEMA&&this.speedEMA>0?this.speedEMA:this.uploadedSize/t;let r;if(r=s>0?(this.estimatedTotalSize-this.uploadedSize)/s:Infinity,o>=this.initialEstimateThreshold)if(null===this.smoothedRemainingTime)this.smoothedRemainingTime=r;else{const e=.1;this.smoothedRemainingTime=(1-e)*this.smoothedRemainingTime+e*r}else this.smoothedRemainingTime=t/o-t;return this.smoothedRemainingTime=Math.max(this.smoothedRemainingTime,(this.estimatedTotalSize-this.uploadedSize)/s),{progress:100*o,estimatedTimeRemaining:Math.round(this.smoothedRemainingTime),estimatedTimeRemainingString:this.smoothedRemainingTime>3?this.__formatTime(this.smoothedRemainingTime):"few seconds"}}__formatTime(e){if(!isFinite(e)||e>86400)return"Calculating...";if(e<60)return`${Math.round(e)}sec`;const n=Math.floor(e/60);return n<60?`${n}min`:`${Math.floor(n/60)}h ${n%60}min`}}async function Fo(e){const n=await import("./pako.esm-01431bd2.js"),a=await e.arrayBuffer(),i=n.gzip(new Uint8Array(a)).buffer.slice(0);if(i.byteLength>51200&&i.byteLength>=a.byteLength){if(a.byteLength>0)return null}else if(!(i instanceof ArrayBuffer))return console.error("gzipCompress: Invalid ArrayBuffer"),{error:`Gzip compressing failed for "${e.name}" (unexpected result)`};return yo(`${"path"in e?e.path:e.name}.gz`,i,{type:"application/gzip"})}async function $o(e,n,a=void 0){const i=async function(e,n,a){var i,o,t,s,r,c,l,p,u,d,m,f,h,v;const x=n.files,g=(null==(i=a)?void 0:i.loglevel)||"none";if(!x.length)return"none"!=g&&console.error("No files to upload"),{success:!1,error:"No files to upload"};if(!n.entrypoint){const e=Ro(x);if(null==e)return{success:!1,error:"No entrypoint file found"};if("object"==typeof e&&"error"in e)return{success:!1,error:e.error};"info"===g&&console.log("Entrypoint: "+e.name),n.entrypoint=e}n.entrypoint&&!x.includes(n.entrypoint)&&x.push(n.entrypoint);const b=await async function(e){if(e.length>5e3)return{success:!1,error:"Too many files. Maximum filecount is 5000"};let n=0,a=0,i=0,o=0;for(let c=e.length-1;c>=0;c--){const l=e[c];if(n+=l.size,n>1073741824)return{success:!1,error:`Total file size exceeds limit of ${1024..toFixed(0)} MB. Please reduce the size of your upload.`};const p=l.name.toLocaleLowerCase();if(".ds_store"!==p){if(p.endsWith(".gltf")?i++:p.endsWith(".glb")?(r=p)&&Eo.test(r)||o++:p.endsWith(".vrm")&&a++,p.endsWith(".gltf")){var t;i+=1,console.log(`Found glTF file ${l.name}. Will check if all dependencies are available\n`,e);const n=await l.text(),a=n.matchAll(/"uri"\s*:\s*"(?<value>.*?)"/g);if(!a)continue;const o=JSON.parse(n);if("2.0"!==o.asset.version)return console.warn("⚠ glTF version is not 2.0. This is currently not supported."),{success:!1,error:`glTF version ${o.asset.version} is unsupported.Please use glTF 2.0.`};const r=null==(t=l.path)?void 0:t.split("/"),c=r.splice(0,r.length-1).join("/");for(const n of a){var s;const a=null==(s=n.groups)?void 0:s.value;if(a){let n=!1;if(a.startsWith("http://")||a.startsWith("https://")||a.startsWith("www.")){console.log(`✅ Found remote dependency ${a} `);break}if(a.startsWith("data:")){console.log(`✅ Found embedded dependency ${a} `);break}{const i=To(`${c}/${Co(a)}`);console.log('❓ Check if local dependency exists "'+i+'"');for(const a of e){if(a.webkitRelativePath===i||a.name==i){n=!0,console.log(`✅ Found dependency in name or webkit: ${a.name} || ${a.webkitRelativePath} `);break}if(a.path===i){n=!0,console.log(`✅ Found dependency in path: ${a.path} `);break}}}if(!n)return console.warn("⚠ Missing dependency "+a,c),{success:!1,error:"Missing resource: "+a}}}}}else e.splice(c,1)}var r;return{success:!0,vrm_count:a,gltf_count:i,glb_count:o}}(x);if("error"in b)return{success:!1,error:b.error||"Failed to validate files"};if(null!=(o=n.entrypoint)&&o.name.endsWith(".htm")||null!=(t=n.entrypoint)&&t.name.endsWith(".html")||null!=(s=n.entrypoint)&&s.name.endsWith(".html.gz")||null!=(r=n.entrypoint)&&r.name.endsWith(".html.br"))a||(a={}),a.type="deployment";else if(b.vrm_count>10)return{success:!1,error:"Multiple model files found - this is not supported for asset uploads. Please upload a single model file only."};if(n.raw)"none"!=g&&console.warn("Raw upload - skipping gzip compression of files");else for(let e=0;e<x.length;e++){const i=x[e],o=i.name.toLowerCase();if(o.endsWith(".html")||o.endsWith(".js")||o.endsWith(".css")){var y,w;"none"!==(null==(y=a)?void 0:y.loglevel)&&console.log(`gZip compressing file: ${i.name}`);const o=await Fo(i).catch(e=>({error:`Error compressing ${i.name}: ${e.message}`}));if(null===o){var _;"none"!==(null==(_=a)?void 0:_.loglevel)&&console.error(`Did not compress file: ${i.name}`);continue}if("error"in o)return{success:!1,error:o.error,status:500};if(!o)return{success:!1,error:`Failed to compress ${i.name}`,status:500};const t=n.entrypoint===i;x[e]=o,t&&(n.entrypoint=o),"none"!==(null==(w=a)?void 0:w.loglevel)&&console.log(`gZip compressed file: ${i.name} ${t?"(entrypoint)":""}`)}}x.sort((e,n)=>e.name.includes(".needle")&&!n.name.includes(".needle")?-1:!e.name.includes(".needle")&&n.name.includes(".needle")?1:0);const{baseUrl:k,authToken:j}=e,T="Bearer "+j,S={...J(e),triggered_by:n.triggered_by,filename:`${encodeURIComponent(n.entrypoint.name)}`,"total-files":x.length.toString(),"total-files-size":x.reduce((e,n)=>e+n.size,0).toString()};null!=(c=a)&&c.view_id&&(S.view_id=a.view_id),null!=(l=a)&&l.type&&(S.type=a.type),null!=(p=a)&&p.name&&(S.name=encodeURIComponent(a.name)),null!=(u=a)&&u.parent_job_id&&(S.parent_job_id=a.parent_job_id);const E={results:{entrypoint:(null==(d=n.entrypoint)?void 0:d.path)||(null==(m=n.entrypoint)?void 0:m.name),files:[]}},C=[];for(let e=0;e<x.length;e++){var R,z,O;const n=x[e];let i=n.path||n.webkitRelativePath||n.name;if(null!=(R=i)&&R.includes(":"))throw new Error(`Invalid filename: ${i}`);let o=await n.arrayBuffer();const t=n.size;let s=n.type;if(null!=(z=s)&&z.length&&"unknown"!==s.toLowerCase()||(s=_o(o,i)),"deployment"===(null==(O=a)?void 0:O.type)){const e=ko(i,s);e&&(i=e.filename,s=e.mimetype)}const r=wo(o);C[e]=o,E.results.files[e]={filename:i,content_type:s,content_length:t,content_md5:r}}const F=await fetch(k+G.upload.request,{...K,method:"POST",headers:S,body:JSON.stringify(E)}).catch(e=>"fetch failed"==e.message||"Failed to fetch"==e.message?`Network error. Make sure you are connected to the internet and ${k} is reachable.`:(console.error("Failed to begin upload\n",e),null));if(null===F||"string"==typeof F)return{success:!1,error:F||"Failed to begin upload"};if(!F.ok){const e=await F.text();if(e.startsWith("{")){const n=JSON.parse(e);if("error"in n)return{success:!1,status:F.status,error:n.error}}return"none"!=g&&console.error("Failed to begin upload\n",F.status,e),{success:!1,status:F.status,error:`${e}`}}const $=await F.json();"debug"===g&&console.debug("BeginResponse",$);const A=x.reduce((e,n)=>e+n.size,0);if("exists"===$.type)return"none"!=g&&console.log("Upload already exists",$.id),{success:!0,uploadSkipped:!0,id:$.id,type:$.job_type,view_id:$.view_id,filesUploaded:x.length,totalSize:A,url:$.url};const L=n.entrypoint.webkitRelativePath||n.entrypoint.name;let N=0;null==(f=a)||null==(f=f.abort)||f.addEventListener("abort",async()=>{console.log("Upload aborted: Cancelling upload"),await fetch(k+G.upload.cancel,{...K,method:"POST",headers:{authorization:T,id:$.id}})});let U=!1,q=Date.now();function P(n,a,i=!1){if(!i&&Date.now()-q<1e3)return!1;if(U&&"completed"!==a)return void("none"!=g&&console.warn("Invalid status update..."));q=Date.now();const o=Math.floor(N/A*100);return"debug"===g&&console.log("SET STATUS: "+a,n,o),oo({identifier:$.id,status:a,status_message:n,progress:o},e),!0}null!=(h=a)&&h.onStart&&a.onStart($.id,$.view_id);const I=Date.now(),B=new Oo(x.length,A/1024/1024),D=new Array;let W=!1;const M=[...x],H=x.length;for(let i=0;i<M.length;i++){var V;if(null!=(V=a)&&null!=(V=V.abort)&&V.aborted){console.debug("Upload aborted");break}if(W){console.debug("Upload failed");break}if(D.length<10){console.debug(`Uploading file ${i}/${x.length}: ${x[i].name}`);let o=0,t=0;const s=E.results.files[i],r=s.filename,c=C[i],l=s.content_length,p=s.content_type,u=x[i],d=u.name.endsWith(".gz")?"gzip":u.name.endsWith(".br")?"br":void 0,m=Ao({uploadId:$.id,uploadRequestPUTUrl:$.request_put_url,entrypointPath:L,file:x[i],fileName:r,fileMd5:s.content_md5,fileBuffer:c,fileType:p,content_encoding:d,fileSize:l,fileIndex:i,fileNumber:i+1,fileCount:H,loglevel:g,experimental:n.experimental,args:e,options:a,onProgress:e=>{var n;const s=e.progress||0;o=x[i].size*s;const c=o-t;if(t=o,N+=c,null!=(n=a)&&n.progress){const e=N/A,n=x.length,o=x[i].size,t=(Date.now()-I)/1e3,c=B.updateProgress(N/1024/1024);a.progress({uploadedBytes:N,totalBytes:A,progress01:e,fileName:x[i].name,fileSize:o,fileProgress01:s,fileIndex:i,totalFiles:n,estimatedTimeLeftDisplay:c.estimatedTimeRemainingString,estimatedTimeLeft:c.estimatedTimeRemaining,elapsedTime:t}),P(`Uploading file ${i+1}/${n} (${r}): ${(100*s).toFixed(0)}% of ${jo(A)}. Finished in approx. ${c.estimatedTimeRemainingString}`,"running",!1)}}}).then(e=>{if(!0!==e)return e;for(let e=D.length-1;e>=0;e--)D[e]===m&&D.splice(e,1);P(`Uploaded ${jo(N)+" of "+jo(A)} for ${x[i].name}`,"running")}).catch(e=>{var n;null!=(n=a)&&null!=(n=n.abort)&&n.aborted?console.warn("Upload aborted"):(console.error(e.message),W=!0)});D.push(m)}D.length>=10&&await Promise.race(D)}if(await Promise.all(D).catch(e=>{var n;null!=(n=a)&&null!=(n=n.abort)&&n.aborted?console.warn("Upload aborted"):(console.error(e.message),W=!0)}),W)return await oo({identifier:$.id,status:"failed",error:"Failed to upload files"},e),{success:!1,error:"Failed to upload files"};if(null!=(v=a)&&null!=(v=v.abort)&&v.aborted)return await oo({identifier:$.id,status:"canceled",status_message:"Upload aborted",error:"Upload aborted"},e),{success:!1,error:"Upload aborted"};U=!0,console.log(`Upload Done: All files uploaded to ${$.id}`);const Y={...J(e),id:$.id};"none"!=g&&console.log("Completing upload - notify server");let Z=null;for(let e=0;e<5;e++){var X;await So(1e3*e);const n=AbortSignal.timeout(2e4+1e3*e);if(Z=await fetch(k+G.upload.done,{...K,method:"POST",headers:Y,signal:n}).catch(n=>(console.error(`Failed to complete upload (${e+1} / 5)`,n.message),null)),!0===(null==(X=Z)?void 0:X.ok))break;var Q;"none"!=g&&e<4&&console.warn(`Failed to complete upload (${(null==(Q=Z)?void 0:Q.status)||"no status"}): will retry in 1 second`)}if(!Z)return console.error("Failed to complete upload"),{success:!1,error:"Failed to complete upload"};if(!Z.ok){if(524===Z.status)return console.error("Failed to complete upload: Gateway Timeout"),{success:!1,error:"Failed to complete upload: Gateway Timeout"};{const e=await Z.text();return console.error(`Failed to complete upload (${Z.status}): ${e}`),{success:!1,error:"Failed to complete upload"}}}"none"!=g&&console.log("Upload complete");const ee=await Z.json();return{success:!0,type:ee.type,uploadSkipped:!1,id:ee.id,view_id:ee.view_id,url:ee.url,filesUploaded:x.length,totalSize:A}}(e,n,a);return await i.finally(()=>{})}async function Ao(e){const{uploadId:n,uploadRequestPUTUrl:a,entrypointPath:i,file:o,fileName:t,fileBuffer:s,fileMd5:r,fileSize:c,fileType:l,content_encoding:p,fileIndex:u,fileNumber:d,fileCount:m,loglevel:f,args:h,options:v,experimental:x}=e;"info"===f&&console.log(`Uploading file "${o.name}" type=${l} (${c}) ${o.type} with hash ${r}`);const g={...J(h),"Content-Type":"application/json",org:h.org,job_id:n,filesize:c.toString(),progress:(u/m*100).toFixed(0)},b={filename:t,entrypoint:i,"content-type":l,"content-md5":r,"content-encoding":p};"debug"===f&&console.debug("Requesting presigned URL with headers",g);const y=JSON.stringify(b);let w=null,_="";for(let e=0;e<5;e++){var k;if(null!=w)break;if(null!=v&&null!=(k=v.abort)&&k.aborted)throw new Error("Upload aborted");await So(200*e),w=await fetch(a,{...K,method:"POST",headers:g,body:y}).then(async e=>e.ok?await e.json():(_=await e.text(),console.log(a),console.warn(`Failed to get presigned url for "${t}" "${l}" (${e.status}).\n→ Retrying...`),null)).catch(e=>(_=e.message,console.warn("Failed to get presigned url "+e.message+", retrying..."),null))}if(null==w)throw new Error(`Failed to get presigned url for "${t}" "${l}" \n${_}`);const j=w.presigned_url;var T=!1;let S=null;for(let n=0;n<5;n++){var E;if(n>0&&("none"!==f&&console.log(`Retry PUT #${n} for file ${t}`),await So(1e3*n)),null!=v&&null!=(E=v.abort)&&E.aborted)throw new no("Upload aborted");const a={"Content-Type":l,"Content-MD5":r};x&&(a["Content-Length"]=c.toString()),p&&(a["Content-Encoding"]=p),0===n&&"none"!=f&&console.log(`Uploading file ${d}/${m}: ${t}`),"debug"===f&&console.debug("PUT with headers",a);const i=await eo.put(j,s,{...K,withCredentials:!1,signal:null==v?void 0:v.abort,headers:a,onUploadProgress:n=>{e.onProgress(n)}}).catch(e=>(S=e.message,e instanceof no||("none"!==f&&console.error(`Failed to upload file (PUT) (${d}, ${t}) "${e.message}"`),"debug"===f&&(console.log(a,{fileSize:c}),e.response?console.debug(e.response):console.debug(e))),null));if(i){if(200!==i.status){S=`${i.statusText} (${i.status})`,console.debug(`Failed (${i.status} ${i.status}) to upload file ${o.name} to "${w.path}". Retrying...`);continue}T=!0,"info"===f&&console.log(`Uploaded file ${d}/${m} "${t}" (${l}, ${jo(c)})`);break}}var C;if(!T)throw console.error("Failed to upload file "+t),await oo({identifier:n,status:"failed",status_message:`Failed to upload file (${t}): ${null==(C=S)?void 0:C.substring(0,200)}`,error:"Failed to upload file "+t},h),new Error("Failed to upload file "+t);return!0}new Array;const Lo=()=>"https://cloud.needle.tools/account",No=()=>"https://cloud.needle.tools/edit";function Uo(e){return O(e)}const qo=["node_modules",".git",".vscode",".vercel",".github",".idea"];function Po(e,n,a=null,i="",o=0){if(null===a){if(o>0)throw new Error("result must be provided if level > 0. Did you forget to pass it?");a={files:[],total_size:0}}if(0===o){if(!t(n))throw new Error(`Directory or file "${n}" does not exist.`);if(s(n).isFile()){const e=yo(n,r(n));return e.path=e.name,a.files.push(e),a.entrypoint=e,a}}else if(o>20)throw new Error("Recursion depth too high. Are you sure you are providing the correct directory?");const l=c(n,{withFileTypes:!0});for(const o of l)if(0==o.isDirectory()){if("optimization"===e&&0==((p=(p=o.name).toLowerCase()).endsWith(".glb")||p.endsWith(".gltf")||p.endsWith(".vrm")||p.endsWith(".usdz")||p.endsWith(".usd")||p.endsWith(".fbx")))continue;const t=yo(i+o.name,r(n+"/"+o.name));if(a.files.push(t),a.total_size+=t.size,a.total_size>1073741824)throw new Error(`Collected filesize exceeds ${1024..toFixed(0)} MB. Are you sure you are providing the correct directory?`);if(a.files.length>1e4)throw new Error(`Too many files (${a.files.length}): The maximum filecount is 10,000.`)}var p;for(const t of l)if(t.isDirectory()){if(qo.includes(t.name))continue;Po(e,n+"/"+t.name,a,i+t.name+"/",o+1)}return a}const Io=`${$(P.tmpdir())}/Needle/Cloud/logs`;A(Io,{recursive:!0});const Bo=I.resolve(Io,"cli.log");if(L(Bo)){const e=N(Bo),n=e.mtimeMs;if(Date.now()-n>1728e5||e.size>52428800){const e=I.resolve(Io,"cli.prev.log");U(Bo,e,n=>{n?console.error(`Failed to rename log file: ${n.message}`):console.log(`Log file renamed to ${e}`)})}}function Do(){return Bo}async function Wo(e,n){return e=`[${(new Date).toISOString()}] ${e}`,null!=n&&n.emptyLineBefore&&(e="\n"+e),q(Bo,e+"\n",{flag:"a"}).then(()=>!0).catch(e=>(console.error(`Failed to write to log file: ${e.message}`),!1))}function Mo(e,n,a){process.env.GITHUB_ACTIONS&&(process.env.GITHUB_OUTPUT?l(process.env.GITHUB_OUTPUT,`${e}=${n}\n`):null==a||a.logger.warn("GITHUB_OUTPUT environment variable is not set. Cannot set output variables."))}async function Ho(e){var n;e.directory=x.resolve(e.directory);let{files:a,entrypoint:i}=Po("deployment",e.directory);if(e.entrypoint&&(i=a.find(n=>n.path===e.entrypoint),!i))return void F().fail(`Entrypoint "${e.entrypoint}" not found. Please make sure you provide a valid entrypoint.`);if(!i){const e=Ro(a);if("error"in e)return Wo(`[Deployment] Error determining entrypoint: ${e.error}`),void F().fail(`Error: ${e.error}`);i=e}if(!(a.length>0&&i&&(i.name.toLowerCase().endsWith(".html")||i.name.toLowerCase().endsWith(".html.gz")||i.name.toLowerCase().endsWith(".html.br"))))return Wo("[Deployment] Deployment is not valid: No .html file found."),void F().fail("Deployment is not valid: No .html file found.");if(!i)return Wo("[Deployment] No entrypoint found. Please provide an index.html file in your project."),void F().fail("No entrypoint found. Please provide an index.html file in your project.");const o=null!=(n=e.endpoint)&&n.length?e.endpoint:"https://cloud.needle.tools/api";let t=e.name;t||(t=Go(e.directory)||void 0);let s=null==o?void 0:o.includes("localhost");const r=t?` of "${t}"`:"",c=F().start(`Begin deployment${r} ${s?"(local)":""} of ${a.length} files...`);c.spinner="earth",await So(50);let l=-1;Wo(`Deployment started${r} ${s?"(local)":""} of ${a.length} files...`);const p=await $o({baseUrl:o,authToken:e.token,org:e.org_id},{triggered_by:"cli",files:a,entrypoint:i,experimental:e.experimental,raw:e.raw},{name:t,type:"deployment",loglevel:e.verbose?"debug":"none",progress:e=>{if(e.fileIndex!==l){l=e.fileIndex;const n=e.totalBytes/1024/1024;c.text=`Uploading file ${e.fileIndex+1} of ${e.totalFiles} files: ${(e.uploadedBytes/1024/1024).toFixed(1)} / ${n.toFixed(1)} MB. Total progress: ${(100*e.progress01).toFixed(1)} %. Time passed: ${e.elapsedTime.toFixed(0)}sec. About ${e.estimatedTimeLeftDisplay} until complete.`}}}).catch(e=>(c.fail(e),null));if(null!=p&&!0===p.success){c.succeed(`🚀 Deployment${r} successful (${p.view_id}/${p.id})`);let n="";n=p.url?p.url:"https://cloud.needle.tools/view/"+p.view_id+"/"+p.id,console.log("🔗 View the deployment at: "+n),e.open&&Uo(n);try{Mo("deployment_url",n,{logger:e.logger}),Mo("edit_id",p.view_id,{logger:e.logger})}catch(n){e.logger.error("Error writing output for CI: "+n)}}else c.fail(`${null==p?void 0:p.error}`)}function Go(e,n=0){if(n>10)return null;const a=x.join(e,"needle.config.json");if(t(a)){const n=x.join(e,"package.json");if(t(n)){var i;const e=r(n,"utf8"),a=JSON.parse(e);if(null!=(i=a.name)&&i.length)return a.name}return x.basename(e)}const o=x.dirname(e);return o===e?null:Go(o,n+1)}async function Jo(e){const n=new URL((e.endpoint||"https://cloud.needle.tools/api")+G.get.deployments);n.searchParams.append("offset",e.offset.toString()),n.searchParams.append("limit",e.limit.toString()),e.names&&n.searchParams.append("name",e.names.map(e=>e.trim()).join(","));const a=await fetch(n,{method:"GET",headers:{...J({authToken:e.authToken,org:e.org})}});return a.ok?await a.json():{status:a.status,error:await a.text()}}const Ko=8424,Vo="http://localhost:8424";var Yo;const Zo={appId:"2stnsoa6a1b0gwc7lra55",appSecret:"seV1T6iKBKLlttjdk25I2px43ZCEHnPJ",endpoint:"https://auth.needle.tools",resources:["https://cloud.needle.tools/api"],scopes:["openid","profile","email","roles","urn:logto:scope:organizations","urn:logto:scope:organization_roles","identities","custom_data","all","read","write","delete","upload","download","invite","editor"]},Xo={getAccessToken:!0,fetchUserInfo:!0,resource:null==(Yo=Zo.resources)?void 0:Yo[0],resources:Zo.resources||[],scopes:Zo.scopes||[]};function Qo(e="default"){return null==e?`${Vo}/?signed-out=1`:"too-many-logins"===e?`${Vo}/?too-many-logins=1`:"error"===e?`${Vo}/?error=1`:`${Vo}/?signed-out=1`}var et;function nt(){o.existsSync(st)&&o.rmSync(st,{recursive:!0})}const at=process.argv.includes("--debug-auth"),it=new Map;let ot=null==(et=Zo.resources)?void 0:et[0];if(ot)try{ot=new URL(ot).hostname}catch(e){at&&console.error("Invalid resource URL",ot)}let tt=ot||"-";tt=tt.replace(/[^a-zA-Z0-9\.\-]/g,"");const st=`${S()}/Needle/Cloud/.auth/${tt}`,rt={accessToken:`${st}/accessToken`,refreshToken:`${st}/refreshToken`,idToken:`${st}/idToken`,signInSession:`${st}/signInSession`};function ct(e){return rt[e]||`${st}/${e}`}class lt{constructor(){this.basePath=st}async setItem(e,n){at&&console.debug("\n- SET ITEM",e,n),o.existsSync(this.basePath)||o.mkdirSync(this.basePath,{recursive:!0});const a=ct(e);a&&o.writeFileSync(a,n),it.set(e,n)}async getItem(e){at&&console.debug("\n- GET ITEM",e);const n=it.get(e);if(void 0===n){const n=ct(e);if(n){if(o.existsSync(n)){const a=o.readFileSync(n,"utf8");return it.set(e,a),a}}else console.error(`Unknown token name: ${e}`);return null}return String(n)}async removeItem(e){at&&console.debug("\n- REMOVE ITEM",e),it.delete(e);const n=ct(e);n&&o.existsSync(n)&&o.rmSync(n)}}function pt(){const e=ut({navigate:e=>{console.warn(`Request open ${e} (this should not happen)`),Wo(`Request open ${e} (this should not happen)`)}});return dt(e)}function ut(e){const n=new lt;return new D(Zo,{storage:n,navigate:n=>{if(null==e.navigate)throw new Error("Can not navigate");e.navigate(n)}})}function dt(e){return e.getContext(Xo).then(n=>{const a=n;return a.client=e,a}).catch(async e=>("oidc.invalid_token"==e.code?(Wo("OIDC: Invalid token"),console.error("Invalid token - if this is a dev environment make sure your auth server is also hosted by a development instance of the CLI\n","https://cloud.needle.tools/api")):e.code&&(console.error(e.code),Wo(`OIDC: ${e.code}`)),null))}let mt=null;function ft(e){var n;const a=null==(n=e.userInfo)?void 0:n.custom_data;if(!a)return[];const i=a.machines;return i?i.map(e=>e.name):[]}let ht=Date.now();async function vt(e){var n;const a=Date.now();a-ht>3e4&&"client"in e&&(ht=a,await e.client.fetchUserInfo().catch(console.error));const i=null==(n=e.userInfo)?void 0:n.custom_data;if(!i)return!1;if(mt||await xt(),!mt)return console.error("Failed to get machine id"),!0;const o=i.machines;if(!o)return!1;const t=o.some(e=>e.id===mt);return t}async function xt(){return mt||await import("node-machine-id").then(async e=>{const n=await e.default.machineId(!1);mt=n}),mt}function gt(){return T.userInfo().username+"@"+T.hostname()}async function bt(e,n={signout:!1}){if(e.accessToken){const i={machine_id:await xt(),machine_name:gt(),platform:T.platform(),arch:T.arch()},o=await fetch("https://cloud.needle.tools/api"+G.account.post_machine,{method:"POST",headers:{Authorization:"Bearer "+e.accessToken,"Content-Type":"application/json"},body:JSON.stringify(i)}).catch(e=>(console.error(`Failed to validate login: ${e.message} - Make sure https://cloud.needle.tools/api is reachable`),Wo(`Failed to validate login with error "${e.message}" - Make sure https://cloud.needle.tools/api is reachable.`),{status:500,error:"Failed to validate login at 'https://cloud.needle.tools/api' - make sure this URL is reachable."}));if(!o)return!1;if("error"in o)return o;let t=!0;if(403===o.status){const e=await o.text();if(e.trimStart().startsWith("{")){const n=JSON.parse(e);n.logins&&(t=!1,Wo("Too many logins from different machines"),F().fail("You have reached the maximum number of allowed logins\n"),F().warn(`Please logout from one of the following machines:\n- ${n.logins.join("\n- ")}\n`))}}var a;return!!t||(n.signout&&(nt(),"client"in e&&(null==(a=e.client)||a.signOut(Qo("too-many-logins")))),!1)}return!0}const yt=e=>{const n=W();return n.use("/:action",async(n,a,i)=>{const{action:o}=n.params,t=ut({navigate:e=>{a.redirect(e)}});switch(o){case"sign-in":e.invalid_login=!1,e.invalid_login_type=null,e.error=void 0,Wo("Sign in..."),await t.clearAllTokens(),await t.signIn(`${Vo}/auth-callback`);break;case"sign-out":{var s,r;const n=await pt(),a=(null==n||null==(s=n.userInfo)?void 0:s.sub)||(null==n||null==(r=n.claims)?void 0:r.sub),i=null==n?void 0:n.accessToken;Wo(`Sign out... (${a})`),a&&i&&await async function(e){return!e.accessToken||import("node-machine-id").then(async n=>{const a=await xt();return mt=a,await fetch("https://cloud.needle.tools/api"+G.account.post_machine,{method:"POST",headers:{Authorization:"Bearer "+e.accessToken,"Content-Type":"application/json"},body:JSON.stringify({action:"logout",machine_id:a,machine_name:gt()})}).catch(e=>{Wo(`Failed to validate logout: ${e.message} - Make sure https://cloud.needle.tools/api is reachable`),console.error(`Failed to validate logout: ${e.message} - Make sure https://cloud.needle.tools/api is reachable`)}),!0})}({userId:a,accessToken:i}).catch(e=>{console.error(e),Wo(`Failed to validate logout: ${e}`)}),e.invalid_login=!1,e.invalid_login_type=null,e.error=void 0,console.log("User signed out"+(a?`: ${a}`:"")),await t.signOut(Qo());break}case"auth-callback":if(n.url){const i=await t.handleSignInCallback(`${Vo}${n.originalUrl}`).catch(e=>({error:e}));if(i&&"error"in i)Wo(`Error during sign in: ${i.error}`),a.redirect(Vo+"?cancelled");else{var c,l,p,u;const n=await pt();if(null!=n&&n.isAuthenticated){var d,m;e.invalid_login=!1,e.user_email=(null==(d=n.claims)?void 0:d.email)||(null==(m=n.userInfo)?void 0:m.email)||null,e.logged_in_machine_names=[...ft(n)];const i=await bt(n,{signout:!0});if(!i)return e.invalid_login=!0,e.invalid_login_type="too-many-logins",a.redirect(Qo("too-many-logins"));if("object"==typeof i&&"error"in i)return e.invalid_login=!0,e.invalid_login_type="error",e.error=i.error,a.redirect(Qo("error"))}console.log(`User logged in: ${(null==n||null==(c=n.userInfo)?void 0:c.sub)||(null==n||null==(l=n.claims)?void 0:l.sub)}`),Wo(`User logged in: ${(null==n||null==(p=n.userInfo)?void 0:p.sub)||(null==n||null==(u=n.claims)?void 0:u.sub)}`),a.redirect(Vo)}}break;default:i()}}),n};function wt(e){var n,a,i,o;if(!e)return"";let t=(null==(n=e.claims)?void 0:n.name)||(null==(a=e.userInfo)?void 0:a.name)||(null==(i=e.claims)?void 0:i.username)||"";var s,r;return(!t||t.length<=0)&&null!=(o=e.claims)&&o.email?(r=null==(s=e.claims)?void 0:s.email)?(r=(r=(r=(r=r.split("@")[0]).replace(/[^a-zA-Z0-9]/g," ")).replace(/\s+/g," ")).split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),r):r:t}async function _t(e,n=null){var a,i;if(!e)return{status:500,error:"User is not provided"};if(!e.isAuthenticated)return{status:403,error:"User is not authenticated"};const o=(null==(a=e.claims)?void 0:a.sub)||(null==(i=e.userInfo)?void 0:i.sub);n===o&&(n=null);let t=null;if(null==n)t=e.accessToken;else if(null!=n){var s;let a=null==e||null==(s=e.userInfo)||null==(s=s.organization_data)?void 0:s.find(e=>e.id===n);if(!a){var r;const i=n.toLowerCase();a=null==e||null==(r=e.userInfo)||null==(r=r.organization_data)?void 0:r.find(e=>e.name.toLowerCase()===i)}if(!a)return{status:403,error:`User is not part of team "${n}"`};n=a.id,t=await e.client.getOrganizationToken(a.id).catch(e=>{var i;return console.error(`Error getting organization token for "${null==(i=a)?void 0:i.name}" (${n}): ${e.message}`),null})}return t?{authToken:t,org:n}:{status:403,error:"No access token found"}}const kt=function(){return async(e,n,a)=>{const i=ut({navigate:e=>{n.redirect(e)}}),o=await dt(i);Object.defineProperty(e,"user",{enumerable:!0,get:()=>o}),a()}},jt=[{name:"needle_cloud_me",description:"Get current Needle Cloud user information",inputSchema:{type:"object",properties:{},additionalProperties:!1,required:[]}}],Tt={needle_cloud_me:async function(e){try{const e=await pt(),n=null==e?void 0:e.userInfo;return n?JSON.stringify({id:n.sub,name:n.name||n.preferred_username,email:n.email}):"No user is currently logged in."}catch(e){return"Error retrieving user: "+(e instanceof Error?e.message:String(e))}}};function St(e,n){const a=jt.findIndex(n=>n.name===e.name);-1!==a&&jt.splice(a,1),jt.push(e),Tt[e.name]=n}const Et=W();let Ct=!1;function Rt(e){if(!Array.isArray(e))return console.error("Invalid input: paths should be an array of strings."),null;for(const n of e)if(!1!==t(n))try{const e=Ot(n);if(e)return e}catch(e){}}Et.get("/mcp",async(e,n)=>{let a="";a+="Needle Cloud MCP Endpoint is active (What is MCP: https://modelcontextprotocol.io/).\n\n",a+="Usage:\n",a+="- Claude: `claude mcp add --transport http needle http://localhost:8424/mcp`\n",a+='- Copilot: CMD + Shift + P → "MCP: Add Server" → Select HTTP server → Enter URL `http://localhost:8424/mcp`\n',a+="- Cursor: Settings → MCP → Add Server → Select HTTP → Enter URL `http://localhost:8424/mcp`\n\n",a+="\n",a+="Available Tools:\n";for(const e of jt.sort((e,n)=>e.name.localeCompare(n.name)))a+=`- Tool available: ${e.name} - ${e.description}\n`;n.status(200).header("Content-Type","text/plain").send(a)}),Et.post("/mcp",async(e,n)=>{const{method:a,params:i,id:o}=e.body;console.log(`[MCP] Received request: ${a}(ID: ${o})`),n.setHeader("Content-Type","application/json"),n.setHeader("Transfer-Encoding","chunked"),n.setHeader("Access-Control-Allow-Origin","*"),n.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization");try{let e=null;if("initialize"===a)console.log("[MCP] Processing initialize request"),Wo("MCP Server initialize request received"),e={jsonrpc:"2.0",id:o,result:{protocolVersion:"2024-11-05",capabilities:{tools:{listChanged:!1}},serverInfo:{name:"Needle Cloud Local Server",version:"1.0.0"}}},Ct=!0;else if("ping"===a)console.log("[MCP] Processing ping request"),e={jsonrpc:"2.0",id:o,result:{}};else{if("notifications/initialized"===a)return console.log("[MCP] Client initialized notification received"),Wo("MCP Client initialized"),n.status(204).end();if(Wo(`MCP Request: ${a}`),Ct)if("tools/list"===a)console.log("[MCP] Handling tools/list request"),e={jsonrpc:"2.0",result:{tools:jt},id:o};else if("tools/call"===a){const n=null==i?void 0:i.name;console.log(`[MCP] Handling tools / call request for tool: ${n} `);try{const a=await async function(e,n){const a=Tt[e];if(!a)throw new Error(`Tool "${e}" is not registered.`);const i=await a(n);if("string"==typeof i)return{content:[{type:"text",text:i}]};if("object"==typeof i)return{content:[{type:"text",text:JSON.stringify(i)}]};throw new Error(`Invalid tool result type for tool "${e}".`)}(n,(null==i?void 0:i.arguments)||{}).catch(e=>{throw new Error(`Tool execution failed: ${e.message} `)});e={jsonrpc:"2.0",id:o,result:a}}catch(n){console.error("[MCP] Tool execution error: ",n),e={jsonrpc:"2.0",error:{code:-32603,message:`Tool execution failed: ${n.message} `},id:o}}}else console.log(`[MCP] Unknown method: ${a} `),e={jsonrpc:"2.0",error:{code:-32601,message:`Method '${a}' not found`},id:o};else e={jsonrpc:"2.0",error:{code:-32002,message:"Server not initialized"},id:o||null}}e&&(console.log("[MCP] Sending response:",e),n.write(JSON.stringify(e))),n.end()}catch(e){console.error("[MCP] Error processing request:",e);const a={jsonrpc:"2.0",error:{code:-32603,message:"Internal server error",data:"development"===process.env.NODE_ENV?e.stack:void 0},id:o||null};n.write(JSON.stringify(a)),n.end()}}),Et.options("/mcp",(e,n)=>{n.setHeader("Access-Control-Allow-Origin","*"),n.setHeader("Access-Control-Allow-Methods","POST, OPTIONS"),n.setHeader("Access-Control-Allow-Headers","Content-Type, Authorization"),n.status(204).end()});const zt=new RegExp(/\[remote*\s\"(?<name>.+?)\".+?url\s*=\s*(?<url>.+?)\n/gms);function Ot(e){const n=b(e,".git");if(t(n)){const e=b(n,"config");if(t(e)){const n=r(e,"utf-8"),a=[];for(;;){const e=zt.exec(n);if(!e)break;if(e.groups){const n=e.groups.url;n.length&&a.push({name:e.groups.name,url:n})}}const i=a.find(e=>"origin"===e.name)||a.find(e=>"upstream"===e.name)||a[0];if(i)return i.url}}const a=b(e,".plastic");if(t(a)){const e=b(a,"replicas.db");if(t(e)){const n=r(e,"utf-8").split("\n");for(const e of n){const n=e.split("=");if(2===n.length&&"repo"===n[0].trim()){const e=n[1].trim();if(e.length)return e}}}}const i=b(e,"..");return i===e?null:Ot(i)}const Ft="[MCP WS]",{json:$t}=M;async function At(n={restart:!1}){const a=await e(Vo).catch(e=>({ok:!1})),i="/sign-in",o="/api/authenticated",s="/api/projects",r={baseUrl:Vo,port:Ko,isHost:!1,auth_endpoints:{"sign-in":`${Vo}${i}`,"sign-out":`${Vo}/sign-out`,"is-authenticated":`${Vo}${o}`}};let c=a.ok;if(c&&!0===(null==n?void 0:n.restart)){Wo("Restarting auth server...");const p=`${Vo}/restart`;n.ora&&(n.ora.text="Sending restart request to server");const u=await e(p,{method:"post"}).catch(e=>({ok:!1,status:400,error:e}));if(u.ok)return await So(300),At({restart:!1});console.error("Failed to restart server",u.status),Wo(`Failed to restart server: ${u.status}`)}if(!c){process.title="Needle CLI server";const m=await import("express").catch(e=>{throw console.error("Error starting the auth server (express not found)",e),Wo("Error starting the auth server"),new Error("Failed to load express module")});if(!m)throw Wo("Error loading auth server module"),new Error("Failed to load express module");Wo("Starting Needle CLI server... (Using api at https://cloud.needle.tools/api)",{emptyLineBefore:!0}),r.isHost=!0;let f=null;const h={invalid_login:!1,invalid_login_type:null,user_email:null,logged_in_machine_names:[]};let v=m.default();v.use($t({limit:"10mb"})),v.use(yt(h)),v.use(Et);const x="\n <title>Needle Cloud</title>\n <link rel=\"icon\" href=\"https://cdn.needle.tools/static/branding/favicon.ico\" type=\"image/x-icon\">\n <style>\n body { \n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n font-size: 18px;\n padding: 2rem;\n background: #f0f4ef;\n }\n a {\n color: rgb(120, 76, 223);\n }\n .main_panel {\n display: flex;\n flex-direction: column;\n gap: .5rem;\n justify-content: flex-start;\n align-items: center;\n width: min(80ch, 90vw);\n margin: 0 auto;\n\n height: 100%;\n\n & img.logo {\n height: 3rem;\n margin-bottom: 1rem;\n }\n }\n .secondary {\n color: rgba(0, 0, 0, .5);\n }\n .error-details {\n font-size: 12px;\n color: rgba(0, 0, 0, .5);\n }\n .error-details a {\n color: inherit;\n }\n </style>",g='<div class="main_panel"><img class="logo" src="https://cdn.needle.tools/static/branding/logo_needle.png" alt="Needle Logo">',b="</div>";v.get("/",kt(),async(e,n)=>{var a;if(n.set({"Content-Type":"text/html; charset=utf-8"}),n.write(x),null!=e.query.cancelled)return n.end("Login cancelled. You can close this window now"),void Wo("Login cancelled by user");if(null!=e.query["too-many-logins"]&&h.logged_in_machine_names.length){var o;const e=Lo();let a="<div>";return a+="<strong>You have reached the maximum number of allowed device logins!</strong><br/><br/>",a+=(null==(o=h.logged_in_machine_names)?void 0:o.map(e=>`• ${e}`).join("<br/>"))+"<br/><br/>",a+=`1) Go to <a href="${e}#device-logins" target="_blank">Needle Cloud device logins</a> and logout one of your devices.<br/>\n 2) Then <a href="${i}">sign-in on this machine</a>.<br/><br/>`,a+="</div>",n.status(406),n.end(g+a+b),void Wo(`Login failed: Too many logins from different machines: [${h.logged_in_machine_names.join(", ")}]`)}if(null!=e.query.error)return n.status(500),void n.end(`${g}\n <div>\n <strong>An error occurred</strong>: Please make sure <i>https://cloud.needle.tools/api</i> and <i>https://auth.needle.tools</i> are reachable and not blocked by your firewall or network. After that please try to <a href="${i}">sign-in</a> again.\n <br/><span class="error-details">If the issue persists please contact support and include logs at <a title="Link to local log file. Please copy this url and open it in your file explorer or terminal" href="${Do()}" target="_blank">${Do()}</a></span>\n </div>\n ${b}`);if(null!=(a=e.user)&&a.isAuthenticated){var t;if(!await vt(e.user)){if(h.invalid_login=!0,h.logged_in_machine_names=[...ft(e.user)],nt(),Wo("Cleared stored auth data"),"client"in e.user){const n=e.user;await n.client.clearAccessToken(),await n.client.clearAllTokens(),Wo("Cleared all tokens")}return n.end(`${g}<div>You have been logged out from this machine. You can close this window now or try to <a href="${i}">sign in</a> again</div>${b}`)}return h.invalid_login=!1,n.end(`${g}\n <div>\n Hi ${wt(e.user)} — you logged in successfully. You can close this window now.\n </div>\n ${b}`),void Wo(`Logged in successfully as ${wt(e.user)} (${null==(t=e.user.userInfo)?void 0:t.sub})`)}let s=`<span><a href="${i}">Sign in</a> to your Needle account</span>`;"1"===e.query["signed-out"]&&(s=`<span class="secondary">You have been signed out successfully.</span>${s}`),n.write(g+s+b),n.end()}),v.post("/restart",(e,a)=>{var i;n.ora&&(n.ora.text="Received restart event. This instance will close"),null==(i=f)||i.close(e=>{e&&console.error(e)}),setTimeout(()=>{process.exit(0)},100),a.status(200).end("Server is restarting"),Wo("Server is restarting\n")}),v.get("/api/logs",async(e,n)=>{const a=Do();t(a)?d(a,"utf-8",(e,i)=>{if(e)return console.error(e),void n.status(500).end("Failed to read log file");n.set({"Content-Type":"text/plain; charset=utf-8"});let o=`--- Needle CLI Log File ---\n${a}`;o+="\n\n--- Log Start ---\n",o+=i,n.status(200).end(o)}):n.status(404).end("Log file not found")}),v.get(o,kt(),async(e,n)=>{var a;if(!0===h.invalid_login){const e=Lt(h);return n.status(e.status).json(e)}h.invalid_login=!1,n.status(null!=(a=e.user)&&a.isAuthenticated?200:400).send()}),v.get("/api/user",kt(),async(e,n)=>{var a;const i=e.user;if(null==i||!i.isAuthenticated){if(!0===h.invalid_login){const e=Lt(h);return n.status(e.status).json(e)}return n.status(401).json({error:"Not authenticated"})}if(h.invalid_login=!1,!await vt(i))return nt(),n.status(403).json({error:"You have been logged out from this machine"});if(null==i||!i.claims)return n.status(400).json({error:"User claims not found"});if(null==i||!i.userInfo)return n.status(400).json({error:"User info not found"});const o=null==i||null==(a=i.claims)?void 0:a.organization_roles,t=null==i?void 0:i.userInfo.custom_data,s={authenticated:i.isAuthenticated,id:i.userInfo.sub,name:wt(i),email:i.claims.email||i.userInfo.email||"",profile_picture:i.userInfo.picture||"",default_org_id:(null==t?void 0:t.default_org)||"none",orgs:[]},r=["manage","owner","member","developer"];i.userInfo.organization_data&&(s.orgs=i.userInfo.organization_data.map(e=>{var n;const a={id:e.id,name:e.name,roles:(null==o?void 0:o.filter(n=>n.startsWith(e.id)).map(e=>e.split(":")[1]))||[],canWrite:!1};return a.canWrite=null==(n=a.roles)?void 0:n.some(e=>r.includes(e)),a}).sort((e,n)=>e.id===s.default_org_id?-1:n.id===s.default_org_id?1:e.name.localeCompare(n.name))),n.json(s)}),v.get("/api/license",kt(),async(n,a)=>{var i,o,t;const s=null==(i=n.query.token)?void 0:i.toString(),r=null==(o=n.query.org)?void 0:o.toString();let c=null;if(s)c={authToken:s};else{const e=await pt();if(!e||!e.isAuthenticated)return a.status(401).json({error:"Not authenticated",code:"not_authenticated"});if(!await vt(e))return nt(),a.status(403).json({error:"Invalid login"});c=await _t(e,r||null).catch(e=>({status:500,error:e.message}))}if(!c)return a.status(500).json({error:"Failed to fetch licenses (Missing auth)"});if("error"in c)return a.status(c.status).json({error:c.error});const l=J(c),p=null==(t=n.query.integration)?void 0:t.toLocaleString(),u={...l,"x-needle":"cli","x-needle-integration":null!=p&&p.length?p:"unknown"},d=await e(`https://cloud.needle.tools/api${G.account.get_licenses}`,{method:"GET",headers:u}).catch(e=>(console.error("Failed to fetch licenses",e.message),Wo(`Failed to fetch licenses: "${e.message}"`),null));if(!d)return a.status(500).json({error:"Failed to fetch licenses"});if(d.ok){const e=await d.json();return void 0===e.can_use_editor&&(e.can_use_editor=!0),a.json(e)}return a.status(d.status).json({error:d.statusText})}),v.get("/api/deployments",kt(),async(e,n)=>{var a;const i=await pt();if(!i||!i.isAuthenticated)return n.status(401).json({error:"Not authenticated"});const o=null==(a=e.query.org)?void 0:a.toString(),t=await _t(i,o).catch(e=>({status:500,error:e.message}));if("error"in t)return n.status(t.status).json({error:t.error});if(o&&!t.org)return n.status(400).json({error:"Organization not found"});const s=await Jo({endpoint:"https://cloud.needle.tools/api",authToken:t.authToken,org:t.org||void 0,limit:20,offset:0,names:void 0}).catch(e=>(console.error("List Deployments error: "+e.message),{status:500,error:e.message}));if("error"in s)return n.status(s.status).json({error:s.error});for(const e of s.deployments)e.editUrl=`${No()}/${e.id}`;const r={...s};return n.json(r)}),v.get(s,kt(),async(n,a)=>{const i=await pt();if(!i||!i.isAuthenticated)return a.status(401).json({error:"Not authenticated"});const o=`https://cloud.needle.tools/api${G.local_projects.get.user}`,t=await e(o,{method:"GET",headers:{Authorization:`Bearer ${i.accessToken}`}}).catch(e=>(console.error("Failed to fetch projects",e.message),null));if(!t)return a.status(500).json({error:"Failed to fetch projects"});if(!t.ok)return a.status(t.status).json({error:t.statusText});const s=await t.json().catch(e=>console.error(e));return a.json(s)}),v.get(s+"/:id",kt(),async(n,a)=>{var i;const o=await pt();if(!o||!o.isAuthenticated)return a.status(401).json({error:"Not authenticated"});let t=null==(i=n.query.org)?void 0:i.toString();const s=await _t(o,t).catch(e=>({status:500,error:e.message}));if(!s)return a.status(500).json({error:"Failed to fetch projects"});if("error"in s)return a.status(s.status).json({error:s.error});const r=J(s),c=`https://cloud.needle.tools/api${G.local_projects.get.by_id}${encodeURIComponent(n.params.id)}`,l=await e(c,{method:"GET",headers:{...r}}).catch(e=>(console.error("Failed to fetch project",e.message),null));if(!l)return a.status(500).json({error:"Failed to fetch projects. Please try again later or contact hi@needle.tools"});if(!l.ok)return a.status(l.status).json({error:l.statusText});const p=await l.json().catch(e=>(console.error(e),null));return p?a.json(p):a.status(500).json({error:"Failed to parse data. Please try again later or contact hi@needle.tools"})}),v.post("/api/projects",kt(),async(n,a)=>{const i=await pt();if(!i||!i.isAuthenticated)return a.status(401).json({error:"Not authenticated"});const o="string"==typeof n.body?JSON.parse(n.body):n.body,t={machine_id:await xt(),project_id:o.project_id,project_name:o.project_name,scene_name:o.scene_name,web_project_path:o.web_project_path,editor_name:o.editor_name,editor_version:o.editor_version};if(!t.project_id||!t.project_name)return a.status(400).json({error:"Invalid request"});const s=`https://cloud.needle.tools/api${G.local_projects.post}`,r=await e(s,{method:"POST",headers:{Authorization:`Bearer ${i.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)}).catch(console.error);return r?r.ok?a.send("OK"):a.status(r.status).json({error:r.statusText}):a.status(500).json({error:"Failed to upsert project"})}),v.get("/api/public_key",kt(),async(n,a)=>{var i,o;const t=await pt();if(!t||!t.isAuthenticated)return a.status(401).json({error:"Not authenticated"});const s=null==(i=n.query.org)?void 0:i.toString(),r=await _t(t,s).catch(e=>({error:e.message,status:500}));if(!r)return a.status(500).json({error:"Failed to fetch public key"});if("error"in r)return a.status(r.status).json({error:r.error});const c={project_id:(null==(o=n.query.project_id)?void 0:o.toString())||void 0,machine_id:await xt()},l=await e(`https://cloud.needle.tools/api${G.account.public_key}`,{method:"POST",headers:{...J(r),"Content-Type":"application/json"},body:JSON.stringify(c)});if(l.ok){const e=await l.json().catch(console.error);return null!=e&&e.public_key?a.json(e):a.status(500).json({error:"Failed to fetch public key"})}return a.status(l.status).json({error:l.statusText})}),v.get("/api/local_project_id",async(e,n)=>{const a=e.query.paths;if(!a)return n.status(400).json({error:"Missing paths"});let i=[];"string"==typeof a?i=a.split(",").map(e=>e.trim()).filter(e=>e.length>0):Array.isArray(a)&&(i=a.map(e=>e.toString().trim()).filter(e=>e.length>0));const o=Rt(i);return o?n.json({project_id:o}):n.status(404).json({error:"Project ID not found"})});let y=null;const w=new Promise(e=>y=e);function l(){Wo("Cleaning up auth server...")}f=v.listen(Ko,()=>{null==y||y()}),f.on("close",l),process.on("exit",l),process.on("SIGINT",()=>{l(),process.exit(0)}),await w.catch(e=>{console.error(e),Wo(`Error starting the auth server (promise failed): ${e.message}`)}),function(e){const n=new H({server:e,path:"/mcp/ws"});console.log(`\n${Ft} WebSocket server created and attached to HTTP server.`),Wo("MCP websocket server created.");let a=0;n.on("connection",e=>{const n=++a;console.log(`${Ft} New WebSocket connection established. Connection ID: ${n}`),Wo(`New MCP websocket connection established. Connection ID: ${n}`),e.on("close",()=>{console.log(`${Ft} WebSocket connection closed. Connection ID: ${n}`),Wo(`MCP websocket connection closed. Connection ID: ${n}`)});const i=new Map;e.on("message",n=>{try{const a=n.toString(),o=JSON.parse(a);switch(o.command){default:console.log(`${Ft} Unknown command: ${o.command}`),Wo(`Unknown MCP websocket command received: ${o.command}`);break;case"register_tools":{const n=o.tools;console.log(`${Ft} Registering ${n.length} tools from client.`),Wo(`Registering ${n.length} MCP tools from client. ${n.map(e=>null==e?void 0:e.name).join(", ")}`);for(const a of n)St(a,async n=>{console.log(`Tool ${a.name} executed via WebSocket with args:`,n);const o=`${a.name}-${Date.now()}-${Math.random()}`;return await new Promise((t,s)=>{const r=setTimeout(()=>{i.has(o)&&(console.error(`${Ft} Tool execution timed out for tool: ${a.name}`),i.delete(o),s(new Error(`Tool execution timed out for tool: ${a.name}`)))},3e4);i.set(o,{resolve:e=>{t(e),clearTimeout(r)},reject:s}),e.send(JSON.stringify({command:"execute_tool",toolName:a.name,args:n,requestId:o}))})});break}case"tool_result":{const e=o.requestId,n=o.result;if(console.log(`${Ft} Received tool result for requestId: ${e}`,n),i.has(e)){const a=i.get(e);null==a||a.resolve(n),i.delete(e)}else console.error(`${Ft} No pending tool execution found for requestId: ${e}`);break}}}catch(e){console.error(`${Ft} Error processing WebSocket message:`,e)}})})}(f)}return r}function Lt(e){let n="";return n=e.error?e.error:e.logged_in_machine_names.length>0?`You're already authenticated on ${e.logged_in_machine_names.length} other machine(s)${e.user_email?` with ${e.user_email}`:""}. Please logout from other machines first on ${Lo()}. You're currently logged in on: ${e.logged_in_machine_names.join(", ")}`:"An unknown error occured.",{status:403,error:n}}async function Nt(e={headless:!1,silent:!1,clearAuthData:!1}){return!0===e.clearAuthData&&await nt(),qt("sign-in",{...e})}function Ut(e={}){return qt("sign-out",{...e})}function qt(n,a){return new Promise(async(i,o)=>{let t=!1;if("sign-in"==n){const e=await pt();if(null!=e&&e.isAuthenticated)return await bt(e)?(t=!0,a.ora&&(a.ora.text=`Authorized as ${wt(e)}`),"gotoAccountPage"in a&&!0===a.gotoAccountPage&&(a.ora&&(a.ora.text="Opening account page in the browser"),Uo(Lo()),await new Promise(e=>setTimeout(e,2e3))),i(e)):i(null);if(!0===a.headless)return i(null)}else if("sign-out"==n&&!0===a.headless){t=!0,nt();const n=await At(),a=await e(n.auth_endpoints["sign-out"],{follow:2});return i(a.ok)}const s=await At();switch(a.timeout||(a.timeout=6e5),"number"==typeof a.timeout&&a.timeout>0&&setTimeout(()=>{t||(a.ora&&a.ora.fail('Timeout "'+n+'"'),i(null))},a.timeout),n){case"sign-in":const e=s.auth_endpoints["sign-in"];setTimeout(()=>Uo(e),300),a.ora&&(a.ora.text=`Please authenticate in the browser: ${e}`),setTimeout(l,2e3);break;case"sign-out":nt(),Uo(s.auth_endpoints["sign-out"]),setTimeout(l,2e3)}let r=0;const c=10;function l(){e(s.auth_endpoints["is-authenticated"]).then(async e=>{if(200===e.status||400===e.status||403===e.status)switch(n){case"sign-in":if(200===e.status){const e=await pt();return e&&!await bt(e)?i(null):(t=!0,a.ora&&e&&(a.ora.text="User is authenticated"),i(e))}if(403===e.status){a.ora&&a.ora.fail("Authentication failed");const n=await e.text();if(n.startsWith("{")){const e=JSON.parse(n);if("logged_in_machine_names"in e&&Array.isArray(e.logged_in_machine_names)){const n=e.logged_in_machine_names;F().fail(`You're already authenticated on ${n.length} other machine(s). Please logout from other machines first. You're currently logged in on: ${n.join(", ")}`)}}return i(null)}break;case"sign-out":if(400===e.status)return t=!0,nt(),a.ora&&(a.ora.text="User is signed-out"),i(!0)}else if(r++,r>c)return a.ora?a.ora.fail(`Failed to complete auth flow. Please try again. Make sure that port ${s.port} is not blocked`):a.silent||console.error(`Failed to complete auth flow. Please try again. Make sure that port ${s.port} is not blocked`),i(null);setTimeout(l,1e3)}).catch(e=>{r>=10&&console.debug("Error polling auth status: "+e.message)})}})}globalThis.fetch||(globalThis.fetch=e),globalThis.File||(globalThis.File=n),globalThis.crypto||(globalThis.crypto=a.webcrypto);const Pt=process.argv.includes("--silent"),It=JSON.parse(r(new URL("../package.json",import.meta.url),"utf-8"));!Pt&&process.argv.includes("version")&&console.log(`☁ Needle Cloud — ${It.version}, Node ${process.version}`);const Bt="The access token to use. Use the login command or get a token from https://cloud.needle.tools. You can pass the access token with your command or set the environment variable NEEDLE_CLOUD_TOKEN";async function Dt(e,n=null,a=!0){let i,o=null==e?void 0:e.toString();var t;if(o||(B.config(),process.env.NEEDLE_CLOUD_TOKEN&&(o=process.env.NEEDLE_CLOUD_TOKEN,null!=(t=o)&&t.length&&console.log("Using NEEDLE_CLOUD_TOKEN token from env"))),""===o||"true"===o){const e=(await import("node:readline")).createInterface({input:process.stdin}),n=10;let a,o="",t=!1;return new Promise(s=>{const r="Paste your https://cloud.needle.tools/team#token access token here:",c=F({text:r,interval:200,spinner:"moon"}).start();process.stdin.setRawMode(!0),process.stdin.on("data",l=>{const p=l.toString();""===p&&process.exit();const u="\n"===p||"\r"===p;if(!u&&"\n"!==p&&"\r"!==p){""===p||"\b"===p?o=o.slice(0,-1):o+=p;const e=o.replace(/./g,"*");c.text=`${r} ${e}`}clearTimeout(a),a=setTimeout(()=>{if(!t&&(u||o.trim().length>n)){process.stdin.setRawMode(!1),e.close(),t=!0;const n=o.trim();if(n.length>0){const e=n.slice(3,-3).replace(/./g,"*");c.succeed("Access token received: "+e)}else c.fail("No access token provided");s({accessToken:n,org_id:i})}},150)})})}if(!o){let e;await async function(){const e=await pt();return null==e?void 0:e.isAuthenticated}()||(e=Pt?void 0:F("No access token found. Please sign in to authenticate...").start());const t=Nt({headless:!a,ora:e,timeout:12e4}),u=await t;var s;if(u&&!vt(u)?(null==(s=e)||s.warn("You are not logged in from this machine. Please login again."),await Ut({headless:!0})):e&&(u?e.succeed("Logged in"):e.fail("Login failed")),null!=u&&u.isAuthenticated){var r;if(null==n){const e=await async function(e){var n;if(!e)return{status:401,error:"Not authenticated"};const a=null==(n=e.userInfo)?void 0:n.custom_data;return a?a.default_org?a.default_org:(console.warn("WARN: You do not have a default organization set. Please visit your Needle Cloud account settings and then try again."),Wo("WARN: You do not have a default organization set. Please visit your Needle Cloud account settings and then try again."),null):null}(u);"string"==typeof e&&(n=e)}else n===(null==(r=u.userInfo)?void 0:r.sub)&&(n=null);if(n){var c,l,p;if(i=null==(c=u.userInfo)||null==(c=c.organization_data)||null==(c=c.find(e=>e.id===n))?void 0:c.id,i||(n=null==(l=n.toString())?void 0:l.toLowerCase(),null!=i||(i=null==(p=u.userInfo)||null==(p=p.organization_data)||null==(p=p.find(e=>e.name.toLowerCase()===n))?void 0:p.id)),!i)throw new Error(`ERR: You (${wt(u)}) are not a member of the organization "${n}"`);o=await(null==u?void 0:u.client.getOrganizationToken(i))}else o=null==u?void 0:u.accessToken}}return o||(console.error("ERR: Missing NEEDLE_CLOUD_TOKEN token. Please provide the access token argument or set the environment variable NEEDLE_CLOUD_TOKEN. Get an access token for your team at https://cloud.needle.tools/team"),process.exit(403)),{accessToken:o,org_id:i}}const Wt=i.program;async function Mt(){const{spawn:e}=await import("node:child_process");e(process.execPath,[process.argv[1],"start-server","--integration","cli-login"],{stdio:"inherit",env:{...process.env,NEEDLE_CLOUD_TOKEN:process.env.NEEDLE_CLOUD_TOKEN||""}}),await new Promise(e=>setTimeout(e,1e3))}Wt.version(It.version).description("Command-line interface (CLI) for Needle Cloud"),Wt.command("start-server","Starts the Needle Auth server").configure({visible:!1,strictOptions:!1}).help("Start the local server for Needle Cloud. This is required to authenticate with Needle Cloud and access your account and data.").option("--restart <restart>","Restarts the server",{required:!1,validator:Wt.BOOLEAN,default:!1}).option("--integration <integration>","Hint for the process which integration triggered this command",{required:!1,validator:Wt.STRING}).action(async({options:e})=>{const n=e.integration,a=Pt?void 0:F("Starting Needle License server "+(n?`(from ${n})`:"")).start();At({ora:a,restart:e.restart}).then(e=>{null!=e&&e.baseUrl&&e.isHost?null==a||a.succeed(`Server started on ${e.port}`):!1===(null==e?void 0:e.isHost)?(n||null==a||a.warn(`Server is running on ${e.port}`),process.exit(0)):null==a||a.fail("Failed to start server")})}),Wt.command("get-project-id","Gets the project id for a local project").configure({visible:!1,strictOptions:!1}).argument("<paths...>","The path to the local project (web project directory)").action(async({args:e})=>{const n=Rt(e.paths);n?console.log(`Found project ID: "${n}"`):console.log("No project ID found.")}),Wt.command("login","Login to Needle Cloud").help("Login to Needle Cloud. If you are already logged in, this will refresh the access token.").option("--headless <headless>","The headless process will not open a browser window to login. If the user is not authorized then no auth flow can be started. Use this if you only want to **check** if the user is authenticated",{required:!1,validator:Wt.BOOLEAN,default:!1}).option("--clear <clear>","Refresh the access token",{required:!1,validator:Wt.BOOLEAN,default:!1}).action(async({options:e})=>{await Mt();const n=e.headless.valueOf()||!1,a=e.clear.valueOf()||!1,i=Pt?void 0:F("Login").start();await Nt({headless:n,silent:Pt,clearAuthData:a,ora:i}).then(async e=>{null!=e&&e.isAuthenticated?null==i||i.succeed("Successfully logged in as "+wt(e)):0==n?null!=e&&e.claims||null!=e&&e.userInfo?null==i||i.warn(`You (${wt(e)}) are not authenticated...`):null==i||i.fail("Login failed"):Pt||null==i||i.warn("Not logged in"),process.exit(null!=e&&e.isAuthenticated?0:1)})}),Wt.command("logout","Logout of Needle Cloud").help("Logout of Needle Cloud (if you have logged in before).").option("--headless <headless>","Headless will not open a browser window to logout",{required:!1,validator:Wt.BOOLEAN,default:!1}).action(async({options:e})=>{await Mt();const n=e.headless.valueOf()||!1;await Ut({headless:n}).then(e=>{e?F("Logged out").succeed():F("Logout failed").fail(),process.exit(e?0:1)})}),Wt.command("me","Prints your user information").help("Prints basic informaton about the logged in Needle Cloud account (your account)").action(async({})=>{const e=Pt?void 0:F("Query user data").start(),n=await pt();if(null!=n&&n.isAuthenticated&&await vt(n)){const t=n.userInfo||n.claims;var a,i,o;t?(null==e||e.succeed(`You are logged in as ${wt(n)}`),console.log(`- Name: ${wt(n)}`),console.log(`- ID: ${t.sub}`),t.email&&console.log(`- Email: ${t.email}`),t.phone_number&&console.log(`- Phone: ${t.phone_number}`),null!=(a=n.userInfo)&&a.organization_data&&console.log(`- Teams [${null==(i=n.userInfo)?void 0:i.organization_data.length}]: ${null==(o=n.userInfo)?void 0:o.organization_data.sort((e,n)=>e.name.localeCompare(n.name)).map(e=>e.name).join(", ")}`)):null==e||e.fail("Failed to get user data")}else null==e||e.warn("You are not logged in")}),Wt.command("get-indie","Start license flow for Needle Engine INDIE").configure({visible:!1,strictArgsCount:!1,strictOptions:!1}).action(async({})=>{const e=F().start("Start Needle Engine INDIE purchase flow"),n=V({baseUrl:"https://cloud.needle.tools",account_id:null,license:"needle-engine:indie",return_url:null});n?(e.succeed("Start Needle Engine INDIE purchase flow: opening browser"),Uo(n.toString())):e.fail("Failed to get purchase url - please visit https://cloud.needle.tools")}),Wt.command("get-pro","Start license flow for Needle Engine PRO").configure({visible:!1,strictArgsCount:!1,strictOptions:!1}).option("--org <org>","The team to purchase the license for",{validator:Wt.STRING}).action(async({options:e})=>{var n;let a=(null==(n=e.org)?void 0:n.toString())||null;const i=F().start("Start Needle Engine PRO purchase flow"),o=V({baseUrl:"https://cloud.needle.tools",pathname:a?`/team/${a}`:"/account",account_id:a,license:"needle-engine:pro",return_url:null});if(!o)return void i.fail("Failed to get purchase url - please visit https://cloud.needle.tools");const t=o.toString();i.succeed(`Started Needle Engine PRO purchase flow: opening browser at ${t}`),Uo(t)});const Ht={account:{url:Lo}},Gt=`"${Object.keys(Ht).join('", "')}"`;Wt.command("open",`Open a page in the default browser. Options are: ${Gt}`).argument("<page>",`The page to open. Options are: ${Gt}`,{validator:Wt.STRING}).help("").action(async({args:e,logger:n})=>{const a=e.page.toString(),i=Ht[a];i?"url"in i?Uo(i.url):n.error(`Unknown argument: ${a}`):n.error(`Unknown argument: ${a}. Options are: ${Gt}`)}),Wt.command("list-deployments","Get a list of deployed websites").configure({visible:!1}).help("").option("--token <token>",Bt,{validator:Wt.STRING}).option("--org <org>","The organization name or id to authenticate for",{required:!1,validator:Wt.STRING}).option("--endpoint <endpoint>","The needle cloud endpoint to use - e.g. https://cloud.needle.tools/api",{required:!1,validator:Wt.STRING}).option("--limit <limit>","Limit the number of deployments to show (min: 0, max: 100)",{validator:Wt.NUMBER,default:10}).option("--offset <offset>","The offset for deployments (default: 0, min: 0)",{validator:Wt.NUMBER,default:0}).option("--format <format>","The output format. Options: cli (default), json",{validator:Wt.STRING,default:"cli",hidden:!0}).option("--name","Filter by one or multiple deployment names (separated by ;)",{validator:Wt.STRING}).action(async({options:e,logger:n})=>{var a,i,o;const{accessToken:t,org_id:s}=await Dt(e.token,e.org),r=(null==(a=e.endpoint)?void 0:a.toString())||"https://cloud.needle.tools/api",c=e.limit.valueOf(),l=e.offset.valueOf(),p=(null==(i=e.format)?void 0:i.toString())||"cli",u=(null==(o=e.name)?void 0:o.toString())||void 0;if(c<0)return void n.error("The limit can not be negative");if(c>100)return void n.error("The limit can not be higher than 100");const d=F("Query deployments").start(),m=await Jo({endpoint:r,authToken:t,org:s,limit:c,offset:l,names:null==u?void 0:u.split(";")}).catch(e=>{n.error(e)});if(m&&"error"in m)d.fail(m.error+" (status: "+m.status+")");else if(m){if("json"===p){d.succeed(`Found ${m.deployments.length} deployments`);const e=JSON.stringify(m.deployments);return void console.log(e)}m.deployments.length>0?(d.succeed(`Found ${m.deployments.length} deployments`),m.deployments.forEach((e,a)=>{n.info(`${a+c*l}: ${e.name} – ${e.url}`)})):d.warn("No deployments found")}else d.fail("Failed to query deployments")}),Wt.command("deploy","Deploy a website to Needle").help("").argument("<directory>","The directory to deploy",{validator:Wt.STRING}).option("--token <token>",Bt,{validator:Wt.STRING}).option("--team <team>","The team name or id to deploy to (not needed when using token/accesstoken)",{required:!1,validator:Wt.STRING}).option("--org <org>","The organization name or id to deloy to (not needed when using token/accesstoken)",{required:!1,validator:Wt.STRING,hidden:!0}).option("--name <name>","The project name. This name will also be used in your website URL",{required:!1,validator:Wt.STRING}).option("--entrypoint <entrypoint>",'The entrypoint file to use (e.g. "index.html"). This is useful if you want to deploy a folder with multiple HTML files and you want to configure which file to load initially or if you have multiple model files in one folder',{required:!1,validator:Wt.STRING,hidden:!0}).option("--endpoint <endpoint>","The needle cloud endpoint to use - e.g. https://cloud.needle.tools/api",{required:!1,validator:Wt.STRING,hidden:!0}).option("--open","Open the deployment in the default browser",{default:!0,validator:Wt.BOOLEAN}).option("--verbose <verbose>","Enables verbose output logs",{required:!1,validator:Wt.BOOLEAN,default:!1,hidden:!0}).option("--experimental","Use the experimental upload API. Mostly used for debugging (default: false)",{required:!1,validator:Wt.BOOLEAN,default:!1,hidden:!0}).option("--raw","Use raw to disallow modifications like gzip compression on upload",{required:!1,validator:Wt.BOOLEAN,default:!1,hidden:!0}).action(async({args:e,options:n,logger:a})=>{var i,o,t;const s=n.open,{accessToken:r,org_id:c}=await Dt(n.token,n.team||n.org),l=n.verbose.valueOf(),p=n.experimental.valueOf()||!1,u=n.raw.valueOf()||!1;await Ho({logger:a,endpoint:(null==(i=n.endpoint)?void 0:i.toString())||void 0,token:r,org_id:c,directory:e.directory.toString(),name:(null==(o=n.name)?void 0:o.toString())||void 0,entrypoint:(null==(t=n.entrypoint)?void 0:t.toString())||void 0,open:s,verbose:l||!1,experimental:p||!1,raw:u||!1})}),Wt.command("optimize","Optimize glTF, GLB, VRM, FBX, USD files").help("").option("--token <token>",Bt,{validator:Wt.STRING}).option("--team <team>","The team name or id to upload the file to",{required:!1,validator:Wt.STRING}).option("--org <org>","The organization name or id to upload the file to",{required:!1,validator:Wt.STRING,hidden:!0}).argument("<path>","The full path to a file or directory that should be optimized",{validator:Wt.STRING}).option("--outdir <outdir>","The output directory for the optimized file(s). If set your optimized asset files will automatically be downloaded to this directory.",{required:!1,validator:Wt.STRING}).option("--name <name>","The optimization project name / unique identifier. This can also be the view id of previous uploads.",{required:!1,validator:Wt.STRING}).option("--verbose <verbose>","Enables verbose output logs",{required:!1,validator:Wt.BOOLEAN,default:!1}).option("--progressive","Use Needle progressive loading",{required:!1,validator:Wt.BOOLEAN,default:!0}).action(async({args:e,options:n,logger:a})=>{var i,o,r;const c=n.verbose.valueOf(),{accessToken:l,org_id:d}=await Dt(n.token,n.team||n.org);if(l!=n.token){const e=await pt();null!=e&&e.isAuthenticated?d||(F("Please provide an organization id to optimize files...").fail(),process.exit(1)):(F("Please login to optimize files...").fail(),process.exit(1));const n=await async function(e,n){const a=e.baseUrl+G.account.get_licenses,i={...{...n},...J(e)},o=await fetch(a,{...K,method:"GET",headers:i}).catch(e=>(console.error(e),null));return o?o.ok?(await o.json()).licenses:(console.error(o.statusText,await o.text()),[]):[]}({baseUrl:"https://cloud.needle.tools/api",authToken:l,org:d},{type:"org",org_id:d});(!n||n.length<=0||!n.find(e=>"Needle Engine"===e.type&&("pro"===e.license||"enterprise"===e.license)))&&(F("Update to Needle PRO or Enterprise required to optimize files via CLI. Visit https://cloud.needle.tools/get-pro").fail(),process.exit(1))}const m=(null==(i=n.progressive)?void 0:i.valueOf())||!0,f=await async function(e){if(e.outDir){var n;if((null==(n=e.outDir)?void 0:n.length)<=0){const e="Output Directory is invalid";return F().fail(e),{error:e}}if(t(e.outDir)&&s(e.outDir).isFile()){const e="The output directory is a file - it must be a directory";return F().fail(e),{error:e}}}const a=e.fileOrDirectory;if(!t(a))return F().fail(`File not found: ${a}`),{error:"File not found"};if(!e.token||e.token.length<=1||"string"!=typeof e.token||"true"===e.token)return{error:`Missing access token. Create a token at ${Lo()}`};if(void 0!==e.name&&e.name&&(e.name.length<=0||"true"===e.name||"false"===e.name))return{error:`Name is not valid: "${e.name}". Please provide a valid name`};e.fileOrDirectory=g(e.fileOrDirectory);const i=F(`Gathering files ${e.fileOrDirectory}`).start();let o=null;try{o=Po("optimization",e.fileOrDirectory)}catch(n){return F().fail(`${n.message||`Failed to collect files in ${e.fileOrDirectory}`}`),{error:"Failed to collect files"}}const r=function(e){const n=bo(e,"\\","/").split("/");return n[n.length-1].includes(".")&&n.pop(),n.join("/")}(a);i.text=`Uploading ${o.files.length} files for optimization:\n- ${o.files.map(e=>e.path||e.name).join("\n -")}`;const c="https://cloud.needle.tools/api";e.verbose&&console.log("Using endpoint:",c);const l=await $o({baseUrl:c,authToken:e.token,org:e.org_id},{triggered_by:"cli",files:o.files,entrypoint:o.entrypoint},{type:"upload",name:e.name,loglevel:e.verbose?"debug":"none",progress:e=>{i.text=`Uploading ${e.fileName} - finished in approx. ${e.estimatedTimeLeftDisplay}, ${100*e.progress01}%`}});if(0==l.success){const e=`${l.error||"Unknown error: could not start upload"}`;return i.fail(e),{error:e,noprint:!0}}if(l.success){const n=`${No()}/${l.view_id}?select_team=1`;i.succeed(l.uploadSkipped?`Files have already been uploaded to ${n}`:`Uploaded ${o.files.length} files for optimization to ${n}`);const a=await async function(e,n={progressive:!0}){const a=e.baseUrl+G.optimize.request,i={...J(e),job_id:e.id,type:"optimization",triggered_by:e.trigger_type},o={parameters:{...n}},t=await fetch(a,{...K,method:"POST",headers:i,body:JSON.stringify(o)});if(!t.ok){const e=await t.text();return console.error(`Failed to request optimization (${t.status}): ${e} `),null}return await t.json().catch(e=>(console.error(e),null))}({baseUrl:c,authToken:e.token,org:e.org_id,id:l.id,trigger_type:"cli"},{progressive:e.progressive,pipeline_version:"latest"});if(!a)return{error:"Failed to send optimization request"};if("error"in a){const e=`Failed to optimize: ${a.error}`;return console.error(e),{error:e}}{const n=a.job,i=F(`Optimization requested for ${n.name||n.identifier}`).start();let o=!1;for(i.color="gray";;){if("completed"===a.job.status){var d;o=!0,i.succeed(`${null!=(d=a.message)?d:"Optimization completed"}`);break}let t=2e3;const s=await to(n.identifier,{baseUrl:c,authToken:e.token,org:a.job.org});if("new"!==(null==s?void 0:s.status)&&"pending"!==(null==s?void 0:s.status)||(i.text="Your asset is queued - waiting for optimization to start",i.color="yellow",t=2e3),"running"===(null==s?void 0:s.status))i.text=`Your asset is being optimized: ${s.progress?`${s.progress}%`:""} ${s.status_message?`— ${s.status_message}`:""}`,i.color="cyan",t=1e3;else if("stalled"===(null==s?void 0:s.status))t=2500;else{if("completed"===(null==s?void 0:s.status)){o=!0,i.succeed(`Your asset has finished optimizing: ${s.status_message}`);break}if("canceled"===(null==s?void 0:s.status))return i.fail(`Optimization cancelled: ${s.error}`),{error:s.error||"Optimization cancelled"};if("failed"===(null==s?void 0:s.status))return i.fail(`Optimization failed: ${s.error}`),console.error(`Optimization failed: ${s.error}`),{error:s.error||"Optimization failed"}}await So(t)}if(o){const a=F("Loading finished job information...").start(),i=await async function(e){if(!e.identifier)return null;const n={...J(e)},a={job_id:e.identifier,fields:e.fields},i=e.baseUrl+G.jobs.query,o=await fetch(i,{...K,method:"POST",headers:n,body:JSON.stringify(a)}).catch(e=>(console.error(e),null));if(null==o)return null;if(!o.ok)return console.error("Failed to get job",o.status,await o.text()),null;const t=await o.json().catch(e=>(console.error(e),null));return null==t?null:t.job}({baseUrl:c,authToken:e.token,org:e.org_id,identifier:n.identifier,fields:["results"]});if(null==i||!i.results){a.fail(`Finished job did not output files... Please report an issue to hi@needle.tools with job id ${n.identifier}`);const e="Failed to get job results";return console.error(e),{error:e}}if(e.verbose&&console.log(`-- Results\nId: ${n.identifier}\nEntryPoint: ${i.results.entrypoint}\nFiles:\n`,i.results.files),e.outDir){const o=new Array;for(const s of i.results.files){if(io(s.filename)){e.verbose&&console.log("Skipping internal file");continue}const i=s.filename;a.text=`Downloading ${i}`;const l=Y({baseUrl:c,view_id:n.view_id,job_id:n.identifier,filename:i}),d=await fetch(l).catch(e=>(console.error(e),null));if(d&&d.ok){const n=await d.arrayBuffer().catch(e=>(console.error(e),null));if(!n)return a.fail(`Failed to get buffer for downloaded file: ${i}`),{error:"Failed to get buffer for downloaded file"};let s=r;e.outDir&&(s=e.outDir,t(s)||p(s,{recursive:!0}));const c=s+"/"+i;a.succeed(`Downloaded ${i}`);const l=c.split("/").slice(0,-1).join("/");e.verbose&&console.log(`Writing file ${i} (${(n.byteLength/1024).toFixed(2)} KB) to "${c}"`),t(l)||(a.info(`Creating directory: ${l}`),p(l,{recursive:!0})),u(c,Buffer.from(n)),o.push(c)}else a.fail(`Failed to download (${null==d?void 0:d.status} | ${null==d?void 0:d.statusText}): ${i}`),e.verbose&&console.log("URL: "+l)}a.succeed(`Successfully downloaded ${o.length} optimized ${o.length>1?"files":"file"}`),e.verbose&&console.log("Downloaded files:\n",o)}else a.succeed(`Asset successfully optimized: https://cloud.needle.tools/edit/${n.view_id} (To download optimized files, use the --outdir option)`);return{success:!0}}}}return{error:"Unknown error"}}({logger:a,token:l,org_id:d,fileOrDirectory:e.path.toString(),name:(null==(o=n.name)?void 0:o.toString())||void 0,progressive:m,outDir:(null==(r=n.outdir)?void 0:r.toString())||void 0,verbose:c||!1}).catch(e=>{console.error(e),process.exit(1)});Array.isArray(f)?process.exit(0):"error"in f&&(f.noprint||console.error(f.error),process.exit(1))});export{Wt as program};