@loaders.gl/crypto 5.0.0-alpha.2 → 5.0.0-alpha.3

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/LICENSE CHANGED
@@ -37,7 +37,7 @@ License reproduced above.
37
37
  Copyright (c) 2016 Axel Rauschmayer
38
38
 
39
39
  loaders.gl includes certain files from Cesium (https://github.com/CesiumGS/cesium)
40
- under the Apache 2.0 License, including files in modules/3d-tiles and modules/math.
40
+ under the Apache 2.0 License, including files in modules/3d-tiles.
41
41
 
42
42
  Copyright 2011-2018 CesiumJS Contributors
43
43
 
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{var me=null;function fe(r,e=!0,s){let A=s||new Set;if(r){if(he(r))A.add(r);else if(he(r.buffer))A.add(r.buffer);else if(!ArrayBuffer.isView(r)){if(e&&typeof r=="object")for(let d in r)fe(r[d],e,A)}}return s===void 0?Array.from(A):[]}function he(r){return r?r instanceof ArrayBuffer||typeof MessagePort<"u"&&r instanceof MessagePort||typeof ImageBitmap<"u"&&r instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas:!1}async function J(){return me}var ie=new Map,T=class{static async inWorkerThread(){return typeof self<"u"||!!await J()}static set onmessage(e){async function s(A){let d=await J(),{type:y,payload:l}=d?A:A.data;e(y,l)}J().then(A=>{A?(A.on("message",d=>{s(d)}),A.on("exit",()=>console.debug("Node worker closing"))):globalThis.onmessage=s})}static async addEventListener(e){let s=ie.get(e);s||(s=async d=>{if(!Le(d))return;let y=await J(),{type:l,payload:B}=y?d:d.data;e(l,B)}),await J()?console.error("not implemented"):globalThis.addEventListener("message",s)}static async removeEventListener(e){let s=ie.get(e);ie.delete(e),await J()?console.error("not implemented"):globalThis.removeEventListener("message",s)}static async postMessage(e,s){let A={source:"loaders.gl",type:e,payload:s},d=fe(s),y=await J();y?y.postMessage(A,d):globalThis.postMessage(A,d)}};function Le(r){let{type:e,data:s}=r;return e==="message"&&s&&typeof s.source=="string"&&s.source.startsWith("loaders.gl")}var Y=class{_values;_settlers;_closed;constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(e){return this.enqueue(e)}enqueue(e){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let s=this._settlers.shift();e instanceof Error?s.reject(e):s.resolve({value:e})}else this._values.push(e)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let e=this._values.shift();return e instanceof Error?Promise.reject(e):Promise.resolve({done:!1,value:e})}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((e,s)=>{this._settlers.push({resolve:e,reject:s})})}};var Se=0,te,Be;async function xe(r,e){if(!await T.inWorkerThread())return;let s={process:Fe};T.onmessage=async(A,d)=>{try{switch(A){case"preload":T.postMessage("done",{});break;case"process":if(!r)throw new Error("Worker does not support atomic processing");let y=await r(d.input,d.options||{},s,d.context||{});T.postMessage("done",{result:y});break;case"process-in-batches":if(!e)throw new Error("Worker does not support batched processing");te=new Y,Be=d.options||{};let l=e(te,Be,s,d.context||{});for await(let B of l)T.postMessage("output-batch",{result:B});T.postMessage("done",{});break;case"input-batch":te.push(d.input);break;case"input-done":te.close();break;default:}}catch(y){let l=y instanceof Error?y.message:"";T.postMessage("error",{error:l})}}}function Fe(r,e={},s={}){return new Promise((A,d)=>{let y=Se++,l=(w,I)=>{if(I.id===y)switch(w){case"done":T.removeEventListener(l),A(I.result);break;case"error":T.removeEventListener(l),d(I.error);break;default:}};T.addEventListener(l);let B={id:y,input:r,options:e,context:s};T.postMessage("process",B)})}function ge(...r){return Ge(r)}function Ge(r){let e=r.map(y=>y instanceof ArrayBuffer?new Uint8Array(y):y),s=e.reduce((y,l)=>y+l.byteLength,0),A=new Uint8Array(s),d=0;for(let y of e)A.set(y,d),d+=y.byteLength;return A.buffer}async function Ae(r){let e=[];for await(let s of r)e.push(Re(s));return ge(...e)}function Re(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:s,byteLength:A}=r;return we(e,s,A)}return we(r)}function we(r,e=0,s=r.byteLength-e){let A=new Uint8Array(r,e,s),d=new Uint8Array(A.length);return d.set(A),d.buffer}var H=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,s="base64"){let A=[];for await(let l of e)A.push(l),yield l;let d=await this.concatenate(A),y=await this.hash(d,s);this.options.crypto?.onEnd?.({hash:y})}async concatenate(e){return await Ae(e)}};var N=class{crc;constructor(){this.crc=-1}update(e){let s=Pe(),A=new Uint8Array(e);for(let d=0;d<A.byteLength;d++)this.crc=this.crc>>>8^s[(this.crc^A[d])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},De=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function Pe(){return De}function Ce(r){r=`${r}`;for(let s=0;s<r.length;s++)if(r.charCodeAt(s)>255)return null;let e="";for(let s=0;s<r.length;s+=3){let A=[void 0,void 0,void 0,void 0];A[0]=r.charCodeAt(s)>>2,A[1]=(r.charCodeAt(s)&3)<<4,r.length>s+1&&(A[1]|=r.charCodeAt(s+1)>>4,A[2]=(r.charCodeAt(s+1)&15)<<2),r.length>s+2&&(A[2]|=r.charCodeAt(s+2)>>6,A[3]=r.charCodeAt(s+2)&63);for(let d=0;d<A.length;d++)typeof A[d]>"u"?e+="=":e+=qe(A[d])}return e}function qe(r){if(r<26)return String.fromCharCode(r+65);if(r<52)return String.fromCharCode(r-26+97);if(r<62)return String.fromCharCode(r-52+48);if(r===62)return"+";if(r===63)return"/"}function z(r,e){switch(e){case"hex":return Ie(r);case"base64":return Qe(Ie(r));default:throw new Error(e)}}function Ee(r,e){switch(e){case"hex":return r;case"base64":return Qe(r);default:throw new Error(e)}}function Qe(r){r.length%2!==0&&(r=`0${r}`);let s=(r.match(/\w{2}/g)||[]).map(A=>String.fromCharCode(parseInt(A,16))).join("");return Ce(s)||""}function Ie(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var ae=class extends H{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,s){return this.hashSync(e,s)}hashSync(e,s){let A=new N;A.update(e);let d=A.finalize();return z(d,s)}async*hashBatches(e,s="base64"){let A=new N;for await(let y of e)A.update(y),yield y;let d=A.finalize();this.options.crypto?.onEnd?.({hash:z(d,s)})}};var X=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let s=new Uint8Array(e),A=je();for(let d=0;d<s.length;d++)this.crc=A[(this.crc^s[d])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Ve=Int32Array.of(0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697);function je(){return Ve}var oe=class extends H{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,s){return this.hashSync(e,s)}hashSync(e,s){let A=new X(this.options);A.update(e);let d=A.finalize();return z(d,s)}async*hashBatches(e,s="base64"){let A=new X(this.options);for await(let y of e)A.update(y),yield y;let d=A.finalize();this.options.crypto?.onEnd?.({hash:z(d,s)})}};var ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Me=Ne("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"),ke=typeof WebAssembly<"u"&&Me?Me.buffer:!1,q=Ke(),de=3840*16,Te=Math.floor(de*16*1.066666667),Ue=268369920,Ze="Parameter must be ArrayBuffer, ArrayBufferView or string",He="Parameter exceeds max size of 255.9 Mbytes";function ue(r){var e,s,A,d,y,l,B,w,I,R;let V=Oe(),v=Je(),L={},F=new Date().getTime();return L.then=function(m){return B=m,Q(),L},L.catch=function(m){return w=m,L},l=Ye(r),l||M(new TypeError(Ze)),l&&(y=l.length,ke&&y>Te?y>Ue?M(new Error(He)):(e=new WebAssembly.Memory({initial:y>32e6?y>64e6?y>128e6?4096:2048:1024:512}),s=new Uint32Array(e.buffer),d={mem:e,log:console.log},A={imports:d},WebAssembly.instantiate(ke,A).then(h)):Q(V(l))),L;function h(m){Q(v(l,m.instance.exports,s))}function Q(m){var G=m||I;m&&(R=new Date().getTime()),typeof B=="function"?G&&(B(G,R-F),B=w=null):m&&(I=m)}function M(m){typeof w=="function"&&w(m)}}function Je(){var r,e,s,A,d,y,l,B,w,I,R,V,v,L=function(F){var h,Q,M,m,G,j,U,Z,p,O,t,a,o,n,D,S,C,u,K,$,E,$e,er=new Date().getTime(),We=0,c=1732584193,f=-271733879,i=-1732584194,x=271733878,g=0,_=F.length*8,ee;for(ee=ve(F,v),v[_>>>5]|=128<<_%32,v[(_+64>>>9<<4)+14]=_,ee=(_+64>>>9<<4)+15,E=v;g<ee;)ee>g+Te?(A(c),y(f),B(i),I(x),e(de),g=g+de*16,c=s(),f=d(),i=l(),x=w(),We++):(C=c,u=f,K=i,$=x,h=E[g+0]>>>0,Q=E[g+1]>>>0,M=E[g+2]>>>0,m=E[g+3]>>>0,G=E[g+4]>>>0,j=E[g+5]>>>0,U=E[g+6]>>>0,Z=E[g+7]>>>0,p=E[g+8]>>>0,O=E[g+9]>>>0,t=E[g+10]>>>0,a=E[g+11]>>>0,o=E[g+12]>>>0,n=E[g+13]>>>0,D=E[g+14]>>>0,S=E[g+15]>>>0,c=b(7,25,c+(f&i|~f&x)+h-680876936)+f,x=b(12,20,x+(c&f|~c&i)+Q-389564586)+c,i=b(17,15,i+(x&c|~x&f)+M+606105819)+x,f=b(22,10,f+(i&x|~i&c)+m-1044525330)+i,c=b(7,25,c+(f&i|~f&x)+G-176418897)+f,x=b(12,20,x+(c&f|~c&i)+j+1200080426)+c,i=b(17,15,i+(x&c|~x&f)+U-1473231341)+x,f=b(22,10,f+(i&x|~i&c)+Z-45705983)+i,c=b(7,25,c+(f&i|~f&x)+p+1770035416)+f,x=b(12,20,x+(c&f|~c&i)+O-1958414417)+c,i=b(17,15,i+(x&c|~x&f)+t-42063)+x,f=b(22,10,f+(i&x|~i&c)+a-1990404162)+i,c=b(7,25,c+(f&i|~f&x)+o+1804603682)+f,x=b(12,20,x+(c&f|~c&i)+n-40341101)+c,i=b(17,15,i+(x&c|~x&f)+D-1502002290)+x,f=b(22,10,f+(i&x|~i&c)+S+1236535329)+i,c=b(5,27,c+(f&x|i&~x)+Q-165796510)+f,x=b(9,23,x+(c&i|f&~i)+U-1069501632)+c,i=b(14,18,i+(x&f|c&~f)+a+643717713)+x,f=b(20,12,f+(i&c|x&~c)+h-373897302)+i,c=b(5,27,c+(f&x|i&~x)+j-701558691)+f,x=b(9,23,x+(c&i|f&~i)+t+38016083)+c,i=b(14,18,i+(x&f|c&~f)+S-660478335)+x,f=b(20,12,f+(i&c|x&~c)+G-405537848)+i,c=b(5,27,c+(f&x|i&~x)+O+568446438)+f,x=b(9,23,x+(c&i|f&~i)+D-1019803690)+c,i=b(14,18,i+(x&f|c&~f)+m-187363961)+x,f=b(20,12,f+(i&c|x&~c)+p+1163531501)+i,c=b(5,27,c+(f&x|i&~x)+n-1444681467)+f,x=b(9,23,x+(c&i|f&~i)+M-51403784)+c,i=b(14,18,i+(x&f|c&~f)+Z+1735328473)+x,f=b(20,12,f+(i&c|x&~c)+o-1926607734)+i,c=b(4,28,c+(f^i^x)+j-378558)+f,x=b(11,21,x+(c^f^i)+p-2022574463)+c,i=b(16,16,i+(x^c^f)+a+1839030562)+x,f=b(23,9,f+(i^x^c)+D-35309556)+i,c=b(4,28,c+(f^i^x)+Q-1530992060)+f,x=b(11,21,x+(c^f^i)+G+1272893353)+c,i=b(16,16,i+(x^c^f)+Z-155497632)+x,f=b(23,9,f+(i^x^c)+t-1094730640)+i,c=b(4,28,c+(f^i^x)+n+681279174)+f,x=b(11,21,x+(c^f^i)+h-358537222)+c,i=b(16,16,i+(x^c^f)+m-722521979)+x,f=b(23,9,f+(i^x^c)+U+76029189)+i,c=b(4,28,c+(f^i^x)+O-640364487)+f,x=b(11,21,x+(c^f^i)+o-421815835)+c,i=b(16,16,i+(x^c^f)+S+530742520)+x,f=b(23,9,f+(i^x^c)+M-995338651)+i,c=b(6,26,c+(i^(f|~x))+h-198630844)+f,x=b(10,22,x+(f^(c|~i))+Z+1126891415)+c,i=b(15,17,i+(c^(x|~f))+D-1416354905)+x,f=b(21,11,f+(x^(i|~c))+j-57434055)+i,c=b(6,26,c+(i^(f|~x))+o+1700485571)+f,x=b(10,22,x+(f^(c|~i))+m-1894986606)+c,i=b(15,17,i+(c^(x|~f))+t-1051523)+x,f=b(21,11,f+(x^(i|~c))+Q-2054922799)+i,c=b(6,26,c+(i^(f|~x))+p+1873313359)+f,x=b(10,22,x+(f^(c|~i))+S-30611744)+c,i=b(15,17,i+(c^(x|~f))+U-1560198380)+x,f=b(21,11,f+(x^(i|~c))+n+1309151649)+i,c=b(6,26,c+(i^(f|~x))+G-145523070)+f,x=b(10,22,x+(f^(c|~i))+a-1120210379)+c,i=b(15,17,i+(c^(x|~f))+M+718787259)+x,f=b(21,11,f+(x^(i|~c))+O-343485551)+i,g=g+16,c=c+C>>>0,f=f+u>>>0,i=i+K>>>0,x=x+$>>>0);return q.endian([c,f,i,x]);function b(k,re,P){return P<<k|P>>>re}function ve(k,re){for(var P=-1,ce=Math.floor((k.length-1)/4),W=0,be,ye,le,pe;ce-8>P++;)W=P<<2,re[P]=k[W+0]|k[W+1]<<8|k[W+2]<<16|k[W+3]<<24;for(P--;ce>P++;)W=P<<2,be=typeof k[W+0]>"u"?0:k[W+0],ye=typeof k[W+1]>"u"?0:k[W+1],le=typeof k[W+2]>"u"?0:k[W+2],pe=typeof k[W+3]>"u"?0:k[W+3],re[P]=be|ye<<8|le<<16|pe<<24;return ce+1}};return function(F,h,Q,M){var m;return e=h.loops,r=h.loop,s=h.getA,d=h.getB,l=h.getC,w=h.getD,R=h.getX,A=h.setA,y=h.setB,B=h.setC,I=h.setD,V=h.setX,v=Q,m=q.wordsToBytes(L(F)),M&&M.asBytes?m:q.bytesconvertNumberToHex(m)}}function Oe(){var r=function(e,s){var A,d,y,l,B,w,I,R,V,v,L,F,h,Q,M,m,G,j,U,Z,p,O=new Date().getTime(),t=1732584193,a=-271733879,o=-1732584194,n=271733878,D=e.length*8;p=q.bytesToWords(e);for(var S=0;S<p.length;S++)p[S]=(p[S]<<8|p[S]>>>24)&16711935|(p[S]<<24|p[S]>>>8)&4278255360;p[D>>>5]|=128<<D%32,p[(D+64>>>9<<4)+14]=D;for(var C=0;C<p.length;C+=16)G=t,j=a,U=o,Z=n,A=p[C+0]>>>0,d=p[C+1]>>>0,y=p[C+2]>>>0,l=p[C+3]>>>0,B=p[C+4]>>>0,w=p[C+5]>>>0,I=p[C+6]>>>0,R=p[C+7]>>>0,V=p[C+8]>>>0,v=p[C+9]>>>0,L=p[C+10]>>>0,F=p[C+11]>>>0,h=p[C+12]>>>0,Q=p[C+13]>>>0,M=p[C+14]>>>0,m=p[C+15]>>>0,t=u(7,25,t+(a&o|~a&n)+A-680876936)+a,n=u(12,20,n+(t&a|~t&o)+d-389564586)+t,o=u(17,15,o+(n&t|~n&a)+y+606105819)+n,a=u(22,10,a+(o&n|~o&t)+l-1044525330)+o,t=u(7,25,t+(a&o|~a&n)+B-176418897)+a,n=u(12,20,n+(t&a|~t&o)+w+1200080426)+t,o=u(17,15,o+(n&t|~n&a)+I-1473231341)+n,a=u(22,10,a+(o&n|~o&t)+R-45705983)+o,t=u(7,25,t+(a&o|~a&n)+V+1770035416)+a,n=u(12,20,n+(t&a|~t&o)+v-1958414417)+t,o=u(17,15,o+(n&t|~n&a)+L-42063)+n,a=u(22,10,a+(o&n|~o&t)+F-1990404162)+o,t=u(7,25,t+(a&o|~a&n)+h+1804603682)+a,n=u(12,20,n+(t&a|~t&o)+Q-40341101)+t,o=u(17,15,o+(n&t|~n&a)+M-1502002290)+n,a=u(22,10,a+(o&n|~o&t)+m+1236535329)+o,t=u(5,27,t+(a&n|o&~n)+d-165796510)+a,n=u(9,23,n+(t&o|a&~o)+I-1069501632)+t,o=u(14,18,o+(n&a|t&~a)+F+643717713)+n,a=u(20,12,a+(o&t|n&~t)+A-373897302)+o,t=u(5,27,t+(a&n|o&~n)+w-701558691)+a,n=u(9,23,n+(t&o|a&~o)+L+38016083)+t,o=u(14,18,o+(n&a|t&~a)+m-660478335)+n,a=u(20,12,a+(o&t|n&~t)+B-405537848)+o,t=u(5,27,t+(a&n|o&~n)+v+568446438)+a,n=u(9,23,n+(t&o|a&~o)+M-1019803690)+t,o=u(14,18,o+(n&a|t&~a)+l-187363961)+n,a=u(20,12,a+(o&t|n&~t)+V+1163531501)+o,t=u(5,27,t+(a&n|o&~n)+Q-1444681467)+a,n=u(9,23,n+(t&o|a&~o)+y-51403784)+t,o=u(14,18,o+(n&a|t&~a)+R+1735328473)+n,a=u(20,12,a+(o&t|n&~t)+h-1926607734)+o,t=u(4,28,t+(a^o^n)+w-378558)+a,n=u(11,21,n+(t^a^o)+V-2022574463)+t,o=u(16,16,o+(n^t^a)+F+1839030562)+n,a=u(23,9,a+(o^n^t)+M-35309556)+o,t=u(4,28,t+(a^o^n)+d-1530992060)+a,n=u(11,21,n+(t^a^o)+B+1272893353)+t,o=u(16,16,o+(n^t^a)+R-155497632)+n,a=u(23,9,a+(o^n^t)+L-1094730640)+o,t=u(4,28,t+(a^o^n)+Q+681279174)+a,n=u(11,21,n+(t^a^o)+A-358537222)+t,o=u(16,16,o+(n^t^a)+l-722521979)+n,a=u(23,9,a+(o^n^t)+I+76029189)+o,t=u(4,28,t+(a^o^n)+v-640364487)+a,n=u(11,21,n+(t^a^o)+h-421815835)+t,o=u(16,16,o+(n^t^a)+m+530742520)+n,a=u(23,9,a+(o^n^t)+y-995338651)+o,t=u(6,26,t+(o^(a|~n))+A-198630844)+a,n=u(10,22,n+(a^(t|~o))+R+1126891415)+t,o=u(15,17,o+(t^(n|~a))+M-1416354905)+n,a=u(21,11,a+(n^(o|~t))+w-57434055)+o,t=u(6,26,t+(o^(a|~n))+h+1700485571)+a,n=u(10,22,n+(a^(t|~o))+l-1894986606)+t,o=u(15,17,o+(t^(n|~a))+L-1051523)+n,a=u(21,11,a+(n^(o|~t))+d-2054922799)+o,t=u(6,26,t+(o^(a|~n))+V+1873313359)+a,n=u(10,22,n+(a^(t|~o))+m-30611744)+t,o=u(15,17,o+(t^(n|~a))+I-1560198380)+n,a=u(21,11,a+(n^(o|~t))+Q+1309151649)+o,t=u(6,26,t+(o^(a|~n))+B-145523070)+a,n=u(10,22,n+(a^(t|~o))+F-1120210379)+t,o=u(15,17,o+(t^(n|~a))+y+718787259)+n,a=u(21,11,a+(n^(o|~t))+v-343485551)+o,t=t+G>>>0,a=a+j>>>0,o=o+U>>>0,n=n+Z>>>0;return q.endian([t,a,o,n]);function u(K,$,E){return E<<K|E>>>$}};return function(e,s){var A=q.wordsToBytes(r(e,s)),d=s&&s.asBytes?A:q.bytesconvertNumberToHex(A);return d}}function Ne(r){try{return ze(r)}catch{return null}}function ze(r){var e=r.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?_e(atob(e)):Xe(e)}function Xe(r){for(var e=r.endsWith("==")?2:r.endsWith("=")?1:0,s=r.length*3/4-e,A=new Uint8Array(s),d=0,y=0,l,B,w,I;y<r.length;){if(l=ne.indexOf(r.charAt(y++)),B=ne.indexOf(r.charAt(y++)),w=ne.indexOf(r.charAt(y++)),I=ne.indexOf(r.charAt(y++)),l<0||B<0||w<0||I<0)throw new TypeError("Invalid base64 input");A[d++]=l<<2|B>>4,w<64&&d<s&&(A[d++]=(B&15)<<4|w>>2),I<64&&d<s&&(A[d++]=(w&3)<<6|I)}return A}function _e(r){for(var e=r.length,s=new Uint8Array(e),A=0;A<e;)s[A]=r.charCodeAt(A),A++;return s}function Ye(r){return r instanceof Uint8Array?r:typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer?new Uint8Array(r):r&&typeof r=="object"&&ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):typeof r=="string"?new TextEncoder().encode(r):null}function Ke(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,s){return e<<s|e>>>32-s},endian:function(e){if(e.constructor===Number)return q.rotl(e,8)&16711935|q.rotl(e,24)&4278255360;for(var s=0;s<e.length;s++)e[s]=q.endian(e[s]);return e},bytesToWords:function(e){for(var s=[],A=0,d=0;A<e.length;A++,d+=8)s[d>>>5]|=e[A]<<24-d%32;return s},wordsToBytes:function(e){for(var s=[],A=0;A<e.length*32;A+=8)s.push(e[A>>>5]>>>24-A%32&255);return s},bytesconvertNumberToHex:function(e){for(var s=[],A=0;A<e.length;A++)s.push((e[A]>>>4).toString(16)),s.push((e[A]&15).toString(16));return s.join("")}}}var se=class extends H{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,s){let d=await new Promise((y,l)=>ue(e).then(y).catch(l));return Ee(d,s)}};xe(async(r,e={})=>{let{operation:s,encoding:A="base64"}=e;switch(s){case"crc32":return await new ae(e).hash(r,A);case"crc32c":return await new oe(e).hash(r,A);case"md5":return await new se(e).hash(r,A);default:throw new Error(`invalid option: ${s}`)}});})();
1
+ "use strict";(()=>{var he=null;function xe(r,e=!0,s){let u=s||new Set;if(r){if(Be(r))u.add(r);else if(Be(r.buffer))u.add(r.buffer);else if(!ArrayBuffer.isView(r)){if(e&&typeof r=="object")for(let d in r)xe(r[d],e,u)}}return s===void 0?Array.from(u):[]}function Be(r){return r?r instanceof ArrayBuffer||typeof MessagePort<"u"&&r instanceof MessagePort||typeof ImageBitmap<"u"&&r instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas:!1}async function J(){return he}var ae=new Map,M=class{static async inWorkerThread(){return typeof self<"u"||!!await J()}static set onmessage(e){async function s(u){let d=await J(),{type:b,payload:p}=d?u:u.data;e(b,p)}J().then(u=>{u?(u.on("message",d=>{s(d)}),u.on("exit",()=>console.debug("Node worker closing"))):globalThis.onmessage=s})}static async addEventListener(e){let s=ae.get(e);s||(s=d=>{let b=We(d);b&&e(b.type,b.payload)},ae.set(e,s));let u=await J();u?u.on("message",s):globalThis.addEventListener("message",s)}static async removeEventListener(e){let s=ae.get(e);if(ae.delete(e),!s)return;let u=await J();u?u.off("message",s):globalThis.removeEventListener("message",s)}static async postMessage(e,s){let u={source:"loaders.gl",type:e,payload:s},d=xe(s),b=await J();b?b.postMessage(u,d):globalThis.postMessage(u,d)}};function We(r){if(!r||typeof r!="object")return null;let e="data"in r&&r.type==="message"?r.data:r;return e&&typeof e.source=="string"&&e.source.startsWith("loaders.gl")?e:null}var N=class{_values;_settlers;_closed;constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(e){return this.enqueue(e)}enqueue(e){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let s=this._settlers.shift();e instanceof Error?s.reject(e):s.resolve({value:e})}else this._values.push(e)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let e=this._values.shift();return e instanceof Error?Promise.reject(e):Promise.resolve({done:!1,value:e})}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((e,s)=>{this._settlers.push({resolve:e,reject:s})})}};var Pe=0,z=null,oe=null;async function ue(r,e){if(!await M.inWorkerThread())return;let s={process:Re};M.onmessage=async(u,d)=>{try{switch(u){case"preload":M.postMessage("done",{});break;case"process":if(!r)throw new Error("Worker does not support atomic processing");let b=await r(d.input,d.options||{},s,d.context||{});M.postMessage("done",{result:b});break;case"process-in-batches":if(!e)throw new Error("Worker does not support batched processing");let p=new N,B=new N;z=p,oe=B;try{let g=e(Le(p),d.options||{},s,d.context||{});for await(let C of g)await M.postMessage("output-batch",{result:C}),await B.next();await M.postMessage("done",{})}finally{z=null,oe=null}break;case"input-batch":if(!z)throw new Error("Worker has no active batched processing session");z.push(d.input);break;case"input-done":if(!z)throw new Error("Worker has no active batched processing session");z.close();break;case"output-ack":if(!oe)throw new Error("Worker has no active batched processing session");oe.push(void 0);break;default:}}catch(b){let p=b instanceof Error?b.message:"";M.postMessage("error",{error:p})}}}async function*Le(r){for(;;){await M.postMessage("input-request",{});let e=await r.next();if(e.done)return;yield e.value}}function Re(r,e={},s={}){return new Promise((u,d)=>{let b=Pe++,p=(g,C)=>{if(C.id===b)switch(g){case"done":M.removeEventListener(p),u(C.result);break;case"error":M.removeEventListener(p),d(C.error);break;default:}};M.addEventListener(p);let B={id:b,input:r,options:e,context:s};M.postMessage("process",B)})}function ge(...r){return Fe(r)}function Fe(r){let e=r.map(b=>b instanceof ArrayBuffer?new Uint8Array(b):b),s=e.reduce((b,p)=>b+p.byteLength,0),u=new Uint8Array(s),d=0;for(let b of e)u.set(b,d),d+=b.byteLength;return u.buffer}async function de(r){let e=[];for await(let s of r)e.push(De(s));return ge(...e)}function De(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:s,byteLength:u}=r;return Ce(e,s,u)}return Ce(r)}function Ce(r,e=0,s=r.byteLength-e){let u=new Uint8Array(r,e,s),d=new Uint8Array(u.length);return d.set(u),d.buffer}var Z=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,s="base64"){let u=[];for await(let p of e)u.push(p),yield p;let d=await this.concatenate(u),b=await this.hash(d,s);this.options.crypto?.onEnd?.({hash:b})}async concatenate(e){return await de(e)}};var X=class{crc;constructor(){this.crc=-1}update(e){let s=qe(),u=new Uint8Array(e);for(let d=0;d<u.byteLength;d++)this.crc=this.crc>>>8^s[(this.crc^u[d])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Ge=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function qe(){return Ge}function we(r){r=`${r}`;for(let s=0;s<r.length;s++)if(r.charCodeAt(s)>255)return null;let e="";for(let s=0;s<r.length;s+=3){let u=[void 0,void 0,void 0,void 0];u[0]=r.charCodeAt(s)>>2,u[1]=(r.charCodeAt(s)&3)<<4,r.length>s+1&&(u[1]|=r.charCodeAt(s+1)>>4,u[2]=(r.charCodeAt(s+1)&15)<<2),r.length>s+2&&(u[2]|=r.charCodeAt(s+2)>>6,u[3]=r.charCodeAt(s+2)&63);for(let d=0;d<u.length;d++)typeof u[d]>"u"?e+="=":e+=Oe(u[d])}return e}function Oe(r){if(r<26)return String.fromCharCode(r+65);if(r<52)return String.fromCharCode(r-26+97);if(r<62)return String.fromCharCode(r-52+48);if(r===62)return"+";if(r===63)return"/"}function _(r,e){switch(e){case"hex":return Ee(r);case"base64":return Ie(Ee(r));default:throw new Error(e)}}function Qe(r,e){switch(e){case"hex":return r;case"base64":return Ie(r);default:throw new Error(e)}}function Ie(r){r.length%2!==0&&(r=`0${r}`);let s=(r.match(/\w{2}/g)||[]).map(u=>String.fromCharCode(parseInt(u,16))).join("");return we(s)||""}function Ee(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var ne=class extends Z{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,s){return this.hashSync(e,s)}hashSync(e,s){let u=new X;u.update(e);let d=u.finalize();return _(d,s)}async*hashBatches(e,s="base64"){let u=new X;for await(let b of e)u.update(b),yield b;let d=u.finalize();this.options.crypto?.onEnd?.({hash:_(d,s)})}};var Y=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let s=new Uint8Array(e),u=je();for(let d=0;d<s.length;d++)this.crc=u[(this.crc^s[d])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},Ve=Int32Array.of(0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697);function je(){return Ve}var se=class extends Z{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,s){return this.hashSync(e,s)}hashSync(e,s){let u=new Y(this.options);u.update(e);let d=u.finalize();return _(d,s)}async*hashBatches(e,s="base64"){let u=new Y(this.options);for await(let b of e)u.update(b),yield b;let d=u.finalize();this.options.crypto?.onEnd?.({hash:_(d,s)})}};var ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Te=ze("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"),Me=typeof WebAssembly<"u"&&Te?Te.buffer:!1,q=$e(),Ae=3840*16,ke=Math.floor(Ae*16*1.066666667),Ue=268369920,Ze="Parameter must be ArrayBuffer, ArrayBufferView or string",He="Parameter exceeds max size of 255.9 Mbytes";function le(r){var e,s,u,d,b,p,B,g,C,F;let O=Ne(),v=Je(),W={},L=new Date().getTime();return W.then=function(m){return B=m,I(),W},W.catch=function(m){return g=m,W},p=Ke(r),p||T(new TypeError(Ze)),p&&(b=p.length,Me&&b>ke?b>Ue?T(new Error(He)):(e=new WebAssembly.Memory({initial:b>32e6?b>64e6?b>128e6?4096:2048:1024:512}),s=new Uint32Array(e.buffer),d={mem:e,log:console.log},u={imports:d},WebAssembly.instantiate(Me,u).then(h)):I(O(p))),W;function h(m){I(v(p,m.instance.exports,s))}function I(m){var R=m||C;m&&(F=new Date().getTime()),typeof B=="function"?R&&(B(R,F-L),B=g=null):m&&(C=m)}function T(m){typeof g=="function"&&g(m)}}function Je(){var r,e,s,u,d,b,p,B,g,C,F,O,v,W=function(L){var h,I,T,m,R,V,j,U,y,H,t,a,o,n,D,P,E,A,$,ee,Q,er,rr=new Date().getTime(),Se=0,c=1732584193,i=-271733879,f=-1732584194,x=271733878,w=0,K=L.length*8,re;for(re=ve(L,v),v[K>>>5]|=128<<K%32,v[(K+64>>>9<<4)+14]=K,re=(K+64>>>9<<4)+15,Q=v;w<re;)re>w+ke?(u(c),b(i),B(f),C(x),e(Ae),w=w+Ae*16,c=s(),i=d(),f=p(),x=g(),Se++):(E=c,A=i,$=f,ee=x,h=Q[w+0]>>>0,I=Q[w+1]>>>0,T=Q[w+2]>>>0,m=Q[w+3]>>>0,R=Q[w+4]>>>0,V=Q[w+5]>>>0,j=Q[w+6]>>>0,U=Q[w+7]>>>0,y=Q[w+8]>>>0,H=Q[w+9]>>>0,t=Q[w+10]>>>0,a=Q[w+11]>>>0,o=Q[w+12]>>>0,n=Q[w+13]>>>0,D=Q[w+14]>>>0,P=Q[w+15]>>>0,c=l(7,25,c+(i&f|~i&x)+h-680876936)+i,x=l(12,20,x+(c&i|~c&f)+I-389564586)+c,f=l(17,15,f+(x&c|~x&i)+T+606105819)+x,i=l(22,10,i+(f&x|~f&c)+m-1044525330)+f,c=l(7,25,c+(i&f|~i&x)+R-176418897)+i,x=l(12,20,x+(c&i|~c&f)+V+1200080426)+c,f=l(17,15,f+(x&c|~x&i)+j-1473231341)+x,i=l(22,10,i+(f&x|~f&c)+U-45705983)+f,c=l(7,25,c+(i&f|~i&x)+y+1770035416)+i,x=l(12,20,x+(c&i|~c&f)+H-1958414417)+c,f=l(17,15,f+(x&c|~x&i)+t-42063)+x,i=l(22,10,i+(f&x|~f&c)+a-1990404162)+f,c=l(7,25,c+(i&f|~i&x)+o+1804603682)+i,x=l(12,20,x+(c&i|~c&f)+n-40341101)+c,f=l(17,15,f+(x&c|~x&i)+D-1502002290)+x,i=l(22,10,i+(f&x|~f&c)+P+1236535329)+f,c=l(5,27,c+(i&x|f&~x)+I-165796510)+i,x=l(9,23,x+(c&f|i&~f)+j-1069501632)+c,f=l(14,18,f+(x&i|c&~i)+a+643717713)+x,i=l(20,12,i+(f&c|x&~c)+h-373897302)+f,c=l(5,27,c+(i&x|f&~x)+V-701558691)+i,x=l(9,23,x+(c&f|i&~f)+t+38016083)+c,f=l(14,18,f+(x&i|c&~i)+P-660478335)+x,i=l(20,12,i+(f&c|x&~c)+R-405537848)+f,c=l(5,27,c+(i&x|f&~x)+H+568446438)+i,x=l(9,23,x+(c&f|i&~f)+D-1019803690)+c,f=l(14,18,f+(x&i|c&~i)+m-187363961)+x,i=l(20,12,i+(f&c|x&~c)+y+1163531501)+f,c=l(5,27,c+(i&x|f&~x)+n-1444681467)+i,x=l(9,23,x+(c&f|i&~f)+T-51403784)+c,f=l(14,18,f+(x&i|c&~i)+U+1735328473)+x,i=l(20,12,i+(f&c|x&~c)+o-1926607734)+f,c=l(4,28,c+(i^f^x)+V-378558)+i,x=l(11,21,x+(c^i^f)+y-2022574463)+c,f=l(16,16,f+(x^c^i)+a+1839030562)+x,i=l(23,9,i+(f^x^c)+D-35309556)+f,c=l(4,28,c+(i^f^x)+I-1530992060)+i,x=l(11,21,x+(c^i^f)+R+1272893353)+c,f=l(16,16,f+(x^c^i)+U-155497632)+x,i=l(23,9,i+(f^x^c)+t-1094730640)+f,c=l(4,28,c+(i^f^x)+n+681279174)+i,x=l(11,21,x+(c^i^f)+h-358537222)+c,f=l(16,16,f+(x^c^i)+m-722521979)+x,i=l(23,9,i+(f^x^c)+j+76029189)+f,c=l(4,28,c+(i^f^x)+H-640364487)+i,x=l(11,21,x+(c^i^f)+o-421815835)+c,f=l(16,16,f+(x^c^i)+P+530742520)+x,i=l(23,9,i+(f^x^c)+T-995338651)+f,c=l(6,26,c+(f^(i|~x))+h-198630844)+i,x=l(10,22,x+(i^(c|~f))+U+1126891415)+c,f=l(15,17,f+(c^(x|~i))+D-1416354905)+x,i=l(21,11,i+(x^(f|~c))+V-57434055)+f,c=l(6,26,c+(f^(i|~x))+o+1700485571)+i,x=l(10,22,x+(i^(c|~f))+m-1894986606)+c,f=l(15,17,f+(c^(x|~i))+t-1051523)+x,i=l(21,11,i+(x^(f|~c))+I-2054922799)+f,c=l(6,26,c+(f^(i|~x))+y+1873313359)+i,x=l(10,22,x+(i^(c|~f))+P-30611744)+c,f=l(15,17,f+(c^(x|~i))+j-1560198380)+x,i=l(21,11,i+(x^(f|~c))+n+1309151649)+f,c=l(6,26,c+(f^(i|~x))+R-145523070)+i,x=l(10,22,x+(i^(c|~f))+a-1120210379)+c,f=l(15,17,f+(c^(x|~i))+T+718787259)+x,i=l(21,11,i+(x^(f|~c))+H-343485551)+f,w=w+16,c=c+E>>>0,i=i+A>>>0,f=f+$>>>0,x=x+ee>>>0);return q.endian([c,i,f,x]);function l(k,te,G){return G<<k|G>>>te}function ve(k,te){for(var G=-1,fe=Math.floor((k.length-1)/4),S=0,be,pe,ye,me;fe-8>G++;)S=G<<2,te[G]=k[S+0]|k[S+1]<<8|k[S+2]<<16|k[S+3]<<24;for(G--;fe>G++;)S=G<<2,be=typeof k[S+0]>"u"?0:k[S+0],pe=typeof k[S+1]>"u"?0:k[S+1],ye=typeof k[S+2]>"u"?0:k[S+2],me=typeof k[S+3]>"u"?0:k[S+3],te[G]=be|pe<<8|ye<<16|me<<24;return fe+1}};return function(L,h,I,T){var m;return e=h.loops,r=h.loop,s=h.getA,d=h.getB,p=h.getC,g=h.getD,F=h.getX,u=h.setA,b=h.setB,B=h.setC,C=h.setD,O=h.setX,v=I,m=q.wordsToBytes(W(L)),T&&T.asBytes?m:q.bytesconvertNumberToHex(m)}}function Ne(){var r=function(e,s){var u,d,b,p,B,g,C,F,O,v,W,L,h,I,T,m,R,V,j,U,y,H=new Date().getTime(),t=1732584193,a=-271733879,o=-1732584194,n=271733878,D=e.length*8;y=q.bytesToWords(e);for(var P=0;P<y.length;P++)y[P]=(y[P]<<8|y[P]>>>24)&16711935|(y[P]<<24|y[P]>>>8)&4278255360;y[D>>>5]|=128<<D%32,y[(D+64>>>9<<4)+14]=D;for(var E=0;E<y.length;E+=16)R=t,V=a,j=o,U=n,u=y[E+0]>>>0,d=y[E+1]>>>0,b=y[E+2]>>>0,p=y[E+3]>>>0,B=y[E+4]>>>0,g=y[E+5]>>>0,C=y[E+6]>>>0,F=y[E+7]>>>0,O=y[E+8]>>>0,v=y[E+9]>>>0,W=y[E+10]>>>0,L=y[E+11]>>>0,h=y[E+12]>>>0,I=y[E+13]>>>0,T=y[E+14]>>>0,m=y[E+15]>>>0,t=A(7,25,t+(a&o|~a&n)+u-680876936)+a,n=A(12,20,n+(t&a|~t&o)+d-389564586)+t,o=A(17,15,o+(n&t|~n&a)+b+606105819)+n,a=A(22,10,a+(o&n|~o&t)+p-1044525330)+o,t=A(7,25,t+(a&o|~a&n)+B-176418897)+a,n=A(12,20,n+(t&a|~t&o)+g+1200080426)+t,o=A(17,15,o+(n&t|~n&a)+C-1473231341)+n,a=A(22,10,a+(o&n|~o&t)+F-45705983)+o,t=A(7,25,t+(a&o|~a&n)+O+1770035416)+a,n=A(12,20,n+(t&a|~t&o)+v-1958414417)+t,o=A(17,15,o+(n&t|~n&a)+W-42063)+n,a=A(22,10,a+(o&n|~o&t)+L-1990404162)+o,t=A(7,25,t+(a&o|~a&n)+h+1804603682)+a,n=A(12,20,n+(t&a|~t&o)+I-40341101)+t,o=A(17,15,o+(n&t|~n&a)+T-1502002290)+n,a=A(22,10,a+(o&n|~o&t)+m+1236535329)+o,t=A(5,27,t+(a&n|o&~n)+d-165796510)+a,n=A(9,23,n+(t&o|a&~o)+C-1069501632)+t,o=A(14,18,o+(n&a|t&~a)+L+643717713)+n,a=A(20,12,a+(o&t|n&~t)+u-373897302)+o,t=A(5,27,t+(a&n|o&~n)+g-701558691)+a,n=A(9,23,n+(t&o|a&~o)+W+38016083)+t,o=A(14,18,o+(n&a|t&~a)+m-660478335)+n,a=A(20,12,a+(o&t|n&~t)+B-405537848)+o,t=A(5,27,t+(a&n|o&~n)+v+568446438)+a,n=A(9,23,n+(t&o|a&~o)+T-1019803690)+t,o=A(14,18,o+(n&a|t&~a)+p-187363961)+n,a=A(20,12,a+(o&t|n&~t)+O+1163531501)+o,t=A(5,27,t+(a&n|o&~n)+I-1444681467)+a,n=A(9,23,n+(t&o|a&~o)+b-51403784)+t,o=A(14,18,o+(n&a|t&~a)+F+1735328473)+n,a=A(20,12,a+(o&t|n&~t)+h-1926607734)+o,t=A(4,28,t+(a^o^n)+g-378558)+a,n=A(11,21,n+(t^a^o)+O-2022574463)+t,o=A(16,16,o+(n^t^a)+L+1839030562)+n,a=A(23,9,a+(o^n^t)+T-35309556)+o,t=A(4,28,t+(a^o^n)+d-1530992060)+a,n=A(11,21,n+(t^a^o)+B+1272893353)+t,o=A(16,16,o+(n^t^a)+F-155497632)+n,a=A(23,9,a+(o^n^t)+W-1094730640)+o,t=A(4,28,t+(a^o^n)+I+681279174)+a,n=A(11,21,n+(t^a^o)+u-358537222)+t,o=A(16,16,o+(n^t^a)+p-722521979)+n,a=A(23,9,a+(o^n^t)+C+76029189)+o,t=A(4,28,t+(a^o^n)+v-640364487)+a,n=A(11,21,n+(t^a^o)+h-421815835)+t,o=A(16,16,o+(n^t^a)+m+530742520)+n,a=A(23,9,a+(o^n^t)+b-995338651)+o,t=A(6,26,t+(o^(a|~n))+u-198630844)+a,n=A(10,22,n+(a^(t|~o))+F+1126891415)+t,o=A(15,17,o+(t^(n|~a))+T-1416354905)+n,a=A(21,11,a+(n^(o|~t))+g-57434055)+o,t=A(6,26,t+(o^(a|~n))+h+1700485571)+a,n=A(10,22,n+(a^(t|~o))+p-1894986606)+t,o=A(15,17,o+(t^(n|~a))+W-1051523)+n,a=A(21,11,a+(n^(o|~t))+d-2054922799)+o,t=A(6,26,t+(o^(a|~n))+O+1873313359)+a,n=A(10,22,n+(a^(t|~o))+m-30611744)+t,o=A(15,17,o+(t^(n|~a))+C-1560198380)+n,a=A(21,11,a+(n^(o|~t))+I+1309151649)+o,t=A(6,26,t+(o^(a|~n))+B-145523070)+a,n=A(10,22,n+(a^(t|~o))+L-1120210379)+t,o=A(15,17,o+(t^(n|~a))+b+718787259)+n,a=A(21,11,a+(n^(o|~t))+v-343485551)+o,t=t+R>>>0,a=a+V>>>0,o=o+j>>>0,n=n+U>>>0;return q.endian([t,a,o,n]);function A($,ee,Q){return Q<<$|Q>>>ee}};return function(e,s){var u=q.wordsToBytes(r(e,s)),d=s&&s.asBytes?u:q.bytesconvertNumberToHex(u);return d}}function ze(r){try{return Xe(r)}catch{return null}}function Xe(r){var e=r.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?Ye(atob(e)):_e(e)}function _e(r){for(var e=r.endsWith("==")?2:r.endsWith("=")?1:0,s=r.length*3/4-e,u=new Uint8Array(s),d=0,b=0,p,B,g,C;b<r.length;){if(p=ce.indexOf(r.charAt(b++)),B=ce.indexOf(r.charAt(b++)),g=ce.indexOf(r.charAt(b++)),C=ce.indexOf(r.charAt(b++)),p<0||B<0||g<0||C<0)throw new TypeError("Invalid base64 input");u[d++]=p<<2|B>>4,g<64&&d<s&&(u[d++]=(B&15)<<4|g>>2),C<64&&d<s&&(u[d++]=(g&3)<<6|C)}return u}function Ye(r){for(var e=r.length,s=new Uint8Array(e),u=0;u<e;)s[u]=r.charCodeAt(u),u++;return s}function Ke(r){return r instanceof Uint8Array?r:typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer?new Uint8Array(r):r&&typeof r=="object"&&ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):typeof r=="string"?new TextEncoder().encode(r):null}function $e(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,s){return e<<s|e>>>32-s},endian:function(e){if(e.constructor===Number)return q.rotl(e,8)&16711935|q.rotl(e,24)&4278255360;for(var s=0;s<e.length;s++)e[s]=q.endian(e[s]);return e},bytesToWords:function(e){for(var s=[],u=0,d=0;u<e.length;u++,d+=8)s[d>>>5]|=e[u]<<24-d%32;return s},wordsToBytes:function(e){for(var s=[],u=0;u<e.length*32;u+=8)s.push(e[u>>>5]>>>24-u%32&255);return s},bytesconvertNumberToHex:function(e){for(var s=[],u=0;u<e.length;u++)s.push((e[u]>>>4).toString(16)),s.push((e[u]&15).toString(16));return s.join("")}}}var ie=class extends Z{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,s){let d=await new Promise((b,p)=>le(e).then(b).catch(p));return Qe(d,s)}};ue(async(r,e={})=>{let{operation:s,encoding:u="base64"}=e;switch(s){case"crc32":return await new ne(e).hash(r,u);case"crc32c":return await new se(e).hash(r,u);case"md5":return await new ie(e).hash(r,u);default:throw new Error(`invalid option: ${s}`)}});})();
2
2
  //# sourceMappingURL=crypto-worker.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../worker-utils/src/lib/node/worker_threads-browser.ts", "../../worker-utils/src/lib/worker-utils/get-transfer-list.ts", "../../worker-utils/src/lib/worker-farm/worker-body.ts", "../../worker-utils/src/lib/async-queue/async-queue.ts", "../../worker-utils/src/lib/worker-api/create-worker.ts", "../../loader-utils/src/lib/binary-utils/array-buffer-utils.ts", "../../loader-utils/src/lib/iterators/async-iteration.ts", "../src/lib/hash.ts", "../src/lib/algorithms/crc32.ts", "../src/lib/utils/base64-utils.ts", "../src/lib/utils/digest-utils.ts", "../src/lib/crc32-hash.ts", "../src/lib/algorithms/crc32c.ts", "../src/lib/crc32c-hash.ts", "../src/lib/algorithms/md5-wasm.ts", "../src/lib/md5-hash.ts", "../src/workers/crypto-worker.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Browser polyfill for Node.js built-in `worker_threads` module.\n * These fills are non-functional, and just intended to ensure that\n * `import 'worker_threads` doesn't break browser builds.\n * The replacement is done in package.json browser field\n */\nexport class NodeWorker {\n /** Restores the native worker constructor when this browser shim is embedded in a Node bundle. */\n constructor(...arguments_: unknown[]) {\n const runtimeProcess = (\n globalThis as {\n process?: {\n getBuiltinModule?: (specifier: string) => {\n Worker?: new (...workerArguments: unknown[]) => NodeWorker;\n };\n };\n }\n ).process;\n const WorkerConstructor = runtimeProcess?.getBuiltinModule?.('node:worker_threads').Worker;\n if (WorkerConstructor) {\n return new WorkerConstructor(...arguments_);\n }\n }\n\n /** No-op browser fallback matching the native Worker API. */\n terminate() {}\n}\n\nexport type {NodeWorker as NodeWorkerType};\n\nexport const parentPort = null;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// NOTE - there is a copy of this function is both in core and loader-utils\n// core does not need all the utils in loader-utils, just this one.\n\n/**\n * Returns an array of Transferrable objects that can be used with postMessage\n * https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage\n * @param object data to be sent via postMessage\n * @param recursive - not for application use\n * @param transfers - not for application use\n * @returns a transfer list that can be passed to postMessage\n */\nexport function getTransferList(\n object: any,\n recursive: boolean = true,\n transfers?: Set<any>\n): Transferable[] {\n // Make sure that items in the transfer list is unique\n const transfersSet = transfers || new Set();\n\n if (!object) {\n // ignore\n } else if (isTransferable(object)) {\n transfersSet.add(object);\n } else if (isTransferable(object.buffer)) {\n // Typed array\n transfersSet.add(object.buffer);\n } else if (ArrayBuffer.isView(object)) {\n // object is a TypeArray viewing into a SharedArrayBuffer (not transferable)\n // Do not iterate through the content in this case\n } else if (recursive && typeof object === 'object') {\n for (const key in object) {\n // Avoid perf hit - only go one level deep\n getTransferList(object[key], recursive, transfersSet);\n }\n }\n\n // If transfers is defined, is internal recursive call\n // Otherwise it's called by the user\n return transfers === undefined ? Array.from(transfersSet) : [];\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Transferable\nfunction isTransferable(object: unknown) {\n if (!object) {\n return false;\n }\n if (object instanceof ArrayBuffer) {\n return true;\n }\n if (typeof MessagePort !== 'undefined' && object instanceof MessagePort) {\n return true;\n }\n if (typeof ImageBitmap !== 'undefined' && object instanceof ImageBitmap) {\n return true;\n }\n // @ts-ignore\n if (typeof OffscreenCanvas !== 'undefined' && object instanceof OffscreenCanvas) {\n return true;\n }\n return false;\n}\n\n/**\n * Recursively drop non serializable values like functions and regexps.\n * @param object\n */\nexport function getTransferListForWriter(object: object | null): object {\n if (object === null) {\n return {};\n }\n const clone = Object.assign({}, object);\n\n Object.keys(clone).forEach(key => {\n // Typed Arrays and Arrays are passed with no change\n if (\n typeof object[key] === 'object' &&\n !ArrayBuffer.isView(object[key]) &&\n !(object[key] instanceof Array)\n ) {\n clone[key] = getTransferListForWriter(object[key]);\n } else if (typeof clone[key] === 'function' || clone[key] instanceof RegExp) {\n clone[key] = {};\n } else {\n clone[key] = object[key];\n }\n });\n\n return clone;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WorkerMessageData, WorkerMessageType, WorkerMessagePayload} from '../../types';\nimport {getTransferList} from '../worker-utils/get-transfer-list';\n// import type {TransferListItem} from '../node/worker_threads';\nimport {parentPort} from '../node/worker_threads';\n\ntype TransferListItem = any;\n\n/** Vile hack to defeat over-zealous bundlers from stripping out the require */\nasync function getParentPort() {\n // const isNode = globalThis.process;\n // let parentPort;\n // try {\n // // biome-ignore format: preserve intentional fixture layout\n // eval('globalThis.parentPort = require(\\'worker_threads\\').parentPort'); // eslint-disable-line no-eval\n // parentPort = globalThis.parentPort;\n // } catch {\n // try {\n // // biome-ignore format: preserve intentional fixture layout\n // eval('globalThis.workerThreadsPromise = import(\\'worker_threads\\')'); // eslint-disable-line no-eval\n // const workerThreads = await globalThis.workerThreadsPromise;\n // parentPort = workerThreads.parentPort;\n // } catch (error) {\n // console.error((error as Error).message); // eslint-disable-line no-console\n // }\n // }\n return parentPort;\n}\n\nconst onMessageWrapperMap = new Map();\n\n/**\n * Type safe wrapper for worker code\n */\nexport default class WorkerBody {\n /** Check that we are actually in a worker thread */\n static async inWorkerThread(): Promise<boolean> {\n return typeof self !== 'undefined' || Boolean(await getParentPort());\n }\n\n /*\n * (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n */\n static set onmessage(onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any) {\n async function handleMessage(message) {\n const parentPort = await getParentPort();\n // Confusingly the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = parentPort ? message : message.data;\n // if (!isKnownMessage(message)) {\n // return;\n // }\n onMessage(type, payload);\n }\n\n getParentPort().then(parentPort => {\n if (parentPort) {\n parentPort.on('message', message => {\n handleMessage(message);\n });\n // if (message == 'exit') { parentPort.unref(); }\n // eslint-disable-next-line\n parentPort.on('exit', () => console.debug('Node worker closing'));\n } else {\n // eslint-disable-next-line no-restricted-globals\n globalThis.onmessage = handleMessage;\n }\n });\n }\n\n static async addEventListener(\n onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n ) {\n let onMessageWrapper = onMessageWrapperMap.get(onMessage);\n\n if (!onMessageWrapper) {\n onMessageWrapper = async (message: MessageEvent<any>) => {\n if (!isKnownMessage(message)) {\n return;\n }\n\n const parentPort = await getParentPort();\n // Confusingly in the browser, the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = parentPort ? message : message.data;\n onMessage(type, payload);\n };\n }\n\n const parentPort = await getParentPort();\n if (parentPort) {\n console.error('not implemented'); // eslint-disable-line\n } else {\n globalThis.addEventListener('message', onMessageWrapper);\n }\n }\n\n static async removeEventListener(\n onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n ) {\n const onMessageWrapper = onMessageWrapperMap.get(onMessage);\n onMessageWrapperMap.delete(onMessage);\n const parentPort = await getParentPort();\n if (parentPort) {\n console.error('not implemented'); // eslint-disable-line\n } else {\n globalThis.removeEventListener('message', onMessageWrapper);\n }\n }\n\n /**\n * Send a message from a worker to creating thread (main thread)\n * @param type\n * @param payload\n */\n static async postMessage(type: WorkerMessageType, payload: WorkerMessagePayload): Promise<void> {\n const data: WorkerMessageData = {source: 'loaders.gl', type, payload};\n // console.log('posting message', data);\n\n // Cast to Node compatible transfer list\n const transferList = getTransferList(payload) as TransferListItem[];\n\n const parentPort = await getParentPort();\n if (parentPort) {\n parentPort.postMessage(data, transferList);\n // console.log('posted message', data);\n } else {\n // @ts-expect-error Outside of worker scopes this call has a third parameter\n globalThis.postMessage(data, transferList);\n }\n }\n}\n\n// Filter out noise messages sent to workers\nfunction isKnownMessage(message: MessageEvent<any>) {\n const {type, data} = message;\n return (\n type === 'message' &&\n data &&\n typeof data.source === 'string' &&\n data.source.startsWith('loaders.gl')\n );\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// From https://github.com/rauschma/async-iter-demo/tree/master/src under MIT license\n// http://2ality.com/2016/10/asynchronous-iteration.html\n\n/**\n * Async Queue\n * - AsyncIterable: An async iterator can be\n * - Values can be pushed onto the queue\n * @example\n * const asyncQueue = new AsyncQueue();\n * setTimeout(() => asyncQueue.enqueue('tick'), 1000);\n * setTimeout(() => asyncQueue.enqueue(new Error('done')), 10000);\n * for await (const value of asyncQueue) {\n * console.log(value); // tick\n * }\n */\nexport default class AsyncQueue<T> {\n private _values: any[];\n private _settlers: any[];\n private _closed: boolean;\n\n constructor() {\n this._values = []; // enqueues > dequeues\n this._settlers = []; // dequeues > enqueues\n this._closed = false;\n }\n\n /** Return an async iterator for this queue */\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n }\n\n /** Push a new value - the async iterator will yield a promise resolved to this value */\n push(value: T): void {\n return this.enqueue(value);\n }\n\n /**\n * Push a new value - the async iterator will yield a promise resolved to this value\n * Add an error - the async iterator will yield a promise rejected with this value\n */\n enqueue(value: T | Error): void {\n if (this._closed) {\n throw new Error('Closed');\n }\n\n if (this._settlers.length > 0) {\n if (this._values.length > 0) {\n throw new Error('Illegal internal state');\n }\n const settler = this._settlers.shift();\n if (value instanceof Error) {\n settler.reject(value);\n } else {\n settler.resolve({value});\n }\n } else {\n this._values.push(value);\n }\n }\n\n /** Indicate that we not waiting for more values - The async iterator will be done */\n close(): void {\n while (this._settlers.length > 0) {\n const settler = this._settlers.shift();\n settler.resolve({done: true});\n }\n this._closed = true;\n }\n\n // ITERATOR IMPLEMENTATION\n\n /** @returns a Promise for an IteratorResult */\n next(): Promise<IteratorResult<T, any>> {\n // If values in queue, yield the first value\n if (this._values.length > 0) {\n const value = this._values.shift();\n if (value instanceof Error) {\n return Promise.reject(value);\n }\n return Promise.resolve({done: false, value});\n }\n\n // If queue is closed, the iterator is done\n if (this._closed) {\n if (this._settlers.length > 0) {\n throw new Error('Illegal internal state');\n }\n return Promise.resolve({done: true, value: undefined});\n }\n\n // Yield a promise that waits for new values to be enqueued\n return new Promise((resolve, reject) => {\n this._settlers.push({resolve, reject});\n });\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {\n WorkerMessageType,\n WorkerMessagePayload,\n WorkerContext,\n WorkerJobContext,\n Process,\n ProcessInBatches\n} from '../../types';\nimport AsyncQueue from '../async-queue/async-queue';\nimport WorkerBody from '../worker-farm/worker-body';\n// import {validateWorkerVersion} from './validate-worker-version';\n\n/** Counter for jobs */\nlet requestId = 0;\nlet inputBatches: AsyncQueue<any>;\nlet options: {[key: string]: any};\n\nexport type ProcessOnMainThread = (\n data: any,\n options?: {[key: string]: any},\n jobContext?: WorkerJobContext\n) => any;\n\n/**\n * Set up a WebWorkerGlobalScope to talk with the main thread\n */\nexport async function createWorker(\n process: Process,\n processInBatches?: ProcessInBatches\n): Promise<void> {\n if (!(await WorkerBody.inWorkerThread())) {\n return;\n }\n\n const context: WorkerContext = {\n process: processOnMainThread\n };\n\n // eslint-disable-next-line complexity\n WorkerBody.onmessage = async (type: WorkerMessageType, payload: WorkerMessagePayload) => {\n try {\n switch (type) {\n case 'preload':\n WorkerBody.postMessage('done', {});\n break;\n\n case 'process':\n if (!process) {\n throw new Error('Worker does not support atomic processing');\n }\n const result = await process(\n payload.input,\n payload.options || {},\n context,\n payload.context || {}\n );\n WorkerBody.postMessage('done', {result});\n break;\n\n case 'process-in-batches':\n if (!processInBatches) {\n throw new Error('Worker does not support batched processing');\n }\n inputBatches = new AsyncQueue<any>();\n options = payload.options || {};\n const resultIterator = processInBatches(\n inputBatches,\n options,\n context,\n payload.context || {}\n );\n for await (const batch of resultIterator) {\n WorkerBody.postMessage('output-batch', {result: batch});\n }\n WorkerBody.postMessage('done', {});\n break;\n\n case 'input-batch':\n inputBatches.push(payload.input);\n break;\n\n case 'input-done':\n inputBatches.close();\n break;\n\n default:\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n };\n}\n\nfunction processOnMainThread(arrayBuffer: ArrayBuffer, options = {}, jobContext = {}) {\n return new Promise((resolve, reject) => {\n const id = requestId++;\n\n /**\n */\n const onMessage = (type: string, payload: WorkerMessagePayload) => {\n if (payload.id !== id) {\n // not ours\n return;\n }\n\n switch (type) {\n case 'done':\n WorkerBody.removeEventListener(onMessage);\n resolve(payload.result);\n break;\n\n case 'error':\n WorkerBody.removeEventListener(onMessage);\n reject(payload.error);\n break;\n\n default:\n // ignore\n }\n };\n\n WorkerBody.addEventListener(onMessage);\n\n // Ask the main thread to decode data\n const payload = {id, input: arrayBuffer, options, context: jobContext};\n WorkerBody.postMessage('process', payload);\n });\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {TypedArray} from '../../types';\n\n/**\n * compare two binary arrays for equality\n * @param a\n * @param b\n * @param byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBufferLike,\n arrayBuffer2: ArrayBufferLike,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers from arguments\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n return concatenateArrayBuffersFromArray(sources);\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers from array\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffersFromArray(\n sources: (ArrayBuffer | Uint8Array)[]\n): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map(source2 =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBufferLike,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {concatenateArrayBuffers} from '../binary-utils/array-buffer-utils';\n\n// GENERAL UTILITIES\n\n/**\n * Iterates over an {@link AsyncIterable} or {@link Iterable}, invoking `visitor` for each yielded\n * value without rewinding the iterator when exiting early. This enables the caller to continue\n * iterating in another loop after `visitor` signals cancellation.\n */\nexport async function forEach<TValue>(\n iterable: AsyncIterable<TValue> | Iterable<TValue> | AsyncIterator<TValue>,\n visitor: (value: TValue) => any\n) {\n const iterator = toAsyncIterator(iterable);\n // eslint-disable-next-line\n while (true) {\n const {done, value} = await iterator.next();\n if (done) {\n if (iterator.return) {\n iterator.return();\n }\n return;\n }\n const cancel = visitor(value);\n if (cancel) {\n return;\n }\n }\n}\n\n/**\n * Concatenates all binary chunks yielded by an async or sync iterator.\n * Supports `ArrayBuffer`, typed array views, and `ArrayBufferLike` sources (e.g. `SharedArrayBuffer`).\n * This allows atomic parsers to operate on iterator inputs by materializing them into a single buffer.\n */\nexport async function concatenateArrayBuffersAsync(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>\n): Promise<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const chunk of asyncIterator) {\n arrayBuffers.push(copyToArrayBuffer(chunk));\n }\n return concatenateArrayBuffers(...arrayBuffers);\n}\n\nexport async function concatenateStringsAsync(\n asyncIterator: AsyncIterable<string> | Iterable<string>\n): Promise<string> {\n const strings: string[] = [];\n for await (const chunk of asyncIterator) {\n strings.push(chunk);\n }\n return strings.join('');\n}\n\n/**\n * Normalizes binary chunk iterators to yield `ArrayBuffer` instances.\n * Accepts `ArrayBuffer`, `ArrayBufferView`, and `ArrayBufferLike` sources\n * (e.g. `SharedArrayBuffer`) and returns a copied `ArrayBuffer` for each chunk.\n */\nexport async function* toArrayBufferIterator(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>\n): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n yield copyToArrayBuffer(chunk);\n }\n}\n\nfunction copyToArrayBuffer(chunk: ArrayBufferLike | ArrayBufferView | ArrayBuffer): ArrayBuffer {\n if (chunk instanceof ArrayBuffer) {\n return chunk;\n }\n\n if (ArrayBuffer.isView(chunk)) {\n const {buffer, byteOffset, byteLength} = chunk;\n return copyFromBuffer(buffer, byteOffset, byteLength);\n }\n\n return copyFromBuffer(chunk as ArrayBufferLike);\n}\n\nfunction copyFromBuffer(\n buffer: ArrayBufferLike,\n byteOffset = 0,\n byteLength = buffer.byteLength - byteOffset\n): ArrayBuffer {\n const view = new Uint8Array(buffer, byteOffset, byteLength);\n const copy = new Uint8Array(view.length);\n copy.set(view);\n return copy.buffer;\n}\n\nfunction toAsyncIterator<TValue>(\n iterable: AsyncIterable<TValue> | Iterable<TValue> | AsyncIterator<TValue>\n): AsyncIterator<TValue> {\n if (typeof iterable[Symbol.asyncIterator] === 'function') {\n return iterable[Symbol.asyncIterator]();\n }\n\n if (typeof iterable[Symbol.iterator] === 'function') {\n const iterator = iterable[Symbol.iterator]();\n return iteratorToAsyncIterator(iterator);\n }\n\n return iterable as AsyncIterator<TValue>;\n}\n\nfunction iteratorToAsyncIterator<T>(iterator: Iterator<T>): AsyncIterator<T> {\n return {\n next(value?: any) {\n return Promise.resolve(iterator.next(value));\n },\n\n return(value?: any) {\n if (typeof iterator.return === 'function') {\n return Promise.resolve(iterator.return(value));\n }\n return Promise.resolve({done: true, value});\n },\n\n throw(error?: any) {\n if (typeof iterator.throw === 'function') {\n return Promise.resolve(iterator.throw(error));\n }\n return Promise.reject(error);\n }\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\ntype HashOptions = {\n modules?: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/** Abstract hash base class */\nexport abstract class Hash {\n abstract readonly name: string;\n abstract readonly options: HashOptions;\n\n constructor(options: HashOptions = {}) {\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n async preload(): Promise<void> {\n return;\n }\n\n abstract hash(arrayBuffer: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const arrayBuffer of asyncIterator) {\n arrayBuffers.push(arrayBuffer);\n yield arrayBuffer;\n }\n const output = await this.concatenate(arrayBuffers);\n const hash = await this.hash(output, encoding);\n this.options.crypto?.onEnd?.({hash});\n }\n\n // HELPERS\n\n protected async concatenate(asyncIterator): Promise<ArrayBuffer> {\n return await concatenateArrayBuffersAsync(asyncIterator);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Inspired by https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// Full crc32 docs: https://www.kernel.org/doc/Documentation/crc32.txt\n// Better JS implementation: https://stackoverflow.com/a/18639999\n/**\n * Calculates the CRC32 checksum of a string.\n */\nexport default class CRC32 {\n crc: number;\n\n constructor() {\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const CRC32_TABLE = getCRC32Table();\n const byteArray = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteArray.byteLength; i++) {\n this.crc = (this.crc >>> 8) ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff];\n // strings: crc = (crc >>> 8) ^ CRC32TAB[(crc ^ str.charCodeAt(i)) & 0xff];\n }\n return this;\n }\n\n finalize() {\n // performing final division and making crc unsigned.\n // The reason why we can't use Math.abs() ther is that 1 in bite representation is 00000000000000000000000000000001\n // and -1 is 11111111111111111111111111111111. So Math.abs() completely changes the bits there,\n // but what we need is just make JS count first 1 bit as a part of a number and not the sign marker.\n // We don't need to change anything else in this bit representation. And that's exactly what >>> does.\n this.crc = (this.crc ^ -1) >>> 0;\n return this.crc;\n }\n}\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32TAB = Uint32Array.of(\n 0x00000000,\n 0x77073096,\n 0xee0e612c,\n 0x990951ba,\n 0x076dc419,\n 0x706af48f,\n 0xe963a535,\n 0x9e6495a3,\n 0x0edb8832,\n 0x79dcb8a4,\n 0xe0d5e91e,\n 0x97d2d988,\n 0x09b64c2b,\n 0x7eb17cbd,\n 0xe7b82d07,\n 0x90bf1d91,\n 0x1db71064,\n 0x6ab020f2,\n 0xf3b97148,\n 0x84be41de,\n 0x1adad47d,\n 0x6ddde4eb,\n 0xf4d4b551,\n 0x83d385c7,\n 0x136c9856,\n 0x646ba8c0,\n 0xfd62f97a,\n 0x8a65c9ec,\n 0x14015c4f,\n 0x63066cd9,\n 0xfa0f3d63,\n 0x8d080df5,\n 0x3b6e20c8,\n 0x4c69105e,\n 0xd56041e4,\n 0xa2677172,\n 0x3c03e4d1,\n 0x4b04d447,\n 0xd20d85fd,\n 0xa50ab56b,\n 0x35b5a8fa,\n 0x42b2986c,\n 0xdbbbc9d6,\n 0xacbcf940,\n 0x32d86ce3,\n 0x45df5c75,\n 0xdcd60dcf,\n 0xabd13d59,\n 0x26d930ac,\n 0x51de003a,\n 0xc8d75180,\n 0xbfd06116,\n 0x21b4f4b5,\n 0x56b3c423,\n 0xcfba9599,\n 0xb8bda50f,\n 0x2802b89e,\n 0x5f058808,\n 0xc60cd9b2,\n 0xb10be924,\n 0x2f6f7c87,\n 0x58684c11,\n 0xc1611dab,\n 0xb6662d3d,\n 0x76dc4190,\n 0x01db7106,\n 0x98d220bc,\n 0xefd5102a,\n 0x71b18589,\n 0x06b6b51f,\n 0x9fbfe4a5,\n 0xe8b8d433,\n 0x7807c9a2,\n 0x0f00f934,\n 0x9609a88e,\n 0xe10e9818,\n 0x7f6a0dbb,\n 0x086d3d2d,\n 0x91646c97,\n 0xe6635c01,\n 0x6b6b51f4,\n 0x1c6c6162,\n 0x856530d8,\n 0xf262004e,\n 0x6c0695ed,\n 0x1b01a57b,\n 0x8208f4c1,\n 0xf50fc457,\n 0x65b0d9c6,\n 0x12b7e950,\n 0x8bbeb8ea,\n 0xfcb9887c,\n 0x62dd1ddf,\n 0x15da2d49,\n 0x8cd37cf3,\n 0xfbd44c65,\n 0x4db26158,\n 0x3ab551ce,\n 0xa3bc0074,\n 0xd4bb30e2,\n 0x4adfa541,\n 0x3dd895d7,\n 0xa4d1c46d,\n 0xd3d6f4fb,\n 0x4369e96a,\n 0x346ed9fc,\n 0xad678846,\n 0xda60b8d0,\n 0x44042d73,\n 0x33031de5,\n 0xaa0a4c5f,\n 0xdd0d7cc9,\n 0x5005713c,\n 0x270241aa,\n 0xbe0b1010,\n 0xc90c2086,\n 0x5768b525,\n 0x206f85b3,\n 0xb966d409,\n 0xce61e49f,\n 0x5edef90e,\n 0x29d9c998,\n 0xb0d09822,\n 0xc7d7a8b4,\n 0x59b33d17,\n 0x2eb40d81,\n 0xb7bd5c3b,\n 0xc0ba6cad,\n 0xedb88320,\n 0x9abfb3b6,\n 0x03b6e20c,\n 0x74b1d29a,\n 0xead54739,\n 0x9dd277af,\n 0x04db2615,\n 0x73dc1683,\n 0xe3630b12,\n 0x94643b84,\n 0x0d6d6a3e,\n 0x7a6a5aa8,\n 0xe40ecf0b,\n 0x9309ff9d,\n 0x0a00ae27,\n 0x7d079eb1,\n 0xf00f9344,\n 0x8708a3d2,\n 0x1e01f268,\n 0x6906c2fe,\n 0xf762575d,\n 0x806567cb,\n 0x196c3671,\n 0x6e6b06e7,\n 0xfed41b76,\n 0x89d32be0,\n 0x10da7a5a,\n 0x67dd4acc,\n 0xf9b9df6f,\n 0x8ebeeff9,\n 0x17b7be43,\n 0x60b08ed5,\n 0xd6d6a3e8,\n 0xa1d1937e,\n 0x38d8c2c4,\n 0x4fdff252,\n 0xd1bb67f1,\n 0xa6bc5767,\n 0x3fb506dd,\n 0x48b2364b,\n 0xd80d2bda,\n 0xaf0a1b4c,\n 0x36034af6,\n 0x41047a60,\n 0xdf60efc3,\n 0xa867df55,\n 0x316e8eef,\n 0x4669be79,\n 0xcb61b38c,\n 0xbc66831a,\n 0x256fd2a0,\n 0x5268e236,\n 0xcc0c7795,\n 0xbb0b4703,\n 0x220216b9,\n 0x5505262f,\n 0xc5ba3bbe,\n 0xb2bd0b28,\n 0x2bb45a92,\n 0x5cb36a04,\n 0xc2d7ffa7,\n 0xb5d0cf31,\n 0x2cd99e8b,\n 0x5bdeae1d,\n 0x9b64c2b0,\n 0xec63f226,\n 0x756aa39c,\n 0x026d930a,\n 0x9c0906a9,\n 0xeb0e363f,\n 0x72076785,\n 0x05005713,\n 0x95bf4a82,\n 0xe2b87a14,\n 0x7bb12bae,\n 0x0cb61b38,\n 0x92d28e9b,\n 0xe5d5be0d,\n 0x7cdcefb7,\n 0x0bdbdf21,\n 0x86d3d2d4,\n 0xf1d4e242,\n 0x68ddb3f8,\n 0x1fda836e,\n 0x81be16cd,\n 0xf6b9265b,\n 0x6fb077e1,\n 0x18b74777,\n 0x88085ae6,\n 0xff0f6a70,\n 0x66063bca,\n 0x11010b5c,\n 0x8f659eff,\n 0xf862ae69,\n 0x616bffd3,\n 0x166ccf45,\n 0xa00ae278,\n 0xd70dd2ee,\n 0x4e048354,\n 0x3903b3c2,\n 0xa7672661,\n 0xd06016f7,\n 0x4969474d,\n 0x3e6e77db,\n 0xaed16a4a,\n 0xd9d65adc,\n 0x40df0b66,\n 0x37d83bf0,\n 0xa9bcae53,\n 0xdebb9ec5,\n 0x47b2cf7f,\n 0x30b5ffe9,\n 0xbdbdf21c,\n 0xcabac28a,\n 0x53b39330,\n 0x24b4a3a6,\n 0xbad03605,\n 0xcdd70693,\n 0x54de5729,\n 0x23d967bf,\n 0xb3667a2e,\n 0xc4614ab8,\n 0x5d681b02,\n 0x2a6f2b94,\n 0xb40bbe37,\n 0xc30c8ea1,\n 0x5a05df1b,\n 0x2d02ef8d\n);\n\nfunction getCRC32Table() {\n return CRC32TAB;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * `btoa()` polyfill as defined by the HTML and Infra specs, which mostly just references\n * RFC 4648.\n */\nexport function asciiToBase64(string: string): string | null {\n // String conversion as required by Web IDL.\n string = `${string}`;\n // \"The btoa() method must throw an \"InvalidCharacterError\" DOMException if\n // data contains any character whose code point is greater than U+00FF.\"\n for (let i = 0; i < string.length; i++) {\n if (string.charCodeAt(i) > 255) {\n return null;\n }\n }\n let out = '';\n for (let i = 0; i < string.length; i += 3) {\n /** @type {Array[4]} */\n const groupsOfSix: (number | undefined)[] = [undefined, undefined, undefined, undefined];\n groupsOfSix[0] = string.charCodeAt(i) >> 2;\n groupsOfSix[1] = (string.charCodeAt(i) & 0x03) << 4;\n if (string.length > i + 1) {\n groupsOfSix[1] |= string.charCodeAt(i + 1) >> 4;\n groupsOfSix[2] = (string.charCodeAt(i + 1) & 0x0f) << 2;\n }\n if (string.length > i + 2) {\n // @ts-expect-error\n groupsOfSix[2] |= string.charCodeAt(i + 2) >> 6;\n groupsOfSix[3] = string.charCodeAt(i + 2) & 0x3f;\n }\n for (let j = 0; j < groupsOfSix.length; j++) {\n if (typeof groupsOfSix[j] === 'undefined') {\n out += '=';\n } else {\n out += btoaLookup(groupsOfSix[j]);\n }\n }\n }\n return out;\n}\n\n/**\n * Implementation of atob() according to the HTML and Infra specs, except that\n * instead of throwing INVALID_CHARACTER_ERR we return null.\n *\n * @note Forked from https://github.com/jsdom/abab under BSD 3 clause license\n */\nexport function base64ToAscii(data: string): string {\n // Web IDL requires DOMStrings to just be converted using ECMAScript\n // ToString, which in our case amounts to using a template literal.\n data = `${data}`;\n // \"Remove all ASCII whitespace from data.\"\n data = data.replace(/[ \\t\\n\\f\\r]/g, '');\n // \"If data's code point length divides by 4 leaving no remainder, then: if data ends\n // with one or two U+003D (=) code points, then remove them from data.\"\n if (data.length % 4 === 0) {\n data = data.replace(/[=]=?$/, '');\n }\n // \"If data's code point length divides by 4 leaving a remainder of 1, then return\n // failure.\"\n //\n // \"If data contains a code point that is not one of\n //\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n //\n // then return failure.\"\n if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {\n return '';\n }\n // \"Let output be an empty byte sequence.\"\n let output = '';\n // \"Let buffer be an empty buffer that can have bits appended to it.\"\n //\n // We append bits via left-shift and or. accumulatedBits is used to track\n // when we've gotten to 24 bits.\n let buffer = 0;\n let accumulatedBits = 0;\n // \"Let position be a position variable for data, initially pointing at the\n // start of data.\"\n //\n // \"While position does not point past the end of data:\"\n for (let i = 0; i < data.length; i++) {\n // \"Find the code point pointed to by position in the second column of\n // Table 1: The Base 64 Alphabet of RFC 4648. Let n be the number given in\n // the first cell of the same row.\n //\n // \"Append to buffer the six bits corresponding to n, most significant bit\n // first.\"\n //\n // atobLookup() implements the table from RFC 4648.\n buffer <<= 6;\n // @ts-expect-error\n buffer |= atobLookup(data[i]);\n accumulatedBits += 6;\n // \"If buffer has accumulated 24 bits, interpret them as three 8-bit\n // big-endian numbers. Append three bytes with values equal to those\n // numbers to output, in the same order, and then empty buffer.\"\n if (accumulatedBits === 24) {\n output += String.fromCharCode((buffer & 0xff0000) >> 16);\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n buffer = accumulatedBits = 0;\n }\n // \"Advance position by 1.\"\n }\n // \"If buffer is not empty, it contains either 12 or 18 bits. If it contains\n // 12 bits, then discard the last four and interpret the remaining eight as\n // an 8-bit big-endian number. If it contains 18 bits, then discard the last\n // two and interpret the remaining 16 as two 8-bit big-endian numbers. Append\n // the one or two bytes with values equal to those one or two numbers to\n // output, in the same order.\"\n if (accumulatedBits === 12) {\n buffer >>= 4;\n output += String.fromCharCode(buffer);\n } else if (accumulatedBits === 18) {\n buffer >>= 2;\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n }\n // \"Return output.\"\n return output;\n}\n/**\n * A lookup table for atob(), which converts an ASCII character to the\n * corresponding six-bit number.\n */\n\nconst keystr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfunction atobLookup(chr: string): number | undefined {\n const index = keystr.indexOf(chr);\n // Throw exception if character is not in the lookup string; should not be hit in tests\n return index < 0 ? undefined : index;\n}\n\n/**\n * Lookup table for btoa(), which converts a six-bit number into the\n * corresponding ASCII character.\n */\nfunction btoaLookup(idx) {\n if (idx < 26) {\n return String.fromCharCode(idx + 'A'.charCodeAt(0));\n }\n if (idx < 52) {\n return String.fromCharCode(idx - 26 + 'a'.charCodeAt(0));\n }\n if (idx < 62) {\n return String.fromCharCode(idx - 52 + '0'.charCodeAt(0));\n }\n if (idx === 62) {\n return '+';\n }\n if (idx === 63) {\n return '/';\n }\n // Throw INVALID_CHARACTER_ERR exception here -- won't be hit in the teststring.\n return undefined;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {asciiToBase64, base64ToAscii} from './base64-utils';\n\n/**\n * Encode a number (usually a digest from a hash function / cipher) as either hex or base64\n * Suitable for hashes like CRC32 where the number of required bits fit withing a JavaScript number.\n */\nexport function encodeNumber(number: number, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertNumberToHex(number);\n case 'base64':\n return convertHexToBase64(convertNumberToHex(number));\n default:\n throw new Error(encoding);\n }\n}\n\n/** Encode a hex string, aeither return hex or re-encode as base64 */\nexport function encodeHex(hex: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return hex;\n case 'base64':\n return convertHexToBase64(hex);\n default:\n throw new Error(encoding);\n }\n}\n\nexport function encodeBase64(base64: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertBase64ToHex(base64);\n case 'base64':\n return base64;\n default:\n throw new Error(encoding);\n }\n}\n\n/**\n * Convert a hexadecimal string to base64 encoded string representation\n */\nfunction convertHexToBase64(hexstring: string): string {\n // Add leading zero to keep even count of digits\n // eg. f85d741 => 0f85d741\n if (hexstring.length % 2 !== 0) {\n hexstring = `0${hexstring}`;\n }\n const matches = hexstring.match(/\\w{2}/g) || [];\n const string = matches.map(a => String.fromCharCode(parseInt(a, 16))).join('');\n // TODO - define how to handle failures\n return asciiToBase64(string) || '';\n}\n\n/**\n * Convert a base64 encoded string to hexadecimal encoded string representation\n */\nfunction convertBase64ToHex(base64String: string): string {\n return [...base64ToAscii(base64String)]\n .map(c => c.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('');\n}\n\n/**\n * Converts a number to hex\n */\nfunction convertNumberToHex(cipher: number): string {\n const hexString = cipher.toString(16);\n return hexString === '0' ? `0${hexString}` : hexString;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {encodeNumber} from './utils/digest-utils';\n\n/**\n * Calculates CRC32 Cryptographic Hash\n */\nexport class CRC32Hash extends Hash {\n readonly name = 'crc32';\n\n options;\n\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32();\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32();\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// From: https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// CRC32 doesn't appear to be supported natively by crypto-js\n\n// import {toBuffer} from '@loaders.gl/loader-utils';\n// import {calculate as sse4calculate} from 'sse4_crc32';\n\n/**\n * Calculates the CRC32C checksum of a string.\n */\nexport default class CRC32C {\n options;\n crc: number;\n\n constructor(options = {}) {\n this.options = options;\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const byteArray = new Uint8Array(arrayBuffer);\n const CRC32_TABLE = getCRC32Table();\n for (let i = 0; i < byteArray.length; i++) {\n this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff] ^ (this.crc >>> 8);\n }\n return this;\n }\n\n finalize() {\n this.crc = (this.crc ^ -1) >>> 0;\n return this.crc;\n }\n}\n\n/**\n * This code is a manual javascript translation of c code generated by\n * pycrc 0.7.1 (http://www.tty1.net/pycrc/). Command line used:\n * './pycrc.py --model=crc-32c --generate c --algorithm=table-driven'\n */\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32C_TABLE = Int32Array.of(\n 0x00000000,\n 0xf26b8303,\n 0xe13b70f7,\n 0x1350f3f4,\n 0xc79a971f,\n 0x35f1141c,\n 0x26a1e7e8,\n 0xd4ca64eb,\n 0x8ad958cf,\n 0x78b2dbcc,\n 0x6be22838,\n 0x9989ab3b,\n 0x4d43cfd0,\n 0xbf284cd3,\n 0xac78bf27,\n 0x5e133c24,\n 0x105ec76f,\n 0xe235446c,\n 0xf165b798,\n 0x030e349b,\n 0xd7c45070,\n 0x25afd373,\n 0x36ff2087,\n 0xc494a384,\n 0x9a879fa0,\n 0x68ec1ca3,\n 0x7bbcef57,\n 0x89d76c54,\n 0x5d1d08bf,\n 0xaf768bbc,\n 0xbc267848,\n 0x4e4dfb4b,\n 0x20bd8ede,\n 0xd2d60ddd,\n 0xc186fe29,\n 0x33ed7d2a,\n 0xe72719c1,\n 0x154c9ac2,\n 0x061c6936,\n 0xf477ea35,\n 0xaa64d611,\n 0x580f5512,\n 0x4b5fa6e6,\n 0xb93425e5,\n 0x6dfe410e,\n 0x9f95c20d,\n 0x8cc531f9,\n 0x7eaeb2fa,\n 0x30e349b1,\n 0xc288cab2,\n 0xd1d83946,\n 0x23b3ba45,\n 0xf779deae,\n 0x05125dad,\n 0x1642ae59,\n 0xe4292d5a,\n 0xba3a117e,\n 0x4851927d,\n 0x5b016189,\n 0xa96ae28a,\n 0x7da08661,\n 0x8fcb0562,\n 0x9c9bf696,\n 0x6ef07595,\n 0x417b1dbc,\n 0xb3109ebf,\n 0xa0406d4b,\n 0x522bee48,\n 0x86e18aa3,\n 0x748a09a0,\n 0x67dafa54,\n 0x95b17957,\n 0xcba24573,\n 0x39c9c670,\n 0x2a993584,\n 0xd8f2b687,\n 0x0c38d26c,\n 0xfe53516f,\n 0xed03a29b,\n 0x1f682198,\n 0x5125dad3,\n 0xa34e59d0,\n 0xb01eaa24,\n 0x42752927,\n 0x96bf4dcc,\n 0x64d4cecf,\n 0x77843d3b,\n 0x85efbe38,\n 0xdbfc821c,\n 0x2997011f,\n 0x3ac7f2eb,\n 0xc8ac71e8,\n 0x1c661503,\n 0xee0d9600,\n 0xfd5d65f4,\n 0x0f36e6f7,\n 0x61c69362,\n 0x93ad1061,\n 0x80fde395,\n 0x72966096,\n 0xa65c047d,\n 0x5437877e,\n 0x4767748a,\n 0xb50cf789,\n 0xeb1fcbad,\n 0x197448ae,\n 0x0a24bb5a,\n 0xf84f3859,\n 0x2c855cb2,\n 0xdeeedfb1,\n 0xcdbe2c45,\n 0x3fd5af46,\n 0x7198540d,\n 0x83f3d70e,\n 0x90a324fa,\n 0x62c8a7f9,\n 0xb602c312,\n 0x44694011,\n 0x5739b3e5,\n 0xa55230e6,\n 0xfb410cc2,\n 0x092a8fc1,\n 0x1a7a7c35,\n 0xe811ff36,\n 0x3cdb9bdd,\n 0xceb018de,\n 0xdde0eb2a,\n 0x2f8b6829,\n 0x82f63b78,\n 0x709db87b,\n 0x63cd4b8f,\n 0x91a6c88c,\n 0x456cac67,\n 0xb7072f64,\n 0xa457dc90,\n 0x563c5f93,\n 0x082f63b7,\n 0xfa44e0b4,\n 0xe9141340,\n 0x1b7f9043,\n 0xcfb5f4a8,\n 0x3dde77ab,\n 0x2e8e845f,\n 0xdce5075c,\n 0x92a8fc17,\n 0x60c37f14,\n 0x73938ce0,\n 0x81f80fe3,\n 0x55326b08,\n 0xa759e80b,\n 0xb4091bff,\n 0x466298fc,\n 0x1871a4d8,\n 0xea1a27db,\n 0xf94ad42f,\n 0x0b21572c,\n 0xdfeb33c7,\n 0x2d80b0c4,\n 0x3ed04330,\n 0xccbbc033,\n 0xa24bb5a6,\n 0x502036a5,\n 0x4370c551,\n 0xb11b4652,\n 0x65d122b9,\n 0x97baa1ba,\n 0x84ea524e,\n 0x7681d14d,\n 0x2892ed69,\n 0xdaf96e6a,\n 0xc9a99d9e,\n 0x3bc21e9d,\n 0xef087a76,\n 0x1d63f975,\n 0x0e330a81,\n 0xfc588982,\n 0xb21572c9,\n 0x407ef1ca,\n 0x532e023e,\n 0xa145813d,\n 0x758fe5d6,\n 0x87e466d5,\n 0x94b49521,\n 0x66df1622,\n 0x38cc2a06,\n 0xcaa7a905,\n 0xd9f75af1,\n 0x2b9cd9f2,\n 0xff56bd19,\n 0x0d3d3e1a,\n 0x1e6dcdee,\n 0xec064eed,\n 0xc38d26c4,\n 0x31e6a5c7,\n 0x22b65633,\n 0xd0ddd530,\n 0x0417b1db,\n 0xf67c32d8,\n 0xe52cc12c,\n 0x1747422f,\n 0x49547e0b,\n 0xbb3ffd08,\n 0xa86f0efc,\n 0x5a048dff,\n 0x8ecee914,\n 0x7ca56a17,\n 0x6ff599e3,\n 0x9d9e1ae0,\n 0xd3d3e1ab,\n 0x21b862a8,\n 0x32e8915c,\n 0xc083125f,\n 0x144976b4,\n 0xe622f5b7,\n 0xf5720643,\n 0x07198540,\n 0x590ab964,\n 0xab613a67,\n 0xb831c993,\n 0x4a5a4a90,\n 0x9e902e7b,\n 0x6cfbad78,\n 0x7fab5e8c,\n 0x8dc0dd8f,\n 0xe330a81a,\n 0x115b2b19,\n 0x020bd8ed,\n 0xf0605bee,\n 0x24aa3f05,\n 0xd6c1bc06,\n 0xc5914ff2,\n 0x37faccf1,\n 0x69e9f0d5,\n 0x9b8273d6,\n 0x88d28022,\n 0x7ab90321,\n 0xae7367ca,\n 0x5c18e4c9,\n 0x4f48173d,\n 0xbd23943e,\n 0xf36e6f75,\n 0x0105ec76,\n 0x12551f82,\n 0xe03e9c81,\n 0x34f4f86a,\n 0xc69f7b69,\n 0xd5cf889d,\n 0x27a40b9e,\n 0x79b737ba,\n 0x8bdcb4b9,\n 0x988c474d,\n 0x6ae7c44e,\n 0xbe2da0a5,\n 0x4c4623a6,\n 0x5f16d052,\n 0xad7d5351\n);\n\nfunction getCRC32Table() {\n return CRC32C_TABLE;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32C from './algorithms/crc32c';\nimport {encodeNumber} from './utils/digest-utils';\n\n/**\n * A transform that calculates CRC32c Hash\n */\nexport class CRC32CHash extends Hash {\n readonly name = 'crc32c';\n\n options;\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32C(this.options);\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n // runInBatches inherited\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32C(this.options);\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst BASE64_LOOKUP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n wasmB64Bytes = decodeBase64Safely(\n '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'\n ),\n wasm = typeof WebAssembly !== 'undefined' && wasmB64Bytes ? wasmB64Bytes.buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be ArrayBuffer, ArrayBufferView or string',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n buff = normalizeInput(data);\n\n if (!buff) {\n getCatch(new TypeError(parmTypeErrStr));\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var _loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, _getX, _setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n _k;\n var _qwerty = new Date().getTime();\n var _md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << (l % 32);\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n _md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n _loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n _getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n _setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var _qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << (l % 32);\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result =\n options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);\n return result;\n };\n}\nfunction decodeBase64Safely(str) {\n try {\n return decodeBase64ToUint8Array(str);\n } catch (_error) {\n return null;\n }\n}\n\nfunction decodeBase64ToUint8Array(base64) {\n var sanitized = base64.replace(/-/g, '+').replace(/_/g, '/');\n\n if (typeof atob === 'function') {\n return binaryStringToUint8Array(atob(sanitized));\n }\n\n return decodeBase64WithoutAtob(sanitized);\n}\n\nfunction decodeBase64WithoutAtob(base64) {\n var paddingLength = base64.endsWith('==') ? 2 : base64.endsWith('=') ? 1 : 0,\n byteLength = (base64.length * 3) / 4 - paddingLength,\n bytes = new Uint8Array(byteLength),\n byteIndex = 0,\n i = 0,\n enc1,\n enc2,\n enc3,\n enc4;\n\n while (i < base64.length) {\n enc1 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc2 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc3 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc4 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n\n if (enc1 < 0 || enc2 < 0 || enc3 < 0 || enc4 < 0) {\n throw new TypeError('Invalid base64 input');\n }\n\n bytes[byteIndex++] = (enc1 << 2) | (enc2 >> 4);\n if (enc3 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc2 & 15) << 4) | (enc3 >> 2);\n }\n if (enc4 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc3 & 3) << 6) | enc4;\n }\n }\n\n return bytes;\n}\n\nfunction binaryStringToUint8Array(str) {\n var length = str.length,\n view = new Uint8Array(length),\n i = 0;\n\n while (i < length) {\n view[i] = str.charCodeAt(i);\n i++;\n }\n\n return view;\n}\n\nfunction normalizeInput(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n\n if (data && typeof data === 'object' && ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n\n if (typeof data === 'string') {\n return new TextEncoder().encode(data);\n }\n\n return null;\n}\n\nfunction makeCrypt() {\n var _base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor === Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesconvertNumberToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {encodeHex} from './utils/digest-utils';\n\n/**\n * A transform that calculates MD5 hashes, passing data through\n */\nexport class MD5Hash extends Hash {\n readonly name = 'md5';\n readonly options;\n\n constructor(options = {}) {\n super();\n this.options = options;\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n const md5Promise = new Promise<string>((resolve, reject) =>\n // @ts-expect-error\n md5WASM(input).then(resolve).catch(reject)\n );\n const hex = await md5Promise;\n return encodeHex(hex, encoding);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {createWorker} from '@loaders.gl/worker-utils';\nimport {CRC32Hash} from '../lib/crc32-hash';\nimport {CRC32CHash} from '../lib/crc32c-hash';\nimport {MD5Hash} from '../lib/md5-hash';\n\n// Assuming we can bundle as module\nexport {CRC32Hash, CRC32CHash};\n\ncreateWorker(async (data, options = {}) => {\n // @ts-ignore\n const {operation, encoding = 'base64'} = options;\n\n switch (operation) {\n case 'crc32':\n return await new CRC32Hash(options).hash(data, encoding);\n case 'crc32c':\n return await new CRC32CHash(options).hash(data, encoding);\n case 'md5':\n return await new MD5Hash(options).hash(data, encoding);\n default:\n throw new Error(`invalid option: ${operation}`);\n }\n});\n"],
