turboquant-wasm 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # TurboQuant WASM
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/turboquant-wasm)](https://www.npmjs.com/package/turboquant-wasm)
4
+ [![npm bundle size (gzip)](https://img.shields.io/bundlephobia/minzip/turboquant-wasm)](https://bundlephobia.com/package/turboquant-wasm)
5
+ [![license](https://img.shields.io/npm/l/turboquant-wasm)](https://github.com/teamchong/turboquant-wasm/blob/main/LICENSE)
6
+
3
7
  WASM + relaxed SIMD build of [botirk38/turboquant](https://github.com/botirk38/turboquant) for browsers and Node.js.
4
8
 
5
9
  Based on the paper "TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate".
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- var G="AGFzbQEAAAABXg5gBX9/f39/AGADf39/AGAEf39/fwF/YAF/AGABfwF/YAJ/fwBgBn9/f39/fwF/YAF8AX1gAn9/AX9gAn9/AX1gBH9/f38BfWAFf39/f38BfWACfH8BfGADfX19AX0DHh0DAQEDCAIAAwMJCgECAAECAQsEBQQFBAYGDAcHDQQFAXABBQUFBAEAgQIGCQF/AUGAgIAICweEAQoGbWVtb3J5AgAQdHFfZW5naW5lX2NyZWF0ZQAEEXRxX2VuZ2luZV9kZXN0cm95AAgJdHFfZW5jb2RlAAwJdHFfZGVjb2RlAA8GdHFfZG90ABEIdHFfYWxsb2MAEgd0cV9mcmVlABMMdHFfYWxsb2NfZjMyABQLdHFfZnJlZV9mMzIAFQkKAQBBAQsEBRcYBgwBAwqBUh1CAQJ/IwBBEGsiASQAIAFBwIGACCkCADcDCCABQQhqIgIgACgCCCAAKAIMEAEgAiAAKAIQIAAoAhQQASABQRBqJAALLwEBfyACQQJ0IgMEQCAAKAIAIAFBqtWq1XogAhsgA0ECQQAgACgCBCgCDBEAAAsLywECAX8BfiMAQSBrIgMkACABKQIAIQQgAyACQf////8DSzoAHCAAAn8CQCACQYCAgIAETwRAQoCAgIAQIQQMAQsCQCACQQJ0IgFFBEBC/P///w8hBAwBCyAEpyABQQJBACAEQiCIpygCABECACIBRa1CIIYgAa2EIQQgAUUNAQsgAyACNgIUIAMgBD4CECADQQA7ARggA0EQagwBCyADIARCIIg9AQwgA0EEagsiAikCADcCACAAQQhqIAJBCGooAgA2AgAgA0EgaiQAC3EBAn8jAEEQayIBJAAgAUHAgYAIKQIANwMIIAFBCGoiAiAAKAIAIAAoAgQQASACIAAoAgggACgCDBABIAIgACgCECAAKAIUEAEgAEKq1arVCjcCECAAQqrVqtUKNwIIIABCqtWq1Qo3AgAgAUEQaiQAC8QkBCd/A3wGfQh+IwBB8AFrIgQkACAEQTBqQeCXgAhBwAD8CgAAAkADQCAXQRBGBEBBfyEYDAILIARBMGogGWooAgAEQCAZQQRqIRkgF0EBaiEXDAELC0F/IRhBAEHYAEECQQAQBSINRQ0AIARBwIGACCkDACI4NwNwAkAgAEUgAEEBcXINACAEIDg3A8gBIARB2AFqIARByAFqIAAgAGwiFhACIAQvAeABDQAgBCgC3AEhHSAEKALYASEPIARB5AFqIARByAFqIBYQAgJAIAQvAewBRQRAIABBAnQhISABrSIyQu2cmY4EfkK54AB8ITMgMkLptIqVjK6T8xB+Qv6s8J69jAN8ITQgAK0hMiAEKALoASEeIAQoAuQBIRogDyEIA0AgCCEHIDMhNSA0ITYgOSAyIjdRBEAgBCAWQf////8BSzoAwAECQCAWQYCAgIACTw0AAkAgFkEDdCIKRQRAQXghBgwBCyAHIApBAyAHEAUiBkUNAQsgAEEDdCEOIABBAnQhCyAGIQIgDyEDA0AgACAMRgRAIABBA3QhDkEAIQMgBiEMA0AgACADRgRAIABBAnQhDiAAQQN0IQtBACEMIA8hAiAGIQMDQCAAIQcgAiEIIAMhBSAAIAxGBEAgCkUNCiAHIAYgCkEDIAcQBgwKBQNAIAcEQCAIIAUrAwC2OAIAIAdBAWshByAIIA5qIQggBUEIaiEFDAELCyACQQRqIQIgAyALaiEDIAxBAWohDAwBCwALAAtBACECIAYhCwNAAkAgAiADRgRARAAAAAAAAAAAISkgACEHIAwhCANAIAdFDQIgB0EBayEHICkgCCsDACIpICmioCEpIAhBCGohCAwACwALRAAAAAAAAAAAISkgACEHIAwhCCALIQUDQCAHBEAgB0EBayEHICkgCCsDACAFKwMAoqAhKSAIQQhqIQggBUEIaiEFDAEFQQAhByAAIQgDQCAIBEAgByAMaiIFIAUrAwAgKSAHIAtqKwMAoqE5AwAgCEEBayEIIAdBCGohBwwBCwsgCyAOaiELIAJBAWohAgwDCwALAAsLAkAgKUQAAAAAAAAAAGRFDQBEAAAAAAAA8D8gKZ+jISkgACEIIAwhBwNAIAhFDQEgByApIAcrAwCiOQMAIAhBAWshCCAHQQhqIQcMAAsACyAMIA5qIQwgA0EBaiEDDAALAAUgACEHIAIhCCADIQUDQCAHBEAgCCAFKgIAuzkDACAHQQFrIQcgCEEIaiEIIAUgC2ohBQwBCwsgAiAOaiECIANBBGohAyAMQQFqIQwMAQsACwALIARByAFqIBogHhABBQNAIDdQRQRAIwBBEGsiGyQAAn0gNkL/////B4O1QwAAADCUIjBD2w/JQJQiLLwiAkH/////B3EiA0Han6T6A00EQEMAAIA/IANBgICAzANJDQEaICy7EBoMAQsCQAJAAkAgA0HSp+2DBE8EQCADQdbjiIcETw0CIANB39u/hQRNDQFEGC1EVPshGcBEGC1EVPshGUAgAkEAThsgLLugEBoMBAsgLLshKSADQeOX24AESw0CIAJBAEgEQCApRBgtRFT7Ifk/oBAbDAQLRBgtRFT7Ifk/ICmhEBsMAwsgAkEASARARNIhM3982RLAICy7oRAbDAMLICy7RNIhM3982RLAoBAbDAILIANB////+wdNBEAgG0EIaiESIwBBEGsiDiQAAkAgLLwiIkH/////B3EiAkHan6TuBE0EQCASICy7IisgK0SDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCIqRAAAAFD7Ifm/oqAgKkRjYhphtBBRvqKgIik5AwAgKvwCIQIgKUQAAABg+yHpv2MEQCASICsgKkQAAAAAAADwv6AiKUQAAABQ+yH5v6KgIClEY2IaYbQQUb6ioDkDACACQQFrIQIMAgsgKUQAAABg+yHpP2RFDQEgEiArICpEAAAAAAAA8D+gIilEAAAAUPsh+b+ioCApRGNiGmG0EFG+oqA5AwAgAkEBaiECDAELIAJB////+wdNBEAgDiACIAJBF3ZBlgFrIgZBF3Rrvrs5AwACfyAOQQhqISMjAEGwBGsiCiQAQciBgAgoAgAiECICQX8gAkEAThtBAWohAyAGQQNrIgIgAsFBGG0iAkEYbGvBQQ92IAJqwSICQQAgAkEAShsiHCEFIBxBaGwgBmohEyAcQQJ0QdiBgAhqIQkgCkHQAGohAgNAAkACQCADRQRAIApB0ABqIQYgEEF/IBBBAE4bQQFqIQtBACEJDAELIAVBAEgEQEQAAAAAAAAAACEpDAILIAkoAgC3ISkMAQsDQAJAIAkgC0cEQEQAAAAAAAAAACEpIA4hBSAGIQJBACEDA0AgA0F/Rg0CIANBAWshAyApIAUrAwAgAisDAKKgISkgBUEIaiEFIAJBCGshAgwACwALQf///wNB////ASATQRhrIhFBAUYbISRBLyATayElQTAgE2shHyAKQQRrIiYgEEECdGohJyAKQYgDaiEoIBNBGEohICAQIQICQANAICggAkEDdCIDaiEFIApBkANqIANqKwMAISkgCiEJIAIhAwNAIAMEQCAJICkgKUQAAAAAAABwPqL8ArciKUQAAAAAAABwwaKg/AI2AgAgCUEEaiEJIANBAWshAyAFKwMAICmgISkgBUEIayEFDAELCyApIBEQGSIpIClEAAAAAAAAwD+inEQAAAAAAAAgwKKgIikgKfwCIhW3oSEpAkACfwJ/ICBFBEAgEUUEQCACQQJ0IApqQQRrKAIAQRd1DAILQQAhFEECIClEAAAAAAAA4D9mDQIaDAMLIAJBAnQgCmpBBGsiAyADKAIAIgMgAyAfdSIGIB90ayIDNgIAIAYgFWohFSADICV1CyIUQQBMDQEgFAshC0EAIQYgCiEDIAIhBQNAAn8CQCAFBEAgAygCACEJIAYEQEH///8HIQYMAgsgCQRAQYCAgAghBgwCC0EADAILICAEQCACQQJ0IApqQQRrIgMgAygCACAkcTYCAAsgFUEBaiEVQQIhFCALQQJHDQNEAAAAAAAA8D8gKaEhKSAGRQ0DIClEAAAAAAAA8D8gERAZoSEpDAMLIAMgBiAJazYCAEEBCyEGIANBBGohAyAFQQFrIQUMAAsACyApRAAAAAAAAAAAYQRAICYgAkECdGohBUEAIQkgAiEDA0AgAyAQSgRAIANBAWshAyAFKAIAIAlyIQkgBUEEayEFDAELCyAnIQMgAiELIAkEQCAKIAJBAnRqQQRrIQMDQCACQQFrIQIgEUEYayERIAMoAgAhBiADQQRrIQMgBkUNAAsMAwsDQCALQQFqIQsgAygCACEGIANBBGshAyAGRQ0ACyACIAsgAiALSxshFCACQQN0IApqQdgAaiEGA0AgAkEBaiEJIAIgFEYEQCALIQIMAwUgAkEDdCAKakHYAGogCSAcakECdEHYgYAIaigCALc5AwBEAAAAAAAAAAAhKSAGIQUgDiECQQEhAwNAIAMEQCADQQFrIQMgKSACKwMAIAUrAwCioCEpIAVBCGshBSACQQhqIQIMAQsLIApBkANqIAlBA3RqICk5AwAgBkEIaiEGIAkhAgwBCwALAAsLIClBGCATaxAZIilEAAAAAAAAcEFmBEAgCiACQQFqIgNBAnRqIClEAAAAAAAAcD6i/AIiBjYCACAKIAJBAnRqICkgBrdEAAAAAAAAcMGioPwCNgIAIBMhESADIQIMAQsgCiACQQJ0aiAp/AI2AgALIAogAkECdGohBSAKQZADaiACQQN0aiEJRAAAAAAAAPA/IBEQGSEpIAIhAwNAIANBAEgEQCAKQZADaiACQQN0aiEJIAIhBgNAAkACQCAGQQBOBEAgECACIAZrIgsgCyAQShsiA0F/IANBAE4bQQFqIQVEAAAAAAAAAAAhKUEAIQMDQCAFRQ0CICkgA0Ggl4AIaisDACADIAlqKwMAoqAhKSADQQhqIQMgBUEBayEFDAALAAsMAQsgCkHwAWogC0EDdGogKTkDACAJQQhrIQkgBkEBayEGDAELCyAKQfABaiACQQN0aiEDRAAAAAAAAAAAISkDQCACQQBOBEAgAkEBayECICkgAysDAKAhKSADQQhrIQMMAQsLICMgKZogKSAUGzkDACAKQbAEaiQAIBVBB3EMBgUgCSApIAUoAgC3ojkDACAFQQRrIQUgCUEIayEJIANBAWshAyApRAAAAAAAAHA+oiEpDAELAAsACyAKQZADaiAJQQN0aiApOQMAIAZBCGohBiAJQQFqIQkMAAsACyACICk5AwAgAkEIaiECIANBAWshAyAJQQRqIQkgBUEBaiEFDAALAAshAiAOKwMIISkgIkEASARAIBIgKZo5AwBBACACayECDAILIBIgKTkDAAwBCyASICwgLJO7OQMAQQAhAgsgDkEQaiQAIBsrAwghKQJAAkACQAJAIAJBA3FBAWsOAwECAwALICkQGgwFCyApmhAbDAQLICkQGowMAwsgKRAbDAILICwgLJMMAQtEGC1EVPshCcBEGC1EVPshCUAgAkEAThsgKaAQGowLISwgG0EQaiQAAkACQCA1Qv////8Hg7VDAAAAMJQiMSIuvCILQYCAgARIBEBDAACA/0MAAMB/IC5DAAAAAFsiAhshLSACIAtBAEhyDQIgLkMAAABMlLwhC0HofiEGDAELIC4hLSALQf////sHSw0BQYF/IQZDAAAAACEtIAtBgICA/ANGDQELIAYgC0GN9qsCaiICQRd2arIiLkOAcTE/lCACQf///wNxQfOJ1PkDar5DAACAv5IiLyAuQ9H3FzeUIC8gL0MAAABAkpUiLSAvIC9DAAAAP5SUIi4gLSAtlCItIC0gLZQiLUPu6ZE+lEOqqio/kpQgLSAtQyaeeD6UQxPOzD6SlJKSlJIgLpOSkiEtCyAHQ4aNmUAgLUMAAADAlJEgMUMAAAAAWxtDAACAPyAsIDBDAAAAAFsblDgCACA3QgF9ITcgB0EEaiEHIDVC7ZyZjgR8ITUgNkLptIqVjK6T8xB8ITYMAQsLIAggIWohCCAzQrP+jbj/AHwhMyA0Qrflwo35lNjxC3whNCA5QgF8ITkMAQsLCyAEQcgBaiAPIB0QAQwBCyAAQQJ0IQZBACEMIBohAiAPIQMDQAJAIAAgDEcEQCAAIQcgAiEIIAMhBQNAIAdFDQIgCCAFKgIAOAIAIAdBAWshByAGIAhqIQggBUEEaiEFDAALAAsgBCAeNgKMASAEIBo2AogBIAQgHTYChAEgBCAPNgKAASAEIAE2AnwgBCAANgJ4IAQgODcDwAEgBEHIAWogBEHAAWogABACAkACQCAELwHQAQ0AIAQoAswBIQMgBCgCyAEhByAEQdgBaiAEQcABaiAAEAIgBC8B4AENACAEKALcASEIIAQoAtgBIQIgBEHkAWogBEHAAWogABACIAQvAewBRQ0BCyAEQfgAahAADAMLIAQgBCkC5AE3AkAgBCAINgI8IAQgAjYCOCAEIAM2AjQgBCAHNgIwIARBkAFqIARB8ABqIAAQAiAELwGYAQRAIARBMGoQAyAEQfgAahAADAMLIAQoApQBIQwgBCgCkAEhBSAEQZwBaiAEQfAAaiAAEAIgBC8BpAEEQCAEQfAAaiAFIAwQASAEQTBqEAMgBEH4AGoQAAwDCyAEKAKgASEGIAQoApwBIQ8gBEGoAWogBEHwAGogABACIAQvAbABBEAgBEHwAGoiACAPIAYQASAAIAUgDBABIARBMGoQAyAEQfgAahAADAMLIAQoAqwBIQMgBCgCqAEhByAEQbQBaiAEQfAAaiAAEAIgBC8BvAEEQCAEQfAAaiIAIAcgAxABIAAgDyAGEAEgACAFIAwQASAEQTBqEAMgBEH4AGoQAAwDCyAEQSBqIgggBEGAAWr9AAIA/QsDACAEQQhqIgIgBEE4av0AAgD9CwMAIAQgBCkCeDcDGCAEIAQpAjA3AwAgBCkCtAEhMiANIAE2AgQgDSAANgIAIA1BEGogCP0AAwD9CwIAIA0gBCkDGDcCCCANIDI3AlAgDSADNgJMIA0gBzYCSCANIAY2AkQgDSAPNgJAIA0gDDYCPCANIAU2AjggDSAEKQMANwIgIA1BKGogAv0AAwD9CwIAIBlB4JeACGogDTYCACAXIRgMAwsgAkEEaiECIAMgBmohAyAMQQFqIQwMAAsACyANEAcLIARB8AFqJAAgGAvvAQECfyMAQRBrIgMkACADIAJBH3E6AA9BACEAAkBBfyABQQRqIgQgASAESxsiAUEBIAJ0IgIgASACSxsiAUEBa2ciAkUNAAJAQSAgAmsiAkH//wNxQQNrIgRBDUkEQEIBIAKthqchAiAEQQJ0IgRBoJiACGoiBSgCACIBRQ0BIAUgASACakEEaygCADYCACABIQAMAgsgAUGDgARqQRB2EBYhAAwBCyAEQdSYgAhqIgQoAgAiAUH//wNxRQRAQQEQFiIBRQ0BIAQgASACajYCACABIQAMAQsgBCABIAJqNgIAIAEhAAsgA0EQaiQAIAALsAEAIwBBEGsiACQAIAAgA0EfcToADwJAQSAgAkEEaiICQQEgA3QiAyACIANLGyICQQFrZ2siA0H//wNxQQNrIgRBDUkEQCABQgEgA6yGp2pBBGsgBEECdEGgmIAIaiICKAIANgIADAELIAFCAUEgIAJBg4AEakEQdkEBa2drIgKthqdBEHRqQQRrIAJB//8DcUECdEGImYAIaiICKAIANgIACyACIAE2AgAgAEEQaiQACyEAQcCBgAgoAgAgAEHYAEECQQBBxIGACCgCACgCDBEAAAuWAQEDfyMAQRBrIgEkAAJAIABBEE8NACAAQQJ0QeCXgAhqIgMoAgAiAEUNACABQcCBgAgpAwA3AwggAEEIahAAIABBIGoQAyABQQhqIgIgACgCOCAAKAI8EAEgAiAAKAJAIAAoAkQQASACIAAoAkggACgCTBABIAIgACgCUCAAKAJUEAEgABAHIANBADYCAAsgAUEQaiQACw0AIAAgASAAIAEQCpEL3AEDA3sBfQF/QQAhAwNAIANBBGoiCCABS0UEQCAA/QACACIF/R8AIAL9AAIAIgb9HwAgBP0fABAc/RMgBf0fASAG/R8BIAT9HwEQHP0gASAF/R8CIAb9HwIgBP0fAhAc/SACIAX9HwMgBv0fAyAE/R8DEBz9IAMhBCACQRBqIQIgAEEQaiEAIAghAwwBCwsgBP0fACAE/R8BkiAE/R8CkiAE/R8DkiEHA0AgASADTUUEQCADQQFqIQMgByAAKgIAIAIqAgCUkiEHIAJBBGohAiAAQQRqIQAMAQsLIAcLoAECAX8BfiMAQSBrIgMkACAAAn8CQAJAIAJFBEBC/////w8hBAwBCyABKQIAIgSnIAJBAEEAIARCIIinKAIAEQIAIgFFrUIghiABrYQhBCABRQ0BCyADIAI2AhQgAyAEPgIQIANBADsBGCADQRBqDAELIAMgBEIgiD0BDCADQQRqCyICKQIANwIAIABBCGogAkEIaigCADYCACADQSBqJAALuQsED38GfQF7AX4jAEEwayIEJAACQCAAQRBPDQAgAEECdEHgl4AIaigCACIFRQ0AIARBwIGACCkDACIaNwMAIAIgBSgCAEcNACAFQQhqIgwgASACIAUoAjggBSgCPBANIAJBAXYhAEEAIQEDQCAABEAgBSgCOCABakECEAkiFCATIBMgFF0bIRMgAEEBayEAIAFBCGohAQwBCwsgBSgCOCENIAUoAjwhACAEIBo3AxggAEUgAEEBcXINACAEQSRqIARBGGogAEEBdiIIQQdsQQdqQQN2EAsgBC8BLA0AIAQoAiQhDiAEKAIoIgtFIhJFBEAgDkEAIAv8CwALIBpCIIinIQ8gGqchEEMAAIA/IBMgE0MAAAAAWxshFANAIAYgCEcEQCANIAZBA3RqIgAqAgAiFSAVlCAAQQRqKgIAIhYgFpSSkSEXQwAAgL8hE0EAIQdBkICACCEBQQAhAANAIABBCEZFBEAgFSABKgIAlCAWIAFBBGoqAgCUkiIYIBMgEyAYXSIRGyETIAAgByARGyEHIAFBCGohASAAQQFqIQAMAQsLIAdBB3EgFyAUlUMAAHBBlPwBQQN0ciEBQQYhAANAAkAgAEF/RwRAIAEgAHZBAXFFDQEgDiAJQQN2aiIHIActAABBASAJQQdxdHI6AAAMAQsgBkEBaiEGDAMLIABBAWshACAJQQFqIQkMAAsACwsgBSgCPEEBdiENIAUoAkAhASAFKAI4IQZBACEJQQAhBwNAIAcgDUZFBEBBACEAIARBADoAGANAIABBB0ZFBEAgBCAOIAAgCWoiCEEDdmotAAAgCEEHcXZBAXEgBC0AGEEBdHJB/wBxOgAYIABBAWohAAwBCwsgBCAELQAYIghBB3EiEToAJCABIAdBA3QiAGogACAGaioCACARQQJ0IhFBgIGACGoqAgAgFCAIQfgAcUEDdrNDAABwQZWUIhOUkzgCACABIABBBHIiAGogACAGaioCACARQaCBgAhqKgIAIBOUkzgCACAHQQFqIQcgCUEHaiEJDAELCyAFKAJAIgAgBSgCRCINEAkhEyAEIBo3AxgCQCANRQ0AIAwgACANIAUoAiAgBSgCJBANIARBJGogBEEYaiANQQdqQQN2EAsgBC8BLA0AIAQoAiQhBkEAIQEgBCgCKCIMBEAgBkEAIAz8CwALIAYhCUEAIQADQCANIABBCGoiB0kEQANAAkAgACANSQRAIAUoAiAgAWoqAgBDAAAAAF5FDQEgBiAAQQN2aiIHIActAABBASAAQQdxdHI6AAAMAQsgBEEIaiAEIAwgC0EgaiIAahALIAQvARAEQCAMBEAgECAGIAxBAEEAIA8oAgwRAAALIAtFDQYgECAOIAtBAEEAIA8oAgwRAAAMBgsgBCgCCCIKIBM4ABIgCiAUOAAOIAogDDYACiAKIAs2AAYgCkEAOgAFIAogAjYAASAKQQE6AAAgBCgCDCEBIBJFBEAgCkEgaiAOIAv8CgAACyABIABrIgIEQCAAIApqIAYgAvwKAAALIAsEQCAQIA4gC0EAQQAgDygCDBEAAAsgDARAIBAgBiAMQQBBACAPKAIMEQAACyADIAE2AgAMBQsgAUEEaiEBIABBAWohAAwACwAFIAlBAiAFKAIgIAFqIgD9AAIA/QwAAAAAAAAAAAAAAAAAAAAA/UQiGf0bACIIayAIQQFxIBn9GwFBAXEbIghBBHIgCCAZ/RsCQQFxGyIIQQhyIAggGf0bA0EBcRsiCEEQciAIIAD9AAIQ/QwAAAAAAAAAAAAAAAAAAAAA/UQiGf0bAEEBcRsiAEEgciAAIBn9GwFBAXEbIgBBwAByIAAgGf0bAkEBcRsiAEGAAXIgACAZ/RsDQQFxGzoAACAJQQFqIQkgAUEgaiEBIAchAAwBCwALAAsgC0UNACAQIA4gC0EAQQAgDygCDBEAAAsgBEEwaiQAIAoL6AEDAXsGfwF9IAJBAnQhCwNAIAIgB0ZFBEAgACgCCCAKaiEIQQAhBP0MAAAAAAAAAAAAAAAAAAAAACEFIAEhCQNAIARBBGoiBiACS0UEQCAFIAj9AAIAIAn9AAIA/eYB/eQBIQUgCEEQaiEIIAlBEGohCSAGIQQMAQsLIAX9HwAgBf0fAZIgBf0fApIgBf0fA5IhDEEAIQYDQCACIARNRQRAIAwgBiAIaioCACAGIAlqKgIAlJIhDCAGQQRqIQYgBEEBaiEEDAELCyADIAdBAnRqIAw4AgAgCiALaiEKIAdBAWohBwwBCwsLmAEBAn4CQCACQSBJBEAMAQsgAS0AAEEBRwRADAELIAEtAAUEQAwBCyAAQQA7ASAgAEEUaiABNQASIgNCEIg9AQAgACADQhCGIAE1AA4iA0IQiIQ+AhAgACABNQAKQhCGIAE1AAYiBEIQiIQgA0IwhoQ3AwggACABNQABQgiGIARCMIaEQgGENwMADwsgAEHQgIAIQTD8CgAAC/4HBA1/AXsCfQN+IwBB4ABrIgUkAAJAIABBEE8NACAAQQJ0QeCXgAhqKAIAIgZFDQAgBUHAgYAIKQMANwMIIAVBEGogASACEA4gBS8BMA0AIAYoAgAiACAFKQMQIhRCCIinRw0AIAIgBSkDGCIVQhCGIBRCMIiEp0EgaiINIBVCEIinakkNACAFQSRqMwEAIRQgBUEgajUCACEWIAVBzABqIAVBCGogABACIAUvAVQNACAFKAJMIQsCQCAFKAJQIglFIAlBAXFyRQRAIAFBIGohCCAWIBRCIIaEIhRCEIYgFUIwiISnviESIAlBAXYhCkEAIQIDQCAEIApGRQRAQQAhACAFQQA6AFsDQCAAQQdGRQRAIAUgCCAAIAJqIgdBA3ZqLQAAIAdBB3F2QQFxIAUtAFtBAXRyQf8AcToAWyAAQQFqIQAMAQsLIAUgBS0AWyIAQQdxIgc6AFwgCyAEQQN0aiIMIAdBAnQiB0GAgYAIaioCACAAQfgAcUEDdrNDAABwQZUgEpQiE5Q4AgAgDEEEaiAHQaCBgAhqKgIAIBOUOAIAIARBAWohBCACQQdqIQIMAQsLIAYoAlAhCCAGKAJUIgpFDQEgFEIQiKe+IRMgASANaiAKIAYoAigQECAGKAIsIgxBAnQhDyAGKAIwIRAgBigCKCENQQAhBwNAIAcgDEZFBEAgBigCGCAOaiEEQQAhAP0MAAAAAAAAAAAAAAAAAAAAACERIA0hAgNAIABBBGoiASAMS0UEQCARIAT9AAIAIAL9AAIA/eYB/eQBIREgBEEQaiEEIAJBEGohAiABIQAMAQsLIBH9HwAgEf0fAZIgEf0fApIgEf0fA5IhEkEAIQEDQCAAIAxPRQRAIBIgASAEaioCACABIAJqKgIAlJIhEiABQQRqIQEgAEEBaiEADAELCyAQIAdBAnRqIBI4AgAgDiAPaiEOIAdBAWohBwwBCwtDmWygPyAKs5UgE5QiEv0TIRFBACEAQQAhBANAIAogBEEEaiIBSQRAA0AgBCAKT0UEQCAAIAhqIBIgBigCMCAAaioCAJQ4AgAgAEEEaiEAIARBAWohBAwBCwsgBigCUCEIDAMFIAAgCGogESAGKAIwIABq/QACAP3mAf0LAgAgAEEQaiEAIAEhBAwBCwALAAsgBUEIaiALIAkQAQwBC0EAIQBBACEEA38gCSAEQQRqIgFJBH8DQCAEIAlPRQRAIAAgC2oiASABKgIAIAAgCGoqAgCSOAIAIABBBGohACAEQQFqIQQMAQsLIAMgCTYCACALBSAAIAtqIgIgAv0AAgAgACAIav0AAgD95AH9CwIAIABBEGohACABIQQMAQsLIQQLIAVB4ABqJAAgBAtEAQF/A0AgASADRkUEQCACQwAAgD9DAACAvyAAIANBA3ZqLQAAIANBB3F2QQFxGzgCACACQQRqIQIgA0EBaiEDDAELCwvtAwMIfwN9An4jAEFAaiIFJAACQCAAQRBPDQAgAEECdEHgl4AIaigCACIGRQ0AIAUgAyAEEA4gBS8BIA0AIAIgBigCACIARw0AIAAgBSkDACIQQgiIp0cNACAEIAUpAwgiEUIQhiAQQjCIhKdBIGoiCSARQhCIp2pJDQAgBUEQajUCACAFQRRqMwEAQiCGhCEQAkAgAkUNACACQQFxDQAgEEIQhiARQjCIhKe+IQ8gA0EgaiEKIAJBAXYhC0EAIQQDQCAEIAtGDQFBACEAIAVBADoAOwNAIABBB0ZFBEAgBSAKIAAgCGoiB0EDdmotAAAgB0EHcXZBAXEgBS0AO0EBdHJB/wBxOgA7IABBAWohAAwBCwsgBSAFLQA7IgBBB3EiBzoAPCANIAEgBEEDdGoiDCoCACAHQQJ0IgdBgIGACGoqAgAgAEH4AHFBA3azQwAAcEGVIA+UIg2UlCAMQQRqKgIAIAdBoIGACGoqAgAgDZSUkpIhDSAEQQFqIQQgCEEHaiEIDAALAAsgDSACBH0gBkEIaiABIAIgBigCICAGKAIkEA0gAyAJaiACIAYoAigQEEOZbKA/IAKzlSAQQhCIp76UIAYoAiAgBigCJCAGKAIoIAYoAiwQCpQFQwAAAAALkiENCyAFQUBrJAAgDQs3AQJ/IwBBEGsiASQAIAFBBGpBwIGACCAAEAsgAS8BDCEAIAEoAgQhAiABQRBqJABBACACIAAbCxMAIAEEQCABIAAgAUEAIAEQBgsLNwECfyMAQRBrIgEkACABQQRqQcCBgAggABACIAEvAQwhACABKAIEIQIgAUEQaiQAQQAgAiAAGwsNAEHAgYAIIAAgARABC1cBAn9CAUEgIABBAWtnayIBrYanIQAgAUH//wNxQQJ0QYiZgAhqIgIoAgAiAQRAIAIgAEEQdCABakEEaygCADYCACABDwtBACAAQAAiAEEQdCAAQX9GGwu0AQAjAEEQayIBJAAgASADQR9xOgAPQX8gBEEEaiIAIAAgBEkbIgRBASADdCIAIAAgBEkbIQMgAUEQaiQAAn8CQCACQQRqIgIgACAAIAJJGyIAQQFrZyICQRFrQQxNBEAgA0EBa2ciAA0BQQAMAgtCAUEgIABBg4AEakEQdkEBa2drrYanQgFBICADQYOABGpBEHZBAWtna62Gp0YMAQtCAUEgIAJrrYanQgFBICAAa62Gp0YLCxgAIAFBACAEIAQgAiADIAQgBBAXQQFxGwvEAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBSABQQBOBEBB/g8gBWsgAUgEQEQAAAAAAADwfyAApg8LIAEgBWoiBkEATARAIAIgAa2GIAOEvw8LIAVBAEwEQCACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBiABQQAgBWtKDQFBTCAFayABSgRAIAO/DwsgAkL/////////B4MgBUEASq1CNIaEIAZBASABIAVqayIBIAEgBkobQQFrQT9xrSIDiEIBfEIBiCACeiADUa1Cf4WDvyAApiEACyAADwsgAiAGrUI0hn2/C08BAXwgACAAoiIARIFeDP3//9+/okQAAAAAAADwP6AgACAAoiIBREI6BeFTVaU/oqAgACABoiAARGlQ7uBCk/k+okQnHg/oh8BWv6CioLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAAgAiABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2Cw4AIAC7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";function k(I){if(typeof Buffer<"u"){let C=Buffer.from(I,"base64");return new Uint8Array(C.buffer,C.byteOffset,C.byteLength)}let A=atob(I),Q=new Uint8Array(A.length);for(let C=0;C<A.length;C++)Q[C]=A.charCodeAt(C);return Q}var E=null,D=null;async function S(){if(E)return E;if(D)return D;return D=(async()=>{let I=k(G),A=await WebAssembly.compile(I);return E=(await WebAssembly.instantiate(A,{})).exports,E})(),D}async function N(I){let A;if(I instanceof Response||I instanceof Promise)A=(await WebAssembly.instantiateStreaming(I,{})).instance;else A=(await WebAssembly.instantiate(I,{})).instance;return E=A.exports,E}function F(I,A){let Q=I.tq_alloc(A.byteLength);if(!Q)throw Error("TurboQuant: WASM alloc failed");return new Float32Array(I.memory.buffer,Q,A.length).set(A),Q}function M(I,A){let Q=I.tq_alloc(A.length);if(!Q)throw Error("TurboQuant: WASM alloc failed");return new Uint8Array(I.memory.buffer,Q,A.length).set(A),Q}function h(I){let A=I.tq_alloc(4);if(!A)throw Error("TurboQuant: WASM alloc failed");return A}function R(I,A){return new Uint32Array(I.memory.buffer,A,1)[0]}class i{dim;#A;#I;constructor(I,A,Q){this.#I=I,this.#A=A,this.dim=Q}static async init(I){let A=I.wasm?await N(I.wasm):await S(),Q=A.tq_engine_create(I.dim,I.seed);if(Q<0)throw Error(`TurboQuant: failed to create engine (dim=${I.dim}, seed=${I.seed})`);return new i(A,Q,I.dim)}encode(I){if(I.length!==this.dim)throw Error(`TurboQuant: expected ${this.dim} dims, got ${I.length}`);let A=this.#I,Q=F(A,I),C=h(A),B=A.tq_encode(this.#A,Q,this.dim,C),g=R(A,C);if(A.tq_free(Q,I.byteLength),A.tq_free(C,4),!B)throw Error("TurboQuant: encode failed");let w=new Uint8Array(A.memory.buffer,B,g).slice();return A.tq_free(B,g),w}decode(I){let A=this.#I,Q=M(A,I),C=h(A),B=A.tq_decode(this.#A,Q,I.length,C),g=R(A,C);if(A.tq_free(Q,I.length),A.tq_free(C,4),!B)throw Error("TurboQuant: decode failed");let w=new Float32Array(A.memory.buffer,B,g).slice();return A.tq_free_f32(B,g),w}dot(I,A){if(I.length!==this.dim)throw Error(`TurboQuant: expected ${this.dim} dims, got ${I.length}`);let Q=this.#I,C=F(Q,I),B=M(Q,A),g=Q.tq_dot(this.#A,C,this.dim,B,A.length);return Q.tq_free(C,I.byteLength),Q.tq_free(B,A.length),g}destroy(){this.#I.tq_engine_destroy(this.#A)}}var K=i;export{K as default,i as TurboQuant};
1
+ var G="AGFzbQEAAAABXg5gBX9/f39/AGADf39/AGAEf39/fwF/YAF/AGABfwF/YAJ/fwBgBn9/f39/fwF/YAF8AX1gAn9/AX9gAn9/AX1gBH9/f38BfWAFf39/f38BfWACfH8BfGADfX19AX0DHh0DAQEDCAIAAwMJCgECAAECAQsEBQQFBAYGDAcHDQQFAXABBQUFBAEAgQIGCQF/AUGAgIAICweEAQoGbWVtb3J5AgAQdHFfZW5naW5lX2NyZWF0ZQAEEXRxX2VuZ2luZV9kZXN0cm95AAgJdHFfZW5jb2RlAAwJdHFfZGVjb2RlAA8GdHFfZG90ABEIdHFfYWxsb2MAEgd0cV9mcmVlABMMdHFfYWxsb2NfZjMyABQLdHFfZnJlZV9mMzIAFQkKAQBBAQsEBRcYBgwBAwqKUh1CAQJ/IwBBEGsiASQAIAFBwIGACCkCADcDCCABQQhqIgIgACgCCCAAKAIMEAEgAiAAKAIQIAAoAhQQASABQRBqJAALLwEBfyACQQJ0IgMEQCAAKAIAIAFBqtWq1XogAhsgA0ECQQAgACgCBCgCDBEAAAsLywECAX8BfiMAQSBrIgMkACABKQIAIQQgAyACQf////8DSzoAHCAAAn8CQCACQYCAgIAETwRAQoCAgIAQIQQMAQsCQCACQQJ0IgFFBEBC/P///w8hBAwBCyAEpyABQQJBACAEQiCIpygCABECACIBRa1CIIYgAa2EIQQgAUUNAQsgAyACNgIUIAMgBD4CECADQQA7ARggA0EQagwBCyADIARCIIg9AQwgA0EEagsiAikCADcCACAAQQhqIAJBCGooAgA2AgAgA0EgaiQAC3EBAn8jAEEQayIBJAAgAUHAgYAIKQIANwMIIAFBCGoiAiAAKAIAIAAoAgQQASACIAAoAgggACgCDBABIAIgACgCECAAKAIUEAEgAEKq1arVCjcCECAAQqrVqtUKNwIIIABCqtWq1Qo3AgAgAUEQaiQAC8QkBCd/A3wGfQh+IwBB8AFrIgQkACAEQTBqQeCXgAhBwAD8CgAAAkADQCAXQRBGBEBBfyEYDAILIARBMGogGWooAgAEQCAZQQRqIRkgF0EBaiEXDAELC0F/IRhBAEHYAEECQQAQBSINRQ0AIARBwIGACCkDACI4NwNwAkAgAEUgAEEBcXINACAEIDg3A8gBIARB2AFqIARByAFqIAAgAGwiFhACIAQvAeABDQAgBCgC3AEhHSAEKALYASEPIARB5AFqIARByAFqIBYQAgJAIAQvAewBRQRAIABBAnQhISABrSIyQu2cmY4EfkK54AB8ITMgMkLptIqVjK6T8xB+Qv6s8J69jAN8ITQgAK0hMiAEKALoASEeIAQoAuQBIRogDyEIA0AgCCEHIDMhNSA0ITYgOSAyIjdRBEAgBCAWQf////8BSzoAwAECQCAWQYCAgIACTw0AAkAgFkEDdCIKRQRAQXghBgwBCyAHIApBAyAHEAUiBkUNAQsgAEEDdCEOIABBAnQhCyAGIQIgDyEDA0AgACAMRgRAIABBA3QhDkEAIQMgBiEMA0AgACADRgRAIABBAnQhDiAAQQN0IQtBACEMIA8hAiAGIQMDQCAAIQcgAiEIIAMhBSAAIAxGBEAgCkUNCiAHIAYgCkEDIAcQBgwKBQNAIAcEQCAIIAUrAwC2OAIAIAdBAWshByAIIA5qIQggBUEIaiEFDAELCyACQQRqIQIgAyALaiEDIAxBAWohDAwBCwALAAtBACECIAYhCwNAAkAgAiADRgRARAAAAAAAAAAAISkgACEHIAwhCANAIAdFDQIgB0EBayEHICkgCCsDACIpICmioCEpIAhBCGohCAwACwALRAAAAAAAAAAAISkgACEHIAwhCCALIQUDQCAHBEAgB0EBayEHICkgCCsDACAFKwMAoqAhKSAIQQhqIQggBUEIaiEFDAEFQQAhByAAIQgDQCAIBEAgByAMaiIFIAUrAwAgKSAHIAtqKwMAoqE5AwAgCEEBayEIIAdBCGohBwwBCwsgCyAOaiELIAJBAWohAgwDCwALAAsLAkAgKUQAAAAAAAAAAGRFDQBEAAAAAAAA8D8gKZ+jISkgACEIIAwhBwNAIAhFDQEgByApIAcrAwCiOQMAIAhBAWshCCAHQQhqIQcMAAsACyAMIA5qIQwgA0EBaiEDDAALAAUgACEHIAIhCCADIQUDQCAHBEAgCCAFKgIAuzkDACAHQQFrIQcgCEEIaiEIIAUgC2ohBQwBCwsgAiAOaiECIANBBGohAyAMQQFqIQwMAQsACwALIARByAFqIBogHhABBQNAIDdQRQRAIwBBEGsiGyQAAn0gNkL/////B4O1QwAAADCUIjBD2w/JQJQiLLwiAkH/////B3EiA0Han6T6A00EQEMAAIA/IANBgICAzANJDQEaICy7EBoMAQsCQAJAAkAgA0HSp+2DBE8EQCADQdbjiIcETw0CIANB39u/hQRNDQFEGC1EVPshGcBEGC1EVPshGUAgAkEAThsgLLugEBoMBAsgLLshKSADQeOX24AESw0CIAJBAEgEQCApRBgtRFT7Ifk/oBAbDAQLRBgtRFT7Ifk/ICmhEBsMAwsgAkEASARARNIhM3982RLAICy7oRAbDAMLICy7RNIhM3982RLAoBAbDAILIANB////+wdNBEAgG0EIaiESIwBBEGsiDiQAAkAgLLwiIkH/////B3EiAkHan6TuBE0EQCASICy7IisgK0SDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCIqRAAAAFD7Ifm/oqAgKkRjYhphtBBRvqKgIik5AwAgKvwCIQIgKUQAAABg+yHpv2MEQCASICsgKkQAAAAAAADwv6AiKUQAAABQ+yH5v6KgIClEY2IaYbQQUb6ioDkDACACQQFrIQIMAgsgKUQAAABg+yHpP2RFDQEgEiArICpEAAAAAAAA8D+gIilEAAAAUPsh+b+ioCApRGNiGmG0EFG+oqA5AwAgAkEBaiECDAELIAJB////+wdNBEAgDiACIAJBF3ZBlgFrIgZBF3Rrvrs5AwACfyAOQQhqISMjAEGwBGsiCiQAQciBgAgoAgAiECICQX8gAkEAThtBAWohAyAGQQNrIgIgAsFBGG0iAkEYbGvBQQ92IAJqwSICQQAgAkEAShsiHCEFIBxBaGwgBmohEyAcQQJ0QdiBgAhqIQkgCkHQAGohAgNAAkACQCADRQRAIApB0ABqIQYgEEF/IBBBAE4bQQFqIQtBACEJDAELIAVBAEgEQEQAAAAAAAAAACEpDAILIAkoAgC3ISkMAQsDQAJAIAkgC0cEQEQAAAAAAAAAACEpIA4hBSAGIQJBACEDA0AgA0F/Rg0CIANBAWshAyApIAUrAwAgAisDAKKgISkgBUEIaiEFIAJBCGshAgwACwALQf///wNB////ASATQRhrIhFBAUYbISRBLyATayElQTAgE2shHyAKQQRrIiYgEEECdGohJyAKQYgDaiEoIBNBGEohICAQIQICQANAICggAkEDdCIDaiEFIApBkANqIANqKwMAISkgCiEJIAIhAwNAIAMEQCAJICkgKUQAAAAAAABwPqL8ArciKUQAAAAAAABwwaKg/AI2AgAgCUEEaiEJIANBAWshAyAFKwMAICmgISkgBUEIayEFDAELCyApIBEQGSIpIClEAAAAAAAAwD+inEQAAAAAAAAgwKKgIikgKfwCIhW3oSEpAkACfwJ/ICBFBEAgEUUEQCACQQJ0IApqQQRrKAIAQRd1DAILQQAhFEECIClEAAAAAAAA4D9mDQIaDAMLIAJBAnQgCmpBBGsiAyADKAIAIgMgAyAfdSIGIB90ayIDNgIAIAYgFWohFSADICV1CyIUQQBMDQEgFAshC0EAIQYgCiEDIAIhBQNAAn8CQCAFBEAgAygCACEJIAYEQEH///8HIQYMAgsgCQRAQYCAgAghBgwCC0EADAILICAEQCACQQJ0IApqQQRrIgMgAygCACAkcTYCAAsgFUEBaiEVQQIhFCALQQJHDQNEAAAAAAAA8D8gKaEhKSAGRQ0DIClEAAAAAAAA8D8gERAZoSEpDAMLIAMgBiAJazYCAEEBCyEGIANBBGohAyAFQQFrIQUMAAsACyApRAAAAAAAAAAAYQRAICYgAkECdGohBUEAIQkgAiEDA0AgAyAQSgRAIANBAWshAyAFKAIAIAlyIQkgBUEEayEFDAELCyAnIQMgAiELIAkEQCAKIAJBAnRqQQRrIQMDQCACQQFrIQIgEUEYayERIAMoAgAhBiADQQRrIQMgBkUNAAsMAwsDQCALQQFqIQsgAygCACEGIANBBGshAyAGRQ0ACyACIAsgAiALSxshFCACQQN0IApqQdgAaiEGA0AgAkEBaiEJIAIgFEYEQCALIQIMAwUgAkEDdCAKakHYAGogCSAcakECdEHYgYAIaigCALc5AwBEAAAAAAAAAAAhKSAGIQUgDiECQQEhAwNAIAMEQCADQQFrIQMgKSACKwMAIAUrAwCioCEpIAVBCGshBSACQQhqIQIMAQsLIApBkANqIAlBA3RqICk5AwAgBkEIaiEGIAkhAgwBCwALAAsLIClBGCATaxAZIilEAAAAAAAAcEFmBEAgCiACQQFqIgNBAnRqIClEAAAAAAAAcD6i/AIiBjYCACAKIAJBAnRqICkgBrdEAAAAAAAAcMGioPwCNgIAIBMhESADIQIMAQsgCiACQQJ0aiAp/AI2AgALIAogAkECdGohBSAKQZADaiACQQN0aiEJRAAAAAAAAPA/IBEQGSEpIAIhAwNAIANBAEgEQCAKQZADaiACQQN0aiEJIAIhBgNAAkACQCAGQQBOBEAgECACIAZrIgsgCyAQShsiA0F/IANBAE4bQQFqIQVEAAAAAAAAAAAhKUEAIQMDQCAFRQ0CICkgA0Ggl4AIaisDACADIAlqKwMAoqAhKSADQQhqIQMgBUEBayEFDAALAAsMAQsgCkHwAWogC0EDdGogKTkDACAJQQhrIQkgBkEBayEGDAELCyAKQfABaiACQQN0aiEDRAAAAAAAAAAAISkDQCACQQBOBEAgAkEBayECICkgAysDAKAhKSADQQhrIQMMAQsLICMgKZogKSAUGzkDACAKQbAEaiQAIBVBB3EMBgUgCSApIAUoAgC3ojkDACAFQQRrIQUgCUEIayEJIANBAWshAyApRAAAAAAAAHA+oiEpDAELAAsACyAKQZADaiAJQQN0aiApOQMAIAZBCGohBiAJQQFqIQkMAAsACyACICk5AwAgAkEIaiECIANBAWshAyAJQQRqIQkgBUEBaiEFDAALAAshAiAOKwMIISkgIkEASARAIBIgKZo5AwBBACACayECDAILIBIgKTkDAAwBCyASICwgLJO7OQMAQQAhAgsgDkEQaiQAIBsrAwghKQJAAkACQAJAIAJBA3FBAWsOAwECAwALICkQGgwFCyApmhAbDAQLICkQGowMAwsgKRAbDAILICwgLJMMAQtEGC1EVPshCcBEGC1EVPshCUAgAkEAThsgKaAQGowLISwgG0EQaiQAAkACQCA1Qv////8Hg7VDAAAAMJQiMSIuvCILQYCAgARIBEBDAACA/0MAAMB/IC5DAAAAAFsiAhshLSACIAtBAEhyDQIgLkMAAABMlLwhC0HofiEGDAELIC4hLSALQf////sHSw0BQYF/IQZDAAAAACEtIAtBgICA/ANGDQELIAYgC0GN9qsCaiICQRd2arIiLkOAcTE/lCACQf///wNxQfOJ1PkDar5DAACAv5IiLyAuQ9H3FzeUIC8gL0MAAABAkpUiLSAvIC9DAAAAP5SUIi4gLSAtlCItIC0gLZQiLUPu6ZE+lEOqqio/kpQgLSAtQyaeeD6UQxPOzD6SlJKSlJIgLpOSkiEtCyAHQ4aNmUAgLUMAAADAlJEgMUMAAAAAWxtDAACAPyAsIDBDAAAAAFsblDgCACA3QgF9ITcgB0EEaiEHIDVC7ZyZjgR8ITUgNkLptIqVjK6T8xB8ITYMAQsLIAggIWohCCAzQrP+jbj/AHwhMyA0Qrflwo35lNjxC3whNCA5QgF8ITkMAQsLCyAEQcgBaiAPIB0QAQwBCyAAQQJ0IQZBACEMIBohAiAPIQMDQAJAIAAgDEcEQCAAIQcgAiEIIAMhBQNAIAdFDQIgCCAFKgIAOAIAIAdBAWshByAGIAhqIQggBUEEaiEFDAALAAsgBCAeNgKMASAEIBo2AogBIAQgHTYChAEgBCAPNgKAASAEIAE2AnwgBCAANgJ4IAQgODcDwAEgBEHIAWogBEHAAWogABACAkACQCAELwHQAQ0AIAQoAswBIQMgBCgCyAEhByAEQdgBaiAEQcABaiAAEAIgBC8B4AENACAEKALcASEIIAQoAtgBIQIgBEHkAWogBEHAAWogABACIAQvAewBRQ0BCyAEQfgAahAADAMLIAQgBCkC5AE3AkAgBCAINgI8IAQgAjYCOCAEIAM2AjQgBCAHNgIwIARBkAFqIARB8ABqIAAQAiAELwGYAQRAIARBMGoQAyAEQfgAahAADAMLIAQoApQBIQwgBCgCkAEhBSAEQZwBaiAEQfAAaiAAEAIgBC8BpAEEQCAEQfAAaiAFIAwQASAEQTBqEAMgBEH4AGoQAAwDCyAEKAKgASEGIAQoApwBIQ8gBEGoAWogBEHwAGogABACIAQvAbABBEAgBEHwAGoiACAPIAYQASAAIAUgDBABIARBMGoQAyAEQfgAahAADAMLIAQoAqwBIQMgBCgCqAEhByAEQbQBaiAEQfAAaiAAEAIgBC8BvAEEQCAEQfAAaiIAIAcgAxABIAAgDyAGEAEgACAFIAwQASAEQTBqEAMgBEH4AGoQAAwDCyAEQSBqIgggBEGAAWr9AAIA/QsDACAEQQhqIgIgBEE4av0AAgD9CwMAIAQgBCkCeDcDGCAEIAQpAjA3AwAgBCkCtAEhMiANIAE2AgQgDSAANgIAIA1BEGogCP0AAwD9CwIAIA0gBCkDGDcCCCANIDI3AlAgDSADNgJMIA0gBzYCSCANIAY2AkQgDSAPNgJAIA0gDDYCPCANIAU2AjggDSAEKQMANwIgIA1BKGogAv0AAwD9CwIAIBlB4JeACGogDTYCACAXIRgMAwsgAkEEaiECIAMgBmohAyAMQQFqIQwMAAsACyANEAcLIARB8AFqJAAgGAvvAQECfyMAQRBrIgMkACADIAJBH3E6AA9BACEAAkBBfyABQQRqIgQgASAESxsiAUEBIAJ0IgIgASACSxsiAUEBa2ciAkUNAAJAQSAgAmsiAkH//wNxQQNrIgRBDUkEQEIBIAKthqchAiAEQQJ0IgRBoJiACGoiBSgCACIBRQ0BIAUgASACakEEaygCADYCACABIQAMAgsgAUGDgARqQRB2EBYhAAwBCyAEQdSYgAhqIgQoAgAiAUH//wNxRQRAQQEQFiIBRQ0BIAQgASACajYCACABIQAMAQsgBCABIAJqNgIAIAEhAAsgA0EQaiQAIAALsAEAIwBBEGsiACQAIAAgA0EfcToADwJAQSAgAkEEaiICQQEgA3QiAyACIANLGyICQQFrZ2siA0H//wNxQQNrIgRBDUkEQCABQgEgA6yGp2pBBGsgBEECdEGgmIAIaiICKAIANgIADAELIAFCAUEgIAJBg4AEakEQdkEBa2drIgKthqdBEHRqQQRrIAJB//8DcUECdEGImYAIaiICKAIANgIACyACIAE2AgAgAEEQaiQACyEAQcCBgAgoAgAgAEHYAEECQQBBxIGACCgCACgCDBEAAAuWAQEDfyMAQRBrIgEkAAJAIABBEE8NACAAQQJ0QeCXgAhqIgMoAgAiAEUNACABQcCBgAgpAwA3AwggAEEIahAAIABBIGoQAyABQQhqIgIgACgCOCAAKAI8EAEgAiAAKAJAIAAoAkQQASACIAAoAkggACgCTBABIAIgACgCUCAAKAJUEAEgABAHIANBADYCAAsgAUEQaiQACw0AIAAgASAAIAEQCpEL3AEDA3sBfQF/QQAhAwNAIANBBGoiCCABS0UEQCAA/QACACIF/R8AIAL9AAIAIgb9HwAgBP0fABAc/RMgBf0fASAG/R8BIAT9HwEQHP0gASAF/R8CIAb9HwIgBP0fAhAc/SACIAX9HwMgBv0fAyAE/R8DEBz9IAMhBCACQRBqIQIgAEEQaiEAIAghAwwBCwsgBP0fACAE/R8BkiAE/R8CkiAE/R8DkiEHA0AgASADTUUEQCADQQFqIQMgByAAKgIAIAIqAgCUkiEHIAJBBGohAiAAQQRqIQAMAQsLIAcLoAECAX8BfiMAQSBrIgMkACAAAn8CQAJAIAJFBEBC/////w8hBAwBCyABKQIAIgSnIAJBAEEAIARCIIinKAIAEQIAIgFFrUIghiABrYQhBCABRQ0BCyADIAI2AhQgAyAEPgIQIANBADsBGCADQRBqDAELIAMgBEIgiD0BDCADQQRqCyICKQIANwIAIABBCGogAkEIaigCADYCACADQSBqJAALuQsED38GfQF7AX4jAEEwayIEJAACQCAAQRBPDQAgAEECdEHgl4AIaigCACIFRQ0AIARBwIGACCkDACIaNwMAIAIgBSgCAEcNACAFQQhqIgwgASACIAUoAjggBSgCPBANIAJBAXYhAEEAIQEDQCAABEAgBSgCOCABakECEAkiFCATIBMgFF0bIRMgAEEBayEAIAFBCGohAQwBCwsgBSgCOCENIAUoAjwhACAEIBo3AxggAEUgAEEBcXINACAEQSRqIARBGGogAEEBdiIIQQdsQQdqQQN2EAsgBC8BLA0AIAQoAiQhDiAEKAIoIgtFIhJFBEAgDkEAIAv8CwALIBpCIIinIQ8gGqchEEMAAIA/IBMgE0MAAAAAWxshFANAIAYgCEcEQCANIAZBA3RqIgAqAgAiFSAVlCAAQQRqKgIAIhYgFpSSkSEXQwAAgL8hE0EAIQdBkICACCEBQQAhAANAIABBCEZFBEAgFSABKgIAlCAWIAFBBGoqAgCUkiIYIBMgEyAYXSIRGyETIAAgByARGyEHIAFBCGohASAAQQFqIQAMAQsLIAdBB3EgFyAUlUMAAHBBlPwBQQN0ciEBQQYhAANAAkAgAEF/RwRAIAEgAHZBAXFFDQEgDiAJQQN2aiIHIActAABBASAJQQdxdHI6AAAMAQsgBkEBaiEGDAMLIABBAWshACAJQQFqIQkMAAsACwsgBSgCPEEBdiENIAUoAkAhASAFKAI4IQZBACEJQQAhBwNAIAcgDUZFBEBBACEAIARBADoAGANAIABBB0ZFBEAgBCAOIAAgCWoiCEEDdmotAAAgCEEHcXZBAXEgBC0AGEEBdHJB/wBxOgAYIABBAWohAAwBCwsgBCAELQAYIghBB3EiEToAJCABIAdBA3QiAGogACAGaioCACARQQJ0IhFBgIGACGoqAgAgFCAIQfgAcUEDdrNDAABwQZWUIhOUkzgCACABIABBBHIiAGogACAGaioCACARQaCBgAhqKgIAIBOUkzgCACAHQQFqIQcgCUEHaiEJDAELCyAFKAJAIgAgBSgCRCINEAkhEyAEIBo3AxgCQCANRQ0AIAwgACANIAUoAiAgBSgCJBANIARBJGogBEEYaiANQQdqQQN2EAsgBC8BLA0AIAQoAiQhBkEAIQEgBCgCKCIMBEAgBkEAIAz8CwALIAYhCUEAIQADQCANIABBCGoiB0kEQANAAkAgACANSQRAIAUoAiAgAWoqAgBDAAAAAF5FDQEgBiAAQQN2aiIHIActAABBASAAQQdxdHI6AAAMAQsgBEEIaiAEIAwgC0EgaiIAahALIAQvARAEQCAMBEAgECAGIAxBAEEAIA8oAgwRAAALIAtFDQYgECAOIAtBAEEAIA8oAgwRAAAMBgsgBCgCCCIKIBM4ABIgCiAUOAAOIAogDDYACiAKIAs2AAYgCkEAOgAFIAogAjYAASAKQQE6AAAgBCgCDCEBIBJFBEAgCkEgaiAOIAv8CgAACyABIABrIgIEQCAAIApqIAYgAvwKAAALIAsEQCAQIA4gC0EAQQAgDygCDBEAAAsgDARAIBAgBiAMQQBBACAPKAIMEQAACyADIAE2AgAMBQsgAUEEaiEBIABBAWohAAwACwAFIAlBAiAFKAIgIAFqIgD9AAIA/QwAAAAAAAAAAAAAAAAAAAAA/UQiGf0bACIIayAIQQFxIBn9GwFBAXEbIghBBHIgCCAZ/RsCQQFxGyIIQQhyIAggGf0bA0EBcRsiCEEQciAIIAD9AAIQ/QwAAAAAAAAAAAAAAAAAAAAA/UQiGf0bAEEBcRsiAEEgciAAIBn9GwFBAXEbIgBBwAByIAAgGf0bAkEBcRsiAEGAAXIgACAZ/RsDQQFxGzoAACAJQQFqIQkgAUEgaiEBIAchAAwBCwALAAsgC0UNACAQIA4gC0EAQQAgDygCDBEAAAsgBEEwaiQAIAoL6AEDAXsGfwF9IAJBAnQhCwNAIAIgB0ZFBEAgACgCCCAKaiEIQQAhBP0MAAAAAAAAAAAAAAAAAAAAACEFIAEhCQNAIARBBGoiBiACS0UEQCAFIAj9AAIAIAn9AAIA/eYB/eQBIQUgCEEQaiEIIAlBEGohCSAGIQQMAQsLIAX9HwAgBf0fAZIgBf0fApIgBf0fA5IhDEEAIQYDQCACIARNRQRAIAwgBiAIaioCACAGIAlqKgIAlJIhDCAGQQRqIQYgBEEBaiEEDAELCyADIAdBAnRqIAw4AgAgCiALaiEKIAdBAWohBwwBCwsLmAEBAn4CQCACQSBJBEAMAQsgAS0AAEEBRwRADAELIAEtAAUEQAwBCyAAQQA7ASAgAEEUaiABNQASIgNCEIg9AQAgACADQhCGIAE1AA4iA0IQiIQ+AhAgACABNQAKQhCGIAE1AAYiBEIQiIQgA0IwhoQ3AwggACABNQABQgiGIARCMIaEQgGENwMADwsgAEHQgIAIQTD8CgAAC/0HBAp/AXsCfQJ+IwBB4ABrIgUkAAJAIABBEE8NACAAQQJ0QeCXgAhqKAIAIgZFDQAgBUHAgYAIKQMANwMIIAVBEGogASACEA4gBS8BMA0AIAYoAgAiCiAFKQMQIhFCCIinRw0AIAIgBSkDGCISQhCGIBFCMIiEp0EgaiIEIBJCEIinakkNACAGKAJMIgBFIABBAXFyDQAgBUEgajUCACAFQSRqMwEAQiCGhCIRQhCGIBJCMIiEp74hDyABIARqIQQgAUEgaiEIIAYoAkghByAAQQF2IQtBACEBQQAhAgNAIAIgC0ZFBEBBACEAIAVBADoAWwNAIABBB0ZFBEAgBSAIIAAgAWoiCUEDdmotAAAgCUEHcXZBAXEgBS0AW0EBdHJB/wBxOgBbIABBAWohAAwBCwsgBSAFLQBbIgBBB3EiCToAXCAHIAJBA3RqIg0gCUECdCIJQYCBgAhqKgIAIABB+ABxQQN2s0MAAHBBlSAPlCIQlDgCACANQQRqIAlBoIGACGoqAgAgEJQ4AgAgAkEBaiECIAFBB2ohAQwBCwsgBigCUCECQQAhAQJAIAYoAlQiB0UEQEEAIQQMAQsgBCAHIAYoAigQEEOZbKA/IAezlSARQhCIp76UIg/9EyEOQQAhAEEAIQQDfyAHIARBBGoiCEkEfwNAIAQgB09FBEAgACACaiAPIAYoAiggAGoqAgCUOAIAIABBBGohACAEQQFqIQQMAQsLIAYoAlQhBCAGKAJQBSAAIAJqIA4gBigCKCAAav0AAgD95gH9CwIAIABBEGohACAIIQQMAQsLIQILIAYoAkghAANAIAQgAUEEaiIISQRAA0AgASAET0UEQCAAIAAqAgAgAioCAJI4AgAgAEEEaiEAIAJBBGohAiABQQFqIQEMAQsLIAVBzABqIAVBCGogChACIAUvAVQNAiAGKAJMIgpBAnQhCSAGKAJIIQhBACELIAUoAlAhDSAFKAJMIQxBACEHA0AgByAKRkUEQCAGKAIYIAtqIQJBACEA/QwAAAAAAAAAAAAAAAAAAAAAIQ4gCCEBA0AgAEEEaiIEIApLRQRAIA4gAv0AAgAgAf0AAgD95gH95AEhDiACQRBqIQIgAUEQaiEBIAQhAAwBCwsgDv0fACAO/R8BkiAO/R8CkiAO/R8DkiEPQQAhBANAIAAgCk9FBEAgDyACIARqKgIAIAEgBGoqAgCUkiEPIARBBGohBCAAQQFqIQAMAQsLIAwgB0ECdGogDzgCACAJIAtqIQsgB0EBaiEHDAELCyADIA02AgAFIAAgAP0AAgAgAv0AAgD95AH9CwIAIABBEGohACACQRBqIQIgCCEBDAELCwsgBUHgAGokACAMC0QBAX8DQCABIANGRQRAIAJDAACAP0MAAIC/IAAgA0EDdmotAAAgA0EHcXZBAXEbOAIAIAJBBGohAiADQQFqIQMMAQsLC/cDAwh/A30CfiMAQUBqIgUkAAJAIABBEE8NACAAQQJ0QeCXgAhqKAIAIgZFDQAgBSADIAQQDiAFLwEgDQAgAiAGKAIAIgBHDQAgACAFKQMAIhBCCIinRw0AIAQgBSkDCCIRQhCGIBBCMIiEp0EgaiIJIBFCEIinakkNACAFQRBqNQIAIAVBFGozAQBCIIaEIRAgBkEIaiABIAIgBigCOCAGKAI8EA0gBigCOCEIAkAgBigCPCIBRQ0AIAFBAXENACAQQhCGIBFCMIiEp74hDyADQSBqIQogAUEBdiELQQAhBEEAIQIDQCAEIAtGDQFBACEAIAVBADoAOwNAIABBB0ZFBEAgBSAKIAAgAmoiB0EDdmotAAAgB0EHcXZBAXEgBS0AO0EBdHJB/wBxOgA7IABBAWohAAwBCwsgBSAFLQA7IgBBB3EiBzoAPCANIAggBEEDdGoiDCoCACAHQQJ0IgdBgIGACGoqAgAgAEH4AHFBA3azQwAAcEGVIA+UIg2UlCAMQQRqKgIAIAdBoIGACGoqAgAgDZSUkpIhDSAEQQFqIQQgAkEHaiECDAALAAsgDSABBH0gAyAJaiABIAYoAigQEEOZbKA/IAGzlSAQQhCIp76UIAggASAGKAIoIAYoAiwQCpQFQwAAAAALkiENCyAFQUBrJAAgDQs3AQJ/IwBBEGsiASQAIAFBBGpBwIGACCAAEAsgAS8BDCEAIAEoAgQhAiABQRBqJABBACACIAAbCxMAIAEEQCABIAAgAUEAIAEQBgsLNwECfyMAQRBrIgEkACABQQRqQcCBgAggABACIAEvAQwhACABKAIEIQIgAUEQaiQAQQAgAiAAGwsNAEHAgYAIIAAgARABC1cBAn9CAUEgIABBAWtnayIBrYanIQAgAUH//wNxQQJ0QYiZgAhqIgIoAgAiAQRAIAIgAEEQdCABakEEaygCADYCACABDwtBACAAQAAiAEEQdCAAQX9GGwu0AQAjAEEQayIBJAAgASADQR9xOgAPQX8gBEEEaiIAIAAgBEkbIgRBASADdCIAIAAgBEkbIQMgAUEQaiQAAn8CQCACQQRqIgIgACAAIAJJGyIAQQFrZyICQRFrQQxNBEAgA0EBa2ciAA0BQQAMAgtCAUEgIABBg4AEakEQdkEBa2drrYanQgFBICADQYOABGpBEHZBAWtna62Gp0YMAQtCAUEgIAJrrYanQgFBICAAa62Gp0YLCxgAIAFBACAEIAQgAiADIAQgBBAXQQFxGwvEAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBSABQQBOBEBB/g8gBWsgAUgEQEQAAAAAAADwfyAApg8LIAEgBWoiBkEATARAIAIgAa2GIAOEvw8LIAVBAEwEQCACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBiABQQAgBWtKDQFBTCAFayABSgRAIAO/DwsgAkL/////////B4MgBUEASq1CNIaEIAZBASABIAVqayIBIAEgBkobQQFrQT9xrSIDiEIBfEIBiCACeiADUa1Cf4WDvyAApiEACyAADwsgAiAGrUI0hn2/C08BAXwgACAAoiIARIFeDP3//9+/okQAAAAAAADwP6AgACAAoiIBREI6BeFTVaU/oqAgACABoiAARGlQ7uBCk/k+okQnHg/oh8BWv6CioLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAAgAiABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2Cw4AIAC7IAG7oiACu6C2CwvJFwMAQYCAgAgLUAEAAAACAAAAAwAAAAQAAAAAAIC/Lr27MwedH78cJki/itxjPuCUeb/mpWY/ASbevuSlZj8IJt4+c9xjPuGUeT8KnR+/GiZIPwAAgL8uvbuzAEHwgIAICwEEAEGCgYAIC94WgL8HnR+/itxjPualZj/kpWY/c9xjPgqdH78AAIC/Lr27MxwmSL/glHm/ASbevggm3j7hlHk/GiZIPy69u7MAAAAAAAAAAQMAAAAEAAAABAAAAAYAAACD+aIARE5uAPwpFQDRVycA3TT1AGLbwAA8mZUAQZBDAGNR/gC73qsAt2HFADpuJADSTUIASQbgAAnqLgAcktEA6x3+ACmxHADoPqcA9TWCAES7LgCc6YQAtCZwAEF+XwDWkTkAU4M5AJz0OQCLX4QAKPm9APgfOwDe/5cAD5gFABEv7wAKWosAbR9tAM9+NgAJyycARk+3AJ5mPwAt6l8Auid1AOXrxwA9e/EA9zkHAJJSigD7a+oAH7FfAAhdjQAwA1YAe/xGAPCrawAgvM8ANvSaAOOpHQBeYZEACBvmAIWZZQCgFF8AjUBoAIDY/wAnc00ABgYxAMpWFQDJqHMAe+JgAGuMwAAZxEcAzWfDAAno3ABZgyoAi3bEAKYclgBEr90AGVfRAKU+BQAFB/8AM34/AMIy6ACYT94Au30yACY9wwAea+8An/heADUfOgB/8soA8YcdAHyQIQBqJHwA1W76ADAtdwAVO0MAtRTGAMMZnQCtxMIALE1BAAwAXQCGfUYA43EtAJvGmgAzYgAAtNJ8ALSnlwA3VdUA1z72AKMQGABNdvwAZJ0qAHDXqwBjfPgAerBXABcV5wDASVYAO9bZAKeEOAAkI8sA1op3AFpUIwAAH7kA8QobABnO3wCfMf8AZh5qAJlXYQCs+0cAfn/YACJltwAy6IkA5r9gAO/EzQBsNgkAXT/UABbe1wBYO94A3puSANIiKAAohugA4lhNAMbKMgAI4xYA4H3LABfAUADzHacAGOBbAC4TNACDEmIAg0gBAPWOWwCtsH8AHunyAEhKQwAQZ9MAqt3YAK5fQgBqYc4ACiikANOZtAAGpvIAXHd/AKPCgwBhPIgAinN4AK+MWgBv170ALaZjAPS/ywCNge8AJsFnAFXKRQDK2TYAKKjSAMJhjQASyXcABCYUABJGmwDEWcQAyMVEAE2ykQAAF/MA1EOtAClJ5QD91RAAAL78AB6UzABwzu4AEz71AOzxgACz58MAx/goAJMFlADBcT4ALgmzAAtF8wCIEpwAqyB7AC61nwBHksIAezIvAAxVbQByp5AAa+cfADHLlgB5FkoAQXniAPTfiQDolJcA4uaEAJkxlwCI7WsAX182ALv9DgBImrQAZ6RsAHFyQgCNXTIAnxW4ALzlCQCNMSUA93Q5ADAFHAANDAEASwhoACzuWABHqpAAdOcCAL3WJAD3faYAbkhyAJ8W7wCOlKYAtJH2ANFTUQDPCvIAIJgzAPVLfgCyY2gA3T5fAEBdAwCFiX8AVVIpADdkwABt2BAAMkgyAFtMdQBOcdQARVRuAAsJwQAq9WkAFGbVACcHnQBdBFAAtDvbAOp2xQCH+RcASWt9AB0nugCWaSkAxsysAK0UVACQ4moAiNmJACxyUAAEpL4AdweUAPMwcAAA/CcA6nGoAGbCSQBk4D0Al92DAKM/lwBDlP0ADYaMADFB3gCSOZ0A3XCMABe35wAI3zsAFTcrAFyAoABagJMAEBGSAA/o2ABsgK8A2/9LADiQDwBZGHYAYqUVAGHLuwDHibkAEEC9ANLyBABJdScA67b2ANsiuwAKFKoAiSYvAGSDdgAJOzMADpQaAFE6qgAdo8IAr+2uAFwmEgBtwk0ALXqcAMBWlwADP4MACfD2ACtAjABtMZkAObQHAAwgFQDYw1sA9ZLEAMatSwBOyqUApzfNAOapNgCrkpQA3UJoABlj3gB2jO8AaItSAPzbNwCuoasA3xUxAACuoQAM+9oAZE1mAO0FtwApZTAAV1a/AEf/OgBq+bkAdb7zACiT3wCrgDAAZoz2AATLFQD6IgYA2eQdAD2zpABXG48ANs0JAE5C6QATvqQAMyO1APCqGgBPZagA0sGlAAs/DwBbeM0AI/l2AHuLBACJF3IAxqZTAG9u4gDv6wAAm0pYAMTatwCqZroAds/PANECHQCx8S0AjJnBAMOtdwCGSNoA912gAMaA9ACs8C8A3eyaAD9cvADQ3m0AkMcfACrbtgCjJToAAK+aAK1TkwC2VwQAKS20AEuAfgDaB6cAdqoOAHtZoQAWEioA3LctAPrl/QCJ2/4Aib79AOR2bAAGqfwAPoBwAIVuFQD9h/8AKD4HAGFnMwAqGIYATb3qALPnrwCPbW4AlWc5ADG/WwCE10gAMN8WAMctQwAlYTUAyXDOADDLuAC/bP0ApACiAAVs5ABa3aAAIW9HAGIS0gC5XIQAcGFJAGtW4ACZUgEAUFU3AB7VtwAz8cQAE25fAF0w5ACFLqkAHbLDAKEyNgAIt6QA6rHUABb3IQCPaeQAJ/93AAwDgACNQC0AT82gACClmQCzotMAL10KALT5QgAR2ssAfb7QAJvbwQCrF70AyqKBAAhqXAAuVRcAJwBVAH8U8ADhB4YAFAtkAJZBjQCHvt4A2v0qAGsltgB7iTQABfP+ALm/ngBoak8ASiqoAE/EWgAt+LwA11qYAPTHlQANTY0AIDqmAKRXXwAUP7EAgDiVAMwgAQBx3YYAyd62AL9g9QBNZREAAQdrAIywrACywNAAUVVIAB77DgCVcsMAowY7AMBANQAG3HsA4EXMAE4p+gDWysgA6PNBAHxk3gCbZNgA2b4xAKSXwwB3WNQAaePFAPDaEwC6OjwARhhGAFV1XwDSvfUAbpLGAKwuXQAORO0AHD5CAGHEhwAp/ekA59bzACJ8ygBvkTUACODFAP/XjQBuauIAsP3GAJMIwQB8XXQAa62yAM1unQA+cnsAxhFqAPfPqQApc98Atcm6ALcAUQDisg0AdLokAOV9YAB02IoADRUsAIEYDAB+ZpQAASkWAJ96dgD9/b4AVkXvANl+NgDs2RMAi7q5AMSX/AAxqCcA8W7DAJTFNgDYqFYAtKi1AM/MDgASiS0Ab1c0ACxWiQCZzuMA1iC5AGteqgA+KpwAEV/MAP0LSgDh9PsAjjttAOKGLADp1IQA/LSpAO/u0QAuNckALzlhADghRAAb2cgAgfwKAPtKagAvHNgAU7SEAE6ZjABUIswAKlXcAMDG1gALGZYAGnC4AGmVZAAmWmAAP1LuAH8RDwD0tREA/Mv1ADS8LQA0vO4A6F3MAN1eYABnjpsAkjPvAMkXuABhWJsA4Ve8AFGDxgDYPhAA3XFIAC0c3QCvGKEAISxGAFnz1wDZepgAnlTAAE+G+gBWBvwA5XmuAIkiNgA4rSIAZ5PcAFXoqgCCJjgAyuebAFENpACZM7EAqdcOAGkFSABlsvAAf4inAIhMlwD50TYAIZKzAHuCSgCYzyEAQJ/cANxHVQDhdDoAZ+tCAP6d3wBe1F8Ae2ekALqsegBV9qIAK4gjAEG6VQBZbggAISqGADlHgwCJ4+YA5Z7UAEn7QAD/VukAHA/KAMVZigCU+isA08HFAA/FzwDbWq4AR8WGAIVDYgAhhjsALHmUABBhhwAqTHsAgCwaAEO/EgCIJpAAeDyJAKjE5ADl23sAxDrCACb06gD3Z4oADZK/AGWjKwA9k7EAvXwLAKRR3AAn3WMAaeHdAJqUGQCoKZUAaM4oAAnttABEnyAATpjKAHCCYwB+fCMAD7kyAKf1jgAUVucAIfEIALWdKgBvfk0ApRlRALX5qwCC39YAlt1hABY2AgDEOp8Ag6KhAHLtbQA5jXoAgripAGsyXABGJ1sAADTtANIAdwD89FUAAVlNAOBxgAAAAABA+yH5PwAAAAAtRHQ+AAAAgJhG+DwAAABgUcx4OwAAAICDG/A5AAAAQCAlejgAAACAIoLjNgAAAAAd82k1";function R(I){if(typeof Buffer<"u"){let B=Buffer.from(I,"base64");return new Uint8Array(B.buffer,B.byteOffset,B.byteLength)}let A=atob(I),Q=new Uint8Array(A.length);for(let B=0;B<A.length;B++)Q[B]=A.charCodeAt(B);return Q}var E=null,D=null;async function S(){if(E)return E;if(D)return D;return D=(async()=>{let I=R(G),A=await WebAssembly.compile(I);return E=(await WebAssembly.instantiate(A,{})).exports,E})(),D}async function N(I){let A;if(I instanceof Response||I instanceof Promise)A=(await WebAssembly.instantiateStreaming(I,{})).instance;else A=(await WebAssembly.instantiate(I,{})).instance;return E=A.exports,E}function F(I,A){let Q=I.tq_alloc(A.byteLength);if(!Q)throw Error("TurboQuant: WASM alloc failed");return new Float32Array(I.memory.buffer,Q,A.length).set(A),Q}function M(I,A){let Q=I.tq_alloc(A.length);if(!Q)throw Error("TurboQuant: WASM alloc failed");return new Uint8Array(I.memory.buffer,Q,A.length).set(A),Q}function h(I){let A=I.tq_alloc(4);if(!A)throw Error("TurboQuant: WASM alloc failed");return A}function k(I,A){return new Uint32Array(I.memory.buffer,A,1)[0]}class i{dim;#A;#I;constructor(I,A,Q){this.#I=I,this.#A=A,this.dim=Q}static async init(I){let A=I.wasm?await N(I.wasm):await S(),Q=A.tq_engine_create(I.dim,I.seed);if(Q<0)throw Error(`TurboQuant: failed to create engine (dim=${I.dim}, seed=${I.seed})`);return new i(A,Q,I.dim)}encode(I){if(I.length!==this.dim)throw Error(`TurboQuant: expected ${this.dim} dims, got ${I.length}`);let A=this.#I,Q=F(A,I),B=h(A),C=A.tq_encode(this.#A,Q,this.dim,B),g=k(A,B);if(A.tq_free(Q,I.byteLength),A.tq_free(B,4),!C)throw Error("TurboQuant: encode failed");let w=new Uint8Array(A.memory.buffer,C,g).slice();return A.tq_free(C,g),w}decode(I){let A=this.#I,Q=M(A,I),B=h(A),C=A.tq_decode(this.#A,Q,I.length,B),g=k(A,B);if(A.tq_free(Q,I.length),A.tq_free(B,4),!C)throw Error("TurboQuant: decode failed");let w=new Float32Array(A.memory.buffer,C,g).slice();return A.tq_free_f32(C,g),w}dot(I,A){if(I.length!==this.dim)throw Error(`TurboQuant: expected ${this.dim} dims, got ${I.length}`);let Q=this.#I,B=F(Q,I),C=M(Q,A),g=Q.tq_dot(this.#A,B,this.dim,C,A.length);return Q.tq_free(B,I.byteLength),Q.tq_free(C,A.length),g}destroy(){this.#I.tq_engine_destroy(this.#A)}}var y=i;export{y as default,i as TurboQuant};
2
2
 
3
- //# debugId=E6FC0A5A1D177CEC64756E2164756E21
3
+ //# debugId=69FC388BB53E27F864756E2164756E21
package/dist/index.js.map CHANGED
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/js/turboquant-wasm.generated.ts", "../src/js/index.ts"],
4
4
  "sourcesContent": [
5
- "// AUTO-GENERATED by scripts/embed-wasm.mjs — do not edit\nexport const wasmBase64 = \"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AS8BDCEAIAEoAgQhAiABQRBqJABBACACIAAbCxMAIAEEQCABIAAgAUEAIAEQBgsLNwECfyMAQRBrIgEkACABQQRqQcCBgAggABACIAEvAQwhACABKAIEIQIgAUEQaiQAQQAgAiAAGwsNAEHAgYAIIAAgARABC1cBAn9CAUEgIABBAWtnayIBrYanIQAgAUH//wNxQQJ0QYiZgAhqIgIoAgAiAQRAIAIgAEEQdCABakEEaygCADYCACABDwtBACAAQAAiAEEQdCAAQX9GGwu0AQAjAEEQayIBJAAgASADQR9xOgAPQX8gBEEEaiIAIAAgBEkbIgRBASADdCIAIAAgBEkbIQMgAUEQaiQAAn8CQCACQQRqIgIgACAAIAJJGyIAQQFrZyICQRFrQQxNBEAgA0EBa2ciAA0BQQAMAgtCAUEgIABBg4AEakEQdkEBa2drrYanQgFBICADQYOABGpBEHZBAWtna62Gp0YMAQtCAUEgIAJrrYanQgFBICAAa62Gp0YLCxgAIAFBACAEIAQgAiADIAQgBBAXQQFxGwvEAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBSABQQBOBEBB/g8gBWsgAUgEQEQAAAAAAADwfyAApg8LIAEgBWoiBkEATARAIAIgAa2GIAOEvw8LIAVBAEwEQCACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBiABQQAgBWtKDQFBTCAFayABSgRAIAO/DwsgAkL/////////B4MgBUEASq1CNIaEIAZBASABIAVqayIBIAEgBkobQQFrQT9xrSIDiEIBfEIBiCACeiADUa1Cf4WDvyAApiEACyAADwsgAiAGrUI0hn2/C08BAXwgACAAoiIARIFeDP3//9+/okQAAAAAAADwP6AgACAAoiIBREI6BeFTVaU/oqAgACABoiAARGlQ7uBCk/k+okQnHg/oh8BWv6CioLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAAgAiABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2Cw4AIAC7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\";\n",
5
+ "// AUTO-GENERATED by scripts/embed-wasm.mjs — do not edit\nexport const wasmBase64 = \"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wIGACCAAEAsgAS8BDCEAIAEoAgQhAiABQRBqJABBACACIAAbCxMAIAEEQCABIAAgAUEAIAEQBgsLNwECfyMAQRBrIgEkACABQQRqQcCBgAggABACIAEvAQwhACABKAIEIQIgAUEQaiQAQQAgAiAAGwsNAEHAgYAIIAAgARABC1cBAn9CAUEgIABBAWtnayIBrYanIQAgAUH//wNxQQJ0QYiZgAhqIgIoAgAiAQRAIAIgAEEQdCABakEEaygCADYCACABDwtBACAAQAAiAEEQdCAAQX9GGwu0AQAjAEEQayIBJAAgASADQR9xOgAPQX8gBEEEaiIAIAAgBEkbIgRBASADdCIAIAAgBEkbIQMgAUEQaiQAAn8CQCACQQRqIgIgACAAIAJJGyIAQQFrZyICQRFrQQxNBEAgA0EBa2ciAA0BQQAMAgtCAUEgIABBg4AEakEQdkEBa2drrYanQgFBICADQYOABGpBEHZBAWtna62Gp0YMAQtCAUEgIAJrrYanQgFBICAAa62Gp0YLCxgAIAFBACAEIAQgAiADIAQgBBAXQQFxGwvEAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBSABQQBOBEBB/g8gBWsgAUgEQEQAAAAAAADwfyAApg8LIAEgBWoiBkEATARAIAIgAa2GIAOEvw8LIAVBAEwEQCACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBiABQQAgBWtKDQFBTCAFayABSgRAIAO/DwsgAkL/////////B4MgBUEASq1CNIaEIAZBASABIAVqayIBIAEgBkobQQFrQT9xrSIDiEIBfEIBiCACeiADUa1Cf4WDvyAApiEACyAADwsgAiAGrUI0hn2/C08BAXwgACAAoiIARIFeDP3//9+/okQAAAAAAADwP6AgACAAoiIBREI6BeFTVaU/oqAgACABoiAARGlQ7uBCk/k+okQnHg/oh8BWv6CioLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAAgAiABRLL7bokQEYE/okR3rMtUVVXFv6Ci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\";\n",
6
6
  "/**\n * TurboQuant — WASM SIMD vector compression (3 bits/dim)\n *\n * Architecture:\n * JS Float32Array -> [Zig WASM + relaxed SIMD] -> compressed bytes\n *\n * The Zig engine (turboquant.wasm) compresses vectors using polar + QJL\n * quantization with Gaussian QR rotation, all SIMD-accelerated.\n *\n * Browser requirements:\n * - WASM SIMD128: Chrome 91+, Firefox 89+, Safari 16.4+\n * - WASM Relaxed SIMD: Chrome 114+, Firefox 128+, Safari 18+\n *\n * Usage:\n * import { TurboQuant } from \"turboquant\";\n * const tq = await TurboQuant.init({ dim: 1024, seed: 42 });\n * const compressed = tq.encode(myFloat32Array);\n * const score = tq.dot(queryVector, compressed);\n * tq.destroy();\n */\n\nimport { wasmBase64 } from \"./turboquant-wasm.generated.js\";\n\nfunction decodeBase64(b64: string): Uint8Array {\n if (typeof Buffer !== \"undefined\") {\n const buf = Buffer.from(b64, \"base64\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n const bin = atob(b64);\n const bytes = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i);\n return bytes;\n}\n\n// --- WASM export types ---\n\ninterface TurboQuantExports {\n memory: WebAssembly.Memory;\n tq_engine_create(dim: number, seed: number): number;\n tq_engine_destroy(handle: number): void;\n tq_encode(handle: number, inputPtr: number, dim: number, outLenPtr: number): number;\n tq_decode(handle: number, compPtr: number, compLen: number, outLenPtr: number): number;\n tq_dot(handle: number, queryPtr: number, dim: number, compPtr: number, compLen: number): number;\n tq_alloc(len: number): number;\n tq_free(ptr: number, len: number): void;\n tq_alloc_f32(count: number): number;\n tq_free_f32(ptr: number, count: number): void;\n}\n\n// --- Singleton WASM instance ---\n\nlet wasmInstance: TurboQuantExports | null = null;\nlet wasmReady: Promise<TurboQuantExports> | null = null;\n\nasync function getWasm(): Promise<TurboQuantExports> {\n if (wasmInstance) return wasmInstance;\n if (wasmReady) return wasmReady;\n\n wasmReady = (async () => {\n const bytes = decodeBase64(wasmBase64);\n const module = await WebAssembly.compile(bytes as BufferSource);\n const instance = await WebAssembly.instantiate(module, {});\n wasmInstance = instance.exports as unknown as TurboQuantExports;\n return wasmInstance;\n })();\n\n return wasmReady;\n}\n\n/**\n * Load from an external WASM source instead of the embedded binary.\n * Useful for streaming instantiation in browsers:\n * TurboQuant.init({ dim: 1024, seed: 42, wasm: fetch(\"/turboquant.wasm\") })\n */\nasync function getWasmFrom(\n source: Response | Promise<Response> | BufferSource,\n): Promise<TurboQuantExports> {\n let instance: WebAssembly.Instance;\n if (source instanceof Response || source instanceof Promise) {\n const r = await WebAssembly.instantiateStreaming(source, {});\n instance = r.instance;\n } else {\n const r = await WebAssembly.instantiate(source, {});\n instance = (r as unknown as WebAssembly.WebAssemblyInstantiatedSource).instance;\n }\n wasmInstance = instance.exports as unknown as TurboQuantExports;\n return wasmInstance;\n}\n\n// --- Helpers ---\n\nfunction wasmWriteF32(ex: TurboQuantExports, data: Float32Array): number {\n const ptr = ex.tq_alloc(data.byteLength);\n if (!ptr) throw new Error(\"TurboQuant: WASM alloc failed\");\n new Float32Array(ex.memory.buffer, ptr, data.length).set(data);\n return ptr;\n}\n\nfunction wasmWriteU8(ex: TurboQuantExports, data: Uint8Array): number {\n const ptr = ex.tq_alloc(data.length);\n if (!ptr) throw new Error(\"TurboQuant: WASM alloc failed\");\n new Uint8Array(ex.memory.buffer, ptr, data.length).set(data);\n return ptr;\n}\n\nfunction wasmAllocU32(ex: TurboQuantExports): number {\n const ptr = ex.tq_alloc(4);\n if (!ptr) throw new Error(\"TurboQuant: WASM alloc failed\");\n return ptr;\n}\n\nfunction wasmReadU32(ex: TurboQuantExports, ptr: number): number {\n return new Uint32Array(ex.memory.buffer, ptr, 1)[0];\n}\n\n// --- Public API ---\n\nexport interface TurboQuantConfig {\n /** Vector dimension (must be a power of 2). */\n dim: number;\n /** Deterministic seed for rotation matrix. */\n seed: number;\n /** Optional external WASM source (Response, Promise<Response>, or ArrayBuffer). */\n wasm?: Response | Promise<Response> | BufferSource;\n}\n\nexport class TurboQuant {\n readonly dim: number;\n #handle: number;\n #ex: TurboQuantExports;\n\n private constructor(ex: TurboQuantExports, handle: number, dim: number) {\n this.#ex = ex;\n this.#handle = handle;\n this.dim = dim;\n }\n\n /**\n * Create a TurboQuant engine.\n *\n * ```ts\n * const tq = await TurboQuant.init({ dim: 1024, seed: 42 });\n * ```\n */\n static async init(config: TurboQuantConfig): Promise<TurboQuant> {\n const ex = config.wasm ? await getWasmFrom(config.wasm) : await getWasm();\n const handle = ex.tq_engine_create(config.dim, config.seed);\n if (handle < 0) {\n throw new Error(\n `TurboQuant: failed to create engine (dim=${config.dim}, seed=${config.seed})`,\n );\n }\n return new TurboQuant(ex, handle, config.dim);\n }\n\n /**\n * Compress a float32 vector (~3 bits/dim).\n * @param vector - Float32Array of length `dim`\n * @returns Compressed bytes\n */\n encode(vector: Float32Array): Uint8Array {\n if (vector.length !== this.dim) {\n throw new Error(`TurboQuant: expected ${this.dim} dims, got ${vector.length}`);\n }\n const ex = this.#ex;\n const inputPtr = wasmWriteF32(ex, vector);\n const outLenPtr = wasmAllocU32(ex);\n\n const resultPtr = ex.tq_encode(this.#handle, inputPtr, this.dim, outLenPtr);\n const outLen = wasmReadU32(ex, outLenPtr);\n\n ex.tq_free(inputPtr, vector.byteLength);\n ex.tq_free(outLenPtr, 4);\n\n if (!resultPtr) throw new Error(\"TurboQuant: encode failed\");\n\n const result = new Uint8Array(ex.memory.buffer, resultPtr, outLen).slice();\n ex.tq_free(resultPtr, outLen);\n return result;\n }\n\n /**\n * Decompress back to a float32 vector.\n * @param compressed - Bytes from `encode()`\n * @returns Reconstructed Float32Array\n */\n decode(compressed: Uint8Array): Float32Array {\n const ex = this.#ex;\n const compPtr = wasmWriteU8(ex, compressed);\n const outLenPtr = wasmAllocU32(ex);\n\n const resultPtr = ex.tq_decode(this.#handle, compPtr, compressed.length, outLenPtr);\n const outLen = wasmReadU32(ex, outLenPtr);\n\n ex.tq_free(compPtr, compressed.length);\n ex.tq_free(outLenPtr, 4);\n\n if (!resultPtr) throw new Error(\"TurboQuant: decode failed\");\n\n const result = new Float32Array(ex.memory.buffer, resultPtr, outLen).slice();\n ex.tq_free_f32(resultPtr, outLen);\n return result;\n }\n\n /**\n * Estimate dot product between a query and compressed vector.\n * Faster than decode + manual dot — operates directly on compressed bytes.\n *\n * @param query - Float32Array of length `dim`\n * @param compressed - Bytes from `encode()`\n * @returns Estimated inner product\n */\n dot(query: Float32Array, compressed: Uint8Array): number {\n if (query.length !== this.dim) {\n throw new Error(`TurboQuant: expected ${this.dim} dims, got ${query.length}`);\n }\n const ex = this.#ex;\n const qPtr = wasmWriteF32(ex, query);\n const compPtr = wasmWriteU8(ex, compressed);\n\n const score = ex.tq_dot(\n this.#handle,\n qPtr,\n this.dim,\n compPtr,\n compressed.length,\n );\n\n ex.tq_free(qPtr, query.byteLength);\n ex.tq_free(compPtr, compressed.length);\n\n return score;\n }\n\n /** Release engine resources. Call when done. */\n destroy(): void {\n this.#ex.tq_engine_destroy(this.#handle);\n }\n}\n\nexport default TurboQuant;\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "E6FC0A5A1D177CEC64756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "69FC388BB53E27F864756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,2 +1,2 @@
1
- export declare const wasmBase64 = "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AS8BDCEAIAEoAgQhAiABQRBqJABBACACIAAbCxMAIAEEQCABIAAgAUEAIAEQBgsLNwECfyMAQRBrIgEkACABQQRqQcCBgAggABACIAEvAQwhACABKAIEIQIgAUEQaiQAQQAgAiAAGwsNAEHAgYAIIAAgARABC1cBAn9CAUEgIABBAWtnayIBrYanIQAgAUH//wNxQQJ0QYiZgAhqIgIoAgAiAQRAIAIgAEEQdCABakEEaygCADYCACABDwtBACAAQAAiAEEQdCAAQX9GGwu0AQAjAEEQayIBJAAgASADQR9xOgAPQX8gBEEEaiIAIAAgBEkbIgRBASADdCIAIAAgBEkbIQMgAUEQaiQAAn8CQCACQQRqIgIgACAAIAJJGyIAQQFrZyICQRFrQQxNBEAgA0EBa2ciAA0BQQAMAgtCAUEgIABBg4AEakEQdkEBa2drrYanQgFBICADQYOABGpBEHZBAWtna62Gp0YMAQtCAUEgIAJrrYanQgFBICAAa62Gp0YLCxgAIAFBACAEIAQgAiADIAQgBBAXQQFxGwvEAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBSABQQBOBEBB/g8gBWsgAUgEQEQAAAAAAADwfyAApg8LIAEgBWoiBkEATARAIAIgAa2GIAOEvw8LIAVBAEwEQCACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBiABQQAgBWtKDQFBTCAFayABSgRAIAO/DwsgAkL/////////B4MgBUEASq1CNIaEIAZBASABIAVqayIBIAEgBkobQQFrQT9xrSIDiEIBfEIBiCACeiADUa1Cf4WDvyAApiEACyAADwsgAiAGrUI0hn2/C08BAXwgACAAoiIARIFeDP3//9+/okQAAAAAAADwP6AgACAAoiIBREI6BeFTVaU/oqAgACABoiAARGlQ7uBCk/k+okQnHg/oh8BWv6CioLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAAgAiABRLL7bokQEYE/okR3rMtUVVXFv6CioKC2Cw4AIAC7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";
1
+ export declare const wasmBase64 = "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wIGACCAAEAsgAS8BDCEAIAEoAgQhAiABQRBqJABBACACIAAbCxMAIAEEQCABIAAgAUEAIAEQBgsLNwECfyMAQRBrIgEkACABQQRqQcCBgAggABACIAEvAQwhACABKAIEIQIgAUEQaiQAQQAgAiAAGwsNAEHAgYAIIAAgARABC1cBAn9CAUEgIABBAWtnayIBrYanIQAgAUH//wNxQQJ0QYiZgAhqIgIoAgAiAQRAIAIgAEEQdCABakEEaygCADYCACABDwtBACAAQAAiAEEQdCAAQX9GGwu0AQAjAEEQayIBJAAgASADQR9xOgAPQX8gBEEEaiIAIAAgBEkbIgRBASADdCIAIAAgBEkbIQMgAUEQaiQAAn8CQCACQQRqIgIgACAAIAJJGyIAQQFrZyICQRFrQQxNBEAgA0EBa2ciAA0BQQAMAgtCAUEgIABBg4AEakEQdkEBa2drrYanQgFBICADQYOABGpBEHZBAWtna62Gp0YMAQtCAUEgIAJrrYanQgFBICAAa62Gp0YLCxgAIAFBACAEIAQgAiADIAQgBBAXQQFxGwvEAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBSABQQBOBEBB/g8gBWsgAUgEQEQAAAAAAADwfyAApg8LIAEgBWoiBkEATARAIAIgAa2GIAOEvw8LIAVBAEwEQCACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBiABQQAgBWtKDQFBTCAFayABSgRAIAO/DwsgAkL/////////B4MgBUEASq1CNIaEIAZBASABIAVqayIBIAEgBkobQQFrQT9xrSIDiEIBfEIBiCACeiADUa1Cf4WDvyAApiEACyAADwsgAiAGrUI0hn2/C08BAXwgACAAoiIARIFeDP3//9+/okQAAAAAAADwP6AgACAAoiIBREI6BeFTVaU/oqAgACABoiAARGlQ7uBCk/k+okQnHg/oh8BWv6CioLYLSwECfCAAIAAgAKIiAaIiAiABIAGioiABRKdGO4yHzcY+okR058ri+QAqv6CiIAAgAiABRLL7bokQEYE/okR3rMtUVVXFv6Ci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";
2
2
  //# sourceMappingURL=turboquant-wasm.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turboquant-wasm.generated.d.ts","sourceRoot":"","sources":["../src/js/turboquant-wasm.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,6gkBAA6gkB,CAAC"}
1
+ {"version":3,"file":"turboquant-wasm.generated.d.ts","sourceRoot":"","sources":["../src/js/turboquant-wasm.generated.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,yhkBAAyhkB,CAAC"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turboquant-wasm",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "TurboQuant WASM SIMD vector compression — 3 bits/dim with fast dot product. Requires relaxed SIMD (Chrome 114+, Firefox 128+, Safari 18+, Node 20+)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",