genosdb 0.12.7 → 0.12.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/ai.min.js +1 -1
- package/dist/ai.min.js.gz +0 -0
- package/dist/audit.min.js +1 -1
- package/dist/audit.min.js.gz +0 -0
- package/dist/gdb.min.js +1 -1
- package/dist/gdb.min.js.gz +0 -0
- package/dist/genosrtc-cells.min.js +1 -1
- package/dist/genosrtc-cells.min.js.gz +0 -0
- package/dist/genosrtc.min.js +1 -1
- package/dist/genosrtc.min.js.gz +0 -0
- package/dist/geo.min.js +1 -1
- package/dist/geo.min.js.gz +0 -0
- package/dist/ii.min.js +1 -1
- package/dist/ii.min.js.gz +0 -0
- package/dist/index.js +1 -1
- package/dist/index.js.gz +0 -0
- package/dist/nlq.min.js +1 -1
- package/dist/nlq.min.js.gz +0 -0
- package/dist/rx.min.js +1 -1
- package/dist/rx.min.js.gz +0 -0
- package/dist/sm-acls.min.js +1 -1
- package/dist/sm-acls.min.js.gz +0 -0
- package/dist/sm-gov.min.js +1 -1
- package/dist/sm-gov.min.js.gz +0 -0
- package/dist/sm.min.js +4 -2
- package/dist/sm.min.js.gz +0 -0
- package/package.json +6 -2
package/dist/genosrtc.min.js.gz
CHANGED
|
Binary file
|
package/dist/geo.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function Q(F){let K={$near:(b,H)=>{let{latitude:k,longitude:A,radius:f}=H;if(typeof k!=="number"||typeof A!=="number"||typeof f!=="number")return!1;let E=b?.latitude||b?.location?.latitude,j=b?.longitude||b?.location?.longitude;if(typeof E!=="number"||typeof j!=="number")return!1;return N(E,j,k,A)<=f},$bbox:(b,H)=>{let{minLat:k,maxLat:A,minLng:f,maxLng:E}=H;if(typeof k!=="number"||typeof A!=="number"||typeof f!=="number"||typeof E!=="number")return!1;let j=b?.latitude||b?.location?.latitude,C=b?.longitude||b?.location?.longitude;if(typeof j!=="number"||typeof C!=="number")return!1;return j>=k&&j<=A&&C>=f&&C<=E}};function N(b,H,k,A){let f=(P)=>P*Math.PI/180,E=6371,j=f(k-b),C=f(A-H),J=Math.sin(j/2)*Math.sin(j/2)+Math.cos(f(b))*Math.cos(f(k))*Math.sin(C/2)*Math.sin(C/2);return 6371*(2*Math.atan2(Math.sqrt(J),Math.sqrt(1-J)))}return F.operators={...F.operators,...K},F}var T=(F)=>{return Q(F)};export{Q as withModule,T as init};
|
package/dist/geo.min.js.gz
CHANGED
|
Binary file
|
package/dist/ii.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function S(J){let E={},Q=J.worker,U=J.indexFileName||"inverted_index.msgpack",V=J.encode,Y=J.decode,W=J.pako,Z=((q,C)=>{let K;return(...R)=>{clearTimeout(K),K=setTimeout(()=>q.apply(null,R),C)}})(()=>$(),200);async function _(){try{let q=await new Promise((C,K)=>{let R=(L)=>{if(L.data.type==="loaded"&&L.data.name===U)Q.removeEventListener("message",R),C(new Uint8Array(L.data.data));else if(L.data.type==="error")Q.removeEventListener("message",R),K(Error(L.data.message))};Q.addEventListener("message",R),Q.postMessage({type:"load",name:U})});if(q.byteLength>0){if(!Y||!W)throw Error("InvertedIndexer: decode y pako deben estar en options");let C=W.inflate(q),K=Y(C);return Object.assign(E,K),!0}}catch{}return!1}async function $(){try{if(!V||!W)throw Error("InvertedIndexer: encode y pako deben estar en options");let q=V(E),C=W.deflate(q);await new Promise((K,R)=>{let L=(H)=>{if(H.data.type==="saved"&&H.data.name===U)Q.removeEventListener("message",L),K();else if(H.data.type==="error")Q.removeEventListener("message",L),R(Error(H.data.message))};Q.addEventListener("message",L),Q.postMessage({type:"save",name:U,content:C})})}catch{}}async function z(){(typeof J.graph?.getAllNodes==="function"?await J.graph.getAllNodes():Object.values(J.graph.nodes)).forEach((C)=>X(C.id,C.value,"insert",!1)),Z()}function A(){J.map({realtime:!0},(q)=>{if(q.action==="added"||q.action==="updated")X(q.id,q.value,"insert",!0);else if(q.action==="removed")X(q.id,q.value,"remove",!0)})}function X(q,C,K="insert",R=!0){let L=B(C);if(K==="insert")L.forEach((H)=>{if(!E[H])E[H]=[];if(!E[H].includes(q))E[H].push(q)});else if(K==="remove")L.forEach((H)=>{if(E[H]){if(E[H]=E[H].filter((O)=>O!==q),E[H].length===0)delete E[H]}});if(R)Z()}function B(q){if(typeof q==="string")return Array.from({length:q.length},(C,K)=>q.substring(0,K+1));if(typeof q==="number")return[String(q)];if(typeof q==="object"&&q!==null)return Object.keys(q);return[]}function G(q){return Object.keys(E).filter((C)=>C.startsWith(q)).flatMap((C)=>E[C])}return{ready:_().then((q)=>{if(!q)z();A()}),updateIndex:X,searchAllByPrefix:G}}var D=(J)=>{let E=S(J);return J.searchByPrefix=async(Q)=>{return await E.ready,E.searchAllByPrefix(Q).map((V)=>J.graph.get(V))},J};export{D as init,S as InvertedIndexer};
|
package/dist/ii.min.js.gz
CHANGED
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function H8(J){const Q=J.length;let W=0,G=0;while(G<Q){let V=J.charCodeAt(G++);if((V&4294967168)===0){W++;continue}else if((V&4294965248)===0)W+=2;else{if(V>=55296&&V<=56319){if(G<Q){const q=J.charCodeAt(G);if((q&64512)===56320)++G,V=((V&1023)<<10)+(q&1023)+65536}}if((V&4294901760)===0)W+=3;else W+=4}}return W}function e6(J,Q,W){const G=J.length;let V=W,q=0;while(q<G){let Y=J.charCodeAt(q++);if((Y&4294967168)===0){Q[V++]=Y;continue}else if((Y&4294965248)===0)Q[V++]=Y>>6&31|192;else{if(Y>=55296&&Y<=56319){if(q<G){const X=J.charCodeAt(q);if((X&64512)===56320)++q,Y=((Y&1023)<<10)+(X&1023)+65536}}if((Y&4294901760)===0)Q[V++]=Y>>12&15|224,Q[V++]=Y>>6&63|128;else Q[V++]=Y>>18&7|240,Q[V++]=Y>>12&63|128,Q[V++]=Y>>6&63|128}Q[V++]=Y&63|128}}function W5(J,Q,W){t6.encodeInto(J,Q.subarray(W))}function k8(J,Q,W){if(J.length>J5)W5(J,Q,W);else e6(J,Q,W)}function S1(J,Q,W){let G=Q;const V=G+W,q=[];let Y="";while(G<V){const X=J[G++];if((X&128)===0)q.push(X);else if((X&224)===192){const z=J[G++]&63;q.push((X&31)<<6|z)}else if((X&240)===224){const z=J[G++]&63,U=J[G++]&63;q.push((X&31)<<12|z<<6|U)}else if((X&248)===240){const z=J[G++]&63,U=J[G++]&63,P=J[G++]&63;let $=(X&7)<<18|z<<12|U<<6|P;if($>65535)$-=65536,q.push($>>>10&1023|55296),$=56320|$&1023;q.push($)}else q.push(X);if(q.length>=Q5)Y+=String.fromCharCode(...q),q.length=0}if(q.length>0)Y+=String.fromCharCode(...q);return Y}function q5(J,Q,W){const G=J.subarray(Q,Q+W);return G5.decode(G)}function $8(J,Q,W){if(W>V5)return q5(J,Q,W);else return S1(J,Q,W)}var t6=new TextEncoder,J5=50,Q5=4096,G5=new TextDecoder,V5=200;class A0{constructor(J,Q){this.type=J,this.data=Q}}class i extends Error{constructor(J){super(J);const Q=Object.create(i.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:i.name})}}function B8(J,Q,W){const G=W/4294967296,V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function K1(J,Q,W){const G=Math.floor(W/4294967296),V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function F1(J,Q){const W=J.getInt32(Q),G=J.getUint32(Q+4);return W*4294967296+G}function j8(J,Q){const W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var N0=4294967295;function P5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=Y5)if(Q===0&&J<=U5){const W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{const W=J/4294967296,G=J&4294967295,V=new Uint8Array(8),q=new DataView(V.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,G),V}else{const W=new Uint8Array(12),G=new DataView(W.buffer);return G.setUint32(0,Q),K1(G,4,J),W}}function K5(J){const Q=J.getTime(),W=Math.floor(Q/1000),G=(Q-W*1000)*1e6,V=Math.floor(G/1e9);return{sec:W+V,nsec:G-V*1e9}}function F5(J){if(J instanceof Date){const Q=K5(J);return P5(Q)}else return null}function z5(J){const Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:return{sec:Q.getUint32(0),nsec:0};case 8:{const W=Q.getUint32(0),G=Q.getUint32(4),V=(W&3)*4294967296+G,q=W>>>2;return{sec:V,nsec:q}}case 12:{const W=F1(Q,4),G=Q.getUint32(0);return{sec:W,nsec:G}}default:throw new i(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function Z5(J){const Q=z5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var X5=-1,U5=4294967295,Y5=17179869183,R8={type:X5,encode:F5,decode:Z5};class $0{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(R8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{const G=-1-J;this.builtInEncoders[G]=Q,this.builtInDecoders[G]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){const G=this.builtInEncoders[W];if(G!=null){const V=G(J,Q);if(V!=null){const q=-1-W;return new A0(q,V)}}}for(let W=0;W<this.encoders.length;W++){const G=this.encoders[W];if(G!=null){const V=G(J,Q);if(V!=null)return new A0(W,V)}}if(J instanceof A0)return J;return null}decode(J,Q,W){const G=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(G)return G(J,Q,W);else return new A0(Q,J)}}$0.defaultCodec=new $0;var H5=function(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer!=="undefined"&&J instanceof SharedArrayBuffer};function b0(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(H5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var k5=100,$5=2048;class z1{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??$0.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??k5,this.initialBufferSize=J?.initialBufferSize??$5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new z1({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw new Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){const Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){const Q=new ArrayBuffer(J),W=new Uint8Array(Q),G=new DataView(Q);W.set(this.bytes),this.view=G,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw new Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){const W=H8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),k8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){const W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){const Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw new Error(`Too large binary: ${Q}`);const W=b0(J);this.writeU8a(W)}encodeArray(J,Q){const W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw new Error(`Too large array: ${W}`);for(let G of J)this.doEncode(G,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let G of Q)if(J[G]!==void 0)W++;return W}encodeMap(J,Q){const W=Object.keys(J);if(this.sortKeys)W.sort();const G=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(G<16)this.writeU8(128+G);else if(G<65536)this.writeU8(222),this.writeU16(G);else if(G<4294967296)this.writeU8(223),this.writeU32(G);else throw new Error(`Too large map object: ${G}`);for(let V of W){const q=J[V];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(V),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){const W=J.data(this.pos+6),G=W.length;if(G>=4294967296)throw new Error(`Too large extension object: ${G}`);this.writeU8(201),this.writeU32(G),this.writeI8(J.type),this.writeU8a(W);return}const Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw new Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){const Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),B8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K1(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u0(J,Q){return new z1(Q).encodeSharedRef(J)}function Z1(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var B5=16,j5=16;class g1{constructor(J=B5,Q=j5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){const G=this.caches[W-1];J:for(let V of G){const q=V.bytes;for(let Y=0;Y<W;Y++)if(q[Y]!==J[Q+Y])continue J;return V.str}return null}store(J,Q){const W=this.caches[J.length-1],G={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=G;else W.push(G)}decode(J,Q,W){const G=this.find(J,Q,W);if(G!=null)return this.hit++,G;this.miss++;const V=S1(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,V),V}}var T1="array",c0="map_key",L8="map_value",R5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new i("The type of key must be string or number but "+typeof J)};class C8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){const Q=this.getUninitializedStateFromPool();Q.type=T1,Q.position=0,Q.size=J,Q.array=new Array(J)}pushMapState(J){const Q=this.getUninitializedStateFromPool();Q.type=c0,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){const J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw new Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===T1){const W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===c0||J.type===L8){const W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m0=-1,v1=new DataView(new ArrayBuffer(0)),M5=new Uint8Array(v1.buffer);try{v1.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw new Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var M8=new RangeError("Insufficient data"),L5=new g1;class H1{constructor(J){this.totalPos=0,this.pos=0,this.view=v1,this.bytes=M5,this.headByte=m0,this.stack=new C8,this.entered=!1,this.extensionCodec=J?.extensionCodec??$0.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??N0,this.maxBinLength=J?.maxBinLength??N0,this.maxArrayLength=J?.maxArrayLength??N0,this.maxMapLength=J?.maxMapLength??N0,this.maxExtLength=J?.maxExtLength??N0,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:L5,this.mapKeyConverter=J?.mapKeyConverter??R5}clone(){return new H1({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m0,this.stack.reset()}setBuffer(J){const Q=b0(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m0&&!this.hasRemaining(1))this.setBuffer(J);else{const Q=this.bytes.subarray(this.pos),W=b0(J),G=new Uint8Array(Q.length+W.length);G.set(Q),G.set(W,Q.length),this.setBuffer(G)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){const{view:Q,pos:W}=this;return new RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);const Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let Y of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(Y);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}const{headByte:G,pos:V,totalPos:q}=this;throw new RangeError(`Insufficient data in parsing ${Z1(G)} at ${q} (${V} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,G=-1;for await(let V of J){if(Q&&G===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(V),W)G=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--G===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){const J=this.readHeadByte();let Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){const G=J-128;if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J<160){const G=J-144;if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else{const G=J-160;Q=this.decodeString(G,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){const G=this.lookU8();Q=this.decodeString(G,1)}else if(J===218){const G=this.lookU16();Q=this.decodeString(G,2)}else if(J===219){const G=this.lookU32();Q=this.decodeString(G,4)}else if(J===220){const G=this.readU16();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===221){const G=this.readU32();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===222){const G=this.readU16();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===223){const G=this.readU32();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===196){const G=this.lookU8();Q=this.decodeBinary(G,1)}else if(J===197){const G=this.lookU16();Q=this.decodeBinary(G,2)}else if(J===198){const G=this.lookU32();Q=this.decodeBinary(G,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){const G=this.lookU8();Q=this.decodeExtension(G,1)}else if(J===200){const G=this.lookU16();Q=this.decodeExtension(G,2)}else if(J===201){const G=this.lookU32();Q=this.decodeExtension(G,4)}else throw new i(`Unrecognized type byte: ${Z1(J)}`);this.complete();const W=this.stack;while(W.length>0){const G=W.top();if(G.type===T1)if(G.array[G.position]=Q,G.position++,G.position===G.size)Q=G.array,W.release(G);else continue J;else if(G.type===c0){if(Q==="__proto__")throw new i("The key __proto__ is not allowed");G.key=this.mapKeyConverter(Q),G.type=L8;continue J}else if(G.map[G.key]=Q,G.readCount++,G.readCount===G.size)Q=G.map,W.release(G);else{G.key=null,G.type=c0;continue J}}return Q}}readHeadByte(){if(this.headByte===m0)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m0}readArraySize(){const J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new i(`Unrecognized array type byte: ${Z1(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new i(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new i(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new i(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw M8;const W=this.pos+Q;let G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=$8(this.bytes,W,J);return this.pos+=Q+J,G}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===c0;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new i(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw M8;const W=this.pos+Q,G=this.bytes.subarray(W,W+J);return this.pos+=Q+J,G}decodeExtension(J,Q){if(J>this.maxExtLength)throw new i(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);const W=this.view.getInt8(this.pos+Q),G=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(G,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){const J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){const J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){const J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){const J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){const J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){const J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){const J=j8(this.view,this.pos);return this.pos+=8,J}readI64(){const J=F1(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){const J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){const J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){const J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){const J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B0(J,Q){return new H1(Q).decode(J)}var E0=function(J){let Q=J.length;while(--Q>=0)J[Q]=0},E1=function(J,Q,W,G,V){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=G,this.max_length=V,this.has_stree=J&&J.length},f1=function(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q},J0=function(J,Q,W,G,V){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=G,this.func=V},IJ=function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=x1,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HJ*2),this.dyn_dtree=new Uint16Array((2*zJ+1)*2),this.bl_tree=new Uint16Array((2*ZJ+1)*2),F0(this.dyn_ltree),F0(this.dyn_dtree),F0(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(kJ+1),this.heap=new Uint16Array(2*s1+1),F0(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s1+1),F0(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0},iJ=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},q1=function(J){this.options=O1.assign({level:sJ,method:tJ,chunkSize:16384,windowBits:15,memLevel:8,strategy:eJ},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new A6,this.strm.avail_out=0;let W=n0.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==C1)throw new Error(L0[W]);if(Q.header)n0.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let G;if(typeof Q.dictionary==="string")G=W1.string2buf(Q.dictionary);else if(N6.call(Q.dictionary)==="[object ArrayBuffer]")G=new Uint8Array(Q.dictionary);else G=Q.dictionary;if(W=n0.deflateSetDictionary(this.strm,G),W!==C1)throw new Error(L0[W]);this._dict_set=!0}},Y8=function(J,Q){const W=new q1(Q);if(W.push(J,!0),W.err)throw W.msg||L0[W.err];return W.result},JW=function(J,Q){return Q=Q||{},Q.raw=!0,Y8(J,Q)},WW=function(J,Q){return Q=Q||{},Q.gzip=!0,Y8(J,Q)},xW=function(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},mW=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},X1=function(J){this.options=O1.assign({chunkSize:65536,windowBits:15,to:""},J||{});const Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new A6,this.strm.avail_out=0;let W=U0.inflateInit2(this.strm,Q.windowBits);if(W!==Q1)throw new Error(L0[W]);if(this.header=new cW,U0.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W1.string2buf(Q.dictionary);else if(m6.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=U0.inflateSetDictionary(this.strm,Q.dictionary),W!==Q1)throw new Error(L0[W])}}},P8=function(J,Q){const W=new X1(Q);if(W.push(J),W.err)throw W.msg||L0[W.err];return W.result},nW=function(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)};/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */var C5=0,U6=1,I5=2,x5=3,O5=258,G8=29,G1=256,o0=G1+1+G8,T0=30,V8=19,Y6=2*o0+1,j0=15,y1=16,w5=7,q8=256,P6=16,K6=17,F6=18,r1=new Uint8Array([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]),M1=new Uint8Array([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]),D5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),z6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),A5=512,X0=new Array((o0+2)*2);E0(X0);var l0=new Array(T0*2);E0(l0);var a0=new Array(A5);E0(a0);var s0=new Array(O5-x5+1);E0(s0);var X8=new Array(G8);E0(X8);var L1=new Array(T0);E0(L1);var Z6,H6,k6,$6=(J)=>{return J<256?a0[J]:a0[256+(J>>>7)]},e0=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>y1-W)J.bi_buf|=Q<<J.bi_valid&65535,e0(J,J.bi_buf),J.bi_buf=Q>>y1-J.bi_valid,J.bi_valid+=W-y1;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W0=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},B6=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)e0(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},S5=(J,Q)=>{const{dyn_tree:W,max_code:G}=Q,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,Y=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,z=Q.stat_desc.max_length;let U,P,$,F,K,Z,I=0;for(F=0;F<=j0;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(U=J.heap_max+1;U<Y6;U++){if(P=J.heap[U],F=W[W[P*2+1]*2+1]+1,F>z)F=z,I++;if(W[P*2+1]=F,P>G)continue;if(J.bl_count[F]++,K=0,P>=X)K=Y[P-X];if(Z=W[P*2],J.opt_len+=Z*(F+K),q)J.static_len+=Z*(V[P*2+1]+K)}if(I===0)return;do{F=z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[z]--,I-=2}while(I>0);for(F=z;F!==0;F--){P=J.bl_count[F];while(P!==0){if($=J.heap[--U],$>G)continue;if(W[$*2+1]!==F)J.opt_len+=(F-W[$*2+1])*W[$*2],W[$*2+1]=F;P--}}},j6=(J,Q,W)=>{const G=new Array(j0+1);let V=0,q,Y;for(q=1;q<=j0;q++)V=V+W[q-1]<<1,G[q]=V;for(Y=0;Y<=Q;Y++){let X=J[Y*2+1];if(X===0)continue;J[Y*2]=B6(G[X]++,X)}},g5=()=>{let J,Q,W,G,V;const q=new Array(j0+1);W=0;for(G=0;G<G8-1;G++){X8[G]=W;for(J=0;J<1<<r1[G];J++)s0[W++]=G}s0[W-1]=G,V=0;for(G=0;G<16;G++){L1[G]=V;for(J=0;J<1<<M1[G];J++)a0[V++]=G}V>>=7;for(;G<T0;G++){L1[G]=V<<7;for(J=0;J<1<<M1[G]-7;J++)a0[256+V++]=G}for(Q=0;Q<=j0;Q++)q[Q]=0;J=0;while(J<=143)X0[J*2+1]=8,J++,q[8]++;while(J<=255)X0[J*2+1]=9,J++,q[9]++;while(J<=279)X0[J*2+1]=7,J++,q[7]++;while(J<=287)X0[J*2+1]=8,J++,q[8]++;j6(X0,o0+1,q);for(J=0;J<T0;J++)l0[J*2+1]=5,l0[J*2]=B6(J,5);Z6=new E1(X0,r1,G1+1,o0,j0),H6=new E1(l0,M1,0,T0,j0),k6=new E1(new Array(0),D5,0,V8,w5)},R6=(J)=>{let Q;for(Q=0;Q<o0;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<T0;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},M6=(J)=>{if(J.bi_valid>8)e0(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},I8=(J,Q,W,G)=>{const V=Q*2,q=W*2;return J[V]<J[q]||J[V]===J[q]&&G[Q]<=G[W]},h1=(J,Q,W)=>{const G=J.heap[W];let V=W<<1;while(V<=J.heap_len){if(V<J.heap_len&&I8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(I8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},x8=(J,Q,W)=>{let G,V,q=0,Y,X;if(J.sym_next!==0)do if(G=J.pending_buf[J.sym_buf+q++]&255,G+=(J.pending_buf[J.sym_buf+q++]&255)<<8,V=J.pending_buf[J.sym_buf+q++],G===0)W0(J,V,Q);else{if(Y=s0[V],W0(J,Y+G1+1,Q),X=r1[Y],X!==0)V-=X8[Y],n(J,V,X);if(G--,Y=$6(G),W0(J,Y,W),X=M1[Y],X!==0)G-=L1[Y],n(J,G,X)}while(q<J.sym_next);W0(J,q8,Q)},o1=(J,Q)=>{const W=Q.dyn_tree,G=Q.stat_desc.static_tree,V=Q.stat_desc.has_stree,q=Q.stat_desc.elems;let Y,X,z=-1,U;J.heap_len=0,J.heap_max=Y6;for(Y=0;Y<q;Y++)if(W[Y*2]!==0)J.heap[++J.heap_len]=z=Y,J.depth[Y]=0;else W[Y*2+1]=0;while(J.heap_len<2)if(U=J.heap[++J.heap_len]=z<2?++z:0,W[U*2]=1,J.depth[U]=0,J.opt_len--,V)J.static_len-=G[U*2+1];Q.max_code=z;for(Y=J.heap_len>>1;Y>=1;Y--)h1(J,W,Y);U=q;do Y=J.heap[1],J.heap[1]=J.heap[J.heap_len--],h1(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=Y,J.heap[--J.heap_max]=X,W[U*2]=W[Y*2]+W[X*2],J.depth[U]=(J.depth[Y]>=J.depth[X]?J.depth[Y]:J.depth[X])+1,W[Y*2+1]=W[X*2+1]=U,J.heap[1]=U++,h1(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],S5(J,Q),j6(W,z,J.bl_count)},O8=(J,Q,W)=>{let G,V=-1,q,Y=Q[1],X=0,z=7,U=4;if(Y===0)z=138,U=3;Q[(W+1)*2+1]=65535;for(G=0;G<=W;G++){if(q=Y,Y=Q[(G+1)*2+1],++X<z&&q===Y)continue;else if(X<U)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==V)J.bl_tree[q*2]++;J.bl_tree[P6*2]++}else if(X<=10)J.bl_tree[K6*2]++;else J.bl_tree[F6*2]++;if(X=0,V=q,Y===0)z=138,U=3;else if(q===Y)z=6,U=3;else z=7,U=4}},w8=(J,Q,W)=>{let G,V=-1,q,Y=Q[1],X=0,z=7,U=4;if(Y===0)z=138,U=3;for(G=0;G<=W;G++){if(q=Y,Y=Q[(G+1)*2+1],++X<z&&q===Y)continue;else if(X<U)do W0(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==V)W0(J,q,J.bl_tree),X--;W0(J,P6,J.bl_tree),n(J,X-3,2)}else if(X<=10)W0(J,K6,J.bl_tree),n(J,X-3,3);else W0(J,F6,J.bl_tree),n(J,X-11,7);if(X=0,V=q,Y===0)z=138,U=3;else if(q===Y)z=6,U=3;else z=7,U=4}},T5=(J)=>{let Q;O8(J,J.dyn_ltree,J.l_desc.max_code),O8(J,J.dyn_dtree,J.d_desc.max_code),o1(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[z6[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},v5=(J,Q,W,G)=>{let V;n(J,Q-257,5),n(J,W-1,5),n(J,G-4,4);for(V=0;V<G;V++)n(J,J.bl_tree[z6[V]*2+1],3);w8(J,J.dyn_ltree,Q-1),w8(J,J.dyn_dtree,W-1)},y5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<G1;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},D8=!1,E5=(J)=>{if(!D8)g5(),D8=!0;J.l_desc=new f1(J.dyn_ltree,Z6),J.d_desc=new f1(J.dyn_dtree,H6),J.bl_desc=new f1(J.bl_tree,k6),J.bi_buf=0,J.bi_valid=0,R6(J)},L6=(J,Q,W,G)=>{if(n(J,(C5<<1)+(G?1:0),3),M6(J),e0(J,W),e0(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},f5=(J)=>{n(J,U6<<1,3),W0(J,q8,X0),N5(J)},h5=(J,Q,W,G)=>{let V,q,Y=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=y5(J);if(o1(J,J.l_desc),o1(J,J.d_desc),Y=T5(J),V=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=V)V=q}else V=q=W+5;if(W+4<=V&&Q!==-1)L6(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(U6<<1)+(G?1:0),3),x8(J,X0,l0);else n(J,(I5<<1)+(G?1:0),3),v5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,Y+1),x8(J,J.dyn_ltree,J.dyn_dtree);if(R6(J),G)M6(J)},p5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s0[W]+G1+1)*2]++,J.dyn_dtree[$6(Q)*2]++;return J.sym_next===J.sym_end},b5=E5,u5=L6,m5=h5,c5=p5,_5=f5,d5={_tr_init:b5,_tr_stored_block:u5,_tr_flush_block:m5,_tr_tally:c5,_tr_align:_5},i5=(J,Q,W,G)=>{let V=J&65535|0,q=J>>>16&65535|0,Y=0;while(W!==0){Y=W>2000?2000:W,W-=Y;do V=V+Q[G++]|0,q=q+V|0;while(--Y);V%=65521,q%=65521}return V|q<<16|0},t0=i5,l5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var G=0;G<8;G++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},n5=new Uint32Array(l5()),r5=(J,Q,W,G)=>{const V=n5,q=G+W;J^=-1;for(let Y=G;Y<q;Y++)J=J>>>8^V[(J^Q[Y])&255];return J^-1},_=r5,L0={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},x0={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:o5,_tr_stored_block:a1,_tr_flush_block:a5,_tr_tally:Z0,_tr_align:s5}=d5,{Z_NO_FLUSH:H0,Z_PARTIAL_FLUSH:e5,Z_FULL_FLUSH:t5,Z_FINISH:a,Z_BLOCK:A8,Z_OK:d,Z_STREAM_END:N8,Z_STREAM_ERROR:Q0,Z_DATA_ERROR:JJ,Z_BUF_ERROR:p1,Z_DEFAULT_COMPRESSION:WJ,Z_FILTERED:QJ,Z_HUFFMAN_ONLY:k1,Z_RLE:GJ,Z_FIXED:VJ,Z_DEFAULT_STRATEGY:qJ,Z_UNKNOWN:XJ,Z_DEFLATED:x1}=x0,UJ=9,YJ=15,PJ=8,KJ=29,FJ=256,s1=FJ+1+KJ,zJ=30,ZJ=19,HJ=2*s1+1,kJ=15,v=3,z0=258,G0=z0+v+1,$J=32,v0=42,U8=57,e1=69,t1=73,J8=91,W8=103,R0=113,d0=666,l=1,f0=2,C0=3,h0=4,BJ=3,M0=(J,Q)=>{return J.msg=L0[Q],Q},S8=(J)=>{return J*2-(J>4?9:0)},F0=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},jJ=(J)=>{let Q,W,G,V=J.w_size;Q=J.hash_size,G=Q;do W=J.head[--G],J.head[G]=W>=V?W-V:0;while(--Q);Q=V,G=Q;do W=J.prev[--G],J.prev[G]=W>=V?W-V:0;while(--Q)},RJ=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,k0=RJ,r=(J)=>{const Q=J.state;let W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{a5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},y=(J,Q)=>{J.pending_buf[J.pending++]=Q},_0=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,G)=>{let V=J.avail_in;if(V>G)V=G;if(V===0)return 0;if(J.avail_in-=V,Q.set(J.input.subarray(J.next_in,J.next_in+V),W),J.state.wrap===1)J.adler=t0(J.adler,Q,V,W);else if(J.state.wrap===2)J.adler=_(J.adler,Q,V,W);return J.next_in+=V,J.total_in+=V,V},C6=(J,Q)=>{let{max_chain_length:W,strstart:G}=J,V,q,Y=J.prev_length,X=J.nice_match;const z=J.strstart>J.w_size-G0?J.strstart-(J.w_size-G0):0,U=J.window,P=J.w_mask,$=J.prev,F=J.strstart+z0;let K=U[G+Y-1],Z=U[G+Y];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(V=Q,U[V+Y]!==Z||U[V+Y-1]!==K||U[V]!==U[G]||U[++V]!==U[G+1])continue;G+=2,V++;do;while(U[++G]===U[++V]&&U[++G]===U[++V]&&U[++G]===U[++V]&&U[++G]===U[++V]&&U[++G]===U[++V]&&U[++G]===U[++V]&&U[++G]===U[++V]&&U[++G]===U[++V]&&G<F);if(q=z0-(F-G),G=F-z0,q>Y){if(J.match_start=Q,Y=q,q>=X)break;K=U[G+Y-1],Z=U[G+Y]}}while((Q=$[Q&P])>z&&--W!==0);if(Y<=J.lookahead)return Y;return J.lookahead},y0=(J)=>{const Q=J.w_size;let W,G,V;do{if(G=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G0)){if(J.window.set(J.window.subarray(Q,Q+Q-G),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;jJ(J),G+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,G),J.lookahead+=W,J.lookahead+J.insert>=v){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=k0(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=k0(J,J.ins_h,J.window[V+v-1]),J.prev[V&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=V,V++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<G0&&J.strm.avail_in!==0)},I6=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,G,V,q,Y=0,X=J.strm.avail_in;do{if(G=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,V=J.strstart-J.block_start,G>V+J.strm.avail_in)G=V+J.strm.avail_in;if(G>q)G=q;if(G<W&&(G===0&&Q!==a||Q===H0||G!==V+J.strm.avail_in))break;if(Y=Q===a&&G===V+J.strm.avail_in?1:0,a1(J,0,0,Y),J.pending_buf[J.pending-4]=G,J.pending_buf[J.pending-3]=G>>8,J.pending_buf[J.pending-2]=~G,J.pending_buf[J.pending-1]=~G>>8,r(J.strm),V){if(V>G)V=G;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+V),J.strm.next_out),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V,J.block_start+=V,G-=V}if(G)Q8(J.strm,J.strm.output,J.strm.next_out,G),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G}while(Y===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(Y)return h0;if(Q!==H0&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f0;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,V=J.strstart-J.block_start,V>=W||(V||Q===a)&&Q!==H0&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,Y=Q===a&&J.strm.avail_in===0&&G===V?1:0,a1(J,J.block_start,G,Y),J.block_start+=G,r(J.strm);return Y?C0:l},b1=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G0){if(y0(J),J.lookahead<G0&&Q===H0)return l;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=k0(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G0)J.match_length=C6(J,W);if(J.match_length>=v)if(G=Z0(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=k0(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=k0(J,J.ins_h,J.window[J.strstart+1]);else G=Z0(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(o(J,!1),J.strm.avail_out===0)return l}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return C0;return h0}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return l}return f0},S0=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G0){if(y0(J),J.lookahead<G0&&Q===H0)return l;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=k0(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G0){if(J.match_length=C6(J,W),J.match_length<=5&&(J.strategy===QJ||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-v,G=Z0(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=k0(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,G){if(o(J,!1),J.strm.avail_out===0)return l}}else if(J.match_available){if(G=Z0(J,0,J.window[J.strstart-1]),G)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return l}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)G=Z0(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return C0;return h0}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return l}return f0},MJ=(J,Q)=>{let W,G,V,q;const Y=J.window;for(;;){if(J.lookahead<=z0){if(y0(J),J.lookahead<=z0&&Q===H0)return l;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(V=J.strstart-1,G=Y[V],G===Y[++V]&&G===Y[++V]&&G===Y[++V]){q=J.strstart+z0;do;while(G===Y[++V]&&G===Y[++V]&&G===Y[++V]&&G===Y[++V]&&G===Y[++V]&&G===Y[++V]&&G===Y[++V]&&G===Y[++V]&&V<q);if(J.match_length=z0-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=Z0(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=Z0(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return l}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return C0;return h0}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return l}return f0},LJ=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(y0(J),J.lookahead===0){if(Q===H0)return l;break}}if(J.match_length=0,W=Z0(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return l}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return C0;return h0}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return l}return f0},i0=[new J0(0,0,0,0,I6),new J0(4,4,8,4,b1),new J0(4,5,16,8,b1),new J0(4,6,32,32,b1),new J0(4,4,16,16,S0),new J0(8,16,32,32,S0),new J0(8,16,128,128,S0),new J0(8,32,128,256,S0),new J0(32,128,258,1024,S0),new J0(32,258,258,4096,S0)],CJ=(J)=>{J.window_size=2*J.w_size,F0(J.head),J.max_lazy_match=i0[J.level].max_lazy,J.good_match=i0[J.level].good_length,J.nice_match=i0[J.level].nice_length,J.max_chain_length=i0[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0},V1=(J)=>{if(!J)return 1;const Q=J.state;if(!Q||Q.strm!==J||Q.status!==v0&&Q.status!==U8&&Q.status!==e1&&Q.status!==t1&&Q.status!==J8&&Q.status!==W8&&Q.status!==R0&&Q.status!==d0)return 1;return 0},x6=(J)=>{if(V1(J))return M0(J,Q0);J.total_in=J.total_out=0,J.data_type=XJ;const Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?U8:Q.wrap?v0:R0,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,o5(Q),d},O6=(J)=>{const Q=x6(J);if(Q===d)CJ(J.state);return Q},xJ=(J,Q)=>{if(V1(J)||J.state.wrap!==2)return Q0;return J.state.gzhead=Q,d},w6=(J,Q,W,G,V,q)=>{if(!J)return Q0;let Y=1;if(Q===WJ)Q=6;if(G<0)Y=0,G=-G;else if(G>15)Y=2,G-=16;if(V<1||V>UJ||W!==x1||G<8||G>15||Q<0||Q>9||q<0||q>VJ||G===8&&Y!==1)return M0(J,Q0);if(G===8)G=9;const X=new IJ;return J.state=X,X.strm=J,X.status=v0,X.wrap=Y,X.gzhead=null,X.w_bits=G,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=V+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<V+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,O6(J)},OJ=(J,Q)=>{return w6(J,Q,x1,YJ,PJ,qJ)},wJ=(J,Q)=>{if(V1(J)||Q>A8||Q<0)return J?M0(J,Q0):Q0;const W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d0&&Q!==a)return M0(J,J.avail_out===0?p1:Q0);const G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&S8(Q)<=S8(G)&&Q!==a)return M0(J,p1);if(W.status===d0&&J.avail_in!==0)return M0(J,p1);if(W.status===v0&&W.wrap===0)W.status=R0;if(W.status===v0){let V=x1+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=k1||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(V|=q<<6,W.strstart!==0)V|=$J;if(V+=31-V%31,_0(W,V),W.strstart!==0)_0(W,J.adler>>>16),_0(W,J.adler&65535);if(J.adler=1,W.status=R0,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===U8)if(J.adler=0,y(W,31),y(W,139),y(W,8),!W.gzhead){if(y(W,0),y(W,0),y(W,0),y(W,0),y(W,0),y(W,W.level===9?2:W.strategy>=k1||W.level<2?4:0),y(W,BJ),W.status=R0,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(y(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),y(W,W.gzhead.time&255),y(W,W.gzhead.time>>8&255),y(W,W.gzhead.time>>16&255),y(W,W.gzhead.time>>24&255),y(W,W.level===9?2:W.strategy>=k1||W.level<2?4:0),y(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)y(W,W.gzhead.extra.length&255),y(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=_(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=e1}if(W.status===e1){if(W.gzhead.extra){let V=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>V)J.adler=_(J.adler,W.pending_buf,W.pending-V,V);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;V=0,q-=X}let Y=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(Y.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>V)J.adler=_(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=t1}if(W.status===t1){if(W.gzhead.name){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=_(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;y(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=_(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=_(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;y(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=_(J.adler,W.pending_buf,W.pending-V,V)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}y(W,J.adler&255),y(W,J.adler>>8&255),J.adler=0}if(W.status=R0,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H0&&W.status!==d0){let V=W.level===0?I6(W,Q):W.strategy===k1?LJ(W,Q):W.strategy===GJ?MJ(W,Q):i0[W.level].func(W,Q);if(V===C0||V===h0)W.status=d0;if(V===l||V===C0){if(J.avail_out===0)W.last_flush=-1;return d}if(V===f0){if(Q===e5)s5(W);else if(Q!==A8){if(a1(W,0,0,!1),Q===t5){if(F0(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return N8;if(W.wrap===2)y(W,J.adler&255),y(W,J.adler>>8&255),y(W,J.adler>>16&255),y(W,J.adler>>24&255),y(W,J.total_in&255),y(W,J.total_in>>8&255),y(W,J.total_in>>16&255),y(W,J.total_in>>24&255);else _0(W,J.adler>>>16),_0(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:N8},DJ=(J)=>{if(V1(J))return Q0;const Q=J.state.status;return J.state=null,Q===R0?M0(J,JJ):d},AJ=(J,Q)=>{let W=Q.length;if(V1(J))return Q0;const G=J.state,V=G.wrap;if(V===2||V===1&&G.status!==v0||G.lookahead)return Q0;if(V===1)J.adler=t0(J.adler,Q,W,0);if(G.wrap=0,W>=G.w_size){if(V===0)F0(G.head),G.strstart=0,G.block_start=0,G.insert=0;let z=new Uint8Array(G.w_size);z.set(Q.subarray(W-G.w_size,W),0),Q=z,W=G.w_size}const{avail_in:q,next_in:Y,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,y0(G);while(G.lookahead>=v){let z=G.strstart,U=G.lookahead-(v-1);do G.ins_h=k0(G,G.ins_h,G.window[z+v-1]),G.prev[z&G.w_mask]=G.head[G.ins_h],G.head[G.ins_h]=z,z++;while(--U);G.strstart=z,G.lookahead=v-1,y0(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=v-1,G.match_available=0,J.next_in=Y,J.input=X,J.avail_in=q,G.wrap=V,d},NJ=OJ,SJ=w6,gJ=O6,TJ=x6,vJ=xJ,yJ=wJ,EJ=DJ,fJ=AJ,hJ="pako deflate (from Nodeca project)",n0={deflateInit:NJ,deflateInit2:SJ,deflateReset:gJ,deflateResetKeep:TJ,deflateSetHeader:vJ,deflate:yJ,deflateEnd:EJ,deflateSetDictionary:fJ,deflateInfo:hJ},pJ=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},bJ=function(J){const Q=Array.prototype.slice.call(arguments,1);while(Q.length){const W=Q.shift();if(!W)continue;if(typeof W!=="object")throw new TypeError(W+"must be non-object");for(let G in W)if(pJ(W,G))J[G]=W[G]}return J},uJ=(J)=>{let Q=0;for(let G=0,V=J.length;G<V;G++)Q+=J[G].length;const W=new Uint8Array(Q);for(let G=0,V=0,q=J.length;G<q;G++){let Y=J[G];W.set(Y,V),V+=Y.length}return W},O1={assign:bJ,flattenChunks:uJ},D6=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){D6=!1}var J1=new Uint8Array(256);for(let J=0;J<256;J++)J1[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J1[254]=J1[254]=1;var mJ=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return(new TextEncoder()).encode(J);let Q,W,G,V,q,Y=J.length,X=0;for(V=0;V<Y;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<Y){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,V=0;q<X;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<Y){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},cJ=(J,Q)=>{if(Q<65534){if(J.subarray&&D6)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let G=0;G<Q;G++)W+=String.fromCharCode(J[G]);return W},_J=(J,Q)=>{const W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return(new TextDecoder()).decode(J.subarray(0,Q));let G,V;const q=new Array(W*2);for(V=0,G=0;G<W;){let Y=J[G++];if(Y<128){q[V++]=Y;continue}let X=J1[Y];if(X>4){q[V++]=65533,G+=X-1;continue}Y&=X===2?31:X===3?15:7;while(X>1&&G<W)Y=Y<<6|J[G++]&63,X--;if(X>1){q[V++]=65533;continue}if(Y<65536)q[V++]=Y;else Y-=65536,q[V++]=55296|Y>>10&1023,q[V++]=56320|Y&1023}return cJ(q,V)},dJ=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J1[J[W]]>Q?W:Q},W1={string2buf:mJ,buf2string:_J,utf8border:dJ},A6=iJ,N6=Object.prototype.toString,{Z_NO_FLUSH:lJ,Z_SYNC_FLUSH:nJ,Z_FULL_FLUSH:rJ,Z_FINISH:oJ,Z_OK:C1,Z_STREAM_END:aJ,Z_DEFAULT_COMPRESSION:sJ,Z_DEFAULT_STRATEGY:eJ,Z_DEFLATED:tJ}=x0;q1.prototype.push=function(J,Q){const W=this.strm,G=this.options.chunkSize;let V,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?oJ:lJ;if(typeof J==="string")W.input=W1.string2buf(J);else if(N6.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if((q===nJ||q===rJ)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(V=n0.deflate(W,q),V===aJ){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return V=n0.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===C1}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q1.prototype.onData=function(J){this.chunks.push(J)};q1.prototype.onEnd=function(J){if(J===C1)this.result=O1.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};var QW=q1,GW=Y8,VW=JW,qW=WW,XW=x0,UW={Deflate:QW,deflate:GW,deflateRaw:VW,gzip:qW,constants:XW},$1=16209,YW=16191,PW=function J(Q,W){let G,V,q,Y,X,z,U,P,$,F,K,Z,I,R,j,L,C,k,S,u,M,g,A,O;const N=Q.state;G=Q.next_in,A=Q.input,V=G+(Q.avail_in-5),q=Q.next_out,O=Q.output,Y=q-(W-Q.avail_out),X=q+(Q.avail_out-257),z=N.dmax,U=N.wsize,P=N.whave,$=N.wnext,F=N.window,K=N.hold,Z=N.bits,I=N.lencode,R=N.distcode,j=(1<<N.lenbits)-1,L=(1<<N.distbits)-1;J:do{if(Z<15)K+=A[G++]<<Z,Z+=8,K+=A[G++]<<Z,Z+=8;C=I[K&j];W:for(;;){if(k=C>>>24,K>>>=k,Z-=k,k=C>>>16&255,k===0)O[q++]=C&65535;else if(k&16){if(S=C&65535,k&=15,k){if(Z<k)K+=A[G++]<<Z,Z+=8;S+=K&(1<<k)-1,K>>>=k,Z-=k}if(Z<15)K+=A[G++]<<Z,Z+=8,K+=A[G++]<<Z,Z+=8;C=R[K&L];Q:for(;;){if(k=C>>>24,K>>>=k,Z-=k,k=C>>>16&255,k&16){if(u=C&65535,k&=15,Z<k){if(K+=A[G++]<<Z,Z+=8,Z<k)K+=A[G++]<<Z,Z+=8}if(u+=K&(1<<k)-1,u>z){Q.msg="invalid distance too far back",N.mode=$1;break J}if(K>>>=k,Z-=k,k=q-Y,u>k){if(k=u-k,k>P){if(N.sane){Q.msg="invalid distance too far back",N.mode=$1;break J}}if(M=0,g=F,$===0){if(M+=U-k,k<S){S-=k;do O[q++]=F[M++];while(--k);M=q-u,g=O}}else if($<k){if(M+=U+$-k,k-=$,k<S){S-=k;do O[q++]=F[M++];while(--k);if(M=0,$<S){k=$,S-=k;do O[q++]=F[M++];while(--k);M=q-u,g=O}}}else if(M+=$-k,k<S){S-=k;do O[q++]=F[M++];while(--k);M=q-u,g=O}while(S>2)O[q++]=g[M++],O[q++]=g[M++],O[q++]=g[M++],S-=3;if(S){if(O[q++]=g[M++],S>1)O[q++]=g[M++]}}else{M=q-u;do O[q++]=O[M++],O[q++]=O[M++],O[q++]=O[M++],S-=3;while(S>2);if(S){if(O[q++]=O[M++],S>1)O[q++]=O[M++]}}}else if((k&64)===0){C=R[(C&65535)+(K&(1<<k)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=$1;break J}break}}else if((k&64)===0){C=I[(C&65535)+(K&(1<<k)-1)];continue W}else if(k&32){N.mode=YW;break J}else{Q.msg="invalid literal/length code",N.mode=$1;break J}break}}while(G<V&&q<X);S=Z>>3,G-=S,Z-=S<<3,K&=(1<<Z)-1,Q.next_in=G,Q.next_out=q,Q.avail_in=G<V?5+(V-G):5-(G-V),Q.avail_out=q<X?257+(X-q):257-(q-X),N.hold=K,N.bits=Z;return},g0=15,g8=852,T8=592,v8=0,u1=1,y8=2,KW=new Uint16Array([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,0,0]),FW=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),zW=new Uint16Array([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,0,0]),ZW=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),HW=(J,Q,W,G,V,q,Y,X)=>{const z=X.bits;let U=0,P=0,$=0,F=0,K=0,Z=0,I=0,R=0,j=0,L=0,C,k,S,u,M,g=null,A;const O=new Uint16Array(g0+1),N=new Uint16Array(g0+1);let V0=null,p0,t,Y0;for(U=0;U<=g0;U++)O[U]=0;for(P=0;P<G;P++)O[Q[W+P]]++;K=z;for(F=g0;F>=1;F--)if(O[F]!==0)break;if(K>F)K=F;if(F===0)return V[q++]=1<<24|64<<16|0,V[q++]=1<<24|64<<16|0,X.bits=1,0;for($=1;$<F;$++)if(O[$]!==0)break;if(K<$)K=$;R=1;for(U=1;U<=g0;U++)if(R<<=1,R-=O[U],R<0)return-1;if(R>0&&(J===v8||F!==1))return-1;N[1]=0;for(U=1;U<g0;U++)N[U+1]=N[U]+O[U];for(P=0;P<G;P++)if(Q[W+P]!==0)Y[N[Q[W+P]]++]=P;if(J===v8)g=V0=Y,A=20;else if(J===u1)g=KW,V0=FW,A=257;else g=zW,V0=ZW,A=0;if(L=0,P=0,U=$,M=q,Z=K,I=0,S=-1,j=1<<K,u=j-1,J===u1&&j>g8||J===y8&&j>T8)return 1;for(;;){if(p0=U-I,Y[P]+1<A)t=0,Y0=Y[P];else if(Y[P]>=A)t=V0[Y[P]-A],Y0=g[Y[P]-A];else t=96,Y0=0;C=1<<U-I,k=1<<Z,$=k;do k-=C,V[M+(L>>I)+k]=p0<<24|t<<16|Y0|0;while(k!==0);C=1<<U-1;while(L&C)C>>=1;if(C!==0)L&=C-1,L+=C;else L=0;if(P++,--O[U]===0){if(U===F)break;U=Q[W+Y[P]]}if(U>K&&(L&u)!==S){if(I===0)I=K;M+=$,Z=U-I,R=1<<Z;while(Z+I<F){if(R-=O[Z+I],R<=0)break;Z++,R<<=1}if(j+=1<<Z,J===u1&&j>g8||J===y8&&j>T8)return 1;S=L&u,V[S]=K<<24|Z<<16|M-q|0}}if(L!==0)V[M+L]=U-I<<24|64<<16|0;return X.bits=K,0},r0=HW,kW=0,S6=1,g6=2,{Z_FINISH:E8,Z_BLOCK:$W,Z_TREES:B1,Z_OK:I0,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:T6,Z_MEM_ERROR:v6,Z_BUF_ERROR:RW,Z_DEFLATED:f8}=x0,w1=16180,h8=16181,p8=16182,b8=16183,u8=16184,m8=16185,c8=16186,_8=16187,d8=16188,i8=16189,I1=16190,q0=16191,m1=16192,l8=16193,c1=16194,n8=16195,r8=16196,o8=16197,a8=16198,j1=16199,R1=16200,s8=16201,e8=16202,t8=16203,J6=16204,W6=16205,_1=16206,Q6=16207,G6=16208,p=16209,y6=16210,E6=16211,MW=852,LW=592,CW=15,IW=CW,V6=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)},O0=(J)=>{if(!J)return 1;const Q=J.state;if(!Q||Q.strm!==J||Q.mode<w1||Q.mode>E6)return 1;return 0},f6=(J)=>{if(O0(J))return s;const Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=w1,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(MW),Q.distcode=Q.distdyn=new Int32Array(LW),Q.sane=1,Q.back=-1,I0},h6=(J)=>{if(O0(J))return s;const Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,f6(J)},p6=(J,Q)=>{let W;if(O0(J))return s;const G=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,h6(J)},b6=(J,Q)=>{if(!J)return s;const W=new xW;J.state=W,W.strm=J,W.window=null,W.mode=w1;const G=p6(J,Q);if(G!==I0)J.state=null;return G},OW=(J)=>{return b6(J,IW)},q6=!0,d1,i1,wW=(J)=>{if(q6){d1=new Int32Array(512),i1=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r0(S6,J.lens,0,288,d1,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r0(g6,J.lens,0,32,i1,0,J.work,{bits:5}),q6=!1}J.lencode=d1,J.lenbits=9,J.distcode=i1,J.distbits=5},u6=(J,Q,W,G)=>{let V;const q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(G>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(V=q.wsize-q.wnext,V>G)V=G;if(q.window.set(Q.subarray(W-G,W-G+V),q.wnext),G-=V,G)q.window.set(Q.subarray(W-G,W),0),q.wnext=G,q.whave=q.wsize;else{if(q.wnext+=V,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=V}}return 0},DW=(J,Q)=>{let W,G,V,q,Y,X,z,U,P,$,F,K,Z,I,R=0,j,L,C,k,S,u,M,g;const A=new Uint8Array(4);let O,N;const V0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(O0(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q0)W.mode=m1;Y=J.next_out,V=J.output,z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,U=W.hold,P=W.bits,$=X,F=z,g=I0;J:for(;;)switch(W.mode){case w1:if(W.wrap===0){W.mode=m1;break}while(P<16){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.wrap&2&&U===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=U&255,A[1]=U>>>8&255,W.check=_(W.check,A,2,0),U=0,P=0,W.mode=h8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((U&255)<<8)+(U>>8))%31){J.msg="incorrect header check",W.mode=p;break}if((U&15)!==f8){J.msg="unknown compression method",W.mode=p;break}if(U>>>=4,P-=4,M=(U&15)+8,W.wbits===0)W.wbits=M;if(M>15||M>W.wbits){J.msg="invalid window size",W.mode=p;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=U&512?i8:q0,U=0,P=0;break;case h8:while(P<16){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.flags=U,(W.flags&255)!==f8){J.msg="unknown compression method",W.mode=p;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=p;break}if(W.head)W.head.text=U>>8&1;if(W.flags&512&&W.wrap&4)A[0]=U&255,A[1]=U>>>8&255,W.check=_(W.check,A,2,0);U=0,P=0,W.mode=p8;case p8:while(P<32){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.head)W.head.time=U;if(W.flags&512&&W.wrap&4)A[0]=U&255,A[1]=U>>>8&255,A[2]=U>>>16&255,A[3]=U>>>24&255,W.check=_(W.check,A,4,0);U=0,P=0,W.mode=b8;case b8:while(P<16){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.head)W.head.xflags=U&255,W.head.os=U>>8;if(W.flags&512&&W.wrap&4)A[0]=U&255,A[1]=U>>>8&255,W.check=_(W.check,A,2,0);U=0,P=0,W.mode=u8;case u8:if(W.flags&1024){while(P<16){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.length=U,W.head)W.head.extra_len=U;if(W.flags&512&&W.wrap&4)A[0]=U&255,A[1]=U>>>8&255,W.check=_(W.check,A,2,0);U=0,P=0}else if(W.head)W.head.extra=null;W.mode=m8;case m8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(M=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(G.subarray(q,q+K),M)}if(W.flags&512&&W.wrap&4)W.check=_(W.check,G,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=c8;case c8:if(W.flags&2048){if(X===0)break J;K=0;do if(M=G[q+K++],W.head&&M&&W.length<65536)W.head.name+=String.fromCharCode(M);while(M&&K<X);if(W.flags&512&&W.wrap&4)W.check=_(W.check,G,K,q);if(X-=K,q+=K,M)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=_8;case _8:if(W.flags&4096){if(X===0)break J;K=0;do if(M=G[q+K++],W.head&&M&&W.length<65536)W.head.comment+=String.fromCharCode(M);while(M&&K<X);if(W.flags&512&&W.wrap&4)W.check=_(W.check,G,K,q);if(X-=K,q+=K,M)break J}else if(W.head)W.head.comment=null;W.mode=d8;case d8:if(W.flags&512){while(P<16){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.wrap&4&&U!==(W.check&65535)){J.msg="header crc mismatch",W.mode=p;break}U=0,P=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q0;break;case i8:while(P<32){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}J.adler=W.check=V6(U),U=0,P=0,W.mode=I1;case I1:if(W.havedict===0)return J.next_out=Y,J.avail_out=z,J.next_in=q,J.avail_in=X,W.hold=U,W.bits=P,jW;J.adler=W.check=1,W.mode=q0;case q0:if(Q===$W||Q===B1)break J;case m1:if(W.last){U>>>=P&7,P-=P&7,W.mode=_1;break}while(P<3){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}switch(W.last=U&1,U>>>=1,P-=1,U&3){case 0:W.mode=l8;break;case 1:if(wW(W),W.mode=j1,Q===B1){U>>>=2,P-=2;break J}break;case 2:W.mode=r8;break;case 3:J.msg="invalid block type",W.mode=p}U>>>=2,P-=2;break;case l8:U>>>=P&7,P-=P&7;while(P<32){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if((U&65535)!==(U>>>16^65535)){J.msg="invalid stored block lengths",W.mode=p;break}if(W.length=U&65535,U=0,P=0,W.mode=c1,Q===B1)break J;case c1:W.mode=n8;case n8:if(K=W.length,K){if(K>X)K=X;if(K>z)K=z;if(K===0)break J;V.set(G.subarray(q,q+K),Y),X-=K,q+=K,z-=K,Y+=K,W.length-=K;break}W.mode=q0;break;case r8:while(P<14){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.nlen=(U&31)+257,U>>>=5,P-=5,W.ndist=(U&31)+1,U>>>=5,P-=5,W.ncode=(U&15)+4,U>>>=4,P-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=p;break}W.have=0,W.mode=o8;case o8:while(W.have<W.ncode){while(P<3){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}W.lens[V0[W.have++]]=U&7,U>>>=3,P-=3}while(W.have<19)W.lens[V0[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,O={bits:W.lenbits},g=r0(kW,W.lens,0,19,W.lencode,0,W.work,O),W.lenbits=O.bits,g){J.msg="invalid code lengths set",W.mode=p;break}W.have=0,W.mode=a8;case a8:while(W.have<W.nlen+W.ndist){for(;;){if(R=W.lencode[U&(1<<W.lenbits)-1],j=R>>>24,L=R>>>16&255,C=R&65535,j<=P)break;if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(C<16)U>>>=j,P-=j,W.lens[W.have++]=C;else{if(C===16){N=j+2;while(P<N){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(U>>>=j,P-=j,W.have===0){J.msg="invalid bit length repeat",W.mode=p;break}M=W.lens[W.have-1],K=3+(U&3),U>>>=2,P-=2}else if(C===17){N=j+3;while(P<N){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}U>>>=j,P-=j,M=0,K=3+(U&7),U>>>=3,P-=3}else{N=j+7;while(P<N){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}U>>>=j,P-=j,M=0,K=11+(U&127),U>>>=7,P-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=p;break}while(K--)W.lens[W.have++]=M}}if(W.mode===p)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=p;break}if(W.lenbits=9,O={bits:W.lenbits},g=r0(S6,W.lens,0,W.nlen,W.lencode,0,W.work,O),W.lenbits=O.bits,g){J.msg="invalid literal/lengths set",W.mode=p;break}if(W.distbits=6,W.distcode=W.distdyn,O={bits:W.distbits},g=r0(g6,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,O),W.distbits=O.bits,g){J.msg="invalid distances set",W.mode=p;break}if(W.mode=j1,Q===B1)break J;case j1:W.mode=R1;case R1:if(X>=6&&z>=258){if(J.next_out=Y,J.avail_out=z,J.next_in=q,J.avail_in=X,W.hold=U,W.bits=P,PW(J,F),Y=J.next_out,V=J.output,z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,U=W.hold,P=W.bits,W.mode===q0)W.back=-1;break}W.back=0;for(;;){if(R=W.lencode[U&(1<<W.lenbits)-1],j=R>>>24,L=R>>>16&255,C=R&65535,j<=P)break;if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(L&&(L&240)===0){k=j,S=L,u=C;for(;;){if(R=W.lencode[u+((U&(1<<k+S)-1)>>k)],j=R>>>24,L=R>>>16&255,C=R&65535,k+j<=P)break;if(X===0)break J;X--,U+=G[q++]<<P,P+=8}U>>>=k,P-=k,W.back+=k}if(U>>>=j,P-=j,W.back+=j,W.length=C,L===0){W.mode=W6;break}if(L&32){W.back=-1,W.mode=q0;break}if(L&64){J.msg="invalid literal/length code",W.mode=p;break}W.extra=L&15,W.mode=s8;case s8:if(W.extra){N=W.extra;while(P<N){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}W.length+=U&(1<<W.extra)-1,U>>>=W.extra,P-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=e8;case e8:for(;;){if(R=W.distcode[U&(1<<W.distbits)-1],j=R>>>24,L=R>>>16&255,C=R&65535,j<=P)break;if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if((L&240)===0){k=j,S=L,u=C;for(;;){if(R=W.distcode[u+((U&(1<<k+S)-1)>>k)],j=R>>>24,L=R>>>16&255,C=R&65535,k+j<=P)break;if(X===0)break J;X--,U+=G[q++]<<P,P+=8}U>>>=k,P-=k,W.back+=k}if(U>>>=j,P-=j,W.back+=j,L&64){J.msg="invalid distance code",W.mode=p;break}W.offset=C,W.extra=L&15,W.mode=t8;case t8:if(W.extra){N=W.extra;while(P<N){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}W.offset+=U&(1<<W.extra)-1,U>>>=W.extra,P-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=p;break}W.mode=J6;case J6:if(z===0)break J;if(K=F-z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=p;break}}if(K>W.wnext)K-=W.wnext,Z=W.wsize-K;else Z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=V,Z=Y-W.offset,K=W.length;if(K>z)K=z;z-=K,W.length-=K;do V[Y++]=I[Z++];while(--K);if(W.length===0)W.mode=R1;break;case W6:if(z===0)break J;V[Y++]=W.length,z--,W.mode=R1;break;case _1:if(W.wrap){while(P<32){if(X===0)break J;X--,U|=G[q++]<<P,P+=8}if(F-=z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?_(W.check,V,F,Y-F):t0(W.check,V,F,Y-F);if(F=z,W.wrap&4&&(W.flags?U:V6(U))!==W.check){J.msg="incorrect data check",W.mode=p;break}U=0,P=0}W.mode=Q6;case Q6:if(W.wrap&&W.flags){while(P<32){if(X===0)break J;X--,U+=G[q++]<<P,P+=8}if(W.wrap&4&&U!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=p;break}U=0,P=0}W.mode=G6;case G6:g=BW;break J;case p:g=T6;break J;case y6:return v6;case E6:default:return s}if(J.next_out=Y,J.avail_out=z,J.next_in=q,J.avail_in=X,W.hold=U,W.bits=P,W.wsize||F!==J.avail_out&&W.mode<p&&(W.mode<_1||Q!==E8)){if(u6(J,J.output,J.next_out,F-J.avail_out));}if($-=J.avail_in,F-=J.avail_out,J.total_in+=$,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?_(W.check,V,F,J.next_out-F):t0(W.check,V,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q0?128:0)+(W.mode===j1||W.mode===c1?256:0),($===0&&F===0||Q===E8)&&g===I0)g=RW;return g},AW=(J)=>{if(O0(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I0},NW=(J,Q)=>{if(O0(J))return s;const W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I0},SW=(J,Q)=>{const W=Q.length;let G,V,q;if(O0(J))return s;if(G=J.state,G.wrap!==0&&G.mode!==I1)return s;if(G.mode===I1){if(V=1,V=t0(V,Q,W,0),V!==G.check)return T6}if(q=u6(J,Q,W,W),q)return G.mode=y6,v6;return G.havedict=1,I0},gW=h6,TW=p6,vW=f6,yW=OW,EW=b6,fW=DW,hW=AW,pW=NW,bW=SW,uW="pako inflate (from Nodeca project)",U0={inflateReset:gW,inflateReset2:TW,inflateResetKeep:vW,inflateInit:yW,inflateInit2:EW,inflate:fW,inflateEnd:hW,inflateGetHeader:pW,inflateSetDictionary:bW,inflateInfo:uW},cW=mW,m6=Object.prototype.toString,{Z_NO_FLUSH:_W,Z_FINISH:dW,Z_OK:Q1,Z_STREAM_END:l1,Z_NEED_DICT:n1,Z_STREAM_ERROR:iW,Z_DATA_ERROR:X6,Z_MEM_ERROR:lW}=x0;X1.prototype.push=function(J,Q){const W=this.strm,G=this.options.chunkSize,V=this.options.dictionary;let q,Y,X;if(this.ended)return!1;if(Q===~~Q)Y=Q;else Y=Q===!0?dW:_W;if(m6.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if(q=U0.inflate(W,Y),q===n1&&V){if(q=U0.inflateSetDictionary(W,V),q===Q1)q=U0.inflate(W,Y);else if(q===X6)q=n1}while(W.avail_in>0&&q===l1&&W.state.wrap>0&&J[W.next_in]!==0)U0.inflateReset(W),q=U0.inflate(W,Y);switch(q){case iW:case X6:case n1:case lW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===l1)if(this.options.to==="string"){let z=W1.utf8border(W.output,W.next_out),U=W.next_out-z,P=W1.buf2string(W.output,z);if(W.next_out=U,W.avail_out=G-U,U)W.output.set(W.output.subarray(z,z+U),0);this.onData(P)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q1&&X===0)continue;if(q===l1)return q=U0.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X1.prototype.onData=function(J){this.chunks.push(J)};X1.prototype.onEnd=function(J){if(J===Q1)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=O1.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};var rW=X1,oW=P8,aW=nW,sW=P8,eW=x0,tW={Inflate:rW,inflate:oW,inflateRaw:aW,ungzip:sW,constants:eW},{Deflate:J7,deflate:W7,deflateRaw:Q7,gzip:G7}=UW,{Inflate:V7,inflate:q7,inflateRaw:X7,ungzip:U7}=tW,Y7=J7,P7=W7,K7=Q7,F7=G7,z7=V7,Z7=q7,H7=X7,k7=U7,$7=x0,w0={Deflate:Y7,deflate:P7,deflateRaw:K7,gzip:F7,Inflate:z7,inflate:Z7,inflateRaw:H7,ungzip:k7,constants:$7};function c6(J,Q,W){let G=Q.timestamp;if(G?.physical>Date.now()+7200000)G={physical:Date.now()+7200000,logical:G.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&("role"in Q.value)){const{priority:V,...q}=Q.value;return{resolved:!0,value:q,timestamp:G}}if(Q?.value?.priority!==void 0){const{priority:V,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:G};if(W.compare(G,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:G}}function _6(J,Q=50){const W=`gdb_oplog_${J}`;let G=[];function V(){try{const Y=localStorage.getItem(W);G=Y?JSON.parse(Y):[]}catch(Y){console.error("\u274C GDB: Failed to load oplog from localStorage:",Y),G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(Y){console.error("\u274C GDB: Failed to save oplog to localStorage:",Y)}}return V(),{remove(Y){G=G.filter((X)=>X.id!==Y),q()},add(Y){if(G.push(Y),G.length>Q)G.shift();q()},getDelta(Y,X){if(!Y)return[...G];return G.filter((z)=>X(z.timestamp,Y)>0)},getOldest(){return G[0]},clear(){G=[],localStorage.removeItem(W)}}}var B7=()=>{const J=new Map,Q=async(P,$)=>{const F=J.get(P)??[];J.set(P,F);const K=F[F.length-1]??Promise.resolve();let Z;const I=new Promise((R)=>Z=R);F.push(I);try{return await K,await $()}finally{if(F.shift(),Z(),!F.length)J.delete(P)}},W=(P,$)=>navigator.locks?.request?.(`opfs:${P}`,{mode:"exclusive"},$)??Q(P,$),G=async()=>{try{const P=await navigator.storage.getDirectory(),F=await(await P.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await P.removeEntry("~opfs-sync-test"),!!F}catch{return!1}};let V="idb";const q=(async()=>{if(await G()){V="sync";return}try{const P=await navigator.storage.getDirectory(),F=await(await P.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await P.removeEntry("~opfs-async-test"),V=F?"async":"idb"}catch{V="idb"}})(),Y=navigator.storage.getDirectory(),X=(()=>{let P;const $=()=>P??=new Promise((F,K)=>{const Z=indexedDB.open("opfs-fallback-db",1);Z.onupgradeneeded=()=>Z.result.createObjectStore("files"),Z.onsuccess=()=>F(Z.result),Z.onerror=()=>K(Z.error)});return{get:async(F)=>{const K=await $();return new Promise((Z,I)=>{const j=K.transaction("files","readonly").objectStore("files").get(F);j.onsuccess=()=>Z(j.result||new Uint8Array),j.onerror=()=>I(j.error)})},set:async(F,K)=>{const Z=await $();return new Promise((I,R)=>{const L=Z.transaction("files","readwrite").objectStore("files").put(K,F);L.onsuccess=()=>I(),L.onerror=()=>R(L.error)})}}})(),z=async(P)=>{await q;try{if(V==="idb"){const R=await X.get(P);self.postMessage({type:"loaded",name:P,data:R},[R.buffer]);return}const F=await(await Y).getFileHandle(P).catch(()=>null);if(!F){const R=new Uint8Array;self.postMessage({type:"loaded",name:P,data:R},[R.buffer]);return}const K=async()=>{try{const R=await F.createSyncAccessHandle();try{const j=R.getSize(),L=new Uint8Array(j),C=R.read(L,{at:0}),k=L.slice(0,C);self.postMessage({type:"loaded",name:P,data:k},[k.buffer])}finally{R.close()}}catch(R){if(R?.name==="NoModificationAllowedError"){const j=await F.getFile(),L=new Uint8Array(await j.arrayBuffer());self.postMessage({type:"loaded",name:P,data:L},[L.buffer])}else throw R}};if(V==="sync"){await W(P,K);return}const Z=await F.getFile(),I=new Uint8Array(await Z.arrayBuffer());self.postMessage({type:"loaded",name:P,data:I},[I.buffer])}catch($){if($?.name==="NotFoundError"){const F=new Uint8Array;self.postMessage({type:"loaded",name:P,data:F},[F.buffer]);return}console.error(`\u274C Worker file load error for '${P}':`,$),self.postMessage({type:"error",name:P,message:$?.message??"Error reading file"})}},U=async(P,$)=>{if(await q,!($ instanceof Uint8Array))return{type:"error",name:P,message:"Content must be a Uint8Array"};return W(P,async()=>{try{if(V==="idb")return await X.set(P,$),{type:"saved",name:P};const K=await(await Y).getFileHandle(P,{create:!0});if(V==="sync"){const Z=await K.createSyncAccessHandle();try{Z.truncate(0),Z.write($,{at:0}),Z.flush()}finally{Z.close()}}else{const Z=await K.createWritable();try{await Z.write($)}finally{await Z.close()}}return{type:"saved",name:P}}catch(F){return{type:"error",name:P,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:P})=>{const{type:$,name:F,content:K}=P;await q;const Z={load:()=>z(F),save:()=>U(F,K)};try{const I=Z[$],R=I?await I():{type:"error",message:`Unrecognized action type: ${$}`};if(R&&R.type)self.postMessage(R)}catch(I){console.error("\u274C Worker unexpected error:",I),self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},d6=B7;var U1={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{const W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Object.values(J).some((V)=>typeof V==="object"?null.fieldSearch(V,G):W(V).includes(G))},field:(J,Q)=>{const W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Array.isArray(J)?J.some((V)=>W(V).includes(G)):W(J).includes(G)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}\$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((G)=>W.createFilter(G,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((G)=>W.createFilter(G,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;const G=W.createFilter(Q,W.allNodes),V=[...J.edges],q=new Set(V).add(J.id),Y=[];while(V.length){const X=V.shift(),z=W.allNodes[X];if(!z)continue;if(G(z))Y.push(z);z.edges?.forEach((U)=>!q.has(U)&&q.add(U)&&V.push(U))}if(Y.length)J._edgeResult=Y;return Y.length>0}},D1=(J,Q)=>Q.split(".").reduce((W,G)=>W&&typeof W==="object"&&(G in W)?W[G]:void 0,J),A1=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([G,V])=>{if(G.startsWith("$"))return U1[G](W,V,{createFilter:A1,allNodes:Q});let q=D1(W.value,G);if(q===void 0)q=D1(W,G);if(typeof V!=="object"||V===null)return U1.$eq(q,V);return Object.entries(V).every(([Y,X])=>{if(Y==="$text")return U1.$text.field(q,X);if(Y==="$between"&&X.every((z)=>z instanceof Date))return U1.$between(new Date(q),X);return U1[Y]?.(q,X,{createFilter:A1,allNodes:Q})??!1})})},K8=(J,Q)=>{const{$edge:W,...G}=Q.query||{},V=A1(G,J),q=Object.values(J).filter(V);let X=[...W?(()=>{const z=A1({$edge:W},J);q.forEach((P)=>z(P));const U=new Map;return q.forEach((P)=>{if(P._edgeResult)P._edgeResult.forEach(($)=>U.set($.id,$)),delete P._edgeResult}),Array.from(U.values())})():q];if(Q.field){const z=Q.order==="asc"?1:-1;X.sort((U,P)=>{const $=D1(U.value,Q.field),F=D1(P.value,Q.field);if(typeof $==="string"&&typeof F==="string")return $.localeCompare(F)*z;return(($??0)-(F??0))*z})}if(Q.$after){const z=X.findIndex((U)=>U.id===Q.$after);X=z>=0?X.slice(z+1):[]}if(Q.$before){const z=X.findIndex((U)=>U.id===Q.$before);X=z>=0?X.slice(0,z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function i6(){let J=Date.now(),Q=0;return{now(){const W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number"){console.warn("\u26A0\uFE0F HybridClock.update received an invalid remote timestamp.",W);return}J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,G){if(!W&&!G)return 0;if(!W)return-1;if(!G)return 1;if(W.physical>G.physical)return 1;if(W.physical<G.physical)return-1;if(W.logical>G.logical)return 1;if(W.logical<G.logical)return-1;return 0}}}async function M7(){if(console.info(navigator?.storage?.getDirectory?"\u2705 OPFS is enabled.":"\uD83D\uDEAB OPFS is not available."),navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}var L7=function(){const J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,G){const V=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:V?.edges?[...V.edges]:[],timestamp:G}},get(Q){return J.nodes[Q]||null},link(Q,W,G){const V=J.nodes[Q],q=J.nodes[W];if(V&&q&&!V.edges.includes(W))J.nodes[Q]={...V,edges:[...V.edges,W],timestamp:G}},getAllNodes(){return Object.values(J.nodes)},serialize(){return w0.deflate(u0(J.nodes))},deserialize(Q){J.nodes=B0(w0.inflate(new Uint8Array(Q)))}}};async function r6(J,Q={}){console.info("\x1B[36m\u26A1 GenosDB: Empowering distributed graph databases with real-time synchronization and scalability. Learn more: https://github.com/estebanrfp/gdb \u26A1\x1B[0m");const{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ii:Y=!1,rx:X=!1,ai:z=!1,geo:U=!1,nlq:P=!1,saveDelay:$=200,oplogSize:F=20}=Q,K=L7(),Z=i6(),I=_6(J,F),R=[];let j=null,L=[],C=null,k=null,S=null,u=null;const M=[],g={};Object.defineProperties(g,{syncChannel:{get:()=>k},broadcastChannel:{get:()=>S},hybridClock:{get:()=>Z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(B)=>K.get(B)})},worker:{get:()=>C},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>w0},encode:{get:()=>u0},decode:{get:()=>B0},deepClone:{get:()=>F8}});async function A(B,D){try{const x=await j7[B](),f=D&&typeof D==="object"?D:{},c=await x.init?.(g,x,f);if(c)Object.assign(g,c);return x}catch(x){throw console.error(`\u274C Initialization of ${B} failed:`,x),x}}function O(){const B=localStorage.getItem(`${J}_time`);j=B?JSON.parse(B):null}function N(B){j=B,localStorage.setItem(`${J}_time`,JSON.stringify(B))}function V0(){try{const B=URL.createObjectURL(new Blob([`(${d6.toString()})()`],{type:"application/javascript"}));C=new Worker(B),URL.revokeObjectURL(B),C.addEventListener("message",({data:D})=>console.info(`\uD83D\uDCBE ${D.name} ${D.type}`)),console.info("\u2699\uFE0F Worker initialized successfully.")}catch({message:B}){console.error("\u274C Failed to initialize worker:",B)}}function p0(){const B={...K.nodes};L.forEach((D)=>D(B))}const t=R7(()=>p0()),Y0=n6(async()=>{const B=M.splice(0,M.length);if(!B.length)return!1;return await k.send(B),!0},16);async function z8(){try{const D=await((x)=>new Promise((f,c)=>{const h=async({data:H})=>{if(H.type==="loaded"&&H.name===x)C.removeEventListener("message",h),f(new Uint8Array(H.data));else if(H.type==="error")C.removeEventListener("message",h),c(new Error(H.message||"Unknown error"))};C.addEventListener("message",h),C.postMessage({type:"load",name:x})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);D.byteLength>0?K.deserialize(D):console.info("\uD83D\uDCBE New database. File will be created on first save.")}catch({message:B}){console.error("\u274C Error loading the graph:",B)}}async function o6(){try{const B=K.serialize();return await((x,f)=>new Promise((c,h)=>{const H=({data:w})=>{if(w.type==="saved"&&w.name===x)C.removeEventListener("message",H),c();else if(w.type==="error")C.removeEventListener("message",H),h(new Error(w.message||"Save error"))};C.addEventListener("message",H),C.postMessage({type:"save",name:x,content:f})}))(`${J}_graph.msgpack`,B),S.postMessage("update"),!0}catch({message:B}){throw console.error("\u274C Save error:",B),new Error("Save failed")}}const Y1=n6(()=>o6(),$);async function a6(B){let D=!1,x=null;const f=(H)=>{if(!x||Z.compare(H,x)>0)x=H},c=(H)=>{try{if(H instanceof Uint8Array)return B0(w0.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B0(w0.inflate(new Uint8Array(Object.values(H))))}catch(w){console.error("\u274C deltaSync decode failed",w)}return null},h={upsert:(H)=>{const w=K.get(H.id),{resolved:T,value:E,timestamp:b}=c6(w,H,Z);if(!T)return;K.upsert(H.id,E,b),Z.update(b),I.add({type:"upsert",id:H.id,timestamp:b}),D=!0,f(b)},remove:(H)=>{const w=K.get(H.id);if(!w||Z.compare(w.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],Z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),D=!0,f(H.timestamp)},link:(H)=>{const w=K.get(H.sourceId),T=K.get(H.targetId);if(!w||!T||Z.compare(w.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),Z.update(H.timestamp),I.add({type:"link",...H}),D=!0,f(H.timestamp)},sync:async({timestamp:H})=>{const w=I.getOldest();if(H==null||w&&Z.compare(H,w.timestamp)<0)return console.info("\uD83D\uDCA5 [FALLBACK] Peer too far behind \u2192 sending FULL state."),k.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:j}]);const E=I.getDelta(H,Z.compare);if(!E.length)return;const b=E.map((e)=>e.type==="upsert"?{...e,value:K.get(e.id)?.value}:e);console.info(`\uD83D\uDE80 [DELTA SYNC SENDING] ${b.length} ops.`),await k.send([{type:"deltaSync",operations:w0.deflate(u0(b)),timestamp:j}])},deltaSync:({operations:H})=>{const w=c(H);if(!Array.isArray(w)){console.warn("\u26A0\uFE0F deltaSync payload not array. Ignored.");return}console.log(`\uD83D\uDEF0\uFE0F [DELTA SYNC RECEIVED] ${w.length} ops.`);for(let T of w)if(T&&h[T.type])h[T.type](T);else if(T)console.warn(`\uD83E\uDD37 Unknown op: ${T.type}`)},fullStateSync:async({graphData:H,timestamp:w})=>{if(j&&w&&Z.compare(j,w)>0){console.log("\uD83D\uDD04 Local newer, ignoring full sync.");return}if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else{console.error("\u274C Invalid full graph data received");return}try{if(console.log("\uD83D\uDCE6 [FULL SYNC RECEIVED] Applying full graph."),K.deserialize(H),I.clear(),D=!0,w)f(w),Z.update(w)}catch(T){console.error("\u274C Full sync failed:",T)}}};for(let H of B)if(h[H.type])await h[H.type](H);else console.warn(`\uD83E\uDD37 Unknown type: ${H.type}`);if(x&&(!j||Z.compare(x,j)>0))console.info(`\uD83D\uDCC8 [GLOBAL TS] Advanced to ${x.logical}`),N(x);if(D)console.info("\uD83D\uDCBE [STATE CHANGED] Saving + emitting."),await Y1(),t()}Object.assign(g,{use(B){if(typeof B==="function")R.push(B)},async put(B,D){const x=Z.now();N(x),D=D??crypto.randomUUID(),K.upsert(D,B,x),I.add({type:"upsert",id:D,timestamp:x}),Y1();try{M.push({type:"upsert",id:D,value:B,timestamp:x}),Y0().catch(()=>{})}finally{t()}return D},async link(B,D){const x=Z.now();if(!K.nodes[B]||!K.nodes[D]){console.warn(`\u26A0\uFE0F One or both nodes (${B}, ${D}) do not exist.`);return}K.link(B,D,x),I.add({type:"link",sourceId:B,targetId:D,timestamp:x}),Y1(),N(x);try{M.push({type:"link",sourceId:B,targetId:D,timestamp:x}),Y0().catch(()=>{})}finally{t()}},async remove(B){const D=Z.now(),x=K.get(B);if(!x)return console.warn(`\u26A0\uFE0F Node with ID '${B}' not found.`);delete K.nodes[B],I.add({type:"remove",id:B,timestamp:D}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((c)=>c!==B)),Y1(),N(D);try{M.push({type:"remove",id:B,value:x.value,timestamp:D}),Y0().catch(()=>{})}finally{t()}},async get(B,D=null){if(typeof B!=="string")return{result:null};const x=K.get(B);if(!x){if(D)D(null);return{result:null}}const f=(H)=>{if(!H)return null;const w=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:w}};if(!D)return{result:f(x)};let c=x.timestamp;D(f(x));const h=(H)=>{const w=H[B];if(w){if(Z.compare(w.timestamp,c)>0)c=w.timestamp,D(f(w))}else D(null),L.splice(L.indexOf(h),1)};return L.push(h),{result:f(x),unsubscribe:()=>{const H=L.indexOf(h);if(H>-1)L.splice(H,1)}}},async map(...B){let x={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,c=!1;B.forEach((T)=>typeof T==="function"?f=T:T&&typeof T==="object"&&(c=c||("realtime"in T),Object.assign(x,T))),f&&!c&&(x.realtime=!0);let h=K8(K.nodes,x),H=null;const w=(T)=>{const E=new Map(h.map((m)=>[m.id,m])),b=new Map(T.map((m)=>[m.id,m])),e=[],D0=[],Z8=[];for(let[m,K0]of b){const P1=E.get(m);if(!P1)e.push(K0);else if((K0.timestamp?.physical||0)!==(P1.timestamp?.physical||0)||(K0.timestamp?.logical||0)!==(P1.timestamp?.logical||0)||!l6(K0.edges||[],P1.edges||[]))D0.push(K0)}for(let[m]of E)if(!b.has(m))Z8.push(E.get(m));const N1=(m,K0)=>f({id:m.id,value:K0==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K0});e.forEach((m)=>N1(m,"added")),Z8.forEach((m)=>N1(m,"removed")),D0.forEach((m)=>N1(m,"updated"))};if(f){if(h.forEach((T)=>{f({id:T.id,value:T.value,edges:T.edges,timestamp:T.timestamp,action:"initial"})}),x.realtime){const T=(E)=>{const b=E.timestamp?.physical||0,e=E.timestamp?.logical||0,D0=(E.edges||[]).join(",");return`${E.id}:${b}:${e}:${D0}`};H=(E)=>{const b=K8(E,x);if(b.length!==h.length)w(b),h=b;else{const e=b.map(T),D0=h.map(T);if(!l6(e,D0))w(b),h=b}},L.push(H)}}return{results:h,...x.realtime&&f&&H&&{unsubscribe:()=>{const T=L.indexOf(H);T>-1&&L.splice(T,1)}}}},async clear(){K.nodes={};try{await(await navigator.storage.getDirectory()).removeEntry(`${J}_graph.msgpack`)}catch({message:B}){console.warn(`\u26A0\uFE0F Error deleting _graph.msgpack: ${B}`)}p0(),console.info("\u2705 All data has been deleted.")}}),V0(),O(),await M7(),await z8();const P0=[];if(V)P0.push(A("sm",V));if(z)P0.push(A("ai",z));if(X)P0.push(A("rx",X));if(Y)P0.push(A("ii",Y));if(q)P0.push(A("audit",q));if(U)P0.push(A("geo",U));if(P)P0.push(A("nlq",P));await Promise.all(P0);const s6=`graph-sync-room-${J}`;if(W){const B=W?.constructor===Object?W:{},D=B.cells?"genosrtc-cells":"genosrtc",{join:x,selfId:f}=await A(D),c={appId:"1234",...G&&{password:G},...B.relayUrls&&{relayUrls:B.relayUrls},...B.turnConfig&&{turnConfig:B.turnConfig},...B.cells&&B.cells!==!0&&{overlay:B.cells}},h=x(c,s6);k=h.channel("syncGraph"),u=x(c,`app-sync-${J}`),g.room=u,g.selfId=f,h.on("peer:join",async(H)=>{console.info("\u26A1 New peer connected:",H),k.send([{type:"sync",timestamp:j}])}),h.on("peer:leave",(H)=>{console.info("\u26A1 Peer disconnected:",H)}),k?.on("message",async(H)=>{let w;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){const E=B0(H);w=Array.isArray(E)?E:[E]}else w=Array.isArray(H)?H:[H]}catch(E){return console.error("\u274C Failed to decode MessagePack:",E)}const T=new Map([...new Set(w.flatMap((E)=>["id","sourceId","targetId"].map((b)=>E&&E[b]).filter(Boolean)))].map((E)=>K.get(E)?[E,F8(K.get(E))]:null).filter(Boolean));for(let E of R)try{if(w=await E(w,T),!w||!w.length)return}catch(b){console.error("\u274C Middleware error, discarding message.",b);return}await a6(w)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(B)=>{if(B.data==="update")console.info("\uD83D\uDD04 Update received from another tab..."),await z8(),O(),t()},console.info(`\u2705 GenosDB [ \x1B[32m${J}\x1B[0m ] instance is ready.`),g}var j7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},l6=(J,Q)=>J.length===Q.length&&J.every((W,G)=>W===Q[G]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,n6=(J,Q=16)=>{let W=null,G=null;return(...V)=>{if(!G)G={},G.promise=new Promise((Y,X)=>(G.resolve=Y,G.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);const q=async()=>{W=null;try{G.resolve(await J(...V))}catch(Y){G.reject(Y)}finally{G=null}};return W=("requestIdleCallback"in window)?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),G.promise}},R7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};var RQ=r6;class C7{constructor(){throw new Error("\u26A0\uFE0F WARNING: `new GDB()` is deprecated and will be removed. "+"Migrate to async factory function `const db = await gdb(...)`.\nMigration Guide: https://github.com/estebanrfp/gdb/wiki/Migration-Guide\nWiki: https://github.com/estebanrfp/gdb/wiki")}}export{RQ as gdb,C7 as GDB};
|
|
1
|
+
function H8(J){let Q=J.length,W=0,G=0;while(G<Q){let V=J.charCodeAt(G++);if((V&4294967168)===0){W++;continue}else if((V&4294965248)===0)W+=2;else{if(V>=55296&&V<=56319){if(G<Q){let q=J.charCodeAt(G);if((q&64512)===56320)++G,V=((V&1023)<<10)+(q&1023)+65536}}if((V&4294901760)===0)W+=3;else W+=4}}return W}function tJ(J,Q,W){let G=J.length,V=W,q=0;while(q<G){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[V++]=P;continue}else if((P&4294965248)===0)Q[V++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<G){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[V++]=P>>12&15|224,Q[V++]=P>>6&63|128;else Q[V++]=P>>18&7|240,Q[V++]=P>>12&63|128,Q[V++]=P>>6&63|128}Q[V++]=P&63|128}}var eJ=new TextEncoder,J5=50;function W5(J,Q,W){eJ.encodeInto(J,Q.subarray(W))}function $8(J,Q,W){if(J.length>J5)W5(J,Q,W);else tJ(J,Q,W)}var Q5=4096;function S0(J,Q,W){let G=Q,V=G+W,q=[],P="";while(G<V){let X=J[G++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[G++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[G++]&63,Y=J[G++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[G++]&63,Y=J[G++]&63,U=J[G++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=Q5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var G5=new TextDecoder,V5=200;function q5(J,Q,W){let G=J.subarray(Q,Q+W);return G5.decode(G)}function k8(J,Q,W){if(W>V5)return q5(J,Q,W);else return S0(J,Q,W)}class w6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var N6=4294967295;function B8(J,Q,W){let G=W/4294967296,V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function K0(J,Q,W){let G=Math.floor(W/4294967296),V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function F0(J,Q){let W=J.getInt32(Q),G=J.getUint32(Q+4);return W*4294967296+G}function j8(J,Q){let W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var X5=-1,Y5=4294967295,P5=17179869183;function U5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=P5)if(Q===0&&J<=Y5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,G=J&4294967295,V=new Uint8Array(8),q=new DataView(V.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,G),V}else{let W=new Uint8Array(12),G=new DataView(W.buffer);return G.setUint32(0,Q),K0(G,4,J),W}}function K5(J){let Q=J.getTime(),W=Math.floor(Q/1000),G=(Q-W*1000)*1e6,V=Math.floor(G/1e9);return{sec:W+V,nsec:G-V*1e9}}function F5(J){if(J instanceof Date){let Q=K5(J);return U5(Q)}else return null}function Z5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),G=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),G=Q.getUint32(4),V=(W&3)*4294967296+G,q=W>>>2;return{sec:V,nsec:q}}case 12:{let W=F0(Q,4),G=Q.getUint32(0);return{sec:W,nsec:G}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function z5(J){let Q=Z5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var M8={type:X5,encode:F5,decode:z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(M8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let G=-1-J;this.builtInEncoders[G]=Q,this.builtInDecoders[G]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let G=this.builtInEncoders[W];if(G!=null){let V=G(J,Q);if(V!=null){let q=-1-W;return new w6(q,V)}}}for(let W=0;W<this.encoders.length;W++){let G=this.encoders[W];if(G!=null){let V=G(J,Q);if(V!=null)return new w6(W,V)}}if(J instanceof w6)return J;return null}decode(J,Q,W){let G=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(G)return G(J,Q,W);else return new w6(Q,J)}}k6.defaultCodec=new k6;function H5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(H5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var $5=100,k5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??$5,this.initialBufferSize=J?.initialBufferSize??k5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),G=new DataView(Q);W.set(this.bytes),this.view=G,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=H8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),$8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let G of J)this.doEncode(G,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let G of Q)if(J[G]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let G=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(G<16)this.writeU8(128+G);else if(G<65536)this.writeU8(222),this.writeU16(G);else if(G<4294967296)this.writeU8(223),this.writeU32(G);else throw Error(`Too large map object: ${G}`);for(let V of W){let q=J[V];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(V),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),G=W.length;if(G>=4294967296)throw Error(`Too large extension object: ${G}`);this.writeU8(201),this.writeU32(G),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),B8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var B5=16,j5=16;class T0{constructor(J=B5,Q=j5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let G=this.caches[W-1];J:for(let V of G){let q=V.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return V.str}return null}store(J,Q){let W=this.caches[J.length-1],G={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=G;else W.push(G)}decode(J,Q,W){let G=this.find(J,Q,W);if(G!=null)return this.hit++,G;this.miss++;let V=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,V),V}}var v0="array",_6="map_key",R8="map_value",M5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class L8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=v0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===v0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===R8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var C8=RangeError("Insufficient data"),R5=new T0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new L8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??N6,this.maxBinLength=J?.maxBinLength??N6,this.maxArrayLength=J?.maxArrayLength??N6,this.maxMapLength=J?.maxMapLength??N6,this.maxExtLength=J?.maxExtLength??N6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:R5,this.mapKeyConverter=J?.mapKeyConverter??M5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),G=new Uint8Array(Q.length+W.length);G.set(Q),G.set(W,Q.length),this.setBuffer(G)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:G,pos:V,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(G)} at ${q} (${V} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,G=-1;for await(let V of J){if(Q&&G===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(V),W)G=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--G===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let G=J-128;if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J<160){let G=J-144;if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else{let G=J-160;Q=this.decodeString(G,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let G=this.lookU8();Q=this.decodeString(G,1)}else if(J===218){let G=this.lookU16();Q=this.decodeString(G,2)}else if(J===219){let G=this.lookU32();Q=this.decodeString(G,4)}else if(J===220){let G=this.readU16();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===221){let G=this.readU32();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===222){let G=this.readU16();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===223){let G=this.readU32();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===196){let G=this.lookU8();Q=this.decodeBinary(G,1)}else if(J===197){let G=this.lookU16();Q=this.decodeBinary(G,2)}else if(J===198){let G=this.lookU32();Q=this.decodeBinary(G,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let G=this.lookU8();Q=this.decodeExtension(G,1)}else if(J===200){let G=this.lookU16();Q=this.decodeExtension(G,2)}else if(J===201){let G=this.lookU32();Q=this.decodeExtension(G,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let G=W.top();if(G.type===v0)if(G.array[G.position]=Q,G.position++,G.position===G.size)Q=G.array,W.release(G);else continue J;else if(G.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");G.key=this.mapKeyConverter(Q),G.type=R8;continue J}else if(G.map[G.key]=Q,G.readCount++,G.readCount===G.size)Q=G.map,W.release(G);else{G.key=null,G.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw C8;let W=this.pos+Q,G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=k8(this.bytes,W,J);return this.pos+=Q+J,G}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw C8;let W=this.pos+Q,G=this.bytes.subarray(W,W+J);return this.pos+=Q+J,G}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),G=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(G,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=j8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,YJ=1,I5=2,O5=3,x5=258,G8=29,G0=256,o6=G0+1+G8,v6=30,V8=19,PJ=2*o6+1,j6=15,E0=16,D5=7,q8=256,UJ=16,KJ=17,FJ=18,r0=new Uint8Array([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]),C0=new Uint8Array([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]),A5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ZJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),w5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(v6*2);y6(i6);var a6=Array(w5);y6(a6);var s6=Array(x5-O5+1);y6(s6);var X8=Array(G8);y6(X8);var R0=Array(v6);y6(R0);function y0(J,Q,W,G,V){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=G,this.max_length=V,this.has_stree=J&&J.length}var zJ,HJ,$J;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var kJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},BJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},S5=(J,Q)=>{let{dyn_tree:W,max_code:G}=Q,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<PJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>G)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(V[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>G)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},jJ=(J,Q,W)=>{let G=Array(j6+1),V=0,q,P;for(q=1;q<=j6;q++)V=V+W[q-1]<<1,G[q]=V;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=BJ(G[X]++,X)}},T5=()=>{let J,Q,W,G,V,q=Array(j6+1);W=0;for(G=0;G<G8-1;G++){X8[G]=W;for(J=0;J<1<<r0[G];J++)s6[W++]=G}s6[W-1]=G,V=0;for(G=0;G<16;G++){R0[G]=V;for(J=0;J<1<<C0[G];J++)a6[V++]=G}V>>=7;for(;G<v6;G++){R0[G]=V<<7;for(J=0;J<1<<C0[G]-7;J++)a6[256+V++]=G}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;jJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=BJ(J,5);zJ=new y0(X6,r0,G0+1,o6,j6),HJ=new y0(i6,C0,0,v6,j6),$J=new y0([],A5,0,V8,D5)},MJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<v6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},CJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},I8=(J,Q,W,G)=>{let V=Q*2,q=W*2;return J[V]<J[q]||J[V]===J[q]&&G[Q]<=G[W]},b0=(J,Q,W)=>{let G=J.heap[W],V=W<<1;while(V<=J.heap_len){if(V<J.heap_len&&I8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(I8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},O8=(J,Q,W)=>{let G,V,q=0,P,X;if(J.sym_next!==0)do if(G=J.pending_buf[J.sym_buf+q++]&255,G+=(J.pending_buf[J.sym_buf+q++]&255)<<8,V=J.pending_buf[J.sym_buf+q++],G===0)W6(J,V,Q);else{if(P=s6[V],W6(J,P+G0+1,Q),X=r0[P],X!==0)V-=X8[P],n(J,V,X);if(G--,P=kJ(G),W6(J,P,W),X=C0[P],X!==0)G-=R0[P],n(J,G,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,G=Q.stat_desc.static_tree,V=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=PJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,V)J.static_len-=G[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],S5(J,Q),jJ(W,Z,J.bl_count)},x8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==V)J.bl_tree[q*2]++;J.bl_tree[UJ*2]++}else if(X<=10)J.bl_tree[KJ*2]++;else J.bl_tree[FJ*2]++;if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},D8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==V)W6(J,q,J.bl_tree),X--;W6(J,UJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,KJ,J.bl_tree),n(J,X-3,3);else W6(J,FJ,J.bl_tree),n(J,X-11,7);if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},v5=(J)=>{let Q;x8(J,J.dyn_ltree,J.l_desc.max_code),x8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[ZJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},g5=(J,Q,W,G)=>{let V;n(J,Q-257,5),n(J,W-1,5),n(J,G-4,4);for(V=0;V<G;V++)n(J,J.bl_tree[ZJ[V]*2+1],3);D8(J,J.dyn_ltree,Q-1),D8(J,J.dyn_dtree,W-1)},E5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<G0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},A8=!1,y5=(J)=>{if(!A8)T5(),A8=!0;J.l_desc=new f0(J.dyn_ltree,zJ),J.d_desc=new f0(J.dyn_dtree,HJ),J.bl_desc=new f0(J.bl_tree,$J),J.bi_buf=0,J.bi_valid=0,MJ(J)},RJ=(J,Q,W,G)=>{if(n(J,(L5<<1)+(G?1:0),3),CJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},f5=(J)=>{n(J,YJ<<1,3),W6(J,q8,X6),N5(J)},b5=(J,Q,W,G)=>{let V,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=E5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=v5(J),V=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=V)V=q}else V=q=W+5;if(W+4<=V&&Q!==-1)RJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(YJ<<1)+(G?1:0),3),O8(J,X6,i6);else n(J,(I5<<1)+(G?1:0),3),g5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),O8(J,J.dyn_ltree,J.dyn_dtree);if(MJ(J),G)CJ(J)},h5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+G0+1)*2]++,J.dyn_dtree[kJ(Q)*2]++;return J.sym_next===J.sym_end},p5=y5,u5=RJ,m5=b5,_5=h5,c5=f5,d5={_tr_init:p5,_tr_stored_block:u5,_tr_flush_block:m5,_tr_tally:_5,_tr_align:c5},l5=(J,Q,W,G)=>{let V=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do V=V+Q[G++]|0,q=q+V|0;while(--P);V%=65521,q%=65521}return V|q<<16|0},e6=l5,i5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var G=0;G<8;G++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},n5=new Uint32Array(i5()),r5=(J,Q,W,G)=>{let V=n5,q=G+W;J^=-1;for(let P=G;P<q;P++)J=J>>>8^V[(J^Q[P])&255];return J^-1},c=r5,R6={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:o5,_tr_stored_block:a0,_tr_flush_block:a5,_tr_tally:z6,_tr_align:s5}=d5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:t5,Z_FULL_FLUSH:e5,Z_FINISH:a,Z_BLOCK:w8,Z_OK:d,Z_STREAM_END:N8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:J1,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:W1,Z_FILTERED:Q1,Z_HUFFMAN_ONLY:$0,Z_RLE:G1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:q1,Z_UNKNOWN:X1,Z_DEFLATED:O0}=O6,Y1=9,P1=15,U1=8,K1=29,F1=256,s0=F1+1+K1,Z1=30,z1=19,H1=2*s0+1,$1=15,v=3,Z6=258,G6=Z6+v+1,k1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,M6=113,d6=666,i=1,f6=2,L6=3,b6=4,B1=3,C6=(J,Q)=>{return J.msg=R6[Q],Q},S8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},j1=(J)=>{let Q,W,G,V=J.w_size;Q=J.hash_size,G=Q;do W=J.head[--G],J.head[G]=W>=V?W-V:0;while(--Q);Q=V,G=Q;do W=J.prev[--G],J.prev[G]=W>=V?W-V:0;while(--Q)},M1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=M1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{a5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,G)=>{let V=J.avail_in;if(V>G)V=G;if(V===0)return 0;if(J.avail_in-=V,Q.set(J.input.subarray(J.next_in,J.next_in+V),W),J.state.wrap===1)J.adler=e6(J.adler,Q,V,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,V,W);return J.next_in+=V,J.total_in+=V,V},LJ=(J,Q)=>{let{max_chain_length:W,strstart:G}=J,V,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[G+P-1],z=Y[G+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(V=Q,Y[V+P]!==z||Y[V+P-1]!==K||Y[V]!==Y[G]||Y[++V]!==Y[G+1])continue;G+=2,V++;do;while(Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&G<F);if(q=Z6-(F-G),G=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[G+P-1],z=Y[G+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,G,V;do{if(G=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-G),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;j1(J),G+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,G),J.lookahead+=W,J.lookahead+J.insert>=v){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=$6(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[V+v-1]),J.prev[V&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=V,V++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},IJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,G,V,q,P=0,X=J.strm.avail_in;do{if(G=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,V=J.strstart-J.block_start,G>V+J.strm.avail_in)G=V+J.strm.avail_in;if(G>q)G=q;if(G<W&&(G===0&&Q!==a||Q===H6||G!==V+J.strm.avail_in))break;if(P=Q===a&&G===V+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=G,J.pending_buf[J.pending-3]=G>>8,J.pending_buf[J.pending-2]=~G,J.pending_buf[J.pending-1]=~G>>8,r(J.strm),V){if(V>G)V=G;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+V),J.strm.next_out),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V,J.block_start+=V,G-=V}if(G)Q8(J.strm,J.strm.output,J.strm.next_out,G),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,V=J.strstart-J.block_start,V>=W||(V||Q===a)&&Q!==H6&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,P=Q===a&&J.strm.avail_in===0&&G===V?1:0,a0(J,J.block_start,G,P),J.block_start+=G,r(J.strm);return P?L6:i},p0=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=LJ(J,W);if(J.match_length>=v)if(G=z6(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else G=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=LJ(J,W),J.match_length<=5&&(J.strategy===Q1||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-v,G=z6(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,G){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(G=z6(J,0,J.window[J.strstart-1]),G)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)G=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,G,V,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(V=J.strstart-1,G=P[V],G===P[++V]&&G===P[++V]&&G===P[++V]){q=J.strstart+Z6;do;while(G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&V<q);if(J.match_length=Z6-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=z6(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},R1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,G,V){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=G,this.func=V}var l6=[new J6(0,0,0,0,IJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0};function I1(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=O0,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(H1*2),this.dyn_dtree=new Uint16Array((2*Z1+1)*2),this.bl_tree=new Uint16Array((2*z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var V0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==M6&&Q.status!==d6)return 1;return 0},OJ=(J)=>{if(V0(J))return C6(J,Q6);J.total_in=J.total_out=0,J.data_type=X1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:M6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,o5(Q),d},xJ=(J)=>{let Q=OJ(J);if(Q===d)L1(J.state);return Q},O1=(J,Q)=>{if(V0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},DJ=(J,Q,W,G,V,q)=>{if(!J)return Q6;let P=1;if(Q===W1)Q=6;if(G<0)P=0,G=-G;else if(G>15)P=2,G-=16;if(V<1||V>Y1||W!==O0||G<8||G>15||Q<0||Q>9||q<0||q>V1||G===8&&P!==1)return C6(J,Q6);if(G===8)G=9;let X=new I1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=G,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=V+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<V+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,xJ(J)},x1=(J,Q)=>{return DJ(J,Q,O0,P1,U1,q1)},D1=(J,Q)=>{if(V0(J)||Q>w8||Q<0)return J?C6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return C6(J,J.avail_out===0?h0:Q6);let G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&S8(Q)<=S8(G)&&Q!==a)return C6(J,h0);if(W.status===d6&&J.avail_in!==0)return C6(J,h0);if(W.status===g6&&W.wrap===0)W.status=M6;if(W.status===g6){let V=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(V|=q<<6,W.strstart!==0)V|=k1;if(V+=31-V%31,c6(W,V),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,B1),W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let V=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;V=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let V=W.level===0?IJ(W,Q):W.strategy===$0?R1(W,Q):W.strategy===G1?C1(W,Q):l6[W.level].func(W,Q);if(V===L6||V===b6)W.status=d6;if(V===i||V===L6){if(J.avail_out===0)W.last_flush=-1;return d}if(V===f6){if(Q===t5)s5(W);else if(Q!==w8){if(a0(W,0,0,!1),Q===e5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return N8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:N8},A1=(J)=>{if(V0(J))return Q6;let Q=J.state.status;return J.state=null,Q===M6?C6(J,J1):d},w1=(J,Q)=>{let W=Q.length;if(V0(J))return Q6;let G=J.state,V=G.wrap;if(V===2||V===1&&G.status!==g6||G.lookahead)return Q6;if(V===1)J.adler=e6(J.adler,Q,W,0);if(G.wrap=0,W>=G.w_size){if(V===0)F6(G.head),G.strstart=0,G.block_start=0,G.insert=0;let Z=new Uint8Array(G.w_size);Z.set(Q.subarray(W-G.w_size,W),0),Q=Z,W=G.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(G);while(G.lookahead>=v){let Z=G.strstart,Y=G.lookahead-(v-1);do G.ins_h=$6(G,G.ins_h,G.window[Z+v-1]),G.prev[Z&G.w_mask]=G.head[G.ins_h],G.head[G.ins_h]=Z,Z++;while(--Y);G.strstart=Z,G.lookahead=v-1,E6(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=v-1,G.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,G.wrap=V,d},N1=x1,S1=DJ,T1=xJ,v1=OJ,g1=O1,E1=D1,y1=A1,f1=w1,b1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:S1,deflateReset:T1,deflateResetKeep:v1,deflateSetHeader:g1,deflate:E1,deflateEnd:y1,deflateSetDictionary:f1,deflateInfo:b1},h1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},p1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let G in W)if(h1(W,G))J[G]=W[G]}return J},u1=(J)=>{let Q=0;for(let G=0,V=J.length;G<V;G++)Q+=J[G].length;let W=new Uint8Array(Q);for(let G=0,V=0,q=J.length;G<q;G++){let P=J[G];W.set(P,V),V+=P.length}return W},x0={assign:p1,flattenChunks:u1},AJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){AJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var m1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,G,V,q,P=J.length,X=0;for(V=0;V<P;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,V=0;q<X;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},_1=(J,Q)=>{if(Q<65534){if(J.subarray&&AJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let G=0;G<Q;G++)W+=String.fromCharCode(J[G]);return W},c1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let G,V,q=Array(W*2);for(V=0,G=0;G<W;){let P=J[G++];if(P<128){q[V++]=P;continue}let X=J0[P];if(X>4){q[V++]=65533,G+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&G<W)P=P<<6|J[G++]&63,X--;if(X>1){q[V++]=65533;continue}if(P<65536)q[V++]=P;else P-=65536,q[V++]=55296|P>>10&1023,q[V++]=56320|P&1023}return _1(q,V)},d1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:m1,buf2string:c1,utf8border:d1};function l1(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var wJ=l1,NJ=Object.prototype.toString,{Z_NO_FLUSH:i1,Z_SYNC_FLUSH:n1,Z_FULL_FLUSH:r1,Z_FINISH:o1,Z_OK:L0,Z_STREAM_END:a1,Z_DEFAULT_COMPRESSION:s1,Z_DEFAULT_STRATEGY:t1,Z_DEFLATED:e1}=O6;function q0(J){this.options=x0.assign({level:s1,method:e1,chunkSize:16384,windowBits:15,memLevel:8,strategy:t1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==L0)throw Error(R6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let G;if(typeof Q.dictionary==="string")G=W0.string2buf(Q.dictionary);else if(NJ.call(Q.dictionary)==="[object ArrayBuffer]")G=new Uint8Array(Q.dictionary);else G=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,G),W!==L0)throw Error(R6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?o1:i1;if(typeof J==="string")W.input=W0.string2buf(J);else if(NJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if((q===n1||q===r1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(V=n6.deflate(W,q),V===a1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return V=n6.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===L0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===L0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||R6[W.err];return W.result}function JW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function WW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var QW=q0,GW=P8,VW=JW,qW=WW,XW=O6,YW={Deflate:QW,deflate:GW,deflateRaw:VW,gzip:qW,constants:XW},k0=16209,PW=16191,UW=function(Q,W){let G,V,q,P,X,Z,Y,U,k,F,K,z,I,M,j,R,L,$,S,p,C,T,A,x,N=Q.state;G=Q.next_in,A=Q.input,V=G+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=N.dmax,Y=N.wsize,U=N.whave,k=N.wnext,F=N.window,K=N.hold,z=N.bits,I=N.lencode,M=N.distcode,j=(1<<N.lenbits)-1,R=(1<<N.distbits)-1;J:do{if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=I[K&j];W:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$===0)x[q++]=L&65535;else if($&16){if(S=L&65535,$&=15,$){if(z<$)K+=A[G++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=M[K&R];Q:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$&16){if(p=L&65535,$&=15,z<$){if(K+=A[G++]<<z,z+=8,z<$)K+=A[G++]<<z,z+=8}if(p+=K&(1<<$)-1,p>Z){Q.msg="invalid distance too far back",N.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,p>$){if($=p-$,$>U){if(N.sane){Q.msg="invalid distance too far back",N.mode=k0;break J}}if(C=0,T=F,k===0){if(C+=Y-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}else if(k<$){if(C+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[C++];while(--$);if(C=0,k<S){$=k,S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}}else if(C+=k-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}while(S>2)x[q++]=T[C++],x[q++]=T[C++],x[q++]=T[C++],S-=3;if(S){if(x[q++]=T[C++],S>1)x[q++]=T[C++]}}else{C=q-p;do x[q++]=x[C++],x[q++]=x[C++],x[q++]=x[C++],S-=3;while(S>2);if(S){if(x[q++]=x[C++],S>1)x[q++]=x[C++]}}}else if(($&64)===0){L=M[(L&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=k0;break J}break}}else if(($&64)===0){L=I[(L&65535)+(K&(1<<$)-1)];continue W}else if($&32){N.mode=PW;break J}else{Q.msg="invalid literal/length code",N.mode=k0;break J}break}}while(G<V&&q<X);S=z>>3,G-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=G,Q.next_out=q,Q.avail_in=G<V?5+(V-G):5-(G-V),Q.avail_out=q<X?257+(X-q):257-(q-X),N.hold=K,N.bits=z;return},T6=15,T8=852,v8=592,g8=0,u0=1,E8=2,KW=new Uint16Array([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,0,0]),FW=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ZW=new Uint16Array([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,0,0]),zW=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),HW=(J,Q,W,G,V,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,M=0,j=0,R=0,L,$,S,p,C,T=null,A,x=new Uint16Array(T6+1),N=new Uint16Array(T6+1),V6=null,h6,e,P6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<G;U++)x[Q[W+U]]++;K=Z;for(F=T6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return V[q++]=20971520,V[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;M=1;for(Y=1;Y<=T6;Y++)if(M<<=1,M-=x[Y],M<0)return-1;if(M>0&&(J===g8||F!==1))return-1;N[1]=0;for(Y=1;Y<T6;Y++)N[Y+1]=N[Y]+x[Y];for(U=0;U<G;U++)if(Q[W+U]!==0)P[N[Q[W+U]]++]=U;if(J===g8)T=V6=P,A=20;else if(J===u0)T=KW,V6=FW,A=257;else T=ZW,V6=zW,A=0;if(R=0,U=0,Y=k,C=q,z=K,I=0,S=-1,j=1<<K,p=j-1,J===u0&&j>T8||J===E8&&j>v8)return 1;for(;;){if(h6=Y-I,P[U]+1<A)e=0,P6=P[U];else if(P[U]>=A)e=V6[P[U]-A],P6=T[P[U]-A];else e=96,P6=0;L=1<<Y-I,$=1<<z,k=$;do $-=L,V[C+(R>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);L=1<<Y-1;while(R&L)L>>=1;if(L!==0)R&=L-1,R+=L;else R=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(R&p)!==S){if(I===0)I=K;C+=k,z=Y-I,M=1<<z;while(z+I<F){if(M-=x[z+I],M<=0)break;z++,M<<=1}if(j+=1<<z,J===u0&&j>T8||J===E8&&j>v8)return 1;S=R&p,V[S]=K<<24|z<<16|C-q|0}}if(R!==0)V[C+R]=Y-I<<24|4194304|0;return X.bits=K,0},r6=HW,$W=0,SJ=1,TJ=2,{Z_FINISH:y8,Z_BLOCK:kW,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:vJ,Z_MEM_ERROR:gJ,Z_BUF_ERROR:MW,Z_DEFLATED:f8}=O6,D0=16180,b8=16181,h8=16182,p8=16183,u8=16184,m8=16185,_8=16186,c8=16187,d8=16188,l8=16189,I0=16190,q6=16191,m0=16192,i8=16193,_0=16194,n8=16195,r8=16196,o8=16197,a8=16198,j0=16199,M0=16200,s8=16201,t8=16202,e8=16203,JJ=16204,WJ=16205,c0=16206,QJ=16207,GJ=16208,h=16209,EJ=16210,yJ=16211,CW=852,RW=592,LW=15,IW=LW,VJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function OW(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>yJ)return 1;return 0},fJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(RW),Q.sane=1,Q.back=-1,I6},bJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,fJ(J)},hJ=(J,Q)=>{let W;if(x6(J))return s;let G=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,bJ(J)},pJ=(J,Q)=>{if(!J)return s;let W=new OW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=hJ(J,Q);if(G!==I6)J.state=null;return G},xW=(J)=>{return pJ(J,IW)},qJ=!0,d0,l0,DW=(J)=>{if(qJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(SJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(TJ,J.lens,0,32,l0,0,J.work,{bits:5}),qJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},uJ=(J,Q,W,G)=>{let V,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(G>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(V=q.wsize-q.wnext,V>G)V=G;if(q.window.set(Q.subarray(W-G,W-G+V),q.wnext),G-=V,G)q.window.set(Q.subarray(W-G,W),0),q.wnext=G,q.whave=q.wsize;else{if(q.wnext+=V,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=V}}return 0},AW=(J,Q)=>{let W,G,V,q,P,X,Z,Y,U,k,F,K,z,I,M=0,j,R,L,$,S,p,C,T,A=new Uint8Array(4),x,N,V6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,T=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0),Y=0,U=0,W.mode=b8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==f8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,C=(Y&15)+8,W.wbits===0)W.wbits=C;if(C>15||C>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?l8:q6,Y=0,U=0;break;case b8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==f8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=h8;case h8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,A[2]=Y>>>16&255,A[3]=Y>>>24&255,W.check=c(W.check,A,4,0);Y=0,U=0,W.mode=p8;case p8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=u8;case u8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=m8;case m8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(C=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(G.subarray(q,q+K),C)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=_8;case _8:if(W.flags&2048){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.name+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=c8;case c8:if(W.flags&4096){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.comment+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.comment=null;W.mode=d8;case d8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case l8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=VJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,jW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===kW||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=i8;break;case 1:if(DW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=r8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case i8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=n8;case n8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;V.set(G.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case r8:while(U<14){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=o8;case o8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.lens[V6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[V6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},T=r6($W,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.nlen+W.ndist){for(;;){if(M=W.lencode[Y&(1<<W.lenbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(L<16)Y>>>=j,U-=j,W.lens[W.have++]=L;else{if(L===16){N=j+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=j,U-=j,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}C=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(L===17){N=j+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=j,U-=j,C=0,K=3+(Y&7),Y>>>=3,U-=3}else{N=j+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=j,U-=j,C=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=C}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},T=r6(SJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},T=r6(TJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,T){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=M0;case M0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,UW(J,F),P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(M=W.lencode[Y&(1<<W.lenbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(R&&(R&240)===0){$=j,S=R,p=L;for(;;){if(M=W.lencode[p+((Y&(1<<$+S)-1)>>$)],j=M>>>24,R=M>>>16&255,L=M&65535,$+j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,W.length=L,R===0){W.mode=WJ;break}if(R&32){W.back=-1,W.mode=q6;break}if(R&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=R&15,W.mode=s8;case s8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=t8;case t8:for(;;){if(M=W.distcode[Y&(1<<W.distbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((R&240)===0){$=j,S=R,p=L;for(;;){if(M=W.distcode[p+((Y&(1<<$+S)-1)>>$)],j=M>>>24,R=M>>>16&255,L=M&65535,$+j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,R&64){J.msg="invalid distance code",W.mode=h;break}W.offset=L,W.extra=R&15,W.mode=e8;case e8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=JJ;case JJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=V,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do V[P++]=I[z++];while(--K);if(W.length===0)W.mode=M0;break;case WJ:if(Z===0)break J;V[P++]=W.length,Z--,W.mode=M0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=G[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,P-F):e6(W.check,V,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:VJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=QJ;case QJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ:T=BW;break J;case h:T=vJ;break J;case EJ:return gJ;case yJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==y8)){if(uJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,J.next_out-F):e6(W.check,V,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===y8)&&T===I6)T=MW;return T},wW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},SW=(J,Q)=>{let W=Q.length,G,V,q;if(x6(J))return s;if(G=J.state,G.wrap!==0&&G.mode!==I0)return s;if(G.mode===I0){if(V=1,V=e6(V,Q,W,0),V!==G.check)return vJ}if(q=uJ(J,Q,W,W),q)return G.mode=EJ,gJ;return G.havedict=1,I6},TW=bJ,vW=hJ,gW=fJ,EW=xW,yW=pJ,fW=AW,bW=wW,hW=NW,pW=SW,uW="pako inflate (from Nodeca project)",Y6={inflateReset:TW,inflateReset2:vW,inflateResetKeep:gW,inflateInit:EW,inflateInit2:yW,inflate:fW,inflateEnd:bW,inflateGetHeader:hW,inflateSetDictionary:pW,inflateInfo:uW};function mW(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var _W=mW,mJ=Object.prototype.toString,{Z_NO_FLUSH:cW,Z_FINISH:dW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:lW,Z_DATA_ERROR:XJ,Z_MEM_ERROR:iW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(R6[W]);if(this.header=new _W,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(mJ.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(R6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?dW:cW;if(mJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if(q=Y6.inflate(W,P),q===n0&&V){if(q=Y6.inflateSetDictionary(W,V),q===Q0)q=Y6.inflate(W,P);else if(q===XJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case lW:case XJ:case n0:case iW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=G-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||R6[W.err];return W.result}function nW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var rW=X0,oW=U8,aW=nW,sW=U8,tW=O6,eW={Inflate:rW,inflate:oW,inflateRaw:aW,ungzip:sW,constants:tW},{Deflate:J7,deflate:W7,deflateRaw:Q7,gzip:G7}=YW,{Inflate:V7,inflate:q7,inflateRaw:X7,ungzip:Y7}=eW,P7=J7,U7=W7,K7=Q7,F7=G7,Z7=V7,z7=q7,H7=X7,$7=Y7,k7=O6,D6={Deflate:P7,deflate:U7,deflateRaw:K7,gzip:F7,Inflate:Z7,inflate:z7,inflateRaw:H7,ungzip:$7,constants:k7};function _J(J,Q,W){let G=Q.timestamp;if(G?.physical>Date.now()+7200000)G={physical:Date.now()+7200000,logical:G.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:V,...q}=Q.value;return{resolved:!0,value:q,timestamp:G}}if(Q?.value?.priority!==void 0){let{priority:V,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:G};if(W.compare(G,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:G}}function cJ(J,Q=50){let W=`gdb_oplog_${J}`,G=[];function V(){try{let P=localStorage.getItem(W);G=P?JSON.parse(P):[]}catch(P){G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(P){}}return V(),{remove(P){G=G.filter((X)=>X.id!==P),q()},add(P){if(G.push(P),G.length>Q)G.shift();q()},getDelta(P,X){if(!P)return[...G];return G.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return G[0]},clear(){G=[],localStorage.removeItem(W)}}}var B7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((M)=>z=M);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),G=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},V="idb",q=(async()=>{if(await G()){V="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),V=F?"async":"idb"}catch{V="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let j=K.transaction("files","readonly").objectStore("files").get(F);j.onsuccess=()=>z(j.result||new Uint8Array),j.onerror=()=>I(j.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,M)=>{let R=z.transaction("files","readwrite").objectStore("files").put(K,F);R.onsuccess=()=>I(),R.onerror=()=>M(R.error)})}}})(),Z=async(U)=>{await q;try{if(V==="idb"){let M=await X.get(U);self.postMessage({type:"loaded",name:U,data:M},[M.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let M=new Uint8Array;self.postMessage({type:"loaded",name:U,data:M},[M.buffer]);return}let K=async()=>{try{let M=await F.createSyncAccessHandle();try{let j=M.getSize(),R=new Uint8Array(j),L=M.read(R,{at:0}),$=R.slice(0,L);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{M.close()}}catch(M){if(M?.name==="NoModificationAllowedError"){let j=await F.getFile(),R=new Uint8Array(await j.arrayBuffer());self.postMessage({type:"loaded",name:U,data:R},[R.buffer])}else throw M}};if(V==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(V==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(V==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],M=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(M&&M.type)self.postMessage(M)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},dJ=B7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Object.values(J).some((V)=>typeof V==="object"?null.fieldSearch(V,G):W(V).includes(G))},field:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Array.isArray(J)?J.some((V)=>W(V).includes(G)):W(J).includes(G)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((G)=>W.createFilter(G,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((G)=>W.createFilter(G,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let G=W.createFilter(Q,W.allNodes),V=[...J.edges],q=new Set(V).add(J.id),P=[];while(V.length){let X=V.shift(),Z=W.allNodes[X];if(!Z)continue;if(G(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&V.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,G)=>W&&typeof W==="object"&&(G in W)?W[G]:void 0,J),w0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([G,V])=>{if(G.startsWith("$"))return Y0[G](W,V,{createFilter:w0,allNodes:Q});let q=A0(W.value,G);if(q===void 0)q=A0(W,G);if(typeof V!=="object"||V===null)return Y0.$eq(q,V);return Object.entries(V).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:w0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...G}=Q.query||{},V=w0(G,J),q=Object.values(J).filter(V),X=[...W?(()=>{let Z=w0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function lJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number")return;J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,G){if(!W&&!G)return 0;if(!W)return-1;if(!G)return 1;if(W.physical>G.physical)return 1;if(W.physical<G.physical)return-1;if(W.logical>G.logical)return 1;if(W.logical<G.logical)return-1;return 0}}}var j7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},iJ=(J,Q)=>J.length===Q.length&&J.every((W,G)=>W===Q[G]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,nJ=(J,Q=16)=>{let W=null,G=null;return(...V)=>{if(!G)G={},G.promise=new Promise((P,X)=>(G.resolve=P,G.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=G;G=null;try{P.resolve(await J(...V))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),G.promise}},M7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function R7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,G){let V=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:V?.edges?[...V.edges]:[],timestamp:G}},get(Q){return J.nodes[Q]||null},link(Q,W,G){let V=J.nodes[Q],q=J.nodes[W];if(V&&q&&!V.edges.includes(W))J.nodes[Q]={...V,edges:[...V.edges,W],timestamp:G}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function rJ(J,Q={}){let{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=R7(),z=lJ(),I=cJ(J,F),M=[],j=null,R=[],L=null,$=null,S=null,p=null,C=[],T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(B)=>K.get(B)})},worker:{get:()=>L},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(B,w){try{let O=await j7[B](),f=w&&typeof w==="object"?w:{},_=await O.init?.(T,O,f);if(_)Object.assign(T,_);return O}catch(O){throw O}}function x(){let B=localStorage.getItem(`${J}_time`);j=B?JSON.parse(B):null}function N(B){j=B,localStorage.setItem(`${J}_time`,JSON.stringify(B))}function V6(){try{let B=URL.createObjectURL(new Blob([`(${dJ.toString()})()`],{type:"application/javascript"}));L=new Worker(B),URL.revokeObjectURL(B),L.addEventListener("message",({data:w})=>{return})}catch({message:B}){}}function h6(){let B={...K.nodes};R.forEach((w)=>w(B))}let e=M7(()=>h6()),P6=nJ(async()=>{let B=C.splice(0,C.length);if(!B.length)return!1;return await $.send(B),!0},16);async function Z8(){try{let w=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)L.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")L.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};L.addEventListener("message",b),L.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);w.byteLength>0&&K.deserialize(w)}catch({message:B}){}}async function oJ(){try{let B=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)L.removeEventListener("message",H),_();else if(D.type==="error")L.removeEventListener("message",H),b(Error(D.message||"Save error"))};L.addEventListener("message",H),L.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,B),S.postMessage("update"),!0}catch({message:B}){throw Error("Save failed")}}let P0=nJ(()=>oJ(),k);async function aJ(B){let w=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:g,value:y,timestamp:u}=_J(D,H,z);if(!g)return;K.upsert(H.id,y,u),z.update(u),I.add({type:"upsert",id:H.id,timestamp:u}),w=!0,f(u)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),w=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),g=K.get(H.targetId);if(!D||!g||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),w=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return $.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:j}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let u=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);await $.send([{type:"deltaSync",operations:D6.deflate(u6(u)),timestamp:j}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D))return;for(let g of D)if(g&&b[g.type])b[g.type](g)},fullStateSync:async({graphData:H,timestamp:D})=>{if(j&&D&&z.compare(j,D)>0)return;if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else return;try{if(K.deserialize(H),I.clear(),w=!0,D)f(D),z.update(D)}catch(g){}}};for(let H of B)if(b[H.type])await b[H.type](H);if(O&&(!j||z.compare(O,j)>0))N(O);if(w)await P0(),e()}Object.assign(T,{use(B){if(typeof B==="function")M.push(B)},async put(B,w){let O=z.now();N(O),w=w??crypto.randomUUID(),K.upsert(w,B,O),I.add({type:"upsert",id:w,timestamp:O}),P0();try{C.push({type:"upsert",id:w,value:B,timestamp:O}),P6().catch(()=>{})}finally{e()}return w},async link(B,w){let O=z.now();if(!K.nodes[B]||!K.nodes[w])return;K.link(B,w,O),I.add({type:"link",sourceId:B,targetId:w,timestamp:O}),P0(),N(O);try{C.push({type:"link",sourceId:B,targetId:w,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(B){let w=z.now(),O=K.get(B);if(!O)return;delete K.nodes[B],I.add({type:"remove",id:B,timestamp:w}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==B)),P0(),N(w);try{C.push({type:"remove",id:B,value:O.value,timestamp:w}),P6().catch(()=>{})}finally{e()}},async get(B,w=null){if(typeof B!=="string")return{result:null};let O=K.get(B);if(!O){if(w)w(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!w)return{result:f(O)};let _=O.timestamp;w(f(O));let b=(H)=>{let D=H[B];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,w(f(D))}else w(null),R.splice(R.indexOf(b),1)};return R.push(b),{result:f(O),unsubscribe:()=>{let H=R.indexOf(b);if(H>-1)R.splice(H,1)}}},async map(...B){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;B.forEach((g)=>typeof g==="function"?f=g:g&&typeof g==="object"&&(_=_||("realtime"in g),Object.assign(O,g))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(g)=>{let y=new Map(b.map((m)=>[m.id,m])),u=new Map(g.map((m)=>[m.id,m])),t=[],A6=[],z8=[];for(let[m,K6]of u){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!iJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))z8.push(y.get(m));let N0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>N0(m,"added")),z8.forEach((m)=>N0(m,"removed")),A6.forEach((m)=>N0(m,"updated"))};if(f){if(b.forEach((g)=>{f({id:g.id,value:g.value,edges:g.edges,timestamp:g.timestamp,action:"initial"})}),O.realtime){let g=(y)=>{let u=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${u}:${t}:${A6}`};H=(y)=>{let u=K8(y,O);if(u.length!==b.length)D(u),b=u;else{let t=u.map(g),A6=b.map(g);if(!iJ(t,A6))D(u),b=u}},R.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let g=R.indexOf(H);g>-1&&R.splice(g,1)}}}},async clear(){K.nodes={};try{await(await navigator.storage.getDirectory()).removeEntry(`${J}_graph.msgpack`)}catch({message:B}){}h6()}}),V6(),x(),await C7(),await Z8();let U6=[];if(V)U6.push(A("sm",V));if(Z)U6.push(A("ai",Z));if(X)U6.push(A("rx",X));if(P)U6.push(A("ii",P));if(q)U6.push(A("audit",q));if(Y)U6.push(A("geo",Y));if(U)U6.push(A("nlq",U));await Promise.all(U6);let sJ=`graph-sync-room-${J}`;if(W){let B=W?.constructor===Object?W:{},w=B.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(w),_={appId:"1234",...G&&{password:G},...B.relayUrls&&{relayUrls:B.relayUrls},...B.turnConfig&&{turnConfig:B.turnConfig},...B.cells&&B.cells!==!0&&{overlay:B.cells}},b=O(_,sJ);$=b.channel("syncGraph"),p=O(_,`app-sync-${J}`),T.room=p,T.selfId=f,b.on("peer:join",async(H)=>{$.send([{type:"sync",timestamp:j}])}),b.on("peer:leave",(H)=>{}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return}let g=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of M)try{if(D=await y(D,g),!D||!D.length)return}catch(u){return}await aJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(B)=>{if(B.data==="update")await Z8(),x(),e()},T}var uQ=rJ;class L7{constructor(){throw Error("⚠️ WARNING: `new GDB()` is deprecated and will be removed. "+"Migrate to async factory function `const db = await gdb(...)`.\nMigration Guide: https://github.com/estebanrfp/gdb/wiki/Migration-Guide\nWiki: https://github.com/estebanrfp/gdb/wiki")}}export{uQ as gdb,L7 as GDB};
|
package/dist/index.js.gz
CHANGED
|
Binary file
|