genosdb 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
- function $8(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 k8(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 B8(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 j8(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 M8(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 C8={type:X5,encode:F5,decode:z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(C8)}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=$8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),k8(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),j8(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",L8="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 I8{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===L8){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 R8=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 I8,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=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=_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 R8;let W=this.pos+Q,G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=B8(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 R8;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=M8(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,PJ=1,I5=2,O5=3,x5=258,G8=29,G0=256,o6=G0+1+G8,v6=30,V8=19,UJ=2*o6+1,j6=15,E0=16,D5=7,q8=256,KJ=16,FJ=17,ZJ=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 HJ,$J,kJ;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var BJ=(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])},jJ=(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<UJ;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--}}},MJ=(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]=jJ(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]++;MJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=jJ(J,5);HJ=new y0(X6,r0,G0+1,o6,j6),$J=new y0(i6,C0,0,v6,j6),kJ=new y0([],A5,0,V8,D5)},CJ=(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},RJ=(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},O8=(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&&O8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(O8(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,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=BJ(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=UJ;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),MJ(W,Z,J.bl_count)},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;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[KJ*2]++}else if(X<=10)J.bl_tree[FJ*2]++;else J.bl_tree[ZJ*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}},A8=(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,KJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,FJ,J.bl_tree),n(J,X-3,3);else W6(J,ZJ,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;D8(J,J.dyn_ltree,J.l_desc.max_code),D8(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);A8(J,J.dyn_ltree,Q-1),A8(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},w8=!1,y5=(J)=>{if(!w8)T5(),w8=!0;J.l_desc=new f0(J.dyn_ltree,HJ),J.d_desc=new f0(J.dyn_dtree,$J),J.bl_desc=new f0(J.bl_tree,kJ),J.bi_buf=0,J.bi_valid=0,CJ(J)},LJ=(J,Q,W,G)=>{if(n(J,(L5<<1)+(G?1:0),3),RJ(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,PJ<<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)LJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(PJ<<1)+(G?1:0),3),x8(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),x8(J,J.dyn_ltree,J.dyn_dtree);if(CJ(J),G)RJ(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[BJ(Q)*2]++;return J.sym_next===J.sym_end},p5=y5,u5=LJ,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:N8,Z_OK:d,Z_STREAM_END:S8,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},T8=(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},IJ=(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)},OJ=(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=IJ(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=IJ(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,OJ),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},xJ=(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},DJ=(J)=>{let Q=xJ(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},AJ=(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,DJ(J)},x1=(J,Q)=>{return AJ(J,Q,O0,P1,U1,q1)},D1=(J,Q)=>{if(V0(J)||Q>N8||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&&T8(Q)<=T8(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?OJ(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!==N8){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 S8;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:S8},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=AJ,T1=DJ,v1=xJ,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},wJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){wJ=!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&&wJ)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 NJ=l1,SJ=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 NJ,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(SJ.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(SJ.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,j,B,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,j=N.distcode,B=(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&B];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=j[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=j[(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,v8=852,g8=592,E8=0,u0=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,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,j=0,B=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;j=1;for(Y=1;Y<=T6;Y++)if(j<<=1,j-=x[Y],j<0)return-1;if(j>0&&(J===E8||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===E8)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,B=1<<K,p=B-1,J===u0&&B>v8||J===y8&&B>g8)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,j=1<<z;while(z+I<F){if(j-=x[z+I],j<=0)break;z++,j<<=1}if(B+=1<<z,J===u0&&B>v8||J===y8&&B>g8)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,TJ=1,vJ=2,{Z_FINISH:f8,Z_BLOCK:kW,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:gJ,Z_MEM_ERROR:EJ,Z_BUF_ERROR:MW,Z_DEFLATED:b8}=O6,D0=16180,h8=16181,p8=16182,u8=16183,m8=16184,_8=16185,c8=16186,d8=16187,l8=16188,i8=16189,I0=16190,q6=16191,m0=16192,n8=16193,_0=16194,r8=16195,o8=16196,a8=16197,s8=16198,j0=16199,M0=16200,t8=16201,e8=16202,JJ=16203,WJ=16204,QJ=16205,c0=16206,GJ=16207,VJ=16208,h=16209,yJ=16210,fJ=16211,CW=852,RW=592,LW=15,IW=LW,qJ=(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>fJ)return 1;return 0},bJ=(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},hJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,bJ(J)},pJ=(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,hJ(J)},uJ=(J,Q)=>{if(!J)return s;let W=new OW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=pJ(J,Q);if(G!==I6)J.state=null;return G},xW=(J)=>{return uJ(J,IW)},XJ=!0,d0,l0,DW=(J)=>{if(XJ){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(TJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(vJ,J.lens,0,32,l0,0,J.work,{bits:5}),XJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},mJ=(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,j=0,B,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=h8;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)!==b8){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?i8:q6,Y=0,U=0;break;case h8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==b8){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=p8;case p8: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=u8;case u8: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=m8;case m8: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=_8;case _8: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=c8;case c8: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=d8;case d8: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=l8;case l8: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 i8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=qJ(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=n8;break;case 1:if(DW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=o8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case n8: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=r8;case r8: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 o8: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=a8;case a8: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=s8;case s8:while(W.have<W.nlen+W.ndist){for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(L<16)Y>>>=B,U-=B,W.lens[W.have++]=L;else{if(L===16){N=B+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=B,U-=B,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=B+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=B,U-=B,C=0,K=3+(Y&7),Y>>>=3,U-=3}else{N=B+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=B,U-=B,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(TJ,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(vJ,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(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(R&&(R&240)===0){$=B,S=R,p=L;for(;;){if(j=W.lencode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,R=j>>>16&255,L=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,W.length=L,R===0){W.mode=QJ;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=t8;case t8: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=e8;case e8:for(;;){if(j=W.distcode[Y&(1<<W.distbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((R&240)===0){$=B,S=R,p=L;for(;;){if(j=W.distcode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,R=j>>>16&255,L=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,R&64){J.msg="invalid distance code",W.mode=h;break}W.offset=L,W.extra=R&15,W.mode=JJ;case JJ: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=WJ;case WJ: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 QJ: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:qJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ: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=VJ;case VJ:T=BW;break J;case h:T=gJ;break J;case yJ:return EJ;case fJ: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!==f8)){if(mJ(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===f8)&&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 gJ}if(q=mJ(J,Q,W,W),q)return G.mode=yJ,EJ;return G.havedict=1,I6},TW=hJ,vW=pJ,gW=bJ,EW=xW,yW=uJ,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,_J=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:YJ,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 NJ,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(_J.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(_J.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===YJ)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 YJ: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 cJ(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 dJ(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((j)=>z=j);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 B=K.transaction("files","readonly").objectStore("files").get(F);B.onsuccess=()=>z(B.result||new Uint8Array),B.onerror=()=>I(B.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,j)=>{let R=z.transaction("files","readwrite").objectStore("files").put(K,F);R.onsuccess=()=>I(),R.onerror=()=>j(R.error)})}}})(),Z=async(U)=>{await q;try{if(V==="idb"){let j=await X.get(U);self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let j=new Uint8Array;self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let K=async()=>{try{let j=await F.createSyncAccessHandle();try{let B=j.getSize(),R=new Uint8Array(B),L=j.read(R,{at:0}),$=R.slice(0,L);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{j.close()}}catch(j){if(j?.name==="NoModificationAllowedError"){let B=await F.getFile(),R=new Uint8Array(await B.arrayBuffer());self.postMessage({type:"loaded",name:U,data:R},[R.buffer])}else throw j}};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],j=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(j&&j.type)self.postMessage(j)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},lJ=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 iJ(){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)},nJ=(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,rJ=(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 oJ(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=iJ(),I=dJ(J,F),j=[],B=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:(M)=>K.get(M)})},worker:{get:()=>L},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(M,w){try{let O=await j7[M](),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 M=localStorage.getItem(`${J}_time`);B=M?JSON.parse(M):null}function N(M){B=M,localStorage.setItem(`${J}_time`,JSON.stringify(M))}function V6(){try{let M=URL.createObjectURL(new Blob([`(${lJ.toString()})()`],{type:"application/javascript"}));L=new Worker(M),URL.revokeObjectURL(M),L.addEventListener("message",({data:w})=>{return})}catch({message:M}){}}function h6(){let M={...K.nodes};R.forEach((w)=>w(M))}let e=M7(()=>h6()),P6=rJ(async()=>{let M=C.splice(0,C.length);if(!M.length)return!1;return await $.send(M),!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:M}){}}async function z8(){try{let M=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`,M),S.postMessage("update"),!0}catch({message:M}){throw Error("Save failed")}}let P0=rJ(()=>z8(),k);async function aJ(M){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}=cJ(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:B}]);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:B}])},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(B&&D&&z.compare(B,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 M)if(b[H.type])await b[H.type](H);if(O&&(!B||z.compare(O,B)>0))N(O);if(w)await P0(),e()}Object.assign(T,{use(M){if(typeof M==="function")j.push(M)},async put(M,w){let O=z.now();N(O),w=w??crypto.randomUUID(),K.upsert(w,M,O),I.add({type:"upsert",id:w,timestamp:O}),P0();try{C.push({type:"upsert",id:w,value:M,timestamp:O}),P6().catch(()=>{})}finally{e()}return w},async link(M,w){let O=z.now();if(!K.nodes[M]||!K.nodes[w])return;K.link(M,w,O),I.add({type:"link",sourceId:M,targetId:w,timestamp:O}),P0(),N(O);try{C.push({type:"link",sourceId:M,targetId:w,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(M){let w=z.now(),O=K.get(M);if(!O)return;delete K.nodes[M],I.add({type:"remove",id:M,timestamp:w}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==M)),P0(),N(w);try{C.push({type:"remove",id:M,value:O.value,timestamp:w}),P6().catch(()=>{})}finally{e()}},async get(M,w=null){if(typeof M!=="string")return{result:null};let O=K.get(M);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[M];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(...M){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;M.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=[],H8=[];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)||!nJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))H8.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")),H8.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(!nJ(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={},B=null,localStorage.removeItem(`${J}_time`),I.clear(),await z8(),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 M=W?.constructor===Object?W:{},w=M.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(w),_={appId:"1234",...G&&{password:G},...M.relayUrls&&{relayUrls:M.relayUrls},...M.turnConfig&&{turnConfig:M.turnConfig},...M.cells&&M.cells!==!0&&{overlay:M.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:B}])}),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 j)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(M)=>{if(M.data==="update")await Z8(),x(),e()},T}var uQ=oJ;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};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ function z8(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 aJ(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 sJ=new TextEncoder,tJ=50;function eJ(J,Q,W){sJ.encodeInto(J,Q.subarray(W))}function H8(J,Q,W){if(J.length>tJ)eJ(J,Q,W);else aJ(J,Q,W)}var J5=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,Z=(X&7)<<18|z<<12|Y<<6|U;if(Z>65535)Z-=65536,q.push(Z>>>10&1023|55296),Z=56320|Z&1023;q.push(Z)}else q.push(X);if(q.length>=J5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var W5=new TextDecoder,Q5=200;function G5(J,Q,W){let G=J.subarray(Q,Q+W);return W5.decode(G)}function $8(J,Q,W){if(W>Q5)return G5(J,Q,W);else return S0(J,Q,W)}class N6{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 S6=4294967295;function k8(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 B8(J,Q){let W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var V5=-1,q5=4294967295,X5=17179869183;function Y5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=X5)if(Q===0&&J<=q5){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 P5(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 U5(J){if(J instanceof Date){let Q=P5(J);return Y5(Q)}else return null}function K5(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 F5(J){let Q=K5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var j8={type:V5,encode:U5,decode:F5};class $6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(j8)}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 N6(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 N6(W,V)}}if(J instanceof N6)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 N6(Q,J)}}$6.defaultCodec=new $6;function Z5(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(Z5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var z5=100,H5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??$6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??z5,this.initialBufferSize=J?.initialBufferSize??H5,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=z8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),H8(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),k8(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 $5=16,k5=16;class v0{constructor(J=$5,Q=k5){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 T0="array",_6="map_key",C8="map_value",B5=(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 R8{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=T0,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===T0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===C8){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)),j5=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 M8=RangeError("Insufficient data"),M5=new v0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=j5,this.headByte=m6,this.stack=new R8,this.entered=!1,this.extensionCodec=J?.extensionCodec??$6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??S6,this.maxBinLength=J?.maxBinLength??S6,this.maxArrayLength=J?.maxArrayLength??S6,this.maxMapLength=J?.maxMapLength??S6,this.maxExtLength=J?.maxExtLength??S6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:M5,this.mapKeyConverter=J?.mapKeyConverter??B5}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===T0)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=C8;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 M8;let W=this.pos+Q,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===_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 M8;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=B8(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 k6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function f6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var C5=0,XJ=1,R5=2,L5=3,I5=258,G8=29,G0=256,o6=G0+1+G8,g6=30,V8=19,YJ=2*o6+1,B6=15,E0=16,O5=7,q8=256,PJ=16,UJ=17,KJ=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]),x5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),FJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),D5=512,q6=Array((o6+2)*2);f6(q6);var i6=Array(g6*2);f6(i6);var a6=Array(D5);f6(a6);var s6=Array(I5-L5+1);f6(s6);var X8=Array(G8);f6(X8);var R0=Array(g6);f6(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,zJ,HJ;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var $J=(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])},kJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},A5=(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},w5=(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,Z,K,F,$,L=0;for(K=0;K<=B6;K++)J.bl_count[K]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<YJ;Y++){if(U=J.heap[Y],K=W[W[U*2+1]*2+1]+1,K>z)K=z,L++;if(W[U*2+1]=K,U>G)continue;if(J.bl_count[K]++,F=0,U>=X)F=P[U-X];if($=W[U*2],J.opt_len+=$*(K+F),q)J.static_len+=$*(V[U*2+1]+F)}if(L===0)return;do{K=z-1;while(J.bl_count[K]===0)K--;J.bl_count[K]--,J.bl_count[K+1]+=2,J.bl_count[z]--,L-=2}while(L>0);for(K=z;K!==0;K--){U=J.bl_count[K];while(U!==0){if(Z=J.heap[--Y],Z>G)continue;if(W[Z*2+1]!==K)J.opt_len+=(K-W[Z*2+1])*W[Z*2],W[Z*2+1]=K;U--}}},BJ=(J,Q,W)=>{let G=Array(B6+1),V=0,q,P;for(q=1;q<=B6;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]=kJ(G[X]++,X)}},N5=()=>{let J,Q,W,G,V,q=Array(B6+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<g6;G++){R0[G]=V<<7;for(J=0;J<1<<C0[G]-7;J++)a6[256+V++]=G}for(Q=0;Q<=B6;Q++)q[Q]=0;J=0;while(J<=143)q6[J*2+1]=8,J++,q[8]++;while(J<=255)q6[J*2+1]=9,J++,q[9]++;while(J<=279)q6[J*2+1]=7,J++,q[7]++;while(J<=287)q6[J*2+1]=8,J++,q[8]++;BJ(q6,o6+1,q);for(J=0;J<g6;J++)i6[J*2+1]=5,i6[J*2]=kJ(J,5);ZJ=new y0(q6,r0,G0+1,o6,B6),zJ=new y0(i6,C0,0,g6,B6),HJ=new y0([],x5,0,V8,O5)},jJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<g6;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},MJ=(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},L8=(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&&L8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(L8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},I8=(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=$J(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=YJ;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],w5(J,Q),BJ(W,z,J.bl_count)},O8=(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[PJ*2]++}else if(X<=10)J.bl_tree[UJ*2]++;else J.bl_tree[KJ*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}},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;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,PJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,UJ,J.bl_tree),n(J,X-3,3);else W6(J,KJ,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}},S5=(J)=>{let Q;O8(J,J.dyn_ltree,J.l_desc.max_code),O8(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[FJ[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[FJ[V]*2+1],3);x8(J,J.dyn_ltree,Q-1),x8(J,J.dyn_dtree,W-1)},T5=(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},D8=!1,g5=(J)=>{if(!D8)N5(),D8=!0;J.l_desc=new f0(J.dyn_ltree,ZJ),J.d_desc=new f0(J.dyn_dtree,zJ),J.bl_desc=new f0(J.bl_tree,HJ),J.bi_buf=0,J.bi_valid=0,jJ(J)},CJ=(J,Q,W,G)=>{if(n(J,(C5<<1)+(G?1:0),3),MJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},E5=(J)=>{n(J,XJ<<1,3),W6(J,q8,q6),A5(J)},y5=(J,Q,W,G)=>{let V,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=T5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=S5(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)CJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(XJ<<1)+(G?1:0),3),I8(J,q6,i6);else n(J,(R5<<1)+(G?1:0),3),v5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),I8(J,J.dyn_ltree,J.dyn_dtree);if(jJ(J),G)MJ(J)},f5=(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[$J(Q)*2]++;return J.sym_next===J.sym_end},b5=g5,h5=CJ,p5=y5,u5=f5,m5=E5,_5={_tr_init:b5,_tr_stored_block:h5,_tr_flush_block:p5,_tr_tally:u5,_tr_align:m5},c5=(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=c5,d5=()=>{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},l5=new Uint32Array(d5()),i5=(J,Q,W,G)=>{let V=l5,q=G+W;J^=-1;for(let P=G;P<q;P++)J=J>>>8^V[(J^Q[P])&255];return J^-1},c=i5,C6={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"},I6={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:n5,_tr_stored_block:a0,_tr_flush_block:r5,_tr_tally:K6,_tr_align:o5}=_5,{Z_NO_FLUSH:F6,Z_PARTIAL_FLUSH:a5,Z_FULL_FLUSH:s5,Z_FINISH:s,Z_BLOCK:A8,Z_OK:d,Z_STREAM_END:w8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:t5,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:e5,Z_FILTERED:J1,Z_HUFFMAN_ONLY:$0,Z_RLE:W1,Z_FIXED:Q1,Z_DEFAULT_STRATEGY:G1,Z_UNKNOWN:V1,Z_DEFLATED:O0}=I6,q1=9,X1=15,Y1=8,P1=29,U1=256,s0=U1+1+P1,K1=30,F1=19,Z1=2*s0+1,z1=15,T=3,U6=258,G6=U6+T+1,H1=32,E6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,j6=113,d6=666,i=1,b6=2,R6=3,h6=4,$1=3,M6=(J,Q)=>{return J.msg=C6[Q],Q},N8=(J)=>{return J*2-(J>4?9:0)},P6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},k1=(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)},B1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,Z6=B1,o=(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},a=(J,Q)=>{r5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,o(J.strm)},g=(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},RJ=(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,Z=J.prev,K=J.strstart+U6,F=Y[G+P-1],$=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]!==$||Y[V+P-1]!==F||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<K);if(q=U6-(K-G),G=K-U6,q>P){if(J.match_start=Q,P=q,q>=X)break;F=Y[G+P-1],$=Y[G+P]}}while((Q=Z[Q&U])>z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},y6=(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;k1(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>=T){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=Z6(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=Z6(J,J.ins_h,J.window[V+T-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<T)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},LJ=(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!==s||Q===F6||G!==V+J.strm.avail_in))break;if(P=Q===s&&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,o(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 h6;if(Q!==F6&&Q!==s&&J.strm.avail_in===0&&J.strstart===J.block_start)return b6;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===s)&&Q!==F6&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,P=Q===s&&J.strm.avail_in===0&&G===V?1:0,a0(J,J.block_start,G,P),J.block_start+=G,o(J.strm);return P?R6:i},p0=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G6){if(y6(J),J.lookahead<G6&&Q===F6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=T)J.ins_h=Z6(J,J.ins_h,J.window[J.strstart+T-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=RJ(J,W);if(J.match_length>=T)if(G=K6(J,J.strstart-J.match_start,J.match_length-T),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=T){J.match_length--;do J.strstart++,J.ins_h=Z6(J,J.ins_h,J.window[J.strstart+T-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=Z6(J,J.ins_h,J.window[J.strstart+1]);else G=K6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(a(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<T-1?J.strstart:T-1,Q===s){if(a(J,!0),J.strm.avail_out===0)return R6;return h6}if(J.sym_next){if(a(J,!1),J.strm.avail_out===0)return i}return b6},v6=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G6){if(y6(J),J.lookahead<G6&&Q===F6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=T)J.ins_h=Z6(J,J.ins_h,J.window[J.strstart+T-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=T-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=RJ(J,W),J.match_length<=5&&(J.strategy===J1||J.match_length===T&&J.strstart-J.match_start>4096))J.match_length=T-1}if(J.prev_length>=T&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-T,G=K6(J,J.strstart-1-J.prev_match,J.prev_length-T),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=Z6(J,J.ins_h,J.window[J.strstart+T-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=T-1,J.strstart++,G){if(a(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(G=K6(J,0,J.window[J.strstart-1]),G)a(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=K6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<T-1?J.strstart:T-1,Q===s){if(a(J,!0),J.strm.avail_out===0)return R6;return h6}if(J.sym_next){if(a(J,!1),J.strm.avail_out===0)return i}return b6},j1=(J,Q)=>{let W,G,V,q,P=J.window;for(;;){if(J.lookahead<=U6){if(y6(J),J.lookahead<=U6&&Q===F6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=T&&J.strstart>0){if(V=J.strstart-1,G=P[V],G===P[++V]&&G===P[++V]&&G===P[++V]){q=J.strstart+U6;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=U6-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=T)W=K6(J,1,J.match_length-T),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=K6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(a(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===s){if(a(J,!0),J.strm.avail_out===0)return R6;return h6}if(J.sym_next){if(a(J,!1),J.strm.avail_out===0)return i}return b6},M1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(y6(J),J.lookahead===0){if(Q===F6)return i;break}}if(J.match_length=0,W=K6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(a(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===s){if(a(J,!0),J.strm.avail_out===0)return R6;return h6}if(J.sym_next){if(a(J,!1),J.strm.avail_out===0)return i}return b6};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,LJ),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,v6),new J6(8,16,32,32,v6),new J6(8,16,128,128,v6),new J6(8,32,128,256,v6),new J6(32,128,258,1024,v6),new J6(32,258,258,4096,v6)],C1=(J)=>{J.window_size=2*J.w_size,P6(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=T-1,J.match_available=0,J.ins_h=0};function R1(){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(Z1*2),this.dyn_dtree=new Uint16Array((2*K1+1)*2),this.bl_tree=new Uint16Array((2*F1+1)*2),P6(this.dyn_ltree),P6(this.dyn_dtree),P6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(z1+1),this.heap=new Uint16Array(2*s0+1),P6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),P6(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!==E6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==j6&&Q.status!==d6)return 1;return 0},IJ=(J)=>{if(V0(J))return M6(J,Q6);J.total_in=J.total_out=0,J.data_type=V1;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?E6:j6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,n5(Q),d},OJ=(J)=>{let Q=IJ(J);if(Q===d)C1(J.state);return Q},L1=(J,Q)=>{if(V0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},xJ=(J,Q,W,G,V,q)=>{if(!J)return Q6;let P=1;if(Q===e5)Q=6;if(G<0)P=0,G=-G;else if(G>15)P=2,G-=16;if(V<1||V>q1||W!==O0||G<8||G>15||Q<0||Q>9||q<0||q>Q1||G===8&&P!==1)return M6(J,Q6);if(G===8)G=9;let X=new R1;return J.state=X,X.strm=J,X.status=E6,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+T-1)/T),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,OJ(J)},I1=(J,Q)=>{return xJ(J,Q,O0,X1,Y1,G1)},O1=(J,Q)=>{if(V0(J)||Q>A8||Q<0)return J?M6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==s)return M6(J,J.avail_out===0?h0:Q6);let G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(o(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&N8(Q)<=N8(G)&&Q!==s)return M6(J,h0);if(W.status===d6&&J.avail_in!==0)return M6(J,h0);if(W.status===E6&&W.wrap===0)W.status=j6;if(W.status===E6){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|=H1;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=j6,o(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,g(W,31),g(W,139),g(W,8),!W.gzhead){if(g(W,0),g(W,0),g(W,0),g(W,0),g(W,0),g(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),g(W,$1),W.status=j6,o(J),W.pending!==0)return W.last_flush=-1,d}else{if(g(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)),g(W,W.gzhead.time&255),g(W,W.gzhead.time>>8&255),g(W,W.gzhead.time>>16&255),g(W,W.gzhead.time>>24&255),g(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),g(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)g(W,W.gzhead.extra.length&255),g(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,o(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(o(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;g(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(o(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;g(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(o(J),W.pending!==0)return W.last_flush=-1,d}g(W,J.adler&255),g(W,J.adler>>8&255),J.adler=0}if(W.status=j6,o(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==F6&&W.status!==d6){let V=W.level===0?LJ(W,Q):W.strategy===$0?M1(W,Q):W.strategy===W1?j1(W,Q):l6[W.level].func(W,Q);if(V===R6||V===h6)W.status=d6;if(V===i||V===R6){if(J.avail_out===0)W.last_flush=-1;return d}if(V===b6){if(Q===a5)o5(W);else if(Q!==A8){if(a0(W,0,0,!1),Q===s5){if(P6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(o(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==s)return d;if(W.wrap<=0)return w8;if(W.wrap===2)g(W,J.adler&255),g(W,J.adler>>8&255),g(W,J.adler>>16&255),g(W,J.adler>>24&255),g(W,J.total_in&255),g(W,J.total_in>>8&255),g(W,J.total_in>>16&255),g(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(o(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:w8},x1=(J)=>{if(V0(J))return Q6;let Q=J.state.status;return J.state=null,Q===j6?M6(J,t5):d},D1=(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!==E6||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)P6(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,y6(G);while(G.lookahead>=T){let z=G.strstart,Y=G.lookahead-(T-1);do G.ins_h=Z6(G,G.ins_h,G.window[z+T-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=T-1,y6(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=T-1,G.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,G.wrap=V,d},A1=I1,w1=xJ,N1=OJ,S1=IJ,v1=L1,T1=O1,g1=x1,E1=D1,y1="pako deflate (from Nodeca project)",n6={deflateInit:A1,deflateInit2:w1,deflateReset:N1,deflateResetKeep:S1,deflateSetHeader:v1,deflate:T1,deflateEnd:g1,deflateSetDictionary:E1,deflateInfo:y1},f1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},b1=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(f1(W,G))J[G]=W[G]}return J},h1=(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:b1,flattenChunks:h1},DJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){DJ=!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 p1=(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},u1=(J,Q)=>{if(Q<65534){if(J.subarray&&DJ)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},m1=(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 u1(q,V)},_1=(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:p1,buf2string:m1,utf8border:_1};function c1(){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 AJ=c1,wJ=Object.prototype.toString,{Z_NO_FLUSH:d1,Z_SYNC_FLUSH:l1,Z_FULL_FLUSH:i1,Z_FINISH:n1,Z_OK:L0,Z_STREAM_END:r1,Z_DEFAULT_COMPRESSION:o1,Z_DEFAULT_STRATEGY:a1,Z_DEFLATED:s1}=I6;function q0(J){this.options=x0.assign({level:o1,method:s1,chunkSize:16384,windowBits:15,memLevel:8,strategy:a1},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 AJ,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(C6[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(wJ.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(C6[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?n1:d1;if(typeof J==="string")W.input=W0.string2buf(J);else if(wJ.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===l1||q===i1)&&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===r1){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||C6[W.err];return W.result}function t1(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function e1(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var JW=q0,WW=P8,QW=t1,GW=e1,VW=I6,qW={Deflate:JW,deflate:WW,deflateRaw:QW,gzip:GW,constants:VW},k0=16209,XW=16191,YW=function(Q,W){let G,V,q,P,X,z,Y,U,Z,K,F,$,L,B,M,I,A,k,S,b,C,E,w,x,N=Q.state;G=Q.next_in,w=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,Z=N.wnext,K=N.window,F=N.hold,$=N.bits,L=N.lencode,B=N.distcode,M=(1<<N.lenbits)-1,I=(1<<N.distbits)-1;J:do{if($<15)F+=w[G++]<<$,$+=8,F+=w[G++]<<$,$+=8;A=L[F&M];W:for(;;){if(k=A>>>24,F>>>=k,$-=k,k=A>>>16&255,k===0)x[q++]=A&65535;else if(k&16){if(S=A&65535,k&=15,k){if($<k)F+=w[G++]<<$,$+=8;S+=F&(1<<k)-1,F>>>=k,$-=k}if($<15)F+=w[G++]<<$,$+=8,F+=w[G++]<<$,$+=8;A=B[F&I];Q:for(;;){if(k=A>>>24,F>>>=k,$-=k,k=A>>>16&255,k&16){if(b=A&65535,k&=15,$<k){if(F+=w[G++]<<$,$+=8,$<k)F+=w[G++]<<$,$+=8}if(b+=F&(1<<k)-1,b>z){Q.msg="invalid distance too far back",N.mode=k0;break J}if(F>>>=k,$-=k,k=q-P,b>k){if(k=b-k,k>U){if(N.sane){Q.msg="invalid distance too far back",N.mode=k0;break J}}if(C=0,E=K,Z===0){if(C+=Y-k,k<S){S-=k;do x[q++]=K[C++];while(--k);C=q-b,E=x}}else if(Z<k){if(C+=Y+Z-k,k-=Z,k<S){S-=k;do x[q++]=K[C++];while(--k);if(C=0,Z<S){k=Z,S-=k;do x[q++]=K[C++];while(--k);C=q-b,E=x}}}else if(C+=Z-k,k<S){S-=k;do x[q++]=K[C++];while(--k);C=q-b,E=x}while(S>2)x[q++]=E[C++],x[q++]=E[C++],x[q++]=E[C++],S-=3;if(S){if(x[q++]=E[C++],S>1)x[q++]=E[C++]}}else{C=q-b;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((k&64)===0){A=B[(A&65535)+(F&(1<<k)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=k0;break J}break}}else if((k&64)===0){A=L[(A&65535)+(F&(1<<k)-1)];continue W}else if(k&32){N.mode=XW;break J}else{Q.msg="invalid literal/length code",N.mode=k0;break J}break}}while(G<V&&q<X);S=$>>3,G-=S,$-=S<<3,F&=(1<<$)-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=F,N.bits=$;return},T6=15,S8=852,v8=592,T8=0,u0=1,g8=2,PW=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]),UW=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]),KW=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]),FW=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]),ZW=(J,Q,W,G,V,q,P,X)=>{let z=X.bits,Y=0,U=0,Z=0,K=0,F=0,$=0,L=0,B=0,M=0,I=0,A,k,S,b,C,E=null,w,x=new Uint16Array(T6+1),N=new Uint16Array(T6+1),r=null,D6,z6,H6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<G;U++)x[Q[W+U]]++;F=z;for(K=T6;K>=1;K--)if(x[K]!==0)break;if(F>K)F=K;if(K===0)return V[q++]=20971520,V[q++]=20971520,X.bits=1,0;for(Z=1;Z<K;Z++)if(x[Z]!==0)break;if(F<Z)F=Z;B=1;for(Y=1;Y<=T6;Y++)if(B<<=1,B-=x[Y],B<0)return-1;if(B>0&&(J===T8||K!==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===T8)E=r=P,w=20;else if(J===u0)E=PW,r=UW,w=257;else E=KW,r=FW,w=0;if(I=0,U=0,Y=Z,C=q,$=F,L=0,S=-1,M=1<<F,b=M-1,J===u0&&M>S8||J===g8&&M>v8)return 1;for(;;){if(D6=Y-L,P[U]+1<w)z6=0,H6=P[U];else if(P[U]>=w)z6=r[P[U]-w],H6=E[P[U]-w];else z6=96,H6=0;A=1<<Y-L,k=1<<$,Z=k;do k-=A,V[C+(I>>L)+k]=D6<<24|z6<<16|H6|0;while(k!==0);A=1<<Y-1;while(I&A)A>>=1;if(A!==0)I&=A-1,I+=A;else I=0;if(U++,--x[Y]===0){if(Y===K)break;Y=Q[W+P[U]]}if(Y>F&&(I&b)!==S){if(L===0)L=F;C+=Z,$=Y-L,B=1<<$;while($+L<K){if(B-=x[$+L],B<=0)break;$++,B<<=1}if(M+=1<<$,J===u0&&M>S8||J===g8&&M>v8)return 1;S=I&b,V[S]=F<<24|$<<16|C-q|0}}if(I!==0)V[C+I]=Y-L<<24|4194304|0;return X.bits=F,0},r6=ZW,zW=0,NJ=1,SJ=2,{Z_FINISH:E8,Z_BLOCK:HW,Z_TREES:B0,Z_OK:L6,Z_STREAM_END:$W,Z_NEED_DICT:kW,Z_STREAM_ERROR:t,Z_DATA_ERROR:vJ,Z_MEM_ERROR:TJ,Z_BUF_ERROR:BW,Z_DEFLATED:y8}=I6,D0=16180,f8=16181,b8=16182,h8=16183,p8=16184,u8=16185,m8=16186,_8=16187,c8=16188,d8=16189,I0=16190,V6=16191,m0=16192,l8=16193,_0=16194,i8=16195,n8=16196,r8=16197,o8=16198,j0=16199,M0=16200,a8=16201,s8=16202,t8=16203,e8=16204,JJ=16205,c0=16206,WJ=16207,QJ=16208,p=16209,gJ=16210,EJ=16211,jW=852,MW=592,CW=15,RW=CW,GJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function LW(){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 O6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>EJ)return 1;return 0},yJ=(J)=>{if(O6(J))return t;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(jW),Q.distcode=Q.distdyn=new Int32Array(MW),Q.sane=1,Q.back=-1,L6},fJ=(J)=>{if(O6(J))return t;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,yJ(J)},bJ=(J,Q)=>{let W;if(O6(J))return t;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 t;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,fJ(J)},hJ=(J,Q)=>{if(!J)return t;let W=new LW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=bJ(J,Q);if(G!==L6)J.state=null;return G},IW=(J)=>{return hJ(J,RW)},VJ=!0,d0,l0,OW=(J)=>{if(VJ){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(NJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(SJ,J.lens,0,32,l0,0,J.work,{bits:5}),VJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},pJ=(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},xW=(J,Q)=>{let W,G,V,q,P,X,z,Y,U,Z,K,F,$,L,B=0,M,I,A,k,S,b,C,E,w=new Uint8Array(4),x,N,r=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(O6(J)||!J.output||!J.input&&J.avail_in!==0)return t;if(W=J.state,W.mode===V6)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,Z=X,K=z,E=L6;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,w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0),Y=0,U=0,W.mode=f8;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=p;break}if((Y&15)!==y8){J.msg="unknown compression method",W.mode=p;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=p;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?d8:V6,Y=0,U=0;break;case f8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==y8){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=Y>>8&1;if(W.flags&512&&W.wrap&4)w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0);Y=0,U=0,W.mode=b8;case b8: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)w[0]=Y&255,w[1]=Y>>>8&255,w[2]=Y>>>16&255,w[3]=Y>>>24&255,W.check=c(W.check,w,4,0);Y=0,U=0,W.mode=h8;case h8: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)w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0);Y=0,U=0,W.mode=p8;case p8: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)w[0]=Y&255,w[1]=Y>>>8&255,W.check=c(W.check,w,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=u8;case u8:if(W.flags&1024){if(F=W.length,F>X)F=X;if(F){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+F),C)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,F,q);X-=F,q+=F,W.length-=F}if(W.length)break J}W.length=0,W.mode=m8;case m8:if(W.flags&2048){if(X===0)break J;F=0;do if(C=G[q+F++],W.head&&C&&W.length<65536)W.head.name+=String.fromCharCode(C);while(C&&F<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,F,q);if(X-=F,q+=F,C)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;F=0;do if(C=G[q+F++],W.head&&C&&W.length<65536)W.head.comment+=String.fromCharCode(C);while(C&&F<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,F,q);if(X-=F,q+=F,C)break J}else if(W.head)W.head.comment=null;W.mode=c8;case c8: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=p;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=V6;break;case d8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=GJ(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,kW;J.adler=W.check=1,W.mode=V6;case V6:if(Q===HW||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=l8;break;case 1:if(OW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=n8;break;case 3:J.msg="invalid block type",W.mode=p}Y>>>=2,U-=2;break;case l8: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=p;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=i8;case i8:if(F=W.length,F){if(F>X)F=X;if(F>z)F=z;if(F===0)break J;V.set(G.subarray(q,q+F),P),X-=F,q+=F,z-=F,P+=F,W.length-=F;break}W.mode=V6;break;case n8: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=p;break}W.have=0,W.mode=r8;case r8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.lens[r[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[r[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},E=r6(zW,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,E){J.msg="invalid code lengths set",W.mode=p;break}W.have=0,W.mode=o8;case o8:while(W.have<W.nlen+W.ndist){for(;;){if(B=W.lencode[Y&(1<<W.lenbits)-1],M=B>>>24,I=B>>>16&255,A=B&65535,M<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(A<16)Y>>>=M,U-=M,W.lens[W.have++]=A;else{if(A===16){N=M+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=M,U-=M,W.have===0){J.msg="invalid bit length repeat",W.mode=p;break}C=W.lens[W.have-1],F=3+(Y&3),Y>>>=2,U-=2}else if(A===17){N=M+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=M,U-=M,C=0,F=3+(Y&7),Y>>>=3,U-=3}else{N=M+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=M,U-=M,C=0,F=11+(Y&127),Y>>>=7,U-=7}if(W.have+F>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=p;break}while(F--)W.lens[W.have++]=C}}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,x={bits:W.lenbits},E=r6(NJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,E){J.msg="invalid literal/lengths set",W.mode=p;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},E=r6(SJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,E){J.msg="invalid distances set",W.mode=p;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,YW(J,K),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===V6)W.back=-1;break}W.back=0;for(;;){if(B=W.lencode[Y&(1<<W.lenbits)-1],M=B>>>24,I=B>>>16&255,A=B&65535,M<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(I&&(I&240)===0){k=M,S=I,b=A;for(;;){if(B=W.lencode[b+((Y&(1<<k+S)-1)>>k)],M=B>>>24,I=B>>>16&255,A=B&65535,k+M<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=k,U-=k,W.back+=k}if(Y>>>=M,U-=M,W.back+=M,W.length=A,I===0){W.mode=JJ;break}if(I&32){W.back=-1,W.mode=V6;break}if(I&64){J.msg="invalid literal/length code",W.mode=p;break}W.extra=I&15,W.mode=a8;case a8: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=s8;case s8:for(;;){if(B=W.distcode[Y&(1<<W.distbits)-1],M=B>>>24,I=B>>>16&255,A=B&65535,M<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((I&240)===0){k=M,S=I,b=A;for(;;){if(B=W.distcode[b+((Y&(1<<k+S)-1)>>k)],M=B>>>24,I=B>>>16&255,A=B&65535,k+M<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=k,U-=k,W.back+=k}if(Y>>>=M,U-=M,W.back+=M,I&64){J.msg="invalid distance code",W.mode=p;break}W.offset=A,W.extra=I&15,W.mode=t8;case t8: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=p;break}W.mode=e8;case e8:if(z===0)break J;if(F=K-z,W.offset>F){if(F=W.offset-F,F>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=p;break}}if(F>W.wnext)F-=W.wnext,$=W.wsize-F;else $=W.wnext-F;if(F>W.length)F=W.length;L=W.window}else L=V,$=P-W.offset,F=W.length;if(F>z)F=z;z-=F,W.length-=F;do V[P++]=L[$++];while(--F);if(W.length===0)W.mode=M0;break;case JJ: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(K-=z,J.total_out+=K,W.total+=K,W.wrap&4&&K)J.adler=W.check=W.flags?c(W.check,V,K,P-K):e6(W.check,V,K,P-K);if(K=z,W.wrap&4&&(W.flags?Y:GJ(Y))!==W.check){J.msg="incorrect data check",W.mode=p;break}Y=0,U=0}W.mode=WJ;case WJ: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=p;break}Y=0,U=0}W.mode=QJ;case QJ:E=$W;break J;case p:E=vJ;break J;case gJ:return TJ;case EJ:default:return t}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||K!==J.avail_out&&W.mode<p&&(W.mode<c0||Q!==E8)){if(pJ(J,J.output,J.next_out,K-J.avail_out));}if(Z-=J.avail_in,K-=J.avail_out,J.total_in+=Z,J.total_out+=K,W.total+=K,W.wrap&4&&K)J.adler=W.check=W.flags?c(W.check,V,K,J.next_out-K):e6(W.check,V,K,J.next_out-K);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===V6?128:0)+(W.mode===j0||W.mode===_0?256:0),(Z===0&&K===0||Q===E8)&&E===L6)E=BW;return E},DW=(J)=>{if(O6(J))return t;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,L6},AW=(J,Q)=>{if(O6(J))return t;let W=J.state;if((W.wrap&2)===0)return t;return W.head=Q,Q.done=!1,L6},wW=(J,Q)=>{let W=Q.length,G,V,q;if(O6(J))return t;if(G=J.state,G.wrap!==0&&G.mode!==I0)return t;if(G.mode===I0){if(V=1,V=e6(V,Q,W,0),V!==G.check)return vJ}if(q=pJ(J,Q,W,W),q)return G.mode=gJ,TJ;return G.havedict=1,L6},NW=fJ,SW=bJ,vW=yJ,TW=IW,gW=hJ,EW=xW,yW=DW,fW=AW,bW=wW,hW="pako inflate (from Nodeca project)",X6={inflateReset:NW,inflateReset2:SW,inflateResetKeep:vW,inflateInit:TW,inflateInit2:gW,inflate:EW,inflateEnd:yW,inflateGetHeader:fW,inflateSetDictionary:bW,inflateInfo:hW};function pW(){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 uW=pW,uJ=Object.prototype.toString,{Z_NO_FLUSH:mW,Z_FINISH:_W,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:cW,Z_DATA_ERROR:qJ,Z_MEM_ERROR:dW}=I6;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 AJ,this.strm.avail_out=0;let W=X6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(C6[W]);if(this.header=new uW,X6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(uJ.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=X6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(C6[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?_W:mW;if(uJ.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=X6.inflate(W,P),q===n0&&V){if(q=X6.inflateSetDictionary(W,V),q===Q0)q=X6.inflate(W,P);else if(q===qJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)X6.inflateReset(W),q=X6.inflate(W,P);switch(q){case cW:case qJ:case n0:case dW: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=X6.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||C6[W.err];return W.result}function lW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var iW=X0,nW=U8,rW=lW,oW=U8,aW=I6,sW={Inflate:iW,inflate:nW,inflateRaw:rW,ungzip:oW,constants:aW},{Deflate:tW,deflate:eW,deflateRaw:J7,gzip:W7}=qW,{Inflate:Q7,inflate:G7,inflateRaw:V7,ungzip:q7}=sW,X7=tW,Y7=eW,P7=J7,U7=W7,K7=Q7,F7=G7,Z7=V7,z7=q7,H7=I6,x6={Deflate:X7,deflate:Y7,deflateRaw:P7,gzip:U7,Inflate:K7,inflate:F7,inflateRaw:Z7,ungzip:z7,constants:H7};function mJ(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 _J(J,Q=50){let W=`gdb_oplog_${J}`,G=[];function V(){try{let P=localStorage.getItem(W);G=P?JSON.parse(P):[]}catch(P){log.error("❌ GDB: Failed to load oplog from localStorage:",P),G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(P){log.error("❌ GDB: Failed to save oplog to localStorage:",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 $7=()=>{let J=new Map,Q=async(U,Z)=>{let K=J.get(U)??[];J.set(U,K);let F=K[K.length-1]??Promise.resolve(),$,L=new Promise((B)=>$=B);K.push(L);try{return await F,await Z()}finally{if(K.shift(),$(),!K.length)J.delete(U)}},W=(U,Z)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},Z)??Q(U,Z),G=async()=>{try{let U=await navigator.storage.getDirectory(),K=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await K?.close(),await U.removeEntry("~opfs-sync-test"),!!K}catch{return!1}},V="idb",q=(async()=>{if(await G()){V="sync";return}try{let U=await navigator.storage.getDirectory(),K=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await K?.close(),await U.removeEntry("~opfs-async-test"),V=K?"async":"idb"}catch{V="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,Z=()=>U??=new Promise((K,F)=>{let $=indexedDB.open("opfs-fallback-db",1);$.onupgradeneeded=()=>$.result.createObjectStore("files"),$.onsuccess=()=>K($.result),$.onerror=()=>F($.error)});return{get:async(K)=>{let F=await Z();return new Promise(($,L)=>{let M=F.transaction("files","readonly").objectStore("files").get(K);M.onsuccess=()=>$(M.result||new Uint8Array),M.onerror=()=>L(M.error)})},set:async(K,F)=>{let $=await Z();return new Promise((L,B)=>{let I=$.transaction("files","readwrite").objectStore("files").put(F,K);I.onsuccess=()=>L(),I.onerror=()=>B(I.error)})}}})(),z=async(U)=>{await q;try{if(V==="idb"){let B=await X.get(U);self.postMessage({type:"loaded",name:U,data:B},[B.buffer]);return}let K=await(await P).getFileHandle(U).catch(()=>null);if(!K){let B=new Uint8Array;self.postMessage({type:"loaded",name:U,data:B},[B.buffer]);return}let F=async()=>{try{let B=await K.createSyncAccessHandle();try{let M=B.getSize(),I=new Uint8Array(M),A=B.read(I,{at:0}),k=I.slice(0,A);self.postMessage({type:"loaded",name:U,data:k},[k.buffer])}finally{B.close()}}catch(B){if(B?.name==="NoModificationAllowedError"){let M=await K.getFile(),I=new Uint8Array(await M.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}else throw B}};if(V==="sync"){await W(U,F);return}let $=await K.getFile(),L=new Uint8Array(await $.arrayBuffer());self.postMessage({type:"loaded",name:U,data:L},[L.buffer])}catch(Z){if(Z?.name==="NotFoundError"){let K=new Uint8Array;self.postMessage({type:"loaded",name:U,data:K},[K.buffer]);return}self.postMessage({type:"error",name:U,message:Z?.message??"Error reading file"})}},Y=async(U,Z)=>{if(await q,!(Z 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,Z),{type:"saved",name:U};let F=await(await P).getFileHandle(U,{create:!0});if(V==="sync"){let $=await F.createSyncAccessHandle();try{$.truncate(0),$.write(Z,{at:0}),$.flush()}finally{$.close()}}else{let $=await F.createWritable();try{await $.write(Z)}finally{await $.close()}}return{type:"saved",name:U}}catch(K){return{type:"error",name:U,message:K?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:Z,name:K,content:F}=U;await q;let $={load:()=>z(K),save:()=>Y(K,F)};try{let L=$[Z],B=L?await L():{type:"error",message:`Unrecognized action type: ${Z}`};if(B&&B.type)self.postMessage(B)}catch(L){self.postMessage({type:"error",name:K,message:L?.message??"Unexpected worker error"})}}},cJ=$7;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((Z)=>Y.set(Z.id,Z)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let Z=A0(Y.value,Q.field),K=A0(U.value,Q.field);if(typeof Z==="string"&&typeof K==="string")return Z.localeCompare(K)*z;return((Z??0)-(K??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 dJ(){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"){log.warn("⚠️ 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}}}var k7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.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)},lJ=(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,iJ=(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}},B7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function j7(){if(log.info(navigator?.storage?.getDirectory?"✅ OPFS is enabled.":"\uD83D\uDEAB OPFS is not available."),navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function M7(){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 x6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=k6(x6.inflate(new Uint8Array(Q)))}}}async function nJ(J,Q={}){Q.debug&&(globalThis.__gdbDebug=!0),log.info("\x1B[36m⚡ GenosDB: Empowering distributed graph databases with real-time synchronization and scalability. Learn more: https://github.com/estebanrfp/gdb ⚡\x1B[0m");let{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ai:P=!1,geo:X=!1,nlq:z=!1,saveDelay:Y=200,oplogSize:U=20}=Q,Z=M7(),K=dJ(),F=_J(J,U),$=[],L=null,B=[],M=null,I=null,A=null,k=null,S=[],b={};Object.defineProperties(b,{syncChannel:{get:()=>I},broadcastChannel:{get:()=>A},hybridClock:{get:()=>K},graph:{get:()=>({getAllNodes:()=>Z.getAllNodes(),get:(j)=>Z.get(j)})},worker:{get:()=>M},oplog:{get:()=>F},options:{get:()=>Q},pako:{get:()=>x6},encode:{get:()=>u6},decode:{get:()=>k6},deepClone:{get:()=>F8}});async function C(j,D){try{let R=await k7[j](),f=D&&typeof D==="object"?D:{},_=await R.init?.(b,R,f);if(_)Object.assign(b,_);return R}catch(R){throw log.error(`❌ Initialization of ${j} failed:`,R),R}}function E(){let j=localStorage.getItem(`${J}_time`);L=j?JSON.parse(j):null}function w(j){L=j,localStorage.setItem(`${J}_time`,JSON.stringify(j))}function x(){try{let j=URL.createObjectURL(new Blob([`(${cJ.toString()})()`],{type:"application/javascript"}));M=new Worker(j),URL.revokeObjectURL(j),M.addEventListener("message",({data:D})=>log.info(`\uD83D\uDCBE ${D.name} ${D.type}`)),log.info("⚙️ Worker initialized successfully.")}catch({message:j}){log.error("❌ Failed to initialize worker:",j)}}function N(){let j={...Z.nodes};B.forEach((D)=>D(j))}let r=B7(()=>N()),D6=iJ(async()=>{let j=S.splice(0,S.length);if(!j.length)return!1;return await I.send(j),!0},16);async function z6(){try{let D=await((R)=>new Promise((f,_)=>{let h=async({data:H})=>{if(H.type==="loaded"&&H.name===R)M.removeEventListener("message",h),f(new Uint8Array(H.data));else if(H.type==="error")M.removeEventListener("message",h),_(Error(H.message||"Unknown error"))};M.addEventListener("message",h),M.postMessage({type:"load",name:R})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);D.byteLength>0?Z.deserialize(D):log.info("\uD83D\uDCBE New database. File will be created on first save.")}catch({message:j}){log.error("❌ Error loading the graph:",j)}}async function H6(){try{let j=Z.serialize();return await((R,f)=>new Promise((_,h)=>{let H=({data:O})=>{if(O.type==="saved"&&O.name===R)M.removeEventListener("message",H),_();else if(O.type==="error")M.removeEventListener("message",H),h(Error(O.message||"Save error"))};M.addEventListener("message",H),M.postMessage({type:"save",name:R,content:f})}))(`${J}_graph.msgpack`,j),A.postMessage("update"),!0}catch({message:j}){throw log.error("❌ Save error:",j),Error("Save failed")}}let P0=iJ(()=>H6(),Y);async function rJ(j){let D=!1,R=null,f=(H)=>{if(!R||K.compare(H,R)>0)R=H},_=(H)=>{try{if(H instanceof Uint8Array)return k6(x6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return k6(x6.inflate(new Uint8Array(Object.values(H))))}catch(O){log.error("❌ deltaSync decode failed",O)}return null},h={upsert:(H)=>{let O=Z.get(H.id),{resolved:v,value:y,timestamp:u}=mJ(O,H,K);if(!v)return;Z.upsert(H.id,y,u),K.update(u),F.add({type:"upsert",id:H.id,timestamp:u}),D=!0,f(u)},remove:(H)=>{let O=Z.get(H.id);if(!O||K.compare(O.timestamp,H.timestamp)>=0)return;delete Z.nodes[H.id],K.update(H.timestamp),F.add({type:"remove",id:H.id,timestamp:H.timestamp}),D=!0,f(H.timestamp)},link:(H)=>{let O=Z.get(H.sourceId),v=Z.get(H.targetId);if(!O||!v||K.compare(O.timestamp,H.timestamp)>=0)return;Z.link(H.sourceId,H.targetId,H.timestamp),K.update(H.timestamp),F.add({type:"link",...H}),D=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let O=F.getOldest();if(H==null||O&&K.compare(H,O.timestamp)<0)return log.info("\uD83D\uDCA5 [FALLBACK] Peer too far behind → sending FULL state."),I.send([{type:"fullStateSync",graphData:Z.serialize(),timestamp:L}]);let y=F.getDelta(H,K.compare);if(!y.length)return;let u=y.map((e)=>e.type==="upsert"?{...e,value:Z.get(e.id)?.value}:e);log.info(`\uD83D\uDE80 [DELTA SYNC SENDING] ${u.length} ops.`),await I.send([{type:"deltaSync",operations:x6.deflate(u6(u)),timestamp:L}])},deltaSync:({operations:H})=>{let O=_(H);if(!Array.isArray(O)){log.warn("⚠️ deltaSync payload not array. Ignored.");return}log.info(`\uD83D\uDEF0️ [DELTA SYNC RECEIVED] ${O.length} ops.`);for(let v of O)if(v&&h[v.type])h[v.type](v);else if(v)log.warn(`\uD83E\uDD37 Unknown op: ${v.type}`)},fullStateSync:async({graphData:H,timestamp:O})=>{if(L&&O&&K.compare(L,O)>0){log.info("\uD83D\uDD04 Local newer, ignoring full sync.");return}if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else{log.error("❌ Invalid full graph data received");return}try{if(log.info("\uD83D\uDCE6 [FULL SYNC RECEIVED] Applying full graph."),Z.deserialize(H),F.clear(),D=!0,O)f(O),K.update(O)}catch(v){log.error("❌ Full sync failed:",v)}}};for(let H of j)if(h[H.type])await h[H.type](H);else log.warn(`\uD83E\uDD37 Unknown type: ${H.type}`);if(R&&(!L||K.compare(R,L)>0))log.info(`\uD83D\uDCC8 [GLOBAL TS] Advanced to ${R.logical}`),w(R);if(D)log.info("\uD83D\uDCBE [STATE CHANGED] Saving + emitting."),await P0(),r()}Object.assign(b,{use(j){if(typeof j==="function")$.push(j)},async put(j,D){let R=K.now();w(R),D=D??crypto.randomUUID(),Z.upsert(D,j,R),F.add({type:"upsert",id:D,timestamp:R}),P0();try{S.push({type:"upsert",id:D,value:j,timestamp:R}),D6().catch(()=>{})}finally{r()}return D},async link(j,D){let R=K.now();if(!Z.nodes[j]||!Z.nodes[D]){log.warn(`⚠️ One or both nodes (${j}, ${D}) do not exist.`);return}Z.link(j,D,R),F.add({type:"link",sourceId:j,targetId:D,timestamp:R}),P0(),w(R);try{S.push({type:"link",sourceId:j,targetId:D,timestamp:R}),D6().catch(()=>{})}finally{r()}},async remove(j){let D=K.now(),R=Z.get(j);if(!R)return log.warn(`⚠️ Node with ID '${j}' not found.`);delete Z.nodes[j],F.add({type:"remove",id:j,timestamp:D}),Object.values(Z.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==j)),P0(),w(D);try{S.push({type:"remove",id:j,value:R.value,timestamp:D}),D6().catch(()=>{})}finally{r()}},async get(j,D=null){if(typeof j!=="string")return{result:null};let R=Z.get(j);if(!R){if(D)D(null);return{result:null}}let f=(H)=>{if(!H)return null;let O=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:O}};if(!D)return{result:f(R)};let _=R.timestamp;D(f(R));let h=(H)=>{let O=H[j];if(O){if(K.compare(O.timestamp,_)>0)_=O.timestamp,D(f(O))}else D(null),B.splice(B.indexOf(h),1)};return B.push(h),{result:f(R),unsubscribe:()=>{let H=B.indexOf(h);if(H>-1)B.splice(H,1)}}},async map(...j){let R={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;j.forEach((v)=>typeof v==="function"?f=v:v&&typeof v==="object"&&(_=_||("realtime"in v),Object.assign(R,v))),f&&!_&&(R.realtime=!0);let h=K8(Z.nodes,R),H=null,O=(v)=>{let y=new Map(h.map((m)=>[m.id,m])),u=new Map(v.map((m)=>[m.id,m])),e=[],w6=[],Z8=[];for(let[m,Y6]of u){let U0=y.get(m);if(!U0)e.push(Y6);else if((Y6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(Y6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!lJ(Y6.edges||[],U0.edges||[]))w6.push(Y6)}for(let[m]of y)if(!u.has(m))Z8.push(y.get(m));let N0=(m,Y6)=>f({id:m.id,value:Y6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:Y6});e.forEach((m)=>N0(m,"added")),Z8.forEach((m)=>N0(m,"removed")),w6.forEach((m)=>N0(m,"updated"))};if(f){if(h.forEach((v)=>{f({id:v.id,value:v.value,edges:v.edges,timestamp:v.timestamp,action:"initial"})}),R.realtime){let v=(y)=>{let u=y.timestamp?.physical||0,e=y.timestamp?.logical||0,w6=(y.edges||[]).join(",");return`${y.id}:${u}:${e}:${w6}`};H=(y)=>{let u=K8(y,R);if(u.length!==h.length)O(u),h=u;else{let e=u.map(v),w6=h.map(v);if(!lJ(e,w6))O(u),h=u}},B.push(H)}}return{results:h,...R.realtime&&f&&H&&{unsubscribe:()=>{let v=B.indexOf(H);v>-1&&B.splice(v,1)}}}},async clear(){Z.nodes={},L=null,localStorage.removeItem(`${J}_time`),F.clear(),await H6(),N(),log.info("✅ All data has been deleted.")}}),x(),E(),await j7(),await z6();let A6=[];if(V)A6.push(C("sm",V));if(P)A6.push(C("ai",P));if(q)A6.push(C("audit",q));if(X)A6.push(C("geo",X));if(z)A6.push(C("nlq",z));await Promise.all(A6);let oJ=`graph-sync-room-${J}`;if(W){let j=W?.constructor===Object?W:{},D=j.cells?"genosrtc-cells":"genosrtc",{join:R,selfId:f}=await C(D),_={appId:"1234",...G&&{password:G},...j.relayUrls&&{relayUrls:j.relayUrls},...j.turnConfig&&{turnConfig:j.turnConfig},...j.cells&&j.cells!==!0&&{overlay:j.cells}},h=R(_,oJ);I=h.channel("syncGraph"),k=R(_,`app-sync-${J}`),b.room=k,b.selfId=f,h.on("peer:join",async(H)=>{log.info("⚡ New peer connected:",H),I.send([{type:"sync",timestamp:L}])}),h.on("peer:leave",(H)=>{log.info("⚡ Peer disconnected:",H)}),I?.on("message",async(H)=>{let O;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=k6(H);O=Array.isArray(y)?y:[y]}else O=Array.isArray(H)?H:[H]}catch(y){return log.error("❌ Failed to decode MessagePack:",y)}let v=new Map([...new Set(O.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>Z.get(y)?[y,F8(Z.get(y))]:null).filter(Boolean));for(let y of $)try{if(O=await y(O,v),!O||!O.length)return}catch(u){log.error("❌ Middleware error, discarding message.",u);return}await rJ(O)})}return A=new BroadcastChannel(`graphdb_sync_${J}`),A.onmessage=async(j)=>{if(j.data==="update")log.info("\uD83D\uDD04 Update received from another tab..."),await z6(),E(),r()},log.info(`✅ GenosDB [ \x1B[32m${J}\x1B[0m ] instance is ready.`),b}var hQ=nJ;class C7{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{hQ as gdb,C7 as GDB};
package/dist/index.js.gz CHANGED
Binary file
package/dist/nlq.min.js CHANGED
@@ -1 +1,2 @@
1
- function jj(J){let Y=J.map;return J.map=async function(...j){let H={},Z=null;j.forEach((B)=>{if(typeof B==="object")H={...H,...B};if(typeof B==="function")Z=B});let M=!1;if(H.prompt)try{let B=await Hj(H.prompt);if(H={...H,...B},B.__nlqReturnDeepest)M=!0;delete H.prompt}catch(B){H.query={}}let G=M&&Z?(B)=>{try{let T=w(B);Z&&Z(T)}catch{Z&&Z(B)}}:Z,$=await Y.call(this,H,G);if(M&&$&&Array.isArray($.results))$.results=w($.results);return $},J}async function Hj(J){return Jj(J)}function Jj(J){let Y=i(String(J||"")),j=x(Y),H={query:{}},Z=H.query,M=Fj(j);if(M.length){H.$_ors=[];for(let X of M)H.$_ors.push(X.left,X.right),j=V(j,X.span)}let Q=$j(j);if(Q)Z.type=Q.type,H.type=Q.type,j=V(j,Q.span);if(!Z.type){let X=Gj(j);if(X)Z.type=X.type,H.type=X.type,j=V(j,X.span)}if(!Z.type){let X=Wj(j);if(X)Z.type=X.type,H.type=X.type,j=V(j,X.span)}let G=Vj(j);if(G&&G.edge){if(Z.$edge=G.edge,G.span)j=V(j,G.span)}if(G&&G.edge&&/\bthen\s+finds?\s+(?:that\s+[A-Za-z]+s?\s+)?descendant\s+(?:named|called|with\s+name)\b/i.test(Y))H.__nlqReturnDeepest=!0;let $=p(j);for(let X of $){if(X.mode==="in"){let R=X.values??[X.value];Z[X.field]={...Z[X.field]||{},$in:R}}else Z[X.field]={...Z[X.field]||{},$contains:X.value};j=V(j,X.span)}let B=u(j);for(let X of B)Z[X.field]={...Z[X.field]||{},$regex:`^${X.value}`},j=V(j,X.span);let T=c(j);for(let X of T)Z[X.field]={...Z[X.field]||{},$regex:`${X.value}$`},j=V(j,X.span);let U=d(j);for(let X of U)Z[X.field]={...Z[X.field]||{},$like:X.value},j=V(j,X.span);let O=Xj(j);if(O){let X=O.value,R=[{name:{$regex:X}},{role:{$regex:X}},{level:{$regex:X}},{country:{$regex:X}},{title:{$regex:X}},{body:{$regex:X}},{tags:{$in:[X]}}];H.query.$or=[...H.query.$or||[],...R],j=V(j,O.span)}else if(Yj(j))H.query.__nlq_no_match="__NLQ_NO_MATCH__";let C=m(j);for(let X of C)Z[X.field]={...Z[X.field]||{},$exists:!0},j=V(j,X.span);let A=Bj(j);if(A.after)H.$after=A.after;if(A.before)H.$before=A.before;for(let X of A.spans)j=V(j,X);let F=l(j);for(let X of F)Z[X.field]=X.value,j=V(j,X.span);let I=Zj(j);for(let X of I)Z.name=X.value,j=V(j,X.span);let L=_j(j);for(let X of L)Z.country=X.value,j=V(j,X.span);let v=a(j);for(let X of v)Z[X.field]={...Z[X.field]||{},$between:[X.min,X.max]},j=V(j,X.span);let W=Uj(j);for(let X of W){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=V(j,X.span)}let z=r(j);for(let X of z){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=V(j,X.span)}let q=n(j);for(let X of q)Z[X.field]={...Z[X.field]||{},$not:{$eq:X.value}},j=V(j,X.span);let g=o(j);for(let X of g){if(X.kind==="in")Z.id={...Z.id||{},$in:X.values};else if(X.kind==="eq")Z.id=X.value;j=V(j,X.span)}let _=s(j);for(let X of _)Z[X.field]={...Z[X.field]||{},$in:X.values},j=V(j,X.span);let P=Aj(j);if(P)H.order=P.order,H.field=P.field;let N=Mj(j);if(N!=null)H.$limit=N;if(H.order&&!H.field){let X=Object.keys(Z)[0];if(X)H.field=X}if(Object.keys(H.query).length===0){let X=!!H.order,R=H.$limit!=null,f=!!(H.$after||H.$before);if(!X&&!R&&!f)H.query.__nlq_no_match="__NLQ_NO_MATCH__"}if(H.$_ors&&H.$_ors.length)H.query.$or=[...H.query.$or||[],...H.$_ors],delete H.$_ors;return H.query=Qj(H.query),H}function i(J){return J.replace(/\s+/g," ").trim()}function V(J,Y){if(!Y)return J;return i(`${J.slice(0,Y.start)} ${J.slice(Y.end)}`)}function x(J){let Y=/^(?:searches\s+for|search\s+for|searches|search|finds?|gets?|lists?|returns?|shows?|filters?)\s+/i;return J.replace(Y,"")}function p(J){let Y=[],j=[{re:/\bwhose\s+([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\b([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"}];for(let{re:H,mode:Z,list:M}of j){let Q;while((Q=H.exec(J))!==null){let G=Q[1];if(Z==="in"&&M){let B=Q[3].split(/\s*,\s*/).map((T)=>T.replace(/^"|"$/g,""));Y.push({field:G,mode:"in",values:B,span:{start:Q.index,end:Q.index+Q[0].length}})}else if(Z==="contains"){let $=Q[2];Y.push({field:G,mode:"contains",value:$,span:{start:Q.index,end:Q.index+Q[0].length}})}}}return Y}function u(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function c(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function d(J){let Y=[],j,H=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+"([^\"]+)"/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+([A-Za-z0-9_%\-\.\*]+)/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});return Y}function Xj(J){let j=/\b(?:full[-\s]?text\s+search|text\s+search)\s+(?:"([^\"]+)"|([A-Za-z0-9_\-]+))/i.exec(J);if(j)return{value:j[1]||j[2],span:{start:j.index,end:j.index+j[0].length}};return null}function Yj(J){return/\b(?:full[-\s]?text\s+search|text\s+search|full[-\s]?text)\b/i.test(J)}function n(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+"([^\"]+)"\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+([A-Za-z0-9_\-\.]+)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function s(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+is\s+([A-Za-z0-9_\-]+)\s+or\s+([A-Za-z0-9_\-]+)(?:\s+or\s+([A-Za-z0-9_\-]+))*/ig;while((j=H.exec(J))!==null){let M=j[1],Q=j[0].replace(new RegExp(`^${j[1]}\\s+is\\s+`,"i"),"").split(/\s+or\s+/i).map((G)=>G.trim().replace(/[,\.]$/,""));Y.push({field:M,values:Q,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+in\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig;while((j=Z.exec(J))!==null){let M=j[1],G=j[2].split(/\s*,\s*/).map(($)=>$.replace(/^"|"$/g,""));Y.push({field:M,values:G,span:{start:j.index,end:j.index+j[0].length}})}return Y}function m(J){let Y=[],j,H=/\b(?:has|with|having)\s+([a-z][\w\.]*)\b(?!\s+(?:"[^"]+"|[A-Za-z0-9_\-.]+)\b)/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:has|with|having)\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let M=/\bwhose\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s+exists\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});return Y}function l(J){let Y=[],j,H=/\bwith\s+([a-z][\w\.]*)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=b(j[2]);Y.push({field:Z,value:M,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Zj(J){let Y=[],j=/\bname\s+(?:"([^"]+)"|(([A-Z][a-zA-Z]+)(?:\s+[A-Z][a-zA-Z]+)*))\b/g,H;while((H=j.exec(J))!==null){let Z=H[1]||(H[2]?H[2].trim():null);if(!Z)continue;Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function _j(J){let Y=[],j=/\bfrom\s+(?:"([^"]+)"|([A-Za-z][A-Za-z]+))\b/ig,H;while((H=j.exec(J))!==null){let Z=H[1]||H[2];Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function a(J){let Y=[],j=/\b([a-z][\w\.]*)\s+between\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\s*(?:and|,|to)\s*(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig,H,Z=[];while((H=j.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};Y.push({field:H[1],min:H[2]||H[3],max:H[4]||H[5],span:Q}),Z.push(Q)}let M=/\b([a-z][\w\.]*)\s+between\s+(-?\d+(?:\.\d+)?)\s*(?:and|,|to)\s*(-?\d+(?:\.\d+)?)\b/ig;while((H=M.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};if(Z.some(($)=>!(Q.end<=$.start||Q.start>=$.end)))continue;Y.push({field:H[1],min:D(H[2]),max:D(H[3]),span:Q})}return Y}function o(J){let Y=[],j=/\bids?\b\s+((?:-?\d+(?:\.\d+)?\s*,\s*)+-?\d+(?:\.\d+)?)\b/ig,H;while((H=j.exec(J))!==null){let Q=H[1].split(/\s*,\s*/).map(D);Y.push({kind:"in",values:Q,span:{start:H.index,end:H.index+H[0].length}})}let Z=/\bids?\b\s+(-?\d+(?:\.\d+)?)\b/ig;while((H=Z.exec(J))!==null){let M={start:H.index,end:H.index+H[0].length};if(!Y.some((G)=>!(M.end<=G.span.start||M.start>=G.span.end)))Y.push({kind:"eq",value:D(H[1]),span:M})}return Y}function r(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:>=|at\s+least)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],op:"$gte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:<=|at\s+most)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],op:"$lte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let M=/\b([a-z][\w\.]*)\s*(?:>|greater\s+than|more\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],op:"$gt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s*(?:<|less\s+than|fewer\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],op:"$lt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let G=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*"([^"]+)"\b/ig;while((j=G.exec(J))!==null)Y.push({field:j[1],op:"eq",value:j[2],span:{start:j.index,end:j.index+j[0].length}});let $=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*([a-z0-9_\-\.]+)\b/ig;while((j=$.exec(J))!==null)Y.push({field:j[1],op:"eq",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function Uj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+(on\s+or\s+after|on\s+or\s+before|after|before|on)\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=j[2].toLowerCase().replace(/\s+/g," "),Q=j[3]||j[4],G="$gt";if(M==="before")G="$lt";else if(M==="on")G="eq";else if(M==="on or after")G="$gte";else if(M==="on or before")G="$lte";Y.push({field:Z,op:G,value:Q,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Aj(J){let Y=[{re:/\b(?:order|sort|sorted)\s+by\s+([a-z][\w\.]*)\s*(asc|ascending|desc|descending)?\b/i,groups:{field:1,dir:2}},{re:/\b(?:order|sort|sorted)\s+(asc|ascending|desc|descending)\s+by\s+([a-z][\w\.]*)\b/i,groups:{dir:1,field:2}}];for(let j of Y){let H=J.match(j.re);if(H){let Z=(H[j.groups.dir]||"asc").toLowerCase(),M=/desc|descending/.test(Z)?"desc":"asc";return{field:H[j.groups.field],order:M}}}return null}function Mj(J){let Y=J.match(/\blimit\s+(\d+)\b/i);return Y?Number(Y[1]):null}function D(J){let Y=Number(J);return Number.isFinite(Y)?Y:J}var Rj=(J)=>{return jj(J)};function w(J){if(!Array.isArray(J))return J;let Y=[],j=(H)=>{let Z=Array.isArray(H?._edgeResult)?H._edgeResult:null;if(Z&&Z.length)for(let M of Z)j(M);else Y.push(H)};for(let H of J)j(H);return Y}function Fj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Q={[j[1]]:b(j[3])},G={[j[1]]:b(j[5])};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=Z.exec(J))!==null){let Q={[j[1]]:{$contains:b(j[2])}},G={[j[1]]:{$contains:b(j[3])}};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let M=/\b([a-z][\w\.]*)\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\s+or\s+\1\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\b/ig;while((j=M.exec(J))!==null){let Q=String(b(j[2])),G=String(b(j[3])),$={[j[1]]:{$regex:`^${Q}`}},B={[j[1]]:{$regex:`^${G}`}};Y.push({left:$,right:B,span:{start:j.index,end:j.index+j[0].length}})}return Y}function b(J){if(!J)return J;let Y=J.replace(/^"|"$/g,"");return D(Y)}function Qj(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Y?e(Y):void 0,Z=Object.keys(j);if(Z.length>1){let M={};if(H)M.$edge=H;return M.$and=Z.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Y?{$edge:H}:{}}}function e(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Object.keys(j),Z=Y?e(Y):void 0;if(H.length>1){let M={};if(Z)M.$edge=Z;return M.$and=H.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Z?{$edge:Z}:{}}}function $j(J){let j=/\bonly\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Gj(J){let j=/\b(?:a|an)\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Wj(J){if(/^(?:full[-\s]?text\s+search|text\s+search)\b/i.test(J))return null;let Y=J.match(/^([A-Z][a-zA-Z]+)s?\b/);if(!Y)return null;return{type:K(Y[1]),span:{start:0,end:Y[0].length}}}function Vj(J){let Y=J.split(/\bthen\b/ig).map((G)=>G.trim()).filter(Boolean),j=null,H=null,Z=null,M=null;for(let G of Y){let $=x(G),B=H?.type?"type":H?.role?"role":null,T=B?String(H[B]).toLowerCase():null,U=$.match(/\bdescendant[s]?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),O=null,C="role",A=null,F=null,I=!1,L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)\s*'s\s+descendant[s]?\b/i);if(!L)L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)s?\s+descendant[s]?\b/i);if(L){let _=K(L[1]).toLowerCase();if(T&&_===T)I=!0,A=L.index,F=L.index+L[0].length}if(U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=!I&&$.match(/\b(?:that|this|those|their|its|a|an)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+descendant[s]?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=!I&&$.match(/\bdescendant[s]?\s+(?:of\s+)?(?!named\b|called\b|with\b)([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+child(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bgrandchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bgrandchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+grandchild(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;let v=/\b(descendant|child|children|grandchild|grandchildren)\b/i.test($),W=null;if(O)W={[C]:O};else if(v)W={};else continue;let z=$.match(/\b(?:named|called)\s+"([^"]+)"|\b(?:named|called)\s+([A-Za-z0-9_\-]+)\b|\bwith\s+name\s+"([^"]+)"|\bwith\s+name\s+([A-Za-z0-9_\-]+)\b/i);if(z){let _=z[1]||z[2]||z[3]||z[4];W.name=_;let P=z.index,N=z[0].length;if(A===null||P<A)A=P;let X=P+N;if(F===null||X>F)F=X}for(let _ of p($)){if(_.mode==="in"){let P=_.values??[_.value];W[_.field]={...W[_.field]||{},$in:P}}else W[_.field]={...W[_.field]||{},$contains:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of u($))W[_.field]={...W[_.field]||{},$regex:`^${_.value}`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of c($))W[_.field]={...W[_.field]||{},$regex:`${_.value}$`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of a($))W[_.field]={...W[_.field]||{},$between:[_.min,_.max]},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of r($)){if(_.op==="eq")W[_.field]=_.value;else W[_.field]={...W[_.field]||{},[_.op]:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of n($))W[_.field]={...W[_.field]||{},$not:{$eq:_.value}},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of s($))W[_.field]={...W[_.field]||{},$in:_.values},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let q=m($);for(let _ of q)W[_.field]={...W[_.field]||{},$exists:!0},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let g=$.replace(/\b(?:has|with|having)\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\bwhose\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\b([a-z][\w\.]*)\s+exists\b/ig," ").replace(/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+(?:"[^\"]+"|[A-Za-z0-9_\-]+)/ig," ");for(let _ of d($))W[_.field]={...W[_.field]||{},$like:_.value},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of l(g))W[_.field]=_.value,A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of o($)){if(_.kind==="in")W.id={...W.id||{},$in:_.values};else if(_.kind==="eq")W.id=_.value;A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}if(!W||Object.keys(W).length===0)continue;if(!j)j=W,H=W,Z=Z??J.indexOf($)+(A??0),M=J.indexOf($)+(F??0);else{let _=H.type?"type":H.role?"role":null,P=_?String(H[_]).toLowerCase():null,N=W.type?"type":W.role?"role":null,X=N?String(W[N]).toLowerCase():null;if(!H.$edge||typeof H.$edge!=="object")H.$edge={};let R=H.$edge,f=R.type?"type":R.role?"role":null,Oj=f?String(R[f]).toLowerCase():null,y=(E)=>{let S={};for(let[h,t]of Object.entries(W)){if(h==="$edge")continue;if(E&&(h==="type"||h==="role"))continue;S[h]=t}return S};if(X&&P&&X===P)Object.assign(R,y(!0));else if(X){for(let E of["type","role"])delete R[E];Object.assign(R,y(!1))}else Object.assign(R,y(!1));H=H.$edge;let k=J.indexOf($);if(Z===null)Z=k+(A??0);M=k+(F??0)}}if(!j)return null;let Q=Z!=null&&M!=null?{start:Z,end:M}:void 0;return{edge:j,span:Q}}function K(J){if(!J)return J;if(/ies$/i.test(J))return J.replace(/ies$/i,"y");if(/ses$/i.test(J))return J.replace(/es$/i,"e");if(/s$/i.test(J))return J.replace(/s$/i,"");return J}function Bj(J){let Y={after:null,before:null,spans:[]},j=[{kind:"after",re:/\b(?:start(?:ing)?\s+)?after\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig},{kind:"before",re:/\b(?:before|until)\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig}];for(let H of j){let Z;while((Z=H.re.exec(J))!==null){let M=Z[1]||Z[2];if(H.kind==="after"&&!Y.after)Y.after=M;if(H.kind==="before"&&!Y.before)Y.before=M;Y.spans.push({start:Z.index,end:Z.index+Z[0].length})}}return Y}export{jj as withModule,Rj as init};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ function jj(J){let Y=J.map;return J.map=async function(...j){let H={},Z=null;j.forEach((V)=>{if(typeof V==="object")H={...H,...V};if(typeof V==="function")Z=V});let M=!1;if(H.prompt)try{let V=await Hj(H.prompt);if(log.info("Query generated from local DSL:",V),H={...H,...V},V.__nlqReturnDeepest)M=!0;delete H.prompt}catch(V){log.error("Error parsing prompt:",V.message),H.query={}}let G=M&&Z?(V)=>{try{let T=w(V);Z&&Z(T)}catch{Z&&Z(V)}}:Z,$=await Y.call(this,H,G);if(M&&$&&Array.isArray($.results))$.results=w($.results);return $},J}async function Hj(J){return Jj(J)}function Jj(J){let Y=i(String(J||"")),j=x(Y),H={query:{}},Z=H.query,M=Fj(j);if(M.length){H.$_ors=[];for(let X of M)H.$_ors.push(X.left,X.right),j=B(j,X.span)}let Q=$j(j);if(Q)Z.type=Q.type,H.type=Q.type,j=B(j,Q.span);if(!Z.type){let X=Gj(j);if(X)Z.type=X.type,H.type=X.type,j=B(j,X.span)}if(!Z.type){let X=Wj(j);if(X)Z.type=X.type,H.type=X.type,j=B(j,X.span)}let G=Vj(j);if(G&&G.edge){if(Z.$edge=G.edge,G.span)j=B(j,G.span)}if(G&&G.edge&&/\bthen\s+finds?\s+(?:that\s+[A-Za-z]+s?\s+)?descendant\s+(?:named|called|with\s+name)\b/i.test(Y))H.__nlqReturnDeepest=!0;let $=p(j);for(let X of $){if(X.mode==="in"){let R=X.values??[X.value];Z[X.field]={...Z[X.field]||{},$in:R}}else Z[X.field]={...Z[X.field]||{},$contains:X.value};j=B(j,X.span)}let V=u(j);for(let X of V)Z[X.field]={...Z[X.field]||{},$regex:`^${X.value}`},j=B(j,X.span);let T=c(j);for(let X of T)Z[X.field]={...Z[X.field]||{},$regex:`${X.value}$`},j=B(j,X.span);let U=d(j);for(let X of U)Z[X.field]={...Z[X.field]||{},$like:X.value},j=B(j,X.span);let O=Xj(j);if(O){let X=O.value,R=[{name:{$regex:X}},{role:{$regex:X}},{level:{$regex:X}},{country:{$regex:X}},{title:{$regex:X}},{body:{$regex:X}},{tags:{$in:[X]}}];H.query.$or=[...H.query.$or||[],...R],j=B(j,O.span)}else if(Yj(j))H.query.__nlq_no_match="__NLQ_NO_MATCH__";let C=m(j);for(let X of C)Z[X.field]={...Z[X.field]||{},$exists:!0},j=B(j,X.span);let A=Bj(j);if(A.after)H.$after=A.after;if(A.before)H.$before=A.before;for(let X of A.spans)j=B(j,X);let F=l(j);for(let X of F)Z[X.field]=X.value,j=B(j,X.span);let I=Zj(j);for(let X of I)Z.name=X.value,j=B(j,X.span);let L=_j(j);for(let X of L)Z.country=X.value,j=B(j,X.span);let v=a(j);for(let X of v)Z[X.field]={...Z[X.field]||{},$between:[X.min,X.max]},j=B(j,X.span);let W=Uj(j);for(let X of W){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=B(j,X.span)}let z=r(j);for(let X of z){if(X.op==="eq")Z[X.field]=X.value;else Z[X.field]={...Z[X.field]||{},[X.op]:X.value};j=B(j,X.span)}let q=n(j);for(let X of q)Z[X.field]={...Z[X.field]||{},$not:{$eq:X.value}},j=B(j,X.span);let g=o(j);for(let X of g){if(X.kind==="in")Z.id={...Z.id||{},$in:X.values};else if(X.kind==="eq")Z.id=X.value;j=B(j,X.span)}let _=s(j);for(let X of _)Z[X.field]={...Z[X.field]||{},$in:X.values},j=B(j,X.span);let P=Aj(j);if(P)H.order=P.order,H.field=P.field;let N=Mj(j);if(N!=null)H.$limit=N;if(H.order&&!H.field){let X=Object.keys(Z)[0];if(X)H.field=X}if(Object.keys(H.query).length===0){let X=!!H.order,R=H.$limit!=null,f=!!(H.$after||H.$before);if(!X&&!R&&!f)H.query.__nlq_no_match="__NLQ_NO_MATCH__"}if(H.$_ors&&H.$_ors.length)H.query.$or=[...H.query.$or||[],...H.$_ors],delete H.$_ors;return H.query=Qj(H.query),H}function i(J){return J.replace(/\s+/g," ").trim()}function B(J,Y){if(!Y)return J;return i(`${J.slice(0,Y.start)} ${J.slice(Y.end)}`)}function x(J){let Y=/^(?:searches\s+for|search\s+for|searches|search|finds?|gets?|lists?|returns?|shows?|filters?)\s+/i;return J.replace(Y,"")}function p(J){let Y=[],j=[{re:/\bwhose\s+([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\b([a-z][\w\.]*)\s+(includes|including|has)\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig,mode:"in",list:!0},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\bwhose\s+([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?"([^\"]+)"/ig,mode:"contains"},{re:/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+(?:the\s+(?:word|phrase|number|value|text|string|token|term|email|url|date|time|datetime)s?\s*:?\s*)?([A-Za-z0-9_\-]+)/ig,mode:"contains"}];for(let{re:H,mode:Z,list:M}of j){let Q;while((Q=H.exec(J))!==null){let G=Q[1];if(Z==="in"&&M){let V=Q[3].split(/\s*,\s*/).map((T)=>T.replace(/^"|"$/g,""));Y.push({field:G,mode:"in",values:V,span:{start:Q.index,end:Q.index+Q[0].length}})}else if(Z==="contains"){let $=Q[2];Y.push({field:G,mode:"contains",value:$,span:{start:Q.index,end:Q.index+Q[0].length}})}}}return Y}function u(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function c(J){let Y=[],j=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+"([^\"]+)"/ig,H;while((H=j.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+ends\s+with\s+([A-Za-z0-9_\-]+)/ig;while((H=Z.exec(J))!==null)Y.push({field:H[1],value:H[2],span:{start:H.index,end:H.index+H[0].length}});return Y}function d(J){let Y=[],j,H=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+"([^\"]+)"/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:whose\s+)?([a-z][\w\.]*)\s+like\s+([A-Za-z0-9_%\-\.\*]+)/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});return Y}function Xj(J){let j=/\b(?:full[-\s]?text\s+search|text\s+search)\s+(?:"([^\"]+)"|([A-Za-z0-9_\-]+))/i.exec(J);if(j)return{value:j[1]||j[2],span:{start:j.index,end:j.index+j[0].length}};return null}function Yj(J){return/\b(?:full[-\s]?text\s+search|text\s+search|full[-\s]?text)\b/i.test(J)}function n(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+"([^\"]+)"\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],value:j[2],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:!=|is\s+not|not\s+equals)\s+([A-Za-z0-9_\-\.]+)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function s(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+is\s+([A-Za-z0-9_\-]+)\s+or\s+([A-Za-z0-9_\-]+)(?:\s+or\s+([A-Za-z0-9_\-]+))*/ig;while((j=H.exec(J))!==null){let M=j[1],Q=j[0].replace(new RegExp(`^${j[1]}\\s+is\\s+`,"i"),"").split(/\s+or\s+/i).map((G)=>G.trim().replace(/[,\.]$/,""));Y.push({field:M,values:Q,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+in\s+((?:"[^\"]+"|[A-Za-z0-9_\-]+)(?:\s*,\s*(?:"[^\"]+"|[A-Za-z0-9_\-]+))*)/ig;while((j=Z.exec(J))!==null){let M=j[1],G=j[2].split(/\s*,\s*/).map(($)=>$.replace(/^"|"$/g,""));Y.push({field:M,values:G,span:{start:j.index,end:j.index+j[0].length}})}return Y}function m(J){let Y=[],j,H=/\b(?:has|with|having)\s+([a-z][\w\.]*)\b(?!\s+(?:"[^"]+"|[A-Za-z0-9_\-.]+)\b)/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Z=/\b(?:has|with|having)\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let M=/\bwhose\s+([a-z][\w\.]*)\s+exists\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s+exists\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],span:{start:j.index,end:j.index+j[0].length}});return Y}function l(J){let Y=[],j,H=/\bwith\s+([a-z][\w\.]*)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=b(j[2]);Y.push({field:Z,value:M,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Zj(J){let Y=[],j=/\bname\s+(?:"([^"]+)"|(([A-Z][a-zA-Z]+)(?:\s+[A-Z][a-zA-Z]+)*))\b/g,H;while((H=j.exec(J))!==null){let Z=H[1]||(H[2]?H[2].trim():null);if(!Z)continue;Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function _j(J){let Y=[],j=/\bfrom\s+(?:"([^"]+)"|([A-Za-z][A-Za-z]+))\b/ig,H;while((H=j.exec(J))!==null){let Z=H[1]||H[2];Y.push({value:Z,span:{start:H.index,end:H.index+H[0].length}})}return Y}function a(J){let Y=[],j=/\b([a-z][\w\.]*)\s+between\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\s*(?:and|,|to)\s*(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig,H,Z=[];while((H=j.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};Y.push({field:H[1],min:H[2]||H[3],max:H[4]||H[5],span:Q}),Z.push(Q)}let M=/\b([a-z][\w\.]*)\s+between\s+(-?\d+(?:\.\d+)?)\s*(?:and|,|to)\s*(-?\d+(?:\.\d+)?)\b/ig;while((H=M.exec(J))!==null){let Q={start:H.index,end:H.index+H[0].length};if(Z.some(($)=>!(Q.end<=$.start||Q.start>=$.end)))continue;Y.push({field:H[1],min:D(H[2]),max:D(H[3]),span:Q})}return Y}function o(J){let Y=[],j=/\bids?\b\s+((?:-?\d+(?:\.\d+)?\s*,\s*)+-?\d+(?:\.\d+)?)\b/ig,H;while((H=j.exec(J))!==null){let Q=H[1].split(/\s*,\s*/).map(D);Y.push({kind:"in",values:Q,span:{start:H.index,end:H.index+H[0].length}})}let Z=/\bids?\b\s+(-?\d+(?:\.\d+)?)\b/ig;while((H=Z.exec(J))!==null){let M={start:H.index,end:H.index+H[0].length};if(!Y.some((G)=>!(M.end<=G.span.start||M.start>=G.span.end)))Y.push({kind:"eq",value:D(H[1]),span:M})}return Y}function r(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(?:>=|at\s+least)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=H.exec(J))!==null)Y.push({field:j[1],op:"$gte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Z=/\b([a-z][\w\.]*)\s*(?:<=|at\s+most)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Z.exec(J))!==null)Y.push({field:j[1],op:"$lte",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let M=/\b([a-z][\w\.]*)\s*(?:>|greater\s+than|more\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=M.exec(J))!==null)Y.push({field:j[1],op:"$gt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let Q=/\b([a-z][\w\.]*)\s*(?:<|less\s+than|fewer\s+than)\s*(-?\d+(?:\.\d+)?)\b/ig;while((j=Q.exec(J))!==null)Y.push({field:j[1],op:"$lt",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});let G=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*"([^"]+)"\b/ig;while((j=G.exec(J))!==null)Y.push({field:j[1],op:"eq",value:j[2],span:{start:j.index,end:j.index+j[0].length}});let $=/\b([a-z][\w\.]*)\s*(?:=|equals|is)(?!\s+not)\s*([a-z0-9_\-\.]+)\b/ig;while((j=$.exec(J))!==null)Y.push({field:j[1],op:"eq",value:D(j[2]),span:{start:j.index,end:j.index+j[0].length}});return Y}function Uj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s+(on\s+or\s+after|on\s+or\s+before|after|before|on)\s+(?:"([^"]+)"|([0-9]{4}-[0-9]{2}-[0-9]{2}[T\d:._+\-Z]*))\b/ig;while((j=H.exec(J))!==null){let Z=j[1],M=j[2].toLowerCase().replace(/\s+/g," "),Q=j[3]||j[4],G="$gt";if(M==="before")G="$lt";else if(M==="on")G="eq";else if(M==="on or after")G="$gte";else if(M==="on or before")G="$lte";Y.push({field:Z,op:G,value:Q,span:{start:j.index,end:j.index+j[0].length}})}return Y}function Aj(J){let Y=[{re:/\b(?:order|sort|sorted)\s+by\s+([a-z][\w\.]*)\s*(asc|ascending|desc|descending)?\b/i,groups:{field:1,dir:2}},{re:/\b(?:order|sort|sorted)\s+(asc|ascending|desc|descending)\s+by\s+([a-z][\w\.]*)\b/i,groups:{dir:1,field:2}}];for(let j of Y){let H=J.match(j.re);if(H){let Z=(H[j.groups.dir]||"asc").toLowerCase(),M=/desc|descending/.test(Z)?"desc":"asc";return{field:H[j.groups.field],order:M}}}return null}function Mj(J){let Y=J.match(/\blimit\s+(\d+)\b/i);return Y?Number(Y[1]):null}function D(J){let Y=Number(J);return Number.isFinite(Y)?Y:J}var Rj=(J)=>{return log.info("\uD83E\uDDE0 NLQ module loaded (local DSL)."),jj(J)};function w(J){if(!Array.isArray(J))return J;let Y=[],j=(H)=>{let Z=Array.isArray(H?._edgeResult)?H._edgeResult:null;if(Z&&Z.length)for(let M of Z)j(M);else Y.push(H)};for(let H of J)j(H);return Y}function Fj(J){let Y=[],j,H=/\b([a-z][\w\.]*)\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s*(=|is|equals)\s*("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=H.exec(J))!==null){let Q={[j[1]]:b(j[3])},G={[j[1]]:b(j[5])};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let Z=/\b([a-z][\w\.]*)\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\s+or\s+\1\s+(?:contains|containing)\s+("[^"]+"|[A-Za-z0-9_\-.]+)\b/ig;while((j=Z.exec(J))!==null){let Q={[j[1]]:{$contains:b(j[2])}},G={[j[1]]:{$contains:b(j[3])}};Y.push({left:Q,right:G,span:{start:j.index,end:j.index+j[0].length}})}let M=/\b([a-z][\w\.]*)\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\s+or\s+\1\s+starts\s+with\s+("[^"]+"|[A-Za-z0-9_\-]+)\b/ig;while((j=M.exec(J))!==null){let Q=String(b(j[2])),G=String(b(j[3])),$={[j[1]]:{$regex:`^${Q}`}},V={[j[1]]:{$regex:`^${G}`}};Y.push({left:$,right:V,span:{start:j.index,end:j.index+j[0].length}})}return Y}function b(J){if(!J)return J;let Y=J.replace(/^"|"$/g,"");return D(Y)}function Qj(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Y?e(Y):void 0,Z=Object.keys(j);if(Z.length>1){let M={};if(H)M.$edge=H;return M.$and=Z.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Y?{$edge:H}:{}}}function e(J){if(!J||typeof J!=="object")return J;let{$edge:Y,...j}=J,H=Object.keys(j),Z=Y?e(Y):void 0;if(H.length>1){let M={};if(Z)M.$edge=Z;return M.$and=H.map((Q)=>({[Q]:j[Q]})),M}return{...j,...Z?{$edge:Z}:{}}}function $j(J){let j=/\bonly\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Gj(J){let j=/\b(?:a|an)\s+([A-Z][a-zA-Z]+)s?\b/ig.exec(J);if(!j)return null;return{type:K(j[1]),span:{start:j.index,end:j.index+j[0].length}}}function Wj(J){if(/^(?:full[-\s]?text\s+search|text\s+search)\b/i.test(J))return null;let Y=J.match(/^([A-Z][a-zA-Z]+)s?\b/);if(!Y)return null;return{type:K(Y[1]),span:{start:0,end:Y[0].length}}}function Vj(J){let Y=J.split(/\bthen\b/ig).map((G)=>G.trim()).filter(Boolean),j=null,H=null,Z=null,M=null;for(let G of Y){let $=x(G),V=H?.type?"type":H?.role?"role":null,T=V?String(H[V]).toLowerCase():null,U=$.match(/\bdescendant[s]?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),O=null,C="role",A=null,F=null,I=!1,L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)\s*'s\s+descendant[s]?\b/i);if(!L)L=$.match(/\b(?:that|this|those|their|its)\s+([A-Za-z][A-Za-z]+)s?\s+descendant[s]?\b/i);if(L){let _=K(L[1]).toLowerCase();if(T&&_===T)I=!0,A=L.index,F=L.index+L[0].length}if(U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=!I&&$.match(/\b(?:that|this|those|their|its|a|an)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+descendant[s]?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=!I&&$.match(/\bdescendant[s]?\s+(?:of\s+)?(?!named\b|called\b|with\b)([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+child(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\bgrandchild(?:ren)?\s+of\s+type\s+([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length,C="type";else if(U=$.match(/\bgrandchild(?:ren)?\s+(?:of\s+)?([A-Za-z][A-Za-z]+)s?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;else if(U=$.match(/\b(?:that|this|those|their|its)?\s*([A-Za-z][A-Za-z]+)s?(?:'s)?\s+grandchild(?:ren)?\b/i),U)O=K(U[1]),A=U.index,F=U.index+U[0].length;let v=/\b(descendant|child|children|grandchild|grandchildren)\b/i.test($),W=null;if(O)W={[C]:O};else if(v)W={};else continue;let z=$.match(/\b(?:named|called)\s+"([^"]+)"|\b(?:named|called)\s+([A-Za-z0-9_\-]+)\b|\bwith\s+name\s+"([^"]+)"|\bwith\s+name\s+([A-Za-z0-9_\-]+)\b/i);if(z){let _=z[1]||z[2]||z[3]||z[4];W.name=_;let P=z.index,N=z[0].length;if(A===null||P<A)A=P;let X=P+N;if(F===null||X>F)F=X}for(let _ of p($)){if(_.mode==="in"){let P=_.values??[_.value];W[_.field]={...W[_.field]||{},$in:P}}else W[_.field]={...W[_.field]||{},$contains:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of u($))W[_.field]={...W[_.field]||{},$regex:`^${_.value}`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of c($))W[_.field]={...W[_.field]||{},$regex:`${_.value}$`},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of a($))W[_.field]={...W[_.field]||{},$between:[_.min,_.max]},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of r($)){if(_.op==="eq")W[_.field]=_.value;else W[_.field]={...W[_.field]||{},[_.op]:_.value};A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}for(let _ of n($))W[_.field]={...W[_.field]||{},$not:{$eq:_.value}},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of s($))W[_.field]={...W[_.field]||{},$in:_.values},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let q=m($);for(let _ of q)W[_.field]={...W[_.field]||{},$exists:!0},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);let g=$.replace(/\b(?:has|with|having)\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\bwhose\s+[a-z][\w\.]*\s+exists\b/ig," ").replace(/\b([a-z][\w\.]*)\s+exists\b/ig," ").replace(/\b(?:whose\s+)?([a-z][\w\.]*)\s+starts\s+with\s+(?:"[^\"]+"|[A-Za-z0-9_\-]+)/ig," ");for(let _ of d($))W[_.field]={...W[_.field]||{},$like:_.value},A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of l(g))W[_.field]=_.value,A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end);for(let _ of o($)){if(_.kind==="in")W.id={...W.id||{},$in:_.values};else if(_.kind==="eq")W.id=_.value;A=A==null?_.span.start:Math.min(A,_.span.start),F=F==null?_.span.end:Math.max(F,_.span.end)}if(!W||Object.keys(W).length===0)continue;if(!j)j=W,H=W,Z=Z??J.indexOf($)+(A??0),M=J.indexOf($)+(F??0);else{let _=H.type?"type":H.role?"role":null,P=_?String(H[_]).toLowerCase():null,N=W.type?"type":W.role?"role":null,X=N?String(W[N]).toLowerCase():null;if(!H.$edge||typeof H.$edge!=="object")H.$edge={};let R=H.$edge,f=R.type?"type":R.role?"role":null,Oj=f?String(R[f]).toLowerCase():null,y=(E)=>{let S={};for(let[h,t]of Object.entries(W)){if(h==="$edge")continue;if(E&&(h==="type"||h==="role"))continue;S[h]=t}return S};if(X&&P&&X===P)Object.assign(R,y(!0));else if(X){for(let E of["type","role"])delete R[E];Object.assign(R,y(!1))}else Object.assign(R,y(!1));H=H.$edge;let k=J.indexOf($);if(Z===null)Z=k+(A??0);M=k+(F??0)}}if(!j)return null;let Q=Z!=null&&M!=null?{start:Z,end:M}:void 0;return{edge:j,span:Q}}function K(J){if(!J)return J;if(/ies$/i.test(J))return J.replace(/ies$/i,"y");if(/ses$/i.test(J))return J.replace(/es$/i,"e");if(/s$/i.test(J))return J.replace(/s$/i,"");return J}function Bj(J){let Y={after:null,before:null,spans:[]},j=[{kind:"after",re:/\b(?:start(?:ing)?\s+)?after\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig},{kind:"before",re:/\b(?:before|until)\s+(?:id\s+)?(?:"([^"]+)"|([A-Za-z0-9_\-]+))(?=\s|$)/ig}];for(let H of j){let Z;while((Z=H.re.exec(J))!==null){let M=Z[1]||Z[2];if(H.kind==="after"&&!Y.after)Y.after=M;if(H.kind==="before"&&!Y.before)Y.before=M;Y.spans.push({start:Z.index,end:Z.index+Z[0].length})}}return Y}export{jj as withModule,Rj as init};
Binary file
@@ -1 +1,2 @@
1
- var _=async(D,T)=>{if(!T)return null;let F="owner",H="collaborators",P=()=>{let h=D.sm.getActiveEthAddress();if(!h)throw Error("❌ [SM-ACLs] Active user session required.");return h},V=(h)=>Error(`❌ [SM-ACLs] Only the owner can ${h}.`),Z=async(h,k)=>{let x=[];for(let z of h){let{signer:G,type:J,id:X}=z;if(!G||!X){x.push(z);continue}let Q=k.get(X),{[F]:K,[H]:Y={}}=Q?.value||{};if(J==="upsert"||J==="put"){if(!Q||K===void 0||G===K||Y[G]==="write"||Y[G]==="delete")x.push(z);continue}if(J==="remove"){if(!Q||K===void 0||G===K||Y[G]==="delete")x.push(z);continue}x.push(z)}return x};return D.use(Z),{async set(h,k){let x=P(),{result:z}=await D.get(k);if(z){let{[F]:G,[H]:J={}}=z.value;if(x!==G&&J[x]!=="write")throw Error(`\uD83D\uDEE1️ [SM-ACLs] Write denied for node ${k}.`);let{[F]:X,[H]:Q,...K}=h;return D.put({...z.value,...K},k)}return D.put({...h,[F]:x,[H]:{}},k)},async grant(h,k,x){let z=P();if(!["read","write","delete"].includes(x))throw Error("\uD83D\uDEE1️ [SM-ACLs] Permission must be 'read', 'write' or 'delete'.");let{result:G}=await D.get(h);if(!G)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(G.value[F]!==z)throw V("grant permissions");let J={...G.value[H]??{},[k]:x};await D.put({...G.value,[H]:J},h)},async revoke(h,k){let x=P(),{result:z}=await D.get(h);if(!z)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(z.value[F]!==x)throw V("revoke permissions");let{[k]:G,...J}=z.value[H]??{};await D.put({...z.value,[H]:J},h)},async delete(h){let k=P(),{result:x}=await D.get(h);if(!x)return;if(x.value[F]!==k&&x.value[H]?.[k]!=="delete")throw V("delete this node");await D.remove(h)},async getPermissions(h){let{result:k}=await D.get(h);if(!k||k.value[F]===void 0)return null;return{owner:k.value[F],collaborators:k.value[H]??{}}}}};async function f(D,T){try{let F=await _(D,T);if(F)try{Object.defineProperty(D.sm,"acls",{value:F,writable:!0,enumerable:!1,configurable:!0})}catch(H){throw Error("❌ [SM-ACLs] Cannot attach ACL module to gdb.sm. Ensure gdb.sm is extensible.")}}catch(F){throw F}}export{f as start,_ as createAclModule};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ var _=async(F,V)=>{if(!V)return null;let G="owner",H="collaborators",Q=()=>{let h=F.sm.getActiveEthAddress();if(!h)throw Error("❌ [SM-ACLs] Active user session required.");return h},X=(h)=>Error(`❌ [SM-ACLs] Only the owner can ${h}.`),Z=async(h,k)=>{let x=[];for(let z of h){let{signer:D,type:J,id:P}=z;if(!D||!P){x.push(z);continue}let T=k.get(P),{[G]:K,[H]:Y={}}=T?.value||{};if(J==="upsert"||J==="put"){if(!T||K===void 0||D===K||Y[D]==="write"||Y[D]==="delete")x.push(z);else log.warn(`⚠️ [SM-ACLs] DENIED (put): ${D} → ${P}`);continue}if(J==="remove"){if(!T||K===void 0||D===K||Y[D]==="delete")x.push(z);else log.warn(`⚠️ [SM-ACLs] DENIED (remove): ${D} → ${P}`);continue}x.push(z)}return x};return F.use(Z),{async set(h,k){let x=Q(),{result:z}=await F.get(k);if(z){let{[G]:D,[H]:J={}}=z.value;if(x!==D&&J[x]!=="write")throw Error(`\uD83D\uDEE1️ [SM-ACLs] Write denied for node ${k}.`);let{[G]:P,[H]:T,...K}=h;return F.put({...z.value,...K},k)}return F.put({...h,[G]:x,[H]:{}},k)},async grant(h,k,x){let z=Q();if(!["read","write","delete"].includes(x))throw Error("\uD83D\uDEE1️ [SM-ACLs] Permission must be 'read', 'write' or 'delete'.");let{result:D}=await F.get(h);if(!D)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(D.value[G]!==z)throw X("grant permissions");let J={...D.value[H]??{},[k]:x};await F.put({...D.value,[H]:J},h)},async revoke(h,k){let x=Q(),{result:z}=await F.get(h);if(!z)throw Error(`❌ [SM-ACLs] Node ${h} not found.`);if(z.value[G]!==x)throw X("revoke permissions");let{[k]:D,...J}=z.value[H]??{};await F.put({...z.value,[H]:J},h)},async delete(h){let k=Q(),{result:x}=await F.get(h);if(!x)return;if(x.value[G]!==k&&x.value[H]?.[k]!=="delete")throw X("delete this node");await F.remove(h)},async getPermissions(h){let{result:k}=await F.get(h);if(!k||k.value[G]===void 0)return null;return{owner:k.value[G],collaborators:k.value[H]??{}}}}};async function f(F,V){log.info("\uD83D\uDEE1️ [SM-ACLs] Starting ACL module...");try{let G=await _(F,V);if(G)try{Object.defineProperty(F.sm,"acls",{value:G,writable:!0,enumerable:!1,configurable:!0}),log.info("\uD83D\uDEE1️ [SM-ACLs] Module initialized and attached to gdb.sm.acls.")}catch(H){throw log.error("❌ [SM-ACLs] Failed to attach: gdb.sm not extensible.",H.message),Error("❌ [SM-ACLs] Cannot attach ACL module to gdb.sm. Ensure gdb.sm is extensible.")}else log.warn("⚠️ [SM-ACLs] Module not activated (options missing).")}catch(G){throw log.error("❌ [SM-ACLs] Failed to start ACL module.",G),G}}export{f as start,_ as createAclModule};
Binary file
@@ -1 +1,2 @@
1
- var D=null,F=[],H=[],B=null,J=(q)=>!!q&&H.some((f)=>f&&f.toLowerCase()===q.toLowerCase()),K=async()=>{let q=new Map;for(let f of F){let x=f.then?.assignRole;if(!x)continue;let z=[];try{({results:z=[]}=await D.map({query:f.if}))}catch(j){continue}for(let j of z){if(!j.id.startsWith("user:"))continue;if(J(j.id.slice(5)))continue;if(f.offsetTimestamp&&(j.timestamp?.physical??0)>Date.now()-f.offsetTimestamp)continue;q.set(j.id,{role:x,current:j.value?.role})}}for(let[f,{role:x,current:z}]of q){if(z===x)continue;let j=f.slice(5);try{await D.sm.assignRole(j,x)}catch(N){}}},L=()=>{if(B)return;B=setInterval(K,4000)},M=()=>{if(!B)return;clearInterval(B),B=null},P=(q,{governanceRules:f,superAdmins:x}={})=>{if(!q||!f)return;D=q,F=f,H=x||[],q.sm.setGovernanceStateChangeCallback(({isActive:z,activeAddress:j})=>{if(z&&j&&J(j))L();else M()})};export{P as start};
1
+ var log=(()=>{const n=()=>{};return new Proxy(console,{get:(c,m)=>globalThis.__gdbDebug?c[m].bind(c):n})})();
2
+ var D=null,F=[],H=[],B=null,J=(q)=>!!q&&H.some((j)=>j&&j.toLowerCase()===q.toLowerCase()),L=async()=>{let q=new Map;for(let j of F){let x=j.then?.assignRole;if(!x)continue;let z=[];try{({results:z=[]}=await D.map({query:j.if}))}catch(f){log.error("❌ GOVERNANCE: rule evaluation failed.",{rule:j,error:f.message});continue}for(let f of z){if(!f.id.startsWith("user:"))continue;if(J(f.id.slice(5)))continue;if(j.offsetTimestamp&&(f.timestamp?.physical??0)>Date.now()-j.offsetTimestamp)continue;q.set(f.id,{role:x,current:f.value?.role})}}for(let[j,{role:x,current:z}]of q){if(z===x)continue;let f=j.slice(5);try{await D.sm.assignRole(f,x),log.info(`\uD83D\uDCDC GOVERNANCE: ${f} '${z}' -> '${x}'`)}catch(K){log.error("❌ GOVERNANCE: assignRole failed.",{target:f,role:x,error:K.message})}}},M=()=>{if(B)return;log.info("✅ GOVERNANCE ENGINE: activated (superadmin present)."),B=setInterval(L,4000)},N=()=>{if(!B)return;clearInterval(B),B=null,log.info("\uD83D\uDED1 GOVERNANCE ENGINE: deactivated.")},P=(q,{governanceRules:j,superAdmins:x}={})=>{if(!q||!j)return log.error("❌ GOVERNANCE: initialization failed — gdb instance and governanceRules are required.");D=q,F=j,H=x||[],q.sm.setGovernanceStateChangeCallback(({isActive:z,activeAddress:f})=>{if(z&&f&&J(f))M();else N()})};export{P as start};
Binary file