5
- "mappings": "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ACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,SACF,EAEA,SAASH,IAAgB,CACvB,OAAOG,EACT,CCpSO,SAASC,GAAcC,EAA+B,CAE3DA,EAAS,GAAGA,CAAM,GAGlB,QAASC,EAAI,EAAGA,EAAID,EAAO,OAAQC,IACjC,GAAID,EAA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CxB,KAAK,GACd,CACF,EASMC,GAAe,WAAW,GAC9B,EACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,UACA,WACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA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",
6
- "names": ["parentPort", "getTransferList", "object", "recursive", "transfers", "transfersSet", "isTransferable", "key", "getParentPort", "parentPort", "onMessageWrapperMap", "WorkerBody", "onMessage", "handleMessage", "message", "type", "payload", "onMessageWrapper", "isKnownMessage", "data", "transferList", "getTransferList", "AsyncQueue", "value", "settler", "resolve", "reject", "requestId", "inputBatches", "options", "createWorker", "process", "processInBatches", "WorkerBody", "context", "processOnMainThread", "type", "payload", "result", "AsyncQueue", "resultIterator", "batch", "error", "message", "arrayBuffer", "jobContext", "resolve", "reject", "id", "onMessage", "concatenateArrayBuffers", "sources", "concatenateArrayBuffersFromArray", "sourceArrays", "source2", "byteLength", "length", "typedArray", "result", "offset", "sourceArray", "concatenateArrayBuffersAsync", "asyncIterator", "arrayBuffers", "chunk", "copyToArrayBuffer", "concatenateArrayBuffers", "copyToArrayBuffer", "chunk", "buffer", "byteOffset", "byteLength", "copyFromBuffer", "view", "copy", "Hash", "options", "asyncIterator", "encoding", "arrayBuffers", "arrayBuffer", "output", "hash", "concatenateArrayBuffersAsync", "CRC32", "arrayBuffer", "CRC32_TABLE", "getCRC32Table", "byteArray", "i", "CRC32TAB", "asciiToBase64", "string", "i", "out", "groupsOfSix", "j", "btoaLookup", "btoaLookup", "idx", "encodeNumber", "number", "encoding", "convertNumberToHex", "convertHexToBase64", "encodeHex", "hex", "convertHexToBase64", "hexstring", "string", "a", "asciiToBase64", "convertNumberToHex", "cipher", "hexString", "CRC32Hash", "Hash", "options", "input", "encoding", "hash", "CRC32", "digest", "encodeNumber", "asyncIterator", "chunk", "CRC32C", "options", "arrayBuffer", "byteArray", "CRC32_TABLE", "getCRC32Table", "i", "CRC32C_TABLE", "CRC32CHash", "Hash", "options", "input", "encoding", "hash", "CRC32C", "digest", "encodeNumber", "asyncIterator", "chunk", "BASE64_LOOKUP", "wasmB64Bytes", "decodeBase64Safely", "wasm", "crypt", "makeCrypt", "biteSize", "bounder", "upperLimit", "parmTypeErrStr", "tooBigErrStr", "md5WASM", "data", "mem", "memView", "importObj", "imports", "len", "buff", "thenFun", "catchFun", "result", "endTime", "md5JS", "makeMD5JS", "md5WA", "makeMD5WA", "returnObj", "startTime", "fun", "getThen", "normalizeInput", "getCatch", "giterdone", "obj", "r", "res", "err", "_loop", "loops", "getA", "setA", "getB", "setB", "getC", "setC", "getD", "setD", "_getX", "_setX", "message", "m00", "m01", "m02", "m03", "m04", "m05", "m06", "m07", "m08", "m09", "m10", "m11", "m12", "m13", "m14", "m15", "aa", "bb", "cc", "dd", "m", "_k", "_qwerty", "_md5Used", "a", "b", "c", "d", "i", "l", "bytesToWordsNewer", "____", "s", "t", "n", "bytes", "words", "j", "b0", "b1", "b2", "b3", "exports", "mView", "options", "digestbytes", "str", "decodeBase64ToUint8Array", "base64", "sanitized", "binaryStringToUint8Array", "decodeBase64WithoutAtob", "paddingLength", "byteLength", "byteIndex", "enc1", "enc2", "enc3", "enc4", "length", "view", "_base64map", "hex", "MD5Hash", "Hash", "options", "input", "encoding", "hex", "resolve", "reject", "md5WASM", "encodeHex", "createWorker", "data", "options", "operation", "encoding", "CRC32Hash", "CRC32CHash", "MD5Hash"]
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/** Browser polyfill for Node.js built-in `worker_threads` module.\n * These fills are non-functional, and just intended to ensure that\n * `import 'worker_threads` doesn't break browser builds.\n * The replacement is done in package.json browser field\n */\nexport class NodeWorker {\n /** Restores the native worker constructor when this browser shim is embedded in a Node bundle. */\n constructor(...arguments_: unknown[]) {\n const runtimeProcess = (\n globalThis as {\n process?: {\n getBuiltinModule?: (specifier: string) => {\n Worker?: new (...workerArguments: unknown[]) => NodeWorker;\n };\n };\n }\n ).process;\n const WorkerConstructor = runtimeProcess?.getBuiltinModule?.('node:worker_threads').Worker;\n if (WorkerConstructor) {\n return new WorkerConstructor(...arguments_);\n }\n }\n\n /** No-op browser fallback matching the native Worker API. */\n terminate() {}\n}\n\nexport type {NodeWorker as NodeWorkerType};\n\nexport const parentPort = null;\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// NOTE - there is a copy of this function is both in core and loader-utils\n// core does not need all the utils in loader-utils, just this one.\n\n/**\n * Returns an array of Transferrable objects that can be used with postMessage\n * https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage\n * @param object data to be sent via postMessage\n * @param recursive - not for application use\n * @param transfers - not for application use\n * @returns a transfer list that can be passed to postMessage\n */\nexport function getTransferList(\n object: any,\n recursive: boolean = true,\n transfers?: Set<any>\n): Transferable[] {\n // Make sure that items in the transfer list is unique\n const transfersSet = transfers || new Set();\n\n if (!object) {\n // ignore\n } else if (isTransferable(object)) {\n transfersSet.add(object);\n } else if (isTransferable(object.buffer)) {\n // Typed array\n transfersSet.add(object.buffer);\n } else if (ArrayBuffer.isView(object)) {\n // object is a TypeArray viewing into a SharedArrayBuffer (not transferable)\n // Do not iterate through the content in this case\n } else if (recursive && typeof object === 'object') {\n for (const key in object) {\n // Avoid perf hit - only go one level deep\n getTransferList(object[key], recursive, transfersSet);\n }\n }\n\n // If transfers is defined, is internal recursive call\n // Otherwise it's called by the user\n return transfers === undefined ? Array.from(transfersSet) : [];\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Transferable\nfunction isTransferable(object: unknown) {\n if (!object) {\n return false;\n }\n if (object instanceof ArrayBuffer) {\n return true;\n }\n if (typeof MessagePort !== 'undefined' && object instanceof MessagePort) {\n return true;\n }\n if (typeof ImageBitmap !== 'undefined' && object instanceof ImageBitmap) {\n return true;\n }\n // @ts-ignore\n if (typeof OffscreenCanvas !== 'undefined' && object instanceof OffscreenCanvas) {\n return true;\n }\n return false;\n}\n\n/**\n * Recursively drop non serializable values like functions and regexps.\n * @param object\n */\nexport function getTransferListForWriter(object: object | null): object {\n if (object === null) {\n return {};\n }\n const clone = Object.assign({}, object);\n\n Object.keys(clone).forEach(key => {\n // Typed Arrays and Arrays are passed with no change\n if (\n typeof object[key] === 'object' &&\n !ArrayBuffer.isView(object[key]) &&\n !(object[key] instanceof Array)\n ) {\n clone[key] = getTransferListForWriter(object[key]);\n } else if (typeof clone[key] === 'function' || clone[key] instanceof RegExp) {\n clone[key] = {};\n } else {\n clone[key] = object[key];\n }\n });\n\n return clone;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {WorkerMessageData, WorkerMessageType, WorkerMessagePayload} from '../../types';\nimport {getTransferList} from '../worker-utils/get-transfer-list';\n// import type {TransferListItem} from '../node/worker_threads';\nimport {parentPort} from '../node/worker_threads';\n\ntype TransferListItem = any;\ntype WorkerMessageEvent = MessageEvent<WorkerMessageData> | WorkerMessageData;\ntype WorkerMessageListener = (type: WorkerMessageType, payload: WorkerMessagePayload) => any;\n\n/** Vile hack to defeat over-zealous bundlers from stripping out the require */\nasync function getParentPort() {\n // const isNode = globalThis.process;\n // let parentPort;\n // try {\n // // biome-ignore format: preserve intentional fixture layout\n // eval('globalThis.parentPort = require(\\'worker_threads\\').parentPort'); // eslint-disable-line no-eval\n // parentPort = globalThis.parentPort;\n // } catch {\n // try {\n // // biome-ignore format: preserve intentional fixture layout\n // eval('globalThis.workerThreadsPromise = import(\\'worker_threads\\')'); // eslint-disable-line no-eval\n // const workerThreads = await globalThis.workerThreadsPromise;\n // parentPort = workerThreads.parentPort;\n // } catch (error) {\n // console.error((error as Error).message); // eslint-disable-line no-console\n // }\n // }\n return parentPort;\n}\n\nconst onMessageWrapperMap = new Map<WorkerMessageListener, (message: WorkerMessageEvent) => void>();\n\n/**\n * Type safe wrapper for worker code\n */\nexport default class WorkerBody {\n /** Check that we are actually in a worker thread */\n static async inWorkerThread(): Promise<boolean> {\n return typeof self !== 'undefined' || Boolean(await getParentPort());\n }\n\n /*\n * (type: WorkerMessageType, payload: WorkerMessagePayload) => any\n */\n static set onmessage(onMessage: (type: WorkerMessageType, payload: WorkerMessagePayload) => any) {\n async function handleMessage(message) {\n const parentPort = await getParentPort();\n // Confusingly the message itself also has a 'type' field which is always set to 'message'\n const {type, payload} = parentPort ? message : message.data;\n // if (!isKnownMessage(message)) {\n // return;\n // }\n onMessage(type, payload);\n }\n\n getParentPort().then(parentPort => {\n if (parentPort) {\n parentPort.on('message', message => {\n handleMessage(message);\n });\n // if (message == 'exit') { parentPort.unref(); }\n // eslint-disable-next-line\n parentPort.on('exit', () => console.debug('Node worker closing'));\n } else {\n // eslint-disable-next-line no-restricted-globals\n globalThis.onmessage = handleMessage;\n }\n });\n }\n\n static async addEventListener(onMessage: WorkerMessageListener) {\n let onMessageWrapper = onMessageWrapperMap.get(onMessage);\n\n if (!onMessageWrapper) {\n onMessageWrapper = (message: WorkerMessageEvent) => {\n const messageData = getWorkerMessageData(message);\n if (!messageData) {\n return;\n }\n onMessage(messageData.type, messageData.payload);\n };\n onMessageWrapperMap.set(onMessage, onMessageWrapper);\n }\n\n const parentPort = await getParentPort();\n if (parentPort) {\n parentPort.on('message', onMessageWrapper);\n } else {\n globalThis.addEventListener('message', onMessageWrapper);\n }\n }\n\n static async removeEventListener(onMessage: WorkerMessageListener) {\n const onMessageWrapper = onMessageWrapperMap.get(onMessage);\n onMessageWrapperMap.delete(onMessage);\n if (!onMessageWrapper) {\n return;\n }\n const parentPort = await getParentPort();\n if (parentPort) {\n parentPort.off('message', onMessageWrapper);\n } else {\n globalThis.removeEventListener('message', onMessageWrapper);\n }\n }\n\n /**\n * Send a message from a worker to creating thread (main thread)\n * @param type\n * @param payload\n */\n static async postMessage(type: WorkerMessageType, payload: WorkerMessagePayload): Promise<void> {\n const data: WorkerMessageData = {source: 'loaders.gl', type, payload};\n // console.log('posting message', data);\n\n // Cast to Node compatible transfer list\n const transferList = getTransferList(payload) as TransferListItem[];\n\n const parentPort = await getParentPort();\n if (parentPort) {\n parentPort.postMessage(data, transferList);\n // console.log('posted message', data);\n } else {\n // @ts-expect-error Outside of worker scopes this call has a third parameter\n globalThis.postMessage(data, transferList);\n }\n }\n}\n\n// Filter out noise messages sent to workers\nfunction getWorkerMessageData(message: WorkerMessageEvent): WorkerMessageData | null {\n if (!message || typeof message !== 'object') {\n return null;\n }\n const messageData = 'data' in message && message.type === 'message' ? message.data : message;\n return messageData &&\n typeof messageData.source === 'string' &&\n messageData.source.startsWith('loaders.gl')\n ? messageData\n : null;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// From https://github.com/rauschma/async-iter-demo/tree/master/src under MIT license\n// http://2ality.com/2016/10/asynchronous-iteration.html\n\n/**\n * Async Queue\n * - AsyncIterable: An async iterator can be\n * - Values can be pushed onto the queue\n * @example\n * const asyncQueue = new AsyncQueue();\n * setTimeout(() => asyncQueue.enqueue('tick'), 1000);\n * setTimeout(() => asyncQueue.enqueue(new Error('done')), 10000);\n * for await (const value of asyncQueue) {\n * console.log(value); // tick\n * }\n */\nexport default class AsyncQueue<T> {\n private _values: any[];\n private _settlers: any[];\n private _closed: boolean;\n\n constructor() {\n this._values = []; // enqueues > dequeues\n this._settlers = []; // dequeues > enqueues\n this._closed = false;\n }\n\n /** Return an async iterator for this queue */\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return this;\n }\n\n /** Push a new value - the async iterator will yield a promise resolved to this value */\n push(value: T): void {\n return this.enqueue(value);\n }\n\n /**\n * Push a new value - the async iterator will yield a promise resolved to this value\n * Add an error - the async iterator will yield a promise rejected with this value\n */\n enqueue(value: T | Error): void {\n if (this._closed) {\n throw new Error('Closed');\n }\n\n if (this._settlers.length > 0) {\n if (this._values.length > 0) {\n throw new Error('Illegal internal state');\n }\n const settler = this._settlers.shift();\n if (value instanceof Error) {\n settler.reject(value);\n } else {\n settler.resolve({value});\n }\n } else {\n this._values.push(value);\n }\n }\n\n /** Indicate that we not waiting for more values - The async iterator will be done */\n close(): void {\n while (this._settlers.length > 0) {\n const settler = this._settlers.shift();\n settler.resolve({done: true});\n }\n this._closed = true;\n }\n\n // ITERATOR IMPLEMENTATION\n\n /** @returns a Promise for an IteratorResult */\n next(): Promise<IteratorResult<T, any>> {\n // If values in queue, yield the first value\n if (this._values.length > 0) {\n const value = this._values.shift();\n if (value instanceof Error) {\n return Promise.reject(value);\n }\n return Promise.resolve({done: false, value});\n }\n\n // If queue is closed, the iterator is done\n if (this._closed) {\n if (this._settlers.length > 0) {\n throw new Error('Illegal internal state');\n }\n return Promise.resolve({done: true, value: undefined});\n }\n\n // Yield a promise that waits for new values to be enqueued\n return new Promise((resolve, reject) => {\n this._settlers.push({resolve, reject});\n });\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {\n WorkerMessageType,\n WorkerMessagePayload,\n WorkerContext,\n WorkerJobContext,\n Process,\n ProcessInBatches\n} from '../../types';\nimport AsyncQueue from '../async-queue/async-queue';\nimport WorkerBody from '../worker-farm/worker-body';\n// import {validateWorkerVersion} from './validate-worker-version';\n\n/** Counter for jobs */\nlet requestId = 0;\nlet activeInputBatches: AsyncQueue<any> | null = null;\nlet activeOutputAcknowledgements: AsyncQueue<void> | null = null;\n\nexport type ProcessOnMainThread = (\n data: any,\n options?: {[key: string]: any},\n jobContext?: WorkerJobContext\n) => any;\n\n/**\n * Set up a WebWorkerGlobalScope to talk with the main thread\n */\nexport async function createWorker(\n process: Process,\n processInBatches?: ProcessInBatches\n): Promise<void> {\n if (!(await WorkerBody.inWorkerThread())) {\n return;\n }\n\n const context: WorkerContext = {\n process: processOnMainThread\n };\n\n // eslint-disable-next-line complexity\n WorkerBody.onmessage = async (type: WorkerMessageType, payload: WorkerMessagePayload) => {\n try {\n switch (type) {\n case 'preload':\n WorkerBody.postMessage('done', {});\n break;\n\n case 'process':\n if (!process) {\n throw new Error('Worker does not support atomic processing');\n }\n const result = await process(\n payload.input,\n payload.options || {},\n context,\n payload.context || {}\n );\n WorkerBody.postMessage('done', {result});\n break;\n\n case 'process-in-batches':\n if (!processInBatches) {\n throw new Error('Worker does not support batched processing');\n }\n const inputBatches = new AsyncQueue<any>();\n const outputAcknowledgements = new AsyncQueue<void>();\n activeInputBatches = inputBatches;\n activeOutputAcknowledgements = outputAcknowledgements;\n try {\n const resultIterator = processInBatches(\n createDemandDrivenIterator(inputBatches),\n payload.options || {},\n context,\n payload.context || {}\n );\n for await (const batch of resultIterator) {\n await WorkerBody.postMessage('output-batch', {result: batch});\n await outputAcknowledgements.next();\n }\n await WorkerBody.postMessage('done', {});\n } finally {\n activeInputBatches = null;\n activeOutputAcknowledgements = null;\n }\n break;\n\n case 'input-batch':\n if (!activeInputBatches) {\n throw new Error('Worker has no active batched processing session');\n }\n activeInputBatches.push(payload.input);\n break;\n\n case 'input-done':\n if (!activeInputBatches) {\n throw new Error('Worker has no active batched processing session');\n }\n activeInputBatches.close();\n break;\n\n case 'output-ack':\n if (!activeOutputAcknowledgements) {\n throw new Error('Worker has no active batched processing session');\n }\n activeOutputAcknowledgements.push(undefined);\n break;\n\n default:\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n };\n}\n\n/** Requests exactly one input batch whenever the worker-side processor advances its iterator. */\nasync function* createDemandDrivenIterator(inputBatches: AsyncQueue<any>): AsyncIterable<any> {\n while (true) {\n await WorkerBody.postMessage('input-request', {});\n const nextBatch = await inputBatches.next();\n if (nextBatch.done) {\n return;\n }\n yield nextBatch.value;\n }\n}\n\nfunction processOnMainThread(arrayBuffer: ArrayBuffer, options = {}, jobContext = {}) {\n return new Promise((resolve, reject) => {\n const id = requestId++;\n\n /**\n */\n const onMessage = (type: string, payload: WorkerMessagePayload) => {\n if (payload.id !== id) {\n // not ours\n return;\n }\n\n switch (type) {\n case 'done':\n WorkerBody.removeEventListener(onMessage);\n resolve(payload.result);\n break;\n\n case 'error':\n WorkerBody.removeEventListener(onMessage);\n reject(payload.error);\n break;\n\n default:\n // ignore\n }\n };\n\n WorkerBody.addEventListener(onMessage);\n\n // Ask the main thread to decode data\n const payload = {id, input: arrayBuffer, options, context: jobContext};\n WorkerBody.postMessage('process', payload);\n });\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {TypedArray} from '../../types';\n\n/**\n * compare two binary arrays for equality\n * @param a\n * @param b\n * @param byteLength\n */\nexport function compareArrayBuffers(\n arrayBuffer1: ArrayBufferLike,\n arrayBuffer2: ArrayBufferLike,\n byteLength?: number\n): boolean {\n byteLength = byteLength || arrayBuffer1.byteLength;\n if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {\n return false;\n }\n const array1 = new Uint8Array(arrayBuffer1);\n const array2 = new Uint8Array(arrayBuffer2);\n for (let i = 0; i < array1.length; ++i) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers from arguments\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffers(...sources: (ArrayBuffer | Uint8Array)[]): ArrayBuffer {\n return concatenateArrayBuffersFromArray(sources);\n}\n\n/**\n * Concatenate a sequence of ArrayBuffers from array\n * @return A concatenated ArrayBuffer\n */\nexport function concatenateArrayBuffersFromArray(\n sources: (ArrayBuffer | Uint8Array)[]\n): ArrayBuffer {\n // Make sure all inputs are wrapped in typed arrays\n const sourceArrays = sources.map(source2 =>\n source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2\n );\n\n // Get length of all inputs\n const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);\n\n // Allocate array with space for all inputs\n const result = new Uint8Array(byteLength);\n\n // Copy the subarrays\n let offset = 0;\n for (const sourceArray of sourceArrays) {\n result.set(sourceArray, offset);\n offset += sourceArray.byteLength;\n }\n\n // We work with ArrayBuffers, discard the typed array wrapper\n return result.buffer;\n}\n\n/**\n * Concatenate arbitrary count of typed arrays\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays\n * @param - list of arrays. All arrays should be the same type\n * @return A concatenated TypedArray\n */\nexport function concatenateTypedArrays<T>(...typedArrays: T[]): T {\n // @ts-ignore\n const arrays = typedArrays as TypedArray[];\n // @ts-ignore\n const TypedArrayConstructor = (arrays && arrays.length > 1 && arrays[0].constructor) || null;\n if (!TypedArrayConstructor) {\n throw new Error(\n '\"concatenateTypedArrays\" - incorrect quantity of arguments or arguments have incompatible data types'\n );\n }\n\n const sumLength = arrays.reduce((acc, value) => acc + value.length, 0);\n // @ts-ignore typescript does not like dynamic constructors\n const result = new TypedArrayConstructor(sumLength);\n let offset = 0;\n for (const array of arrays) {\n result.set(array, offset);\n offset += array.length;\n }\n return result;\n}\n\n/**\n * Copy a view of an ArrayBuffer into new ArrayBuffer with byteOffset = 0\n * @param arrayBuffer\n * @param byteOffset\n * @param byteLength\n */\nexport function sliceArrayBuffer(\n arrayBuffer: ArrayBufferLike,\n byteOffset: number,\n byteLength?: number\n): ArrayBuffer {\n const subArray =\n byteLength !== undefined\n ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength)\n : new Uint8Array(arrayBuffer).subarray(byteOffset);\n const arrayCopy = new Uint8Array(subArray);\n return arrayCopy.buffer;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {concatenateArrayBuffers} from '../binary-utils/array-buffer-utils';\n\n// GENERAL UTILITIES\n\n/**\n * Iterates over an {@link AsyncIterable} or {@link Iterable}, invoking `visitor` for each yielded\n * value without rewinding the iterator when exiting early. This enables the caller to continue\n * iterating in another loop after `visitor` signals cancellation.\n */\nexport async function forEach<TValue>(\n iterable: AsyncIterable<TValue> | Iterable<TValue> | AsyncIterator<TValue>,\n visitor: (value: TValue) => any\n) {\n const iterator = toAsyncIterator(iterable);\n // eslint-disable-next-line\n while (true) {\n const {done, value} = await iterator.next();\n if (done) {\n if (iterator.return) {\n iterator.return();\n }\n return;\n }\n const cancel = visitor(value);\n if (cancel) {\n return;\n }\n }\n}\n\n/**\n * Concatenates all binary chunks yielded by an async or sync iterator.\n * Supports `ArrayBuffer`, typed array views, and `ArrayBufferLike` sources (e.g. `SharedArrayBuffer`).\n * This allows atomic parsers to operate on iterator inputs by materializing them into a single buffer.\n */\nexport async function concatenateArrayBuffersAsync(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>\n): Promise<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const chunk of asyncIterator) {\n arrayBuffers.push(copyToArrayBuffer(chunk));\n }\n return concatenateArrayBuffers(...arrayBuffers);\n}\n\nexport async function concatenateStringsAsync(\n asyncIterator: AsyncIterable<string> | Iterable<string>\n): Promise<string> {\n const strings: string[] = [];\n for await (const chunk of asyncIterator) {\n strings.push(chunk);\n }\n return strings.join('');\n}\n\n/**\n * Normalizes binary chunk iterators to yield `ArrayBuffer` instances.\n * Accepts `ArrayBuffer`, `ArrayBufferView`, and `ArrayBufferLike` sources\n * (e.g. `SharedArrayBuffer`) and returns a copied `ArrayBuffer` for each chunk.\n */\nexport async function* toArrayBufferIterator(\n asyncIterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>\n): AsyncIterable<ArrayBuffer> {\n for await (const chunk of asyncIterator) {\n yield copyToArrayBuffer(chunk);\n }\n}\n\nfunction copyToArrayBuffer(chunk: ArrayBufferLike | ArrayBufferView | ArrayBuffer): ArrayBuffer {\n if (chunk instanceof ArrayBuffer) {\n return chunk;\n }\n\n if (ArrayBuffer.isView(chunk)) {\n const {buffer, byteOffset, byteLength} = chunk;\n return copyFromBuffer(buffer, byteOffset, byteLength);\n }\n\n return copyFromBuffer(chunk as ArrayBufferLike);\n}\n\nfunction copyFromBuffer(\n buffer: ArrayBufferLike,\n byteOffset = 0,\n byteLength = buffer.byteLength - byteOffset\n): ArrayBuffer {\n const view = new Uint8Array(buffer, byteOffset, byteLength);\n const copy = new Uint8Array(view.length);\n copy.set(view);\n return copy.buffer;\n}\n\nfunction toAsyncIterator<TValue>(\n iterable: AsyncIterable<TValue> | Iterable<TValue> | AsyncIterator<TValue>\n): AsyncIterator<TValue> {\n if (typeof iterable[Symbol.asyncIterator] === 'function') {\n return iterable[Symbol.asyncIterator]();\n }\n\n if (typeof iterable[Symbol.iterator] === 'function') {\n const iterator = iterable[Symbol.iterator]();\n return iteratorToAsyncIterator(iterator);\n }\n\n return iterable as AsyncIterator<TValue>;\n}\n\nfunction iteratorToAsyncIterator<T>(iterator: Iterator<T>): AsyncIterator<T> {\n return {\n next(value?: any) {\n return Promise.resolve(iterator.next(value));\n },\n\n return(value?: any) {\n if (typeof iterator.return === 'function') {\n return Promise.resolve(iterator.return(value));\n }\n return Promise.resolve({done: true, value});\n },\n\n throw(error?: any) {\n if (typeof iterator.throw === 'function') {\n return Promise.resolve(iterator.throw(error));\n }\n return Promise.reject(error);\n }\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\n\ntype HashOptions = {\n modules?: {[moduleName: string]: any};\n crypto?: {\n onEnd?: (result: {hash: string}) => any;\n };\n};\n\n/** Abstract hash base class */\nexport abstract class Hash {\n abstract readonly name: string;\n abstract readonly options: HashOptions;\n\n constructor(options: HashOptions = {}) {\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n async preload(): Promise<void> {\n return;\n }\n\n abstract hash(arrayBuffer: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string>;\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const arrayBuffers: ArrayBuffer[] = [];\n for await (const arrayBuffer of asyncIterator) {\n arrayBuffers.push(arrayBuffer);\n yield arrayBuffer;\n }\n const output = await this.concatenate(arrayBuffers);\n const hash = await this.hash(output, encoding);\n this.options.crypto?.onEnd?.({hash});\n }\n\n // HELPERS\n\n protected async concatenate(asyncIterator): Promise<ArrayBuffer> {\n return await concatenateArrayBuffersAsync(asyncIterator);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Inspired by https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// Full crc32 docs: https://www.kernel.org/doc/Documentation/crc32.txt\n// Better JS implementation: https://stackoverflow.com/a/18639999\n/**\n * Calculates the CRC32 checksum of a string.\n */\nexport default class CRC32 {\n crc: number;\n\n constructor() {\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const CRC32_TABLE = getCRC32Table();\n const byteArray = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteArray.byteLength; i++) {\n this.crc = (this.crc >>> 8) ^ CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff];\n // strings: crc = (crc >>> 8) ^ CRC32TAB[(crc ^ str.charCodeAt(i)) & 0xff];\n }\n return this;\n }\n\n finalize() {\n // performing final division and making crc unsigned.\n // The reason why we can't use Math.abs() ther is that 1 in bite representation is 00000000000000000000000000000001\n // and -1 is 11111111111111111111111111111111. So Math.abs() completely changes the bits there,\n // but what we need is just make JS count first 1 bit as a part of a number and not the sign marker.\n // We don't need to change anything else in this bit representation. And that's exactly what >>> does.\n this.crc = (this.crc ^ -1) >>> 0;\n return this.crc;\n }\n}\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32TAB = Uint32Array.of(\n 0x00000000,\n 0x77073096,\n 0xee0e612c,\n 0x990951ba,\n 0x076dc419,\n 0x706af48f,\n 0xe963a535,\n 0x9e6495a3,\n 0x0edb8832,\n 0x79dcb8a4,\n 0xe0d5e91e,\n 0x97d2d988,\n 0x09b64c2b,\n 0x7eb17cbd,\n 0xe7b82d07,\n 0x90bf1d91,\n 0x1db71064,\n 0x6ab020f2,\n 0xf3b97148,\n 0x84be41de,\n 0x1adad47d,\n 0x6ddde4eb,\n 0xf4d4b551,\n 0x83d385c7,\n 0x136c9856,\n 0x646ba8c0,\n 0xfd62f97a,\n 0x8a65c9ec,\n 0x14015c4f,\n 0x63066cd9,\n 0xfa0f3d63,\n 0x8d080df5,\n 0x3b6e20c8,\n 0x4c69105e,\n 0xd56041e4,\n 0xa2677172,\n 0x3c03e4d1,\n 0x4b04d447,\n 0xd20d85fd,\n 0xa50ab56b,\n 0x35b5a8fa,\n 0x42b2986c,\n 0xdbbbc9d6,\n 0xacbcf940,\n 0x32d86ce3,\n 0x45df5c75,\n 0xdcd60dcf,\n 0xabd13d59,\n 0x26d930ac,\n 0x51de003a,\n 0xc8d75180,\n 0xbfd06116,\n 0x21b4f4b5,\n 0x56b3c423,\n 0xcfba9599,\n 0xb8bda50f,\n 0x2802b89e,\n 0x5f058808,\n 0xc60cd9b2,\n 0xb10be924,\n 0x2f6f7c87,\n 0x58684c11,\n 0xc1611dab,\n 0xb6662d3d,\n 0x76dc4190,\n 0x01db7106,\n 0x98d220bc,\n 0xefd5102a,\n 0x71b18589,\n 0x06b6b51f,\n 0x9fbfe4a5,\n 0xe8b8d433,\n 0x7807c9a2,\n 0x0f00f934,\n 0x9609a88e,\n 0xe10e9818,\n 0x7f6a0dbb,\n 0x086d3d2d,\n 0x91646c97,\n 0xe6635c01,\n 0x6b6b51f4,\n 0x1c6c6162,\n 0x856530d8,\n 0xf262004e,\n 0x6c0695ed,\n 0x1b01a57b,\n 0x8208f4c1,\n 0xf50fc457,\n 0x65b0d9c6,\n 0x12b7e950,\n 0x8bbeb8ea,\n 0xfcb9887c,\n 0x62dd1ddf,\n 0x15da2d49,\n 0x8cd37cf3,\n 0xfbd44c65,\n 0x4db26158,\n 0x3ab551ce,\n 0xa3bc0074,\n 0xd4bb30e2,\n 0x4adfa541,\n 0x3dd895d7,\n 0xa4d1c46d,\n 0xd3d6f4fb,\n 0x4369e96a,\n 0x346ed9fc,\n 0xad678846,\n 0xda60b8d0,\n 0x44042d73,\n 0x33031de5,\n 0xaa0a4c5f,\n 0xdd0d7cc9,\n 0x5005713c,\n 0x270241aa,\n 0xbe0b1010,\n 0xc90c2086,\n 0x5768b525,\n 0x206f85b3,\n 0xb966d409,\n 0xce61e49f,\n 0x5edef90e,\n 0x29d9c998,\n 0xb0d09822,\n 0xc7d7a8b4,\n 0x59b33d17,\n 0x2eb40d81,\n 0xb7bd5c3b,\n 0xc0ba6cad,\n 0xedb88320,\n 0x9abfb3b6,\n 0x03b6e20c,\n 0x74b1d29a,\n 0xead54739,\n 0x9dd277af,\n 0x04db2615,\n 0x73dc1683,\n 0xe3630b12,\n 0x94643b84,\n 0x0d6d6a3e,\n 0x7a6a5aa8,\n 0xe40ecf0b,\n 0x9309ff9d,\n 0x0a00ae27,\n 0x7d079eb1,\n 0xf00f9344,\n 0x8708a3d2,\n 0x1e01f268,\n 0x6906c2fe,\n 0xf762575d,\n 0x806567cb,\n 0x196c3671,\n 0x6e6b06e7,\n 0xfed41b76,\n 0x89d32be0,\n 0x10da7a5a,\n 0x67dd4acc,\n 0xf9b9df6f,\n 0x8ebeeff9,\n 0x17b7be43,\n 0x60b08ed5,\n 0xd6d6a3e8,\n 0xa1d1937e,\n 0x38d8c2c4,\n 0x4fdff252,\n 0xd1bb67f1,\n 0xa6bc5767,\n 0x3fb506dd,\n 0x48b2364b,\n 0xd80d2bda,\n 0xaf0a1b4c,\n 0x36034af6,\n 0x41047a60,\n 0xdf60efc3,\n 0xa867df55,\n 0x316e8eef,\n 0x4669be79,\n 0xcb61b38c,\n 0xbc66831a,\n 0x256fd2a0,\n 0x5268e236,\n 0xcc0c7795,\n 0xbb0b4703,\n 0x220216b9,\n 0x5505262f,\n 0xc5ba3bbe,\n 0xb2bd0b28,\n 0x2bb45a92,\n 0x5cb36a04,\n 0xc2d7ffa7,\n 0xb5d0cf31,\n 0x2cd99e8b,\n 0x5bdeae1d,\n 0x9b64c2b0,\n 0xec63f226,\n 0x756aa39c,\n 0x026d930a,\n 0x9c0906a9,\n 0xeb0e363f,\n 0x72076785,\n 0x05005713,\n 0x95bf4a82,\n 0xe2b87a14,\n 0x7bb12bae,\n 0x0cb61b38,\n 0x92d28e9b,\n 0xe5d5be0d,\n 0x7cdcefb7,\n 0x0bdbdf21,\n 0x86d3d2d4,\n 0xf1d4e242,\n 0x68ddb3f8,\n 0x1fda836e,\n 0x81be16cd,\n 0xf6b9265b,\n 0x6fb077e1,\n 0x18b74777,\n 0x88085ae6,\n 0xff0f6a70,\n 0x66063bca,\n 0x11010b5c,\n 0x8f659eff,\n 0xf862ae69,\n 0x616bffd3,\n 0x166ccf45,\n 0xa00ae278,\n 0xd70dd2ee,\n 0x4e048354,\n 0x3903b3c2,\n 0xa7672661,\n 0xd06016f7,\n 0x4969474d,\n 0x3e6e77db,\n 0xaed16a4a,\n 0xd9d65adc,\n 0x40df0b66,\n 0x37d83bf0,\n 0xa9bcae53,\n 0xdebb9ec5,\n 0x47b2cf7f,\n 0x30b5ffe9,\n 0xbdbdf21c,\n 0xcabac28a,\n 0x53b39330,\n 0x24b4a3a6,\n 0xbad03605,\n 0xcdd70693,\n 0x54de5729,\n 0x23d967bf,\n 0xb3667a2e,\n 0xc4614ab8,\n 0x5d681b02,\n 0x2a6f2b94,\n 0xb40bbe37,\n 0xc30c8ea1,\n 0x5a05df1b,\n 0x2d02ef8d\n);\n\nfunction getCRC32Table() {\n return CRC32TAB;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/**\n * `btoa()` polyfill as defined by the HTML and Infra specs, which mostly just references\n * RFC 4648.\n */\nexport function asciiToBase64(string: string): string | null {\n // String conversion as required by Web IDL.\n string = `${string}`;\n // \"The btoa() method must throw an \"InvalidCharacterError\" DOMException if\n // data contains any character whose code point is greater than U+00FF.\"\n for (let i = 0; i < string.length; i++) {\n if (string.charCodeAt(i) > 255) {\n return null;\n }\n }\n let out = '';\n for (let i = 0; i < string.length; i += 3) {\n /** @type {Array[4]} */\n const groupsOfSix: (number | undefined)[] = [undefined, undefined, undefined, undefined];\n groupsOfSix[0] = string.charCodeAt(i) >> 2;\n groupsOfSix[1] = (string.charCodeAt(i) & 0x03) << 4;\n if (string.length > i + 1) {\n groupsOfSix[1] |= string.charCodeAt(i + 1) >> 4;\n groupsOfSix[2] = (string.charCodeAt(i + 1) & 0x0f) << 2;\n }\n if (string.length > i + 2) {\n // @ts-expect-error\n groupsOfSix[2] |= string.charCodeAt(i + 2) >> 6;\n groupsOfSix[3] = string.charCodeAt(i + 2) & 0x3f;\n }\n for (let j = 0; j < groupsOfSix.length; j++) {\n if (typeof groupsOfSix[j] === 'undefined') {\n out += '=';\n } else {\n out += btoaLookup(groupsOfSix[j]);\n }\n }\n }\n return out;\n}\n\n/**\n * Implementation of atob() according to the HTML and Infra specs, except that\n * instead of throwing INVALID_CHARACTER_ERR we return null.\n *\n * @note Forked from https://github.com/jsdom/abab under BSD 3 clause license\n */\nexport function base64ToAscii(data: string): string {\n // Web IDL requires DOMStrings to just be converted using ECMAScript\n // ToString, which in our case amounts to using a template literal.\n data = `${data}`;\n // \"Remove all ASCII whitespace from data.\"\n data = data.replace(/[ \\t\\n\\f\\r]/g, '');\n // \"If data's code point length divides by 4 leaving no remainder, then: if data ends\n // with one or two U+003D (=) code points, then remove them from data.\"\n if (data.length % 4 === 0) {\n data = data.replace(/[=]=?$/, '');\n }\n // \"If data's code point length divides by 4 leaving a remainder of 1, then return\n // failure.\"\n //\n // \"If data contains a code point that is not one of\n //\n // U+002B (+)\n // U+002F (/)\n // ASCII alphanumeric\n //\n // then return failure.\"\n if (data.length % 4 === 1 || /[^+/0-9A-Za-z]/.test(data)) {\n return '';\n }\n // \"Let output be an empty byte sequence.\"\n let output = '';\n // \"Let buffer be an empty buffer that can have bits appended to it.\"\n //\n // We append bits via left-shift and or. accumulatedBits is used to track\n // when we've gotten to 24 bits.\n let buffer = 0;\n let accumulatedBits = 0;\n // \"Let position be a position variable for data, initially pointing at the\n // start of data.\"\n //\n // \"While position does not point past the end of data:\"\n for (let i = 0; i < data.length; i++) {\n // \"Find the code point pointed to by position in the second column of\n // Table 1: The Base 64 Alphabet of RFC 4648. Let n be the number given in\n // the first cell of the same row.\n //\n // \"Append to buffer the six bits corresponding to n, most significant bit\n // first.\"\n //\n // atobLookup() implements the table from RFC 4648.\n buffer <<= 6;\n // @ts-expect-error\n buffer |= atobLookup(data[i]);\n accumulatedBits += 6;\n // \"If buffer has accumulated 24 bits, interpret them as three 8-bit\n // big-endian numbers. Append three bytes with values equal to those\n // numbers to output, in the same order, and then empty buffer.\"\n if (accumulatedBits === 24) {\n output += String.fromCharCode((buffer & 0xff0000) >> 16);\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n buffer = accumulatedBits = 0;\n }\n // \"Advance position by 1.\"\n }\n // \"If buffer is not empty, it contains either 12 or 18 bits. If it contains\n // 12 bits, then discard the last four and interpret the remaining eight as\n // an 8-bit big-endian number. If it contains 18 bits, then discard the last\n // two and interpret the remaining 16 as two 8-bit big-endian numbers. Append\n // the one or two bytes with values equal to those one or two numbers to\n // output, in the same order.\"\n if (accumulatedBits === 12) {\n buffer >>= 4;\n output += String.fromCharCode(buffer);\n } else if (accumulatedBits === 18) {\n buffer >>= 2;\n output += String.fromCharCode((buffer & 0xff00) >> 8);\n output += String.fromCharCode(buffer & 0xff);\n }\n // \"Return output.\"\n return output;\n}\n/**\n * A lookup table for atob(), which converts an ASCII character to the\n * corresponding six-bit number.\n */\n\nconst keystr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfunction atobLookup(chr: string): number | undefined {\n const index = keystr.indexOf(chr);\n // Throw exception if character is not in the lookup string; should not be hit in tests\n return index < 0 ? undefined : index;\n}\n\n/**\n * Lookup table for btoa(), which converts a six-bit number into the\n * corresponding ASCII character.\n */\nfunction btoaLookup(idx) {\n if (idx < 26) {\n return String.fromCharCode(idx + 'A'.charCodeAt(0));\n }\n if (idx < 52) {\n return String.fromCharCode(idx - 26 + 'a'.charCodeAt(0));\n }\n if (idx < 62) {\n return String.fromCharCode(idx - 52 + '0'.charCodeAt(0));\n }\n if (idx === 62) {\n return '+';\n }\n if (idx === 63) {\n return '/';\n }\n // Throw INVALID_CHARACTER_ERR exception here -- won't be hit in the teststring.\n return undefined;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {asciiToBase64, base64ToAscii} from './base64-utils';\n\n/**\n * Encode a number (usually a digest from a hash function / cipher) as either hex or base64\n * Suitable for hashes like CRC32 where the number of required bits fit withing a JavaScript number.\n */\nexport function encodeNumber(number: number, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertNumberToHex(number);\n case 'base64':\n return convertHexToBase64(convertNumberToHex(number));\n default:\n throw new Error(encoding);\n }\n}\n\n/** Encode a hex string, aeither return hex or re-encode as base64 */\nexport function encodeHex(hex: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return hex;\n case 'base64':\n return convertHexToBase64(hex);\n default:\n throw new Error(encoding);\n }\n}\n\nexport function encodeBase64(base64: string, encoding: 'hex' | 'base64'): string {\n switch (encoding) {\n case 'hex':\n return convertBase64ToHex(base64);\n case 'base64':\n return base64;\n default:\n throw new Error(encoding);\n }\n}\n\n/**\n * Convert a hexadecimal string to base64 encoded string representation\n */\nfunction convertHexToBase64(hexstring: string): string {\n // Add leading zero to keep even count of digits\n // eg. f85d741 => 0f85d741\n if (hexstring.length % 2 !== 0) {\n hexstring = `0${hexstring}`;\n }\n const matches = hexstring.match(/\\w{2}/g) || [];\n const string = matches.map(a => String.fromCharCode(parseInt(a, 16))).join('');\n // TODO - define how to handle failures\n return asciiToBase64(string) || '';\n}\n\n/**\n * Convert a base64 encoded string to hexadecimal encoded string representation\n */\nfunction convertBase64ToHex(base64String: string): string {\n return [...base64ToAscii(base64String)]\n .map(c => c.charCodeAt(0).toString(16).padStart(2, '0'))\n .join('');\n}\n\n/**\n * Converts a number to hex\n */\nfunction convertNumberToHex(cipher: number): string {\n const hexString = cipher.toString(16);\n return hexString === '0' ? `0${hexString}` : hexString;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32 from './algorithms/crc32';\nimport {encodeNumber} from './utils/digest-utils';\n\n/**\n * Calculates CRC32 Cryptographic Hash\n */\nexport class CRC32Hash extends Hash {\n readonly name = 'crc32';\n\n options;\n\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n this.hashBatches = this.hashBatches.bind(this);\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32();\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32();\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// From: https://gist.github.com/wqli78/1330293/6d85cc967f32cccfcbad94ae7d088a3dcfc14bd9\n// CRC32 doesn't appear to be supported natively by crypto-js\n\n// import {toBuffer} from '@loaders.gl/loader-utils';\n// import {calculate as sse4calculate} from 'sse4_crc32';\n\n/**\n * Calculates the CRC32C checksum of a string.\n */\nexport default class CRC32C {\n options;\n crc: number;\n\n constructor(options = {}) {\n this.options = options;\n this.crc = ~0;\n }\n\n update(arrayBuffer) {\n const byteArray = new Uint8Array(arrayBuffer);\n const CRC32_TABLE = getCRC32Table();\n for (let i = 0; i < byteArray.length; i++) {\n this.crc = CRC32_TABLE[(this.crc ^ byteArray[i]) & 0xff] ^ (this.crc >>> 8);\n }\n return this;\n }\n\n finalize() {\n this.crc = (this.crc ^ -1) >>> 0;\n return this.crc;\n }\n}\n\n/**\n * This code is a manual javascript translation of c code generated by\n * pycrc 0.7.1 (http://www.tty1.net/pycrc/). Command line used:\n * './pycrc.py --model=crc-32c --generate c --algorithm=table-driven'\n */\n\n// Note: Using a typed array here doubles the speed of the cipher\nconst CRC32C_TABLE = Int32Array.of(\n 0x00000000,\n 0xf26b8303,\n 0xe13b70f7,\n 0x1350f3f4,\n 0xc79a971f,\n 0x35f1141c,\n 0x26a1e7e8,\n 0xd4ca64eb,\n 0x8ad958cf,\n 0x78b2dbcc,\n 0x6be22838,\n 0x9989ab3b,\n 0x4d43cfd0,\n 0xbf284cd3,\n 0xac78bf27,\n 0x5e133c24,\n 0x105ec76f,\n 0xe235446c,\n 0xf165b798,\n 0x030e349b,\n 0xd7c45070,\n 0x25afd373,\n 0x36ff2087,\n 0xc494a384,\n 0x9a879fa0,\n 0x68ec1ca3,\n 0x7bbcef57,\n 0x89d76c54,\n 0x5d1d08bf,\n 0xaf768bbc,\n 0xbc267848,\n 0x4e4dfb4b,\n 0x20bd8ede,\n 0xd2d60ddd,\n 0xc186fe29,\n 0x33ed7d2a,\n 0xe72719c1,\n 0x154c9ac2,\n 0x061c6936,\n 0xf477ea35,\n 0xaa64d611,\n 0x580f5512,\n 0x4b5fa6e6,\n 0xb93425e5,\n 0x6dfe410e,\n 0x9f95c20d,\n 0x8cc531f9,\n 0x7eaeb2fa,\n 0x30e349b1,\n 0xc288cab2,\n 0xd1d83946,\n 0x23b3ba45,\n 0xf779deae,\n 0x05125dad,\n 0x1642ae59,\n 0xe4292d5a,\n 0xba3a117e,\n 0x4851927d,\n 0x5b016189,\n 0xa96ae28a,\n 0x7da08661,\n 0x8fcb0562,\n 0x9c9bf696,\n 0x6ef07595,\n 0x417b1dbc,\n 0xb3109ebf,\n 0xa0406d4b,\n 0x522bee48,\n 0x86e18aa3,\n 0x748a09a0,\n 0x67dafa54,\n 0x95b17957,\n 0xcba24573,\n 0x39c9c670,\n 0x2a993584,\n 0xd8f2b687,\n 0x0c38d26c,\n 0xfe53516f,\n 0xed03a29b,\n 0x1f682198,\n 0x5125dad3,\n 0xa34e59d0,\n 0xb01eaa24,\n 0x42752927,\n 0x96bf4dcc,\n 0x64d4cecf,\n 0x77843d3b,\n 0x85efbe38,\n 0xdbfc821c,\n 0x2997011f,\n 0x3ac7f2eb,\n 0xc8ac71e8,\n 0x1c661503,\n 0xee0d9600,\n 0xfd5d65f4,\n 0x0f36e6f7,\n 0x61c69362,\n 0x93ad1061,\n 0x80fde395,\n 0x72966096,\n 0xa65c047d,\n 0x5437877e,\n 0x4767748a,\n 0xb50cf789,\n 0xeb1fcbad,\n 0x197448ae,\n 0x0a24bb5a,\n 0xf84f3859,\n 0x2c855cb2,\n 0xdeeedfb1,\n 0xcdbe2c45,\n 0x3fd5af46,\n 0x7198540d,\n 0x83f3d70e,\n 0x90a324fa,\n 0x62c8a7f9,\n 0xb602c312,\n 0x44694011,\n 0x5739b3e5,\n 0xa55230e6,\n 0xfb410cc2,\n 0x092a8fc1,\n 0x1a7a7c35,\n 0xe811ff36,\n 0x3cdb9bdd,\n 0xceb018de,\n 0xdde0eb2a,\n 0x2f8b6829,\n 0x82f63b78,\n 0x709db87b,\n 0x63cd4b8f,\n 0x91a6c88c,\n 0x456cac67,\n 0xb7072f64,\n 0xa457dc90,\n 0x563c5f93,\n 0x082f63b7,\n 0xfa44e0b4,\n 0xe9141340,\n 0x1b7f9043,\n 0xcfb5f4a8,\n 0x3dde77ab,\n 0x2e8e845f,\n 0xdce5075c,\n 0x92a8fc17,\n 0x60c37f14,\n 0x73938ce0,\n 0x81f80fe3,\n 0x55326b08,\n 0xa759e80b,\n 0xb4091bff,\n 0x466298fc,\n 0x1871a4d8,\n 0xea1a27db,\n 0xf94ad42f,\n 0x0b21572c,\n 0xdfeb33c7,\n 0x2d80b0c4,\n 0x3ed04330,\n 0xccbbc033,\n 0xa24bb5a6,\n 0x502036a5,\n 0x4370c551,\n 0xb11b4652,\n 0x65d122b9,\n 0x97baa1ba,\n 0x84ea524e,\n 0x7681d14d,\n 0x2892ed69,\n 0xdaf96e6a,\n 0xc9a99d9e,\n 0x3bc21e9d,\n 0xef087a76,\n 0x1d63f975,\n 0x0e330a81,\n 0xfc588982,\n 0xb21572c9,\n 0x407ef1ca,\n 0x532e023e,\n 0xa145813d,\n 0x758fe5d6,\n 0x87e466d5,\n 0x94b49521,\n 0x66df1622,\n 0x38cc2a06,\n 0xcaa7a905,\n 0xd9f75af1,\n 0x2b9cd9f2,\n 0xff56bd19,\n 0x0d3d3e1a,\n 0x1e6dcdee,\n 0xec064eed,\n 0xc38d26c4,\n 0x31e6a5c7,\n 0x22b65633,\n 0xd0ddd530,\n 0x0417b1db,\n 0xf67c32d8,\n 0xe52cc12c,\n 0x1747422f,\n 0x49547e0b,\n 0xbb3ffd08,\n 0xa86f0efc,\n 0x5a048dff,\n 0x8ecee914,\n 0x7ca56a17,\n 0x6ff599e3,\n 0x9d9e1ae0,\n 0xd3d3e1ab,\n 0x21b862a8,\n 0x32e8915c,\n 0xc083125f,\n 0x144976b4,\n 0xe622f5b7,\n 0xf5720643,\n 0x07198540,\n 0x590ab964,\n 0xab613a67,\n 0xb831c993,\n 0x4a5a4a90,\n 0x9e902e7b,\n 0x6cfbad78,\n 0x7fab5e8c,\n 0x8dc0dd8f,\n 0xe330a81a,\n 0x115b2b19,\n 0x020bd8ed,\n 0xf0605bee,\n 0x24aa3f05,\n 0xd6c1bc06,\n 0xc5914ff2,\n 0x37faccf1,\n 0x69e9f0d5,\n 0x9b8273d6,\n 0x88d28022,\n 0x7ab90321,\n 0xae7367ca,\n 0x5c18e4c9,\n 0x4f48173d,\n 0xbd23943e,\n 0xf36e6f75,\n 0x0105ec76,\n 0x12551f82,\n 0xe03e9c81,\n 0x34f4f86a,\n 0xc69f7b69,\n 0xd5cf889d,\n 0x27a40b9e,\n 0x79b737ba,\n 0x8bdcb4b9,\n 0x988c474d,\n 0x6ae7c44e,\n 0xbe2da0a5,\n 0x4c4623a6,\n 0x5f16d052,\n 0xad7d5351\n);\n\nfunction getCRC32Table() {\n return CRC32C_TABLE;\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Hash} from './hash';\nimport CRC32C from './algorithms/crc32c';\nimport {encodeNumber} from './utils/digest-utils';\n\n/**\n * A transform that calculates CRC32c Hash\n */\nexport class CRC32CHash extends Hash {\n readonly name = 'crc32c';\n\n options;\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n constructor(options = {}) {\n super();\n this.options = {crypto: {}, ...options};\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n return this.hashSync(input, encoding);\n }\n\n hashSync(input: ArrayBuffer, encoding: 'hex' | 'base64'): string {\n const hash = new CRC32C(this.options);\n hash.update(input);\n const digest = hash.finalize();\n return encodeNumber(digest, encoding);\n }\n\n // runInBatches inherited\n\n async *hashBatches(\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n encoding: 'hex' | 'base64' = 'base64'\n ): AsyncIterable<ArrayBuffer> {\n const hash = new CRC32C(this.options);\n for await (const chunk of asyncIterator) {\n hash.update(chunk);\n yield chunk;\n }\n const digest = hash.finalize();\n this.options.crypto?.onEnd?.({hash: encodeNumber(digest, encoding)});\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable */\n// @ts-nocheck\n/* !\n * MD5 WebAssembly\n * https://github.com/briantbutton/md5-wasm\n * (c) 2020 Brian Todd Button\n * Released under the MIT license\n */\n\n// *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-* *-*=* *=*-*\n// This contains two functions designed to achieve the same thing\n// -> A WebAssembly function for larger files\n// -> A JavaScript function for the others\n//\nconst BASE64_LOOKUP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n wasmB64Bytes = decodeBase64Safely(\n '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'\n ),\n wasm = typeof WebAssembly !== 'undefined' && wasmB64Bytes ? wasmB64Bytes.buffer : false,\n crypt = makeCrypt(),\n biteSize = 240 * 16 * 16,\n bounder = Math.floor(biteSize * 16 * 1.066666667),\n upperLimit = 268435456 - 65536,\n parmTypeErrStr = 'Parameter must be ArrayBuffer, ArrayBufferView or string',\n tooBigErrStr = 'Parameter exceeds max size of 255.9 Mbytes';\n\nif (!wasm) {\n}\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - -\n// This returns a Promise-like object (I was farting around, so sue me)\n// which supports '.catch' and '.then'\nexport default function md5WASM(data) {\n var mem, memView, importObj, imports, len, buff, thenFun, catchFun, result, endTime;\n const md5JS = makeMD5JS(),\n md5WA = makeMD5WA(),\n returnObj = {},\n startTime = new Date().getTime();\n\n returnObj['then'] = function (fun) {\n thenFun = fun;\n getThen();\n return returnObj;\n };\n returnObj['catch'] = function (fun) {\n catchFun = fun;\n return returnObj;\n };\n\n // Sift the incoming parameter and the environment\n // If we are good, set buff\n buff = normalizeInput(data);\n\n if (!buff) {\n getCatch(new TypeError(parmTypeErrStr));\n }\n\n // - - - - - - - - - - - - - - - - - - - - - - - - - -\n // Make some choices based on the size of the incoming data\n // ~ Use WebAssembly or just JavaScript\n // ~ If Webassemly, allocate appropriate memory\n //\n if (buff) {\n len = buff.length;\n if (wasm && len > bounder) {\n if (len > upperLimit) {\n getCatch(new Error(tooBigErrStr));\n } else {\n mem = new WebAssembly.Memory({\n initial: len > 32000000 ? (len > 64000000 ? (len > 128000000 ? 4096 : 2048) : 1024) : 512\n });\n memView = new Uint32Array(mem.buffer);\n imports = {mem: mem, log: console.log};\n importObj = {imports};\n WebAssembly.instantiate(wasm, importObj).then(giterdone);\n }\n } else {\n getThen(md5JS(buff));\n }\n }\n return returnObj;\n\n function giterdone(obj) {\n getThen(md5WA(buff, obj.instance.exports, memView));\n }\n function getThen(r) {\n var res = Boolean(r) ? r : result;\n if (Boolean(r)) {\n endTime = new Date().getTime();\n }\n if (typeof thenFun === 'function') {\n if (Boolean(res)) {\n thenFun(res, endTime - startTime);\n thenFun = catchFun = null;\n }\n } else {\n if (Boolean(r)) {\n result = r;\n }\n }\n }\n function getCatch(err) {\n if (typeof catchFun === 'function') {\n catchFun(err);\n }\n }\n}\n\nfunction makeMD5WA() {\n var _loop, loops;\n var getA, setA, getB, setB, getC, setC, getD, setD, _getX, _setX, memView;\n\n var md5WA = function (message) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m,\n _k;\n var _qwerty = new Date().getTime();\n var _md5Used = 0;\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n i = 0,\n l = message.length * 8,\n len;\n\n len = bytesToWordsNewer(message, memView);\n memView[l >>> 5] |= 0x80 << (l % 32);\n memView[(((l + 64) >>> 9) << 4) + 14] = l;\n len = (((l + 64) >>> 9) << 4) + 15;\n m = memView;\n\n // console.log(\"first loop took \"+((new Date().getTime())-qwerty)+\"ms\");\n\n while (i < len) {\n if (len > i + bounder) {\n setA(a);\n setB(b);\n setC(c);\n setD(d);\n loops(biteSize);\n i = i + biteSize * 16;\n a = getA();\n b = getB();\n c = getC();\n d = getD();\n _md5Used++;\n } else {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n i = i + 16;\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n }\n\n // console.log(\"md5WA, elapsed=\"+((new Date().getTime())-qwerty)+(md5Used?\", WebAssembly called \"+md5Used+\" times\":\", WebAssembly not called\"));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n\n // Convert a byte array to big-endian 32-bit words\n function bytesToWordsNewer(bytes, words) {\n var i = -1,\n l = Math.floor((bytes.length - 1) / 4),\n j = 0,\n b0,\n b1,\n b2,\n b3;\n while (l - 8 > i++) {\n j = i << 2;\n words[i] = bytes[j + 0] | (bytes[j + 1] << 8) | (bytes[j + 2] << 16) | (bytes[j + 3] << 24);\n }\n i--;\n while (l > i++) {\n j = i << 2;\n b0 = typeof bytes[j + 0] === 'undefined' ? 0 : bytes[j + 0];\n b1 = typeof bytes[j + 1] === 'undefined' ? 0 : bytes[j + 1];\n b2 = typeof bytes[j + 2] === 'undefined' ? 0 : bytes[j + 2];\n b3 = typeof bytes[j + 3] === 'undefined' ? 0 : bytes[j + 3];\n words[i] = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24);\n }\n return l + 1;\n }\n };\n\n return function (message, exports, mView, options) {\n var digestbytes;\n loops = exports.loops;\n _loop = exports.loop;\n getA = exports.getA;\n getB = exports.getB;\n getC = exports.getC;\n getD = exports.getD;\n _getX = exports.getX;\n setA = exports.setA;\n setB = exports.setB;\n setC = exports.setC;\n setD = exports.setD;\n _setX = exports.setX;\n memView = mView;\n digestbytes = crypt.wordsToBytes(md5WA(message));\n return options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);\n };\n}\n\nfunction makeMD5JS() {\n var md5JS = function (message, options) {\n var m00,\n m01,\n m02,\n m03,\n m04,\n m05,\n m06,\n m07,\n m08,\n m09,\n m10,\n m11,\n m12,\n m13,\n m14,\n m15,\n aa,\n bb,\n cc,\n dd,\n m;\n var _qwerty = new Date().getTime();\n\n // console.log(\"md5 start\");\n\n var a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878,\n l = message.length * 8;\n\n m = crypt.bytesToWords(message);\n\n // Swap endian\n for (var j = 0; j < m.length; j++) {\n m[j] =\n (((m[j] << 8) | (m[j] >>> 24)) & 0x00ff00ff) | (((m[j] << 24) | (m[j] >>> 8)) & 0xff00ff00);\n }\n\n // Padding\n m[l >>> 5] |= 0x80 << (l % 32);\n m[(((l + 64) >>> 9) << 4) + 14] = l;\n\n for (var i = 0; i < m.length; i += 16) {\n aa = a;\n bb = b;\n cc = c;\n dd = d;\n m00 = m[i + 0] >>> 0;\n m01 = m[i + 1] >>> 0;\n m02 = m[i + 2] >>> 0;\n m03 = m[i + 3] >>> 0;\n m04 = m[i + 4] >>> 0;\n m05 = m[i + 5] >>> 0;\n m06 = m[i + 6] >>> 0;\n m07 = m[i + 7] >>> 0;\n m08 = m[i + 8] >>> 0;\n m09 = m[i + 9] >>> 0;\n m10 = m[i + 10] >>> 0;\n m11 = m[i + 11] >>> 0;\n m12 = m[i + 12] >>> 0;\n m13 = m[i + 13] >>> 0;\n m14 = m[i + 14] >>> 0;\n m15 = m[i + 15] >>> 0;\n\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m00 - 680876936) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m01 - 389564586) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m02 + 606105819) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m03 - 1044525330) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m04 - 176418897) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m05 + 1200080426) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m06 - 1473231341) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m07 - 45705983) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m08 + 1770035416) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m09 - 1958414417) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m10 - 42063) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m11 - 1990404162) + c;\n a = ____(7, 25, a + ((b & c) | (~b & d)) + m12 + 1804603682) + b;\n d = ____(12, 20, d + ((a & b) | (~a & c)) + m13 - 40341101) + a;\n c = ____(17, 15, c + ((d & a) | (~d & b)) + m14 - 1502002290) + d;\n b = ____(22, 10, b + ((c & d) | (~c & a)) + m15 + 1236535329) + c;\n\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m01 - 165796510) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m06 - 1069501632) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m11 + 643717713) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m00 - 373897302) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m05 - 701558691) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m10 + 38016083) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m15 - 660478335) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m04 - 405537848) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m09 + 568446438) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m14 - 1019803690) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m03 - 187363961) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m08 + 1163531501) + c;\n a = ____(5, 27, a + ((b & d) | (c & ~d)) + m13 - 1444681467) + b;\n d = ____(9, 23, d + ((a & c) | (b & ~c)) + m02 - 51403784) + a;\n c = ____(14, 18, c + ((d & b) | (a & ~b)) + m07 + 1735328473) + d;\n b = ____(20, 12, b + ((c & a) | (d & ~a)) + m12 - 1926607734) + c;\n\n a = ____(4, 28, a + (b ^ c ^ d) + m05 - 378558) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m08 - 2022574463) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m11 + 1839030562) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m14 - 35309556) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m01 - 1530992060) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m04 + 1272893353) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m07 - 155497632) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m10 - 1094730640) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m13 + 681279174) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m00 - 358537222) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m03 - 722521979) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m06 + 76029189) + c;\n a = ____(4, 28, a + (b ^ c ^ d) + m09 - 640364487) + b;\n d = ____(11, 21, d + (a ^ b ^ c) + m12 - 421815835) + a;\n c = ____(16, 16, c + (d ^ a ^ b) + m15 + 530742520) + d;\n b = ____(23, 9, b + (c ^ d ^ a) + m02 - 995338651) + c;\n\n a = ____(6, 26, a + (c ^ (b | ~d)) + m00 - 198630844) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m07 + 1126891415) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m14 - 1416354905) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m05 - 57434055) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m12 + 1700485571) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m03 - 1894986606) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m10 - 1051523) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m01 - 2054922799) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m08 + 1873313359) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m15 - 30611744) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m06 - 1560198380) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m13 + 1309151649) + c;\n a = ____(6, 26, a + (c ^ (b | ~d)) + m04 - 145523070) + b;\n d = ____(10, 22, d + (b ^ (a | ~c)) + m11 - 1120210379) + a;\n c = ____(15, 17, c + (a ^ (d | ~b)) + m02 + 718787259) + d;\n b = ____(21, 11, b + (d ^ (c | ~a)) + m09 - 343485551) + c;\n\n a = (a + aa) >>> 0;\n b = (b + bb) >>> 0;\n c = (c + cc) >>> 0;\n d = (d + dd) >>> 0;\n }\n\n // console.log(\"md5JS, elapsed=\"+((new Date().getTime())-qwerty));\n\n return crypt.endian([a, b, c, d]);\n\n function ____(s, t, n) {\n return (n << s) | (n >>> t);\n }\n };\n\n return function (message, options) {\n var digestbytes = crypt.wordsToBytes(md5JS(message, options)),\n result =\n options && options.asBytes ? digestbytes : crypt.bytesconvertNumberToHex(digestbytes);\n return result;\n };\n}\nfunction decodeBase64Safely(str) {\n try {\n return decodeBase64ToUint8Array(str);\n } catch (_error) {\n return null;\n }\n}\n\nfunction decodeBase64ToUint8Array(base64) {\n var sanitized = base64.replace(/-/g, '+').replace(/_/g, '/');\n\n if (typeof atob === 'function') {\n return binaryStringToUint8Array(atob(sanitized));\n }\n\n return decodeBase64WithoutAtob(sanitized);\n}\n\nfunction decodeBase64WithoutAtob(base64) {\n var paddingLength = base64.endsWith('==') ? 2 : base64.endsWith('=') ? 1 : 0,\n byteLength = (base64.length * 3) / 4 - paddingLength,\n bytes = new Uint8Array(byteLength),\n byteIndex = 0,\n i = 0,\n enc1,\n enc2,\n enc3,\n enc4;\n\n while (i < base64.length) {\n enc1 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc2 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc3 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n enc4 = BASE64_LOOKUP.indexOf(base64.charAt(i++));\n\n if (enc1 < 0 || enc2 < 0 || enc3 < 0 || enc4 < 0) {\n throw new TypeError('Invalid base64 input');\n }\n\n bytes[byteIndex++] = (enc1 << 2) | (enc2 >> 4);\n if (enc3 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc2 & 15) << 4) | (enc3 >> 2);\n }\n if (enc4 < 64 && byteIndex < byteLength) {\n bytes[byteIndex++] = ((enc3 & 3) << 6) | enc4;\n }\n }\n\n return bytes;\n}\n\nfunction binaryStringToUint8Array(str) {\n var length = str.length,\n view = new Uint8Array(length),\n i = 0;\n\n while (i < length) {\n view[i] = str.charCodeAt(i);\n i++;\n }\n\n return view;\n}\n\nfunction normalizeInput(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n\n if (data && typeof data === 'object' && ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n\n if (typeof data === 'string') {\n return new TextEncoder().encode(data);\n }\n\n return null;\n}\n\nfunction makeCrypt() {\n var _base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n return {\n rotl: function (n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n endian: function (n) {\n if (n.constructor === Number) {\n return (crypt.rotl(n, 8) & 0x00ff00ff) | (crypt.rotl(n, 24) & 0xff00ff00);\n }\n for (var i = 0; i < n.length; i++) n[i] = crypt.endian(n[i]);\n return n;\n },\n\n bytesToWords: function (bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - (b % 32));\n return words;\n },\n\n wordsToBytes: function (words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - (b % 32))) & 0xff);\n return bytes;\n },\n\n bytesconvertNumberToHex: function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return hex.join('');\n }\n };\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// Fork of https://github.com/briantbutton/md5-wasm under MIT license\nimport {Hash} from './hash';\nimport md5WASM from './algorithms/md5-wasm';\nimport {encodeHex} from './utils/digest-utils';\n\n/**\n * A transform that calculates MD5 hashes, passing data through\n */\nexport class MD5Hash extends Hash {\n readonly name = 'md5';\n readonly options;\n\n constructor(options = {}) {\n super();\n this.options = options;\n }\n\n /**\n * Atomic hash calculation\n * @returns base64 encoded hash\n */\n async hash(input: ArrayBuffer, encoding: 'hex' | 'base64'): Promise<string> {\n const md5Promise = new Promise<string>((resolve, reject) =>\n // @ts-expect-error\n md5WASM(input).then(resolve).catch(reject)\n );\n const hex = await md5Promise;\n return encodeHex(hex, encoding);\n }\n}\n", "// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {createWorker} from '@loaders.gl/worker-utils';\nimport {CRC32Hash} from '../lib/crc32-hash';\nimport {CRC32CHash} from '../lib/crc32c-hash';\nimport {MD5Hash} from '../lib/md5-hash';\n\n// Assuming we can bundle as module\nexport {CRC32Hash, CRC32CHash};\n\ncreateWorker(async (data, options = {}) => {\n // @ts-ignore\n const {operation, encoding = 'base64'} = options;\n\n switch (operation) {\n case 'crc32':\n return await new CRC32Hash(options).hash(data, encoding);\n case 'crc32c':\n return await new CRC32CHash(options).hash(data, encoding);\n case 'md5':\n return await new MD5Hash(options).hash(data, encoding);\n default:\n throw new Error(`invalid option: ${operation}`);\n }\n});\n"],
5
+ "mappings": "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CAAa,CACzD,CACF,ECrCA,IAAqBO,EAArB,KAA2B,CACzB,IAEA,aAAc,CACZ,KAAK,IAAM,EACb,CAEA,OAAOC,EAAa,CAClB,IAAMC,EAAcC,GAAc,EAC5BC,EAAY,IAAI,WAAWH,CAAW,EAC5C,QAASI,EAAI,EAAGA,EAAID,EAAU,WAAYC,IACxC,KAAK,IAAO,KAAK,MAAQ,EAAKH,GAAa,KAAK,IAAME,EAAUC,CAAC,GAAK,GAAI,EAG5E,OAAO,IACT,CAEA,UAAW,CAMT,YAAK,KAAO,KAAK,IAAM,MAAQ,EACxB,KAAK,GACd,CACF,EAGMC,GAAW,YAAY,GAC3B,EACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,SACF,EAEA,SAASH,IAAgB,CACvB,OAAOG,EACT,CCpSO,SAASC,GAAcC,EAA+B,CAE3DA,EAAS,GAAGA,CAAM,GAGlB,QAASC,EAAI,EAAGA,EAAID,EAAO,OAAQC,IACjC,GAAID,EAAO,WAAWC,CAAC,EAAI,IACzB,OAAO,KAGX,IAAIC,EAAM,GACV,QAASD,EAAI,EAAGA,EAAID,EAAO,OAAQC,GAAK,EAAG,CAEzC,IAAME,EAAsC,CAAC,OAAW,OAAW,OAAW,MAAS,EACvFA,EAAY,CAAC,EAAIH,EAAO,WAAWC,CAAC,GAAK,EACzCE,EAAY,CAAC,GAAKH,EAAO,WAAWC,CAAC,EAAI,IAAS,EAC9CD,EAAO,OAASC,EAAI,IACtBE,EAAY,CAAC,GAAKH,EAAO,WAAWC,EAAI,CAAC,GAAK,EAC9CE,EAAY,CAAC,GAAKH,EAAO,WAAWC,EAAI,CAAC,EAAI,KAAS,GAEpDD,EAAO,OAASC,EAAI,IAEtBE,EAAY,CAAC,GAAKH,EAAO,WAAWC,EAAI,CAAC,GAAK,EAC9CE,EAAY,CAAC,EAAIH,EAAO,WAAWC,EAAI,CAAC,EAAI,IAE9C,QAASG,EAAI,EAAGA,EAAID,EAAY,OAAQC,IAClC,OAAOD,EAAYC,CAAC,EAAM,IAC5BF,GAAO,IAEPA,GAAOG,GAAWF,EAAYC,CAAC,CAAC,CAGtC,CACA,OAAOF,CACT,CAsGA,SAASI,GAAWC,EAAK,CACvB,GAAIA,EAAM,GACR,OAAO,OAAO,aAAaA,EAAM,EAAiB,EAEpD,GAAIA,EAAM,GACR,OAAO,OAAO,aAAaA,EAAM,GAAK,EAAiB,EAEzD,GAAIA,EAAM,GACR,OAAO,OAAO,aAAaA,EAAM,GAAK,EAAiB,EAEzD,GAAIA,IAAQ,GACV,MAAO,IAET,GAAIA,IAAQ,GACV,MAAO,GAIX,CCxJO,SAASC,EAAaC,EAAgBC,EAAoC,CAC/E,OAAQA,EAAU,CAChB,IAAK,MACH,OAAOC,GAAmBF,CAAM,EAClC,IAAK,SACH,OAAOG,GAAmBD,GAAmBF,CAAM,CAAC,EACtD,QACE,MAAM,IAAI,MAAMC,CAAQ,CAC5B,CACF,CAGO,SAASG,GAAUC,EAAaJ,EAAoC,CACzE,OAAQA,EAAU,CAChB,IAAK,MACH,OAAOI,EACT,IAAK,SACH,OAAOF,GAAmBE,CAAG,EAC/B,QACE,MAAM,IAAI,MAAMJ,CAAQ,CAC5B,CACF,CAgBA,SAASK,GAAmBC,EAA2B,CAGjDA,EAAU,OAAS,IAAM,IAC3BA,EAAY,IAAIA,CAAS,IAG3B,IAAMC,GADUD,EAAU,MAAM,QAAQ,GAAK,CAAC,GACvB,IAAIE,GAAK,OAAO,aAAa,SAASA,EAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAE7E,OAAOC,GAAcF,CAAM,GAAK,EAClC,CAcA,SAASG,GAAmBC,EAAwB,CAClD,IAAMC,EAAYD,EAAO,SAAS,EAAE,EACpC,OAAOC,IAAc,IAAM,IAAIA,CAAS,GAAKA,CAC/C,CC/DO,IAAMC,GAAN,cAAwBC,CAAK,CACzB,KAAO,QAEhB,QAEA,YAAYC,EAAU,CAAC,EAAG,CACxB,MAAM,EACN,KAAK,QAAU,CAAC,OAAQ,CAAC,EAAG,GAAGA,CAAO,EACtC,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,CAC/C,CAMA,MAAM,KAAKC,EAAoBC,EAA6C,CAC1E,OAAO,KAAK,SAASD,EAAOC,CAAQ,CACtC,CAEA,SAASD,EAAoBC,EAAoC,CAC/D,IAAMC,EAAO,IAAIC,EACjBD,EAAK,OAAOF,CAAK,EACjB,IAAMI,EAASF,EAAK,SAAS,EAC7B,OAAOG,EAAaD,EAAQH,CAAQ,CACtC,CAEA,MAAO,YACLK,EACAL,EAA6B,SACD,CAC5B,IAAMC,EAAO,IAAIC,EACjB,cAAiBI,KAASD,EACxBJ,EAAK,OAAOK,CAAK,EACjB,MAAMA,EAER,IAAMH,EAASF,EAAK,SAAS,EAC7B,KAAK,QAAQ,QAAQ,QAAQ,CAAC,KAAMG,EAAaD,EAAQH,CAAQ,CAAC,CAAC,CACrE,CACF,ECpCA,IAAqBO,EAArB,KAA4B,CAC1B,QACA,IAEA,YAAYC,EAAU,CAAC,EAAG,CACxB,KAAK,QAAUA,EACf,KAAK,IAAM,EACb,CAEA,OAAOC,EAAa,CAClB,IAAMC,EAAY,IAAI,WAAWD,CAAW,EACtCE,EAAcC,GAAc,EAClC,QAASC,EAAI,EAAGA,EAAIH,EAAU,OAAQG,IACpC,KAAK,IAAMF,GAAa,KAAK,IAAMD,EAAUG,CAAC,GAAK,GAAI,EAAK,KAAK,MAAQ,EAE3E,OAAO,IACT,CAEA,UAAW,CACT,YAAK,KAAO,KAAK,IAAM,MAAQ,EACxB,KAAK,GACd,CACF,EASMC,GAAe,WAAW,GAC9B,EACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,UACA,WACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,UACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACF,EAEA,SAASF,IAAgB,CACvB,OAAOE,EACT,CCtSO,IAAMC,GAAN,cAAyBC,CAAK,CAC1B,KAAO,SAEhB,QAMA,YAAYC,EAAU,CAAC,EAAG,CACxB,MAAM,EACN,KAAK,QAAU,CAAC,OAAQ,CAAC,EAAG,GAAGA,CAAO,CACxC,CAMA,MAAM,KAAKC,EAAoBC,EAA6C,CAC1E,OAAO,KAAK,SAASD,EAAOC,CAAQ,CACtC,CAEA,SAASD,EAAoBC,EAAoC,CAC/D,IAAMC,EAAO,IAAIC,EAAO,KAAK,OAAO,EACpCD,EAAK,OAAOF,CAAK,EACjB,IAAMI,EAASF,EAAK,SAAS,EAC7B,OAAOG,EAAaD,EAAQH,CAAQ,CACtC,CAIA,MAAO,YACLK,EACAL,EAA6B,SACD,CAC5B,IAAMC,EAAO,IAAIC,EAAO,KAAK,OAAO,EACpC,cAAiBI,KAASD,EACxBJ,EAAK,OAAOK,CAAK,EACjB,MAAMA,E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",
6
+ "names": ["parentPort", "getTransferList", "object", "recursive", "transfers", "transfersSet", "isTransferable", "key", "getParentPort", "parentPort", "onMessageWrapperMap", "WorkerBody", "onMessage", "handleMessage", "message", "type", "payload", "onMessageWrapper", "messageData", "getWorkerMessageData", "data", "transferList", "getTransferList", "AsyncQueue", "value", "settler", "resolve", "reject", "requestId", "activeInputBatches", "activeOutputAcknowledgements", "createWorker", "process", "processInBatches", "WorkerBody", "context", "processOnMainThread", "type", "payload", "result", "inputBatches", "AsyncQueue", "outputAcknowledgements", "resultIterator", "createDemandDrivenIterator", "batch", "error", "message", "nextBatch", "arrayBuffer", "options", "jobContext", "resolve", "reject", "id", "onMessage", "concatenateArrayBuffers", "sources", "concatenateArrayBuffersFromArray", "sourceArrays", "source2", "byteLength", "length", "typedArray", "result", "offset", "sourceArray", "concatenateArrayBuffersAsync", "asyncIterator", "arrayBuffers", "chunk", "copyToArrayBuffer", "concatenateArrayBuffers", "copyToArrayBuffer", "chunk", "buffer", "byteOffset", "byteLength", "copyFromBuffer", "view", "copy", "Hash", "options", "asyncIterator", "encoding", "arrayBuffers", "arrayBuffer", "output", "hash", "concatenateArrayBuffersAsync", "CRC32", "arrayBuffer", "CRC32_TABLE", "getCRC32Table", "byteArray", "i", "CRC32TAB", "asciiToBase64", "string", "i", "out", "groupsOfSix", "j", "btoaLookup", "btoaLookup", "idx", "encodeNumber", "number", "encoding", "convertNumberToHex", "convertHexToBase64", "encodeHex", "hex", "convertHexToBase64", "hexstring", "string", "a", "asciiToBase64", "convertNumberToHex", "cipher", "hexString", "CRC32Hash", "Hash", "options", "input", "encoding", "hash", "CRC32", "digest", "encodeNumber", "asyncIterator", "chunk", "CRC32C", "options", "arrayBuffer", "byteArray", "CRC32_TABLE", "getCRC32Table", "i", "CRC32C_TABLE", "CRC32CHash", "Hash", "options", "input", "encoding", "hash", "CRC32C", "digest", "encodeNumber", "asyncIterator", "chunk", "BASE64_LOOKUP", "wasmB64Bytes", "decodeBase64Safely", "wasm", "crypt", "makeCrypt", "biteSize", "bounder", "upperLimit", "parmTypeErrStr", "tooBigErrStr", "md5WASM", "data", "mem", "memView", "importObj", "imports", "len", "buff", "thenFun", "catchFun", "result", "endTime", "md5JS", "makeMD5JS", "md5WA", "makeMD5WA", "returnObj", "startTime", "fun", "getThen", "normalizeInput", "getCatch", "giterdone", "obj", "r", "res", "err", "_loop", "loops", "getA", "setA", "getB", "setB", "getC", "setC", "getD", "setD", "_getX", "_setX", "message", "m00", "m01", "m02", "m03", "m04", "m05", "m06", "m07", "m08", "m09", "m10", "m11", "m12", "m13", "m14", "m15", "aa", "bb", "cc", "dd", "m", "_k", "_qwerty", "_md5Used", "a", "b", "c", "d", "i", "l", "bytesToWordsNewer", "____", "s", "t", "n", "bytes", "words", "j", "b0", "b1", "b2", "b3", "exports", "mView", "options", "digestbytes", "str", "decodeBase64ToUint8Array", "base64", "sanitized", "binaryStringToUint8Array", "decodeBase64WithoutAtob", "paddingLength", "byteLength", "byteIndex", "enc1", "enc2", "enc3", "enc4", "length", "view", "_base64map", "hex", "MD5Hash", "Hash", "options", "input", "encoding", "hex", "resolve", "reject", "md5WASM", "encodeHex", "createWorker", "data", "options", "operation", "encoding", "CRC32Hash", "CRC32CHash", "MD5Hash"]
7
7
  }
