@zbsearch/plugin-vector-quantizer 0.0.0-stage → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +674 -0
- package/README.md +96 -2
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +91 -0
- package/dist/index.global.js +2 -0
- package/dist/index.global.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/wasm-binary.d.ts +2 -0
- package/dist/wasm.d.ts +37 -0
- package/package.json +54 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { AnyZBSearch, CodeBuffer, VectorBinarySnapshot, VectorQuantizer, VectorQuantizerFactory } from 'zbsearch';
|
|
2
|
+
import { type VectorQuantizerWasm } from './wasm.js';
|
|
3
|
+
export { loadVectorQuantizerWasm, loadVectorQuantizerWasmSync, VectorQuantizerWasm } from './wasm.js';
|
|
4
|
+
export declare const PQ_KIND = "pq";
|
|
5
|
+
export interface PQOptions {
|
|
6
|
+
/** Number of subspaces, i.e. bytes per vector. Defaults to `dim / 8` (8 dimensions per subspace). */
|
|
7
|
+
m?: number;
|
|
8
|
+
/** Centroids per subspace, at most 256 (codes are bytes). Defaults to 256. */
|
|
9
|
+
ks?: number;
|
|
10
|
+
/** k-means iterations per subspace. Defaults to 12. */
|
|
11
|
+
iterations?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Vectors collected before the quantizer is trained. Until then the index keeps them as float32 and searches them
|
|
14
|
+
* exactly. Defaults to `max(4 * ks, 1024)`.
|
|
15
|
+
*/
|
|
16
|
+
trainingSize?: number;
|
|
17
|
+
/** Upper bound on the vectors used by one fit (evenly sampled). Defaults to `max(trainingSize, 4096)`. */
|
|
18
|
+
maxTrainingSize?: number;
|
|
19
|
+
/** Seed of the k-means initialisation, so fits are reproducible. Defaults to 42. */
|
|
20
|
+
seed?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Product quantizer backed by the WebAssembly build of vector_quantizer.
|
|
24
|
+
*
|
|
25
|
+
* Each vector is split into `m` subspaces; every subspace is replaced by the index of its nearest centroid among
|
|
26
|
+
* `ks` (one byte). Queries are scored with asymmetric distance computation: a `m × ks` table of query-centroid dot
|
|
27
|
+
* products is built once per query, then each code is scored with `m` table lookups. The score is divided by the
|
|
28
|
+
* norm of the reconstructed vector, so it estimates the cosine similarity used by zbsearch.
|
|
29
|
+
*
|
|
30
|
+
* Code layout: `m` code bytes, padding to 4 bytes, then the float32 inverse norm of the reconstruction.
|
|
31
|
+
*/
|
|
32
|
+
export declare class ProductQuantizer implements VectorQuantizer<Float32Array> {
|
|
33
|
+
readonly dim: number;
|
|
34
|
+
private readonly wasm;
|
|
35
|
+
readonly kind = "pq";
|
|
36
|
+
readonly codeSize: number;
|
|
37
|
+
readonly m: number;
|
|
38
|
+
readonly ks: number;
|
|
39
|
+
readonly iterations: number;
|
|
40
|
+
readonly trainingSize: number;
|
|
41
|
+
readonly maxTrainingSize: number;
|
|
42
|
+
readonly seed: number;
|
|
43
|
+
private codewords;
|
|
44
|
+
private width;
|
|
45
|
+
private handle;
|
|
46
|
+
private handleToken;
|
|
47
|
+
private readonly offsets;
|
|
48
|
+
private readonly normOffset;
|
|
49
|
+
private codewordNorms;
|
|
50
|
+
constructor(dim: number, options: PQOptions, wasm: VectorQuantizerWasm);
|
|
51
|
+
get ready(): boolean;
|
|
52
|
+
/** The trained codebook, shaped (m, ks, width) in row-major order. */
|
|
53
|
+
get codebook(): Float32Array | undefined;
|
|
54
|
+
private setCodebook;
|
|
55
|
+
private modelHandle;
|
|
56
|
+
fit(vectors: Float32Array[]): void;
|
|
57
|
+
encode(vector: Float32Array, codes: CodeBuffer, offset: number): void;
|
|
58
|
+
prepareQuery(query: Float32Array): Float32Array;
|
|
59
|
+
score(table: Float32Array, codes: CodeBuffer, offset: number): number;
|
|
60
|
+
decode(codes: CodeBuffer, offset: number, out: Float32Array): void;
|
|
61
|
+
toSnapshot(): VectorBinarySnapshot;
|
|
62
|
+
static fromSnapshot(snapshot: VectorBinarySnapshot, wasm: VectorQuantizerWasm): ProductQuantizer;
|
|
63
|
+
}
|
|
64
|
+
export interface PQFactory extends VectorQuantizerFactory {
|
|
65
|
+
readonly kind: typeof PQ_KIND;
|
|
66
|
+
readonly options: PQOptions;
|
|
67
|
+
create(dim: number): ProductQuantizer;
|
|
68
|
+
fromSnapshot(snapshot: VectorBinarySnapshot): ProductQuantizer;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Product quantization for zbsearch vector indexes. Pass the result as `quantization` to `flat()` or `ivf()`.
|
|
72
|
+
*
|
|
73
|
+
* ```js
|
|
74
|
+
* import { flat } from 'zbsearch/trees/vector-flat'
|
|
75
|
+
* import { pq } from '@zbsearch/plugin-vector-quantizer'
|
|
76
|
+
*
|
|
77
|
+
* const db = create({
|
|
78
|
+
* schema: { embedding: 'vector[384]' },
|
|
79
|
+
* indexes: { embedding: flat({ quantization: await pq({ m: 48 }), rescore: 'int8' }) }
|
|
80
|
+
* })
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function pq(options?: PQOptions): Promise<PQFactory>;
|
|
84
|
+
/** Synchronous variant of `pq()`, for Node.js, Deno, workers and privileged Gecko code. */
|
|
85
|
+
export declare function pqSync(options?: PQOptions): PQFactory;
|
|
86
|
+
/**
|
|
87
|
+
* Re-trains the quantizer of a vector property and re-encodes every vector, for instance after the data drifted
|
|
88
|
+
* away from the initial training sample. Without `sample`, training uses the rescoring copy when the index keeps
|
|
89
|
+
* one (`rescore: 'float32' | 'int8'`), otherwise the decoded codes.
|
|
90
|
+
*/
|
|
91
|
+
export declare function refit(db: AnyZBSearch, property: string, sample?: Iterable<Float32Array | number[]>): void;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
this.zbsearch=this.zbsearch||{},this.zbsearch.plugin=this.zbsearch.plugin||{},this.zbsearch.plugin.vectorQuantizer=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=(()=>{let e=new Uint8Array(128);for(let t=0;t<64;t++)e[`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.charCodeAt(t)]=t;return e})();function n(e){let n=e.length;for(;n>0&&e[n-1]===`=`;)n--;let r=new Uint8Array(Math.floor(n*3/4)),i=0,a=0;for(;a+3<n;a+=4){let n=t[e.charCodeAt(a)]<<18|t[e.charCodeAt(a+1)]<<12|t[e.charCodeAt(a+2)]<<6|t[e.charCodeAt(a+3)];r[i++]=n>>>16,r[i++]=n>>>8&255,r[i++]=n&255}let o=n-a;if(o>=2){let n=t[e.charCodeAt(a)]<<18|t[e.charCodeAt(a+1)]<<12;r[i++]=n>>>16,o===3&&(r[i++]=(n|t[e.charCodeAt(a+2)]<<6)>>>8&255)}return r}var r=class{constructor(e){this.exports=e.exports,this.registry=typeof FinalizationRegistry==`function`?new FinalizationRegistry(e=>this.exports.vq_pq_drop(e)):void 0}track(e,t){let n={};return this.registry?.register(e,t,n),n}release(e,t){t&&this.registry?.unregister(t),this.exports.vq_pq_drop(e)}check(e){if(e>=0)return e;let t=this.exports.vq_error_ptr(),n=this.exports.vq_error_len(),r=new Uint8Array(this.exports.memory.buffer,t,n),i=``;for(let e=0;e<r.length;e++)i+=String.fromCharCode(r[e]);throw Error(`vector_quantizer: ${i}`)}withBuffer(e,t){let n=this.exports.vq_alloc(e);try{return t(n)}finally{this.exports.vq_free(n,e)}}writeFloats(e,t){new Float32Array(this.exports.memory.buffer,e,t.length).set(t)}readCodebook(e){let t=this.check(this.exports.vq_pq_codewords_len(e)),n=this.check(this.exports.vq_pq_width(e));return{handle:e,codewords:this.withBuffer(t*4,n=>(this.check(this.exports.vq_pq_codewords(e,n)),new Float32Array(this.exports.memory.buffer,n,t).slice())),width:n}}fit(e,t,n,r,i,a,o){return this.withBuffer(e.byteLength,s=>{this.writeFloats(s,e);let c=this.check(this.exports.vq_pq_fit(s,t,n,r,i,a,o>>>0));return this.readCodebook(c)})}load(e,t,n,r,i){return this.withBuffer(e.byteLength,a=>(this.writeFloats(a,e),this.check(this.exports.vq_pq_from_codewords(a,t,n,r,i))))}encode(e,t,n,r){return this.withBuffer(t.byteLength,i=>this.withBuffer(n*r,a=>(this.writeFloats(i,t),this.check(this.exports.vq_pq_encode(e,i,n,a)),new Uint8Array(this.exports.memory.buffer,a,n*r).slice())))}decode(e,t,n,r){return this.withBuffer(t.byteLength,i=>this.withBuffer(n*r*4,a=>(new Uint8Array(this.exports.memory.buffer,i,t.length).set(t),this.check(this.exports.vq_pq_decode(e,i,n,a)),new Float32Array(this.exports.memory.buffer,a,n*r).slice())))}};let i,a,o;function s(){return i??=n(`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oMCAAE8NAEEAKAL0oMCAACAAQcgAbGoiACgCAEF/Rg0AIABBNGooAgAhAyAAQRxqKAIAIQBBACACNgLsoMCAACADQQAgABshAAwBC0EAIAI2AuygwIAAIAFBhYCAgACtQiCGIAFBCGqthDcDGCABQQxqQYGCwIAAIAFBGGoQ6YCAgAACQEEALQDooMCAAEEBRg0AQQAQhICAgAALQQAhAkEAKALYoMCAAA0CQX8hAEEAQX82AtigwIAAAkBBACgC3KDAgAAiA0UNAEEAKALgoMCAACADQQEQp4CAgABBACgC2KDAgABBAWohAgtBACABKAIUNgLkoMCAAEEAIAEpAgw3AtygwIAAQQAgAjYC2KDAgAALIAFBIGokgICAgAAgAA8LQYiOwIAAEICBgIAAAAtBuI/AgAAQ/oCAgAAACw0AIAAgARDDgICAAA8LDwAgACABIAIQx4CAgAAPCxEAIAAgASACIAMQyYCAgAAPCw0AIAAgARDNgICAAA8LAwAPC5MBAAJAIANB/////wNLDQAgA0ECdCIDQfz///8HSw0AAkACQCABRQ0AIAIgAUECdEEEIAMQqICAgAAhAQwBCxCqgICAACADQQQQpoCAgAAhAQsCQCABDQAgACADNgIIIABBBDYCBCAAQQE2AgAPCyAAIAM2AgggACABNgIEIABBADYCAA8LIABBADYCBCAAQQE2AgALewEDfyOAgICAAEEQayIBJICAgIAAIAFBBGogACgCACICIAAoAgQgAkEBdCICQQQgAkEESxsiAhCrgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQ5YCAgAAACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJICAgIAAC5ECAQR/AkACQAJAAkAgAigCCCIEQR91IAAoAgAiBXEgBGoiBCAFSw0AIAIoAgQgBSACKAIAGyIGQR91IAVxIAZqIgYgBUsNASACKAIMIgVFDQIgASgCACEDAkAgBiAEIAYgBEsbIgYgBGsiAg0AQQAhBAwECwJAIAVBAEgNACADIARsIQQMBAsgAyAGQX9qbCEEDAMLQciVwIAAQSMgAxDugICAAAALQeuVwIAAQSEgAxDugICAAAALQYyWwIAAQRsgAxDugICAAAALAkAgBSAFQR91IgZzIAZrIgZBAUYNACACIAZuIgcgAiAHIAZsa0EA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CWoiADYCzKTAgABBACAAQQAoAtCkwIAAIgIgACACSxs2AtCkwIAAAkACQAJAQQAoAsikwIAAIgJFDQBBnKLAgAAhAANAIAYgACgCACIIIAAoAgQiB2pGDQIgACgCCCIADQAMAwsLAkACQEEAKALYpMCAACIARQ0AIAYgAE8NAQtBACAGNgLYpMCAAAtBAEH/HzYC3KTAgABBACAFNgKoosCAAEEAIAk2AqCiwIAAQQAgBjYCnKLAgABBAEGsosCAADYCuKLAgABBAEG0osCAADYCwKLAgABBAEGsosCAADYCtKLAgABBAEG8osCAADYCyKLAgABBAEG0osCAADYCvKLAgABBAEHEosCAADYC0KLAgABBAEG8osCAADYCxKLAgABBAEHMosCAADYC2KLAgABBAEHEosCAADYCzKLAgABBAEHUosCAADYC4KLAgABBAEHMosCAADYC1KLAgABBAEHcosCAADYC6KLAgABBAEHUosCAADYC3KLAgABBAEHkosCAADYC8KLAgABBAEHcosCAADYC5KLAgABBAEHsosCAADYC+KLAgABBAEHkosCAADYC7KLAgABBAEHsosCAADYC9KLAgABBAEH0osCAADYCgKPAgABBAEH0osCAADYC/KLAgABBAEH8osCAADYCiKPAgABBAEH8osCAADYChKPAgABBAEGEo8CAADYCkKPAgABBAEGEo8CAADYCjKPAgABBAEGMo8CAADYCmKPAgABBAEGMo8CAADYClKPAgABBAEGUo8CAADYCoKPAgABBAEGUo8CAADYCnKPAgABBAEGco8CAADYCqKPAgABBAEGco8CAADYCpKPAgABBAEGko8CAADYCsKPAgABBAEGko8CAADYCrKPAgABBAEGso8CAADYCuKPAgABBAEG0o8CAADYCwKPAgABBAEGso8CAADYCtKPAgABBAEG8o8CAADYCyKPAgABBAEG0o8CAADYCvKPAgABBAEHEo8CAADYC0KPAgABBAEG8o8CAADYCxKPAgABBAEHMo8CAADYC2KPAgABBAEHEo8CAADYCzKPAgABBAEHUo8CAADYC4KPAgABBAEHMo8CAADYC1KPAgABBAEHco8CAADYC6KPAgABBAEHUo8CAADYC3KPAgABBAEHko8CAADYC8KPAgABBAEHco8CAADYC5KPAgABBAEHso8CAADYC+KPAgABBAEHko8CAADYC7KPAgABBAEH0o8CAADYCgKTAgABBAEHso8CAADYC9KPAgABBAEH8o8CAADYCiKTAgABBAEH0o8CAADYC/KPAgABBAEGEpMCAADYCkKTAgABBAEH8o8CAADYChKTAgABBAEGMpMCAADYCmKTAgABBAEGEpMCAADYCjKTAgABBAEGUpMCAADYCoKTAgABBAEGMpMCAADYClKTAgABBAEGcpMCAADYCqKTAgABBAEGUpMCAADYCnKTAgABBAEGkpMCAADYCsKTAgABBAEGcpMCAADYCpKTAgABBACAGQQ9qQXhxIgBBeGoiAjYCyKTAgABBAEGkpMCAADYCrKTAgABBACAGIABrIAlBWGoiAGpBCGoiCDYCwKTAgAAgAiAIQQFyNgIEIAYgAGpBKDYCBEEAQYCAgAE2AtSkwIAADAgLIAIgBk8NACAIIAJLDQAgACgCDCIIQQFxDQAgCEEBdiAFRg0DC0EAQQAoAtikwIAAIgAgBiAAIAZJGzYC2KTAgAAgBiAJaiEIQZyiwIAAIQACQAJAAkADQCAAKAIAIgcgCEYNASAAKAIIIgANAAwCCwsgACgCDCIIQQFxDQAgCEEBdiAFRg0BC0GcosCAACEAAkADQAJAIAAoAgAiCCACSw0AIAIgCCAAKAIEaiIISQ0CCyAAKAIIIQAMAAsLQQAgBkEPakF4cSIAQXhqIgc2AsikwIAAQQAgBiAAayAJQVhqIgBqQQhqIgQ2AsCkwIAAIAcgBEEBcjYCBCAGIABqQSg2AgRBAEGAgIABNgLUpMCAACACIAhBYGpBeHFBeGoiACAAIAJBEGpJGyIHQRs2AgRBACkCnKLAgAAhCiAHQRBqQQApAqSiwIAANwIAIAdBCGoiACAKNwIAQQAgBTYCqKLAgABBACAJNgKgosCAAEEAIAY2ApyiwIAAQQAgADYCpKLAgAAgB0EcaiEAA0AgAEEHNgIAIABBBGoiACAISQ0ACyAHIAJGDQcgByAHKAIEQX5xNgIEIAIgByACayIAQQFyNgIEIAcgADYCAAJAIABBgAJJDQAgAiAAENCAgIAADAgLAkACQEEAKAK0pMCAACIIQQEgAEEDdnQiBnENAEEAIAggBnI2ArSkwIAAIABB+AFxQayiwIAAaiIAIQgMAQsgAEH4AXEiAEGsosCAAGohCCAAQbSiwIAAaigCACEACyAIIAI2AgggACACNgIMIAIgCDYCDCACIAA2AggMBwsgACAGNgIAIAAgACgCBCAJajYCBCAGQQ9qQXhxQXhqIgggA0EDcjYCBCAHQQ9qQXhxQXhqIgIgCCADaiIAayEDIAJBACgCyKTAgABGDQMgAkEAKALEpMCAAEYNBAJAIAIoAgQiBkEDcUEBRw0AIAIgBkF4cSIGEMqAgIAAIAYgA2ohAyACIAZqIgIoAgQhBgsgAiAGQX5xNgIEIAAgA0EBcjYCBCAAIANqIAM2AgACQCADQYACSQ0AIAAgAxDQgICAAAwGCwJAAkBBACgCtKTAgAAiAkEBIANBA3Z0IgZxDQBBACACIAZyNgK0pMCAACADQfgBcUGsosCAAGoiAyECDAELIANB+AFxIgNBrKLAgABqIQIgA0G0osCAAGooAgAhAwsgAiAANgIIIAMgADYCDCAAIAI2AgwgACADNgIIDAULQQAgACADayICNgLApMCAAEEAQQAoAsikwIAAIgAgA2oiCDYCyKTAgAAgCCACQQFyNgIEIAAgA0EDcjYCBCAAQQhqIQAMBgtBACgCxKTAgAAhAgJAAkAgACADayIIQQ9LDQBBAEEANgLEpMCAAEEAQQA2ArykwIAAIAIgAEEDcjYCBCACIABqIgAgACgCBEEBcjYCBAwBC0EAIAg2ArykwIAAQQAgAiADaiIGNgLEpMCAACAGIAhBAXI2AgQgAiAAaiAINgIAIAIgA0EDcjYCBAsgAkEIaiEADAULIAAgByAJajYCBEEAQQAoAsikwIAAIgBBD2pBeHEiAkF4aiIINgLIpMCAAEEAIAAgAmtBACgCwKTAgAAgCWoiAmpBCGoiBjYCwKTAgAAgCCAGQQFyNgIEIAAgAmpBKDYCBEEAQYCAgAE2AtSkwIAADAMLQQAgADYCyKTAgABBAEEAKALApMCAACADaiIDNgLApMCAACAAIANBAXI2AgQMAQtBACAANgLEpMCAAEEAQQAoArykwIAAIANqIgM2ArykwIAAIAAgA0EBcjYCBCAAIANqIAM2AgALIAhBCGohAAwBC0EAIQBBACgCwKTAgAAiAiADTQ0AQQAgAiADayICNgLApMCAAEEAQQAoAsikwIAAIgAgA2oiCDYCyKTAgAAgCCACQQFyNgIEIAAgA0EDcjYCBCAAQQhqIQALIAFBEGokgICAgAAgAAsDAAALcAECfwJAAkAgAEF8aigCACIDQXhxIgRBBEEIIANBA3EiAxsgAWpJDQACQCADRQ0AIAQgAUEnaksNAgsgABDIgICAAA8LQfCZwIAAQS5BoJrAgAAQ7oCAgAAAC0GwmsCAAEEuQeCawIAAEO6AgIAAAAvmBgEEfyAAQXhqIgEgAEF8aigCACICQXhxIgBqIQMCQAJAIAJBAXENACACQQJxRQ0BIAEoAgAiAiAAaiEAAkAgASACayIBQQAoAsSkwIAARw0AIAMoAgRBA3FBA0cNAUEAIAA2ArykwIAAIAMgAygCBEF+cTYCBCABIABBAXI2AgQgAyAANgIADwsgASACEMqAgIAACwJAAkACQAJAAkACQAJAAkAgAygCBCICQQJxDQAgA0EAKALIpMCAAEYNAiADQQAoAsSkwIAARg0DIAMgAkF4cSICEMqAgIAAIAEgAiAAaiIAQQFyNgIEIAEgAGogADYCACABQQAoAsSkwIAARw0BQQAgADYCvKTAgAAPCyADIAJBfnE2AgQgASAAQQFyNgIEIAEgAGogADYCAAsgAEGAAkkNBCABIAAQ0ICAgABBAEEAKALcpMCAAEF/aiIBNgLcpMCAACABDQZBACgCpKLAgAAiAA0CQf8fIQEMAwtBACABNgLIpMCAAEEAQQAoAsCkwIAAIABqIgA2AsCkwIAAIAEgAEEBcjYCBAJAIAFBACgCxKTAgABHDQBBAEEANgK8pMCAAEEAQQA2AsSkwIAACyAAQQAoAtSkwIAAIgJNDQVBACgCyKTAgAAiAEUNBUEAKALApMCAACIEQSlJDQRBnKLAgAAhAQNAAkAgASgCACIDIABLDQAgACADIAEoAgRqSQ0GCyABKAIIIQEMAAsLQQAgATYCxKTAgABBAEEAKAK8pMCAACAAaiIANgK8pMCAACABIABBAXI2AgQgASAAaiAANgIADwtBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGyEBC0EAIAE2AtykwIAADwsCQAJAQQAoArSkwIAAIgNBASAAQQN2dCICcQ0AQQAgAyACcjYCtKTAgAAgAEH4AXFBrKLAgABqIgAhAwwBCyAAQfgBcSIAQayiwIAAaiEDIABBtKLAgABqKAIAIQALIAMgATYCCCAAIAE2AgwgASADNgIMIAEgADYCCA8LAkACQEEAKAKkosCAACIADQBB/x8hAQwBC0EAIQEDQCABQQFqIQEgACgCCCIADQALIAFB/x8gAUH/H0sbIQELQQAgATYC3KTAgAAgBCACTQ0AQQBBfzYC1KTAgAALC7UHAQZ/AkACQAJAAkACQAJAAkACQCAAQXxqIgQoAgAiBUF4cSIGQQRBCCAFQQNxIgcbIAFqSQ0AIAFBJ2ohCAJAIAdFDQAgBiAISw0CCwJAAkAgAkEJSQ0AIAIgAxDEgICAACICDQFBAA8LQQAhAiADQcz/e0sNCEEQIANBC2pBeHEgA0ELSRshASAAQXhqIQgCQCAHDQAgAUGAAkkNByAIRQ0HIAYgAU0NByAGIAFrQYCACEsNByAADwsgCCAGaiEHAkACQCAGIAFPDQAgB0EAKALIpMCAAEYNAQJAIAdBACgCxKTAgABGDQAgBygCBCIFQQJxDQkgBUF4cSIJIAZqIgUgAUkNCSAHIAkQyoCAgAACQCAFIAFrIgdBEEkNACAEIAEgBCgCAEEBcXJBAnI2AgAgCCABaiIBIAdBA3I2AgQgCCAFaiIFIAUoAgRBAXI2AgQgASAHEMuAgIAADAkLIAQgBSAEKAIAQQFxckECcjYCACAIIAVqIgEgASgCBEEBcjYCBAwIC0EAKAK8pMCAACAGaiIHIAFJDQgCQAJAIAcgAWsiBkEPSw0AIAQgBUEBcSAHckECcjYCACAIIAdqIgEgASgCBEEBcjYCBEEAIQZBACEBDAELIAQgASAFQQFxckECcjYCACAIIAFqIgEgBkEBcjYCBCAIIAdqIgcgBjYCACAHIAcoAgRBfnE2AgQLQQAgATYCxKTAgABBACAGNgK8pMCAAAwHCyAGIAFrIgZBD00NBiAEIAEgBUEBcXJBAnI2AgAgCCABaiIBIAZBA3I2AgQgByAHKAIEQQFyNgIEIAEgBhDLgICAAAwGC0EAKALApMCAACAGaiIHIAFLDQQMBgsCQCADIAEgAyABSRsiA0UNACACIAAgA/wKAAALIAQoAgAiA0F4cSIHQQRBCCADQQNxIgMbIAFqSQ0CIANFDQYgByAITQ0GQbCawIAAQS5B4JrAgAAQ7oCAgAAAC0HwmcCAAEEuQaCawIAAEO6AgIAAAAtBsJrAgABBLkHgmsCAABDugICAAAALQfCZwIAAQS5BoJrAgAAQ7oCAgAAACyAEIAEgBUEBcXJBAnI2AgAgCCABaiIFIAcgAWsiAUEBcjYCBEEAIAE2AsCkwIAAQQAgBTYCyKTAgAALIAhFDQAgAA8LIAMQxYCAgAAiAUUNAQJAIANBfEF4IAQoAgAiAkEDcRsgAkF4cWoiAiADIAJJGyIDRQ0AIAEgACAD/AoAAAsgASECCyAAEMiAgIAACyACC5IDAQR/IAAoAgwhAgJAAkACQAJAIAFBgAJJDQAgACgCGCEDAkACQAJAIAIgAEcNACAAQRRBECAAKAIUIgIbaigCACIBDQFBACECDAILIAAoAggiASACNgIMIAIgATYCCAwBCyAAQRRqIABBEGogAhshBANAIAQhBSABIgJBFGogAkEQaiACKAIUIgEbIQQgAkEUQRAgARtqKAIAIgENAAsgBUEANgIACyADRQ0CAkACQCAAIAAoAhxBAnRBnKHAgABqIgEoAgBGDQAgAygCECAARg0BIAMgAjYCFCACDQMMBAsgASACNgIAIAJFDQQMAgsgAyACNgIQIAINAQwCCwJAIAIgACgCCCIERg0AIAQgAjYCDCACIAQ2AggPC0EAQQAoArSkwIAAQX4gAUEDdndxNgK0pMCAAA8LIAIgAzYCGAJAIAAoAhAiAUUNACACIAE2AhAgASACNgIYCyAAKAIUIgFFDQAgAiABNgIUIAEgAjYCGA8LDwtBAEEAKAK4pMCAAEF+IAAoAhx3cTYCuKTAgAALtAQBAn8gACABaiECAkACQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQECQCAAIANrIgBBACgCxKTAgABHDQAgAigCBEEDcUEDRw0BQQAgATYCvKTAgAAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAPCyAAIAMQyoCAgAALAkACQAJAIAIoAgQiA0ECcQ0AIAJBACgCyKTAgABGDQIgAkEAKALEpMCAAEYNBCACIANBeHEiAxDKgICAACAAIAMgAWoiAUEBcjYCBCAAIAFqIAE2AgAgAEEAKALEpMCAAEcNAUEAIAE2ArykwIAADwsgAiADQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALAkAgAUGAAkkNACAAIAEQ0ICAgAAPCwJAAkBBACgCtKTAgAAiAkEBIAFBA3Z0IgNxDQBBACACIANyNgK0pMCAACABQfgBcUGsosCAAGoiASECDAELIAFB+AFxIgFBrKLAgABqIQIgAUG0osCAAGooAgAhAQsgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBACAANgLIpMCAAEEAQQAoAsCkwIAAIAFqIgE2AsCkwIAAIAAgAUEBcjYCBCAAQQAoAsSkwIAARw0AQQBBADYCvKTAgABBAEEANgLEpMCAAAsPC0EAIAA2AsSkwIAAQQBBACgCvKTAgAAgAWoiATYCvKTAgAAgACABQQFyNgIEIAAgAWogATYCAAs4AgF/AX4jgICAgABBEGsiASSAgICAACAAKQIAIQIgASAANgIMIAEgAjcCBCABQQRqEL2AgIAAAAtNAAJAAkAgAUEJSQ0AIAEgABDEgICAACEBDAELIAAQxYCAgAAhAQsCQCABRQ0AIAFBfGotAABBA3FFDQAgAEUNACABQQAgAPwLAAsgAQsNACABIAAQz4CAgAAACy8BAX8jgICAgABBEGsiAiSAgICAACACIAE2AgwgAiAANgIIIAJBCGoQu4CAgAAAC84CAQR/QQAhAgJAIAFBCHYiA0UNAEEfIQIgAUGAgIAITw0AIAFBJiADZyICa3ZBAXEgAkEBdHJBPnMhAgsgAEIANwIQIAAgAjYCHCACQQJ0QZyhwIAAaiEDAkBBACgCuKTAgABBASACdCIEcQ0AIAMgADYCACAAIAM2AhggACAANgIMIAAgADYCCEEAQQAoArikwIAAIARyNgK4pMCAAA8LAkACQAJAIAMoAgAiBCgCBEF4cSABRw0AIAQhAgwBCyABQQBBGSACQQF2ayACQR9GG3QhAwNAIAQgA0EddkEEcWoiBSgCECICRQ0CIANBAXQhAyACIQQgAigCBEF4cSABRw0ACwsgAigCCCIDIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACADNgIIDwsgBUEQaiAANgIAIAAgBDYCGCAAIAA2AgwgACAANgIIC14BAn9BACEBQQBBACgCmKHAgAAiAkEBajYCmKHAgAACQCACQQBIDQBBASEBQQAtAIShwIAADQBBACAAOgCEocCAAEEAQQAoAoChwIAAQQFqNgKAocCAAEECIQELIAELHgAgAEEAKQLomcCAADcCCCAAQQApAuCZwIAANwIACx4AIABBACkC2JnAgAA3AgggAEEAKQLQmcCAADcCAAshAAJAIAEoAgBFDQAgAEGcm8CAADYCBCAAIAE2AgAPCwALZgECfyABKAIAIQIgAUEANgIAAkACQCACRQ0AIAEoAgQhAxCqgICAAEEIQQQQpoCAgAAiAUUNASABIAM2AgQgASACNgIAIABBnJvAgAA2AgQgACABNgIADwsAC0EEQQgQ54CAgAAAC0QAAkAgACgCAEF/Rg0AIAEgACgCBCAAKAIIEPuAgIAADwsgASgCACABKAIEIAAoAgwoAgAiACgCACAAKAIEEPGAgIAACxQAIABBnJvAgAA2AgQgACABNgIACwwAIAAgASkCADcDAAtUAQJ/IAEoAgQhAiABKAIAIQMQqoCAgAACQEEIQQQQpoCAgAAiAQ0AQQRBCBDngICAAAALIAEgAjYCBCABIAM2AgAgAEGcm8CAADYCBCAAIAE2AgALFAAgASAAKAIAIAAoAgQQ+4CAgAALngIBBn8gACgCCCECAkACQCABQYABTw0AQQEhAwwBCwJAIAFBgBBPDQBBAiEDDAELQQNBBCABQYCABEkbIQMLAkAgAyAAKAIAIAJrTQ0AIAAgAiADQQFBARC0gICAAAsgACgCBCACaiEEAkACQCABQYABSQ0AIAFBP3FBgH9yIQUgAUEGdiEGAkAgAUGAEE8NACAEIAU6AAEgBCAGQcABcjoAAAwCCyABQQx2IQcgBkE/cUGAf3IhBgJAIAFB//8DSw0AIAQgBToAAiAEIAY6AAEgBCAHQeABcjoAAAwCCyAEIAU6AAMgBCAGOgACIAQgB0E/cUGAf3I6AAEgBCABQRJ2QXByOgAADAELIAQgAToAAAsgACADIAJqNgIIQQALXgEBfwJAAkACQCACIAAoAgAgACgCCCIDa00NACAAIAMgAkEBQQEQtICAgAAgACgCCCEDDAELIAJFDQELIAJFDQAgACgCBCADaiABIAL8CgAACyAAIAMgAmo2AghBAAsiAQF/AkAgACgCACICRQ0AIAEgAiAAKAIEEPuAgIAADwsAC6EBAgJ/AX4jgICAgABBIGsiAiSAgICAAAJAIAEoAgBBf0cNACABKAIMIQMgAkEANgIcIAJCgICAgBA3AhQgAkEUakGAmcCAACADKAIAIgMoAgAgAygCBBDxgICAABogAiACKAIcIgM2AhAgAiACKQIUIgQ3AwggASADNgIIIAEgBDcCAAsgAEGsm8CAADYCBCAAIAE2AgAgAkEgaiSAgICAAAuFAgICfwF+I4CAgIAAQSBrIgIkgICAgAACQCABKAIAQX9HDQAgASgCDCEDIAJBADYCGCACQoCAgIAQNwIQIAJBEGpBgJnAgAAgAygCACIDKAIAIAMoAgQQ8YCAgAAaIAIgAigCGCIDNgIIIAIgAikCECIENwMAIAEgAzYCCCABIAQ3AgALIAEoAgghAyABQQA2AgggASkCACEEIAFCgICAgBA3AgAgAiADNgIYIAIgBDcDEBCqgICAAAJAQQxBBBCmgICAACIBDQBBBEEMEOeAgIAAAAsgASACKAIYNgIIIAEgAikDEDcCACAAQaybwIAANgIEIAAgATYCACACQSBqJICAgIAACwkAIABBADYCAAsUACAAQYCZwIAAIAEgAhDxgICAAAvAAQECfwJAAkAgAkUNAEEALQDhpMCAACEDQQBBAToA4aTAgABB8KTAgAAhBEGAgMSAAEHwpMCAAE0NACACQYCAxIAAQfCkwIAAa0sNACADQf8BcQ0AQYCAxIAAQfCkwIAAayECDAELQQAhBAJAIAJBEHYgAkH//wNxQQBHaiICQAAiA0F/Rw0AQQAhAgwBCyACQRB0IgJBcGogAiADQRB0IgRBACACa0YbIQILIABBADYCCCAAIAI2AgQgACAENgIACyABAX8CQCAAKAIAIgFFDQAgACgCBCABQQEQp4CAgAALC58BAQF/I4CAgIAAQRBrIgMkgICAgAACQCACIAFqIgEgAk8NAEEAQQAQ5YCAgAAACyADQQRqIAAoAgAiAiAAKAIEIAEgAkEBdCICIAEgAksbIgJBCCACQQhLGyICEOaAgIAAAkAgAygCBEEBRw0AIAMoAgggAygCDBDlgICAAAALIAMoAgghASAAIAI2AgAgACABNgIEIANBEGokgICAgAALHAACQCAARQ0AIAAgARDngICAAAALEOiAgIAAAAuQAQACQAJAIANBAE4NAEEBIQFBBCECQQAhAwwBCwJAAkACQAJAIAFFDQAgAiABQQEgAxCogICAACEBDAELAkAgAw0AQQEhAQwCCxCqgICAACADQQEQpoCAgAAhAQsgAQ0AQQEhASAAQQE2AgQMAQsgACABNgIEQQAhAQtBCCECCyAAIAJqIAM2AgAgACABNgIACw0AIAEg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AX8gASgCAEHPn8CAAEEBIAEoAgQoAgwRgYCAgACAgICAACECIABBADoABSAAIAI6AAQgACABNgIAC5kGAgh/AX5BK0F/IAAoAggiBkGAgIABcSIHGyEIIAdBFXZBASABGyAFaiEJAkACQCAGQYCAgARxDQBBACECDAELAkACQCADQRBJDQAgAiADEPiAgIAAIQcMAQsCQCADDQBBACEHDAELIANBA3EhCkEAIQtBACEHAkAgA0EESQ0AIANBDHEhDEEAIQtBACEHA0AgByACIAtqIg0sAABBv39KaiANQQFqLAAAQb9/SmogDUECaiwAAEG/f0pqIA1BA2osAABBv39KaiEHIAwgC0EEaiILRw0ACyAKRQ0BCyACIAtqIQ0DQCAHIA0sAABBv39KaiEHIA1BAWohDSAKQX9qIgoNAAsLIAcgCWohCQsgCEEtIAEbIQwCQAJAIAkgAC8BDCIBTw0AAkACQAJAIAZBgICACHENACABIAlrIQhBACEHQQAhAQJAAkACQCAGQR12QQNxDgQCAAEAAgsgCCEBDAELIAhB/v8DcUEBdiEBCyAGQf///wBxIQkgACgCBCELIAAoAgAhCgNAIAdB//8DcSABQf//A3FPDQJBASENIAdBAWohByAKIAkgCygCEBGCgICAAICAgIAARQ0ADAULCyAAIAApAggiDqdBgICA/3lxQbCAgIACcjYCCEEBIQ0gACgCACIKIAAoAgQiCyAMIAIgAxD5gICAAA0DQQAhByABIAlrQf//A3EhAgNAIAdB//8DcSACTw0CQQEhDSAHQQFqIQcgCkEwIAsoAhARgoCAgACAgICAAEUNAAwECwtBASENIAogCyAMIAIgAxD5gICAAA0CIAogBCAFIAsoAgwRgYCAgACAgICAAA0CQQAhByAIIAFrQf//A3EhAANAIAdB//8DcSICIABJIQ0gAiAATw0DIAdBAWohByAKIAkgCygCEBGCgICAAICAgIAARQ0ADAMLC0EBIQ0gCiAEIAUgCygCDBGBgICAAICAgIAADQEgACAONwIIQQAPC0EBIQ0gACgCACIHIAAoAgQiCiAMIAIgAxD5gICAAA0AIAcgBCAFIAooAgwRgYCAgACAgICAACENCyANC+sGAQh/AkACQCABIABBA2pBfHEiAiAAayIDSQ0AIAEgA2siBEECdiIFRQ0AIARB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ZW5kb3IvdXRpbHMucnMAL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9uZGFycmF5LTAuMTYuMS9zcmMvaW1wbF9tZXRob2RzLnJzAC9ydXN0Yy8yZDgxNDRiNzg4MDU5N2I2ZTZkM2RmZDYzYTlhOWVmYWUzZjUzM2QzL2xpYnJhcnkvc3RkL3NyYy9zeXMvdGhyZWFkX2xvY2FsL25vX3RocmVhZHMucnMAL3J1c3RjLzJkODE0NGI3ODgwNTk3YjZlNmQzZGZkNjNhOWE5ZWZhZTNmNTMzZDMvbGlicmFyeS9zdGQvc3JjL3N5cy9zeW5jL3J3bG9jay9ub190aHJlYWRzLnJzAHNyYy92ZW5kb3IvcHEucnMAL3J1c3RjLzJkODE0NGI3ODgwNTk3YjZlNmQzZGZkNjNhOWE5ZWZhZTNmNTMzZDMvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAC9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmRhcnJheS0wLjE2LjEvc3JjL3ppcC9tb2QucnMAL3J1c3RjLzJkODE0NGI3ODgwNTk3YjZlNmQzZGZkNjNhOWE5ZWZhZTNmNTMzZDMvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy9tb2QucnMAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuMTMvc3JjL2RsbWFsbG9jLnJzAC9jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvbmRhcnJheS0wLjE2LjEvc3JjL2xpYi5ycwAgVGhlIG51bWJlciBvZiB0cmFpbmluZyB2ZWN0b3JzICjAGCkgbXVzdCBiZSBtb3JlIHRoYW4ga3MgKMABKQA+TnVtYmVyIG9mIGNsdXN0ZXJzIGsgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBzYW1wbGVzICjAASkAOU51bWJlciBvZiBzdWJzcGFjZXMgKG0pIGNhbm5vdCBleGNlZWQgdmVjdG9yIGRpbWVuc2lvbnMgKMADID4gwAEpAAAAAAAAAQAAAAEAAAAGAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQAKAhAAEwAAAC8AAAATAAAAbmRhcnJheTogU2hhcGUgdG9vIGxhcmdlLCBwcm9kdWN0IG9mIG5vbi16ZXJvIGF4aXMgbGVuZ3RocyBvdmVyZmxvd3MgaXNpemUAAK0BEABcAAAASQEAABQAAACtARAAXAAAAEwCAAAYAAAArQEQAFwAAACeAQAAEQAAAAAAAAAEAAAABAAAAAcAAABBdHRlbXB0ZWQgdG8gaW5pdGlhbGl6ZSB0aHJlYWQtbG9jYWwgd2hpbGUgaXQgaXMgYmVpbmcgZHJvcHBlZAAAdgIQAF4AAABrAAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBhcnQuZXF1YWxfZGltKGRpbWVuc2lvbikAkAMQAFIAAAD+AAAABQAAAGFzc2VydGlvbiBmYWlsZWQ6IGluZGV4IDwgZGltAAAAXwQQAE4AAAAPBgAADQAAAKMEEAAKAAAALAAAAB0AAAAeAhAAVwAAAC0CAAAWAAAAHgIQAFcAAAA3AgAAFgAAAKMEEAAKAAAAxwAAAD8AAACjBBAACgAAANoAAAAkAAAAowQQAAoAAABMAAAAGwAAAKMEEAAKAAAARwAAABsAAABNb2RlbCBub3QgdHJhaW5lZEJ5dGUgY29kZXMgcmVxdWlyZSBrcyA8PSAyNTYAAACjBBAACgAAAB8AAAAhAAAAowQQAAoAAAAZAAAAHAAAADMDEAAQAAAAcQAAAC8AAAAzAxAAEAAAAHkAAAA4AAAAMwMQABAAAAB5AAAAQwAAADMDEAAQAAAA2QAAACwAAAAzAxAAEAAAAJ0AAAAzAAAAMwMQABAAAACdAAAAOgAAAAoCEAATAAAAfQAAABcAAAAKAhAAEwAAAIUAAAAaAAAACgIQABMAAACJAAAALwAAADMDEAAQAAAAcQAAAEYAAAAzAxAAEAAAAIAAAAArAAAAMwMQABAAAACBAAAAKAAAADMDEAAQAAAAgQAAADgAAAAzAxAAEAAAACUAAAAUAAAACgIQABMAAACUAAAAEAAAAAoCEAATAAAAUgAAACMAAAAKAhAAEwAAAFIAAAA7AAAAVThVMTZVMzIIAAAADAAAAAQAAAAJAAAACgAAAAsAAAAAAAAAAAAAAAEAAAAMAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQBEAxAASwAAAHELAAAOAAAARXJyb3JJbnB1dCB2ZWN0b3JzIG11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgZGltZW5zaW9uTW9kZWwgbm90IHRyYWluZWQuIENhbGwgZml0KCkgYmVmb3JlIGNhbGxpbmcgdGhpcyBtZXRob2RJbnB1dCB2ZWN0b3JzIGRpbWVuc2lvbnMgc2hvdWxkIG1hdGNoIHRyYWluaW5nIGRpbWVuc2lvbnNFbmNvZGVkIHZhbHVlcyBleGNlZWQgVTggcmFuZ2VFbmNvZGVkIHZhbHVlcyBleGNlZWQgVTE2IHJhbmdlRGF0YSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIHNhbXBsZSBhbmQgb25lIGZlYXR1cmVEYXRhIGNvbnRhaW5zIG5vbi1maW5pdGUgdmFsdWVzIChOYU4gb3IgSW5mKVVuc3VwcG9ydGVkIGluaXRpYWxpemF0aW9uIG1ldGhvZAIAAAADAAAAAwAAANgIEADaCBAA3QgQAGFzc2VydGlvbiBmYWlsZWQ6IHN0YXJ0IDw9IGF4aXNfbGVuYXNzZXJ0aW9uIGZhaWxlZDogZW5kIDw9IGF4aXNfbGVuYXNzZXJ0aW9uIGZhaWxlZDogc3RlcCAhPSAwaW5jb21wYXRpYmxlIHNoYXBlc2luY29tcGF0aWJsZSBtZW1vcnkgbGF5b3V0dGhlIHNoYXBlIGRvZXMgbm90IGZpdCBpbiB0eXBlIGxpbWl0c291dCBvZiBib3VuZHMgaW5kZXhpbmd1bnN1cHBvcnRlZCBvcGVyYXRpb25hcml0aG1ldGljIG92ZXJmbG93SW5jb21wYXRpYmxlU2hhcGVJbmNvbXBhdGlibGVMYXlvdXRSYW5nZUxpbWl0ZWRPdXRPZkJvdW5kc1Vuc3VwcG9ydGVkT3ZlcmZsb3cnCxAAOgsQAFQLEAB5CxAAjwsQAKQLEAATAAAAGgAAACUAAAAWAAAAFQAAABMAAAARAAAAEgAAAAwAAAALAAAACwAAAAgAAAC3CxAAyAsQANoLEADmCxAA8QsQAPwLEAAAAAAACAAAAAQAAAARAAAAEgAAABMAAAAUAAAAFQAAAAwAAAAEAAAAFgAAABcAAAAYAAAAAAAAAAgAAAAEAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAQAAAABAAAAB4AAAAfAAAAIAAAABQAAABc9ulf3AL2ufHBcGzyYcEkSv4MNHFP91/fOOR5Jf4cdGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAADQEEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAA0BBAAKgAAALcEAAANAAAAcndsb2NrIG92ZXJmbG93ZWQgcmVhZCBsb2Nrc9UCEABdAAAAFQAAACwAAAAAAAAACAAAAAQAAAAhAAAAFQAAAAwAAAAEAAAAIgAAAHJ3bG9jayBoYXMgbm90IGJlZW4gbG9ja2VkIGZvciByZWFkaW5nAADVAhAAXQAAAD4AAAAJAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAADjAxAAUAAAABwAAAAFAAAAIwAAAAwAAAAEAAAAJAAAACUAAAAmAAAAAAAAAAAAAAABAAAAJwAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90AABkARAASAAAAI8CAAAOAAAARXJyb3IwMTIzNDU2Nzg5YWJjZGVmLCAsCgpdAAAAAAAMAAAABAAAAC0AAAAuAAAALwAAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OVthdHRlbXB0IHRvIGNhbGN1bGF0ZSB0aGUgcmVtYWluZGVyIHdpdGggYSBkaXZpc29yIG9mIHplcm8gICAgMHgwMTIzNDU2Nzg5QUJDREVGUmVmQ2VsbCBhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRSZWZDZWxsIGFscmVhZHkgYm9ycm93ZWQ=`),i}function c(){return a?Promise.resolve(a):(o??=(async()=>{let e=await WebAssembly.compile(s()),t=await WebAssembly.instantiate(e,{});return a??=new r(t),a})(),o)}function l(){return a??=new r(new WebAssembly.Instance(new WebAssembly.Module(s()),{})),a}function u(e,t){let n=t.m??Math.max(1,Math.round(e/8)),r=t.ks??256;if(!Number.isInteger(n)||n<1||n>e)throw Error(`pq: m must be an integer between 1 and the vector size (${e}), got ${n}.`);if(!Number.isInteger(r)||r<2||r>256)throw Error(`pq: ks must be an integer between 2 and 256, got ${r}.`);let i=Math.max(t.trainingSize??Math.max(4*r,1024),r);return{m:n,ks:r,iterations:t.iterations??12,trainingSize:i,maxTrainingSize:Math.max(t.maxTrainingSize??Math.max(i,4096),i),seed:t.seed??42}}function d(e){return e+3&-4}var f=class e{constructor(e,t,n){this.dim=e,this.wasm=n,this.kind=`pq`,this.width=0;let r=u(e,t);this.m=r.m,this.ks=r.ks,this.iterations=r.iterations,this.trainingSize=r.trainingSize,this.maxTrainingSize=r.maxTrainingSize,this.seed=r.seed,this.normOffset=d(this.m),this.codeSize=this.normOffset+4,this.offsets=new Int32Array(this.m+1);let i=Math.floor(e/this.m),a=e%this.m;for(let e=0;e<this.m;e++)this.offsets[e+1]=this.offsets[e]+(e<a?i+1:i)}get ready(){return this.codewords!==void 0}get codebook(){return this.codewords}setCodebook(e,t,n){this.handle!==void 0&&this.wasm.release(this.handle,this.handleToken),this.codewords=e,this.width=t,this.handle=n,this.handleToken=n===void 0?void 0:this.wasm.track(this,n);let r=new Float32Array(this.m*this.ks);for(let n=0;n<this.m;n++){let i=this.offsets[n+1]-this.offsets[n];for(let a=0;a<this.ks;a++){let o=(n*this.ks+a)*t,s=0;for(let t=0;t<i;t++)s+=e[o+t]*e[o+t];r[n*this.ks+a]=s}}this.codewordNorms=r}modelHandle(){if(!this.codewords)throw Error(`pq: the quantizer has not been trained yet.`);if(this.handle===void 0){let e=this.wasm.load(this.codewords,this.m,this.ks,this.width,this.dim);this.handle=e,this.handleToken=this.wasm.track(this,e)}return this.handle}fit(e){let t=e;if(e.length>this.maxTrainingSize){let n=e.length/this.maxTrainingSize;t=Array.from({length:this.maxTrainingSize},(t,r)=>e[Math.floor(r*n)])}if(t.length<this.ks)throw Error(`pq: training needs at least ks (${this.ks}) vectors, got ${t.length}.`);let n=new Float32Array(t.length*this.dim);t.forEach((e,t)=>n.set(e.subarray(0,this.dim),t*this.dim));let r=this.wasm.fit(n,t.length,this.dim,this.m,this.ks,this.iterations,this.seed);this.setCodebook(r.codewords,r.width,r.handle)}encode(e,t,n){let r=this.wasm.encode(this.modelHandle(),e.subarray(0,this.dim),1,this.m);t.u8.set(r,n);let i=0,a=this.codewordNorms;for(let e=0;e<this.m;e++)i+=a[e*this.ks+r[e]];t.f32[n+this.normOffset>>2]=i>0?1/Math.sqrt(i):0}prepareQuery(e){let t=this.codewords,n=new Float32Array(this.m*this.ks);for(let r=0;r<this.m;r++){let i=this.offsets[r],a=this.offsets[r+1]-i;for(let o=0;o<this.ks;o++){let s=(r*this.ks+o)*this.width,c=0;for(let n=0;n<a;n++)c+=e[i+n]*t[s+n];n[r*this.ks+o]=c}}return n}score(e,t,n){let r=t.u8,i=this.ks,a=0;for(let t=0;t<this.m;t++)a+=e[t*i+r[n+t]];let o=a*t.f32[n+this.normOffset>>2];return o>1?1:o<-1?-1:o}decode(e,t,n){let r=this.codewords;for(let i=0;i<this.m;i++){let a=this.offsets[i],o=this.offsets[i+1]-a,s=(i*this.ks+e.u8[t+i])*this.width;for(let e=0;e<o;e++)n[a+e]=r[s+e]}}toSnapshot(){return{meta:{kind:`pq`,dim:this.dim,m:this.m,ks:this.ks,iterations:this.iterations,trainingSize:this.trainingSize,maxTrainingSize:this.maxTrainingSize,seed:this.seed,width:this.width},arrays:this.codewords?{codewords:this.codewords}:{}}}static fromSnapshot(t,n){let r=t.meta,i=new e(r.dim,r,n),a=t.arrays.codewords;return a&&i.setCodebook(a,r.width,void 0),i}};function p(e,t){return{kind:`pq`,options:e,create:n=>new f(n,e,t),fromSnapshot:e=>f.fromSnapshot(e,t)}}async function m(e={}){return p(e,await c())}function h(e={}){return p(e,l())}function g(e,t,n){let r=e.data.index.vectorIndexes[t]?.node;if(!r)throw Error(`Unknown vector property "${t}".`);if(typeof r.refit!=`function`)throw Error(`The vector index of "${t}" is not quantized.`);r.refit(n)}return e.PQ_KIND=`pq`,e.ProductQuantizer=f,e.VectorQuantizerWasm=r,e.loadVectorQuantizerWasm=c,e.loadVectorQuantizerWasmSync=l,e.pq=m,e.pqSync=h,e.refit=g,e})({});
|
|
2
|
+
//# sourceMappingURL=index.global.js.map
|