@gmod/tabix 3.3.5 → 3.3.8
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/tabix-bundle.js +1 -1
- package/dist/tbi.js +4 -12
- package/dist/tbi.js.map +1 -1
- package/dist/util.d.ts +0 -1
- package/dist/util.js +50 -22
- package/dist/util.js.map +1 -1
- package/esm/tbi.js +4 -12
- package/esm/tbi.js.map +1 -1
- package/esm/util.d.ts +0 -1
- package/esm/util.js +50 -21
- package/esm/util.js.map +1 -1
- package/package.json +1 -1
- package/src/tbi.ts +4 -12
- package/src/util.ts +57 -23
package/dist/tabix-bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var A={538(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{minv;maxv;bin;_fetchedSize;constructor(A,t,e,i){this.minv=A,this.maxv=t,this.bin=e,this._fetchedSize=i}toString(){return`${this.minv.toString()}..${this.maxv.toString()} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`}compareTo(A){return this.minv.compareTo(A.minv)||this.maxv.compareTo(A.maxv)||this.bin-A.bin}fetchedSize(){return void 0!==this._fetchedSize?this._fetchedSize:this.maxv.blockPosition+65536-this.minv.blockPosition}}},178(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=e(963),g=i(e(538)),n=i(e(689)),r=e(951),s=e(483);function I(A,t){return A*2**t}function o(A,t){return Math.floor(A/2**t)}class Q extends n.default{maxBinNumber;depth;minShift;constructor(A){super(A),this.maxBinNumber=0,this.depth=0,this.minShift=0}async lineCount(A,t={}){const e=await this.parse(t),i=e.refNameToId[A];return void 0===i?-1:e.indices(i)?.stats?.lineCount??-1}indexCov(){throw new Error("CSI indexes do not support indexcov")}async _parse(A={}){const t=await this.filehandle.readFile({signal:A.signal}),e=await(0,a.unzip)(t),i=new DataView(e.buffer),n=i.getUint32(0,!0);let I;if(21582659===n)I=1;else{if(38359875!==n)throw new Error(`Not a CSI file (magic=${n})`);I=2}this.minShift=i.getInt32(4,!0),this.depth=i.getInt32(8,!0),this.maxBinNumber=((1<<3*(this.depth+1))-1)/7;const o=this.maxBinNumber,Q=2**(this.minShift+3*this.depth),C=i.getInt32(12,!0),B=C>=30?(0,r.parseAuxData)(e,16):{refIdToName:[],refNameToId:{},metaChar:void 0,columnNumbers:{ref:0,start:1,end:2},coordinateType:"zero-based-half-open",format:"generic"},E=i.getInt32(16+C,!0);let h,l=16+C+4;const c=[];for(let A=0;A<E;A++){c.push(l);const A=i.getInt32(l,!0);l+=4;for(let t=0;t<A;t++){const A=i.getUint32(l,!0);l+=4,A>o?l+=44:(h=(0,r.findFirstData)(h,(0,s.fromBytes)(e,l)),l+=8,l+=4+16*i.getInt32(l,!0))}}return{...B,csi:!0,refCount:E,maxBlockSize:65536,firstDataLine:h,csiVersion:I,indices:(0,r.memoizeByRefId)(function(A){const t=c[A];if(void 0===t)return;let a=t;const n=i.getInt32(a,!0);a+=4;const I={};let Q;for(let A=0;A<n;A++){const A=i.getUint32(a,!0);if(a+=4,A>o)Q=(0,r.parsePseudoBin)(e,a+28),a+=44;else{a+=8;const t=i.getInt32(a,!0);a+=4;const n=Array.from({length:t});for(let i=0;i<t;i++)n[i]=new g.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;I[A]=n}}return{binIndex:I,stats:Q}}),depth:this.depth,maxBinNumber:o,maxRefLength:Q}}async blocksForRange(A,t,e,i={}){t<0&&(t=0);const a=await this.parse(i),g=a.refNameToId[A];if(void 0===g)return[];const n=a.indices(g);if(!n)return[];const s=this.reg2bins(t,e),I=[];for(const[A,t]of s)for(let e=A;e<=t;e++){const A=n.binIndex[e];if(A)for(const t of A)I.push(t)}return(0,r.optimizeChunks)(I)}reg2bins(A,t){const e=2**(this.minShift+3*this.depth);t>e&&(t=e),t-=1;let i=0,a=0,g=this.minShift+3*this.depth;const n=[];for(;i<=this.depth;g-=3,a+=I(1,3*i),i+=1){const e=a+o(A,g),i=a+o(t,g);if(i-e+n.length>this.maxBinNumber)throw new Error(`query ${A}-${t} is too large for current binning scheme (shift ${this.minShift}, depth ${this.depth}), try a smaller query or a coarser index binning scheme`);n.push([e,i])}return n}}t.default=Q},159(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.VirtualOffset=t.TBI=t.CSI=t.TabixIndexedFile=void 0;var a=e(522);Object.defineProperty(t,"TabixIndexedFile",{enumerable:!0,get:function(){return i(a).default}});var g=e(178);Object.defineProperty(t,"CSI",{enumerable:!0,get:function(){return i(g).default}});var n=e(409);Object.defineProperty(t,"TBI",{enumerable:!0,get:function(){return i(n).default}});var r=e(483);Object.defineProperty(t,"VirtualOffset",{enumerable:!0,get:function(){return i(r).default}})},689(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{filehandle;parseP;constructor({filehandle:A}){this.filehandle=A}async getMetadata(A={}){const{indices:t,...e}=await this.parse(A);return e}async parse(A={}){return this.parseP??=this._parse(A).catch(A=>{throw this.parseP=void 0,A}),this.parseP}async hasRefSeq(A,t={}){const e=await this.parse(t);return!!e.indices(A)?.binIndex}}},85(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.TWO_PWR_32_DBL=t.TWO_PWR_16_DBL=void 0,t.longFromBytesToUnsigned=function(A,e=0){const i=A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24;return((A[e+4]|A[e+5]<<8|A[e+6]<<16|A[e+7]<<24)>>>0)*t.TWO_PWR_32_DBL+(i>>>0)},t.TWO_PWR_16_DBL=65536,t.TWO_PWR_32_DBL=t.TWO_PWR_16_DBL*t.TWO_PWR_16_DBL},522(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(e(160)),g=e(963),n=i(e(830)),r=e(855),s=i(e(178)),I=i(e(409)),o=e(951);function Q(A,t,e,i,a){return 256*A[e]+(i-t[e])+a+1}function C(A,t,e,i,a,g){let n=t+(i-e);if(46===A[a])return n;let r=a;for(let e=a;e<=g;e++)if(e===g||59===A[e]){const i=e-r;if(i>=10&&83===A[r]&&86===A[r+1]&&84===A[r+2]&&89===A[r+3]&&80===A[r+4]&&69===A[r+5]&&61===A[r+6]&&84===A[r+7]&&82===A[r+8]&&65===A[r+9])return t+1;i>=4&&69===A[r]&&78===A[r+1]&&68===A[r+2]&&61===A[r+3]&&(n=B(A,r+4,e)),r=e+1}return n}function B(A,t,e){let i=0;for(let a=t;a<e;a++){const t=A[a];if(!(t>=48&&t<=57))break;i=10*i+(t-48)}return i}t.default=class{filehandle;index;chunkCache;cache=new n.default({maxSize:1e3});constructor({path:A,filehandle:t,url:e,tbiPath:i,tbiUrl:g,tbiFilehandle:o,csiPath:Q,csiUrl:C,csiFilehandle:B,chunkCacheSize:E=5242880}){if(this.filehandle=function(A,t,e){if(A)return A;if(t)return new r.LocalFile(t);if(e)return new r.RemoteFile(e);throw new TypeError("must provide either filehandle, path, or url")}(t,A,e),o)this.index=new I.default({filehandle:o});else if(B)this.index=new s.default({filehandle:B});else if(i)this.index=new I.default({filehandle:new r.LocalFile(i)});else if(Q)this.index=new s.default({filehandle:new r.LocalFile(Q)});else if(A)this.index=new I.default({filehandle:new r.LocalFile(`${A}.tbi`)});else if(C)this.index=new s.default({filehandle:new r.RemoteFile(C)});else if(g)this.index=new I.default({filehandle:new r.RemoteFile(g)});else{if(!e)throw new TypeError("must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl");this.index=new I.default({filehandle:new r.RemoteFile(`${e}.tbi`)})}this.chunkCache=new a.default({cache:new n.default({maxSize:Math.floor(E/65536)}),fill:(A,t)=>this.readChunk(A,{signal:t})})}async bytesForRegions(A,t={}){const e=[];for(const{refName:i,start:a,end:g}of A){const A=await this.index.blocksForRange(i,a,g,t);for(const t of A)e.push(t)}let i=0;for(const A of(0,o.optimizeChunks)(e))i+=A.fetchedSize();return i}async getLines(A,t,e,i){let a,g,n={};"function"==typeof i?g=i:(n=i,g=i.lineCallback,a=i.signal);const r=await this.index.getMetadata(n),s=t??0,I=e??r.maxRefLength;if(s>I)throw new TypeError("invalid start and end coordinates. start must be less than or equal to end");if(s===I)return;const o=await this.index.blocksForRange(A,s,I,n),E="VCF"===r.format,h=r.columnNumbers.ref||0,l=r.columnNumbers.start||0,c=E?8:r.columnNumbers.end||0,d=Math.max(h,l,c),f=r.metaChar?.charCodeAt(0),u="1-based-closed"===r.coordinateType?-1:0,_=new TextEncoder,w=new TextDecoder,y=_.encode(A),D=new Int32Array(d+1);for(const A of o){const{buffer:t,cpositions:e,dpositions:i}=await this.chunkCache.get(A.toString(),A,a),n=A.minv.dataPosition;let r=0,o=0;for(;r<t.length;){const A=t.indexOf(10,r);if(-1===A)break;const a=r+n;for(;o<i.length&&a>=i[o];)o++;if(void 0!==f&&t[r]===f){r=A+1;continue}D[0]=r-1;for(let e=0;e<d;e++){const i=t.indexOf(9,D[e]+1);if(-1===i||i>=A){D[e+1]=A;break}D[e+1]=i}const _=D[h-1]+1,b=D[h]-_;if(b!==y.length){r=A+1;continue}let k=!0;for(let A=0;A<b;A++)if(t[_+A]!==y[A]){k=!1;break}if(!k){r=A+1;continue}const m=B(t,D[l-1]+1,D[l])+u;if(m>=I)return;let p;p=0===c||c===l?m+1:E?C(t,m,D[3]+1,D[4],D[c-1]+1,D[c]):B(t,D[c-1]+1,D[c]),p>s&&g(w.decode(t.subarray(r,A)),Q(e,i,o,r,n),m,p),r=A+1}}}async getMetadata(A={}){return this.index.getMetadata(A)}async getHeaderBuffer(A={}){const{firstDataLine:t,metaChar:e,maxBlockSize:i}=await this.getMetadata(A),a=(t?.blockPosition??0)+i,n=await this.filehandle.read(a,0,A),r=await(0,g.unzip)(n);if(e){let A=-1;const t=e.charCodeAt(0);for(let e=0,i=r.length;e<i;e++){const i=r[e];if(e===A+1&&i!==t)break;10===i&&(A=e)}return r.subarray(0,A+1)}return r}async getHeader(A={}){const t=await this.getHeaderBuffer(A);return(new TextDecoder).decode(t)}async getReferenceSequenceNames(A={}){return(await this.getMetadata(A)).refIdToName}async lineCount(A,t={}){return this.index.lineCount(A,t)}async readChunk(A,t={}){const e=await this.filehandle.read(A.fetchedSize(),A.minv.blockPosition,t);return(0,g.unzipChunkSlice)(e,A,this.cache)}}},409(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=e(963),g=i(e(538)),n=i(e(689)),r=e(951),s=e(483);class I extends n.default{async lineCount(A,t={}){const e=await this.parse(t),i=e.refNameToId[A];return void 0===i?-1:e.indices(i)?.stats?.lineCount??-1}async _parse(A={}){const t=await this.filehandle.readFile({signal:A.signal}),e=await(0,a.unzip)(t),i=new DataView(e.buffer);if(21578324!==i.getUint32(0,!0))throw new Error("Not a TBI file");const n=i.getUint32(4,!0),{refNameToId:I,refIdToName:o,coordinateType:Q,format:C,columnNumbers:B,metaChar:E,skipLines:h}=(0,r.parseAuxData)(e,8);let l,c=36+i.getInt32(32,!0);const d=[];for(let A=0;A<n;A++){d.push(c);const A=i.getInt32(c,!0);c+=4;for(let t=0;t<A;t++){const A=i.getUint32(c,!0);c+=4;const t=i.getInt32(c,!0);if(c+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");if(37450===A)c+=16*t;else for(let A=0;A<t;A++)l=(0,r.findFirstData)(l,(0,s.fromBytes)(e,c)),c+=16}const t=i.getInt32(c,!0);c+=4;for(let A=0;A<t;A++)l=(0,r.findFirstData)(l,(0,s.fromBytes)(e,c)),c+=8}return{indices:(0,r.memoizeByRefId)(function(A){const t=d[A];if(void 0===t)return;let a=t;const n=i.getInt32(a,!0);a+=4;const I={};let o;for(let A=0;A<n;A++){const A=i.getUint32(a,!0);if(a+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");if(37450===A){const A=i.getInt32(a,!0);a+=4,2===A&&(o=(0,r.parsePseudoBin)(e,a+16)),a+=16*A}else{const t=i.getInt32(a,!0);a+=4;const n=Array.from({length:t});for(let i=0;i<t;i++)n[i]=new g.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;I[A]=n}}const Q=i.getInt32(a,!0);a+=4;const C=Array.from({length:Q});for(let A=0;A<Q;A++)C[A]=(0,s.fromBytes)(e,a),a+=8;return{binIndex:I,linearIndex:C,stats:o}}),metaChar:E,maxBinNumber:37449,maxRefLength:536870912,skipLines:h,firstDataLine:l,columnNumbers:B,coordinateType:Q,format:C,refIdToName:o,refNameToId:I,maxBlockSize:65536}}async blocksForRange(A,t,e,i={}){t<0&&(t=0);const a=await this.parse(i),g=a.refNameToId[A];if(void 0===g)return[];const n=a.indices(g);if(!n)return[];const s=n.linearIndex??[];s.length>0&&t>=2**31&&console.warn("querying outside of possible tabix range");const I=(o=t,Q=e,[[0,0],[1+((o+=1)>>26),1+((Q-=1)>>26)],[9+(o>>23),9+(Q>>23)],[73+(o>>20),73+(Q>>20)],[585+(o>>17),585+(Q>>17)],[4681+(o>>14),4681+(Q>>14)]]);var o,Q;const C=[];for(const[A,t]of I)for(let e=A;e<=t;e++){const A=n.binIndex[e];if(A)for(const t of A)C.push(t)}const B=s.length;let E;const h=Math.min(t>>14,B-1),l=Math.min(e>>14,B-1);for(let A=h;A<=l;++A){const t=s[A];t&&(!E||t.compareTo(E)<0)&&(E=t)}return(0,r.optimizeChunks)(C,E)}}t.default=I},951(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.canMergeBlocks=r,t.optimizeChunks=function(A,t){if(0===A.length)return A;A.sort(function(A,t){const e=A.minv.blockPosition-t.minv.blockPosition;return 0===e?A.minv.dataPosition-t.minv.dataPosition:e});const e=[];let i;for(const a of A)(!t||a.maxv.compareTo(t)>0)&&(i&&r(i,a)?a.maxv.compareTo(i.maxv)>0&&(i=new g.default(i.minv,a.maxv,i.bin),e[e.length-1]=i):(e.push(a),i=a));return e},t.findFirstData=function(A,t){return!A||A.compareTo(t)>0?t:A},t.parseNameBytes=s,t.parseAuxData=function(A,t){const e=new DataView(A.buffer),i=e.getInt32(t,!0),a=65536&i?"zero-based-half-open":"1-based-closed",g=I[15&i];if(!g)throw new Error(`invalid Tabix preset format flags ${i}`);const n={ref:e.getInt32(t+4,!0),start:e.getInt32(t+8,!0),end:e.getInt32(t+12,!0)},r=e.getInt32(t+16,!0),o=r?String.fromCharCode(r):void 0,Q=e.getInt32(t+20,!0),C=e.getInt32(t+24,!0),{refIdToName:B,refNameToId:E}=s(A.subarray(t+28,t+28+C));return{refIdToName:B,refNameToId:E,skipLines:Q,metaChar:o,columnNumbers:n,format:g,coordinateType:a}},t.parsePseudoBin=function(A,t){return{lineCount:(0,n.longFromBytesToUnsigned)(A,t)}},t.memoizeByRefId=function(A,t=5){const e=new a.default({maxSize:t});return t=>{const i=e.get(t);if(void 0!==i)return i;const a=A(t);return void 0!==a&&e.set(t,a),a}};const a=i(e(830)),g=i(e(538)),n=e(85);function r(A,t){return t.minv.blockPosition-A.maxv.blockPosition<65e3&&t.maxv.blockPosition-A.minv.blockPosition<5e6}function s(A){const t=new TextDecoder("utf-8"),e=[],i={};let a=0,g=0;for(;g<A.length;){const n=A.indexOf(0,g);if(-1===n)break;if(n>g){const r=t.decode(A.subarray(g,n));e[a]=r,i[r]=a}g=n+1,a++}return{refNameToId:i,refIdToName:e}}const I={0:"generic",1:"SAM",2:"VCF"}},483(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.fromBytes=function(A,t=0){return new e(1099511627776*A[t+7]+4294967296*A[t+6]+16777216*A[t+5]+65536*A[t+4]+256*A[t+3]+A[t+2],A[t+1]<<8|A[t])};class e{blockPosition;dataPosition;constructor(A,t){this.blockPosition=A,this.dataPosition=t}toString(){return`${this.blockPosition}:${this.dataPosition}`}compareTo(A){return this.blockPosition-A.blockPosition||this.dataPosition-A.dataPosition}}t.default=e},139(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(e(237)),g=i(e(924));class n{constructor({fill:A,cache:t}){if("function"!=typeof A)throw new TypeError("must pass a fill function");if("object"!=typeof t)throw new TypeError("must pass a cache object");if("function"!=typeof t.get||"function"!=typeof t.set||"function"!=typeof t.delete)throw new TypeError("cache must implement get(key), set(key, val), and and delete(key)");this.cache=t,this.fillCallback=A}static isAbortException(A){return"AbortError"===A.name||"ERR_ABORTED"===A.code||"AbortError: aborted"===A.message||"Error: aborted"===A.message}evict(A,t){this.cache.get(A)===t&&this.cache.delete(A)}fill(A,t,e,i){const n=new a.default,r=new g.default;r.addCallback(i);const s={aborter:n,promise:this.fillCallback(t,n.signal,A=>{r.callback(A)}),settled:!1,statusReporter:r,get aborted(){return this.aborter.signal.aborted}};s.aborter.addSignal(e),s.aborter.signal.addEventListener("abort",()=>{s.settled||this.evict(A,s)}),s.promise.then(()=>{s.settled=!0},()=>{s.settled=!0,this.evict(A,s)}).catch(A=>{throw console.error(A),A}),this.cache.set(A,s)}static checkSinglePromise(A,t){function e(){if(t?.aborted)throw Object.assign(new Error("aborted"),{code:"ERR_ABORTED"})}return A.then(A=>(e(),A),A=>{throw e(),A})}has(A){return this.cache.has(A)}get(A,t,e,i){if(!e&&t instanceof AbortSignal)throw new TypeError("second get argument appears to be an AbortSignal, perhaps you meant to pass `null` for the fill data?");const a=this.cache.get(A);return a?a.aborted&&!a.settled?(this.evict(A,a),this.get(A,t,e,i)):a.settled?a.promise:(a.aborter.addSignal(e),a.statusReporter.addCallback(i),n.checkSinglePromise(a.promise,e)):(this.fill(A,t,e,i),n.checkSinglePromise(this.cache.get(A).promise,e))}delete(A){const t=this.cache.get(A);t&&(t.settled||t.aborter.abort(),this.cache.delete(A))}clear(){const A=this.cache.keys();let t=0;for(let e=A.next();!e.done;e=A.next())this.delete(e.value),t+=1;return t}}t.default=n},237(A,t){Object.defineProperty(t,"__esModule",{value:!0});class e{}t.default=class{constructor(){this.signals=new Set,this.abortController=new AbortController}addSignal(A=new e){if(this.signal.aborted)throw new Error("cannot add a signal, already aborted!");this.signals.add(A),A.aborted?this.handleAborted(A):"function"==typeof A.addEventListener&&A.addEventListener("abort",()=>{this.handleAborted(A)})}handleAborted(A){this.signals.delete(A),0===this.signals.size&&this.abortController.abort()}get signal(){return this.abortController.signal}abort(){this.abortController.abort()}}},924(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.callbacks=new Set}addCallback(A=()=>{}){this.callbacks.add(A),this.currentMessage&&A(this.currentMessage)}callback(A){this.currentMessage=A;for(const t of this.callbacks)t(A)}}},160(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=e(139);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i(a).default}})},632(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(e(191)),g=e(557),n=e(635);t.default=class{filehandle;gzi;constructor({filehandle:A,gziFilehandle:t}){this.filehandle=A,this.gzi=new a.default({filehandle:t})}async _readAndUncompressBlock(A,t){let e=t;e||(e=(await this.filehandle.stat()).size);const i=e-A,a=await this.filehandle.read(i,A);return(0,g.unzip)(a)}async read(A,t){const e=await this.gzi.getRelevantBlocksForRead(A,t),i=[];for(let a=0;a<e.length-1;a+=1){const g=await this._readAndUncompressBlock(e[a][0],e[a+1][0]),[,n]=e[a],r=n>=t?0:t-n,s=Math.min(t+A,n+g.length)-n;r>=0&&r<g.length&&i.push(g.subarray(r,s))}return(0,n.concatUint8Array)(i)}}},191(A,t,e){Object.defineProperty(t,"__esModule",{value:!0});const i=e(665);function a(A,t,e){const i=t[1],a=e?e[1]:1/0;return i<=A&&a>A?0:i<A?-1:1}t.default=class{filehandle;index;constructor({filehandle:A}){this.filehandle=A}_getIndex(){return this.index||(this.index=this._readIndex().catch(A=>{throw this.index=void 0,A})),this.index}async _readIndex(){const A=await this.filehandle.read(8,0),t=(0,i.longFromBytesToUnsigned)(A);if(!t)return[[0,0]];const e=new Array(t+1);e[0]=[0,0];const a=16*t;if(a>Number.MAX_SAFE_INTEGER)throw new TypeError("integer overflow");const g=await this.filehandle.read(a,8);for(let A=0;A<t;A+=1){const t=(0,i.longFromBytesToUnsigned)(g,16*A),a=(0,i.longFromBytesToUnsigned)(g,16*A+8);e[A+1]=[t,a]}return e}async getLastBlock(){return(await this._getIndex()).at(-1)}async getRelevantBlocksForRead(A,t){const e=t+A;if(0===A)return[];const i=await this._getIndex(),g=[];let n=0,r=i.length-1,s=Math.floor(i.length/2),I=a(t,i[s],i[s+1]);for(;0!==I;)I>0?r=s-1:I<0&&(n=s+1),s=Math.ceil((r-n)/2)+n,I=a(t,i[s],i[s+1]);g.push(i[s]);let o=s+1;for(;o<i.length&&(g.push(i[o]),!(i[o][1]>=e));o+=1);return g.at(-1)[1]<e&&g.push([]),g}}},963(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.unzipChunkSlice=t.unzip=t.BgzfFilehandle=void 0;var a=e(632);Object.defineProperty(t,"BgzfFilehandle",{enumerable:!0,get:function(){return i(a).default}});var g=e(557);Object.defineProperty(t,"unzip",{enumerable:!0,get:function(){return g.unzip}}),Object.defineProperty(t,"unzipChunkSlice",{enumerable:!0,get:function(){return g.unzipChunkSlice}})},665(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.longFromBytesToUnsigned=function(A,t=0){const i=A[t]|A[t+1]<<8|A[t+2]<<16|A[t+3]<<24;return((A[t+4]|A[t+5]<<8|A[t+6]<<16|A[t+7]<<24)>>>0)*e+(i>>>0)};const e=4294967296},557(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.unzip=async function(A){try{return await(0,a.decompressAll)(A)}catch(e){if(`${e}`.includes("invalid bgzf header")){if((t=A).length>=2&&31===t[0]&&139===t[1])return async function(A){if("undefined"!=typeof DecompressionStream){const t=new DecompressionStream("gzip"),e=t.writable.getWriter(),i=e.write(A).then(()=>e.close()),a=[],g=t.readable.getReader();for(;;){const{done:A,value:t}=await g.read();if(A)break;a.push(t)}await i;const n=a.reduce((A,t)=>A+t.length,0),r=new Uint8Array(n);let s=0;for(const A of a)r.set(A,s),s+=A.length;return r}return(0,i.ungzip)(A,void 0)}(A);throw new Error("problem decompressing block: not a valid bgzf or gzip block",{cause:e})}if(`${e}`.includes("invalid gzip header"))throw new Error("problem decompressing block: incorrect gzip header check",{cause:e});throw e}var t},t.unzipChunkSlice=async function(A,t,e){const{minv:i,maxv:g}=t;try{const t=await(0,a.decompressChunkSlice)(A,i.blockPosition,i.dataPosition,g.blockPosition,g.dataPosition);return{buffer:t.buffer,cpositions:t.cpositions,dpositions:t.dpositions}}catch(A){if(`${A}`.includes("invalid gzip header"))throw new Error("problem decompressing block: incorrect gzip header check",{cause:A});throw A}};const i=e(196),a=e(428)},635(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.concatUint8Array=function(A,t){const e=new Uint8Array(t??function(A){let t=0;for(const e of A)t+=e.length;return t}(A));let i=0;for(const t of A)e.set(t,i),i+=t.length;return e}},428(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.decompressAll=async function(A){return await J(),n(A)},t.decompressBlock=async function(A,t=0){await J();const e=r(t>0?A.subarray(t):A),i=e.data,a=e.bytes_read;return e.free(),{data:i,bytesRead:a}},t.decompressChunkSlice=async function(A,t,e,i,a){await J();const g=s(A,t,e,i,a),n=g.buffer,r=[...g.cpositions],I=[...g.dpositions];return g.free(),{buffer:n,cpositions:r,dpositions:I}};var e={d:(A,t)=>{for(var i in t)e.o(t,i)&&!e.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:t[i]})},o:(A,t)=>Object.prototype.hasOwnProperty.call(A,t),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},i={};e.r(i),e.d(i,{ChunkSliceResult:()=>a,DecompressResult:()=>g,__wbg_Error_960c155d3d49e4c2:()=>I,__wbg___wbindgen_throw_6b64449b9b9ed33c:()=>o,__wbg_set_wasm:()=>F,decompress_all:()=>n,decompress_block:()=>r,decompress_chunk_slice:()=>s});class a{static __wrap(A){A>>>=0;const t=Object.create(a.prototype);return t.__wbg_ptr=A,Q.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,Q.unregister(this),A}free(){const A=this.__destroy_into_raw();m.__wbg_chunksliceresult_free(A,0)}get buffer(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.chunksliceresult_buffer(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=E(A,t).slice();return m.__wbindgen_export(A,1*t,1),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}get cpositions(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.chunksliceresult_cpositions(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=B(A,t).slice();return m.__wbindgen_export(A,8*t,8),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}get dpositions(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.chunksliceresult_dpositions(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=B(A,t).slice();return m.__wbindgen_export(A,8*t,8),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}}Symbol.dispose&&(a.prototype[Symbol.dispose]=a.prototype.free);class g{static __wrap(A){A>>>=0;const t=Object.create(g.prototype);return t.__wbg_ptr=A,C.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,C.unregister(this),A}free(){const A=this.__destroy_into_raw();m.__wbg_decompressresult_free(A,0)}get bytes_read(){return m.decompressresult_bytes_read(this.__wbg_ptr)>>>0}get data(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.decompressresult_data(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=E(A,t).slice();return m.__wbindgen_export(A,1*t,1),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}}function n(A){try{const g=m.__wbindgen_add_to_stack_pointer(-16),n=y(A,m.__wbindgen_export2),r=N;m.decompress_all(g,n,r);var t=l().getInt32(g+0,!0),e=l().getInt32(g+4,!0),i=l().getInt32(g+8,!0);if(l().getInt32(g+12,!0))throw D(i);var a=E(t,e).slice();return m.__wbindgen_export(t,1*e,1),a}finally{m.__wbindgen_add_to_stack_pointer(16)}}function r(A){try{const i=m.__wbindgen_add_to_stack_pointer(-16),a=y(A,m.__wbindgen_export2),n=N;m.decompress_block(i,a,n);var t=l().getInt32(i+0,!0),e=l().getInt32(i+4,!0);if(l().getInt32(i+8,!0))throw D(e);return g.__wrap(t)}finally{m.__wbindgen_add_to_stack_pointer(16)}}function s(A,t,e,i,g){try{const s=m.__wbindgen_add_to_stack_pointer(-16),I=y(A,m.__wbindgen_export2),o=N;m.decompress_chunk_slice(s,I,o,t,e,i,g);var n=l().getInt32(s+0,!0),r=l().getInt32(s+4,!0);if(l().getInt32(s+8,!0))throw D(r);return a.__wrap(n)}finally{m.__wbindgen_add_to_stack_pointer(16)}}function I(A,t){return function(A){w===_.length&&_.push(_.length+1);const t=w;return w=_[t],_[t]=A,t}(Error(d(A,t)))}function o(A,t){throw new Error(d(A,t))}Symbol.dispose&&(g.prototype[Symbol.dispose]=g.prototype.free);const Q="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>m.__wbg_chunksliceresult_free(A>>>0,1)),C="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>m.__wbg_decompressresult_free(A>>>0,1));function B(A,t){return A>>>=0,(null!==c&&0!==c.byteLength||(c=new Float64Array(m.memory.buffer)),c).subarray(A/8,A/8+t)}function E(A,t){return A>>>=0,u().subarray(A/1,A/1+t)}let h=null;function l(){return(null===h||!0===h.buffer.detached||void 0===h.buffer.detached&&h.buffer!==m.memory.buffer)&&(h=new DataView(m.memory.buffer)),h}let c=null;function d(A,t){return function(A,t){return p+=t,p>=k&&(b=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),b.decode(),p=t),b.decode(u().subarray(A,A+t))}(A>>>=0,t)}let f=null;function u(){return null!==f&&0!==f.byteLength||(f=new Uint8Array(m.memory.buffer)),f}let _=new Array(1024).fill(void 0);_.push(void 0,null,!0,!1);let w=_.length;function y(A,t){const e=t(1*A.length,1)>>>0;return u().set(A,e/1),N=A.length,e}function D(A){const t=function(A){return _[A]}(A);return function(A){A<1028||(_[A]=w,w=A)}(A),t}let b=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});b.decode();const k=2146435072;let m,p=0,N=0;function F(A){m=A}let S=null,R=null;async function J(){return S||(R||(R=(async()=>{const A=await fetch("data:application/wasm;base64,AGFzbQEAAAABfRFgAABgAAF/YAF/AGABfwF/YAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAEf39/fwF/YAV/f39/fwBgBX9/f39/AX9gBn9/f39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gCH9/f39/f39/AX9gB39/f3x8fHwAAm4CES4vYmd6Zl93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfNmI2NDQ0OWI5YjllZDMzYwAEES4vYmd6Zl93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzk2MGMxNTVkM2Q0OWU0YzIABQNtbAMODxAFCQINBwkGCAQFBAQIBQUEBAQEBAYQBgQEBwcKDAwKBgQCAgwCBgYHBAMGAwIFAwQGBQULBAYCAgQEBQMCAgEEAgUCBAYGDQIEBAcJAgQFBgQHAAMFBQAEAAQEBAUEBQICAgIEBAUAAAQFAXABGBgFAwEAEQYJAX8BQYCAwAALB9oCDgZtZW1vcnkCABtfX3diZ19jaHVua3NsaWNlcmVzdWx0X2ZyZWUAFxtfX3diZ19kZWNvbXByZXNzcmVzdWx0X2ZyZWUAHhdjaHVua3NsaWNlcmVzdWx0X2J1ZmZlcgAYG2NodW5rc2xpY2VyZXN1bHRfY3Bvc2l0aW9ucwAVG2NodW5rc2xpY2VyZXN1bHRfZHBvc2l0aW9ucwAWDmRlY29tcHJlc3NfYWxsABwQZGVjb21wcmVzc19ibG9jawAaFmRlY29tcHJlc3NfY2h1bmtfc2xpY2UAGxtkZWNvbXByZXNzcmVzdWx0X2J5dGVzX3JlYWQAMRVkZWNvbXByZXNzcmVzdWx0X2RhdGEAGR9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyAFkRX193YmluZGdlbl9leHBvcnQASxJfX3diaW5kZ2VuX2V4cG9ydDIANwkdAQBBAQsXQUhpQC4/akYtFFdUNVNgQjgdJk9OE2IK084BbM0kAgl/AX4jAEEQayIBJAACQAJAAkACQCAAQfUBSQ0AAkAgAEHM/3tNDQBBACEADAQLIABBC2oiAkF4cSEDQQAoAsCbQCIERQ0CQR8hBSAAQfX//wdPDQEgA0EmIAJBCHZnIgBrdkEBcSAAQQF0a0E+aiEFDAELAkACQAJAAkACQAJAQQAoArybQCIGQRAgAEELakH4A3EgAEELSRsiA0EDdiICdiIAQQNxRQ0AIABBf3NBAXEgAmoiB0EDdCIDQbSZwABqIgAgA0G8mcAAaigCACICKAIIIghGDQEgCCAANgIMIAAgCDYCCAwCCyADQQAoAsSbQE0NBiAADQJBACgCwJtAIgBFDQYgAGhBAnRBpJjAAGooAgAiCCgCBEF4cSADayECIAghBgNAAkAgCCgCECIADQAgCCgCFCIADQAgBigCGCEFAkACQAJAIAYoAgwiACAGRw0AIAZBFEEQIAYoAhQiABtqKAIAIggNAUEAIQAMAgsgBigCCCIIIAA2AgwgACAINgIIDAELIAZBFGogBkEQaiAAGyEHA0AgByEJIAgiAEEUaiAAQRBqIAAoAhQiCBshByAAQRRBECAIG2ooAgAiCA0ACyAJQQA2AgALIAVFDQYCQAJAIAYgBigCHEECdEGkmMAAaiIIKAIARg0AAkAgBSgCECAGRg0AIAUgADYCFCAADQIMCQsgBSAANgIQIAANAQwICyAIIAA2AgAgAEUNBgsgACAFNgIYAkAgBigCECIIRQ0AIAAgCDYCECAIIAA2AhgLIAYoAhQiCEUNBiAAIAg2AhQgCCAANgIYDAYLIAAoAgRBeHEgA2siCCACIAggAkkiCBshAiAAIAYgCBshBiAAIQgMAAsLQQAgBkF+IAd3cTYCvJtACyACQQhqIQAgAiADQQNyNgIEIAIgA2oiAyADKAIEQQFyNgIEDAULAkACQCAAIAJ0QQIgAnQiAEEAIABrcnFoIglBA3QiAkG0mcAAaiIIIAJBvJnAAGooAgAiACgCCCIHRg0AIAcgCDYCDCAIIAc2AggMAQtBACAGQX4gCXdxNgK8m0ALIAAgA0EDcjYCBCAAIANqIgYgAiADayIIQQFyNgIEIAAgAmogCDYCAAJAQQAoAsSbQCICRQ0AQQAoAsybQCEDAkACQEEAKAK8m0AiB0EBIAJBA3Z0IglxDQBBACAHIAlyNgK8m0AgAkF4cUG0mcAAaiICIQcMAQsgAkF4cSICQbSZwABqIQcgAkG8mcAAaigCACECCyAHIAM2AgggAiADNgIMIAMgBzYCDCADIAI2AggLIABBCGohAEEAIAY2AsybQEEAIAg2AsSbQAwEC0EAQQAoAsCbQEF+IAYoAhx3cTYCwJtACwJAAkACQCACQRBJDQAgBiADQQNyNgIEIAYgA2oiCCACQQFyNgIEIAggAmogAjYCAEEAKALEm0AiB0UNAUEAKALMm0AhAAJAAkBBACgCvJtAIglBASAHQQN2dCIFcQ0AQQAgCSAFcjYCvJtAIAdBeHFBtJnAAGoiByEJDAELIAdBeHEiB0G0mcAAaiEJIAdBvJnAAGooAgAhBwsgCSAANgIIIAcgADYCDCAAIAk2AgwgACAHNgIIDAELIAYgAiADaiIAQQNyNgIEIAYgAGoiACAAKAIEQQFyNgIEDAELQQAgCDYCzJtAQQAgAjYCxJtACyAGQQhqIgBFDQEMAgtBACADayECAkACQAJAAkAgBUECdEGkmMAAaigCACIGDQBBACEIQQAhAAwBC0EAIQggA0EAQRkgBUEBdmsgBUEfRht0IQdBACEAA0ACQCAGIgYoAgRBeHEiCSADSQ0AIAkgA2siCSACTw0AIAYhCCAJIQIgCQ0AQQAhAiAGIQAgBiEIDAMLIAYoAhQiCSAAIAkgBiAHQR12QQRxaigCECIGRxsgACAJGyEAIAdBAXQhByAGDQALCwJAIAAgCHINAEEAIQhBAiAFdCIAQQAgAGtyIARxIgBFDQMgAGhBAnRBpJjAAGooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIgYgA2siByACIAcgAkkiCRshBSAGIANJIQcgACAIIAkbIQkCQCAAKAIQIgYNACAAKAIUIQYLIAIgBSAHGyECIAggCSAHGyEIIAYhACAGDQALCyAIRQ0AAkBBACgCxJtAIgAgA0kNACACIAAgA2tPDQELIAgoAhghBQJAAkACQCAIKAIMIgAgCEcNACAIQRRBECAIKAIUIgAbaigCACIGDQFBACEADAILIAgoAggiBiAANgIMIAAgBjYCCAwBCyAIQRRqIAhBEGogABshBwNAIAchCSAGIgBBFGogAEEQaiAAKAIUIgYbIQcgAEEUQRAgBhtqKAIAIgYNAAsgCUEANgIACwJAIAVFDQACQAJAAkAgCCAIKAIcQQJ0QaSYwABqIgYoAgBGDQACQCAFKAIQIAhGDQAgBSAANgIUIAANAgwECyAFIAA2AhAgAA0BDAMLIAYgADYCACAARQ0BCyAAIAU2AhgCQCAIKAIQIgZFDQAgACAGNgIQIAYgADYCGAsgCCgCFCIGRQ0BIAAgBjYCFCAGIAA2AhgMAQtBAEEAKALAm0BBfiAIKAIcd3E2AsCbQAsCQAJAIAJBEEkNACAIIANBA3I2AgQgCCADaiIAIAJBAXI2AgQgACACaiACNgIAAkAgAkGAAkkNACAAIAIQEQwCCwJAAkBBACgCvJtAIgZBASACQQN2dCIHcQ0AQQAgBiAHcjYCvJtAIAJB+AFxQbSZwABqIgIhBgwBCyACQfgBcSICQbSZwABqIQYgAkG8mcAAaigCACECCyAGIAA2AgggAiAANgIMIAAgBjYCDCAAIAI2AggMAQsgCCACIANqIgBBA3I2AgQgCCAAaiIAIAAoAgRBAXI2AgQLIAhBCGoiAA0BCwJAAkACQAJAAkACQEEAKALEm0AiACADTw0AAkBBACgCyJtAIgAgA0sNACABQQRqQeibwAAgA0GvgARqQYCAfHEQKwJAIAEoAgQiBg0AQQAhAAwICyABKAIMIQVBAEEAKALUm0AgASgCCCIJaiIANgLUm0BBACAAQQAoAtibQCICIAAgAksbNgLYm0ACQAJAAkBBACgC0JtAIgJFDQBBpJnAACEAA0AgBiAAKAIAIgggACgCBCIHakYNAiAAKAIIIgANAAwDCwsCQAJAQQAoAuCbQCIARQ0AIAYgAE8NAQtBACAGNgLgm0ALQQBB/x82AuSbQEEAIAU2ArCZQEEAIAk2AqiZQEEAIAY2AqSZQEEAQbSZwAA2AsCZQEEAQbyZwAA2AsiZQEEAQbSZwAA2AryZQEEAQcSZwAA2AtCZQEEAQbyZwAA2AsSZQEEAQcyZwAA2AtiZQEEAQcSZwAA2AsyZQEEAQdSZwAA2AuCZQEEAQcyZwAA2AtSZQEEAQdyZwAA2AuiZQEEAQdSZwAA2AtyZQEEAQeSZwAA2AvCZQEEAQdyZwAA2AuSZQEEAQeyZwAA2AviZQEEAQeSZwAA2AuyZQEEAQfSZwAA2AoCaQEEAQeyZwAA2AvSZQEEAQfSZwAA2AvyZQEEAQfyZwAA2AoiaQEEAQfyZwAA2AoSaQEEAQYSawAA2ApCaQEEAQYSawAA2AoyaQEEAQYyawAA2ApiaQEEAQYyawAA2ApSaQEEAQZSawAA2AqCaQEEAQZSawAA2ApyaQEEAQZyawAA2AqiaQEEAQZyawAA2AqSaQEEAQaSawAA2ArCaQEEAQaSawAA2AqyaQEEAQayawAA2AriaQEEAQayawAA2ArSaQEEAQbSawAA2AsCaQEEAQbyawAA2AsiaQEEAQbSawAA2AryaQEEAQcSawAA2AtCaQEEAQbyawAA2AsSaQEEAQcyawAA2AtiaQEEAQcSawAA2AsyaQEEAQdSawAA2AuCaQEEAQcyawAA2AtSaQEEAQdyawAA2AuiaQEEAQdSawAA2AtyaQEEAQeSawAA2AvCaQEEAQdyawAA2AuSaQEEAQeyawAA2AviaQEEAQeSawAA2AuyaQEEAQfSawAA2AoCbQEEAQeyawAA2AvSaQEEAQfyawAA2AoibQEEAQfSawAA2AvyaQEEAQYSbwAA2ApCbQEEAQfyawAA2AoSbQEEAQYybwAA2ApibQEEAQYSbwAA2AoybQEEAQZSbwAA2AqCbQEEAQYybwAA2ApSbQEEAQZybwAA2AqibQEEAQZSbwAA2ApybQEEAQaSbwAA2ArCbQEEAQZybwAA2AqSbQEEAQaybwAA2AribQEEAQaSbwAA2AqybQEEAIAZBD2pBeHEiAEF4aiICNgLQm0BBAEGsm8AANgK0m0BBACAGIABrIAlBWGoiAGpBCGoiCDYCyJtAIAIgCEEBcjYCBCAGIABqQSg2AgRBAEGAgIABNgLcm0AMCAsgAiAGTw0AIAggAksNACAAKAIMIghBAXENACAIQQF2IAVGDQMLQQBBACgC4JtAIgAgBiAAIAZJGzYC4JtAIAYgCWohCEGkmcAAIQACQAJAAkADQCAAKAIAIgcgCEYNASAAKAIIIgANAAwCCwsgACgCDCIIQQFxDQAgCEEBdiAFRg0BC0GkmcAAIQACQANAAkAgACgCACIIIAJLDQAgAiAIIAAoAgRqIghJDQILIAAoAgghAAwACwtBACAGQQ9qQXhxIgBBeGoiBzYC0JtAQQAgBiAAayAJQVhqIgBqQQhqIgQ2AsibQCAHIARBAXI2AgQgBiAAakEoNgIEQQBBgICAATYC3JtAIAIgCEFgakF4cUF4aiIAIAAgAkEQakkbIgdBGzYCBEEAKQKkmUAhCiAHQRBqQQApAqyZQDcCACAHQQhqIgAgCjcCAEEAIAU2ArCZQEEAIAk2AqiZQEEAIAY2AqSZQEEAIAA2AqyZQCAHQRxqIQADQCAAQQc2AgAgAEEEaiIAIAhJDQALIAcgAkYNByAHIAcoAgRBfnE2AgQgAiAHIAJrIgBBAXI2AgQgByAANgIAAkAgAEGAAkkNACACIAAQEQwICwJAAkBBACgCvJtAIghBASAAQQN2dCIGcQ0AQQAgCCAGcjYCvJtAIABB+AFxQbSZwABqIgAhCAwBCyAAQfgBcSIAQbSZwABqIQggAEG8mcAAaigCACEACyAIIAI2AgggACACNgIMIAIgCDYCDCACIAA2AggMBwsgACAGNgIAIAAgACgCBCAJajYCBCAGQQ9qQXhxQXhqIgggA0EDcjYCBCAHQQ9qQXhxQXhqIgIgCCADaiIAayEDIAJBACgC0JtARg0DIAJBACgCzJtARg0EAkAgAigCBCIGQQNxQQFHDQAgAiAGQXhxIgYQECAGIANqIQMgAiAGaiICKAIEIQYLIAIgBkF+cTYCBCAAIANBAXI2AgQgACADaiADNgIAAkAgA0GAAkkNACAAIAMQEQwGCwJAAkBBACgCvJtAIgJBASADQQN2dCIGcQ0AQQAgAiAGcjYCvJtAIANB+AFxQbSZwABqIgMhAgwBCyADQfgBcSIDQbSZwABqIQIgA0G8mcAAaigCACEDCyACIAA2AgggAyAANgIMIAAgAjYCDCAAIAM2AggMBQtBACAAIANrIgI2AsibQEEAQQAoAtCbQCIAIANqIgg2AtCbQCAIIAJBAXI2AgQgACADQQNyNgIEIABBCGohAAwGC0EAKALMm0AhAgJAAkAgACADayIIQQ9LDQBBAEEANgLMm0BBAEEANgLEm0AgAiAAQQNyNgIEIAIgAGoiACAAKAIEQQFyNgIEDAELQQAgCDYCxJtAQQAgAiADaiIGNgLMm0AgBiAIQQFyNgIEIAIgAGogCDYCACACIANBA3I2AgQLIAJBCGohAAwFCyAAIAcgCWo2AgRBAEEAKALQm0AiAEEPakF4cSICQXhqIgg2AtCbQEEAIAAgAmtBACgCyJtAIAlqIgJqQQhqIgY2AsibQCAIIAZBAXI2AgQgACACakEoNgIEQQBBgICAATYC3JtADAMLQQAgADYC0JtAQQBBACgCyJtAIANqIgM2AsibQCAAIANBAXI2AgQMAQtBACAANgLMm0BBAEEAKALEm0AgA2oiAzYCxJtAIAAgA0EBcjYCBCAAIANqIAM2AgALIAhBCGohAAwBC0EAIQBBACgCyJtAIgIgA00NAEEAIAIgA2siAjYCyJtAQQBBACgC0JtAIgAgA2oiCDYC0JtAIAggAkEBcjYCBCAAIANBA3I2AgQgAEEIaiEACyABQRBqJAAgAAvCHQEWfyABIAJqIgcgAkERIAJBEUkbayEIIAMgBGoiCSAEQZcCIARBlwJJG2shCiAAQaTaAGohCyAAQZjJAGohDCAAQeDVAGohDSAAQcwDaiEOQQAhD0EAIRBBACECIAEhESADIQQCQANAAkACQCAHIBFrQQNLDQAgAiESIBBB/wFxIgJBF0sNAQNAAkACQCARIAdGDQAgES0AACACdCASciESIBFBAWohEQwBC0EBIRMgByERIA9BAWoiD0EESw0FCyAQQQhqIhBB/wFxIgJBGEkNAAwCCwsgESgAACAQQf8BcXQgAnIhEiARIBBBA3ZBB3FrQQNqIREgEEEYciEQC0EBIRMCQAJAAkACQAJAAkAgEkEBdkEDcQ4DBAEABwtBACEUIABBADoAoFogEEFvaiECIBJBEXYhFSASQQ12IhZBD3EiF0EEaiEQIBJBCHZBH3FBAWohGCASQQN2QR9xQYECaiEZA0ACQAJAIAJB/wFxIhNBAk0NACACIRoMAQsCQCAHIBFrQQNLDQAgAiEaA0ACQAJAIBEgB0YNACARLQAAIBN0IBVyIRUgEUEBaiERDAELQQEhEyAHIREgD0EBaiIPQQRLDQsLIBpBCGoiGkH/AXEiE0EYSQ0ADAILCyACQRhyIRogESgAACATdCAVciEVIBEgAkEDdkEHcWtBA2ohEQsgACAUQcCIwABqLQAAaiAVQQdxOgAAIBpBfWohAiAVQQN2IRUgFEEBaiIUIBBHDQALAkAgF0EPRg0AAkAgFkF/c0EDcSIURQ0AA0AgACAQQcCIwABqLQAAakEAOgAAIBBBAWohECAUQX9qIhQNAAsLIBdBdGpBA0kNAANAIAAgEEHAiMAAai0AAGpBADoAACAAIBBBwYjAAGotAABqQQA6AAAgACAQQcKIwABqLQAAakEAOgAAIAAgEEHDiMAAai0AAGpBADoAACAQQQRqIhBBE0cNAAsLAkAgDiAAQRNB4IjAAEEHQQcgDUEAEAQNAEEBDwsgGSAYaiEXQQAhEANAAkACQCACQf8BcSIUQQ1NDQAgAiEaDAELAkAgByARa0EDSw0AIAIhGgNAAkACQCARIAdGDQAgES0AACAUdCAVciEVIBFBAWohEQwBC0EBIRMgByERIA9BAWoiD0EESw0LCyAaQQhqIhpB/wFxIhRBGEkNAAwCCwsgAkEYciEaIBEoAAAgFHQgFXIhFSARIAJBA3ZBB3FrQQNqIRELIAAgFUH/AHFBAnRqQcwDaigCACIUQRB2IRMgGiAUayECIBUgFEH/AXF2IRUCQAJAIBRB//8/Sw0AIAAgEGogEzoAACAQQQFqIRAMAQsCQAJAAkACQCATQXBqDgIAAQILAkAgEA0AQQEPCyAAIBBqIhRBBWogFEF/ai0AACIaOgAAIBRBBGogGjoAACAUQQNqIBo6AAAgFEECaiAaOgAAIBRBAWogGjoAACAUIBo6AAAgAkF+aiECIBVBA3FBA2ohFCAVQQJ2IRUMAgsgACAQaiIUQgA3AAAgFEEIakEAOwAAIAJBfWohAiAVQQdxQQNqIRQgFUEDdiEVDAELIAAgEGpBACAVQf8AcUELaiIUECAaIAJBeWohAiAVQQd2IRULIBQgEGohEAsgECAXSQ0ACyAQIBdGDQFBAQ8LIBBBfWohAiASQQN2IRUgAC0AoFoNASAAQQE6AKBaQQAhEANAIAAgEGoiFEKIkKDAgIGChAg3AAAgFEEIakEIOgAAIBBBCWoiEEGQAUcNAAtBkH8hEANAIAAgEGpBgAJqQomSpMiQocKECTcAACAQQQhqIhANAAsgAEKFipSo0KDBggU3ALgCIABChYqUqNCgwYIFNwCwAiAAQoWKlKjQoMGCBTcAqAIgAEKFipSo0KDBggU3AKACIABCiJCgwICBgoQINwCYAiAAQoeOnLjw4MGDBzcAkAIgAEKHjpy48ODBgwc3AIgCIABCh46cuPDgwYMHNwCAAkEgIRhBoAIhGQsCQCAMIAAgGWogGEGwicAAQQhBDyANQQAQBA0AQQEPCyAAIAAgGUGwisAAQQtBDyANIAsQBA0AQQEPC0F/IAsoAgB0QX9zIRcCQAJAIBEgCE8NACAEIApPDQAgAkEYciEQIBEgAkEDdkEHcWtBA2ohFCAAIBEoAAAgAkH/AXF0IBVyIhUgF3FBAnRqKAIAIRgDQCAQIBhrIRAgFSAYQf8BcSITdiECAkACQAJAAkAgGEEASA0AAkAgGEGAgAJxDQAgAiERDAMLAkAgGEGAwABxRQ0AIBQhEQwJCyAQIAAgAkF/IBhBCHZ0QX9zcSAYQRB2akECdGooAgAiGGshECACIBhB/wFxIhN2IREgGEEATg0BIBEhAgsgBCAYQRB2OgAAIARBAWohBCAUKAAAIBBB/wFxdCACciEVIBQgEEEDdkEHcWtBA2ohFCAAIAIgF3FBAnRqKAIAIRgMAgsgAiEVIBhBgMAAcUUNACARIQIgFCERDAYLIBBBGHIhGSAUKAAAIBBB/wFxdCARciEaIBQgEEEDdkEHcWtBA2ohFAJAIAAgEUH/AXFBAnRqQZjJAGooAgAiEUGAgAJxRQ0AIBQoAAAgGUF4aiICQfcBcXQgGkEIdiIQciEaIAAgEEF/IBFBCHZBP3F0QX9zcSARQRB2akECdGpBmMkAaigCACERIAJBGHIhGSAUIAJBA3ZBBnFrQQNqIRQLAkAgGkF/IBFB/wFxIhZ0QX9zcSARQQh2Qf8BcXYiGyARQRB2IhxqIgIgBCADa00NAEEBDwsgFUF/IBN0QX9zcSETIBQoAAAgGSARayIQQf8BcXQgGiAWdiIZciEVIAQgEyAYQQh2Qf8BcXYgGEEQdmoiE2ohESAEIAJrIRogFCAQQQN2QQdxa0EDaiEUIAAgGSAXcUECdGooAgAhGAJAAkAgAkEESQ0AIAQgGigAADYAACAEIBooAAQ2AAQgBCAaKAAINgAIIAQgGigADDYADCAEIBooABA2ABAgE0EVSA0BQQAgAmshEwNAIARBFGoiGiAEIBNqIgJBFGooAAA2AAAgBEEYaiACQRhqKAAANgAAIARBHGogAkEcaigAADYAACAEQSBqIAJBIGooAAA2AAAgBEEkaiACQSRqKAAANgAAIARBKGohAiAaIQQgAiARSQ0ADAILCwJAIAJBAUcNACAEIBotAABBgYKECGwiGjYADCAEIBo2AAggBCAaNgAEIAQgGjYAACATQRFIDQEgBEEQaiECA0AgAiAaNgAAIAJBDGogGjYAACACQQhqIBo2AAAgAkEEaiAaNgAAIAJBEGoiAiARSQ0ADAILCyAEIBooAAAiGjYAACAEIAJqIBo2AAAgG0EBdCAcQQF0aiEaIAJBA2whFgNAIAQgGmogBCACaiITKAAAIhk2AAAgBCAWaiAZNgAAIBMgAmoiBCAaaiARSQ0ACwsgESEECyAQQRhyIRAgFCAITw0CIAQgCkkNAAwCCwsgAiEQIBEhFAsDQAJAAkAgByAUa0EDSw0AIBBB/wFxIgJBF0sNAQNAAkACQCAUIAdGDQAgFC0AACACdCAVciEVIBRBAWohFAwBC0EBIRMgByEUIA9BAWoiD0EESw0ICyAQQQhqIhBB/wFxIgJBGEkNAAwCCwsgFCgAACAQQf8BcXQgFXIhFSAUIBBBA3ZBB3FrQQNqIRQgEEEYciEQCyAQIAAgFSAXcUECdGooAgAiAmshECAVIAJB/wFxdiERAkACQCACQYCAAXENACAVIRogESEVDAELIBAgACARQX8gAkEIdkE/cXRBf3NxIAJBEHZqQQJ0aigCACICayEQIBEgAkH/AXF2IRUgESEaCyACQRB2IRECQCACQX9KDQACQCAEIAlHDQBBAw8LIAQgEToAACAEQQFqIQQMAQsCQCACQYDAAHFFDQAgFSECIBQhEQwDCwJAIBpBfyACQf8BcXRBf3NxIAJBCHZB3wFxdiARaiIaIAkgBGtNDQBBAw8LAkACQCAHIBRrQQNLDQAgEEH/AXEiAkEXSw0BA0ACQAJAIBQgB0YNACAULQAAIAJ0IBVyIRUgFEEBaiEUDAELQQEhEyAHIRQgD0EBaiIPQQRLDQgLIBBBCGoiEEH/AXEiAkEYSQ0ADAILCyAUKAAAIBBB/wFxdCAVciEVIBQgEEEDdkEHcWtBA2ohFCAQQRhyIRALAkAgACAVQf8BcUECdGpBmMkAaigCACICQYCAAnFFDQAgACAVQQh2IhVBfyACQQh2QT9xdEF/c3EgAkEQdmpBAnRqQZjJAGooAgAhAiAQQXhqIRECQAJAIAcgFGtBA0sNACARQf8BcSITQRdNDQEgESEQDAILIBFBGHIhECAUKAAAIBFB/wFxdCAVciEVIBQgEUEDdkEHcWtBA2ohFAwBCwNAAkACQCAUIAdGDQAgFC0AACATdCAVciEVIBRBAWohFAwBC0EBIRMgByEUIA9BAWoiD0EESw0HCyAQQf8BcSETIBBBCGoiESEQIBNBGEkNAAsgEUF4aiEQCwJAIBVBfyACQf8BcSITdEF/c3EgAkEIdkH/AXF2IAJBEHZqIhEgBCADa00NAEEBDwsgECACayEQIBUgE3YhFSAEIAQgEWsiAi0AADoAACAEIAItAAE6AAEgBEECaiECIAQgGmohBEEAIBFrIREDQCACIAIgEWotAAA6AAAgAkEBaiICIARJDQAMAQsLCwJAIA8gEEH9AWpBA3ZBH3EiAk0NAEEBDwsCQCAHIBEgDyACa2oiEWtBBE4NAEEBDwsCQCARLwACIBEvAAAiAnNB//8DcUH//wNGDQBBAQ8LAkAgCSAEayACTg0AQQMPCwJAIAcgEUEEaiIRayACTg0AQQEPCyAEIBEgAhAfIAJqIQQgESACaiERQQAhD0EAIRBBACECCyASQQFxRQ0AC0EBIRMgDyAQQQN2QR9xIgJLDQACQCAFRQ0AIAUgESAPIAJraiABazYCAAsCQAJAIAZFDQAgBiAEIANrNgIADAELQQIhEyAEIAlHDQELQQAhEwsgEwuPDwEPfyMAQYABayIIJAAgBUEBaiIJQQdxIQpBACELAkAgBUEHSQ0AIAlBeHEhDEEAIQsgCEHAAGohCQNAIAlCADcDACAJQRhqQgA3AwAgCUEQakIANwMAIAlBCGpCADcDACAJQSBqIQkgDCALQQhqIgtHDQALCwJAIApFDQAgCEHAAGogC0ECdGohCQNAIAlBADYCACAJQQRqIQkgCkF/aiIKDQALCwJAIAJFDQAgAkEDcSELQQAhCgJAIAJBBEkNACACQXxxIQ1BACEKA0AgCEHAAGogASAKaiIJLQAAQQJ0aiIMIAwoAgBBAWo2AgAgCEHAAGogCUEBai0AAEECdGoiDCAMKAIAQQFqNgIAIAhBwABqIAlBAmotAABBAnRqIgwgDCgCAEEBajYCACAIQcAAaiAJQQNqLQAAQQJ0aiIJIAkoAgBBAWo2AgAgDSAKQQRqIgpHDQALCyALRQ0AIAEgCmohCQNAIAhBwABqIAktAABBAnRqIgogCigCAEEBajYCACAJQQFqIQkgC0F/aiILDQALCwJAAkAgBUECTw0AIAUhDgwBCyAIQcAAaiAFQQJ0aiEJA0ACQCAJKAIARQ0AIAUhDgwCCyAJQXxqIQlBASEOIAVBf2oiBUEBSw0ACwsCQCAHRQ0AIAcgDiAEIA4gBEkbIgQ2AgALQQAhCSAIQQA2AgAgCCAIKAJAIgU2AgRBASEKAkAgDkECSQ0AQQEhCSAOQX9qIgpBAXEhDwJAAkAgDkECRw0AQQAhCwwBCyAKQX5xIRAgCEHAAGpBCHIhCSAIQQxyIQpBACELQQAhDANAIApBfGogCUF8aigCACINIAVqIgU2AgAgCiAJKAIAIgcgBWoiBTYCACAHIAtBAnQgDUEBdGpqIQsgCUEIaiEJIApBCGohCiAQIAxBAmoiDEcNAAsgDEEBaiEJCwJAIA9FDQAgCUECdCIJIAhqQQRqIAhBwABqIAlqKAIAIgkgBWo2AgAgCSALQQF0aiELCyALQQF0IQkgDiEKCyAIQcAAaiAKQQJ0aigCACAJaiENAkAgAkUNACACQQFxIQdBACEJAkAgAkEBRg0AIAJBfnEhDEEAIQkDQCAGIAggASAJaiIKLQAAQQJ0aiILKAIAIgVBAXRqIAk7AQAgCyAFQQFqNgIAIAggCkEBai0AAEECdGoiCiAKKAIAIgpBAWo2AgAgBiAKQQF0aiAJQQFqOwEAIAwgCUECaiIJRw0ACwsgB0UNACAIIAEgCWotAABBAnRqIgogCigCACIKQQFqNgIAIAYgCkEBdGogCTsBAAsCQAJAIA1BASAOdCIJTQ0AQQAhBgwBCyAGIAgoAgBBAXRqIRACQAJAAkAgDSAJSQ0AIAhBwABqQQRyIQlBACEHA0AgB0EBaiEHIAkoAgAhDCAJQQRqIQkgDEUNAAtBACERIAcgBE0NAUEAIQ0MAgsCQAJAIA0NAEEAIQkMAQtBACEGIA1BASAOQX9qdEcNAyAIKAJEQQFHDQMgEC8BACEJCyADIAlBAnRqKAIAQYECaiELQQEhBkEBIQkDQCAAIAs2AgAgAEEEaiEAIAkgBHYhCiAJQQFqIQkgCkUNAAwDCwtBASAHdCEKIAhBwABqQQRyIQFBACENA0AgCkF/aiEJIAdBgQJsIQYDQCAAIA1BAnRqIAYgAyAQLwEAQQJ0aigCAGo2AgACQCANIAlHDQBBASEGIAQgB00NBEEBIQYgB0EBaiEJAkAgBCAHa0EBcUUNACAAIApBAnQiC2ogACALEB8aIApBAXQhCiAJIQcLIAQgCUYNBCAEIAdrIQsDQCAAIApBAnQiCWogACAJEB8aIAAgCkEDdCIKaiAAIAoQHxogCSEKIAtBfmoiCw0ADAULC0GAgICAeCAJIA1zZ3YiC0F/aiANcSALciENIBBBAmohECAMQX9qIgwNAAsgASAHQQJ0aiEJA0ACQCAHQQFqIgcgBEsNACAAIApBAnQiC2ogACALEB8aIApBAXQhCgsgCSgCACEMIAlBBGohCSAMRQ0ACyAHIARNDQALC0EBIAR0IgJBf2ohEiAIQcAAakEEciETQX8hCQNAIBMgB0ECdGohDkF/IAd0QX9zIRQgByAEayIVQYECbCEWQQEgFXQiBkECdCEFA0ACQAJAIA0gEnEiDyAJRw0AIAIhCyAJIQ8MAQsgFSEKIAYhAQJAIAwgBk8NACAOIQkgFSEKIAwhCwNAIAkoAgAhASAJQQRqIQkgASALQQF0aiILQQEgCkEBaiIKdCIBSQ0ACwsgACAPQQJ0aiACQRB0IApBCHRyIARyQYCAA3I2AgAgASACaiELIAIhEQsgACARIA0gBHZqIgpBAnRqIQkgFiADIBAvAQBBAnRqKAIAaiEBA0AgCSABNgIAIAkgBWohCSAKIAZqIgogC0kNAAsCQCANIBRHDQBBASEGDAMLQYCAgIB4IA0gFHNndiIJQX9qIA1xIAlyIQ0gEEECaiEQIAshAiAPIQkgDEF/aiIMDQALA0AgB0EBaiEHIA4oAgAhDCAOQQRqIQ4gDEUNAAsgCyECIA8hCQwACwsgCEGAAWokACAGC74LAxB/An4CfCMAQdAAayIHJAAgBxBENgIAEGwCQAJAAkACQAJAAkACQAJAQYABQQgQWiIIRQ0AQQAhCSAHQQA2AgwgByAINgIIIAdBEDYCBBBsAkBBgAFBCBBaIgpFDQAgB0EANgIYIAcgCjYCFCAHQRA2AhACQCACQQJ0IgtBAEgNAAJAAkAgCw0AQQEhDAwBCxBsQQEhCSALQQEQWiIMRQ0BCyAHQQA2AiQgByAMNgIgIAcgCzYCHCADIAOhIhkgArgiGmNFDQgCQCACIBn8AyIJSQ0AIAIgCWsiDUEaSQ0GIAEgCWoiCS0AAEEfRw0GIAktAAFBiwFHDQYgCS0AAkEIRw0GIAktAANBBEcNBiAJLQAKQQZHDQYgCS0ADEHCAEcNBiAJLQANQcMARw0GIA0gCS8AECIOTQ0GIA5BGUkNBiAHQShqIAkgDSAHEA0gBygCKCIJQYCAgIB4Rg0FIAcoAiwhDiAHKQIwIhdCIIgiGFANBCAYpyEPIAggAzkDACAKIAQ5AwBBASEQIAdBATYCDCAHQQE2AhgCQCAXpyINIAb8A0EBaiIRIA0gEUkbIA0gAyAFZiISGyITIAT8AyIUTQ0AAkACQCATIBRrIhMgC0sNAEEAIQsMAQsgB0EcakEAIBMQJSAHKAIgIQwgBygCJCELCwJAIBNFDQAgDCALaiAOIBRqIBP8CgAACyAHIAsgE2o2AiQLIAMgD7igIQYgBCANIBRruKAhBEECIQsCQAJAIBJFDQBBAiECQQEhDAwBCwJAIAlFDQAgDiAJQQEQVQsgBiADoSIZIBpjRQ0KQQghFEEBIQ0DQCACIBn8AyIJSQ0CIAIgCWsiDEEaSQ0JIAEgCWoiCy0AAEEfRw0JIAstAAFBiwFHDQkgCy0AAkEIRw0JIAstAANBBEcNCSALLQAKQQZHDQkgCy0ADEHCAEcNCSALLQANQcMARw0JIAwgCy8AECIJTQ0JIAlBGE0NCSAHQShqIAsgDCAHEA0gBygCKCIJQYCAgIB4Rg0HIAcoAiwhDiAHKQIwIhdCIIgiGFANBgJAIA0gBygCBEcNACAHQQRqECogBygCCCEICyAXpyELIAggFGogBjkDACAHIA1BAWoiFTYCDAJAIAcoAhgiEiAHKAIQRw0AIAdBEGoQKgsgGKchEyAHKAIUIgogEkEDdGogBDkDACAHIBJBAWoiDDYCGAJAIAsgESALIBFJGyALIAYgBWYiEBsiD0UNAAJAIA8gBygCHCAHKAIkIhZrTQ0AIAdBHGogFiAPECUgBygCJCEWCwJAIA9FDQAgBygCICAWaiAOIA/8CgAACyAHIBYgD2o2AiQLIAQgC7igIQQgBiATuKAhBgJAIBANAAJAIAlFDQAgDiAJQQEQVQsgFEEIaiEUIBUhDSAGIAOhIhkgGmMNAQwMCwsgDUEBaiEQIBJBAmohAiANQQJqIQsgDSAHKAIEa0F/Rw0AIAdBBGoQKgsgBygCCCAQQQN0aiAGOQMAIAcgCzYCDAJAIAwgBygCEEcNACAHQRBqECogBygCFCEKCyAKIAxBA3RqIAQ5AwAgByACNgIYDAQLIAkgAiACQcyFwAAQEgALIAkgCxBJAAtBCEGAARBJAAtBCEGAARBJAAsgCUUNBCAOIAlBARBVDAQLIAcoAiwgBygCMBBkIQIMAgsgAyEGCyAGIANiDQFBv4DAAEETEGQhAgsgAEGAgICAeDYCACAAIAI2AgQCQCAHKAIcIgBFDQAgBygCICAAQQEQVQsCQCAHKAIQIgBFDQAgCiAAQQN0QQgQVQsgBygCBCIARQ0BIAcoAgggAEEDdEEIEFUMAQsgACAHKQIcNwIAIAAgBykCEDcCGCAAIAcoAhg2AiAgByAHKAIkNgIwIAcgBykCBDcCNCAAIAcpAzA3AgggByAHKAIMNgI8IAAgBykDODcCEAsgBxBlIAdB0ABqJAAL6wYBCH8CQAJAIAEgAEEDakF8cSICIABrIgNJDQAgASADayIEQQJ2IgVFDQAgBEEDcSEGQQAhB0EAIQECQCACIABGDQBBACEIQQAhAQJAIAAgAmsiCUF8Sw0AQQAhCEEAIQEDQCABIAAgCGoiAiwAAEG/f0pqIAJBAWosAABBv39KaiACQQJqLAAAQb9/SmogAkEDaiwAAEG/f0pqIQEgCEEEaiIIDQALCyAAIAhqIQIDQCABIAIsAABBv39KaiEBIAJBAWohAiAJQQFqIgkNAAsLIAAgA2ohCQJAIAZFDQAgCSAEQfz///8HcWoiAiwAAEG/f0ohByAGQQFGDQAgByACLAABQb9/SmohByAGQQJGDQAgByACLAACQb9/SmohBwsgByABaiEIA0AgCSEDIAVFDQIgBUHAASAFQcABSRsiB0EDcSEGAkACQCAHQQJ0IgRB8AdxIgENAEEAIQIMAQsgAyABaiEAQQAhAiADIQEDQCABQQxqKAIAIglBf3NBB3YgCUEGdnJBgYKECHEgAUEIaigCACIJQX9zQQd2IAlBBnZyQYGChAhxIAFBBGooAgAiCUF/c0EHdiAJQQZ2ckGBgoQIcSABKAIAIglBf3NBB3YgCUEGdnJBgYKECHEgAmpqamohAiABQRBqIgEgAEcNAAsLIAUgB2shBSADIARqIQkgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IAhqIQggBkUNAAsgAyAHQfwBcUECdGoiAigCACIBQX9zQQd2IAFBBnZyQYGChAhxIQECQCAGQQFGDQAgAigCBCIJQX9zQQd2IAlBBnZyQYGChAhxIAFqIQEgBkECRg0AIAIoAggiAkF/c0EHdiACQQZ2ckGBgoQIcSABaiEBCyABQQh2Qf+BHHEgAUH/gfwHcWpBgYAEbEEQdiAIaiEIDAELAkAgAQ0AQQAPCyABQQNxIQJBACEJQQAhCAJAIAFBBEkNACABQXxxIQVBACEIQQAhCQNAIAggACAJaiIBLAAAQb9/SmogAUEBaiwAAEG/f0pqIAFBAmosAABBv39KaiABQQNqLAAAQb9/SmohCCAFIAlBBGoiCUcNAAsgAkUNAQsgACAJaiEBA0AgCCABLAAAQb9/SmohCCABQQFqIQEgAkF/aiICDQALCyAIC/UGAQZ/AkACQAJAAkACQAJAAkACQCAAQXxqIgQoAgAiBUF4cSIGQQRBCCAFQQNxIgcbIAFqSQ0AIAFBJ2ohCAJAIAdFDQAgBiAISw0CCwJAAkAgAkEJSQ0AIAIgAxAPIgINAUEADwtBACECIANBzP97Sw0IQRAgA0ELakF4cSADQQtJGyEBIABBeGohCAJAIAcNACABQYACSQ0HIAhFDQcgBiABTQ0HIAYgAWtBgIAISw0HIAAPCyAIIAZqIQcCQAJAIAYgAU8NACAHQQAoAtCbQEYNAQJAIAdBACgCzJtARg0AIAcoAgQiBUECcQ0JIAVBeHEiCSAGaiIFIAFJDQkgByAJEBACQCAFIAFrIgdBEEkNACAEIAEgBCgCAEEBcXJBAnI2AgAgCCABaiIBIAdBA3I2AgQgCCAFaiIFIAUoAgRBAXI2AgQgASAHEA4MCQsgBCAFIAQoAgBBAXFyQQJyNgIAIAggBWoiASABKAIEQQFyNgIEDAgLQQAoAsSbQCAGaiIHIAFJDQgCQAJAIAcgAWsiBkEPSw0AIAQgBUEBcSAHckECcjYCACAIIAdqIgEgASgCBEEBcjYCBEEAIQZBACEBDAELIAQgASAFQQFxckECcjYCACAIIAFqIgEgBkEBcjYCBCAIIAdqIgcgBjYCACAHIAcoAgRBfnE2AgQLQQAgATYCzJtAQQAgBjYCxJtADAcLIAYgAWsiBkEPTQ0GIAQgASAFQQFxckECcjYCACAIIAFqIgEgBkEDcjYCBCAHIAcoAgRBAXI2AgQgASAGEA4MBgtBACgCyJtAIAZqIgcgAUsNBAwGCwJAIAMgASADIAFJGyIDRQ0AIAIgACAD/AoAAAsgBCgCACIDQXhxIgdBBEEIIANBA3EiAxsgAWpJDQIgA0UNBiAHIAhNDQZB/JTAAEEuQayVwAAQSgALQbyUwABBLkHslMAAEEoAC0H8lMAAQS5BrJXAABBKAAtBvJTAAEEuQeyUwAAQSgALIAQgASAFQQFxckECcjYCACAIIAFqIgUgByABayIBQQFyNgIEQQAgATYCyJtAQQAgBTYC0JtACyAIRQ0AIAAPCyADEAIiAUUNAQJAIANBfEF4IAQoAgAiAkEDcRsgAkF4cWoiAiADIAJJGyIDRQ0AIAEgACAD/AoAAAsgASECCyAAEAgLIAILoAYBBH8gAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkACQCACQQFxDQAgAkECcUUNASABKAIAIgIgAGohAAJAIAEgAmsiAUEAKALMm0BHDQAgAygCBEEDcUEDRw0BQQAgADYCxJtAIAMgAygCBEF+cTYCBCABIABBAXI2AgQgAyAANgIADwsgASACEBALAkACQAJAAkACQAJAAkACQCADKAIEIgJBAnENACADQQAoAtCbQEYNAiADQQAoAsybQEYNAyADIAJBeHEiAhAQIAEgAiAAaiIAQQFyNgIEIAEgAGogADYCACABQQAoAsybQEcNAUEAIAA2AsSbQA8LIAMgAkF+cTYCBCABIABBAXI2AgQgASAAaiAANgIACyAAQYACSQ0EIAEgABARQQBBACgC5JtAQX9qIgE2AuSbQCABDQZBACgCrJlAIgANAkH/HyEBDAMLQQAgATYC0JtAQQBBACgCyJtAIABqIgA2AsibQCABIABBAXI2AgQCQCABQQAoAsybQEcNAEEAQQA2AsSbQEEAQQA2AsybQAsgAEEAKALcm0AiAk0NBUEAKALQm0AiAEUNBUEAKALIm0AiBEEpSQ0EQaSZwAAhAQNAAkAgASgCACIDIABLDQAgACADIAEoAgRqSQ0GCyABKAIIIQEMAAsLQQAgATYCzJtAQQBBACgCxJtAIABqIgA2AsSbQCABIABBAXI2AgQgASAAaiAANgIADwtBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGyEBC0EAIAE2AuSbQA8LAkACQEEAKAK8m0AiA0EBIABBA3Z0IgJxDQBBACADIAJyNgK8m0AgAEH4AXFBtJnAAGoiACEDDAELIABB+AFxIgBBtJnAAGohAyAAQbyZwABqKAIAIQALIAMgATYCCCAAIAE2AgwgASADNgIMIAEgADYCCA8LAkACQEEAKAKsmUAiAA0AQf8fIQEMAQtBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGyEBC0EAIAE2AuSbQCAEIAJNDQBBAEF/NgLcm0ALC9wFAgh/AX5BK0GAgMQAIAAoAggiBkGAgIABcSIHGyEIIAdBFXZBASABGyAFaiEJAkACQCAGQYCAgARxDQBBACECDAELAkACQCADQRBJDQAgAiADEAYhBwwBCwJAIAMNAEEAIQcMAQsgA0EDcSEKQQAhC0EAIQcCQCADQQRJDQAgA0EMcSEMQQAhC0EAIQcDQCAHIAIgC2oiDSwAAEG/f0pqIA1BAWosAABBv39KaiANQQJqLAAAQb9/SmogDUEDaiwAAEG/f0pqIQcgDCALQQRqIgtHDQALIApFDQELIAIgC2ohDQNAIAcgDSwAAEG/f0pqIQcgDUEBaiENIApBf2oiCg0ACwsgByAJaiEJCyAIQS0gARshDAJAAkAgCSAALwEMIgFPDQACQAJAAkAgBkGAgIAIcQ0AIAEgCWshCEEAIQdBACEBAkACQAJAIAZBHXZBA3EOBAIAAQACCyAIIQEMAQsgCEH+/wNxQQF2IQELIAZB////AHEhCSAAKAIEIQsgACgCACEKA0AgB0H//wNxIAFB//8DcU8NAkEBIQ0gB0EBaiEHIAogCSALKAIQEQUARQ0ADAULCyAAIAApAggiDqdBgICA/3lxQbCAgIACcjYCCEEBIQ0gACgCACIKIAAoAgQiCyAMIAIgAxA5DQNBACEHIAEgCWtB//8DcSECA0AgB0H//wNxIAJPDQJBASENIAdBAWohByAKQTAgCygCEBEFAEUNAAwECwtBASENIAogCyAMIAIgAxA5DQIgCiAEIAUgCygCDBEHAA0CQQAhByAIIAFrQf//A3EhAANAIAdB//8DcSICIABJIQ0gAiAATw0DIAdBAWohByAKIAkgCygCEBEFAEUNAAwDCwtBASENIAogBCAFIAsoAgwRBwANASAAIA43AghBAA8LQQEhDSAAKAIAIgcgACgCBCIKIAwgAiADEDkNACAHIAQgBSAKKAIMEQcAIQ0LIA0L+gQBB38CQAJAIAAoAggiA0GAgIDAAXFFDQACQAJAAkACQAJAIANBgICAgAFxRQ0AIAAvAQ4iBA0BQQAhAgwCCwJAIAJBEEkNACABIAIQBiEFDAQLAkAgAg0AQQAhBQwECyACQQNxIQZBACEHQQAhBQJAIAJBBEkNACACQQxxIQRBACEFQQAhBwNAIAUgASAHaiIILAAAQb9/SmogCEEBaiwAAEG/f0pqIAhBAmosAABBv39KaiAIQQNqLAAAQb9/SmohBSAEIAdBBGoiB0cNAAsgBkUNBAsgASAHaiEIA0AgBSAILAAAQb9/SmohBSAIQQFqIQggBkF/aiIGDQAMBAsLIAEgAmohB0EAIQIgASEIIAQhBgNAIAgiBSAHRg0CAkACQCAFLAAAIghBf0wNACAFQQFqIQgMAQsCQCAIQWBPDQAgBUECaiEIDAELIAVBBEEDIAhBb0sbaiEICyAIIAVrIAJqIQIgBkF/aiIGDQALC0EAIQYLIAQgBmshBQsgBSAALwEMIghPDQAgCCAFayEJQQAhBUEAIQQCQAJAAkAgA0EddkEDcQ4EAgABAgILIAkhBAwBCyAJQf7/A3FBAXYhBAsgA0H///8AcSEHIAAoAgQhBiAAKAIAIQACQANAIAVB//8DcSAEQf//A3FPDQFBASEIIAVBAWohBSAAIAcgBigCEBEFAA0DDAALC0EBIQggACABIAIgBigCDBEHAA0BQQAhBSAJIARrQf//A3EhAgNAIAVB//8DcSIEIAJJIQggBCACTw0CIAVBAWohBSAAIAcgBigCEBEFAA0CDAALCyAAKAIAIAEgAiAAKAIEKAIMEQcAIQgLIAgLwAQBCH8jAEEQayIEJAACQAJAAkAgA0EBcQ0AIAItAAAiBQ0BQQAhBQwCCyAAIAIgA0EBdiABKAIMEQcAIQUMAQsgASgCDCEGQQAhBwNAIAJBAWohCAJAAkACQAJAAkAgBcBBf0oNACAFQf8BcSIJQYABRg0BIAlBwAFHDQMgBCABNgIEIAQgADYCACAEQqCAgIAGNwIIIAMgB0EDdGoiBSgCACAEIAUoAgQRBQBFDQJBASEFDAYLAkAgACAIIAVB/wFxIgUgBhEHAA0AIAggBWohAgwEC0EBIQUMBQsCQCAAIAJBA2oiBSACLwABIgIgBhEHAA0AIAUgAmohAgwDC0EBIQUMBAsgB0EBaiEHIAghAgwBC0GggICABiEKAkAgBUEBcUUNACACQQVqIQggAigAASEKC0EAIQkCQAJAIAVBAnENAEEAIQsgCCECDAELIAhBAmohAiAILwAAIQsLAkACQCAFQQRxDQAgAiEIDAELIAJBAmohCCACLwAAIQkLAkACQCAFQQhxDQAgCCECDAELIAhBAmohAiAILwAAIQcLAkAgBUEQcUUNACADIAtB//8DcUEDdGovAQQhCwsCQCAFQSBxRQ0AIAMgCUH//wNxQQN0ai8BBCEJCyAEIAk7AQ4gBCALOwEMIAQgCjYCCCAEIAE2AgQgBCAANgIAAkAgAyAHQQN0aiIFKAIAIAQgBSgCBBEFAEUNAEEBIQUMAwsgB0EBaiEHCyACLQAAIgUNAAtBACEFCyAEQRBqJAAgBQubBAIIfwJ+IwBBIGsiAyQAIAMQRDYCAEEAIQQCQCACQQJ0IgVBAEgNAAJAAkAgBQ0AQQEhBgwBCxBsQQEhBCAFQQEQWiIGRQ0BC0EAIQcgA0EANgIMIAMgBjYCCCADIAU2AgQCQAJAIAJFDQBBACEEA0ACQAJAAkAgAiAEayIIQRpJDQAgASAEaiIFLQAAQR9HDQAgBS0AAUGLAUcNACAFLQACQQhHDQAgBS0AA0EERw0AIAUtAApBBkcNACAFLQAMQcIARw0AIAUtAA1BwwBHDQAgCCAFLwAQIglNDQAgCUEZSQ0AIANBEGogBSAIIAMQDSADKAIQIghBgICAgHhHDQIgAygCFCADKAIYEGQhBQwBCyAEDQNBv4DAAEETEGQhBQsgAEGAgICAeDYCACAAIAU2AgQgAygCBCIFRQ0DIAMoAgggBUEBEFUMAwsgAygCFCEKAkAgAykCGCILQiCIIgxCAFINACAIRQ0CIAogCEEBEFUMAgsgDKchCQJAAkACQCADKAIEIAdrIAunIgVPDQAgA0EEaiAHIAUQJSADKAIIIQYgAygCDCEHDAELIAVFDQELIAVFDQAgBiAHaiAKIAX8CgAACyADIAcgBWoiBzYCDCAEIAlqIQQCQCAIRQ0AIAogCEEBEFULIAQgAkkNAAsLIAAgAygCDDYCCCAAIAMpAgQ3AgALIAMQZSADQSBqJAAPCyAEIAUQSQAL+AMBBn8jAEEQayIEJAACQAJAAkACQAJAAkACQAJAIAJBGkkNACABLQAAQR9HDQAgAS0AAUGLAUcNACABLQACQQhHDQAgAS0AA0EERw0AIAEtAApBBkcNACABLQAMQcIARw0AIAEtAA1BwwBHDQAgAiABLwAQIgVNDQAgBUEZSQ0AIAVBfWoiBiACTw0BIAVBfmoiByACTw0CIAVBf2oiCCACTw0DIAUgAk8NBCAFQXlqIglBEkkNBSAJIAJLDQUgASAHai0AAEEIdCABIAZqLQAAciABIAhqLQAAQRB0ciABIAVqLQAAQRh0IglyIQJBACEGIAlBAEgNBkEBIQkCQCACRQ0AEGxBASEGIAJBARBbIglFDQcLIARBCGogAyABQRJqIAVBZ2ogCSACECkCQCAELQAIQQFHDQAgAEEUNgIIIABBqIXAADYCBCAAQYCAgIB4NgIAIAJFDQggCSACQQEQVQwICyAAIAVBAWo2AgwgACACNgIIIAAgCTYCBCAAIAI2AgAMBwsgAEETNgIIIABBv4DAADYCBCAAQYCAgIB4NgIADAYLIAYgAkHohMAAEDAACyAHIAJB+ITAABAwAAsgCCACQYiFwAAQMAALIAUgAkGYhcAAEDAAC0ESIAkgAkG8hcAAEBIACyAGIAIQSQALIARBEGokAAuFBAECfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQECQCAAIANrIgBBACgCzJtARw0AIAIoAgRBA3FBA0cNAUEAIAE2AsSbQCACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQEAsCQAJAAkACQCACKAIEIgNBAnENACACQQAoAtCbQEYNAiACQQAoAsybQEYNAyACIANBeHEiAxAQIAAgAyABaiIBQQFyNgIEIAAgAWogATYCACAAQQAoAsybQEcNAUEAIAE2AsSbQA8LIAIgA0F+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACwJAIAFBgAJJDQAgACABEBEPCwJAAkBBACgCvJtAIgJBASABQQN2dCIDcQ0AQQAgAiADcjYCvJtAIAFB+AFxQbSZwABqIgEhAgwBCyABQfgBcSIBQbSZwABqIQIgAUG8mcAAaigCACEBCyACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0EAIAA2AtCbQEEAQQAoAsibQCABaiIBNgLIm0AgACABQQFyNgIEIABBACgCzJtARw0BQQBBADYCxJtAQQBBADYCzJtADwtBACAANgLMm0BBAEEAKALEm0AgAWoiATYCxJtAIAAgAUEBcjYCBCAAIAFqIAE2AgAPCwvvAgEFf0EAIQICQCABQc3/eyAAQRAgAEEQSxsiAGtPDQAgAEEQIAFBC2pBeHEgAUELSRsiA2pBDGoQAiIBRQ0AIAFBeGohAgJAAkAgAEF/aiIEIAFxDQAgAiEADAELIAFBfGoiBSgCACIGQXhxIAQgAWpBACAAa3FBeGoiAUEAIAAgASACa0EQSxtqIgAgAmsiAWshBAJAIAZBA3FFDQAgACAEIAAoAgRBAXFyQQJyNgIEIAAgBGoiBCAEKAIEQQFyNgIEIAUgASAFKAIAQQFxckECcjYCACACIAFqIgQgBCgCBEEBcjYCBCACIAEQDgwBCyACKAIAIQIgACAENgIEIAAgAiABajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIANBEGpNDQAgACADIAFBAXFyQQJyNgIEIAAgA2oiASACIANrIgNBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASADEA4LIABBCGohAgsgAguJAwEEfyAAKAIMIQICQAJAAkACQCABQYACSQ0AIAAoAhghAwJAAkACQCACIABHDQAgAEEUQRAgACgCFCICG2ooAgAiAQ0BQQAhAgwCCyAAKAIIIgEgAjYCDCACIAE2AggMAQsgAEEUaiAAQRBqIAIbIQQDQCAEIQUgASICQRRqIAJBEGogAigCFCIBGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAgJAAkAgACAAKAIcQQJ0QaSYwABqIgEoAgBGDQAgAygCECAARg0BIAMgAjYCFCACDQMMBAsgASACNgIAIAJFDQQMAgsgAyACNgIQIAINAQwCCwJAIAIgACgCCCIERg0AIAQgAjYCDCACIAQ2AggPC0EAQQAoArybQEF+IAFBA3Z3cTYCvJtADwsgAiADNgIYAkAgACgCECIBRQ0AIAIgATYCECABIAI2AhgLIAAoAhQiAUUNACACIAE2AhQgASACNgIYDwsPC0EAQQAoAsCbQEF+IAAoAhx3cTYCwJtAC8cCAQR/QQAhAgJAIAFBCHYiA0UNAEEfIQIgAUGAgIAITw0AIAFBJiADZyICa3ZBAXEgAkEBdHJBPnMhAgsgAEIANwIQIAAgAjYCHCACQQJ0QaSYwABqIQMCQEEAKALAm0BBASACdCIEcQ0AIAMgADYCACAAIAM2AhggACAANgIMIAAgADYCCEEAQQAoAsCbQCAEcjYCwJtADwsCQAJAAkAgAygCACIEKAIEQXhxIAFHDQAgBCECDAELIAFBAEEZIAJBAXZrIAJBH0YbdCEDA0AgBCADQR12QQRxaiIFKAIQIgJFDQIgA0EBdCEDIAIhBCACKAIEQXhxIAFHDQALCyACKAIIIgMgADYCDCACIAA2AgggAEEANgIYIAAgAjYCDCAAIAM2AggPCyAFQRBqIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AggLpQICAX8BfiMAQSBrIgQkAAJAAkACQCAAIAJLDQAgASACSw0BQRatQiCGIQUgACABTQ0CIAQgADYCCCAEIAE2AgwgBCAFIARBDGqthDcDGCAEIAUgBEEIaq2ENwMQQdKAwAAgBEEQaiADEDYACyAEIAA2AgggBCACNgIMIARBFq1CIIYiBSAEQQxqrYQ3AxggBCAFIARBCGqthDcDEEGxgcAAIARBEGogAxA2AAsgBCABNgIIIAQgAjYCDCAEQRatQiCGIgUgBEEMaq2ENwMYIAQgBSAEQQhqrYQ3AxBB6oHAACAEQRBqIAMQNgALIAQgATYCCCAEIAI2AgwgBCAFIARBDGqthDcDGCAEIAUgBEEIaq2ENwMQQeqBwAAgBEEQaiADEDYAC6cCAQd/IwBBEGsiAiQAQQohAyAAKAIAIgQhBQJAIARB6AdJDQBBCiEDIAQhBQNAIAJBBmogA2oiBkF8aiAFIgAgAEGQzgBuIgVBkM4AbGsiB0H//wNxQeQAbiIIQQF0LwCAlkA7AAAgBkF+aiAHIAhB5ABsa0H//wNxQQF0LwCAlkA7AAAgA0F8aiEDIABB/6ziBEsNAAsLAkACQCAFQQlLDQAgBSEADAELIAJBBmogA0F+aiIDaiAFIAVB//8DcUHkAG4iAEHkAGxrQf//A3FBAXQvAICWQDsAAAsCQAJAIARFDQAgAEUNAQsgAkEGaiADQX9qIgNqIABBAXQtAIGWQDoAAAsgAUEBQQFBACACQQZqIANqQQogA2sQCSEDIAJBEGokACADC6UCAQZ/IAAoAgghAgJAAkAgAUGAAU8NAEEBIQMMAQsCQCABQYAQTw0AQQIhAwwBC0EDQQQgAUGAgARJGyEDCyACIQQCQCADIAAoAgAgAmtNDQAgACACIANBAUEBECQgACgCCCEECyAAKAIEIARqIQQCQAJAIAFBgAFJDQAgAUE/cUGAf3IhBSABQQZ2IQYCQCABQYAQTw0AIAQgBToAASAEIAZBwAFyOgAADAILIAFBDHYhByAGQT9xQYB/ciEGAkAgAUH//wNLDQAgBCAFOgACIAQgBjoAASAEIAdB4AFyOgAADAILIAQgBToAAyAEIAY6AAIgBCAHQT9xQYB/cjoAASAEIAFBEnZBcHI6AAAMAQsgBCABOgAACyAAIAMgAmo2AghBAAuKAgEGfyMAQRBrIgIkAAJAAkACQAJAIAFFDQAgAUF4aiIDIAMoAgAiBEEBaiIFNgIAIAVFDQEgASgCACIGQf////8HTw0CIAEgBkEBajYCACACIAM2AgwgAiABNgIIIAIgAUEEajYCBAJAAkAgASgCGCIFDQAgASAGNgIAIAMgBDYCAEEIIQYMAQsgASgCFCEHEGwgBUEDdCIEQQgQWiIGRQ0EAkAgBEUNACAGIAcgBPwKAAALIAMoAgAhBCABIAEoAgBBf2o2AgAgAyAEQX9qIgE2AgAgAQ0AIAJBBGpBCGoQJwsgACAFNgIEIAAgBjYCACACQRBqJAAPCxBcCwALEF4AC0EIIAQQSQALigIBBn8jAEEQayICJAACQAJAAkACQCABRQ0AIAFBeGoiAyADKAIAIgRBAWoiBTYCACAFRQ0BIAEoAgAiBkH/////B08NAiABIAZBAWo2AgAgAiADNgIMIAIgATYCCCACIAFBBGo2AgQCQAJAIAEoAiQiBQ0AIAEgBjYCACADIAQ2AgBBCCEGDAELIAEoAiAhBxBsIAVBA3QiBEEIEFoiBkUNBAJAIARFDQAgBiAHIAT8CgAACyADKAIAIQQgASABKAIAQX9qNgIAIAMgBEF/aiIBNgIAIAENACACQQRqQQhqECcLIAAgBTYCBCAAIAY2AgAgAkEQaiQADwsQXAsACxBeAAtBCCAEEEkAC4ICAQd/IwBBEGsiAiQAAkACQAJAAkAgAQ0AIABFDQEgAEF4aiIBKAIAQQFHDQIgACgCICEDIAAoAhwhBCAAKAIUIQUgACgCECEGIAAoAgghByAAKAIEIQggAUEANgIAAkAgAUF/Rg0AIABBfGoiACAAKAIAQX9qIgA2AgAgAA0AIAFBMEEEEFULAkAgCEUNACAHIAhBARBVCwJAIAZFDQAgBSAGQQN0QQgQVQsgBEUNAyADIARBA3RBCBBVDAMLIABFDQAgAEF4aiIAIAAoAgBBf2oiATYCACACIAA2AgwgAQ0CIAJBDGoQJwwCCxBcAAtBgIDAAEE/EF0ACyACQRBqJAALggIBBn8jAEEQayICJAACQAJAAkACQCABRQ0AIAFBeGoiAyADKAIAIgRBAWoiBTYCACAFRQ0BIAEoAgAiBkH/////B08NAkEBIQcgASAGQQFqNgIAIAIgAzYCDCACIAE2AgggAiABQQRqNgIEAkACQCABKAIMIgUNACABIAY2AgAgAyAENgIADAELIAEoAgghBhBsIAVBARBaIgdFDQQCQCAFRQ0AIAcgBiAF/AoAAAsgAygCACEGIAEgASgCAEF/ajYCACADIAZBf2oiATYCACABDQAgAkEMahAnCyAAIAU2AgQgACAHNgIAIAJBEGokAA8LEFwLAAsQXgALQQEgBRBJAAuCAgEGfyMAQRBrIgIkAAJAAkACQAJAIAFFDQAgAUF4aiIDIAMoAgAiBEEBaiIFNgIAIAVFDQEgASgCACIGQf////8HTw0CQQEhByABIAZBAWo2AgAgAiADNgIMIAIgATYCCCACIAFBBGo2AgQCQAJAIAEoAgwiBQ0AIAEgBjYCACADIAQ2AgAMAQsgASgCCCEGEGwgBUEBEFoiB0UNBAJAIAVFDQAgByAGIAX8CgAACyADKAIAIQYgASABKAIAQX9qNgIAIAMgBkF/aiIBNgIAIAENACACQQxqEDILIAAgBTYCBCAAIAc2AgAgAkEQaiQADwsQXAsACxBeAAtBASAFEEkAC4UCAgN/AX4jAEEgayIDJAACQAJAAkACQAJAIAINAEEAIQRBASEFQgAhBgwBCyADEEQ2AgwgA0EQaiABIAIgA0EMahANIAMoAhAiBEGAgICAeEYNASADKQIYIQYgAygCFCEFIANBDGoQZSABIAJBARBVCxBsQRxBBBBaIgJFDQEgAiAGNwIUIAIgBTYCECACIAQ2AgxBACEEIAJBADYCCCACQoGAgIAQNwIAIAJBCGohBQwCCyADKAIUIAMoAhgQZCEFIANBDGoQZUEBIQQgASACQQEQVQwBC0EEQRwQYQALIAAgBDYCCCAAIAVBACAEGzYCBCAAQQAgBSAEGzYCACADQSBqJAAL3gEBAX8jAEEwayIHJAAgB0EMaiABIAIgAyAEIAUgBhAFAkAgAkUNACABIAJBARBVCwJAAkACQCAHKAIMQYCAgIB4Rw0AQQEhASAHKAIQIQIMAQsQbEEwQQQQWiICRQ0BQQAhASACQQA2AgggAkKBgICAEDcCACACIAcpAgw3AgwgAiAHKQIUNwIUIAIgBykCHDcCHCACIAcpAiQ3AiQgAiAHKAIsNgIsIAJBCGohAgsgACABNgIIIAAgAkEAIAEbNgIEIABBACACIAEbNgIAIAdBMGokAA8LQQRBMBBhAAvMAQEDfyMAQRBrIgMkACADQQRqIAEgAhAMAkAgAkUNACABIAJBARBVCwJAAkACQCADKAIEIgRBgICAgHhHDQBBASEEQQAhASADKAIIIQVBACECDAELIAMoAgghBQJAAkAgBCADKAIMIgJLDQAgBSEBDAELAkAgAg0AQQEhASAFIARBARBVDAELIAUgBEEBIAIQUSIBRQ0CC0EAIQVBACEECyAAIAQ2AgwgACAFNgIIIAAgAjYCBCAAIAE2AgAgA0EQaiQADwtBASACEEkAC+sBAgJ/AX4jAEEwayICJAACQCABKAIAQYCAgIB4Rw0AIAEoAgwhAyACQQA2AiwgAkKAgICAEDcCJCACQSRqQcyTwAAgAygCACIDKAIAIAMoAgQQCxogAiACKAIsIgM2AiAgAiACKQIkIgQ3AxggASADNgIIIAEgBDcCAAsgASgCCCEDIAFBADYCCCABKQIAIQQgAUKAgICAEDcCACACIAM2AhAgAiAENwMIEGwCQEEMQQQQWiIBDQBBBEEMEGEACyABIAIoAhA2AgggASACKQMINwIAIABBzJXAADYCBCAAIAE2AgAgAkEwaiQAC8ABAQN/IwBBEGsiAiQAAkACQAJAAkAgAQ0AIABFDQEgAEF4aiIBKAIAQQFHDQIgACgCCCEDIAAoAgQhBCABQQA2AgACQCABQX9GDQAgAEF8aiIAIAAoAgBBf2oiADYCACAADQAgAUEcQQQQVQsgBEUNAyADIARBARBVDAMLIABFDQAgAEF4aiIAIAAoAgBBf2oiATYCACACIAA2AgwgAQ0CIAJBDGoQMgwCCxBcAAtBgIDAAEE/EF0ACyACQRBqJAALuAEBBH8CQCACRQ0AIAJBA3EhA0EAIQQCQCACQQRJDQAgAkF8cSEFQQAhBANAIAAgBGoiAiABIARqIgYtAAA6AAAgAkEBaiAGQQFqLQAAOgAAIAJBAmogBkECai0AADoAACACQQNqIAZBA2otAAA6AAAgBSAEQQRqIgRHDQALCyADRQ0AIAEgBGohAiAAIARqIQQDQCAEIAItAAA6AAAgAkEBaiECIARBAWohBCADQX9qIgMNAAsLIAALtQEBA38CQCACRQ0AIAJBB3EhA0EAIQQCQCACQQhJDQAgAkF4cSEFQQAhBANAIAAgBGoiAiABOgAAIAJBB2ogAToAACACQQZqIAE6AAAgAkEFaiABOgAAIAJBBGogAToAACACQQNqIAE6AAAgAkECaiABOgAAIAJBAWogAToAACAFIARBCGoiBEcNAAsLIANFDQAgACAEaiECA0AgAiABOgAAIAJBAWohAiADQX9qIgMNAAsLIAAL1gEBAn8jAEEgayIFJAACQAJAAkACQAJAQQEQNEH/AXEOAwQBAAELQQAoApSYQCIGQX9MDQNBACAGQQFqNgKUmEBBACgCmJhARQ0BIAVBCGogACABKAIUEQQAIAUgBDoAHSAFIAM6ABwgBSACNgIYIAUgBSkDCDcCEEEAKAKYmEAgBUEQakEAKAKcmEAoAhQRBAAMAgsgBSAAIAEoAhgRBAAMAgtBgICAgHggBRBFC0EAQQAoApSYQEF/ajYClJhAQQBBADoAjJhAIANFDQAgACABEFYACwALqgECAn8BfkEBIQZBBCEHAkACQCAFrSADrX4iCEIgiKdFDQBBACEDDAELAkAgCKciA0GAgICAeCAEa00NAEEAIQMMAQsCQAJAAkACQCABRQ0AIAIgBSABbCAEIAMQUSEHDAELAkAgAw0AIAQhBwwCCxBsIAMgBBBaIQcLIAcNACAAIAQ2AgQMAQsgACAHNgIEQQAhBgtBCCEHCyAAIAdqIAM2AgAgACAGNgIAC6oBAgJ/AX5BASEGQQQhBwJAAkAgBa0gA61+IghCIIinRQ0AQQAhAwwBCwJAIAinIgNBgICAgHggBGtNDQBBACEDDAELAkACQAJAAkAgAUUNACACIAUgAWwgBCADEFEhBwwBCwJAIAMNACAEIQcMAgsQbCADIAQQWiEHCyAHDQAgACAENgIEDAELIAAgBzYCBEEAIQYLQQghBwsgACAHaiADNgIAIAAgBjYCAAuVAQEBfyMAQRBrIgUkAAJAIAIgAWoiASACTw0AQQBBABBJAAsgBUEEaiAAKAIAIgIgACgCBCABIAJBAXQiAiABIAJLGyICQQhBBCAEQQFGGyIBIAIgAUsbIgIgAyAEECMCQCAFKAIEQQFHDQAgBSgCCCAFKAIMEEkACyAFKAIIIQQgACACNgIAIAAgBDYCBCAFQRBqJAALiwEBAX8jAEEQayIDJAACQCACIAFqIgEgAk8NAEEAQQAQSQALIANBBGogACgCACICIAAoAgQgASACQQF0IgIgASACSxsiAkEIIAJBCEsbIgJBAUEBECICQCADKAIEQQFHDQAgAygCCCADKAIMEEkACyADKAIIIQEgACACNgIAIAAgATYCBCADQRBqJAALkwECAn8BfiMAQSBrIgIkAAJAIAEoAgBBgICAgHhHDQAgASgCDCEDIAJBADYCHCACQoCAgIAQNwIUIAJBFGpBzJPAACADKAIAIgMoAgAgAygCBBALGiACIAIoAhwiAzYCECACIAIpAhQiBDcDCCABIAM2AgggASAENwIACyAAQcyVwAA2AgQgACABNgIAIAJBIGokAAt8AQF/AkAgACgCACIAKAIMIgFFDQAgACgCECABQQEQVQsCQCAAKAIYIgFFDQAgACgCHCABQQN0QQgQVQsCQCAAKAIkIgFFDQAgACgCKCABQQN0QQgQVQsCQCAAQX9GDQAgACAAKAIEQX9qIgE2AgQgAQ0AIABBMEEEEFULC4gBAQN/IwBBEGsiASQAAkAgACgCACICKAIEIgNBAXFFDQAgAigCACECIAEgA0EBdjYCBCABIAI2AgAgAUHkk8AAIAAoAgQgACgCCCIALQAIIAAtAAkQIQALIAFBgICAgHg2AgAgASAANgIMIAFBgJTAACAAKAIEIAAoAggiAC0ACCAALQAJECEAC4QBAQJ/IwBBEGsiBiQAQQAhByAGQQA2AgwCQAJAAkACQAJAIAEoAgAgAiADIAQgBSAGQQxqEEwOBAECAAMAC0HohsAAQewAQdSHwAAQOwALIAAgBigCDDYCBAwCCyAAQQA6AAFBASEHDAELQQEhByAAQQE6AAELIAAgBzoAACAGQRBqJAALawEDfyMAQRBrIgEkACABQQRqIAAoAgAiAiAAKAIEIAJBAXQiAkEEIAJBBEsbIgJBCEEIECICQCABKAIEQQFHDQAgASgCCCABKAIMEEkACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALYAECfwJAAkAgAkEQdiACQf//A3FBAEdqIgJAACIDQX9HDQBBACECQQAhBAwBCyACQRB0IgRBcGogBCADQRB0IgJBACAEa0YbIQQLIABBADYCCCAAIAQ2AgQgACACNgIAC2ABAn8CQAJAIABBfGooAgAiA0F4cSIEQQRBCCADQQNxIgMbIAFqSQ0AAkAgA0UNACAEIAFBJ2pLDQILIAAQCA8LQbyUwABBLkHslMAAEEoAC0H8lMAAQS5BrJXAABBKAAtaAQF/AkACQAJAIAIgACgCACAAKAIIIgNrTQ0AIAAgAyACQQFBARAkIAAoAgghAwwBCyACRQ0BCyACRQ0AIAAoAgQgA2ogASAC/AoAAAsgACADIAJqNgIIQQALWQECfyABKAIAIQIgAUEANgIAAkACQCACRQ0AIAEoAgQhAxBsQQhBBBBaIgFFDQEgASADNgIEIAEgAjYCACAAQbyVwAA2AgQgACABNgIADwsAC0EEQQgQYQALXQECf0EAIQECQCAAKAIAQQxHDQBBACEBQazaACAAKAIEIgJBACgCgJhAIAIbEQMAIgJFDQAgAkEAQazaABAgIgEgACgCCCIAQQAoAoSYQCAAGzYCqFogASEBCyABC04CAX8BfiMAQSBrIgMkACADIAE2AgwgAyAANgIIIANBFq1CIIYiBCADQQhqrYQ3AxggAyAEIANBDGqthDcDEEH6gMAAIANBEGogAhA2AAtSAQN/AkACQAJAIABFDQAgAEF4aiIBIAEoAgAiAkEBaiIDNgIAIANFDQEgACgCAEH/////B08NAiAAKAIQIQAgASACNgIAIAAPCxBcCwALEF4AC0wBAX8CQCAAKAIAIgBBDGooAgAiAUUNACAAQRBqKAIAIAFBARBVCwJAIABBf0YNACAAIAAoAgRBf2oiATYCBCABDQAgAEEcQQQQVQsLRQACQAJAIAFBCUkNACABIAAQDyEBDAELIAAQAiEBCwJAIAFFDQAgAUF8ai0AAEEDcUUNACAARQ0AIAFBACAA/AsACyABC1IBAn9BACEBQQBBACgCoJhAIgJBAWo2AqCYQAJAIAJBAEgNAEEBIQFBAC0AjJhADQBBACAAOgCMmEBBAEEAKAKImEBBAWo2AoiYQEECIQELIAELRwECfyABKAIEIQIgASgCACEDEGwCQEEIQQQQWiIBDQBBBEEIEGEACyABIAI2AgQgASADNgIAIABBvJXAADYCBCAAIAE2AgALOwEBfyMAQSBrIgMkACADIAE2AhAgAyAANgIMIANBATsBHCADIAI2AhggAyADQQxqNgIUIANBFGoQPQALNAACQCABaUEBRw0AIABBgICAgHggAWtLDQACQCAARQ0AEGwgACABEFoiAUUNAQsgAQ8LAAtAAAJAIAAoAgBBgICAgHhGDQAgASAAKAIEIAAoAggQUA8LIAEoAgAgASgCBCAAKAIMKAIAIgAoAgAgACgCBBALCzkAAkAgAkGAgMQARg0AIAAgAiABKAIQEQUARQ0AQQEPCwJAIAMNAEEADwsgACADIAQgASgCDBEHAAs1AQF/AkAgAEUNAAJAIAEoAgAiAkUNACAAIAIRAgALIAEoAgQiAkUNACAAIAIgASgCCBBVCwsqAQF/IwBBEGsiAyQAIAMgAjYCDCADIAE2AgggAyAANgIEIANBBGoQZgALLQEBfyMAQRBrIgEkACABIAApAgA3AgggAUEIakGwk8AAIAAoAghBAUEAECEACywCAX8BfiMAQRBrIgEkACAAKQIAIQIgASAANgIMIAEgAjcCBCABQQRqEGgACyMBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqEGcACyAAAkAgASgCAEUNACAAQbyVwAA2AgQgACABNgIADwsACx4BAX8CQCAAKAIAIgJFDQAgASACIAAoAgQQUA8LAAsbAQF/EGwgAEEEakEEEFoiASAANgIAIAFBBGoLHgEBfwJAIAAoAgAiAUEBSA0AIAAoAgQgAUEBEFULCx4AIAAoAgAgACgCBEEAKAKQmEAiAEEDIAAbEQQAAAsjAQF/AkBBsIjAABAvIgANAEHkh8AAQTpBoIjAABA7AAsgAAsfAAJAIABBgICAgHhyQYCAgIB4Rg0AIAEgAEEBEFULCxwBAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQVQsLFwACQCABQQlJDQAgASAAEA8PCyAAEAILFQAgAEF8aiIAIAAoAgBBBGpBBBBVCxQAAkAgAEUNACAAIAEQYQALEFgACxEAIAAgAUEBdEEBciACEDYACxIAAkAgAUUNACAAIAEgAhBVCwsSACAAIAEgAiADIARBACAFEAMLFQACQCAARQ0AIAAgACgCqFoRAgALCxoAIABBACkCtJRANwIIIABBACkCrJRANwIACxoAIABBACkCpJRANwIIIABBACkCnJRANwIACxYAIAAoAgAgASACIAAoAgQoAgwRBwALDQAgACABIAIgAxAHDwsUAEEAIAA2AuiXQEEAQQE2AuSXQAsTACAAQbyVwAA2AgQgACABNgIACxAAIAEgACgCACAAKAIEEFALCwAgACABIAIQLA8LCgAgACABEGsaAAsPACAAQcyTwAAgASACEAsLEQBB3JXAAEEjQfCVwAAQNgALCwAgACMAaiQAIwALCQAgACABEEcPCwkAIAAgARAzDwsMAEHchcAAQRsQXQALCQAgACABEGMACw0AQfeFwABBzwAQXQALCQAgASAAED4ACwwAIAAgASkCADcDAAsJACABIAAQXwALDQAgAUHIl8AAQRgQCgsIACAAIAEQAAsIACAAIAEQAQsJACAAKAIAEE0LBwAgABA8AAsHACAAEEMACwcAIAAQKAALCwBBAEEBOgDom0ALCQAgAEEANgIACwUAEG0ACwMADwsDAAALC/YXAgBBgIDAAAvgF2F0dGVtcHRlZCB0byB0YWtlIG93bmVyc2hpcCBvZiBSdXN0IHZhbHVlIHdoaWxlIGl0IHdhcyBib3Jyb3dlZGludmFsaWQgYmd6ZiBoZWFkZXIWc2xpY2UgaW5kZXggc3RhcnRzIGF0IMANIGJ1dCBlbmRzIGF0IMAAIGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IHRoZSBpbmRleCBpcyDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjIvc3JjL2xpYi5ycwAAAABaAhAACgAAACkAAAAJAAAAWgIQAAoAAAAqAAAACQAAAFoCEAAKAAAAKwAAAAkAAABaAhAACgAAACwAAAAJAAAAZGVjb21wcmVzc2lvbiBmYWlsZWRaAhAACgAAAC8AAAAeAAAAWgIQAAoAAAC3AAAAHwAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAACEBEABnAAAAfAAAABEAAAAhARAAZwAAAIkAAAARAAAAbGliZGVmbGF0ZV9kZWZsYXRlX2RlY29tcHJlc3MgcmV0dXJuZWQgYW4gdW5rbm93biBlcnJvciB0eXBlOiB0aGlzIGlzIGFuIGludGVybmFsIGJ1ZyB0aGF0ICoqbXVzdCoqIGJlIGZpeGVkBQIQAF8AAAANAQAAFQAAAGxpYmRlZmxhdGVfYWxsb2NfZGVjb21wcmVzc29yIHJldHVybmVkIE5VTEw6IG91dCBvZiBtZW1vcnkAAAUCEABfAAAAnQAAABEAAAAMAAAAAQAAAAIAAAAAAAAAEBESAAgHCQYKBQsEDAMNAg4BDwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAAAAAAAQAAAAIAAAADAAAABAABAAUAAQAHAAIACQACAA0AAwARAAMAGQAEACEABAAxAAUAQQAFAGEABgCBAAYAwQAHAAEBBwCBAQgAAQIIAAEDCQABBAkAAQYKAAEICgABDAsAARALAAEYDAABIAwAATANAAFADQABYA0AAWANAAFgAAAAgAAAAYAAAAKAAAADgAAABIAAAAWAAAAGgAAAB4AAAAiAAAAJgAAACoAAAAuAAAAMgAAADYAAAA6AAAAPgAAAEIAAABGAAAASgAAAE4AAABSAAAAVgAAAFoAAABeAAAAYgAAAGYAAABqAAAAbgAAAHIAAAB2AAAAegAAAH4AAACCAAAAhgAAAIoAAACOAAAAkgAAAJYAAACaAAAAngAAAKIAAACmAAAAqgAAAK4AAACyAAAAtgAAALoAAAC+AAAAwgAAAMYAAADKAAAAzgAAANIAAADWAAAA2gAAAN4AAADiAAAA5gAAAOoAAADuAAAA8gAAAPYAAAD6AAAA/gAAAQIAAAEGAAABCgAAAQ4AAAESAAABFgAAARoAAAEeAAABIgAAASYAAAEqAAABLgAAATIAAAE2AAABOgAAAT4AAAFCAAABRgAAAUoAAAFOAAABUgAAAVYAAAFaAAABXgAAAWIAAAFmAAABagAAAW4AAAFyAAABdgAAAXoAAAF+AAABggAAAYYAAAGKAAABjgAAAZIAAAGWAAABmgAAAZ4AAAGiAAABpgAAAaoAAAGuAAABsgAAAbYAAAG6AAABvgAAAcIAAAHGAAABygAAAc4AAAHSAAAB1gAAAdoAAAHeAAAB4gAAAeYAAAHqAAAB7gAAAfIAAAH2AAAB+gAAAf4AAAICAAACBgAAAgoAAAIOAAACEgAAAhYAAAIaAAACHgAAAiIAAAImAAACKgAAAi4AAAIyAAACNgAAAjoAAAI+AAACQgAAAkYAAAJKAAACTgAAAlIAAAJWAAACWgAAAl4AAAJiAAACZgAAAmoAAAJuAAACcgAAAnYAAAJ6AAACfgAAAoIAAAKGAAACigAAAo4AAAKSAAAClgAAApoAAAKeAAACogAAAqYAAAKqAAACrgAAArIAAAK2AAACugAAAr4AAALCAAACxgAAAsoAAALOAAAC0gAAAtYAAALaAAAC3gAAAuIAAALmAAAC6gAAAu4AAALyAAAC9gAAAvoAAAL+AAADAgAAAwYAAAMKAAADDgAAAxIAAAMWAAADGgAAAx4AAAMiAAADJgAAAyoAAAMuAAADMgAAAzYAAAM6AAADPgAAA0IAAANGAAADSgAAA04AAANSAAADVgAAA1oAAANeAAADYgAAA2YAAANqAAADbgAAA3IAAAN2AAADegAAA34AAAOCAAADhgAAA4oAAAOOAAADkgAAA5YAAAOaAAADngAAA6IAAAOmAAADqgAAA64AAAOyAAADtgAAA7oAAAO+AAADwgAAA8YAAAPKAAADzgAAA9IAAAPWAAAD2gAAA94AAAPiAAAD5gAAA+oAAAPuAAAD8gAAA/YAAAP6AAAD/gACgAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAEACwABAA0AAQAPAAEAEQACABMAAgAXAAIAGwACAB8AAwAjAAMAKwADADMAAwA7AAQAQwAEAFMABABjAAQAcwAFAIMABQCjAAUAwwAFAOMAAAACAQAAAgEAAAIBAAAAAAgAAAAEAAAABAAAAAUAAAAGAAAABwAAAAgAAAAMAAAABAAAAAkAAAAKAAAACwAAAAAAAAAIAAAABAAAAAwAAAANAAAADgAAAA8AAAAQAAAAEAAAAAQAAAARAAAAEgAAABMAAAAHAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADaARAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA2gEQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABQAAAAIAAAADAAAAAQAAAAVAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACJARAAUAAAABwAAAAFAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQeCXwAALBAQAAAAAKQRuYW1lASIBWR9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyADwJcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkCBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuBzAuMi4xMTg="),t=await A.arrayBuffer(),{instance:e}=await WebAssembly.instantiate(t,{"./bgzf_wasm_bg.js":i});return S=e.exports,F(S),S})()),R)}},830(A,t){var e,i,a,g,n,r,s,I,o,Q,C,B,E,h,l,c=this&&this.__classPrivateFieldSet||function(A,t,e,i,a){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?A!==t||!a:!t.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(A,e):a?a.value=e:t.set(A,e),e},d=this&&this.__classPrivateFieldGet||function(A,t,e,i){if("a"===e&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?A!==t||!i:!t.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?i:"a"===e?i.call(A):i?i.value:t.get(A)};Object.defineProperty(t,"__esModule",{value:!0});class f extends Map{constructor(A={}){if(super(),e.add(this),i.set(this,0),a.set(this,new Map),g.set(this,new Map),n.set(this,void 0),r.set(this,void 0),s.set(this,void 0),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");c(this,n,A.maxSize,"f"),c(this,r,A.maxAge||Number.POSITIVE_INFINITY,"f"),c(this,s,A.onEviction,"f")}get __oldCache(){return d(this,g,"f")}get(A){if(d(this,a,"f").has(A)){const t=d(this,a,"f").get(A);return d(this,e,"m",C).call(this,A,t)}if(d(this,g,"f").has(A)){const t=d(this,g,"f").get(A);if(!d(this,e,"m",o).call(this,A,t))return d(this,e,"m",h).call(this,A,t),t.value}}set(A,t,{maxAge:i=d(this,r,"f")}={}){const g="number"==typeof i&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return d(this,a,"f").has(A)?d(this,a,"f").set(A,{value:t,expiry:g}):d(this,e,"m",E).call(this,A,{value:t,expiry:g}),this}has(A){return d(this,a,"f").has(A)?!d(this,e,"m",o).call(this,A,d(this,a,"f").get(A)):!!d(this,g,"f").has(A)&&!d(this,e,"m",o).call(this,A,d(this,g,"f").get(A))}peek(A){return d(this,a,"f").has(A)?d(this,e,"m",B).call(this,A,d(this,a,"f")):d(this,g,"f").has(A)?d(this,e,"m",B).call(this,A,d(this,g,"f")):void 0}expiresIn(A){const t=d(this,a,"f").get(A)??d(this,g,"f").get(A);if(t)return t.expiry?t.expiry-Date.now():Number.POSITIVE_INFINITY}delete(A){var t;const e=d(this,a,"f").delete(A);return e&&c(this,i,(t=d(this,i,"f"),--t),"f"),d(this,g,"f").delete(A)||e}clear(){d(this,a,"f").clear(),d(this,g,"f").clear(),c(this,i,0,"f")}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...d(this,e,"m",l).call(this)],r=t.length-A;r<0?(c(this,a,new Map(t),"f"),c(this,g,new Map,"f"),c(this,i,t.length,"f")):(r>0&&d(this,e,"m",I).call(this,t.slice(0,r)),c(this,g,new Map(t.slice(r)),"f"),c(this,a,new Map,"f"),c(this,i,0,"f")),c(this,n,A,"f")}evict(A=1){const t=A;if(!t||t<=0)return;const n=[...d(this,e,"m",l).call(this)],r=Math.trunc(Math.min(t,Math.max(n.length-1,0)));r<=0||(d(this,e,"m",I).call(this,n.slice(0,r)),c(this,g,new Map(n.slice(r)),"f"),c(this,a,new Map,"f"),c(this,i,0,"f"))}*keys(){for(const[A]of this)yield A}*values(){for(const[,A]of this)yield A}*[(i=new WeakMap,a=new WeakMap,g=new WeakMap,n=new WeakMap,r=new WeakMap,s=new WeakMap,e=new WeakSet,I=function(A){if("function"==typeof d(this,s,"f"))for(const[t,e]of A)d(this,s,"f").call(this,t,e.value)},o=function(A,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof d(this,s,"f")&&d(this,s,"f").call(this,A,t.value),this.delete(A))},Q=function(A,t){if(!d(this,e,"m",o).call(this,A,t))return t.value},C=function(A,t){return t.expiry?d(this,e,"m",Q).call(this,A,t):t.value},B=function(A,t){const i=t.get(A);return d(this,e,"m",C).call(this,A,i)},E=function(A,t){var r;d(this,a,"f").set(A,t),c(this,i,(r=d(this,i,"f"),++r),"f"),d(this,i,"f")>=d(this,n,"f")&&(c(this,i,0,"f"),d(this,e,"m",I).call(this,d(this,g,"f")),c(this,g,d(this,a,"f"),"f"),c(this,a,new Map,"f"))},h=function(A,t){d(this,g,"f").delete(A),d(this,e,"m",E).call(this,A,t)},l=function*(){for(const A of d(this,g,"f")){const[t,i]=A;d(this,a,"f").has(t)||d(this,e,"m",o).call(this,t,i)||(yield A)}for(const A of d(this,a,"f")){const[t,i]=A;d(this,e,"m",o).call(this,t,i)||(yield A)}},Symbol.iterator)](){for(const A of d(this,a,"f")){const[t,i]=A;d(this,e,"m",o).call(this,t,i)||(yield[t,i.value])}for(const A of d(this,g,"f")){const[t,i]=A;d(this,a,"f").has(t)||d(this,e,"m",o).call(this,t,i)||(yield[t,i.value])}}*entriesDescending(){let A=[...d(this,a,"f")];for(let t=A.length-1;t>=0;--t){const i=A[t],[a,g]=i;d(this,e,"m",o).call(this,a,g)||(yield[a,g.value])}A=[...d(this,g,"f")];for(let t=A.length-1;t>=0;--t){const i=A[t],[g,n]=i;d(this,a,"f").has(g)||d(this,e,"m",o).call(this,g,n)||(yield[g,n.value])}}*entriesAscending(){for(const[A,t]of d(this,e,"m",l).call(this))yield[A,t.value]}get size(){if(!d(this,i,"f"))return d(this,g,"f").size;let A=0;for(const t of d(this,g,"f").keys())d(this,a,"f").has(t)||A++;return Math.min(d(this,i,"f")+A,d(this,n,"f"))}get maxSize(){return d(this,n,"f")}get maxAge(){return d(this,r,"f")}entries(){return this.entriesAscending()}forEach(A,t=this){for(const[e,i]of this.entriesAscending())A.call(t,i,e,this)}get[Symbol.toStringTag](){return"QuickLRU"}toString(){return`QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}t.default=f},942(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{blob;constructor(A){this.blob=A}async read(A,t=0){if(!A)return new Uint8Array(0);const e=this.blob.slice(t,t+A);return e.bytes?e.bytes():new Uint8Array(await e.arrayBuffer())}async readFile(A){const t="string"==typeof A?A:A?.encoding;if("utf8"===t)return this.blob.text();if(t)throw new Error(`unsupported encoding: ${t}`);return this.blob.bytes?this.blob.bytes():new Uint8Array(await this.blob.arrayBuffer())}stat(){return Promise.resolve({size:this.blob.size})}close(){return Promise.resolve()}}},855(A,t,e){var i=this&&this.__createBinding||(Object.create?function(A,t,e,i){void 0===i&&(i=e);var a=Object.getOwnPropertyDescriptor(t,e);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(A,i,a)}:function(A,t,e,i){void 0===i&&(i=e),A[i]=t[e]}),a=this&&this.__exportStar||function(A,t){for(var e in A)"default"===e||Object.prototype.hasOwnProperty.call(t,e)||i(t,A,e)},g=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalFile=t.RemoteFile=t.BlobFile=void 0,a(e(863),t);var n=e(942);Object.defineProperty(t,"BlobFile",{enumerable:!0,get:function(){return g(n).default}});var r=e(231);Object.defineProperty(t,"RemoteFile",{enumerable:!0,get:function(){return g(r).default}}),t.LocalFile=class{readFile(){throw new Error("unimplemented")}read(){throw new Error("unimplemented")}close(){throw new Error("unimplemented")}}},863(A,t){Object.defineProperty(t,"__esModule",{value:!0})},231(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{url;_stat;fetchImplementation;baseHeaders;baseOverrides;constructor(A,t={}){this.url=A,this.baseHeaders=t.headers??{},this.baseOverrides=t.overrides??{},this.fetchImplementation=t.fetch??((A,t)=>globalThis.fetch(A,t))}async fetch(A,t){const e=t=>new Error(`${function(A){return("object"==typeof A&&null!==A&&"message"in A&&"string"==typeof A.message?A.message:`${A}`).replace(/\.$/,"")}(t)} fetching ${A}`,{cause:t});let i;try{i=await this.fetchImplementation(A,t)}catch(a){if(!`${a}`.includes("Failed to fetch"))throw e(a);console.warn(`generic-filehandle: refetching ${A} to attempt to work around chrome CORS header caching bug`);try{i=await this.fetchImplementation(A,{...t,cache:"reload"})}catch(A){throw e(A)}}return i}async read(A,t,e={}){if(0===A)return new Uint8Array(0);if(Number.isNaN(A)||Number.isNaN(t))throw new TypeError(`read() called with NaN length or position (length=${A}, position=${t}). The index file may be corrupt.`);const{headers:i={},signal:a,overrides:g={}}=e;i.range=`bytes=${t}-${t+A-1}`;const n=await this.fetch(this.url,{...this.baseOverrides,...g,headers:{...this.baseHeaders,...i},method:"GET",redirect:"follow",mode:"cors",signal:a});if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if(200===n.status&&0===t||206===n.status){const t=n.headers.get("content-range"),e=/\/(\d+)$/.exec(t??"");e?.[1]&&(this._stat={size:parseInt(e[1],10)});const i=n.bytes?await n.bytes():new Uint8Array(await n.arrayBuffer());return i.byteLength<=A?i:i.subarray(0,A)}throw new Error(200===n.status?`${this.url} fetch returned status 200, expected 206`:`HTTP ${n.status} fetching ${this.url}`)}async readFile(A={}){const t="string"==typeof A?A:A.encoding,e="string"==typeof A?{}:A,{headers:i={},signal:a,overrides:g={}}=e,n=await this.fetch(this.url,{...this.baseOverrides,...g,headers:{...this.baseHeaders,...i},method:"GET",redirect:"follow",mode:"cors",signal:a});if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if("utf8"===t)return n.text();if(t)throw new Error(`unsupported encoding: ${t}`);return n.bytes?n.bytes():new Uint8Array(await n.arrayBuffer())}async stat(){return this._stat||await this.read(10,0),this._stat??{size:0}}close(){return Promise.resolve()}}},850(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.Deflate=void 0,t.deflate=C,t.deflateRaw=function(A,t){return(t=t||{}).raw=!0,C(A,t)},t.gzip=function(A,t){return(t=t||{}).gzip=!0,C(A,t)};const a=e(790),g=e(581),n=e(978),r=e(708),s=i(e(263)),I=i(e(877));var o=Object.prototype.toString;class Q{constructor(A){this.options=(0,a.assign)({level:n.Z_DEFAULT_COMPRESSION,method:n.Z_DEFLATED,chunkSize:16384,windowBits:15,memLevel:8,strategy:n.Z_DEFAULT_STRATEGY,to:""},A||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new I.default,this.strm.avail_out=0;var e=(0,r.deflateInit2)(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==n.Z_OK)throw new Error(s.default[e]);if(t.header&&(0,r.deflateSetHeader)(this.strm,t.header),t.dictionary){var i;if(i="string"==typeof t.dictionary?(0,g.string2buf)(t.dictionary):"[object ArrayBuffer]"===o.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(e=(0,r.deflateSetDictionary)(this.strm,i))!==n.Z_OK)throw new Error(s.default[e]);this._dict_set=!0}}push(A,t){var e,i,s=this.strm,I=this.options.chunkSize;if(this.ended)return!1;i=t===~~t?t:!0===t?n.Z_FINISH:n.Z_NO_FLUSH,"string"==typeof A?s.input=(0,g.string2buf)(A):"[object ArrayBuffer]"===o.call(A)?s.input=new Uint8Array(A):s.input=A,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=(0,a.Buf8)(I),s.next_out=0,s.avail_out=I),(e=(0,r.deflate)(s,i))!==n.Z_STREAM_END&&e!==n.Z_OK)return this.onEnd(e),this.ended=!0,!1;0!==s.avail_out&&(0!==s.avail_in||i!==n.Z_FINISH&&i!==n.Z_SYNC_FLUSH)||("string"===this.options.to?this.onData((0,g.buf2binstring)((0,a.shrinkBuf)(s.output,s.next_out))):this.onData((0,a.shrinkBuf)(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&e!==n.Z_STREAM_END);return i===n.Z_FINISH?(e=(0,r.deflateEnd)(this.strm),this.onEnd(e),this.ended=!0,e===n.Z_OK):i!==n.Z_SYNC_FLUSH||(this.onEnd(n.Z_OK),s.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===n.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,a.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function C(A,t){var e=new Q(t);if(e.push(A,!0),e.err)throw e.msg||s.default[e.err];return e.result}t.Deflate=Q},426(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.ungzip=t.Inflate=void 0,t.inflate=B,t.inflateRaw=function(A,t){return(t=t||{}).raw=!0,B(A,t)};const a=e(790),g=e(581),n=e(978),r=i(e(547)),s=e(184),I=i(e(263)),o=i(e(877));var Q=Object.prototype.toString;class C{constructor(A){if(!(this instanceof C))return new C(A);this.options=(0,a.assign)({chunkSize:16384,windowBits:0,to:""},A||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||A&&A.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o.default,this.strm.avail_out=0;var e=(0,s.inflateInit2)(this.strm,t.windowBits);if(e!==n.Z_OK)throw new Error(I.default[e]);if(this.header=new r.default,(0,s.inflateGetHeader)(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=(0,g.string2buf)(t.dictionary):"[object ArrayBuffer]"===Q.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=(0,s.inflateSetDictionary)(this.strm,t.dictionary))!==n.Z_OK))throw new Error(I.default[e])}push(A,t){var e,i,r,I,o,C,B=this.strm,E=this.options.chunkSize,h=this.options.dictionary,l=!1;if(this.ended)return!1;i=t===~~t?t:!0===t?n.Z_FINISH:n.Z_NO_FLUSH,"string"==typeof A?B.input=(0,g.binstring2buf)(A):"[object ArrayBuffer]"===Q.call(A)?B.input=new Uint8Array(A):B.input=A,B.next_in=0,B.avail_in=B.input.length;do{if(0===B.avail_out&&(B.output=(0,a.Buf8)(E),B.next_out=0,B.avail_out=E),(e=(0,s.inflate)(B,n.Z_NO_FLUSH))===n.Z_NEED_DICT&&h&&(C="string"==typeof h?(0,g.string2buf)(h):"[object ArrayBuffer]"===Q.call(h)?new Uint8Array(h):h,e=(0,s.inflateSetDictionary)(this.strm,C)),e===n.Z_BUF_ERROR&&!0===l&&(e=n.Z_OK,l=!1),e!==n.Z_STREAM_END&&e!==n.Z_OK)return this.onEnd(e),this.ended=!0,!1;B.next_out&&(0!==B.avail_out&&e!==n.Z_STREAM_END&&(0!==B.avail_in||i!==n.Z_FINISH&&i!==n.Z_SYNC_FLUSH)||("string"===this.options.to?(r=(0,g.utf8border)(B.output,B.next_out),I=B.next_out-r,o=(0,g.buf2string)(B.output,r),B.next_out=I,B.avail_out=E-I,I&&(0,a.arraySet)(B.output,B.output,r,I,0),this.onData(o)):this.onData((0,a.shrinkBuf)(B.output,B.next_out)))),0===B.avail_in&&0===B.avail_out&&(l=!0)}while((B.avail_in>0||0===B.avail_out)&&e!==n.Z_STREAM_END);return e===n.Z_STREAM_END&&(i=n.Z_FINISH),i===n.Z_FINISH?(e=(0,s.inflateEnd)(this.strm),this.onEnd(e),this.ended=!0,e===n.Z_OK):i!==n.Z_SYNC_FLUSH||(this.onEnd(n.Z_OK),B.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===n.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,a.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function B(A,t){var e=new C(t);if(e.push(A,!0),e.err)throw e.msg||I.default[e.err];return e.result}t.Inflate=C,t.ungzip=B},196(A,t,e){var i=this&&this.__createBinding||(Object.create?function(A,t,e,i){void 0===i&&(i=e);var a=Object.getOwnPropertyDescriptor(t,e);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(A,i,a)}:function(A,t,e,i){void 0===i&&(i=e),A[i]=t[e]}),a=this&&this.__exportStar||function(A,t){for(var e in A)"default"===e||Object.prototype.hasOwnProperty.call(t,e)||i(t,A,e)};Object.defineProperty(t,"__esModule",{value:!0}),a(e(978),t),a(e(426),t),a(e(850),t)},790(A,t){function e(A,t){return Object.prototype.hasOwnProperty.call(A,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Buf32=t.Buf16=t.Buf8=t.flattenChunks=t.arraySet=void 0,t.assign=function(A){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var a in i)e(i,a)&&(A[a]=i[a])}}return A},t.shrinkBuf=function(A,t){return A.length===t?A:A.subarray?A.subarray(0,t):(A.length=t,A)},t.setTyped=function(A){t.arraySet=A?i.arraySet:a.arraySet,t.flattenChunks=A?i.flattenChunks:a.flattenChunks,t.Buf8=A?i.Buf8:a.Buf8,t.Buf16=A?i.Buf16:a.Buf16,t.Buf32=A?i.Buf32:a.Buf32};var i={arraySet:function(A,t,e,i,a){if(t.subarray&&A.subarray)A.set(t.subarray(e,e+i),a);else for(var g=0;g<i;g++)A[a+g]=t[e+g]},flattenChunks:function(A){var t,e,i,a,g,n;for(i=0,t=0,e=A.length;t<e;t++)i+=A[t].length;for(n=new Uint8Array(i),a=0,t=0,e=A.length;t<e;t++)g=A[t],n.set(g,a),a+=g.length;return n},Buf8:function(A){return new Uint8Array(A)},Buf16:function(A){return new Uint16Array(A)},Buf32:function(A){return new Int32Array(A)}},a={arraySet:function(A,t,e,i,a){for(var g=0;g<i;g++)A[a+g]=t[e+g]},flattenChunks:function(A){return[].concat.apply([],A)},Buf8:function(A){return new Array(A)},Buf16:function(A){return new Array(A)},Buf32:function(A){return new Array(A)}};let g=()=>{const A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;return g=()=>A,A};t.arraySet=(A,e,n,r,s)=>(t.arraySet=g()?i.arraySet:a.arraySet,(0,t.arraySet)(A,e,n,r,s)),t.flattenChunks=A=>(t.flattenChunks=g()?i.flattenChunks:a.flattenChunks,(0,t.flattenChunks)(A)),t.Buf8=A=>(t.Buf8=g()?i.Buf8:a.Buf8,(0,t.Buf8)(A)),t.Buf16=A=>(t.Buf16=g()?i.Buf16:a.Buf16,(0,t.Buf16)(A)),t.Buf32=A=>(t.Buf32=g()?i.Buf32:a.Buf32,(0,t.Buf32)(A))},581(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.string2buf=function(A){var t,e,i,a,g,n=A.length,r=0;for(a=0;a<n;a++)55296==(64512&(e=A.charCodeAt(a)))&&a+1<n&&56320==(64512&(i=A.charCodeAt(a+1)))&&(e=65536+(e-55296<<10)+(i-56320),a++),r+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(r),g=0,a=0;g<r;a++)55296==(64512&(e=A.charCodeAt(a)))&&a+1<n&&56320==(64512&(i=A.charCodeAt(a+1)))&&(e=65536+(e-55296<<10)+(i-56320),a++),e<128?t[g++]=e:e<2048?(t[g++]=192|e>>>6,t[g++]=128|63&e):e<65536?(t[g++]=224|e>>>12,t[g++]=128|e>>>6&63,t[g++]=128|63&e):(t[g++]=240|e>>>18,t[g++]=128|e>>>12&63,t[g++]=128|e>>>6&63,t[g++]=128|63&e);return t},t.buf2binstring=function(A){return r(A,A.length)},t.binstring2buf=function(A){for(var t=new Uint8Array(A.length),e=0,i=t.length;e<i;e++)t[e]=A.charCodeAt(e);return t},t.buf2string=function(A,t){var e,i,a,g,s=t||A.length,I=new Array(2*s);for(i=0,e=0;e<s;)if((a=A[e++])<128)I[i++]=a;else if((g=n(a))>4)I[i++]=65533,e+=g-1;else{for(a&=2===g?31:3===g?15:7;g>1&&e<s;)a=a<<6|63&A[e++],g--;g>1?I[i++]=65533:a<65536?I[i++]=a:(a-=65536,I[i++]=55296|a>>10&1023,I[i++]=56320|1023&a)}return r(I,i)},t.utf8border=function(A,t){var e;for((t=t||A.length)>A.length&&(t=A.length),e=t-1;e>=0&&128==(192&A[e]);)e--;return e<0||0===e?t:e+n(A[e])>t?e:t};const i=e(790);let a=function(){let A=!0;try{String.fromCharCode.apply(null,[0])}catch(t){A=!1}return a=()=>A,A},g=function(){let A=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){A=!1}return g=()=>A,A},n=function(A){for(var t=(0,i.Buf8)(256),e=0;e<256;e++)t[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;return t[254]=t[254]=1,n=A=>t[A],t[A]};function r(A,t){if(t<65534&&(A.subarray&&g()||!A.subarray&&a()))return String.fromCharCode.apply(null,(0,i.shrinkBuf)(A,t));for(var e="",n=0;n<t;n++)e+=String.fromCharCode(A[n]);return e}},654(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t,e,i){for(var a=65535&A,g=A>>>16&65535,n=0;0!==e;){e-=n=e>2e3?2e3:e;do{g=g+(a=a+t[i++]|0)|0}while(--n);a%=65521,g%=65521}return a|g<<16}},978(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Z_DEFLATED=t.Z_UNKNOWN=t.Z_TEXT=t.Z_BINARY=t.Z_DEFAULT_STRATEGY=t.Z_FIXED=t.Z_RLE=t.Z_HUFFMAN_ONLY=t.Z_FILTERED=t.Z_DEFAULT_COMPRESSION=t.Z_BEST_COMPRESSION=t.Z_BEST_SPEED=t.Z_NO_COMPRESSION=t.Z_BUF_ERROR=t.Z_DATA_ERROR=t.Z_STREAM_ERROR=t.Z_ERRNO=t.Z_NEED_DICT=t.Z_STREAM_END=t.Z_OK=t.Z_TREES=t.Z_BLOCK=t.Z_FINISH=t.Z_FULL_FLUSH=t.Z_SYNC_FLUSH=t.Z_PARTIAL_FLUSH=t.Z_NO_FLUSH=void 0,t.Z_NO_FLUSH=0,t.Z_PARTIAL_FLUSH=1,t.Z_SYNC_FLUSH=2,t.Z_FULL_FLUSH=3,t.Z_FINISH=4,t.Z_BLOCK=5,t.Z_TREES=6,t.Z_OK=0,t.Z_STREAM_END=1,t.Z_NEED_DICT=2,t.Z_ERRNO=-1,t.Z_STREAM_ERROR=-2,t.Z_DATA_ERROR=-3,t.Z_BUF_ERROR=-5,t.Z_NO_COMPRESSION=0,t.Z_BEST_SPEED=1,t.Z_BEST_COMPRESSION=9,t.Z_DEFAULT_COMPRESSION=-1,t.Z_FILTERED=1,t.Z_HUFFMAN_ONLY=2,t.Z_RLE=3,t.Z_FIXED=4,t.Z_DEFAULT_STRATEGY=0,t.Z_BINARY=0,t.Z_TEXT=1,t.Z_UNKNOWN=2,t.Z_DEFLATED=8},896(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t,i,a){var g=e(),n=a+i;A^=-1;for(var r=a;r<n;r++)A=A>>>8^g[255&(A^t[r])];return-1^A};let e=function(){const A=function(){for(var A,t=[],e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;t[e]=A}return t}();return e=()=>A,A}},708(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.deflateInfo=void 0,t.deflateResetKeep=S,t.deflateReset=R,t.deflateSetHeader=function(A,t){return A&&A.state?2!==A.state.wrap?g.Z_STREAM_ERROR:(A.state.gzhead=t,g.Z_OK):g.Z_STREAM_ERROR},t.deflateInit2=J,t.deflateInit=function(A,t){return J(A,t,g.Z_DEFLATED,15,8,g.Z_DEFAULT_STRATEGY)},t.deflate=function(A,t){var e,i,a,r;if(!A||!A.state||t>g.Z_BLOCK||t<0)return A?h(A,g.Z_STREAM_ERROR):g.Z_STREAM_ERROR;if(i=A.state,!A.output||!A.input&&0!==A.avail_in||i.status===E&&t!==g.Z_FINISH)return h(A,0===A.avail_out?g.Z_BUF_ERROR:g.Z_STREAM_ERROR);if(i.strm=A,e=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)A.adler=0,u(i,31),u(i,139),u(i,8),i.gzhead?(u(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),u(i,255&i.gzhead.time),u(i,i.gzhead.time>>8&255),u(i,i.gzhead.time>>16&255),u(i,i.gzhead.time>>24&255),u(i,9===i.level?2:i.strategy>=g.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(u(i,255&i.gzhead.extra.length),u(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(u(i,0),u(i,0),u(i,0),u(i,0),u(i,0),u(i,9===i.level?2:i.strategy>=g.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,3),i.status=B);else{var I=g.Z_DEFLATED+(i.w_bits-8<<4)<<8;I|=(i.strategy>=g.Z_HUFFMAN_ONLY||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(I|=32),I+=31-I%31,i.status=B,_(i,I),0!==i.strstart&&(_(i,A.adler>>>16),_(i,65535&A.adler)),A.adler=1}if(69===i.status)if(i.gzhead.extra){for(a=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),d(A),a=i.pending,i.pending!==i.pending_buf_size));)u(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),d(A),a=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,u(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),0===r&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),d(A),a=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,u(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),0===r&&(i.status=C)}else i.status=C;if(i.status===C&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&d(A),i.pending+2<=i.pending_buf_size&&(u(i,255&A.adler),u(i,A.adler>>8&255),A.adler=0,i.status=B)):i.status=B),0!==i.pending){if(d(A),0===A.avail_out)return i.last_flush=-1,g.Z_OK}else if(0===A.avail_in&&l(t)<=l(e)&&t!==g.Z_FINISH)return h(A,g.Z_BUF_ERROR);if(i.status===E&&0!==A.avail_in)return h(A,g.Z_BUF_ERROR);if(0!==A.avail_in||0!==i.lookahead||t!==g.Z_NO_FLUSH&&i.status!==E){var Q=i.strategy===g.Z_HUFFMAN_ONLY?function(A,t){for(var e;;){if(0===A.lookahead&&(D(A),0===A.lookahead)){if(t===g.Z_NO_FLUSH)return 1;break}if(A.match_length=0,e=(0,s._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,t):i.strategy===g.Z_RLE?function(A,t){for(var e,i,a,n,r=A.window;;){if(A.lookahead<=o){if(D(A),A.lookahead<=o&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(i=r[a=A.strstart-1])===r[++a]&&i===r[++a]&&i===r[++a]){n=A.strstart+o;do{}while(i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&a<n);A.match_length=o-(n-a),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(e=(0,s._tr_tally)(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=(0,s._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,t):N()[i.level].func(i,t);if(3!==Q&&4!==Q||(i.status=E),1===Q||3===Q)return 0===A.avail_out&&(i.last_flush=-1),g.Z_OK;if(2===Q&&(t===g.Z_PARTIAL_FLUSH?(0,s._tr_align)(i):t!==g.Z_BLOCK&&((0,s._tr_stored_block)(i,0,0,!1),t===g.Z_FULL_FLUSH&&(c(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),d(A),0===A.avail_out))return i.last_flush=-1,g.Z_OK}return t!==g.Z_FINISH?g.Z_OK:i.wrap<=0?g.Z_STREAM_END:(2===i.wrap?(u(i,255&A.adler),u(i,A.adler>>8&255),u(i,A.adler>>16&255),u(i,A.adler>>24&255),u(i,255&A.total_in),u(i,A.total_in>>8&255),u(i,A.total_in>>16&255),u(i,A.total_in>>24&255)):(_(i,A.adler>>>16),_(i,65535&A.adler)),d(A),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?g.Z_OK:g.Z_STREAM_END)},t.deflateEnd=function(A){var t;return A&&A.state?42!==(t=A.state.status)&&69!==t&&73!==t&&91!==t&&t!==C&&t!==B&&t!==E?h(A,g.Z_STREAM_ERROR):(A.state=null,t===B?h(A,g.Z_DATA_ERROR):g.Z_OK):g.Z_STREAM_ERROR},t.deflateSetDictionary=function(A,t){var e,i,n,r,s,o,Q,C,B=t.length;if(!A||!A.state)return g.Z_STREAM_ERROR;if(2===(r=(e=A.state).wrap)||1===r&&42!==e.status||e.lookahead)return g.Z_STREAM_ERROR;for(1===r&&(A.adler=(0,a.default)(A.adler,t,B,0)),e.wrap=0,B>=e.w_size&&(0===r&&(c(e.head),e.strstart=0,e.block_start=0,e.insert=0),C=(0,I.Buf8)(e.w_size),(0,I.arraySet)(C,t,B-e.w_size,e.w_size,0),t=C,B=e.w_size),s=A.avail_in,o=A.next_in,Q=A.input,A.avail_in=B,A.next_in=0,A.input=t,D(e);e.lookahead>=3;){i=e.strstart,n=e.lookahead-2;do{e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+3-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++}while(--n);e.strstart=i,e.lookahead=2,D(e)}return e.strstart+=e.lookahead,e.block_start=e.strstart,e.insert=e.lookahead,e.lookahead=0,e.match_length=e.prev_length=2,e.match_available=0,A.next_in=o,A.input=Q,A.avail_in=s,e.wrap=r,g.Z_OK};const a=i(e(654)),g=e(978),n=i(e(896)),r=i(e(263)),s=e(926),I=e(790);var o=258,Q=262,C=103,B=113,E=666;function h(A,t){return A.msg=r.default[t],t}function l(A){return(A<<1)-(A>4?9:0)}function c(A){for(var t=A.length;--t>=0;)A[t]=0}function d(A){var t=A.state,e=t.pending;e>A.avail_out&&(e=A.avail_out),0!==e&&((0,I.arraySet)(A.output,t.pending_buf,t.pending_out,e,A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,0===t.pending&&(t.pending_out=0))}function f(A,t){(0,s._tr_flush_block)(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,d(A.strm)}function u(A,t){A.pending_buf[A.pending++]=t}function _(A,t){A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=255&t}function w(A,t,e,i){var g=A.avail_in;return g>i&&(g=i),0===g?0:(A.avail_in-=g,(0,I.arraySet)(t,A.input,A.next_in,g,e),1===A.state.wrap?A.adler=(0,a.default)(A.adler,t,g,e):2===A.state.wrap&&(A.adler=(0,n.default)(A.adler,t,g,e)),A.next_in+=g,A.total_in+=g,g)}function y(A,t){var e,i,a=A.max_chain_length,g=A.strstart,n=A.prev_length,r=A.nice_match,s=A.strstart>A.w_size-Q?A.strstart-(A.w_size-Q):0,I=A.window,C=A.w_mask,B=A.prev,E=A.strstart+o,h=I[g+n-1],l=I[g+n];A.prev_length>=A.good_match&&(a>>=2),r>A.lookahead&&(r=A.lookahead);do{if(I[(e=t)+n]===l&&I[e+n-1]===h&&I[e]===I[g]&&I[++e]===I[g+1]){g+=2,e++;do{}while(I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&g<E);if(i=o-(E-g),g=E-o,i>n){if(A.match_start=t,n=i,i>=r)break;h=I[g+n-1],l=I[g+n]}}}while((t=B[t&C])>s&&0!==--a);return n<=A.lookahead?n:A.lookahead}function D(A){var t,e,i,a,g,n=A.w_size;do{if(a=A.window_size-A.lookahead-A.strstart,A.strstart>=n+(n-Q)){(0,I.arraySet)(A.window,A.window,n,n,0),A.match_start-=n,A.strstart-=n,A.block_start-=n,t=e=A.hash_size;do{i=A.head[--t],A.head[t]=i>=n?i-n:0}while(--e);t=e=n;do{i=A.prev[--t],A.prev[t]=i>=n?i-n:0}while(--e);a+=n}if(0===A.strm.avail_in)break;if(e=w(A.strm,A.window,A.strstart+A.lookahead,a),A.lookahead+=e,A.lookahead+A.insert>=3)for(g=A.strstart-A.insert,A.ins_h=A.window[g],A.ins_h=(A.ins_h<<A.hash_shift^A.window[g+1])&A.hash_mask;A.insert&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[g+3-1])&A.hash_mask,A.prev[g&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=g,g++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<Q&&0!==A.strm.avail_in)}function b(A,t){var e=65535;for(e>A.pending_buf_size-5&&(e=A.pending_buf_size-5);;){if(A.lookahead<=1){if(D(A),0===A.lookahead&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var i=A.block_start+e;if((0===A.strstart||A.strstart>=i)&&(A.lookahead=A.strstart-i,A.strstart=i,f(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-Q&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(f(A,!1),A.strm.avail_out),1)}function k(A,t){for(var e,i;;){if(A.lookahead<Q){if(D(A),A.lookahead<Q&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(e=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==e&&A.strstart-e<=A.w_size-Q&&(A.match_length=y(A,e)),A.match_length>=3)if(i=(0,s._tr_tally)(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!==--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+1])&A.hash_mask;else i=(0,s._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function m(A,t){for(var e,i,a;;){if(A.lookahead<Q){if(D(A),A.lookahead<Q&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(e=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==e&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-Q&&(A.match_length=y(A,e),A.match_length<=5&&(A.strategy===g.Z_FILTERED||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){a=A.strstart+A.lookahead-3,i=(0,s._tr_tally)(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=a&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!==--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,i&&(f(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if((i=(0,s._tr_tally)(A,0,A.window[A.strstart-1]))&&f(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=(0,s._tr_tally)(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function p(A,t,e,i,a){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=a}let N=function(){const A=[new p(0,0,0,0,b),new p(4,4,8,4,k),new p(4,5,16,8,k),new p(4,6,32,32,k),new p(4,4,16,16,m),new p(8,16,32,32,m),new p(8,16,128,128,m),new p(8,32,128,256,m),new p(32,128,258,1024,m),new p(32,258,258,4096,m)];return N=()=>A,A};function F(){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=g.Z_DEFLATED,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=(0,I.Buf16)(1146),this.dyn_dtree=(0,I.Buf16)(122),this.bl_tree=(0,I.Buf16)(78),c(this.dyn_ltree),c(this.dyn_dtree),c(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=(0,I.Buf16)(16),this.heap=(0,I.Buf16)(573),c(this.heap),this.heap_len=0,this.heap_max=0,this.depth=(0,I.Buf16)(573),c(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function S(A){var t;return A&&A.state?(A.total_in=A.total_out=0,A.data_type=g.Z_UNKNOWN,(t=A.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:B,A.adler=2===t.wrap?0:1,t.last_flush=g.Z_NO_FLUSH,(0,s._tr_init)(t),g.Z_OK):h(A,g.Z_STREAM_ERROR)}function R(A){var t=S(A);return t===g.Z_OK&&function(A){A.window_size=2*A.w_size,c(A.head);const t=N();A.max_lazy_match=t[A.level].max_lazy,A.good_match=t[A.level].good_length,A.nice_match=t[A.level].nice_length,A.max_chain_length=t[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=2,A.match_available=0,A.ins_h=0}(A.state),t}function J(A,t,e,i,a,n){if(!A)return g.Z_STREAM_ERROR;var r=1;if(t===g.Z_DEFAULT_COMPRESSION&&(t=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),a<1||a>9||e!==g.Z_DEFLATED||i<8||i>15||t<0||t>9||n<0||n>g.Z_FIXED)return h(A,g.Z_STREAM_ERROR);8===i&&(i=9);var s=new F;return A.state=s,s.strm=A,s.wrap=r,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=a+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+3-1)/3),s.window=(0,I.Buf8)(2*s.w_size),s.head=(0,I.Buf16)(s.hash_size),s.prev=(0,I.Buf16)(s.w_size),s.lit_bufsize=1<<a+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=(0,I.Buf8)(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=n,s.method=e,R(A)}t.deflateInfo="pako deflate (from Nodeca project)"},547(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},778(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t){var e,i,a,g,n,r,s,I,o,Q,C,B,E,h,l,c,d,f,u,_,w,y,D,b,k;e=A.state,i=A.next_in,b=A.input,a=i+(A.avail_in-5),g=A.next_out,k=A.output,n=g-(t-A.avail_out),r=g+(A.avail_out-257),s=e.dmax,I=e.wsize,o=e.whave,Q=e.wnext,C=e.window,B=e.hold,E=e.bits,h=e.lencode,l=e.distcode,c=(1<<e.lenbits)-1,d=(1<<e.distbits)-1;A:do{E<15&&(B+=b[i++]<<E,E+=8,B+=b[i++]<<E,E+=8),f=h[B&c];t:for(;;){if(B>>>=u=f>>>24,E-=u,0==(u=f>>>16&255))k[g++]=65535&f;else{if(!(16&u)){if(64&u){if(32&u){e.mode=12;break A}A.msg="invalid literal/length code",e.mode=30;break A}f=h[(65535&f)+(B&(1<<u)-1)];continue t}for(_=65535&f,(u&=15)&&(E<u&&(B+=b[i++]<<E,E+=8),_+=B&(1<<u)-1,B>>>=u,E-=u),E<15&&(B+=b[i++]<<E,E+=8,B+=b[i++]<<E,E+=8),f=l[B&d];;){if(B>>>=u=f>>>24,E-=u,16&(u=f>>>16&255)){if(w=65535&f,E<(u&=15)&&(B+=b[i++]<<E,(E+=8)<u&&(B+=b[i++]<<E,E+=8)),(w+=B&(1<<u)-1)>s){A.msg="invalid distance too far back",e.mode=30;break A}if(B>>>=u,E-=u,w>(u=g-n)){if((u=w-u)>o&&e.sane){A.msg="invalid distance too far back",e.mode=30;break A}if(y=0,D=C,0===Q){if(y+=I-u,u<_){_-=u;do{k[g++]=C[y++]}while(--u);y=g-w,D=k}}else if(Q<u){if(y+=I+Q-u,(u-=Q)<_){_-=u;do{k[g++]=C[y++]}while(--u);if(y=0,Q<_){_-=u=Q;do{k[g++]=C[y++]}while(--u);y=g-w,D=k}}}else if(y+=Q-u,u<_){_-=u;do{k[g++]=C[y++]}while(--u);y=g-w,D=k}for(;_>2;)k[g++]=D[y++],k[g++]=D[y++],k[g++]=D[y++],_-=3;_&&(k[g++]=D[y++],_>1&&(k[g++]=D[y++]))}else{y=g-w;do{k[g++]=k[y++],k[g++]=k[y++],k[g++]=k[y++],_-=3}while(_>2);_&&(k[g++]=k[y++],_>1&&(k[g++]=k[y++]))}break}if(64&u){A.msg="invalid distance code",e.mode=30;break A}f=l[(65535&f)+(B&(1<<u)-1)]}}break}}while(i<a&&g<r);return i-=_=E>>3,B&=(1<<(E-=_<<3))-1,A.next_in=i,A.next_out=g,A.avail_in=i<a?a-i+5:5-(i-a),A.avail_out=g<r?r-g+257:257-(g-r),e.hold=B,void(e.bits=E)}},184(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.inflateInfo=void 0,t.inflateResetKeep=E,t.inflateReset=h,t.inflateReset2=l,t.inflateInit2=c,t.inflateInit=function(A){return c(A,15)},t.inflate=function(A,t){var e,i,B,E,h,l,c,d,f,u,y,D,b,k,m,p,N,F,S,R,J,v,G,L,M=0,x=(0,s.Buf8)(4),Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return I;(e=A.state).mode===o&&(e.mode=13),h=A.next_out,B=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=e.hold,f=e.bits,u=l,y=c,v=0;A:for(;;)switch(e.mode){case 1:if(0===e.wrap){e.mode=13;break}for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(2&e.wrap&&35615===d){e.check=0,x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0),d=0,f=0,e.mode=2;break}if(e.flags=0,e.head&&(e.head.done=!1),!(1&e.wrap)||(((255&d)<<8)+(d>>8))%31){A.msg="incorrect header check",e.mode=Q;break}if(8!=(15&d)){A.msg="unknown compression method",e.mode=Q;break}if(f-=4,J=8+(15&(d>>>=4)),0===e.wbits)e.wbits=J;else if(J>e.wbits){A.msg="invalid window size",e.mode=Q;break}e.dmax=1<<J,A.adler=e.check=1,e.mode=512&d?10:o,d=0,f=0;break;case 2:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(e.flags=d,8!=(255&e.flags)){A.msg="unknown compression method",e.mode=Q;break}if(57344&e.flags){A.msg="unknown header flags set",e.mode=Q;break}e.head&&(e.head.text=d>>8&1),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0)),d=0,f=0,e.mode=3;case 3:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.head&&(e.head.time=d),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,x[2]=d>>>16&255,x[3]=d>>>24&255,e.check=(0,g.default)(e.check,x,4,0)),d=0,f=0,e.mode=4;case 4:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.head&&(e.head.xflags=255&d,e.head.os=d>>8),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0)),d=0,f=0,e.mode=5;case 5:if(1024&e.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.length=d,e.head&&(e.head.extra_len=d),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0)),d=0,f=0}else e.head&&(e.head.extra=null);e.mode=6;case 6:if(1024&e.flags&&((D=e.length)>l&&(D=l),D&&(e.head&&(J=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Array(e.head.extra_len)),(0,s.arraySet)(e.head.extra,i,E,D,J)),512&e.flags&&(e.check=(0,g.default)(e.check,i,D,E)),l-=D,E+=D,e.length-=D),e.length))break A;e.length=0,e.mode=7;case 7:if(2048&e.flags){if(0===l)break A;D=0;do{J=i[E+D++],e.head&&J&&e.length<65536&&(e.head.name+=String.fromCharCode(J))}while(J&&D<l);if(512&e.flags&&(e.check=(0,g.default)(e.check,i,D,E)),l-=D,E+=D,J)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=8;case 8:if(4096&e.flags){if(0===l)break A;D=0;do{J=i[E+D++],e.head&&J&&e.length<65536&&(e.head.comment+=String.fromCharCode(J))}while(J&&D<l);if(512&e.flags&&(e.check=(0,g.default)(e.check,i,D,E)),l-=D,E+=D,J)break A}else e.head&&(e.head.comment=null);e.mode=9;case 9:if(512&e.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(65535&e.check)){A.msg="header crc mismatch",e.mode=Q;break}d=0,f=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=o;break;case 10:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}A.adler=e.check=C(d),d=0,f=0,e.mode=11;case 11:if(0===e.havedict)return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,e.hold=d,e.bits=f,2;A.adler=e.check=1,e.mode=o;case o:if(5===t||6===t)break A;case 13:if(e.last){d>>>=7&f,f-=7&f,e.mode=27;break}for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}switch(e.last=1&d,f-=1,3&(d>>>=1)){case 0:e.mode=14;break;case 1:if(_(e),e.mode=20,6===t){d>>>=2,f-=2;break A}break;case 2:e.mode=17;break;case 3:A.msg="invalid block type",e.mode=Q}d>>>=2,f-=2;break;case 14:for(d>>>=7&f,f-=7&f;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if((65535&d)!=(d>>>16^65535)){A.msg="invalid stored block lengths",e.mode=Q;break}if(e.length=65535&d,d=0,f=0,e.mode=15,6===t)break A;case 15:e.mode=16;case 16:if(D=e.length){if(D>l&&(D=l),D>c&&(D=c),0===D)break A;(0,s.arraySet)(B,i,E,D,h),l-=D,E+=D,c-=D,h+=D,e.length-=D;break}e.mode=o;break;case 17:for(;f<14;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(e.nlen=257+(31&d),d>>>=5,f-=5,e.ndist=1+(31&d),d>>>=5,f-=5,e.ncode=4+(15&d),d>>>=4,f-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=Q;break}e.have=0,e.mode=18;case 18:for(;e.have<e.ncode;){for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.lens[Y[e.have++]]=7&d,d>>>=3,f-=3}for(;e.have<19;)e.lens[Y[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,G={bits:e.lenbits},v=(0,r.default)(0,e.lens,0,19,e.lencode,0,e.work,G),e.lenbits=G.bits,v){A.msg="invalid code lengths set",e.mode=Q;break}e.have=0,e.mode=19;case 19:for(;e.have<e.nlen+e.ndist;){for(;p=(M=e.lencode[d&(1<<e.lenbits)-1])>>>16&255,N=65535&M,!((m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(N<16)d>>>=m,f-=m,e.lens[e.have++]=N;else{if(16===N){for(L=m+2;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d>>>=m,f-=m,0===e.have){A.msg="invalid bit length repeat",e.mode=Q;break}J=e.lens[e.have-1],D=3+(3&d),d>>>=2,f-=2}else if(17===N){for(L=m+3;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=m,J=0,D=3+(7&(d>>>=m)),d>>>=3,f-=3}else{for(L=m+7;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=m,J=0,D=11+(127&(d>>>=m)),d>>>=7,f-=7}if(e.have+D>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=Q;break}for(;D--;)e.lens[e.have++]=J}}if(e.mode===Q)break;if(0===e.lens[256]){A.msg="invalid code -- missing end-of-block",e.mode=Q;break}if(e.lenbits=9,G={bits:e.lenbits},v=(0,r.default)(1,e.lens,0,e.nlen,e.lencode,0,e.work,G),e.lenbits=G.bits,v){A.msg="invalid literal/lengths set",e.mode=Q;break}if(e.distbits=6,e.distcode=e.distdyn,G={bits:e.distbits},v=(0,r.default)(2,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,G),e.distbits=G.bits,v){A.msg="invalid distances set",e.mode=Q;break}if(e.mode=20,6===t)break A;case 20:e.mode=21;case 21:if(l>=6&&c>=258){A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,e.hold=d,e.bits=f,(0,n.default)(A,y),h=A.next_out,B=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=e.hold,f=e.bits,e.mode===o&&(e.back=-1);break}for(e.back=0;p=(M=e.lencode[d&(1<<e.lenbits)-1])>>>16&255,N=65535&M,!((m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(p&&!(240&p)){for(F=m,S=p,R=N;p=(M=e.lencode[R+((d&(1<<F+S)-1)>>F)])>>>16&255,N=65535&M,!(F+(m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,e.back+=F}if(d>>>=m,f-=m,e.back+=m,e.length=N,0===p){e.mode=26;break}if(32&p){e.back=-1,e.mode=o;break}if(64&p){A.msg="invalid literal/length code",e.mode=Q;break}e.extra=15&p,e.mode=22;case 22:if(e.extra){for(L=e.extra;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.length+=d&(1<<e.extra)-1,d>>>=e.extra,f-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=23;case 23:for(;p=(M=e.distcode[d&(1<<e.distbits)-1])>>>16&255,N=65535&M,!((m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(!(240&p)){for(F=m,S=p,R=N;p=(M=e.distcode[R+((d&(1<<F+S)-1)>>F)])>>>16&255,N=65535&M,!(F+(m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,e.back+=F}if(d>>>=m,f-=m,e.back+=m,64&p){A.msg="invalid distance code",e.mode=Q;break}e.offset=N,e.extra=15&p,e.mode=24;case 24:if(e.extra){for(L=e.extra;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.offset+=d&(1<<e.extra)-1,d>>>=e.extra,f-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=Q;break}e.mode=25;case 25:if(0===c)break A;if(D=y-c,e.offset>D){if((D=e.offset-D)>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=Q;break}D>e.wnext?(D-=e.wnext,b=e.wsize-D):b=e.wnext-D,D>e.length&&(D=e.length),k=e.window}else k=B,b=h-e.offset,D=e.length;D>c&&(D=c),c-=D,e.length-=D;do{B[h++]=k[b++]}while(--D);0===e.length&&(e.mode=21);break;case 26:if(0===c)break A;B[h++]=e.length,c--,e.mode=21;break;case 27:if(e.wrap){for(;f<32;){if(0===l)break A;l--,d|=i[E++]<<f,f+=8}if(y-=c,A.total_out+=y,e.total+=y,y&&(A.adler=e.check=e.flags?(0,g.default)(e.check,B,y,h-y):(0,a.default)(e.check,B,y,h-y)),y=c,(e.flags?d:C(d))!==e.check){A.msg="incorrect data check",e.mode=Q;break}d=0,f=0}e.mode=28;case 28:if(e.wrap&&e.flags){for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(4294967295&e.total)){A.msg="incorrect length check",e.mode=Q;break}d=0,f=0}e.mode=29;case 29:v=1;break A;case Q:v=-3;break A;case 31:return-4;default:return I}return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,e.hold=d,e.bits=f,(e.wsize||y!==A.avail_out&&e.mode<Q&&(e.mode<27||4!==t))&&w(A,A.output,A.next_out,y-A.avail_out)?(e.mode=31,-4):(u-=A.avail_in,y-=A.avail_out,A.total_in+=u,A.total_out+=y,e.total+=y,e.wrap&&y&&(A.adler=e.check=e.flags?(0,g.default)(e.check,B,y,A.next_out-y):(0,a.default)(e.check,B,y,A.next_out-y)),A.data_type=e.bits+(e.last?64:0)+(e.mode===o?128:0)+(20===e.mode||15===e.mode?256:0),(0===u&&0===y||4===t)&&0===v&&(v=-5),v)},t.inflateEnd=function(A){if(!A||!A.state)return I;var t=A.state;return t.window&&(t.window=null),A.state=null,0},t.inflateGetHeader=function(A,t){var e;return A&&A.state&&2&(e=A.state).wrap?(e.head=t,t.done=!1,0):I},t.inflateSetDictionary=function(A,t){var e,i,g=t.length;return A&&A.state?0!==(e=A.state).wrap&&11!==e.mode?I:11===e.mode&&(i=1,(i=(0,a.default)(i,t,g,0))!==e.check)?-3:w(A,t,g,g)?(e.mode=31,-4):(e.havedict=1,0):I};const a=i(e(654)),g=i(e(896)),n=i(e(778)),r=i(e(407)),s=e(790);var I=-2,o=12,Q=30;function C(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function B(){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=(0,s.Buf16)(320),this.work=(0,s.Buf16)(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(A){var t;return A&&A.state?(t=A.state,A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=(0,s.Buf32)(852),t.distcode=t.distdyn=(0,s.Buf32)(592),t.sane=1,t.back=-1,0):I}function h(A){var t;return A&&A.state?((t=A.state).wsize=0,t.whave=0,t.wnext=0,E(A)):I}function l(A,t){var e,i;return A&&A.state?(i=A.state,t<0?(e=0,t=-t):(e=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?I:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,h(A))):I}function c(A,t){var e,i;return A?(i=new B,A.state=i,i.window=null,0!==(e=l(A,t))&&(A.state=null),e):I}var d,f,u=!0;function _(A){if(u){var t;for(d=(0,s.Buf32)(512),f=(0,s.Buf32)(32),t=0;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for((0,r.default)(1,A.lens,0,288,d,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;(0,r.default)(2,A.lens,0,32,f,0,A.work,{bits:5}),u=!1}A.lencode=d,A.lenbits=9,A.distcode=f,A.distbits=5}function w(A,t,e,i){var a,g=A.state;return null===g.window&&(g.wsize=1<<g.wbits,g.wnext=0,g.whave=0,g.window=(0,s.Buf8)(g.wsize)),i>=g.wsize?((0,s.arraySet)(g.window,t,e-g.wsize,g.wsize,0),g.wnext=0,g.whave=g.wsize):((a=g.wsize-g.wnext)>i&&(a=i),(0,s.arraySet)(g.window,t,e-i,a,g.wnext),(i-=a)?((0,s.arraySet)(g.window,t,e-i,i,0),g.wnext=i,g.whave=g.wsize):(g.wnext+=a,g.wnext===g.wsize&&(g.wnext=0),g.whave<g.wsize&&(g.whave+=a))),0}t.inflateInfo="pako inflate (from Nodeca project)"},407(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t,e,I,o,Q,C,B){var E,h,l,c,d,f,u,_,w,y=B.bits,D=0,b=0,k=0,m=0,p=0,N=0,F=0,S=0,R=0,J=0,v=null,G=0,L=(0,i.Buf16)(16),M=(0,i.Buf16)(16),x=null,Y=0;for(D=0;D<=a;D++)L[D]=0;for(b=0;b<I;b++)L[t[e+b]]++;for(p=y,m=a;m>=1&&0===L[m];m--);if(p>m&&(p=m),0===m)return o[Q++]=20971520,o[Q++]=20971520,B.bits=1,0;for(k=1;k<m&&0===L[k];k++);for(p<k&&(p=k),S=1,D=1;D<=a;D++)if(S<<=1,(S-=L[D])<0)return-1;if(S>0&&(0===A||1!==m))return-1;for(M[1]=0,D=1;D<a;D++)M[D+1]=M[D]+L[D];for(b=0;b<I;b++)0!==t[e+b]&&(C[M[t[e+b]]++]=b);if(0===A?(v=x=C,f=19):1===A?(v=g,G-=257,x=n,Y-=257,f=256):(v=r,x=s,f=-1),J=0,b=0,D=k,d=Q,N=p,F=0,l=-1,c=(R=1<<p)-1,1===A&&R>852||2===A&&R>592)return 1;for(;;){u=D-F,C[b]<f?(_=0,w=C[b]):C[b]>f?(_=x[Y+C[b]],w=v[G+C[b]]):(_=96,w=0),E=1<<D-F,k=h=1<<N;do{o[d+(J>>F)+(h-=E)]=u<<24|_<<16|w}while(0!==h);for(E=1<<D-1;J&E;)E>>=1;if(0!==E?(J&=E-1,J+=E):J=0,b++,0===--L[D]){if(D===m)break;D=t[e+C[b]]}if(D>p&&(J&c)!==l){for(0===F&&(F=p),d+=k,S=1<<(N=D-F);N+F<m&&!((S-=L[N+F])<=0);)N++,S<<=1;if(R+=1<<N,1===A&&R>852||2===A&&R>592)return 1;o[l=J&c]=p<<24|N<<16|d-Q}}return 0!==J&&(o[d+J]=D-F<<24|64<<16),B.bits=p,0};const i=e(790);var a=15,g=[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],n=[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],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],s=[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]},263(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={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"}},926(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t._tr_init=function(A){Y||(function(){var A,t,e,i,a,h=new Array(16);for(g(n=new Array(576)),g(r=new Array(60)),g(s=new Array(512)),g(I=new Array(256)),g(o=new Array(29)),g(Q=new Array(c)),e=0,i=0;i<28;i++)for(o[i]=e,A=0;A<1<<f[i];A++)I[e++]=i;for(I[e-1]=i,a=0,i=0;i<16;i++)for(Q[i]=a,A=0;A<1<<u[i];A++)s[a++]=i;for(a>>=7;i<c;i++)for(Q[i]=a<<7,A=0;A<1<<u[i]-7;A++)s[256+a++]=i;for(t=0;t<=d;t++)h[t]=0;for(A=0;A<=143;)n[2*A+1]=8,A++,h[8]++;for(;A<=255;)n[2*A+1]=9,A++,h[9]++;for(;A<=279;)n[2*A+1]=7,A++,h[7]++;for(;A<=287;)n[2*A+1]=8,A++,h[8]++;for(F(n,287,h),A=0;A<c;A++)r[2*A+1]=5,r[2*A]=N(A,5);C=new y(n,f,257,l,d),B=new y(r,u,0,c,d),E=new y(new Array(0),_,0,19,7)}(),Y=!0),A.l_desc=new D(A.dyn_ltree,C),A.d_desc=new D(A.dyn_dtree,B),A.bl_desc=new D(A.bl_tree,E),A.bi_buf=0,A.bi_valid=0,S(A)},t._tr_stored_block=U,t._tr_align=function(A){m(A,2,3),p(A,256,n),function(A){16===A.bi_valid?(k(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)},t._tr_flush_block=function(A,t,e,a){var g,s,I=0;A.level>0?(A.strm.data_type===i.Z_UNKNOWN&&(A.strm.data_type=function(A){var t,e=4093624447;for(t=0;t<=31;t++,e>>>=1)if(1&e&&0!==A.dyn_ltree[2*t])return i.Z_BINARY;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return i.Z_TEXT;for(t=32;t<h;t++)if(0!==A.dyn_ltree[2*t])return i.Z_TEXT;return i.Z_BINARY}(A)),L(A,A.l_desc),L(A,A.d_desc),I=function(A){var t;for(M(A,A.dyn_ltree,A.l_desc.max_code),M(A,A.dyn_dtree,A.d_desc.max_code),L(A,A.bl_desc),t=18;t>=3&&0===A.bl_tree[2*w[t]+1];t--);return A.opt_len+=3*(t+1)+5+5+4,t}(A),g=A.opt_len+3+7>>>3,(s=A.static_len+3+7>>>3)<=g&&(g=s)):g=s=e+5,e+4<=g&&-1!==t?U(A,t,e,a):A.strategy===i.Z_FIXED||s===g?(m(A,2+(a?1:0),3),G(A,n,r)):(m(A,4+(a?1:0),3),function(A,t,e,i){var a;for(m(A,t-257,5),m(A,e-1,5),m(A,i-4,4),a=0;a<i;a++)m(A,A.bl_tree[2*w[a]+1],3);x(A,A.dyn_ltree,t-1),x(A,A.dyn_dtree,e-1)}(A,A.l_desc.max_code+1,A.d_desc.max_code+1,I+1),G(A,A.dyn_ltree,A.dyn_dtree)),S(A),a&&R(A)},t._tr_tally=function(A,t,e){return A.pending_buf[A.d_buf+2*A.last_lit]=t>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&t,A.pending_buf[A.l_buf+A.last_lit]=255&e,A.last_lit++,0===t?A.dyn_ltree[2*e]++:(A.matches++,t--,A.dyn_ltree[2*(I[e]+h+1)]++,A.dyn_dtree[2*b(t)]++),A.last_lit===A.lit_bufsize-1};const i=e(978),a=e(790);function g(A){for(var t=A.length;--t>=0;)A[t]=0}var n,r,s,I,o,Q,C,B,E,h=256,l=286,c=30,d=15,f=[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],u=[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],_=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],w=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function y(A,t,e,i,a){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=a,this.has_stree=A&&A.length}function D(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}function b(A){return A<256?s[A]:s[256+(A>>>7)]}function k(A,t){A.pending_buf[A.pending++]=255&t,A.pending_buf[A.pending++]=t>>>8&255}function m(A,t,e){A.bi_valid>16-e?(A.bi_buf|=t<<A.bi_valid&65535,k(A,A.bi_buf),A.bi_buf=t>>16-A.bi_valid,A.bi_valid+=e-16):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)}function p(A,t,e){m(A,e[2*t],e[2*t+1])}function N(A,t){var e=0;do{e|=1&A,A>>>=1,e<<=1}while(--t>0);return e>>>1}function F(A,t,e){var i,a,g=new Array(16),n=0;for(i=1;i<=d;i++)g[i]=n=n+e[i-1]<<1;for(a=0;a<=t;a++){var r=A[2*a+1];0!==r&&(A[2*a]=N(g[r]++,r))}}function S(A){var t;for(t=0;t<l;t++)A.dyn_ltree[2*t]=0;for(t=0;t<c;t++)A.dyn_dtree[2*t]=0;for(t=0;t<19;t++)A.bl_tree[2*t]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0}function R(A){A.bi_valid>8?k(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0}function J(A,t,e,i){var a=2*t,g=2*e;return A[a]<A[g]||A[a]===A[g]&&i[t]<=i[e]}function v(A,t,e){for(var i=A.heap[e],a=e<<1;a<=A.heap_len&&(a<A.heap_len&&J(t,A.heap[a+1],A.heap[a],A.depth)&&a++,!J(t,i,A.heap[a],A.depth));)A.heap[e]=A.heap[a],e=a,a<<=1;A.heap[e]=i}function G(A,t,e){var i,a,g,n,r=0;if(0!==A.last_lit)do{i=A.pending_buf[A.d_buf+2*r]<<8|A.pending_buf[A.d_buf+2*r+1],a=A.pending_buf[A.l_buf+r],r++,0===i?p(A,a,t):(p(A,(g=I[a])+h+1,t),0!==(n=f[g])&&m(A,a-=o[g],n),p(A,g=b(--i),e),0!==(n=u[g])&&m(A,i-=Q[g],n))}while(r<A.last_lit);p(A,256,t)}function L(A,t){var e,i,a,g=t.dyn_tree,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,s=t.stat_desc.elems,I=-1;for(A.heap_len=0,A.heap_max=573,e=0;e<s;e++)0!==g[2*e]?(A.heap[++A.heap_len]=I=e,A.depth[e]=0):g[2*e+1]=0;for(;A.heap_len<2;)g[2*(a=A.heap[++A.heap_len]=I<2?++I:0)]=1,A.depth[a]=0,A.opt_len--,r&&(A.static_len-=n[2*a+1]);for(t.max_code=I,e=A.heap_len>>1;e>=1;e--)v(A,g,e);a=s;do{e=A.heap[1],A.heap[1]=A.heap[A.heap_len--],v(A,g,1),i=A.heap[1],A.heap[--A.heap_max]=e,A.heap[--A.heap_max]=i,g[2*a]=g[2*e]+g[2*i],A.depth[a]=(A.depth[e]>=A.depth[i]?A.depth[e]:A.depth[i])+1,g[2*e+1]=g[2*i+1]=a,A.heap[1]=a++,v(A,g,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],function(A,t){var e,i,a,g,n,r,s=t.dyn_tree,I=t.max_code,o=t.stat_desc.static_tree,Q=t.stat_desc.has_stree,C=t.stat_desc.extra_bits,B=t.stat_desc.extra_base,E=t.stat_desc.max_length,h=0;for(g=0;g<=d;g++)A.bl_count[g]=0;for(s[2*A.heap[A.heap_max]+1]=0,e=A.heap_max+1;e<573;e++)(g=s[2*s[2*(i=A.heap[e])+1]+1]+1)>E&&(g=E,h++),s[2*i+1]=g,i>I||(A.bl_count[g]++,n=0,i>=B&&(n=C[i-B]),r=s[2*i],A.opt_len+=r*(g+n),Q&&(A.static_len+=r*(o[2*i+1]+n)));if(0!==h){do{for(g=E-1;0===A.bl_count[g];)g--;A.bl_count[g]--,A.bl_count[g+1]+=2,A.bl_count[E]--,h-=2}while(h>0);for(g=E;0!==g;g--)for(i=A.bl_count[g];0!==i;)(a=A.heap[--e])>I||(s[2*a+1]!==g&&(A.opt_len+=(g-s[2*a+1])*s[2*a],s[2*a+1]=g),i--)}}(A,t),F(g,I,A.bl_count)}function M(A,t,e){var i,a,g=-1,n=t[1],r=0,s=7,I=4;for(0===n&&(s=138,I=3),t[2*(e+1)+1]=65535,i=0;i<=e;i++)a=n,n=t[2*(i+1)+1],++r<s&&a===n||(r<I?A.bl_tree[2*a]+=r:0!==a?(a!==g&&A.bl_tree[2*a]++,A.bl_tree[32]++):r<=10?A.bl_tree[34]++:A.bl_tree[36]++,r=0,g=a,0===n?(s=138,I=3):a===n?(s=6,I=3):(s=7,I=4))}function x(A,t,e){var i,a,g=-1,n=t[1],r=0,s=7,I=4;for(0===n&&(s=138,I=3),i=0;i<=e;i++)if(a=n,n=t[2*(i+1)+1],!(++r<s&&a===n)){if(r<I)do{p(A,a,A.bl_tree)}while(0!==--r);else 0!==a?(a!==g&&(p(A,a,A.bl_tree),r--),p(A,16,A.bl_tree),m(A,r-3,2)):r<=10?(p(A,17,A.bl_tree),m(A,r-3,3)):(p(A,18,A.bl_tree),m(A,r-11,7));r=0,g=a,0===n?(s=138,I=3):a===n?(s=6,I=3):(s=7,I=4)}}var Y=!1;function U(A,t,e,i){m(A,0+(i?1:0),3),function(A,t,e){R(A),k(A,e),k(A,~e),(0,a.arraySet)(A.pending_buf,A.window,t,e,A.pending),A.pending+=e}(A,t,e)}},877(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}},t={},e=function e(i){var a=t[i];if(void 0!==a)return a.exports;var g=t[i]={exports:{}};return A[i].call(g.exports,g,g.exports,e),g.exports}(159);window.gmodTABIX=e})();
|
|
1
|
+
(()=>{"use strict";var A={538(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{minv;maxv;bin;_fetchedSize;constructor(A,t,e,i){this.minv=A,this.maxv=t,this.bin=e,this._fetchedSize=i}toString(){return`${this.minv.toString()}..${this.maxv.toString()} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`}compareTo(A){return this.minv.compareTo(A.minv)||this.maxv.compareTo(A.maxv)||this.bin-A.bin}fetchedSize(){return void 0!==this._fetchedSize?this._fetchedSize:this.maxv.blockPosition+65536-this.minv.blockPosition}}},178(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=e(963),g=i(e(538)),n=i(e(689)),r=e(951),s=e(483);function I(A,t){return A*2**t}function o(A,t){return Math.floor(A/2**t)}class Q extends n.default{maxBinNumber;depth;minShift;constructor(A){super(A),this.maxBinNumber=0,this.depth=0,this.minShift=0}async lineCount(A,t={}){const e=await this.parse(t),i=e.refNameToId[A];return void 0===i?-1:e.indices(i)?.stats?.lineCount??-1}indexCov(){throw new Error("CSI indexes do not support indexcov")}async _parse(A={}){const t=await this.filehandle.readFile({signal:A.signal}),e=await(0,a.unzip)(t),i=new DataView(e.buffer),n=i.getUint32(0,!0);let I;if(21582659===n)I=1;else{if(38359875!==n)throw new Error(`Not a CSI file (magic=${n})`);I=2}this.minShift=i.getInt32(4,!0),this.depth=i.getInt32(8,!0),this.maxBinNumber=((1<<3*(this.depth+1))-1)/7;const o=this.maxBinNumber,Q=2**(this.minShift+3*this.depth),C=i.getInt32(12,!0),B=C>=30?(0,r.parseAuxData)(e,16):{refIdToName:[],refNameToId:{},metaChar:void 0,columnNumbers:{ref:0,start:1,end:2},coordinateType:"zero-based-half-open",format:"generic"},E=i.getInt32(16+C,!0);let h,l=16+C+4;const c=[];for(let A=0;A<E;A++){c.push(l);const A=i.getInt32(l,!0);l+=4;for(let t=0;t<A;t++){const A=i.getUint32(l,!0);l+=4,A>o?l+=44:(h=(0,r.findFirstData)(h,(0,s.fromBytes)(e,l)),l+=8,l+=4+16*i.getInt32(l,!0))}}return{...B,csi:!0,refCount:E,maxBlockSize:65536,firstDataLine:h,csiVersion:I,indices:(0,r.memoizeByRefId)(function(A){const t=c[A];if(void 0===t)return;let a=t;const n=i.getInt32(a,!0);a+=4;const I={};let Q;for(let A=0;A<n;A++){const A=i.getUint32(a,!0);if(a+=4,A>o)Q=(0,r.parsePseudoBin)(e,a+28),a+=44;else{a+=8;const t=i.getInt32(a,!0);a+=4;const n=Array.from({length:t});for(let i=0;i<t;i++)n[i]=new g.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;I[A]=n}}return{binIndex:I,stats:Q}}),depth:this.depth,maxBinNumber:o,maxRefLength:Q}}async blocksForRange(A,t,e,i={}){t<0&&(t=0);const a=await this.parse(i),g=a.refNameToId[A];if(void 0===g)return[];const n=a.indices(g);if(!n)return[];const s=this.reg2bins(t,e),I=[];for(const[A,t]of s)for(let e=A;e<=t;e++){const A=n.binIndex[e];if(A)for(const t of A)I.push(t)}return(0,r.optimizeChunks)(I)}reg2bins(A,t){const e=2**(this.minShift+3*this.depth);t>e&&(t=e),t-=1;let i=0,a=0,g=this.minShift+3*this.depth;const n=[];for(;i<=this.depth;g-=3,a+=I(1,3*i),i+=1){const e=a+o(A,g),i=a+o(t,g);if(i-e+n.length>this.maxBinNumber)throw new Error(`query ${A}-${t} is too large for current binning scheme (shift ${this.minShift}, depth ${this.depth}), try a smaller query or a coarser index binning scheme`);n.push([e,i])}return n}}t.default=Q},159(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.VirtualOffset=t.TBI=t.CSI=t.TabixIndexedFile=void 0;var a=e(522);Object.defineProperty(t,"TabixIndexedFile",{enumerable:!0,get:function(){return i(a).default}});var g=e(178);Object.defineProperty(t,"CSI",{enumerable:!0,get:function(){return i(g).default}});var n=e(409);Object.defineProperty(t,"TBI",{enumerable:!0,get:function(){return i(n).default}});var r=e(483);Object.defineProperty(t,"VirtualOffset",{enumerable:!0,get:function(){return i(r).default}})},689(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{filehandle;parseP;constructor({filehandle:A}){this.filehandle=A}async getMetadata(A={}){const{indices:t,...e}=await this.parse(A);return e}async parse(A={}){return this.parseP??=this._parse(A).catch(A=>{throw this.parseP=void 0,A}),this.parseP}async hasRefSeq(A,t={}){const e=await this.parse(t);return!!e.indices(A)?.binIndex}}},85(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.TWO_PWR_32_DBL=t.TWO_PWR_16_DBL=void 0,t.longFromBytesToUnsigned=function(A,e=0){const i=A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24;return((A[e+4]|A[e+5]<<8|A[e+6]<<16|A[e+7]<<24)>>>0)*t.TWO_PWR_32_DBL+(i>>>0)},t.TWO_PWR_16_DBL=65536,t.TWO_PWR_32_DBL=t.TWO_PWR_16_DBL*t.TWO_PWR_16_DBL},522(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(e(160)),g=e(963),n=i(e(830)),r=e(855),s=i(e(178)),I=i(e(409)),o=e(951);function Q(A,t,e,i,a){return 256*A[e]+(i-t[e])+a+1}function C(A,t,e,i,a,g){let n=t+(i-e);if(46===A[a])return n;let r=a;for(let e=a;e<=g;e++)if(e===g||59===A[e]){const i=e-r;if(i>=10&&83===A[r]&&86===A[r+1]&&84===A[r+2]&&89===A[r+3]&&80===A[r+4]&&69===A[r+5]&&61===A[r+6]&&84===A[r+7]&&82===A[r+8]&&65===A[r+9])return t+1;i>=4&&69===A[r]&&78===A[r+1]&&68===A[r+2]&&61===A[r+3]&&(n=B(A,r+4,e)),r=e+1}return n}function B(A,t,e){let i=0;for(let a=t;a<e;a++){const t=A[a];if(!(t>=48&&t<=57))break;i=10*i+(t-48)}return i}t.default=class{filehandle;index;chunkCache;cache=new n.default({maxSize:1e3});constructor({path:A,filehandle:t,url:e,tbiPath:i,tbiUrl:g,tbiFilehandle:o,csiPath:Q,csiUrl:C,csiFilehandle:B,chunkCacheSize:E=5242880}){if(this.filehandle=function(A,t,e){if(A)return A;if(t)return new r.LocalFile(t);if(e)return new r.RemoteFile(e);throw new TypeError("must provide either filehandle, path, or url")}(t,A,e),o)this.index=new I.default({filehandle:o});else if(B)this.index=new s.default({filehandle:B});else if(i)this.index=new I.default({filehandle:new r.LocalFile(i)});else if(Q)this.index=new s.default({filehandle:new r.LocalFile(Q)});else if(A)this.index=new I.default({filehandle:new r.LocalFile(`${A}.tbi`)});else if(C)this.index=new s.default({filehandle:new r.RemoteFile(C)});else if(g)this.index=new I.default({filehandle:new r.RemoteFile(g)});else{if(!e)throw new TypeError("must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl");this.index=new I.default({filehandle:new r.RemoteFile(`${e}.tbi`)})}this.chunkCache=new a.default({cache:new n.default({maxSize:Math.floor(E/65536)}),fill:(A,t)=>this.readChunk(A,{signal:t})})}async bytesForRegions(A,t={}){const e=[];for(const{refName:i,start:a,end:g}of A){const A=await this.index.blocksForRange(i,a,g,t);for(const t of A)e.push(t)}let i=0;for(const A of(0,o.optimizeChunks)(e))i+=A.fetchedSize();return i}async getLines(A,t,e,i){let a,g,n={};"function"==typeof i?g=i:(n=i,g=i.lineCallback,a=i.signal);const r=await this.index.getMetadata(n),s=t??0,I=e??r.maxRefLength;if(s>I)throw new TypeError("invalid start and end coordinates. start must be less than or equal to end");if(s===I)return;const o=await this.index.blocksForRange(A,s,I,n),E="VCF"===r.format,h=r.columnNumbers.ref||0,l=r.columnNumbers.start||0,c=E?8:r.columnNumbers.end||0,d=Math.max(h,l,c),f=r.metaChar?.charCodeAt(0),u="1-based-closed"===r.coordinateType?-1:0,_=new TextEncoder,w=new TextDecoder,y=_.encode(A),D=new Int32Array(d+1);for(const A of o){const{buffer:t,cpositions:e,dpositions:i}=await this.chunkCache.get(A.toString(),A,a),n=A.minv.dataPosition;let r=0,o=0;for(;r<t.length;){const A=t.indexOf(10,r);if(-1===A)break;const a=r+n;for(;o<i.length&&a>=i[o];)o++;if(void 0!==f&&t[r]===f){r=A+1;continue}D[0]=r-1;for(let e=0;e<d;e++){const i=t.indexOf(9,D[e]+1);if(-1===i||i>=A){D[e+1]=A;break}D[e+1]=i}const _=D[h-1]+1,b=D[h]-_;if(b!==y.length){r=A+1;continue}let k=!0;for(let A=0;A<b;A++)if(t[_+A]!==y[A]){k=!1;break}if(!k){r=A+1;continue}const m=B(t,D[l-1]+1,D[l])+u;if(m>=I)return;let p;p=0===c||c===l?m+1:E?C(t,m,D[3]+1,D[4],D[c-1]+1,D[c]):B(t,D[c-1]+1,D[c]),p>s&&g(w.decode(t.subarray(r,A)),Q(e,i,o,r,n),m,p),r=A+1}}}async getMetadata(A={}){return this.index.getMetadata(A)}async getHeaderBuffer(A={}){const{firstDataLine:t,metaChar:e,maxBlockSize:i}=await this.getMetadata(A),a=(t?.blockPosition??0)+i,n=await this.filehandle.read(a,0,A),r=await(0,g.unzip)(n);if(e){let A=-1;const t=e.charCodeAt(0);for(let e=0,i=r.length;e<i;e++){const i=r[e];if(e===A+1&&i!==t)break;10===i&&(A=e)}return r.subarray(0,A+1)}return r}async getHeader(A={}){const t=await this.getHeaderBuffer(A);return(new TextDecoder).decode(t)}async getReferenceSequenceNames(A={}){return(await this.getMetadata(A)).refIdToName}async lineCount(A,t={}){return this.index.lineCount(A,t)}async readChunk(A,t={}){const e=await this.filehandle.read(A.fetchedSize(),A.minv.blockPosition,t);return(0,g.unzipChunkSlice)(e,A,this.cache)}}},409(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=e(963),g=i(e(538)),n=i(e(689)),r=e(951),s=e(483);class I extends n.default{async lineCount(A,t={}){const e=await this.parse(t),i=e.refNameToId[A];return void 0===i?-1:e.indices(i)?.stats?.lineCount??-1}async _parse(A={}){const t=await this.filehandle.readFile({signal:A.signal}),e=await(0,a.unzip)(t),i=new DataView(e.buffer);if(21578324!==i.getUint32(0,!0))throw new Error("Not a TBI file");const n=i.getUint32(4,!0),{refNameToId:I,refIdToName:o,coordinateType:Q,format:C,columnNumbers:B,metaChar:E,skipLines:h}=(0,r.parseAuxData)(e,8);let l,c=36+i.getInt32(32,!0);const d=[];for(let A=0;A<n;A++){d.push(c);const A=i.getInt32(c,!0);c+=4;for(let t=0;t<A;t++){const A=i.getUint32(c,!0);c+=4;const t=i.getInt32(c,!0);if(c+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");if(37450===A)c+=16*t;else for(let A=0;A<t;A++)l=(0,r.findFirstData)(l,(0,s.fromBytes)(e,c)),c+=16}const t=i.getInt32(c,!0);c+=4;for(let A=0;A<t;A++)l=(0,r.findFirstData)(l,(0,s.fromBytes)(e,c)),c+=8}return{indices:(0,r.memoizeByRefId)(function(A){const t=d[A];if(void 0===t)return;let a=t;const n=i.getInt32(a,!0);a+=4;const I={};let o;for(let A=0;A<n;A++){const A=i.getUint32(a,!0);if(a+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");if(37450===A){const A=i.getInt32(a,!0);a+=4,2===A&&(o=(0,r.parsePseudoBin)(e,a+16)),a+=16*A}else{const t=i.getInt32(a,!0);a+=4;const n=Array.from({length:t});for(let i=0;i<t;i++)n[i]=new g.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;I[A]=n}}const Q=i.getInt32(a,!0);a+=4;const C=Array.from({length:Q});for(let A=0;A<Q;A++)C[A]=(0,s.fromBytes)(e,a),a+=8;return{binIndex:I,linearIndex:C,stats:o}}),metaChar:E,maxBinNumber:37449,maxRefLength:536870912,skipLines:h,firstDataLine:l,columnNumbers:B,coordinateType:Q,format:C,refIdToName:o,refNameToId:I,maxBlockSize:65536}}async blocksForRange(A,t,e,i={}){t<0&&(t=0);const a=await this.parse(i),g=a.refNameToId[A];if(void 0===g)return[];const n=a.indices(g);if(!n)return[];const s=n.linearIndex??[];s.length>0&&t>=2**31&&console.warn("querying outside of possible tabix range");const I=(o=t,Q=e,[[0,0],[1+((o+=1)>>26),1+((Q-=1)>>26)],[9+(o>>23),9+(Q>>23)],[73+(o>>20),73+(Q>>20)],[585+(o>>17),585+(Q>>17)],[4681+(o>>14),4681+(Q>>14)]]);var o,Q;const C=[];for(const[A,t]of I)for(let e=A;e<=t;e++){const A=n.binIndex[e];if(A)for(const t of A)C.push(t)}const B=s[Math.min(t>>14,s.length-1)];return(0,r.optimizeChunks)(C,B)}}t.default=I},951(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.optimizeChunks=function(A,t){const e=A.length;if(0===e)return A;let i;if(t){const a=t.blockPosition,g=t.dataPosition;i=[];for(let t=0;t<e;t++){const e=A[t];(e.maxv.blockPosition-a||e.maxv.dataPosition-g)>0&&i.push(e)}if(0===i.length)return i}else i=A;i.sort((A,t)=>{const e=A.minv.blockPosition-t.minv.blockPosition;return 0===e?A.minv.dataPosition-t.minv.dataPosition:e});const a=[i[0]];let n=i[0].minv.blockPosition,r=i[0].maxv.blockPosition;for(let A=1;A<i.length;A++){const t=i[A],e=t.minv.blockPosition,s=t.maxv.blockPosition;if(e-r<65e3&&s-n<5e6){const A=a.at(-1);(s-r||t.maxv.dataPosition-A.maxv.dataPosition)>0&&(a[a.length-1]=new g.default(A.minv,t.maxv,A.bin),r=s)}else a.push(t),n=e,r=s}return a},t.findFirstData=function(A,t){return!A||A.compareTo(t)>0?t:A},t.parseNameBytes=r,t.parseAuxData=function(A,t){const e=new DataView(A.buffer),i=e.getInt32(t,!0),a=65536&i?"zero-based-half-open":"1-based-closed",g=s[15&i];if(!g)throw new Error(`invalid Tabix preset format flags ${i}`);const n={ref:e.getInt32(t+4,!0),start:e.getInt32(t+8,!0),end:e.getInt32(t+12,!0)},I=e.getInt32(t+16,!0),o=I?String.fromCharCode(I):void 0,Q=e.getInt32(t+20,!0),C=e.getInt32(t+24,!0),{refIdToName:B,refNameToId:E}=r(A.subarray(t+28,t+28+C));return{refIdToName:B,refNameToId:E,skipLines:Q,metaChar:o,columnNumbers:n,format:g,coordinateType:a}},t.parsePseudoBin=function(A,t){return{lineCount:(0,n.longFromBytesToUnsigned)(A,t)}},t.memoizeByRefId=function(A,t=5){const e=new a.default({maxSize:t});return t=>{const i=e.get(t);if(void 0!==i)return i;const a=A(t);return void 0!==a&&e.set(t,a),a}};const a=i(e(830)),g=i(e(538)),n=e(85);function r(A){const t=new TextDecoder("utf-8"),e=[],i={};let a=0,g=0;for(;g<A.length;){const n=A.indexOf(0,g);if(-1===n)break;if(n>g){const r=t.decode(A.subarray(g,n));e[a]=r,i[r]=a}g=n+1,a++}return{refNameToId:i,refIdToName:e}}const s={0:"generic",1:"SAM",2:"VCF"}},483(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.fromBytes=function(A,t=0){return new e(1099511627776*A[t+7]+4294967296*A[t+6]+16777216*A[t+5]+65536*A[t+4]+256*A[t+3]+A[t+2],A[t+1]<<8|A[t])};class e{blockPosition;dataPosition;constructor(A,t){this.blockPosition=A,this.dataPosition=t}toString(){return`${this.blockPosition}:${this.dataPosition}`}compareTo(A){return this.blockPosition-A.blockPosition||this.dataPosition-A.dataPosition}}t.default=e},139(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(e(237)),g=i(e(924));class n{constructor({fill:A,cache:t}){if("function"!=typeof A)throw new TypeError("must pass a fill function");if("object"!=typeof t)throw new TypeError("must pass a cache object");if("function"!=typeof t.get||"function"!=typeof t.set||"function"!=typeof t.delete)throw new TypeError("cache must implement get(key), set(key, val), and and delete(key)");this.cache=t,this.fillCallback=A}static isAbortException(A){return"AbortError"===A.name||"ERR_ABORTED"===A.code||"AbortError: aborted"===A.message||"Error: aborted"===A.message}evict(A,t){this.cache.get(A)===t&&this.cache.delete(A)}fill(A,t,e,i){const n=new a.default,r=new g.default;r.addCallback(i);const s={aborter:n,promise:this.fillCallback(t,n.signal,A=>{r.callback(A)}),settled:!1,statusReporter:r,get aborted(){return this.aborter.signal.aborted}};s.aborter.addSignal(e),s.aborter.signal.addEventListener("abort",()=>{s.settled||this.evict(A,s)}),s.promise.then(()=>{s.settled=!0},()=>{s.settled=!0,this.evict(A,s)}).catch(A=>{throw console.error(A),A}),this.cache.set(A,s)}static checkSinglePromise(A,t){function e(){if(t?.aborted)throw Object.assign(new Error("aborted"),{code:"ERR_ABORTED"})}return A.then(A=>(e(),A),A=>{throw e(),A})}has(A){return this.cache.has(A)}get(A,t,e,i){if(!e&&t instanceof AbortSignal)throw new TypeError("second get argument appears to be an AbortSignal, perhaps you meant to pass `null` for the fill data?");const a=this.cache.get(A);return a?a.aborted&&!a.settled?(this.evict(A,a),this.get(A,t,e,i)):a.settled?a.promise:(a.aborter.addSignal(e),a.statusReporter.addCallback(i),n.checkSinglePromise(a.promise,e)):(this.fill(A,t,e,i),n.checkSinglePromise(this.cache.get(A).promise,e))}delete(A){const t=this.cache.get(A);t&&(t.settled||t.aborter.abort(),this.cache.delete(A))}clear(){const A=this.cache.keys();let t=0;for(let e=A.next();!e.done;e=A.next())this.delete(e.value),t+=1;return t}}t.default=n},237(A,t){Object.defineProperty(t,"__esModule",{value:!0});class e{}t.default=class{constructor(){this.signals=new Set,this.abortController=new AbortController}addSignal(A=new e){if(this.signal.aborted)throw new Error("cannot add a signal, already aborted!");this.signals.add(A),A.aborted?this.handleAborted(A):"function"==typeof A.addEventListener&&A.addEventListener("abort",()=>{this.handleAborted(A)})}handleAborted(A){this.signals.delete(A),0===this.signals.size&&this.abortController.abort()}get signal(){return this.abortController.signal}abort(){this.abortController.abort()}}},924(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.callbacks=new Set}addCallback(A=()=>{}){this.callbacks.add(A),this.currentMessage&&A(this.currentMessage)}callback(A){this.currentMessage=A;for(const t of this.callbacks)t(A)}}},160(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=e(139);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i(a).default}})},632(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(e(191)),g=e(557),n=e(635);t.default=class{filehandle;gzi;constructor({filehandle:A,gziFilehandle:t}){this.filehandle=A,this.gzi=new a.default({filehandle:t})}async _readAndUncompressBlock(A,t){let e=t;e||(e=(await this.filehandle.stat()).size);const i=e-A,a=await this.filehandle.read(i,A);return(0,g.unzip)(a)}async read(A,t){const e=await this.gzi.getRelevantBlocksForRead(A,t),i=[];for(let a=0;a<e.length-1;a+=1){const g=await this._readAndUncompressBlock(e[a][0],e[a+1][0]),[,n]=e[a],r=n>=t?0:t-n,s=Math.min(t+A,n+g.length)-n;r>=0&&r<g.length&&i.push(g.subarray(r,s))}return(0,n.concatUint8Array)(i)}}},191(A,t,e){Object.defineProperty(t,"__esModule",{value:!0});const i=e(665);function a(A,t,e){const i=t[1],a=e?e[1]:1/0;return i<=A&&a>A?0:i<A?-1:1}t.default=class{filehandle;index;constructor({filehandle:A}){this.filehandle=A}_getIndex(){return this.index||(this.index=this._readIndex().catch(A=>{throw this.index=void 0,A})),this.index}async _readIndex(){const A=await this.filehandle.read(8,0),t=(0,i.longFromBytesToUnsigned)(A);if(!t)return[[0,0]];const e=new Array(t+1);e[0]=[0,0];const a=16*t;if(a>Number.MAX_SAFE_INTEGER)throw new TypeError("integer overflow");const g=await this.filehandle.read(a,8);for(let A=0;A<t;A+=1){const t=(0,i.longFromBytesToUnsigned)(g,16*A),a=(0,i.longFromBytesToUnsigned)(g,16*A+8);e[A+1]=[t,a]}return e}async getLastBlock(){return(await this._getIndex()).at(-1)}async getRelevantBlocksForRead(A,t){const e=t+A;if(0===A)return[];const i=await this._getIndex(),g=[];let n=0,r=i.length-1,s=Math.floor(i.length/2),I=a(t,i[s],i[s+1]);for(;0!==I;)I>0?r=s-1:I<0&&(n=s+1),s=Math.ceil((r-n)/2)+n,I=a(t,i[s],i[s+1]);g.push(i[s]);let o=s+1;for(;o<i.length&&(g.push(i[o]),!(i[o][1]>=e));o+=1);return g.at(-1)[1]<e&&g.push([]),g}}},963(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.unzipChunkSlice=t.unzip=t.BgzfFilehandle=void 0;var a=e(632);Object.defineProperty(t,"BgzfFilehandle",{enumerable:!0,get:function(){return i(a).default}});var g=e(557);Object.defineProperty(t,"unzip",{enumerable:!0,get:function(){return g.unzip}}),Object.defineProperty(t,"unzipChunkSlice",{enumerable:!0,get:function(){return g.unzipChunkSlice}})},665(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.longFromBytesToUnsigned=function(A,t=0){const i=A[t]|A[t+1]<<8|A[t+2]<<16|A[t+3]<<24;return((A[t+4]|A[t+5]<<8|A[t+6]<<16|A[t+7]<<24)>>>0)*e+(i>>>0)};const e=4294967296},557(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.unzip=async function(A){try{return await(0,a.decompressAll)(A)}catch(e){if(`${e}`.includes("invalid bgzf header")){if((t=A).length>=2&&31===t[0]&&139===t[1])return async function(A){if("undefined"!=typeof DecompressionStream){const t=new DecompressionStream("gzip"),e=t.writable.getWriter(),i=e.write(A).then(()=>e.close()),a=[],g=t.readable.getReader();for(;;){const{done:A,value:t}=await g.read();if(A)break;a.push(t)}await i;const n=a.reduce((A,t)=>A+t.length,0),r=new Uint8Array(n);let s=0;for(const A of a)r.set(A,s),s+=A.length;return r}return(0,i.ungzip)(A,void 0)}(A);throw new Error("problem decompressing block: not a valid bgzf or gzip block",{cause:e})}if(`${e}`.includes("invalid gzip header"))throw new Error("problem decompressing block: incorrect gzip header check",{cause:e});throw e}var t},t.unzipChunkSlice=async function(A,t,e){const{minv:i,maxv:g}=t;try{const t=await(0,a.decompressChunkSlice)(A,i.blockPosition,i.dataPosition,g.blockPosition,g.dataPosition);return{buffer:t.buffer,cpositions:t.cpositions,dpositions:t.dpositions}}catch(A){if(`${A}`.includes("invalid gzip header"))throw new Error("problem decompressing block: incorrect gzip header check",{cause:A});throw A}};const i=e(196),a=e(428)},635(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.concatUint8Array=function(A,t){const e=new Uint8Array(t??function(A){let t=0;for(const e of A)t+=e.length;return t}(A));let i=0;for(const t of A)e.set(t,i),i+=t.length;return e}},428(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.decompressAll=async function(A){return await J(),n(A)},t.decompressBlock=async function(A,t=0){await J();const e=r(t>0?A.subarray(t):A),i=e.data,a=e.bytes_read;return e.free(),{data:i,bytesRead:a}},t.decompressChunkSlice=async function(A,t,e,i,a){await J();const g=s(A,t,e,i,a),n=g.buffer,r=[...g.cpositions],I=[...g.dpositions];return g.free(),{buffer:n,cpositions:r,dpositions:I}};var e={d:(A,t)=>{for(var i in t)e.o(t,i)&&!e.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:t[i]})},o:(A,t)=>Object.prototype.hasOwnProperty.call(A,t),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},i={};e.r(i),e.d(i,{ChunkSliceResult:()=>a,DecompressResult:()=>g,__wbg_Error_960c155d3d49e4c2:()=>I,__wbg___wbindgen_throw_6b64449b9b9ed33c:()=>o,__wbg_set_wasm:()=>F,decompress_all:()=>n,decompress_block:()=>r,decompress_chunk_slice:()=>s});class a{static __wrap(A){A>>>=0;const t=Object.create(a.prototype);return t.__wbg_ptr=A,Q.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,Q.unregister(this),A}free(){const A=this.__destroy_into_raw();m.__wbg_chunksliceresult_free(A,0)}get buffer(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.chunksliceresult_buffer(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=E(A,t).slice();return m.__wbindgen_export(A,1*t,1),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}get cpositions(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.chunksliceresult_cpositions(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=B(A,t).slice();return m.__wbindgen_export(A,8*t,8),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}get dpositions(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.chunksliceresult_dpositions(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=B(A,t).slice();return m.__wbindgen_export(A,8*t,8),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}}Symbol.dispose&&(a.prototype[Symbol.dispose]=a.prototype.free);class g{static __wrap(A){A>>>=0;const t=Object.create(g.prototype);return t.__wbg_ptr=A,C.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,C.unregister(this),A}free(){const A=this.__destroy_into_raw();m.__wbg_decompressresult_free(A,0)}get bytes_read(){return m.decompressresult_bytes_read(this.__wbg_ptr)>>>0}get data(){try{const i=m.__wbindgen_add_to_stack_pointer(-16);m.decompressresult_data(i,this.__wbg_ptr);var A=l().getInt32(i+0,!0),t=l().getInt32(i+4,!0),e=E(A,t).slice();return m.__wbindgen_export(A,1*t,1),e}finally{m.__wbindgen_add_to_stack_pointer(16)}}}function n(A){try{const g=m.__wbindgen_add_to_stack_pointer(-16),n=y(A,m.__wbindgen_export2),r=N;m.decompress_all(g,n,r);var t=l().getInt32(g+0,!0),e=l().getInt32(g+4,!0),i=l().getInt32(g+8,!0);if(l().getInt32(g+12,!0))throw D(i);var a=E(t,e).slice();return m.__wbindgen_export(t,1*e,1),a}finally{m.__wbindgen_add_to_stack_pointer(16)}}function r(A){try{const i=m.__wbindgen_add_to_stack_pointer(-16),a=y(A,m.__wbindgen_export2),n=N;m.decompress_block(i,a,n);var t=l().getInt32(i+0,!0),e=l().getInt32(i+4,!0);if(l().getInt32(i+8,!0))throw D(e);return g.__wrap(t)}finally{m.__wbindgen_add_to_stack_pointer(16)}}function s(A,t,e,i,g){try{const s=m.__wbindgen_add_to_stack_pointer(-16),I=y(A,m.__wbindgen_export2),o=N;m.decompress_chunk_slice(s,I,o,t,e,i,g);var n=l().getInt32(s+0,!0),r=l().getInt32(s+4,!0);if(l().getInt32(s+8,!0))throw D(r);return a.__wrap(n)}finally{m.__wbindgen_add_to_stack_pointer(16)}}function I(A,t){return function(A){w===_.length&&_.push(_.length+1);const t=w;return w=_[t],_[t]=A,t}(Error(d(A,t)))}function o(A,t){throw new Error(d(A,t))}Symbol.dispose&&(g.prototype[Symbol.dispose]=g.prototype.free);const Q="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>m.__wbg_chunksliceresult_free(A>>>0,1)),C="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>m.__wbg_decompressresult_free(A>>>0,1));function B(A,t){return A>>>=0,(null!==c&&0!==c.byteLength||(c=new Float64Array(m.memory.buffer)),c).subarray(A/8,A/8+t)}function E(A,t){return A>>>=0,u().subarray(A/1,A/1+t)}let h=null;function l(){return(null===h||!0===h.buffer.detached||void 0===h.buffer.detached&&h.buffer!==m.memory.buffer)&&(h=new DataView(m.memory.buffer)),h}let c=null;function d(A,t){return function(A,t){return p+=t,p>=k&&(b=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),b.decode(),p=t),b.decode(u().subarray(A,A+t))}(A>>>=0,t)}let f=null;function u(){return null!==f&&0!==f.byteLength||(f=new Uint8Array(m.memory.buffer)),f}let _=new Array(1024).fill(void 0);_.push(void 0,null,!0,!1);let w=_.length;function y(A,t){const e=t(1*A.length,1)>>>0;return u().set(A,e/1),N=A.length,e}function D(A){const t=function(A){return _[A]}(A);return function(A){A<1028||(_[A]=w,w=A)}(A),t}let b=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});b.decode();const k=2146435072;let m,p=0,N=0;function F(A){m=A}let S=null,R=null;async function J(){return S||(R||(R=(async()=>{const A=await fetch("data:application/wasm;base64,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AEEjQfCVwAAQNgALCwAgACMAaiQAIwALCQAgACABEEcPCwkAIAAgARAzDwsMAEHchcAAQRsQXQALCQAgACABEGMACw0AQfeFwABBzwAQXQALCQAgASAAED4ACwwAIAAgASkCADcDAAsJACABIAAQXwALDQAgAUHIl8AAQRgQCgsIACAAIAEQAAsIACAAIAEQAQsJACAAKAIAEE0LBwAgABA8AAsHACAAEEMACwcAIAAQKAALCwBBAEEBOgDom0ALCQAgAEEANgIACwUAEG0ACwMADwsDAAALC/YXAgBBgIDAAAvgF2F0dGVtcHRlZCB0byB0YWtlIG93bmVyc2hpcCBvZiBSdXN0IHZhbHVlIHdoaWxlIGl0IHdhcyBib3Jyb3dlZGludmFsaWQgYmd6ZiBoZWFkZXIWc2xpY2UgaW5kZXggc3RhcnRzIGF0IMANIGJ1dCBlbmRzIGF0IMAAIGluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IHRoZSBpbmRleCBpcyDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjExOC9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy81OTgwNzYxNmUxZmEyNTQwNzI0YmZiYWMxNGQ3OTc2ZDdlNGEzODYwL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjIvc3JjL2xpYi5ycwAAAABaAhAACgAAACkAAAAJAAAAWgIQAAoAAAAqAAAACQAAAFoCEAAKAAAAKwAAAAkAAABaAhAACgAAACwAAAAJAAAAZGVjb21wcmVzc2lvbiBmYWlsZWRaAhAACgAAAC8AAAAeAAAAWgIQAAoAAAC3AAAAHwAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAACEBEABnAAAAfAAAABEAAAAhARAAZwAAAIkAAAARAAAAbGliZGVmbGF0ZV9kZWZsYXRlX2RlY29tcHJlc3MgcmV0dXJuZWQgYW4gdW5rbm93biBlcnJvciB0eXBlOiB0aGlzIGlzIGFuIGludGVybmFsIGJ1ZyB0aGF0ICoqbXVzdCoqIGJlIGZpeGVkBQIQAF8AAAANAQAAFQAAAGxpYmRlZmxhdGVfYWxsb2NfZGVjb21wcmVzc29yIHJldHVybmVkIE5VTEw6IG91dCBvZiBtZW1vcnkAAAUCEABfAAAAnQAAABEAAAAMAAAAAQAAAAIAAAAAAAAAEBESAAgHCQYKBQsEDAMNAg4BDwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAAAAAAAQAAAAIAAAADAAAABAABAAUAAQAHAAIACQACAA0AAwARAAMAGQAEACEABAAxAAUAQQAFAGEABgCBAAYAwQAHAAEBBwCBAQgAAQIIAAEDCQABBAkAAQYKAAEICgABDAsAARALAAEYDAABIAwAATANAAFADQABYA0AAWANAAFgAAAAgAAAAYAAAAKAAAADgAAABIAAAAWAAAAGgAAAB4AAAAiAAAAJgAAACoAAAAuAAAAMgAAADYAAAA6AAAAPgAAAEIAAABGAAAASgAAAE4AAABSAAAAVgAAAFoAAABeAAAAYgAAAGYAAABqAAAAbgAAAHIAAAB2AAAAegAAAH4AAACCAAAAhgAAAIoAAACOAAAAkgAAAJYAAACaAAAAngAAAKIAAACmAAAAqgAAAK4AAACyAAAAtgAAALoAAAC+AAAAwgAAAMYAAADKAAAAzgAAANIAAADWAAAA2gAAAN4AAADiAAAA5gAAAOoAAADuAAAA8gAAAPYAAAD6AAAA/gAAAQIAAAEGAAABCgAAAQ4AAAESAAABFgAAARoAAAEeAAABIgAAASYAAAEqAAABLgAAATIAAAE2AAABOgAAAT4AAAFCAAABRgAAAUoAAAFOAAABUgAAAVYAAAFaAAABXgAAAWIAAAFmAAABagAAAW4AAAFyAAABdgAAAXoAAAF+AAABggAAAYYAAAGKAAABjgAAAZIAAAGWAAABmgAAAZ4AAAGiAAABpgAAAaoAAAGuAAABsgAAAbYAAAG6AAABvgAAAcIAAAHGAAABygAAAc4AAAHSAAAB1gAAAdoAAAHeAAAB4gAAAeYAAAHqAAAB7gAAAfIAAAH2AAAB+gAAAf4AAAICAAACBgAAAgoAAAIOAAACEgAAAhYAAAIaAAACHgAAAiIAAAImAAACKgAAAi4AAAIyAAACNgAAAjoAAAI+AAACQgAAAkYAAAJKAAACTgAAAlIAAAJWAAACWgAAAl4AAAJiAAACZgAAAmoAAAJuAAACcgAAAnYAAAJ6AAACfgAAAoIAAAKGAAACigAAAo4AAAKSAAAClgAAApoAAAKeAAACogAAAqYAAAKqAAACrgAAArIAAAK2AAACugAAAr4AAALCAAACxgAAAsoAAALOAAAC0gAAAtYAAALaAAAC3gAAAuIAAALmAAAC6gAAAu4AAALyAAAC9gAAAvoAAAL+AAADAgAAAwYAAAMKAAADDgAAAxIAAAMWAAADGgAAAx4AAAMiAAADJgAAAyoAAAMuAAADMgAAAzYAAAM6AAADPgAAA0IAAANGAAADSgAAA04AAANSAAADVgAAA1oAAANeAAADYgAAA2YAAANqAAADbgAAA3IAAAN2AAADegAAA34AAAOCAAADhgAAA4oAAAOOAAADkgAAA5YAAAOaAAADngAAA6IAAAOmAAADqgAAA64AAAOyAAADtgAAA7oAAAO+AAADwgAAA8YAAAPKAAADzgAAA9IAAAPWAAAD2gAAA94AAAPiAAAD5gAAA+oAAAPuAAAD8gAAA/YAAAP6AAAD/gACgAAAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAEACwABAA0AAQAPAAEAEQACABMAAgAXAAIAGwACAB8AAwAjAAMAKwADADMAAwA7AAQAQwAEAFMABABjAAQAcwAFAIMABQCjAAUAwwAFAOMAAAACAQAAAgEAAAIBAAAAAAgAAAAEAAAABAAAAAUAAAAGAAAABwAAAAgAAAAMAAAABAAAAAkAAAAKAAAACwAAAAAAAAAIAAAABAAAAAwAAAANAAAADgAAAA8AAAAQAAAAEAAAAAQAAAARAAAAEgAAABMAAAAHAAAAbV3L1ixQ62N4QaZXcRuLuRWiXFU0VQfUU3itgVHwo/dhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAADaARAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA2gEQACoAAAC3BAAADQAAAAAAAAAIAAAABAAAABQAAAAIAAAADAAAAAQAAAAVAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAACJARAAUAAAABwAAAAFAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQAQeCXwAALBAQAAAAAKQRuYW1lASIBWR9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyADwJcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkCBndhbHJ1cwYwLjI2LjEMd2FzbS1iaW5kZ2VuBzAuMi4xMTg="),t=await A.arrayBuffer(),{instance:e}=await WebAssembly.instantiate(t,{"./bgzf_wasm_bg.js":i});return S=e.exports,F(S),S})()),R)}},830(A,t){var e,i,a,g,n,r,s,I,o,Q,C,B,E,h,l,c=this&&this.__classPrivateFieldSet||function(A,t,e,i,a){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?A!==t||!a:!t.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(A,e):a?a.value=e:t.set(A,e),e},d=this&&this.__classPrivateFieldGet||function(A,t,e,i){if("a"===e&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?A!==t||!i:!t.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?i:"a"===e?i.call(A):i?i.value:t.get(A)};Object.defineProperty(t,"__esModule",{value:!0});class f extends Map{constructor(A={}){if(super(),e.add(this),i.set(this,0),a.set(this,new Map),g.set(this,new Map),n.set(this,void 0),r.set(this,void 0),s.set(this,void 0),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");c(this,n,A.maxSize,"f"),c(this,r,A.maxAge||Number.POSITIVE_INFINITY,"f"),c(this,s,A.onEviction,"f")}get __oldCache(){return d(this,g,"f")}get(A){if(d(this,a,"f").has(A)){const t=d(this,a,"f").get(A);return d(this,e,"m",C).call(this,A,t)}if(d(this,g,"f").has(A)){const t=d(this,g,"f").get(A);if(!d(this,e,"m",o).call(this,A,t))return d(this,e,"m",h).call(this,A,t),t.value}}set(A,t,{maxAge:i=d(this,r,"f")}={}){const g="number"==typeof i&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return d(this,a,"f").has(A)?d(this,a,"f").set(A,{value:t,expiry:g}):d(this,e,"m",E).call(this,A,{value:t,expiry:g}),this}has(A){return d(this,a,"f").has(A)?!d(this,e,"m",o).call(this,A,d(this,a,"f").get(A)):!!d(this,g,"f").has(A)&&!d(this,e,"m",o).call(this,A,d(this,g,"f").get(A))}peek(A){return d(this,a,"f").has(A)?d(this,e,"m",B).call(this,A,d(this,a,"f")):d(this,g,"f").has(A)?d(this,e,"m",B).call(this,A,d(this,g,"f")):void 0}expiresIn(A){const t=d(this,a,"f").get(A)??d(this,g,"f").get(A);if(t)return t.expiry?t.expiry-Date.now():Number.POSITIVE_INFINITY}delete(A){var t;const e=d(this,a,"f").delete(A);return e&&c(this,i,(t=d(this,i,"f"),--t),"f"),d(this,g,"f").delete(A)||e}clear(){d(this,a,"f").clear(),d(this,g,"f").clear(),c(this,i,0,"f")}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...d(this,e,"m",l).call(this)],r=t.length-A;r<0?(c(this,a,new Map(t),"f"),c(this,g,new Map,"f"),c(this,i,t.length,"f")):(r>0&&d(this,e,"m",I).call(this,t.slice(0,r)),c(this,g,new Map(t.slice(r)),"f"),c(this,a,new Map,"f"),c(this,i,0,"f")),c(this,n,A,"f")}evict(A=1){const t=A;if(!t||t<=0)return;const n=[...d(this,e,"m",l).call(this)],r=Math.trunc(Math.min(t,Math.max(n.length-1,0)));r<=0||(d(this,e,"m",I).call(this,n.slice(0,r)),c(this,g,new Map(n.slice(r)),"f"),c(this,a,new Map,"f"),c(this,i,0,"f"))}*keys(){for(const[A]of this)yield A}*values(){for(const[,A]of this)yield A}*[(i=new WeakMap,a=new WeakMap,g=new WeakMap,n=new WeakMap,r=new WeakMap,s=new WeakMap,e=new WeakSet,I=function(A){if("function"==typeof d(this,s,"f"))for(const[t,e]of A)d(this,s,"f").call(this,t,e.value)},o=function(A,t){return"number"==typeof t.expiry&&t.expiry<=Date.now()&&("function"==typeof d(this,s,"f")&&d(this,s,"f").call(this,A,t.value),this.delete(A))},Q=function(A,t){if(!d(this,e,"m",o).call(this,A,t))return t.value},C=function(A,t){return t.expiry?d(this,e,"m",Q).call(this,A,t):t.value},B=function(A,t){const i=t.get(A);return d(this,e,"m",C).call(this,A,i)},E=function(A,t){var r;d(this,a,"f").set(A,t),c(this,i,(r=d(this,i,"f"),++r),"f"),d(this,i,"f")>=d(this,n,"f")&&(c(this,i,0,"f"),d(this,e,"m",I).call(this,d(this,g,"f")),c(this,g,d(this,a,"f"),"f"),c(this,a,new Map,"f"))},h=function(A,t){d(this,g,"f").delete(A),d(this,e,"m",E).call(this,A,t)},l=function*(){for(const A of d(this,g,"f")){const[t,i]=A;d(this,a,"f").has(t)||d(this,e,"m",o).call(this,t,i)||(yield A)}for(const A of d(this,a,"f")){const[t,i]=A;d(this,e,"m",o).call(this,t,i)||(yield A)}},Symbol.iterator)](){for(const A of d(this,a,"f")){const[t,i]=A;d(this,e,"m",o).call(this,t,i)||(yield[t,i.value])}for(const A of d(this,g,"f")){const[t,i]=A;d(this,a,"f").has(t)||d(this,e,"m",o).call(this,t,i)||(yield[t,i.value])}}*entriesDescending(){let A=[...d(this,a,"f")];for(let t=A.length-1;t>=0;--t){const i=A[t],[a,g]=i;d(this,e,"m",o).call(this,a,g)||(yield[a,g.value])}A=[...d(this,g,"f")];for(let t=A.length-1;t>=0;--t){const i=A[t],[g,n]=i;d(this,a,"f").has(g)||d(this,e,"m",o).call(this,g,n)||(yield[g,n.value])}}*entriesAscending(){for(const[A,t]of d(this,e,"m",l).call(this))yield[A,t.value]}get size(){if(!d(this,i,"f"))return d(this,g,"f").size;let A=0;for(const t of d(this,g,"f").keys())d(this,a,"f").has(t)||A++;return Math.min(d(this,i,"f")+A,d(this,n,"f"))}get maxSize(){return d(this,n,"f")}get maxAge(){return d(this,r,"f")}entries(){return this.entriesAscending()}forEach(A,t=this){for(const[e,i]of this.entriesAscending())A.call(t,i,e,this)}get[Symbol.toStringTag](){return"QuickLRU"}toString(){return`QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}t.default=f},942(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{blob;constructor(A){this.blob=A}async read(A,t=0){if(!A)return new Uint8Array(0);const e=this.blob.slice(t,t+A);return e.bytes?e.bytes():new Uint8Array(await e.arrayBuffer())}async readFile(A){const t="string"==typeof A?A:A?.encoding;if("utf8"===t)return this.blob.text();if(t)throw new Error(`unsupported encoding: ${t}`);return this.blob.bytes?this.blob.bytes():new Uint8Array(await this.blob.arrayBuffer())}stat(){return Promise.resolve({size:this.blob.size})}close(){return Promise.resolve()}}},855(A,t,e){var i=this&&this.__createBinding||(Object.create?function(A,t,e,i){void 0===i&&(i=e);var a=Object.getOwnPropertyDescriptor(t,e);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(A,i,a)}:function(A,t,e,i){void 0===i&&(i=e),A[i]=t[e]}),a=this&&this.__exportStar||function(A,t){for(var e in A)"default"===e||Object.prototype.hasOwnProperty.call(t,e)||i(t,A,e)},g=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.LocalFile=t.RemoteFile=t.BlobFile=void 0,a(e(863),t);var n=e(942);Object.defineProperty(t,"BlobFile",{enumerable:!0,get:function(){return g(n).default}});var r=e(231);Object.defineProperty(t,"RemoteFile",{enumerable:!0,get:function(){return g(r).default}}),t.LocalFile=class{readFile(){throw new Error("unimplemented")}read(){throw new Error("unimplemented")}close(){throw new Error("unimplemented")}}},863(A,t){Object.defineProperty(t,"__esModule",{value:!0})},231(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{url;_stat;fetchImplementation;baseHeaders;baseOverrides;constructor(A,t={}){this.url=A,this.baseHeaders=t.headers??{},this.baseOverrides=t.overrides??{},this.fetchImplementation=t.fetch??((A,t)=>globalThis.fetch(A,t))}async fetch(A,t){const e=t=>new Error(`${function(A){return("object"==typeof A&&null!==A&&"message"in A&&"string"==typeof A.message?A.message:`${A}`).replace(/\.$/,"")}(t)} fetching ${A}`,{cause:t});let i;try{i=await this.fetchImplementation(A,t)}catch(a){if(!`${a}`.includes("Failed to fetch"))throw e(a);console.warn(`generic-filehandle: refetching ${A} to attempt to work around chrome CORS header caching bug`);try{i=await this.fetchImplementation(A,{...t,cache:"reload"})}catch(A){throw e(A)}}return i}async read(A,t,e={}){if(0===A)return new Uint8Array(0);if(Number.isNaN(A)||Number.isNaN(t))throw new TypeError(`read() called with NaN length or position (length=${A}, position=${t}). The index file may be corrupt.`);const{headers:i={},signal:a,overrides:g={}}=e;i.range=`bytes=${t}-${t+A-1}`;const n=await this.fetch(this.url,{...this.baseOverrides,...g,headers:{...this.baseHeaders,...i},method:"GET",redirect:"follow",mode:"cors",signal:a});if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if(200===n.status&&0===t||206===n.status){const t=n.headers.get("content-range"),e=/\/(\d+)$/.exec(t??"");e?.[1]&&(this._stat={size:parseInt(e[1],10)});const i=n.bytes?await n.bytes():new Uint8Array(await n.arrayBuffer());return i.byteLength<=A?i:i.subarray(0,A)}throw new Error(200===n.status?`${this.url} fetch returned status 200, expected 206`:`HTTP ${n.status} fetching ${this.url}`)}async readFile(A={}){const t="string"==typeof A?A:A.encoding,e="string"==typeof A?{}:A,{headers:i={},signal:a,overrides:g={}}=e,n=await this.fetch(this.url,{...this.baseOverrides,...g,headers:{...this.baseHeaders,...i},method:"GET",redirect:"follow",mode:"cors",signal:a});if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if("utf8"===t)return n.text();if(t)throw new Error(`unsupported encoding: ${t}`);return n.bytes?n.bytes():new Uint8Array(await n.arrayBuffer())}async stat(){return this._stat||await this.read(10,0),this._stat??{size:0}}close(){return Promise.resolve()}}},850(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.Deflate=void 0,t.deflate=C,t.deflateRaw=function(A,t){return(t=t||{}).raw=!0,C(A,t)},t.gzip=function(A,t){return(t=t||{}).gzip=!0,C(A,t)};const a=e(790),g=e(581),n=e(978),r=e(708),s=i(e(263)),I=i(e(877));var o=Object.prototype.toString;class Q{constructor(A){this.options=(0,a.assign)({level:n.Z_DEFAULT_COMPRESSION,method:n.Z_DEFLATED,chunkSize:16384,windowBits:15,memLevel:8,strategy:n.Z_DEFAULT_STRATEGY,to:""},A||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new I.default,this.strm.avail_out=0;var e=(0,r.deflateInit2)(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==n.Z_OK)throw new Error(s.default[e]);if(t.header&&(0,r.deflateSetHeader)(this.strm,t.header),t.dictionary){var i;if(i="string"==typeof t.dictionary?(0,g.string2buf)(t.dictionary):"[object ArrayBuffer]"===o.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(e=(0,r.deflateSetDictionary)(this.strm,i))!==n.Z_OK)throw new Error(s.default[e]);this._dict_set=!0}}push(A,t){var e,i,s=this.strm,I=this.options.chunkSize;if(this.ended)return!1;i=t===~~t?t:!0===t?n.Z_FINISH:n.Z_NO_FLUSH,"string"==typeof A?s.input=(0,g.string2buf)(A):"[object ArrayBuffer]"===o.call(A)?s.input=new Uint8Array(A):s.input=A,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=(0,a.Buf8)(I),s.next_out=0,s.avail_out=I),(e=(0,r.deflate)(s,i))!==n.Z_STREAM_END&&e!==n.Z_OK)return this.onEnd(e),this.ended=!0,!1;0!==s.avail_out&&(0!==s.avail_in||i!==n.Z_FINISH&&i!==n.Z_SYNC_FLUSH)||("string"===this.options.to?this.onData((0,g.buf2binstring)((0,a.shrinkBuf)(s.output,s.next_out))):this.onData((0,a.shrinkBuf)(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&e!==n.Z_STREAM_END);return i===n.Z_FINISH?(e=(0,r.deflateEnd)(this.strm),this.onEnd(e),this.ended=!0,e===n.Z_OK):i!==n.Z_SYNC_FLUSH||(this.onEnd(n.Z_OK),s.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===n.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,a.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function C(A,t){var e=new Q(t);if(e.push(A,!0),e.err)throw e.msg||s.default[e.err];return e.result}t.Deflate=Q},426(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.ungzip=t.Inflate=void 0,t.inflate=B,t.inflateRaw=function(A,t){return(t=t||{}).raw=!0,B(A,t)};const a=e(790),g=e(581),n=e(978),r=i(e(547)),s=e(184),I=i(e(263)),o=i(e(877));var Q=Object.prototype.toString;class C{constructor(A){if(!(this instanceof C))return new C(A);this.options=(0,a.assign)({chunkSize:16384,windowBits:0,to:""},A||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||A&&A.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o.default,this.strm.avail_out=0;var e=(0,s.inflateInit2)(this.strm,t.windowBits);if(e!==n.Z_OK)throw new Error(I.default[e]);if(this.header=new r.default,(0,s.inflateGetHeader)(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=(0,g.string2buf)(t.dictionary):"[object ArrayBuffer]"===Q.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=(0,s.inflateSetDictionary)(this.strm,t.dictionary))!==n.Z_OK))throw new Error(I.default[e])}push(A,t){var e,i,r,I,o,C,B=this.strm,E=this.options.chunkSize,h=this.options.dictionary,l=!1;if(this.ended)return!1;i=t===~~t?t:!0===t?n.Z_FINISH:n.Z_NO_FLUSH,"string"==typeof A?B.input=(0,g.binstring2buf)(A):"[object ArrayBuffer]"===Q.call(A)?B.input=new Uint8Array(A):B.input=A,B.next_in=0,B.avail_in=B.input.length;do{if(0===B.avail_out&&(B.output=(0,a.Buf8)(E),B.next_out=0,B.avail_out=E),(e=(0,s.inflate)(B,n.Z_NO_FLUSH))===n.Z_NEED_DICT&&h&&(C="string"==typeof h?(0,g.string2buf)(h):"[object ArrayBuffer]"===Q.call(h)?new Uint8Array(h):h,e=(0,s.inflateSetDictionary)(this.strm,C)),e===n.Z_BUF_ERROR&&!0===l&&(e=n.Z_OK,l=!1),e!==n.Z_STREAM_END&&e!==n.Z_OK)return this.onEnd(e),this.ended=!0,!1;B.next_out&&(0!==B.avail_out&&e!==n.Z_STREAM_END&&(0!==B.avail_in||i!==n.Z_FINISH&&i!==n.Z_SYNC_FLUSH)||("string"===this.options.to?(r=(0,g.utf8border)(B.output,B.next_out),I=B.next_out-r,o=(0,g.buf2string)(B.output,r),B.next_out=I,B.avail_out=E-I,I&&(0,a.arraySet)(B.output,B.output,r,I,0),this.onData(o)):this.onData((0,a.shrinkBuf)(B.output,B.next_out)))),0===B.avail_in&&0===B.avail_out&&(l=!0)}while((B.avail_in>0||0===B.avail_out)&&e!==n.Z_STREAM_END);return e===n.Z_STREAM_END&&(i=n.Z_FINISH),i===n.Z_FINISH?(e=(0,s.inflateEnd)(this.strm),this.onEnd(e),this.ended=!0,e===n.Z_OK):i!==n.Z_SYNC_FLUSH||(this.onEnd(n.Z_OK),B.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===n.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,a.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function B(A,t){var e=new C(t);if(e.push(A,!0),e.err)throw e.msg||I.default[e.err];return e.result}t.Inflate=C,t.ungzip=B},196(A,t,e){var i=this&&this.__createBinding||(Object.create?function(A,t,e,i){void 0===i&&(i=e);var a=Object.getOwnPropertyDescriptor(t,e);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[e]}}),Object.defineProperty(A,i,a)}:function(A,t,e,i){void 0===i&&(i=e),A[i]=t[e]}),a=this&&this.__exportStar||function(A,t){for(var e in A)"default"===e||Object.prototype.hasOwnProperty.call(t,e)||i(t,A,e)};Object.defineProperty(t,"__esModule",{value:!0}),a(e(978),t),a(e(426),t),a(e(850),t)},790(A,t){function e(A,t){return Object.prototype.hasOwnProperty.call(A,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.Buf32=t.Buf16=t.Buf8=t.flattenChunks=t.arraySet=void 0,t.assign=function(A){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var a in i)e(i,a)&&(A[a]=i[a])}}return A},t.shrinkBuf=function(A,t){return A.length===t?A:A.subarray?A.subarray(0,t):(A.length=t,A)},t.setTyped=function(A){t.arraySet=A?i.arraySet:a.arraySet,t.flattenChunks=A?i.flattenChunks:a.flattenChunks,t.Buf8=A?i.Buf8:a.Buf8,t.Buf16=A?i.Buf16:a.Buf16,t.Buf32=A?i.Buf32:a.Buf32};var i={arraySet:function(A,t,e,i,a){if(t.subarray&&A.subarray)A.set(t.subarray(e,e+i),a);else for(var g=0;g<i;g++)A[a+g]=t[e+g]},flattenChunks:function(A){var t,e,i,a,g,n;for(i=0,t=0,e=A.length;t<e;t++)i+=A[t].length;for(n=new Uint8Array(i),a=0,t=0,e=A.length;t<e;t++)g=A[t],n.set(g,a),a+=g.length;return n},Buf8:function(A){return new Uint8Array(A)},Buf16:function(A){return new Uint16Array(A)},Buf32:function(A){return new Int32Array(A)}},a={arraySet:function(A,t,e,i,a){for(var g=0;g<i;g++)A[a+g]=t[e+g]},flattenChunks:function(A){return[].concat.apply([],A)},Buf8:function(A){return new Array(A)},Buf16:function(A){return new Array(A)},Buf32:function(A){return new Array(A)}};let g=()=>{const A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;return g=()=>A,A};t.arraySet=(A,e,n,r,s)=>(t.arraySet=g()?i.arraySet:a.arraySet,(0,t.arraySet)(A,e,n,r,s)),t.flattenChunks=A=>(t.flattenChunks=g()?i.flattenChunks:a.flattenChunks,(0,t.flattenChunks)(A)),t.Buf8=A=>(t.Buf8=g()?i.Buf8:a.Buf8,(0,t.Buf8)(A)),t.Buf16=A=>(t.Buf16=g()?i.Buf16:a.Buf16,(0,t.Buf16)(A)),t.Buf32=A=>(t.Buf32=g()?i.Buf32:a.Buf32,(0,t.Buf32)(A))},581(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.string2buf=function(A){var t,e,i,a,g,n=A.length,r=0;for(a=0;a<n;a++)55296==(64512&(e=A.charCodeAt(a)))&&a+1<n&&56320==(64512&(i=A.charCodeAt(a+1)))&&(e=65536+(e-55296<<10)+(i-56320),a++),r+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(r),g=0,a=0;g<r;a++)55296==(64512&(e=A.charCodeAt(a)))&&a+1<n&&56320==(64512&(i=A.charCodeAt(a+1)))&&(e=65536+(e-55296<<10)+(i-56320),a++),e<128?t[g++]=e:e<2048?(t[g++]=192|e>>>6,t[g++]=128|63&e):e<65536?(t[g++]=224|e>>>12,t[g++]=128|e>>>6&63,t[g++]=128|63&e):(t[g++]=240|e>>>18,t[g++]=128|e>>>12&63,t[g++]=128|e>>>6&63,t[g++]=128|63&e);return t},t.buf2binstring=function(A){return r(A,A.length)},t.binstring2buf=function(A){for(var t=new Uint8Array(A.length),e=0,i=t.length;e<i;e++)t[e]=A.charCodeAt(e);return t},t.buf2string=function(A,t){var e,i,a,g,s=t||A.length,I=new Array(2*s);for(i=0,e=0;e<s;)if((a=A[e++])<128)I[i++]=a;else if((g=n(a))>4)I[i++]=65533,e+=g-1;else{for(a&=2===g?31:3===g?15:7;g>1&&e<s;)a=a<<6|63&A[e++],g--;g>1?I[i++]=65533:a<65536?I[i++]=a:(a-=65536,I[i++]=55296|a>>10&1023,I[i++]=56320|1023&a)}return r(I,i)},t.utf8border=function(A,t){var e;for((t=t||A.length)>A.length&&(t=A.length),e=t-1;e>=0&&128==(192&A[e]);)e--;return e<0||0===e?t:e+n(A[e])>t?e:t};const i=e(790);let a=function(){let A=!0;try{String.fromCharCode.apply(null,[0])}catch(t){A=!1}return a=()=>A,A},g=function(){let A=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){A=!1}return g=()=>A,A},n=function(A){for(var t=(0,i.Buf8)(256),e=0;e<256;e++)t[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;return t[254]=t[254]=1,n=A=>t[A],t[A]};function r(A,t){if(t<65534&&(A.subarray&&g()||!A.subarray&&a()))return String.fromCharCode.apply(null,(0,i.shrinkBuf)(A,t));for(var e="",n=0;n<t;n++)e+=String.fromCharCode(A[n]);return e}},654(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t,e,i){for(var a=65535&A,g=A>>>16&65535,n=0;0!==e;){e-=n=e>2e3?2e3:e;do{g=g+(a=a+t[i++]|0)|0}while(--n);a%=65521,g%=65521}return a|g<<16}},978(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Z_DEFLATED=t.Z_UNKNOWN=t.Z_TEXT=t.Z_BINARY=t.Z_DEFAULT_STRATEGY=t.Z_FIXED=t.Z_RLE=t.Z_HUFFMAN_ONLY=t.Z_FILTERED=t.Z_DEFAULT_COMPRESSION=t.Z_BEST_COMPRESSION=t.Z_BEST_SPEED=t.Z_NO_COMPRESSION=t.Z_BUF_ERROR=t.Z_DATA_ERROR=t.Z_STREAM_ERROR=t.Z_ERRNO=t.Z_NEED_DICT=t.Z_STREAM_END=t.Z_OK=t.Z_TREES=t.Z_BLOCK=t.Z_FINISH=t.Z_FULL_FLUSH=t.Z_SYNC_FLUSH=t.Z_PARTIAL_FLUSH=t.Z_NO_FLUSH=void 0,t.Z_NO_FLUSH=0,t.Z_PARTIAL_FLUSH=1,t.Z_SYNC_FLUSH=2,t.Z_FULL_FLUSH=3,t.Z_FINISH=4,t.Z_BLOCK=5,t.Z_TREES=6,t.Z_OK=0,t.Z_STREAM_END=1,t.Z_NEED_DICT=2,t.Z_ERRNO=-1,t.Z_STREAM_ERROR=-2,t.Z_DATA_ERROR=-3,t.Z_BUF_ERROR=-5,t.Z_NO_COMPRESSION=0,t.Z_BEST_SPEED=1,t.Z_BEST_COMPRESSION=9,t.Z_DEFAULT_COMPRESSION=-1,t.Z_FILTERED=1,t.Z_HUFFMAN_ONLY=2,t.Z_RLE=3,t.Z_FIXED=4,t.Z_DEFAULT_STRATEGY=0,t.Z_BINARY=0,t.Z_TEXT=1,t.Z_UNKNOWN=2,t.Z_DEFLATED=8},896(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t,i,a){var g=e(),n=a+i;A^=-1;for(var r=a;r<n;r++)A=A>>>8^g[255&(A^t[r])];return-1^A};let e=function(){const A=function(){for(var A,t=[],e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;t[e]=A}return t}();return e=()=>A,A}},708(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.deflateInfo=void 0,t.deflateResetKeep=S,t.deflateReset=R,t.deflateSetHeader=function(A,t){return A&&A.state?2!==A.state.wrap?g.Z_STREAM_ERROR:(A.state.gzhead=t,g.Z_OK):g.Z_STREAM_ERROR},t.deflateInit2=J,t.deflateInit=function(A,t){return J(A,t,g.Z_DEFLATED,15,8,g.Z_DEFAULT_STRATEGY)},t.deflate=function(A,t){var e,i,a,r;if(!A||!A.state||t>g.Z_BLOCK||t<0)return A?h(A,g.Z_STREAM_ERROR):g.Z_STREAM_ERROR;if(i=A.state,!A.output||!A.input&&0!==A.avail_in||i.status===E&&t!==g.Z_FINISH)return h(A,0===A.avail_out?g.Z_BUF_ERROR:g.Z_STREAM_ERROR);if(i.strm=A,e=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)A.adler=0,u(i,31),u(i,139),u(i,8),i.gzhead?(u(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),u(i,255&i.gzhead.time),u(i,i.gzhead.time>>8&255),u(i,i.gzhead.time>>16&255),u(i,i.gzhead.time>>24&255),u(i,9===i.level?2:i.strategy>=g.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(u(i,255&i.gzhead.extra.length),u(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(u(i,0),u(i,0),u(i,0),u(i,0),u(i,0),u(i,9===i.level?2:i.strategy>=g.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,3),i.status=B);else{var I=g.Z_DEFLATED+(i.w_bits-8<<4)<<8;I|=(i.strategy>=g.Z_HUFFMAN_ONLY||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(I|=32),I+=31-I%31,i.status=B,_(i,I),0!==i.strstart&&(_(i,A.adler>>>16),_(i,65535&A.adler)),A.adler=1}if(69===i.status)if(i.gzhead.extra){for(a=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),d(A),a=i.pending,i.pending!==i.pending_buf_size));)u(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),d(A),a=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,u(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),0===r&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){a=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),d(A),a=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,u(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>a&&(A.adler=(0,n.default)(A.adler,i.pending_buf,i.pending-a,a)),0===r&&(i.status=C)}else i.status=C;if(i.status===C&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&d(A),i.pending+2<=i.pending_buf_size&&(u(i,255&A.adler),u(i,A.adler>>8&255),A.adler=0,i.status=B)):i.status=B),0!==i.pending){if(d(A),0===A.avail_out)return i.last_flush=-1,g.Z_OK}else if(0===A.avail_in&&l(t)<=l(e)&&t!==g.Z_FINISH)return h(A,g.Z_BUF_ERROR);if(i.status===E&&0!==A.avail_in)return h(A,g.Z_BUF_ERROR);if(0!==A.avail_in||0!==i.lookahead||t!==g.Z_NO_FLUSH&&i.status!==E){var Q=i.strategy===g.Z_HUFFMAN_ONLY?function(A,t){for(var e;;){if(0===A.lookahead&&(D(A),0===A.lookahead)){if(t===g.Z_NO_FLUSH)return 1;break}if(A.match_length=0,e=(0,s._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,t):i.strategy===g.Z_RLE?function(A,t){for(var e,i,a,n,r=A.window;;){if(A.lookahead<=o){if(D(A),A.lookahead<=o&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(i=r[a=A.strstart-1])===r[++a]&&i===r[++a]&&i===r[++a]){n=A.strstart+o;do{}while(i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&i===r[++a]&&a<n);A.match_length=o-(n-a),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(e=(0,s._tr_tally)(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=(0,s._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,t):N()[i.level].func(i,t);if(3!==Q&&4!==Q||(i.status=E),1===Q||3===Q)return 0===A.avail_out&&(i.last_flush=-1),g.Z_OK;if(2===Q&&(t===g.Z_PARTIAL_FLUSH?(0,s._tr_align)(i):t!==g.Z_BLOCK&&((0,s._tr_stored_block)(i,0,0,!1),t===g.Z_FULL_FLUSH&&(c(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),d(A),0===A.avail_out))return i.last_flush=-1,g.Z_OK}return t!==g.Z_FINISH?g.Z_OK:i.wrap<=0?g.Z_STREAM_END:(2===i.wrap?(u(i,255&A.adler),u(i,A.adler>>8&255),u(i,A.adler>>16&255),u(i,A.adler>>24&255),u(i,255&A.total_in),u(i,A.total_in>>8&255),u(i,A.total_in>>16&255),u(i,A.total_in>>24&255)):(_(i,A.adler>>>16),_(i,65535&A.adler)),d(A),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?g.Z_OK:g.Z_STREAM_END)},t.deflateEnd=function(A){var t;return A&&A.state?42!==(t=A.state.status)&&69!==t&&73!==t&&91!==t&&t!==C&&t!==B&&t!==E?h(A,g.Z_STREAM_ERROR):(A.state=null,t===B?h(A,g.Z_DATA_ERROR):g.Z_OK):g.Z_STREAM_ERROR},t.deflateSetDictionary=function(A,t){var e,i,n,r,s,o,Q,C,B=t.length;if(!A||!A.state)return g.Z_STREAM_ERROR;if(2===(r=(e=A.state).wrap)||1===r&&42!==e.status||e.lookahead)return g.Z_STREAM_ERROR;for(1===r&&(A.adler=(0,a.default)(A.adler,t,B,0)),e.wrap=0,B>=e.w_size&&(0===r&&(c(e.head),e.strstart=0,e.block_start=0,e.insert=0),C=(0,I.Buf8)(e.w_size),(0,I.arraySet)(C,t,B-e.w_size,e.w_size,0),t=C,B=e.w_size),s=A.avail_in,o=A.next_in,Q=A.input,A.avail_in=B,A.next_in=0,A.input=t,D(e);e.lookahead>=3;){i=e.strstart,n=e.lookahead-2;do{e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+3-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++}while(--n);e.strstart=i,e.lookahead=2,D(e)}return e.strstart+=e.lookahead,e.block_start=e.strstart,e.insert=e.lookahead,e.lookahead=0,e.match_length=e.prev_length=2,e.match_available=0,A.next_in=o,A.input=Q,A.avail_in=s,e.wrap=r,g.Z_OK};const a=i(e(654)),g=e(978),n=i(e(896)),r=i(e(263)),s=e(926),I=e(790);var o=258,Q=262,C=103,B=113,E=666;function h(A,t){return A.msg=r.default[t],t}function l(A){return(A<<1)-(A>4?9:0)}function c(A){for(var t=A.length;--t>=0;)A[t]=0}function d(A){var t=A.state,e=t.pending;e>A.avail_out&&(e=A.avail_out),0!==e&&((0,I.arraySet)(A.output,t.pending_buf,t.pending_out,e,A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,0===t.pending&&(t.pending_out=0))}function f(A,t){(0,s._tr_flush_block)(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,d(A.strm)}function u(A,t){A.pending_buf[A.pending++]=t}function _(A,t){A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=255&t}function w(A,t,e,i){var g=A.avail_in;return g>i&&(g=i),0===g?0:(A.avail_in-=g,(0,I.arraySet)(t,A.input,A.next_in,g,e),1===A.state.wrap?A.adler=(0,a.default)(A.adler,t,g,e):2===A.state.wrap&&(A.adler=(0,n.default)(A.adler,t,g,e)),A.next_in+=g,A.total_in+=g,g)}function y(A,t){var e,i,a=A.max_chain_length,g=A.strstart,n=A.prev_length,r=A.nice_match,s=A.strstart>A.w_size-Q?A.strstart-(A.w_size-Q):0,I=A.window,C=A.w_mask,B=A.prev,E=A.strstart+o,h=I[g+n-1],l=I[g+n];A.prev_length>=A.good_match&&(a>>=2),r>A.lookahead&&(r=A.lookahead);do{if(I[(e=t)+n]===l&&I[e+n-1]===h&&I[e]===I[g]&&I[++e]===I[g+1]){g+=2,e++;do{}while(I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&I[++g]===I[++e]&&g<E);if(i=o-(E-g),g=E-o,i>n){if(A.match_start=t,n=i,i>=r)break;h=I[g+n-1],l=I[g+n]}}}while((t=B[t&C])>s&&0!==--a);return n<=A.lookahead?n:A.lookahead}function D(A){var t,e,i,a,g,n=A.w_size;do{if(a=A.window_size-A.lookahead-A.strstart,A.strstart>=n+(n-Q)){(0,I.arraySet)(A.window,A.window,n,n,0),A.match_start-=n,A.strstart-=n,A.block_start-=n,t=e=A.hash_size;do{i=A.head[--t],A.head[t]=i>=n?i-n:0}while(--e);t=e=n;do{i=A.prev[--t],A.prev[t]=i>=n?i-n:0}while(--e);a+=n}if(0===A.strm.avail_in)break;if(e=w(A.strm,A.window,A.strstart+A.lookahead,a),A.lookahead+=e,A.lookahead+A.insert>=3)for(g=A.strstart-A.insert,A.ins_h=A.window[g],A.ins_h=(A.ins_h<<A.hash_shift^A.window[g+1])&A.hash_mask;A.insert&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[g+3-1])&A.hash_mask,A.prev[g&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=g,g++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<Q&&0!==A.strm.avail_in)}function b(A,t){var e=65535;for(e>A.pending_buf_size-5&&(e=A.pending_buf_size-5);;){if(A.lookahead<=1){if(D(A),0===A.lookahead&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var i=A.block_start+e;if((0===A.strstart||A.strstart>=i)&&(A.lookahead=A.strstart-i,A.strstart=i,f(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-Q&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(f(A,!1),A.strm.avail_out),1)}function k(A,t){for(var e,i;;){if(A.lookahead<Q){if(D(A),A.lookahead<Q&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(e=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==e&&A.strstart-e<=A.w_size-Q&&(A.match_length=y(A,e)),A.match_length>=3)if(i=(0,s._tr_tally)(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!==--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+1])&A.hash_mask;else i=(0,s._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function m(A,t){for(var e,i,a;;){if(A.lookahead<Q){if(D(A),A.lookahead<Q&&t===g.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(e=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==e&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-Q&&(A.match_length=y(A,e),A.match_length<=5&&(A.strategy===g.Z_FILTERED||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){a=A.strstart+A.lookahead-3,i=(0,s._tr_tally)(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=a&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!==--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,i&&(f(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if((i=(0,s._tr_tally)(A,0,A.window[A.strstart-1]))&&f(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=(0,s._tr_tally)(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,t===g.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function p(A,t,e,i,a){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=a}let N=function(){const A=[new p(0,0,0,0,b),new p(4,4,8,4,k),new p(4,5,16,8,k),new p(4,6,32,32,k),new p(4,4,16,16,m),new p(8,16,32,32,m),new p(8,16,128,128,m),new p(8,32,128,256,m),new p(32,128,258,1024,m),new p(32,258,258,4096,m)];return N=()=>A,A};function F(){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=g.Z_DEFLATED,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=(0,I.Buf16)(1146),this.dyn_dtree=(0,I.Buf16)(122),this.bl_tree=(0,I.Buf16)(78),c(this.dyn_ltree),c(this.dyn_dtree),c(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=(0,I.Buf16)(16),this.heap=(0,I.Buf16)(573),c(this.heap),this.heap_len=0,this.heap_max=0,this.depth=(0,I.Buf16)(573),c(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function S(A){var t;return A&&A.state?(A.total_in=A.total_out=0,A.data_type=g.Z_UNKNOWN,(t=A.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:B,A.adler=2===t.wrap?0:1,t.last_flush=g.Z_NO_FLUSH,(0,s._tr_init)(t),g.Z_OK):h(A,g.Z_STREAM_ERROR)}function R(A){var t=S(A);return t===g.Z_OK&&function(A){A.window_size=2*A.w_size,c(A.head);const t=N();A.max_lazy_match=t[A.level].max_lazy,A.good_match=t[A.level].good_length,A.nice_match=t[A.level].nice_length,A.max_chain_length=t[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=2,A.match_available=0,A.ins_h=0}(A.state),t}function J(A,t,e,i,a,n){if(!A)return g.Z_STREAM_ERROR;var r=1;if(t===g.Z_DEFAULT_COMPRESSION&&(t=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),a<1||a>9||e!==g.Z_DEFLATED||i<8||i>15||t<0||t>9||n<0||n>g.Z_FIXED)return h(A,g.Z_STREAM_ERROR);8===i&&(i=9);var s=new F;return A.state=s,s.strm=A,s.wrap=r,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=a+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+3-1)/3),s.window=(0,I.Buf8)(2*s.w_size),s.head=(0,I.Buf16)(s.hash_size),s.prev=(0,I.Buf16)(s.w_size),s.lit_bufsize=1<<a+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=(0,I.Buf8)(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=n,s.method=e,R(A)}t.deflateInfo="pako deflate (from Nodeca project)"},547(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},778(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t){var e,i,a,g,n,r,s,I,o,Q,C,B,E,h,l,c,d,f,u,_,w,y,D,b,k;e=A.state,i=A.next_in,b=A.input,a=i+(A.avail_in-5),g=A.next_out,k=A.output,n=g-(t-A.avail_out),r=g+(A.avail_out-257),s=e.dmax,I=e.wsize,o=e.whave,Q=e.wnext,C=e.window,B=e.hold,E=e.bits,h=e.lencode,l=e.distcode,c=(1<<e.lenbits)-1,d=(1<<e.distbits)-1;A:do{E<15&&(B+=b[i++]<<E,E+=8,B+=b[i++]<<E,E+=8),f=h[B&c];t:for(;;){if(B>>>=u=f>>>24,E-=u,0==(u=f>>>16&255))k[g++]=65535&f;else{if(!(16&u)){if(64&u){if(32&u){e.mode=12;break A}A.msg="invalid literal/length code",e.mode=30;break A}f=h[(65535&f)+(B&(1<<u)-1)];continue t}for(_=65535&f,(u&=15)&&(E<u&&(B+=b[i++]<<E,E+=8),_+=B&(1<<u)-1,B>>>=u,E-=u),E<15&&(B+=b[i++]<<E,E+=8,B+=b[i++]<<E,E+=8),f=l[B&d];;){if(B>>>=u=f>>>24,E-=u,16&(u=f>>>16&255)){if(w=65535&f,E<(u&=15)&&(B+=b[i++]<<E,(E+=8)<u&&(B+=b[i++]<<E,E+=8)),(w+=B&(1<<u)-1)>s){A.msg="invalid distance too far back",e.mode=30;break A}if(B>>>=u,E-=u,w>(u=g-n)){if((u=w-u)>o&&e.sane){A.msg="invalid distance too far back",e.mode=30;break A}if(y=0,D=C,0===Q){if(y+=I-u,u<_){_-=u;do{k[g++]=C[y++]}while(--u);y=g-w,D=k}}else if(Q<u){if(y+=I+Q-u,(u-=Q)<_){_-=u;do{k[g++]=C[y++]}while(--u);if(y=0,Q<_){_-=u=Q;do{k[g++]=C[y++]}while(--u);y=g-w,D=k}}}else if(y+=Q-u,u<_){_-=u;do{k[g++]=C[y++]}while(--u);y=g-w,D=k}for(;_>2;)k[g++]=D[y++],k[g++]=D[y++],k[g++]=D[y++],_-=3;_&&(k[g++]=D[y++],_>1&&(k[g++]=D[y++]))}else{y=g-w;do{k[g++]=k[y++],k[g++]=k[y++],k[g++]=k[y++],_-=3}while(_>2);_&&(k[g++]=k[y++],_>1&&(k[g++]=k[y++]))}break}if(64&u){A.msg="invalid distance code",e.mode=30;break A}f=l[(65535&f)+(B&(1<<u)-1)]}}break}}while(i<a&&g<r);return i-=_=E>>3,B&=(1<<(E-=_<<3))-1,A.next_in=i,A.next_out=g,A.avail_in=i<a?a-i+5:5-(i-a),A.avail_out=g<r?r-g+257:257-(g-r),e.hold=B,void(e.bits=E)}},184(A,t,e){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.inflateInfo=void 0,t.inflateResetKeep=E,t.inflateReset=h,t.inflateReset2=l,t.inflateInit2=c,t.inflateInit=function(A){return c(A,15)},t.inflate=function(A,t){var e,i,B,E,h,l,c,d,f,u,y,D,b,k,m,p,N,F,S,R,J,v,G,L,M=0,x=(0,s.Buf8)(4),Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return I;(e=A.state).mode===o&&(e.mode=13),h=A.next_out,B=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=e.hold,f=e.bits,u=l,y=c,v=0;A:for(;;)switch(e.mode){case 1:if(0===e.wrap){e.mode=13;break}for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(2&e.wrap&&35615===d){e.check=0,x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0),d=0,f=0,e.mode=2;break}if(e.flags=0,e.head&&(e.head.done=!1),!(1&e.wrap)||(((255&d)<<8)+(d>>8))%31){A.msg="incorrect header check",e.mode=Q;break}if(8!=(15&d)){A.msg="unknown compression method",e.mode=Q;break}if(f-=4,J=8+(15&(d>>>=4)),0===e.wbits)e.wbits=J;else if(J>e.wbits){A.msg="invalid window size",e.mode=Q;break}e.dmax=1<<J,A.adler=e.check=1,e.mode=512&d?10:o,d=0,f=0;break;case 2:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(e.flags=d,8!=(255&e.flags)){A.msg="unknown compression method",e.mode=Q;break}if(57344&e.flags){A.msg="unknown header flags set",e.mode=Q;break}e.head&&(e.head.text=d>>8&1),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0)),d=0,f=0,e.mode=3;case 3:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.head&&(e.head.time=d),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,x[2]=d>>>16&255,x[3]=d>>>24&255,e.check=(0,g.default)(e.check,x,4,0)),d=0,f=0,e.mode=4;case 4:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.head&&(e.head.xflags=255&d,e.head.os=d>>8),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0)),d=0,f=0,e.mode=5;case 5:if(1024&e.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.length=d,e.head&&(e.head.extra_len=d),512&e.flags&&(x[0]=255&d,x[1]=d>>>8&255,e.check=(0,g.default)(e.check,x,2,0)),d=0,f=0}else e.head&&(e.head.extra=null);e.mode=6;case 6:if(1024&e.flags&&((D=e.length)>l&&(D=l),D&&(e.head&&(J=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Array(e.head.extra_len)),(0,s.arraySet)(e.head.extra,i,E,D,J)),512&e.flags&&(e.check=(0,g.default)(e.check,i,D,E)),l-=D,E+=D,e.length-=D),e.length))break A;e.length=0,e.mode=7;case 7:if(2048&e.flags){if(0===l)break A;D=0;do{J=i[E+D++],e.head&&J&&e.length<65536&&(e.head.name+=String.fromCharCode(J))}while(J&&D<l);if(512&e.flags&&(e.check=(0,g.default)(e.check,i,D,E)),l-=D,E+=D,J)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=8;case 8:if(4096&e.flags){if(0===l)break A;D=0;do{J=i[E+D++],e.head&&J&&e.length<65536&&(e.head.comment+=String.fromCharCode(J))}while(J&&D<l);if(512&e.flags&&(e.check=(0,g.default)(e.check,i,D,E)),l-=D,E+=D,J)break A}else e.head&&(e.head.comment=null);e.mode=9;case 9:if(512&e.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(65535&e.check)){A.msg="header crc mismatch",e.mode=Q;break}d=0,f=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=o;break;case 10:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}A.adler=e.check=C(d),d=0,f=0,e.mode=11;case 11:if(0===e.havedict)return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,e.hold=d,e.bits=f,2;A.adler=e.check=1,e.mode=o;case o:if(5===t||6===t)break A;case 13:if(e.last){d>>>=7&f,f-=7&f,e.mode=27;break}for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}switch(e.last=1&d,f-=1,3&(d>>>=1)){case 0:e.mode=14;break;case 1:if(_(e),e.mode=20,6===t){d>>>=2,f-=2;break A}break;case 2:e.mode=17;break;case 3:A.msg="invalid block type",e.mode=Q}d>>>=2,f-=2;break;case 14:for(d>>>=7&f,f-=7&f;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if((65535&d)!=(d>>>16^65535)){A.msg="invalid stored block lengths",e.mode=Q;break}if(e.length=65535&d,d=0,f=0,e.mode=15,6===t)break A;case 15:e.mode=16;case 16:if(D=e.length){if(D>l&&(D=l),D>c&&(D=c),0===D)break A;(0,s.arraySet)(B,i,E,D,h),l-=D,E+=D,c-=D,h+=D,e.length-=D;break}e.mode=o;break;case 17:for(;f<14;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(e.nlen=257+(31&d),d>>>=5,f-=5,e.ndist=1+(31&d),d>>>=5,f-=5,e.ncode=4+(15&d),d>>>=4,f-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=Q;break}e.have=0,e.mode=18;case 18:for(;e.have<e.ncode;){for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.lens[Y[e.have++]]=7&d,d>>>=3,f-=3}for(;e.have<19;)e.lens[Y[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,G={bits:e.lenbits},v=(0,r.default)(0,e.lens,0,19,e.lencode,0,e.work,G),e.lenbits=G.bits,v){A.msg="invalid code lengths set",e.mode=Q;break}e.have=0,e.mode=19;case 19:for(;e.have<e.nlen+e.ndist;){for(;p=(M=e.lencode[d&(1<<e.lenbits)-1])>>>16&255,N=65535&M,!((m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(N<16)d>>>=m,f-=m,e.lens[e.have++]=N;else{if(16===N){for(L=m+2;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d>>>=m,f-=m,0===e.have){A.msg="invalid bit length repeat",e.mode=Q;break}J=e.lens[e.have-1],D=3+(3&d),d>>>=2,f-=2}else if(17===N){for(L=m+3;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=m,J=0,D=3+(7&(d>>>=m)),d>>>=3,f-=3}else{for(L=m+7;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=m,J=0,D=11+(127&(d>>>=m)),d>>>=7,f-=7}if(e.have+D>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=Q;break}for(;D--;)e.lens[e.have++]=J}}if(e.mode===Q)break;if(0===e.lens[256]){A.msg="invalid code -- missing end-of-block",e.mode=Q;break}if(e.lenbits=9,G={bits:e.lenbits},v=(0,r.default)(1,e.lens,0,e.nlen,e.lencode,0,e.work,G),e.lenbits=G.bits,v){A.msg="invalid literal/lengths set",e.mode=Q;break}if(e.distbits=6,e.distcode=e.distdyn,G={bits:e.distbits},v=(0,r.default)(2,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,G),e.distbits=G.bits,v){A.msg="invalid distances set",e.mode=Q;break}if(e.mode=20,6===t)break A;case 20:e.mode=21;case 21:if(l>=6&&c>=258){A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,e.hold=d,e.bits=f,(0,n.default)(A,y),h=A.next_out,B=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=e.hold,f=e.bits,e.mode===o&&(e.back=-1);break}for(e.back=0;p=(M=e.lencode[d&(1<<e.lenbits)-1])>>>16&255,N=65535&M,!((m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(p&&!(240&p)){for(F=m,S=p,R=N;p=(M=e.lencode[R+((d&(1<<F+S)-1)>>F)])>>>16&255,N=65535&M,!(F+(m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,e.back+=F}if(d>>>=m,f-=m,e.back+=m,e.length=N,0===p){e.mode=26;break}if(32&p){e.back=-1,e.mode=o;break}if(64&p){A.msg="invalid literal/length code",e.mode=Q;break}e.extra=15&p,e.mode=22;case 22:if(e.extra){for(L=e.extra;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.length+=d&(1<<e.extra)-1,d>>>=e.extra,f-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=23;case 23:for(;p=(M=e.distcode[d&(1<<e.distbits)-1])>>>16&255,N=65535&M,!((m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(!(240&p)){for(F=m,S=p,R=N;p=(M=e.distcode[R+((d&(1<<F+S)-1)>>F)])>>>16&255,N=65535&M,!(F+(m=M>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,e.back+=F}if(d>>>=m,f-=m,e.back+=m,64&p){A.msg="invalid distance code",e.mode=Q;break}e.offset=N,e.extra=15&p,e.mode=24;case 24:if(e.extra){for(L=e.extra;f<L;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}e.offset+=d&(1<<e.extra)-1,d>>>=e.extra,f-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=Q;break}e.mode=25;case 25:if(0===c)break A;if(D=y-c,e.offset>D){if((D=e.offset-D)>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=Q;break}D>e.wnext?(D-=e.wnext,b=e.wsize-D):b=e.wnext-D,D>e.length&&(D=e.length),k=e.window}else k=B,b=h-e.offset,D=e.length;D>c&&(D=c),c-=D,e.length-=D;do{B[h++]=k[b++]}while(--D);0===e.length&&(e.mode=21);break;case 26:if(0===c)break A;B[h++]=e.length,c--,e.mode=21;break;case 27:if(e.wrap){for(;f<32;){if(0===l)break A;l--,d|=i[E++]<<f,f+=8}if(y-=c,A.total_out+=y,e.total+=y,y&&(A.adler=e.check=e.flags?(0,g.default)(e.check,B,y,h-y):(0,a.default)(e.check,B,y,h-y)),y=c,(e.flags?d:C(d))!==e.check){A.msg="incorrect data check",e.mode=Q;break}d=0,f=0}e.mode=28;case 28:if(e.wrap&&e.flags){for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(4294967295&e.total)){A.msg="incorrect length check",e.mode=Q;break}d=0,f=0}e.mode=29;case 29:v=1;break A;case Q:v=-3;break A;case 31:return-4;default:return I}return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,e.hold=d,e.bits=f,(e.wsize||y!==A.avail_out&&e.mode<Q&&(e.mode<27||4!==t))&&w(A,A.output,A.next_out,y-A.avail_out)?(e.mode=31,-4):(u-=A.avail_in,y-=A.avail_out,A.total_in+=u,A.total_out+=y,e.total+=y,e.wrap&&y&&(A.adler=e.check=e.flags?(0,g.default)(e.check,B,y,A.next_out-y):(0,a.default)(e.check,B,y,A.next_out-y)),A.data_type=e.bits+(e.last?64:0)+(e.mode===o?128:0)+(20===e.mode||15===e.mode?256:0),(0===u&&0===y||4===t)&&0===v&&(v=-5),v)},t.inflateEnd=function(A){if(!A||!A.state)return I;var t=A.state;return t.window&&(t.window=null),A.state=null,0},t.inflateGetHeader=function(A,t){var e;return A&&A.state&&2&(e=A.state).wrap?(e.head=t,t.done=!1,0):I},t.inflateSetDictionary=function(A,t){var e,i,g=t.length;return A&&A.state?0!==(e=A.state).wrap&&11!==e.mode?I:11===e.mode&&(i=1,(i=(0,a.default)(i,t,g,0))!==e.check)?-3:w(A,t,g,g)?(e.mode=31,-4):(e.havedict=1,0):I};const a=i(e(654)),g=i(e(896)),n=i(e(778)),r=i(e(407)),s=e(790);var I=-2,o=12,Q=30;function C(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function B(){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=(0,s.Buf16)(320),this.work=(0,s.Buf16)(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(A){var t;return A&&A.state?(t=A.state,A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=(0,s.Buf32)(852),t.distcode=t.distdyn=(0,s.Buf32)(592),t.sane=1,t.back=-1,0):I}function h(A){var t;return A&&A.state?((t=A.state).wsize=0,t.whave=0,t.wnext=0,E(A)):I}function l(A,t){var e,i;return A&&A.state?(i=A.state,t<0?(e=0,t=-t):(e=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?I:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,h(A))):I}function c(A,t){var e,i;return A?(i=new B,A.state=i,i.window=null,0!==(e=l(A,t))&&(A.state=null),e):I}var d,f,u=!0;function _(A){if(u){var t;for(d=(0,s.Buf32)(512),f=(0,s.Buf32)(32),t=0;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for((0,r.default)(1,A.lens,0,288,d,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;(0,r.default)(2,A.lens,0,32,f,0,A.work,{bits:5}),u=!1}A.lencode=d,A.lenbits=9,A.distcode=f,A.distbits=5}function w(A,t,e,i){var a,g=A.state;return null===g.window&&(g.wsize=1<<g.wbits,g.wnext=0,g.whave=0,g.window=(0,s.Buf8)(g.wsize)),i>=g.wsize?((0,s.arraySet)(g.window,t,e-g.wsize,g.wsize,0),g.wnext=0,g.whave=g.wsize):((a=g.wsize-g.wnext)>i&&(a=i),(0,s.arraySet)(g.window,t,e-i,a,g.wnext),(i-=a)?((0,s.arraySet)(g.window,t,e-i,i,0),g.wnext=i,g.whave=g.wsize):(g.wnext+=a,g.wnext===g.wsize&&(g.wnext=0),g.whave<g.wsize&&(g.whave+=a))),0}t.inflateInfo="pako inflate (from Nodeca project)"},407(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(A,t,e,I,o,Q,C,B){var E,h,l,c,d,f,u,_,w,y=B.bits,D=0,b=0,k=0,m=0,p=0,N=0,F=0,S=0,R=0,J=0,v=null,G=0,L=(0,i.Buf16)(16),M=(0,i.Buf16)(16),x=null,Y=0;for(D=0;D<=a;D++)L[D]=0;for(b=0;b<I;b++)L[t[e+b]]++;for(p=y,m=a;m>=1&&0===L[m];m--);if(p>m&&(p=m),0===m)return o[Q++]=20971520,o[Q++]=20971520,B.bits=1,0;for(k=1;k<m&&0===L[k];k++);for(p<k&&(p=k),S=1,D=1;D<=a;D++)if(S<<=1,(S-=L[D])<0)return-1;if(S>0&&(0===A||1!==m))return-1;for(M[1]=0,D=1;D<a;D++)M[D+1]=M[D]+L[D];for(b=0;b<I;b++)0!==t[e+b]&&(C[M[t[e+b]]++]=b);if(0===A?(v=x=C,f=19):1===A?(v=g,G-=257,x=n,Y-=257,f=256):(v=r,x=s,f=-1),J=0,b=0,D=k,d=Q,N=p,F=0,l=-1,c=(R=1<<p)-1,1===A&&R>852||2===A&&R>592)return 1;for(;;){u=D-F,C[b]<f?(_=0,w=C[b]):C[b]>f?(_=x[Y+C[b]],w=v[G+C[b]]):(_=96,w=0),E=1<<D-F,k=h=1<<N;do{o[d+(J>>F)+(h-=E)]=u<<24|_<<16|w}while(0!==h);for(E=1<<D-1;J&E;)E>>=1;if(0!==E?(J&=E-1,J+=E):J=0,b++,0===--L[D]){if(D===m)break;D=t[e+C[b]]}if(D>p&&(J&c)!==l){for(0===F&&(F=p),d+=k,S=1<<(N=D-F);N+F<m&&!((S-=L[N+F])<=0);)N++,S<<=1;if(R+=1<<N,1===A&&R>852||2===A&&R>592)return 1;o[l=J&c]=p<<24|N<<16|d-Q}}return 0!==J&&(o[d+J]=D-F<<24|64<<16),B.bits=p,0};const i=e(790);var a=15,g=[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],n=[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],r=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],s=[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]},263(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default={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"}},926(A,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t._tr_init=function(A){Y||(function(){var A,t,e,i,a,h=new Array(16);for(g(n=new Array(576)),g(r=new Array(60)),g(s=new Array(512)),g(I=new Array(256)),g(o=new Array(29)),g(Q=new Array(c)),e=0,i=0;i<28;i++)for(o[i]=e,A=0;A<1<<f[i];A++)I[e++]=i;for(I[e-1]=i,a=0,i=0;i<16;i++)for(Q[i]=a,A=0;A<1<<u[i];A++)s[a++]=i;for(a>>=7;i<c;i++)for(Q[i]=a<<7,A=0;A<1<<u[i]-7;A++)s[256+a++]=i;for(t=0;t<=d;t++)h[t]=0;for(A=0;A<=143;)n[2*A+1]=8,A++,h[8]++;for(;A<=255;)n[2*A+1]=9,A++,h[9]++;for(;A<=279;)n[2*A+1]=7,A++,h[7]++;for(;A<=287;)n[2*A+1]=8,A++,h[8]++;for(F(n,287,h),A=0;A<c;A++)r[2*A+1]=5,r[2*A]=N(A,5);C=new y(n,f,257,l,d),B=new y(r,u,0,c,d),E=new y(new Array(0),_,0,19,7)}(),Y=!0),A.l_desc=new D(A.dyn_ltree,C),A.d_desc=new D(A.dyn_dtree,B),A.bl_desc=new D(A.bl_tree,E),A.bi_buf=0,A.bi_valid=0,S(A)},t._tr_stored_block=U,t._tr_align=function(A){m(A,2,3),p(A,256,n),function(A){16===A.bi_valid?(k(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)},t._tr_flush_block=function(A,t,e,a){var g,s,I=0;A.level>0?(A.strm.data_type===i.Z_UNKNOWN&&(A.strm.data_type=function(A){var t,e=4093624447;for(t=0;t<=31;t++,e>>>=1)if(1&e&&0!==A.dyn_ltree[2*t])return i.Z_BINARY;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return i.Z_TEXT;for(t=32;t<h;t++)if(0!==A.dyn_ltree[2*t])return i.Z_TEXT;return i.Z_BINARY}(A)),L(A,A.l_desc),L(A,A.d_desc),I=function(A){var t;for(M(A,A.dyn_ltree,A.l_desc.max_code),M(A,A.dyn_dtree,A.d_desc.max_code),L(A,A.bl_desc),t=18;t>=3&&0===A.bl_tree[2*w[t]+1];t--);return A.opt_len+=3*(t+1)+5+5+4,t}(A),g=A.opt_len+3+7>>>3,(s=A.static_len+3+7>>>3)<=g&&(g=s)):g=s=e+5,e+4<=g&&-1!==t?U(A,t,e,a):A.strategy===i.Z_FIXED||s===g?(m(A,2+(a?1:0),3),G(A,n,r)):(m(A,4+(a?1:0),3),function(A,t,e,i){var a;for(m(A,t-257,5),m(A,e-1,5),m(A,i-4,4),a=0;a<i;a++)m(A,A.bl_tree[2*w[a]+1],3);x(A,A.dyn_ltree,t-1),x(A,A.dyn_dtree,e-1)}(A,A.l_desc.max_code+1,A.d_desc.max_code+1,I+1),G(A,A.dyn_ltree,A.dyn_dtree)),S(A),a&&R(A)},t._tr_tally=function(A,t,e){return A.pending_buf[A.d_buf+2*A.last_lit]=t>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&t,A.pending_buf[A.l_buf+A.last_lit]=255&e,A.last_lit++,0===t?A.dyn_ltree[2*e]++:(A.matches++,t--,A.dyn_ltree[2*(I[e]+h+1)]++,A.dyn_dtree[2*b(t)]++),A.last_lit===A.lit_bufsize-1};const i=e(978),a=e(790);function g(A){for(var t=A.length;--t>=0;)A[t]=0}var n,r,s,I,o,Q,C,B,E,h=256,l=286,c=30,d=15,f=[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],u=[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],_=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],w=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function y(A,t,e,i,a){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=a,this.has_stree=A&&A.length}function D(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}function b(A){return A<256?s[A]:s[256+(A>>>7)]}function k(A,t){A.pending_buf[A.pending++]=255&t,A.pending_buf[A.pending++]=t>>>8&255}function m(A,t,e){A.bi_valid>16-e?(A.bi_buf|=t<<A.bi_valid&65535,k(A,A.bi_buf),A.bi_buf=t>>16-A.bi_valid,A.bi_valid+=e-16):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)}function p(A,t,e){m(A,e[2*t],e[2*t+1])}function N(A,t){var e=0;do{e|=1&A,A>>>=1,e<<=1}while(--t>0);return e>>>1}function F(A,t,e){var i,a,g=new Array(16),n=0;for(i=1;i<=d;i++)g[i]=n=n+e[i-1]<<1;for(a=0;a<=t;a++){var r=A[2*a+1];0!==r&&(A[2*a]=N(g[r]++,r))}}function S(A){var t;for(t=0;t<l;t++)A.dyn_ltree[2*t]=0;for(t=0;t<c;t++)A.dyn_dtree[2*t]=0;for(t=0;t<19;t++)A.bl_tree[2*t]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0}function R(A){A.bi_valid>8?k(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0}function J(A,t,e,i){var a=2*t,g=2*e;return A[a]<A[g]||A[a]===A[g]&&i[t]<=i[e]}function v(A,t,e){for(var i=A.heap[e],a=e<<1;a<=A.heap_len&&(a<A.heap_len&&J(t,A.heap[a+1],A.heap[a],A.depth)&&a++,!J(t,i,A.heap[a],A.depth));)A.heap[e]=A.heap[a],e=a,a<<=1;A.heap[e]=i}function G(A,t,e){var i,a,g,n,r=0;if(0!==A.last_lit)do{i=A.pending_buf[A.d_buf+2*r]<<8|A.pending_buf[A.d_buf+2*r+1],a=A.pending_buf[A.l_buf+r],r++,0===i?p(A,a,t):(p(A,(g=I[a])+h+1,t),0!==(n=f[g])&&m(A,a-=o[g],n),p(A,g=b(--i),e),0!==(n=u[g])&&m(A,i-=Q[g],n))}while(r<A.last_lit);p(A,256,t)}function L(A,t){var e,i,a,g=t.dyn_tree,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,s=t.stat_desc.elems,I=-1;for(A.heap_len=0,A.heap_max=573,e=0;e<s;e++)0!==g[2*e]?(A.heap[++A.heap_len]=I=e,A.depth[e]=0):g[2*e+1]=0;for(;A.heap_len<2;)g[2*(a=A.heap[++A.heap_len]=I<2?++I:0)]=1,A.depth[a]=0,A.opt_len--,r&&(A.static_len-=n[2*a+1]);for(t.max_code=I,e=A.heap_len>>1;e>=1;e--)v(A,g,e);a=s;do{e=A.heap[1],A.heap[1]=A.heap[A.heap_len--],v(A,g,1),i=A.heap[1],A.heap[--A.heap_max]=e,A.heap[--A.heap_max]=i,g[2*a]=g[2*e]+g[2*i],A.depth[a]=(A.depth[e]>=A.depth[i]?A.depth[e]:A.depth[i])+1,g[2*e+1]=g[2*i+1]=a,A.heap[1]=a++,v(A,g,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],function(A,t){var e,i,a,g,n,r,s=t.dyn_tree,I=t.max_code,o=t.stat_desc.static_tree,Q=t.stat_desc.has_stree,C=t.stat_desc.extra_bits,B=t.stat_desc.extra_base,E=t.stat_desc.max_length,h=0;for(g=0;g<=d;g++)A.bl_count[g]=0;for(s[2*A.heap[A.heap_max]+1]=0,e=A.heap_max+1;e<573;e++)(g=s[2*s[2*(i=A.heap[e])+1]+1]+1)>E&&(g=E,h++),s[2*i+1]=g,i>I||(A.bl_count[g]++,n=0,i>=B&&(n=C[i-B]),r=s[2*i],A.opt_len+=r*(g+n),Q&&(A.static_len+=r*(o[2*i+1]+n)));if(0!==h){do{for(g=E-1;0===A.bl_count[g];)g--;A.bl_count[g]--,A.bl_count[g+1]+=2,A.bl_count[E]--,h-=2}while(h>0);for(g=E;0!==g;g--)for(i=A.bl_count[g];0!==i;)(a=A.heap[--e])>I||(s[2*a+1]!==g&&(A.opt_len+=(g-s[2*a+1])*s[2*a],s[2*a+1]=g),i--)}}(A,t),F(g,I,A.bl_count)}function M(A,t,e){var i,a,g=-1,n=t[1],r=0,s=7,I=4;for(0===n&&(s=138,I=3),t[2*(e+1)+1]=65535,i=0;i<=e;i++)a=n,n=t[2*(i+1)+1],++r<s&&a===n||(r<I?A.bl_tree[2*a]+=r:0!==a?(a!==g&&A.bl_tree[2*a]++,A.bl_tree[32]++):r<=10?A.bl_tree[34]++:A.bl_tree[36]++,r=0,g=a,0===n?(s=138,I=3):a===n?(s=6,I=3):(s=7,I=4))}function x(A,t,e){var i,a,g=-1,n=t[1],r=0,s=7,I=4;for(0===n&&(s=138,I=3),i=0;i<=e;i++)if(a=n,n=t[2*(i+1)+1],!(++r<s&&a===n)){if(r<I)do{p(A,a,A.bl_tree)}while(0!==--r);else 0!==a?(a!==g&&(p(A,a,A.bl_tree),r--),p(A,16,A.bl_tree),m(A,r-3,2)):r<=10?(p(A,17,A.bl_tree),m(A,r-3,3)):(p(A,18,A.bl_tree),m(A,r-11,7));r=0,g=a,0===n?(s=138,I=3):a===n?(s=6,I=3):(s=7,I=4)}}var Y=!1;function U(A,t,e,i){m(A,0+(i?1:0),3),function(A,t,e){R(A),k(A,e),k(A,~e),(0,a.arraySet)(A.pending_buf,A.window,t,e,A.pending),A.pending+=e}(A,t,e)}},877(A,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}},t={},e=function e(i){var a=t[i];if(void 0!==a)return a.exports;var g=t[i]={exports:{}};return A[i].call(g.exports,g,g.exports,e),g.exports}(159);window.gmodTABIX=e})();
|
package/dist/tbi.js
CHANGED
|
@@ -175,18 +175,10 @@ class TabixIndex extends indexFile_ts_1.default {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const minLin = Math.min(min >> 14, nintv - 1);
|
|
183
|
-
const maxLin = Math.min(max >> 14, nintv - 1);
|
|
184
|
-
for (let i = minLin; i <= maxLin; ++i) {
|
|
185
|
-
const vp = linearIndex[i];
|
|
186
|
-
if (vp && (!lowest || vp.compareTo(lowest) < 0)) {
|
|
187
|
-
lowest = vp;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
178
|
+
// The linear index is monotonically non-decreasing, so the minimum virtual
|
|
179
|
+
// offset for chunks that could overlap [min, ...) is at index minLin.
|
|
180
|
+
// SYNC: ~/src/gmod/bam-js/src/bai.ts getLowestChunk
|
|
181
|
+
const lowest = linearIndex[Math.min(min >> 14, linearIndex.length - 1)];
|
|
190
182
|
return (0, util_ts_1.optimizeChunks)(chunks, lowest);
|
|
191
183
|
}
|
|
192
184
|
}
|
package/dist/tbi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Chunk from './chunk.ts';
|
|
2
2
|
import type VirtualOffset from './virtualOffset.ts';
|
|
3
|
-
export declare function canMergeBlocks(chunk1: Chunk, chunk2: Chunk): boolean;
|
|
4
3
|
export declare function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset): Chunk[];
|
|
5
4
|
export declare function findFirstData(currentFdl: VirtualOffset | undefined, virtualOffset: VirtualOffset): VirtualOffset;
|
|
6
5
|
export declare function parseNameBytes(namesBytes: Uint8Array): {
|
package/dist/util.js
CHANGED
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.canMergeBlocks = canMergeBlocks;
|
|
7
6
|
exports.optimizeChunks = optimizeChunks;
|
|
8
7
|
exports.findFirstData = findFirstData;
|
|
9
8
|
exports.parseNameBytes = parseNameBytes;
|
|
@@ -13,35 +12,64 @@ exports.memoizeByRefId = memoizeByRefId;
|
|
|
13
12
|
const quick_lru_1 = __importDefault(require("@jbrowse/quick-lru"));
|
|
14
13
|
const chunk_ts_1 = __importDefault(require("./chunk.js"));
|
|
15
14
|
const long_ts_1 = require("./long.js");
|
|
16
|
-
|
|
17
|
-
return (chunk2.minv.blockPosition - chunk1.maxv.blockPosition < 65_000 &&
|
|
18
|
-
chunk2.maxv.blockPosition - chunk1.minv.blockPosition < 5_000_000);
|
|
19
|
-
}
|
|
15
|
+
// SYNC: ~/src/gmod/bam-js/src/util.ts optimizeChunks
|
|
20
16
|
function optimizeChunks(chunks, lowest) {
|
|
21
|
-
|
|
17
|
+
const n = chunks.length;
|
|
18
|
+
if (n === 0) {
|
|
22
19
|
return chunks;
|
|
23
20
|
}
|
|
24
|
-
chunks
|
|
21
|
+
// Pre-filter before sorting: discard chunks whose maxv is at or before
|
|
22
|
+
// `lowest` (the linear-index floor). Avoids sorting chunks that will be
|
|
23
|
+
// dropped anyway — significant win when the linear index prunes most bins.
|
|
24
|
+
let filtered;
|
|
25
|
+
if (lowest) {
|
|
26
|
+
const lowestBlock = lowest.blockPosition;
|
|
27
|
+
const lowestData = lowest.dataPosition;
|
|
28
|
+
filtered = [];
|
|
29
|
+
for (let i = 0; i < n; i++) {
|
|
30
|
+
const chunk = chunks[i];
|
|
31
|
+
const cmp = chunk.maxv.blockPosition - lowestBlock ||
|
|
32
|
+
chunk.maxv.dataPosition - lowestData;
|
|
33
|
+
if (cmp > 0) {
|
|
34
|
+
filtered.push(chunk);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (filtered.length === 0) {
|
|
38
|
+
return filtered;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
filtered = chunks;
|
|
43
|
+
}
|
|
44
|
+
filtered.sort((c0, c1) => {
|
|
25
45
|
const dif = c0.minv.blockPosition - c1.minv.blockPosition;
|
|
26
46
|
return dif === 0 ? c0.minv.dataPosition - c1.minv.dataPosition : dif;
|
|
27
47
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
// Merge adjacent/overlapping chunks. Track min/max blockPositions in locals
|
|
49
|
+
// to avoid repeated property-chain reads in the hot loop.
|
|
50
|
+
// Chunks are never mutated — merging produces a new Chunk instance.
|
|
51
|
+
const mergedChunks = [filtered[0]];
|
|
52
|
+
let lastMinBlock = filtered[0].minv.blockPosition;
|
|
53
|
+
let lastMaxBlock = filtered[0].maxv.blockPosition;
|
|
54
|
+
for (let i = 1; i < filtered.length; i++) {
|
|
55
|
+
const chunk = filtered[i];
|
|
56
|
+
const chunkMinBlock = chunk.minv.blockPosition;
|
|
57
|
+
const chunkMaxBlock = chunk.maxv.blockPosition;
|
|
58
|
+
if (chunkMinBlock - lastMaxBlock < 65_000 &&
|
|
59
|
+
chunkMaxBlock - lastMinBlock < 5_000_000) {
|
|
60
|
+
const lastChunk = mergedChunks.at(-1);
|
|
61
|
+
const cmp = chunkMaxBlock - lastMaxBlock ||
|
|
62
|
+
chunk.maxv.dataPosition - lastChunk.maxv.dataPosition;
|
|
63
|
+
if (cmp > 0) {
|
|
64
|
+
mergedChunks[mergedChunks.length - 1] = new chunk_ts_1.default(lastChunk.minv, chunk.maxv, lastChunk.bin);
|
|
65
|
+
lastMaxBlock = chunkMaxBlock;
|
|
43
66
|
}
|
|
44
67
|
}
|
|
68
|
+
else {
|
|
69
|
+
mergedChunks.push(chunk);
|
|
70
|
+
lastMinBlock = chunkMinBlock;
|
|
71
|
+
lastMaxBlock = chunkMaxBlock;
|
|
72
|
+
}
|
|
45
73
|
}
|
|
46
74
|
return mergedChunks;
|
|
47
75
|
}
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/esm/tbi.js
CHANGED
|
@@ -170,18 +170,10 @@ export default class TabixIndex extends IndexFile {
|
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
const minLin = Math.min(min >> 14, nintv - 1);
|
|
178
|
-
const maxLin = Math.min(max >> 14, nintv - 1);
|
|
179
|
-
for (let i = minLin; i <= maxLin; ++i) {
|
|
180
|
-
const vp = linearIndex[i];
|
|
181
|
-
if (vp && (!lowest || vp.compareTo(lowest) < 0)) {
|
|
182
|
-
lowest = vp;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
173
|
+
// The linear index is monotonically non-decreasing, so the minimum virtual
|
|
174
|
+
// offset for chunks that could overlap [min, ...) is at index minLin.
|
|
175
|
+
// SYNC: ~/src/gmod/bam-js/src/bai.ts getLowestChunk
|
|
176
|
+
const lowest = linearIndex[Math.min(min >> 14, linearIndex.length - 1)];
|
|
185
177
|
return optimizeChunks(chunks, lowest);
|
|
186
178
|
}
|
|
187
179
|
}
|
package/esm/tbi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tbi.js","sourceRoot":"","sources":["../src/tbi.ts"],"names":[],"mappings":"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"}
|
package/esm/util.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Chunk from './chunk.ts';
|
|
2
2
|
import type VirtualOffset from './virtualOffset.ts';
|
|
3
|
-
export declare function canMergeBlocks(chunk1: Chunk, chunk2: Chunk): boolean;
|
|
4
3
|
export declare function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset): Chunk[];
|
|
5
4
|
export declare function findFirstData(currentFdl: VirtualOffset | undefined, virtualOffset: VirtualOffset): VirtualOffset;
|
|
6
5
|
export declare function parseNameBytes(namesBytes: Uint8Array): {
|
package/esm/util.js
CHANGED
|
@@ -1,35 +1,64 @@
|
|
|
1
1
|
import LRU from '@jbrowse/quick-lru';
|
|
2
2
|
import Chunk from "./chunk.js";
|
|
3
3
|
import { longFromBytesToUnsigned } from "./long.js";
|
|
4
|
-
|
|
5
|
-
return (chunk2.minv.blockPosition - chunk1.maxv.blockPosition < 65_000 &&
|
|
6
|
-
chunk2.maxv.blockPosition - chunk1.minv.blockPosition < 5_000_000);
|
|
7
|
-
}
|
|
4
|
+
// SYNC: ~/src/gmod/bam-js/src/util.ts optimizeChunks
|
|
8
5
|
export function optimizeChunks(chunks, lowest) {
|
|
9
|
-
|
|
6
|
+
const n = chunks.length;
|
|
7
|
+
if (n === 0) {
|
|
10
8
|
return chunks;
|
|
11
9
|
}
|
|
12
|
-
chunks
|
|
10
|
+
// Pre-filter before sorting: discard chunks whose maxv is at or before
|
|
11
|
+
// `lowest` (the linear-index floor). Avoids sorting chunks that will be
|
|
12
|
+
// dropped anyway — significant win when the linear index prunes most bins.
|
|
13
|
+
let filtered;
|
|
14
|
+
if (lowest) {
|
|
15
|
+
const lowestBlock = lowest.blockPosition;
|
|
16
|
+
const lowestData = lowest.dataPosition;
|
|
17
|
+
filtered = [];
|
|
18
|
+
for (let i = 0; i < n; i++) {
|
|
19
|
+
const chunk = chunks[i];
|
|
20
|
+
const cmp = chunk.maxv.blockPosition - lowestBlock ||
|
|
21
|
+
chunk.maxv.dataPosition - lowestData;
|
|
22
|
+
if (cmp > 0) {
|
|
23
|
+
filtered.push(chunk);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (filtered.length === 0) {
|
|
27
|
+
return filtered;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
filtered = chunks;
|
|
32
|
+
}
|
|
33
|
+
filtered.sort((c0, c1) => {
|
|
13
34
|
const dif = c0.minv.blockPosition - c1.minv.blockPosition;
|
|
14
35
|
return dif === 0 ? c0.minv.dataPosition - c1.minv.dataPosition : dif;
|
|
15
36
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
// Merge adjacent/overlapping chunks. Track min/max blockPositions in locals
|
|
38
|
+
// to avoid repeated property-chain reads in the hot loop.
|
|
39
|
+
// Chunks are never mutated — merging produces a new Chunk instance.
|
|
40
|
+
const mergedChunks = [filtered[0]];
|
|
41
|
+
let lastMinBlock = filtered[0].minv.blockPosition;
|
|
42
|
+
let lastMaxBlock = filtered[0].maxv.blockPosition;
|
|
43
|
+
for (let i = 1; i < filtered.length; i++) {
|
|
44
|
+
const chunk = filtered[i];
|
|
45
|
+
const chunkMinBlock = chunk.minv.blockPosition;
|
|
46
|
+
const chunkMaxBlock = chunk.maxv.blockPosition;
|
|
47
|
+
if (chunkMinBlock - lastMaxBlock < 65_000 &&
|
|
48
|
+
chunkMaxBlock - lastMinBlock < 5_000_000) {
|
|
49
|
+
const lastChunk = mergedChunks.at(-1);
|
|
50
|
+
const cmp = chunkMaxBlock - lastMaxBlock ||
|
|
51
|
+
chunk.maxv.dataPosition - lastChunk.maxv.dataPosition;
|
|
52
|
+
if (cmp > 0) {
|
|
53
|
+
mergedChunks[mergedChunks.length - 1] = new Chunk(lastChunk.minv, chunk.maxv, lastChunk.bin);
|
|
54
|
+
lastMaxBlock = chunkMaxBlock;
|
|
31
55
|
}
|
|
32
56
|
}
|
|
57
|
+
else {
|
|
58
|
+
mergedChunks.push(chunk);
|
|
59
|
+
lastMinBlock = chunkMinBlock;
|
|
60
|
+
lastMaxBlock = chunkMaxBlock;
|
|
61
|
+
}
|
|
33
62
|
}
|
|
34
63
|
return mergedChunks;
|
|
35
64
|
}
|
package/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAA;AAEpC,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAInD,MAAM,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/tbi.ts
CHANGED
|
@@ -214,18 +214,10 @@ export default class TabixIndex extends IndexFile {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
//
|
|
218
|
-
//
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
const minLin = Math.min(min >> 14, nintv - 1)
|
|
222
|
-
const maxLin = Math.min(max >> 14, nintv - 1)
|
|
223
|
-
for (let i = minLin; i <= maxLin; ++i) {
|
|
224
|
-
const vp = linearIndex[i]
|
|
225
|
-
if (vp && (!lowest || vp.compareTo(lowest) < 0)) {
|
|
226
|
-
lowest = vp
|
|
227
|
-
}
|
|
228
|
-
}
|
|
217
|
+
// The linear index is monotonically non-decreasing, so the minimum virtual
|
|
218
|
+
// offset for chunks that could overlap [min, ...) is at index minLin.
|
|
219
|
+
// SYNC: ~/src/gmod/bam-js/src/bai.ts getLowestChunk
|
|
220
|
+
const lowest = linearIndex[Math.min(min >> 14, linearIndex.length - 1)]
|
|
229
221
|
|
|
230
222
|
return optimizeChunks(chunks, lowest)
|
|
231
223
|
}
|
package/src/util.ts
CHANGED
|
@@ -5,39 +5,73 @@ import { longFromBytesToUnsigned } from './long.ts'
|
|
|
5
5
|
|
|
6
6
|
import type VirtualOffset from './virtualOffset.ts'
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
return (
|
|
10
|
-
chunk2.minv.blockPosition - chunk1.maxv.blockPosition < 65_000 &&
|
|
11
|
-
chunk2.maxv.blockPosition - chunk1.minv.blockPosition < 5_000_000
|
|
12
|
-
)
|
|
13
|
-
}
|
|
14
|
-
|
|
8
|
+
// SYNC: ~/src/gmod/bam-js/src/util.ts optimizeChunks
|
|
15
9
|
export function optimizeChunks(chunks: Chunk[], lowest?: VirtualOffset) {
|
|
16
|
-
|
|
10
|
+
const n = chunks.length
|
|
11
|
+
if (n === 0) {
|
|
17
12
|
return chunks
|
|
18
13
|
}
|
|
19
14
|
|
|
20
|
-
chunks
|
|
15
|
+
// Pre-filter before sorting: discard chunks whose maxv is at or before
|
|
16
|
+
// `lowest` (the linear-index floor). Avoids sorting chunks that will be
|
|
17
|
+
// dropped anyway — significant win when the linear index prunes most bins.
|
|
18
|
+
let filtered: Chunk[]
|
|
19
|
+
if (lowest) {
|
|
20
|
+
const lowestBlock = lowest.blockPosition
|
|
21
|
+
const lowestData = lowest.dataPosition
|
|
22
|
+
filtered = []
|
|
23
|
+
for (let i = 0; i < n; i++) {
|
|
24
|
+
const chunk = chunks[i]!
|
|
25
|
+
const cmp =
|
|
26
|
+
chunk.maxv.blockPosition - lowestBlock ||
|
|
27
|
+
chunk.maxv.dataPosition - lowestData
|
|
28
|
+
if (cmp > 0) {
|
|
29
|
+
filtered.push(chunk)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (filtered.length === 0) {
|
|
33
|
+
return filtered
|
|
34
|
+
}
|
|
35
|
+
} else {
|
|
36
|
+
filtered = chunks
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
filtered.sort((c0, c1) => {
|
|
21
40
|
const dif = c0.minv.blockPosition - c1.minv.blockPosition
|
|
22
41
|
return dif === 0 ? c0.minv.dataPosition - c1.minv.dataPosition : dif
|
|
23
42
|
})
|
|
24
43
|
|
|
25
|
-
|
|
26
|
-
|
|
44
|
+
// Merge adjacent/overlapping chunks. Track min/max blockPositions in locals
|
|
45
|
+
// to avoid repeated property-chain reads in the hot loop.
|
|
46
|
+
// Chunks are never mutated — merging produces a new Chunk instance.
|
|
47
|
+
const mergedChunks: Chunk[] = [filtered[0]!]
|
|
48
|
+
let lastMinBlock = filtered[0]!.minv.blockPosition
|
|
49
|
+
let lastMaxBlock = filtered[0]!.maxv.blockPosition
|
|
27
50
|
|
|
28
|
-
for (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
51
|
+
for (let i = 1; i < filtered.length; i++) {
|
|
52
|
+
const chunk = filtered[i]!
|
|
53
|
+
const chunkMinBlock = chunk.minv.blockPosition
|
|
54
|
+
const chunkMaxBlock = chunk.maxv.blockPosition
|
|
55
|
+
if (
|
|
56
|
+
chunkMinBlock - lastMaxBlock < 65_000 &&
|
|
57
|
+
chunkMaxBlock - lastMinBlock < 5_000_000
|
|
58
|
+
) {
|
|
59
|
+
const lastChunk = mergedChunks.at(-1)!
|
|
60
|
+
const cmp =
|
|
61
|
+
chunkMaxBlock - lastMaxBlock ||
|
|
62
|
+
chunk.maxv.dataPosition - lastChunk.maxv.dataPosition
|
|
63
|
+
if (cmp > 0) {
|
|
64
|
+
mergedChunks[mergedChunks.length - 1] = new Chunk(
|
|
65
|
+
lastChunk.minv,
|
|
66
|
+
chunk.maxv,
|
|
67
|
+
lastChunk.bin,
|
|
68
|
+
)
|
|
69
|
+
lastMaxBlock = chunkMaxBlock
|
|
40
70
|
}
|
|
71
|
+
} else {
|
|
72
|
+
mergedChunks.push(chunk)
|
|
73
|
+
lastMinBlock = chunkMinBlock
|
|
74
|
+
lastMaxBlock = chunkMaxBlock
|
|
41
75
|
}
|
|
42
76
|
}
|
|
43
77
|
|