@loaders.gl/core 5.0.0-alpha.13 → 5.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +190 -63
- package/dist/dist.min.js +3 -3
- package/dist/index.cjs +205 -72
- package/dist/index.cjs.map +2 -2
- package/dist/lib/api/parse-file.js +2 -0
- package/dist/lib/api/parse-file.js.map +1 -1
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +5 -4
- package/dist/lib/api/parse-in-batches.js.map +1 -1
- package/dist/lib/api/parse.js +4 -2
- package/dist/lib/api/parse.js.map +1 -1
- package/dist/lib/init.js +1 -1
- package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
- package/dist/lib/loader-utils/get-fetch-function.js +3 -1
- package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
- package/dist/lib/loader-utils/loader-context.js +4 -0
- package/dist/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
- package/dist/lib/loader-utils/option-defaults.js +1 -0
- package/dist/lib/loader-utils/option-defaults.js.map +1 -1
- package/dist/lib/loader-utils/option-utils.js +1 -1
- package/dist/lib/loader-utils/option-utils.js.map +1 -1
- package/dist/loader-utils/index.cjs +231 -92
- package/dist/loader-utils/index.cjs.map +2 -2
- package/dist/loader-utils/index.d.ts +1 -1
- package/dist/loader-utils/index.d.ts.map +1 -1
- package/dist/loader-utils/index.js +1 -1
- package/dist/loader-utils/index.js.map +1 -1
- package/dist/loader-utils/json-loader.d.ts +1 -1
- package/dist/loader-utils/json-loader.js +2 -2
- package/dist/loader-utils/lib/log-utils/log.js +1 -1
- package/dist/loader-utils/lib/request-utils/request-credentials.d.ts +3 -1
- package/dist/loader-utils/lib/request-utils/request-credentials.d.ts.map +1 -1
- package/dist/loader-utils/lib/request-utils/request-credentials.js +10 -16
- package/dist/loader-utils/lib/request-utils/request-credentials.js.map +1 -1
- package/dist/loader-utils/lib/worker-loader-utils/create-loader-worker.d.ts +3 -0
- package/dist/loader-utils/lib/worker-loader-utils/create-loader-worker.d.ts.map +1 -1
- package/dist/loader-utils/lib/worker-loader-utils/create-loader-worker.js +13 -12
- package/dist/loader-utils/lib/worker-loader-utils/create-loader-worker.js.map +1 -1
- package/dist/loader-utils/lib/worker-loader-utils/parse-with-worker.d.ts +6 -0
- package/dist/loader-utils/lib/worker-loader-utils/parse-with-worker.d.ts.map +1 -1
- package/dist/loader-utils/lib/worker-loader-utils/parse-with-worker.js +38 -7
- package/dist/loader-utils/lib/worker-loader-utils/parse-with-worker.js.map +1 -1
- package/dist/loader-utils/loader-types.d.ts +12 -4
- package/dist/loader-utils/loader-types.d.ts.map +1 -1
- package/dist/loader-utils/loader-types.js.map +1 -1
- package/dist/null-loader.js +1 -1
- package/dist/null-worker-node.js +60 -15
- package/dist/null-worker.js +59 -15
- package/dist/schema-utils/lib/table/tables/convert-table.d.ts +1 -1
- package/dist/schema-utils/lib/table/tables/convert-table.js +1 -1
- package/dist/worker-utils/index.cjs +170 -49
- package/dist/worker-utils/index.cjs.map +2 -2
- package/dist/worker-utils/index.d.ts +2 -2
- package/dist/worker-utils/index.d.ts.map +1 -1
- package/dist/worker-utils/index.js +1 -1
- package/dist/worker-utils/index.js.map +1 -1
- package/dist/worker-utils/lib/env-utils/version.js +2 -2
- package/dist/worker-utils/lib/worker-api/create-worker.d.ts.map +1 -1
- package/dist/worker-utils/lib/worker-api/create-worker.js +40 -2
- package/dist/worker-utils/lib/worker-api/create-worker.js.map +1 -1
- package/dist/worker-utils/lib/worker-api/get-worker-url.d.ts +2 -0
- package/dist/worker-utils/lib/worker-api/get-worker-url.d.ts.map +1 -1
- package/dist/worker-utils/lib/worker-api/get-worker-url.js +7 -11
- package/dist/worker-utils/lib/worker-api/get-worker-url.js.map +1 -1
- package/dist/worker-utils/lib/worker-api/process-on-worker.d.ts +6 -0
- package/dist/worker-utils/lib/worker-api/process-on-worker.d.ts.map +1 -1
- package/dist/worker-utils/lib/worker-api/process-on-worker.js +64 -27
- package/dist/worker-utils/lib/worker-api/process-on-worker.js.map +1 -1
- package/dist/worker-utils/lib/worker-farm/worker-job.d.ts.map +1 -1
- package/dist/worker-utils/lib/worker-farm/worker-job.js +3 -2
- package/dist/worker-utils/lib/worker-farm/worker-job.js.map +1 -1
- package/dist/worker-utils/lib/worker-farm/worker-pool.d.ts +1 -1
- package/dist/worker-utils/lib/worker-farm/worker-pool.d.ts.map +1 -1
- package/dist/worker-utils/lib/worker-farm/worker-pool.js +65 -12
- package/dist/worker-utils/lib/worker-farm/worker-pool.js.map +1 -1
- package/dist/worker-utils/null-worker-node.js +36 -2
- package/dist/worker-utils/null-worker-node.js.map +2 -2
- package/dist/worker-utils/null-worker.js +36 -2
- package/dist/worker-utils/null-worker.js.map +2 -2
- package/dist/worker-utils/types.d.ts +25 -4
- package/dist/worker-utils/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/lib/api/parse-file.ts +2 -0
- package/src/lib/api/parse-in-batches.ts +5 -5
- package/src/lib/api/parse.ts +4 -2
- package/src/lib/loader-utils/get-fetch-function.ts +4 -2
- package/src/lib/loader-utils/loader-context.ts +4 -0
- package/src/lib/loader-utils/option-defaults.ts +1 -0
- package/src/lib/loader-utils/option-utils.ts +1 -1
- package/src/loader-utils/index.ts +1 -0
- package/src/loader-utils/json-loader.ts +1 -1
- package/src/loader-utils/lib/request-utils/request-credentials.ts +10 -12
- package/src/loader-utils/lib/worker-loader-utils/create-loader-worker.ts +38 -15
- package/src/loader-utils/lib/worker-loader-utils/parse-with-worker.ts +52 -7
- package/src/loader-utils/loader-types.ts +16 -4
- package/src/schema-utils/lib/table/tables/convert-table.ts +1 -1
- package/src/worker-utils/index.ts +3 -1
- package/src/worker-utils/lib/worker-api/create-worker.ts +41 -2
- package/src/worker-utils/lib/worker-api/get-worker-url.ts +13 -14
- package/src/worker-utils/lib/worker-api/process-on-worker.ts +128 -73
- package/src/worker-utils/lib/worker-farm/worker-job.ts +4 -2
- package/src/worker-utils/lib/worker-farm/worker-pool.ts +65 -12
- package/src/worker-utils/types.ts +26 -3
package/dist/dist.min.js
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
6
|
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
-
"use strict";var __exports__=(()=>{var $r=Object.defineProperty;var fn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var dn=Object.prototype.hasOwnProperty;var Ht=(e,r)=>{for(var t in r)$r(e,t,{get:r[t],enumerable:!0})},pn=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ln(r))!dn.call(e,n)&&n!==t&&$r(e,n,{get:()=>r[n],enumerable:!(o=fn(r,n))||o.enumerable});return e};var hn=e=>pn($r({},"__esModule",{value:!0}),e);var ei={};Ht(ei,{FetchError:()=>Se,JSONLoader:()=>Ar,NullLoader:()=>zt,NullWorkerLoader:()=>jt,RequestScheduler:()=>Te,_BrowserFileSystem:()=>tr,_fetchProgress:()=>qt,_selectSource:()=>$t,_unregisterLoaders:()=>kt,assert:()=>ye,concatenateArrayBuffersAsync:()=>G,coreApi:()=>he,createDataSource:()=>Mt,document:()=>ir,encode:()=>Ot,encodeInBatches:()=>Ut,encodeSync:()=>Ur,encodeTable:()=>Fr,encodeTableAsText:()=>Ct,encodeTableInBatches:()=>vr,encodeText:()=>Ft,encodeTextSync:()=>vt,encodeURLtoURL:()=>Mr,fetchFile:()=>E,forEach:()=>wr,getLoaderOptions:()=>P,getPathPrefix:()=>Sr,global:()=>sr,isAsyncIterable:()=>ie,isBrowser:()=>b,isIterable:()=>H,isIterator:()=>be,isPromise:()=>Be,isPureObject:()=>W,isReadableStream:()=>D,isResponse:()=>w,isWorker:()=>ar,isWritableStream:()=>dr,load:()=>pe,loadInBatches:()=>re,makeIterator:()=>le,makeLineIterator:()=>gr,makeNumberedLineIterator:()=>yr,makeStream:()=>Nt,makeTextDecoderIterator:()=>hr,makeTextEncoderIterator:()=>mr,parse:()=>h,parseFile:()=>X,parseInBatches:()=>L,parseSync:()=>ee,preload:()=>Wt,preloadSync:()=>Pt,readArrayBuffer:()=>bt,registerLoaders:()=>Tt,resolvePath:()=>Q,selectLoader:()=>F,selectLoaderSync:()=>O,self:()=>or,setLoaderOptions:()=>Pr,setPathPrefix:()=>kr,window:()=>nr});function ye(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var N={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},or=N.self||N.window||N.global||{},nr=N.window||N.self||N.global||{},sr=N.global||N.self||N.window||{},ir=N.document||{};var b=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),ar=typeof importScripts=="function",Vt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),mn=Vt&&parseFloat(Vt[1])||0;var Ce=globalThis,gn=globalThis.document||{},cr=globalThis.process||{},yn=globalThis.console,wn=globalThis.navigator||{};function ur(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&process.versions?.electron)return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function oe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||ur()}var Nr="5.0.0";function Le(e,r){if(!e)throw new Error(r||"Assertion failed")}function fr(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Le(Number.isFinite(r)&&r>=0),r}function Dr(e){let{logLevel:r,message:t}=e;e.logLevel=fr(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return Le(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var ne=()=>{},we=class{constructor({level:r=0}={}){this.userData={},this._onceCache=new Set,this._level=r}set level(r){this.setLevel(r)}get level(){return this.getLevel()}setLevel(r){return this._level=r,this}getLevel(){return this._level}warn(r,...t){return this._log("warn",0,r,t,{once:!0})}error(r,...t){return this._log("error",0,r,t)}log(r,t,...o){return this._log("log",r,t,o)}info(r,t,...o){return this._log("info",r,t,o)}once(r,t,...o){return this._log("once",r,t,o,{once:!0})}_log(r,t,o,n,s={}){let a=Dr({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,a,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return ne;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return ne;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=fr(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function xn(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Oe=class{constructor(r,t,o="sessionStorage"){this.storage=xn(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Gt(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function jr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var Fe;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Fe||(Fe={}));var Tn=10;function Qt(e){return typeof e!="string"?e:(e=e.toUpperCase(),Fe[e]||Fe.WHITE)}function zr(e,r,t){return!oe&&typeof e=="string"&&(r&&(e=`\x1B[${Qt(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Qt(t)+Tn}m${e}\x1B[49m`)),e}function qr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let a=n[s];typeof a=="function"&&(r.find(i=>s===i)||(n[s]=a.bind(e)))}}var lr=class{getHighResolutionTimer(){let r;if(oe()&&Ce.performance)r=Ce?.performance?.now?.();else if("hrtime"in cr){let t=cr?.hrtime?.();r=t[0]*1e3+t[1]/1e6}else r=Date.now();return r}getMemoryUsageMB(){let t=Ce?.performance?.memory?.usedJSHeapSize;return t==null?null:Math.trunc(t/1024/1024)}},v=new lr;globalThis.Probe=lr;globalThis.probe=v;var _e={debug:oe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Hr={enabled:!0,level:0},M=class extends we{constructor({id:r}={id:""}){super({level:0}),this.VERSION=Nr,this._startTs=v.getHighResolutionTimer(),this._deltaTs=v.getHighResolutionTimer(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Oe(`__probe-${this.id}__`,{[this.id]:Hr}),this.timeStamp(`${this.id} started`),qr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((v.getHighResolutionTimer()-this._startTs).toPrecision(10))}getDelta(){return Number((v.getHighResolutionTimer()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._updateConfiguration({enabled:r}),this}setLevel(r){return this._updateConfiguration({level:r}),this}get(r){return this._getConfiguration()[r]}set(r,t){this._updateConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r,...t){return this._log("warn",0,r,t,{method:_e.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:_e.error})}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t,...o){let n=v.getMemoryUsageMB();if(n!==null){let s=`${n}MB `;typeof t=="function"?t=()=>`${s}${t()}`:typeof t=="string"&&(t=`${s}${t}`)}return this._log("log",r,t,o,{method:_e.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:_e.debug})}info(r,t,...o){return this._log("info",r,t,o,{method:console.info})}once(r,t,...o){return this._log("once",r,t,o,{method:_e.debug||_e.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||ne,tag:Sn(t)}):ne}time(r,t){return this._log("time",r,t,[],{method:console.time?console.time:console.info})}timeEnd(r,t){return this._log("time",r,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(r,t){return this._log("time",r,t,[],{method:console.timeStamp||ne})}group(r,t,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",r,t,[],{method:n})}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._log("groupEnd",r,"",[],{method:console.groupEnd||ne})}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&super._shouldLog(r)}_emit(r,t){let o=t.method;Le(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=v.getHighResolutionTimer();let n=kn(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Hr),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...Hr};this._storage.setConfiguration({[this.id]:{...t,...r}})}};M.VERSION=Nr;function kn(e,r,t){if(typeof r=="string"){let o=t.time?jr(Gt(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=zr(r,t.color,t.background)}return r}function Sn(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe||(globalThis.probe=v);var oa=new M({id:"@probe.gl/log"});var Vr="5.0.0-alpha.13",An=Vr[0]>="0"&&Vr[0]<="9"?`v${Vr}`:"";function Ln(){let e=new M({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=An,globalThis.probe||={},globalThis.probe.loaders=e,e}var Gr=Ln();var Jt=e=>typeof e=="boolean",S=e=>typeof e=="function",_=e=>e!==null&&typeof e=="object",W=e=>_(e)&&e.constructor==={}.constructor;var Qr=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,se=e=>_(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",Be=e=>_(e)&&"then"in e&&S(e.then),H=e=>!!e&&S(e[Symbol.iterator]),ie=e=>!!e&&S(e[Symbol.asyncIterator]),be=e=>!!e&&S(e.next),w=e=>typeof Response<"u"&&e instanceof Response||_(e)&&S(e.arrayBuffer)&&S(e.text)&&S(e.json);var g=e=>typeof Blob<"u"&&e instanceof Blob;var Kt=e=>_(e)&&S(e.abort)&&S(e.getWriter),Zt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||_(e)&&S(e.tee)&&S(e.cancel)&&S(e.getReader),Yt=e=>_(e)&&S(e.end)&&S(e.write)&&Jt(e.writable),Xt=e=>_(e)&&S(e.read)&&S(e.pipe)&&Jt(e.readable),D=e=>Zt(e)||Xt(e),dr=e=>Kt(e)||Yt(e);function ae(e,r){return eo(e||{},r)}function eo(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))W(s)?o[n]=eo(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Jr(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var ro="latest";function _n(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.13"),globalThis._loadersgl_.version}var ve=_n();function V(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var j={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},_a=j.self||j.window||j.global||{},Ba=j.window||j.self||j.global||{},Ea=j.global||j.self||j.window||{},Ra=j.document||{};var A=typeof process!="object"||String(process)!=="[object process]"||process.browser;var oo=typeof window<"u"&&typeof window.orientation<"u",to=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ia=to&&parseFloat(to[1])||0;var Ue=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){this.isRunning&&(this.isRunning=!1,this._resolve(r))}error(r){this.isRunning&&(this.isRunning=!1,this._reject(r))}abort(r){if(!this.isRunning)return;let t=r??Bn(`Worker job "${this.name}" was aborted`);this.workerThread.destroy(),this.error(t)}};function Bn(e){let r=new Error(e);return r.name="AbortError",r}var Ee=class{constructor(...r){let o=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(o)return new o(...r)}terminate(){}};var Kr=new Map;function no(e){V(e.source&&!e.url||!e.source&&e.url);let r=Kr.get(e.source||e.url);return r||(e.url&&(r=En(e.url),Kr.set(e.url,r)),e.source&&(r=so(e.source),Kr.set(e.source,r))),V(r),r}function En(e){if(!e.startsWith("http"))return e;let r=Rn(e);return so(r)}function so(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function Rn(e){return`try {
|
|
7
|
+
"use strict";var __exports__=(()=>{var $r=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var pn=Object.getOwnPropertyNames;var mn=Object.prototype.hasOwnProperty;var Vt=(e,r)=>{for(var t in r)$r(e,t,{get:r[t],enumerable:!0})},gn=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of pn(r))!mn.call(e,n)&&n!==t&&$r(e,n,{get:()=>r[n],enumerable:!(o=hn(r,n))||o.enumerable});return e};var yn=e=>gn($r({},"__esModule",{value:!0}),e);var oi={};Vt(oi,{FetchError:()=>Te,JSONLoader:()=>Sr,NullLoader:()=>qt,NullWorkerLoader:()=>zt,RequestScheduler:()=>xe,_BrowserFileSystem:()=>rr,_fetchProgress:()=>Ht,_selectSource:()=>Nt,_unregisterLoaders:()=>At,assert:()=>ge,concatenateArrayBuffersAsync:()=>Q,coreApi:()=>pe,createDataSource:()=>$t,document:()=>sr,encode:()=>vt,encodeInBatches:()=>Mt,encodeSync:()=>Ur,encodeTable:()=>vr,encodeTableAsText:()=>Ot,encodeTableInBatches:()=>Fr,encodeText:()=>Ft,encodeTextSync:()=>Ut,encodeURLtoURL:()=>Mr,fetchFile:()=>R,forEach:()=>wr,getLoaderOptions:()=>W,getPathPrefix:()=>Ar,global:()=>nr,isAsyncIterable:()=>ie,isBrowser:()=>S,isIterable:()=>H,isIterator:()=>we,isPromise:()=>Be,isPureObject:()=>I,isReadableStream:()=>j,isResponse:()=>b,isWorker:()=>ir,isWritableStream:()=>lr,load:()=>he,loadInBatches:()=>re,makeIterator:()=>le,makeLineIterator:()=>gr,makeNumberedLineIterator:()=>yr,makeStream:()=>Dt,makeTextDecoderIterator:()=>pr,makeTextEncoderIterator:()=>mr,parse:()=>g,parseFile:()=>X,parseInBatches:()=>_,parseSync:()=>ee,preload:()=>Pt,preloadSync:()=>Ct,readArrayBuffer:()=>xt,registerLoaders:()=>Tt,resolvePath:()=>G,selectLoader:()=>O,selectLoaderSync:()=>C,self:()=>tr,setLoaderOptions:()=>Pr,setPathPrefix:()=>Tr,window:()=>or});function ge(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var D={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},tr=D.self||D.window||D.global||{},or=D.window||D.self||D.global||{},nr=D.global||D.self||D.window||{},sr=D.document||{};var S=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),ir=typeof importScripts=="function",Qt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),wn=Qt&&parseFloat(Qt[1])||0;var Ce=globalThis,bn=globalThis.document||{},ar=globalThis.process||{},xn=globalThis.console,kn=globalThis.navigator||{};function cr(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&process.versions?.electron)return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function oe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||cr()}var Nr="5.0.0";function Le(e,r){if(!e)throw new Error(r||"Assertion failed")}function ur(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Le(Number.isFinite(r)&&r>=0),r}function Dr(e){let{logLevel:r,message:t}=e;e.logLevel=ur(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return Le(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var ne=()=>{},ye=class{constructor({level:r=0}={}){this.userData={},this._onceCache=new Set,this._level=r}set level(r){this.setLevel(r)}get level(){return this.getLevel()}setLevel(r){return this._level=r,this}getLevel(){return this._level}warn(r,...t){return this._log("warn",0,r,t,{once:!0})}error(r,...t){return this._log("error",0,r,t)}log(r,t,...o){return this._log("log",r,t,o)}info(r,t,...o){return this._log("info",r,t,o)}once(r,t,...o){return this._log("once",r,t,o,{once:!0})}_log(r,t,o,n,s={}){let a=Dr({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,a,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return ne;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return ne;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=ur(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function An(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Oe=class{constructor(r,t,o="sessionStorage"){this.storage=An(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Gt(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function jr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var ve;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(ve||(ve={}));var Sn=10;function Jt(e){return typeof e!="string"?e:(e=e.toUpperCase(),ve[e]||ve.WHITE)}function zr(e,r,t){return!oe&&typeof e=="string"&&(r&&(e=`\x1B[${Jt(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Jt(t)+Sn}m${e}\x1B[49m`)),e}function qr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let a=n[s];typeof a=="function"&&(r.find(i=>s===i)||(n[s]=a.bind(e)))}}var fr=class{getHighResolutionTimer(){let r;if(oe()&&Ce.performance)r=Ce?.performance?.now?.();else if("hrtime"in ar){let t=ar?.hrtime?.();r=t[0]*1e3+t[1]/1e6}else r=Date.now();return r}getMemoryUsageMB(){let t=Ce?.performance?.memory?.usedJSHeapSize;return t==null?null:Math.trunc(t/1024/1024)}},F=new fr;globalThis.Probe=fr;globalThis.probe=F;var _e={debug:oe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Hr={enabled:!0,level:0},U=class extends ye{constructor({id:r}={id:""}){super({level:0}),this.VERSION=Nr,this._startTs=F.getHighResolutionTimer(),this._deltaTs=F.getHighResolutionTimer(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Oe(`__probe-${this.id}__`,{[this.id]:Hr}),this.timeStamp(`${this.id} started`),qr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((F.getHighResolutionTimer()-this._startTs).toPrecision(10))}getDelta(){return Number((F.getHighResolutionTimer()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._updateConfiguration({enabled:r}),this}setLevel(r){return this._updateConfiguration({level:r}),this}get(r){return this._getConfiguration()[r]}set(r,t){this._updateConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r,...t){return this._log("warn",0,r,t,{method:_e.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:_e.error})}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t,...o){let n=F.getMemoryUsageMB();if(n!==null){let s=`${n}MB `;typeof t=="function"?t=()=>`${s}${t()}`:typeof t=="string"&&(t=`${s}${t}`)}return this._log("log",r,t,o,{method:_e.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:_e.debug})}info(r,t,...o){return this._log("info",r,t,o,{method:console.info})}once(r,t,...o){return this._log("once",r,t,o,{method:_e.debug||_e.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||ne,tag:_n(t)}):ne}time(r,t){return this._log("time",r,t,[],{method:console.time?console.time:console.info})}timeEnd(r,t){return this._log("time",r,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(r,t){return this._log("time",r,t,[],{method:console.timeStamp||ne})}group(r,t,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",r,t,[],{method:n})}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._log("groupEnd",r,"",[],{method:console.groupEnd||ne})}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&super._shouldLog(r)}_emit(r,t){let o=t.method;Le(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=F.getHighResolutionTimer();let n=Ln(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Hr),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...Hr};this._storage.setConfiguration({[this.id]:{...t,...r}})}};U.VERSION=Nr;function Ln(e,r,t){if(typeof r=="string"){let o=t.time?jr(Gt(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=zr(r,t.color,t.background)}return r}function _n(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe||(globalThis.probe=F);var ia=new U({id:"@probe.gl/log"});var Vr="5.0.0-alpha.14",Bn=Vr[0]>="0"&&Vr[0]<="9"?`v${Vr}`:"";function En(){let e=new U({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=Bn,globalThis.probe||={},globalThis.probe.loaders=e,e}var Qr=En();var Kt=e=>typeof e=="boolean",A=e=>typeof e=="function",B=e=>e!==null&&typeof e=="object",I=e=>B(e)&&e.constructor==={}.constructor;var Gr=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,se=e=>B(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",Be=e=>B(e)&&"then"in e&&A(e.then),H=e=>!!e&&A(e[Symbol.iterator]),ie=e=>!!e&&A(e[Symbol.asyncIterator]),we=e=>!!e&&A(e.next),b=e=>typeof Response<"u"&&e instanceof Response||B(e)&&A(e.arrayBuffer)&&A(e.text)&&A(e.json);var y=e=>typeof Blob<"u"&&e instanceof Blob;var Zt=e=>B(e)&&A(e.abort)&&A(e.getWriter),Yt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||B(e)&&A(e.tee)&&A(e.cancel)&&A(e.getReader),Xt=e=>B(e)&&A(e.end)&&A(e.write)&&Kt(e.writable),eo=e=>B(e)&&A(e.read)&&A(e.pipe)&&Kt(e.readable),j=e=>Yt(e)||eo(e),lr=e=>Zt(e)||Xt(e);function ae(e,r){return ro(e||{},r)}function ro(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))I(s)?o[n]=ro(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Jr(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var to="latest";function Rn(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.14"),globalThis._loadersgl_.version}var Fe=Rn();function V(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var z={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Ra=z.self||z.window||z.global||{},Ia=z.window||z.self||z.global||{},Wa=z.global||z.self||z.window||{},Pa=z.document||{};var L=typeof process!="object"||String(process)!=="[object process]"||process.browser;var no=typeof window<"u"&&typeof window.orientation<"u",oo=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ca=oo&&parseFloat(oo[1])||0;var Ue=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.isRunning&&this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){this.isRunning&&(this.isRunning=!1,this._resolve(r))}error(r){this.isRunning&&(this.isRunning=!1,this._reject(r))}abort(r){this.isRunning&&(this.workerThread.destroy(),this.error(arguments.length?r:In(`Worker job "${this.name}" was aborted`)))}};function In(e){let r=new Error(e);return r.name="AbortError",r}var Ee=class{constructor(...r){let o=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(o)return new o(...r)}terminate(){}};var Kr=new Map;function so(e){V(e.source&&!e.url||!e.source&&e.url);let r=Kr.get(e.source||e.url);return r||(e.url&&(r=Wn(e.url),Kr.set(e.url,r)),e.source&&(r=io(e.source),Kr.set(e.source,r))),V(r),r}function Wn(e){if(!e.startsWith("http"))return e;let r=Pn(e);return io(r)}function io(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function Pn(e){return`try {
|
|
8
8
|
importScripts('${e}');
|
|
9
9
|
} catch (error) {
|
|
10
10
|
console.error(error);
|
|
11
11
|
throw error;
|
|
12
|
-
}`}function Zr(e,r=!0,t){let o=t||new Set;if(e){if(io(e))o.add(e);else if(io(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Zr(e[n],r,o)}}return t===void 0?Array.from(o):[]}function io(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Re(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=Re(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Yr=()=>{},ce=class{name;source;url;getUrl;loadWorker;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&A||typeof Ee<"u"&&!A}constructor(r){let{name:t,source:o,url:n,getUrl:s,loadWorker:a}=r;V(o||n||s||a),this.name=t,this.source=o,this.url=n,this.getUrl=s,this.loadWorker=a,this.onMessage=Yr,this.onError=i=>console.log(i),this.worker=A?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Yr,this.onError=Yr,this.worker.terminate(),this.terminated=!0}unref(){!A&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!A&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(r,t){t=t||Zr(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url||"built-in worker factory"}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){if(this.loadWorker)try{let o=this.loadWorker();if(o)return this._initializeBrowserWorker(o)}catch(o){if(!this.source&&!this.url&&!this.getUrl)throw o}let r=this.url||this.getUrl?.();this._loadableURL=no({source:this.source,url:r});let t=new Worker(this._loadableURL,{name:this.name});return this._initializeBrowserWorker(t)}_initializeBrowserWorker(r){return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=o.startsWith("file:")?new URL(o):o,s=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new Ee(n,{eval:!1,type:s})}else if(this.source)r=new Ee(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var Me=class{name="unnamed";source;url;getUrl;loadWorker;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];activeJobs=new Set;count=0;isDestroyed=!1;static isSupported(){return ce.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.getUrl=r.getUrl,this.loadWorker=r.loadWorker,this.setProps(r)}destroy(r=new Error("Worker pool was destroyed")){this.activeJobs.forEach(o=>o.abort(r)),this.jobQueue.splice(0).forEach(o=>o.onReject(r)),this.idleQueue.forEach(o=>o.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,a)=>n.done(a),o=(n,s)=>n.error(s)){if(this.isDestroyed)return Promise.reject(new Error("Worker pool was destroyed"));let n=new Promise((s,a)=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s,onReject:a}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new Ue(t.name,r);this.activeJobs.add(o),r.ref(),r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch{}finally{this.activeJobs.delete(o),this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){r.terminated||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.terminated||r.destroy(),this.count--):(r.unref(),this.idleQueue.push(r)),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new ce({name:r,source:this.source,url:this.url,getUrl:this.getUrl,loadWorker:this.loadWorker})}return null}_getMaxConcurrency(){return oo?this.maxMobileConcurrency:this.maxConcurrency}};var In={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},ao=new WeakMap,Wn=1,z=class e{props;workerPools=new Map;static _workerFarm;static isSupported(){return ce.isSupported()}static getWorkerFarm(r={}){return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(r),e._workerFarm}constructor(r){this.props={...In},this.setProps(r),this.workerPools=new Map}destroy(r){for(let t of this.workerPools.values())t.destroy(r);this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n,getUrl:s,loadWorker:a}=r,i=Pn(r),c=this.workerPools.get(i);return c||(c=new Me({name:t,source:o,url:n,getUrl:s,loadWorker:a}),c.setProps(this._getWorkerPoolProps()),this.workerPools.set(i,c)),c}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};function Pn(e){let{name:r,source:t,url:o,urlKey:n,loadWorker:s}=e,a=t?`source:${t}`:"",i=o||n?`url:${o||n}`:"",c=s?`loadWorker:${Cn(s)}`:"";return[r,a,i,c].filter(Boolean).join("|")}function Cn(e){let r=ao.get(e);return r||(r=Wn++,ao.set(e,r)),r}var $e=class{_values;_settlers;_closed;constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(r){return this.enqueue(r)}enqueue(r){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let t=this._settlers.shift();r instanceof Error?t.reject(r):t.resolve({value:r})}else this._values.push(r)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let r=this._values.shift();return r instanceof Error?Promise.reject(r):Promise.resolve({done:!1,value:r})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0,value:void 0})}return new Promise((r,t)=>{this._settlers.push({resolve:r,reject:t})})}};var co=new Set;function Xr(e){let r=e.version!==ve?` (worker-utils@${ve})`:"";return`${e.name}@${e.version}${r}`}function et(e,r={}){let t=r[e.id]||{},o=A?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,n=t.workerUrl;!n&&e.id==="compression"&&(n=r.workerUrl);let s=r._workerType||r?.core?._workerType;if(!n&&s==="test")if(A)n=`modules/${e.module}/dist/${o}`;else{let a=e.module==="core"&&e.workerNode?.startsWith("worker-utils/")?"worker-utils/workers":"workers",i=e.workerSourceNode||`${a}/${e.id}-worker-node.ts`;n=`modules/${e.module}/src/${i}`}return n||null}function rt(e,r={}){let t=et(e,r),o=typeof e.worker=="string"?e.worker:null,n=t||o||tt(e,!0);return V(n),n}function tt(e,r=!1){let t=A?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,o=e.version;o==="latest"&&(o=ro);let n=o?`@${o}`:"",s=`https://unpkg.com/@loaders.gl/${e.module}${n}/dist/${t}`;return r&&On(e,s),s}function On(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;co.has(t)||(co.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function ot(e,r){if(!z.isSupported())return!1;let t=r?.[e.id];return!!((e.worker||e.loadWorker||t?.workerUrl)&&r?.worker)}async function Ne(e,r,t={},o={},n={}){uo(t.signal);let s=Xr(e),i=z.getWorkerFarm(t).getWorkerPool(lo(e,t,s)),c=t.jobName||e.name,u=await i.startJob(c,po.bind(null,o)),l=()=>u.abort(st(t.signal));t.signal?.addEventListener("abort",l,{once:!0}),t.signal?.aborted&&l();try{let{signal:f,...d}=t,p=Re(d),T=Re(n);return u.isRunning&&u.postMessage("process",{input:r,options:p,context:T}),(await u.result).result}finally{t.signal?.removeEventListener("abort",l)}}function nt(e,r,t={},o={},n={}){return Fn(e,r,t,o,n)}async function*Fn(e,r,t,o,n){uo(t.signal);let s=Xr(e),i=z.getWorkerFarm(t).getWorkerPool(lo(e,t,s)),c=new $e,u=vn(r),l=!1,f=!1,d=Promise.resolve(),p=new Error("Worker batch job failed"),T=()=>{l||(l=!0,c.close())},k=R=>{l||(l=!0,c.enqueue(p),c.close())},m=await i.startJob(t.jobName||e.name,(R,q,U)=>{switch(q){case"input-request":d=d.then(async()=>{let I=await u.next();R.isRunning&&(I.done?(f=!0,R.postMessage("input-done",{})):R.postMessage("input-batch",{input:I.value}))}).catch(I=>R.abort(I));break;case"output-batch":c.push(U.result);break;case"done":R.done(U),T();break;case"error":{let I=new Error(U.error||"Worker batch processing failed");R.error(I),k(I);break}case"process":po(o,R,q,U);break;default:{let I=new Error(`Unexpected worker batch message: ${q}`);R.error(I),k(I);break}}}),me=()=>m.abort(st(t.signal));t.signal?.addEventListener("abort",me,{once:!0}),t.signal?.aborted&&me(),m.result.catch(k);try{let{signal:R,...q}=t;m.isRunning&&m.postMessage("process-in-batches",{options:Re(q),context:Re(n)});try{for await(let U of c)yield U,m.isRunning&&m.postMessage("output-ack",{})}catch(U){throw U===p&&await m.result,U}await m.result}finally{t.signal?.removeEventListener("abort",me),m.isRunning&&m.abort(fo("Worker batch iterator was closed")),f||Un(u)}}function uo(e){if(e?.aborted)throw st(e)}function st(e){return e?.reason??fo("Worker job was aborted")}function fo(e){let r=new Error(e);return r.name="AbortError",r}function vn(e){return Symbol.asyncIterator in e?e[Symbol.asyncIterator]():(async function*(){yield*e})()}function Un(e){try{Promise.resolve(e.return?.()).catch(()=>{})}catch{}}function lo(e,r,t){if(r.source)return{name:t,source:r.source};let o=et(e,r);return o?{name:t,url:o}:A&&e.loadWorker?{name:t,loadWorker:e.loadWorker,getUrl:()=>rt(e,r),urlKey:tt(e)}:{name:t,url:rt(e,r)}}async function po(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:a}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let i=await e.process(s,a,void 0,o.context||{});r.postMessage("done",{id:n,result:i})}catch(i){let c=i instanceof Error?i.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function De(e,r=ve){V(e,"no worker provided");let t=e.version;return!(!r||!t)}function pr(e,r){let t=r?.[e.id]?.workerUrl;if(r?.core?.worker===!1||!(e.worker||e.loadWorker||t)||r?.core?.credentials?.some(s=>s.type==="request"||"token"in s&&typeof s.token=="function"))return!1;let o=ut(r),n=o._nodeWorkers;return!A&&!n||e.id==="las"&&(r?.las?.shape??"arrow-table")==="arrow-table"||e.id==="csv"&&!Mn(r)?!1:!!ot(e,o)}function it(e,r,t,o,n=e){if(!pr(e,t))return!1;if(t?.core?.worker!=="auto"||!n.getWorkerEstimate)return!0;try{let s=n.getWorkerEstimate(r,t,o);return s===void 0||!Number.isFinite(s)||s<0||s>1?!0:s>=(t.core?.workerThreshold??.1)}catch{return!0}}async function at(e,r,t,o,n,s){let a=s||ho(t),i=await Ne(e,r,{...ut(t,e),signal:a},{process:async(c,u,l,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let{_loaderIds:d,_loaderIsArray:p,...T}=f||{},k=o||f?{...o,...T}:void 0;return await mo(n,c,u,k,go(e,d,p,o,t))}},wo(o));return $n(e)?e.deserializeWorkerResult(i,t,o):i}async function*ct(e,r,t,o,n,s){let a=s||ho(t),i=nt(e,r,{...ut(t),signal:a},{process:async(c,u,l,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let{_loaderIds:d,_loaderIsArray:p,...T}=f||{},k=o||f?{...o,...T}:void 0;return await mo(n,c,u,k,go(e,d,p,o,t))}},wo(o));for await(let c of i)yield e.deserializeWorkerBatch?e.deserializeWorkerBatch(c,t,o):c}function ho(e){let r=e?.parquet?.signal;if(typeof AbortSignal<"u"&&r instanceof AbortSignal)return r}function mo(e,r,t,o,n){return!n&&e.length<=2?e(r,t):e(r,n,t,o)}function go(e,r,t,o,n){if(!r)return;let s=new Map,a=new Set;for(let u of[e,...o?.loaders||[]])c(u);let i=r.map(u=>{let l=s.get(u);if(!l)throw new Error(`Worker requested unknown loader "${u}". Declare it in loader.subloaders or pass it in context.loaders.`);return l});return t?i:i[0];function c(u){if(!a.has(u)){a.add(u),s.set(u.id,u);for(let[l,f]of Object.entries(u.subloaders||{})){let d=n?.core?.subloaders?.[l]||f;c(d),s.set(f.id,d)}}}}function ut(e={},r){let t={...e,...e.core?{core:{...e.core,authentications:void 0}}:{}},o=JSON.parse(JSON.stringify(t,(s,a)=>typeof a=="bigint"?null:a));yo(t,o);let n={...o.core,...o};return n.worker==="auto"&&(n.worker=!0),r&&(n._workerLoaderId=r.id),n}function yo(e,r){if(!(!r||typeof r!="object"))for(let t of Object.keys(r)){let o=e?.[t];typeof o=="bigint"?r[t]=o:yo(o,r[t])}}function wo(e){if(!e)return{};let{fetch:r,loaders:t,coreApi:o,_parse:n,_parseSync:s,_parseInBatches:a,...i}=e;return JSON.parse(JSON.stringify(i))}function Mn(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function $n(e){return typeof e.deserializeWorkerResult=="function"}function ft(e,r){if(!z.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!b&&!t?!1:!!(e.worker&&o)}function lt(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function je(...e){return bo(e)}function bo(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,a)=>s+a.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}function dt(e){let r=new Uint8Array(e),t=[],o=3*4096;for(let n=0;n<r.length;n+=o)t.push(btoa(String.fromCharCode(...r.subarray(n,n+o))));return t.join("")}async function*hr(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*mr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*gr(e){let r="";for await(let t of e){r+=t;let o;for(o=r.indexOf(`
|
|
12
|
+
}`}function Zr(e,r=!0,t){let o=t||new Set;if(e){if(ao(e))o.add(e);else if(ao(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Zr(e[n],r,o)}}return t===void 0?Array.from(o):[]}function ao(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Re(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=Re(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Yr=()=>{},ce=class{name;source;url;getUrl;loadWorker;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&L||typeof Ee<"u"&&!L}constructor(r){let{name:t,source:o,url:n,getUrl:s,loadWorker:a}=r;V(o||n||s||a),this.name=t,this.source=o,this.url=n,this.getUrl=s,this.loadWorker=a,this.onMessage=Yr,this.onError=i=>console.log(i),this.worker=L?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Yr,this.onError=Yr,this.worker.terminate(),this.terminated=!0}unref(){!L&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!L&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(r,t){t=t||Zr(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url||"built-in worker factory"}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){if(this.loadWorker)try{let o=this.loadWorker();if(o)return this._initializeBrowserWorker(o)}catch(o){if(!this.source&&!this.url&&!this.getUrl)throw o}let r=this.url||this.getUrl?.();this._loadableURL=so({source:this.source,url:r});let t=new Worker(this._loadableURL,{name:this.name});return this._initializeBrowserWorker(t)}_initializeBrowserWorker(r){return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=o.startsWith("file:")?new URL(o):o,s=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new Ee(n,{eval:!1,type:s})}else if(this.source)r=new Ee(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var Me=class{name="unnamed";source;url;getUrl;loadWorker;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];activeJobs=new Set;count=0;isDestroyed=!1;static isSupported(){return ce.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.getUrl=r.getUrl,this.loadWorker=r.loadWorker,this.setProps(r)}destroy(r=new Error("Worker pool was destroyed")){this.isDestroyed=!0,this.activeJobs.forEach(o=>o.abort(r)),this.jobQueue.splice(0).forEach(o=>{o.removeAbortListener(),o.onReject(r)}),this.idleQueue.forEach(o=>o.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(s,a,i)=>s.done(i),o=(s,a)=>s.error(a),n){if(n?.aborted)throw n.reason;if(this.isDestroyed)return Promise.reject(new Error("Worker pool was destroyed"));let s=new Promise((a,i)=>{let c=()=>{let l=this.jobQueue.indexOf(u);l>=0&&(this.jobQueue.splice(l,1),u.removeAbortListener(),i(n?.reason))},u={name:r,onMessage:t,onError:o,onStart:a,onReject:i,signal:n,removeAbortListener:()=>n?.removeEventListener("abort",c)};return this.jobQueue.push(u),n?.addEventListener("abort",c,{once:!0}),this});return this._startQueuedJob(),await s}async _startQueuedJob(){if(!this.jobQueue.length)return;let r;try{r=this._getAvailableWorker()}catch(o){let n=this.jobQueue.shift();n?.removeAbortListener(),n?.onReject(o),this._startQueuedJob();return}if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new Ue(t.name,r);t.removeAbortListener();let n=()=>o.abort(t.signal?.reason);t.signal?.addEventListener("abort",n,{once:!0}),t.signal?.aborted&&n(),this.activeJobs.add(o),r.ref(),r.onMessage=s=>{o.isRunning&&t.onMessage(o,s.type,s.payload)},r.onError=s=>t.onError(o,s),t.onStart(o);try{await o.result}catch{}finally{t.signal?.removeEventListener("abort",n),this.activeJobs.delete(o),this.returnWorkerToQueue(r)}}else this.returnWorkerToQueue(r)}returnWorkerToQueue(r){r.terminated||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.terminated||r.destroy(),this.count--):(r.unref(),this.idleQueue.push(r)),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;try{return new ce({name:r,source:this.source,url:this.url,getUrl:this.getUrl,loadWorker:this.loadWorker})}catch(t){throw this.count--,t}}return null}_getMaxConcurrency(){return no?this.maxMobileConcurrency:this.maxConcurrency}};var Cn={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},co=new WeakMap,On=1,q=class e{props;workerPools=new Map;static _workerFarm;static isSupported(){return ce.isSupported()}static getWorkerFarm(r={}){return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(r),e._workerFarm}constructor(r){this.props={...Cn},this.setProps(r),this.workerPools=new Map}destroy(r){for(let t of this.workerPools.values())t.destroy(r);this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n,getUrl:s,loadWorker:a}=r,i=vn(r),c=this.workerPools.get(i);return c||(c=new Me({name:t,source:o,url:n,getUrl:s,loadWorker:a}),c.setProps(this._getWorkerPoolProps()),this.workerPools.set(i,c)),c}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};function vn(e){let{name:r,source:t,url:o,urlKey:n,loadWorker:s}=e,a=t?`source:${t}`:"",i=o||n?`url:${o||n}`:"",c=s?`loadWorker:${Fn(s)}`:"";return[r,a,i,c].filter(Boolean).join("|")}function Fn(e){let r=co.get(e);return r||(r=On++,co.set(e,r)),r}var $e=class{_values;_settlers;_closed;constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(r){return this.enqueue(r)}enqueue(r){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let t=this._settlers.shift();r instanceof Error?t.reject(r):t.resolve({value:r})}else this._values.push(r)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let r=this._values.shift();return r instanceof Error?Promise.reject(r):Promise.resolve({done:!1,value:r})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0,value:void 0})}return new Promise((r,t)=>{this._settlers.push({resolve:r,reject:t})})}};var uo=new Set;function Xr(e){let r=e.version!==Fe?` (worker-utils@${Fe})`:"";return`${e.name}@${e.version}${r}`}function et(e,r={}){let t=L?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,o=rt(e,r),n=r._workerType||r?.core?._workerType;if(!o&&n==="test")if(L)o=`modules/${e.module}/dist/${t}`;else{let s=e.module==="core"&&e.workerNode?.startsWith("worker-utils/")?"worker-utils/workers":"workers",a=e.workerSourceNode||`${s}/${e.id}-worker-node.ts`;o=`modules/${e.module}/src/${a}`}return o||null}function rt(e,r={}){return(r[e.id]||{}).workerUrl||(e.id==="compression"?r.workerUrl:null)||null}function tt(e,r={}){let t=et(e,r),o=typeof e.worker=="string"?e.worker:null,n=t||o||ot(e,!0);return V(n),n}function ot(e,r=!1){let t=L?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,o=e.version;o==="latest"&&(o=to);let n=o?`@${o}`:"",s=`https://unpkg.com/@loaders.gl/${e.module}${n}/dist/${t}`;return r&&Un(e,s),s}function Un(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;uo.has(t)||(uo.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function dr(e,r){if(!q.isSupported())return!1;let t=r?.[e.id];return!!((e.worker||e.loadWorker||t?.workerUrl)&&r?.worker)}function nt(e,r={}){return dr(e,r)?r.workerInBatches!==void 0?r.workerInBatches:!!(e.workerInBatches&&!r.source&&!rt(e,r)):!1}async function Ne(e,r,t={},o={},n={}){fo(t.signal);let s=Xr(e),i=q.getWorkerFarm(t).getWorkerPool(po(e,t,s)),c=t.jobName||e.name,u=await i.startJob(c,mo.bind(null,o,t),void 0,t.signal);try{t.signal?.aborted&&u.abort(lo(t.signal));let{signal:l,onProgress:f,...d}=t,p=Re(d),x=Re(n);return u.isRunning&&u.postMessage("process",{input:r,options:p,context:x}),(await u.result).result}catch(l){throw u.abort(l),l}}function st(e,r,t={},o={},n={}){return Mn(e,r,t,o,n)}async function*Mn(e,r,t,o,n){fo(t.signal);let s=Xr(e),i=q.getWorkerFarm(t).getWorkerPool(po(e,t,s)),c=new $e,u=$n(r),l=!1,f=!1,d=!1,p=Promise.resolve(),x=new Error("Worker batch job failed"),T=()=>{!f&&!d&&(d=!0,Nn(u))},$=()=>{l||(l=!0,c.close())},me=m=>{l||(l=!0,c.enqueue(x),c.close())},v=await i.startJob(t.jobName||e.name,(m,Se,N)=>{switch(Se){case"progress":go(m,t,N);break;case"input-request":p=p.then(async()=>{if(!m.isRunning)return;let h=await u.next();m.isRunning&&(h.done?(f=!0,m.postMessage("input-done",{})):m.postMessage("input-batch",{input:h.value}))}).catch(h=>m.abort(h));break;case"output-batch":c.push(N.result);break;case"done":m.done(N),$();break;case"error":{let h=new Error(N.error||"Worker batch processing failed");m.error(h),me(h);break}case"process":mo(o,t,m,Se,N);break;default:{let h=new Error(`Unexpected worker batch message: ${Se}`);m.error(h),me(h);break}}},void 0,t.signal).catch(m=>{throw T(),m});v.result.catch(m=>{me(m),T()});try{let{signal:m,onProgress:Se,...N}=t;v.isRunning&&v.postMessage("process-in-batches",{options:Re(N),context:Re(n)});try{for await(let h of c)yield h,v.isRunning&&v.postMessage("output-ack",{})}catch(h){throw h===x&&await v.result,h}await v.result}finally{v.isRunning&&v.abort(ho("Worker batch iterator was closed")),T()}}function fo(e){if(e?.aborted)throw lo(e)}function lo(e){return e?e.reason:ho("Worker job was aborted")}function ho(e){let r=new Error(e);return r.name="AbortError",r}function $n(e){return Symbol.asyncIterator in e?e[Symbol.asyncIterator]():(async function*(){yield*e})()}function Nn(e){try{Promise.resolve(e.return?.()).catch(()=>{})}catch{}}function po(e,r,t){if(r.source)return{name:t,source:r.source};let o=et(e,r);return o?{name:t,url:o}:L&&e.loadWorker?{name:t,loadWorker:e.loadWorker,getUrl:()=>tt(e,r),urlKey:ot(e)}:{name:t,url:tt(e,r)}}async function mo(e,r,t,o,n){switch(o){case"progress":go(t,r,n);break;case"done":t.done(n);break;case"error":t.error(new Error(n.error));break;case"process":let{id:s,input:a,options:i}=n;try{if(!e.process){t.postMessage("error",{id:s,error:"Worker not set up to process on main thread"});return}let c=await e.process(a,{...i,signal:r.signal,onProgress:r.onProgress},void 0,n.context||{});t.postMessage("done",{id:s,result:c})}catch(c){let u=c instanceof Error?c.message:"unknown error";t.postMessage("error",{id:s,error:u})}break;default:console.warn(`process-on-worker: unknown message ${o}`)}}function go(e,r,t){if(!(!e.isRunning||!t.progress))try{r.onProgress?.(t.progress)}catch(o){e.abort(o)}}function De(e,r=Fe){V(e,"no worker provided");let t=e.version;return!(!r||!t)}function it(e,r){let t=r?.[e.id]?.workerUrl;if(r?.core?.worker===!1||!(e.worker||e.loadWorker||t)||r?.core?.credentials?.some(s=>s.type==="request"||"token"in s&&typeof s.token=="function"))return!1;let o=hr(r),n=o._nodeWorkers;return!L&&!n||e.id==="las"&&(r?.las?.shape??"arrow-table")==="arrow-table"||e.id==="csv"&&!Dn(r)?!1:!!dr(e,o)}function at(e,r){let t=r?.parquet;return e.id==="parquet"&&typeof t?.keyRetriever=="function"?!1:!!(e.workerInBatches&&it(e,r)&&nt(e,hr(r)))}function ct(e,r,t,o,n=e){if(!it(e,t))return!1;if(t?.core?.worker!=="auto"||!n.getWorkerEstimate)return!0;try{let s=n.getWorkerEstimate(r,t,o);return s===void 0||!Number.isFinite(s)||s<0||s>1?!0:s>=(t.core?.workerThreshold??.1)}catch{return!0}}async function ut(e,r,t,o,n,s){let a=s||yo(t)||o?.signal,i=await Ne(e,r,{...hr(t,e),signal:a,onProgress:t?.onProgress||o?.reportProgress},{process:async(c,u,l,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let{_loaderIds:d,_loaderIsArray:p,...x}=f||{},T=o||f?{...o,...x}:void 0;return await wo(n,c,u,T,bo(e,d,p,o,t))}},ko(o));return jn(e)?e.deserializeWorkerResult(i,t,o):i}async function*ft(e,r,t,o,n,s){let a=s||yo(t)||o?.signal,i=st(e,r,{...hr(t,e),signal:a,onProgress:t?.onProgress||o?.reportProgress},{process:async(c,u,l,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let{_loaderIds:d,_loaderIsArray:p,...x}=f||{},T=o||f?{...o,...x}:void 0;return await wo(n,c,u,T,bo(e,d,p,o,t))}},ko(o));for await(let c of i)yield e.deserializeWorkerBatch?e.deserializeWorkerBatch(c,t,o):c}function yo(e){if(e?.signal)return e.signal;let r=e?.parquet?.signal;if(typeof AbortSignal<"u"&&r instanceof AbortSignal)return r}function wo(e,r,t,o,n){return!n&&e.length<=2?e(r,t):e(r,n,t,o)}function bo(e,r,t,o,n){if(!r)return;let s=new Map,a=new Set;for(let u of[e,...o?.loaders||[]])c(u);let i=r.map(u=>{let l=s.get(u);if(!l)throw new Error(`Worker requested unknown loader "${u}". Declare it in loader.subloaders or pass it in context.loaders.`);return l});return t?i:i[0];function c(u){if(!a.has(u)){a.add(u),s.set(u.id,u);for(let[l,f]of Object.entries(u.subloaders||{})){let d=n?.core?.subloaders?.[l]||f;c(d),s.set(f.id,d)}}}}function hr(e={},r){let t={...e,signal:void 0,onProgress:void 0,...e.core?{core:{...e.core,authentications:void 0}}:{}},o=JSON.parse(JSON.stringify(t,(s,a)=>{if(!(typeof AbortSignal<"u"&&a instanceof AbortSignal))return typeof a=="bigint"?null:a}));xo(t,o);let n={...o.core,...o};return n.worker==="auto"&&(n.worker=!0),r&&(n._workerLoaderId=r.id),n}function xo(e,r){if(!(!r||typeof r!="object"))for(let t of Object.keys(r)){let o=e?.[t];typeof o=="bigint"?r[t]=o:xo(o,r[t])}}function ko(e){if(!e)return{};let{fetch:r,loaders:t,coreApi:o,signal:n,reportProgress:s,_parse:a,_parseSync:i,_parseInBatches:c,...u}=e;return JSON.parse(JSON.stringify(u))}function Dn(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function jn(e){return typeof e.deserializeWorkerResult=="function"}function lt(e,r){if(!q.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!S&&!t?!1:!!(e.worker&&o)}function dt(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function je(...e){return To(e)}function To(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,a)=>s+a.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}function ht(e){let r=new Uint8Array(e),t=[],o=3*4096;for(let n=0;n<r.length;n+=o)t.push(btoa(String.fromCharCode(...r.subarray(n,n+o))));return t.join("")}async function*pr(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*mr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*gr(e){let r="";for await(let t of e){r+=t;let o;for(o=r.indexOf(`
|
|
13
13
|
`);o>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n,o=r.indexOf(`
|
|
14
|
-
`)}}r.length>0&&(yield r)}async function*yr(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function wr(e,r){let t=Dn(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function G(e){let r=[];for await(let t of e)r.push(Nn(t));return je(...r)}function Nn(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return xo(r,t,o)}return xo(e)}function xo(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Dn(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return jn(r)}return e}function jn(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function ze(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var xe=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=ze(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ze()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Ie=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof xe?n=r:n=new xe(t,o),this.stats[t]=n),n}};var zn="Queued Requests",qn="Active Requests",Hn="Cancelled Requests",Vn="Queued Requests Ever",Gn="Active Requests Ever",Qn={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},Te=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Qn,...r},this.stats=new Ie({id:this.props.id}),this.stats.get(zn),this.stats.get(qn),this.stats.get(Hn),this.stats.get(Vn),this.stats.get(Gn)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this.scheduleRefill())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}scheduleRefill(){this.updateTimer===null&&(this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};function xr(e,r=[]){return e.every(br)?e:e.map((t,o)=>{if(br(t))return t;let n=r.find(a=>a.type===t?.type);if(!n)throw new Error(`No authentication class registered for credential at index ${o}.`);let s;try{s=new n(t)}catch{throw new Error(`Invalid authentication configuration at index ${o}.`)}if(!br(s))throw new Error(`Authentication class returned an invalid credential at index ${o}.`);return s})}function ke(e){if(!e.core?.credentials?.length)return e;let r=xr(e.core.credentials,e.core.authentications);return r===e.core.credentials?e:{...e,core:{...e.core,credentials:r}}}async function B(e,r,t){if(!t.core?.credentials?.length||t.core.credentials.every(br))return t;let o=await e?.getAuthentications?.(r,t);return o?.length?ke({...t,core:{...t.core,authentications:[...t.core?.authentications||[],...o]}}):ke(t)}function br(e){return!e||typeof e!="object"||typeof e.id!="string"||!Array.isArray(e.origins)?!1:e.type==="request"?typeof e.authenticate=="function":(e.type==="header"||e.type==="query-parameter")&&typeof e.name=="string"&&(typeof e.token=="string"||typeof e.token=="function")&&Array.isArray(e.refreshStatusCodes)}var To=Symbol("loaders.gl.authenticated-fetch"),pt=new WeakMap;function ht(e){let r=e.fetch||((f,d)=>fetch(f,d)),t=r[To],o=new Map(t?.credentialResolutions),n=xr(e.credentials.map(f=>o.get(f)||f),e.authentications);if(e.credentials.forEach((f,d)=>{o.set(f,n[d])}),!e.fetchOptions&&(!n.length||t?.credentials.length===n.length&&n.every((f,d)=>f===t.credentials[d])))return r;let s=t?.fetch||r,a=t?[...new Set([...n,...t.credentials])]:n,i=ko(t?.fetchOptions||{},e.fetchOptions),c=a.filter(f=>f.type!=="request"),u=a.filter(f=>f.type==="request");for(let f of u)_o(f.origins);let l=async(f,d={})=>{if(d=ko(i,d),d.signal?.aborted)throw qe();if(!a.length)return s(f,d);let p=Zn(f),T=p?await Ao(p,d,c):{url:f,options:d,credentials:[]},k=await So(T,u,"request"),m=await s(k.url,k.options),me=[];for(let ge of T.credentials){let{credential:te}=ge;typeof te.token=="function"&&(Tr(d)||te.canReplayRequest?.(f,d))&&(Tr(k.options)||te.canReplayRequest?.(k.url,k.options))&&(te.refreshStatusCodes.includes(m.status)||await te.shouldRefresh?.(m))&&me.push(ge)}let R=Tr(d)&&Tr(k.options)&&k.credentials.some(ge=>ge.refreshStatusCodes?.includes(m.status));if(!me.length&&!R)return m;if(d.signal?.aborted)throw qe();let q=new Map;if(await Promise.all(me.map(async({credential:ge})=>{let te=await Jn(ge,f,m);te&&q.set(ge,te)})),!q.size&&!R)return m;if(await m.body?.cancel().catch(()=>{}),d.signal?.aborted)throw qe();let U=p?await Ao(p,d,c,q,T.credentials):{url:f,options:d},I=await So(U,u,"retry",m);return s(I.url,I.options)};return Object.defineProperty(l,To,{value:{fetch:s,credentials:a,credentialResolutions:o,fetchOptions:i}}),l}function ko(e,r){let t={...e,...r};if(e.headers||r?.headers){let o=new Headers(e.headers);new Headers(r?.headers).forEach((n,s)=>o.set(s,n)),t.headers=o}return t}async function So(e,r,t,o){let n=[],s=e.options.signal;for(let a of r){let i=Lo(e.url);if(!i||!_o(a.origins).includes(i))continue;if(s?.aborted)throw qe();let c=await a.authenticate({url:e.url,options:{...e.options,headers:new Headers(e.options.headers)},reason:t,response:o?{status:o.status,headers:new Headers(o.headers)}:void 0});if(!c||typeof c.url!="string"||!c.options||typeof c.options!="object")throw new Error("Authentication callback returned an invalid request.");e={url:c.url,options:{...c.options,...s?{signal:s}:{}}},n.push(a)}if(s?.aborted)throw qe();return{...e,credentials:n}}function Lo(e){try{let r=new URL(e);return!r.host||r.username||r.password?null:r.origin!=="null"?r.origin:`${r.protocol}//${r.host}`}catch{return null}}function _o(e){if(!e.length)throw new Error("Request authentication requires at least one exact origin.");return e.map(r=>{let t=Lo(r),o;try{o=new URL(r)}catch{throw new Error("Invalid request authentication origin.")}if(!t||o.pathname&&o.pathname!=="/"||o.search||o.hash)throw new Error("Invalid request authentication origin.");return t})}async function Ao(e,r,t,o=new Map,n=[]){let s=new URL(e),a=new Headers(r.headers),i=[],c=new Map(n.map(({credential:u,token:l})=>[u,l]));for(let u of t){if(!u.origins.includes(s.origin))continue;let l=o.get(u),f=c.get(u),d=u.type==="query-parameter"&&f!==void 0,p=u.type==="header"&&f!==void 0;if(u.type==="query-parameter"&&s.searchParams.has(u.name)&&!d||u.type==="header"&&a.has(u.name)&&!p)continue;let T=l??f??await Kn(u.token,{url:e.toString(),reason:"request"});T&&(u.type==="query-parameter"?s.searchParams.set(u.name,T):a.set(u.name,`${u.prefix||""}${T}`),i.push({credential:u,token:T}))}return{url:s.toString(),options:{...r,headers:a},credentials:i}}async function Jn(e,r,t){let o=pt.get(e);if(o)return o;let n=e.token,s=Promise.resolve(n({url:r,reason:"refresh",response:{status:t.status,headers:t.headers}})).finally(()=>pt.delete(e));return pt.set(e,s),s}async function Kn(e,r){return typeof e=="function"?e(r):e}function Zn(e){try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r:null}catch{return null}}function Tr(e){let r=(e.method||"GET").toUpperCase();return["GET","HEAD","OPTIONS","PUT","DELETE"].includes(r)?!(e.body&&typeof ReadableStream<"u"&&e.body instanceof ReadableStream):!1}function qe(){return new DOMException("The operation was aborted.","AbortError")}var mt="",Bo={};function kr(e){mt=e}function Sr(){return mt}function Q(e){for(let r in Bo)if(e.startsWith(r)){let t=Bo[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${mt}${e}`),e}var J={};Ht(J,{dirname:()=>Xn,filename:()=>Yn,join:()=>es,resolve:()=>rs});function Eo(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=globalThis.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Yn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function Xn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function es(...e){return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp("^/"),"")),o!==e.length-1&&(t=t.replace(new RegExp("/$"),"")),t)),e.join("/")}function rs(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let a;s>=0?a=r[s]:(n===void 0&&(n=Eo()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===He)}return t=ts(t,!o),o?`/${t}`:t.length>0?t:"."}var He=47,gt=46;function ts(e,r){let t="",o=-1,n=0,s,a=!1;for(let i=0;i<=e.length;++i){if(i<e.length)s=e.charCodeAt(i);else{if(s===He)break;s=He}if(s===He){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==gt||t.charCodeAt(t.length-2)!==gt){if(t.length>2){let c=t.length-1,u=c;for(;u>=0&&t.charCodeAt(u)!==He;--u);if(u!==c){t=u===-1?"":t.slice(0,u),o=i,n=0,a=!1;continue}}else if(t.length===2||t.length===1){t="",o=i,n=0,a=!1;continue}}r&&(t.length>0?t+="/..":t="..",a=!0)}else{let c=e.slice(o+1,i);t.length>0?t+=`/${c}`:t=c,a=!1}o=i,n=0}else s===gt&&n!==-1?++n:n=-1}return t}var os="5.0.0-alpha.13",Ar={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:os,encoding:"json",format:"json",extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Ro,parse:async e=>Ro(new TextDecoder().decode(e)),options:{}};function Ro(e){return JSON.parse(e)}function _r(e){return e&&typeof e=="object"&&e.isBuffer}function K(e){if(_r(e))return e;if(e instanceof ArrayBuffer)return e;if(Qr(e))return Lr(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Z(e){if(e instanceof ArrayBuffer)return e;if(Qr(e))return Lr(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Lr(r,t,o)}function Lr(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Br(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var Ve=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t,o){if(o?.aborted)throw new Error("Request aborted");let n=await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer();if(o?.aborted)throw new Error("Request aborted");return n}};var Ge=new Error("Not implemented"),Qe=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw b?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/core/polyfills first.")}async read(r,t){throw Ge}async write(r,t,o){throw Ge}async stat(){throw Ge}async truncate(r){throw Ge}async append(r){throw Ge}async close(){}};function y(e){return!!(e&&typeof e=="object"&&"createDataSource"in e)}var Se=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var ns=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,ss=/^([-\w.]+\/[-\w.+]+)/;function yt(e,r){return e.toLowerCase()===r.toLowerCase()}function Io(e){let r=ss.exec(e);return r?r[1]:e}function wt(e){let r=ns.exec(e);return r?r[1]:""}var Wo=/\?.*/;function Po(e){let r=e.match(Wo);return r&&r[0]}function ue(e){return e.replace(Wo,"")}function Co(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function $(e){return w(e)?e.url:g(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function We(e){if(w(e)){let r=e.headers.get("content-type")||"",t=ue(e.url);return Io(r)||wt(t)}return g(e)?e.type||"":typeof e=="string"?wt(e):""}function Oo(e){return w(e)?e.headers["content-length"]||-1:g(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Je(e){if(w(e))return e;let r={},t=Oo(e);t>=0&&(r["content-length"]=String(t));let o=$(e),n=We(e);n&&(r["content-type"]=n);let s=await as(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let a=new Response(e,{headers:r});return Object.defineProperty(a,"url",{value:o}),a}async function Er(e){if(!e.ok)throw await is(e)}async function is(e){let r=Co(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new Se(t,o)}async function as(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${dt(t)}`}return null}function cs(e){return!us(e)&&!fs(e)}function us(e){return e.startsWith("http:")||e.startsWith("https:")}function fs(e){return e.startsWith("data:")}async function E(e,r){if(typeof e=="string"){let t=Q(e);return cs(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Je(e)}async function bt(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await ls(o)}async function ls(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var Ke=new M({id:"loaders.gl"}),Rr=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ir=class{console;onceMessages=new Set;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}once(...r){let t=String(r[0]);return this.onceMessages.has(t)?()=>{}:(this.onceMessages.add(t),this.console.info.bind(this.console,...r))}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var Wr={searchParams:void 0,core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new Ir,useLocalLibraries:!1,subloaders:void 0,CDN:"https://unpkg.com/@loaders.gl",worker:!0,workerThreshold:.1,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:b,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Fo={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",shape:"core.shape",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var xt=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","workerThreshold","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function Ze(e,r){let t=r?.searchParams;if(!t||Object.keys(t).length===0||/^(?:data|blob):/i.test(e))return e;let o=e.indexOf("#"),n=o>=0?e.slice(o):"",s=o>=0?e.slice(0,o):e,a=s.indexOf("?"),i=a>=0?s.slice(0,a):s,c=a>=0?s.slice(a+1):"",u=new URLSearchParams(c),l=new URLSearchParams;for(let[d,p]of Object.entries(t))u.has(d)||l.set(d,String(p));let f=l.toString();return`${i}${a>=0?`?${c}`:""}${f?`${a>=0?"&":"?"}${f}`:""}${n}`}function Ye(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function P(){let e=Ye();return e.globalOptions=e.globalOptions||{...Wr,core:{...Wr.core}},Y(e.globalOptions)}function Pr(e){let r=Ye(),t=P();r.globalOptions=$o(t,e),Jr(e.modules)}function fe(e,r,t,o){t=t||[],t=Array.isArray(t)?t:[t],ds(e,t),vo(e);let n=Y($o(r,e,o));return vo(n),n}function Y(e){let r=gs(e);No(r);for(let t of xt)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function ds(e,r){Uo(e,null,Wr,Fo,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};Uo(o,t.id,n,s,r)}}function vo(e){let r=e.core?.workerThreshold;if(r!==void 0&&(!Number.isFinite(r)||r<0||r>1))throw new Error("core.workerThreshold must be a finite number between 0 and 1")}function Uo(e,r,t,o,n){let s=r||"Top level",a=r?`${r}.`:"";for(let i in e){let c=!r&&_(e[i]),u=i==="baseUri"&&!r,l=i==="workerUrl"&&r;if(!(i in t)&&!u&&!l){if(i in o)Ke.level>0&&Ke.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&Ke.level>0){let f=ps(i,n);Ke.warn(`${s} loader option '${a}${i}' not recognized. ${f}`)()}}}}function ps(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let a=s.toLowerCase();(t.startsWith(a)||a.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function $o(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),No(n),n.core?.log===null&&(n.core={...n.core,log:new Rr}),Mo(n,Y(P()));let s=Y(r);return Mo(n,s),hs(n,s,e),ms(n,t),ys(n),n}function hs(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!W(n)||!("shape"in n))return;let s=P()[t.id];if(W(s)&&"shape"in s)return;let a=r[t.id];if(W(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...W(i)?i:{},shape:o}}function Mo(e,r){for(let t in r)if(t in r){let o=r[t];W(o)&&W(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function ms(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=J.dirname(ue(r)))}function gs(e){let r={...e};return e.core&&(r.core={...e.core}),r}function No(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of xt)if(e[t]!==void 0){e.core||={};let n=e.core;n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function ys(e){let r=e.core;if(r)for(let t of xt)r[t]!==void 0&&(e[t]=r[t])}function C(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Xe(e){ye(e,"null loader"),ye(C(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var Do=()=>{let e=Ye();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Tt(e){let r=Do();e=Array.isArray(e)?e:[e];for(let t of e){let o=Xe(t);r.find(n=>o===n)||r.unshift(o)}}function jo(){return Do()}function kt(){let e=Ye();e.loaderRegistry=[]}var ws=/\.([^.]+)$/;async function F(e,r=[],t,o){if(!Ho(e))return null;let n=Y(t||{});if(n.core||={},e instanceof Response&&zo(e)){let a=await e.clone().text(),i=O(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=O(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(g(e)&&(e=await e.slice(0,10).arrayBuffer(),s=O(e,r,n,o)),!s&&e instanceof Response&&zo(e)){let a=await e.clone().text();s=O(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(Vo(e));return s}function zo(e){let r=We(e);return!!(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function O(e,r=[],t,o){if(!Ho(e))return null;let n=Y(t||{});if(n.core||={},r&&!Array.isArray(r))return Xe(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...jo()),xs(s);let a=bs(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(Vo(e));return a}function bs(e,r,t,o){let n=$(e),s=We(e),a=ue(n)||o?.url,i=null,c="",u=t?.core&&"type"in t.core?t.core.type:void 0;return u&&u!=="auto"&&(i=Ss(r,u),c=i?`match forced by supplied source type ${u}`:""),t?.core?.mimeType&&(i=St(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||As(r,a),c=c||(i?`matched source url ${a}`:""),i=i||Ts(r,a),c=c||(i?`matched url ${a}`:""),i=i||St(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||_s(r,e),c=c||(i?`matched initial data ${Go(e)}`:""),!i&&g(e)&&(i=Ls(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||St(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&Gr.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function Ho(e){return!(e instanceof Response&&e.status===204)}function Vo(e){let r=$(e),t=We(e),o="No valid loader found (";o+=r?`${J.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Go(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function xs(e){for(let r of e)Xe(r)}function Ts(e,r){let t=r&&ws.exec(r),o=t&&t[1];return o?ks(e,o):null}function ks(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function Ss(e,r){for(let t of e)if(y(t)&&t.type===r)return t;return null}function As(e,r){if(!r)return null;for(let t of e)if(y(t)&&t.testURL(r))return t;return null}function Ls(e,r){for(let t of e)if(y(t)&&t.testData?.(r))return t;return null}function St(e,r){for(let t of e)if(t.mimeTypes?.some(o=>yt(r,o))||yt(r,`application/x.${t.id}`))return t;return null}function _s(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(Bs(r,t))return t}else if(ArrayBuffer.isView(r)){if(qo(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&qo(r,0,t))return t;return null}function Bs(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function qo(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Es(e,r,t,n))}function Es(e,r,t,o){if(se(o))return lt(o,e,o.byteLength);switch(typeof o){case"function":return o(Z(e));case"string":let n=At(e,r,o.length);return o===n;default:return!1}}function Go(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?At(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?At(e,0,r):""}function At(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var Rs=256*1024;function*Qo(e,r){let t=r?.chunkSize||Rs,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),a=e.slice(o,o+s);o+=s,yield Z(n.encode(a))}}function*Jo(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),a=new Uint8Array(e,o,n);new Uint8Array(s).set(a),o+=n,yield s}}async function*Ko(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function Lt(e,r){return b?Is(e,r):Ws(e,r)}async function*Is(e,r){let t=e.getReader(),o,n=!1,s=!1,a=!1;try{for(;;){let i=o||t.read();o=void 0;let c;try{c=await i}catch(f){throw s=!0,f}let{done:u,value:l}=c;if(u){n=!0;return}r?._streamReadAhead&&(o=t.read(),o.catch(()=>{})),yield K(l)}}catch(i){throw a=!0,i}finally{let i=!1,c;if(!n&&!s)try{await t.cancel()}catch(u){i=!0,c=u}try{t.releaseLock()}catch(u){i||(i=!0,c=u)}if(!a&&i)throw c}}async function*Ws(e,r){for await(let t of e)yield K(t)}function le(e,r){if(typeof e=="string")return Qo(e,r);if(e instanceof ArrayBuffer)return Jo(e,r);if(g(e))return Ko(e,r);if(D(e))return Lt(e,r);if(w(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Lt(t,r)}throw new Error("makeIterator")}var er="Cannot convert supplied data type";function _t(e,r,t){if(r.text&&typeof e=="string")return e;if(_r(e)&&(e=e.buffer),se(e)){let o=Br(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):K(o)}throw new Error(er)}async function Zo(e,r,t){if(typeof e=="string"||se(e))return _t(e,r,t);if(g(e)&&(e=await Je(e)),w(e))return await Er(e),r.binary?await e.arrayBuffer():await e.text();if(D(e)&&(e=le(e,t)),H(e)||ie(e))return G(e);throw new Error(er)}async function Yo(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if(se(e))return K(Br(e));if(g(e)&&(e=await Je(e)),w(e))return await Er(e),await e.arrayBuffer();if(D(e)&&(e=le(e,r)),H(e)||ie(e))return G(e);throw new Error(er)}async function Xo(e,r){if(Be(e)&&(e=await e),be(e))return e;if(w(e)){await Er(e);let t=await e.body;if(!t)throw new Error(er);return le(t,r)}return g(e)||D(e)?le(e,r):ie(e)||H(e)?e:Ps(e)}function Ps(e){if(ArrayBuffer.isView(e))return(function*(){yield K(e)})();if(se(e))return(function*(){yield K(e)})();if(be(e))return e;if(H(e))return e[Symbol.iterator]();throw new Error(er)}function Ae(e,r){let t=P(),o=e||t,n=o.fetch??o.core?.fetch,s;return typeof n=="function"?s=n:_(n)?s=r?.fetch||E:r?.fetch?s=r.fetch:s=E,ht({fetch:s,credentials:o.core?.credentials||[],authentications:o.core?.authentications,fetchOptions:_(n)?n:void 0})}var Bt=new Map,Cr=new Map;async function x(e,r,t){if(y(e)){let i=e.preload?await e.preload(t||"",r):e;if(!y(i))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return i}if(rr(e))return e;let o=en(e,r),n=Cr.get(e)?.get(o);if(n)return n;let s=Bt.get(e);s||(s=new Map,Bt.set(e,s));let a=s.get(o);return a||(a=Cs(e,r,t).then(i=>{let c=Cr.get(e);return c||(c=new Map,Cr.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&Bt.delete(e),i}),s.set(o,a)),await a}function Or(e){if(e.subloaders&&!Rt.has(e)){let t=rn.get(e);if(t)return t;if(!rr(e))return null}if(rr(e))return e;let r=en(e);return Cr.get(e)?.get(r)||null}function rr(e){let r=e;return!!(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function Cs(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(rr(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=Os(e,r);return await Fs(o,e.id)}function Os(e,r){if((r?._workerType||r?.core?._workerType)==="test"){let o=`modules/${e.module}/src/${e.id}-loader.ts`;return typeof window<"u"?`/${o}`:typeof process<"u"&&process.cwd?new URL(o,`file://${process.cwd()}/`).toString():o}throw new Error(`${e.id} loader does not provide a parser implementation. Import a parser-bearing loader directly, or use preload() before parse/load.`)}function en(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||o?.backend||"")}async function Fs(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&rr(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}var Rt=new WeakSet,rn=new WeakMap,Et=new WeakMap;async function tn(e,r,t){return Rt.has(e)?await x(e,r,t):(vs(e,r),await on(e,r,t))}async function on(e,r,t){if(!r){let s=Et.get(e);if(s)return await s}let o=Us(e,r,t);r||(Et.set(e,o),o.catch(()=>Et.delete(e)));let n=await o;return r||rn.set(e,n),n}function nn(e,r){let t=r?.core?.subloaders||{};return Object.fromEntries(Object.entries(e.subloaders||{}).map(([o,n])=>[o,Object.hasOwn(t,o)?t[o]:n]))}function vs(e,r){t(e,[]);function t(o,n){if(n.includes(o))throw new Error(`Subloader cycle: ${[...n,o].map(s=>s.id).join(" -> ")}`);for(let s of Object.values(nn(o,r)))t(s,[...n,o])}}async function Us(e,r,t){let[o,n]=await Promise.all([x(e,r,t),Promise.all(Object.entries(nn(e,r)).map(async([c,u])=>[c,await on(u,r,t)]))]),s=Object.fromEntries(n),a=ae(o.options,r||{});a.core={...a.core,worker:!1};let i={...o,options:a,subloaders:s};delete i.preload,i.worker=!1;for(let c of["parseBlob","createDataSource","parse","parseSync","parseText","parseTextSync","parseInBatches","parseFile","parseFileInBatches","parseUrl"]){let u=o[c];typeof u=="function"&&(i[c]=(l,f,d)=>{let p=ae(r,f||{});return u.call(o,l,{...p,core:{...p.core,subloaders:r?.core?.subloaders||f?.core?.subloaders,worker:!1},[e.id]:{...p[e.id],subloaders:s}},d)})}return Rt.add(i),i}async function X(e,r,t,o){r&&!Array.isArray(r)&&!C(r)&&(o=void 0,t=r,r=void 0),t=t||{};let n=e.url||"",a=Pe(r,o),i=await F(n,a,t);if(!i)return null;if(y(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=fe(t,i,a,n),u=!i.getAuthentications&&c.core?.credentials?.length?await x(i,c,n||o?.url):i,l=await B(u,n,c);return o=de({url:n,_parse:h,loaders:a},l,o||null),await Ms(i,e,l,o)}async function Ms(e,r,t,o){De(e),t=ae(e.options,t);let n=await x(e,t,o.url);if(n.parseFile)return await n.parseFile(r,t,o);if(n.parse){let a=r.bigsize>0n?Number(r.bigsize):r.size;if(!a)throw new Error(`${e.id} loader - cannot fall back to parse without a file size`);let i=await r.read(0n,a);return await h(i,n,t,o)}throw new Error(`${e.id} loader - no file parser found`)}function ee(e,r,t,o){!Array.isArray(r)&&!C(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=Pe(r,o),a=O(e,s,t);if(!a)return null;if(y(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=fe(t,a,s),c=$(e),u=()=>{throw new Error("parseSync called parse (which is async")};o=de({url:c,_parseSync:u,_parse:u,loaders:r},i,o||null);let l=Or(a);return $s(l||a,e,i,o)}function $s(e,r,t,o){if(r=_t(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw e.preload?new Error(`${e.name} loader: 'parseSync' requires a parser-bearing loader. Import the loader implementation directly, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}async function L(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!C(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=$(e),a=await F(e,r,t);if(!a)return[];let i=fe(t,a,n,s),c=!a.getAuthentications&&i.core?.credentials?.length?await x(a,i,s||o?.url):a,u=await B(c,s||"",i);o=de({url:s,_parseInBatches:L,_parse:h,loaders:n},u,o||null);let l=await x(a,u,o.url);return await Ns(a,l,e,u,o)}async function Ns(e,r,t,o,n){let s=await Ds(r,t,o,n);if(!o?.core?.metadata)return s;let a={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:n},data:[],bytesUsed:0};async function*i(c){yield a,yield*c}return i(s)}async function Ds(e,r,t,o){let n=await Xo(r,t),s=await Vs(n,t?.core?.transforms||[]);return e.parseInBatches?e.id==="csv"&&b&&pr(e,t)?ct(e,s,t,o,h):e.parseInBatches(s,t,o):js(s,e,t,o)}async function*js(e,r,t,o){let n=await G(e),s=await h(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield zs(s,r)}function zs(e,r){let t=qs(e)?{...e,length:Hs(e),batchType:"data"}:{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}function qs(e){if(!e||typeof e!="object"||!("shape"in e))return!1;let r=e;switch(r.shape){case"array-row-table":case"object-row-table":return Array.isArray(r.data);case"geojson-table":return Array.isArray(r.features);case"columnar-table":return!!(r.data&&typeof r.data=="object");case"arrow-table":return!!(r.data&&typeof r.data=="object"&&"numRows"in r.data);default:return!1}}function Hs(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let r of Object.values(e.data))return r.length||0;return 0}}async function Vs(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function re(e,r,t,o){let n;return!Array.isArray(r)&&!C(r)?(o=void 0,t=r,n=void 0):n=r,Array.isArray(e)?e.map(a=>sn(a,n,t||{})):sn(e,n,t||{})}async function sn(e,r,t){if(typeof e=="string"){let o=e,n=await F(o,r,{...t,core:{...t.core,nothrow:!0}}),s=n&&!n.getAuthentications&&t.core?.credentials?.length?await x(n,t,o):n;t=await B(s,o,t);let i=await Ae(t)(Ze(o,t));return Array.isArray(r)?await L(i,r,t):await L(i,r,t)}return Array.isArray(r)?await L(e,r,t):await L(e,r,t)}async function pe(e,r,t,o){let n,s;if(!Array.isArray(r)&&!C(r)?(n=[],s=r,o=void 0):(n=r,s=t),s||=P(),!Array.isArray(n)&&y(n)){let c=await It(n,e,s);s=await B(n.getAuthentications?n:c,typeof e=="string"?e:"",s||{});let u={fetchFile:E,parse:h,parseFile:X,parseSync:ee,parseInBatches:L,load:pe,loadInBatches:re};return c.createDataSource(e,s||{},u)}if(Array.isArray(n)&&n.length===1&&y(n[0])){let c=await It(n[0],e,s);s=await B(n[0].getAuthentications?n[0]:c,typeof e=="string"?e:"",s||{});let u={fetchFile:E,parse:h,parseFile:X,parseSync:ee,parseInBatches:L,load:pe,loadInBatches:re};return c.createDataSource(e,s||{},u)}if(typeof e=="string"||g(e)){let c=await F(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&y(c)){let u=await It(c,e,s);return s=await B(c.getAuthentications?c:u,typeof e=="string"?e:"",s||{}),u.createDataSource(e,s||{},{fetchFile:E,parse:h,parseFile:X,parseSync:ee,parseInBatches:L,load:pe,loadInBatches:re})}if(c&&typeof e=="string"){let u=await x(c,s,e);s=await B(c.getAuthentications?c:u,e,s||{});let l=u.parseUrl;if(l){let f=Ze(e,s);return await l(f,s,o)}}}s&&(s=ke(s));let a=Ae(s),i=e;return typeof e=="string"&&(i=await a(Ze(e,s))),g(e)&&(i=await a(e)),typeof e=="string"&&(Y(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await h(i,n,s,o):await h(i,n,s,o)}async function It(e,r,t){if(!e.preload)return e;let o=await e.preload(typeof r=="string"?r:"",t);if(!y(o))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return o}var he=Object.freeze({fetchFile:E,parse:h,parseFile:X,parseSync:ee,parseInBatches:L,load:pe,loadInBatches:re});function de(e,r,t){if(t)return{...t,coreApi:t.coreApi||e.coreApi||he,_parse:t._parse||e._parse,fetch:Ae(r,t)};let o={...e,fetch:Ae(r,e),coreApi:e.coreApi||he};if(o.url){let n=ue(o.url);o.baseUrl=n,o.queryString=Po(o.url),o.filename=J.filename(n),o.baseUrl=J.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Pe(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function h(e,r,t,o){r&&!Array.isArray(r)&&!C(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=$(e),a=Pe(r,o),i=await F(e,a,t);if(!i)return null;if(y(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=fe(t,i,a,n),u=!i.getAuthentications&&c.core?.credentials?.length?await x(i,c,n||o?.url):i,l=await B(u,n||"",c);return o=de({url:n,_parse:h,loaders:a},l,o||null),await Gs(i,e,l,o)}async function Gs(e,r,t,o){if(De(e),t=ae(e.options,t),w(r)){let{ok:s,redirected:a,status:i,statusText:c,type:u,url:l}=r,f=Object.fromEntries(r.headers.entries());o.response={headers:f,ok:s,redirected:a,status:i,statusText:c,type:u,url:l}}let n=await x(e,t,o.url);return it(n,r,t,o,e)?(r=await Yo(r,t),await at(n,r,t,o,h)):g(r)&&n.parseBlob?await n.parseBlob(r,t,o):(r=await Zo(r,e,t),await Qs(n,r,t,o))}async function Qs(e,r,t,o){if(e.parseText&&typeof r=="string")return await e.parseText(r,t,o);if(e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t,o);if(e.parse)return await e.parse(r,t,o);throw e.parseSync?new Error(`${e.name} loader: 'parse' not available on parser-bearing sync loader. Add an async 'parse' function to this loader, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.id} loader - no parser found and worker is disabled`)}async function Wt(e,r,t){return e.subloaders?await tn(e,r,t):await x(e,r,t)}function Pt(e){return Or(e)}async function Fr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return Z(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=vr(e,r,t),n=[];for await(let s of o)n.push(s);return je(...n)}throw new Error("Writer could not encode data")}async function Ct(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await Fr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function vr(e,r,t){if(r.encodeInBatches){let o=Js(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function Js(e){return[{...e,start:0,end:e.length}]}async function Ot(e,r,t){let n={...P(),...t};return r.encodeURLtoURL?Ks(r,e,n):ft(r,n)?await Ne(r,e,n):await r.encode(e,n)}function Ur(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return Z(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Ft(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function vt(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Ur(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Ut(e,r,t){if(r.encodeInBatches){let o=Zs(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Mr(e,r,t,o){if(e=Q(e),r=Q(r),b||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function Ks(e,r,t){if(b)throw new Error(`Writer ${e.name} not supported in browser`);let o=an("input");await new Qe(o,"w").write(r);let s=an("output"),a=await Mr(o,s,e,t);return(await E(a)).arrayBuffer()}function Zs(e){return[{...e,start:0,end:e.length}]}function an(e){return`/tmp/${e}`}function Mt(e,r,t={}){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?O(e,r,{...o,core:{...o?.core,type:"auto"}}):Ys(n,r);if(!s)throw new Error("Not a valid source type");let a=o.core?.credentials?.length?s.getAuthentications?.(typeof e=="string"?e:"",o):void 0;if(a&&"then"in a)throw a.catch(()=>{}),new Error("Use load() with an asynchronous getAuthentications() hook.");let i=ke(a?.length?{...o,core:{...o.core,authentications:[...o.core?.authentications||[],...a||[]]}}:o);return s.createDataSource(e,i,he)}function Ys(e,r){for(let t of r)if(t.type===e)return t;return null}function $t(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=O(e,r,{core:{nothrow:!0}}):n=Xs(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Xs(e,r){for(let t of r)if(t.type===e)return t;return null}function Nt(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var cn="5.0.0-alpha.13",jt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:cn,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},zt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:cn,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Dt(e,r||{},t),parseSync:Dt,parseInBatches:async function*(r,t,o){for await(let n of r)yield Dt(n,t,o)},tests:[()=>!1],options:{null:{}}};function Dt(e,r,t){return null}async function qt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,a=s?parseInt(s):0;if(!(a>0)||typeof ReadableStream>"u"||!n.getReader)return e;let i=new ReadableStream({async start(c){let u=n.getReader();await un(c,u,0,a,r,t,o)}});return new Response(i)}async function un(e,r,t,o,n,s,a){try{let{done:i,value:c}=await r.read();if(i){s(),e.close();return}t+=c.byteLength;let u=Math.round(t/o*100);n(u,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await un(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var tr=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this._getFile(r,!0);if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),a=s&&/bytes=(\d+)-(\d+)/.exec(s);if(a){let c=parseInt(a[1]),u=Math.min(parseInt(a[2]),o.size-1);if(c>u){let d=new Response(null,{status:416,headers:{"Content-Range":`bytes */${o.size}`}});return Object.defineProperty(d,"url",{value:r}),d}let l=await o.slice(c,u+1).arrayBuffer(),f=new Response(l,{status:206,headers:{"Content-Range":`bytes ${c}-${u}/${o.size}`}});return Object.defineProperty(f,"url",{value:r}),f}let i=new Response(o);return Object.defineProperty(i,"url",{value:r}),i}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this._getFile(r,!1);if(!o)throw new Error(r);return{size:o.size}}async unlink(r){let t=this._getFile(r,!1);t&&(delete this.files[t.name],delete this.lowerCaseFiles[t.name.toLowerCase()],this.usedFiles[t.name]=!0)}async openReadableFile(r,t){return new Ve(this._getFile(r,!0))}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r.toLowerCase()];return o&&t&&(this.usedFiles[r]=!0),o}};return hn(ei);})();
|
|
14
|
+
`)}}r.length>0&&(yield r)}async function*yr(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function wr(e,r){let t=qn(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function Q(e){let r=[];for await(let t of e)r.push(zn(t));return je(...r)}function zn(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return Ao(r,t,o)}return Ao(e)}function Ao(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function qn(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return Hn(r)}return e}function Hn(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function ze(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var be=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=ze(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ze()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Ie=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof be?n=r:n=new be(t,o),this.stats[t]=n),n}};var Vn="Queued Requests",Qn="Active Requests",Gn="Cancelled Requests",Jn="Queued Requests Ever",Kn="Active Requests Ever",Zn={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},xe=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Zn,...r},this.stats=new Ie({id:this.props.id}),this.stats.get(Vn),this.stats.get(Qn),this.stats.get(Gn),this.stats.get(Jn),this.stats.get(Kn)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this.scheduleRefill())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}scheduleRefill(){this.updateTimer===null&&(this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};function xr(e,r=[]){return e.every(br)?e:e.map((t,o)=>{if(br(t))return t;let n=r.find(a=>a.type===t?.type);if(!n)throw new Error(`No authentication class registered for credential at index ${o}.`);let s;try{s=new n(t)}catch{throw new Error(`Invalid authentication configuration at index ${o}.`)}if(!br(s))throw new Error(`Authentication class returned an invalid credential at index ${o}.`);return s})}function ke(e){if(!e.core?.credentials?.length)return e;let r=xr(e.core.credentials,e.core.authentications);return r===e.core.credentials?e:{...e,core:{...e.core,credentials:r}}}async function E(e,r,t){if(!t.core?.credentials?.length||t.core.credentials.every(br))return t;let o=await e?.getAuthentications?.(r,t);return o?.length?ke({...t,core:{...t.core,authentications:[...t.core?.authentications||[],...o]}}):ke(t)}function br(e){return!e||typeof e!="object"||typeof e.id!="string"||!Array.isArray(e.origins)?!1:e.type==="request"?typeof e.authenticate=="function":(e.type==="header"||e.type==="query-parameter")&&typeof e.name=="string"&&(typeof e.token=="string"||typeof e.token=="function")&&Array.isArray(e.refreshStatusCodes)}var So=Symbol("loaders.gl.authenticated-fetch"),pt=new WeakMap;function mt(e){let r=e.fetch||((f,d)=>fetch(f,d)),t=r[So],o=new Map(t?.credentialResolutions),n=xr(e.credentials.map(f=>o.get(f)||f),e.authentications);if(e.credentials.forEach((f,d)=>{o.set(f,n[d])}),!e.fetchOptions&&(!n.length||t?.credentials.length===n.length&&n.every((f,d)=>f===t.credentials[d])))return r;let s=t?.fetch||r,a=t?[...new Set([...n,...t.credentials])]:n,i=Lo(t?.fetchOptions||{},e.fetchOptions),c=a.filter(f=>f.type!=="request"),u=a.filter(f=>f.type==="request");for(let f of u)Ro(f.origins);let l=async(f,d={})=>{if(d=Lo(i,d),d.signal?.throwIfAborted(),!a.length)return s(f,d);let p=es(f),x=p?await Bo(p,d,c):{url:f,options:d,credentials:[]},T=await _o(x,u,"request"),$=await s(T.url,T.options),me=[];for(let h of x.credentials){let{credential:te}=h;typeof te.token=="function"&&(kr(d)||te.canReplayRequest?.(f,d))&&(kr(T.options)||te.canReplayRequest?.(T.url,T.options))&&(te.refreshStatusCodes.includes($.status)||await te.shouldRefresh?.($))&&me.push(h)}let v=kr(d)&&kr(T.options)&&T.credentials.some(h=>h.refreshStatusCodes?.includes($.status));if(!me.length&&!v)return $;d.signal?.throwIfAborted();let m=new Map;if(await Promise.all(me.map(async({credential:h})=>{let te=await Yn(h,f,$);te&&m.set(h,te)})),!m.size&&!v)return $;await $.body?.cancel().catch(()=>{}),d.signal?.throwIfAborted();let Se=p?await Bo(p,d,c,m,x.credentials):{url:f,options:d},N=await _o(Se,u,"retry",$);return s(N.url,N.options)};return Object.defineProperty(l,So,{value:{fetch:s,credentials:a,credentialResolutions:o,fetchOptions:i}}),l}function Lo(e,r){let t={...e,...r};if(e.headers||r?.headers){let o=new Headers(e.headers);new Headers(r?.headers).forEach((n,s)=>o.set(s,n)),t.headers=o}return t}async function _o(e,r,t,o){let n=[],s=e.options.signal;for(let a of r){let i=Eo(e.url);if(!i||!Ro(a.origins).includes(i))continue;s?.throwIfAborted();let c=await a.authenticate({url:e.url,options:{...e.options,headers:new Headers(e.options.headers)},reason:t,response:o?{status:o.status,headers:new Headers(o.headers)}:void 0});if(!c||typeof c.url!="string"||!c.options||typeof c.options!="object")throw new Error("Authentication callback returned an invalid request.");e={url:c.url,options:{...c.options,...s?{signal:s}:{}}},n.push(a)}return s?.throwIfAborted(),{...e,credentials:n}}function Eo(e){try{let r=new URL(e);return!r.host||r.username||r.password?null:r.origin!=="null"?r.origin:`${r.protocol}//${r.host}`}catch{return null}}function Ro(e){if(!e.length)throw new Error("Request authentication requires at least one exact origin.");return e.map(r=>{let t=Eo(r),o;try{o=new URL(r)}catch{throw new Error("Invalid request authentication origin.")}if(!t||o.pathname&&o.pathname!=="/"||o.search||o.hash)throw new Error("Invalid request authentication origin.");return t})}async function Bo(e,r,t,o=new Map,n=[]){let s=new URL(e),a=new Headers(r.headers),i=[],c=new Map(n.map(({credential:u,token:l})=>[u,l]));for(let u of t){if(!u.origins.includes(s.origin))continue;let l=o.get(u),f=c.get(u),d=u.type==="query-parameter"&&f!==void 0,p=u.type==="header"&&f!==void 0;if(u.type==="query-parameter"&&s.searchParams.has(u.name)&&!d||u.type==="header"&&a.has(u.name)&&!p)continue;let x=l??f??await Xn(u.token,{url:e.toString(),reason:"request"});x&&(u.type==="query-parameter"?s.searchParams.set(u.name,x):a.set(u.name,`${u.prefix||""}${x}`),i.push({credential:u,token:x}))}return{url:s.toString(),options:{...r,headers:a},credentials:i}}async function Yn(e,r,t){let o=pt.get(e);if(o)return o;let n=e.token,s=Promise.resolve(n({url:r,reason:"refresh",response:{status:t.status,headers:t.headers}})).finally(()=>pt.delete(e));return pt.set(e,s),s}async function Xn(e,r){return typeof e=="function"?e(r):e}function es(e){try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r:null}catch{return null}}function kr(e){let r=(e.method||"GET").toUpperCase();return["GET","HEAD","OPTIONS","PUT","DELETE"].includes(r)?!(e.body&&typeof ReadableStream<"u"&&e.body instanceof ReadableStream):!1}var gt="",Io={};function Tr(e){gt=e}function Ar(){return gt}function G(e){for(let r in Io)if(e.startsWith(r)){let t=Io[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${gt}${e}`),e}var J={};Vt(J,{dirname:()=>ts,filename:()=>rs,join:()=>os,resolve:()=>ns});function Wo(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=globalThis.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function rs(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function ts(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function os(...e){return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp("^/"),"")),o!==e.length-1&&(t=t.replace(new RegExp("/$"),"")),t)),e.join("/")}function ns(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let a;s>=0?a=r[s]:(n===void 0&&(n=Wo()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===qe)}return t=ss(t,!o),o?`/${t}`:t.length>0?t:"."}var qe=47,yt=46;function ss(e,r){let t="",o=-1,n=0,s,a=!1;for(let i=0;i<=e.length;++i){if(i<e.length)s=e.charCodeAt(i);else{if(s===qe)break;s=qe}if(s===qe){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==yt||t.charCodeAt(t.length-2)!==yt){if(t.length>2){let c=t.length-1,u=c;for(;u>=0&&t.charCodeAt(u)!==qe;--u);if(u!==c){t=u===-1?"":t.slice(0,u),o=i,n=0,a=!1;continue}}else if(t.length===2||t.length===1){t="",o=i,n=0,a=!1;continue}}r&&(t.length>0?t+="/..":t="..",a=!0)}else{let c=e.slice(o+1,i);t.length>0?t+=`/${c}`:t=c,a=!1}o=i,n=0}else s===yt&&n!==-1?++n:n=-1}return t}var is="5.0.0-alpha.14",Sr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:is,encoding:"json",format:"json",extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Po,parse:async e=>Po(new TextDecoder().decode(e)),options:{}};function Po(e){return JSON.parse(e)}function _r(e){return e&&typeof e=="object"&&e.isBuffer}function K(e){if(_r(e))return e;if(e instanceof ArrayBuffer)return e;if(Gr(e))return Lr(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Z(e){if(e instanceof ArrayBuffer)return e;if(Gr(e))return Lr(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Lr(r,t,o)}function Lr(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Br(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var He=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t,o){if(o?.aborted)throw new Error("Request aborted");let n=await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer();if(o?.aborted)throw new Error("Request aborted");return n}};var Ve=new Error("Not implemented"),Qe=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw S?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/core/polyfills first.")}async read(r,t){throw Ve}async write(r,t,o){throw Ve}async stat(){throw Ve}async truncate(r){throw Ve}async append(r){throw Ve}async close(){}};function w(e){return!!(e&&typeof e=="object"&&"createDataSource"in e)}var Te=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var as=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,cs=/^([-\w.]+\/[-\w.+]+)/;function wt(e,r){return e.toLowerCase()===r.toLowerCase()}function Co(e){let r=cs.exec(e);return r?r[1]:e}function bt(e){let r=as.exec(e);return r?r[1]:""}var Oo=/\?.*/;function vo(e){let r=e.match(Oo);return r&&r[0]}function ue(e){return e.replace(Oo,"")}function Fo(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function M(e){return b(e)?e.url:y(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function We(e){if(b(e)){let r=e.headers.get("content-type")||"",t=ue(e.url);return Co(r)||bt(t)}return y(e)?e.type||"":typeof e=="string"?bt(e):""}function Uo(e){return b(e)?e.headers["content-length"]||-1:y(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ge(e){if(b(e))return e;let r={},t=Uo(e);t>=0&&(r["content-length"]=String(t));let o=M(e),n=We(e);n&&(r["content-type"]=n);let s=await fs(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let a=new Response(e,{headers:r});return Object.defineProperty(a,"url",{value:o}),a}async function Er(e){if(!e.ok)throw await us(e)}async function us(e){let r=Fo(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new Te(t,o)}async function fs(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${ht(t)}`}return null}function ls(e){return!ds(e)&&!hs(e)}function ds(e){return e.startsWith("http:")||e.startsWith("https:")}function hs(e){return e.startsWith("data:")}async function R(e,r){if(typeof e=="string"){let t=G(e);return ls(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ge(e)}async function xt(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await ps(o)}async function ps(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var Je=new U({id:"loaders.gl"}),Rr=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ir=class{console;onceMessages=new Set;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}once(...r){let t=String(r[0]);return this.onceMessages.has(t)?()=>{}:(this.onceMessages.add(t),this.console.info.bind(this.console,...r))}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var Wr={searchParams:void 0,core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new Ir,useLocalLibraries:!1,subloaders:void 0,CDN:"https://unpkg.com/@loaders.gl",worker:!0,workerThreshold:.1,workerInBatches:void 0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:S,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Mo={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",shape:"core.shape",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var kt=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","workerThreshold","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function Ke(e,r){let t=r?.searchParams;if(!t||Object.keys(t).length===0||/^(?:data|blob):/i.test(e))return e;let o=e.indexOf("#"),n=o>=0?e.slice(o):"",s=o>=0?e.slice(0,o):e,a=s.indexOf("?"),i=a>=0?s.slice(0,a):s,c=a>=0?s.slice(a+1):"",u=new URLSearchParams(c),l=new URLSearchParams;for(let[d,p]of Object.entries(t))u.has(d)||l.set(d,String(p));let f=l.toString();return`${i}${a>=0?`?${c}`:""}${f?`${a>=0?"&":"?"}${f}`:""}${n}`}function Ze(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function W(){let e=Ze();return e.globalOptions=e.globalOptions||{...Wr,core:{...Wr.core}},Y(e.globalOptions)}function Pr(e){let r=Ze(),t=W();r.globalOptions=jo(t,e),Jr(e.modules)}function fe(e,r,t,o){t=t||[],t=Array.isArray(t)?t:[t],ms(e,t),$o(e);let n=Y(jo(r,e,o));return $o(n),n}function Y(e){let r=bs(e);zo(r);for(let t of kt)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function ms(e,r){No(e,null,Wr,Mo,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};No(o,t.id,n,s,r)}}function $o(e){let r=e.core?.workerThreshold;if(r!==void 0&&(!Number.isFinite(r)||r<0||r>1))throw new Error("core.workerThreshold must be a finite number between 0 and 1")}function No(e,r,t,o,n){let s=r||"Top level",a=r?`${r}.`:"";for(let i in e){let c=!r&&B(e[i]),u=!r&&["baseUri","signal","onProgress"].includes(i),l=i==="workerUrl"&&r;if(!(i in t)&&!u&&!l){if(i in o)Je.level>0&&Je.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&Je.level>0){let f=gs(i,n);Je.warn(`${s} loader option '${a}${i}' not recognized. ${f}`)()}}}}function gs(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let a=s.toLowerCase();(t.startsWith(a)||a.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function jo(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),zo(n),n.core?.log===null&&(n.core={...n.core,log:new Rr}),Do(n,Y(W()));let s=Y(r);return Do(n,s),ys(n,s,e),ws(n,t),xs(n),n}function ys(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!I(n)||!("shape"in n))return;let s=W()[t.id];if(I(s)&&"shape"in s)return;let a=r[t.id];if(I(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...I(i)?i:{},shape:o}}function Do(e,r){for(let t in r)if(t in r){let o=r[t];I(o)&&I(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function ws(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=J.dirname(ue(r)))}function bs(e){let r={...e};return e.core&&(r.core={...e.core}),r}function zo(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of kt)if(e[t]!==void 0){e.core||={};let n=e.core;n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function xs(e){let r=e.core;if(r)for(let t of kt)r[t]!==void 0&&(e[t]=r[t])}function P(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Ye(e){ge(e,"null loader"),ge(P(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var qo=()=>{let e=Ze();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Tt(e){let r=qo();e=Array.isArray(e)?e:[e];for(let t of e){let o=Ye(t);r.find(n=>o===n)||r.unshift(o)}}function Ho(){return qo()}function At(){let e=Ze();e.loaderRegistry=[]}var ks=/\.([^.]+)$/;async function O(e,r=[],t,o){if(!Go(e))return null;let n=Y(t||{});if(n.core||={},e instanceof Response&&Vo(e)){let a=await e.clone().text(),i=C(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=C(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(y(e)&&(e=await e.slice(0,10).arrayBuffer(),s=C(e,r,n,o)),!s&&e instanceof Response&&Vo(e)){let a=await e.clone().text();s=C(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(Jo(e));return s}function Vo(e){let r=We(e);return!!(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function C(e,r=[],t,o){if(!Go(e))return null;let n=Y(t||{});if(n.core||={},r&&!Array.isArray(r))return Ye(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...Ho()),As(s);let a=Ts(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(Jo(e));return a}function Ts(e,r,t,o){let n=M(e),s=We(e),a=ue(n)||o?.url,i=null,c="",u=t?.core&&"type"in t.core?t.core.type:void 0;return u&&u!=="auto"&&(i=_s(r,u),c=i?`match forced by supplied source type ${u}`:""),t?.core?.mimeType&&(i=St(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||Bs(r,a),c=c||(i?`matched source url ${a}`:""),i=i||Ss(r,a),c=c||(i?`matched url ${a}`:""),i=i||St(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||Rs(r,e),c=c||(i?`matched initial data ${Ko(e)}`:""),!i&&y(e)&&(i=Es(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||St(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&Qr.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function Go(e){return!(e instanceof Response&&e.status===204)}function Jo(e){let r=M(e),t=We(e),o="No valid loader found (";o+=r?`${J.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Ko(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function As(e){for(let r of e)Ye(r)}function Ss(e,r){let t=r&&ks.exec(r),o=t&&t[1];return o?Ls(e,o):null}function Ls(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function _s(e,r){for(let t of e)if(w(t)&&t.type===r)return t;return null}function Bs(e,r){if(!r)return null;for(let t of e)if(w(t)&&t.testURL(r))return t;return null}function Es(e,r){for(let t of e)if(w(t)&&t.testData?.(r))return t;return null}function St(e,r){for(let t of e)if(t.mimeTypes?.some(o=>wt(r,o))||wt(r,`application/x.${t.id}`))return t;return null}function Rs(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(Is(r,t))return t}else if(ArrayBuffer.isView(r)){if(Qo(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&Qo(r,0,t))return t;return null}function Is(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function Qo(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Ws(e,r,t,n))}function Ws(e,r,t,o){if(se(o))return dt(o,e,o.byteLength);switch(typeof o){case"function":return o(Z(e));case"string":let n=Lt(e,r,o.length);return o===n;default:return!1}}function Ko(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?Lt(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?Lt(e,0,r):""}function Lt(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var Ps=256*1024;function*Zo(e,r){let t=r?.chunkSize||Ps,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),a=e.slice(o,o+s);o+=s,yield Z(n.encode(a))}}function*Yo(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),a=new Uint8Array(e,o,n);new Uint8Array(s).set(a),o+=n,yield s}}async function*Xo(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function _t(e,r){return S?Cs(e,r):Os(e,r)}async function*Cs(e,r){let t=e.getReader(),o,n=!1,s=!1,a=!1;try{for(;;){let i=o||t.read();o=void 0;let c;try{c=await i}catch(f){throw s=!0,f}let{done:u,value:l}=c;if(u){n=!0;return}r?._streamReadAhead&&(o=t.read(),o.catch(()=>{})),yield K(l)}}catch(i){throw a=!0,i}finally{let i=!1,c;if(!n&&!s)try{await t.cancel()}catch(u){i=!0,c=u}try{t.releaseLock()}catch(u){i||(i=!0,c=u)}if(!a&&i)throw c}}async function*Os(e,r){for await(let t of e)yield K(t)}function le(e,r){if(typeof e=="string")return Zo(e,r);if(e instanceof ArrayBuffer)return Yo(e,r);if(y(e))return Xo(e,r);if(j(e))return _t(e,r);if(b(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return _t(t,r)}throw new Error("makeIterator")}var Xe="Cannot convert supplied data type";function Bt(e,r,t){if(r.text&&typeof e=="string")return e;if(_r(e)&&(e=e.buffer),se(e)){let o=Br(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):K(o)}throw new Error(Xe)}async function en(e,r,t){if(typeof e=="string"||se(e))return Bt(e,r,t);if(y(e)&&(e=await Ge(e)),b(e))return await Er(e),r.binary?await e.arrayBuffer():await e.text();if(j(e)&&(e=le(e,t)),H(e)||ie(e))return Q(e);throw new Error(Xe)}async function rn(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if(se(e))return K(Br(e));if(y(e)&&(e=await Ge(e)),b(e))return await Er(e),await e.arrayBuffer();if(j(e)&&(e=le(e,r)),H(e)||ie(e))return Q(e);throw new Error(Xe)}async function tn(e,r){if(Be(e)&&(e=await e),we(e))return e;if(b(e)){await Er(e);let t=await e.body;if(!t)throw new Error(Xe);return le(t,r)}return y(e)||j(e)?le(e,r):ie(e)||H(e)?e:vs(e)}function vs(e){if(ArrayBuffer.isView(e))return(function*(){yield K(e)})();if(se(e))return(function*(){yield K(e)})();if(we(e))return e;if(H(e))return e[Symbol.iterator]();throw new Error(Xe)}function Ae(e,r){let t=W(),o=e||t,n=o.fetch??o.core?.fetch,s;typeof n=="function"?s=n:B(n)?s=r?.fetch||R:r?.fetch?s=r.fetch:s=R;let a=o.signal||r?.signal,i=B(n)?n:void 0;return mt({fetch:s,credentials:o.core?.credentials||[],authentications:o.core?.authentications,fetchOptions:a?{...i,signal:a}:i})}var Et=new Map,Cr=new Map;async function k(e,r,t){if(w(e)){let i=e.preload?await e.preload(t||"",r):e;if(!w(i))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return i}if(er(e))return e;let o=on(e,r),n=Cr.get(e)?.get(o);if(n)return n;let s=Et.get(e);s||(s=new Map,Et.set(e,s));let a=s.get(o);return a||(a=Fs(e,r,t).then(i=>{let c=Cr.get(e);return c||(c=new Map,Cr.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&Et.delete(e),i}),s.set(o,a)),await a}function Or(e){if(e.subloaders&&!It.has(e)){let t=nn.get(e);if(t)return t;if(!er(e))return null}if(er(e))return e;let r=on(e);return Cr.get(e)?.get(r)||null}function er(e){let r=e;return!!(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function Fs(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(er(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=Us(e,r);return await Ms(o,e.id)}function Us(e,r){if((r?._workerType||r?.core?._workerType)==="test"){let o=`modules/${e.module}/src/${e.id}-loader.ts`;return typeof window<"u"?`/${o}`:typeof process<"u"&&process.cwd?new URL(o,`file://${process.cwd()}/`).toString():o}throw new Error(`${e.id} loader does not provide a parser implementation. Import a parser-bearing loader directly, or use preload() before parse/load.`)}function on(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||o?.backend||"")}async function Ms(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&er(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}var It=new WeakSet,nn=new WeakMap,Rt=new WeakMap;async function sn(e,r,t){return It.has(e)?await k(e,r,t):($s(e,r),await an(e,r,t))}async function an(e,r,t){if(!r){let s=Rt.get(e);if(s)return await s}let o=Ns(e,r,t);r||(Rt.set(e,o),o.catch(()=>Rt.delete(e)));let n=await o;return r||nn.set(e,n),n}function cn(e,r){let t=r?.core?.subloaders||{};return Object.fromEntries(Object.entries(e.subloaders||{}).map(([o,n])=>[o,Object.hasOwn(t,o)?t[o]:n]))}function $s(e,r){t(e,[]);function t(o,n){if(n.includes(o))throw new Error(`Subloader cycle: ${[...n,o].map(s=>s.id).join(" -> ")}`);for(let s of Object.values(cn(o,r)))t(s,[...n,o])}}async function Ns(e,r,t){let[o,n]=await Promise.all([k(e,r,t),Promise.all(Object.entries(cn(e,r)).map(async([c,u])=>[c,await an(u,r,t)]))]),s=Object.fromEntries(n),a=ae(o.options,r||{});a.core={...a.core,worker:!1};let i={...o,options:a,subloaders:s};delete i.preload,i.worker=!1;for(let c of["parseBlob","createDataSource","parse","parseSync","parseText","parseTextSync","parseInBatches","parseFile","parseFileInBatches","parseUrl"]){let u=o[c];typeof u=="function"&&(i[c]=(l,f,d)=>{let p=ae(r,f||{});return u.call(o,l,{...p,core:{...p.core,subloaders:r?.core?.subloaders||f?.core?.subloaders,worker:!1},[e.id]:{...p[e.id],subloaders:s}},d)})}return It.add(i),i}async function X(e,r,t,o){r&&!Array.isArray(r)&&!P(r)&&(o=void 0,t=r,r=void 0),t=t||{},(t.signal||o?.signal)?.throwIfAborted();let n=e.url||"",a=Pe(r,o),i=await O(n,a,t);if(!i)return null;if(w(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=fe(t,i,a,n),u=!i.getAuthentications&&c.core?.credentials?.length?await k(i,c,n||o?.url):i,l=await E(u,n,c);return o=de({url:n,_parse:g,loaders:a},l,o||null),await Ds(i,e,l,o)}async function Ds(e,r,t,o){(t.signal||o.signal)?.throwIfAborted(),De(e),t=ae(e.options,t);let n=await k(e,t,o.url);if(n.parseFile)return await n.parseFile(r,t,o);if(n.parse){let a=r.bigsize>0n?Number(r.bigsize):r.size;if(!a)throw new Error(`${e.id} loader - cannot fall back to parse without a file size`);let i=await r.read(0n,a);return await g(i,n,t,o)}throw new Error(`${e.id} loader - no file parser found`)}function ee(e,r,t,o){!Array.isArray(r)&&!P(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=Pe(r,o),a=C(e,s,t);if(!a)return null;if(w(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=fe(t,a,s),c=M(e),u=()=>{throw new Error("parseSync called parse (which is async")};o=de({url:c,_parseSync:u,_parse:u,loaders:r},i,o||null);let l=Or(a);return js(l||a,e,i,o)}function js(e,r,t,o){if(r=Bt(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw e.preload?new Error(`${e.name} loader: 'parseSync' requires a parser-bearing loader. Import the loader implementation directly, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}async function _(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!P(r)&&(o=void 0,t=r,r=void 0),(t?.signal||o?.signal)?.throwIfAborted(),e=await e,t=t||{},(t.signal||o?.signal)?.throwIfAborted();let s=M(e),a=await O(e,r,t);if(!a)return[];let i=fe(t,a,n,s),c=!a.getAuthentications&&i.core?.credentials?.length?await k(a,i,s||o?.url):a,u=await E(c,s||"",i);o=de({url:s,_parseInBatches:_,_parse:g,loaders:n},u,o||null);let l=await k(a,u,o.url);return await zs(a,l,e,u,o)}async function zs(e,r,t,o,n){let s=await qs(r,t,o,n);if(!o?.core?.metadata)return s;let a={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:n},data:[],bytesUsed:0};async function*i(c){yield a,yield*c}return i(s)}async function qs(e,r,t,o){let n=await tn(r,t),s=await Js(n,t?.core?.transforms||[]);return e.parseInBatches?at(e,t)?ft(e,s,t,o,g):e.parseInBatches(s,t,o):Hs(s,e,t,o)}async function*Hs(e,r,t,o){let n=await Q(e),s=await g(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield Vs(s,r)}function Vs(e,r){let t=Qs(e)?{...e,length:Gs(e),batchType:"data"}:{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}function Qs(e){if(!e||typeof e!="object"||!("shape"in e))return!1;let r=e;switch(r.shape){case"array-row-table":case"object-row-table":return Array.isArray(r.data);case"geojson-table":return Array.isArray(r.features);case"columnar-table":return!!(r.data&&typeof r.data=="object");case"arrow-table":return!!(r.data&&typeof r.data=="object"&&"numRows"in r.data);default:return!1}}function Gs(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let r of Object.values(e.data))return r.length||0;return 0}}async function Js(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function re(e,r,t,o){let n;return!Array.isArray(r)&&!P(r)?(o=void 0,t=r,n=void 0):n=r,Array.isArray(e)?e.map(a=>un(a,n,t||{})):un(e,n,t||{})}async function un(e,r,t){if(typeof e=="string"){let o=e,n=await O(o,r,{...t,core:{...t.core,nothrow:!0}}),s=n&&!n.getAuthentications&&t.core?.credentials?.length?await k(n,t,o):n;t=await E(s,o,t);let i=await Ae(t)(Ke(o,t));return Array.isArray(r)?await _(i,r,t):await _(i,r,t)}return Array.isArray(r)?await _(e,r,t):await _(e,r,t)}async function he(e,r,t,o){let n,s;if(!Array.isArray(r)&&!P(r)?(n=[],s=r,o=void 0):(n=r,s=t),s||=W(),!Array.isArray(n)&&w(n)){let c=await Wt(n,e,s);s=await E(n.getAuthentications?n:c,typeof e=="string"?e:"",s||{});let u={fetchFile:R,parse:g,parseFile:X,parseSync:ee,parseInBatches:_,load:he,loadInBatches:re};return c.createDataSource(e,s||{},u)}if(Array.isArray(n)&&n.length===1&&w(n[0])){let c=await Wt(n[0],e,s);s=await E(n[0].getAuthentications?n[0]:c,typeof e=="string"?e:"",s||{});let u={fetchFile:R,parse:g,parseFile:X,parseSync:ee,parseInBatches:_,load:he,loadInBatches:re};return c.createDataSource(e,s||{},u)}if(typeof e=="string"||y(e)){let c=await O(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&w(c)){let u=await Wt(c,e,s);return s=await E(c.getAuthentications?c:u,typeof e=="string"?e:"",s||{}),u.createDataSource(e,s||{},{fetchFile:R,parse:g,parseFile:X,parseSync:ee,parseInBatches:_,load:he,loadInBatches:re})}if(c&&typeof e=="string"){let u=await k(c,s,e);s=await E(c.getAuthentications?c:u,e,s||{});let l=u.parseUrl;if(l){let f=Ke(e,s);return await l(f,s,o)}}}s&&(s=ke(s));let a=Ae(s),i=e;return typeof e=="string"&&(i=await a(Ke(e,s))),y(e)&&(i=await a(e)),typeof e=="string"&&(Y(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await g(i,n,s,o):await g(i,n,s,o)}async function Wt(e,r,t){if(!e.preload)return e;let o=await e.preload(typeof r=="string"?r:"",t);if(!w(o))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return o}var pe=Object.freeze({fetchFile:R,parse:g,parseFile:X,parseSync:ee,parseInBatches:_,load:he,loadInBatches:re});function de(e,r,t){if(t)return{...t,signal:r.signal||t.signal,reportProgress:r.onProgress||t.reportProgress,coreApi:t.coreApi||e.coreApi||pe,_parse:t._parse||e._parse,fetch:Ae(r,t)};let o={...e,signal:r.signal||e.signal,reportProgress:r.onProgress||e.reportProgress,fetch:Ae(r,e),coreApi:e.coreApi||pe};if(o.url){let n=ue(o.url);o.baseUrl=n,o.queryString=vo(o.url),o.filename=J.filename(n),o.baseUrl=J.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Pe(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function g(e,r,t,o){r&&!Array.isArray(r)&&!P(r)&&(o=void 0,t=r,r=void 0),(t?.signal||o?.signal)?.throwIfAborted(),e=await e,t=t||{},(t.signal||o?.signal)?.throwIfAborted();let n=M(e),a=Pe(r,o),i=await O(e,a,t);if(!i)return null;if(w(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=fe(t,i,a,n),u=!i.getAuthentications&&c.core?.credentials?.length?await k(i,c,n||o?.url):i,l=await E(u,n||"",c);return o=de({url:n,_parse:g,loaders:a},l,o||null),await Ks(i,e,l,o)}async function Ks(e,r,t,o){if((t.signal||o.signal)?.throwIfAborted(),De(e),t=ae(e.options,t),b(r)){let{ok:s,redirected:a,status:i,statusText:c,type:u,url:l}=r,f=Object.fromEntries(r.headers.entries());o.response={headers:f,ok:s,redirected:a,status:i,statusText:c,type:u,url:l}}let n=await k(e,t,o.url);return ct(n,r,t,o,e)?(r=await rn(r,t),await ut(n,r,t,o,g)):y(r)&&n.parseBlob?await n.parseBlob(r,t,o):(r=await en(r,e,t),await Zs(n,r,t,o))}async function Zs(e,r,t,o){if(e.parseText&&typeof r=="string")return await e.parseText(r,t,o);if(e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t,o);if(e.parse)return await e.parse(r,t,o);throw e.parseSync?new Error(`${e.name} loader: 'parse' not available on parser-bearing sync loader. Add an async 'parse' function to this loader, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.id} loader - no parser found and worker is disabled`)}async function Pt(e,r,t){return e.subloaders?await sn(e,r,t):await k(e,r,t)}function Ct(e){return Or(e)}async function vr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return Z(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=Fr(e,r,t),n=[];for await(let s of o)n.push(s);return je(...n)}throw new Error("Writer could not encode data")}async function Ot(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await vr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Fr(e,r,t){if(r.encodeInBatches){let o=Ys(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function Ys(e){return[{...e,start:0,end:e.length}]}async function vt(e,r,t){let n={...W(),...t};return r.encodeURLtoURL?Xs(r,e,n):lt(r,n)?await Ne(r,e,n):await r.encode(e,n)}function Ur(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return Z(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Ft(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Ut(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Ur(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Mt(e,r,t){if(r.encodeInBatches){let o=ei(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Mr(e,r,t,o){if(e=G(e),r=G(r),S||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function Xs(e,r,t){if(S)throw new Error(`Writer ${e.name} not supported in browser`);let o=fn("input");await new Qe(o,"w").write(r);let s=fn("output"),a=await Mr(o,s,e,t);return(await R(a)).arrayBuffer()}function ei(e){return[{...e,start:0,end:e.length}]}function fn(e){return`/tmp/${e}`}function $t(e,r,t={}){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?C(e,r,{...o,core:{...o?.core,type:"auto"}}):ri(n,r);if(!s)throw new Error("Not a valid source type");let a=o.core?.credentials?.length?s.getAuthentications?.(typeof e=="string"?e:"",o):void 0;if(a&&"then"in a)throw a.catch(()=>{}),new Error("Use load() with an asynchronous getAuthentications() hook.");let i=ke(a?.length?{...o,core:{...o.core,authentications:[...o.core?.authentications||[],...a||[]]}}:o);return s.createDataSource(e,i,pe)}function ri(e,r){for(let t of r)if(t.type===e)return t;return null}function Nt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=C(e,r,{core:{nothrow:!0}}):n=ti(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function ti(e,r){for(let t of r)if(t.type===e)return t;return null}function Dt(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var ln="5.0.0-alpha.14",zt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:ln,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},qt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:ln,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>jt(e,r||{},t),parseSync:jt,parseInBatches:async function*(r,t,o){for await(let n of r)yield jt(n,t,o)},tests:[()=>!1],options:{null:{}}};function jt(e,r,t){return null}async function Ht(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,a=s?parseInt(s):0;if(!(a>0)||typeof ReadableStream>"u"||!n.getReader)return e;let i=new ReadableStream({async start(c){let u=n.getReader();await dn(c,u,0,a,r,t,o)}});return new Response(i)}async function dn(e,r,t,o,n,s,a){try{let{done:i,value:c}=await r.read();if(i){s(),e.close();return}t+=c.byteLength;let u=Math.round(t/o*100);n(u,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await dn(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var rr=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this._getFile(r,!0);if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),a=s&&/bytes=(\d+)-(\d+)/.exec(s);if(a){let c=parseInt(a[1]),u=Math.min(parseInt(a[2]),o.size-1);if(c>u){let d=new Response(null,{status:416,headers:{"Content-Range":`bytes */${o.size}`}});return Object.defineProperty(d,"url",{value:r}),d}let l=await o.slice(c,u+1).arrayBuffer(),f=new Response(l,{status:206,headers:{"Content-Range":`bytes ${c}-${u}/${o.size}`}});return Object.defineProperty(f,"url",{value:r}),f}let i=new Response(o);return Object.defineProperty(i,"url",{value:r}),i}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this._getFile(r,!1);if(!o)throw new Error(r);return{size:o.size}}async unlink(r){let t=this._getFile(r,!1);t&&(delete this.files[t.name],delete this.lowerCaseFiles[t.name.toLowerCase()],this.usedFiles[t.name]=!0)}async openReadableFile(r,t){return new He(this._getFile(r,!0))}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r.toLowerCase()];return o&&t&&(this.usedFiles[r]=!0),o}};return yn(oi);})();
|
|
15
15
|
return __exports__;
|
|
16
16
|
});
|