@arcgis/core 5.2.0-next.146 → 5.2.0-next.147

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.
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9275],{39275(t,e,n){n.d(e,{nZ:()=>x.nZ,D7:()=>x.D7,zg:()=>k.ZipReader});var r=n(50637);const o=new Uint8Array(288);o.fill(8,0,144),o.fill(9,144,256),o.fill(7,256,280),o.fill(8,280,288),new Uint8Array(30).fill(5);const a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var s=n(47254),i=n(57461),c=n(70574),u=n(42816),l=n(51492);const f={type:"module"},d="error",w="abort";let p,h,m;function g(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function y(t){const{worker:e}=t;if(e)try{e.terminate()}catch{}t.interface=null}function b(t,e,n,r,o=!0){const{createWorker:a}=n;let i,l,w;if(a)i=a();else if(void 0===h||p!==t){const a=typeof t==s.On;l=a?t(o):t;const c=l.startsWith("data:"),u=l.startsWith("blob:");if(c||u){void 0===r&&(r=!1),r&&(w=f);try{i=new Worker(l,w)}catch(o){if(u)try{URL.revokeObjectURL(l)}catch{}if(a&&u)return b(t,e,n,r,!1);if(r)throw o;return b(t,e,n,!0,!1)}}else{void 0===r&&(r=!0),r&&(w=f);try{l=new URL(l,e)}catch{}try{i=new Worker(l,w)}catch(a){if(r)return b(t,e,n,!1,o);throw a}}p=t,h=l,m=w}else i=new Worker(h,m);return i.addEventListener(u.AJ,t=>{n.workerAlive=!0,S(n),async function({data:t},e){const{type:n,value:r,messageId:o,result:a,error:s,errorValue:i}=t,{reader:u,writer:l,resolveResult:f,rejectResult:d,onTaskFinished:w,generation:p}=e,h=()=>e.generation!=p;try{if(s)m(function(t,e){const{message:n,stack:r,code:o,name:a,outputSize:s,cause:i,codecImportFailed:u}=t;let l;if(l=e?e.value:Object.assign(new Error(n),{stack:r,code:o,name:a}),(0,c.K)(l))try{void 0!==s&&(l.outputSize=s),u&&(l.codecImportFailed=!0),i&&((0,c.K)(l.cause)||(l.cause=Object.assign(new Error(i.message),{name:i.name})),void 0!==i.code&&l.cause.code!==i.code&&(l.cause.code=i.code)),e&&(l.name!==a&&(l.name=a),l.code!==o&&(l.code=o))}catch{}return l}(s,i));else{if("pull"==n){const{value:t,done:n}=await u.read();h()||z({type:"data",value:t,done:n,messageId:o},e)}if("data"==n){const t=new Uint8Array(r);await l.ready,await l.write(t),h()||z({type:"ack",messageId:o},e)}"close"==n&&function(t){h()||(f(t),g(),w())}(a)}}catch(s){h()||(y(e),m(s))}function m(t){h()||(d(t),g(),(0,c.K)(t)&&t.codecImportFailed||w())}function g(){l&&l.releaseLock()}}(t,n)}),i.addEventListener(d,t=>v(t,n)),i.addEventListener("messageerror",t=>v(t,n)),i}function S(t){const{startupTimeout:e}=t;e&&(clearTimeout(e),t.startupTimeout=null)}function v(t,e){t.preventDefault&&t.preventDefault(),S(e);const{workerAlive:n,rejectResult:r,writer:o,onTaskFinished:a}=e;y(e),n||(e.worker=null);let s=t.error||new Error(t.message||d);n||(s=Object.assign(new Error(s.message||d),{workerStartupFailed:!0}),e.startupError=s),r&&(r(s),o&&o.releaseLock(),n&&a())}function z(t,{worker:e,writer:n}){try{const{value:n}=t;if(n){t.value=(0,i.ok)(n);try{e.postMessage(t,[t.value.buffer])}catch{e.postMessage(t)}}else e.postMessage(t)}catch(t){throw n&&n.releaseLock(),t}}(0,l.pR)(function(t,e){const{baseURI:n,chunkSize:r,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.interface){let i;typeof a==s.On&&(a=a());try{i=b(t.workerURI,n,t)}catch{return(0,l.BS)(t),(0,l.C9)(t,e)}Object.assign(t,{worker:i,workerAlive:!1,terminated:!1,startupError:null,interface:{run:async()=>{try{return await async function(t,e){if(!t.worker){const{startupError:e}=t;t.startupError=null;const n=e||new Error(l.hU);throw n.workerStartupFailed=!0,n}let n,r;const o=new Promise((e,o)=>{n=e,r=e=>{const{outputSize:n,workerOptions:r}=t;if(r.outputSize=n,(0,c.K)(e))try{e.outputSize=n}catch{}o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,destinationFailed:!1,destinationError:null,resolveResult:n,rejectResult:r,result:o});const{readable:a,options:s}=t,{writable:i,closed:u,abortPipe:f}=function(t,e){const n=new AbortController;let r;const{writable:o,readable:a}=new TransformStream({transform(t,n){e.outputSize+=t.length,n.enqueue(t)}}),s=a.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:n.signal});s.catch(t=>{r||Object.assign(e,{destinationFailed:!0,destinationError:t})});const{signal:i}=e.workerOptions.streamOptions;if(i){const t=()=>n.abort(i.reason),e=()=>i.removeEventListener(w,t);i.addEventListener(w,t),s.then(e,e)}return{writable:o,closed:s,abortPipe:()=>{r=!0,n.abort()}}}(t.writable,t);try{z({type:"start",options:s,config:e},t)}catch(e){f();try{await u}catch{}throw t.onTaskFinished(),e}Object.assign(t,{reader:a.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;!t.workerAlive&&Number.isFinite(d)&&d>=0&&(t.startupTimeout=setTimeout(()=>function(t){if(t.startupTimeout=null,t.workerAlive)return;const{rejectResult:e,writer:n}=t;if(y(t),t.worker=null,e){const t=new Error(l.hU);t.workerStartupFailed=!0,e(t),n&&n.releaseLock()}}(t),d));try{const t=await o;return await p(),await u,t}catch(e){await p(),f();try{await u}catch{}const{outputSize:n,workerOptions:r,destinationFailed:o,destinationError:a}=t;r.outputSize=n;const s=(0,c.K)(e)&&(e.codecImportFailed||e.workerStartupFailed),i=o&&!s?a:e;if((0,c.K)(i))try{i.outputSize=n}catch{}throw i}async function p(){if(!i.locked)try{await i.getWriter().close()}catch{}}}(t,{chunkSize:r,wasmURI:a,baseURI:n,workerStartupTimeout:o})}catch(n){if(n&&n.workerStartupFailed)return(0,l.BS)(t),g(t),(0,l.WY)(t,e);if(n&&n.codecImportFailed){if(t.reader)return g(t),(0,l.WY)(t,e);t.onTaskFinished()}throw n}}}})}return t.interface});var k=n(96594),x=(n(39513),n(33176),n(92539));n(13074),n(23279),n(44668),n(36113),n(58001),BigInt(0),BigInt("0x7fffffffffffffff"),new Uint8Array([7,0,2,0,65,69,3,0,0]),s.kZ,n(8229);try{(0,r.ap)({baseURI:"file:///__w/webgis-sdk/webgis-sdk/node_modules/.pnpm/@zip.js+zip.js@2.23.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js"})}catch{}const U=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],A=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],R=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],C=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],O=new Uint8Array(288);O.fill(8,0,144),O.fill(9,144,256),O.fill(7,256,280),O.fill(8,280,288);const E=new Uint8Array(30).fill(5);function L(t){const e=new Uint16Array(16);for(const n of t)e[n]++;e[0]=0;const n=new Uint16Array(17);for(let t=1;t<=15;t++)n[t+1]=n[t]+e[t];const r=new Uint16Array(t.length);for(let e=0;e<t.length;e++)t[e]&&(r[n[t[e]]++]=e);return{lengthCounts:e,symbols:r}}const I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var B=n(85843);const M="deflate",P="deflate-raw",W="deflate64-raw",F="gzip",H=[M,P,F],j=[M,P,F,W];let T,N,Z,V,q;function X(t,e){return-4===e&&(t.code="Z_MEM_ERROR"),t}function Y(t,e,n={}){if(!(t?H:j).includes(e))throw new TypeError("Unsupported format: "+e);if(!T){const t=new Error("WASM module not loaded");throw t.cause=q,t}const r="number"==typeof n.level?n.level:-1,o="number"==typeof n.outBuffer?n.outBuffer:65536,a="number"==typeof n.inBufferSize?n.inBufferSize:65536,s={out:0,in:0,inBufferSize:0,streamHandle:0,streamEnded:!1};let i,c,u,l,f=!0,d=!1;return function(){try{let n;if(s.out=N(o),s.in=N(a),s.inBufferSize=a,!s.out||!s.in)throw X(new Error("allocation failed"),-4);if(t?(s._process=T.deflate_process,s._last_consumed=T.deflate_last_consumed,s._end=T.deflate_end,s.streamHandle=T.deflate_new(),n=e===F?T.deflate_init_gzip(s.streamHandle,r):e===P?T.deflate_init_raw(s.streamHandle,r):T.deflate_init(s.streamHandle,r)):e===W?(s._process=T.inflate9_process,s._last_consumed=T.inflate9_last_consumed,s._end=T.inflate9_end,s.streamHandle=T.inflate9_new(),n=T.inflate9_init_raw(s.streamHandle)):(s._process=T.inflate_process,s._last_consumed=T.inflate_last_consumed,s._end=T.inflate_end,s.streamHandle=T.inflate_new(),n=e===P?T.inflate_init_raw(s.streamHandle):e===F?T.inflate_init_gzip(s.streamHandle):T.inflate_init(s.streamHandle)),0!==n)throw X(new Error("init failed:"+n),n)}catch(t){throw h(s),t}}(),{readable:new ReadableStream({start(t){i=t},pull(){f=!1,p()},cancel(t){d=!0,l=t,h(s),c.error(t),p()}},{highWaterMark:0}),writable:new WritableStream({start(t){c=t},async write(t){if(f&&await new Promise(t=>u=t),d)throw l;try{!function(t){const e=new Uint8Array(V.buffer),n=s._process,r=s._last_consumed,a=s.out;let i=0;for(;i<t.length;){if(s.streamEnded)throw new Error("trailing data after the end of the stream");const c=Math.min(t.length-i,32768);if((!s.in||s.inBufferSize<c)&&(s.in&&Z&&(Z(s.in),s.in=0),s.in=N(c),s.inBufferSize=c,!s.in))throw X(new Error("allocation failed"),-4);e.set(t.subarray(i,i+c),s.in);const u=n(s.streamHandle,s.in,c,a,o,0),l=u>>24&255,f=128&l?l-256:l;if(f<0)throw X(new Error("process error:"+f),f);const d=16777215&u;d&&w(e.slice(a,a+d));const p=r(s.streamHandle);if(1===l)s.streamEnded=!0;else if(0===p&&0===d)break;i+=p}}(t)}catch(t){throw h(s),i.error(t),t}},close(){if(d)return;try{!function(){const t=new Uint8Array(V.buffer),e=s._process,n=s.out;for(;;){const r=e(s.streamHandle,0,0,n,o,4),a=r>>24&255,i=128&a?a-256:a;if(i<0)throw X(new Error("process error:"+i),i);const c=16777215&r;if(c&&w(t.slice(n,n+c)),1===a||0===c)break}}()}catch(t){throw h(s),i.error(t),t}const t=h(s);if(0!==t){const e=X(new Error("end error:"+t),t);throw i.error(e),e}i.close()},abort(t){h(s),i.error(t)}},{highWaterMark:1})};function w(t){f=!0,i.enqueue(t)}function p(){if(u){const t=u;u=null,t()}}function h(t){let e=0;return t.streamHandle&&t._end&&(e=t._end(t.streamHandle)),t.streamHandle=0,t.in&&Z&&Z(t.in),t.in=0,t.out&&Z&&Z(t.out),t.out=0,e}}class K{constructor(t=M,e){return Y(!0,t,e)}}class G{constructor(t=M,e){return Y(!1,t,e)}}K.requiresModule=!0,G.requiresModule=!0,K.supportedFormats=H,G.supportedFormats=j;var J=n(47276);const Q=65536;let _,$;function tt(t){return new Uint8Array(t.memory.buffer)}let et,nt=!1;(0,B.w1)(function(t,e){const n=_;let r=n?function(t,e,n){$||($=t.malloc(Q));const r=$?t.aes_hmac_new():0;if(r){const o=tt(t);if(o.set(e,$),o.set(n,$+e.length),t.aes_hmac_init(r,$,e.length,$+e.length,n.length))return t.aes_hmac_end(r,0),0}return r}(n,t,e):0;if(!r)return(0,J.P)(t,e);const o=$;return{process(t,e){for(let a=0;a<t.length;a+=Q){const s=t.subarray(a,a+Q),i=tt(n);i.set(s,o),n.aes_hmac_process(r,o,s.length,e?1:0),s.set(i.subarray(o,o+s.length))}},digest:()=>(n.aes_hmac_end(r,o),r=0,tt(n).slice(o,o+20)),dispose(){r&&(n.aes_hmac_end(r,0),r=0)}}}),(0,l.zx)({initModule:t=>{if(!et){let{wasmURI:e}=t;typeof e==s.On&&(e=e()),et=async function(t,{baseURI:e}){if(!nt)try{await async function(t,e){let n,r;try{try{r=new URL(t,e)}catch{}const o=await fetch(r);n=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;n=function(t){const e=t.split(",")[1],n=atob(e),r=n.length,o=new Uint8Array(r);for(let t=0;t<r;++t)o[t]=n.charCodeAt(t);return o.buffer}(t)}const o=await WebAssembly.instantiate(n);var a;(function(t){if(T=t,({malloc:N,free:Z,memory:V}=T),"function"!=typeof N||"function"!=typeof Z||!V)throw T=N=Z=V=null,new Error("Invalid WASM module")})(o.instance.exports),typeof(a=o.instance.exports).aes_hmac_new==s.On&&(_=a,$=0)}(t,e),nt=!0}catch(t){throw function(t){q=t}(t),t}}(e,t).catch(t=>{throw et=null,t})}return et}}),(0,r.ap)({CompressionStreamFallback:K,DecompressionStreamFallback:G}),function(t){let e;t({wasmURI:()=>(e||(e="data:application/wasm;base64,"+function(t){let e="";const n=t.length;let r=0;for(;r+2<n;r+=3){const n=t[r]<<16|t[r+1]<<8|t[r+2];e+=I[n>>18&63]+I[n>>12&63]+I[n>>6&63]+I[63&n]}const o=n-r;if(1===o){const n=t[r]<<16;e+=I[n>>18&63]+I[n>>12&63]+"=="}else if(2===o){const n=t[r]<<16|t[r+1]<<8;e+=I[n>>18&63]+I[n>>12&63]+I[n>>6&63]+"="}return e}(function(t){let e=0,n=0,r=0,o=new Uint8Array(1024),a=0,s=0;for(;!s;){s=c(1);const t=c(2);if(0==t)u();else if(1==t)l(L(O),L(E));else{if(2!=t)throw new Error("invalid deflate block type");l(...f())}}return o.subarray(0,a);function i(){if(e>=t.length)throw new Error("unexpected end of deflate data");return t[e++]}function c(t){for(;r<t;)n|=i()<<r,r+=8;const e=n&(1<<t)-1;return n>>>=t,r-=t,e}function u(){n=0,r=0;const t=i()|i()<<8;e+=2,w(a+t);for(let e=0;e<t;e++)o[a++]=i()}function l(t,e){let n=d(t);for(;256!=n;){if(n<256)w(a+1),o[a++]=n;else{const t=n-257,r=U[t]+c(A[t]),s=d(e),i=R[s]+c(C[s]);w(a+r);const u=a-i;for(let t=0;t<r;t++)o[a++]=o[u+t]}n=d(t)}}function f(){const t=c(5)+257,e=c(5)+1,n=c(4)+4,r=new Uint8Array(19);for(let t=0;t<n;t++)r[D[t]]=c(3);const o=L(r),a=new Uint8Array(t+e);let s=0;for(;s<a.length;){const t=d(o);if(t<16)a[s++]=t;else if(16==t){const t=a[s-1];let e=c(2)+3;for(;e--;)a[s++]=t}else s+=17==t?c(3)+3:c(7)+11}return[L(a.subarray(0,t)),L(a.subarray(t))]}function d(t){const{lengthCounts:e,symbols:n}=t;let r=0,o=0,a=0;for(let t=1;t<=15;t++){r|=c(1);const s=e[t];if(r-o<s)return n[a+(r-o)];a+=s,o=o+s<<1,r<<=1}throw new Error("invalid huffman code")}function w(t){if(o.length<t){let e=2*o.length;for(;e<t;)e*=2;const n=new Uint8Array(e);n.set(o.subarray(0,a)),o=n}}}(function(t){const e=(t=String(t).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<e;r+=4){const e=I.indexOf(t[r])<<18|I.indexOf(t[r+1])<<12|(63&I.indexOf(t[r+2]))<<6|63&I.indexOf(t[r+3]);n.push(e>>16&255),"="!==t[r+2]&&n.push(e>>8&255),"="!==t[r+3]&&n.push(255&e)}return new Uint8Array(n)}("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")))),e)})}(r.ap);new Set(["throw","keep-first","keep-last"]),new Uint8Array(0),new Set([k.mM,k.nD,k.Hj]),(t=>{t({workerURI:t=>{const e="text/javascript";let n='!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&&gt(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){return Boolean(t)&&"object"==typeof t}const Ft=new f;function Ut(t){return Ft.get(t)}const Bt="Invalid uncompressed size",Wt="Codec out of memory",Ot="Invalid CRC32",Vt="deflate-raw",Kt="gzip",Tt=[31,139,8];class _t extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Ut(l),b=qt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Jt(g,y)),r)if(v)g=Qt(g,Nt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new jt,g=Qt(g,new b(Kt,{level:f,chunkSize:n})),g=Jt(g,S);else try{g=Gt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw nn(t);let n;try{n=new o(Kt)}catch{throw nn(t)}g=Qt(g,n),g=Jt(g,new jt)}c&&(a?g=Jt(g,new Ct(t)):(m=new ht(t),g=Jt(g,m))),Zt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class jt extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Ht extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Jt(C,new zt(t)):(k=new pt(t),C=Jt(C,k))),l){const t=new Set,s=h&&Ut(h);let a;if(s)C=Qt(C,Nt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=qt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Kt,{chunkSize:n})}catch{a=v}if(!a)try{C=Gt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw nn(t);try{a=new o(Kt)}catch{throw nn(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(Tt),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await $t(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Xt(a,t),await Yt(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Bt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await Yt(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw on(t,Ot);if(d!=e)throw on(t,Bt);return{done:!0}}throw tn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await Yt(e,t),tn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Jt(C,b)),Zt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Ot)}})}}const Lt=new f;function Zt(t,e,o){e=Jt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function Nt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function qt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Gt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Vt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Qt(t,i,c)}function Jt(t,n){return function(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}(t).pipeThrough(n)}function Qt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await $t(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Xt(o,t),await Yt(r,t)}}(),n.readable}async function Xt(t,n){try{await t.abort(n)}catch{}}async function Yt(t,n){try{await t.cancel(n)}catch{}}function $t(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function tn(t,n){return n.has(t)?t:on(t,en(t)?Wt:"Invalid compressed data")}function nn(t){return en(t)?on(t,Wt):t}function en(t){return Dt(t)&&"Z_MEM_ERROR"==t.code}function on(t,n){const e=new r(n);return e.cause=t,e}const rn="data",cn="deflate";class sn extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(cn)?s=_t:c.startsWith("inflate")&&(s=Ht),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Bt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class an extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=262144),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let fn=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(fn=navigator.hardwareConcurrency)}catch{}const un=new f,wn=new f,ln=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let dn=0;async function pn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ft.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ft.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Dt(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Lt.get(t);e||(e=new f,Lt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(cn)?i.CompressionStream:i.DecompressionStream,Vt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=new y({async pull(t){const n=new w(t=>un.set(dn,t));hn({type:"pull",messageId:dn}),dn=(dn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=new m({async write(t){let n;const o=new w(t=>n=t);wn.set(dn,n),hn({type:rn,value:t,messageId:dn}),dn=(dn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new sn(a,i),c=new an(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):262144;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;hn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Dt(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}yn(t,n)}}function hn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function yn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Dt(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Dt(i)&&(u.cause={name:i.name,message:i.message,code:i.code}),f&&(u.codecImportFailed=!0),ln)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&pn(t),n==rn){const t=un.get(e);un.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=wn.get(e);wn.delete(e),t()}}catch(t){yn(t)}}),p({type:"ready"});const mn="deflate",Sn="deflate-raw",gn="deflate64-raw",vn="gzip",bn=[mn,Sn,vn],kn=[mn,Sn,vn,gn];let zn,Cn,In,Mn,An;function En(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function Rn(t,n,e={}){if(!(t?bn:kn).includes(n))throw new TypeError("Unsupported format: "+n);if(!zn){const t=new r("WASM module not loaded");throw t.cause=An,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=Cn(a),f.in=Cn(i),f.inBufferSize=i,!f.M||!f.in)throw En(new r("allocation failed"),-4);if(t?(f.P=zn.deflate_process,f.D=zn.deflate_last_consumed,f.F=zn.deflate_end,f.A=zn.deflate_new(),e=n===vn?zn.deflate_init_gzip(f.A,s):n===Sn?zn.deflate_init_raw(f.A,s):zn.deflate_init(f.A,s)):n===gn?(f.P=zn.inflate9_process,f.D=zn.inflate9_last_consumed,f.F=zn.inflate9_end,f.A=zn.inflate9_new(),e=zn.inflate9_init_raw(f.A)):(f.P=zn.inflate_process,f.D=zn.inflate_last_consumed,f.F=zn.inflate_end,f.A=zn.inflate_new(),e=n===Sn?zn.inflate_init_raw(f.A):n===vn?zn.inflate_init_gzip(f.A):zn.inflate_init(f.A)),0!==e)throw En(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(Mn.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&In&&(In(f.in),f.in=0),f.in=Cn(c),f.inBufferSize=c,!f.in))throw En(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw En(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(Mn.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw En(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=En(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&In&&In(t.in),t.in=0,t.M&&In&&In(t.M),t.M=0,n}}class xn{constructor(t=mn,n){return Rn(!0,t,n)}}class Pn{constructor(t=mn,n){return Rn(!1,t,n)}}xn.requiresModule=!0,Pn.requiresModule=!0,xn.supportedFormats=bn,Pn.supportedFormats=kn;const Dn=65536;let Fn,Un;function Bn(t){return new c(t.memory.buffer)}let Wn=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:xn,DecompressionStreamFallback:Pn,U:function(t,n){const e=Fn;let o=e?function(t,n,e){Un||(Un=t.malloc(Dn));const o=Un?t.aes_hmac_new():0;if(o){const r=Bn(t);if(r.set(n,Un),r.set(e,Un+n.length),t.aes_hmac_init(o,Un,n.length,Un+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Un;return{process(t,n){for(let c=0;c<t.length;c+=Dn){const s=t.subarray(c,c+Dn),a=Bn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Bn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!Wn)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(zn=t,({malloc:Cn,free:In,memory:Mn}=zn),"function"!=typeof Cn||"function"!=typeof In||!Mn)throw zn=Cn=In=Mn=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Fn=a,Un=0)}(t,n),Wn=!0}catch(t){throw function(t){An=t}(t),t}}(t.wasmURI,t)})});\n';if("string"==typeof n&&(n=(new TextEncoder).encode(n)),t){const t=new Blob([n],{type:e});return URL.createObjectURL(t)}return"data:"+e+";base64,"+function(t){let e="";const n=t.length;let r=0;for(;r+2<n;r+=3){const n=t[r]<<16|t[r+1]<<8|t[r+2];e+=a[n>>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]}const o=n-r;if(1===o){const n=t[r]<<16;e+=a[n>>18&63]+a[n>>12&63]+"=="}else if(2===o){const n=t[r]<<16|t[r+1]<<8;e+=a[n>>18&63]+a[n>>12&63]+a[n>>6&63]+"="}return e}(n)}})})(r.ap)},33176(t,e,n){n.d(e,{Hj:()=>r.Hj,Re:()=>r.Re,WY:()=>f,XJ:()=>r.XJ,mM:()=>r.mM,mV:()=>r.mV,nD:()=>r.nD,wP:()=>r.wP}),n(47254);var r=n(42816),o=n(39513),a=n(51492);let s=[];const i=[];let c,u,l=0;async function f(t,e){const{options:n,config:r}=e,{useWebWorkers:c,useCompressionStream:f,compressed:p,checkCrc32:y,computeCrc32:b,encrypted:S,format:v,codecURI:z}=n,{workerURI:k,createWorker:x,maxWorkers:U}=r;v&&(z&&(n.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(z,r.baseURI)),await(0,o.wH)(v,n.codecURI));const A=!(p||y||b||S),R=void 0===v||Boolean(n.codecURI);return e.useWebWorkers=!A&&R&&(c||void 0===c&&r.useWebWorkers),e.workerURI=e.useWebWorkers&&k?k:void 0,e.createWorker=e.useWebWorkers&&x?x:void 0,n.useCompressionStream=f||void 0===f&&r.useCompressionStream,(await async function(){const n=s.find(t=>!t.busy);if(n)return g(n),new a.r2(n,t,e,C);if(s.length<U){const n={indexWorker:l};return l++,s.push(n),new a.r2(n,t,e,C)}return new Promise(n=>{i.push({resolve:n,stream:t,workerOptions:e}),u=r.workerStarvationTimeout,d()})}()).run();function C(t){if(w(),t.terminated)return t.terminated=!1,function(){const t=i.splice(0).map(({resolve:t,stream:e,workerOptions:n})=>new Promise(r=>{t(new a.r2({},e,h(n),()=>{m(),r()}))}));return w(),Promise.all(t)}();if(i.length){const[{resolve:e,stream:n,workerOptions:r}]=i.splice(0,1);e(new a.r2(t,n,r,C)),d()}else t.worker?(g(t),function(t,e){const{config:n}=e,{terminateWorkerTimeout:r}=n;Number.isFinite(r)&&r>=0&&(t.terminateTimeout=setTimeout(async()=>{s=s.filter(e=>e!=t);try{await t.terminate()}catch{}},r))}(t,e)):s=s.filter(e=>e!=t)}}function d(){!c&&i.length&&Number.isFinite(u)&&u>=0&&(c=setTimeout(p,u))}function w(){c&&(clearTimeout(c),c=null)}function p(){if(c=null,i.length){const[{resolve:t,stream:e,workerOptions:n}]=i.splice(0,1);t(new a.r2({},e,h(n),m)),d()}}function h(t){return Object.assign({},t,{useWebWorkers:!1,workerURI:void 0,createWorker:void 0})}function m(){w(),d()}function g(t){const{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}},39513(t,e,n){n.d(e,{$_:()=>s,wH:()=>c,yE:()=>i});var r=n(47254);const o=new Map,a=new Map;function s(t){return o.get(t)}function i(t){return a.get(t)}async function c(t,e){!a.has(t)&&e&&function(t,e){const{CompressionStream:n,DecompressionStream:o}=e;if(typeof n!=r.On&&typeof o!=r.On)throw new Error("Invalid codec module");a.set(t,{CompressionStream:n,DecompressionStream:o})}(t,await(import(e)))}n.d(e,["Ns",0,"Compression method not supported"])},51492(t,e,n){n.d(e,{BS:()=>h,C9:()=>b,O_:()=>w,WY:()=>S,_v:()=>g,pR:()=>d,r2:()=>m,th:()=>y,zx:()=>f});var r=n(47254),o=n(50637),a=n(70574),s=n(42816);let i,c,u,l=()=>{};function f({initModule:t}){l=t}function d(t){u=t}async function w(t){const{CompressionStream:e,CompressionStreamFallback:n}=t;return!(!n||n.requiresModule)||!(!(0,s.St)(e)&&!(0,s.Ri)(e))||!!n&&await p(t)}async function p(t){if(l)try{return await l(t),!0}catch{}return!1}function h(t){t.createWorker?c=!0:i=!1}class m{constructor(t,{readable:e,writable:n},a,l){const{options:f,config:d,streamOptions:w,useWebWorkers:p,workerURI:h}=a;let{createWorker:m}=a;const{signal:y}=w;return c&&(m=void 0),Object.assign(t,{busy:!0,generation:(t.generation||0)+1,readable:e.pipeThrough(new s.Qo((0,o.L3)(d))).pipeThrough(new g(w),{signal:y}),writable:n,options:Object.assign({},f),workerOptions:a,workerURI:h,createWorker:m,terminate:()=>new Promise(e=>{const{worker:n,busy:r}=t;r?(t.terminateResolvers=t.terminateResolvers||[],t.terminateResolvers.push(e)):(n&&(n.terminate(),t.worker=null),e()),t.interface=null}),onTaskFinished(){if(t.busy){const{terminateResolvers:e,worker:n}=t;e&&(t.terminateResolvers=null,n&&(t.terminated=!0,n.terminate())),t.busy=!1;const r=l(t);e&&e.forEach(t=>t(r))}}}),void 0===i&&(i=typeof Worker!=r.AV),(p&&u&&(i&&h||m)?u:b)(t,d)}}class g extends TransformStream{constructor({onstart:t,onprogress:e,size:n,onend:r}){let o=0;super({async start(){t&&await y(t,n)},async transform(t,r){o+=t.length,e&&await y(e,o,n),r.enqueue(t)},async flush(){r&&await y(r,o)}})}}async function y(t,...e){try{await t(...e)}catch{}}function b(t,e){return{run:()=>S(t,e)}}async function S({options:t,readable:e,writable:n,onTaskFinished:r,workerOptions:i},c){let u,l,f;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(s.XJ),n=e?c.CompressionStreamFallback:c.DecompressionStreamFallback,r=e?c.CompressionStream:c.DecompressionStream;t.useCompressionStream?n&&n.requiresModule&&!(0,s.St)(r)&&await d():await d()||n&&!n.requiresModule||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await d(),u=new s.z5(t,c),l=new s.Qo((0,o.L3)(c));const{signal:r}=i.streamOptions;await e.pipeThrough(u).pipeThrough(l).pipeTo(n,{preventClose:!0,preventAbort:!0,signal:r});const{crc32:a,inputSize:f,outputSize:w}=u;return{crc32:a,inputSize:f,outputSize:w}}catch(t){if(u){const e=l?l.outputSize:0;if(i.outputSize=e,(0,a.K)(t))try{t.outputSize=e}catch{}}throw t}finally{r()}function d(){return f||(f=p(c)),f}}n.d(e,["hU",0,"Worker startup timeout"])},50637(t,e,n){n.d(e,{D0:()=>h,I1:()=>g,L3:()=>m,ap:()=>b});var r=n(47254),o=n(58001);const a=262144;let s=2;try{typeof navigator!=r.AV&&navigator.hardwareConcurrency&&(s=navigator.hardwareConcurrency)}catch{}const i={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:a,maxWorkers:s,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof CompressionStream!=r.AV&&CompressionStream,DecompressionStream:typeof DecompressionStream!=r.AV&&DecompressionStream},c="maxWorkers",u="baseURI",l=["wasmURI","workerURI"],f=["chunkSize",c,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],d=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],w=[u,...l,"useCompressionStream","useWebWorkers",...f,...d],p={...i};function h(){return p}function m(t){return g(t.chunkSize)}function g(t){return t=(0,o.Ro)(t),Number.isInteger(t)&&t>=1?Math.max(t,64):a}function y(t,e){if(f.includes(t)){if(e=(0,o.Ro)(e),t==c&&(!Number.isInteger(e)||e<1))throw new Error("Invalid maxWorkers (must be an integer greater than 0)")}else if(d.includes(t))(0,o.oe)(e);else if(t==u){if(e&&"string"!=typeof e)throw new Error("Invalid baseURI (must be a string)")}else if(l.includes(t)&&e&&"string"!=typeof e&&typeof e!=r.On)throw new Error("Invalid URI (must be a string or a function returning a string)");return e}function b(t){const e=function(t){const e={};for(const n of w){const r=t[n];void 0!==r&&(e[n]=y(n,r))}return e}(function(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:n}=t;if(void 0===e&&void 0===n)return t;const r=Object.assign({},t);return void 0===r.CompressionStreamFallback&&(r.CompressionStreamFallback=e),void 0===r.DecompressionStreamFallback&&(r.DecompressionStreamFallback=n),r}(t));Object.assign(i,e),Object.assign(p,e)}},47254(t,e,n){const r=134695760,o=r,a=new Date(2107,11,31,23,59,58),s=new Date(1980,0,1),i=new Uint8Array,c=Symbol.asyncDispose||Symbol();n.d(e,["AN",0,s,"AV",0,"undefined","Ae",0,a,"D6",0,i,"G4",0,134630224,"GC",0,"boolean","Gi",0,o,"Gq",0,67324752,"OL",0,117853008,"On",0,"function","SU",0,"Zip64 extra field not found","Tm",0,101075792,"X",0,1/0,"ZP",0,r,"ac",0,4294967295,"cC",0,33639248,"dJ",0,"Overlapping entry found","dh",0,808471376,"fB",0,101010256,"im",0,"Local file header not found","kZ",0,c,"nc",0,84233040])},92539(t,e,n){n.d(e,{$i:()=>J,D3:()=>at,D7:()=>A,M3:()=>z,TX:()=>R,Ul:()=>ot,ZD:()=>nt,b9:()=>$,kh:()=>et,mP:()=>b,nZ:()=>U,pp:()=>G,qG:()=>v,rd:()=>D,sW:()=>K,xY:()=>C,xm:()=>tt});var r=n(47254),o=n(50637),a=n(57461),s=n(44668),i=n(94210);const c="HTTP error ",u="HTTP Range not supported",l="HTTP resource changed",f="Content-Range",d="Range",w="GET",p="bytes",h=16777216,m="writable",g=Symbol();class y{constructor(){this.size=0}init(){this.initialized=!0}}class b extends y{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:n=(0,o.L3)((0,o.D0)())}={}){const r=this;let a=0;return n=(0,o.I1)(n),new ReadableStream({async pull(o){const s=void 0===e?n:Math.min(n,e-a),i=await ot(r,t+a,s);i.length&&(o.enqueue(i),a+=i.length),(void 0!==e&&a>=e||!i.length&&s)&&o.close()}})}}class S extends y{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error("Writer not initialized");return t.writeUint8Array((0,a.ok)(e))}});Object.defineProperty(t,m,{get:()=>e})}writeUint8Array(){}}class v extends b{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const n=t.indexOf(",")+1;Object.assign(this,{dataURI:t,dataStart:n,size:Math.floor(.75*(e-n))})}readUint8Array(t,e){const{dataStart:n,dataURI:r}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),s=atob(r.substring(a+n,4*Math.ceil((t+e)/3)+n)),i=t-3*Math.floor(a/4);let c=0;for(let t=i;t<i+e&&t<s.length;t++)o[t-i]=s.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class z extends S{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",pendingCharacters:""})}writeUint8Array(t){const e=this;let n,r=e.pendingCharacters;const o=e.pendingCharacters.length;for(e.pendingCharacters="",n=0;n<3*Math.floor((o+t.length)/3)-o;n++)r+=String.fromCharCode(t[n]);for(;n<t.length;n++)e.pendingCharacters+=String.fromCharCode(t[n]);r.length>2?e.data+=btoa(r):e.pendingCharacters=r+e.pendingCharacters}getData(){return this.data+btoa(this.pendingCharacters)}}let k,x;class U extends b{constructor(t){super(),Object.assign(this,{sourceBlob:t,size:t.size}),x||(x=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,n=await t.read();for(;!n.done;)e+=n.value.length,n=await t.read();k=1==e}catch{k=!1}})())}createReadable(t){const{sourceBlob:e,size:n}=this,{offset:o=0,size:a=n-o}=t||{};if(typeof e.stream==r.On){if(!o&&a>=n)return(0,s.QK)(e.stream());if(k)return(0,s.QK)(e.slice(o,o+a).stream())}return super.createReadable(t)}async readUint8Array(t,e){const n=this,r=t+e,o=!t&&r>=n.size?n.sourceBlob:n.sourceBlob.slice(t,r);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,r)),new Uint8Array(a)}}class A extends y{constructor(t){super();const e=this,n=new TransformStream;Object.defineProperty(e,m,{get:()=>n.writable}),e.contentType=t,e.blobPromise=(0,s.x1)(n.readable,t),e.blobPromise.catch(()=>{})}getData(){return this.blobPromise}}class R extends U{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function C(t){let e=0;for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);r<128?e+=1:r<2048?e+=2:r<55296||r>=57344?e+=3:r<56320&&56320==(64512&t.charCodeAt(n+1))?(e+=4,n++):e+=3}return e}class D extends A{constructor(t){super(),Object.assign(this,{encoding:t,utf8:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,utf8:e}=this,n=await super.getData();return n.text&&e?n.text():(0,i.ht)(new Uint8Array(await n.arrayBuffer()),t)}}class O extends b{constructor(t,e){super(),L(this,t,e)}async init(){await I(this,X,N),super.init()}createReadable(t){const e=this,{useRangeHeader:n,forceRangeRequests:r,size:o,eocdCache:a}=e;if((n||r)&&void 0!==o){const{offset:n=0,size:r=o-n}=t||{},s=a&&n>=o-a.length;if(r>0&&n<o&&!s)return function(t,e,n){let r,o=e,a=0,s=n;return new ReadableStream({start:()=>i(),async pull(t){r||await i();const{value:e,done:n}=await r.read();if(n)throw new Error(u);const o=e.length>a?e.subarray(0,a):e;a-=o.length,s-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=r;r=void 0,await t.cancel()}(),s||t.close())},cancel:t=>r&&r.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,s),n=await X(w,t,j(t,o,e));if(206!=n.status)throw new Error(u);const i=M(n);if(void 0!==i&&i!=o)throw new Error(u);H(t,n),F(t,n),o+=e,a=e,r=n.body.getReader()}}(e,n,Math.min(r,o-n))}return super.createReadable(t)}readUint8Array(t,e){return B(this,t,e,X,N)}}class E extends b{constructor(t,e){super(),L(this,t,e)}async init(){await I(this,Y,Z),super.init()}readUint8Array(t,e){return B(this,t,e,Y,Z)}}function L(t,e,n){const{preventHeadRequest:r,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:i=!0,maximumRangeSize:c=h,fetch:u}=n;delete(n=Object.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,Object.assign(t,{url:e,options:n,preventHeadRequest:r,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:s,checkResourceChanges:i,maximumRangeSize:c,fetch:u})}async function I(t,e,n){const{url:a,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:c,combineSizeEocd:l}=t;if(function(t){const{baseURI:e}=(0,o.D0)(),{protocol:n}=new URL(t,e);return"http:"==n||"https:"==n}(a)&&(i||c)&&(typeof s==r.AV||s)){const r=await e(w,t,j(t,l?-65557:void 0)),o=r.headers.get("Accept-Ranges");if(!(c||o&&o.toLowerCase()==p))throw new Error(u);{let o;l&&206==r.status&&(o=new Uint8Array(await r.arrayBuffer())),F(t,r);const a=P(r);void 0===a?await q(t,e,n):t.size=a,o&&o.length&&M(r)===t.size-o.length&&(t.eocdCache=o)}}else await q(t,e,n)}async function B(t,e,n,o,a){const{useRangeHeader:s,forceRangeRequests:i,eocdCache:c,size:l,options:f}=t;if(s||i){if(e>=l||0===n)return r.D6;{if(e+n>l&&(n=l-e),c&&e>=l-c.length){const t=e-(l-c.length);return c.slice(t,t+n)}const r=await o(w,t,j(t,e,n));if(206!=r.status)throw new Error(u);const a=M(r);if(void 0!==a&&a!=e)throw new Error(u);H(t,r),F(t,r);const s=new Uint8Array(await r.arrayBuffer());if(s.length!=n)throw new Error(u);return s}}{const{data:r}=t;return r||await a(t,f),t.data.subarray(e,e+n)}}function M(t){const e=t.headers.get(f);if(e){const t=Number(e.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t))return t}}function P(t){const e=t.headers.get(f);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function W({headers:t}){return{etag:t.get("Etag")||void 0,lastModified:t.get("Last-Modified")||void 0}}function F(t,e){const{checkResourceChanges:n,resourceValidators:r}=t;n&&!r&&206==e.status&&(t.resourceValidators=W(e))}function H(t,e){const{checkResourceChanges:n,resourceValidators:r,size:o}=t;if(n){const t=P(e);if(void 0!==t&&void 0!==o&&t!=o)throw new Error(l);if(r){const t=W(e);if(Object.entries(r).some(([e,n])=>void 0!==n&&void 0!==t[e]&&n!=t[e]))throw new Error(l)}}}function j(t,e=0,n=1){return Object.assign({},T(t),{[d]:p+"="+(e<0?e:e+"-"+(e+n-1))})}function T({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function N(t){await V(t,X)}async function Z(t){await V(t,Y)}async function V(t,e){const n=await e(w,t,T(t));t.data=new Uint8Array(await n.arrayBuffer()),t.size=t.data.length}async function q(t,e,n){if(t.preventHeadRequest)await n(t,t.options);else{const r=await e("HEAD",t,T(t)),o=r.headers.get("Content-Length");o&&!r.headers.get("Content-Encoding")?t.size=Number(o):await n(t,t.options)}}async function X(t,{fetch:e=fetch,options:n,url:r},o){const a=await e(r,Object.assign({},n,{method:t,headers:o}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new Error(u):new Error(c+(a.statusText||a.status))}function Y(t,{url:e},n){return new Promise((r,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const n=e.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(n)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(u):new Error(c+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),n)for(const t of Object.entries(n))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class K extends b{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new E(t,e):new O(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class G extends b{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class J extends S{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,n=e.offset+t.length;if(n>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;t<n;)t*=2;const r=e.array;e.array=new Uint8Array(t),e.array.set(r)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Q extends b{constructor(t){super(),this.readers=t}async init(){const t=this;t.lastDiskNumber=0;const e=t.readers=await Promise.all(t.readers.map(rt));t.diskOffsets=e.map(e=>{const n=t.size;return t.size+=e.size,n}),super.init()}getDiskOffset(t){const{diskOffsets:e,size:n}=this,r=e[t];return void 0===r?n:r}async readUint8Array(t,e){const n=this,{readers:o}=this;let s,i=0,c=t;for(;o[i]&&c>=o[i].size;)c-=o[i].size,i++;const u=o[i];if(u){const r=u.size;if(c+e<=r)s=await ot(u,c,e);else{const o=r-c,i=await ot(u,c,o),l=await n.readUint8Array(t+o,e-o);s=(0,a.xW)(i,l)}}else s=r.D6;return n.lastDiskNumber=Math.max(i,n.lastDiskNumber),s}}class _ extends y{constructor(t,e=4294967295){super();const n=this;let r,o,a;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const s=new WritableStream({async write(e){if(e===g)return void(a&&await c());const{availableSize:s}=n;if(a)e.length>=s?(await i(e.subarray(0,s)),await c(),e.length>s&&await this.write(e.subarray(s))):await i(e);else{const{value:s,done:i}=await t.next();if(i&&!s)throw new Error("Writer iterator completed too soon");r=s,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await nt(r),o=s.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await u())},async abort(t){a&&await a.abort(t)}});async function i(t){const e=t.length;e&&(await a.ready,await a.write(t),r.size+=e,n.availableSize-=e)}async function c(){await u(),n.diskOffset+=r.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function u(){await a.close()}Object.defineProperty(n,m,{get:()=>s})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(g)}finally{t.releaseLock()}}}class ${constructor(t){return Array.isArray(t)&&(t=new Q(t)),(t instanceof ReadableStream||typeof t.getReader==r.On)&&(t={readable:(0,s.QK)(t)}),t}}class tt{constructor(t){void 0===t.writable&&typeof t.next==r.On&&(t=new _(t)),(t instanceof WritableStream||typeof t.getWriter==r.On)&&(t={writable:(0,s.Ox)(t)});try{t.size=void 0===t.size?0:t.size}catch{throw new Error("Invalid writer (size must be writable)")}return t}}function et(t){return Boolean(t&&t.getData)}async function nt(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function rt(t){return t=new $(t),await nt(t),void 0!==t.size&&t.readUint8Array||(t=new U(await(0,s.x1)(t.readable)),await nt(t)),t}function ot(t,e,n){return t.readUint8Array(e,n)}function at(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?b.prototype.createReadable.call(t,e):t.readable}},58001(t,e,n){n.d(e,{Ot:()=>l,Ro:()=>w,Tc:()=>u,Te:()=>c,kQ:()=>d,mR:()=>i,oe:()=>a,py:()=>s,zQ:()=>f});var r=n(47254);const o="compressed";function a(t){if(t&&typeof t!=r.On)throw new Error("Invalid option (must be a function)");return t}function s(t){if(t&&("object"!=typeof t||Array.isArray(t)))throw new Error("Invalid readerOptions (must be an object)");return t}function i(t){if(t&&(typeof t.addEventListener!=r.On||typeof t.aborted!=r.GC))throw new Error("Invalid signal (must be an AbortSignal instance)");return t||void 0}function c(t){if(t&&t.aborted)throw void 0===t.reason?new DOMException("The operation was aborted","AbortError"):t.reason}function u(t,e){if(t&&"string"!=typeof t||e&&!(e instanceof Uint8Array))throw new Error("Invalid password (password must be a string, rawPassword must be a Uint8Array)")}function l(t){if(void 0!==t&&typeof t!=r.GC&&t!==o)throw new Error("Invalid passThrough option (must be a boolean or 'compressed')");return t}function f(t,e,n){if(!Number.isInteger(t)||t<0||t>e)throw new Error(n)}function d(t,e,n){void 0!==t&&f(t,e,n)}function w(t){return"string"==typeof t&&t.trim()?Number(t):t}n.d(e,["A4",0,"checkSignature","BH",0,"strictness","Bt",0,"dataDescriptor","C5",0,"preventClose","D9",0,"checkAmbiguity","DC",0,"ntfsTimestamp","Fp",0,"checkCrc32","GP",0,"localExtraField","HL",0,"checkLocalFilename","IB",0,"filenameEncoding","JD",0,"rawPassword","JO",0,"extractPrependedData","LP",0,"comment","MC",0,"dataDescriptorSignature","PG",0,"extractAppendedData","Q$",0,"useUnicodeFileNames","SB",0,o,"Si",0,"checkAuthenticationCode","So",0,"balanced","VL",0,"checkOverlappingEntryOnly","VV",0,"keepOrder","Wm",0,"checkPasswordOnly","Ym",0,"signCentralDirectory","aK",0,"encryptionStrength","bn",0,"useWebWorkers","cq",0,"filenameValidation","eU",0,"normalizeFilename","hp",0,"encodeText","im",0,"supportZip64SplitFile","j$",0,"filename","jg",0,"extendedTimestamp","kF",0,"password","ki",0,"passThrough","kq",0,"useCompressionStream","ku",0,"commentEncoding","kv",0,"decryptCentralDirectory","ln",0,"decodeText","mU",0,"maxAppendedDataSize","me",0,"centralExtraField","rm",0,"checkLocalDirectory","sC",0,"unixExtraFieldType","sn",0,"checkOverlappingEntry","tg",0,"createTempStream","wM",0,"bufferedWrite","xC",0,"tolerant"])},85843(t,e,n){n.d(e,{LL:()=>b,ho:()=>S,w1:()=>v});var r=n(47254),o=n(13074),a=n(57461),s=n(47276),i=n(83572);const c={name:"PBKDF2"},u=Object.assign({hash:{name:"HMAC"}},c),l=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},c),f=["deriveBits"],d=[8,12,16],w=[16,24,32],p=10,h=typeof crypto!=r.AV,m=h&&crypto.subtle;let g=h&&typeof m!=r.AV&&typeof m.importKey==r.On&&typeof m.deriveBits==r.On,y=s.P;class b extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){const a={};super({start(){z(a,t,e,n)},async transform(t,e){const{password:n,strength:o,resolveReady:s,ready:c}=a;if(n?(await async function(t,e,n,r){const o=await A(t,e,n,C(r,0,d[e])),a=C(r,d[e]);if(o[0]!=a[0]||o[1]!=a[1])throw U(t),new Error(i.wP)}(a,o,n,C(t,0,d[o]+2)),t=C(t,d[o]+2),r?(U(a),e.error(new Error(i.mV))):s()):await c,a.discarded)return;const u=new Uint8Array(t.length-p-(t.length-p)%16);e.enqueue(x(a,t,u,0,p,!0))},async flush(t){const{engine:e,pendingInput:n,ready:r}=a;if(e){if(await r,a.discarded)return;const s=C(n,n.length-p),c=new Uint8Array(C(n,0,n.length-p));e.process(c,!0);const u=e.digest();let l=n.length<p?1:0;for(let t=0;t<p;t++)l|=u[t]^s[t];if(l&&o)return void t.error(new Error(i.RT));t.enqueue(c)}}}),k(this,a)}}class S extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n}){const o={};super({start(){z(o,t,e,n)},async transform(t,e){const{password:n,strength:s,resolveReady:c,ready:u}=o;let l=r.D6;if(n?(l=await async function(t,e,n){const r=(0,i.UY)(new Uint8Array(d[e])),o=await A(t,e,n,r);return(0,a.xW)(r,o)}(o,s,n),c()):await u,o.discarded)return;const f=new Uint8Array(l.length+t.length-t.length%16);f.set(l,0),e.enqueue(x(o,t,f,l.length,0,!1))},async flush(t){const{engine:e,pendingInput:n,ready:r}=o;if(e){if(await r,o.discarded)return;const s=new Uint8Array(n);e.process(s,!1);const i=C(e.digest(),0,p);t.enqueue((0,a.xW)(s,i))}}}),k(this,o)}}function v(t){y=t||s.P}function z(t,e,n,o){Object.assign(t,{ready:new Promise(e=>t.resolveReady=e),password:R(e,n),strength:o-1,pendingInput:r.D6,discarded:!1})}function k(t,e){const n=t.readable.getReader(),r=new ReadableStream({async pull(t){try{const{value:e,done:r}=await n.read();r?t.close():t.enqueue(e)}catch(t){throw U(e),n.cancel(t).catch(()=>{}),t}},cancel:t=>(U(e),n.cancel(t))});Object.defineProperty(t,"readable",{get:()=>r})}function x(t,e,n,r,o,s){const{engine:i,pendingInput:c}=t;c.length&&(e=(0,a.xW)(c,e));const u=e.length-o,l=u-u%16;if(n=function(t,e){if(e&&e>t.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,r+l),l){const t=C(n,r,r+l);t.set(C(e,0,l)),i.process(t,s)}return t.pendingInput=C(e,l),n}function U(t){const{engine:e}=t;t.discarded=!0,e&&e.dispose&&e.dispose()}async function A(t,e,n,r){t.password=null;const o=w[e],a=await async function(t,e,n){if(g)try{const r=await m.importKey("raw",t,u,!1,f);return new Uint8Array(await m.deriveBits(Object.assign({salt:e},l),r,8*n))}catch{g=!1}return(0,s.A)(t,e,1e3,n)}(n,r,2*o+2);return t.engine=y(C(a,0,o),C(a,o,2*o)),t.discarded&&U(t),C(a,2*o)}function R(t,e){return void 0===e?(0,o.w)(t):e}function C(t,e,n){return t.subarray(e,n)}},42816(t,e,n){n.d(e,{Hj:()=>r.Hj,Qo:()=>i,Ri:()=>r.Ri,St:()=>r.St,mM:()=>r.mM,mV:()=>r.mV,nD:()=>r.nD,wP:()=>r.wP,z5:()=>s}),n(47254);var r=n(8229);const o="deflate",a="inflate";class s extends TransformStream{constructor(t,e){super({});const n=this,{codecType:s}=t;let i;s.startsWith(o)?i=r.C_:s.startsWith(a)&&(i=r.Oc),n.outputSize=0;let c=0;const u=new i(t,e),l=super.readable,f=new TransformStream({transform(t,e){t&&t.length&&(c+=t.length,e.enqueue(t))},flush(){Object.assign(n,{inputSize:c})}}),d=new TransformStream({transform(e,o){if(e&&e.length&&(o.enqueue(e),n.outputSize+=e.length,void 0!==t.outputSize&&n.outputSize>t.outputSize))throw new Error(r.nD)},flush(){const{crc32:t}=u;Object.assign(n,{crc32:t,inputSize:c})}});Object.defineProperty(n,"readable",{get:()=>l.pipeThrough(f).pipeThrough(u).pipeThrough(d)})}}class i extends TransformStream{constructor(t){const e=[];let n=0,r=0;function o(){const r=new Uint8Array(t);let o=0;for(;o<t;){const n=e[0],a=t-o;n.length<=a?(r.set(n,o),o+=n.length,e.shift()):(r.set(n.subarray(0,a),o),e[0]=n.subarray(a),o+=a)}return n-=t,r}(!Number.isFinite(t)||t<1)&&(t=262144),super({transform(a,s){for(e.push(a),n+=a.length;n>t;)r+=t,s.enqueue(o())},flush(t){n&&(r+=n,t.enqueue(function(t,e){const n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}(e,n)))}}),Object.defineProperty(this,"outputSize",{get:()=>r})}}n.d(e,["AJ",0,"message","Re",0,a,"XJ",0,o])},47276(t,e,n){n.d(e,{A:()=>h,P:()=>p});const r=64,o=20,a=new Uint8Array([128]),s=new Uint8Array(1),i=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),c=new Uint8Array(256),u=new Int32Array(256),l=new Int32Array(256),f=new Int32Array(256),d=new Int32Array(256);let w=!1;function p(t,e){!function(){if(!w){let t=1,e=1;do{t=255&(t^t<<1^(128&t?27:0)),e=255&(e^e<<1),e=255&(e^e<<2),e=255&(e^e<<4),128&e&&(e^=9),c[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);c[0]=99;for(let t=0;t<256;t++){const e=c[t],n=b(e),r=n<<24|e<<16|e<<8|n^e;u[t]=r,l[t]=r>>>8|r<<24,f[t]=r>>>16|r<<16,d[t]=r>>>24|r<<8}w=!0}}();const n=new Int32Array(60),r=function(t,e){const n=t.length>>2,r=n+6,o=4*(r+1);let a=1;for(let r=0;r<n;r++)e[r]=t[4*r]<<24|t[4*r+1]<<16|t[4*r+2]<<8|t[4*r+3];for(let t=n;t<o;t++){let r=e[t-1];t%n==0?(r=g(r<<8|r>>>24)^a<<24,a=b(a)):n>6&&t%n==4&&(r=g(r)),e[t]=e[t-n]^r}return r}(t,n),o=new Int32Array(4),a=m(e);let s=0,i=0,p=0,h=0;return{process(t,e){e&&a.update(t,0,t.length),function(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=t.length;let r=0;for(;r+16<=n;r+=16)S(),e.setInt32(r,e.getInt32(r)^o[0]),e.setInt32(r+4,e.getInt32(r+4)^o[1]),e.setInt32(r+8,e.getInt32(r+8)^o[2]),e.setInt32(r+12,e.getInt32(r+12)^o[3]);if(r<n){S();for(let e=0;r<n;r++,e++)t[r]^=o[e>>2]>>>24-8*(3&e)}}(t),e||a.update(t,0,t.length)},digest:()=>a.digest()};function S(){s=s+1|0,s||(i=i+1|0,i||(p=p+1|0,p||(h=h+1|0)));let t=y(s)^n[0],e=y(i)^n[1],a=y(p)^n[2],w=y(h)^n[3],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[4],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[5],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[6],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[7];t=u[m>>>24]^l[g>>>16&255]^f[b>>>8&255]^d[255&S]^n[8],e=u[g>>>24]^l[b>>>16&255]^f[S>>>8&255]^d[255&m]^n[9],a=u[b>>>24]^l[S>>>16&255]^f[m>>>8&255]^d[255&g]^n[10],w=u[S>>>24]^l[m>>>16&255]^f[g>>>8&255]^d[255&b]^n[11],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[12],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[13],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[14],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[15],t=u[m>>>24]^l[g>>>16&255]^f[b>>>8&255]^d[255&S]^n[16],e=u[g>>>24]^l[b>>>16&255]^f[S>>>8&255]^d[255&m]^n[17],a=u[b>>>24]^l[S>>>16&255]^f[m>>>8&255]^d[255&g]^n[18],w=u[S>>>24]^l[m>>>16&255]^f[g>>>8&255]^d[255&b]^n[19],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[20],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[21],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[22],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[23],t=u[m>>>24]^l[g>>>16&255]^f[b>>>8&255]^d[255&S]^n[24],e=u[g>>>24]^l[b>>>16&255]^f[S>>>8&255]^d[255&m]^n[25],a=u[b>>>24]^l[S>>>16&255]^f[m>>>8&255]^d[255&g]^n[26],w=u[S>>>24]^l[m>>>16&255]^f[g>>>8&255]^d[255&b]^n[27],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[28],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[29],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[30],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[31],t=u[m>>>24]^l[g>>>16&255]^f[b>>>8&255]^d[255&S]^n[32],e=u[g>>>24]^l[b>>>16&255]^f[S>>>8&255]^d[255&m]^n[33],a=u[b>>>24]^l[S>>>16&255]^f[m>>>8&255]^d[255&g]^n[34],w=u[S>>>24]^l[m>>>16&255]^f[g>>>8&255]^d[255&b]^n[35],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[36],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[37],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[38],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[39];let v=40;r>10&&(t=u[m>>>24]^l[g>>>16&255]^f[b>>>8&255]^d[255&S]^n[40],e=u[g>>>24]^l[b>>>16&255]^f[S>>>8&255]^d[255&m]^n[41],a=u[b>>>24]^l[S>>>16&255]^f[m>>>8&255]^d[255&g]^n[42],w=u[S>>>24]^l[m>>>16&255]^f[g>>>8&255]^d[255&b]^n[43],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[44],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[45],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[46],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[47],v=48),r>12&&(t=u[m>>>24]^l[g>>>16&255]^f[b>>>8&255]^d[255&S]^n[48],e=u[g>>>24]^l[b>>>16&255]^f[S>>>8&255]^d[255&m]^n[49],a=u[b>>>24]^l[S>>>16&255]^f[m>>>8&255]^d[255&g]^n[50],w=u[S>>>24]^l[m>>>16&255]^f[g>>>8&255]^d[255&b]^n[51],m=u[t>>>24]^l[e>>>16&255]^f[a>>>8&255]^d[255&w]^n[52],g=u[e>>>24]^l[a>>>16&255]^f[w>>>8&255]^d[255&t]^n[53],b=u[a>>>24]^l[w>>>16&255]^f[t>>>8&255]^d[255&e]^n[54],S=u[w>>>24]^l[t>>>16&255]^f[e>>>8&255]^d[255&a]^n[55],v=56),o[0]=(c[m>>>24]<<24|c[g>>>16&255]<<16|c[b>>>8&255]<<8|c[255&S])^n[v],o[1]=(c[g>>>24]<<24|c[b>>>16&255]<<16|c[S>>>8&255]<<8|c[255&m])^n[v+1],o[2]=(c[b>>>24]<<24|c[S>>>16&255]<<16|c[m>>>8&255]<<8|c[255&g])^n[v+2],o[3]=(c[S>>>24]<<24|c[m>>>16&255]<<16|c[g>>>8&255]<<8|c[255&b])^n[v+3]}}function h(t,e,n,r){const a=m(t),s=new Uint8Array(r),i=new Uint8Array(e.length+4),c=new DataView(i.buffer);i.set(e);for(let t=1,u=0;u<r;t++,u+=o){c.setUint32(e.length,t),a.update(i,0,i.length);let l=a.digest();const f=l.slice();for(let t=1;t<n;t++){a.update(l,0,o),l=a.digest();for(let t=0;t<o;t++)f[t]^=l[t]}s.set(f.subarray(0,Math.min(o,r-u)),u)}return s}function m(t){const e=function(){const t=new Int32Array(i),e=new Int32Array(16),n=new Uint8Array(r),c=new DataView(n.buffer),u=new Uint8Array(8);let l=0,f=0;return{update:d,digest:function(){const e=8*f,n=Math.floor(e/4294967296),r=e>>>0;for(d(a,0,1);56!=l;)d(s,0,1);u[0]=n>>>24,u[1]=n>>>16,u[2]=n>>>8,u[3]=n,u[4]=r>>>24,u[5]=r>>>16,u[6]=r>>>8,u[7]=r,d(u,0,8);const c=new Uint8Array(o),w=new DataView(c.buffer);for(let e=0;e<t.length;e++)w.setInt32(4*e,t[e]);return t.set(i),l=0,f=0,c}};function d(t,e,o){const a=e+o;if(f+=o,l){for(;e<a&&l<r;)n[l++]=t[e++];l==r&&(w(c,0),l=0)}if(e+r<=a){const n=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;e+r<=a;e+=r)w(n,e)}for(;e<a;)n[l++]=t[e++]}function w(n,r){for(let t=0;t<16;t++)e[t]=n.getInt32(r+4*t);let o,a=t[0],s=t[1],i=t[2],c=t[3],u=t[4];for(let t=0;t<15;t+=5)u=(a<<5|a>>>27)+((i^c)&s^c)+u+1518500249+e[t]|0,s=s<<30|s>>>2,c=(u<<5|u>>>27)+((s^i)&a^i)+c+1518500249+e[t+1]|0,a=a<<30|a>>>2,i=(c<<5|c>>>27)+((a^s)&u^s)+i+1518500249+e[t+2]|0,u=u<<30|u>>>2,s=(i<<5|i>>>27)+((u^a)&c^a)+s+1518500249+e[t+3]|0,c=c<<30|c>>>2,a=(s<<5|s>>>27)+((c^u)&i^u)+a+1518500249+e[t+4]|0,i=i<<30|i>>>2;u=(a<<5|a>>>27)+((i^c)&s^c)+u+1518500249+e[15]|0,s=s<<30|s>>>2,o=e[13]^e[8]^e[2]^e[0],o=o<<1|o>>>31,e[0]=o,c=(u<<5|u>>>27)+((s^i)&a^i)+c+1518500249+o|0,a=a<<30|a>>>2,o=e[14]^e[9]^e[3]^e[1],o=o<<1|o>>>31,e[1]=o,i=(c<<5|c>>>27)+((a^s)&u^s)+i+1518500249+o|0,u=u<<30|u>>>2,o=e[15]^e[10]^e[4]^e[2],o=o<<1|o>>>31,e[2]=o,s=(i<<5|i>>>27)+((u^a)&c^a)+s+1518500249+o|0,c=c<<30|c>>>2,o=e[0]^e[11]^e[5]^e[3],o=o<<1|o>>>31,e[3]=o,a=(s<<5|s>>>27)+((c^u)&i^u)+a+1518500249+o|0,i=i<<30|i>>>2;for(let t=20;t<40;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(a<<5|a>>>27)+(s^i^c)+u+1859775393+o|0,s=s<<30|s>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(a^s^i)+c+1859775393+o|0,a=a<<30|a>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u^a^s)+i+1859775393+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,s=(i<<5|i>>>27)+(c^u^a)+s+1859775393+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,a=(s<<5|s>>>27)+(i^c^u)+a+1859775393+o|0,i=i<<30|i>>>2;for(let t=40;t<60;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(a<<5|a>>>27)+(s&i|(s|i)&c)+u+2400959708+o|0,s=s<<30|s>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(a&s|(a|s)&i)+c+2400959708+o|0,a=a<<30|a>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u&a|(u|a)&s)+i+2400959708+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,s=(i<<5|i>>>27)+(c&u|(c|u)&a)+s+2400959708+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,a=(s<<5|s>>>27)+(i&c|(i|c)&u)+a+2400959708+o|0,i=i<<30|i>>>2;for(let t=60;t<80;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,u=(a<<5|a>>>27)+(s^i^c)+u+3395469782+o|0,s=s<<30|s>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(u<<5|u>>>27)+(a^s^i)+c+3395469782+o|0,a=a<<30|a>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,i=(c<<5|c>>>27)+(u^a^s)+i+3395469782+o|0,u=u<<30|u>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,s=(i<<5|i>>>27)+(c^u^a)+s+3395469782+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,a=(s<<5|s>>>27)+(i^c^u)+a+3395469782+o|0,i=i<<30|i>>>2;t[0]=t[0]+a|0,t[1]=t[1]+s|0,t[2]=t[2]+i|0,t[3]=t[3]+c|0,t[4]=t[4]+u|0}}(),n=new Uint8Array(r),c=new Uint8Array(r);t.length>r&&(e.update(t,0,t.length),t=e.digest());for(let e=0;e<r;e++){const r=e<t.length?t[e]:0;n[e]=54^r,c[e]=92^r}return e.update(n,0,r),{update(t,n,r){e.update(t,n,r)},digest(){const t=e.digest();e.update(c,0,r),e.update(t,0,o);const a=e.digest();return e.update(n,0,r),a}}}function g(t){return c[t>>>24]<<24|c[t>>>16&255]<<16|c[t>>>8&255]<<8|c[255&t]}function y(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function b(t){return 255&(t<<1^27*(t>>7))}},89398(t,e,n){n.d(e,{s:()=>d});const r=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;r[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const n=r[e-1][t];r[e][t]=n>>>8^r[0][255&n]}const[o,a,s,i,c,u,l,f]=r;class d{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;const n=0|t.length;let r=0;if(n>=8&&t.buffer){const d=new DataView(t.buffer,t.byteOffset,n),w=n-8;for(;r<=w;r+=8){const t=e^d.getInt32(r,!0),n=d.getInt32(r+4,!0);e=f[255&t]^l[t>>>8&255]^u[t>>>16&255]^c[t>>>24&255]^i[255&n]^s[n>>>8&255]^a[n>>>16&255]^o[n>>>24&255]}}for(;r<n;r++)e=e>>>8^o[255&(e^t[r])];this.crc=e}get(){return~this.crc}}},83572(t,e,n){n.d(e,{UY:()=>a});var r=n(47254);const o=typeof crypto!=r.AV&&typeof crypto.getRandomValues==r.On;function a(t){if(o)return crypto.getRandomValues(t);throw new Error("Crypto API not supported")}n.d(e,["RT",0,"Invalid authentication code","mV",0,"zipjs-abort-check-password","wP",0,"Invalid password"])},8229(t,e,n){n.d(e,{C_:()=>R,mV:()=>s.mV,Hj:()=>v,mM:()=>k,wP:()=>s.wP,nD:()=>S,Oc:()=>D,St:()=>L,Ri:()=>I});var r=n(89398);class o extends TransformStream{constructor(){let t;const e=new r.s;super({transform(t,n){e.append(t),n.enqueue(t)},flush(){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}var a=n(85843),s=n(83572);class i extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){u(this,t,e,n)},transform(t,e){const n=this;if(n.password||n.rawPassword){const e=l(n,t.subarray(0,12));if(n.password=n.rawPassword=null,0!=(e[11]^n.passwordVerification))throw new Error(s.wP);t=t.subarray(12)}r?e.error(new Error(s.mV)):e.enqueue(l(n,t))}})}}class c extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:n}){super({start(){u(this,t,e,n)},transform(t,e){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const e=(0,s.UY)(new Uint8Array(12));e[11]=n.passwordVerification,r=new Uint8Array(t.length+e.length),r.set(f(n,e),0),o=12}else r=new Uint8Array(t.length),o=0;r.set(f(n,t),o),e.enqueue(r)}})}}function u(t,e,n,o){Object.assign(t,{password:e,rawPassword:n,passwordVerification:o}),function(t,e,n){const o=[305419896,591751049,878082192];if(Object.assign(t,{cryptoKeys:o,crcKey0:new r.s(o[0]),crcKey2:new r.s(o[2])}),n)for(let e=0;e<n.length;e++)d(t,n[e]);else for(let n=0;n<e.length;n++)d(t,e.charCodeAt(n))}(t,e,n)}function l(t,e){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=w(t)^e[r],d(t,n[r]);return n}function f(t,e){const n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=w(t)^e[r],d(t,e[r]);return n}function d(t,e){let[,n]=t.cryptoKeys;t.crcKey0.append([e]);const r=~t.crcKey0.get();n=h(Math.imul(h(n+p(r)),134775813)+1),t.crcKey2.append([n>>>24]);const o=~t.crcKey2.get();t.cryptoKeys=[r,n,o]}function w(t){const e=2|t.cryptoKeys[2];return p(Math.imul(e,1^e)>>>8)}function p(t){return 255&t}function h(t){return 4294967295&t}n(47254);var m=n(57461),g=n(44668),y=n(70574),b=n(39513);const S="Invalid uncompressed size",v="Invalid compressed data",z="Codec out of memory",k="Invalid CRC32",x="deflate-raw",U="gzip",A=[31,139,8];class R extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:i,useCompressionStream:u,zipCrypto:l,computeCrc32:f,level:d,deflate64:w,format:p,compressionMethod:h,inputSize:m}=t,g=this;let y,S,v,z=super.readable;const k=p&&(0,b.yE)(p),x=P(u,r,n),A=f&&s&&!w&&!k&&(!i||l)&&Boolean(x);if(i&&!l||!f||A||(y=new o,z=F(z,y)),s)if(k)z=H(z,M(k.CompressionStream,p,{level:d,chunkSize:e,compressionMethod:h,uncompressedSize:m}));else if(A)v=new C,z=H(z,new x(U,{level:d,chunkSize:e})),z=F(z,v);else try{z=W(z,u,{level:d,chunkSize:e},r,n)}catch(t){if(!u&&n)throw V(t);let e;try{e=new r(U)}catch{throw V(t)}z=H(z,e),z=F(z,new C)}i&&(l?z=F(z,new c(t)):(S=new a.ho(t),z=F(z,S))),B(g,z,()=>{i&&!l||!f||(g.crc32=A?v.crc32:new DataView(y.value.buffer).getUint32(0))})}}class C extends TransformStream{constructor(){let t,e=10,n=new Uint8Array(0);super({transform(t,r){if(e){const n=Math.min(e,t.length);if(e-=n,!(t=t.subarray(n)).length)return}const o=n.length+t.length;if(o<=8)return void(n=(0,m.xW)(n,t));const a=o-8,s=Math.min(a,n.length);r.enqueue((0,m.xW)(n.subarray(0,s),t.subarray(0,a-s))),n=(0,m.xW)(n.subarray(s),t.subarray(a-s))},flush(){const e=(0,m.MS)(n);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class D extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:n,DecompressionStream:s}){super({});const{zipCrypto:c,encrypted:u,checkCrc32:l,crc32:f,compressed:d,useCompressionStream:w,deflate64:p,format:h,compressionMethod:g,rawBitFlag:y,outputSize:v}=t;let z,x,R,C=super.readable;if(u&&(c?C=F(C,new i(t)):(x=new a.LL(t),C=F(C,x))),d){const t=new Set,o=h&&(0,b.yE)(h);let a;if(o)C=H(C,M(o.DecompressionStream,h,{chunkSize:e,compressionMethod:g,rawBitFlag:y,uncompressedSize:v}),t);else{const r=P(w,s,n);if(l&&!p&&void 0!==f&&void 0!==v&&r)try{a=new r(U,{chunkSize:e})}catch{a=void 0}if(!a)try{C=W(C,w,{chunkSize:e,deflate64:p},s,n,t)}catch(t){if(p||void 0===v||!w&&n)throw V(t);try{a=new s(U)}catch{throw V(t)}}}a?(R=!0,C=function(t,e,n,o,a){const s=e.writable.getWriter(),i=e.readable.getReader(),c=void 0===o?new r.s:void 0;let u,l,f=0,d=!1,w=!1;const p=new ReadableStream({start(t){l=t},pull(){y()},cancel:t=>(w=!0,y(),i.cancel(t))});return async function(){const e=t.getReader();try{const t=new Uint8Array(10);for(t.set(A),await s.write(t);;){await g(),await s.ready;const{value:t,done:n}=await N(e,a);if(n)break;await s.write(t)}c&&await s.write(new Uint8Array(0));const r=new Uint8Array(8),i=(0,m.MS)(r);i.setUint32(0,c?c.get():o,!0),i.setUint32(4,n,!0),d=!0,await s.write(r),await s.close()}catch(t){await j(s,t),await T(e,t)}}(),async function(){try{for(;;){const{value:t,done:e}=await h();if(e)break;if(f+=t.length,f>n)throw new Error(S);c&&c.append(t),l.enqueue(t)}w||(w=!0,l.close())}catch(t){!function(t){w||(w=!0,l.error(t),y())}(t),await T(i,t)}}(),p;function h(){return i.read().catch(t=>{if(d){if(!c)throw X(t,k);if(f!=n)throw X(t,S);return{done:!0}}throw Z(t,a)})}function g(){if(!w&&l.desiredSize<=0)return new Promise(t=>u=t)}function y(){if(u){const t=u;u=void 0,t()}}}(C,a,v,f,t)):C=function(t,e){const n=t.getReader();return new ReadableStream({async pull(t){try{const{value:e,done:r}=await n.read();r?t.close():t.enqueue(e)}catch(t){throw await T(n,t),Z(t,e)}},cancel:t=>n.cancel(t)})}(C,t)}l&&!R&&(z=new o,C=F(C,z)),B(this,C,()=>{if(z){const t=new DataView(z.value.buffer).getUint32(0,!1);if(f!=t)throw new Error(k)}})}}const O=new Map;function E(t,e){if(!t)return!1;let n=O.get(t);n||(n=new Map,O.set(t,n));let r=n.get(e);if(void 0===r){try{new t(e),r=!0}catch{r=!1}n.set(e,r)}return r}function L(t){return E(t,x)}function I(t){return E(t,U)}function B(t,e,n){e=F(e,new TransformStream({flush:n})),Object.defineProperty(t,"readable",{get:()=>e})}function M(t,e,n){if(!t)throw new Error(b.Ns);return new t(e,n)}function P(t,e,n){return t&&e?e:n&&n.requiresModule?n:void 0}function W(t,e,n,r,o,a){const s=e&&r?r:o||r,i=n.deflate64?"deflate64-raw":x;let c;try{c=new s(i,n)}catch(t){if(!e||!o||s==o)throw t;c=new o(i,n)}return H(t,c,a)}function F(t,e){return(0,g.QK)(t).pipeThrough(e)}function H(t,e,n){const r=e.writable.getWriter(),o=t.getReader();return async function(){try{for(;;){await r.ready;const t=await N(o,n);if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await j(r,t),await T(o,t)}}(),e.readable}async function j(t,e){try{await t.abort(e)}catch{}}async function T(t,e){try{await t.cancel(e)}catch{}}function N(t,e){const n=t.read();return e?n.catch(t=>{throw e.add(t),t}):n}function Z(t,e){return e.has(t)?t:X(t,q(t)?z:v)}function V(t){return q(t)?X(t,z):t}function q(t){return(0,y.K)(t)&&"Z_MEM_ERROR"==t.code}function X(t,e){const n=new Error(e);return n.cause=t,n}},57461(t,e,n){function r(t,e){const n=new Uint8Array(t.length+e.length);return n.set(t),n.set(e,t.length),n}function o(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function a(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}n.d(e,{MS:()=>a,ok:()=>o,xW:()=>r})},44668(t,e,n){n.d(e,{Ox:()=>s,QK:()=>o,x1:()=>a});var r=n(47254);function o(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){try{const{value:n,done:r}=await e.read();r?t.close():t.enqueue(n)}catch(t){throw e.cancel(t).catch(()=>{}),t}},cancel:t=>e.cancel(t)})}function a(t,e){t=o(t);const n=e?{type:e}:{};if(typeof Blob.prototype.stream!=r.On||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],n):t);const a=[];return t.pipeTo(new WritableStream({write(t){a.push(t)}})).then(()=>new Blob(a,n))}function s(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}},94210(t,e,n){n.d(e,{g7:()=>o,ht:()=>s,H3:()=>a});const r="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function o(t,e){return i(t,e,!0)}function a(t){if(!t.some(t=>t>127))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode(t),!0}catch{return!1}}function s(t,e){return i(t,e,!1)}function i(t,e,n){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let n=0;n<t.length;n++)e+=r[t[n]];return e}(t):new TextDecoder(e,{ignoreBOM:n}).decode(t)}},13074(t,e,n){n.d(e,{w:()=>o});var r=n(47254);function o(t){if(typeof TextEncoder==r.AV){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let n=0;n<e.length;n++)e[n]=t.charCodeAt(n);return e}return(new TextEncoder).encode(t)}},70574(t,e,n){function r(t){return Boolean(t)&&"object"==typeof t}n.d(e,{K:()=>r})},23279(t,e,n){function r(t,e,n){if(!t.some(t=>t.reason==e)){const r={reason:e};void 0!==n&&(r.filename=n),t.push(r)}}n.d(e,{A:()=>r}),n(47254)},36113(t,e,n){n.d(e,{C7:()=>M,HK:()=>L,Oh:()=>B}),n(47254);const r="filename",o="rawFilename",a="comment",s="rawComment",i="uncompressedSize",c="compressedSize",u="diskNumberStart",l="lastModDate",f="rawLastModDate",d="lastAccessDate",w="rawLastAccessDate",p="creationDate",h="rawCreationDate",m="internalFileAttributes",g="externalFileAttributes",y="msdosAttributesRaw",b="msdosAttributes",S="msDosCompatible",v="encrypted",z="version",k="versionMadeBy",x="zipCrypto",U="directory",A="executable",R="compressionMethod",C="signature",D="extraField",O="unixMode",E=[r,o,i,c,l,f,a,s,d,w,p,h,"offset",u,m,g,y,b,S,"zip64",v,z,k,x,U,A,"symlink",R,C,"crc32",D,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",O,"unixExternalUpper","setuid","setgid","sticky","bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class L{constructor(t){E.forEach(e=>this[e]=t[e])}}const I=new Set([1,39169,10,21589,28789,25461,6534,30837,30805,22613,13]);function B(t){if(t){const e=new Map;if(t.forEach((t,n)=>{I.has(n)||e.set(n,t.data)}),e.size)return e}}function M(t,e,n){return t?e?12:16+4*n:0}n.d(e,["$T",0,S,"ET",0,y,"FJ",0,A,"Hq",0,p,"JJ",0,x,"Kq",0,a,"Nr",0,C,"Nz",0,d,"Pt",0,u,"Ri",0,s,"VF",0,i,"YQ",0,h,"ZQ",0,g,"Zs",0,R,"_x",0,U,"f9",0,b,"gk",0,r,"jF",0,k,"l0",0,v,"nX",0,o,"nd",0,O,"pf",0,m,"q_",0,w,"r9",0,z,"sw",0,c,"uD",0,f,"xI",0,l,"yg",0,D])},96594(t,e,n){n.d(e,{Hj:()=>s.Hj,ZipReader:()=>B,getEntryDataDescriptorLength:()=>J,mM:()=>s.mM,nD:()=>s.nD,wP:()=>s.wP});var r=n(47254),o=n(50637),a=n(39513),s=n(33176),i=n(92539),c=n(94210),u=n(57461),l=n(23279),f=n(44668),d=n(70574),w=n(89398),p=n(36113),h=n(58001);const m="File format is not recognized",g="End of Zip64 central directory locator not found",y="File contains encrypted entry",b="Encryption method not supported",S="Split zip file",v="malformed extra field",z="wrapped entries count",k="appended data",x="prepended data",U="mismatched zip64 end of central directory record",A="mismatched local file header (crc32 or sizes)",R=/^[a-zA-Z]:/,C=/(^|[\\/])\.\.([\\/]|$)/,D="utf-8",O="cp437",E=[[p.VF,r.ac],[p.sw,r.ac],["offset",r.ac],[p.Pt,65535]],L={65535:{getValue:gt,bytes:4},[r.ac]:{getValue:yt,bytes:8}},I=BigInt(Number.MAX_SAFE_INTEGER);class B{constructor(t,e={}){Object.assign(this,{reader:new i.b9(t),options:e||{},readRanges:{indexes:new Set,sortedRanges:[],pendingRanges:[]},entriesMissingZip64ExtraField:new WeakSet})}async*getEntriesGenerator(t={}){const e=this;let{reader:n}=e;if(await(0,i.ZD)(n),void 0!==n.size&&n.readUint8Array||(n=new i.nZ(await(0,f.x1)(n.readable)),await(0,i.ZD)(n)),n.size<22)throw new Error(m);const o=e.warnings=[],a=nt(t,e.options),s="strict"==a,d=a!=h.xC,w=function(t,e){if(void 0!==t){const e=(0,h.Ro)(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error("Invalid maxAppendedDataSize (must be a number greater than or equal to 0)");return e}return"strict"==e?0:e==h.xC?1/0:65535}(ft(e,t,h.mU),a),y=function(t,e){if(void 0===t)return e;if(!et(t))throw new Error("Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')");return t}(ft(e,t,h.cq),a),b=ft(e,t,h.eU),{endOfDirectoryInfo:A,endOfDirectoryReachingEndCount:R}=await async function(t,e,n){const{size:r}=t,o=Math.min(r,65557),a={remaining:64};let s,i,c=0;for await(const[n,u,l,f,d]of at(t,o))if(d+22+mt(n,f+20)==r){const o=await it(t,n,u,f,d,r,a);if(2==o){if(s||(s=st(l,f,d)),c++,!e||c>1)break}else 1!=o||i||(i=st(l,f,d))}return s||(s=i),s||(s=await async function(t,e,n){const{size:r}=t,o=Math.min(r,e==1/0?r:65557+e);let a,s;for await(const[e,i,c,u,l]of at(t,o)){const o=st(c,u,l);a||(a=o);const f=await it(t,e,i,u,l,r,n);if(2==f)return o;1!=f||s||(s=o)}return s||a}(t,n,a)),{endOfDirectoryInfo:s,endOfDirectoryReachingEndCount:c}}(n,d,w);if(!A)throw await async function(t){return await tt(t)==r.ZP}(n)?new Error(S):new Error("End of central directory not found");d&&R>1&&lt("multiple end of central directory records");const C=(0,u.MS)(A);let E=gt(C,12),L=gt(C,16);const I=A.offset,B=mt(C,20),V=I+22+B,q=n.size-V;q>w&&lt(k),q>0&&(0,l.A)(o,k);let X=mt(C,4);const Y=n.lastDiskNumber||0;let K,G,J,Q,_,rt=mt(C,6),ct=mt(C,10),wt=0,pt=56;const ht=L==r.ac||E==r.ac||65535==ct||65535==rt;if(L!=r.ac&&65535!=rt&&(L+=$(n,rt)),ht){const t=A.offset>=20?await(0,i.Ul)(n,A.offset-20,20):r.D6,e=(0,u.MS)(t);if(20==t.length&&gt(e,0)==r.OL){L=$(n,gt(e,4))+yt(e,8);let t=await(0,i.Ul)(n,L,56),a=(0,u.MS)(t);if(t.length<56||gt(a,0)!=r.Tm){const e=A.offset-20;let o=e-56;if(await H(n,o,r.Tm)||(o=await async function(t,e){const n=Math.max(0,e-65591),o=await(0,i.Ul)(t,n,e-n),a=(0,u.MS)(o);for(let t=o.length-56;t>=0;t--)if(gt(a,t)==r.Tm&&t+12+Number(a.getBigUint64(t+4,!0))==o.length)return n+t}(n,e)),void 0!==o&&o>=0&&L!=o){const e=L;L=o,L>e&&(wt=L-e),t=await(0,i.Ul)(n,L,56),a=(0,u.MS)(t)}}if(t.length<56||gt(a,0)!=r.Tm)throw new Error(g);if(J=!0,Q=yt(a,4)>44,Q){const t=Math.min(yt(a,4)-44,n.size-L-56);t>0&&(pt+=t,_=function(t){const e={rawExtensibleData:t};if(t.length>=28){const n=(0,u.MS)(t),r=mt(n,26);Object.assign(e,{compressionMethod:mt(n,0),compressedSize:yt(n,2),uncompressedSize:yt(n,10),encryptionAlgorithm:mt(n,18),bitLength:mt(n,20),flags:mt(n,22),hashAlgorithm:mt(n,24),hashData:t.subarray(28,28+r)})}return e}(await(0,i.Ul)(n,L+56,t)))}65535==X?X=gt(a,16):X!=gt(a,16)&&ut(s,o,U),65535==rt?rt=gt(a,20):rt!=gt(a,20)&&ut(s,o,U),65535==ct?ct=yt(a,32):ct!=yt(a,32)&&ut(s,o,U),E==r.ac?E=yt(a,40):E!=yt(a,40)&&ut(s,o,U),L=$(n,rt)+yt(a,48)+wt}else if(L==r.ac||E==r.ac||65535==rt)throw new Error(g)}let bt=E;const St=A.offset-(J?pt+20:0);if(Y!=X)throw new Error(S);if(L<0)throw new Error(m);let vt=0,zt=L<n.size?await(0,i.Ul)(n,L,E):r.D6,kt=(0,u.MS)(zt);if(E){let t=St-E;if(L!=t&&rt==X){const e=zt.length>=4&&(gt(kt,vt)==r.cC||Boolean(_&&_.compressedSize)||P(kt));if(!e&&t<0)throw new Error(m);let a=!e;if(t>=0&&t+4<=n.size){let o=await F(n,t);if(!o){const e=await async function(t,e){const n=Math.max(0,e-65541),o=await(0,i.Ul)(t,n,e-n),a=(0,u.MS)(o);for(let t=o.length-6;t>=0;t--)if(gt(a,t)==r.nc&&t+6+mt(a,t+4)==o.length)return n+t}(n,St),a=e-E;void 0!==e&&a>=0&&await F(n,a)&&(t=a,o=!0)}e&&(a=o)}if(a&&t!=L){const a=L;L=t,zt=await(0,i.Ul)(n,L,E),kt=(0,u.MS)(zt);const c=L-a,{localHeaderFound:l,shiftedLocalHeaderFound:f}=await async function(t,e,n,o){let a={localHeaderFound:!1,shiftedLocalHeaderFound:!1},s=0;for(;s+46<=e.length&&gt(n,s)==r.cC;){const i=j(e,n,s);if(void 0!==i){const e=await H(t,i,r.Gq),n=await H(t,i+o,r.Gq);if(s||(a={localHeaderFound:e,shiftedLocalHeaderFound:n}),e!=n)return{localHeaderFound:e,shiftedLocalHeaderFound:n}}s+=46+mt(n,s+28)+mt(n,s+30)+mt(n,s+32)}return a}(n,zt,kt,c);c>0&&(!l||f)?(wt+=c,K=e):(ut(s,o,"mismatched central directory offset"),c<0&&!l&&f&&(wt+=c))}}if(zt.length<4)throw new Error(m)}else!ct&&L<St&&rt==X&&(wt+=St-L,L=St);const xt=St-L;if(E!=xt&&xt>=0&&rt==X&&(E=xt,zt=await(0,i.Ul)(n,L,E),kt=(0,u.MS)(zt)),L<0||L>=n.size)throw new Error(m);e.directoryOffset=L,e.directoryLength=bt;const Ut=dt(e,t,h.kv);let At,Rt;if(Ut&&ct&&zt.length>=4&&gt(kt,0)!=r.cC&&(Q||P(kt))){const t=function(t,e,n){const r=t&&t.compressedSize?t.compressedSize:e;return r>0&&r<=n?r:n}(_,bt,zt.length);Rt=zt.subarray(t),zt=await Ut(zt.subarray(0,t),_),kt=(0,u.MS)(zt),bt=zt.length,At=!0}_&&!At&&(zt.length<4||gt(kt,0)==r.cC)&&(0,l.A)(o,"unknown zip64 extensible data"),G=L;const Ct=ft(e,t,h.IB),Dt=ft(e,t,h.ku),Ot=new Set;let Et,Lt=-1/0;const It=!s&&!J;!ct&&It&&(ct=W(kt,zt,vt),ct&&(0,l.A)(o,z));const Bt=Object.assign({},e.options,t,{[h.BH]:a});delete Bt[h.D9];for(let a=0;a<ct;a++){const i=new M(n,Bt);if(vt+46>zt.length||gt(kt,vt)!=r.cC){if(0==a&&!At&&(Q||P(kt)))throw new Error("Encrypted central directory is not supported");throw new Error("Central directory header not found")}N(i,kt,vt+6);const u=Boolean(i.bitFlag.languageEncodingFlag),d=vt+46,w=d+i.filenameLength+i.extraFieldLength,m=mt(kt,vt+4),g=!(m>>8),S=m>>8==3,k=mt(kt,vt+32),x=w+k,U=new Uint8Array(zt.subarray(d,x)),A=U.subarray(0,i.filenameLength),R=U.subarray(i.filenameLength+i.extraFieldLength),C=u||!Ct&&(0,c.H3)(A),E=u||!Dt&&(0,c.H3)(R),L=gt(kt,vt+38),I=255&L,B={readOnly:Boolean(1&I),hidden:Boolean(2&I),system:Boolean(4&I),directory:Boolean(16&I),archive:Boolean(32&I)},F=gt(kt,vt+42),H=dt(e,t,h.ln)||c.g7,j=C?D:Ct||O,T=E?D:Dt||O;let V=H(A,j,h.j$);void 0===V&&(V=(0,c.g7)(A,j));let q,X=H(R,T,h.LP);void 0===X&&(X=(0,c.g7)(R,T)),Object.assign(i,{index:a,decryptedDirectory:At,versionMadeBy:m,msDosCompatible:g,zip64:!1,compressedSize:0,uncompressedSize:0,commentLength:k,offset:F,diskNumberStart:mt(kt,vt+34),internalFileAttributes:mt(kt,vt+36),externalFileAttributes:L,msdosAttributesRaw:I,msdosAttributes:B,rawFilename:A,filenameUTF8:C,commentUTF8:E,rawExtraField:U.subarray(i.filenameLength,i.filenameLength+i.extraFieldLength),rawComment:R,filename:V,comment:X});try{q=Z(i,i,kt,vt+6)}catch(t){if(s||t.message!=r.SU)throw t;i.zip64ExtraFieldMissing=!0,(0,l.A)(o,"missing zip64 extra field",i.filename)}if(V=i.filename,b){const t=b(V);void 0!==t&&(V=i.filename=t)}if(ot(V,y)){const t=new Error("Unsafe filename");throw t.filename=V,t}if(q&&(0,l.A)(o,v,V),i.zip64ExtraFieldMissing&&i.offset==r.ac)G=0;else{i.offset+=wt;const t=$(n,i.diskNumberStart)+i.offset;G=Math.min(t,G),t<Lt&&(0,l.A)(o,"unsorted central directory",V),Lt=t}(255&i.version)>63&&(0,l.A)(o,"unknown version needed to extract",V),32&~i.rawBitFlag||(0,l.A)(o,"compressed patched data",V),Ot.has(i.filename)&&(Et=!0),Ot.add(i.filename);const Y=i.externalFileAttributes>>16&65535;void 0===i.unixMode&&16877&Y&&(i.unixMode=Y);const K=Boolean(2048&i.unixMode),J=Boolean(1024&i.unixMode),_=Boolean(512&i.unixMode),tt=40960==(61440&(void 0===i.unixMode?Y:i.unixMode)),et=void 0!==i.unixMode&&16384==(61440&i.unixMode)||16384==(61440&Y)||g&&B.directory||i.filename.endsWith("/"),nt=!tt&&!et&&(void 0!==i.unixMode?!!(73&i.unixMode):S&&!!(73&Y));Object.assign(i,{setuid:K,setgid:J,sticky:_,symlink:tt,unixExternalUpper:Y,executable:nt,directory:et,zipCrypto:i.encrypted&&!i.extraFieldAES});const rt=new p.HK(i);if(i.zip64ExtraFieldMissing&&e.entriesMissingZip64ExtraField.add(rt),rt.getData=(t,n)=>i.getData(t,rt,e,n),rt.arrayBuffer=async t=>{const n=new TransformStream,r=(0,f.x1)(n.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await i.getData(n,rt,e,Object.assign({},t,{preventClose:!1})),r},vt=x,a==ct-1&&It){const t=W(kt,zt,vt);t&&(ct+=t,(0,l.A)(o,z))}const{onprogress:at}=t;if(at)try{await at(a+1,ct,new p.HK(i))}catch{}yield rt}let Mt=vt,Pt=T(zt.subarray(vt))||(At?T(Rt):void 0);if(!Pt&&!At){const t=L+vt,e=Math.min(St-t,65541);e>=6&&(Pt=T(await(0,i.Ul)(n,t,e)))}Pt&&(e.digitalSignature=Pt,Mt=vt+6+Pt.length),(vt!=bt&&Mt!=bt||!At&&vt!=E&&Mt!=E)&&ut(s,o,"trailing central directory data"),Et&&ut(s,o,"duplicate filename");const Wt=ft(e,t,h.JO),Ft=ft(e,t,h.PG),Ht=(s||Wt)&&ct&&4==G&&await async function(t){const e=await tt(t);return e==r.ZP||e==r.dh}(n)?4:0;return s&&(wt>0||ct&&G>Ht)&&lt(x),(wt>0||ct&&G>4)&&(0,l.A)(o,x),K&&(0,l.A)(o,"prepended central directory"),Wt&&(e.prependedData=G>Ht?await(0,i.Ul)(n,Ht,G-Ht):r.D6),e.comment=B?await(0,i.Ul)(n,I+22,B):r.D6,Ft&&(e.appendedData=V<n.size?await(0,i.Ul)(n,V,n.size-V):r.D6),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[r.kZ](){return this.close()}}class M{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,n,c={}){const w=this,{readRanges:m,directoryOffset:g}=n;if(w.zip64ExtraFieldMissing)throw new Error(r.SU);const S=(0,o.D0)(),{reader:z,index:k,offset:x,diskNumberStart:U,extraFieldAES:R,extraFieldZip64:C,compressionMethod:D,bitFlag:O,rawBitFlag:E,crc32:L,rawLastModDate:I,uncompressedSize:B,compressedSize:M}=w,{dataDescriptor:P}=O,W=e.localDirectory={},F=e.warnings=[],H=$(z,U)+x,j=await(0,i.Ul)(z,H,30),T=(0,u.MS)(j);let V=ft(w,c,h.kF),q=ft(w,c,h.JD);const X=(0,h.Ot)(ft(w,c,h.ki)),Y=Boolean(X),J=!0===X;if((0,h.Tc)(V,q),V=V&&V.length?V:void 0,q=q&&q.length?q:void 0,R&&99!=R.originalCompressionMethod)throw new Error(a.Ns);if(j.length<30||gt(T,0)!=r.Gq)throw new Error(r.im);N(W,T,4);const{extraFieldLength:Q,filenameLength:tt}=W,et=W.dataOffset=H+30+tt+Q,rt=ft(w,c,h.rm),ot=nt(c,w.options),at=function(t,e){return void 0===t?e!=h.xC:Boolean(t)}(rt,ot),st=ft(w,c,h.HL),it=function(t,e){return void 0===t?"strict"==e:Boolean(t)}(void 0===st?rt:st,ot);let ct=r.D6;if(it&&(tt||Q)){const t=await(0,i.Ul)(z,H+30,tt+Q);ct=t.subarray(0,tt),W.rawExtraField=t.subarray(tt)}else W.rawExtraField=Q?await(0,i.Ul)(z,H+30+tt,Q):r.D6;it&&(W.rawFilename=ct),Z(w,W,T,4,!0)&&(0,l.A)(F,v),function(t,e,n,r,o){const{rawFilename:a}=t,s=!o,i=t.decryptedDirectory&&!(8192&~e.rawBitFlag);!r||i||n.length==a.length&&!n.some((t,e)=>t!=a[e])||ut(s,o,"mismatched local file header (filename)"),(2121&e.rawBitFlag)!=(2121&t.rawBitFlag)&&ut(s,o,"mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&ut(s,o,"mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||i||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||ut(s,o,A)}(w,W,ct,it,at?void 0:F);const{lastAccessDate:lt,creationDate:dt,uid:wt,gid:pt}=W;lt&&void 0===e.lastAccessDate&&(e.lastAccessDate=lt),dt&&void 0===e.creationDate&&(e.creationDate=dt),void 0!==wt&&void 0===e.uid&&(e.uid=wt),void 0!==pt&&void 0===e.gid&&(e.gid=pt);const ht=ft(w,c,h.Wm),mt=w.encrypted&&(!J||ht),yt=mt&&!R;if(J||(e.zipCrypto=yt),mt&&!(64&~w.rawBitFlag))throw new Error(b);const bt=Y?void 0:(0,a.$_)(D);if(0!=D&&8!=D&&9!=D&&!bt&&!Y)throw new Error(a.Ns);if(mt){if(!yt&&(R.strength<1||R.strength>3))throw new Error(b);if(!V&&!q)throw new Error(y)}if(et+M>Math.min(z.size,g))throw new Error("Entry data out of bounds");const St=M,vt=(0,h.mR)(ft(w,c,"signal"));(0,h.Te)(vt);let zt=ft(w,c,h.sn);const kt=ft(w,c,h.VL);kt&&(zt=!0);const{onstart:xt,onprogress:Ut,onend:At}=c,Rt=0!=D&&!Y,Ct=Y?M-(0,p.C7)(mt,yt,R&&R.strength):B,Dt=9==D;let Ot=ft(w,c,h.kq);Dt&&(Ot=!1);const Et=ft(w,c,h.Fp),Lt=(void 0===Et?ft(w,c,h.A4):Et)&&!Y&&(!mt||yt||R&&1==R.vendorVersion),It={options:{codecType:s.Re,password:V,rawPassword:q,zipCrypto:yt,encryptionStrength:R&&R.strength,checkCrc32:Lt,checkAuthenticationCode:ft(w,c,h.Si),passwordVerification:yt&&(P?I>>>8&255:L>>>24&255),outputSize:Ct,crc32:L,compressed:Rt,encrypted:mt,useWebWorkers:ft(w,c,h.bn),useCompressionStream:Ot,deflate64:Dt,format:bt?bt.format:void 0,codecURI:bt?bt.codecURI:void 0,compressionMethod:D,rawBitFlag:E,checkPasswordOnly:ht},config:S,streamOptions:{signal:vt,size:St,onstart:xt,onprogress:Ut,onend:At}};let Bt,Mt,Pt;zt&&(await async function({reader:t,fileEntry:e,index:n,offset:o,crc32:a,compressedSize:s,uncompressedSize:i,dataOffset:c,dataDescriptor:u,extraFieldZip64:l,readRanges:f}){let d=0;if(u){const n=Boolean(l),r=await G(t,c+s,{crc32:a,compressedSize:s,uncompressedSize:i,zip64:n});r?(e.localDirectory.dataDescriptor=r,d=_(r.zip64,r.signature)):d=_(n,!1)}const w={start:o,end:c+s+d,fileEntry:e},{indexes:p,sortedRanges:h,pendingRanges:m}=f;if(!p.has(n)){const t=function(t,e){let n=0,r=t.length;for(;n<r;){const o=n+r>>>1;t[o].start<e.start?n=o+1:r=o}const o=t[n-1],a=t[n];return o&&K(e,o)?o:a&&K(e,a)?a:void 0}(h,w)||m.find(t=>K(w,t));if(t){const e=new Error(r.dJ);throw e.overlappingEntry=t.fileEntry,e}p.add(n),m.push(w),m.length*m.length>h.length&&(m.sort((t,e)=>t.start-e.start),f.sortedRanges=function(t,e){const n=[];let r=0,o=0;for(;r<t.length||o<e.length;)o==e.length||r<t.length&&t[r].start<e[o].start?n.push(t[r++]):n.push(e[o++]);return n}(h,m),m.length=0)}}({reader:z,fileEntry:e,index:k,offset:H,crc32:L,compressedSize:M,uncompressedSize:B,dataOffset:et,dataDescriptor:P||W.bitFlag.dataDescriptor,extraFieldZip64:C||W.extraFieldZip64,readRanges:m}),function(t,e,n){const{dataDescriptor:r}=e,o=t.decryptedDirectory&&!(8192&~e.rawBitFlag);r&&!o&&(void 0!==t.crc32&&r.crc32!=t.crc32||r.compressedSize!=t.compressedSize||r.uncompressedSize!=t.uncompressedSize)&&ut(!n,n,A)}(w,W,at?void 0:F));try{if(!kt){ht&&(t=new WritableStream),t=new i.xm(t),await(0,i.ZD)(t,function(t,e,n){return Math.min(t,n?1032*e:e)}(Ct,M,Rt)),({writable:Bt}=t);const e=(0,f.QK)(z.createReadable({offset:et,size:St})),{outputSize:n}=await(0,s.WY)({readable:e,writable:Bt},It);if((0,h.Te)(vt),n!=Ct)throw Object.assign(new Error(s.nD),{outputSize:n});t.size+=n}}catch(e){if((0,d.K)(e)&&void 0!==e.outputSize&&(t.size+=e.outputSize),!ht||!(0,d.K)(e)||e.message!=s.mV)throw Mt=e,Pt=!0,e}finally{if(((0,i.kh)(t)||!ft(w,c,h.C5))&&Bt&&!Bt.locked){const t=Bt.getWriter();if(Pt)try{await t.abort(Mt)}catch{}else await t.close()}}return ht||kt?void 0:t.getData?t.getData():Bt}}function P(t){return t.byteLength>=4&&gt(t,0)==r.G4}function W(t,e,n){let o=0;for(;n+46<=e.length&&gt(t,n)==r.cC;)n+=46+mt(t,n+28)+mt(t,n+30)+mt(t,n+32),o++;return o%65536?0:o}function F(t,e){return H(t,e,r.cC)}async function H(t,e,n){if(e<0||e+4>t.size)return!1;const r=await(0,i.Ul)(t,e,4);return gt((0,u.MS)(r),0)==n}function j(t,e,n){const o=gt(e,n+42);if(o!=r.ac)return o;let a=n+46+mt(e,n+28);const s=Math.min(a+mt(e,n+30),t.length);for(;a+4<=s;){const t=mt(e,a),o=mt(e,a+2);if(1==t){let t=a+4;return gt(e,n+24)==r.ac&&(t+=8),gt(e,n+20)==r.ac&&(t+=8),t+8<=s?yt(e,t):void 0}a+=4+o}}function T(t){if(t.length>=6){const e=(0,u.MS)(t);if(gt(e,0)==r.nc){const n=mt(e,4);if(6+n<=t.length)return new Uint8Array(t.subarray(6,6+n))}}}function N(t,e,n){const r=t.rawBitFlag=mt(e,n+2),o=!(1&~r),a=gt(e,n+6);Object.assign(t,{encrypted:o,version:mt(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:!(2048&~r)},rawLastModDate:a,lastModDate:wt(a),filenameLength:mt(e,n+22),extraFieldLength:mt(e,n+24)})}function Z(t,e,n,o,a){const{rawExtraField:s}=e,i=e.extraField=new Map,c=(0,u.MS)(s);let l=0,f=!1;try{for(;l<s.length;){const t=mt(c,l),e=mt(c,l+2);i.set(t,{type:t,data:s.slice(l+4,l+4+e)}),l+=4+e}}catch{f=!0}l>s.length&&(f=!0);const d=mt(n,o+4);Object.assign(e,{signature:gt(n,o+10),crc32:gt(n,o+10),compressedSize:gt(n,o+14),uncompressedSize:gt(n,o+18)});const w=i.get(1);let h;w?(function(t,e,n){e.zip64=!0;const o=(0,u.MS)(t.data),a=E.filter(([t,n])=>e[t]==n),s=a.reduce((t,[,e])=>t+L[e].bytes,0);if(t.data.length<s){if(n)return!1;throw new Error(r.SU)}const i=[];try{for(let t=0,e=0;t<a.length;t++){const[,n]=a[t],r=L[n];i.push(r.getValue(o,e)),e+=r.bytes}}catch(t){if(n)return!1;throw t}return a.forEach(([n],r)=>{e[n]=t[n]=i[r]}),!0}(w,e,a)||(f=!0),e.extraFieldZip64=w):E.some(([t,n])=>e[t]==n)&&(a?f=!0:h=!0);const m=i.get(28789);m&&(V(m,p.gk,p.nX,e,t),e.extraFieldUnicodePath=m);const g=i.get(25461);g&&(V(g,p.Kq,p.Ri,e,t),e.extraFieldUnicodeComment=g);const y=i.get(39169);y&&(99==d||e.encrypted)&&y.data.length>=7?(function(t,e,n){const r=(0,u.MS)(t.data),o=ht(r,4);Object.assign(t,{vendorVersion:ht(r,0),vendorId:ht(r,2),strength:o,originalCompressionMethod:n,compressionMethod:mt(r,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=void 0)}(y,e,d),e.extraFieldAES=y):(y&&(f=!0),e.compressionMethod=d);const b=i.get(13);b&&(q(b,e),e.extraFieldPkwareUnix=b);const S=i.get(22613);S&&(q(S,e),e.extraFieldUnixType1=S);const v=i.get(21589);v&&(function(t,e,n){if(!t.data.length)return;const r=(0,u.MS)(t.data),o=ht(r,0),a=[],s=[];n?(1&~o||(a.push(p.xI),s.push(p.uD)),2&~o||(a.push(p.Nz),s.push(p.q_)),4&~o||(a.push(p.Hq),s.push(p.YQ))):t.data.length>=5&&(a.push(p.xI),s.push(p.uD));let i=1;a.forEach((n,o)=>{if(t.data.length>=i+4){const a=gt(r,i);e[n]=t[n]=new Date(1e3*(0|a));const c=s[o];t[c]=a}i+=4})}(v,e,a),e.extraFieldExtendedTimestamp=v);const z=i.get(10);z&&(function(t,e){const n=(0,u.MS)(t.data);let r,o=4;try{for(;o<t.data.length&&!r;){const e=mt(n,o),a=mt(n,o+2);1==e&&(r=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(r&&24==r.length){const n=(0,u.MS)(r),o=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:s});const i={lastModDate:pt(o),lastAccessDate:pt(a),creationDate:pt(s)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:a,rawCreationDate:s})}}(z,e),e.extraFieldNTFS=z);const k=i.get(30837);let x;k&&(x=X(k,e,!0),e.extraFieldInfoZip=k);const U=i.get(30805);U&&(X(U,x?{}:e,!1),e.extraFieldUnix=U);const A=i.get(6534);if(A&&(e.extraFieldUSDZ=A),h)throw new Error(r.SU);return f}function V(t,e,n,r,o){if(t.data.length<5)return void(t.valid=!1);const a=(0,u.MS)(t.data),s=new w.s;s.append(o[n]);const i=(0,u.MS)(new Uint8Array(4));i.setUint32(0,s.get(),!0);const l=gt(a,1),f=ht(a,0);Object.assign(t,{version:f,[e]:(0,c.g7)(t.data.subarray(5)),valid:1==f&&!o.bitFlag.languageEncodingFlag&&l==gt(i,0)}),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function q(t,e){if(t.data.length<8)return;const n=(0,u.MS)(t.data),r={lastAccessDate:new Date(1e3*(0|gt(n,0))),lastModDate:new Date(1e3*(0|gt(n,4)))};t.data.length>=12&&(r.uid=mt(n,8),r.gid=mt(n,10)),Object.assign(t,r),Object.assign(e,r)}function X(t,e,n){try{const r=(0,u.MS)(t.data);let o,a;if(n){let e=0;const n=ht(r,e++),s=ht(r,e++);o=Y(t.data.subarray(e,e+s)),e+=s;const i=ht(r,e++);a=Y(t.data.subarray(e,e+i)),Object.assign(t,{version:n,uid:o,gid:a})}else t.data.length>=4&&(o=mt(r,0),a=mt(r,2),Object.assign(t,{uid:o,gid:a}));return void 0!==o&&(e.uid=o),void 0!==a&&(e.gid=a),void 0!==o||void 0!==a}catch{}}function Y(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function K(t,e){return t.start<e.end&&e.start<t.end}async function G(t,e,{crc32:n,compressedSize:o,uncompressedSize:a,zip64:s}){const c=Math.min(24,Math.max(0,t.size-e)),l=c?await(0,i.Ul)(t,e,c):r.D6,f=(0,u.MS)(l),d=[[s,!0],[s,!1],[!s,!0],[!s,!1]].map(([t,e])=>Q(f,t,e)).filter(t=>t&&t.compressedSize==o&&t.uncompressedSize==a);return d.find(t=>t.crc32==n)||d[0]||Q(f,s,!0)||Q(f,s,!1)}async function J(t,e,{crc32:n,compressedSize:r,uncompressedSize:o,extraFieldZip64:a}){const s=await G(t,e,{crc32:n,compressedSize:r,uncompressedSize:o,zip64:Boolean(a)});if(s&&s.compressedSize==r&&s.uncompressedSize==o)return _(s.zip64,s.signature)}function Q(t,e,n){const o=n?4:0;if(t.byteLength<_(e,n)||n&&gt(t,0)!=r.Gi)return;const a=gt(t,o);let s,i;try{e?(s=yt(t,o+4),i=yt(t,o+12)):(s=gt(t,o+4),i=gt(t,o+8))}catch{return}return{signature:n,zip64:e,crc32:a,compressedSize:s,uncompressedSize:i}}function _(t,e){return(t?20:12)+(e?4:0)}function $(t,e){return t.getDiskOffset?t.getDiskOffset(e):0}async function tt(t){const e=await(0,i.Ul)(t,0,4);return gt((0,u.MS)(e))}function et(t){return"strict"===t||t===h.So||t===h.xC}function nt(t,e){return rt(t,rt(e,h.So))}function rt(t,e){const n=t[h.BH];if(void 0!==n){if(!et(n))throw new Error("Invalid strictness (must be 'strict', 'balanced' or 'tolerant')");return n}const r=t[h.D9];return void 0===r?e:r?"strict":e==h.xC?h.xC:h.So}function ot(t,e){if(e==h.xC)return!1;const n=t.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(C.test(t)||t.startsWith("/")||t.startsWith("\\")||R.test(t))||"strict"==e&&(n.includes(".")||n.includes("")||t.includes("\0"))}async function*at(t,e){const n=t.size-e,o=await(0,i.Ul)(t,n,e),a=(0,u.MS)(o);for(let t=o.length-22;t>=0;t--)gt(a,t)==r.fB&&(yield[a,n,o,t,n+t])}function st(t,e,n){return{offset:n,buffer:new Uint8Array(t.subarray(e,e+22)).buffer}}async function it(t,e,n,o,a,s,i){const c=mt(e,o+10),u=gt(e,o+12),l=gt(e,o+16);if(65535==c||u==r.ac||l==r.ac)return await ct(t,e,n,a-20,s,i)==r.OL?2:0;if(!c&&!u)return 1;const f=mt(e,o+6);for(const o of[a-u,$(t,f)+l])if(await ct(t,e,n,o,s,i)==r.cC)return 2;return 0}async function ct(t,e,n,r,o,a){if(!(r<0||r+4>o)){if(r>=n)return gt(e,r-n);if(a.remaining>0){a.remaining--;const e=await(0,i.Ul)(t,r,4);return gt((0,u.MS)(e),0)}}}function ut(t,e,n){t?lt(n):(0,l.A)(e,n)}function lt(t){const e=new Error("Ambiguous archive");throw e.reason=t,e}function ft(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function dt(t,e,n){return(0,h.oe)(ft(t,e,n))}function wt(t){const e=(4294901760&t)>>16,n=65535&t,o=new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<r.AN?r.AN:o}function pt(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function ht(t,e){return t.getUint8(e)}function mt(t,e){return t.getUint16(e,!0)}function gt(t,e){return t.getUint32(e,!0)}function yt(t,e){const n=t.getBigUint64(e,!0);if(n>I)throw new Error("64-bit value exceeds Number.MAX_SAFE_INTEGER");return Number(n)}n.d(e,["lF",0,y])}}]);
package/config.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@5.2.0-next.145/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
2
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const t={apiKey:void 0,apiKeys:{scopes:[]},applicationName:``,applicationUrl:globalThis.location?.href,assetsPath:``,fontsUrl:`https://static.arcgis.com/fonts`,geometryServiceUrl:`https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer`,geoRSSServiceUrl:`https://utility.arcgis.com/sharing/rss`,kmlServiceUrl:`https://utility.arcgis.com/sharing/kml`,userPrivilegesApplied:!0,portalUrl:`https://www.arcgis.com`,respectPrefersReducedMotion:!0,routeServiceUrl:`https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World`,workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[`arcgis.com`,`arcgisonline.com`,`esrikr.com`,`premiumservices.blackbridge.com`,`esripremium.accuweather.com`,`gbm.digitalglobe.com`,`firstlook.digitalglobe.com`,`msi.digitalglobe.com`],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:`high`,proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(e(t,globalThis.esriConfig,!0),delete t.has),!t.assetsPath&&(t.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@5.2.0-next.146/assets`,t.defaultAssetsPath=t.assetsPath);export{t as default};
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.145`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}has(`host-webworker`)||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(`host-webworker`);export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
2
+ import has from"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.146`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}has(`host-webworker`)||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(`host-webworker`);export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as B}from"./support/parquetUtils.js";import V from"./support/PortalItemData.js";import{rendererTypes as H}from"../renderers/support/typeUtils.js";import U from"../rest/support/Query.js";import{createPopupTemplate as W}from"../support/popupUtils.js";import{utc as G}from"../time/constants.js";const K=N(),q=`__OBJECTID`,J={types:{key:`type`,base:null,typeMap:{wkb:I,location:F}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let Y=class extends C(S(y(T(x(D(E(w(s(b(n(_))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new g(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=q,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return G}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==q||e.type!==`oid`).map(e=>e.toJSON(r));c(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){P(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return W(this,e)}createQuery(){let e=new U;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new v({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return U.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),P(this.renderer,this.fieldsIndex),this.spatialReference??=h.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],Y.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],Y.prototype,`charts`,void 0),e([d({type:String})],Y.prototype,`copyright`,void 0),e([d({readOnly:!0})],Y.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],Y.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Y.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],Y.prototype,`returnM`,void 0),e([d({type:Boolean})],Y.prototype,`returnZ`,void 0),e([d()],Y.prototype,`displayOptimization`,void 0),e([d({type:[M],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],Y.prototype,`fields`,void 0),e([p(`fields`)],Y.prototype,`writeFields`,null),e([d(K.fieldsIndex)],Y.prototype,`fieldsIndex`,void 0),e([d(J)],Y.prototype,`geometryEncoding`,void 0),e([d({type:m,json:{name:`extent`}})],Y.prototype,`fullExtent`,void 0),e([d({type:B.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:B.read},write:{writer:B.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:B.read}}}}})],Y.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],Y.prototype,`graphicOrigin`,void 0),e([d(O)],Y.prototype,`labelsVisible`,void 0),e([d({type:[L],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:R},write:!0}})],Y.prototype,`labelingInfo`,void 0),e([d(k)],Y.prototype,`legendEnabled`,void 0),e([d()],Y.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],Y.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],Y.prototype,`operationalLayerType`,void 0),e([d(K.outFields)],Y.prototype,`outFields`,void 0),e([d(A)],Y.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],Y.prototype,`popupTemplate`,void 0),e([d({types:H,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],Y.prototype,`renderer`,null),e([d({type:v,readOnly:!0,cast:null,json:{read:!1}})],Y.prototype,`source`,void 0),e([d({type:h,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],Y.prototype,`spatialReference`,void 0),e([d({type:[j]})],Y.prototype,`templates`,void 0),e([d()],Y.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],Y.prototype,`type`,void 0),e([d({types:{key:`type`,base:null,typeMap:{files:z,"portal-item":V}},json:{name:`source`,origins:{"web-map":{write:{target:`source`,ignoreOrigin:!0}}}}})],Y.prototype,`data`,void 0),e([p(`web-map`,`data`)],Y.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],Y.prototype,`urls`,null),Y=e([f(`esri.layers.ParquetLayer`)],Y);export{Y as default};
2
+ import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as B}from"./support/parquetUtils.js";import V from"./support/PortalItemData.js";import{rendererTypes as H}from"../renderers/support/typeUtils.js";import U from"../rest/support/Query.js";import{createPopupTemplate as W}from"../support/popupUtils.js";import{utc as G}from"../time/constants.js";const K=N(),q=`__OBJECTID`,J={types:{key:`type`,base:null,typeMap:{wkb:I,location:F}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let Y=class extends C(S(y(T(x(D(E(w(s(b(n(_))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new g(this),this.hasM=!1,this.hasZ=!1,this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=q,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return G}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==q||e.type!==`oid`).map(e=>e.toJSON(r));c(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){P(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return W(this,e)}createQuery(){let e=new U;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new v({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return U.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),P(this.renderer,this.fieldsIndex),this.spatialReference??=h.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],Y.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],Y.prototype,`charts`,void 0),e([d({type:String})],Y.prototype,`copyright`,void 0),e([d({readOnly:!0})],Y.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],Y.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Y.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],Y.prototype,`returnM`,void 0),e([d({type:Boolean})],Y.prototype,`returnZ`,void 0),e([d()],Y.prototype,`displayOptimization`,void 0),e([d({type:[M],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],Y.prototype,`fields`,void 0),e([p(`fields`)],Y.prototype,`writeFields`,null),e([d(K.fieldsIndex)],Y.prototype,`fieldsIndex`,void 0),e([d(J)],Y.prototype,`geometryEncoding`,void 0),e([d({type:m,json:{name:`extent`}})],Y.prototype,`fullExtent`,void 0),e([d({type:B.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:B.read},write:{writer:B.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:B.read}}}}})],Y.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],Y.prototype,`graphicOrigin`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],Y.prototype,`hasM`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],Y.prototype,`hasZ`,void 0),e([d(O)],Y.prototype,`labelsVisible`,void 0),e([d({type:[L],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:R},write:!0}})],Y.prototype,`labelingInfo`,void 0),e([d(k)],Y.prototype,`legendEnabled`,void 0),e([d()],Y.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],Y.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],Y.prototype,`operationalLayerType`,void 0),e([d(K.outFields)],Y.prototype,`outFields`,void 0),e([d(A)],Y.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],Y.prototype,`popupTemplate`,void 0),e([d({types:H,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],Y.prototype,`renderer`,null),e([d({type:v,readOnly:!0,cast:null,json:{read:!1}})],Y.prototype,`source`,void 0),e([d({type:h,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],Y.prototype,`spatialReference`,void 0),e([d({type:[j]})],Y.prototype,`templates`,void 0),e([d()],Y.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],Y.prototype,`type`,void 0),e([d({types:{key:`type`,base:null,typeMap:{files:z,"portal-item":V}},json:{name:`source`,origins:{"web-map":{write:{target:`source`,ignoreOrigin:!0}}}}})],Y.prototype,`data`,void 0),e([p(`web-map`,`data`)],Y.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],Y.prototype,`urls`,null),Y=e([f(`esri.layers.ParquetLayer`)],Y);export{Y as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{toConst as n}from"../../../../core/compilerUtils.js";import r from"../../../../core/Error.js";import i from"../../../../core/Handles.js";import has from"../../../../core/has.js";import a from"../../../../core/Logger.js";import{onAbortOrThrow as o,throwIfAborted as s}from"../../../../core/promiseUtils.js";import{QueueProcessor as c}from"../../../../core/QueueProcessor.js";import{parseWhereClause as l}from"../../../../core/sql.js";import{getMetersPerUnitForSR as u}from"../../../../core/units.js";import d from"../../../../geometry/SpatialReference.js";import{set as f,create as p,expandWithAABB as m,expandWithRect as ee,negativeInfinity as h}from"../../../../geometry/support/aaBoundingBox.js";import{copy as te,negativeInfinity as g,create as ne,expandWithRect as re}from"../../../../geometry/support/aaBoundingRect.js";import{isWebMercator as _,isWGS84 as v}from"../../../../geometry/support/spatialReferenceUtils.js";import{normalizeColumnPath as y,readParquetFileAttribute as b}from"../../../parquet.js";import{convertToGeometry as x}from"../../featureConversionUtils.js";import{getFieldNamesFromStatistics as S}from"../../data/attributeSupport.js";import{getQueryResultExtent as C,getQueryBoundingRects as w,QueryEngine as T}from"../../data/QueryEngine.js";import{queryCapabilities as ie}from"../../data/QueryEngineCapabilities.js";import{QueryEngineResult as E}from"../../data/QueryEngineResult.js";import{normalizeQueryLike as D}from"../../data/queryUtils.js";import{createFileProvider as O}from"../parquet/createFileProvider.js";import{readFieldStatistic as k}from"../parquet/ParquetFileStatistics.js";import{createDrawingInfo as ae}from"./clientSideDefaults.js";import{getParquetFileId as oe,getParquetRowId as se,getParquetObjectId as ce}from"./parquetIdUtils.js";import A from"../../../support/Field.js";import j from"../../../support/FieldsIndex.js";import{isNumericField as M}from"../../../support/fieldUtils.js";import{fromParquetGeometryEncodingJSON as N}from"../../../support/parquetEncodingUtils.js";import{completeParquetLayerInfo as P,fromParquetJSONGeometryType as F,toParquetJSONGeometryType as I}from"../../../support/parquetUtils.js";import{loadParquetModule as L}from"../../../../libs/librust-parquet/loadParquetModule.js";import{utc as R}from"../../../../time/constants.js";import{FeatureStoreQueryAdapter as z}from"../../../../views/2d/layers/features/FeatureStoreQueryAdapter.js";import{FeatureSnapshotSourceChunk as B}from"../../../../views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js";import{FeatureSourceChunkStore as V}from"../../../../views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js";import{FeatureMetadata as H}from"../../../../views/2d/layers/features/support/FeatureMetadata.js";import{FeatureSetReaderParquet as U}from"../../../../views/2d/layers/features/support/FeatureSetReaderParquet.js";const W=new z,G=`__OBJECTID`,K=8e3;class le{constructor(e,t){this._files=e,this._createFileStream=t,this._fileIndex=0,this._streamIndex=0,this._streams=[],this._pending=new Set,this._resolvedCount=0}async next(e){for(await this._fill(e);this._pending.size>0;){s(e),await this._fill(e);let t=await ue(this._pending);if(this._pending.delete(t.read),this._resolvedCount++,t.chunk!=null)return t.chunk}return null}async _fill(e){for(this._removeDone();this._pending.size<8;){let t=this._getOrCreateNextStream(e);if(t==null)return;this._pending.add(t.read(e))}}_getOrCreateNextStream(e){let t=this._resolvedCount>=8?8:2;if(this._fileIndex<this._files.length&&this._streams.length<t){let t=this._files[this._fileIndex++],n=new de(t.id,this._createFileStream(t,e));return this._streams.push(n),n}return this._getNextStream()}_getNextStream(){let e=this._streams.length;for(let t=0;t<e;t++){let n=(this._streamIndex+t)%e,r=this._streams[n];if(r.canRead)return this._streamIndex=(n+1)%e,r}return null}_removeDone(){let e=this._streamIndex;for(let t=this._streams.length-1;t>=0;t--)this._streams[t].done&&(this._streams.splice(t,1),t<e&&e--);this._streamIndex=this._streams.length>0?e%this._streams.length:0}}function ue(e){return Promise.race(Array.from(e,async e=>({read:e,chunk:await e})))}class de{constructor(e,t){this._fileId=e,this._stream=t,this._readCount=0,this._reachedEnd=!1}get canRead(){return!this._reachedEnd}get done(){return this._reachedEnd&&this._readCount===0}async read(e){this._readCount++;try{let t=await(await this._stream).next(e);return t==null?(this._reachedEnd=!0,null):{fileId:this._fileId,chunk:t}}finally{this._readCount--}}}class fe{constructor(){this._hasZ=!1,this._hasM=!1,this._queue=new c({concurrency:4,process:(e,t)=>this._executeQuery(e,t)}),this._streams=new Map,this._streamIdCounter=0,this._indexMap={},this._handles=new i}async load(e){let t=e.spatialReference?d.fromJSON(e.spatialReference):void 0;if(t&&!t.isWGS84&&!t.isWebMercator)throw new r(`parquet:unsupported-projection`,`Only WGS84 and Web Mercator are supported`);this._customParameters=e.customParameters,this._loadParameters=e,await this._updateProvider(O(e.provider,null,()=>this._customParameters));let n=await this._provider.getMetadata(),i=await P(n,{fields:e.fields?.map(e=>A.fromJSON(e)),geometryEncoding:e.geometryEncoding?N(e.geometryEncoding):null,geometryType:e.geometryType?F(e.geometryType):null,displayOptimization:e.displayOptimization,spatialReference:t});if(this._hasZ=!!n?.hasZ,this._hasM=!!n?.hasM,!i.fields)throw new r(`parquet:unsupported`,`Fields must be defined`);let o;if(i.spatialReference&&i.geometryType){if(!i.spatialReference)throw new r(`parquet:unsupported`,`SpatialReference must be defined`);if(!i.spatialReference.isGeographic&&!i.spatialReference.isWebMercator)throw new r(`parquet:unsupported-projection`,`Only WGS84 and Web Mercator are supported`);i.spatialReference.isGeographic&&!i.spatialReference.isWGS84&&(a.getLogger(`parquet:unsupported-projection`).warn(`Found a geographic projection that is not WGS84. Handling as WGS84.`,{spatialReference:i.spatialReference}),i.spatialReference=d.WGS84),o={geometry:i.geometryEncoding?{geometryType:I(i.geometryType),spatialReference:i.spatialReference.toJSON(),encoding:i.geometryEncoding.toJSON()}:null,displayOptimization:i.displayOptimization}}this.setCustomParameters(e.customParameters),this._displayOptimization=i.displayOptimization,await this._provider.updateGeometryInfo(o),this._capabilities=$(await this._getFileStatistics(),this._hasZ,this._hasM);let s=await this._provider.getFiles();if(!s.length)return{layerDefinition:{},capabilities:$(null,this._hasZ,this._hasM)};let c=await s[0].file;i.file=c;let{fields:l}=i;if(l==null)throw new r(`parquet-layer:missing-metadata`,`Unable to create parquet source: cannot infer fields`,l);l.push(new A({name:G,type:`oid`,alias:G}));for(let e of l){let t=c.getColumnId(e.name);t!=null&&(this._indexMap[e.name]=t)}let u=j.fromLayerJSON({fields:l.map(e=>e.toJSON()),dateFieldsTimeReference:{timeZoneIANA:`UTC`}});this._fieldsIndex=u;let f=I(i.geometryType??`point`);return this._metadata=H.createFeature({fieldsIndex:u.toJSON(),geometryType:f,hasZ:this._hasZ,hasM:this._hasM,featureIdInfo:{type:`object-id`,fieldName:G},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:i.spatialReference,outSpatialReference:null,attributeSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:R}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:f,featureIdInfo:{type:`object-id`,fieldName:G},hasM:this._hasM,hasZ:this._hasZ,spatialReference:i.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},this._fullExtent=n?.extent?n.extent:await this._tryDeriveParquetFullExtent(i),{capabilities:this._capabilities,layerDefinition:{fields:i.fields?.map(e=>e.toJSON()),drawingInfo:ae(f),extent:this._fullExtent??void 0,geometryType:f,geometryEncoding:i.geometryEncoding?.toJSON(),displayOptimization:i.displayOptimization}}}destroy(){this._provider.destroy(),this._queue.destroy();for(let{handle:e}of this._streams.values())e.remove();this._streams.clear(),this._indexMap={},this._handles.removeAll()}async reload(e){this.destroy(),await this.load(e)}set remoteClient(e){this._source=e.createInvokeProxy(``)}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async updateFileProvider(e){this._loadParameters={...this._loadParameters,provider:e};let t=O(e,this._provider.getGeometryInfo(),()=>this._customParameters);await this._updateProvider(t)}async getDiagnosticsSnapshot(){let e=await this._provider.getFiles();return{files:await Promise.all(e.map(e=>e.getDiagnosticsSnapshot()))}}async getColumnIndex(e){return(await this._getFileInfoById(e.fileId)).getColumnIndex(e.rowGroupIndex,e.columnIndex)}async getOffsetIndex(e){return(await this._getFileInfoById(e.fileId)).getOffsetIndex(e.rowGroupIndex,e.columnIndex)}async queryFeatures(e,t){let n=await D(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(n),we(n)||(n.resultRecordCount=n.resultRecordCount?Math.min(n.resultRecordCount,K):K,n.resultOffset=n.resultOffset??0),n.outStatistics?this._queryStatistics(n,t):(n.returnDistinctValues&&(n.returnGeometry=void 0),(await this._enqueueQuery(n,t)).createQueryResponse())}async queryFeatureCount(e,t){let n=await D(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(n),!q(n)&&!n.returnDistinctValues&&!n.groupByFieldsForStatistics?.length&&!n.outStatistics?.length?this._getFeatureCount():(n.returnDistinctValues||(n.outFields=void 0),n.returnGeometry=void 0,(await this._enqueueQuery(n,t)).createQueryResponseForCount())}async queryObjectIds(e,t){let n=await D(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(n),q(n)?(n.resultRecordCount=n.resultRecordCount?Math.min(n.resultRecordCount,8e3):8e3,n.resultOffset=n.resultOffset??0,n.returnGeometry=void 0,n.outFields=void 0,n.returnDistinctValues=void 0,(await this._enqueueQuery(n,t)).items.map(e=>e.getObjectId())):Array.from({length:await this._getFeatureCount()},(e,t)=>t)}async queryAttributeBins(e,t={}){throw new r(`parquet:unsupported`,`queryAttributeBins not supported.`)}async queryExtent(e,t){let r=await D(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),this._fullExtent&&!q(r))return{count:await this._getFeatureCount(),extent:this._fullExtent};let i=n(this._metadata.spatialReference);r.returnGeometry=!0,r.outFields=void 0;let a=f(p(),h),o=p(),s=await this._enqueueQuery(r,t),c=0;for(let e of s.items)e.getBounds(o)&&(m(a,o),c+=1);let l=C(a,i,r.outSR?n(r.outSR):i.toJSON(),i,!1);return{count:c,extent:l}}async queryStream(e,t){if(!t.signal)throw Error(`InternalError: AbortSignal must be passed`);let n=await this._getCandidateFiles(e),r=new le(n,async(t,n)=>{let r=await t.file,i=await this._createParquetDisplayQuery(r,t.id,e);return r.executeQuery(i,K,n)}),i=this._streamIdCounter++,a=o(t.signal,e=>{let t=this._streams.get(i);t!=null&&(t.handle.remove(),this._streams.delete(i))});return this._streams.set(i,{stream:r,handle:a}),i}async getStreamNext(e,t){if(!t.signal)throw Error(`InternalError: AbortSignal must be passed`);let n=this._streams.get(e);if(!n)return{result:null};let r=await n.stream.next(t.signal);if(r==null)return n.handle.remove(),this._streams.delete(e),{result:null};let i=r.chunk.serialize().buffer,a={fileId:r.fileId,buffer:i};return i instanceof ArrayBuffer?{result:a,transferList:[i]}:{result:a}}async getStreamNextFeatures(e,t){let{result:n}=await this.getStreamNext(e,t);if(n==null)return null;let r=(await L()).ParquetChunk.deserialize(new Uint8Array(n.buffer)),i=new U(this._metadata,this._indexMap,r,n.fileId),a=[];for(;i.next();){let e=x(i.readGeometryWorldSpace(),i.geometryType,i.hasZ,i.hasM),t=i.readAttributes();a.push({attributes:t,geometry:e})}return{features:a}}async createPatch(e,t,n,r,i){if(!i.signal)throw Error(`InternalError: AbortSignal must be passed`);return(await(await(await this._getFileInfoById(e)).file).createChunkPatch(t,n,r,i.signal)).serialize().buffer}async _updateProvider(e){let t=this._provider;this._handles.removeAll(),this._provider=e,this._handles.add([e.events.on(`rangeRead`,e=>{this._source.onRangeRead(e)}),e.events.on(`sourceChanged`,async()=>{await this.reload(this._loadParameters),await this._source.onSourceChange()})]),await t?.destroy()}async _getCandidateFiles(e){let t=await this._provider.getFiles(),n=await this._getSpatialFilePruning(e);if(n==null)return t;let r=t.filter(e=>this._mayIncludeFileForSpatialPruning(e,n));return n.type===`xz`?Ce(r,n):r}async _queryStatistics(e,t){let n=await D({...e},null,this._queryEngineParams.spatialReference);if(n.returnGeometry=void 0,ve(n,this._fieldsIndex)){let e=await this._getStatisticsFromFiles(n);if(e)return e}return(await this._enqueueQuery(n,t)).createQueryResponse()}async _getStatisticsFromFiles(e){let t=await this._provider.getFiles(),n={},r=[];for(let i of e.outStatistics??[]){let e=xe(i,t);if(!e.available)return null;n[i.outStatisticFieldName]=e.value,r.push(be(i,this._fieldsIndex))}return{fields:r,features:[{attributes:n}]}}async _getSpatialFilePruning(e){if(e.type!==`tile`&&(e.type!==`arcade`||e.extent==null))return null;let t=this._displayOptimization?.index;if(t==null)return null;let n=e.outSpatialReference.wkid;if(t.wkid==null||n==null)return null;let r=t.wkid,i=await L();switch(t.type){case`xz`:return{type:`xz`,fieldName:y(t.code),intersects:(a,o)=>i.queryIntersectsXZStatistics(t.fullExtent,e.extent,n,r,t.maxLevel,a,o)};case`z`:return{type:`xy`,xFieldName:y(t.xColumn),yFieldName:y(t.yColumn),intersects:(t,a,o,s)=>i.queryIntersectsXYStatistics(e.extent,n,r,t,a,o,s)}}}_mayIncludeFileForSpatialPruning(e,t){switch(t.type){case`xz`:{let n=Z(e,t);return n?.type===`null-only`?!1:n?.type!==`bounds`||t.intersects(n.minValue,n.maxValue)}case`xy`:{let n=e.statistics.statistics.get(t.xFieldName),r=e.statistics.statistics.get(t.yFieldName);return n?.type===`null-only`||r?.type===`null-only`?!1:n?.type!==`bounds`||r?.type!==`bounds`||t.intersects(n.minValue,n.maxValue,r.minValue,r.maxValue)}}}async _tryDeriveParquetFullExtent(n){if(!n.spatialReference)return null;if(this._fullExtent==null&&n.geometryEncoding?.type===`location`){let r=await this._provider.getFiles(),{xField:i,yField:a}=n.geometryEncoding,o=f(p(),h),s=!1;for(let n of r){let r=await n.file;for(let n of r.rowGroups()){let r={stack:[],error:void 0,hasError:!1};try{let t=e(r,n.columnDescriptorForAttribute(i),!1),c=e(r,n.columnDescriptorForAttribute(a),!1),l=k(t),u=k(c);if(l?.type===`bounds`&&u?.type===`bounds`){let e=[l.minValue,u.minValue,l.maxValue,u.maxValue];ee(o,e),s=!0}n.free()}catch(e){r.error=e,r.hasError=!0}finally{t(r)}}}return s?{xmin:o[0],ymin:o[1],xmax:o[3],ymax:o[4],spatialReference:n.spatialReference?.toJSON()}:null}return null}async _getFileInfoById(e){let t=await this._provider.getFiles();for(let n of t)if(n.id===e)return n;throw Error(`InternalError: File ${e} does not exist`)}async _getFileStatistics(){return{featureCount:await this._getFeatureCount(),byteLength:await this._getByteLength()}}async _getFile(e){return(await this._getFileInfoById(e)).file}async _createParquetQuery(e,t,n,r,i){let a=(await L()).Query.new();n!=null&&a.setPreFilterStart(n),r!=null&&a.setPreFilterCount(r),i!=null&&a.setPostFilterCount(i);let o=await this._getRequiredFields(e);a.setOutFields(o),(e.geometry||e.returnGeometry)&&a.setReturnGeometry(!0),a.setReturnZ(!!e.returnZ),a.setReturnM(!!e.returnM);let s=this._tryGetGeneralizedGeometryResolution(e);s!=null&&a.setSourceResolution(s);let c=e.geometry?.spatialReference??this._queryEngineParams.spatialReference,l=c.wkid;if(e.geometry&&(_(c)||v(c))){let t=te(ne(),g);for(let n of w(e.geometry))re(t,n);a.setOutSpatialReference(l),a.setExtent({xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3]})}if(e.where){let{id:n,file:r}=t;await this._setWhereClause(a,await r,n,e.where)}return a}async _createParquetDisplayQuery(e,t,n){let r=(await L()).Query.new();if(n.type===`tile`){r.setExtent(n.extent),r.setQuantizationTransform(n.transform);let e=this._sourceResolution(n.resolution,n.outSpatialReference);e!=null&&r.setSourceResolution(e)}else n.type===`arcade`&&n.extent!=null&&r.setExtent(n.extent);return r.setOutFields(n.outFields.filter(e=>this._indexMap[e]!=null)),r.setOutSpatialReference(n.outSpatialReference.wkid),r.setReturnGeometry(n.returnGeometry),r.setReturnZ(n.returnZ),r.setReturnM(n.returnM),n.where&&await this._setWhereClause(r,e,t,n.where),r}async _getFeatureCount(){return(await this._provider.getFiles()).map(e=>e.statistics.rowCount).reduce((e,t)=>e+t,0)}async _getByteLength(){return(await this._provider.getFiles()).map(e=>e.statistics.byteSize).reduce((e,t)=>e+t,0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new r(`parquet:unsupported`,`Statistics queries are not supported`,{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new r(`parquet:unsupported`,`Queries using orderBy are not supported`,{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new r(`parquet:unsupported`,`Queries using returnDistinctValues are not supported`,{query:e})}async _setWhereClause(e,t,n,i){let a=this._indexMap,o=this._fieldsIndex,s={getAttribute(e,r){let i=a[r];if(i==null){if(o.get(r)?.name===`__OBJECTID`){let t=e.row+e.rowGroupStart;return ce(n,t)}return null}let s=o.get(r);return b(t,e.rowGroup,e.row,i,s.type)}},c=await l(i,this._fieldsIndex);if(!c.isStandardized)throw new r(`sql-parse-error`,`expression is not standardized`);let u=(e,t,n)=>c.testFeatureCompiled({rowGroup:e,row:t,rowGroupStart:n},s,null),d=c.fieldNames.map(e=>o.get(e)).filter(e=>e&&this._indexMap[e?.name]!=null);e.setWhere(i),e.setWhereEvaluator(u),e.setWhereFields(d.map(e=>e.name))}async*_streamFeatures(e,t,n,r,i){let a=await this._provider.getFiles(),o=0;for(let s of a){let a=o,c=o+s.statistics.rowCount;if(o+=s.statistics.rowCount,t!=null&&t>=c)continue;let l=t==null?null:Math.max(t-a,0),u=n;if(n!=null){let e=t??0,r=e+n;u=Math.max(Math.min(r,c)-Math.max(e,a),0)}if(u===0)continue;let d=await this._createParquetQuery(e,s,l,u,r),f=await(await s.file).executeQuery(d,K),p=async()=>{let e=await f.next(i);if(!e)return null;let t=new U(this._metadata,this._indexMap,e,s.id);return X([new B(t,null,0,!1)],this._queryEngineParams)},m=await p();for(;m!=null;)yield m,m=await p()}}async _queryFeaturesWithQueryEnginePagination(e,t){let n=[],r=this._streamFeatures(e,null,null,null,t),i=await r.next();for(;!i.done;){let a=await i.value.executeQueryForOpaqueFeatures({...e,where:void 0},t);for(let e of a)n.push(e);i=await r.next()}return n}async _queryFeaturesWithUpfrontPagination(e,t){let n=e.resultOffset??0,r=e.resultRecordCount??K,i,a,o;ge(e)?_e(e)||(o=n+r):(n&&=(i=n,0),a=e.resultRecordCount);let s=[],c=this._streamFeatures(e,i,a,o,t),l=await c.next();for(;!l.done&&r>0;){let i=await l.value.executeQueryForOpaqueFeatures({...e,where:void 0},t);for(let e of i){if(n>0){n--;continue}if(s.push(e),--r<=0)return s}l=await c.next()}return s}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){if(e.objectIds?.length){let n=new Map;for(let t of e.objectIds){let e=oe(t),r=se(t),i=n.get(e);i||(i=[],n.set(e,i)),i.push(r)}let r=[];for(let[i,a]of n.entries()){let n=await this._executeFileIdQuery(e,i,a,t);for(let e of n)r.push(e)}return new E(r,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:W,featureIdInfo:this._queryEngineParams.featureIdInfo})}if(e.where===`1=1`&&(e.where=null),e.resultOffset??=0,e.resultRecordCount??=await this._getFeatureCount(),e.resultRecordCount>2e7&&!(this._displayOptimization&&e.geometry))throw new r(`parquet:cannot-execute-query`,`Unable to execute query, dataset is too large.`);let n=!!e.orderByFields?.length||!!e.outStatistics?.length||!!e.returnDistinctValues,i=n?await this._queryFeaturesWithQueryEnginePagination(e,t):await this._queryFeaturesWithUpfrontPagination(e,t);return n||(e.resultOffset=0),new E(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:W,featureIdInfo:this._queryEngineParams.featureIdInfo})}async _executeFileIdQuery(e,t,n,r){let i=await this._getRequiredFields(e),a=(await L()).Query.new();a.setOutFields(i),a.setReturnGeometry(!!e.returnGeometry),a.setReturnZ(!!e.returnZ),a.setReturnM(!!e.returnM),a.setIds(new Uint32Array(n));let o=await(await this._getFile(t)).executeQuery(a,K,r),s=await o.next(r),c=0,l=[];for(;s!=null;){let e=new U(this._metadata,this._indexMap,s,t),n=new B(e,null,c++,!1);l.push(n),s=await o.next(r)}return X(l,this._queryEngineParams).executeQueryForOpaqueFeatures(e,r)}async _getRequiredFields(e){let t=new Set;if(e.outStatistics)for(let n of S(this._fieldsIndex,e.outStatistics,e.groupByFieldsForStatistics))t.add(n);else if(e.outFields)for(let n of e.outFields)t.add(n);return(t.has(`*`)?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>this._indexMap[e]!=null)}_tryGetGeneralizedGeometryResolution(e){if(!this._displayOptimization)return null;let t=e.outSR??this._queryEngineParams.spatialReference;if(!_(t)&&!v(t))return null;let n=e.quantizationParameters?.tolerance??e.maxAllowableOffset;return n?this._sourceResolution(n,t):null}_sourceResolution(e,t){let n=this._queryEngineParams.spatialReference,r=u(t)/u(n)*e;return!Number.isFinite(r)||r<=0?null:r}}function pe(e){switch(e){case`fullText`:case`having`:case`timeExtent`:case`historicMoment`:case`aggregateIds`:case`uniqueIds`:case`gdbVersion`:case`objectIds`:case`where`:case`geometry`:case`resultOffset`:case`resultRecordCount`:return!0;default:return!1}}function me(e){switch(e){case`fullText`:case`having`:case`timeExtent`:case`historicMoment`:case`aggregateIds`:case`uniqueIds`:case`gdbVersion`:case`objectIds`:case`where`:case`geometry`:return!0;default:return!1}}function he(e){switch(e){case`fullText`:case`having`:case`timeExtent`:return!0;case`historicMoment`:case`aggregateIds`:case`uniqueIds`:case`gdbVersion`:return!1;case`objectIds`:case`where`:case`resultOffset`:case`geometry`:case`resultRecordCount`:return!1}return!1}function q(e){for(let t in e){let n=t;if(pe(n)&&e[n]!==null)return!0}return!1}function ge(e){for(let t in e){let n=t;if(me(n)&&e[n]!==null)return!0}return!1}function _e(e){for(let t in e){let n=t;if(he(n)&&e[n]!==null)return!0}return!1}function ve(e,t){return!!e.outStatistics?.length&&!q(e)&&!e.groupByFieldsForStatistics?.length&&!e.orderByFields?.length&&!e.returnDistinctValues&&!e.returnAggIds&&e.outStatistics.every(e=>ye(e,t))}function ye(e,t){switch(e.statisticType){case`count`:return e.onStatisticField===`1`||t.get(e.onStatisticField)!=null;case`min`:case`max`:{let n=t.get(e.onStatisticField);return n!=null&&M(n)}default:return!1}}function be(e,t){let n=e.statisticType===`exceedslimit`?null:t.get(e.onStatisticField),r=(e.statisticType===`min`||e.statisticType===`max`)&&n?.type===`esriFieldTypeDate`?n.type:`esriFieldTypeDouble`;return{name:e.outStatisticFieldName,alias:e.outStatisticFieldName,type:r}}function xe(e,t){switch(e.statisticType){case`count`:return J(e,t);case`min`:return Y(e,t,Math.min);case`max`:return Y(e,t,Math.max);default:return{available:!1,value:null}}}function J(e,t){if(e.statisticType!==`count`)return{available:!1,value:null};if(e.onStatisticField===`1`)return{available:!0,value:t.reduce((e,t)=>e+t.statistics.rowCount,0)};let n=0;for(let r of t){let t=r.statistics.statistics.get(e.onStatisticField);if(t==null||t.nullCount==null)return{available:!1,value:null};n+=r.statistics.rowCount-t.nullCount}return{available:!0,value:n}}function Y(e,t,n){if(e.statisticType!==`min`&&e.statisticType!==`max`)return{available:!1,value:null};let r=null,i=e.statisticType===`min`?`minValue`:`maxValue`;for(let a of t){let t=a.statistics.statistics.get(e.onStatisticField);if(t==null)return{available:!1,value:null};switch(t.type){case`null-only`:continue;case`unknown`:return{available:!1,value:null};case`bounds`:{let e=Se(t[i]);if(e==null)return{available:!1,value:null};r=r==null?e:n(r,e);break}}}return{available:!0,value:r}}function Se(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function X(e,t){let n=new V;for(let t of e)n.insert(t);return new T({...t,featureStore:n})}function Z(e,t){return e.statistics.statistics.get(t.fieldName)??null}function Ce(e,t){return e.slice().sort((e,n)=>{let r=Q(e,t),i=Q(n,t);return r===i?0:r<i?-1:1})}function Q(e,t){let n=Z(e,t);return n?.type===`bounds`?n.maxValue-n.minValue:1/0}function $(e,t,n){let r=e?.featureCount,i=!1;return r!=null&&r<has(`parquetlayer-full-query-feature-count`)&&(i=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:n,supportsTrueCurve:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{...ie,maxRecordCount:K,supportsOrderBy:i,supportsDistinct:!0,supportsStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1}},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}function we(e){return!!e.objectIds?.length||!!e.outStatistics||!!e.orderByFields?.length||!!e.returnDistinctValues}export{fe as default};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{toConst as n}from"../../../../core/compilerUtils.js";import r from"../../../../core/Error.js";import i from"../../../../core/Handles.js";import has from"../../../../core/has.js";import a from"../../../../core/Logger.js";import{onAbortOrThrow as o,throwIfAborted as s}from"../../../../core/promiseUtils.js";import{QueueProcessor as c}from"../../../../core/QueueProcessor.js";import{parseWhereClause as l}from"../../../../core/sql.js";import{getMetersPerUnitForSR as u}from"../../../../core/units.js";import d from"../../../../geometry/SpatialReference.js";import{set as f,create as p,expandWithAABB as m,expandWithRect as ee,negativeInfinity as h}from"../../../../geometry/support/aaBoundingBox.js";import{copy as te,negativeInfinity as g,create as ne,expandWithRect as re}from"../../../../geometry/support/aaBoundingRect.js";import{isWebMercator as _,isWGS84 as v}from"../../../../geometry/support/spatialReferenceUtils.js";import{normalizeColumnPath as y,readParquetFileAttribute as b}from"../../../parquet.js";import{convertToGeometry as x}from"../../featureConversionUtils.js";import{getFieldNamesFromStatistics as S}from"../../data/attributeSupport.js";import{getQueryResultExtent as C,getQueryBoundingRects as w,QueryEngine as T}from"../../data/QueryEngine.js";import{queryCapabilities as ie}from"../../data/QueryEngineCapabilities.js";import{QueryEngineResult as E}from"../../data/QueryEngineResult.js";import{normalizeQueryLike as D}from"../../data/queryUtils.js";import{createFileProvider as O}from"../parquet/createFileProvider.js";import{readFieldStatistic as k}from"../parquet/ParquetFileStatistics.js";import{createDrawingInfo as ae}from"./clientSideDefaults.js";import{getParquetFileId as oe,getParquetRowId as se,getParquetObjectId as ce}from"./parquetIdUtils.js";import A from"../../../support/Field.js";import j from"../../../support/FieldsIndex.js";import{isNumericField as M}from"../../../support/fieldUtils.js";import{fromParquetGeometryEncodingJSON as N}from"../../../support/parquetEncodingUtils.js";import{completeParquetLayerInfo as P,fromParquetJSONGeometryType as F,toParquetJSONGeometryType as I}from"../../../support/parquetUtils.js";import{loadParquetModule as L}from"../../../../libs/librust-parquet/loadParquetModule.js";import{utc as R}from"../../../../time/constants.js";import{FeatureStoreQueryAdapter as z}from"../../../../views/2d/layers/features/FeatureStoreQueryAdapter.js";import{FeatureSnapshotSourceChunk as B}from"../../../../views/2d/layers/features/sources/strategies/chunks/FeatureSnapshotSourceChunk.js";import{FeatureSourceChunkStore as V}from"../../../../views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js";import{FeatureMetadata as H}from"../../../../views/2d/layers/features/support/FeatureMetadata.js";import{FeatureSetReaderParquet as U}from"../../../../views/2d/layers/features/support/FeatureSetReaderParquet.js";const W=new z,G=`__OBJECTID`,K=8e3;class le{constructor(e,t){this._files=e,this._createFileStream=t,this._fileIndex=0,this._streamIndex=0,this._streams=[],this._pending=new Set,this._resolvedCount=0}async next(e){for(await this._fill(e);this._pending.size>0;){s(e),await this._fill(e);let t=await ue(this._pending);if(this._pending.delete(t.read),this._resolvedCount++,t.chunk!=null)return t.chunk}return null}async _fill(e){for(this._removeDone();this._pending.size<8;){let t=this._getOrCreateNextStream(e);if(t==null)return;this._pending.add(t.read(e))}}_getOrCreateNextStream(e){let t=this._resolvedCount>=8?8:2;if(this._fileIndex<this._files.length&&this._streams.length<t){let t=this._files[this._fileIndex++],n=new de(t.id,this._createFileStream(t,e));return this._streams.push(n),n}return this._getNextStream()}_getNextStream(){let e=this._streams.length;for(let t=0;t<e;t++){let n=(this._streamIndex+t)%e,r=this._streams[n];if(r.canRead)return this._streamIndex=(n+1)%e,r}return null}_removeDone(){let e=this._streamIndex;for(let t=this._streams.length-1;t>=0;t--)this._streams[t].done&&(this._streams.splice(t,1),t<e&&e--);this._streamIndex=this._streams.length>0?e%this._streams.length:0}}function ue(e){return Promise.race(Array.from(e,async e=>({read:e,chunk:await e})))}class de{constructor(e,t){this._fileId=e,this._stream=t,this._readCount=0,this._reachedEnd=!1}get canRead(){return!this._reachedEnd}get done(){return this._reachedEnd&&this._readCount===0}async read(e){this._readCount++;try{let t=await(await this._stream).next(e);return t==null?(this._reachedEnd=!0,null):{fileId:this._fileId,chunk:t}}finally{this._readCount--}}}class fe{constructor(){this._hasZ=!1,this._hasM=!1,this._queue=new c({concurrency:4,process:(e,t)=>this._executeQuery(e,t)}),this._streams=new Map,this._streamIdCounter=0,this._indexMap={},this._handles=new i}async load(e){let t=e.spatialReference?d.fromJSON(e.spatialReference):void 0;if(t&&!t.isWGS84&&!t.isWebMercator)throw new r(`parquet:unsupported-projection`,`Only WGS84 and Web Mercator are supported`);this._customParameters=e.customParameters,this._loadParameters=e,await this._updateProvider(O(e.provider,null,()=>this._customParameters));let n=await this._provider.getMetadata(),i=await P(n,{fields:e.fields?.map(e=>A.fromJSON(e)),geometryEncoding:e.geometryEncoding?N(e.geometryEncoding):null,geometryType:e.geometryType?F(e.geometryType):null,displayOptimization:e.displayOptimization,spatialReference:t});if(this._hasZ=!!n?.hasZ,this._hasM=!!n?.hasM,!i.fields)throw new r(`parquet:unsupported`,`Fields must be defined`);let o;if(i.spatialReference&&i.geometryType){if(!i.spatialReference)throw new r(`parquet:unsupported`,`SpatialReference must be defined`);if(!i.spatialReference.isGeographic&&!i.spatialReference.isWebMercator)throw new r(`parquet:unsupported-projection`,`Only WGS84 and Web Mercator are supported`);i.spatialReference.isGeographic&&!i.spatialReference.isWGS84&&(a.getLogger(`parquet:unsupported-projection`).warn(`Found a geographic projection that is not WGS84. Handling as WGS84.`,{spatialReference:i.spatialReference}),i.spatialReference=d.WGS84),o={geometry:i.geometryEncoding?{geometryType:I(i.geometryType),spatialReference:i.spatialReference.toJSON(),encoding:i.geometryEncoding.toJSON()}:null,displayOptimization:i.displayOptimization}}this.setCustomParameters(e.customParameters),this._displayOptimization=i.displayOptimization,await this._provider.updateGeometryInfo(o),this._capabilities=$(await this._getFileStatistics(),this._hasZ,this._hasM);let s=await this._provider.getFiles();if(!s.length)return{layerDefinition:{},capabilities:$(null,this._hasZ,this._hasM)};let c=await s[0].file;i.file=c;let{fields:l}=i;if(l==null)throw new r(`parquet-layer:missing-metadata`,`Unable to create parquet source: cannot infer fields`,l);l.push(new A({name:G,type:`oid`,alias:G}));for(let e of l){let t=c.getColumnId(e.name);t!=null&&(this._indexMap[e.name]=t)}let u=j.fromLayerJSON({fields:l.map(e=>e.toJSON()),dateFieldsTimeReference:{timeZoneIANA:`UTC`}});this._fieldsIndex=u;let f=I(i.geometryType??`point`);return this._metadata=H.createFeature({fieldsIndex:u.toJSON(),geometryType:f,hasZ:this._hasZ,hasM:this._hasM,featureIdInfo:{type:`object-id`,fieldName:G},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:i.spatialReference,outSpatialReference:null,attributeSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:R}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:f,featureIdInfo:{type:`object-id`,fieldName:G},hasM:this._hasM,hasZ:this._hasZ,spatialReference:i.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},this._fullExtent=n?.extent?n.extent:await this._tryDeriveParquetFullExtent(i),{capabilities:this._capabilities,layerDefinition:{fields:i.fields?.map(e=>e.toJSON()),drawingInfo:ae(f),extent:this._fullExtent??void 0,geometryType:f,hasZ:this._hasZ,hasM:this._hasM,geometryEncoding:i.geometryEncoding?.toJSON(),displayOptimization:i.displayOptimization}}}destroy(){this._provider.destroy(),this._queue.destroy();for(let{handle:e}of this._streams.values())e.remove();this._streams.clear(),this._indexMap={},this._handles.removeAll()}async reload(e){this.destroy(),await this.load(e)}set remoteClient(e){this._source=e.createInvokeProxy(``)}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async updateFileProvider(e){this._loadParameters={...this._loadParameters,provider:e};let t=O(e,this._provider.getGeometryInfo(),()=>this._customParameters);await this._updateProvider(t)}async getDiagnosticsSnapshot(){let e=await this._provider.getFiles();return{files:await Promise.all(e.map(e=>e.getDiagnosticsSnapshot()))}}async getColumnIndex(e){return(await this._getFileInfoById(e.fileId)).getColumnIndex(e.rowGroupIndex,e.columnIndex)}async getOffsetIndex(e){return(await this._getFileInfoById(e.fileId)).getOffsetIndex(e.rowGroupIndex,e.columnIndex)}async queryFeatures(e,t){let n=await D(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(n),we(n)||(n.resultRecordCount=n.resultRecordCount?Math.min(n.resultRecordCount,K):K,n.resultOffset=n.resultOffset??0),n.outStatistics?this._queryStatistics(n,t):(n.returnDistinctValues&&(n.returnGeometry=void 0),(await this._enqueueQuery(n,t)).createQueryResponse())}async queryFeatureCount(e,t){let n=await D(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(n),!q(n)&&!n.returnDistinctValues&&!n.groupByFieldsForStatistics?.length&&!n.outStatistics?.length?this._getFeatureCount():(n.returnDistinctValues||(n.outFields=void 0),n.returnGeometry=void 0,(await this._enqueueQuery(n,t)).createQueryResponseForCount())}async queryObjectIds(e,t){let n=await D(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(n),q(n)?(n.resultRecordCount=n.resultRecordCount?Math.min(n.resultRecordCount,8e3):8e3,n.resultOffset=n.resultOffset??0,n.returnGeometry=void 0,n.outFields=void 0,n.returnDistinctValues=void 0,(await this._enqueueQuery(n,t)).items.map(e=>e.getObjectId())):Array.from({length:await this._getFeatureCount()},(e,t)=>t)}async queryAttributeBins(e,t={}){throw new r(`parquet:unsupported`,`queryAttributeBins not supported.`)}async queryExtent(e,t){let r=await D(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(r),this._fullExtent&&!q(r))return{count:await this._getFeatureCount(),extent:this._fullExtent};let i=n(this._metadata.spatialReference);r.returnGeometry=!0,r.outFields=void 0;let a=f(p(),h),o=p(),s=await this._enqueueQuery(r,t),c=0;for(let e of s.items)e.getBounds(o)&&(m(a,o),c+=1);let l=C(a,i,r.outSR?n(r.outSR):i.toJSON(),i,!1);return{count:c,extent:l}}async queryStream(e,t){if(!t.signal)throw Error(`InternalError: AbortSignal must be passed`);let n=await this._getCandidateFiles(e),r=new le(n,async(t,n)=>{let r=await t.file,i=await this._createParquetDisplayQuery(r,t.id,e);return r.executeQuery(i,K,n)}),i=this._streamIdCounter++,a=o(t.signal,e=>{let t=this._streams.get(i);t!=null&&(t.handle.remove(),this._streams.delete(i))});return this._streams.set(i,{stream:r,handle:a}),i}async getStreamNext(e,t){if(!t.signal)throw Error(`InternalError: AbortSignal must be passed`);let n=this._streams.get(e);if(!n)return{result:null};let r=await n.stream.next(t.signal);if(r==null)return n.handle.remove(),this._streams.delete(e),{result:null};let i=r.chunk.serialize().buffer,a={fileId:r.fileId,buffer:i};return i instanceof ArrayBuffer?{result:a,transferList:[i]}:{result:a}}async getStreamNextFeatures(e,t){let{result:n}=await this.getStreamNext(e,t);if(n==null)return null;let r=(await L()).ParquetChunk.deserialize(new Uint8Array(n.buffer)),i=new U(this._metadata,this._indexMap,r,n.fileId),a=[];for(;i.next();){let e=x(i.readGeometryWorldSpace(),i.geometryType,i.hasZ,i.hasM),t=i.readAttributes();a.push({attributes:t,geometry:e})}return{features:a}}async createPatch(e,t,n,r,i){if(!i.signal)throw Error(`InternalError: AbortSignal must be passed`);return(await(await(await this._getFileInfoById(e)).file).createChunkPatch(t,n,r,i.signal)).serialize().buffer}async _updateProvider(e){let t=this._provider;this._handles.removeAll(),this._provider=e,this._handles.add([e.events.on(`rangeRead`,e=>{this._source.onRangeRead(e)}),e.events.on(`sourceChanged`,async()=>{await this.reload(this._loadParameters),await this._source.onSourceChange()})]),await t?.destroy()}async _getCandidateFiles(e){let t=await this._provider.getFiles(),n=await this._getSpatialFilePruning(e);if(n==null)return t;let r=t.filter(e=>this._mayIncludeFileForSpatialPruning(e,n));return n.type===`xz`?Ce(r,n):r}async _queryStatistics(e,t){let n=await D({...e},null,this._queryEngineParams.spatialReference);if(n.returnGeometry=void 0,ve(n,this._fieldsIndex)){let e=await this._getStatisticsFromFiles(n);if(e)return e}return(await this._enqueueQuery(n,t)).createQueryResponse()}async _getStatisticsFromFiles(e){let t=await this._provider.getFiles(),n={},r=[];for(let i of e.outStatistics??[]){let e=xe(i,t);if(!e.available)return null;n[i.outStatisticFieldName]=e.value,r.push(be(i,this._fieldsIndex))}return{fields:r,features:[{attributes:n}]}}async _getSpatialFilePruning(e){if(e.type!==`tile`&&(e.type!==`arcade`||e.extent==null))return null;let t=this._displayOptimization?.index;if(t==null)return null;let n=e.outSpatialReference.wkid;if(t.wkid==null||n==null)return null;let r=t.wkid,i=await L();switch(t.type){case`xz`:return{type:`xz`,fieldName:y(t.code),intersects:(a,o)=>i.queryIntersectsXZStatistics(t.fullExtent,e.extent,n,r,t.maxLevel,a,o)};case`z`:return{type:`xy`,xFieldName:y(t.xColumn),yFieldName:y(t.yColumn),intersects:(t,a,o,s)=>i.queryIntersectsXYStatistics(e.extent,n,r,t,a,o,s)}}}_mayIncludeFileForSpatialPruning(e,t){switch(t.type){case`xz`:{let n=Z(e,t);return n?.type===`null-only`?!1:n?.type!==`bounds`||t.intersects(n.minValue,n.maxValue)}case`xy`:{let n=e.statistics.statistics.get(t.xFieldName),r=e.statistics.statistics.get(t.yFieldName);return n?.type===`null-only`||r?.type===`null-only`?!1:n?.type!==`bounds`||r?.type!==`bounds`||t.intersects(n.minValue,n.maxValue,r.minValue,r.maxValue)}}}async _tryDeriveParquetFullExtent(n){if(!n.spatialReference)return null;if(this._fullExtent==null&&n.geometryEncoding?.type===`location`){let r=await this._provider.getFiles(),{xField:i,yField:a}=n.geometryEncoding,o=f(p(),h),s=!1;for(let n of r){let r=await n.file;for(let n of r.rowGroups()){let r={stack:[],error:void 0,hasError:!1};try{let t=e(r,n.columnDescriptorForAttribute(i),!1),c=e(r,n.columnDescriptorForAttribute(a),!1),l=k(t),u=k(c);if(l?.type===`bounds`&&u?.type===`bounds`){let e=[l.minValue,u.minValue,l.maxValue,u.maxValue];ee(o,e),s=!0}n.free()}catch(e){r.error=e,r.hasError=!0}finally{t(r)}}}return s?{xmin:o[0],ymin:o[1],xmax:o[3],ymax:o[4],spatialReference:n.spatialReference?.toJSON()}:null}return null}async _getFileInfoById(e){let t=await this._provider.getFiles();for(let n of t)if(n.id===e)return n;throw Error(`InternalError: File ${e} does not exist`)}async _getFileStatistics(){return{featureCount:await this._getFeatureCount(),byteLength:await this._getByteLength()}}async _getFile(e){return(await this._getFileInfoById(e)).file}async _createParquetQuery(e,t,n,r,i){let a=(await L()).Query.new();n!=null&&a.setPreFilterStart(n),r!=null&&a.setPreFilterCount(r),i!=null&&a.setPostFilterCount(i);let o=await this._getRequiredFields(e);a.setOutFields(o),(e.geometry||e.returnGeometry)&&a.setReturnGeometry(!0),a.setReturnZ(!!e.returnZ),a.setReturnM(!!e.returnM);let s=this._tryGetGeneralizedGeometryResolution(e);s!=null&&a.setSourceResolution(s);let c=e.geometry?.spatialReference??this._queryEngineParams.spatialReference,l=c.wkid;if(e.geometry&&(_(c)||v(c))){let t=te(ne(),g);for(let n of w(e.geometry))re(t,n);a.setOutSpatialReference(l),a.setExtent({xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3]})}if(e.where){let{id:n,file:r}=t;await this._setWhereClause(a,await r,n,e.where)}return a}async _createParquetDisplayQuery(e,t,n){let r=(await L()).Query.new();if(n.type===`tile`){r.setExtent(n.extent),r.setQuantizationTransform(n.transform);let e=this._sourceResolution(n.resolution,n.outSpatialReference);e!=null&&r.setSourceResolution(e)}else n.type===`arcade`&&n.extent!=null&&r.setExtent(n.extent);return r.setOutFields(n.outFields.filter(e=>this._indexMap[e]!=null)),r.setOutSpatialReference(n.outSpatialReference.wkid),r.setReturnGeometry(n.returnGeometry),r.setReturnZ(n.returnZ),r.setReturnM(n.returnM),n.where&&await this._setWhereClause(r,e,t,n.where),r}async _getFeatureCount(){return(await this._provider.getFiles()).map(e=>e.statistics.rowCount).reduce((e,t)=>e+t,0)}async _getByteLength(){return(await this._provider.getFiles()).map(e=>e.statistics.byteSize).reduce((e,t)=>e+t,0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new r(`parquet:unsupported`,`Statistics queries are not supported`,{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new r(`parquet:unsupported`,`Queries using orderBy are not supported`,{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new r(`parquet:unsupported`,`Queries using returnDistinctValues are not supported`,{query:e})}async _setWhereClause(e,t,n,i){let a=this._indexMap,o=this._fieldsIndex,s={getAttribute(e,r){let i=a[r];if(i==null){if(o.get(r)?.name===`__OBJECTID`){let t=e.row+e.rowGroupStart;return ce(n,t)}return null}let s=o.get(r);return b(t,e.rowGroup,e.row,i,s.type)}},c=await l(i,this._fieldsIndex);if(!c.isStandardized)throw new r(`sql-parse-error`,`expression is not standardized`);let u=(e,t,n)=>c.testFeatureCompiled({rowGroup:e,row:t,rowGroupStart:n},s,null),d=c.fieldNames.map(e=>o.get(e)).filter(e=>e&&this._indexMap[e?.name]!=null);e.setWhere(i),e.setWhereEvaluator(u),e.setWhereFields(d.map(e=>e.name))}async*_streamFeatures(e,t,n,r,i){let a=await this._provider.getFiles(),o=0;for(let s of a){let a=o,c=o+s.statistics.rowCount;if(o+=s.statistics.rowCount,t!=null&&t>=c)continue;let l=t==null?null:Math.max(t-a,0),u=n;if(n!=null){let e=t??0,r=e+n;u=Math.max(Math.min(r,c)-Math.max(e,a),0)}if(u===0)continue;let d=await this._createParquetQuery(e,s,l,u,r),f=await(await s.file).executeQuery(d,K),p=async()=>{let e=await f.next(i);if(!e)return null;let t=new U(this._metadata,this._indexMap,e,s.id);return X([new B(t,null,0,!1)],this._queryEngineParams)},m=await p();for(;m!=null;)yield m,m=await p()}}async _queryFeaturesWithQueryEnginePagination(e,t){let n=[],r=this._streamFeatures(e,null,null,null,t),i=await r.next();for(;!i.done;){let a=await i.value.executeQueryForOpaqueFeatures({...e,where:void 0},t);for(let e of a)n.push(e);i=await r.next()}return n}async _queryFeaturesWithUpfrontPagination(e,t){let n=e.resultOffset??0,r=e.resultRecordCount??K,i,a,o;ge(e)?_e(e)||(o=n+r):(n&&=(i=n,0),a=e.resultRecordCount);let s=[],c=this._streamFeatures(e,i,a,o,t),l=await c.next();for(;!l.done&&r>0;){let i=await l.value.executeQueryForOpaqueFeatures({...e,where:void 0},t);for(let e of i){if(n>0){n--;continue}if(s.push(e),--r<=0)return s}l=await c.next()}return s}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){if(e.objectIds?.length){let n=new Map;for(let t of e.objectIds){let e=oe(t),r=se(t),i=n.get(e);i||(i=[],n.set(e,i)),i.push(r)}let r=[];for(let[i,a]of n.entries()){let n=await this._executeFileIdQuery(e,i,a,t);for(let e of n)r.push(e)}return new E(r,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:W,featureIdInfo:this._queryEngineParams.featureIdInfo})}if(e.where===`1=1`&&(e.where=null),e.resultOffset??=0,e.resultRecordCount??=await this._getFeatureCount(),e.resultRecordCount>2e7&&!(this._displayOptimization&&e.geometry))throw new r(`parquet:cannot-execute-query`,`Unable to execute query, dataset is too large.`);let n=!!e.orderByFields?.length||!!e.outStatistics?.length||!!e.returnDistinctValues,i=n?await this._queryFeaturesWithQueryEnginePagination(e,t):await this._queryFeaturesWithUpfrontPagination(e,t);return n||(e.resultOffset=0),new E(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,hasM:this._hasM,hasZ:this._hasZ,featureAdapter:W,featureIdInfo:this._queryEngineParams.featureIdInfo})}async _executeFileIdQuery(e,t,n,r){let i=await this._getRequiredFields(e),a=(await L()).Query.new();a.setOutFields(i),a.setReturnGeometry(!!e.returnGeometry),a.setReturnZ(!!e.returnZ),a.setReturnM(!!e.returnM),a.setIds(new Uint32Array(n));let o=await(await this._getFile(t)).executeQuery(a,K,r),s=await o.next(r),c=0,l=[];for(;s!=null;){let e=new U(this._metadata,this._indexMap,s,t),n=new B(e,null,c++,!1);l.push(n),s=await o.next(r)}return X(l,this._queryEngineParams).executeQueryForOpaqueFeatures(e,r)}async _getRequiredFields(e){let t=new Set;if(e.outStatistics)for(let n of S(this._fieldsIndex,e.outStatistics,e.groupByFieldsForStatistics))t.add(n);else if(e.outFields)for(let n of e.outFields)t.add(n);return(t.has(`*`)?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>this._indexMap[e]!=null)}_tryGetGeneralizedGeometryResolution(e){if(!this._displayOptimization)return null;let t=e.outSR??this._queryEngineParams.spatialReference;if(!_(t)&&!v(t))return null;let n=e.quantizationParameters?.tolerance??e.maxAllowableOffset;return n?this._sourceResolution(n,t):null}_sourceResolution(e,t){let n=this._queryEngineParams.spatialReference,r=u(t)/u(n)*e;return!Number.isFinite(r)||r<=0?null:r}}function pe(e){switch(e){case`fullText`:case`having`:case`timeExtent`:case`historicMoment`:case`aggregateIds`:case`uniqueIds`:case`gdbVersion`:case`objectIds`:case`where`:case`geometry`:case`resultOffset`:case`resultRecordCount`:return!0;default:return!1}}function me(e){switch(e){case`fullText`:case`having`:case`timeExtent`:case`historicMoment`:case`aggregateIds`:case`uniqueIds`:case`gdbVersion`:case`objectIds`:case`where`:case`geometry`:return!0;default:return!1}}function he(e){switch(e){case`fullText`:case`having`:case`timeExtent`:return!0;case`historicMoment`:case`aggregateIds`:case`uniqueIds`:case`gdbVersion`:return!1;case`objectIds`:case`where`:case`resultOffset`:case`geometry`:case`resultRecordCount`:return!1}return!1}function q(e){for(let t in e){let n=t;if(pe(n)&&e[n]!==null)return!0}return!1}function ge(e){for(let t in e){let n=t;if(me(n)&&e[n]!==null)return!0}return!1}function _e(e){for(let t in e){let n=t;if(he(n)&&e[n]!==null)return!0}return!1}function ve(e,t){return!!e.outStatistics?.length&&!q(e)&&!e.groupByFieldsForStatistics?.length&&!e.orderByFields?.length&&!e.returnDistinctValues&&!e.returnAggIds&&e.outStatistics.every(e=>ye(e,t))}function ye(e,t){switch(e.statisticType){case`count`:return e.onStatisticField===`1`||t.get(e.onStatisticField)!=null;case`min`:case`max`:{let n=t.get(e.onStatisticField);return n!=null&&M(n)}default:return!1}}function be(e,t){let n=e.statisticType===`exceedslimit`?null:t.get(e.onStatisticField),r=(e.statisticType===`min`||e.statisticType===`max`)&&n?.type===`esriFieldTypeDate`?n.type:`esriFieldTypeDouble`;return{name:e.outStatisticFieldName,alias:e.outStatisticFieldName,type:r}}function xe(e,t){switch(e.statisticType){case`count`:return J(e,t);case`min`:return Y(e,t,Math.min);case`max`:return Y(e,t,Math.max);default:return{available:!1,value:null}}}function J(e,t){if(e.statisticType!==`count`)return{available:!1,value:null};if(e.onStatisticField===`1`)return{available:!0,value:t.reduce((e,t)=>e+t.statistics.rowCount,0)};let n=0;for(let r of t){let t=r.statistics.statistics.get(e.onStatisticField);if(t==null||t.nullCount==null)return{available:!1,value:null};n+=r.statistics.rowCount-t.nullCount}return{available:!0,value:n}}function Y(e,t,n){if(e.statisticType!==`min`&&e.statisticType!==`max`)return{available:!1,value:null};let r=null,i=e.statisticType===`min`?`minValue`:`maxValue`;for(let a of t){let t=a.statistics.statistics.get(e.onStatisticField);if(t==null)return{available:!1,value:null};switch(t.type){case`null-only`:continue;case`unknown`:return{available:!1,value:null};case`bounds`:{let e=Se(t[i]);if(e==null)return{available:!1,value:null};r=r==null?e:n(r,e);break}}}return{available:!0,value:r}}function Se(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function X(e,t){let n=new V;for(let t of e)n.insert(t);return new T({...t,featureStore:n})}function Z(e,t){return e.statistics.statistics.get(t.fieldName)??null}function Ce(e,t){return e.slice().sort((e,n)=>{let r=Q(e,t),i=Q(n,t);return r===i?0:r<i?-1:1})}function Q(e,t){let n=Z(e,t);return n?.type===`bounds`?n.maxValue-n.minValue:1/0}function $(e,t,n){let r=e?.featureCount,i=!1;return r!=null&&r<has(`parquetlayer-full-query-feature-count`)&&(i=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:n,supportsTrueCurve:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{...ie,maxRecordCount:K,supportsOrderBy:i,supportsDistinct:!0,supportsStatistics:!0,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1}},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}function we(e){return!!e.objectIds?.length||!!e.outStatistics||!!e.orderByFields?.length||!!e.returnDistinctValues}export{fe as default};