package/dist/dist.min.js CHANGED
@@ -4,6 +4,6 @@
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 Je=Object.create;var oe=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Re=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty;var Ue=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},qe=(r,e)=>{for(var t in e)oe(r,t,{get:e[t],enumerable:!0})},te=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Re(e))!He.call(r,i)&&i!==t&&oe(r,i,{get:()=>e[i],enumerable:!(s=Le(e,i))||s.enumerable});return r},ae=(r,e,t)=>(te(r,e,"default"),t&&te(t,e,"default")),Ze=(r,e,t)=>(t=r!=null?Je(ke(r)):{},te(e||!r||!r.__esModule?oe(t,"default",{value:r,enumerable:!0}):t,r)),Ne=r=>te(oe({},"__esModule",{value:!0}),r);var Ee=Ue((m0,we)=>{we.exports=globalThis.loaders});var Y={};qe(Y,{CRC32CHash:()=>Ae,CRC32Hash:()=>fe,CryptoHash:()=>P,CryptoJSWorker:()=>b0,CryptoWorker:()=>i0,Hash:()=>F,MD5Hash:()=>se,NodeHash:()=>be,SHA256Hash:()=>ie,asciiToBase64:()=>ce,base64ToAscii:()=>ne,encodeBase64:()=>Ge,encodeHex:()=>xe,encodeNumber:()=>N});ae(Y,Ze(Ee(),1));function he(r){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,r)}function O(r,e){let t=globalThis.loaders?.modules?.[r];if(!t)throw new Error(`${e}: ${r} library not installed`);return t}function Qe(...r){return Ve(r)}function Ve(r){let e=r.map(h=>h instanceof ArrayBuffer?new Uint8Array(h):h),t=e.reduce((h,m)=>h+m.byteLength,0),s=new Uint8Array(t),i=0;for(let h of e)s.set(h,i),i+=h.byteLength;return s.buffer}async function Be(r){let e=[];for await(let t of r)e.push(Xe(t));return Qe(...e)}function Xe(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:t,byteLength:s}=r;return Ie(e,t,s)}return Ie(r)}function Ie(r,e=0,t=r.byteLength-e){let s=new Uint8Array(r,e,t),i=new Uint8Array(s.length);return i.set(s),i.buffer}var F=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,t="base64"){let s=[];for await(let m of e)s.push(m),yield m;let i=await this.concatenate(s),h=await this.hash(i,t);this.options.crypto?.onEnd?.({hash:h})}async concatenate(e){return await Be(e)}};var X=class{crc;constructor(){this.crc=-1}update(e){let t=Pe(),s=new Uint8Array(e);for(let i=0;i<s.byteLength;i++)this.crc=this.crc>>>8^t[(this.crc^s[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},ze=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function Pe(){return ze}function ce(r){r=`${r}`;for(let t=0;t<r.length;t++)if(r.charCodeAt(t)>255)return null;let e="";for(let t=0;t<r.length;t+=3){let s=[void 0,void 0,void 0,void 0];s[0]=r.charCodeAt(t)>>2,s[1]=(r.charCodeAt(t)&3)<<4,r.length>t+1&&(s[1]|=r.charCodeAt(t+1)>>4,s[2]=(r.charCodeAt(t+1)&15)<<2),r.length>t+2&&(s[2]|=r.charCodeAt(t+2)>>6,s[3]=r.charCodeAt(t+2)&63);for(let i=0;i<s.length;i++)typeof s[i]>"u"?e+="=":e+=Ye(s[i])}return e}function ne(r){if(r=`${r}`,r=r.replace(/[ \t\n\f\r]/g,""),r.length%4===0&&(r=r.replace(/[=]=?$/,"")),r.length%4===1||/[^+/0-9A-Za-z]/.test(r))return"";let e="",t=0,s=0;for(let i=0;i<r.length;i++)t<<=6,t|=Oe(r[i]),s+=6,s===24&&(e+=String.fromCharCode((t&16711680)>>16),e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255),t=s=0);return s===12?(t>>=4,e+=String.fromCharCode(t)):s===18&&(t>>=2,e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255)),e}var _e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Oe(r){let e=_e.indexOf(r);return e<0?void 0:e}function Ye(r){if(r<26)return String.fromCharCode(r+65);if(r<52)return String.fromCharCode(r-26+97);if(r<62)return String.fromCharCode(r-52+48);if(r===62)return"+";if(r===63)return"/"}function N(r,e){switch(e){case"hex":return Me(r);case"base64":return Se(Me(r));default:throw new Error(e)}}function xe(r,e){switch(e){case"hex":return r;case"base64":return Se(r);default:throw new Error(e)}}function Ge(r,e){switch(e){case"hex":return Ke(r);case"base64":return r;default:throw new Error(e)}}function Se(r){r.length%2!==0&&(r=`0${r}`);let t=(r.match(/\w{2}/g)||[]).map(s=>String.fromCharCode(parseInt(s,16))).join("");return ce(t)||""}function Ke(r){return[...ne(r)].map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}function Me(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var fe=class extends F{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,t){return this.hashSync(e,t)}hashSync(e,t){let s=new X;s.update(e);let i=s.finalize();return N(i,t)}async*hashBatches(e,t="base64"){let s=new X;for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:N(i,t)})}};var z=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let t=new Uint8Array(e),s=e0();for(let i=0;i<t.length;i++)this.crc=s[(this.crc^t[i])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},$e=Int32Array.of(0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697);function e0(){return $e}var Ae=class extends F{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,t){return this.hashSync(e,t)}hashSync(e,t){let s=new z(this.options);s.update(e);let i=s.finalize();return N(i,t)}async*hashBatches(e,t="base64"){let s=new z(this.options);for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:N(i,t)})}};var de="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Fe=n0("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"),ve=typeof WebAssembly<"u"&&Fe?Fe.buffer:!1,k=s0(),me=3840*16,We=Math.floor(me*16*1.066666667),r0=268369920,t0="Parameter must be ArrayBuffer, ArrayBufferView or string",o0="Parameter exceeds max size of 255.9 Mbytes";function le(r){var e,t,s,i,h,m,g,C,M,J;let H=c0(),v=a0(),W={},j=new Date().getTime();return W.then=function(l){return g=l,Q(),W},W.catch=function(l){return C=l,W},m=d0(r),m||I(new TypeError(t0)),m&&(h=m.length,ve&&h>We?h>r0?I(new Error(o0)):(e=new WebAssembly.Memory({initial:h>32e6?h>64e6?h>128e6?4096:2048:1024:512}),t=new Uint32Array(e.buffer),i={mem:e,log:console.log},s={imports:i},WebAssembly.instantiate(ve,s).then(p)):Q(H(m))),W;function p(l){Q(v(m,l.instance.exports,t))}function Q(l){var D=l||M;l&&(J=new Date().getTime()),typeof g=="function"?D&&(g(D,J-j),g=C=null):l&&(M=l)}function I(l){typeof C=="function"&&C(l)}}function a0(){var r,e,t,s,i,h,m,g,C,M,J,H,v,W=function(j){var p,Q,I,l,D,U,q,Z,B,V,o,a,c,n,L,T,w,b,K,$,E,u0,h0=new Date().getTime(),je=0,x=1732584193,f=-271733879,A=-1732584194,d=271733878,y=0,_=j.length*8,ee;for(ee=De(j,v),v[_>>>5]|=128<<_%32,v[(_+64>>>9<<4)+14]=_,ee=(_+64>>>9<<4)+15,E=v;y<ee;)ee>y+We?(s(x),h(f),g(A),M(d),e(me),y=y+me*16,x=t(),f=i(),A=m(),d=C(),je++):(w=x,b=f,K=A,$=d,p=E[y+0]>>>0,Q=E[y+1]>>>0,I=E[y+2]>>>0,l=E[y+3]>>>0,D=E[y+4]>>>0,U=E[y+5]>>>0,q=E[y+6]>>>0,Z=E[y+7]>>>0,B=E[y+8]>>>0,V=E[y+9]>>>0,o=E[y+10]>>>0,a=E[y+11]>>>0,c=E[y+12]>>>0,n=E[y+13]>>>0,L=E[y+14]>>>0,T=E[y+15]>>>0,x=u(7,25,x+(f&A|~f&d)+p-680876936)+f,d=u(12,20,d+(x&f|~x&A)+Q-389564586)+x,A=u(17,15,A+(d&x|~d&f)+I+606105819)+d,f=u(22,10,f+(A&d|~A&x)+l-1044525330)+A,x=u(7,25,x+(f&A|~f&d)+D-176418897)+f,d=u(12,20,d+(x&f|~x&A)+U+1200080426)+x,A=u(17,15,A+(d&x|~d&f)+q-1473231341)+d,f=u(22,10,f+(A&d|~A&x)+Z-45705983)+A,x=u(7,25,x+(f&A|~f&d)+B+1770035416)+f,d=u(12,20,d+(x&f|~x&A)+V-1958414417)+x,A=u(17,15,A+(d&x|~d&f)+o-42063)+d,f=u(22,10,f+(A&d|~A&x)+a-1990404162)+A,x=u(7,25,x+(f&A|~f&d)+c+1804603682)+f,d=u(12,20,d+(x&f|~x&A)+n-40341101)+x,A=u(17,15,A+(d&x|~d&f)+L-1502002290)+d,f=u(22,10,f+(A&d|~A&x)+T+1236535329)+A,x=u(5,27,x+(f&d|A&~d)+Q-165796510)+f,d=u(9,23,d+(x&A|f&~A)+q-1069501632)+x,A=u(14,18,A+(d&f|x&~f)+a+643717713)+d,f=u(20,12,f+(A&x|d&~x)+p-373897302)+A,x=u(5,27,x+(f&d|A&~d)+U-701558691)+f,d=u(9,23,d+(x&A|f&~A)+o+38016083)+x,A=u(14,18,A+(d&f|x&~f)+T-660478335)+d,f=u(20,12,f+(A&x|d&~x)+D-405537848)+A,x=u(5,27,x+(f&d|A&~d)+V+568446438)+f,d=u(9,23,d+(x&A|f&~A)+L-1019803690)+x,A=u(14,18,A+(d&f|x&~f)+l-187363961)+d,f=u(20,12,f+(A&x|d&~x)+B+1163531501)+A,x=u(5,27,x+(f&d|A&~d)+n-1444681467)+f,d=u(9,23,d+(x&A|f&~A)+I-51403784)+x,A=u(14,18,A+(d&f|x&~f)+Z+1735328473)+d,f=u(20,12,f+(A&x|d&~x)+c-1926607734)+A,x=u(4,28,x+(f^A^d)+U-378558)+f,d=u(11,21,d+(x^f^A)+B-2022574463)+x,A=u(16,16,A+(d^x^f)+a+1839030562)+d,f=u(23,9,f+(A^d^x)+L-35309556)+A,x=u(4,28,x+(f^A^d)+Q-1530992060)+f,d=u(11,21,d+(x^f^A)+D+1272893353)+x,A=u(16,16,A+(d^x^f)+Z-155497632)+d,f=u(23,9,f+(A^d^x)+o-1094730640)+A,x=u(4,28,x+(f^A^d)+n+681279174)+f,d=u(11,21,d+(x^f^A)+p-358537222)+x,A=u(16,16,A+(d^x^f)+l-722521979)+d,f=u(23,9,f+(A^d^x)+q+76029189)+A,x=u(4,28,x+(f^A^d)+V-640364487)+f,d=u(11,21,d+(x^f^A)+c-421815835)+x,A=u(16,16,A+(d^x^f)+T+530742520)+d,f=u(23,9,f+(A^d^x)+I-995338651)+A,x=u(6,26,x+(A^(f|~d))+p-198630844)+f,d=u(10,22,d+(f^(x|~A))+Z+1126891415)+x,A=u(15,17,A+(x^(d|~f))+L-1416354905)+d,f=u(21,11,f+(d^(A|~x))+U-57434055)+A,x=u(6,26,x+(A^(f|~d))+c+1700485571)+f,d=u(10,22,d+(f^(x|~A))+l-1894986606)+x,A=u(15,17,A+(x^(d|~f))+o-1051523)+d,f=u(21,11,f+(d^(A|~x))+Q-2054922799)+A,x=u(6,26,x+(A^(f|~d))+B+1873313359)+f,d=u(10,22,d+(f^(x|~A))+T-30611744)+x,A=u(15,17,A+(x^(d|~f))+q-1560198380)+d,f=u(21,11,f+(d^(A|~x))+n+1309151649)+A,x=u(6,26,x+(A^(f|~d))+D-145523070)+f,d=u(10,22,d+(f^(x|~A))+a-1120210379)+x,A=u(15,17,A+(x^(d|~f))+I+718787259)+d,f=u(21,11,f+(d^(A|~x))+V-343485551)+A,y=y+16,x=x+w>>>0,f=f+b>>>0,A=A+K>>>0,d=d+$>>>0);return k.endian([x,f,A,d]);function u(G,re,R){return R<<G|R>>>re}function De(G,re){for(var R=-1,ue=Math.floor((G.length-1)/4),S=0,pe,ye,ge,Ce;ue-8>R++;)S=R<<2,re[R]=G[S+0]|G[S+1]<<8|G[S+2]<<16|G[S+3]<<24;for(R--;ue>R++;)S=R<<2,pe=typeof G[S+0]>"u"?0:G[S+0],ye=typeof G[S+1]>"u"?0:G[S+1],ge=typeof G[S+2]>"u"?0:G[S+2],Ce=typeof G[S+3]>"u"?0:G[S+3],re[R]=pe|ye<<8|ge<<16|Ce<<24;return ue+1}};return function(j,p,Q,I){var l;return e=p.loops,r=p.loop,t=p.getA,i=p.getB,m=p.getC,C=p.getD,J=p.getX,s=p.setA,h=p.setB,g=p.setC,M=p.setD,H=p.setX,v=Q,l=k.wordsToBytes(W(j)),I&&I.asBytes?l:k.bytesconvertNumberToHex(l)}}function c0(){var r=function(e,t){var s,i,h,m,g,C,M,J,H,v,W,j,p,Q,I,l,D,U,q,Z,B,V=new Date().getTime(),o=1732584193,a=-271733879,c=-1732584194,n=271733878,L=e.length*8;B=k.bytesToWords(e);for(var T=0;T<B.length;T++)B[T]=(B[T]<<8|B[T]>>>24)&16711935|(B[T]<<24|B[T]>>>8)&4278255360;B[L>>>5]|=128<<L%32,B[(L+64>>>9<<4)+14]=L;for(var w=0;w<B.length;w+=16)D=o,U=a,q=c,Z=n,s=B[w+0]>>>0,i=B[w+1]>>>0,h=B[w+2]>>>0,m=B[w+3]>>>0,g=B[w+4]>>>0,C=B[w+5]>>>0,M=B[w+6]>>>0,J=B[w+7]>>>0,H=B[w+8]>>>0,v=B[w+9]>>>0,W=B[w+10]>>>0,j=B[w+11]>>>0,p=B[w+12]>>>0,Q=B[w+13]>>>0,I=B[w+14]>>>0,l=B[w+15]>>>0,o=b(7,25,o+(a&c|~a&n)+s-680876936)+a,n=b(12,20,n+(o&a|~o&c)+i-389564586)+o,c=b(17,15,c+(n&o|~n&a)+h+606105819)+n,a=b(22,10,a+(c&n|~c&o)+m-1044525330)+c,o=b(7,25,o+(a&c|~a&n)+g-176418897)+a,n=b(12,20,n+(o&a|~o&c)+C+1200080426)+o,c=b(17,15,c+(n&o|~n&a)+M-1473231341)+n,a=b(22,10,a+(c&n|~c&o)+J-45705983)+c,o=b(7,25,o+(a&c|~a&n)+H+1770035416)+a,n=b(12,20,n+(o&a|~o&c)+v-1958414417)+o,c=b(17,15,c+(n&o|~n&a)+W-42063)+n,a=b(22,10,a+(c&n|~c&o)+j-1990404162)+c,o=b(7,25,o+(a&c|~a&n)+p+1804603682)+a,n=b(12,20,n+(o&a|~o&c)+Q-40341101)+o,c=b(17,15,c+(n&o|~n&a)+I-1502002290)+n,a=b(22,10,a+(c&n|~c&o)+l+1236535329)+c,o=b(5,27,o+(a&n|c&~n)+i-165796510)+a,n=b(9,23,n+(o&c|a&~c)+M-1069501632)+o,c=b(14,18,c+(n&a|o&~a)+j+643717713)+n,a=b(20,12,a+(c&o|n&~o)+s-373897302)+c,o=b(5,27,o+(a&n|c&~n)+C-701558691)+a,n=b(9,23,n+(o&c|a&~c)+W+38016083)+o,c=b(14,18,c+(n&a|o&~a)+l-660478335)+n,a=b(20,12,a+(c&o|n&~o)+g-405537848)+c,o=b(5,27,o+(a&n|c&~n)+v+568446438)+a,n=b(9,23,n+(o&c|a&~c)+I-1019803690)+o,c=b(14,18,c+(n&a|o&~a)+m-187363961)+n,a=b(20,12,a+(c&o|n&~o)+H+1163531501)+c,o=b(5,27,o+(a&n|c&~n)+Q-1444681467)+a,n=b(9,23,n+(o&c|a&~c)+h-51403784)+o,c=b(14,18,c+(n&a|o&~a)+J+1735328473)+n,a=b(20,12,a+(c&o|n&~o)+p-1926607734)+c,o=b(4,28,o+(a^c^n)+C-378558)+a,n=b(11,21,n+(o^a^c)+H-2022574463)+o,c=b(16,16,c+(n^o^a)+j+1839030562)+n,a=b(23,9,a+(c^n^o)+I-35309556)+c,o=b(4,28,o+(a^c^n)+i-1530992060)+a,n=b(11,21,n+(o^a^c)+g+1272893353)+o,c=b(16,16,c+(n^o^a)+J-155497632)+n,a=b(23,9,a+(c^n^o)+W-1094730640)+c,o=b(4,28,o+(a^c^n)+Q+681279174)+a,n=b(11,21,n+(o^a^c)+s-358537222)+o,c=b(16,16,c+(n^o^a)+m-722521979)+n,a=b(23,9,a+(c^n^o)+M+76029189)+c,o=b(4,28,o+(a^c^n)+v-640364487)+a,n=b(11,21,n+(o^a^c)+p-421815835)+o,c=b(16,16,c+(n^o^a)+l+530742520)+n,a=b(23,9,a+(c^n^o)+h-995338651)+c,o=b(6,26,o+(c^(a|~n))+s-198630844)+a,n=b(10,22,n+(a^(o|~c))+J+1126891415)+o,c=b(15,17,c+(o^(n|~a))+I-1416354905)+n,a=b(21,11,a+(n^(c|~o))+C-57434055)+c,o=b(6,26,o+(c^(a|~n))+p+1700485571)+a,n=b(10,22,n+(a^(o|~c))+m-1894986606)+o,c=b(15,17,c+(o^(n|~a))+W-1051523)+n,a=b(21,11,a+(n^(c|~o))+i-2054922799)+c,o=b(6,26,o+(c^(a|~n))+H+1873313359)+a,n=b(10,22,n+(a^(o|~c))+l-30611744)+o,c=b(15,17,c+(o^(n|~a))+M-1560198380)+n,a=b(21,11,a+(n^(c|~o))+Q+1309151649)+c,o=b(6,26,o+(c^(a|~n))+g-145523070)+a,n=b(10,22,n+(a^(o|~c))+j-1120210379)+o,c=b(15,17,c+(o^(n|~a))+h+718787259)+n,a=b(21,11,a+(n^(c|~o))+v-343485551)+c,o=o+D>>>0,a=a+U>>>0,c=c+q>>>0,n=n+Z>>>0;return k.endian([o,a,c,n]);function b(K,$,E){return E<<K|E>>>$}};return function(e,t){var s=k.wordsToBytes(r(e,t)),i=t&&t.asBytes?s:k.bytesconvertNumberToHex(s);return i}}function n0(r){try{return x0(r)}catch{return null}}function x0(r){var e=r.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?A0(atob(e)):f0(e)}function f0(r){for(var e=r.endsWith("==")?2:r.endsWith("=")?1:0,t=r.length*3/4-e,s=new Uint8Array(t),i=0,h=0,m,g,C,M;h<r.length;){if(m=de.indexOf(r.charAt(h++)),g=de.indexOf(r.charAt(h++)),C=de.indexOf(r.charAt(h++)),M=de.indexOf(r.charAt(h++)),m<0||g<0||C<0||M<0)throw new TypeError("Invalid base64 input");s[i++]=m<<2|g>>4,C<64&&i<t&&(s[i++]=(g&15)<<4|C>>2),M<64&&i<t&&(s[i++]=(C&3)<<6|M)}return s}function A0(r){for(var e=r.length,t=new Uint8Array(e),s=0;s<e;)t[s]=r.charCodeAt(s),s++;return t}function d0(r){return r instanceof Uint8Array?r:typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer?new Uint8Array(r):r&&typeof r=="object"&&ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):typeof r=="string"?new TextEncoder().encode(r):null}function s0(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,t){return e<<t|e>>>32-t},endian:function(e){if(e.constructor===Number)return k.rotl(e,8)&16711935|k.rotl(e,24)&4278255360;for(var t=0;t<e.length;t++)e[t]=k.endian(e[t]);return e},bytesToWords:function(e){for(var t=[],s=0,i=0;s<e.length;s++,i+=8)t[i>>>5]|=e[s]<<24-i%32;return t},wordsToBytes:function(e){for(var t=[],s=0;s<e.length*32;s+=8)t.push(e[s>>>5]>>>24-s%32&255);return t},bytesconvertNumberToHex:function(e){for(var t=[],s=0;s<e.length;s++)t.push((e[s]>>>4).toString(16)),t.push((e[s]&15).toString(16));return t.join("")}}}var se=class extends F{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,t){let i=await new Promise((h,m)=>le(e).then(h).catch(m));return xe(i,t)}};var P=class extends F{name;options;_algorithm;_algo;constructor(e){if(super(),this.options=e,he(e?.modules),this._algorithm=this.options?.crypto?.algorithm,!this._algorithm)throw new Error(this.name);this.name=this._algorithm.toLowerCase()}async preload(){let e=O("CryptoJS",this.name);this._algo=e.algo[this._algorithm]}async hash(e,t){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);let i=O("CryptoJS",this.name),h=i.lib.WordArray.create(e),m=t==="base64"?i.enc.Base64:i.enc.Hex;return s.update(h).finalize().toString(m)}async*hashBatches(e,t="base64"){await this.preload();let s=O("CryptoJS",this.name),i=this._algo.create();if(!i)throw new Error(this.name);for await(let g of e){let C=s.lib.WordArray.create(g);i.update(C),yield g}let h=t==="base64"?s.enc.Base64:s.enc.Hex,m=i.finalize().toString(h);this.options?.crypto?.onEnd?.({hash:m})}};var ie=class extends P{constructor(e){super({...e,crypto:{...e.crypto,algorithm:"SHA256"}})}};var be=class extends F{name;options;constructor(e){if(super(),this.options=e,!globalThis.loaders.NodeHash)throw new Error("install @loaders.gl/crypto on Node.js to use NodeHash");return new globalThis.loaders.NodeHash(e)}async hash(e,t){throw new Error("Not implemented")}};var Te="5.0.0-alpha.2",i0={id:"crypto",name:"CRC32, CRC32c and MD5 Hashes",module:"crypto",version:Te,options:{crypto:{}}},b0={id:"cryptojs",name:"Cryptographic Hashes",module:"crypto",version:Te,options:{cryptojs:{}}};return Ne(Y);})();
7
+ "use strict";var __exports__=(()=>{var Re=Object.create;var oe=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty;var Ue=(r,e)=>()=>{try{return e||r((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},qe=(r,e)=>{for(var t in e)oe(r,t,{get:e[t],enumerable:!0})},te=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ke(e))!He.call(r,i)&&i!==t&&oe(r,i,{get:()=>e[i],enumerable:!(s=De(e,i))||s.enumerable});return r},ae=(r,e,t)=>(te(r,e,"default"),t&&te(t,e,"default")),Ze=(r,e,t)=>(t=r!=null?Re(Je(r)):{},te(e||!r||!r.__esModule?oe(t,"default",{value:r,enumerable:!0}):t,r)),Ne=r=>te(oe({},"__esModule",{value:!0}),r);var we=Ue((l0,Qe)=>{Qe.exports=globalThis.loaders});var Y={};qe(Y,{CRC32CHash:()=>Ae,CRC32Hash:()=>fe,CryptoHash:()=>X,CryptoJSWorker:()=>b0,CryptoWorker:()=>i0,Hash:()=>G,MD5Hash:()=>se,NodeHash:()=>be,SHA256Hash:()=>ie,asciiToBase64:()=>ce,base64ToAscii:()=>ne,encodeBase64:()=>Se,encodeHex:()=>xe,encodeNumber:()=>N});ae(Y,Ze(we(),1));function he(r){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,r)}function O(r,e){let t=globalThis.loaders?.modules?.[r];if(!t)throw new Error(`${e}: ${r} library not installed`);return t}function Ee(...r){return Ve(r)}function Ve(r){let e=r.map(h=>h instanceof ArrayBuffer?new Uint8Array(h):h),t=e.reduce((h,l)=>h+l.byteLength,0),s=new Uint8Array(t),i=0;for(let h of e)s.set(h,i),i+=h.byteLength;return s.buffer}async function me(r){let e=[];for await(let t of r)e.push(Pe(t));return Ee(...e)}function Pe(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:e,byteOffset:t,byteLength:s}=r;return Ie(e,t,s)}return Ie(r)}function Ie(r,e=0,t=r.byteLength-e){let s=new Uint8Array(r,e,t),i=new Uint8Array(s.length);return i.set(s),i.buffer}var G=class{constructor(e={}){this.hashBatches=this.hashBatches.bind(this)}async preload(){}async*hashBatches(e,t="base64"){let s=[];for await(let l of e)s.push(l),yield l;let i=await this.concatenate(s),h=await this.hash(i,t);this.options.crypto?.onEnd?.({hash:h})}async concatenate(e){return await me(e)}};var P=class{crc;constructor(){this.crc=-1}update(e){let t=Xe(),s=new Uint8Array(e);for(let i=0;i<s.byteLength;i++)this.crc=this.crc>>>8^t[(this.crc^s[i])&255];return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},ze=Uint32Array.of(0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117);function Xe(){return ze}function ce(r){r=`${r}`;for(let t=0;t<r.length;t++)if(r.charCodeAt(t)>255)return null;let e="";for(let t=0;t<r.length;t+=3){let s=[void 0,void 0,void 0,void 0];s[0]=r.charCodeAt(t)>>2,s[1]=(r.charCodeAt(t)&3)<<4,r.length>t+1&&(s[1]|=r.charCodeAt(t+1)>>4,s[2]=(r.charCodeAt(t+1)&15)<<2),r.length>t+2&&(s[2]|=r.charCodeAt(t+2)>>6,s[3]=r.charCodeAt(t+2)&63);for(let i=0;i<s.length;i++)typeof s[i]>"u"?e+="=":e+=Ye(s[i])}return e}function ne(r){if(r=`${r}`,r=r.replace(/[ \t\n\f\r]/g,""),r.length%4===0&&(r=r.replace(/[=]=?$/,"")),r.length%4===1||/[^+/0-9A-Za-z]/.test(r))return"";let e="",t=0,s=0;for(let i=0;i<r.length;i++)t<<=6,t|=Oe(r[i]),s+=6,s===24&&(e+=String.fromCharCode((t&16711680)>>16),e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255),t=s=0);return s===12?(t>>=4,e+=String.fromCharCode(t)):s===18&&(t>>=2,e+=String.fromCharCode((t&65280)>>8),e+=String.fromCharCode(t&255)),e}var _e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Oe(r){let e=_e.indexOf(r);return e<0?void 0:e}function Ye(r){if(r<26)return String.fromCharCode(r+65);if(r<52)return String.fromCharCode(r-26+97);if(r<62)return String.fromCharCode(r-52+48);if(r===62)return"+";if(r===63)return"/"}function N(r,e){switch(e){case"hex":return Me(r);case"base64":return ve(Me(r));default:throw new Error(e)}}function xe(r,e){switch(e){case"hex":return r;case"base64":return ve(r);default:throw new Error(e)}}function Se(r,e){switch(e){case"hex":return Ke(r);case"base64":return r;default:throw new Error(e)}}function ve(r){r.length%2!==0&&(r=`0${r}`);let t=(r.match(/\w{2}/g)||[]).map(s=>String.fromCharCode(parseInt(s,16))).join("");return ce(t)||""}function Ke(r){return[...ne(r)].map(e=>e.charCodeAt(0).toString(16).padStart(2,"0")).join("")}function Me(r){let e=r.toString(16);return e==="0"?`0${e}`:e}var fe=class extends G{name="crc32";options;constructor(e={}){super(),this.options={crypto:{},...e},this.hashBatches=this.hashBatches.bind(this)}async hash(e,t){return this.hashSync(e,t)}hashSync(e,t){let s=new P;s.update(e);let i=s.finalize();return N(i,t)}async*hashBatches(e,t="base64"){let s=new P;for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:N(i,t)})}};var z=class{options;crc;constructor(e={}){this.options=e,this.crc=-1}update(e){let t=new Uint8Array(e),s=e0();for(let i=0;i<t.length;i++)this.crc=s[(this.crc^t[i])&255]^this.crc>>>8;return this}finalize(){return this.crc=(this.crc^-1)>>>0,this.crc}},$e=Int32Array.of(0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697);function e0(){return $e}var Ae=class extends G{name="crc32c";options;constructor(e={}){super(),this.options={crypto:{},...e}}async hash(e,t){return this.hashSync(e,t)}hashSync(e,t){let s=new z(this.options);s.update(e);let i=s.finalize();return N(i,t)}async*hashBatches(e,t="base64"){let s=new z(this.options);for await(let h of e)s.update(h),yield h;let i=s.finalize();this.options.crypto?.onEnd?.({hash:N(i,t)})}};var de="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ge=n0("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"),Fe=typeof WebAssembly<"u"&&Ge?Ge.buffer:!1,J=s0(),le=3840*16,Te=Math.floor(le*16*1.066666667),r0=268369920,t0="Parameter must be ArrayBuffer, ArrayBufferView or string",o0="Parameter exceeds max size of 255.9 Mbytes";function Be(r){var e,t,s,i,h,l,C,g,M,R;let H=c0(),F=a0(),T={},j=new Date().getTime();return T.then=function(B){return C=B,E(),T},T.catch=function(B){return g=B,T},l=d0(r),l||I(new TypeError(t0)),l&&(h=l.length,Fe&&h>Te?h>r0?I(new Error(o0)):(e=new WebAssembly.Memory({initial:h>32e6?h>64e6?h>128e6?4096:2048:1024:512}),t=new Uint32Array(e.buffer),i={mem:e,log:console.log},s={imports:i},WebAssembly.instantiate(Fe,s).then(p)):E(H(l))),T;function p(B){E(F(l,B.instance.exports,t))}function E(B){var L=B||M;B&&(R=new Date().getTime()),typeof C=="function"?L&&(C(L,R-j),C=g=null):B&&(M=B)}function I(B){typeof g=="function"&&g(B)}}function a0(){var r,e,t,s,i,h,l,C,g,M,R,H,F,T=function(j){var p,E,I,B,L,U,q,Z,m,V,o,a,c,n,D,W,Q,b,K,$,w,u0,h0=new Date().getTime(),je=0,x=1732584193,f=-271733879,A=-1732584194,d=271733878,y=0,_=j.length*8,ee;for(ee=Le(j,F),F[_>>>5]|=128<<_%32,F[(_+64>>>9<<4)+14]=_,ee=(_+64>>>9<<4)+15,w=F;y<ee;)ee>y+Te?(s(x),h(f),C(A),M(d),e(le),y=y+le*16,x=t(),f=i(),A=l(),d=g(),je++):(Q=x,b=f,K=A,$=d,p=w[y+0]>>>0,E=w[y+1]>>>0,I=w[y+2]>>>0,B=w[y+3]>>>0,L=w[y+4]>>>0,U=w[y+5]>>>0,q=w[y+6]>>>0,Z=w[y+7]>>>0,m=w[y+8]>>>0,V=w[y+9]>>>0,o=w[y+10]>>>0,a=w[y+11]>>>0,c=w[y+12]>>>0,n=w[y+13]>>>0,D=w[y+14]>>>0,W=w[y+15]>>>0,x=u(7,25,x+(f&A|~f&d)+p-680876936)+f,d=u(12,20,d+(x&f|~x&A)+E-389564586)+x,A=u(17,15,A+(d&x|~d&f)+I+606105819)+d,f=u(22,10,f+(A&d|~A&x)+B-1044525330)+A,x=u(7,25,x+(f&A|~f&d)+L-176418897)+f,d=u(12,20,d+(x&f|~x&A)+U+1200080426)+x,A=u(17,15,A+(d&x|~d&f)+q-1473231341)+d,f=u(22,10,f+(A&d|~A&x)+Z-45705983)+A,x=u(7,25,x+(f&A|~f&d)+m+1770035416)+f,d=u(12,20,d+(x&f|~x&A)+V-1958414417)+x,A=u(17,15,A+(d&x|~d&f)+o-42063)+d,f=u(22,10,f+(A&d|~A&x)+a-1990404162)+A,x=u(7,25,x+(f&A|~f&d)+c+1804603682)+f,d=u(12,20,d+(x&f|~x&A)+n-40341101)+x,A=u(17,15,A+(d&x|~d&f)+D-1502002290)+d,f=u(22,10,f+(A&d|~A&x)+W+1236535329)+A,x=u(5,27,x+(f&d|A&~d)+E-165796510)+f,d=u(9,23,d+(x&A|f&~A)+q-1069501632)+x,A=u(14,18,A+(d&f|x&~f)+a+643717713)+d,f=u(20,12,f+(A&x|d&~x)+p-373897302)+A,x=u(5,27,x+(f&d|A&~d)+U-701558691)+f,d=u(9,23,d+(x&A|f&~A)+o+38016083)+x,A=u(14,18,A+(d&f|x&~f)+W-660478335)+d,f=u(20,12,f+(A&x|d&~x)+L-405537848)+A,x=u(5,27,x+(f&d|A&~d)+V+568446438)+f,d=u(9,23,d+(x&A|f&~A)+D-1019803690)+x,A=u(14,18,A+(d&f|x&~f)+B-187363961)+d,f=u(20,12,f+(A&x|d&~x)+m+1163531501)+A,x=u(5,27,x+(f&d|A&~d)+n-1444681467)+f,d=u(9,23,d+(x&A|f&~A)+I-51403784)+x,A=u(14,18,A+(d&f|x&~f)+Z+1735328473)+d,f=u(20,12,f+(A&x|d&~x)+c-1926607734)+A,x=u(4,28,x+(f^A^d)+U-378558)+f,d=u(11,21,d+(x^f^A)+m-2022574463)+x,A=u(16,16,A+(d^x^f)+a+1839030562)+d,f=u(23,9,f+(A^d^x)+D-35309556)+A,x=u(4,28,x+(f^A^d)+E-1530992060)+f,d=u(11,21,d+(x^f^A)+L+1272893353)+x,A=u(16,16,A+(d^x^f)+Z-155497632)+d,f=u(23,9,f+(A^d^x)+o-1094730640)+A,x=u(4,28,x+(f^A^d)+n+681279174)+f,d=u(11,21,d+(x^f^A)+p-358537222)+x,A=u(16,16,A+(d^x^f)+B-722521979)+d,f=u(23,9,f+(A^d^x)+q+76029189)+A,x=u(4,28,x+(f^A^d)+V-640364487)+f,d=u(11,21,d+(x^f^A)+c-421815835)+x,A=u(16,16,A+(d^x^f)+W+530742520)+d,f=u(23,9,f+(A^d^x)+I-995338651)+A,x=u(6,26,x+(A^(f|~d))+p-198630844)+f,d=u(10,22,d+(f^(x|~A))+Z+1126891415)+x,A=u(15,17,A+(x^(d|~f))+D-1416354905)+d,f=u(21,11,f+(d^(A|~x))+U-57434055)+A,x=u(6,26,x+(A^(f|~d))+c+1700485571)+f,d=u(10,22,d+(f^(x|~A))+B-1894986606)+x,A=u(15,17,A+(x^(d|~f))+o-1051523)+d,f=u(21,11,f+(d^(A|~x))+E-2054922799)+A,x=u(6,26,x+(A^(f|~d))+m+1873313359)+f,d=u(10,22,d+(f^(x|~A))+W-30611744)+x,A=u(15,17,A+(x^(d|~f))+q-1560198380)+d,f=u(21,11,f+(d^(A|~x))+n+1309151649)+A,x=u(6,26,x+(A^(f|~d))+L-145523070)+f,d=u(10,22,d+(f^(x|~A))+a-1120210379)+x,A=u(15,17,A+(x^(d|~f))+I+718787259)+d,f=u(21,11,f+(d^(A|~x))+V-343485551)+A,y=y+16,x=x+Q>>>0,f=f+b>>>0,A=A+K>>>0,d=d+$>>>0);return J.endian([x,f,A,d]);function u(S,re,k){return k<<S|k>>>re}function Le(S,re){for(var k=-1,ue=Math.floor((S.length-1)/4),v=0,pe,ye,Ce,ge;ue-8>k++;)v=k<<2,re[k]=S[v+0]|S[v+1]<<8|S[v+2]<<16|S[v+3]<<24;for(k--;ue>k++;)v=k<<2,pe=typeof S[v+0]>"u"?0:S[v+0],ye=typeof S[v+1]>"u"?0:S[v+1],Ce=typeof S[v+2]>"u"?0:S[v+2],ge=typeof S[v+3]>"u"?0:S[v+3],re[k]=pe|ye<<8|Ce<<16|ge<<24;return ue+1}};return function(j,p,E,I){var B;return e=p.loops,r=p.loop,t=p.getA,i=p.getB,l=p.getC,g=p.getD,R=p.getX,s=p.setA,h=p.setB,C=p.setC,M=p.setD,H=p.setX,F=E,B=J.wordsToBytes(T(j)),I&&I.asBytes?B:J.bytesconvertNumberToHex(B)}}function c0(){var r=function(e,t){var s,i,h,l,C,g,M,R,H,F,T,j,p,E,I,B,L,U,q,Z,m,V=new Date().getTime(),o=1732584193,a=-271733879,c=-1732584194,n=271733878,D=e.length*8;m=J.bytesToWords(e);for(var W=0;W<m.length;W++)m[W]=(m[W]<<8|m[W]>>>24)&16711935|(m[W]<<24|m[W]>>>8)&4278255360;m[D>>>5]|=128<<D%32,m[(D+64>>>9<<4)+14]=D;for(var Q=0;Q<m.length;Q+=16)L=o,U=a,q=c,Z=n,s=m[Q+0]>>>0,i=m[Q+1]>>>0,h=m[Q+2]>>>0,l=m[Q+3]>>>0,C=m[Q+4]>>>0,g=m[Q+5]>>>0,M=m[Q+6]>>>0,R=m[Q+7]>>>0,H=m[Q+8]>>>0,F=m[Q+9]>>>0,T=m[Q+10]>>>0,j=m[Q+11]>>>0,p=m[Q+12]>>>0,E=m[Q+13]>>>0,I=m[Q+14]>>>0,B=m[Q+15]>>>0,o=b(7,25,o+(a&c|~a&n)+s-680876936)+a,n=b(12,20,n+(o&a|~o&c)+i-389564586)+o,c=b(17,15,c+(n&o|~n&a)+h+606105819)+n,a=b(22,10,a+(c&n|~c&o)+l-1044525330)+c,o=b(7,25,o+(a&c|~a&n)+C-176418897)+a,n=b(12,20,n+(o&a|~o&c)+g+1200080426)+o,c=b(17,15,c+(n&o|~n&a)+M-1473231341)+n,a=b(22,10,a+(c&n|~c&o)+R-45705983)+c,o=b(7,25,o+(a&c|~a&n)+H+1770035416)+a,n=b(12,20,n+(o&a|~o&c)+F-1958414417)+o,c=b(17,15,c+(n&o|~n&a)+T-42063)+n,a=b(22,10,a+(c&n|~c&o)+j-1990404162)+c,o=b(7,25,o+(a&c|~a&n)+p+1804603682)+a,n=b(12,20,n+(o&a|~o&c)+E-40341101)+o,c=b(17,15,c+(n&o|~n&a)+I-1502002290)+n,a=b(22,10,a+(c&n|~c&o)+B+1236535329)+c,o=b(5,27,o+(a&n|c&~n)+i-165796510)+a,n=b(9,23,n+(o&c|a&~c)+M-1069501632)+o,c=b(14,18,c+(n&a|o&~a)+j+643717713)+n,a=b(20,12,a+(c&o|n&~o)+s-373897302)+c,o=b(5,27,o+(a&n|c&~n)+g-701558691)+a,n=b(9,23,n+(o&c|a&~c)+T+38016083)+o,c=b(14,18,c+(n&a|o&~a)+B-660478335)+n,a=b(20,12,a+(c&o|n&~o)+C-405537848)+c,o=b(5,27,o+(a&n|c&~n)+F+568446438)+a,n=b(9,23,n+(o&c|a&~c)+I-1019803690)+o,c=b(14,18,c+(n&a|o&~a)+l-187363961)+n,a=b(20,12,a+(c&o|n&~o)+H+1163531501)+c,o=b(5,27,o+(a&n|c&~n)+E-1444681467)+a,n=b(9,23,n+(o&c|a&~c)+h-51403784)+o,c=b(14,18,c+(n&a|o&~a)+R+1735328473)+n,a=b(20,12,a+(c&o|n&~o)+p-1926607734)+c,o=b(4,28,o+(a^c^n)+g-378558)+a,n=b(11,21,n+(o^a^c)+H-2022574463)+o,c=b(16,16,c+(n^o^a)+j+1839030562)+n,a=b(23,9,a+(c^n^o)+I-35309556)+c,o=b(4,28,o+(a^c^n)+i-1530992060)+a,n=b(11,21,n+(o^a^c)+C+1272893353)+o,c=b(16,16,c+(n^o^a)+R-155497632)+n,a=b(23,9,a+(c^n^o)+T-1094730640)+c,o=b(4,28,o+(a^c^n)+E+681279174)+a,n=b(11,21,n+(o^a^c)+s-358537222)+o,c=b(16,16,c+(n^o^a)+l-722521979)+n,a=b(23,9,a+(c^n^o)+M+76029189)+c,o=b(4,28,o+(a^c^n)+F-640364487)+a,n=b(11,21,n+(o^a^c)+p-421815835)+o,c=b(16,16,c+(n^o^a)+B+530742520)+n,a=b(23,9,a+(c^n^o)+h-995338651)+c,o=b(6,26,o+(c^(a|~n))+s-198630844)+a,n=b(10,22,n+(a^(o|~c))+R+1126891415)+o,c=b(15,17,c+(o^(n|~a))+I-1416354905)+n,a=b(21,11,a+(n^(c|~o))+g-57434055)+c,o=b(6,26,o+(c^(a|~n))+p+1700485571)+a,n=b(10,22,n+(a^(o|~c))+l-1894986606)+o,c=b(15,17,c+(o^(n|~a))+T-1051523)+n,a=b(21,11,a+(n^(c|~o))+i-2054922799)+c,o=b(6,26,o+(c^(a|~n))+H+1873313359)+a,n=b(10,22,n+(a^(o|~c))+B-30611744)+o,c=b(15,17,c+(o^(n|~a))+M-1560198380)+n,a=b(21,11,a+(n^(c|~o))+E+1309151649)+c,o=b(6,26,o+(c^(a|~n))+C-145523070)+a,n=b(10,22,n+(a^(o|~c))+j-1120210379)+o,c=b(15,17,c+(o^(n|~a))+h+718787259)+n,a=b(21,11,a+(n^(c|~o))+F-343485551)+c,o=o+L>>>0,a=a+U>>>0,c=c+q>>>0,n=n+Z>>>0;return J.endian([o,a,c,n]);function b(K,$,w){return w<<K|w>>>$}};return function(e,t){var s=J.wordsToBytes(r(e,t)),i=t&&t.asBytes?s:J.bytesconvertNumberToHex(s);return i}}function n0(r){try{return x0(r)}catch{return null}}function x0(r){var e=r.replace(/-/g,"+").replace(/_/g,"/");return typeof atob=="function"?A0(atob(e)):f0(e)}function f0(r){for(var e=r.endsWith("==")?2:r.endsWith("=")?1:0,t=r.length*3/4-e,s=new Uint8Array(t),i=0,h=0,l,C,g,M;h<r.length;){if(l=de.indexOf(r.charAt(h++)),C=de.indexOf(r.charAt(h++)),g=de.indexOf(r.charAt(h++)),M=de.indexOf(r.charAt(h++)),l<0||C<0||g<0||M<0)throw new TypeError("Invalid base64 input");s[i++]=l<<2|C>>4,g<64&&i<t&&(s[i++]=(C&15)<<4|g>>2),M<64&&i<t&&(s[i++]=(g&3)<<6|M)}return s}function A0(r){for(var e=r.length,t=new Uint8Array(e),s=0;s<e;)t[s]=r.charCodeAt(s),s++;return t}function d0(r){return r instanceof Uint8Array?r:typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer?new Uint8Array(r):r&&typeof r=="object"&&ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):typeof r=="string"?new TextEncoder().encode(r):null}function s0(){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{rotl:function(e,t){return e<<t|e>>>32-t},endian:function(e){if(e.constructor===Number)return J.rotl(e,8)&16711935|J.rotl(e,24)&4278255360;for(var t=0;t<e.length;t++)e[t]=J.endian(e[t]);return e},bytesToWords:function(e){for(var t=[],s=0,i=0;s<e.length;s++,i+=8)t[i>>>5]|=e[s]<<24-i%32;return t},wordsToBytes:function(e){for(var t=[],s=0;s<e.length*32;s+=8)t.push(e[s>>>5]>>>24-s%32&255);return t},bytesconvertNumberToHex:function(e){for(var t=[],s=0;s<e.length;s++)t.push((e[s]>>>4).toString(16)),t.push((e[s]&15).toString(16));return t.join("")}}}var se=class extends G{name="md5";options;constructor(e={}){super(),this.options=e}async hash(e,t){let i=await new Promise((h,l)=>Be(e).then(h).catch(l));return xe(i,t)}};var X=class extends G{name;options;_algorithm;_algo;constructor(e){if(super(),this.options=e,he(e?.modules),this._algorithm=this.options?.crypto?.algorithm,!this._algorithm)throw new Error(this.name);this.name=this._algorithm.toLowerCase()}async preload(){let e=O("CryptoJS",this.name);this._algo=e.algo[this._algorithm]}async hash(e,t){await this.preload();let s=this._algo.create();if(!s)throw new Error(this.name);let i=O("CryptoJS",this.name),h=i.lib.WordArray.create(e),l=t==="base64"?i.enc.Base64:i.enc.Hex;return s.update(h).finalize().toString(l)}async*hashBatches(e,t="base64"){await this.preload();let s=O("CryptoJS",this.name),i=this._algo.create();if(!i)throw new Error(this.name);for await(let C of e){let g=s.lib.WordArray.create(C);i.update(g),yield C}let h=t==="base64"?s.enc.Base64:s.enc.Hex,l=i.finalize().toString(h);this.options?.crypto?.onEnd?.({hash:l})}};var ie=class extends X{constructor(e){super({...e,crypto:{...e.crypto,algorithm:"SHA256"}})}};var be=class extends G{name;options;constructor(e){if(super(),this.options=e,!globalThis.loaders.NodeHash)throw new Error("install @loaders.gl/crypto on Node.js to use NodeHash");return new globalThis.loaders.NodeHash(e)}async hash(e,t){throw new Error("Not implemented")}};var We="5.0.0-alpha.3",i0={id:"crypto",name:"CRC32, CRC32c and MD5 Hashes",module:"crypto",version:We,options:{crypto:{}}},b0={id:"cryptojs",name:"Cryptographic Hashes",module:"crypto",version:We,options:{cryptojs:{}}};return Ne(Y);})();
8
8
  return __exports__;
9
9
  });
package/dist/index.cjs CHANGED
@@ -918,7 +918,7 @@ var NodeHash = class extends Hash {
918
918
  };
919
919
 
920
920
  // dist/index.js
921
- var VERSION = true ? "5.0.0-alpha.2" : "latest";
921
+ var VERSION = true ? "5.0.0-alpha.3" : "latest";
922
922
  var CryptoWorker = {
923
923
  id: "crypto",
924
924
  name: "CRC32, CRC32c and MD5 Hashes",
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  // __VERSION__ is injected by babel-plugin-version-inline
5
5
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
- const VERSION = typeof "5.0.0-alpha.2" !== 'undefined' ? "5.0.0-alpha.2" : 'latest';
6
+ const VERSION = typeof "5.0.0-alpha.3" !== 'undefined' ? "5.0.0-alpha.3" : 'latest';
7
7
  export { Hash } from "./lib/hash.js";
8
8
  export { CRC32Hash } from "./lib/crc32-hash.js";
9
9
  export { CRC32CHash } from "./lib/crc32c-hash.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/crypto",
3
- "version": "5.0.0-alpha.2",
3
+ "version": "5.0.0-alpha.3",
4
4
  "description": "Cryptographic/hashing plugins for loaders.gl",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -52,9 +52,8 @@
52
52
  "build-worker-node": "esbuild src/workers/crypto-worker-node.ts --outfile=dist/crypto-worker-node.js --platform=node --target=esnext,node16 --bundle --minify --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
53
53
  },
54
54
  "dependencies": {
55
- "@loaders.gl/loader-utils": "5.0.0-alpha.2",
56
- "@loaders.gl/worker-utils": "5.0.0-alpha.2",
57
- "@types/crypto-js": "^4.0.2"
55
+ "@loaders.gl/loader-utils": "5.0.0-alpha.3",
56
+ "@loaders.gl/worker-utils": "5.0.0-alpha.3"
58
57
  },
59
58
  "devDependencies": {
60
59
  "crypto-js": "^3.0.0 || ^4.0.0"
@@ -66,5 +65,5 @@
66
65
  "peerDependencies": {
67
66
  "@loaders.gl/core": "~5.0.0-alpha.0"
68
67
  },
69
- "gitHead": "27bcc0db684abb66a83003263c9d1cafd9e5b2dd"
68
+ "gitHead": "6e6f532b04a2798191ee2d9a932ca73b7c7f3c8d"
70
69
  }