vectorjson 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -3,9 +3,9 @@
3
3
  "sources": ["../src/js/engine-wasm.generated.ts", "../src/js/index.ts"],
4
4
  "sourcesContent": [
5
5
  "// AUTO-GENERATED by scripts/embed-wasm.mjs — do not edit\nexport const wasmBase64 = \"AGFzbQEAAAABdRJgAX8Bf2ACf38Bf2AEf39/fwF/YAV/f39/fwBgA39/fwF/YAZ/f39/f38Bf2ADf39/AGACf38AYAABf2ABfwBgA39+fgBgBH9/f38AYAF7AXtgAn9+AX9gA39+fwF/YAJ/fwF8YAV/f39/fwF/YAN/f34BfwNSUQAGBgcGCAAJBAkHAAAAAAcAAAAAAQEBDAEGAwEABwcGBgoBBwcNDgEABAMLAAQECQEADwEAAQEBAgQIBAQBAggEBgQQBQULAwAEAQIABQUKEQQFAXABCQkFAwEAEwYJAX8BQYCAwAALB70FJgZtZW1vcnkCAAVhbGxvYwAAB2RlYWxsb2MAAw5nZXRfZXJyb3JfY29kZQAFDXN0cmVhbV9jcmVhdGUABg5zdHJlYW1fZGVzdHJveQAHC3N0cmVhbV9mZWVkAAgRc3RyZWFtX2dldF9zdGF0dXMACxVzdHJlYW1fZ2V0X2J1ZmZlcl9wdHIADBRzdHJlYW1fZ2V0X3ZhbHVlX2xlbgANGHN0cmVhbV9nZXRfcmVtYWluaW5nX3B0cgAOGHN0cmVhbV9nZXRfcmVtYWluaW5nX2xlbgAQFXN0cmVhbV9nZXRfYnVmZmVyX2xlbgARFXN0cmVhbV9nZXRfYnVmZmVyX2NhcAASFXN0cmVhbV9yZXNldF9mb3JfbmV4dAATCWRvY19wYXJzZQAUEHByZXByb2Nlc3NfanNvbjUAJw1kb2NfcGFyc2VfZm10AC4IZG9jX2ZyZWUALwtkb2NfZ2V0X3RhZwAwDmRvY19nZXRfbnVtYmVyADITZG9jX3JlYWRfc3RyaW5nX3JhdwAzEWRvY19nZXRfaW5wdXRfcHRyADQNZG9jX2dldF9jb3VudAA1D2RvY19nZXRfc3JjX3BvcwA2E2RvY19nZXRfY2xvc2VfaW5kZXgANw5kb2NfZmluZF9maWVsZAA4DWRvY19iYXRjaF9wdHIAOhJkb2NfYXJyYXlfZWxlbWVudHMAOw9kb2Nfb2JqZWN0X2tleXMAPA5jbGFzc2lmeV9pbnB1dAA9DWdldF92YWx1ZV9lbmQAPxhhdXRvY29tcGxldGVfaW5wdXRfanNvbjUAQBJhdXRvY29tcGxldGVfaW5wdXQAQg5kb2NfZGVlcF9lcXVhbABDFGRvY19leHBvcnRfdGFwZV9zaXpl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KAIAIA4gEmogAfwKAAALIAAoAgAgAWpBIDoAACANQYjhwABqIAAoAgAgDms2AgAgDUGg4cAAaigCACEAIBZBuN/AACkDADcDyAEgFkHUAWogFkHIAWogAEEJbBAZIBYvAdwBIgwNASAWKALUASEBAkAgDUGo4cAAaigCACIORQRAIA1BrOHAAGoiDigCACIMBEAgDSANQaThwABqKAIAIAxBCWxBAiANEBoLIA4gADYCAAwBCyANQazhwABqIhEoAgAhDCANQaThwABqKAIAIQ8gDkEAIAAbIhUEQCABIABBA3RqQarVqtV6IAAbIA8gDEEDdGpBqtWq1XogDBsgFfwKAAALIA5BA3RBACAAGyIVBEAgAUGq1arVeiAAGyAPQarVqtV6IAwbIBX8CgAACyARKAIAIgwEQCANIA1BpOHAAGooAgAgDEEJbEECIA0QGgsgDUGs4cAAaiAANgIAIA1BqOHAAGogDjYCAAsgDUGk4cAAaiABNgIAIA1BoOHAAGogADYCAEEBIQwgDUHk4MAAaigCACIAIABBAXZqQQNqIgAgDUGQ4cAAaigCAEsNACANQZThwABqIgEgABAbQf//A3ENASANQbDhwABqIBI2AgAgDUGo4cAAakEANgIAIA1BmOHAAGpBADYCACANQbThwABqIAEoAgA2AgBCACEEQQAhDyMAQbAKayIOJAAgDkHyADoA5AJBAyENIA4gECgCtAEgECgClAFrQQN2NgLgAgJAIBAoAqgBIBAoAqwBTw0AIBBBpAFqIhcgDkHcAmoQHSAQIBAoArQBQQhqIgE2ArQBIBBB7ABBiAEgECgCdCINIBAoAoQBIhFJG2ooAgAhACANKAIAIRIgECANQQRqIgw2AnQCQAJAAn4CQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgACASaiIALQAAIhJB2wBGIBJB+wBGckUEQCASQSJGDQMgEkHmAEYNASASQe4ARg0CIBJB9ABHDQkgACgAACAALQAEQajZwABqLQAAckH05NWrBkcNEiABQvTUqtWq1arVqn83AwAgECAQKAK0AUEIajYCtAEMEQsgEEHsAGoiGSAQQYgBaiIbIAwgEUkbKAIAIAwoAgBqLQAAIgAgEkECakH/AXFGBEAgASASrSABIBAoApQBa0EDdiIBQQJqrUIIhoT9EiAArSAB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AlBFIANCqn1ZcUUEQEEAIQ0MBAtB/w8hDSADQrQCVQ0DIA5BwAFqIAOnIgFBBHRBoKvAAGopAwAgAiACeSIHhiIFEE8gDikDwAEhBiAOKQPIASIEQn+FQv8Dg1AEQCAOQbABaiABQQR0QairwABqKQMAIAUQTyAEIA4pA7gBIgUgBnwiBiAFVK18IQQLIAQgBEI/iCIIQgl8IgmIIQUgCKcgAUHqpA1sQRB1IAena2pBP2oiAUGCeE4NAkIAIQRBACENIAFBw3dJDQMgBUECIAFrQT9xrYgiBEIBgyAEfCIEQv////////8PViENIARCAYghBAwDCyAAQQN0QdDbwABqKwMAIC2iCyItmiAtIBJBLUYbvQwCC0H/DyABQYAIQf8HIAVC/P////////8AgyAFIAUgCYYgBFEbIAUgBUIDg0IBURsgBSADQgR8QhxUGyAFIAZCAlQbIgRCAYMiBSAEfEL/////////H1YiARtqIg0gDUH+D0siERshDUIAQgAgBCAFgyAEIAWFQgGIfEL/////////9wCDIAEbIBEbIQQLIA5BADYCjAcgDiANNgKIByAOIAQ3A4AHAkACQCAVRQ0AQgAhBUEAIQECQCADQql9Vw0AQf8PIQEgA0K0AlUNACAOQaABaiADpyIBQQR0QaCrwABqKQMAIAJCAXwiBSAFeSIIhiIGEE8gDikDoAEhByAOKQOoASIFQn+FQv8Dg1AEQCAOQZABaiABQQR0QairwABqKQMAIAYQTyAFIA4pA5gBIgUgB3wiByAFVK18IQULIAUgBUI/iCIJQgl8IgqIIQYgCacgCKdBP3MgAUHqpA1sQRB1amoiEUGCeEgEQEIAIQVBACEBIBFBw3dJDQEgBkECIBFrQT9xrYgiBUIBgyAFfCIFQv////////8PViEBIAVCAYghBQwBC0H/DyARQYAIQf8HIAZC/P////////8AgyAGIAYgCoYgBVEbIAYgBkIDg0IBURsgBiADQgR8QhxUGyAGIAdCAlQbIgVCAYMiBiAFfEL/////////H1YiERtqIgEgAUH+D0siFRshAUIAQgAgBSAGgyAFIAaFQgGIfEL/////////9wCDIBEbIBUbIQULIAEgDUYgBCAFUXENACAOQYABaiADpyIBQQR0QaCrwABqKQMAIAIgAnkiBYYiBhBPIA4pA4gBIgRC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QdDbwABqKwMAIC2iCyItmiAtIBJBLUYbvQwCC0H/DyABQYAIQf8HIAVC/P////////8AgyAFIAUgCYYgBFEbIAUgBUIDg0IBURsgBSADQgR8QhxUGyAFIAZCAlQbIgRCAYMiBSAEfEL/////////H1YiARtqIg0gDUH+D0siERshDUIAQgAgBCAFgyAEIAWFQgGIfEL/////////9wCDIAEbIBEbIQQLIA5BADYChAogDiANNgKACiAOIAQ3A/gJAkACQCAVRQ0AQgAhBUEAIQECQCADQql9Vw0AQf8PIQEgA0K0AlUNACAOQZACaiADpyIBQQR0QaCrwABqKQMAIAJCAXwiBSAFeSIIhiIGEE8gDikDkAIhByAOKQOYAiIFQn+FQv8Dg1AEQCAOQYACaiABQQR0QairwABqKQMAIAYQTyAFIA4pA4gCIgUgB3wiByAFVK18IQULIAUgBUI/iCIJQgl8IgqIIQYgCacgCKdBP3MgAUHqpA1sQRB1amoiEUGCeEgEQEIAIQVBACEBIBFBw3dJDQEgBkECIBFrQT9xrYgiBUIBgyAFfCIFQv////////8PViEBIAVCAYghBQwBC0H/DyARQYAIQf8HIAZC/P////////8AgyAGIAYgCoYgBVEbIAYgBkIDg0IBURsgBiADQgR8QhxUGyAGIAdCAlQbIgVCAYMiBiAFfEL/////////H1YiERtqIgEgAUH+D0siFRshAUIAQgAgBSAGgyAFIAaFQgGIfEL/////////9wCDIBEbIBUbIQULIAEgDUYgBCAFUXENACAOQfABaiADpyIBQQR0QaCrwABqKQMAIAIgAnkiBYYiBhBPIA4pA/gBIgRCf4VC/wODUARAIA4pA/ABIQcgDkHgAWogAUEEdEGoq8AAaikDACAGEE8gDikD6AFCf4UgB1StIAR8IQQLIA4gBCAEQgBZIg2thjcD+AkgDiABQeqkDWxBEHUgBadBP3FrIA1rQcz3AWsiDTYCgAogDUEATg0BIA4gADYCpAogDiAPNgKgCiAOIBQ2ApwKIA4gDDYCmAogDiADNwOQCiAOIAI3A4gKIA4gEkEtRjoAqAogDkGICmogDkH4CWoQHiAOKAKACiENCyANQf8PRg0JCyAOKQP4CSANrUI0hiASQS1GrUI/hoSECyECIBAoArQB/QxkAAAAAAAAAAAA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QCAAIAI2AgAgACABNgIIDAELIAQgBjYCFCAEIAc2AhAgBEEYaiAEQRBqIAMQAiAELwEcIgINASAEKAIYIQIgACgCBCIBBEAgAiAAKAIAIAH8CgAACyAFBEAgByAIIAVBAEEAIAYoAgwRAwALIAAgAzYCCCAAIAI2AgALQQAhAgsgBEEgaiQAIAILoAECAX8BfiMAQSBrIgMkACAAAn8CQAJAIAJFBEBC/P///w8hBAwBCyABKQIAIgSnIAJBAkEAIARCIIinKAIAEQIAIgFFrUIghiABrYQhBCABRQ0BCyADIAI2AhQgAyAEPgIQIANBADsBGCADQRBqDAELIAMgBEIgiD0BDCADQQRqCyICKQIANwIAIABBCGogAkEIaigCADYCACADQSBqJAALsAEAIwBBEGsiACQAIAAgA0EfcToADwJAQSAgAkEEaiICQQEgA3QiAyACIANLGyICQQFrZ2siA0H//wNxQQNrIgRBDUkEQCABQgEgA6yGp2pBBGsgBEECdEGcksgAaiICKAIANgIADAELIAFCAUEgIAJBg4AEakEQdkEBa2drIgKthqdBEHRqQQRrIAJB//8DcUECdEGEk8gAaiICKAIANgIACyACIAE2AgAgAEEQaiQAC4cDAQh/IwBBEGsiBiQAAn8CQCAAKAIIIgQgAU8NACAEIQIDQEF/IAJBAXYgAmpBCGoiBSACIAVLGyICIAFJDQALIAAoAgAhCUG838AAKAIAIQdBuN/AACgCACEIAn8CfwJAIARFDQAgBiACQf////8BSzoACCACQYCAgIACTw0AQQAgCCAJIARBA3RBAyACQQN0IgVBACAHKAIIEQUAIgFFDQEaIAFBqtWq1XogBRshAyACQf////8BcUEAIAUbDAILQQALIQNBAAshASADBEAgACADNgIAIAAgATYCCAwBCyAGIAJB/////wFLOgAMAkAgAkGAgICAAk8NAAJAIAJBA3QiAUUEQEF4IQMMAQsgCCABQQNBACAHKAIAEQIAIgNFDQELIAAoAgRBA3QiAQRAIAMgACgCACAB/AoAAAsgBEEDdCIBBEAgCCAJQarVqtV6IAQbIAFBA0EAIAcoAgwRAwALIAAgAjYCCCAAIAM2AgAMAQtBAQwBC0EACyEAIAZBEGokACAACywBAX9B4wAhASAAQf//A3FBD00EfyAAQQFrwUEC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ASAAQQNxQQFrDQQaDAILQgAhDQwFCyAMQgGDIQ0MBAtCAAwBCyAMQgGDCyAMfCIMQv////////8PWARAIAxC/////////weDDAELIAEgBkGMgAJqIgI2AghCAAs3AwAgAkH+D00NAyABQgA3AwAgAUH/DzYCCAwDCyABIAwgDXwiDDcDACABIAxC/////////wdWNgIIDAILQQIhAiAJQQIgCUECSxshByAAQQN0IANqQYgLaiEEIANBoAtqIQACQANAIAIgB0YNASADIA43A5gLIAAgBkHIA/wKAAAgAyAINgLsDiADIAk2AugOIAJBAWohAiAEKQMAIQwgBEEIayEEIAxQDQALIAJBAWshBwsgByAJSSANQgBSciECCyABIAlBBnQgCQR/IANBmAtqIgAgA0EIakHQA/wKAAAgAyAINgLsDiADIAk2AugOIAlBAWtB/wFxQQN0IABqKQMAeadBP3EFQQALayIAQf4HaiIENgIIIAECfiALQv8PgyIMQoAIViAMQoAIUSACcXIgC0L/H4NCgBhRcq0gC0ILiHwiDEL/////////D1gEQCAMQv////////8HgwwBCyABIABB/wdqIgQ2AghCAAs3AwAgBEH+D00NACABQgA3AwAgAUH/DzYCCAsgA0HwDmokAAt2AQJ/IwBBEGsiAyQAIAEoAgQhBCABKAIAIQEgAyACQf////8DSzoADCAAAn5CgICAgBAgAkGAgICABE8NABpC/P///w8gAkECdCICRQ0AGiABIAJBAkEAIAQoAgARAgAiAUWtQiCGIAGthAs3AgAgA0EQaiQACy8BAX8gAkECdCIDBEAgACgCACABQarVqtV6IAIbIANBAkEAIAAoAgQoAgwRAwALCxIAIAAgARAlGiAAIAJBABAmGgs/AQJ/QQEhAgJAIAFBD0sNAANAIAFBAEchAiABRQ0BIAFBAWshASAALQAAIQMgAEEBaiEAIANBMEYNAAsLIAILrgYCDn8DfiMAQYAIayICJAAgAEEIaiEOIAFBA3RBuNPAAGohBQJAA0AgAUGHAU8EQAJAIAAoAtADIgdBO08EQCACQYgEakGY1cAAQdgD/AoAAAwBCyACQYgEakEAQdgD/AsAIAdBA3QiAwRAIAJBiARqIAAgA/wKAAALIAIgBzYC2AcLIABCra7s+M/j9dATECVB//8DcQ0C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IAmnIAFB6qQNbEEQdSAIp2tqQT9qIgFBgnhODQJCACEFQQAhDiABQcN3SQ0DIAZBAiABa0E/ca2IIgVCAYMgBXwiBUL/////////D1YhDiAFQgGIIQUMAwsgAEEDdEHQ28AAaisDACAtogsiLZogLSASQS1GG70MAgtB/w8gAUGACEH/ByAGQvz/////////AIMgBiAGIAqGIAVRGyAGIAZCA4NCAVEbIAYgBEIEfEIcVBsgBiAHQgJUGyIFQgGDIgYgBXxC/////////x9WIgEbaiIOIA5B/g9LIhQbIQ5CAEIAIAUgBoMgBSAGhUIBiHxC//////////cAgyABGyAUGyEFCyARQQA2ApQKIBEgDjYCkAogESAFNwOICgJAAkAgE0UNAEIAIQZBACEBAkAgBEKpfVcNAEH/DyEBIARCtAJVDQAgEUGgAWogBKciAUEEdEGgq8AAaikDACADQgF8IgYgBnkiCYYiBxBPIBEpA6ABIQggESkDqAEiBkJ/hUL/A4NQBEAgEUGQAWogAUEEdEGoq8AAaikDACAHEE8gBiARKQOYASIGIAh8IgggBlStfCEGCyAGIAZCP4giCkIJfCILiCEHIAqnIAmnQT9zIAFB6qQNbEEQdWpqIhRBgnhIBEBCACEGQQAhASAUQcN3SQ0BIAdBAiAUa0E/ca2IIgZCAYMgBnwiBkL/////////D1YhASAGQgGIIQYMAQtB/w8gFEGACEH/ByAHQvz/////////AIMgByAHIAuGIAZRGyAHIAdCA4NCAVEbIAcgBEIEfEIcVBsgByAIQgJUGyIGQgGDIgcgBnxC/////////x9WIhQbaiIBIAFB/g9LIhMbIQFCAEIAIAYgB4MgBiAHhUIBiHxC//////////cAgyAUGyATGyEGCyABIA5GIAUgBlFxDQAgEUGAAWogBKciAUEEdEGgq8AAaikDACADIAN5IgaGIgcQTyARKQOIASIFQn+FQv8Dg1AEQCARKQOAASEIIBFB8ABqIAFBBHRBqKvAAGopAwAgBxBPIBEpA3hCf4UgCFStIAV8IQULIBEgBSAFQgBZIg6thjcDiAogESABQeqkDWxBEHUgBqdBP3FrIA5rQcz3AWsiDjYCkAogDkEATg0BIBEgADYCtAogESAPNgKwCiARIBA2AqwKIBEgDTYCqAogESAENwOgCiAR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d0kNASAHQQIgFGtBP3GtiCIGQgGDIAZ8IgZC/////////w9WIQEgBkIBiCEGDAELQf8PIBRBgAhB/wcgB0L8/////////wCDIAcgByALhiAGURsgByAHQgODQgFRGyAHIARCBHxCHFQbIAcgCEICVBsiBkIBgyIHIAZ8Qv////////8fViIUG2oiASABQf4PSyITGyEBQgBCACAGIAeDIAYgB4VCAYh8Qv/////////3AIMgFBsgExshBgsgASAORiAFIAZRcQ0AIBFB8AFqIASnIgFBBHRBoKvAAGopAwAgAyADeSIGhiIHEE8gESkD+AEiBUJ/hUL/A4NQBEAgESkD8AEhCCARQeABaiABQQR0QairwABqKQMAIAcQTyARKQPoAUJ/hSAIVK0gBXwhBQsgESAFIAVCAFkiDq2GNwO4DSARIAFB6qQNbEEQdSAGp0E/cWsgDmtBzPcBayIONgLADSAOQQBODQEgESAANgLkDSARIA82AuANIBEgEDYC3A0gESANNgLYDSARIAQ3A9ANIBEgAzcDyA0gESASQS1GOgDoDSARQcgNaiARQbgNahAeIBEoAsANIQ4LIA5B/w9GDQcLIBEpA7gNIA6tQjSGIBJBLUatQj+GhIQLIQMgFSgCAP0MZAAAAAAAAAAAAAAAAAAAACAD/R4B/QsDACAVIBUoAgBBEGo2AgAMAgtBECEOIAAtAAFB4QBHDW8gAC0AAkHOAEcNbyAALQADQajZwABqLQAADW8gFSgCAEGw28AA/QAEAP0LAwAgFSAVKAIAQRBqNgIADAELIABBAWohFiAALQABIgFByQBGBEBBECEOIBYoAABBydyZywZHDW8gACgABSAALQAJQajZwABqLQAAckHu0tHLB0cNbyAVKAIAQZDdwAD9AAQA/QsDACAVIBUoAgBBEGo2AgAMAQsgAUEwayINQf8BcUEJSw0BIA2tQv8BgyEDAn4CQAJAAnwCQAJAAkACQAJ/AkACfgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn4CQAJAAkACQAJAAkACQCAALQACIg5BMGsiDUH/AXFBCU0EQCADQgp+IA2tQv8Bg3whAyAALQADIg9BMGsiDUH/AXFBCUsNASADQgp+IA2tQv8Bg3whAyAALQAEIg9BMGsiDUH/AXFBCUsNAiAD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iCIJQgl8IgqIIQYgCacgAEHqpA1sQRB1IAina2pBP2oiAEGCeE4NAkIAIQVBACEOIABBw3dJDQMgBkECIABrQT9xrYgiBUIBgyAFfCIFQv////////8PViEOIAVCAYghBQwDCyAAQQN0QdDbwABqKwMAIC2iC71CgICAgICAgICAf4UMAgtB/w8gAEGACEH/ByAGQvz/////////AIMgBiAGIAqGIAVRGyAGIAZCA4NCAVEbIAYgBEIEfEIcVBsgBiAHQgJUGyIFQgGDIgYgBXxC/////////x9WIgAbaiIBIAFB/g9LIgEbIQ5CAEIAIAUgBoMgBSAGhUIBiHxC//////////cAgyAAGyABGyEFCyARQQA2AtwKIBEgDjYC2AogESAFNwPQCgJAAkAgDUUNAEIAIQZBACEBAkAgBEKpfVcNAEH/DyEBIARCtAJVDQAgEUGAA2ogBKciAEEEdEGgq8AAaikDACADQgF8IgYgBnkiCYYiBxBPIBEpA4ADIQggESkDiAMiBkJ/hUL/A4NQBEAgEUHwAmogAEEEdEGoq8AAaikDACAHEE8gBiARKQP4AiIGIAh8IgggBlStfCEGCyAGIAZCP4giCkIJfCILiCEHIAqnIAmnQT9zIABB6qQNbEEQdWpqIgBBgnhIBEBCACEGQQAhASAAQcN3SQ0BIAdBAiAAa0E/ca2IIgZCAYMgBnwiBkL/////////D1YhASAGQgGIIQYMAQtB/w8gAEGACEH/ByAHQvz/////////AIMgByAHIAuGIAZRGyAHIAdCA4NCAVEbIAcgBEIEfEIcVBsgByAIQgJUGyIGQgGDIgcgBnxC/////////x9WIgAbaiIBIAFB/g9LIg0bIQFCAEIAIAYgB4MgBiAHhUIBiHxC//////////cAgyAAGyANGyEGCyABIA5GIAUgBlFxDQAgEUHgAmogBKciAEEEdEGgq8AAaikDACADIAN5IgaGIgcQTyARKQPoAiIFQn+FQv8Dg1AEQCARKQPgAiEIIBFB0AJqIABBBHRBqKvAAGopAwAgBxBPIBEpA9gCQn+FIAhUrSAFfCEFCyARIAUgBUIAWSIBrYY3A9AKIBEgAEHqpA1sQRB1IAanQT9xayABa0HM9wFrIg42AtgKIA5BAE4NASARIA82AvwKIBEgEDYC+AogESATNgL0CiARIBY2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6cAACwSqqqqqAEGg6cAACwj/////qqqqqgBBsenAAAsBBABB0OnAAAsQqqqqqgAAAAAAAAAA/////wBBwOrAAAsEqqqqqgBB2OrAAAsEqqqqqgBB8OrAAAsI/////6qqqqoAQYHrwAALAQQAQaDrwAALEKqqqqoAAAAAAAAAAP////8AQZDswAALBKqqqqoAQajswAALBKqqqqoAQcDswAALCP////+qqqqqAEHR7MAACwEEAEHw7MAACxCqqqqqAAAAAAAAAAD/////AEHg7cAACwSqqqqqAEH47cAACwSqqqqqAEGQ7sAACwj/////qqqqqgBBoe7AAAsBBABBwO7AAAsQqqqqqgAAAAAAAAAA/////wBBsO/AAAsEqqqqqgBByO/AAAsEqqqqqgBB4O/AAAsI/////6qqqqoAQfHvwAALAQQAQZDwwAALEKqqqqoAAAAAAAAAAP////8AQYDxwAALBKqqqqoAQZjxwAALBKqqqqoAQbDxwAALCP////+qqqqqAEHB8cAACwEEAEHg8cAACxCqqqqqAAAAAAAAAAD/////AEHQ8sAACwSqqqqqAEHo8sAACwSqqqqqAEGA88AACwj/////qqqqqgBBkfPAAAsBBABBsPPAAAsQqqqqqgAAAAAAAAAA/////wBBoPTAAAsEqqqqqgBBuPTAAAsEqqqqqgBB0PTAAAsI/////6qqqqoAQeH0wAALAQQAQYD1wAALEKqqqqoAAAAAAAAAAP////8AQfD1wAALBKqqqqoAQYj2wAALBKqqqqoAQaD2wAALCP////+qqqqqAEGx9sAACwEEAEHQ9sAACxCqqqqqAAAAAAAAAAD/////AEHA98AACwSqqqqqAEHY98AACwSqqqqqAEHw98AACwj/////qqqqqgBBgfjAAAsBBABBoPjAAAsQqqqqqgAAAAAAAAAA/////wBBkPnAAAsEqqqqqgBBqPnAAAsEqqqqqgBBwPnAAAsI/////6qqqqoAQdH5wAALAQQAQfD5wAALEKqqqqoAAAAAAAAAAP////8AQeD6wAALBKqqqqoAQfj6wAALBKqqqqoAQZD7wAALCP////+qqqqqAEGh+8AACwEEAEHA+8AACxCqqqqqAAAAAAAAAAD/////AEGw/MAACwSqqqqqAEHI/MAACwSqqqqqAEHg/MAACwj/////qqqqqgBB8fzAAAsBBABBkP3AAAsQqqqqqgAAAAAAAAAA/////wBBgP7AAAsEqqqqqgBBmP7AAAsEqqqqqgBBsP7AAAsI/////6qqqqoAQcH+wAALAQQAQeD+wAALEKqqqqoAAAAAAAAAAP////8AQdD/wAALBKqqqqoAQej/wAALBKqqqqoAQYCAwQALCP////+qqqqqAEGRgMEACwEEAEGwgMEACxCqqqqqAAAAAAAAAAD/////AEGggcEACwSqqqqqAEG4gcEACwSqqqqqAEHQgcEACwj/////qqqqqgBB4YHBAAsBBABBgILBAAsQqqqqqgAAAAAAAAAA/////wBB8ILBAAsEqqqqqgBBiIPBAAsEqqqqqgBBoIPBAAsI/////6qqqqoAQbGDwQALAQQAQdCDwQALEKqqqqoAAAAAAAAAAP////8AQcCEwQALBKqqqqoAQdiEwQALBKqqqqoAQfCEwQALCP////+qqqqqAEGBhcEACwEEAEGghcEACxCqqqqqAAAAAAAAAAD/////AEGQhsEACwSqqqqqAEGohsEACwSqqqqqAEHAhsEACwj/////qqqqqgBB0YbBAAsBBABB8IbBAAsQqqqqqgAAAAAAAAAA/////wBB4IfBAAsEqqqqqgBB+IfBAAsEqqqqqgBBkIjBAAsI/////6qqqqoAQaGIwQALAQQAQcCIwQALEKqqqqoAAAAAAAAAAP////8AQbCJwQALBKqqqqoAQciJwQALBKqqqqoAQeCJwQALCP////+qqqqqAEHxicEACwEEAEGQisEACxCqqqqqAAAAAAAAAAD/////AEGAi8EACwSqqqqqAEGYi8EACwSqqqqqAEGwi8EACwj/////qqqqqgBBwYvBAAsBBABB4IvBAAsQqqqqqgAAAAAAAAAA/////wBB0IzBAAsEqqqqqgBB6IzBAAsEqqqqqgBBgI3BAAsI/////6qqqqoAQZGNwQALAQQAQbCNwQALEKqqqqoAAAAAAAAAAP////8AQaCOwQALBKqqqqoAQbiOwQALBKqqqqoAQdCOwQALCP////+qqqqqAEHhjsEACwEEAEGAj8EACxCqqqqqAAAAAAAAAAD/////AEHwj8EACwSqqqqqAEGIkMEACwSqqqqqAEGgkMEACwj/////qqqqqgBBsZDBAAsBBABB0JDBAAsQqqqqqgAAAAAAAAAA/////wBBwJHBAAsEqqqqqgBB2JHBAAsEqqqqqgBB8JHBAAsI/////6qqqqoAQYGSwQALAQQAQaCSwQALEKqqqqoAAAAAAAAAAP////8AQZCTwQALBKqqqqoAQaiTwQALBKqqqqoAQcCTwQALCP////+qqqqqAEHRk8EACwEEAEHwk8EACxCqqqqqAAAAAAAAAAD/////AEHglMEACwSqqqqqAEH4lMEACwSqqqqqAEGQlcEACwj/////qqqqqgBBoZXBAAsBBABBwJXBAAsQqqqqqgAAAAAAAAAA/////wBBsJbBAAsEqqqqqgBByJbBAAsEqqqqqgBB4JbBAAsI/////6qqqqoAQfGWwQALAQQAQZCXwQALEKqqqqoAAAAAAAAAAP////8AQYCYwQALBKqqqqoAQZiYwQALBKqqqqoAQbCYwQALCP////+qqqqqAEHBmMEACwEEAEHgmMEACxCqqqqqAAAAAAAAAAD/////AEHQmcEACwSqqqqqAEHomcEACwSqqqqqAEGAmsEACwj/////qqqqqgBBkZrBAAsBBABBsJrBAAsQqqqqqgAAAAAAAAAA/////wBBoJvBAAsEqqqqqgBBuJvBAAsEqqqqqgBB0JvBAAsI/////6qqqqoAQeGbwQALAQQAQYCcwQALEKqqqqoAAAAAAAAAAP////8AQfCcwQALBKqqqqoAQYidwQALBKqqqqoAQaCdwQALCP////+qqqqqAEGxncEACwEEAEHQncEACxCqqqqqAAAAAAAAAAD/////AEHAnsEACwSqqqqqAEHYnsEACwSqqqqqAEHwnsEACwj/////qqqqqgBBgZ/BAAsBBABBoJ/BAAsQqqqqqgAAAAAAAAAA/////wBBkKDBAAsEqqqqqgBBqKDBAAsEqqqqqgBBwKDBAAsI/////6qqqqoAQdGgwQALAQQAQfCgwQALEKqqqqoAAAAAAAAAAP////8AQeChwQALBKqqqqoAQfihwQALBKqqqqoAQZCiwQALCP////+qqqqqAEGhosEACwEEAEHAosEACxCqqqqqAAAAAAAAAAD/////AEGwo8EACwSqqqqqAEHIo8EACwSqqqqqAEHgo8EACwj/////qqqqqgBB8aPBAAsBBABBkKTBAAsQqqqqqgAAAAAAAAAA/////wBBgKXBAAsEqqqqqgBBmKXBAAsEqqqqqgBBsKXBAAsI/////6qqqqoAQcGlwQALAQQAQeClwQALEKqqqqoAAAAAAAAAAP////8AQdCmwQALBKqqqqoAQeimwQALBKqqqqoAQYCnwQALCP////+qqqqqAEGRp8EACwEEAEGwp8EACxCqqqqqAAAAAAAAAAD/////AEGgqMEACwSqqqqqAEG4qMEACwSqqqqqAEHQqMEACwj/////qqqqqgBB4ajBAAsBBABBgKnBAAsQqqqqqgAAAAAAAAAA/////wBB8KnBAAsEqqqqqgBBiKrBAAsEqqqqqgBBoKrBAAsI/////6qqqqoAQbGqwQALAQQAQdCqwQALEKqqqqoAAAAAAAAAAP////8AQcCrwQALBKqqqqoAQdirwQALBKqqqqoAQfCrwQALCP////+qqqqqAEGBrMEACwEEAEGgrMEACxCqqqqqAAAAAAAAAAD/////AEGQrcEACwSqqqqqAEGorcEACwSqqqqqAEHArcEACwj/////qqqqqgBB0a3BAAsBBABB8K3BAAsQqqqqqgAAAAAAAAAA/////wBB4K7BAAsEqqqqqgBB+K7BAAsEqqqqqgBBkK/BAAsI/////6qqqqoAQaGvwQALAQQAQcCvwQALEKqqqqoAAAAAAAAAAP////8AQbCwwQALBKqqqqoAQciwwQALBKqqqqoAQeCwwQALCP////+qqqqqAEHxsMEACwEEAEGQscEACxCqqqqqAAAAAAAAAAD/////AEGAssEACwSqqqqqAEGYssEACwSqqqqqAEGwssEACwj/////qqqqqgBBwbLBAAsBBABB4LLBAAsQqqqqqgAAAAAAAAAA/////wBB0LPBAAsEqqqqqgBB6LPBAAsEqqqqqgBBgLTBAAsI/////6qqqqoAQZG0wQALAQQAQbC0wQALEKqqqqoAAAAAAAAAAP////8AQaC1wQALBKqqqqoAQbi1wQALBKqqqqoAQdC1wQALCP////+qqqqqAEHhtcEACwEEAEGAtsEACxCqqqqqAAAAAAAAAAD/////AEHwtsEACwSqqqqqAEGIt8EACwSqqqqqAEGgt8EACwj/////qqqqqgBBsbfBAAsBBABB0LfBAAsQqqqqqgAAAAAAAAAA/////wBBwLjBAAsEqqqqqgBB2LjBAAsEqqqqqgBB8LjBAAsI/////6qqqqoAQYG5wQALAQQAQaC5wQALEKqqqqoAAAAAAAAAAP////8AQZC6wQALBKqqqqoAQai6wQALBKqqqqoAQcC6wQALCP////+qqqqqAEHRusEACwEEAEHwusEACxCqqqqqAAAAAAAAAAD/////AEHgu8EACwSqqqqqAEH4u8EACwSqqqqqAEGQvMEACwj/////qqqqqgBBobzBAAsBBABBwLzBAAsQqqqqqgAAAAAAAAAA/////wBBsL3BAAsEqqqqqgBByL3BAAsEqqqqqgBB4L3BAAsI/////6qqqqoAQfG9wQALAQQAQZC+wQALEKqqqqoAAAAAAAAAAP////8AQYC/wQALBKqqqqoAQZi/wQALBKqqqqoAQbC/wQALCP////+qqqqqAEHBv8EACwEEAEHgv8EACxCqqqqqAAAAAAAAAAD/////AEHQwMEACwSqqqqqAEHowMEACwSqqqqqAEGAwcEACwj/////qqqqqgBBkcHBAAsBBABBsMHBAAsQqqqqqgAAAAAAAAAA/////wBBoMLBAAsEqqqqqgBBuMLBAAsEqqqqqgBB0MLBAAsI/////6qqqqoAQeHCwQALAQQAQYDDwQALEKqqqqoAAAAAAAAAAP////8AQfDDwQALBKqqqqoAQYjEwQALBKqqqqoAQaDEwQALCP////+qqqqqAEGxxMEACwEEAEHQxMEACxCqqqqqAAAAAAAAAAD/////AEHAxcEACwSqqqqqAEHYxcEACwSqqqqqAEHwxcEACwj/////qqqqqgBBgcbBAAsBBABBoMbBAAsQqqqqqgAAAAAAAAAA/////wBBkMfBAAsEqqqqqgBBqMfBAAsEqqqqqgBBwMfBAAsI/////6qqqqoAQdHHwQALAQQAQfDHwQALEKqqqqoAAAAAAAAAAP////8AQeDIwQALBKqqqqoAQfjIwQALBKqqqqoAQZDJwQALCP////+qqqqqAEGhycEACwEEAEHAycEACxCqqqqqAAAAAAAAAAD/////AEGwysEACwSqqqqqAEHIysEACwSqqqqqAEHgysEACwj/////qqqqqgBB8crBAAsBBABBkMvBAAsQqqqqqgAAAAAAAAAA/////wBBgMzBAAsEqqqqqgBBmMzBAAsEqqqqqgBBsMzBAAsI/////6qqqqoAQcHMwQALAQQAQeDMwQALEKqqqqoAAAAAAAAAAP////8AQdDNwQALBKqqqqoAQejNwQALBKqqqqoAQYDOwQALCP////+qqqqqAEGRzsEACwEEAEGwzsEACxCqqqqqAAAAAAAAAAD/////AEGgz8EACwSqqqqqAEG4z8EACwSqqqqqAEHQz8EACwj/////qqqqqgBB4c/BAAsBBABBgNDBAAsQqqqqqgAAAAAAAAAA/////wBB8NDBAAsEqqqqqgBBiNHBAAsEqqqqqgBBoNHBAAsI/////6qqqqoAQbHRwQALAQQAQdDRwQALEKqqqqoAAAAAAAAAAP////8AQcDSwQALBKqqqqoAQdjSwQALBKqqqqoAQfDSwQALCP////+qqqqqAEGB08EACwEEAEGg08EACxCqqqqqAAAAAAAAAAD/////AEGQ1MEACwSqqqqqAEGo1MEACwSqqqqqAEHA1MEACwj/////qqqqqgBB0dTBAAsBBABB8NTBAAsQqqqqqgAAAAAAAAAA/////wBB4NXBAAsEqqqqqgBB+NXBAAsEqqqqqgBBkNbBAAsI/////6qqqqoAQaHWwQALAQQAQcDWwQALEKqqqqoAAAAAAAAAAP////8AQbDXwQALBKqqqqoAQcjXwQALBKqqqqoAQeDXwQALCP////+qqqqqAEHx18EACwEEAEGQ2MEACxCqqqqqAAAAAAAAAAD/////AEGA2cEACwSqqqqqAEGY2cEACwSqqqqqAEGw2cEACwj/////qqqqqgBBwdnBAAsBBABB4NnBAAsQqqqqqgAAAAAAAAAA/////wBB0NrBAAsEqqqqqgBB6NrBAAsEqqqqqgBBgNvBAAsI/////6qqqqoAQZHbwQALAQQAQbDbwQALEKqqqqoAAAAAAAAAAP////8AQaDcwQALBKqqqqoAQbjcwQALBKqqqqoAQdDcwQALCP////+qqqqqAEHh3MEACwEEAEGA3cEACxCqqqqqAAAAAAAAAAD/////AEHw3cEACwSqqqqqAEGI3sEACwSqqqqqAEGg3sEACwj/////qqqqqgBBsd7BAAsBBABB0N7BAAsQqqqqqgAAAAAAAAAA/////wBBwN/BAAsEqqqqqgBB2N/BAAsEqqqqqgBB8N/BAAsI/////6qqqqoAQYHgwQALAQQAQaDgwQALEKqqqqoAAAAAAAAAAP////8AQZDhwQALBKqqqqoAQajhwQALBKqqqqoAQcDhwQALCP////+qqqqqAEHR4cEACwEEAEHw4cEACxCqqqqqAAAAAAAAAAD/////AEHg4sEACwSqqqqqAEH44sEACwSqqqqqAEGQ48EACwj/////qqqqqgBBoePBAAsBBABBwOPBAAsQqqqqqgAAAAAAAAAA/////wBBsOTBAAsEqqqqqgBByOTBAAsEqqqqqgBB4OTBAAsI/////6qqqqoAQfHkwQALAQQAQZDlwQALEKqqqqoAAAAAAAAAAP////8AQYDmwQALBKqqqqoAQZjmwQALBKqqqqoAQbDmwQALCP////+qqqqqAEHB5sEACwEEAEHg5sEACxCqqqqqAAAAAAAAAAD/////AEHQ58EACwSqqqqqAEHo58EACwSqqqqqAEGA6MEACwj/////qqqqqgBBkejBAAsBBABBsOjBAAsQqqqqqgAAAAAAAAAA/////wBBoOnBAAsEqqqqqgBBuOnBAAsEqqqqqgBB0OnBAAsI/////6qqqqoAQeHpwQALAQQAQYDqwQALEKqqqqoAAAAAAAAAAP////8AQfDqwQALBKqqqqoAQYjrwQALBKqqqqoAQaDrwQALCP////+qqqqqAEGx68EACwEEAEHQ68EACxCqqqqqAAAAAAAAAAD/////AEHA7MEACwSqqqqqAEHY7MEACwSqqqqqAEHw7MEACwj/////qqqqqgBBge3BAAsBBABBoO3BAAsQqqqqqgAAAAAAAAAA/////wBBkO7BAAsEqqqqqgBBqO7BAAsEqqqqqgBBwO7BAAsI/////6qqqqoAQdHuwQALAQQAQfDuwQALEKqqqqoAAAAAAAAAAP////8AQeDvwQALBKqqqqoAQfjvwQALBKqqqqoAQZDwwQALCP////+qqqqqAEGh8MEACwEEAEHA8MEACxCqqqqqAAAAAAAAAAD/////AEGw8cEACwSqqqqqAEHI8cEACwSqqqqqAEHg8cEACwj/////qqqqqgBB8fHBAAsBBABBkPLBAAsQqqqqqgAAAAAAAAAA/////wBBgPPBAAsEqqqqqgBBmPPBAAsEqqqqqgBBsPPBAAsI/////6qqqqoAQcHzwQALAQQAQeDzwQALEKqqqqoAAAAAAAAAAP////8AQdD0wQALBKqqqqoAQej0wQALBKqqqqoAQYD1wQALCP////+qqqqqAEGR9cEACwEEAEGw9cEACxCqqqqqAAAAAAAAAAD/////AEGg9sEACwSqqqqqAEG49sEACwSqqqqqAEHQ9sEACwj/////qqqqqgBB4fbBAAsBBABBgPfBAAsQqqqqqgAAAAAAAAAA/////wBB8PfBAAsEqqqqqgBBiPjBAAsEqqqqqgBBoPjBAAsI/////6qqqqoAQbH4wQALAQQAQdD4wQALEKqqqqoAAAAAAAAAAP////8AQcD5wQALBKqqqqoAQdj5wQALBKqqqqoAQfD5wQALCP////+qqqqqAEGB+sEACwEEAEGg+sEACxCqqqqqAAAAAAAAAAD/////AEGQ+8EACwSqqqqqAEGo+8EACwSqqqqqAEHA+8EACwj/////qqqqqgBB0fvBAAsBBABB8PvBAAsQqqqqqgAAAAAAAAAA/////wBB4PzBAAsEqqqqqgBB+PzBAAsEqqqqqgBBkP3BAAsI/////6qqqqoAQaH9wQALAQQAQcD9wQALEKqqqqoAAAAAAAAAAP////8AQbD+wQALBKqqqqoAQcj+wQALBKqqqqoAQeD+wQALCP////+qqqqqAEHx/sEACwEEAEGQ/8EACxCqqqqqAAAAAAAAAAD/////AEGAgMIACwSqqqqqAEGYgMIACwSqqqqqAEGwgMIACwj/////qqqqqgBBwYDCAAsBBABB4IDCAAsQqqqqqgAAAAAAAAAA/////wBB0IHCAAsEqqqqqgBB6IHCAAsEqqqqqgBBgILCAAsI/////6qqqqoAQZGCwgALAQQAQbCCwgALEKqqqqoAAAAAAAAAAP////8AQaCDwgALBKqqqqoAQbiDwgALBKqqqqoAQdCDwgALCP////+qqqqqAEHhg8IACwEEAEGAhMIACxCqqqqqAAAAAAAAAAD/////AEHwhMIACwSqqqqqAEGIhcIACwSqqqqqAEGghcIACwj/////qqqqqgBBsYXCAAsBBABB0IXCAAsQqqqqqgAAAAAAAAAA/////wBBwIbCAAsEqqqqqgBB2IbCAAsEqqqqqgBB8IbCAAsI/////6qqqqoAQYGHwgALAQQAQaCHwgALEKqqqqoAAAAAAAAAAP////8AQZCIwgALBKqqqqoAQaiIwgALBKqqqqoAQcCIwgALCP////+qqqqqAEHRiMIACwEEAEHwiMIACxCqqqqqAAAAAAAAAAD/////AEHgicIACwSqqqqqAEH4icIACwSqqqqqAEGQisIACwj/////qqqqqgBBoYrCAAsBBABBwIrCAAsQqqqqqgAAAAAAAAAA/////wBBsIvCAAsEqqqqqgBByIvCAAsEqqqqqgBB4IvCAAsI/////6qqqqoAQfGLwgALAQQAQZCMwgALEKqqqqoAAAAAAAAAAP////8AQYCNwgALBKqqqqoAQZiNwgALBKqqqqoAQbCNwgALCP////+qqqqqAEHBjcIACwEEAEHgjcIACxCqqqqqAAAAAAAAAAD/////AEHQjsIACwSqqqqqAEHojsIACwSqqqqqAEGAj8IACwj/////qqqqqgBBkY/CAAsBBABBsI/CAAsQqqqqqgAAAAAAAAAA/////wBBoJDCAAsEqqqqqgBBuJDCAAsEqqqqqgBB0JDCAAsI/////6qqqqoAQeGQwgALAQQAQYCRwgALEKqqqqoAAAAAAAAAAP////8AQfCRwgALBKqqqqoAQYiSwgALBKqqqqoAQaCSwgALCP////+qqqqqAEGxksIACwEEAEHQksIACxCqqqqqAAAAAAAAAAD/////AEHAk8IACwSqqqqqAEHYk8IACwSqqqqqAEHwk8IACwj/////qqqqqgBBgZTCAAsBBABBoJTCAAsQqqqqqgAAAAAAAAAA/////wBBkJXCAAsEqqqqqgBBqJXCAAsEqqqqqgBBwJXCAAsI/////6qqqqoAQdGVwgALAQQAQfCVwgALEKqqqqoAAAAAAAAAAP////8AQeCWwgALBKqqqqoAQfiWwgALBKqqqqoAQZCXwgALCP////+qqqqqAEGhl8IACwEEAEHAl8IACxCqqqqqAAAAAAAAAAD/////AEGwmMIACwSqqqqqAEHImMIACwSqqqqqAEHgmMIACwj/////qqqqqgBB8ZjCAAsBBABBkJnCAAsQqqqqqgAAAAAAAAAA/////wBBgJrCAAsEqqqqqgBBmJrCAAsEqqqqqgBBsJrCAAsI/////6qqqqoAQcGawgALAQQAQeCawgALEKqqqqoAAAAAAAAAAP////8AQdCbwgALBKqqqqoAQeibwgALBKqqqqoAQYCcwgALCP////+qqqqqAEGRnMIACwEEAEGwnMIACxCqqqqqAAAAAAAAAAD/////AEGgncIACwSqqqqqAEG4ncIACwSqqqqqAEHQncIACwj/////qqqqqgBB4Z3CAAsBBABBgJ7CAAsQqqqqqgAAAAAAAAAA/////wBB8J7CAAsEqqqqqgBBiJ/CAAsEqqqqqgBBoJ/CAAsI/////6qqqqoAQbGfwgALAQQAQdCfwgALEKqqqqoAAAAAAAAAAP////8AQcCgwgALBKqqqqoAQdigwgALBKqqqqoAQfCgwgALCP////+qqqqqAEGBocIACwEEAEGgocIACxCqqqqqAAAAAAAAAAD/////AEGQosIACwSqqqqqAEGoosIACwSqqqqqAEHAosIACwj/////qqqqqgBB0aLCAAsBBABB8KLCAAsQqqqqqgAAAAAAAAAA/////wBB4KPCAAsEqqqqqgBB+KPCAAsEqqqqqgBBkKTCAAsI/////6qqqqoAQaGkwgALAQQAQcCkwgALEKqqqqoAAAAAAAAAAP////8AQbClwgALBKqqqqoAQcilwgALBKqqqqoAQeClwgALCP////+qqqqqAEHxpcIACwEEAEGQpsIACxCqqqqqAAAAAAAAAAD/////AEGAp8IACwSqqqqqAEGYp8IACwSqqqqqAEGwp8IACwj/////qqqqqgBBwafCAAsBBABB4KfCAAsQqqqqqgAAAAAAAAAA/////wBB0KjCAAsEqqqqqgBB6KjCAAsEqqqqqgBBgKnCAAsI/////6qqqqoAQZGpwgALAQQAQbCpwgALEKqqqqoAAAAAAAAAAP////8AQaCqwgALBKqqqqoAQbiqwgALBKqqqqoAQdCqwgALCP////+qqqqqAEHhqsIACwEEAEGAq8IACxCqqqqqAAAAAAAAAAD/////AEHwq8IACwSqqqqqAEGIrMIACwSqqqqqAEGgrMIACwj/////qqqqqgBBsazCAAsBBABB0KzCAAsQqqqqqgAAAAAAAAAA/////wBBwK3CAAsEqqqqqgBB2K3CAAsEqqqqqgBB8K3CAAsI/////6qqqqoAQYGuwgALAQQAQaCuwgALEKqqqqoAAAAAAAAAAP////8AQZCvwgALBKqqqqoAQaivwgALBKqqqqoAQcCvwgALCP////+qqqqqAEHRr8IACwEEAEHwr8IACxCqqqqqAAAAAAAAAAD/////AEHgsMIACwSqqqqqAEH4sMIACwSqqqqqAEGQscIACwj/////qqqqqgBBobHCAAsBBABBwLHCAAsQqqqqqgAAAAAAAAAA/////wBBsLLCAAsEqqqqqgBByLLCAAsEqqqqqgBB4LLCAAsI/////6qqqqoAQfGywgALAQQAQZCzwgALEKqqqqoAAAAAAAAAAP////8AQYC0wgALBKqqqqoAQZi0wgALBKqqqqoAQbC0wgALCP////+qqqqqAEHBtMIACwEEAEHgtMIACxCqqqqqAAAAAAAAAAD/////AEHQtcIACwSqqqqqAEHotcIACwSqqqqqAEGAtsIACwj/////qqqqqgBBkbbCAAsBBABBsLbCAAsQqqqqqgAAAAAAAAAA/////wBBoLfCAAsEqqqqqgBBuLfCAAsEqqqqqgBB0LfCAAsI/////6qqqqoAQeG3wgALAQQAQYC4wgALEKqqqqoAAAAAAAAAAP////8AQfC4wgALBKqqqqoAQYi5wgALBKqqqqoAQaC5wgALCP////+qqqqqAEGxucIACwEEAEHQucIACxCqqqqqAAAAAAAAAAD/////AEHAusIACwSqqqqqAEHYusIACwSqqqqqAEHwusIACwj/////qqqqqgBBgbvCAAsBBABBoLvCAAsQqqqqqgAAAAAAAAAA/////wBBkLzCAAsEqqqqqgBBqLzCAAsEqqqqqgBBwLzCAAsI/////6qqqqoAQdG8wgALAQQAQfC8wgALEKqqqqoAAAAAAAAAAP////8AQeC9wgALBKqqqqoAQfi9wgALBKqqqqoAQZC+wgALCP////+qqqqqAEGhvsIACwEEAEHAvsIACxCqqqqqAAAAAAAAAAD/////AEGwv8IACwSqqqqqAEHIv8IACwSqqqqqAEHgv8IACwj/////qqqqqgBB8b/CAAsBBABBkMDCAAsQqqqqqgAAAAAAAAAA/////wBBgMHCAAsEqqqqqgBBmMHCAAsEqqqqqgBBsMHCAAsI/////6qqqqoAQcHBwgALAQQAQeDBwgALEKqqqqoAAAAAAAAAAP////8AQdDCwgALBKqqqqoAQejCwgALBKqqqqoAQYDDwgALCP////+qqqqqAEGRw8IACwEEAEGww8IACxCqqqqqAAAAAAAAAAD/////AEGgxMIACwSqqqqqAEG4xMIACwSqqqqqAEHQxMIACwj/////qqqqqgBB4cTCAAsBBABBgMXCAAsQqqqqqgAAAAAAAAAA/////wBB8MXCAAsEqqqqqgBBiMbCAAsEqqqqqgBBoMbCAAsI/////6qqqqoAQbHGwgALAQQAQdDGwgALEKqqqqoAAAAAAAAAAP////8AQcDHwgALBKqqqqoAQdjHwgALBKqqqqoAQfDHwgALCP////+qqqqqAEGByMIACwEEAEGgyMIACxCqqqqqAAAAAAAAAAD/////AEGQycIACwSqqqqqAEGoycIACwSqqqqqAEHAycIACwj/////qqqqqgBB0cnCAAsBBABB8MnCAAsQqqqqqgAAAAAAAAAA/////wBB4MrCAAsEqqqqqgBB+MrCAAsEqqqqqgBBkMvCAAsI/////6qqqqoAQaHLwgALAQQAQcDLwgALEKqqqqoAAAAAAAAAAP////8AQbDMwgALBKqqqqoAQcjMwgALBKqqqqoAQeDMwgALCP////+qqqqqAEHxzMIACwEEAEGQzcIACxCqqqqqAAAAAAAAAAD/////AEGAzsIACwSqqqqqAEGYzsIACwSqqqqqAEGwzsIACwj/////qqqqqgBBwc7CAAsBBABB4M7CAAsQqqqqqgAAAAAAAAAA/////wBB0M/CAAsEqqqqqgBB6M/CAAsEqqqqqgBBgNDCAAsI/////6qqqqoAQZHQwgALAQQAQbDQwgALEKqqqqoAAAAAAAAAAP////8AQaDRwgALBKqqqqoAQbjRwgALBKqqqqoAQdDRwgALCP////+qqqqqAEHh0cIACwEEAEGA0sIACxCqqqqqAAAAAAAAAAD/////AEHw0sIACwSqqqqqAEGI08IACwSqqqqqAEGg08IACwj/////qqqqqgBBsdPCAAsBBABB0NPCAAsQqqqqqgAAAAAAAAAA/////wBBwNTCAAsEqqqqqgBB2NTCAAsEqqqqqgBB8NTCAAsI/////6qqqqoAQYHVwgALAQQAQaDVwgALEKqqqqoAAAAAAAAAAP////8AQZDWwgALBKqqqqoAQajWwgALBKqqqqoAQcDWwgALCP////+qqqqqAEHR1sIACwEEAEHw1sIACxCqqqqqAAAAAAAAAAD/////AEHg18IACwSqqqqqAEH418IACwSqqqqqAEGQ2MIACwj/////qqqqqgBBodjCAAsBBABBwNjCAAsQqqqqqgAAAAAAAAAA/////wBBsNnCAAsEqqqqqgBByNnCAAsEqqqqqgBB4NnCAAsI/////6qqqqoAQfHZwgALAQQAQZDawgALEKqqqqoAAAAAAAAAAP////8AQYDbwgALBKqqqqoAQZjbwgALBKqqqqoAQbDbwgALCP////+qqqqqAEHB28IACwEEAEHg28IACxCqqqqqAAAAAAAAAAD/////AEHQ3MIACwSqqqqqAEHo3MIACwSqqqqqAEGA3cIACwj/////qqqqqgBBkd3CAAsBBABBsN3CAAsQqqqqqgAAAAAAAAAA/////wBBoN7CAAsEqqqqqgBBuN7CAAsEqqqqqgBB0N7CAAsI/////6qqqqoAQeHewgALAQQAQYDfwgALEKqqqqoAAAAAAAAAAP////8AQfDfwgALBKqqqqoAQYjgwgALBKqqqqoAQaDgwgALCP////+qqqqqAEGx4MIACwEEAEHQ4MIACxCqqqqqAAAAAAAAAAD/////AEHA4cIACwSqqqqqAEHY4cIACwSqqqqqAEHw4cIACwj/////qqqqqgBBgeLCAAsBBABBoOLCAAsQqqqqqgAAAAAAAAAA/////wBBkOPCAAsEqqqqqgBBqOPCAAsEqqqqqgBBwOPCAAsI/////6qqqqoAQdHjwgALAQQAQfDjwgALEKqqqqoAAAAAAAAAAP////8AQeDkwgALBKqqqqoAQfjkwgALBKqqqqoAQZDlwgALCP////+qqqqqAEGh5cIACwEEAEHA5cIACxCqqqqqAAAAAAAAAAD/////AEGw5sIACwSqqqqqAEHI5sIACwSqqqqqAEHg5sIACwj/////qqqqqgBB8ebCAAsBBABBkOfCAAsQqqqqqgAAAAAAAAAA/////wBBgOjCAAsEqqqqqgBBmOjCAAsEqqqqqgBBsOjCAAsI/////6qqqqoAQcHowgALAQQAQeDowgALEKqqqqoAAAAAAAAAAP////8AQdDpwgALBKqqqqoAQejpwgALBKqqqqoAQYDqwgALCP////+qqqqqAEGR6sIACwEEAEGw6sIACxCqqqqqAAAAAAAAAAD/////AEGg68IACwSqqqqqAEG468IACwSqqqqqAEHQ68IACwj/////qqqqqgBB4evCAAsBBABBgOzCAAsQqqqqqgAAAAAAAAAA/////wBB8OzCAAsEqqqqqgBBiO3CAAsEqqqqqgBBoO3CAAsI/////6qqqqoAQbHtwgALAQQAQdDtwgALEKqqqqoAAAAAAAAAAP////8AQcDuwgALBKqqqqoAQdjuwgALBKqqqqoAQfDuwgALCP////+qqqqqAEGB78IACwEEAEGg78IACxCqqqqqAAAAAAAAAAD/////AEGQ8MIACwSqqqqqAEGo8MIACwSqqqqqAEHA8MIACwj/////qqqqqgBB0fDCAAsBBABB8PDCAAsQqqqqqgAAAAAAAAAA/////wBB4PHCAAsEqqqqqgBB+PHCAAsEqqqqqgBBkPLCAAsI/////6qqqqoAQaHywgALAQQAQcDywgALEKqqqqoAAAAAAAAAAP////8AQbDzwgALBKqqqqoAQcjzwgALBKqqqqoAQeDzwgALCP////+qqqqqAEHx88IACwEEAEGQ9MIACxCqqqqqAAAAAAAAAAD/////AEGA9cIACwSqqqqqAEGY9cIACwSqqqqqAEGw9cIACwj/////qqqqqgBBwfXCAAsBBABB4PXCAAsQqqqqqgAAAAAAAAAA/////wBB0PbCAAsEqqqqqgBB6PbCAAsEqqqqqgBBgPfCAAsI/////6qqqqoAQZH3wgALAQQAQbD3wgALEKqqqqoAAAAAAAAAAP////8AQaD4wgALBKqqqqoAQbj4wgALBKqqqqoAQdD4wgALCP////+qqqqqAEHh+MIACwEEAEGA+cIACxCqqqqqAAAAAAAAAAD/////AEHw+cIACwSqqqqqAEGI+sIACwSqqqqqAEGg+sIACwj/////qqqqqgBBsfrCAAsBBABB0PrCAAsQqqqqqgAAAAAAAAAA/////wBBwPvCAAsEqqqqqgBB2PvCAAsEqqqqqgBB8PvCAAsI/////6qqqqoAQYH8wgALAQQAQaD8wgALEKqqqqoAAAAAAAAAAP////8AQZD9wgALBKqqqqoAQaj9wgALBKqqqqoAQcD9wgALCP////+qqqqqAEHR/cIACwEEAEHw/cIACxCqqqqqAAAAAAAAAAD/////AEHg/sIACwSqqqqqAEH4/sIACwSqqqqqAEGQ/8IACwj/////qqqqqgBBof/CAAsBBABBwP/CAAsQqqqqqgAAAAAAAAAA/////wBBsIDDAAsEqqqqqgBByIDDAAsEqqqqqgBB4IDDAAsI/////6qqqqoAQfGAwwALAQQAQZCBwwALEKqqqqoAAAAAAAAAAP////8AQYCCwwALBKqqqqoAQZiCwwALBKqqqqoAQbCCwwALCP////+qqqqqAEHBgsMACwEEAEHggsMACxCqqqqqAAAAAAAAAAD/////AEHQg8MACwSqqqqqAEHog8MACwSqqqqqAEGAhMMACwj/////qqqqqgBBkYTDAAsBBABBsITDAAsQqqqqqgAAAAAAAAAA/////wBBoIXDAAsEqqqqqgBBuIXDAAsEqqqqqgBB0IXDAAsI/////6qqqqoAQeGFwwALAQQAQYCGwwALEKqqqqoAAAAAAAAAAP////8AQfCGwwALBKqqqqoAQYiHwwALBKqqqqoAQaCHwwALCP////+qqqqqAEGxh8MACwEEAEHQh8MACxCqqqqqAAAAAAAAAAD/////AEHAiMMACwSqqqqqAEHYiMMACwSqqqqqAEHwiMMACwj/////qqqqqgBBgYnDAAsBBABBoInDAAsQqqqqqgAAAAAAAAAA/////wBBkIrDAAsEqqqqqgBBqIrDAAsEqqqqqgBBwIrDAAsI/////6qqqqoAQdGKwwALAQQAQfCKwwALEKqqqqoAAAAAAAAAAP////8AQeCLwwALBKqqqqoAQfiLwwALBKqqqqoAQZCMwwALCP////+qqqqqAEGhjMMACwEEAEHAjMMACxCqqqqqAAAAAAAAAAD/////AEGwjcMACwSqqqqqAEHIjcMACwSqqqqqAEHgjcMACwj/////qqqqqgBB8Y3DAAsBBABBkI7DAAsQqqqqqgAAAAAAAAAA/////wBBgI/DAAsEqqqqqgBBmI/DAAsEqqqqqgBBsI/DAAsI/////6qqqqoAQcGPwwALAQQAQeCPwwALEKqqqqoAAAAAAAAAAP////8AQdCQwwALBKqqqqoAQeiQwwALBKqqqqoAQYCRwwALCP////+qqqqqAEGRkcMACwEEAEGwkcMACxCqqqqqAAAAAAAAAAD/////AEGgksMACwSqqqqqAEG4ksMACwSqqqqqAEHQksMACwj/////qqqqqgBB4ZLDAAsBBABBgJPDAAsQqqqqqgAAAAAAAAAA/////wBB8JPDAAsEqqqqqgBBiJTDAAsEqqqqqgBBoJTDAAsI/////6qqqqoAQbGUwwALAQQAQdCUwwALEKqqqqoAAAAAAAAAAP////8AQcCVwwALBKqqqqoAQdiVwwALBKqqqqoAQfCVwwALCP////+qqqqqAEGBlsMACwEEAEGglsMACxCqqqqqAAAAAAAAAAD/////AEGQl8MACwSqqqqqAEGol8MACwSqqqqqAEHAl8MACwj/////qqqqqgBB0ZfDAAsBBABB8JfDAAsQqqqqqgAAAAAAAAAA/////wBB4JjDAAsEqqqqqgBB+JjDAAsEqqqqqgBBkJnDAAsI/////6qqqqoAQaGZwwALAQQAQcCZwwALEKqqqqoAAAAAAAAAAP////8AQbCawwALBKqqqqoAQciawwALBKqqqqoAQeCawwALCP////+qqqqqAEHxmsMACwEEAEGQm8MACxCqqqqqAAAAAAAAAAD/////AEGAnMMACwSqqqqqAEGYnMMACwSqqqqqAEGwnMMACwj/////qqqqqgBBwZzDAAsBBABB4JzDAAsQqqqqqgAAAAAAAAAA/////wBB0J3DAAsEqqqqqgBB6J3DAAsEqqqqqgBBgJ7DAAsI/////6qqqqoAQZGewwALAQQAQbCewwALEKqqqqoAAAAAAAAAAP////8AQaCfwwALBKqqqqoAQbifwwALBKqqqqoAQdCfwwALCP////+qqqqqAEHhn8MACwEEAEGAoMMACxCqqqqqAAAAAAAAAAD/////AEHwoMMACwSqqqqqAEGIocMACwSqqqqqAEGgocMACwj/////qqqqqgBBsaHDAAsBBABB0KHDAAsQqqqqqgAAAAAAAAAA/////wBBwKLDAAsEqqqqqgBB2KLDAAsEqqqqqgBB8KLDAAsI/////6qqqqoAQYGjwwALAQQAQaCjwwALEKqqqqoAAAAAAAAAAP////8AQZCkwwALBKqqqqoAQaikwwALBKqqqqoAQcCkwwALCP////+qqqqqAEHRpMMACwEEAEHwpMMACxCqqqqqAAAAAAAAAAD/////AEHgpcMACwSqqqqqAEH4pcMACwSqqqqqAEGQpsMACwj/////qqqqqgBBoabDAAsBBABBwKbDAAsQqqqqqgAAAAAAAAAA/////wBBsKfDAAsEqqqqqgBByKfDAAsEqqqqqgBB4KfDAAsI/////6qqqqoAQfGnwwALAQQAQZCowwALEKqqqqoAAAAAAAAAAP////8AQYCpwwALBKqqqqoAQZipwwALBKqqqqoAQbCpwwALCP////+qqqqqAEHBqcMACwEEAEHgqcMACxCqqqqqAAAAAAAAAAD/////AEHQqsMACwSqqqqqAEHoqsMACwSqqqqqAEGAq8MACwj/////qqqqqgBBkavDAAsBBABBsKvDAAsQqqqqqgAAAAAAAAAA/////wBBoKzDAAsEqqqqqgBBuKzDAAsEqqqqqgBB0KzDAAsI/////6qqqqoAQeGswwALAQQAQYCtwwALEKqqqqoAAAAAAAAAAP////8AQfCtwwALBKqqqqoAQYiuwwALBKqqqqoAQaCuwwALCP////+qqqqqAEGxrsMACwEEAEHQrsMACxCqqqqqAAAAAAAAAAD/////AEHAr8MACwSqqqqqAEHYr8MACwSqqqqqAEHwr8MACwj/////qqqqqgBBgbDDAAsBBABBoLDDAAsQqqqqqgAAAAAAAAAA/////wBBkLHDAAsEqqqqqgBBqLHDAAsEqqqqqgBBwLHDAAsI/////6qqqqoAQdGxwwALAQQAQfCxwwALEKqqqqoAAAAAAAAAAP////8AQeCywwALBKqqqqoAQfiywwALBKqqqqoAQZCzwwALCP////+qqqqqAEGhs8MACwEEAEHAs8MACxCqqqqqAAAAAAAAAAD/////AEGwtMMACwSqqqqqAEHItMMACwSqqqqqAEHgtMMACwj/////qqqqqgBB8bTDAAsBBABBkLXDAAsQqqqqqgAAAAAAAAAA/////wBBgLbDAAsEqqqqqgBBmLbDAAsEqqqqqgBBsLbDAAsI/////6qqqqoAQcG2wwALAQQAQeC2wwALEKqqqqoAAAAAAAAAAP////8AQdC3wwALBKqqqqoAQei3wwALBKqqqqoAQYC4wwALCP////+qqqqqAEGRuMMACwEEAEGwuMMACxCqqqqqAAAAAAAAAAD/////AEGgucMACwSqqqqqAEG4ucMACwSqqqqqAEHQucMACwj/////qqqqqgBB4bnDAAsBBABBgLrDAAsQqqqqqgAAAAAAAAAA/////wBB8LrDAAsEqqqqqgBBiLvDAAsEqqqqqgBBoLvDAAsI/////6qqqqoAQbG7wwALAQQAQdC7wwALEKqqqqoAAAAAAAAAAP////8AQcC8wwALBKqqqqoAQdi8wwALBKqqqqoAQfC8wwALCP////+qqqqqAEGBvcMACwEEAEGgvcMACxCqqqqqAAAAAAAAAAD/////AEGQvsMACwSqqqqqAEGovsMACwSqqqqqAEHAvsMACwj/////qqqqqgBB0b7DAAsBBABB8L7DAAsQqqqqqgAAAAAAAAAA/////wBB4L/DAAsEqqqqqgBB+L/DAAsEqqqqqgBBkMDDAAsI/////6qqqqoAQaHAwwALAQQAQcDAwwALEKqqqqoAAAAAAAAAAP////8AQbDBwwALBKqqqqoAQcjBwwALBKqqqqoAQeDBwwALCP////+qqqqqAEHxwcMACwEEAEGQwsMACxCqqqqqAAAAAAAAAAD/////AEGAw8MACwSqqqqqAEGYw8MACwSqqqqqAEGww8MACwj/////qqqqqgBBwcPDAAsBBABB4MPDAAsQqqqqqgAAAAAAAAAA/////wBB0MTDAAsEqqqqqgBB6MTDAAsEqqqqqgBBgMXDAAsI/////6qqqqoAQZHFwwALAQQAQbDFwwALEKqqqqoAAAAAAAAAAP////8AQaDGwwALBKqqqqoAQbjGwwALBKqqqqoAQdDGwwALCP////+qqqqqAEHhxsMACwEEAEGAx8MACxCqqqqqAAAAAAAAAAD/////AEHwx8MACwSqqqqqAEGIyMMACwSqqqqqAEGgyMMACwj/////qqqqqgBBscjDAAsBBABB0MjDAAsQqqqqqgAAAAAAAAAA/////wBBwMnDAAsEqqqqqgBB2MnDAAsEqqqqqgBB8MnDAAsI/////6qqqqoAQYHKwwALAQQAQaDKwwALEKqqqqoAAAAAAAAAAP////8AQZDLwwALBKqqqqoAQajLwwALBKqqqqoAQcDLwwALCP////+qqqqqAEHRy8MACwEEAEHwy8MACxCqqqqqAAAAAAAAAAD/////AEHgzMMACwSqqqqqAEH4zMMACwSqqqqqAEGQzcMACwj/////qqqqqgBBoc3DAAsBBABBwM3DAAsQqqqqqgAAAAAAAAAA/////wBBsM7DAAsEqqqqqgBByM7DAAsEqqqqqgBB4M7DAAsI/////6qqqqoAQfHOwwALAQQAQZDPwwALEKqqqqoAAAAAAAAAAP////8AQYDQwwALBKqqqqoAQZjQwwALBKqqqqoAQbDQwwALCP////+qqqqqAEHB0MMACwEEAEHg0MMACxCqqqqqAAAAAAAAAAD/////AEHQ0cMACwSqqqqqAEHo0cMACwSqqqqqAEGA0sMACwj/////qqqqqgBBkdLDAAsBBABBsNLDAAsQqqqqqgAAAAAAAAAA/////wBBoNPDAAsEqqqqqgBBuNPDAAsEqqqqqgBB0NPDAAsI/////6qqqqoAQeHTwwALAQQAQYDUwwALEKqqqqoAAAAAAAAAAP////8AQfDUwwALBKqqqqoAQYjVwwALBKqqqqoAQaDVwwALCP////+qqqqqAEGx1cMACwEEAEHQ1cMACxCqqqqqAAAAAAAAAAD/////AEHA1sMACwSqqqqqAEHY1sMACwSqqqqqAEHw1sMACwj/////qqqqqgBBgdfDAAsBBABBoNfDAAsQqqqqqgAAAAAAAAAA/////wBBkNjDAAsEqqqqqgBBqNjDAAsEqqqqqgBBwNjDAAsI/////6qqqqoAQdHYwwALAQQAQfDYwwALEKqqqqoAAAAAAAAAAP////8AQeDZwwALBKqqqqoAQfjZwwALBKqqqqoAQZDawwALCP////+qqqqqAEGh2sMACwEEAEHA2sMACxCqqqqqAAAAAAAAAAD/////AEGw28MACwSqqqqqAEHI28MACwSqqqqqAEHg28MACwj/////qqqqqgBB8dvDAAsBBABBkNzDAAsQqqqqqgAAAAAAAAAA/////wBBgN3DAAsEqqqqqgBBmN3DAAsEqqqqqgBBsN3DAAsI/////6qqqqoAQcHdwwALAQQAQeDdwwALEKqqqqoAAAAAAAAAAP////8AQdDewwALBKqqqqoAQejewwALBKqqqqoAQYDfwwALCP////+qqqqqAEGR38MACwEEAEGw38MACxCqqqqqAAAAAAAAAAD/////AEGg4MMACwSqqqqqAEG44MMACwSqqqqqAEHQ4MMACwj/////qqqqqgBB4eDDAAsBBABBgOHDAAsQqqqqqgAAAAAAAAAA/////wBB8OHDAAsEqqqqqgBBiOLDAAsEqqqqqgBBoOLDAAsI/////6qqqqoAQbHiwwALAQQAQdDiwwALEKqqqqoAAAAAAAAAAP////8AQcDjwwALBKqqqqoAQdjjwwALBKqqqqoAQfDjwwALCP////+qqqqqAEGB5MMACwEEAEGg5MMACxCqqqqqAAAAAAAAAAD/////AEGQ5cMACwSqqqqqAEGo5cMACwSqqqqqAEHA5cMACwj/////qqqqqgBB0eXDAAsBBABB8OXDAAsQqqqqqgAAAAAAAAAA/////wBB4ObDAAsEqqqqqgBB+ObDAAsEqqqqqgBBkOfDAAsI/////6qqqqoAQaHnwwALAQQAQcDnwwALEKqqqqoAAAAAAAAAAP////8AQbDowwALBKqqqqoAQcjowwALBKqqqqoAQeDowwALCP////+qqqqqAEHx6MMACwEEAEGQ6cMACxCqqqqqAAAAAAAAAAD/////AEGA6sMACwSqqqqqAEGY6sMACwSqqqqqAEGw6sMACwj/////qqqqqgBBwerDAAsBBABB4OrDAAsQqqqqqgAAAAAAAAAA/////wBB0OvDAAsEqqqqqgBB6OvDAAsEqqqqqgBBgOzDAAsI/////6qqqqoAQZHswwALAQQAQbDswwALEKqqqqoAAAAAAAAAAP////8AQaDtwwALBKqqqqoAQbjtwwALBKqqqqoAQdDtwwALCP////+qqqqqAEHh7cMACwEEAEGA7sMACxCqqqqqAAAAAAAAAAD/////AEHw7sMACwSqqqqqAEGI78MACwSqqqqqAEGg78MACwj/////qqqqqgBBse/DAAsBBABB0O/DAAsQqqqqqgAAAAAAAAAA/////wBBwPDDAAsEqqqqqgBB2PDDAAsEqqqqqgBB8PDDAAsI/////6qqqqoAQYHxwwALAQQAQaDxwwALEKqqqqoAAAAAAAAAAP////8AQZDywwALBKqqqqoAQajywwALBKqqqqoAQcDywwALCP////+qqqqqAEHR8sMACwEEAEHw8sMACxCqqqqqAAAAAAAAAAD/////AEHg88MACwSqqqqqAEH488MACwSqqqqqAEGQ9MMACwj/////qqqqqgBBofTDAAsBBABBwPTDAAsQqqqqqgAAAAAAAAAA/////wBBsPXDAAsEqqqqqgBByPXDAAsEqqqqqgBB4PXDAAsI/////6qqqqoAQfH1wwALAQQAQZD2wwALEKqqqqoAAAAAAAAAAP////8AQYD3wwALBKqqqqoAQZj3wwALBKqqqqoAQbD3wwALCP////+qqqqqAEHB98MACwEEAEHg98MACxCqqqqqAAAAAAAAAAD/////AEHQ+MMACwSqqqqqAEHo+MMACwSqqqqqAEGA+cMACwj/////qqqqqgBBkfnDAAsBBABBsPnDAAsQqqqqqgAAAAAAAAAA/////wBBoPrDAAsEqqqqqgBBuPrDAAsEqqqqqgBB0PrDAAsI/////6qqqqoAQeH6wwALAQQAQYD7wwALEKqqqqoAAAAAAAAAAP////8AQfD7wwALBKqqqqoAQYj8wwALBKqqqqoAQaD8wwALCP////+qqqqqAEGx/MMACwEEAEHQ/MMACxCqqqqqAAAAAAAAAAD/////AEHA/cMACwSqqqqqAEHY/cMACwSqqqqqAEHw/cMACwj/////qqqqqgBBgf7DAAsBBABBoP7DAAsQqqqqqgAAAAAAAAAA/////wBBkP/DAAsEqqqqqgBBqP/DAAsEqqqqqgBBwP/DAAsI/////6qqqqoAQdH/wwALAQQAQfD/wwALEKqqqqoAAAAAAAAAAP////8=\";\n",
6
- "/**\n * VectorJSON — SIMD-accelerated JSON parser\n *\n * Architecture:\n * JS bytes → [Zig + zimdjson SIMD] → tape → lazy Proxy over doc slots\n *\n * The Zig engine (engine.wasm) parses JSON bytes into an internal tape format\n * using SIMD-accelerated algorithms from zimdjson.\n *\n * Primary parse path: doc-slot (tape-direct navigation via Zig exports).\n * FinalizationRegistry auto-frees doc slots when the Proxy is GC'd.\n * Users CAN call .free() to release immediately if desired.\n */\n\nimport { wasmBase64 } from \"./engine-wasm.generated.js\";\n\nfunction decodeBase64(b64: string): Uint8Array {\n if (typeof Buffer !== \"undefined\")\n return new Uint8Array(Buffer.from(b64, \"base64\").buffer);\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// --- Types ---\n\nexport type ParseStatus = \"complete\" | \"complete_early\" | \"incomplete\" | \"invalid\";\nexport type FeedStatus = \"incomplete\" | \"complete\" | \"error\" | \"end_early\";\n\n/** Result shape compatible with Vercel AI SDK's parsePartialJson */\nexport type PartialJsonState =\n | \"successful-parse\"\n | \"repaired-parse\"\n | \"failed-parse\";\n\n/** Discriminated union — narrows `value` type when you check `state`. */\nexport type PartialJsonResult<T = unknown> =\n | { value: T; state: \"successful-parse\" }\n | { value: T | undefined; state: \"repaired-parse\" }\n | { value: undefined; state: \"failed-parse\" };\n\n/** Recursively make all properties optional — matches Vercel AI SDK's DeepPartial. */\nexport type DeepPartial<T> =\n T extends object\n ? T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : { [K in keyof T]?: DeepPartial<T[K]> }\n : T;\n\nexport interface StreamingParser<T = unknown> {\n /** Feed a chunk of bytes to the parser. Only NEW bytes are scanned (O(chunk_size)). */\n feed(chunk: Uint8Array | string): FeedStatus;\n /** Get the parsed value. Returns autocompleted partial value while incomplete, final value when complete; throws on parse errors. */\n getValue(): T | undefined;\n /** Get remaining bytes after end_early status (for NDJSON). */\n getRemaining(): Uint8Array | null;\n /** Get the current status without feeding data. */\n getStatus(): FeedStatus;\n /** Copy the accumulated stream buffer into a new ArrayBuffer (for Worker postMessage transfer). */\n getRawBuffer(): ArrayBuffer | null;\n /** Export parsed tape + input as a packed ArrayBuffer for zero-parse transfer. */\n getTapeBuffer(): ArrayBuffer | null;\n /** Reset for next value in JSONL mode. Shifts remaining bytes, resets state. Returns remaining byte count. */\n resetForNext(): number;\n /** Destroy the parser and free all resources. */\n destroy(): void;\n /** Async iteration over partial values when a source was provided. */\n [Symbol.asyncIterator](): AsyncIterableIterator<T | undefined>;\n}\n\n/** Zod-like schema type for createParser options. */\nexport type ZodLike<T> = { safeParse: (v: unknown) => { success: boolean; data?: T } };\n\n/** Format for JSON parsing. */\nexport type JsonFormat = \"json\" | \"jsonl\" | \"json5\";\n\n/** Options for createParser when using an options object. */\nexport interface CreateParserOptions<T = unknown> {\n /** Schema for validation on complete values. */\n schema?: ZodLike<T>;\n /** Stream source — makes the parser async-iterable via for-await. */\n source?: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string>;\n /** Format: \"json\" (default), \"jsonl\" (newline-delimited), or \"json5\" (relaxed). */\n format?: JsonFormat;\n}\n\nexport interface ParseResult {\n status: ParseStatus;\n value?: unknown;\n remaining?: Uint8Array;\n error?: string;\n /** Check if a value (object/array) from an incomplete parse is fully present in the original input. */\n isComplete(value: unknown): boolean;\n /** Full materialization via JSON.parse — fastest way to get a plain JS object tree. */\n toJSON(): unknown;\n}\n\n// --- EventParser Types ---\n\n/** Compiled path segment: string = key, number = index, '*' = wildcard */\nexport type PathSegment = string | number;\n\nexport interface PathEvent {\n type: 'value';\n path: string;\n value: unknown;\n offset: number;\n length: number;\n index?: number;\n key?: string;\n matches: (string | number)[];\n}\n\nexport interface DeltaEvent {\n type: 'delta';\n path: string;\n value: string;\n offset: number;\n length: number;\n}\n\nexport interface EventParser {\n on(path: string, callback: (event: PathEvent) => void): EventParser;\n on<T>(path: string, schema: { safeParse: (v: unknown) => { success: boolean; data?: T } }, callback: (event: PathEvent & { value: T }) => void): EventParser;\n onDelta(path: string, callback: (event: DeltaEvent) => void): EventParser;\n onText(callback: (text: string) => void): EventParser;\n off(path: string, callback?: Function): EventParser;\n feed(chunk: string | Uint8Array): FeedStatus;\n getValue(): unknown | undefined;\n getRemaining(): Uint8Array | null;\n getStatus(): FeedStatus;\n /** Copy the accumulated stream buffer into a new ArrayBuffer (for Worker postMessage transfer). */\n getRawBuffer(): ArrayBuffer | null;\n /** Export parsed tape + input as a packed ArrayBuffer for zero-parse transfer. */\n getTapeBuffer(): ArrayBuffer | null;\n destroy(): void;\n /** Async iteration over partial values when a source was provided. */\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown | undefined>;\n}\n\nexport interface VectorJSON {\n /**\n * Parse a JSON string or Uint8Array into a value.\n * Primitives (null, boolean, number) are returned directly as JS values.\n * Objects and arrays return Proxy objects — values materialize only when accessed.\n * Call .free() on the result to release resources immediately, or let\n * FinalizationRegistry handle it automatically when the Proxy is GC'd.\n */\n parse(input: string | Uint8Array): ParseResult;\n /**\n * Create a streaming parser for incremental JSON parsing.\n * Feed chunks as they arrive; only new bytes are processed per call.\n * Total work is O(N) regardless of how many chunks — no re-parsing.\n *\n * ```ts\n * const parser = vj.createParser();\n * for await (const chunk of stream) {\n * const status = parser.feed(chunk);\n * if (status === \"complete\" || status === \"end_early\") {\n * const value = parser.getValue();\n * // use value...\n * parser.destroy();\n * break;\n * }\n * }\n * ```\n */\n createParser(): StreamingParser;\n /**\n * Create a streaming parser with schema validation.\n * `getValue()` returns `undefined` when the schema rejects the value (same as incomplete).\n * T is auto-inferred from the schema — no manual `<T>` needed.\n *\n * ```ts\n * const parser = vj.createParser(z.object({ name: z.string() }));\n * parser.feed('{\"name\":\"Alice\"}');\n * parser.getValue(); // { name: string } | undefined\n * ```\n */\n createParser<T>(schema: ZodLike<T>): StreamingParser<T>;\n /**\n * Create a streaming parser with options: field picking, schema, and/or stream source.\n *\n * ```ts\n * // Pick specific fields + async iteration:\n * const parser = vj.createParser({\n * pick: [\"name\", \"age\"],\n * source: response.body,\n * });\n * for await (const partial of parser) {\n * console.log(partial); // only picked fields\n * }\n * ```\n */\n createParser<T = unknown>(options: CreateParserOptions<T>): StreamingParser<T>;\n /**\n * Deep-compare two values for structural equality.\n * When both values are VJ proxies, comparison happens entirely in WASM\n * (walks tapes in linear memory — zero JS allocations, zero Proxy traps).\n * Falls back to JSON.stringify comparison for plain JS objects.\n *\n * By default, object key order does not matter (`{\"a\":1,\"b\":2}` equals `{\"b\":2,\"a\":1}`).\n * Pass `{ ordered: true }` for faster key-order-sensitive comparison.\n */\n deepCompare(a: unknown, b: unknown, options?: { ignoreKeyOrder?: boolean }): boolean;\n /**\n * Eagerly materialize a lazy proxy into plain JS objects.\n * If the value is already a plain JS value, returns it as-is.\n */\n materialize(value: unknown): unknown;\n /**\n * Drop-in replacement for AI SDK partial JSON parsers.\n * Parses a potentially incomplete JSON string and returns a plain JS object.\n *\n * Compatible with Vercel AI SDK's `parsePartialJson` — returns `{ value, state }`\n * where state is \"successful-parse\", \"repaired-parse\", or \"failed-parse\".\n *\n * ```ts\n * // Drop-in for Vercel AI SDK:\n * const { value, state } = vj.parsePartialJson('{\"a\": 1, \"b\": ');\n * // value = { a: 1, b: null }, state = \"repaired-parse\"\n * ```\n */\n parsePartialJson(input: string): PartialJsonResult;\n /**\n * Parse partial JSON with schema-inferred types.\n * T is auto-inferred from the schema — no manual `<T>` needed.\n *\n * Returns `DeepPartial<T>` because incomplete JSON will have missing fields.\n * When `safeParse` succeeds, returns the validated `data`.\n * When `safeParse` fails on a repaired-parse, returns the raw parsed value\n * (typed as `DeepPartial<T>`) — the object is partial, that's expected.\n *\n * ```ts\n * const User = z.object({ name: z.string(), age: z.number() });\n * const { value, state } = vj.parsePartialJson('{\"name\":\"Al', User);\n * // value: { name?: string; age?: number } | undefined\n * // state: \"repaired-parse\"\n * ```\n */\n parsePartialJson<T>(input: string, schema: { safeParse: (v: unknown) => { success: boolean; data?: T } }): PartialJsonResult<DeepPartial<T>>;\n /**\n * Create an event-driven streaming parser with path subscriptions,\n * string delta emission, and JSON boundary detection.\n */\n createEventParser(options?: {\n source?: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string>;\n schema?: { safeParse: (v: unknown) => { success: boolean; data?: unknown } };\n format?: JsonFormat;\n }): EventParser;\n /**\n * Import a packed tape buffer (from `getTapeBuffer()`) into a lazy Proxy.\n * Skips parsing entirely — the tape is copied directly into a document slot.\n * Use this on the main thread after receiving a transferred ArrayBuffer from a Worker.\n */\n importTape(buf: ArrayBuffer): unknown;\n}\n\n// --- Error codes from Zig engine ---\nconst ERROR_MESSAGES: Record<number, string> = {\n 1: \"Exceeded maximum nesting depth\",\n 2: \"Document exceeds maximum capacity\",\n 3: \"Invalid escape sequence\",\n 4: \"Invalid Unicode code point\",\n 5: \"Invalid number literal\",\n 6: \"Expected colon after key\",\n 7: \"Expected string key in object\",\n 8: \"Expected comma or closing bracket in array\",\n 9: \"Expected comma or closing brace in object\",\n 10: \"Incomplete array\",\n 11: \"Incomplete object\",\n 12: \"Unexpected trailing content\",\n 13: \"Out of memory\",\n 99: \"Unknown parse error\",\n};\n\n// --- Module types ---\n\ninterface EngineExports {\n memory: WebAssembly.Memory;\n alloc(size: number): number;\n dealloc(ptr: number, size: number): void;\n get_error_code(): number;\n doc_parse(ptr: number, len: number): number;\n doc_free(docId: number): void;\n doc_get_tag(docId: number, index: number): number;\n doc_get_number(docId: number, index: number): number;\n doc_read_string_raw(docId: number, index: number): number;\n doc_get_count(docId: number, index: number): number;\n doc_get_src_pos(docId: number, index: number): number;\n doc_get_close_index(docId: number, index: number): number;\n doc_find_field(docId: number, objIndex: number, keyPtr: number, keyLen: number): number;\n doc_get_input_ptr(docId: number): number;\n doc_batch_ptr(): number;\n doc_array_elements(docId: number, arrIndex: number, resumeAt: number): number;\n doc_object_keys(docId: number, objIndex: number, resumeAt: number): number;\n doc_deep_equal(doc_a: number, idx_a: number, doc_b: number, idx_b: number, ordered: number): number;\n stream_create(format: number): number;\n stream_destroy(id: number): void;\n stream_feed(id: number, ptr: number, len: number): number;\n stream_get_status(id: number): number;\n stream_get_buffer_ptr(id: number): number;\n stream_get_value_len(id: number): number;\n stream_get_remaining_ptr(id: number): number;\n stream_get_remaining_len(id: number): number;\n stream_get_buffer_len(id: number): number;\n stream_get_buffer_cap(id: number): number;\n stream_reset_for_next(id: number): number;\n classify_input(ptr: number, len: number): number;\n autocomplete_input(ptr: number, len: number, buf_cap: number): number;\n autocomplete_input_json5(ptr: number, len: number, buf_cap: number): number;\n get_value_end(): number;\n doc_parse_fmt(ptr: number, len: number, format: number): number;\n preprocess_json5(ptr: number, len: number): number;\n doc_export_tape_size(docId: number): number;\n doc_export_tape(docId: number, outPtr: number, outCap: number): number;\n doc_import_tape(bufPtr: number, bufLen: number): number;\n}\n\nconst utf8Decoder = new TextDecoder('utf-8');\n\n// Pre-computed byte→char table — avoids String.fromCharCode() calls in hot loops\nconst B2C: string[] = Array.from({ length: 256 }, (_, i) => String.fromCharCode(i));\n\nlet _instance: VectorJSON | null = null;\n\n/**\n * Initialize VectorJSON by loading and linking the WASM module.\n * Call this once; subsequent calls return the cached instance.\n */\nexport async function init(options?: {\n engineWasm?: string | URL | BufferSource;\n}): Promise<VectorJSON> {\n if (_instance) return _instance;\n\n // Load WASM bytes — embedded base64 by default, filesystem/URL/buffer when explicit\n let engineBytes: BufferSource;\n const wasmOpt = options?.engineWasm;\n if (wasmOpt instanceof ArrayBuffer || ArrayBuffer.isView(wasmOpt)) {\n engineBytes = wasmOpt as BufferSource;\n } else if (typeof wasmOpt === \"string\" || wasmOpt instanceof URL) {\n // Dynamic import for filesystem — only when user explicitly passes a path\n const { readFile } = await import(\"node:fs/promises\");\n const { fileURLToPath } = await import(\"node:url\");\n const path = typeof wasmOpt === \"string\" ? wasmOpt : fileURLToPath(wasmOpt);\n engineBytes = await readFile(path);\n } else {\n engineBytes = decodeBase64(wasmBase64).buffer as ArrayBuffer;\n }\n\n // --- Instantiate Zig engine ---\n const { instance: engineInstance } = await WebAssembly.instantiate(engineBytes as ArrayBuffer, {});\n const engine = engineInstance.exports as unknown as EngineExports;\n\n const encoder = new TextEncoder();\n\n // --- Reusable WASM buffers — grow-only, shared allocator pattern ---\n const inputBuf = { ptr: 0, cap: 0 };\n const keyBuf = { ptr: 0, cap: 0 };\n const feedBuf = { ptr: 0, cap: 0 };\n\n function ensureBuf(buf: typeof inputBuf, needed: number, minCap: number): number {\n if (needed <= buf.cap) return buf.ptr;\n if (buf.ptr !== 0) engine.dealloc(buf.ptr, buf.cap);\n let cap = buf.cap === 0 ? minCap : buf.cap;\n while (cap < needed) cap *= 2;\n buf.ptr = engine.alloc(cap) >>> 0;\n if (buf.ptr === 0) throw new Error(\"VectorJSON: allocation failed\");\n buf.cap = cap;\n return buf.ptr;\n }\n\n /** Encode string or copy Uint8Array into a reusable WASM buffer. Returns { ptr, len }. */\n function writeToWasm(\n input: string | Uint8Array, buf: typeof inputBuf, extraCap: number, minCap: number,\n ): { ptr: number; len: number } {\n if (typeof input === \"string\") {\n // Try optimistic allocation (1x for likely-ASCII), fall back to 3x for multi-byte\n let maxBytes = input.length + extraCap;\n let ptr = ensureBuf(buf, maxBytes, minCap);\n let result = encoder.encodeInto(input, new Uint8Array(engine.memory.buffer, ptr, maxBytes));\n if (result.read! < input.length) {\n // Input has multi-byte chars — reallocate with worst-case 3x\n maxBytes = input.length * 3 + extraCap;\n ptr = ensureBuf(buf, maxBytes, minCap);\n result = encoder.encodeInto(input, new Uint8Array(engine.memory.buffer, ptr, maxBytes));\n }\n return { ptr, len: result.written! };\n }\n const len = input.byteLength;\n const ptr = ensureBuf(buf, len + extraCap, minCap);\n new Uint8Array(engine.memory.buffer, ptr, len).set(input);\n return { ptr, len };\n }\n\n function writeKeyToMemory(key: string): { ptr: number; len: number } {\n if (key.length === 0) return { ptr: 1, len: 0 };\n return writeToWasm(key, keyBuf, 0, 256);\n }\n\n // --- Constants ---\n // Batch buffer address is a fixed global in WASM — cache to avoid repeated WASM calls\n const batchAddr = engine.doc_batch_ptr() >>> 0;\n\n const TAG_NULL = 0;\n const TAG_TRUE = 1;\n const TAG_FALSE = 2;\n const TAG_NUMBER = 3;\n const TAG_STRING = 4;\n const TAG_OBJECT = 5;\n const TAG_ARRAY = 6;\n\n const FEED_STATUS: readonly FeedStatus[] = [\"incomplete\", \"complete\", \"error\", \"end_early\"];\n const CLASSIFY_INCOMPLETE = 0; // FeedStatus.incomplete\n const CLASSIFY_ERR = 2; // FeedStatus.err\n const CLASSIFY_END_EARLY = 3; // FeedStatus.end_early\n\n // --- Sentinels ---\n const LAZY_PROXY = Symbol(\"vectorjson.lazy\");\n const UNCACHED = Symbol();\n\n // --- Explicit document disposal ---\n // Track generation per docId to prevent stale FinalizationRegistry callbacks\n // from freeing a reused slot. Each parse increments the generation.\n const docGenerations = new Map<number, number>();\n\n // --- FinalizationRegistry for auto-cleanup of document slots ---\n const docRegistry = new FinalizationRegistry(\n ({ docId, generation }: { docId: number; generation: number }) => {\n if (docGenerations.get(docId) !== generation) return; // stale callback\n docGenerations.delete(docId);\n docInputs.delete(docId);\n engine.doc_free(docId);\n },\n );\n\n /** Copy `count` u32 indices from the WASM batch buffer into a JS Uint32Array. */\n function copyBatchIndices(count: number): Uint32Array {\n const copy = new Uint32Array(count);\n copy.set(new Uint32Array(engine.memory.buffer, batchAddr, count));\n return copy;\n }\n\n /** Read all batch indices with pagination for >16384 items. */\n function readBatchPaginated(\n fn: (docId: number, idx: number, resume: number) => number,\n docId: number, idx: number,\n ): Uint32Array {\n const BATCH_CAP = 16384;\n let count = fn(docId, idx, 0);\n if (count < BATCH_CAP) return copyBatchIndices(count);\n const all: number[] = [];\n let page = copyBatchIndices(count);\n for (let i = 0; i < count; i++) all.push(page[i]);\n while (count === BATCH_CAP) {\n const resumeAt = new Uint32Array(engine.memory.buffer, batchAddr + BATCH_CAP * 4, 1)[0];\n count = fn(docId, idx, resumeAt);\n page = copyBatchIndices(count);\n for (let i = 0; i < count; i++) all.push(page[i]);\n }\n return new Uint32Array(all);\n }\n\n // --- Per-document original input tracking (for ASCII fast-path) ---\n // When input is a JS string and all chars are ASCII (byteLen === str.length),\n // we can slice the original string directly instead of reading WASM memory.\n const docInputs = new Map<number, string>();\n\n // --- Read a doc string at a tape index into a JS string ---\n // Strings are stored as source offsets into the original input.\n // The escape flag (batch_buffer[2]) tells us if decoding is needed,\n // avoiding a linear scan with includes('\\\\').\n function docReadString(docId: number, index: number): string {\n const rawLen = engine.doc_read_string_raw(docId, index) >>> 0;\n if (rawLen === 0) return \"\";\n\n const batch = new Uint32Array(engine.memory.buffer, batchAddr, 3);\n const srcOffset = batch[0];\n const hasEscapes = batch[2];\n\n // ASCII fast-path: if original JS string is available and was ASCII,\n // slice directly — no WASM memory read, no TextDecoder overhead.\n const asciiInput = docInputs.get(docId);\n if (asciiInput !== undefined) {\n const raw = asciiInput.slice(srcOffset, srcOffset + rawLen);\n return hasEscapes ? JSON.parse('\"' + raw + '\"') : raw;\n }\n\n const inputPtr = engine.doc_get_input_ptr(docId) >>> 0;\n const raw = utf8Decoder.decode(\n new Uint8Array(engine.memory.buffer, inputPtr + srcOffset, rawLen),\n );\n // has_escapes flag from SIMD skipString — no need for includes('\\\\')\n return hasEscapes ? JSON.parse('\"' + raw + '\"') : raw;\n }\n\n // --- Deep materialize from document tape ---\n // For containers (objects/arrays), slices the source span from WASM memory\n // and delegates to native JSON.parse — faster than recursive tape walking.\n // For primitives, reads directly from the tape.\n function deepMaterializeDoc(docId: number, index: number): unknown {\n const tag = engine.doc_get_tag(docId, index);\n if (tag === TAG_NULL) return null;\n if (tag === TAG_TRUE) return true;\n if (tag === TAG_FALSE) return false;\n if (tag === TAG_NUMBER) return engine.doc_get_number(docId, index);\n if (tag === TAG_STRING) return docReadString(docId, index);\n if (tag === TAG_OBJECT || tag === TAG_ARRAY) {\n // Get source span: opening bracket → closing bracket (inclusive)\n // doc_get_close_index returns one-past-end (simdjson convention for skipping).\n // The actual closing bracket is at closeIdx - 1.\n const startPos = (engine.doc_get_src_pos(docId, index) >>> 0);\n const closingTapeIdx = engine.doc_get_close_index(docId, index) - 1;\n const closePos = engine.doc_get_src_pos(docId, closingTapeIdx);\n const inputPtr = engine.doc_get_input_ptr(docId) >>> 0;\n const raw = new Uint8Array(\n engine.memory.buffer, inputPtr + startPos, closePos + 1 - startPos,\n );\n return JSON.parse(utf8Decoder.decode(raw));\n }\n return null;\n }\n\n /** Batch-read all element tape indices for an array (cached). */\n function batchElemIndices(target: any): Uint32Array {\n return target._e || (target._e = readBatchPaginated(engine.doc_array_elements, target._d, target._i));\n }\n\n /** Resolve a tape value: primitives return directly.\n * Objects: deep-materialize (complete parses) or Proxy (incomplete, for isComplete).\n * Arrays: always lazy Proxy. */\n function resolveValue(\n docId: number, index: number,\n keepAlive: object, generation: number,\n freeFn: (() => void) | undefined,\n proxyObjects = false,\n ): unknown {\n const tag = engine.doc_get_tag(docId, index);\n if (tag === TAG_NULL) return null;\n if (tag === TAG_TRUE) return true;\n if (tag === TAG_FALSE) return false;\n if (tag === TAG_NUMBER) return engine.doc_get_number(docId, index);\n if (tag === TAG_STRING) return docReadString(docId, index);\n\n // Objects: Proxy for incomplete parses (so isComplete can get tape index),\n // deep-materialize for complete parses (fast native property access).\n if (tag === TAG_OBJECT) {\n if (proxyObjects) {\n return new Proxy({ _d: docId, _i: index, _k: keepAlive, _g: generation, _f: freeFn } as any, docObjHandler);\n }\n return deepMaterializeDoc(docId, index);\n }\n\n // Arrays → lazy Proxy (materialize elements on access, cached)\n return new Proxy(\n Object.assign([], { _d: docId, _i: index, _k: keepAlive, _g: generation, _f: freeFn,\n _l: engine.doc_get_count(docId, index), _p: proxyObjects }),\n docArrHandler,\n );\n }\n\n // --- Shared Proxy handler for doc-backed array cursors ---\n const docArrHandler: ProxyHandler<any> = {\n get(target, prop, _receiver) {\n if (prop === 'free' || prop === Symbol.dispose) return target._f;\n if (prop === LAZY_PROXY) return target._m || (target._m = { docId: target._d, index: target._i });\n if (prop === 'length') return target._l;\n if (prop === Symbol.iterator) {\n const t = target; // single capture instead of 7 locals\n return function () {\n let i = 0;\n return {\n next() {\n if (i >= t._l) return { done: true as const, value: undefined };\n // Use indexed get to populate cache (avoids double-resolving)\n return { done: false as const, value: docArrHandler.get!(t, String(i++), t) };\n },\n };\n };\n }\n if (prop === Symbol.toStringTag) return \"Array\";\n if (typeof prop === 'string') {\n const idx = Number(prop);\n if (Number.isInteger(idx) && idx >= 0 && idx < target._l) {\n if (!target._c) target._c = new Array(target._l);\n if (target._c[idx] !== undefined) return target._c[idx];\n const indices = batchElemIndices(target);\n const val = resolveValue(target._d, indices[idx], target._k, target._g, target._f, target._p);\n target._c[idx] = val;\n return val;\n }\n if (prop in Array.prototype) {\n const materialized = deepMaterializeDoc(target._d, target._i) as unknown[];\n return (materialized as unknown as Record<string, unknown>)[prop];\n }\n }\n return undefined;\n },\n has(target, prop) {\n if (prop === LAZY_PROXY || prop === 'free' || prop === Symbol.dispose || prop === 'length') return true;\n if (typeof prop !== 'string') return false;\n const idx = Number(prop);\n return Number.isInteger(idx) && idx >= 0 && idx < target._l;\n },\n ownKeys(target) {\n const keys: string[] = [];\n for (let i = 0; i < target._l; i++) keys.push(String(i));\n keys.push('length');\n return keys;\n },\n getOwnPropertyDescriptor(target, prop) {\n if (prop === 'length') {\n return { value: target._l, writable: false, enumerable: false, configurable: false };\n }\n if (typeof prop === 'string') {\n const idx = Number(prop);\n if (Number.isInteger(idx) && idx >= 0 && idx < target._l) {\n return { value: this.get!(target, prop, target), writable: false, enumerable: true, configurable: true };\n }\n }\n return undefined;\n },\n };\n\n // --- Shared Proxy handler for doc-backed object proxies (incomplete parses) ---\n // doc_find_field compares raw source bytes against the key. For keys with\n // escape sequences (\\n, \\uXXXX), raw comparison fails — we fall back to\n // ownKeys iteration which properly decodes each key via docReadString.\n const docObjHandler: ProxyHandler<any> = {\n get(target, prop, _receiver) {\n if (prop === 'free' || prop === Symbol.dispose) return target._f;\n if (prop === LAZY_PROXY) return target._m || (target._m = { docId: target._d, index: target._i });\n if (typeof prop !== 'string') return prop === Symbol.toStringTag ? \"Object\" : undefined;\n if (!target._c) target._c = Object.create(null);\n if (prop in target._c) return target._c[prop];\n const { ptr, len } = writeKeyToMemory(prop);\n const valIdx = engine.doc_find_field(target._d, target._i, ptr, len);\n if (valIdx !== 0) {\n // Fast path: key matched raw source bytes (no escapes)\n const val = resolveValue(target._d, valIdx, target._k, target._g, target._f, true);\n target._c[prop] = val;\n return val;\n }\n // Fallback: escaped keys won't match raw bytes — iterate all keys\n const keys = this.ownKeys!(target) as string[];\n const keyIdx = keys.indexOf(prop);\n if (keyIdx === -1) return undefined;\n // Resolve value via cached key tape indices\n const val = resolveValue(target._d, target._ki[keyIdx] + 1, target._k, target._g, target._f, true);\n target._c[prop] = val;\n return val;\n },\n has(target, prop) {\n if (prop === LAZY_PROXY || prop === 'free' || prop === Symbol.dispose) return true;\n if (typeof prop !== 'string') return false;\n const { ptr, len } = writeKeyToMemory(prop);\n if (engine.doc_find_field(target._d, target._i, ptr, len) !== 0) return true;\n // Fallback for escaped keys\n const keys = this.ownKeys!(target) as string[];\n return keys.includes(prop);\n },\n ownKeys(target) {\n if (!target._keys) {\n const indices = readBatchPaginated(engine.doc_object_keys, target._d, target._i);\n target._ki = indices;\n target._keys = Array.from(indices, (idx) => docReadString(target._d, idx));\n }\n return target._keys;\n },\n getOwnPropertyDescriptor(target, prop) {\n if (typeof prop !== 'string') return undefined;\n // JSON cannot produce undefined — get() returning undefined means field not found\n const val = this.get!(target, prop, target);\n if (val === undefined) return undefined;\n return { value: val, writable: false, enumerable: true, configurable: true };\n },\n };\n\n // --- Check if a value is a lazy proxy ---\n function isLazyProxy(value: unknown): boolean {\n if (value === null || typeof value !== \"object\") return false;\n try { return LAZY_PROXY in (value as Record<symbol, unknown>); }\n catch { return false; }\n }\n\n // --- Build a value from a doc slot root (shared by parse + createParser) ---\n function buildDocRoot(docId: number, proxyObjects = false): unknown {\n const rootTag = engine.doc_get_tag(docId, 1);\n // Primitives: extract value and free doc immediately (no Proxy needed)\n if (rootTag <= TAG_STRING) {\n const value = rootTag === TAG_NULL ? null\n : rootTag === TAG_TRUE ? true\n : rootTag === TAG_FALSE ? false\n : rootTag === TAG_NUMBER ? engine.doc_get_number(docId, 1)\n : docReadString(docId, 1);\n docInputs.delete(docId);\n engine.doc_free(docId);\n return value;\n }\n // Containers: register for GC and wrap in Proxy with manual .free()\n const generation = (docGenerations.get(docId) ?? 0) + 1;\n docGenerations.set(docId, generation);\n const keepAlive = { docId };\n docRegistry.register(keepAlive, { docId, generation }, keepAlive);\n const freeFn = () => {\n void keepAlive; // prevent GC of sentinel\n if (docGenerations.get(docId) !== generation) return;\n docGenerations.delete(docId);\n docInputs.delete(docId);\n engine.doc_free(docId);\n docRegistry.unregister(keepAlive);\n };\n // Root always gets Proxy so .free() is accessible; force objects to Proxy for isComplete()\n return resolveValue(docId, 1, keepAlive, generation, freeFn, rootTag === TAG_OBJECT || proxyObjects);\n }\n\n // --- Tape export/import helpers ---\n /** Parse a stream's buffer, export packed tape, free the temp doc slot. */\n function streamExportTape(streamId: number): ArrayBuffer | null {\n const status = engine.stream_get_status(streamId);\n if (status !== 1 /* complete */ && status !== 3 /* end_early */) return null;\n const bufPtr = engine.stream_get_buffer_ptr(streamId) >>> 0;\n const bufLen = engine.stream_get_buffer_len(streamId);\n if (bufLen === 0) return null;\n // Copy stream buffer with SIMD padding for doc_parse\n const padPtr = engine.alloc(bufLen + 64) >>> 0;\n if (padPtr === 0) return null;\n new Uint8Array(engine.memory.buffer, padPtr, bufLen).set(\n new Uint8Array(engine.memory.buffer, bufPtr, bufLen),\n );\n new Uint8Array(engine.memory.buffer, padPtr + bufLen, 64).fill(0x20);\n const docId = engine.doc_parse(padPtr, bufLen);\n engine.dealloc(padPtr, bufLen + 64);\n if (docId < 0) return null;\n // Export tape → JS ArrayBuffer, then free slot\n const size = engine.doc_export_tape_size(docId);\n const outPtr = size > 0 ? engine.alloc(size) >>> 0 : 0;\n if (outPtr === 0) { engine.doc_free(docId); return null; }\n engine.doc_export_tape(docId, outPtr, size);\n engine.doc_free(docId);\n const copy = new ArrayBuffer(size);\n new Uint8Array(copy).set(new Uint8Array(engine.memory.buffer, outPtr, size));\n engine.dealloc(outPtr, size);\n return copy;\n }\n\n // --- Helper: retry doc_parse with GC on slot exhaustion ---\n function tryDocParse(p: number, l: number): number {\n let docId = engine.doc_parse(p, l);\n if (docId < 0) {\n const errCode = engine.get_error_code();\n if (errCode === 2 || errCode === 13) {\n if (typeof globalThis.gc === \"function\") globalThis.gc();\n docId = engine.doc_parse(p, l);\n }\n }\n return docId;\n }\n\n // --- Helpers ---\n function isReadableStream(s: any): s is ReadableStream {\n return typeof s?.getReader === 'function';\n }\n\n // --- JSON Seeker Factory ---\n // Extracts a reusable state machine that skips non-JSON text (think tags, code fences, prose)\n // to find the start of JSON content. Used by both createEventParser and createParser.\n function createSeeker(textCallbacks?: ((text: string) => void)[], json5 = false) {\n const SEEKING = 0, IN_THINK = 1, IN_FENCE = 2, FEEDING = 3;\n let state = SEEKING;\n let buf = '';\n let fenceBacktickCount = 0;\n\n return {\n feed(text: string): string | null {\n if (state === FEEDING) return text;\n\n const cbs = textCallbacks ?? [];\n let result = '';\n let i = 0;\n\n while (i < text.length) {\n if (state === FEEDING) {\n result += text.slice(i);\n break;\n }\n\n if (state === IN_THINK) {\n const closeIdx = text.indexOf('</think>', i);\n if (closeIdx === -1) {\n const captured = text.slice(i);\n for (const cb of cbs) cb(captured);\n i = text.length;\n } else {\n const captured = text.slice(i, closeIdx);\n if (captured) for (const cb of cbs) cb(captured);\n i = closeIdx + '</think>'.length;\n state = SEEKING;\n buf = '';\n }\n continue;\n }\n\n if (state === IN_FENCE) {\n const closeFence = '`'.repeat(fenceBacktickCount);\n const closeIdx = text.indexOf(closeFence, i);\n if (closeIdx === -1) {\n result += text.slice(i);\n i = text.length;\n } else {\n result += text.slice(i, closeIdx);\n i = closeIdx + fenceBacktickCount;\n fenceBacktickCount = 0;\n state = SEEKING;\n buf = '';\n }\n continue;\n }\n\n // SEEKING state\n const ch = text[i];\n\n if (ch === '{' || ch === '[' || ch === '\"' || (json5 && ch === \"'\")) {\n if (buf) {\n for (const cb of cbs) cb(buf);\n buf = '';\n }\n state = FEEDING;\n result += text.slice(i);\n break;\n }\n\n // Check for <think> tag\n buf += ch;\n if (buf.endsWith('<think>')) {\n const beforeTag = buf.slice(0, -'<think>'.length);\n if (beforeTag) for (const cb of cbs) cb(beforeTag);\n state = IN_THINK;\n buf = '';\n i++;\n continue;\n }\n\n // Check for code fence (``` with optional label)\n if (ch === '`') {\n let btCount = 0;\n let j = i;\n while (j < text.length && text[j] === '`') { btCount++; j++; }\n if (btCount >= 3) {\n while (j < text.length && text[j] !== '\\n') j++;\n if (j < text.length) j++;\n fenceBacktickCount = btCount;\n state = IN_FENCE;\n const beforeFence = buf.slice(0, -1);\n if (beforeFence) for (const cb of cbs) cb(beforeFence);\n buf = '';\n i = j;\n continue;\n }\n }\n\n i++;\n\n if (buf.length > 1024) {\n for (const cb of cbs) cb(buf);\n buf = '';\n }\n }\n\n if (result.length > 0) return result;\n return null;\n },\n reset() { state = SEEKING; buf = ''; fenceBacktickCount = 0; },\n isFeeding() { return state === FEEDING; },\n };\n }\n\n // --- Path Pattern Compiler ---\n // Segments: string = key, number = index, '*' = wildcard\n\n function compilePath(pattern: string): PathSegment[] {\n return pattern.replace(/\\[(\\*|\\d+)\\]/g, '.$1').split('.').filter(Boolean)\n .map(s => s === '*' ? '*' : /^\\d+$/.test(s) ? +s : s);\n }\n\n /** Extract top-level keys from a Zod-like schema and return as compiled pick paths.\n * Supports Zod (.shape), Valibot (.entries), ArkType (.props).\n * Recursively extracts nested object keys for nested pick paths.\n * Returns null if schema shape can't be detected (no auto-pick). */\n function extractSchemaKeys(schema: any, prefix: string[] = []): PathSegment[][] | null {\n const shape = schema?.shape ?? schema?._def?.shape?.() ?? schema?.entries ?? schema?.props;\n if (!shape || typeof shape !== 'object') return null;\n const paths: PathSegment[][] = [];\n for (const key of Object.keys(shape)) {\n const fullPath = [...prefix, key];\n // Check if this field's schema has nested shape (nested object)\n const fieldSchema = shape[key];\n const nested = extractSchemaKeys(fieldSchema, fullPath);\n if (nested && nested.length > 0) {\n paths.push(...nested);\n } else {\n paths.push(fullPath.map(s => /^\\d+$/.test(s) ? +s : s));\n }\n }\n return paths.length > 0 ? paths : null;\n }\n\n function buildResolvedPath(keyStack: (string | null)[], indexStack: (number | null)[], depth: number): string {\n const parts: string[] = [];\n for (let i = 0; i < depth; i++) {\n if (keyStack[i] !== null) parts.push(keyStack[i]!);\n else if (indexStack[i] !== null) parts.push(String(indexStack[i]));\n }\n return parts.join('.');\n }\n\n function isJson5IdentStart(c: number): boolean {\n return (c >= 0x61 && c <= 0x7A) || (c >= 0x41 && c <= 0x5A) || c === 0x5F || c === 0x24;\n }\n\n function isJson5IdentPart(c: number): boolean {\n return isJson5IdentStart(c) || (c >= 0x30 && c <= 0x39);\n }\n\n /** Parse a JSON5 scalar value (handles Infinity, -Infinity, +Infinity, NaN, hex numbers). */\n function parseJson5Scalar(s: string): unknown {\n if (s === \"Infinity\" || s === \"+Infinity\") return Infinity;\n if (s === \"-Infinity\") return -Infinity;\n if (s === \"NaN\") return null; // NaN → null (same as preprocess_json5)\n if (s.startsWith(\"0x\") || s.startsWith(\"0X\")) return parseInt(s, 16);\n return JSON.parse(s);\n }\n\n // --- Public API ---\n _instance = {\n parse(input: string | Uint8Array): ParseResult {\n // Write input into reusable WASM buffer with extra headroom for autocomplete\n const { ptr, len } = writeToWasm(input, inputBuf, 64, 4096);\n // Pad after input for SIMD safety\n new Uint8Array(engine.memory.buffer, ptr + len, 64).fill(0x20);\n\n // Helper: build ParseResult with isComplete() and toJSON()\n const makeResult = (\n status: ParseStatus,\n value: unknown,\n autocompleteBoundary: number,\n toJSONStr: string | undefined,\n remaining?: Uint8Array,\n error?: string,\n ): ParseResult => {\n let _toJSONCache: unknown = UNCACHED;\n return {\n status,\n value,\n remaining,\n error,\n isComplete(val: unknown): boolean {\n if (autocompleteBoundary === Infinity) return true;\n if (val === null || val === undefined || typeof val !== \"object\") return true;\n try {\n const handle = (val as any)[LAZY_PROXY] as { docId?: number; index?: number } | undefined;\n if (!handle || typeof handle.docId !== \"number\") return true;\n const tag = engine.doc_get_tag(handle.docId, handle.index!);\n if (tag === TAG_OBJECT || tag === TAG_ARRAY) {\n const closeIdx = engine.doc_get_close_index(handle.docId, handle.index!);\n const closeSrcPos = engine.doc_get_src_pos(handle.docId, closeIdx) >>> 0;\n return closeSrcPos < autocompleteBoundary;\n }\n return true;\n } catch {\n return true; // fail-safe: freed doc → treat as complete\n }\n },\n toJSON(): unknown {\n if (_toJSONCache !== UNCACHED) return _toJSONCache;\n return (_toJSONCache = toJSONStr !== undefined ? JSON.parse(toJSONStr) : value);\n },\n };\n };\n\n // Helper: build an invalid ParseResult from the last engine error code\n const invalidResult = (msg?: string): ParseResult => {\n if (!msg) {\n const code = engine.get_error_code();\n msg = `VectorJSON: ${ERROR_MESSAGES[code] || `Parse error (code ${code})`}`;\n }\n return makeResult(\"invalid\", undefined, Infinity, undefined, undefined, msg);\n };\n\n // Track whether input is an ASCII JS string (byteLen === str.length).\n // If so, docReadString can slice the original string directly.\n const isAsciiStr = typeof input === \"string\" && len === input.length;\n\n // ── Happy path: try doc_parse directly (no classify overhead) ──\n let docId = tryDocParse(ptr, len);\n if (docId >= 0) {\n if (isAsciiStr) docInputs.set(docId, input as string);\n // For string input at full length, reuse the original string (avoids decode)\n const toJSONStr = typeof input === \"string\" ? input\n : utf8Decoder.decode(new Uint8Array(engine.memory.buffer, ptr, len));\n return makeResult(\"complete\", buildDocRoot(docId), Infinity, toJSONStr);\n }\n\n // ── doc_parse failed — classify to determine why ──\n const classification = engine.classify_input(ptr, len);\n\n if (classification === CLASSIFY_ERR) {\n return invalidResult(\"Invalid JSON structure\");\n }\n\n if (classification === CLASSIFY_END_EARLY) {\n const parseLen = engine.get_value_end();\n const remainLen = len - parseLen;\n const remainingCopy = new Uint8Array(remainLen);\n remainingCopy.set(new Uint8Array(engine.memory.buffer, ptr + parseLen, remainLen));\n new Uint8Array(engine.memory.buffer, ptr + parseLen, 64).fill(0x20);\n\n const toJSONStr = utf8Decoder.decode(new Uint8Array(engine.memory.buffer, ptr, parseLen));\n docId = tryDocParse(ptr, parseLen);\n if (docId >= 0) {\n if (isAsciiStr) docInputs.set(docId, input as string);\n return makeResult(\"complete_early\", buildDocRoot(docId), Infinity, toJSONStr, remainingCopy);\n }\n return invalidResult();\n }\n\n if (classification === CLASSIFY_INCOMPLETE) {\n const parseLen = engine.autocomplete_input(ptr, len, inputBuf.cap);\n if (parseLen === 0) {\n if (len === 0) return makeResult(\"incomplete\", undefined, len, undefined);\n return invalidResult(\"Invalid JSON structure\");\n }\n const toJSONStr = utf8Decoder.decode(new Uint8Array(engine.memory.buffer, ptr, parseLen));\n docId = tryDocParse(ptr, parseLen);\n if (docId >= 0) {\n // Don't use ASCII fast-path for incomplete: autocomplete appended\n // closing tokens that aren't in the original JS string.\n return makeResult(\"incomplete\", buildDocRoot(docId, true), len, toJSONStr);\n }\n return invalidResult();\n }\n\n return invalidResult();\n },\n\n deepCompare(a: unknown, b: unknown, options?: { ignoreKeyOrder?: boolean }): boolean {\n const ordered = (options?.ignoreKeyOrder === false) ? 1 : 0;\n\n // Fast path: both are VJ proxies → WASM tape comparison.\n // Single [LAZY_PROXY] access per arg (1 Proxy get trap) instead of\n // isLazyProxy + [LAZY_PROXY] (has trap + get trap + object allocation × 2).\n if (a !== null && typeof a === \"object\" && b !== null && typeof b === \"object\") {\n try {\n const metaA = (a as any)[LAZY_PROXY] as { docId: number; index: number } | undefined;\n const metaB = (b as any)[LAZY_PROXY] as { docId: number; index: number } | undefined;\n if (metaA && metaB) {\n const result = engine.doc_deep_equal(metaA.docId, metaA.index, metaB.docId, metaB.index, ordered);\n if (result >= 0) return result === 1;\n // fallthrough on error (-1 = invalid doc_id)\n }\n } catch { /* not a proxy, fall through */ }\n }\n\n // Fallback: materialize and compare with JSON round-trip\n return JSON.stringify(a) === JSON.stringify(b);\n },\n\n materialize(value: unknown): unknown {\n if (!isLazyProxy(value)) return value;\n const { docId, index } = (value as any)[LAZY_PROXY];\n return deepMaterializeDoc(docId, index);\n },\n\n parsePartialJson(input: string, schema?: { safeParse: (v: unknown) => { success: boolean; data?: unknown } }): PartialJsonResult {\n if (!input) return { value: undefined, state: \"failed-parse\" as const };\n const result = _instance!.parse(input);\n switch (result.status) {\n case \"complete\":\n case \"complete_early\": {\n const value = result.toJSON();\n if (schema) {\n const validated = schema.safeParse(value);\n if (validated.success) return { value: validated.data, state: \"successful-parse\" as const };\n return { value: undefined, state: \"successful-parse\" as const };\n }\n return { value, state: \"successful-parse\" as const };\n }\n case \"incomplete\": {\n const value = result.toJSON();\n if (schema) {\n const validated = schema.safeParse(value);\n if (validated.success) return { value: validated.data, state: \"repaired-parse\" as const };\n // Partial JSON: safeParse fails (missing fields expected) → keep raw value\n return { value, state: \"repaired-parse\" as const };\n }\n return { value, state: \"repaired-parse\" as const };\n }\n default:\n return { value: undefined, state: \"failed-parse\" as const };\n }\n },\n\n createEventParser(options?: {\n source?: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string>;\n schema?: { safeParse: (v: unknown) => { success: boolean; data?: unknown } };\n format?: JsonFormat;\n }): EventParser {\n const source = options?.source;\n const format = options?.format ?? \"json\";\n const FORMAT_CODE = format === \"jsonl\" ? 1 : format === \"json5\" ? 2 : 0;\n\n // Schema-driven field selection + validation (same as createParser)\n const epSchema = options?.schema;\n let epPickPaths: PathSegment[][] | null = null;\n if (options?.schema) {\n epPickPaths = extractSchemaKeys(options.schema);\n }\n\n const streamId = engine.stream_create(FORMAT_CODE);\n if (streamId < 0) {\n throw new Error(\"VectorJSON: Failed to create event parser (max 4 concurrent)\");\n }\n\n let destroyed = false;\n\n // --- Subscription storage ---\n type Sub = { segments: PathSegment[]; callback: Function; schema?: { safeParse: Function } };\n const pathSubs: Sub[] = [];\n const deltaSubs: Sub[] = [];\n const textCallbacks: ((text: string) => void)[] = [];\n\n // --- JSON Seeker (reusable factory) ---\n const seeker = createSeeker(textCallbacks, format === \"json5\");\n\n // --- PathTracker state ---\n let ptDepth = 0;\n let ptInString = false;\n let ptQuoteChar = 0x22;\n let ptEscapeNext = false;\n let ptContextStack: ('o' | 'a')[] = []; // object or array at each level\n let ptKeyStack: (string | null)[] = []; // current key at each depth\n let ptIndexStack: (number | null)[] = []; // current array index at each depth\n let ptValueStartStack: number[] = []; // byte offset where value started\n let ptSkipDepth = -1; // if >= 0, we're inside a skipped path\n let ptExpectingKey = false;\n let ptAfterColon = false;\n let ptKeyAccum = '';\n let ptAccumulatingKey = false;\n let ptStringValueStart = -1;\n let ptInStringValue = false;\n let ptDeltaAccum = '';\n let ptDeltaByteStart = 0; // byte offset where current delta accumulation started\n let ptInScalar = false; // tracking a scalar that may span chunks\n let ptScalarStart = -1; // byte offset where current scalar started\n\n // --- Live document builder ---\n // Incrementally builds a JS object/array as bytes are scanned.\n // getValue() returns this growing object. O(n) total materialization.\n let ldRoot: unknown = undefined; // the growing root value\n let ldStack: (Record<string, unknown> | unknown[])[] = []; // container stack\n let ldCurrentKey: string | null = null; // pending key for object assignment\n let ldActiveKey: string | null = null; // key used for current string being updated\n let ldStringAccum = ''; // accumulating string value\n let ldInStringValue = false; // currently inside a string value\n let ldScalarAccum = ''; // accumulating scalar chars\n\n function ldSetValue(value: unknown) {\n if (ldStack.length === 0) {\n ldRoot = value;\n return;\n }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) {\n parent.push(value);\n } else if (ldCurrentKey !== null) {\n parent[ldCurrentKey] = value;\n ldActiveKey = ldCurrentKey; // remember key for in-place updates\n ldCurrentKey = null;\n }\n }\n\n // Update a string/scalar value in-place (for partial strings being built)\n function ldUpdateString(str: string) {\n if (ldStack.length === 0) {\n ldRoot = str;\n return;\n }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) {\n if (parent.length > 0) parent[parent.length - 1] = str;\n else parent.push(str);\n } else if (ldActiveKey !== null) {\n parent[ldActiveKey] = str;\n }\n }\n\n function ldReset() {\n ldRoot = undefined;\n ldStack.length = 0;\n ldCurrentKey = null;\n ldActiveKey = null;\n ldStringAccum = '';\n ldInStringValue = false;\n ldScalarAccum = '';\n }\n\n function ptReset() {\n ptDepth = 0; ptInString = false; ptQuoteChar = 0x22; ptEscapeNext = false;\n ptContextStack.length = 0; ptKeyStack.length = 0;\n ptIndexStack.length = 0; ptValueStartStack.length = 0;\n ptSkipDepth = -1; ptExpectingKey = false; ptAfterColon = false;\n ptKeyAccum = ''; ptAccumulatingKey = false;\n ptStringValueStart = -1; ptInStringValue = false;\n ptDeltaAccum = ''; ptDeltaByteStart = 0;\n ptInScalar = false; ptScalarStart = -1;\n ldReset();\n }\n\n /** Unified path matcher: exact = segments.length must equal depth, prefix = <= depth.\n * Returns wildcard matches on success, null on failure. */\n function matchPath(segments: PathSegment[], exact: boolean): (string | number)[] | null {\n const len = segments.length;\n if (exact ? len !== ptDepth : len > ptDepth) return null;\n const matches: (string | number)[] = [];\n for (let s = 0; s < len; s++) {\n const seg = segments[s];\n const key = ptKeyStack[s], idx = ptIndexStack[s];\n if (seg === '*') matches.push(idx !== null ? idx : (key ?? ''));\n else if (typeof seg === 'number' ? idx !== seg : key !== seg) return null;\n }\n return matches;\n }\n\n function isPathSkipped(): boolean {\n if (epPickPaths && !epIsFieldPicked()) return true;\n return false;\n }\n\n /** Check if current path matches any pick path (array-transparent). */\n function epIsFieldPicked(): boolean {\n if (!epPickPaths) return true;\n // Build effective key path (skip array levels)\n const effective: string[] = [];\n for (let i = 0; i < ptDepth; i++) {\n if (ptKeyStack[i] !== null) effective.push(ptKeyStack[i]!);\n }\n for (const pick of epPickPaths) {\n const pickLen = pick.length;\n const effLen = effective.length;\n const compareLen = Math.min(effLen, pickLen);\n let matched = true;\n for (let i = 0; i < compareLen; i++) {\n const seg = pick[i];\n if (seg === '*') continue;\n if (typeof seg === 'number') continue;\n if (effective[i] !== seg) { matched = false; break; }\n }\n if (matched) return true;\n }\n return false;\n }\n\n function fireValueComplete(valueBytes: Uint8Array, offset: number, length: number) {\n if (pathSubs.length === 0) return;\n const resolvedPath = buildResolvedPath(ptKeyStack, ptIndexStack, ptDepth);\n for (const sub of pathSubs) {\n const matches = matchPath(sub.segments, true);\n if (!matches) continue;\n let value: unknown;\n try { value = JSON.parse(utf8Decoder.decode(valueBytes)); } catch { continue; }\n if (sub.schema) {\n const result = sub.schema.safeParse(value);\n if (!result.success) continue;\n value = result.data;\n }\n const event: PathEvent = { type: 'value', path: resolvedPath, value, offset, length, matches };\n for (let i = matches.length - 1; i >= 0; i--) {\n const m = matches[i];\n if (typeof m === 'number' && event.index === undefined) event.index = m;\n if (typeof m === 'string' && event.key === undefined) event.key = m;\n }\n sub.callback(event as any);\n }\n }\n\n function fireDelta(value: string, offset: number, length: number) {\n if (deltaSubs.length === 0) return;\n const resolvedPath = buildResolvedPath(ptKeyStack, ptIndexStack, ptDepth);\n for (const sub of deltaSubs) {\n if (!matchPath(sub.segments, true)) continue;\n sub.callback({ type: 'delta', path: resolvedPath, value, offset, length });\n }\n }\n\n function ptScan(buf: Uint8Array, from: number, to: number) {\n for (let i = from; i < to; i++) {\n const c = buf[i];\n\n // Check if we're continuing a scalar from a previous chunk\n if (ptInScalar) {\n if (c === 0x2C || c === 0x7D || c === 0x5D || c === 0x20 || c === 0x0A || c === 0x0D || c === 0x09) {\n // Scalar ended — fire value complete for the whole span\n const scalarLen = i - ptScalarStart;\n fireValueComplete(buf.slice(ptScalarStart, i), ptScalarStart, scalarLen);\n // Live doc: finalize scalar\n try { ldSetValue(JSON.parse(ldScalarAccum)); } catch { ldSetValue(null); }\n ldScalarAccum = '';\n ptInScalar = false;\n ptScalarStart = -1;\n // Re-process this delimiter char (it may be comma/close bracket)\n i--;\n continue;\n }\n // Still inside the scalar, keep scanning\n ldScalarAccum += B2C[c];\n continue;\n }\n\n if (ptEscapeNext) {\n ptEscapeNext = false;\n if (ptInStringValue && ptSkipDepth < 0) {\n // Decode escape for delta\n let decoded: string;\n switch (c) {\n case 0x6E: decoded = '\\n'; break; // n\n case 0x72: decoded = '\\r'; break; // r\n case 0x74: decoded = '\\t'; break; // t\n case 0x22: decoded = '\"'; break; // \"\n case 0x5C: decoded = '\\\\'; break; // \\\n case 0x2F: decoded = '/'; break; // /\n case 0x62: decoded = '\\b'; break; // b\n case 0x66: decoded = '\\f'; break; // f\n default: decoded = B2C[c]; break;\n }\n ptDeltaAccum += decoded;\n // Live doc: accumulate decoded escape char (batched — flushed at string close or chunk end)\n if (ldInStringValue) {\n ldStringAccum += decoded;\n }\n if (ptAccumulatingKey) ptKeyAccum += decoded;\n } else if (ptAccumulatingKey) {\n ptKeyAccum += B2C[c];\n }\n continue;\n }\n\n if (ptInString) {\n if (c === 0x5C) { // backslash\n ptEscapeNext = true;\n continue;\n }\n if (c === ptQuoteChar) { // closing quote\n ptInString = false;\n if (ptAccumulatingKey) {\n ptAccumulatingKey = false;\n // Store key at parent depth (ptDepth-1) since we're inside the container\n if (ptDepth > 0) ptKeyStack[ptDepth - 1] = ptKeyAccum;\n // Live doc: store key for next value assignment\n ldCurrentKey = ptKeyAccum;\n ptKeyAccum = '';\n continue;\n }\n // End of string value\n if (ptInStringValue && ptSkipDepth < 0) {\n // Flush final delta — use tracked byte offsets, not decoded char count\n if (ptDeltaAccum && deltaSubs.length > 0) {\n const deltaByteLen = i - ptDeltaByteStart; // raw bytes from start to closing quote\n fireDelta(ptDeltaAccum, ptDeltaByteStart, deltaByteLen);\n }\n ptDeltaAccum = '';\n // Fire value complete for the string\n const start = ptStringValueStart;\n const len = i + 1 - start;\n fireValueComplete(buf.slice(start, i + 1), start, len);\n // Live doc: final update (value already in parent from ldSetValue('') at open)\n ldUpdateString(ldStringAccum);\n ldStringAccum = '';\n ldInStringValue = false;\n }\n ptInStringValue = false;\n ptStringValueStart = -1;\n continue;\n }\n // Regular string character\n if (ptInStringValue && ptSkipDepth < 0) {\n const ch = B2C[c];\n ptDeltaAccum += ch;\n // Live doc: accumulate string char (batched — flushed at string close or chunk end)\n if (ldInStringValue) ldStringAccum += ch;\n if (ptAccumulatingKey) ptKeyAccum += ch;\n } else if (ptAccumulatingKey) {\n ptKeyAccum += B2C[c];\n }\n continue;\n }\n\n // Not in string\n switch (c) {\n case 0x7B: { // {\n ptContextStack[ptDepth] = 'o';\n ptKeyStack[ptDepth] = null;\n ptIndexStack[ptDepth] = null;\n ptValueStartStack[ptDepth] = i;\n ptDepth++;\n ptExpectingKey = true;\n ptAfterColon = false;\n // Check if we should skip this depth\n if (ptSkipDepth < 0 && isPathSkipped()) {\n ptSkipDepth = ptDepth - 1;\n }\n // Live doc: create object and push to stack (only if not skipped)\n if (ptSkipDepth < 0) {\n const obj: Record<string, unknown> = {};\n ldSetValue(obj);\n ldStack.push(obj);\n }\n break;\n }\n case 0x5B: { // [\n ptContextStack[ptDepth] = 'a';\n ptKeyStack[ptDepth] = null;\n ptIndexStack[ptDepth] = 0;\n ptValueStartStack[ptDepth] = i;\n ptDepth++;\n ptExpectingKey = false;\n ptAfterColon = false;\n if (ptSkipDepth < 0 && isPathSkipped()) {\n ptSkipDepth = ptDepth - 1;\n }\n // Live doc: create array and push to stack (only if not skipped)\n if (ptSkipDepth < 0) {\n const arr: unknown[] = [];\n ldSetValue(arr);\n ldStack.push(arr);\n }\n break;\n }\n case 0x7D: // }\n case 0x5D: { // ]\n ptDepth--;\n const wasSkipped = ptSkipDepth >= 0;\n if (wasSkipped && ptDepth <= ptSkipDepth) {\n ptSkipDepth = -1;\n }\n // Fire value complete for the container (only if not exiting a skipped path)\n if (ptDepth >= 0 && ptSkipDepth < 0 && !wasSkipped) {\n const start = ptValueStartStack[ptDepth];\n const len = i + 1 - start;\n fireValueComplete(buf.slice(start, i + 1), start, len);\n }\n // Restore parent context\n if (ptDepth > 0) {\n const parentCtx = ptContextStack[ptDepth - 1];\n ptExpectingKey = parentCtx === 'o';\n ptAfterColon = false;\n }\n // Live doc: pop container from stack\n if (ptSkipDepth < 0) {\n ldStack.pop();\n }\n break;\n }\n case 0x22: // opening double quote\n case 0x27: { // opening single quote (JSON5)\n if (c === 0x27 && format !== \"json5\") break;\n ptInString = true;\n ptQuoteChar = c;\n if (ptExpectingKey && ptSkipDepth < 0) {\n ptAccumulatingKey = true;\n ptKeyAccum = '';\n } else if (ptAfterColon || ptDepth === 0 || (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'a')) {\n if (ptSkipDepth < 0 && !isPathSkipped()) {\n ptInStringValue = true;\n ptStringValueStart = i;\n ptDeltaAccum = '';\n ptDeltaByteStart = i + 1;\n ldStringAccum = '';\n ldInStringValue = true;\n ldSetValue('');\n }\n ptAfterColon = false;\n }\n break;\n }\n case 0x3A: { // colon\n ptExpectingKey = false;\n ptAfterColon = true;\n // Check pick filter after key is stored\n if (epPickPaths && ptSkipDepth < 0 && !epIsFieldPicked()) {\n ptSkipDepth = ptDepth - 1;\n ldCurrentKey = null;\n break;\n }\n // Live doc: pre-set null for pending key (overwritten when real value arrives)\n if (ptSkipDepth < 0 && ldCurrentKey !== null && ldStack.length > 0) {\n const parent = ldStack[ldStack.length - 1];\n if (!Array.isArray(parent)) {\n (parent as Record<string, unknown>)[ldCurrentKey] = null;\n ldActiveKey = ldCurrentKey;\n }\n }\n break;\n }\n case 0x2C: { // comma\n // Reset pick-based skip at comma boundary\n if (epPickPaths && ptSkipDepth >= 0 && ptDepth - 1 <= ptSkipDepth) {\n ptSkipDepth = -1;\n }\n // In array: increment index\n if (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'a') {\n const idx = ptIndexStack[ptDepth - 1];\n ptIndexStack[ptDepth - 1] = (idx ?? -1) + 1;\n // Check skip for new array index\n if (ptSkipDepth < 0 && isPathSkipped()) {\n ptSkipDepth = ptDepth - 1;\n }\n }\n // In object: expect next key\n if (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'o') {\n ptExpectingKey = true;\n ptKeyStack[ptDepth - 1] = null;\n }\n ptAfterColon = false;\n break;\n }\n default: {\n // JSON5 unquoted keys: identifier chars when expecting a key\n if (format === \"json5\" && ptExpectingKey && isJson5IdentStart(c)) {\n let j = i + 1;\n while (j < to && isJson5IdentPart(buf[j])) j++;\n const key = utf8Decoder.decode(buf.slice(i, j));\n if (ptDepth > 0) ptKeyStack[ptDepth - 1] = key;\n ldCurrentKey = key;\n ptExpectingKey = false;\n i = j - 1;\n break;\n }\n // Scalar values (numbers, true, false, null, JSON5: Infinity, NaN, hex)\n if (ptAfterColon || ptDepth === 0 || (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'a')) {\n const isScalarStart = (c >= 0x30 && c <= 0x39) || c === 0x2D || c === 0x74 || c === 0x66 || c === 0x6E\n || (format === \"json5\" && (c === 0x49 || c === 0x4E || c === 0x2B));\n if (isScalarStart) {\n if (ptSkipDepth < 0 && !isPathSkipped()) {\n let j = i + 1;\n while (j < to) {\n const sc = buf[j];\n if (sc === 0x2C || sc === 0x7D || sc === 0x5D || sc === 0x20 || sc === 0x0A || sc === 0x0D || sc === 0x09) break;\n j++;\n }\n if (j < to) {\n fireValueComplete(buf.slice(i, j), i, j - i);\n const scalarStr = utf8Decoder.decode(buf.slice(i, j));\n try { ldSetValue(format === \"json5\" ? parseJson5Scalar(scalarStr) : JSON.parse(scalarStr)); } catch { ldSetValue(null); }\n i = j - 1;\n } else {\n ptInScalar = true;\n ptScalarStart = i;\n ldScalarAccum = utf8Decoder.decode(buf.slice(i, to));\n i = to;\n }\n }\n ptAfterColon = false;\n }\n }\n break;\n }\n }\n }\n\n // Flush accumulated string to live doc parent (batched update)\n if (ldInStringValue && ldStringAccum) {\n ldUpdateString(ldStringAccum);\n }\n\n // Flush accumulated deltas at end of each feed for in-progress strings\n // This ensures onDelta fires incrementally per feed(), not just at string close\n if (ptInStringValue && ptDeltaAccum.length > 0 && ptSkipDepth < 0 && deltaSubs.length > 0) {\n fireDelta(ptDeltaAccum, ptDeltaByteStart, to - ptDeltaByteStart);\n ptDeltaAccum = '';\n ptDeltaByteStart = to;\n }\n }\n\n // --- EventParser object ---\n const self: EventParser = {\n on(path: string, ...args: any[]): EventParser {\n let schema: { safeParse: Function } | undefined;\n let callback: (event: PathEvent) => void;\n if (args.length === 2 && typeof args[0] === 'object' && args[0] !== null && 'safeParse' in args[0]) {\n schema = args[0];\n callback = args[1];\n } else {\n callback = args[0];\n }\n pathSubs.push({ segments: compilePath(path), callback, schema });\n return self;\n },\n\n onDelta(path: string, callback: (event: DeltaEvent) => void): EventParser {\n deltaSubs.push({ segments: compilePath(path), callback });\n return self;\n },\n\n onText(callback: (text: string) => void): EventParser {\n textCallbacks.push(callback);\n return self;\n },\n\n\n off(path: string, callback?: Function): EventParser {\n const compiled = compilePath(path);\n const eq = (a: PathSegment[], b: PathSegment[]) =>\n a.length === b.length && a.every((s, i) => s === b[i]);\n const remove = (subs: Sub[]) => {\n for (let i = subs.length - 1; i >= 0; i--) {\n if (eq(subs[i].segments, compiled) && (!callback || subs[i].callback === callback))\n subs.splice(i, 1);\n }\n };\n remove(pathSubs);\n remove(deltaSubs);\n return self;\n },\n\n feed(chunk: string | Uint8Array): FeedStatus {\n if (destroyed) throw new Error(\"EventParser already destroyed\");\n\n // Run through JSON seeker first\n let jsonContent: string | Uint8Array | null;\n if (typeof chunk === 'string') {\n jsonContent = seeker.feed(chunk);\n if (jsonContent === null) return FEED_STATUS[engine.stream_get_status(streamId)]!;\n } else if (seeker.isFeeding()) {\n // Fast path: skip string conversion when seeker is already feeding JSON\n jsonContent = chunk;\n } else {\n const str = utf8Decoder.decode(chunk);\n const result = seeker.feed(str);\n if (result === null) return FEED_STATUS[engine.stream_get_status(streamId)]!;\n jsonContent = encoder.encode(result);\n }\n\n // Feed to WASM stream\n const { ptr, len } = writeToWasm(jsonContent, feedBuf, 0, 4096);\n const prevLen = engine.stream_get_buffer_len(streamId);\n const status = engine.stream_feed(streamId, ptr, len);\n const newLen = engine.stream_get_buffer_len(streamId);\n\n // Scan new bytes with PathTracker (always runs — needed for live document builder)\n if (newLen > prevLen) {\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n // For end_early/complete: only scan up to the value boundary\n const scanEnd = (status === 1 || status === 3)\n ? Math.min(newLen, engine.stream_get_value_len(streamId))\n : newLen;\n if (scanEnd > prevLen) {\n const wasmBuf = new Uint8Array(engine.memory.buffer, bufPtr, scanEnd);\n ptScan(wasmBuf, prevLen, scanEnd);\n }\n // Finalize pending scalar on complete/end_early\n if ((status === 1 || status === 3) && ptInScalar && ldScalarAccum) {\n try { ldSetValue(JSON.parse(ldScalarAccum)); } catch { ldSetValue(null); }\n ldScalarAccum = '';\n ptInScalar = false;\n ptScalarStart = -1;\n }\n }\n\n const feedStatus = FEED_STATUS[status] || \"error\";\n\n return feedStatus;\n },\n\n getValue(): unknown | undefined {\n if (destroyed) throw new Error(\"EventParser already destroyed\");\n const status = engine.stream_get_status(streamId);\n if (status === 2) throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n\n if (status === 0) {\n // incomplete — return the incrementally-built live document\n let value: unknown = ldRoot;\n\n // Handle pending values not yet committed to ldRoot\n if (ptInScalar && ldScalarAccum) {\n const partial = ldScalarAccum;\n const completed = partial.startsWith('t') ? 'true'\n : partial.startsWith('f') ? 'false'\n : partial.startsWith('n') ? 'null'\n : partial;\n try {\n const parsed = JSON.parse(completed);\n if (ldStack.length === 0) value = parsed;\n } catch { /* leave as-is */ }\n } else if (ldInStringValue && ldStack.length === 0) {\n value = ldStringAccum;\n }\n\n if (value === undefined) return undefined;\n return value;\n }\n\n // complete or end_early\n let value: unknown;\n if (epPickPaths) {\n // Pick active — return the filtered live doc\n value = ldRoot;\n } else {\n // Full WASM parse for correctness\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n const valueLen = engine.stream_get_value_len(streamId);\n // Pad after the full buffer (not after valueLen) to preserve remaining data for JSONL\n const fullLen = engine.stream_get_buffer_len(streamId);\n new Uint8Array(engine.memory.buffer, bufPtr + fullLen, 64).fill(0x20);\n const docId = FORMAT_CODE === 2\n ? engine.doc_parse_fmt(bufPtr, valueLen, 2)\n : engine.doc_parse(bufPtr, valueLen);\n if (docId < 0) {\n const errorCode = engine.get_error_code();\n const msg = ERROR_MESSAGES[errorCode] || `Parse error (code ${errorCode})`;\n throw new SyntaxError(`VectorJSON: ${msg}`);\n }\n value = buildDocRoot(docId);\n }\n // Schema validation on complete\n if (epSchema) {\n const result = epSchema.safeParse(value);\n if (!result.success) return undefined;\n return result.data;\n }\n return value;\n },\n\n getRemaining(): Uint8Array | null {\n if (destroyed) return null;\n const rPtr = (engine.stream_get_remaining_ptr(streamId) >>> 0);\n const rLen = engine.stream_get_remaining_len(streamId);\n if (rLen > 0) {\n const copy = new Uint8Array(rLen);\n copy.set(new Uint8Array(engine.memory.buffer, rPtr, rLen));\n return copy;\n }\n return null;\n },\n\n getStatus(): FeedStatus {\n if (destroyed) return \"error\";\n return FEED_STATUS[engine.stream_get_status(streamId)] || \"error\";\n },\n\n getRawBuffer(): ArrayBuffer | null {\n if (destroyed) return null;\n const bufPtr = engine.stream_get_buffer_ptr(streamId) >>> 0;\n const bufLen = engine.stream_get_buffer_len(streamId);\n if (bufLen === 0) return null;\n const copy = new ArrayBuffer(bufLen);\n new Uint8Array(copy).set(new Uint8Array(engine.memory.buffer, bufPtr, bufLen));\n return copy;\n },\n\n getTapeBuffer(): ArrayBuffer | null {\n return destroyed ? null : streamExportTape(streamId);\n },\n\n destroy(): void {\n if (!destroyed) {\n engine.stream_destroy(streamId);\n destroyed = true;\n }\n },\n\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown | undefined> {\n if (!source) throw new Error(\"No source provided — use feed() for push-based parsing\");\n const ep = this;\n const reader = isReadableStream(source) ? source.getReader() : null;\n const iter = reader ? null : (source as AsyncIterable<any>)[Symbol.asyncIterator]();\n let finished = false;\n // JSONL: queue of completed values from a single feed\n const jsonlQueue: unknown[] = [];\n\n return {\n async next(): Promise<IteratorResult<unknown | undefined>> {\n // Drain JSONL queue first\n if (jsonlQueue.length > 0) {\n return { done: false, value: jsonlQueue.shift() };\n }\n\n if (finished) {\n ep.destroy();\n return { done: true as const, value: undefined };\n }\n\n const result = reader\n ? await reader.read()\n : await iter!.next();\n\n if (result.done || !result.value) {\n finished = true;\n ep.destroy();\n return { done: true as const, value: undefined };\n }\n\n const status = ep.feed(result.value);\n\n if (status === \"error\") {\n finished = true;\n ep.destroy();\n throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n }\n\n if (format === \"jsonl\" && (status === \"complete\" || status === \"end_early\")) {\n const value = ep.getValue();\n // Reset for next value\n engine.stream_reset_for_next(streamId);\n ptReset();\n seeker.reset();\n // Check if remaining bytes already contain complete values\n let nextStatus = engine.stream_get_status(streamId);\n while (nextStatus === 1 || nextStatus === 3) { // complete or end_early\n const bufPtr2 = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n const newLen2 = engine.stream_get_buffer_len(streamId);\n const scanEnd2 = Math.min(newLen2, engine.stream_get_value_len(streamId));\n if (scanEnd2 > 0) {\n const wasmBuf2 = new Uint8Array(engine.memory.buffer, bufPtr2, scanEnd2);\n ptScan(wasmBuf2, 0, scanEnd2);\n }\n const nextVal = ep.getValue();\n jsonlQueue.push(nextVal);\n engine.stream_reset_for_next(streamId);\n ptReset();\n seeker.reset();\n nextStatus = engine.stream_get_status(streamId);\n }\n return { done: false, value };\n }\n\n if (status === \"complete\" || status === \"end_early\") {\n finished = true;\n return { done: false, value: ep.getValue() };\n }\n\n return { done: false, value: ep.getValue() };\n },\n async return() {\n finished = true;\n ep.destroy();\n if (reader) reader.cancel();\n return { done: true as const, value: undefined };\n },\n [Symbol.asyncIterator]() { return this; },\n };\n },\n };\n\n return self;\n },\n\n createParser(arg?: any): StreamingParser {\n // --- Argument parsing: detect legacy schema vs options object ---\n let schema: { safeParse: (v: unknown) => { success: boolean; data?: unknown } } | undefined;\n let pickPaths: PathSegment[][] | null = null;\n let source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string> | undefined;\n let format: JsonFormat = \"json\";\n\n if (arg && typeof arg === 'object' && 'safeParse' in arg && !('source' in arg) && !('schema' in arg)) {\n // Legacy: createParser(zodSchema)\n schema = arg;\n pickPaths = extractSchemaKeys(arg);\n } else if (arg && typeof arg === 'object' && ('source' in arg || 'schema' in arg || 'format' in arg)) {\n // createParser({ schema, source, format })\n schema = arg.schema;\n source = arg.source;\n format = arg.format ?? \"json\";\n if (arg.schema) {\n pickPaths = extractSchemaKeys(arg.schema);\n }\n }\n const FORMAT_CODE = format === \"jsonl\" ? 1 : format === \"json5\" ? 2 : 0;\n const streamId = engine.stream_create(FORMAT_CODE);\n if (streamId < 0) {\n throw new Error(\"VectorJSON: Failed to create streaming parser (max 4 concurrent)\");\n }\n\n let destroyed = false;\n let cachedValue: unknown = UNCACHED;\n let cachedRemaining: Uint8Array | null | undefined; // undefined = not yet cached\n\n // --- Live document builder state (same approach as EventParser) ---\n let ldRoot: unknown = undefined;\n let ldStack: (Record<string, unknown> | unknown[])[] = [];\n let ldCurrentKey: string | null = null;\n let ldActiveKey: string | null = null;\n let ldStringAccum = '';\n let ldInStringValue = false;\n let ldScalarAccum = '';\n\n // Byte scanner state\n let scanInString = false;\n let scanQuoteChar = 0x22; // tracks which quote (\" or ') opened the current string\n let scanEscapeNext = false;\n let scanDepth = 0;\n let scanContext: ('o' | 'a')[] = [];\n let scanExpectingKey = false;\n let scanAfterColon = false;\n let scanKeyAccum = '';\n let scanAccumulatingKey = false;\n let scanInScalar = false;\n\n // --- Pick state ---\n // spKeyStack tracks the current key at each depth for pick matching.\n // spSkipDepth >= 0 means we're inside a non-picked field and should skip building.\n let spKeyStack: (string | null)[] = [];\n let spSkipDepth = -1;\n\n /** Reset all live document builder and scanner state (used by JSONL resetForNext). */\n function spReset() {\n ldRoot = undefined;\n ldStack.length = 0;\n ldCurrentKey = null;\n ldActiveKey = null;\n ldStringAccum = '';\n ldInStringValue = false;\n ldScalarAccum = '';\n scanInString = false;\n scanQuoteChar = 0x22;\n scanEscapeNext = false;\n scanDepth = 0;\n scanContext.length = 0;\n scanExpectingKey = false;\n scanAfterColon = false;\n scanKeyAccum = '';\n scanAccumulatingKey = false;\n scanInScalar = false;\n spKeyStack.length = 0;\n spSkipDepth = -1;\n prevLen = 0;\n cachedValue = UNCACHED;\n cachedRemaining = undefined;\n }\n\n /** Check if the current path (from spKeyStack + scanDepth) matches any pick path.\n * Returns true if current path is an ancestor, descendant, or exact match.\n * Array levels (null entries in spKeyStack) are transparent — skipped during comparison. */\n function isFieldPicked(): boolean {\n if (!pickPaths) return true;\n // Build effective key path (skip null = array levels)\n const effective: string[] = [];\n for (let i = 0; i < scanDepth; i++) {\n if (spKeyStack[i] !== null) effective.push(spKeyStack[i]!);\n }\n for (const pick of pickPaths) {\n const pickLen = pick.length;\n const effLen = effective.length;\n const compareLen = Math.min(effLen, pickLen);\n let matched = true;\n for (let i = 0; i < compareLen; i++) {\n const seg = pick[i];\n if (seg === '*') continue; // wildcard matches anything\n if (typeof seg === 'number') continue; // index matching — arrays are transparent\n if (effective[i] !== seg) { matched = false; break; }\n }\n if (matched) return true; // ancestor, descendant, or exact match\n }\n return false;\n }\n\n function spSetValue(value: unknown) {\n if (ldStack.length === 0) { ldRoot = value; return; }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) { parent.push(value); }\n else if (ldCurrentKey !== null) { parent[ldCurrentKey] = value; ldActiveKey = ldCurrentKey; ldCurrentKey = null; }\n }\n\n function spUpdateString(str: string) {\n if (ldStack.length === 0) { ldRoot = str; return; }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) {\n if (parent.length > 0) parent[parent.length - 1] = str;\n else parent.push(str);\n } else if (ldActiveKey !== null) { parent[ldActiveKey] = str; }\n }\n\n /** Scan new bytes to incrementally build the live JS document.\n * When pickPaths is set, fields not matching any pick path are skipped. */\n function spScan(buf: Uint8Array, from: number, to: number) {\n const picking = pickPaths !== null;\n for (let i = from; i < to; i++) {\n const c = buf[i];\n\n if (scanInScalar) {\n if (c === 0x2C || c === 0x7D || c === 0x5D || c === 0x20 || c === 0x0A || c === 0x0D || c === 0x09) {\n if (spSkipDepth < 0) {\n try { spSetValue(JSON.parse(ldScalarAccum)); } catch { spSetValue(null); }\n }\n ldScalarAccum = '';\n scanInScalar = false;\n i--; continue;\n }\n if (spSkipDepth < 0) ldScalarAccum += B2C[c];\n continue;\n }\n\n if (scanEscapeNext) {\n scanEscapeNext = false;\n if (ldInStringValue && spSkipDepth < 0) {\n let decoded: string;\n switch (c) {\n case 0x6E: decoded = '\\n'; break;\n case 0x72: decoded = '\\r'; break;\n case 0x74: decoded = '\\t'; break;\n case 0x22: decoded = '\"'; break;\n case 0x5C: decoded = '\\\\'; break;\n case 0x2F: decoded = '/'; break;\n case 0x62: decoded = '\\b'; break;\n case 0x66: decoded = '\\f'; break;\n default: decoded = B2C[c]; break;\n }\n ldStringAccum += decoded;\n }\n if (scanAccumulatingKey) scanKeyAccum += B2C[c];\n continue;\n }\n\n if (scanInString) {\n if (c === 0x5C) { scanEscapeNext = true; continue; }\n if (c === scanQuoteChar) {\n scanInString = false;\n if (scanAccumulatingKey) {\n scanAccumulatingKey = false;\n ldCurrentKey = scanKeyAccum;\n // Store key in spKeyStack for pick path matching\n if (picking && scanDepth > 0) {\n spKeyStack[scanDepth - 1] = scanKeyAccum;\n }\n scanKeyAccum = '';\n continue;\n }\n if (ldInStringValue && spSkipDepth < 0) {\n spUpdateString(ldStringAccum);\n ldStringAccum = '';\n ldInStringValue = false;\n }\n continue;\n }\n if (ldInStringValue && spSkipDepth < 0) ldStringAccum += B2C[c];\n if (scanAccumulatingKey) scanKeyAccum += B2C[c];\n continue;\n }\n\n switch (c) {\n case 0x7B: {\n scanContext[scanDepth] = 'o';\n if (picking) spKeyStack[scanDepth] = null;\n scanDepth++;\n scanExpectingKey = true;\n scanAfterColon = false;\n if (spSkipDepth < 0) {\n const obj: Record<string, unknown> = {};\n spSetValue(obj);\n ldStack.push(obj);\n }\n break;\n }\n case 0x5B: {\n scanContext[scanDepth] = 'a';\n if (picking) spKeyStack[scanDepth] = null;\n scanDepth++;\n scanExpectingKey = false;\n scanAfterColon = false;\n if (spSkipDepth < 0) {\n const arr: unknown[] = [];\n spSetValue(arr);\n ldStack.push(arr);\n }\n break;\n }\n case 0x7D: case 0x5D: {\n scanDepth--;\n if (spSkipDepth >= 0) {\n if (scanDepth <= spSkipDepth) {\n spSkipDepth = -1;\n // Container was opened before skip started — pop it\n ldStack.pop();\n }\n // else: still inside skipped region, container wasn't pushed\n } else {\n ldStack.pop();\n }\n if (scanDepth > 0) {\n scanExpectingKey = scanContext[scanDepth - 1] === 'o';\n scanAfterColon = false;\n }\n break;\n }\n case 0x22: // double quote\n case 0x27: { // single quote (JSON5)\n if (c === 0x27 && format !== \"json5\") break;\n scanInString = true;\n scanQuoteChar = c;\n const isValue = scanAfterColon || scanDepth === 0 || (scanDepth > 0 && scanContext[scanDepth - 1] === 'a');\n if (scanExpectingKey) {\n scanAccumulatingKey = true;\n scanKeyAccum = '';\n } else if (isValue && spSkipDepth < 0) {\n ldStringAccum = '';\n ldInStringValue = true;\n spSetValue('');\n scanAfterColon = false;\n }\n break;\n }\n case 0x3A: {\n scanExpectingKey = false;\n scanAfterColon = true;\n // Check pick filter after key is stored\n if (picking && spSkipDepth < 0 && !isFieldPicked()) {\n spSkipDepth = scanDepth - 1;\n ldCurrentKey = null; // discard key since field is skipped\n break;\n }\n // Pre-set null for the pending key — overwritten when the real\n // value arrives. Ensures getValue() shows {\"key\": null} while\n // the value is still being streamed.\n if (spSkipDepth < 0 && ldCurrentKey !== null && ldStack.length > 0) {\n const parent = ldStack[ldStack.length - 1];\n if (!Array.isArray(parent)) {\n (parent as Record<string, unknown>)[ldCurrentKey] = null;\n ldActiveKey = ldCurrentKey;\n }\n }\n break;\n }\n case 0x2C: {\n if (picking && spSkipDepth >= 0 && scanDepth - 1 <= spSkipDepth) {\n spSkipDepth = -1;\n }\n if (scanDepth > 0 && scanContext[scanDepth - 1] === 'o') {\n scanExpectingKey = true;\n if (picking) spKeyStack[scanDepth - 1] = null;\n }\n scanAfterColon = false;\n break;\n }\n default: {\n // JSON5 unquoted keys: identifier chars when expecting a key\n if (format === \"json5\" && scanExpectingKey && isJson5IdentStart(c)) {\n let j = i + 1;\n while (j < to && isJson5IdentPart(buf[j])) j++;\n const key = utf8Decoder.decode(buf.slice(i, j));\n ldCurrentKey = key;\n if (picking && scanDepth > 0) spKeyStack[scanDepth - 1] = key;\n scanExpectingKey = false;\n i = j - 1; // -1 because loop increments\n break;\n }\n if (spSkipDepth >= 0) break;\n const isValuePos = scanAfterColon || scanDepth === 0 || (scanDepth > 0 && scanContext[scanDepth - 1] === 'a');\n if (isValuePos) {\n // JSON5 hex number: 0x...\n if (format === \"json5\" && c === 0x30 && i + 1 < to && (buf[i + 1] === 0x78 || buf[i + 1] === 0x58)) {\n let j = i + 2;\n while (j < to) {\n const h = buf[j];\n if (!((h >= 0x30 && h <= 0x39) || (h >= 0x61 && h <= 0x66) || (h >= 0x41 && h <= 0x46))) break;\n j++;\n }\n if (j < to) {\n const hexStr = utf8Decoder.decode(buf.slice(i, j));\n spSetValue(parseInt(hexStr, 16));\n i = j - 1;\n } else {\n scanInScalar = true;\n ldScalarAccum = utf8Decoder.decode(buf.slice(i, to));\n i = to;\n }\n scanAfterColon = false;\n break;\n }\n const isScalarStart = (c >= 0x30 && c <= 0x39) || c === 0x2D || c === 0x74 || c === 0x66 || c === 0x6E\n || (format === \"json5\" && (c === 0x49 || c === 0x4E || c === 0x2B));\n if (isScalarStart) {\n let j = i + 1;\n while (j < to) {\n const sc = buf[j];\n if (sc === 0x2C || sc === 0x7D || sc === 0x5D || sc === 0x20 || sc === 0x0A || sc === 0x0D || sc === 0x09) break;\n j++;\n }\n if (j < to) {\n const scalarStr = utf8Decoder.decode(buf.slice(i, j));\n try { spSetValue(format === \"json5\" ? parseJson5Scalar(scalarStr) : JSON.parse(scalarStr)); } catch { spSetValue(null); }\n i = j - 1;\n } else {\n scanInScalar = true;\n ldScalarAccum = utf8Decoder.decode(buf.slice(i, to));\n i = to;\n }\n scanAfterColon = false;\n }\n }\n break;\n }\n }\n }\n\n // End-of-chunk: flush accumulated string to parent (batched update)\n if (ldInStringValue && ldStringAccum && spSkipDepth < 0) {\n spUpdateString(ldStringAccum);\n }\n\n // End-of-chunk: if we're still accumulating a scalar and stream says complete,\n // finalize it now (root-level scalars like \"42\" end at end-of-buffer)\n if (scanInScalar) {\n const status = engine.stream_get_status(streamId);\n if (status === 1 || status === 3) { // complete or end_early\n // Autocomplete partial keywords (e.g., \"tr\" → \"true\")\n const s = ldScalarAccum;\n const completed = s.startsWith('t') ? 'true'\n : s.startsWith('f') ? 'false'\n : s.startsWith('n') ? 'null' : s;\n try { spSetValue(JSON.parse(completed)); } catch { spSetValue(null); }\n ldScalarAccum = '';\n scanInScalar = false;\n }\n }\n }\n\n const ensureRemaining = () => {\n if (cachedRemaining !== undefined) return;\n const rPtr = (engine.stream_get_remaining_ptr(streamId) >>> 0);\n const rLen = engine.stream_get_remaining_len(streamId);\n if (rLen > 0) {\n cachedRemaining = new Uint8Array(rLen);\n cachedRemaining.set(new Uint8Array(engine.memory.buffer, rPtr, rLen));\n } else {\n cachedRemaining = null;\n }\n };\n\n let prevLen = 0;\n\n return {\n feed(chunk: Uint8Array | string): FeedStatus {\n if (destroyed) throw new Error(\"Parser already destroyed\");\n const chunkLen = typeof chunk === \"string\" ? chunk.length : chunk.byteLength;\n if (chunkLen === 0) return FEED_STATUS[engine.stream_get_status(streamId)]!;\n const { ptr, len } = writeToWasm(chunk, feedBuf, 0, 4096);\n const rawStatus = engine.stream_feed(streamId, ptr, len);\n // Scan new bytes for live document building\n const newLen = engine.stream_get_buffer_len(streamId);\n if (newLen > prevLen) {\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n // For end_early/complete: only scan up to the value boundary, not trailing data\n const scanEnd = (rawStatus === 1 || rawStatus === 3)\n ? Math.min(newLen, engine.stream_get_value_len(streamId))\n : newLen;\n if (scanEnd > prevLen) {\n const wasmBuf = new Uint8Array(engine.memory.buffer, bufPtr, scanEnd);\n spScan(wasmBuf, prevLen, scanEnd);\n }\n prevLen = newLen;\n }\n return FEED_STATUS[rawStatus] || \"error\";\n },\n\n getValue(): unknown | undefined {\n if (destroyed) throw new Error(\"Parser already destroyed\");\n if (cachedValue !== UNCACHED) return cachedValue;\n\n const status = engine.stream_get_status(streamId);\n if (status === 2) {\n throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n }\n\n if (status === 0) {\n // incomplete — return the incrementally-built live document\n // The returned object IS the live object — it grows as more data arrives.\n // Callers get a reference that automatically reflects future feed() calls.\n let value: unknown = ldRoot;\n\n // Handle pending partial values that haven't been committed to ldRoot yet:\n if (scanInScalar && ldScalarAccum) {\n // Pending scalar: try to autocomplete (e.g., \"tr\" → true)\n const partial = ldScalarAccum;\n const completed = partial.startsWith('t') ? 'true'\n : partial.startsWith('f') ? 'false'\n : partial.startsWith('n') ? 'null'\n : partial;\n try {\n const parsed = JSON.parse(completed);\n if (ldStack.length === 0) value = parsed;\n } catch { /* partial number like \"1.\" — leave as-is */ }\n } else if (ldInStringValue && ldStack.length === 0) {\n // Root-level string still being accumulated\n value = ldStringAccum;\n }\n\n if (value === undefined) return undefined;\n // Incomplete: return partial value without schema gating.\n // User checks getStatus() to know it's not final.\n return value;\n }\n\n // complete or end_early — finalize any pending scalar\n if (scanInScalar && ldScalarAccum) {\n try { spSetValue(JSON.parse(ldScalarAccum)); } catch { spSetValue(null); }\n ldScalarAccum = '';\n scanInScalar = false;\n }\n ensureRemaining();\n\n let value: unknown = ldRoot;\n if (schema) {\n const result = schema.safeParse(value);\n if (!result.success) return (cachedValue = undefined) as undefined;\n value = result.data;\n }\n return (cachedValue = value);\n },\n\n getRemaining(): Uint8Array | null {\n if (destroyed) return null;\n ensureRemaining();\n return cachedRemaining!;\n },\n\n getStatus(): FeedStatus {\n if (destroyed) return \"error\";\n const status = engine.stream_get_status(streamId);\n return FEED_STATUS[status] || \"error\";\n },\n\n getRawBuffer(): ArrayBuffer | null {\n if (destroyed) return null;\n const bufPtr = engine.stream_get_buffer_ptr(streamId) >>> 0;\n const bufLen = engine.stream_get_buffer_len(streamId);\n if (bufLen === 0) return null;\n const copy = new ArrayBuffer(bufLen);\n new Uint8Array(copy).set(new Uint8Array(engine.memory.buffer, bufPtr, bufLen));\n return copy;\n },\n\n getTapeBuffer(): ArrayBuffer | null {\n return destroyed ? null : streamExportTape(streamId);\n },\n\n destroy(): void {\n if (!destroyed) {\n engine.stream_destroy(streamId);\n destroyed = true;\n cachedValue = UNCACHED;\n }\n },\n\n /** Reset parser state for the next value in JSONL mode. Returns remaining byte count. */\n resetForNext(): number {\n const remain = engine.stream_reset_for_next(streamId);\n spReset();\n // Scan any leftover bytes that were shifted to the front\n if (remain > 0) {\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n const newLen = engine.stream_get_buffer_len(streamId);\n const status = engine.stream_get_status(streamId);\n const scanEnd = (status === 1 || status === 3)\n ? Math.min(newLen, engine.stream_get_value_len(streamId))\n : newLen;\n if (scanEnd > 0) {\n const wasmBuf = new Uint8Array(engine.memory.buffer, bufPtr, scanEnd);\n spScan(wasmBuf, 0, scanEnd);\n }\n prevLen = newLen;\n }\n return remain;\n },\n\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown | undefined> {\n if (!source) throw new Error(\"No source provided — use feed() for push-based parsing\");\n const self = this;\n const reader = isReadableStream(source) ? source.getReader() : null;\n const iter = reader ? null : (source as AsyncIterable<any>)[Symbol.asyncIterator]();\n let finished = false;\n const jsonlQueue: unknown[] = [];\n\n return {\n async next(): Promise<IteratorResult<unknown | undefined>> {\n // Drain JSONL queue first\n if (jsonlQueue.length > 0) {\n return { done: false, value: jsonlQueue.shift() };\n }\n\n if (finished) {\n self.destroy();\n return { done: true as const, value: undefined };\n }\n\n const result = reader\n ? await reader.read()\n : await iter!.next();\n\n if (result.done || !result.value) {\n finished = true;\n self.destroy();\n return { done: true as const, value: undefined };\n }\n\n const status = self.feed(result.value);\n\n if (status === \"error\") {\n finished = true;\n self.destroy();\n throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n }\n\n if (format === \"jsonl\" && (status === \"complete\" || status === \"end_early\")) {\n const value = self.getValue();\n self.resetForNext();\n // Check if remaining bytes already contain complete values\n let nextStatus = engine.stream_get_status(streamId);\n while (nextStatus === 1 || nextStatus === 3) {\n const nextVal = self.getValue();\n jsonlQueue.push(nextVal);\n self.resetForNext();\n nextStatus = engine.stream_get_status(streamId);\n }\n return { done: false, value };\n }\n\n if (status === \"complete\" || status === \"end_early\") {\n finished = true;\n return { done: false, value: self.getValue() };\n }\n\n return { done: false, value: self.getValue() };\n },\n async return() {\n finished = true;\n self.destroy();\n if (reader) reader.cancel();\n return { done: true as const, value: undefined };\n },\n [Symbol.asyncIterator]() { return this; },\n };\n },\n };\n },\n\n importTape(buf: ArrayBuffer): unknown {\n if (buf.byteLength < 8) throw new Error(\"VectorJSON: tape buffer too small\");\n const bytes = new Uint8Array(buf);\n const wasmPtr = engine.alloc(bytes.length) >>> 0;\n if (wasmPtr === 0) throw new Error(\"VectorJSON: allocation failed for tape import\");\n new Uint8Array(engine.memory.buffer, wasmPtr, bytes.length).set(bytes);\n const docId = engine.doc_import_tape(wasmPtr, bytes.length);\n engine.dealloc(wasmPtr, bytes.length);\n if (docId < 0) throw new Error(\"VectorJSON: tape import failed (invalid buffer or no free slots)\");\n return buildDocRoot(docId);\n },\n };\n\n return _instance;\n}\n\n// --- Top-level await: auto-initialize with embedded WASM ---\nconst _vj = await init();\n\n/** Parse a JSON string or Uint8Array. Synchronous — no init needed. */\nexport const parse = _vj.parse;\n\n/** Parse partial/incomplete JSON. Compatible with Vercel AI SDK's parsePartialJson. */\nexport const parsePartialJson = _vj.parsePartialJson;\n\n/** Deep-compare two values for structural equality. WASM-accelerated for VJ proxies. */\nexport const deepCompare = _vj.deepCompare;\n\n/** Create a streaming parser for incremental JSON parsing. */\nexport const createParser = _vj.createParser;\n\n/** Create an event-driven streaming parser with path subscriptions. */\nexport const createEventParser = _vj.createEventParser;\n\n/** Eagerly materialize a lazy proxy into plain JS objects. */\nexport const materialize = _vj.materialize;\n\n/** Import a packed tape buffer into a lazy Proxy (zero-parse transfer from Worker). */\nexport const importTape = _vj.importTape;\n"
6
+ "/**\n * VectorJSON — SIMD-accelerated JSON parser\n *\n * Architecture:\n * JS bytes → [Zig + zimdjson SIMD] → tape → lazy Proxy over doc slots\n *\n * The Zig engine (engine.wasm) parses JSON bytes into an internal tape format\n * using SIMD-accelerated algorithms from zimdjson.\n *\n * Primary parse path: doc-slot (tape-direct navigation via Zig exports).\n * FinalizationRegistry auto-frees doc slots when the Proxy is GC'd.\n * Users CAN call .free() to release immediately if desired.\n */\n\nimport { wasmBase64 } from \"./engine-wasm.generated.js\";\n\nfunction decodeBase64(b64: string): Uint8Array {\n if (typeof Buffer !== \"undefined\")\n return new Uint8Array(Buffer.from(b64, \"base64\").buffer);\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// --- Types ---\n\nexport type ParseStatus = \"complete\" | \"complete_early\" | \"incomplete\" | \"invalid\";\nexport type FeedStatus = \"incomplete\" | \"complete\" | \"error\" | \"end_early\";\n\n/** Result shape compatible with Vercel AI SDK's parsePartialJson */\nexport type PartialJsonState =\n | \"successful-parse\"\n | \"repaired-parse\"\n | \"failed-parse\";\n\n/** Discriminated union — narrows `value` type when you check `state`. */\nexport type PartialJsonResult<T = unknown> =\n | { value: T; state: \"successful-parse\" }\n | { value: T | undefined; state: \"repaired-parse\" }\n | { value: undefined; state: \"failed-parse\" };\n\n/** Recursively make all properties optional — matches Vercel AI SDK's DeepPartial. */\nexport type DeepPartial<T> =\n T extends object\n ? T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : { [K in keyof T]?: DeepPartial<T[K]> }\n : T;\n\nexport interface StreamingParser<T = unknown> {\n /** Feed a chunk of bytes to the parser. Only NEW bytes are scanned (O(chunk_size)). */\n feed(chunk: Uint8Array | string): FeedStatus;\n /** Get the parsed value. Returns autocompleted partial value while incomplete, final value when complete; throws on parse errors. */\n getValue(): T | undefined;\n /** Get remaining bytes after end_early status (for NDJSON). */\n getRemaining(): Uint8Array | null;\n /** Get the current status without feeding data. */\n getStatus(): FeedStatus;\n /** Copy the accumulated stream buffer into a new ArrayBuffer (for Worker postMessage transfer). */\n getRawBuffer(): ArrayBuffer | null;\n /** Export parsed tape + input as a packed ArrayBuffer for zero-parse transfer. */\n getTapeBuffer(): ArrayBuffer | null;\n /** Reset for next value in JSONL mode. Shifts remaining bytes, resets state. Returns remaining byte count. */\n resetForNext(): number;\n /** Destroy the parser and free all resources. */\n destroy(): void;\n /** Async iteration over partial values when a source was provided. */\n [Symbol.asyncIterator](): AsyncIterableIterator<T | undefined>;\n}\n\n/** Zod-like schema type for createParser options. */\nexport type ZodLike<T> = { safeParse: (v: unknown) => { success: boolean; data?: T } };\n\n/** Format for JSON parsing. */\nexport type JsonFormat = \"json\" | \"jsonl\" | \"json5\";\n\n/** Options for createParser when using an options object. */\nexport interface CreateParserOptions<T = unknown> {\n /** Schema for validation on complete values. */\n schema?: ZodLike<T>;\n /** Stream source — makes the parser async-iterable via for-await. */\n source?: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string>;\n /** Format: \"json\" (default), \"jsonl\" (newline-delimited), or \"json5\" (relaxed). */\n format?: JsonFormat;\n}\n\nexport interface ParseResult {\n status: ParseStatus;\n value?: unknown;\n remaining?: Uint8Array;\n error?: string;\n /** Check if a value (object/array) from an incomplete parse is fully present in the original input. */\n isComplete(value: unknown): boolean;\n /** Full materialization via JSON.parse — fastest way to get a plain JS object tree. */\n toJSON(): unknown;\n}\n\n// --- EventParser Types ---\n\n/** Compiled path segment: string = key, number = index, '*' = wildcard */\nexport type PathSegment = string | number;\n\nexport interface PathEvent {\n type: 'value';\n path: string;\n value: unknown;\n offset: number;\n length: number;\n index?: number;\n key?: string;\n matches: (string | number)[];\n}\n\nexport interface DeltaEvent {\n type: 'delta';\n path: string;\n value: string;\n offset: number;\n length: number;\n}\n\nexport interface EventParser {\n on(path: string, callback: (event: PathEvent) => void): EventParser;\n on<T>(path: string, schema: { safeParse: (v: unknown) => { success: boolean; data?: T } }, callback: (event: PathEvent & { value: T }) => void): EventParser;\n onDelta(path: string, callback: (event: DeltaEvent) => void): EventParser;\n onText(callback: (text: string) => void): EventParser;\n off(path: string, callback?: Function): EventParser;\n feed(chunk: string | Uint8Array): FeedStatus;\n getValue(): unknown | undefined;\n getRemaining(): Uint8Array | null;\n getStatus(): FeedStatus;\n /** Copy the accumulated stream buffer into a new ArrayBuffer (for Worker postMessage transfer). */\n getRawBuffer(): ArrayBuffer | null;\n /** Export parsed tape + input as a packed ArrayBuffer for zero-parse transfer. */\n getTapeBuffer(): ArrayBuffer | null;\n destroy(): void;\n /** Async iteration over partial values when a source was provided. */\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown | undefined>;\n}\n\nexport interface VectorJSON {\n /**\n * Parse a JSON string or Uint8Array into a value.\n * Primitives (null, boolean, number) are returned directly as JS values.\n * Objects and arrays return Proxy objects — values materialize only when accessed.\n * Call .free() on the result to release resources immediately, or let\n * FinalizationRegistry handle it automatically when the Proxy is GC'd.\n */\n parse(input: string | Uint8Array): ParseResult;\n /**\n * Create a streaming parser for incremental JSON parsing.\n * Feed chunks as they arrive; only new bytes are processed per call.\n * Total work is O(N) regardless of how many chunks — no re-parsing.\n *\n * ```ts\n * const parser = vj.createParser();\n * for await (const chunk of stream) {\n * const status = parser.feed(chunk);\n * if (status === \"complete\" || status === \"end_early\") {\n * const value = parser.getValue();\n * // use value...\n * parser.destroy();\n * break;\n * }\n * }\n * ```\n */\n createParser(): StreamingParser;\n /**\n * Create a streaming parser with schema validation.\n * `getValue()` returns `undefined` when the schema rejects the value (same as incomplete).\n * T is auto-inferred from the schema — no manual `<T>` needed.\n *\n * ```ts\n * const parser = vj.createParser(z.object({ name: z.string() }));\n * parser.feed('{\"name\":\"Alice\"}');\n * parser.getValue(); // { name: string } | undefined\n * ```\n */\n createParser<T>(schema: ZodLike<T>): StreamingParser<T>;\n /**\n * Create a streaming parser with options: field picking, schema, and/or stream source.\n *\n * ```ts\n * // Pick specific fields + async iteration:\n * const parser = vj.createParser({\n * pick: [\"name\", \"age\"],\n * source: response.body,\n * });\n * for await (const partial of parser) {\n * console.log(partial); // only picked fields\n * }\n * ```\n */\n createParser<T = unknown>(options: CreateParserOptions<T>): StreamingParser<T>;\n /**\n * Deep-compare two values for structural equality.\n * When both values are VJ proxies, comparison happens entirely in WASM\n * (walks tapes in linear memory — zero JS allocations, zero Proxy traps).\n * Falls back to JSON.stringify comparison for plain JS objects.\n *\n * By default, object key order does not matter (`{\"a\":1,\"b\":2}` equals `{\"b\":2,\"a\":1}`).\n * Pass `{ ordered: true }` for faster key-order-sensitive comparison.\n */\n deepCompare(a: unknown, b: unknown, options?: { ignoreKeyOrder?: boolean }): boolean;\n /**\n * Eagerly materialize a lazy proxy into plain JS objects.\n * If the value is already a plain JS value, returns it as-is.\n */\n materialize(value: unknown): unknown;\n /**\n * Drop-in replacement for AI SDK partial JSON parsers.\n * Parses a potentially incomplete JSON string and returns a plain JS object.\n *\n * Compatible with Vercel AI SDK's `parsePartialJson` — returns `{ value, state }`\n * where state is \"successful-parse\", \"repaired-parse\", or \"failed-parse\".\n *\n * ```ts\n * // Drop-in for Vercel AI SDK:\n * const { value, state } = vj.parsePartialJson('{\"a\": 1, \"b\": ');\n * // value = { a: 1, b: null }, state = \"repaired-parse\"\n * ```\n */\n parsePartialJson(input: string): PartialJsonResult;\n /**\n * Parse partial JSON with schema-inferred types.\n * T is auto-inferred from the schema — no manual `<T>` needed.\n *\n * Returns `DeepPartial<T>` because incomplete JSON will have missing fields.\n * When `safeParse` succeeds, returns the validated `data`.\n * When `safeParse` fails on a repaired-parse, returns the raw parsed value\n * (typed as `DeepPartial<T>`) — the object is partial, that's expected.\n *\n * ```ts\n * const User = z.object({ name: z.string(), age: z.number() });\n * const { value, state } = vj.parsePartialJson('{\"name\":\"Al', User);\n * // value: { name?: string; age?: number } | undefined\n * // state: \"repaired-parse\"\n * ```\n */\n parsePartialJson<T>(input: string, schema: { safeParse: (v: unknown) => { success: boolean; data?: T } }): PartialJsonResult<DeepPartial<T>>;\n /**\n * Create an event-driven streaming parser with path subscriptions,\n * string delta emission, and JSON boundary detection.\n */\n createEventParser(options?: {\n source?: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string>;\n schema?: { safeParse: (v: unknown) => { success: boolean; data?: unknown } };\n format?: JsonFormat;\n }): EventParser;\n /**\n * Import a packed tape buffer (from `getTapeBuffer()`) into a lazy Proxy.\n * Skips parsing entirely — the tape is copied directly into a document slot.\n * Use this on the main thread after receiving a transferred ArrayBuffer from a Worker.\n */\n importTape(buf: ArrayBuffer): unknown;\n}\n\n// --- Error codes from Zig engine ---\nconst ERROR_MESSAGES: Record<number, string> = {\n 1: \"Exceeded maximum nesting depth\",\n 2: \"Document exceeds maximum capacity\",\n 3: \"Invalid escape sequence\",\n 4: \"Invalid Unicode code point\",\n 5: \"Invalid number literal\",\n 6: \"Expected colon after key\",\n 7: \"Expected string key in object\",\n 8: \"Expected comma or closing bracket in array\",\n 9: \"Expected comma or closing brace in object\",\n 10: \"Incomplete array\",\n 11: \"Incomplete object\",\n 12: \"Unexpected trailing content\",\n 13: \"Out of memory\",\n 99: \"Unknown parse error\",\n};\n\n// --- Module types ---\n\ninterface EngineExports {\n memory: WebAssembly.Memory;\n alloc(size: number): number;\n dealloc(ptr: number, size: number): void;\n get_error_code(): number;\n doc_parse(ptr: number, len: number): number;\n doc_free(docId: number): void;\n doc_get_tag(docId: number, index: number): number;\n doc_get_number(docId: number, index: number): number;\n doc_read_string_raw(docId: number, index: number): number;\n doc_get_count(docId: number, index: number): number;\n doc_get_src_pos(docId: number, index: number): number;\n doc_get_close_index(docId: number, index: number): number;\n doc_find_field(docId: number, objIndex: number, keyPtr: number, keyLen: number): number;\n doc_get_input_ptr(docId: number): number;\n doc_batch_ptr(): number;\n doc_array_elements(docId: number, arrIndex: number, resumeAt: number): number;\n doc_object_keys(docId: number, objIndex: number, resumeAt: number): number;\n doc_deep_equal(doc_a: number, idx_a: number, doc_b: number, idx_b: number, ordered: number): number;\n stream_create(format: number): number;\n stream_destroy(id: number): void;\n stream_feed(id: number, ptr: number, len: number): number;\n stream_get_status(id: number): number;\n stream_get_buffer_ptr(id: number): number;\n stream_get_value_len(id: number): number;\n stream_get_remaining_ptr(id: number): number;\n stream_get_remaining_len(id: number): number;\n stream_get_buffer_len(id: number): number;\n stream_get_buffer_cap(id: number): number;\n stream_reset_for_next(id: number): number;\n classify_input(ptr: number, len: number): number;\n autocomplete_input(ptr: number, len: number, buf_cap: number): number;\n autocomplete_input_json5(ptr: number, len: number, buf_cap: number): number;\n get_value_end(): number;\n doc_parse_fmt(ptr: number, len: number, format: number): number;\n preprocess_json5(ptr: number, len: number): number;\n doc_export_tape_size(docId: number): number;\n doc_export_tape(docId: number, outPtr: number, outCap: number): number;\n doc_import_tape(bufPtr: number, bufLen: number): number;\n}\n\nconst utf8Decoder = new TextDecoder('utf-8');\n\n// Pre-computed byte→char table — avoids String.fromCharCode() calls in hot loops\nconst B2C: string[] = Array.from({ length: 256 }, (_, i) => String.fromCharCode(i));\n\nlet _instance: VectorJSON | null = null;\n\n/**\n * Initialize VectorJSON by loading and linking the WASM module.\n * Call this once; subsequent calls return the cached instance.\n */\nexport async function init(options?: {\n engineWasm?: string | URL | BufferSource;\n}): Promise<VectorJSON> {\n if (_instance) return _instance;\n\n // Load WASM bytes — embedded base64 by default, filesystem/URL/buffer when explicit\n let engineBytes: BufferSource;\n const wasmOpt = options?.engineWasm;\n if (wasmOpt instanceof ArrayBuffer || ArrayBuffer.isView(wasmOpt)) {\n engineBytes = wasmOpt as BufferSource;\n } else if (typeof wasmOpt === \"string\" || wasmOpt instanceof URL) {\n // Dynamic import for filesystem — only when user explicitly passes a path\n const { readFile } = await import(\"node:fs/promises\");\n const { fileURLToPath } = await import(\"node:url\");\n const path = typeof wasmOpt === \"string\" ? wasmOpt : fileURLToPath(wasmOpt);\n engineBytes = await readFile(path);\n } else {\n engineBytes = decodeBase64(wasmBase64).buffer as ArrayBuffer;\n }\n\n // --- Instantiate Zig engine ---\n const { instance: engineInstance } = await WebAssembly.instantiate(engineBytes as ArrayBuffer, {});\n const engine = engineInstance.exports as unknown as EngineExports;\n\n const encoder = new TextEncoder();\n\n // --- Reusable WASM buffers — grow-only, shared allocator pattern ---\n const inputBuf = { ptr: 0, cap: 0 };\n const keyBuf = { ptr: 0, cap: 0 };\n const feedBuf = { ptr: 0, cap: 0 };\n\n function ensureBuf(buf: typeof inputBuf, needed: number, minCap: number): number {\n if (needed <= buf.cap) return buf.ptr;\n if (buf.ptr !== 0) engine.dealloc(buf.ptr, buf.cap);\n let cap = buf.cap === 0 ? minCap : buf.cap;\n while (cap < needed) cap *= 2;\n buf.ptr = engine.alloc(cap) >>> 0;\n if (buf.ptr === 0) throw new Error(\"VectorJSON: allocation failed\");\n buf.cap = cap;\n return buf.ptr;\n }\n\n /** Encode string or copy Uint8Array into a reusable WASM buffer. Returns { ptr, len }. */\n function writeToWasm(\n input: string | Uint8Array, buf: typeof inputBuf, extraCap: number, minCap: number,\n ): { ptr: number; len: number } {\n if (typeof input === \"string\") {\n // Try optimistic allocation (1x for likely-ASCII), fall back to 3x for multi-byte\n let maxBytes = input.length + extraCap;\n let ptr = ensureBuf(buf, maxBytes, minCap);\n let result = encoder.encodeInto(input, new Uint8Array(engine.memory.buffer, ptr, maxBytes));\n if (result.read! < input.length) {\n // Input has multi-byte chars — reallocate with worst-case 3x\n maxBytes = input.length * 3 + extraCap;\n ptr = ensureBuf(buf, maxBytes, minCap);\n result = encoder.encodeInto(input, new Uint8Array(engine.memory.buffer, ptr, maxBytes));\n }\n return { ptr, len: result.written! };\n }\n const len = input.byteLength;\n const ptr = ensureBuf(buf, len + extraCap, minCap);\n new Uint8Array(engine.memory.buffer, ptr, len).set(input);\n return { ptr, len };\n }\n\n function writeKeyToMemory(key: string): { ptr: number; len: number } {\n if (key.length === 0) return { ptr: 1, len: 0 };\n return writeToWasm(key, keyBuf, 0, 256);\n }\n\n // --- Constants ---\n // Batch buffer address is a fixed global in WASM — cache to avoid repeated WASM calls\n const batchAddr = engine.doc_batch_ptr() >>> 0;\n\n const TAG_NULL = 0;\n const TAG_TRUE = 1;\n const TAG_FALSE = 2;\n const TAG_NUMBER = 3;\n const TAG_STRING = 4;\n const TAG_OBJECT = 5;\n const TAG_ARRAY = 6;\n\n const FEED_STATUS: readonly FeedStatus[] = [\"incomplete\", \"complete\", \"error\", \"end_early\"];\n const CLASSIFY_INCOMPLETE = 0; // FeedStatus.incomplete\n const CLASSIFY_ERR = 2; // FeedStatus.err\n const CLASSIFY_END_EARLY = 3; // FeedStatus.end_early\n\n // --- Sentinels ---\n const LAZY_PROXY = Symbol(\"vectorjson.lazy\");\n const UNCACHED = Symbol();\n\n // --- Explicit document disposal ---\n // Track generation per docId to prevent stale FinalizationRegistry callbacks\n // from freeing a reused slot. Each parse increments the generation.\n const docGenerations = new Map<number, number>();\n\n // --- FinalizationRegistry for auto-cleanup of document slots ---\n const docRegistry = new FinalizationRegistry(\n ({ docId, generation }: { docId: number; generation: number }) => {\n if (docGenerations.get(docId) !== generation) return; // stale callback\n docGenerations.delete(docId);\n docInputs.delete(docId);\n engine.doc_free(docId);\n },\n );\n\n /** Copy `count` u32 indices from the WASM batch buffer into a JS Uint32Array. */\n function copyBatchIndices(count: number): Uint32Array {\n const copy = new Uint32Array(count);\n copy.set(new Uint32Array(engine.memory.buffer, batchAddr, count));\n return copy;\n }\n\n /** Read all batch indices with pagination for >16384 items. */\n function readBatchPaginated(\n fn: (docId: number, idx: number, resume: number) => number,\n docId: number, idx: number,\n ): Uint32Array {\n const BATCH_CAP = 16384;\n let count = fn(docId, idx, 0);\n if (count < BATCH_CAP) return copyBatchIndices(count);\n const all: number[] = [];\n let page = copyBatchIndices(count);\n for (let i = 0; i < count; i++) all.push(page[i]);\n while (count === BATCH_CAP) {\n const resumeAt = new Uint32Array(engine.memory.buffer, batchAddr + BATCH_CAP * 4, 1)[0];\n count = fn(docId, idx, resumeAt);\n page = copyBatchIndices(count);\n for (let i = 0; i < count; i++) all.push(page[i]);\n }\n return new Uint32Array(all);\n }\n\n // --- Per-document original input tracking (for ASCII fast-path) ---\n // When input is a JS string and all chars are ASCII (byteLen === str.length),\n // we can slice the original string directly instead of reading WASM memory.\n const docInputs = new Map<number, string>();\n\n // --- Read a doc string at a tape index into a JS string ---\n // Strings are stored as source offsets into the original input.\n // The escape flag (batch_buffer[2]) tells us if decoding is needed,\n // avoiding a linear scan with includes('\\\\').\n function docReadString(docId: number, index: number): string {\n const rawLen = engine.doc_read_string_raw(docId, index) >>> 0;\n if (rawLen === 0) return \"\";\n\n const batch = new Uint32Array(engine.memory.buffer, batchAddr, 3);\n const srcOffset = batch[0];\n const hasEscapes = batch[2];\n\n // ASCII fast-path: if original JS string is available and was ASCII,\n // slice directly — no WASM memory read, no TextDecoder overhead.\n const asciiInput = docInputs.get(docId);\n if (asciiInput !== undefined) {\n const raw = asciiInput.slice(srcOffset, srcOffset + rawLen);\n return hasEscapes ? JSON.parse('\"' + raw + '\"') : raw;\n }\n\n const inputPtr = engine.doc_get_input_ptr(docId) >>> 0;\n const raw = utf8Decoder.decode(\n new Uint8Array(engine.memory.buffer, inputPtr + srcOffset, rawLen),\n );\n // has_escapes flag from SIMD skipString — no need for includes('\\\\')\n return hasEscapes ? JSON.parse('\"' + raw + '\"') : raw;\n }\n\n // --- Deep materialize from document tape ---\n // For containers (objects/arrays), slices the source span from WASM memory\n // and delegates to native JSON.parse — faster than recursive tape walking.\n // For primitives, reads directly from the tape.\n function deepMaterializeDoc(docId: number, index: number): unknown {\n const tag = engine.doc_get_tag(docId, index);\n if (tag === TAG_NULL) return null;\n if (tag === TAG_TRUE) return true;\n if (tag === TAG_FALSE) return false;\n if (tag === TAG_NUMBER) return engine.doc_get_number(docId, index);\n if (tag === TAG_STRING) return docReadString(docId, index);\n if (tag === TAG_OBJECT || tag === TAG_ARRAY) {\n // Get source span: opening bracket → closing bracket (inclusive)\n // doc_get_close_index returns one-past-end (simdjson convention for skipping).\n // The actual closing bracket is at closeIdx - 1.\n const startPos = (engine.doc_get_src_pos(docId, index) >>> 0);\n const closingTapeIdx = engine.doc_get_close_index(docId, index) - 1;\n const closePos = engine.doc_get_src_pos(docId, closingTapeIdx);\n const inputPtr = engine.doc_get_input_ptr(docId) >>> 0;\n const raw = new Uint8Array(\n engine.memory.buffer, inputPtr + startPos, closePos + 1 - startPos,\n );\n return JSON.parse(utf8Decoder.decode(raw));\n }\n return null;\n }\n\n /** Batch-read all element tape indices for an array (cached). */\n function batchElemIndices(target: any): Uint32Array {\n return target._e || (target._e = readBatchPaginated(engine.doc_array_elements, target._d, target._i));\n }\n\n /** Resolve a tape value: primitives return directly.\n * Objects: deep-materialize (complete parses) or Proxy (incomplete, for isComplete).\n * Arrays: always lazy Proxy. */\n function resolveValue(\n docId: number, index: number,\n keepAlive: object, generation: number,\n freeFn: (() => void) | undefined,\n proxyObjects = false,\n ): unknown {\n const tag = engine.doc_get_tag(docId, index);\n if (tag === TAG_NULL) return null;\n if (tag === TAG_TRUE) return true;\n if (tag === TAG_FALSE) return false;\n if (tag === TAG_NUMBER) return engine.doc_get_number(docId, index);\n if (tag === TAG_STRING) return docReadString(docId, index);\n\n // Objects: Proxy for incomplete parses (so isComplete can get tape index),\n // deep-materialize for complete parses (fast native property access).\n if (tag === TAG_OBJECT) {\n if (proxyObjects) {\n return new Proxy({ _d: docId, _i: index, _k: keepAlive, _g: generation, _f: freeFn } as any, docObjHandler);\n }\n return deepMaterializeDoc(docId, index);\n }\n\n // Arrays → lazy Proxy (materialize elements on access, cached)\n return new Proxy(\n Object.assign([], { _d: docId, _i: index, _k: keepAlive, _g: generation, _f: freeFn,\n _l: engine.doc_get_count(docId, index), _p: proxyObjects }),\n docArrHandler,\n );\n }\n\n // --- Shared Proxy handler for doc-backed array cursors ---\n const docArrHandler: ProxyHandler<any> = {\n get(target, prop, _receiver) {\n if (prop === 'free' || prop === Symbol.dispose) return target._f;\n if (prop === LAZY_PROXY) return target._m || (target._m = { docId: target._d, index: target._i });\n if (prop === 'length') return target._l;\n if (prop === Symbol.iterator) {\n const t = target; // single capture instead of 7 locals\n return function () {\n let i = 0;\n return {\n next() {\n if (i >= t._l) return { done: true as const, value: undefined };\n // Use indexed get to populate cache (avoids double-resolving)\n return { done: false as const, value: docArrHandler.get!(t, String(i++), t) };\n },\n };\n };\n }\n if (prop === Symbol.toStringTag) return \"Array\";\n if (typeof prop === 'string') {\n const idx = Number(prop);\n if (Number.isInteger(idx) && idx >= 0 && idx < target._l) {\n if (!target._c) target._c = new Array(target._l);\n if (target._c[idx] !== undefined) return target._c[idx];\n const indices = batchElemIndices(target);\n const val = resolveValue(target._d, indices[idx], target._k, target._g, target._f, target._p);\n target._c[idx] = val;\n return val;\n }\n if (prop in Array.prototype) {\n const materialized = deepMaterializeDoc(target._d, target._i) as unknown[];\n return (materialized as unknown as Record<string, unknown>)[prop];\n }\n }\n return undefined;\n },\n has(target, prop) {\n if (prop === LAZY_PROXY || prop === 'free' || prop === Symbol.dispose || prop === 'length') return true;\n if (typeof prop !== 'string') return false;\n const idx = Number(prop);\n return Number.isInteger(idx) && idx >= 0 && idx < target._l;\n },\n ownKeys(target) {\n const keys: string[] = [];\n for (let i = 0; i < target._l; i++) keys.push(String(i));\n keys.push('length');\n return keys;\n },\n getOwnPropertyDescriptor(target, prop) {\n if (prop === 'length') {\n return { value: target._l, writable: false, enumerable: false, configurable: false };\n }\n if (typeof prop === 'string') {\n const idx = Number(prop);\n if (Number.isInteger(idx) && idx >= 0 && idx < target._l) {\n return { value: this.get!(target, prop, target), writable: false, enumerable: true, configurable: true };\n }\n }\n return undefined;\n },\n };\n\n // --- Shared Proxy handler for doc-backed object proxies (incomplete parses) ---\n // doc_find_field compares raw source bytes against the key. For keys with\n // escape sequences (\\n, \\uXXXX), raw comparison fails — we fall back to\n // ownKeys iteration which properly decodes each key via docReadString.\n const docObjHandler: ProxyHandler<any> = {\n get(target, prop, _receiver) {\n if (prop === 'free' || prop === Symbol.dispose) return target._f;\n if (prop === LAZY_PROXY) return target._m || (target._m = { docId: target._d, index: target._i });\n if (typeof prop !== 'string') return prop === Symbol.toStringTag ? \"Object\" : undefined;\n if (!target._c) target._c = Object.create(null);\n if (prop in target._c) return target._c[prop];\n const { ptr, len } = writeKeyToMemory(prop);\n const valIdx = engine.doc_find_field(target._d, target._i, ptr, len);\n if (valIdx !== 0) {\n // Fast path: key matched raw source bytes (no escapes)\n const val = resolveValue(target._d, valIdx, target._k, target._g, target._f, true);\n target._c[prop] = val;\n return val;\n }\n // Fallback: escaped keys won't match raw bytes — iterate all keys\n const keys = this.ownKeys!(target) as string[];\n const keyIdx = keys.indexOf(prop);\n if (keyIdx === -1) return undefined;\n // Resolve value via cached key tape indices\n const val = resolveValue(target._d, target._ki[keyIdx] + 1, target._k, target._g, target._f, true);\n target._c[prop] = val;\n return val;\n },\n has(target, prop) {\n if (prop === LAZY_PROXY || prop === 'free' || prop === Symbol.dispose) return true;\n if (typeof prop !== 'string') return false;\n const { ptr, len } = writeKeyToMemory(prop);\n if (engine.doc_find_field(target._d, target._i, ptr, len) !== 0) return true;\n // Fallback for escaped keys\n const keys = this.ownKeys!(target) as string[];\n return keys.includes(prop);\n },\n ownKeys(target) {\n if (!target._keys) {\n const indices = readBatchPaginated(engine.doc_object_keys, target._d, target._i);\n target._ki = indices;\n target._keys = Array.from(indices, (idx) => docReadString(target._d, idx));\n }\n return target._keys;\n },\n getOwnPropertyDescriptor(target, prop) {\n if (typeof prop !== 'string') return undefined;\n // JSON cannot produce undefined — get() returning undefined means field not found\n const val = this.get!(target, prop, target);\n if (val === undefined) return undefined;\n return { value: val, writable: false, enumerable: true, configurable: true };\n },\n };\n\n // --- Check if a value is a lazy proxy ---\n function isLazyProxy(value: unknown): boolean {\n if (value === null || typeof value !== \"object\") return false;\n try { return LAZY_PROXY in (value as Record<symbol, unknown>); }\n catch { return false; }\n }\n\n // --- Build a value from a doc slot root (shared by parse + createParser) ---\n function buildDocRoot(docId: number, proxyObjects = false): unknown {\n const rootTag = engine.doc_get_tag(docId, 1);\n // Primitives: extract value and free doc immediately (no Proxy needed)\n if (rootTag <= TAG_STRING) {\n const value = rootTag === TAG_NULL ? null\n : rootTag === TAG_TRUE ? true\n : rootTag === TAG_FALSE ? false\n : rootTag === TAG_NUMBER ? engine.doc_get_number(docId, 1)\n : docReadString(docId, 1);\n docInputs.delete(docId);\n engine.doc_free(docId);\n return value;\n }\n // Containers: register for GC and wrap in Proxy with manual .free()\n const generation = (docGenerations.get(docId) ?? 0) + 1;\n docGenerations.set(docId, generation);\n const keepAlive = { docId };\n docRegistry.register(keepAlive, { docId, generation }, keepAlive);\n const freeFn = () => {\n void keepAlive; // prevent GC of sentinel\n if (docGenerations.get(docId) !== generation) return;\n docGenerations.delete(docId);\n docInputs.delete(docId);\n engine.doc_free(docId);\n docRegistry.unregister(keepAlive);\n };\n // Root always gets Proxy so .free() is accessible; force objects to Proxy for isComplete()\n return resolveValue(docId, 1, keepAlive, generation, freeFn, rootTag === TAG_OBJECT || proxyObjects);\n }\n\n // --- Tape export/import helpers ---\n /** Parse a stream's buffer, export packed tape, free the temp doc slot. */\n function streamExportTape(streamId: number, formatCode = 0): ArrayBuffer | null {\n const status = engine.stream_get_status(streamId);\n if (status !== 1 /* complete */ && status !== 3 /* end_early */) return null;\n const bufPtr = engine.stream_get_buffer_ptr(streamId) >>> 0;\n const bufLen = engine.stream_get_buffer_len(streamId);\n if (bufLen === 0) return null;\n // Copy stream buffer with SIMD padding for doc_parse\n const padPtr = engine.alloc(bufLen + 64) >>> 0;\n if (padPtr === 0) return null;\n new Uint8Array(engine.memory.buffer, padPtr, bufLen).set(\n new Uint8Array(engine.memory.buffer, bufPtr, bufLen),\n );\n new Uint8Array(engine.memory.buffer, padPtr + bufLen, 64).fill(0x20);\n const docId = formatCode === 2\n ? engine.doc_parse_fmt(padPtr, bufLen, 2)\n : engine.doc_parse(padPtr, bufLen);\n engine.dealloc(padPtr, bufLen + 64);\n if (docId < 0) return null;\n // Export tape → JS ArrayBuffer, then free slot\n const size = engine.doc_export_tape_size(docId);\n const outPtr = size > 0 ? engine.alloc(size) >>> 0 : 0;\n if (outPtr === 0) { engine.doc_free(docId); return null; }\n engine.doc_export_tape(docId, outPtr, size);\n engine.doc_free(docId);\n const copy = new ArrayBuffer(size);\n new Uint8Array(copy).set(new Uint8Array(engine.memory.buffer, outPtr, size));\n engine.dealloc(outPtr, size);\n return copy;\n }\n\n // --- Helper: retry doc_parse with GC on slot exhaustion ---\n function tryDocParse(p: number, l: number): number {\n let docId = engine.doc_parse(p, l);\n if (docId < 0) {\n const errCode = engine.get_error_code();\n if (errCode === 2 || errCode === 13) {\n if (typeof globalThis.gc === \"function\") globalThis.gc();\n docId = engine.doc_parse(p, l);\n }\n }\n return docId;\n }\n\n // --- Helpers ---\n function isReadableStream(s: any): s is ReadableStream {\n return typeof s?.getReader === 'function';\n }\n\n // --- JSON Seeker Factory ---\n // Extracts a reusable state machine that skips non-JSON text (think tags, code fences, prose)\n // to find the start of JSON content. Used by both createEventParser and createParser.\n function createSeeker(textCallbacks?: ((text: string) => void)[], json5 = false) {\n const SEEKING = 0, IN_THINK = 1, IN_FENCE = 2, FEEDING = 3;\n let state = SEEKING;\n let buf = '';\n let fenceBacktickCount = 0;\n\n return {\n feed(text: string): string | null {\n if (state === FEEDING) return text;\n\n const cbs = textCallbacks ?? [];\n let result = '';\n let i = 0;\n\n while (i < text.length) {\n if (state === FEEDING) {\n result += text.slice(i);\n break;\n }\n\n if (state === IN_THINK) {\n const closeIdx = text.indexOf('</think>', i);\n if (closeIdx === -1) {\n const captured = text.slice(i);\n for (const cb of cbs) cb(captured);\n i = text.length;\n } else {\n const captured = text.slice(i, closeIdx);\n if (captured) for (const cb of cbs) cb(captured);\n i = closeIdx + '</think>'.length;\n state = SEEKING;\n buf = '';\n }\n continue;\n }\n\n if (state === IN_FENCE) {\n const closeFence = '`'.repeat(fenceBacktickCount);\n const closeIdx = text.indexOf(closeFence, i);\n if (closeIdx === -1) {\n result += text.slice(i);\n i = text.length;\n } else {\n result += text.slice(i, closeIdx);\n i = closeIdx + fenceBacktickCount;\n fenceBacktickCount = 0;\n state = SEEKING;\n buf = '';\n }\n continue;\n }\n\n // SEEKING state\n const ch = text[i];\n\n if (ch === '{' || ch === '[' || ch === '\"' || (json5 && ch === \"'\")) {\n if (buf) {\n for (const cb of cbs) cb(buf);\n buf = '';\n }\n state = FEEDING;\n result += text.slice(i);\n break;\n }\n\n // Check for <think> tag\n buf += ch;\n if (buf.endsWith('<think>')) {\n const beforeTag = buf.slice(0, -'<think>'.length);\n if (beforeTag) for (const cb of cbs) cb(beforeTag);\n state = IN_THINK;\n buf = '';\n i++;\n continue;\n }\n\n // Check for code fence (``` with optional label)\n if (ch === '`') {\n let btCount = 0;\n let j = i;\n while (j < text.length && text[j] === '`') { btCount++; j++; }\n if (btCount >= 3) {\n while (j < text.length && text[j] !== '\\n') j++;\n if (j < text.length) j++;\n fenceBacktickCount = btCount;\n state = IN_FENCE;\n const beforeFence = buf.slice(0, -1);\n if (beforeFence) for (const cb of cbs) cb(beforeFence);\n buf = '';\n i = j;\n continue;\n }\n }\n\n i++;\n\n if (buf.length > 1024) {\n for (const cb of cbs) cb(buf);\n buf = '';\n }\n }\n\n if (result.length > 0) return result;\n return null;\n },\n reset() { state = SEEKING; buf = ''; fenceBacktickCount = 0; },\n isFeeding() { return state === FEEDING; },\n };\n }\n\n // --- Path Pattern Compiler ---\n // Segments: string = key, number = index, '*' = wildcard\n\n function compilePath(pattern: string): PathSegment[] {\n return pattern.replace(/\\[(\\*|\\d+)\\]/g, '.$1').split('.').filter(Boolean)\n .map(s => s === '*' ? '*' : /^\\d+$/.test(s) ? +s : s);\n }\n\n /** Extract top-level keys from a Zod-like schema and return as compiled pick paths.\n * Supports Zod (.shape), Valibot (.entries), ArkType (.props).\n * Recursively extracts nested object keys for nested pick paths.\n * Returns null if schema shape can't be detected (no auto-pick). */\n function extractSchemaKeys(schema: any, prefix: string[] = []): PathSegment[][] | null {\n const shape = schema?.shape ?? schema?._def?.shape?.() ?? schema?.entries ?? schema?.props;\n if (!shape || typeof shape !== 'object') return null;\n const paths: PathSegment[][] = [];\n for (const key of Object.keys(shape)) {\n const fullPath = [...prefix, key];\n // Check if this field's schema has nested shape (nested object)\n const fieldSchema = shape[key];\n const nested = extractSchemaKeys(fieldSchema, fullPath);\n if (nested && nested.length > 0) {\n paths.push(...nested);\n } else {\n paths.push(fullPath.map(s => /^\\d+$/.test(s) ? +s : s));\n }\n }\n return paths.length > 0 ? paths : null;\n }\n\n function buildResolvedPath(keyStack: (string | null)[], indexStack: (number | null)[], depth: number): string {\n const parts: string[] = [];\n for (let i = 0; i < depth; i++) {\n if (keyStack[i] !== null) parts.push(keyStack[i]!);\n else if (indexStack[i] !== null) parts.push(String(indexStack[i]));\n }\n return parts.join('.');\n }\n\n function isJson5IdentStart(c: number): boolean {\n return (c >= 0x61 && c <= 0x7A) || (c >= 0x41 && c <= 0x5A) || c === 0x5F || c === 0x24;\n }\n\n function isJson5IdentPart(c: number): boolean {\n return isJson5IdentStart(c) || (c >= 0x30 && c <= 0x39);\n }\n\n /** Parse a JSON5 scalar value (handles Infinity, -Infinity, +Infinity, NaN, hex numbers). */\n function parseJson5Scalar(s: string): unknown {\n if (s === \"Infinity\" || s === \"+Infinity\") return Infinity;\n if (s === \"-Infinity\") return -Infinity;\n if (s === \"NaN\") return null; // NaN → null (same as preprocess_json5)\n if (s.startsWith(\"0x\") || s.startsWith(\"0X\")) return parseInt(s, 16);\n return JSON.parse(s);\n }\n\n // --- Public API ---\n _instance = {\n parse(input: string | Uint8Array): ParseResult {\n // Write input into reusable WASM buffer with extra headroom for autocomplete\n const { ptr, len } = writeToWasm(input, inputBuf, 64, 4096);\n // Pad after input for SIMD safety\n new Uint8Array(engine.memory.buffer, ptr + len, 64).fill(0x20);\n\n // Helper: build ParseResult with isComplete() and toJSON()\n const makeResult = (\n status: ParseStatus,\n value: unknown,\n autocompleteBoundary: number,\n toJSONStr: string | undefined,\n remaining?: Uint8Array,\n error?: string,\n ): ParseResult => {\n let _toJSONCache: unknown = UNCACHED;\n return {\n status,\n value,\n remaining,\n error,\n isComplete(val: unknown): boolean {\n if (autocompleteBoundary === Infinity) return true;\n if (val === null || val === undefined || typeof val !== \"object\") return true;\n try {\n const handle = (val as any)[LAZY_PROXY] as { docId?: number; index?: number } | undefined;\n if (!handle || typeof handle.docId !== \"number\") return true;\n const tag = engine.doc_get_tag(handle.docId, handle.index!);\n if (tag === TAG_OBJECT || tag === TAG_ARRAY) {\n const closeIdx = engine.doc_get_close_index(handle.docId, handle.index!);\n const closeSrcPos = engine.doc_get_src_pos(handle.docId, closeIdx) >>> 0;\n return closeSrcPos < autocompleteBoundary;\n }\n return true;\n } catch {\n return true; // fail-safe: freed doc → treat as complete\n }\n },\n toJSON(): unknown {\n if (_toJSONCache !== UNCACHED) return _toJSONCache;\n return (_toJSONCache = toJSONStr !== undefined ? JSON.parse(toJSONStr) : value);\n },\n };\n };\n\n // Helper: build an invalid ParseResult from the last engine error code\n const invalidResult = (msg?: string): ParseResult => {\n if (!msg) {\n const code = engine.get_error_code();\n msg = `VectorJSON: ${ERROR_MESSAGES[code] || `Parse error (code ${code})`}`;\n }\n return makeResult(\"invalid\", undefined, Infinity, undefined, undefined, msg);\n };\n\n // Track whether input is an ASCII JS string (byteLen === str.length).\n // If so, docReadString can slice the original string directly.\n const isAsciiStr = typeof input === \"string\" && len === input.length;\n\n // ── Happy path: try doc_parse directly (no classify overhead) ──\n let docId = tryDocParse(ptr, len);\n if (docId >= 0) {\n if (isAsciiStr) docInputs.set(docId, input as string);\n // For string input at full length, reuse the original string (avoids decode)\n const toJSONStr = typeof input === \"string\" ? input\n : utf8Decoder.decode(new Uint8Array(engine.memory.buffer, ptr, len));\n return makeResult(\"complete\", buildDocRoot(docId), Infinity, toJSONStr);\n }\n\n // ── doc_parse failed — classify to determine why ──\n const classification = engine.classify_input(ptr, len);\n\n if (classification === CLASSIFY_ERR) {\n return invalidResult(\"Invalid JSON structure\");\n }\n\n if (classification === CLASSIFY_END_EARLY) {\n const parseLen = engine.get_value_end();\n const remainLen = len - parseLen;\n const remainingCopy = new Uint8Array(remainLen);\n remainingCopy.set(new Uint8Array(engine.memory.buffer, ptr + parseLen, remainLen));\n new Uint8Array(engine.memory.buffer, ptr + parseLen, 64).fill(0x20);\n\n const toJSONStr = utf8Decoder.decode(new Uint8Array(engine.memory.buffer, ptr, parseLen));\n docId = tryDocParse(ptr, parseLen);\n if (docId >= 0) {\n if (isAsciiStr) docInputs.set(docId, input as string);\n return makeResult(\"complete_early\", buildDocRoot(docId), Infinity, toJSONStr, remainingCopy);\n }\n return invalidResult();\n }\n\n if (classification === CLASSIFY_INCOMPLETE) {\n const parseLen = engine.autocomplete_input(ptr, len, inputBuf.cap);\n if (parseLen === 0) {\n if (len === 0) return makeResult(\"incomplete\", undefined, len, undefined);\n return invalidResult(\"Invalid JSON structure\");\n }\n const toJSONStr = utf8Decoder.decode(new Uint8Array(engine.memory.buffer, ptr, parseLen));\n docId = tryDocParse(ptr, parseLen);\n if (docId >= 0) {\n // Don't use ASCII fast-path for incomplete: autocomplete appended\n // closing tokens that aren't in the original JS string.\n return makeResult(\"incomplete\", buildDocRoot(docId, true), len, toJSONStr);\n }\n return invalidResult();\n }\n\n return invalidResult();\n },\n\n deepCompare(a: unknown, b: unknown, options?: { ignoreKeyOrder?: boolean }): boolean {\n const ordered = (options?.ignoreKeyOrder === false) ? 1 : 0;\n\n // Fast path: both are VJ proxies → WASM tape comparison.\n // Single [LAZY_PROXY] access per arg (1 Proxy get trap) instead of\n // isLazyProxy + [LAZY_PROXY] (has trap + get trap + object allocation × 2).\n if (a !== null && typeof a === \"object\" && b !== null && typeof b === \"object\") {\n try {\n const metaA = (a as any)[LAZY_PROXY] as { docId: number; index: number } | undefined;\n const metaB = (b as any)[LAZY_PROXY] as { docId: number; index: number } | undefined;\n if (metaA && metaB) {\n const result = engine.doc_deep_equal(metaA.docId, metaA.index, metaB.docId, metaB.index, ordered);\n if (result >= 0) return result === 1;\n // fallthrough on error (-1 = invalid doc_id)\n }\n } catch { /* not a proxy, fall through */ }\n }\n\n // Fallback: materialize and compare with JSON round-trip\n return JSON.stringify(a) === JSON.stringify(b);\n },\n\n materialize(value: unknown): unknown {\n if (!isLazyProxy(value)) return value;\n const { docId, index } = (value as any)[LAZY_PROXY];\n return deepMaterializeDoc(docId, index);\n },\n\n parsePartialJson(input: string, schema?: { safeParse: (v: unknown) => { success: boolean; data?: unknown } }): PartialJsonResult {\n if (!input) return { value: undefined, state: \"failed-parse\" as const };\n const result = _instance!.parse(input);\n switch (result.status) {\n case \"complete\":\n case \"complete_early\": {\n const value = result.toJSON();\n if (schema) {\n const validated = schema.safeParse(value);\n if (validated.success) return { value: validated.data, state: \"successful-parse\" as const };\n return { value: undefined, state: \"successful-parse\" as const };\n }\n return { value, state: \"successful-parse\" as const };\n }\n case \"incomplete\": {\n const value = result.toJSON();\n if (schema) {\n const validated = schema.safeParse(value);\n if (validated.success) return { value: validated.data, state: \"repaired-parse\" as const };\n // Partial JSON: safeParse fails (missing fields expected) → keep raw value\n return { value, state: \"repaired-parse\" as const };\n }\n return { value, state: \"repaired-parse\" as const };\n }\n default:\n return { value: undefined, state: \"failed-parse\" as const };\n }\n },\n\n createEventParser(options?: {\n source?: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string>;\n schema?: { safeParse: (v: unknown) => { success: boolean; data?: unknown } };\n format?: JsonFormat;\n }): EventParser {\n const source = options?.source;\n const format = options?.format ?? \"json\";\n const FORMAT_CODE = format === \"jsonl\" ? 1 : format === \"json5\" ? 2 : 0;\n\n // Schema-driven field selection + validation (same as createParser)\n const epSchema = options?.schema;\n let epPickPaths: PathSegment[][] | null = null;\n if (options?.schema) {\n epPickPaths = extractSchemaKeys(options.schema);\n }\n\n const streamId = engine.stream_create(FORMAT_CODE);\n if (streamId < 0) {\n throw new Error(\"VectorJSON: Failed to create event parser (max 4 concurrent)\");\n }\n\n let destroyed = false;\n\n // --- Subscription storage ---\n type Sub = { segments: PathSegment[]; callback: Function; schema?: { safeParse: Function } };\n const pathSubs: Sub[] = [];\n const deltaSubs: Sub[] = [];\n const textCallbacks: ((text: string) => void)[] = [];\n\n // --- JSON Seeker (reusable factory) ---\n const seeker = createSeeker(textCallbacks, format === \"json5\");\n\n // --- PathTracker state ---\n let ptDepth = 0;\n let ptInString = false;\n let ptQuoteChar = 0x22;\n let ptEscapeNext = false;\n let ptContextStack: ('o' | 'a')[] = []; // object or array at each level\n let ptKeyStack: (string | null)[] = []; // current key at each depth\n let ptIndexStack: (number | null)[] = []; // current array index at each depth\n let ptValueStartStack: number[] = []; // byte offset where value started\n let ptSkipDepth = -1; // if >= 0, we're inside a skipped path\n let ptExpectingKey = false;\n let ptAfterColon = false;\n let ptKeyAccum = '';\n let ptAccumulatingKey = false;\n let ptStringValueStart = -1;\n let ptInStringValue = false;\n let ptDeltaAccum = '';\n let ptDeltaByteStart = 0; // byte offset where current delta accumulation started\n let ptInScalar = false; // tracking a scalar that may span chunks\n let ptScalarStart = -1; // byte offset where current scalar started\n\n // --- Live document builder ---\n // Incrementally builds a JS object/array as bytes are scanned.\n // getValue() returns this growing object. O(n) total materialization.\n let ldRoot: unknown = undefined; // the growing root value\n let ldStack: (Record<string, unknown> | unknown[])[] = []; // container stack\n let ldCurrentKey: string | null = null; // pending key for object assignment\n let ldActiveKey: string | null = null; // key used for current string being updated\n let ldStringAccum = ''; // accumulating string value\n let ldInStringValue = false; // currently inside a string value\n let ldScalarAccum = ''; // accumulating scalar chars\n\n function ldSetValue(value: unknown) {\n if (ldStack.length === 0) {\n ldRoot = value;\n return;\n }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) {\n parent.push(value);\n } else if (ldCurrentKey !== null) {\n parent[ldCurrentKey] = value;\n ldActiveKey = ldCurrentKey; // remember key for in-place updates\n ldCurrentKey = null;\n }\n }\n\n // Update a string/scalar value in-place (for partial strings being built)\n function ldUpdateString(str: string) {\n if (ldStack.length === 0) {\n ldRoot = str;\n return;\n }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) {\n if (parent.length > 0) parent[parent.length - 1] = str;\n else parent.push(str);\n } else if (ldActiveKey !== null) {\n parent[ldActiveKey] = str;\n }\n }\n\n function ldReset() {\n ldRoot = undefined;\n ldStack.length = 0;\n ldCurrentKey = null;\n ldActiveKey = null;\n ldStringAccum = '';\n ldInStringValue = false;\n ldScalarAccum = '';\n }\n\n function ptReset() {\n ptDepth = 0; ptInString = false; ptQuoteChar = 0x22; ptEscapeNext = false;\n ptContextStack.length = 0; ptKeyStack.length = 0;\n ptIndexStack.length = 0; ptValueStartStack.length = 0;\n ptSkipDepth = -1; ptExpectingKey = false; ptAfterColon = false;\n ptKeyAccum = ''; ptAccumulatingKey = false;\n ptStringValueStart = -1; ptInStringValue = false;\n ptDeltaAccum = ''; ptDeltaByteStart = 0;\n ptInScalar = false; ptScalarStart = -1;\n ldReset();\n }\n\n /** Unified path matcher: exact = segments.length must equal depth, prefix = <= depth.\n * Returns wildcard matches on success, null on failure. */\n function matchPath(segments: PathSegment[], exact: boolean): (string | number)[] | null {\n const len = segments.length;\n if (exact ? len !== ptDepth : len > ptDepth) return null;\n const matches: (string | number)[] = [];\n for (let s = 0; s < len; s++) {\n const seg = segments[s];\n const key = ptKeyStack[s], idx = ptIndexStack[s];\n if (seg === '*') matches.push(idx !== null ? idx : (key ?? ''));\n else if (typeof seg === 'number' ? idx !== seg : key !== seg) return null;\n }\n return matches;\n }\n\n function isPathSkipped(): boolean {\n if (epPickPaths && !epIsFieldPicked()) return true;\n return false;\n }\n\n /** Check if current path matches any pick path (array-transparent). */\n function epIsFieldPicked(): boolean {\n if (!epPickPaths) return true;\n // Build effective key path (skip array levels)\n const effective: string[] = [];\n for (let i = 0; i < ptDepth; i++) {\n if (ptKeyStack[i] !== null) effective.push(ptKeyStack[i]!);\n }\n for (const pick of epPickPaths) {\n const pickLen = pick.length;\n const effLen = effective.length;\n const compareLen = Math.min(effLen, pickLen);\n let matched = true;\n for (let i = 0; i < compareLen; i++) {\n const seg = pick[i];\n if (seg === '*') continue;\n if (typeof seg === 'number') continue;\n if (effective[i] !== seg) { matched = false; break; }\n }\n if (matched) return true;\n }\n return false;\n }\n\n function fireValueComplete(valueBytes: Uint8Array, offset: number, length: number) {\n if (pathSubs.length === 0) return;\n const resolvedPath = buildResolvedPath(ptKeyStack, ptIndexStack, ptDepth);\n for (const sub of pathSubs) {\n const matches = matchPath(sub.segments, true);\n if (!matches) continue;\n let value: unknown;\n try { value = JSON.parse(utf8Decoder.decode(valueBytes)); } catch { continue; }\n if (sub.schema) {\n const result = sub.schema.safeParse(value);\n if (!result.success) continue;\n value = result.data;\n }\n const event: PathEvent = { type: 'value', path: resolvedPath, value, offset, length, matches };\n for (let i = matches.length - 1; i >= 0; i--) {\n const m = matches[i];\n if (typeof m === 'number' && event.index === undefined) event.index = m;\n if (typeof m === 'string' && event.key === undefined) event.key = m;\n }\n sub.callback(event as any);\n }\n }\n\n function fireDelta(value: string, offset: number, length: number) {\n if (deltaSubs.length === 0) return;\n const resolvedPath = buildResolvedPath(ptKeyStack, ptIndexStack, ptDepth);\n for (const sub of deltaSubs) {\n if (!matchPath(sub.segments, true)) continue;\n sub.callback({ type: 'delta', path: resolvedPath, value, offset, length });\n }\n }\n\n function ptScan(buf: Uint8Array, from: number, to: number) {\n for (let i = from; i < to; i++) {\n const c = buf[i];\n\n // Check if we're continuing a scalar from a previous chunk\n if (ptInScalar) {\n if (c === 0x2C || c === 0x7D || c === 0x5D || c === 0x20 || c === 0x0A || c === 0x0D || c === 0x09) {\n // Scalar ended — fire value complete for the whole span\n const scalarLen = i - ptScalarStart;\n fireValueComplete(buf.slice(ptScalarStart, i), ptScalarStart, scalarLen);\n // Live doc: finalize scalar\n try { ldSetValue(JSON.parse(ldScalarAccum)); } catch { ldSetValue(null); }\n ldScalarAccum = '';\n ptInScalar = false;\n ptScalarStart = -1;\n // Re-process this delimiter char (it may be comma/close bracket)\n i--;\n continue;\n }\n // Still inside the scalar, keep scanning\n ldScalarAccum += B2C[c];\n continue;\n }\n\n if (ptEscapeNext) {\n ptEscapeNext = false;\n if (ptInStringValue && ptSkipDepth < 0) {\n // Decode escape for delta\n let decoded: string;\n switch (c) {\n case 0x6E: decoded = '\\n'; break; // n\n case 0x72: decoded = '\\r'; break; // r\n case 0x74: decoded = '\\t'; break; // t\n case 0x22: decoded = '\"'; break; // \"\n case 0x5C: decoded = '\\\\'; break; // \\\n case 0x2F: decoded = '/'; break; // /\n case 0x62: decoded = '\\b'; break; // b\n case 0x66: decoded = '\\f'; break; // f\n default: decoded = B2C[c]; break;\n }\n ptDeltaAccum += decoded;\n // Live doc: accumulate decoded escape char (batched — flushed at string close or chunk end)\n if (ldInStringValue) {\n ldStringAccum += decoded;\n }\n if (ptAccumulatingKey) ptKeyAccum += decoded;\n } else if (ptAccumulatingKey) {\n ptKeyAccum += B2C[c];\n }\n continue;\n }\n\n if (ptInString) {\n if (c === 0x5C) { // backslash\n ptEscapeNext = true;\n continue;\n }\n if (c === ptQuoteChar) { // closing quote\n ptInString = false;\n if (ptAccumulatingKey) {\n ptAccumulatingKey = false;\n // Store key at parent depth (ptDepth-1) since we're inside the container\n if (ptDepth > 0) ptKeyStack[ptDepth - 1] = ptKeyAccum;\n // Live doc: store key for next value assignment\n ldCurrentKey = ptKeyAccum;\n ptKeyAccum = '';\n continue;\n }\n // End of string value\n if (ptInStringValue && ptSkipDepth < 0) {\n // Flush final delta — use tracked byte offsets, not decoded char count\n if (ptDeltaAccum && deltaSubs.length > 0) {\n const deltaByteLen = i - ptDeltaByteStart; // raw bytes from start to closing quote\n fireDelta(ptDeltaAccum, ptDeltaByteStart, deltaByteLen);\n }\n ptDeltaAccum = '';\n // Fire value complete for the string\n const start = ptStringValueStart;\n const len = i + 1 - start;\n fireValueComplete(buf.slice(start, i + 1), start, len);\n // Live doc: final update (value already in parent from ldSetValue('') at open)\n ldUpdateString(ldStringAccum);\n ldStringAccum = '';\n ldInStringValue = false;\n }\n ptInStringValue = false;\n ptStringValueStart = -1;\n continue;\n }\n // Regular string character\n if (ptInStringValue && ptSkipDepth < 0) {\n const ch = B2C[c];\n ptDeltaAccum += ch;\n // Live doc: accumulate string char (batched — flushed at string close or chunk end)\n if (ldInStringValue) ldStringAccum += ch;\n if (ptAccumulatingKey) ptKeyAccum += ch;\n } else if (ptAccumulatingKey) {\n ptKeyAccum += B2C[c];\n }\n continue;\n }\n\n // Not in string\n switch (c) {\n case 0x7B: { // {\n ptContextStack[ptDepth] = 'o';\n ptKeyStack[ptDepth] = null;\n ptIndexStack[ptDepth] = null;\n ptValueStartStack[ptDepth] = i;\n ptDepth++;\n ptExpectingKey = true;\n ptAfterColon = false;\n // Check if we should skip this depth\n if (ptSkipDepth < 0 && isPathSkipped()) {\n ptSkipDepth = ptDepth - 1;\n }\n // Live doc: create object and push to stack (only if not skipped)\n if (ptSkipDepth < 0) {\n const obj: Record<string, unknown> = {};\n ldSetValue(obj);\n ldStack.push(obj);\n }\n break;\n }\n case 0x5B: { // [\n ptContextStack[ptDepth] = 'a';\n ptKeyStack[ptDepth] = null;\n ptIndexStack[ptDepth] = 0;\n ptValueStartStack[ptDepth] = i;\n ptDepth++;\n ptExpectingKey = false;\n ptAfterColon = false;\n if (ptSkipDepth < 0 && isPathSkipped()) {\n ptSkipDepth = ptDepth - 1;\n }\n // Live doc: create array and push to stack (only if not skipped)\n if (ptSkipDepth < 0) {\n const arr: unknown[] = [];\n ldSetValue(arr);\n ldStack.push(arr);\n }\n break;\n }\n case 0x7D: // }\n case 0x5D: { // ]\n ptDepth--;\n const wasSkipped = ptSkipDepth >= 0;\n if (wasSkipped && ptDepth <= ptSkipDepth) {\n ptSkipDepth = -1;\n }\n // Fire value complete for the container (only if not exiting a skipped path)\n if (ptDepth >= 0 && ptSkipDepth < 0 && !wasSkipped) {\n const start = ptValueStartStack[ptDepth];\n const len = i + 1 - start;\n fireValueComplete(buf.slice(start, i + 1), start, len);\n }\n // Restore parent context\n if (ptDepth > 0) {\n const parentCtx = ptContextStack[ptDepth - 1];\n ptExpectingKey = parentCtx === 'o';\n ptAfterColon = false;\n }\n // Live doc: pop container from stack\n if (ptSkipDepth < 0) {\n ldStack.pop();\n }\n break;\n }\n case 0x22: // opening double quote\n case 0x27: { // opening single quote (JSON5)\n if (c === 0x27 && format !== \"json5\") break;\n ptInString = true;\n ptQuoteChar = c;\n if (ptExpectingKey && ptSkipDepth < 0) {\n ptAccumulatingKey = true;\n ptKeyAccum = '';\n } else if (ptAfterColon || ptDepth === 0 || (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'a')) {\n if (ptSkipDepth < 0 && !isPathSkipped()) {\n ptInStringValue = true;\n ptStringValueStart = i;\n ptDeltaAccum = '';\n ptDeltaByteStart = i + 1;\n ldStringAccum = '';\n ldInStringValue = true;\n ldSetValue('');\n }\n ptAfterColon = false;\n }\n break;\n }\n case 0x3A: { // colon\n ptExpectingKey = false;\n ptAfterColon = true;\n // Check pick filter after key is stored\n if (epPickPaths && ptSkipDepth < 0 && !epIsFieldPicked()) {\n ptSkipDepth = ptDepth - 1;\n ldCurrentKey = null;\n break;\n }\n // Live doc: pre-set null for pending key (overwritten when real value arrives)\n if (ptSkipDepth < 0 && ldCurrentKey !== null && ldStack.length > 0) {\n const parent = ldStack[ldStack.length - 1];\n if (!Array.isArray(parent)) {\n (parent as Record<string, unknown>)[ldCurrentKey] = null;\n ldActiveKey = ldCurrentKey;\n }\n }\n break;\n }\n case 0x2C: { // comma\n // Reset pick-based skip at comma boundary\n if (epPickPaths && ptSkipDepth >= 0 && ptDepth - 1 <= ptSkipDepth) {\n ptSkipDepth = -1;\n }\n // In array: increment index\n if (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'a') {\n const idx = ptIndexStack[ptDepth - 1];\n ptIndexStack[ptDepth - 1] = (idx ?? -1) + 1;\n // Check skip for new array index\n if (ptSkipDepth < 0 && isPathSkipped()) {\n ptSkipDepth = ptDepth - 1;\n }\n }\n // In object: expect next key\n if (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'o') {\n ptExpectingKey = true;\n ptKeyStack[ptDepth - 1] = null;\n }\n ptAfterColon = false;\n break;\n }\n default: {\n // JSON5 unquoted keys: identifier chars when expecting a key\n if (format === \"json5\" && ptExpectingKey && isJson5IdentStart(c)) {\n let j = i + 1;\n while (j < to && isJson5IdentPart(buf[j])) j++;\n const key = utf8Decoder.decode(buf.slice(i, j));\n if (ptDepth > 0) ptKeyStack[ptDepth - 1] = key;\n ldCurrentKey = key;\n ptExpectingKey = false;\n i = j - 1;\n break;\n }\n // Scalar values (numbers, true, false, null, JSON5: Infinity, NaN, hex)\n if (ptAfterColon || ptDepth === 0 || (ptDepth > 0 && ptContextStack[ptDepth - 1] === 'a')) {\n const isScalarStart = (c >= 0x30 && c <= 0x39) || c === 0x2D || c === 0x74 || c === 0x66 || c === 0x6E\n || (format === \"json5\" && (c === 0x49 || c === 0x4E || c === 0x2B));\n if (isScalarStart) {\n if (ptSkipDepth < 0 && !isPathSkipped()) {\n let j = i + 1;\n while (j < to) {\n const sc = buf[j];\n if (sc === 0x2C || sc === 0x7D || sc === 0x5D || sc === 0x20 || sc === 0x0A || sc === 0x0D || sc === 0x09) break;\n j++;\n }\n if (j < to) {\n fireValueComplete(buf.slice(i, j), i, j - i);\n const scalarStr = utf8Decoder.decode(buf.slice(i, j));\n try { ldSetValue(format === \"json5\" ? parseJson5Scalar(scalarStr) : JSON.parse(scalarStr)); } catch { ldSetValue(null); }\n i = j - 1;\n } else {\n ptInScalar = true;\n ptScalarStart = i;\n ldScalarAccum = utf8Decoder.decode(buf.slice(i, to));\n i = to;\n }\n }\n ptAfterColon = false;\n }\n }\n break;\n }\n }\n }\n\n // Flush accumulated string to live doc parent (batched update)\n if (ldInStringValue && ldStringAccum) {\n ldUpdateString(ldStringAccum);\n }\n\n // Flush accumulated deltas at end of each feed for in-progress strings\n // This ensures onDelta fires incrementally per feed(), not just at string close\n if (ptInStringValue && ptDeltaAccum.length > 0 && ptSkipDepth < 0 && deltaSubs.length > 0) {\n fireDelta(ptDeltaAccum, ptDeltaByteStart, to - ptDeltaByteStart);\n ptDeltaAccum = '';\n ptDeltaByteStart = to;\n }\n }\n\n // --- EventParser object ---\n const self: EventParser = {\n on(path: string, ...args: any[]): EventParser {\n let schema: { safeParse: Function } | undefined;\n let callback: (event: PathEvent) => void;\n if (args.length === 2 && typeof args[0] === 'object' && args[0] !== null && 'safeParse' in args[0]) {\n schema = args[0];\n callback = args[1];\n } else {\n callback = args[0];\n }\n pathSubs.push({ segments: compilePath(path), callback, schema });\n return self;\n },\n\n onDelta(path: string, callback: (event: DeltaEvent) => void): EventParser {\n deltaSubs.push({ segments: compilePath(path), callback });\n return self;\n },\n\n onText(callback: (text: string) => void): EventParser {\n textCallbacks.push(callback);\n return self;\n },\n\n\n off(path: string, callback?: Function): EventParser {\n const compiled = compilePath(path);\n const eq = (a: PathSegment[], b: PathSegment[]) =>\n a.length === b.length && a.every((s, i) => s === b[i]);\n const remove = (subs: Sub[]) => {\n for (let i = subs.length - 1; i >= 0; i--) {\n if (eq(subs[i].segments, compiled) && (!callback || subs[i].callback === callback))\n subs.splice(i, 1);\n }\n };\n remove(pathSubs);\n remove(deltaSubs);\n return self;\n },\n\n feed(chunk: string | Uint8Array): FeedStatus {\n if (destroyed) throw new Error(\"EventParser already destroyed\");\n\n // Run through JSON seeker first\n let jsonContent: string | Uint8Array | null;\n if (typeof chunk === 'string') {\n jsonContent = seeker.feed(chunk);\n if (jsonContent === null) return FEED_STATUS[engine.stream_get_status(streamId)]!;\n } else if (seeker.isFeeding()) {\n // Fast path: skip string conversion when seeker is already feeding JSON\n jsonContent = chunk;\n } else {\n const str = utf8Decoder.decode(chunk);\n const result = seeker.feed(str);\n if (result === null) return FEED_STATUS[engine.stream_get_status(streamId)]!;\n jsonContent = encoder.encode(result);\n }\n\n // Feed to WASM stream\n const { ptr, len } = writeToWasm(jsonContent, feedBuf, 0, 4096);\n const prevLen = engine.stream_get_buffer_len(streamId);\n const status = engine.stream_feed(streamId, ptr, len);\n const newLen = engine.stream_get_buffer_len(streamId);\n\n // Scan new bytes with PathTracker (always runs — needed for live document builder)\n if (newLen > prevLen) {\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n // For end_early/complete: only scan up to the value boundary\n const scanEnd = (status === 1 || status === 3)\n ? Math.min(newLen, engine.stream_get_value_len(streamId))\n : newLen;\n if (scanEnd > prevLen) {\n const wasmBuf = new Uint8Array(engine.memory.buffer, bufPtr, scanEnd);\n ptScan(wasmBuf, prevLen, scanEnd);\n }\n // Finalize pending scalar on complete/end_early\n if ((status === 1 || status === 3) && ptInScalar && ldScalarAccum) {\n try { ldSetValue(JSON.parse(ldScalarAccum)); } catch { ldSetValue(null); }\n ldScalarAccum = '';\n ptInScalar = false;\n ptScalarStart = -1;\n }\n }\n\n const feedStatus = FEED_STATUS[status] || \"error\";\n\n return feedStatus;\n },\n\n getValue(): unknown | undefined {\n if (destroyed) throw new Error(\"EventParser already destroyed\");\n const status = engine.stream_get_status(streamId);\n if (status === 2) throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n\n if (status === 0) {\n // incomplete — return the incrementally-built live document\n let value: unknown = ldRoot;\n\n // Handle pending values not yet committed to ldRoot\n if (ptInScalar && ldScalarAccum) {\n const partial = ldScalarAccum;\n const completed = partial.startsWith('t') ? 'true'\n : partial.startsWith('f') ? 'false'\n : partial.startsWith('n') ? 'null'\n : partial;\n try {\n const parsed = JSON.parse(completed);\n if (ldStack.length === 0) value = parsed;\n } catch { /* leave as-is */ }\n } else if (ldInStringValue && ldStack.length === 0) {\n value = ldStringAccum;\n }\n\n if (value === undefined) return undefined;\n return value;\n }\n\n // complete or end_early\n let value: unknown;\n if (epPickPaths) {\n // Pick active — return the filtered live doc\n value = ldRoot;\n } else {\n // Full WASM parse for correctness\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n const valueLen = engine.stream_get_value_len(streamId);\n // Pad after the full buffer (not after valueLen) to preserve remaining data for JSONL\n const fullLen = engine.stream_get_buffer_len(streamId);\n new Uint8Array(engine.memory.buffer, bufPtr + fullLen, 64).fill(0x20);\n const docId = FORMAT_CODE === 2\n ? engine.doc_parse_fmt(bufPtr, valueLen, 2)\n : engine.doc_parse(bufPtr, valueLen);\n if (docId < 0) {\n const errorCode = engine.get_error_code();\n const msg = ERROR_MESSAGES[errorCode] || `Parse error (code ${errorCode})`;\n throw new SyntaxError(`VectorJSON: ${msg}`);\n }\n value = buildDocRoot(docId);\n }\n // Schema validation on complete\n if (epSchema) {\n const result = epSchema.safeParse(value);\n if (!result.success) return undefined;\n return result.data;\n }\n return value;\n },\n\n getRemaining(): Uint8Array | null {\n if (destroyed) return null;\n const rPtr = (engine.stream_get_remaining_ptr(streamId) >>> 0);\n const rLen = engine.stream_get_remaining_len(streamId);\n if (rLen > 0) {\n const copy = new Uint8Array(rLen);\n copy.set(new Uint8Array(engine.memory.buffer, rPtr, rLen));\n return copy;\n }\n return null;\n },\n\n getStatus(): FeedStatus {\n if (destroyed) return \"error\";\n return FEED_STATUS[engine.stream_get_status(streamId)] || \"error\";\n },\n\n getRawBuffer(): ArrayBuffer | null {\n if (destroyed) return null;\n const bufPtr = engine.stream_get_buffer_ptr(streamId) >>> 0;\n const bufLen = engine.stream_get_buffer_len(streamId);\n if (bufLen === 0) return null;\n const copy = new ArrayBuffer(bufLen);\n new Uint8Array(copy).set(new Uint8Array(engine.memory.buffer, bufPtr, bufLen));\n return copy;\n },\n\n getTapeBuffer(): ArrayBuffer | null {\n return destroyed ? null : streamExportTape(streamId, FORMAT_CODE);\n },\n\n destroy(): void {\n if (!destroyed) {\n engine.stream_destroy(streamId);\n destroyed = true;\n }\n },\n\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown | undefined> {\n if (!source) throw new Error(\"No source provided — use feed() for push-based parsing\");\n const ep = this;\n const reader = isReadableStream(source) ? source.getReader() : null;\n const iter = reader ? null : (source as AsyncIterable<any>)[Symbol.asyncIterator]();\n let finished = false;\n // JSONL: queue of completed values from a single feed\n const jsonlQueue: unknown[] = [];\n\n return {\n async next(): Promise<IteratorResult<unknown | undefined>> {\n // Drain JSONL queue first\n if (jsonlQueue.length > 0) {\n return { done: false, value: jsonlQueue.shift() };\n }\n\n if (finished) {\n ep.destroy();\n return { done: true as const, value: undefined };\n }\n\n const result = reader\n ? await reader.read()\n : await iter!.next();\n\n if (result.done || !result.value) {\n finished = true;\n ep.destroy();\n return { done: true as const, value: undefined };\n }\n\n const status = ep.feed(result.value);\n\n if (status === \"error\") {\n finished = true;\n ep.destroy();\n throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n }\n\n if (format === \"jsonl\" && (status === \"complete\" || status === \"end_early\")) {\n const value = ep.getValue();\n // Reset for next value\n engine.stream_reset_for_next(streamId);\n ptReset();\n seeker.reset();\n // Check if remaining bytes already contain complete values\n let nextStatus = engine.stream_get_status(streamId);\n while (nextStatus === 1 || nextStatus === 3) { // complete or end_early\n const bufPtr2 = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n const newLen2 = engine.stream_get_buffer_len(streamId);\n const scanEnd2 = Math.min(newLen2, engine.stream_get_value_len(streamId));\n if (scanEnd2 > 0) {\n const wasmBuf2 = new Uint8Array(engine.memory.buffer, bufPtr2, scanEnd2);\n ptScan(wasmBuf2, 0, scanEnd2);\n }\n const nextVal = ep.getValue();\n jsonlQueue.push(nextVal);\n engine.stream_reset_for_next(streamId);\n ptReset();\n seeker.reset();\n nextStatus = engine.stream_get_status(streamId);\n }\n return { done: false, value };\n }\n\n if (status === \"complete\" || status === \"end_early\") {\n finished = true;\n return { done: false, value: ep.getValue() };\n }\n\n return { done: false, value: ep.getValue() };\n },\n async return() {\n finished = true;\n ep.destroy();\n if (reader) reader.cancel();\n return { done: true as const, value: undefined };\n },\n [Symbol.asyncIterator]() { return this; },\n };\n },\n };\n\n return self;\n },\n\n createParser(arg?: any): StreamingParser {\n // --- Argument parsing: detect legacy schema vs options object ---\n let schema: { safeParse: (v: unknown) => { success: boolean; data?: unknown } } | undefined;\n let pickPaths: PathSegment[][] | null = null;\n let source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array | string> | undefined;\n let format: JsonFormat = \"json\";\n\n if (arg && typeof arg === 'object' && 'safeParse' in arg && !('source' in arg) && !('schema' in arg)) {\n // Legacy: createParser(zodSchema)\n schema = arg;\n pickPaths = extractSchemaKeys(arg);\n } else if (arg && typeof arg === 'object' && ('source' in arg || 'schema' in arg || 'format' in arg)) {\n // createParser({ schema, source, format })\n schema = arg.schema;\n source = arg.source;\n format = arg.format ?? \"json\";\n if (arg.schema) {\n pickPaths = extractSchemaKeys(arg.schema);\n }\n }\n const FORMAT_CODE = format === \"jsonl\" ? 1 : format === \"json5\" ? 2 : 0;\n const streamId = engine.stream_create(FORMAT_CODE);\n if (streamId < 0) {\n throw new Error(\"VectorJSON: Failed to create streaming parser (max 4 concurrent)\");\n }\n\n let destroyed = false;\n let cachedValue: unknown = UNCACHED;\n let cachedRemaining: Uint8Array | null | undefined; // undefined = not yet cached\n\n // --- Live document builder state (same approach as EventParser) ---\n let ldRoot: unknown = undefined;\n let ldStack: (Record<string, unknown> | unknown[])[] = [];\n let ldCurrentKey: string | null = null;\n let ldActiveKey: string | null = null;\n let ldStringAccum = '';\n let ldInStringValue = false;\n let ldScalarAccum = '';\n\n // Byte scanner state\n let scanInString = false;\n let scanQuoteChar = 0x22; // tracks which quote (\" or ') opened the current string\n let scanEscapeNext = false;\n let scanDepth = 0;\n let scanContext: ('o' | 'a')[] = [];\n let scanExpectingKey = false;\n let scanAfterColon = false;\n let scanKeyAccum = '';\n let scanAccumulatingKey = false;\n let scanInScalar = false;\n\n // --- Pick state ---\n // spKeyStack tracks the current key at each depth for pick matching.\n // spSkipDepth >= 0 means we're inside a non-picked field and should skip building.\n let spKeyStack: (string | null)[] = [];\n let spSkipDepth = -1;\n\n /** Reset all live document builder and scanner state (used by JSONL resetForNext). */\n function spReset() {\n ldRoot = undefined;\n ldStack.length = 0;\n ldCurrentKey = null;\n ldActiveKey = null;\n ldStringAccum = '';\n ldInStringValue = false;\n ldScalarAccum = '';\n scanInString = false;\n scanQuoteChar = 0x22;\n scanEscapeNext = false;\n scanDepth = 0;\n scanContext.length = 0;\n scanExpectingKey = false;\n scanAfterColon = false;\n scanKeyAccum = '';\n scanAccumulatingKey = false;\n scanInScalar = false;\n spKeyStack.length = 0;\n spSkipDepth = -1;\n prevLen = 0;\n cachedValue = UNCACHED;\n cachedRemaining = undefined;\n }\n\n /** Check if the current path (from spKeyStack + scanDepth) matches any pick path.\n * Returns true if current path is an ancestor, descendant, or exact match.\n * Array levels (null entries in spKeyStack) are transparent — skipped during comparison. */\n function isFieldPicked(): boolean {\n if (!pickPaths) return true;\n // Build effective key path (skip null = array levels)\n const effective: string[] = [];\n for (let i = 0; i < scanDepth; i++) {\n if (spKeyStack[i] !== null) effective.push(spKeyStack[i]!);\n }\n for (const pick of pickPaths) {\n const pickLen = pick.length;\n const effLen = effective.length;\n const compareLen = Math.min(effLen, pickLen);\n let matched = true;\n for (let i = 0; i < compareLen; i++) {\n const seg = pick[i];\n if (seg === '*') continue; // wildcard matches anything\n if (typeof seg === 'number') continue; // index matching — arrays are transparent\n if (effective[i] !== seg) { matched = false; break; }\n }\n if (matched) return true; // ancestor, descendant, or exact match\n }\n return false;\n }\n\n function spSetValue(value: unknown) {\n if (ldStack.length === 0) { ldRoot = value; return; }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) { parent.push(value); }\n else if (ldCurrentKey !== null) { parent[ldCurrentKey] = value; ldActiveKey = ldCurrentKey; ldCurrentKey = null; }\n }\n\n function spUpdateString(str: string) {\n if (ldStack.length === 0) { ldRoot = str; return; }\n const parent = ldStack[ldStack.length - 1];\n if (Array.isArray(parent)) {\n if (parent.length > 0) parent[parent.length - 1] = str;\n else parent.push(str);\n } else if (ldActiveKey !== null) { parent[ldActiveKey] = str; }\n }\n\n /** Scan new bytes to incrementally build the live JS document.\n * When pickPaths is set, fields not matching any pick path are skipped. */\n function spScan(buf: Uint8Array, from: number, to: number) {\n const picking = pickPaths !== null;\n for (let i = from; i < to; i++) {\n const c = buf[i];\n\n if (scanInScalar) {\n if (c === 0x2C || c === 0x7D || c === 0x5D || c === 0x20 || c === 0x0A || c === 0x0D || c === 0x09) {\n if (spSkipDepth < 0) {\n try { spSetValue(JSON.parse(ldScalarAccum)); } catch { spSetValue(null); }\n }\n ldScalarAccum = '';\n scanInScalar = false;\n i--; continue;\n }\n if (spSkipDepth < 0) ldScalarAccum += B2C[c];\n continue;\n }\n\n if (scanEscapeNext) {\n scanEscapeNext = false;\n if (ldInStringValue && spSkipDepth < 0) {\n let decoded: string;\n switch (c) {\n case 0x6E: decoded = '\\n'; break;\n case 0x72: decoded = '\\r'; break;\n case 0x74: decoded = '\\t'; break;\n case 0x22: decoded = '\"'; break;\n case 0x5C: decoded = '\\\\'; break;\n case 0x2F: decoded = '/'; break;\n case 0x62: decoded = '\\b'; break;\n case 0x66: decoded = '\\f'; break;\n default: decoded = B2C[c]; break;\n }\n ldStringAccum += decoded;\n }\n if (scanAccumulatingKey) scanKeyAccum += B2C[c];\n continue;\n }\n\n if (scanInString) {\n if (c === 0x5C) { scanEscapeNext = true; continue; }\n if (c === scanQuoteChar) {\n scanInString = false;\n if (scanAccumulatingKey) {\n scanAccumulatingKey = false;\n ldCurrentKey = scanKeyAccum;\n // Store key in spKeyStack for pick path matching\n if (picking && scanDepth > 0) {\n spKeyStack[scanDepth - 1] = scanKeyAccum;\n }\n scanKeyAccum = '';\n continue;\n }\n if (ldInStringValue && spSkipDepth < 0) {\n spUpdateString(ldStringAccum);\n ldStringAccum = '';\n ldInStringValue = false;\n }\n continue;\n }\n if (ldInStringValue && spSkipDepth < 0) ldStringAccum += B2C[c];\n if (scanAccumulatingKey) scanKeyAccum += B2C[c];\n continue;\n }\n\n switch (c) {\n case 0x7B: {\n scanContext[scanDepth] = 'o';\n if (picking) spKeyStack[scanDepth] = null;\n scanDepth++;\n scanExpectingKey = true;\n scanAfterColon = false;\n if (spSkipDepth < 0) {\n const obj: Record<string, unknown> = {};\n spSetValue(obj);\n ldStack.push(obj);\n }\n break;\n }\n case 0x5B: {\n scanContext[scanDepth] = 'a';\n if (picking) spKeyStack[scanDepth] = null;\n scanDepth++;\n scanExpectingKey = false;\n scanAfterColon = false;\n if (spSkipDepth < 0) {\n const arr: unknown[] = [];\n spSetValue(arr);\n ldStack.push(arr);\n }\n break;\n }\n case 0x7D: case 0x5D: {\n scanDepth--;\n if (spSkipDepth >= 0) {\n if (scanDepth <= spSkipDepth) {\n spSkipDepth = -1;\n // Container was opened before skip started — pop it\n ldStack.pop();\n }\n // else: still inside skipped region, container wasn't pushed\n } else {\n ldStack.pop();\n }\n if (scanDepth > 0) {\n scanExpectingKey = scanContext[scanDepth - 1] === 'o';\n scanAfterColon = false;\n }\n break;\n }\n case 0x22: // double quote\n case 0x27: { // single quote (JSON5)\n if (c === 0x27 && format !== \"json5\") break;\n scanInString = true;\n scanQuoteChar = c;\n const isValue = scanAfterColon || scanDepth === 0 || (scanDepth > 0 && scanContext[scanDepth - 1] === 'a');\n if (scanExpectingKey) {\n scanAccumulatingKey = true;\n scanKeyAccum = '';\n } else if (isValue && spSkipDepth < 0) {\n ldStringAccum = '';\n ldInStringValue = true;\n spSetValue('');\n scanAfterColon = false;\n }\n break;\n }\n case 0x3A: {\n scanExpectingKey = false;\n scanAfterColon = true;\n // Check pick filter after key is stored\n if (picking && spSkipDepth < 0 && !isFieldPicked()) {\n spSkipDepth = scanDepth - 1;\n ldCurrentKey = null; // discard key since field is skipped\n break;\n }\n // Pre-set null for the pending key — overwritten when the real\n // value arrives. Ensures getValue() shows {\"key\": null} while\n // the value is still being streamed.\n if (spSkipDepth < 0 && ldCurrentKey !== null && ldStack.length > 0) {\n const parent = ldStack[ldStack.length - 1];\n if (!Array.isArray(parent)) {\n (parent as Record<string, unknown>)[ldCurrentKey] = null;\n ldActiveKey = ldCurrentKey;\n }\n }\n break;\n }\n case 0x2C: {\n if (picking && spSkipDepth >= 0 && scanDepth - 1 <= spSkipDepth) {\n spSkipDepth = -1;\n }\n if (scanDepth > 0 && scanContext[scanDepth - 1] === 'o') {\n scanExpectingKey = true;\n if (picking) spKeyStack[scanDepth - 1] = null;\n }\n scanAfterColon = false;\n break;\n }\n default: {\n // JSON5 unquoted keys: identifier chars when expecting a key\n if (format === \"json5\" && scanExpectingKey && isJson5IdentStart(c)) {\n let j = i + 1;\n while (j < to && isJson5IdentPart(buf[j])) j++;\n const key = utf8Decoder.decode(buf.slice(i, j));\n ldCurrentKey = key;\n if (picking && scanDepth > 0) spKeyStack[scanDepth - 1] = key;\n scanExpectingKey = false;\n i = j - 1; // -1 because loop increments\n break;\n }\n if (spSkipDepth >= 0) break;\n const isValuePos = scanAfterColon || scanDepth === 0 || (scanDepth > 0 && scanContext[scanDepth - 1] === 'a');\n if (isValuePos) {\n // JSON5 hex number: 0x...\n if (format === \"json5\" && c === 0x30 && i + 1 < to && (buf[i + 1] === 0x78 || buf[i + 1] === 0x58)) {\n let j = i + 2;\n while (j < to) {\n const h = buf[j];\n if (!((h >= 0x30 && h <= 0x39) || (h >= 0x61 && h <= 0x66) || (h >= 0x41 && h <= 0x46))) break;\n j++;\n }\n if (j < to) {\n const hexStr = utf8Decoder.decode(buf.slice(i, j));\n spSetValue(parseInt(hexStr, 16));\n i = j - 1;\n } else {\n scanInScalar = true;\n ldScalarAccum = utf8Decoder.decode(buf.slice(i, to));\n i = to;\n }\n scanAfterColon = false;\n break;\n }\n const isScalarStart = (c >= 0x30 && c <= 0x39) || c === 0x2D || c === 0x74 || c === 0x66 || c === 0x6E\n || (format === \"json5\" && (c === 0x49 || c === 0x4E || c === 0x2B));\n if (isScalarStart) {\n let j = i + 1;\n while (j < to) {\n const sc = buf[j];\n if (sc === 0x2C || sc === 0x7D || sc === 0x5D || sc === 0x20 || sc === 0x0A || sc === 0x0D || sc === 0x09) break;\n j++;\n }\n if (j < to) {\n const scalarStr = utf8Decoder.decode(buf.slice(i, j));\n try { spSetValue(format === \"json5\" ? parseJson5Scalar(scalarStr) : JSON.parse(scalarStr)); } catch { spSetValue(null); }\n i = j - 1;\n } else {\n scanInScalar = true;\n ldScalarAccum = utf8Decoder.decode(buf.slice(i, to));\n i = to;\n }\n scanAfterColon = false;\n }\n }\n break;\n }\n }\n }\n\n // End-of-chunk: flush accumulated string to parent (batched update)\n if (ldInStringValue && ldStringAccum && spSkipDepth < 0) {\n spUpdateString(ldStringAccum);\n }\n\n // End-of-chunk: if we're still accumulating a scalar and stream says complete,\n // finalize it now (root-level scalars like \"42\" end at end-of-buffer)\n if (scanInScalar) {\n const status = engine.stream_get_status(streamId);\n if (status === 1 || status === 3) { // complete or end_early\n // Autocomplete partial keywords (e.g., \"tr\" → \"true\")\n const s = ldScalarAccum;\n const completed = s.startsWith('t') ? 'true'\n : s.startsWith('f') ? 'false'\n : s.startsWith('n') ? 'null' : s;\n try { spSetValue(JSON.parse(completed)); } catch { spSetValue(null); }\n ldScalarAccum = '';\n scanInScalar = false;\n }\n }\n }\n\n const ensureRemaining = () => {\n if (cachedRemaining !== undefined) return;\n const rPtr = (engine.stream_get_remaining_ptr(streamId) >>> 0);\n const rLen = engine.stream_get_remaining_len(streamId);\n if (rLen > 0) {\n cachedRemaining = new Uint8Array(rLen);\n cachedRemaining.set(new Uint8Array(engine.memory.buffer, rPtr, rLen));\n } else {\n cachedRemaining = null;\n }\n };\n\n let prevLen = 0;\n\n return {\n feed(chunk: Uint8Array | string): FeedStatus {\n if (destroyed) throw new Error(\"Parser already destroyed\");\n const chunkLen = typeof chunk === \"string\" ? chunk.length : chunk.byteLength;\n if (chunkLen === 0) return FEED_STATUS[engine.stream_get_status(streamId)]!;\n const { ptr, len } = writeToWasm(chunk, feedBuf, 0, 4096);\n const rawStatus = engine.stream_feed(streamId, ptr, len);\n // Scan new bytes for live document building\n const newLen = engine.stream_get_buffer_len(streamId);\n if (newLen > prevLen) {\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n // For end_early/complete: only scan up to the value boundary, not trailing data\n const scanEnd = (rawStatus === 1 || rawStatus === 3)\n ? Math.min(newLen, engine.stream_get_value_len(streamId))\n : newLen;\n if (scanEnd > prevLen) {\n const wasmBuf = new Uint8Array(engine.memory.buffer, bufPtr, scanEnd);\n spScan(wasmBuf, prevLen, scanEnd);\n }\n prevLen = newLen;\n }\n return FEED_STATUS[rawStatus] || \"error\";\n },\n\n getValue(): unknown | undefined {\n if (destroyed) throw new Error(\"Parser already destroyed\");\n if (cachedValue !== UNCACHED) return cachedValue;\n\n const status = engine.stream_get_status(streamId);\n if (status === 2) {\n throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n }\n\n if (status === 0) {\n // incomplete — return the incrementally-built live document\n // The returned object IS the live object — it grows as more data arrives.\n // Callers get a reference that automatically reflects future feed() calls.\n let value: unknown = ldRoot;\n\n // Handle pending partial values that haven't been committed to ldRoot yet:\n if (scanInScalar && ldScalarAccum) {\n // Pending scalar: try to autocomplete (e.g., \"tr\" → true)\n const partial = ldScalarAccum;\n const completed = partial.startsWith('t') ? 'true'\n : partial.startsWith('f') ? 'false'\n : partial.startsWith('n') ? 'null'\n : partial;\n try {\n const parsed = JSON.parse(completed);\n if (ldStack.length === 0) value = parsed;\n } catch { /* partial number like \"1.\" — leave as-is */ }\n } else if (ldInStringValue && ldStack.length === 0) {\n // Root-level string still being accumulated\n value = ldStringAccum;\n }\n\n if (value === undefined) return undefined;\n // Incomplete: return partial value without schema gating.\n // User checks getStatus() to know it's not final.\n return value;\n }\n\n // complete or end_early — finalize any pending scalar\n if (scanInScalar && ldScalarAccum) {\n try { spSetValue(JSON.parse(ldScalarAccum)); } catch { spSetValue(null); }\n ldScalarAccum = '';\n scanInScalar = false;\n }\n ensureRemaining();\n\n let value: unknown = ldRoot;\n if (schema) {\n const result = schema.safeParse(value);\n if (!result.success) return (cachedValue = undefined) as undefined;\n value = result.data;\n }\n return (cachedValue = value);\n },\n\n getRemaining(): Uint8Array | null {\n if (destroyed) return null;\n ensureRemaining();\n return cachedRemaining!;\n },\n\n getStatus(): FeedStatus {\n if (destroyed) return \"error\";\n const status = engine.stream_get_status(streamId);\n return FEED_STATUS[status] || \"error\";\n },\n\n getRawBuffer(): ArrayBuffer | null {\n if (destroyed) return null;\n const bufPtr = engine.stream_get_buffer_ptr(streamId) >>> 0;\n const bufLen = engine.stream_get_buffer_len(streamId);\n if (bufLen === 0) return null;\n const copy = new ArrayBuffer(bufLen);\n new Uint8Array(copy).set(new Uint8Array(engine.memory.buffer, bufPtr, bufLen));\n return copy;\n },\n\n getTapeBuffer(): ArrayBuffer | null {\n return destroyed ? null : streamExportTape(streamId, FORMAT_CODE);\n },\n\n destroy(): void {\n if (!destroyed) {\n engine.stream_destroy(streamId);\n destroyed = true;\n cachedValue = UNCACHED;\n }\n },\n\n /** Reset parser state for the next value in JSONL mode. Returns remaining byte count. */\n resetForNext(): number {\n const remain = engine.stream_reset_for_next(streamId);\n spReset();\n // Scan any leftover bytes that were shifted to the front\n if (remain > 0) {\n const bufPtr = (engine.stream_get_buffer_ptr(streamId) >>> 0);\n const newLen = engine.stream_get_buffer_len(streamId);\n const status = engine.stream_get_status(streamId);\n const scanEnd = (status === 1 || status === 3)\n ? Math.min(newLen, engine.stream_get_value_len(streamId))\n : newLen;\n if (scanEnd > 0) {\n const wasmBuf = new Uint8Array(engine.memory.buffer, bufPtr, scanEnd);\n spScan(wasmBuf, 0, scanEnd);\n }\n prevLen = newLen;\n }\n return remain;\n },\n\n [Symbol.asyncIterator](): AsyncIterableIterator<unknown | undefined> {\n if (!source) throw new Error(\"No source provided — use feed() for push-based parsing\");\n const self = this;\n const reader = isReadableStream(source) ? source.getReader() : null;\n const iter = reader ? null : (source as AsyncIterable<any>)[Symbol.asyncIterator]();\n let finished = false;\n const jsonlQueue: unknown[] = [];\n\n return {\n async next(): Promise<IteratorResult<unknown | undefined>> {\n // Drain JSONL queue first\n if (jsonlQueue.length > 0) {\n return { done: false, value: jsonlQueue.shift() };\n }\n\n if (finished) {\n self.destroy();\n return { done: true as const, value: undefined };\n }\n\n const result = reader\n ? await reader.read()\n : await iter!.next();\n\n if (result.done || !result.value) {\n finished = true;\n self.destroy();\n return { done: true as const, value: undefined };\n }\n\n const status = self.feed(result.value);\n\n if (status === \"error\") {\n finished = true;\n self.destroy();\n throw new SyntaxError(\"VectorJSON: Parse error in stream\");\n }\n\n if (format === \"jsonl\" && (status === \"complete\" || status === \"end_early\")) {\n const value = self.getValue();\n self.resetForNext();\n // Check if remaining bytes already contain complete values\n let nextStatus = engine.stream_get_status(streamId);\n while (nextStatus === 1 || nextStatus === 3) {\n const nextVal = self.getValue();\n jsonlQueue.push(nextVal);\n self.resetForNext();\n nextStatus = engine.stream_get_status(streamId);\n }\n return { done: false, value };\n }\n\n if (status === \"complete\" || status === \"end_early\") {\n finished = true;\n return { done: false, value: self.getValue() };\n }\n\n return { done: false, value: self.getValue() };\n },\n async return() {\n finished = true;\n self.destroy();\n if (reader) reader.cancel();\n return { done: true as const, value: undefined };\n },\n [Symbol.asyncIterator]() { return this; },\n };\n },\n };\n },\n\n importTape(buf: ArrayBuffer): unknown {\n if (buf.byteLength < 8) throw new Error(\"VectorJSON: tape buffer too small\");\n const bytes = new Uint8Array(buf);\n const wasmPtr = engine.alloc(bytes.length) >>> 0;\n if (wasmPtr === 0) throw new Error(\"VectorJSON: allocation failed for tape import\");\n new Uint8Array(engine.memory.buffer, wasmPtr, bytes.length).set(bytes);\n const docId = engine.doc_import_tape(wasmPtr, bytes.length);\n engine.dealloc(wasmPtr, bytes.length);\n if (docId < 0) throw new Error(\"VectorJSON: tape import failed (invalid buffer or no free slots)\");\n return buildDocRoot(docId);\n },\n };\n\n return _instance;\n}\n\n// --- Top-level await: auto-initialize with embedded WASM ---\nconst _vj = await init();\n\n/** Parse a JSON string or Uint8Array. Synchronous — no init needed. */\nexport const parse = _vj.parse;\n\n/** Parse partial/incomplete JSON. Compatible with Vercel AI SDK's parsePartialJson. */\nexport const parsePartialJson = _vj.parsePartialJson;\n\n/** Deep-compare two values for structural equality. WASM-accelerated for VJ proxies. */\nexport const deepCompare = _vj.deepCompare;\n\n/** Create a streaming parser for incremental JSON parsing. */\nexport const createParser = _vj.createParser;\n\n/** Create an event-driven streaming parser with path subscriptions. */\nexport const createEventParser = _vj.createEventParser;\n\n/** Eagerly materialize a lazy proxy into plain JS objects. */\nexport const materialize = _vj.materialize;\n\n/** Import a packed tape buffer into a lazy Proxy (zero-parse transfer from Worker). */\nexport const importTape = _vj.importTape;\n"
7
7
  ],
8
- "mappings": "wEACO,IAAM,GAAa,+2jSCe1B,SAAS,EAAY,CAAC,GAAyB,CAC7C,GAAI,OAAO,OAAW,IACpB,OAAO,IAAI,WAAW,OAAO,KAAK,GAAK,QAAQ,EAAE,MAAM,EACzD,IAAM,GAAM,KAAK,EAAG,EACd,EAAQ,IAAI,WAAW,GAAI,MAAM,EACvC,QAAS,GAAI,EAAG,GAAI,GAAI,OAAQ,KAAK,EAAM,IAAK,GAAI,WAAW,EAAC,EAChE,OAAO,EA8OT,IAAM,GAAyC,CAC7C,EAAG,iCACH,EAAG,oCACH,EAAG,0BACH,EAAG,6BACH,EAAG,yBACH,EAAG,2BACH,EAAG,gCACH,EAAG,6CACH,EAAG,4CACH,GAAI,mBACJ,GAAI,oBACJ,GAAI,8BACJ,GAAI,gBACJ,GAAI,qBACN,EA6CM,EAAc,IAAI,YAAY,OAAO,EAGrC,GAAgB,MAAM,KAAK,CAAE,OAAQ,GAAI,EAAG,CAAC,GAAG,KAAM,OAAO,aAAa,EAAC,CAAC,EAE9E,GAA+B,KAMnC,eAAsB,EAAI,CAAC,GAEH,CACtB,GAAI,GAAW,OAAO,GAGtB,IAAI,GACE,EAAU,IAAS,WACzB,GAAI,aAAmB,aAAe,YAAY,OAAO,CAAO,EAC9D,GAAc,EACT,QAAI,OAAO,IAAY,UAAY,aAAmB,IAAK,CAEhE,IAAQ,YAAa,KAAa,6BAC1B,iBAAkB,KAAa,oBACjC,EAAO,OAAO,IAAY,SAAW,EAAU,EAAc,CAAO,EAC1E,GAAc,MAAM,EAAS,CAAI,EAEjC,QAAc,GAAa,EAAU,EAAE,OAIzC,IAAQ,SAAU,IAAmB,MAAM,YAAY,YAAY,GAA4B,CAAC,CAAC,EAC3F,EAAS,GAAe,QAExB,GAAU,IAAI,YAGd,GAAW,CAAE,IAAK,EAAG,IAAK,CAAE,EAC5B,GAAS,CAAE,IAAK,EAAG,IAAK,CAAE,EAC1B,GAAU,CAAE,IAAK,EAAG,IAAK,CAAE,EAEjC,SAAS,EAAS,CAAC,EAAsB,EAAgB,EAAwB,CAC/E,GAAI,GAAU,EAAI,IAAK,OAAO,EAAI,IAClC,GAAI,EAAI,MAAQ,EAAG,EAAO,QAAQ,EAAI,IAAK,EAAI,GAAG,EAClD,IAAI,EAAM,EAAI,MAAQ,EAAI,EAAS,EAAI,IACvC,MAAO,EAAM,EAAQ,GAAO,EAE5B,GADA,EAAI,IAAM,EAAO,MAAM,CAAG,IAAM,EAC5B,EAAI,MAAQ,EAAG,MAAU,MAAM,+BAA+B,EAElE,OADA,EAAI,IAAM,EACH,EAAI,IAIb,SAAS,EAAW,CAClB,EAA4B,EAAsB,EAAkB,EACtC,CAC9B,GAAI,OAAO,IAAU,SAAU,CAE7B,IAAI,EAAW,EAAM,OAAS,EAC1B,EAAM,GAAU,EAAK,EAAU,CAAM,EACrC,EAAS,GAAQ,WAAW,EAAO,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAK,CAAQ,CAAC,EAC1F,GAAI,EAAO,KAAQ,EAAM,OAEvB,EAAW,EAAM,OAAS,EAAI,EAC9B,EAAM,GAAU,EAAK,EAAU,CAAM,EACrC,EAAS,GAAQ,WAAW,EAAO,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAK,CAAQ,CAAC,EAExF,MAAO,CAAE,MAAK,IAAK,EAAO,OAAS,EAErC,IAAM,EAAM,EAAM,WACZ,EAAM,GAAU,EAAK,EAAM,EAAU,CAAM,EAEjD,OADA,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAK,CAAG,EAAE,IAAI,CAAK,EACjD,CAAE,MAAK,KAAI,EAGpB,SAAS,EAAgB,CAAC,EAA2C,CACnE,GAAI,EAAI,SAAW,EAAG,MAAO,CAAE,IAAK,EAAG,IAAK,CAAE,EAC9C,OAAO,GAAY,EAAK,GAAQ,EAAG,GAAG,EAKxC,IAAM,GAAY,EAAO,cAAc,IAAM,EAEvC,GAAW,EACX,GAAW,EACX,GAAY,EACZ,GAAa,EACb,GAAa,EACb,GAAa,EACb,GAAY,EAEZ,GAAqC,CAAC,aAAc,WAAY,QAAS,WAAW,EACpF,GAAsB,EACtB,GAAe,EACf,GAAqB,EAGrB,GAAa,OAAO,iBAAiB,EACrC,GAAW,OAAO,EAKlB,GAAiB,IAAI,IAGrB,GAAc,IAAI,qBACtB,EAAG,QAAO,gBAAwD,CAChE,GAAI,GAAe,IAAI,CAAK,IAAM,EAAY,OAC9C,GAAe,OAAO,CAAK,EAC3B,GAAU,OAAO,CAAK,EACtB,EAAO,SAAS,CAAK,EAEzB,EAGA,SAAS,EAAgB,CAAC,EAA4B,CACpD,IAAM,EAAO,IAAI,YAAY,CAAK,EAElC,OADA,EAAK,IAAI,IAAI,YAAY,EAAO,OAAO,OAAQ,GAAW,CAAK,CAAC,EACzD,EAIT,SAAS,EAAkB,CACzB,EACA,EAAe,EACF,CAEb,IAAI,EAAQ,EAAG,EAAO,EAAK,CAAC,EAC5B,GAAI,EAFc,MAEK,OAAO,GAAiB,CAAK,EACpD,IAAM,EAAgB,CAAC,EACnB,EAAO,GAAiB,CAAK,EACjC,QAAS,EAAI,EAAG,EAAI,EAAO,IAAK,EAAI,KAAK,EAAK,EAAE,EAChD,MAAO,IANW,MAMU,CAC1B,IAAM,EAAW,IAAI,YAAY,EAAO,OAAO,OAAQ,GAAY,MAAe,CAAC,EAAE,GACrF,EAAQ,EAAG,EAAO,EAAK,CAAQ,EAC/B,EAAO,GAAiB,CAAK,EAC7B,QAAS,EAAI,EAAG,EAAI,EAAO,IAAK,EAAI,KAAK,EAAK,EAAE,EAElD,OAAO,IAAI,YAAY,CAAG,EAM5B,IAAM,GAAY,IAAI,IAMtB,SAAS,EAAa,CAAC,EAAe,EAAuB,CAC3D,IAAM,EAAS,EAAO,oBAAoB,EAAO,CAAK,IAAM,EAC5D,GAAI,IAAW,EAAG,MAAO,GAEzB,IAAM,EAAQ,IAAI,YAAY,EAAO,OAAO,OAAQ,GAAW,CAAC,EAC1D,EAAY,EAAM,GAClB,EAAa,EAAM,GAInB,EAAa,GAAU,IAAI,CAAK,EACtC,GAAI,IAAe,OAAW,CAC5B,IAAM,EAAM,EAAW,MAAM,EAAW,EAAY,CAAM,EAC1D,OAAO,EAAa,KAAK,MAAM,IAAM,EAAM,GAAG,EAAI,EAGpD,IAAM,EAAW,EAAO,kBAAkB,CAAK,IAAM,EAC/C,EAAM,EAAY,OACtB,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAW,EAAW,CAAM,CACnE,EAEA,OAAO,EAAa,KAAK,MAAM,IAAM,EAAM,GAAG,EAAI,EAOpD,SAAS,EAAkB,CAAC,EAAe,EAAwB,CACjE,IAAM,EAAM,EAAO,YAAY,EAAO,CAAK,EAC3C,GAAI,IAAQ,GAAU,OAAO,KAC7B,GAAI,IAAQ,GAAU,MAAO,GAC7B,GAAI,IAAQ,GAAW,MAAO,GAC9B,GAAI,IAAQ,GAAY,OAAO,EAAO,eAAe,EAAO,CAAK,EACjE,GAAI,IAAQ,GAAY,OAAO,GAAc,EAAO,CAAK,EACzD,GAAI,IAAQ,IAAc,IAAQ,GAAW,CAI3C,IAAM,EAAY,EAAO,gBAAgB,EAAO,CAAK,IAAM,EACrD,EAAiB,EAAO,oBAAoB,EAAO,CAAK,EAAI,EAC5D,EAAW,EAAO,gBAAgB,EAAO,CAAc,EACvD,EAAW,EAAO,kBAAkB,CAAK,IAAM,EAC/C,EAAM,IAAI,WACd,EAAO,OAAO,OAAQ,EAAW,EAAU,EAAW,EAAI,CAC5D,EACA,OAAO,KAAK,MAAM,EAAY,OAAO,CAAG,CAAC,EAE3C,OAAO,KAIT,SAAS,EAAgB,CAAC,EAA0B,CAClD,OAAO,EAAO,KAAO,EAAO,GAAK,GAAmB,EAAO,mBAAoB,EAAO,GAAI,EAAO,EAAE,GAMrG,SAAS,EAAY,CACnB,EAAe,EACf,EAAmB,EACnB,EACA,EAAe,GACN,CACT,IAAM,EAAM,EAAO,YAAY,EAAO,CAAK,EAC3C,GAAI,IAAQ,GAAU,OAAO,KAC7B,GAAI,IAAQ,GAAU,MAAO,GAC7B,GAAI,IAAQ,GAAW,MAAO,GAC9B,GAAI,IAAQ,GAAY,OAAO,EAAO,eAAe,EAAO,CAAK,EACjE,GAAI,IAAQ,GAAY,OAAO,GAAc,EAAO,CAAK,EAIzD,GAAI,IAAQ,GAAY,CACtB,GAAI,EACF,OAAO,IAAI,MAAM,CAAE,GAAI,EAAO,GAAI,EAAO,GAAI,EAAW,GAAI,EAAY,GAAI,CAAO,EAAU,EAAa,EAE5G,OAAO,GAAmB,EAAO,CAAK,EAIxC,OAAO,IAAI,MACT,OAAO,OAAO,CAAC,EAAG,CAAE,GAAI,EAAO,GAAI,EAAO,GAAI,EAAW,GAAI,EAAY,GAAI,EAC3E,GAAI,EAAO,cAAc,EAAO,CAAK,EAAG,GAAI,CAAa,CAAC,EAC5D,EACF,EAIF,IAAM,GAAmC,CACvC,GAAG,CAAC,EAAQ,EAAM,EAAW,CAC3B,GAAI,IAAS,QAAU,IAAS,OAAO,QAAS,OAAO,EAAO,GAC9D,GAAI,IAAS,GAAY,OAAO,EAAO,KAAO,EAAO,GAAK,CAAE,MAAO,EAAO,GAAI,MAAO,EAAO,EAAG,GAC/F,GAAI,IAAS,SAAU,OAAO,EAAO,GACrC,GAAI,IAAS,OAAO,SAAU,CAC5B,IAAM,EAAI,EACV,OAAO,QAAS,EAAG,CACjB,IAAI,EAAI,EACR,MAAO,CACL,IAAI,EAAG,CACL,GAAI,GAAK,EAAE,GAAI,MAAO,CAAE,KAAM,GAAe,MAAO,MAAU,EAE9D,MAAO,CAAE,KAAM,GAAgB,MAAO,GAAc,IAAK,EAAG,OAAO,GAAG,EAAG,CAAC,CAAE,EAEhF,GAGJ,GAAI,IAAS,OAAO,YAAa,MAAO,QACxC,GAAI,OAAO,IAAS,SAAU,CAC5B,IAAM,EAAM,OAAO,CAAI,EACvB,GAAI,OAAO,UAAU,CAAG,GAAK,GAAO,GAAK,EAAM,EAAO,GAAI,CACxD,GAAI,CAAC,EAAO,GAAI,EAAO,GAAS,MAAM,EAAO,EAAE,EAC/C,GAAI,EAAO,GAAG,KAAS,OAAW,OAAO,EAAO,GAAG,GACnD,IAAM,EAAU,GAAiB,CAAM,EACjC,EAAM,GAAa,EAAO,GAAI,EAAQ,GAAM,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,EAAE,EAE5F,OADA,EAAO,GAAG,GAAO,EACV,EAET,GAAI,KAAQ,MAAM,UAEhB,OADqB,GAAmB,EAAO,GAAI,EAAO,EAAE,EACA,GAGhE,QAEF,GAAG,CAAC,EAAQ,EAAM,CAChB,GAAI,IAAS,IAAc,IAAS,QAAU,IAAS,OAAO,SAAW,IAAS,SAAU,MAAO,GACnG,GAAI,OAAO,IAAS,SAAU,MAAO,GACrC,IAAM,EAAM,OAAO,CAAI,EACvB,OAAO,OAAO,UAAU,CAAG,GAAK,GAAO,GAAK,EAAM,EAAO,IAE3D,OAAO,CAAC,EAAQ,CACd,IAAM,EAAiB,CAAC,EACxB,QAAS,EAAI,EAAG,EAAI,EAAO,GAAI,IAAK,EAAK,KAAK,OAAO,CAAC,CAAC,EAEvD,OADA,EAAK,KAAK,QAAQ,EACX,GAET,wBAAwB,CAAC,EAAQ,EAAM,CACrC,GAAI,IAAS,SACX,MAAO,CAAE,MAAO,EAAO,GAAI,SAAU,GAAO,WAAY,GAAO,aAAc,EAAM,EAErF,GAAI,OAAO,IAAS,SAAU,CAC5B,IAAM,EAAM,OAAO,CAAI,EACvB,GAAI,OAAO,UAAU,CAAG,GAAK,GAAO,GAAK,EAAM,EAAO,GACpD,MAAO,CAAE,MAAO,KAAK,IAAK,EAAQ,EAAM,CAAM,EAAG,SAAU,GAAO,WAAY,GAAM,aAAc,EAAK,EAG3G,OAEJ,EAMM,GAAmC,CACvC,GAAG,CAAC,EAAQ,EAAM,EAAW,CAC3B,GAAI,IAAS,QAAU,IAAS,OAAO,QAAS,OAAO,EAAO,GAC9D,GAAI,IAAS,GAAY,OAAO,EAAO,KAAO,EAAO,GAAK,CAAE,MAAO,EAAO,GAAI,MAAO,EAAO,EAAG,GAC/F,GAAI,OAAO,IAAS,SAAU,OAAO,IAAS,OAAO,YAAc,SAAW,OAC9E,GAAI,CAAC,EAAO,GAAI,EAAO,GAAK,OAAO,OAAO,IAAI,EAC9C,GAAI,KAAQ,EAAO,GAAI,OAAO,EAAO,GAAG,GACxC,IAAQ,MAAK,OAAQ,GAAiB,CAAI,EACpC,EAAS,EAAO,eAAe,EAAO,GAAI,EAAO,GAAI,EAAK,CAAG,EACnE,GAAI,IAAW,EAAG,CAEhB,IAAM,EAAM,GAAa,EAAO,GAAI,EAAQ,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAI,EAEjF,OADA,EAAO,GAAG,GAAQ,EACX,EAIT,IAAM,EADO,KAAK,QAAS,CAAM,EACb,QAAQ,CAAI,EAChC,GAAI,IAAW,GAAI,OAEnB,IAAM,EAAM,GAAa,EAAO,GAAI,EAAO,IAAI,GAAU,EAAG,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAI,EAEjG,OADA,EAAO,GAAG,GAAQ,EACX,GAET,GAAG,CAAC,EAAQ,EAAM,CAChB,GAAI,IAAS,IAAc,IAAS,QAAU,IAAS,OAAO,QAAS,MAAO,GAC9E,GAAI,OAAO,IAAS,SAAU,MAAO,GACrC,IAAQ,MAAK,OAAQ,GAAiB,CAAI,EAC1C,GAAI,EAAO,eAAe,EAAO,GAAI,EAAO,GAAI,EAAK,CAAG,IAAM,EAAG,MAAO,GAGxE,OADa,KAAK,QAAS,CAAM,EACrB,SAAS,CAAI,GAE3B,OAAO,CAAC,EAAQ,CACd,GAAI,CAAC,EAAO,MAAO,CACjB,IAAM,EAAU,GAAmB,EAAO,gBAAiB,EAAO,GAAI,EAAO,EAAE,EAC/E,EAAO,IAAM,EACb,EAAO,MAAQ,MAAM,KAAK,EAAS,CAAC,IAAQ,GAAc,EAAO,GAAI,CAAG,CAAC,EAE3E,OAAO,EAAO,OAEhB,wBAAwB,CAAC,EAAQ,EAAM,CACrC,GAAI,OAAO,IAAS,SAAU,OAE9B,IAAM,EAAM,KAAK,IAAK,EAAQ,EAAM,CAAM,EAC1C,GAAI,IAAQ,OAAW,OACvB,MAAO,CAAE,MAAO,EAAK,SAAU,GAAO,WAAY,GAAM,aAAc,EAAK,EAE/E,EAGA,SAAS,EAAW,CAAC,EAAyB,CAC5C,GAAI,IAAU,MAAQ,OAAO,IAAU,SAAU,MAAO,GACxD,GAAI,CAAE,OAAO,MAAe,EAC5B,KAAM,CAAE,MAAO,IAIjB,SAAS,EAAY,CAAC,EAAe,EAAe,GAAgB,CAClE,IAAM,EAAU,EAAO,YAAY,EAAO,CAAC,EAE3C,GAAI,GAAW,GAAY,CACzB,IAAM,EAAQ,IAAY,GAAW,KACjC,IAAY,GAAW,GACvB,IAAY,GAAY,GACxB,IAAY,GAAa,EAAO,eAAe,EAAO,CAAC,EACvD,GAAc,EAAO,CAAC,EAG1B,OAFA,GAAU,OAAO,CAAK,EACtB,EAAO,SAAS,CAAK,EACd,EAGT,IAAM,GAAc,GAAe,IAAI,CAAK,GAAK,GAAK,EACtD,GAAe,IAAI,EAAO,CAAU,EACpC,IAAM,EAAY,CAAE,OAAM,EAW1B,OAVA,GAAY,SAAS,EAAW,CAAE,QAAO,YAAW,EAAG,CAAS,EAUzD,GAAa,EAAO,EAAG,EAAW,EAT1B,IAAM,CAEnB,GAAI,GAAe,IAAI,CAAK,IAAM,EAAY,OAC9C,GAAe,OAAO,CAAK,EAC3B,GAAU,OAAO,CAAK,EACtB,EAAO,SAAS,CAAK,EACrB,GAAY,WAAW,CAAS,GAG2B,IAAY,IAAc,CAAY,EAKrG,SAAS,EAAgB,CAAC,EAAsC,CAC9D,IAAM,EAAS,EAAO,kBAAkB,CAAQ,EAChD,GAAI,IAAW,GAAoB,IAAW,EAAmB,OAAO,KACxE,IAAM,EAAS,EAAO,sBAAsB,CAAQ,IAAM,EACpD,EAAS,EAAO,sBAAsB,CAAQ,EACpD,GAAI,IAAW,EAAG,OAAO,KAEzB,IAAM,EAAS,EAAO,MAAM,EAAS,EAAE,IAAM,EAC7C,GAAI,IAAW,EAAG,OAAO,KACzB,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAM,EAAE,IACnD,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAM,CACrD,EACA,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAS,EAAQ,EAAE,EAAE,KAAK,EAAI,EACnE,IAAM,EAAQ,EAAO,UAAU,EAAQ,CAAM,EAE7C,GADA,EAAO,QAAQ,EAAQ,EAAS,EAAE,EAC9B,EAAQ,EAAG,OAAO,KAEtB,IAAM,EAAO,EAAO,qBAAqB,CAAK,EACxC,EAAS,EAAO,EAAI,EAAO,MAAM,CAAI,IAAM,EAAI,EACrD,GAAI,IAAW,EAA6B,OAAxB,EAAO,SAAS,CAAK,EAAU,KACnD,EAAO,gBAAgB,EAAO,EAAQ,CAAI,EAC1C,EAAO,SAAS,CAAK,EACrB,IAAM,EAAO,IAAI,YAAY,CAAI,EAGjC,OAFA,IAAI,WAAW,CAAI,EAAE,IAAI,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAI,CAAC,EAC3E,EAAO,QAAQ,EAAQ,CAAI,EACpB,EAIT,SAAS,EAAW,CAAC,EAAW,EAAmB,CACjD,IAAI,EAAQ,EAAO,UAAU,EAAG,CAAC,EACjC,GAAI,EAAQ,EAAG,CACb,IAAM,EAAU,EAAO,eAAe,EACtC,GAAI,IAAY,GAAK,IAAY,GAAI,CACnC,GAAI,OAAO,WAAW,KAAO,WAAY,WAAW,GAAG,EACvD,EAAQ,EAAO,UAAU,EAAG,CAAC,GAGjC,OAAO,EAIT,SAAS,EAAgB,CAAC,EAA6B,CACrD,OAAO,OAAO,GAAG,YAAc,WAMjC,SAAS,EAAY,CAAC,EAA4C,EAAQ,GAAO,CAE/E,IAAI,EADY,EAEZ,EAAM,GACN,EAAqB,EAEzB,MAAO,CACL,IAAI,CAAC,EAA6B,CAChC,GAAI,IAPiD,EAO9B,OAAO,EAE9B,IAAM,EAAM,GAAiB,CAAC,EAC1B,EAAS,GACT,EAAI,EAER,MAAO,EAAI,EAAK,OAAQ,CACtB,GAAI,IAd+C,EAc5B,CACrB,GAAU,EAAK,MAAM,CAAC,EACtB,MAGF,GAAI,IAnBoB,EAmBA,CACtB,IAAM,EAAW,EAAK,QAAQ,WAAY,CAAC,EAC3C,GAAI,IAAa,GAAI,CACnB,IAAM,EAAW,EAAK,MAAM,CAAC,EAC7B,QAAW,KAAM,EAAK,EAAG,CAAQ,EACjC,EAAI,EAAK,OACJ,KACL,IAAM,EAAW,EAAK,MAAM,EAAG,CAAQ,EACvC,GAAI,EAAU,QAAW,KAAM,EAAK,EAAG,CAAQ,EAC/C,EAAI,EAAW,EACf,EA7BM,EA8BN,EAAM,GAER,SAGF,GAAI,IAnCkC,EAmCd,CACtB,IAAM,EAAa,IAAI,OAAO,CAAkB,EAC1C,EAAW,EAAK,QAAQ,EAAY,CAAC,EAC3C,GAAI,IAAa,GACf,GAAU,EAAK,MAAM,CAAC,EACtB,EAAI,EAAK,OAET,QAAU,EAAK,MAAM,EAAG,CAAQ,EAChC,EAAI,EAAW,EACf,EAAqB,EACrB,EA7CM,EA8CN,EAAM,GAER,SAIF,IAAM,EAAK,EAAK,GAEhB,GAAI,IAAO,KAAO,IAAO,KAAO,IAAO,KAAQ,GAAS,IAAO,IAAM,CACnE,GAAI,EAAK,CACP,QAAW,KAAM,EAAK,EAAG,CAAG,EAC5B,EAAM,GAER,EA3DiD,EA4DjD,GAAU,EAAK,MAAM,CAAC,EACtB,MAKF,GADA,GAAO,EACH,EAAI,SAAS,SAAS,EAAG,CAC3B,IAAM,EAAY,EAAI,MAAM,EAAG,EAAiB,EAChD,GAAI,EAAW,QAAW,KAAM,EAAK,EAAG,CAAS,EACjD,EArEsB,EAsEtB,EAAM,GACN,IACA,SAIF,GAAI,IAAO,IAAK,CACd,IAAI,EAAU,EACV,EAAI,EACR,MAAO,EAAI,EAAK,QAAU,EAAK,KAAO,IAAO,IAAW,IACxD,GAAI,GAAW,EAAG,CAChB,MAAO,EAAI,EAAK,QAAU,EAAK,KAAO;AAAA,EAAM,IAC5C,GAAI,EAAI,EAAK,OAAQ,IACrB,EAAqB,EACrB,EApFkC,EAqFlC,IAAM,EAAc,EAAI,MAAM,EAAG,EAAE,EACnC,GAAI,EAAa,QAAW,KAAM,EAAK,EAAG,CAAW,EACrD,EAAM,GACN,EAAI,EACJ,UAMJ,GAFA,IAEI,EAAI,OAAS,KAAM,CACrB,QAAW,KAAM,EAAK,EAAG,CAAG,EAC5B,EAAM,IAIV,GAAI,EAAO,OAAS,EAAG,OAAO,EAC9B,OAAO,MAET,KAAK,EAAG,CAAE,EAxGI,EAwGa,EAAM,GAAI,EAAqB,GAC1D,SAAS,EAAG,CAAE,OAAO,IAzGkC,EA0GzD,EAMF,SAAS,EAAW,CAAC,EAAgC,CACnD,OAAO,EAAQ,QAAQ,gBAAiB,KAAK,EAAE,MAAM,GAAG,EAAE,OAAO,OAAO,EACrE,IAAI,KAAK,IAAM,IAAM,IAAM,QAAQ,KAAK,CAAC,EAAI,CAAC,EAAI,CAAC,EAOxD,SAAS,EAAiB,CAAC,EAAa,EAAmB,CAAC,EAA2B,CACrF,IAAM,EAAQ,GAAQ,OAAS,GAAQ,MAAM,QAAQ,GAAK,GAAQ,SAAW,GAAQ,MACrF,GAAI,CAAC,GAAS,OAAO,IAAU,SAAU,OAAO,KAChD,IAAM,EAAyB,CAAC,EAChC,QAAW,KAAO,OAAO,KAAK,CAAK,EAAG,CACpC,IAAM,EAAW,CAAC,GAAG,EAAQ,CAAG,EAE1B,EAAc,EAAM,GACpB,EAAS,GAAkB,EAAa,CAAQ,EACtD,GAAI,GAAU,EAAO,OAAS,EAC5B,EAAM,KAAK,GAAG,CAAM,EAEpB,OAAM,KAAK,EAAS,IAAI,KAAK,QAAQ,KAAK,CAAC,EAAI,CAAC,EAAI,CAAC,CAAC,EAG1D,OAAO,EAAM,OAAS,EAAI,EAAQ,KAGpC,SAAS,EAAiB,CAAC,EAA6B,EAA+B,EAAuB,CAC5G,IAAM,EAAkB,CAAC,EACzB,QAAS,EAAI,EAAG,EAAI,EAAO,IACzB,GAAI,EAAS,KAAO,KAAM,EAAM,KAAK,EAAS,EAAG,EAC5C,QAAI,EAAW,KAAO,KAAM,EAAM,KAAK,OAAO,EAAW,EAAE,CAAC,EAEnE,OAAO,EAAM,KAAK,GAAG,EAGvB,SAAS,EAAiB,CAAC,EAAoB,CAC7C,OAAQ,GAAK,IAAQ,GAAK,KAAU,GAAK,IAAQ,GAAK,IAAS,IAAM,IAAQ,IAAM,GAGrF,SAAS,EAAgB,CAAC,EAAoB,CAC5C,OAAO,GAAkB,CAAC,GAAM,GAAK,IAAQ,GAAK,GAIpD,SAAS,EAAgB,CAAC,EAAoB,CAC5C,GAAI,IAAM,YAAc,IAAM,YAAa,MAAO,KAClD,GAAI,IAAM,YAAa,MAAO,KAC9B,GAAI,IAAM,MAAO,OAAO,KACxB,GAAI,EAAE,WAAW,IAAI,GAAK,EAAE,WAAW,IAAI,EAAG,OAAO,SAAS,EAAG,EAAE,EACnE,OAAO,KAAK,MAAM,CAAC,EAu/CrB,OAn/CA,GAAY,CACV,KAAK,CAAC,EAAyC,CAE7C,IAAQ,MAAK,OAAQ,GAAY,EAAO,GAAU,GAAI,IAAI,EAE1D,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAM,EAAK,EAAE,EAAE,KAAK,EAAI,EAG7D,IAAM,EAAa,CACjB,EACA,EACA,EACA,EACA,EACA,IACgB,CAChB,IAAI,EAAwB,GAC5B,MAAO,CACL,SACA,QACA,YACA,QACA,UAAU,CAAC,EAAuB,CAChC,GAAI,IAAyB,IAAU,MAAO,GAC9C,GAAI,IAAQ,MAAQ,IAAQ,QAAa,OAAO,IAAQ,SAAU,MAAO,GACzE,GAAI,CACF,IAAM,EAAU,EAAY,IAC5B,GAAI,CAAC,GAAU,OAAO,EAAO,QAAU,SAAU,MAAO,GACxD,IAAM,EAAM,EAAO,YAAY,EAAO,MAAO,EAAO,KAAM,EAC1D,GAAI,IAAQ,IAAc,IAAQ,GAAW,CAC3C,IAAM,EAAW,EAAO,oBAAoB,EAAO,MAAO,EAAO,KAAM,EAEvE,OADoB,EAAO,gBAAgB,EAAO,MAAO,CAAQ,IAAM,EAClD,EAEvB,MAAO,GACP,KAAM,CACN,MAAO,KAGX,MAAM,EAAY,CAChB,GAAI,IAAiB,GAAU,OAAO,EACtC,OAAQ,EAAe,IAAc,OAAY,KAAK,MAAM,CAAS,EAAI,EAE7E,GAII,EAAgB,CAAC,IAA8B,CACnD,GAAI,CAAC,EAAK,CACR,IAAM,EAAO,EAAO,eAAe,EACnC,EAAM,eAAe,GAAe,IAAS,qBAAqB,OAEpE,OAAO,EAAW,UAAW,OAAW,IAAU,OAAW,OAAW,CAAG,GAKvE,EAAa,OAAO,IAAU,UAAY,IAAQ,EAAM,OAG1D,EAAQ,GAAY,EAAK,CAAG,EAChC,GAAI,GAAS,EAAG,CACd,GAAI,EAAY,GAAU,IAAI,EAAO,CAAe,EAEpD,IAAM,EAAY,OAAO,IAAU,SAAW,EAC1C,EAAY,OAAO,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAK,CAAG,CAAC,EACrE,OAAO,EAAW,WAAY,GAAa,CAAK,EAAG,IAAU,CAAS,EAIxE,IAAM,EAAiB,EAAO,eAAe,EAAK,CAAG,EAErD,GAAI,IAAmB,GACrB,OAAO,EAAc,wBAAwB,EAG/C,GAAI,IAAmB,GAAoB,CACzC,IAAM,EAAW,EAAO,cAAc,EAChC,EAAY,EAAM,EAClB,EAAgB,IAAI,WAAW,CAAS,EAC9C,EAAc,IAAI,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAM,EAAU,CAAS,CAAC,EACjF,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAM,EAAU,EAAE,EAAE,KAAK,EAAI,EAElE,IAAM,EAAY,EAAY,OAAO,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAK,CAAQ,CAAC,EAExF,GADA,EAAQ,GAAY,EAAK,CAAQ,EAC7B,GAAS,EAAG,CACd,GAAI,EAAY,GAAU,IAAI,EAAO,CAAe,EACpD,OAAO,EAAW,iBAAkB,GAAa,CAAK,EAAG,IAAU,EAAW,CAAa,EAE7F,OAAO,EAAc,EAGvB,GAAI,IAAmB,GAAqB,CAC1C,IAAM,EAAW,EAAO,mBAAmB,EAAK,EAAK,GAAS,GAAG,EACjE,GAAI,IAAa,EAAG,CAClB,GAAI,IAAQ,EAAG,OAAO,EAAW,aAAc,OAAW,EAAK,MAAS,EACxE,OAAO,EAAc,wBAAwB,EAE/C,IAAM,EAAY,EAAY,OAAO,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAK,CAAQ,CAAC,EAExF,GADA,EAAQ,GAAY,EAAK,CAAQ,EAC7B,GAAS,EAGX,OAAO,EAAW,aAAc,GAAa,EAAO,EAAI,EAAG,EAAK,CAAS,EAE3E,OAAO,EAAc,EAGvB,OAAO,EAAc,GAGvB,WAAW,CAAC,EAAY,EAAY,EAAiD,CACnF,IAAM,EAAW,GAAS,iBAAmB,GAAS,EAAI,EAK1D,GAAI,IAAM,MAAQ,OAAO,IAAM,UAAY,IAAM,MAAQ,OAAO,IAAM,SACpE,GAAI,CACF,IAAM,EAAS,EAAU,IACnB,EAAS,EAAU,IACzB,GAAI,GAAS,EAAO,CAClB,IAAM,EAAS,EAAO,eAAe,EAAM,MAAO,EAAM,MAAO,EAAM,MAAO,EAAM,MAAO,CAAO,EAChG,GAAI,GAAU,EAAG,OAAO,IAAW,GAGrC,KAAM,EAIV,OAAO,KAAK,UAAU,CAAC,IAAM,KAAK,UAAU,CAAC,GAG/C,WAAW,CAAC,EAAyB,CACnC,GAAI,CAAC,GAAY,CAAK,EAAG,OAAO,EAChC,IAAQ,QAAO,SAAW,EAAc,IACxC,OAAO,GAAmB,EAAO,CAAK,GAGxC,gBAAgB,CAAC,EAAe,EAAiG,CAC/H,GAAI,CAAC,EAAO,MAAO,CAAE,MAAO,OAAW,MAAO,cAAwB,EACtE,IAAM,EAAS,GAAW,MAAM,CAAK,EACrC,OAAQ,EAAO,YACR,eACA,iBAAkB,CACrB,IAAM,EAAQ,EAAO,OAAO,EAC5B,GAAI,EAAQ,CACV,IAAM,EAAY,EAAO,UAAU,CAAK,EACxC,GAAI,EAAU,QAAS,MAAO,CAAE,MAAO,EAAU,KAAM,MAAO,kBAA4B,EAC1F,MAAO,CAAE,MAAO,OAAW,MAAO,kBAA4B,EAEhE,MAAO,CAAE,QAAO,MAAO,kBAA4B,CACrD,KACK,aAAc,CACjB,IAAM,EAAQ,EAAO,OAAO,EAC5B,GAAI,EAAQ,CACV,IAAM,EAAY,EAAO,UAAU,CAAK,EACxC,GAAI,EAAU,QAAS,MAAO,CAAE,MAAO,EAAU,KAAM,MAAO,gBAA0B,EAExF,MAAO,CAAE,QAAO,MAAO,gBAA0B,EAEnD,MAAO,CAAE,QAAO,MAAO,gBAA0B,CACnD,SAEE,MAAO,CAAE,MAAO,OAAW,MAAO,cAAwB,IAIhE,iBAAiB,CAAC,EAIF,CACd,IAAM,EAAS,GAAS,OAClB,EAAS,GAAS,QAAU,OAC5B,EAAc,IAAW,QAAU,EAAI,IAAW,QAAU,EAAI,EAGhE,EAAW,GAAS,OACtB,EAAsC,KAC1C,GAAI,GAAS,OACX,EAAc,GAAkB,EAAQ,MAAM,EAGhD,IAAM,EAAW,EAAO,cAAc,CAAW,EACjD,GAAI,EAAW,EACb,MAAU,MAAM,8DAA8D,EAGhF,IAAI,EAAY,GAIV,EAAkB,CAAC,EACnB,EAAmB,CAAC,EACpB,EAA4C,CAAC,EAG7C,EAAS,GAAa,EAAe,IAAW,OAAO,EAGzD,EAAU,EACV,EAAa,GACb,EAAc,GACd,EAAe,GACf,EAAgC,CAAC,EACjC,EAAgC,CAAC,EACjC,EAAkC,CAAC,EACnC,GAA8B,CAAC,EAC/B,EAAc,GACd,EAAiB,GACjB,EAAe,GACf,EAAa,GACb,EAAoB,GACpB,GAAqB,GACrB,EAAkB,GAClB,EAAe,GACf,EAAmB,EACnB,GAAa,GACb,GAAgB,GAKhB,EAAkB,OAClB,EAAmD,CAAC,EACpD,EAA8B,KAC9B,GAA6B,KAC7B,EAAgB,GAChB,EAAkB,GAClB,EAAgB,GAEpB,SAAS,CAAU,CAAC,EAAgB,CAClC,GAAI,EAAQ,SAAW,EAAG,CACxB,EAAS,EACT,OAEF,IAAM,EAAS,EAAQ,EAAQ,OAAS,GACxC,GAAI,MAAM,QAAQ,CAAM,EACtB,EAAO,KAAK,CAAK,EACZ,QAAI,IAAiB,KAC1B,EAAO,GAAgB,EACvB,GAAc,EACd,EAAe,KAKnB,SAAS,CAAc,CAAC,EAAa,CACnC,GAAI,EAAQ,SAAW,EAAG,CACxB,EAAS,EACT,OAEF,IAAM,EAAS,EAAQ,EAAQ,OAAS,GACxC,GAAI,MAAM,QAAQ,CAAM,EACtB,GAAI,EAAO,OAAS,EAAG,EAAO,EAAO,OAAS,GAAK,EAC9C,OAAO,KAAK,CAAG,EACf,QAAI,KAAgB,KACzB,EAAO,IAAe,EAI1B,SAAS,CAAO,EAAG,CACjB,EAAS,OACT,EAAQ,OAAS,EACjB,EAAe,KACf,GAAc,KACd,EAAgB,GAChB,EAAkB,GAClB,EAAgB,GAGlB,SAAS,CAAO,EAAG,CACjB,EAAU,EAAG,EAAa,GAAO,EAAc,GAAM,EAAe,GACpE,EAAe,OAAS,EAAG,EAAW,OAAS,EAC/C,EAAa,OAAS,EAAG,GAAkB,OAAS,EACpD,EAAc,GAAI,EAAiB,GAAO,EAAe,GACzD,EAAa,GAAI,EAAoB,GACrC,GAAqB,GAAI,EAAkB,GAC3C,EAAe,GAAI,EAAmB,EACtC,GAAa,GAAO,GAAgB,GACpC,EAAQ,EAKV,SAAS,CAAS,CAAC,EAAyB,EAA4C,CACtF,IAAM,EAAM,EAAS,OACrB,GAAI,EAAQ,IAAQ,EAAU,EAAM,EAAS,OAAO,KACpD,IAAM,EAA+B,CAAC,EACtC,QAAS,EAAI,EAAG,EAAI,EAAK,IAAK,CAC5B,IAAM,EAAM,EAAS,GACf,EAAM,EAAW,GAAI,EAAM,EAAa,GAC9C,GAAI,IAAQ,IAAK,EAAQ,KAAK,IAAQ,KAAO,EAAO,GAAO,EAAG,EACzD,QAAI,OAAO,IAAQ,SAAW,IAAQ,EAAM,IAAQ,EAAK,OAAO,KAEvE,OAAO,EAGT,SAAS,CAAa,EAAY,CAChC,GAAI,GAAe,CAAC,EAAgB,EAAG,MAAO,GAC9C,MAAO,GAIT,SAAS,CAAe,EAAY,CAClC,GAAI,CAAC,EAAa,MAAO,GAEzB,IAAM,EAAsB,CAAC,EAC7B,QAAS,EAAI,EAAG,EAAI,EAAS,IAC3B,GAAI,EAAW,KAAO,KAAM,EAAU,KAAK,EAAW,EAAG,EAE3D,QAAW,KAAQ,EAAa,CAC9B,IAAM,EAAU,EAAK,OACf,EAAS,EAAU,OACnB,EAAa,KAAK,IAAI,EAAQ,CAAO,EACvC,EAAU,GACd,QAAS,EAAI,EAAG,EAAI,EAAY,IAAK,CACnC,IAAM,EAAM,EAAK,GACjB,GAAI,IAAQ,IAAK,SACjB,GAAI,OAAO,IAAQ,SAAU,SAC7B,GAAI,EAAU,KAAO,EAAK,CAAE,EAAU,GAAO,OAE/C,GAAI,EAAS,MAAO,GAEtB,MAAO,GAGT,SAAS,CAAiB,CAAC,EAAwB,EAAgB,EAAgB,CACjF,GAAI,EAAS,SAAW,EAAG,OAC3B,IAAM,EAAe,GAAkB,EAAY,EAAc,CAAO,EACxE,QAAW,KAAO,EAAU,CAC1B,IAAM,EAAU,EAAU,EAAI,SAAU,EAAI,EAC5C,GAAI,CAAC,EAAS,SACd,IAAI,EACJ,GAAI,CAAE,EAAQ,KAAK,MAAM,EAAY,OAAO,CAAU,CAAC,EAAK,KAAM,CAAE,SACpE,GAAI,EAAI,OAAQ,CACd,IAAM,EAAS,EAAI,OAAO,UAAU,CAAK,EACzC,GAAI,CAAC,EAAO,QAAS,SACrB,EAAQ,EAAO,KAEjB,IAAM,EAAmB,CAAE,KAAM,QAAS,KAAM,EAAc,QAAO,SAAQ,SAAQ,SAAQ,EAC7F,QAAS,EAAI,EAAQ,OAAS,EAAG,GAAK,EAAG,IAAK,CAC5C,IAAM,EAAI,EAAQ,GAClB,GAAI,OAAO,IAAM,UAAY,EAAM,QAAU,OAAW,EAAM,MAAQ,EACtE,GAAI,OAAO,IAAM,UAAY,EAAM,MAAQ,OAAW,EAAM,IAAM,EAEpE,EAAI,SAAS,CAAY,GAI7B,SAAS,EAAS,CAAC,EAAe,EAAgB,EAAgB,CAChE,GAAI,EAAU,SAAW,EAAG,OAC5B,IAAM,EAAe,GAAkB,EAAY,EAAc,CAAO,EACxE,QAAW,KAAO,EAAW,CAC3B,GAAI,CAAC,EAAU,EAAI,SAAU,EAAI,EAAG,SACpC,EAAI,SAAS,CAAE,KAAM,QAAS,KAAM,EAAc,QAAO,SAAQ,QAAO,CAAC,GAI7E,SAAS,EAAM,CAAC,EAAiB,EAAc,EAAY,CACzD,QAAS,EAAI,EAAM,EAAI,EAAI,IAAK,CAC9B,IAAM,EAAI,EAAI,GAGd,GAAI,GAAY,CACd,GAAI,IAAM,IAAQ,IAAM,KAAQ,IAAM,IAAQ,IAAM,IAAQ,IAAM,IAAQ,IAAM,IAAQ,IAAM,EAAM,CAElG,IAAM,EAAY,EAAI,GACtB,EAAkB,EAAI,MAAM,GAAe,CAAC,EAAG,GAAe,CAAS,EAEvE,GAAI,CAAE,EAAW,KAAK,MAAM,CAAa,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EACtE,EAAgB,GAChB,GAAa,GACb,GAAgB,GAEhB,IACA,SAGF,GAAiB,GAAI,GACrB,SAGF,GAAI,EAAc,CAEhB,GADA,EAAe,GACX,GAAmB,EAAc,EAAG,CAEtC,IAAI,EACJ,OAAQ,OACD,KAAM,EAAU;AAAA,EAAM,UACtB,KAAM,EAAU,KAAM,UACtB,KAAM,EAAU,KAAM,UACtB,IAAM,EAAU,IAAK,UACrB,IAAM,EAAU,KAAM,UACtB,IAAM,EAAU,IAAK,UACrB,IAAM,EAAU,KAAM,UACtB,KAAM,EAAU,KAAM,cAClB,EAAU,GAAI,GAAI,MAI7B,GAFA,GAAgB,EAEZ,EACF,GAAiB,EAEnB,GAAI,EAAmB,GAAc,EAChC,QAAI,EACT,GAAc,GAAI,GAEpB,SAGF,GAAI,EAAY,CACd,GAAI,IAAM,GAAM,CACd,EAAe,GACf,SAEF,GAAI,IAAM,EAAa,CAErB,GADA,EAAa,GACT,EAAmB,CAGrB,GAFA,EAAoB,GAEhB,EAAU,EAAG,EAAW,EAAU,GAAK,EAE3C,EAAe,EACf,EAAa,GACb,SAGF,GAAI,GAAmB,EAAc,EAAG,CAEtC,GAAI,GAAgB,EAAU,OAAS,EAAG,CACxC,IAAM,EAAe,EAAI,EACzB,GAAU,EAAc,EAAkB,CAAY,EAExD,EAAe,GAEf,IAAM,EAAQ,GACR,EAAM,EAAI,EAAI,EACpB,EAAkB,EAAI,MAAM,EAAO,EAAI,CAAC,EAAG,EAAO,CAAG,EAErD,EAAe,CAAa,EAC5B,EAAgB,GAChB,EAAkB,GAEpB,EAAkB,GAClB,GAAqB,GACrB,SAGF,GAAI,GAAmB,EAAc,EAAG,CACtC,IAAM,EAAK,GAAI,GAGf,GAFA,GAAgB,EAEZ,EAAiB,GAAiB,EACtC,GAAI,EAAmB,GAAc,EAChC,QAAI,EACT,GAAc,GAAI,GAEpB,SAIF,OAAQ,OACD,KAAM,CAST,GARA,EAAe,GAAW,IAC1B,EAAW,GAAW,KACtB,EAAa,GAAW,KACxB,GAAkB,GAAW,EAC7B,IACA,EAAiB,GACjB,EAAe,GAEX,EAAc,GAAK,EAAc,EACnC,EAAc,EAAU,EAG1B,GAAI,EAAc,EAAG,CACnB,IAAM,EAA+B,CAAC,EACtC,EAAW,CAAG,EACd,EAAQ,KAAK,CAAG,EAElB,KACF,KACK,IAAM,CAQT,GAPA,EAAe,GAAW,IAC1B,EAAW,GAAW,KACtB,EAAa,GAAW,EACxB,GAAkB,GAAW,EAC7B,IACA,EAAiB,GACjB,EAAe,GACX,EAAc,GAAK,EAAc,EACnC,EAAc,EAAU,EAG1B,GAAI,EAAc,EAAG,CACnB,IAAM,EAAiB,CAAC,EACxB,EAAW,CAAG,EACd,EAAQ,KAAK,CAAG,EAElB,KACF,KACK,SACA,IAAM,CACT,IACA,IAAM,EAAa,GAAe,EAClC,GAAI,GAAc,GAAW,EAC3B,EAAc,GAGhB,GAAI,GAAW,GAAK,EAAc,GAAK,CAAC,EAAY,CAClD,IAAM,EAAQ,GAAkB,GAC1B,EAAM,EAAI,EAAI,EACpB,EAAkB,EAAI,MAAM,EAAO,EAAI,CAAC,EAAG,EAAO,CAAG,EAGvD,GAAI,EAAU,EAEZ,EADkB,EAAe,EAAU,KACZ,IAC/B,EAAe,GAGjB,GAAI,EAAc,EAChB,EAAQ,IAAI,EAEd,KACF,KACK,QACA,IAAM,CACT,GAAI,IAAM,IAAQ,IAAW,QAAS,MAGtC,GAFA,EAAa,GACb,EAAc,EACV,GAAkB,EAAc,EAClC,EAAoB,GACpB,EAAa,GACR,QAAI,GAAgB,IAAY,GAAM,EAAU,GAAK,EAAe,EAAU,KAAO,IAAM,CAChG,GAAI,EAAc,GAAK,CAAC,EAAc,EACpC,EAAkB,GAClB,GAAqB,EACrB,EAAe,GACf,EAAmB,EAAI,EACvB,EAAgB,GAChB,EAAkB,GAClB,EAAW,EAAE,EAEf,EAAe,GAEjB,KACF,KACK,IAAM,CAIT,GAHA,EAAiB,GACjB,EAAe,GAEX,GAAe,EAAc,GAAK,CAAC,EAAgB,EAAG,CACxD,EAAc,EAAU,EACxB,EAAe,KACf,MAGF,GAAI,EAAc,GAAK,IAAiB,MAAQ,EAAQ,OAAS,EAAG,CAClE,IAAM,EAAS,EAAQ,EAAQ,OAAS,GACxC,GAAI,CAAC,MAAM,QAAQ,CAAM,EACtB,EAAmC,GAAgB,KACpD,GAAc,EAGlB,KACF,KACK,IAAM,CAET,GAAI,GAAe,GAAe,GAAK,EAAU,GAAK,EACpD,EAAc,GAGhB,GAAI,EAAU,GAAK,EAAe,EAAU,KAAO,IAAK,CACtD,IAAM,EAAM,EAAa,EAAU,GAGnC,GAFA,EAAa,EAAU,IAAM,GAAO,IAAM,EAEtC,EAAc,GAAK,EAAc,EACnC,EAAc,EAAU,EAI5B,GAAI,EAAU,GAAK,EAAe,EAAU,KAAO,IACjD,EAAiB,GACjB,EAAW,EAAU,GAAK,KAE5B,EAAe,GACf,KACF,SACS,CAEP,GAAI,IAAW,SAAW,GAAkB,GAAkB,CAAC,EAAG,CAChE,IAAI,EAAI,EAAI,EACZ,MAAO,EAAI,GAAM,GAAiB,EAAI,EAAE,EAAG,IAC3C,IAAM,EAAM,EAAY,OAAO,EAAI,MAAM,EAAG,CAAC,CAAC,EAC9C,GAAI,EAAU,EAAG,EAAW,EAAU,GAAK,EAC3C,EAAe,EACf,EAAiB,GACjB,EAAI,EAAI,EACR,MAGF,GAAI,GAAgB,IAAY,GAAM,EAAU,GAAK,EAAe,EAAU,KAAO,KAGnF,GAFuB,GAAK,IAAQ,GAAK,IAAS,IAAM,IAAQ,IAAM,KAAQ,IAAM,KAAQ,IAAM,KAC5F,IAAW,UAAY,IAAM,IAAQ,IAAM,IAAQ,IAAM,IAC5C,CACjB,GAAI,EAAc,GAAK,CAAC,EAAc,EAAG,CACvC,IAAI,EAAI,EAAI,EACZ,MAAO,EAAI,EAAI,CACb,IAAM,EAAK,EAAI,GACf,GAAI,IAAO,IAAQ,IAAO,KAAQ,IAAO,IAAQ,IAAO,IAAQ,IAAO,IAAQ,IAAO,IAAQ,IAAO,EAAM,MAC3G,IAEF,GAAI,EAAI,EAAI,CACV,EAAkB,EAAI,MAAM,EAAG,CAAC,EAAG,EAAG,EAAI,CAAC,EAC3C,IAAM,EAAY,EAAY,OAAO,EAAI,MAAM,EAAG,CAAC,CAAC,EACpD,GAAI,CAAE,EAAW,IAAW,QAAU,GAAiB,CAAS,EAAI,KAAK,MAAM,CAAS,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EACrH,EAAI,EAAI,EAER,QAAa,GACb,GAAgB,EAChB,EAAgB,EAAY,OAAO,EAAI,MAAM,EAAG,CAAE,CAAC,EACnD,EAAI,EAGR,EAAe,IAGnB,KACF,GAKJ,GAAI,GAAmB,EACrB,EAAe,CAAa,EAK9B,GAAI,GAAmB,EAAa,OAAS,GAAK,EAAc,GAAK,EAAU,OAAS,EACtF,GAAU,EAAc,EAAkB,EAAK,CAAgB,EAC/D,EAAe,GACf,EAAmB,EAKvB,IAAM,GAAoB,CACxB,EAAE,CAAC,KAAiB,EAA0B,CAC5C,IAAI,EACA,EACJ,GAAI,EAAK,SAAW,GAAK,OAAO,EAAK,KAAO,UAAY,EAAK,KAAO,MAAQ,cAAe,EAAK,GAC9F,EAAS,EAAK,GACd,EAAW,EAAK,GAEhB,OAAW,EAAK,GAGlB,OADA,EAAS,KAAK,CAAE,SAAU,GAAY,CAAI,EAAG,WAAU,QAAO,CAAC,EACxD,IAGT,OAAO,CAAC,EAAc,EAAoD,CAExE,OADA,EAAU,KAAK,CAAE,SAAU,GAAY,CAAI,EAAG,UAAS,CAAC,EACjD,IAGT,MAAM,CAAC,EAA+C,CAEpD,OADA,EAAc,KAAK,CAAQ,EACpB,IAIT,GAAG,CAAC,EAAc,EAAkC,CAClD,IAAM,EAAW,GAAY,CAAI,EAC3B,EAAK,CAAC,EAAkB,IAC5B,EAAE,SAAW,EAAE,QAAU,EAAE,MAAM,CAAC,EAAG,IAAM,IAAM,EAAE,EAAE,EACjD,EAAS,CAAC,IAAgB,CAC9B,QAAS,EAAI,EAAK,OAAS,EAAG,GAAK,EAAG,IACpC,GAAI,EAAG,EAAK,GAAG,SAAU,CAAQ,IAAM,CAAC,GAAY,EAAK,GAAG,WAAa,GACvE,EAAK,OAAO,EAAG,CAAC,GAKtB,OAFA,EAAO,CAAQ,EACf,EAAO,CAAS,EACT,IAGT,IAAI,CAAC,EAAwC,CAC3C,GAAI,EAAW,MAAU,MAAM,+BAA+B,EAG9D,IAAI,EACJ,GAAI,OAAO,IAAU,UAEnB,GADA,EAAc,EAAO,KAAK,CAAK,EAC3B,IAAgB,KAAM,OAAO,GAAY,EAAO,kBAAkB,CAAQ,GACzE,QAAI,EAAO,UAAU,EAE1B,EAAc,EACT,KACL,IAAM,EAAM,EAAY,OAAO,CAAK,EAC9B,EAAS,EAAO,KAAK,CAAG,EAC9B,GAAI,IAAW,KAAM,OAAO,GAAY,EAAO,kBAAkB,CAAQ,GACzE,EAAc,GAAQ,OAAO,CAAM,EAIrC,IAAQ,MAAK,OAAQ,GAAY,EAAa,GAAS,EAAG,IAAI,EACxD,EAAU,EAAO,sBAAsB,CAAQ,EAC/C,EAAS,EAAO,YAAY,EAAU,EAAK,CAAG,EAC9C,EAAS,EAAO,sBAAsB,CAAQ,EAGpD,GAAI,EAAS,EAAS,CACpB,IAAM,EAAU,EAAO,sBAAsB,CAAQ,IAAM,EAErD,EAAW,IAAW,GAAK,IAAW,EACxC,KAAK,IAAI,EAAQ,EAAO,qBAAqB,CAAQ,CAAC,EACtD,EACJ,GAAI,EAAU,EAAS,CACrB,IAAM,GAAU,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAO,EACpE,GAAO,GAAS,EAAS,CAAO,EAGlC,IAAK,IAAW,GAAK,IAAW,IAAM,IAAc,EAAe,CACjE,GAAI,CAAE,EAAW,KAAK,MAAM,CAAa,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EACtE,EAAgB,GAChB,GAAa,GACb,GAAgB,IAMpB,OAFmB,GAAY,IAAW,SAK5C,QAAQ,EAAwB,CAC9B,GAAI,EAAW,MAAU,MAAM,+BAA+B,EAC9D,IAAM,EAAS,EAAO,kBAAkB,CAAQ,EAChD,GAAI,IAAW,EAAG,MAAU,YAAY,mCAAmC,EAE3E,GAAI,IAAW,EAAG,CAEhB,IAAI,EAAiB,EAGrB,GAAI,IAAc,EAAe,CAC/B,IAAM,EAAU,EACV,EAAY,EAAQ,WAAW,GAAG,EAAI,OACxC,EAAQ,WAAW,GAAG,EAAI,QAC1B,EAAQ,WAAW,GAAG,EAAI,OAC1B,EACJ,GAAI,CACF,IAAM,EAAS,KAAK,MAAM,CAAS,EACnC,GAAI,EAAQ,SAAW,EAAG,EAAQ,EAClC,KAAM,GACH,QAAI,GAAmB,EAAQ,SAAW,EAC/C,EAAQ,EAGV,GAAI,IAAU,OAAW,OACzB,OAAO,EAIT,IAAI,EACJ,GAAI,EAEF,EAAQ,EACH,KAEL,IAAM,EAAU,EAAO,sBAAsB,CAAQ,IAAM,EACrD,EAAW,EAAO,qBAAqB,CAAQ,EAE/C,EAAU,EAAO,sBAAsB,CAAQ,EACrD,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAS,EAAS,EAAE,EAAE,KAAK,EAAI,EACpE,IAAM,EAAQ,IAAgB,EAC1B,EAAO,cAAc,EAAQ,EAAU,CAAC,EACxC,EAAO,UAAU,EAAQ,CAAQ,EACrC,GAAI,EAAQ,EAAG,CACb,IAAM,EAAY,EAAO,eAAe,EAClC,EAAM,GAAe,IAAc,qBAAqB,KAC9D,MAAU,YAAY,eAAe,GAAK,EAE5C,EAAQ,GAAa,CAAK,EAG5B,GAAI,EAAU,CACZ,IAAM,EAAS,EAAS,UAAU,CAAK,EACvC,GAAI,CAAC,EAAO,QAAS,OACrB,OAAO,EAAO,KAEhB,OAAO,GAGT,YAAY,EAAsB,CAChC,GAAI,EAAW,OAAO,KACtB,IAAM,EAAQ,EAAO,yBAAyB,CAAQ,IAAM,EACtD,EAAO,EAAO,yBAAyB,CAAQ,EACrD,GAAI,EAAO,EAAG,CACZ,IAAM,EAAO,IAAI,WAAW,CAAI,EAEhC,OADA,EAAK,IAAI,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAM,CAAI,CAAC,EAClD,EAET,OAAO,MAGT,SAAS,EAAe,CACtB,GAAI,EAAW,MAAO,QACtB,OAAO,GAAY,EAAO,kBAAkB,CAAQ,IAAM,SAG5D,YAAY,EAAuB,CACjC,GAAI,EAAW,OAAO,KACtB,IAAM,EAAS,EAAO,sBAAsB,CAAQ,IAAM,EACpD,EAAS,EAAO,sBAAsB,CAAQ,EACpD,GAAI,IAAW,EAAG,OAAO,KACzB,IAAM,EAAO,IAAI,YAAY,CAAM,EAEnC,OADA,IAAI,WAAW,CAAI,EAAE,IAAI,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAM,CAAC,EACtE,GAGT,aAAa,EAAuB,CAClC,OAAO,EAAY,KAAO,GAAiB,CAAQ,GAGrD,OAAO,EAAS,CACd,GAAI,CAAC,EACH,EAAO,eAAe,CAAQ,EAC9B,EAAY,KAIf,OAAO,cAAc,EAA+C,CACnE,GAAI,CAAC,EAAQ,MAAU,MAAM,wDAAuD,EACpF,IAAM,EAAK,KACL,EAAS,GAAiB,CAAM,EAAI,EAAO,UAAU,EAAI,KACzD,EAAO,EAAS,KAAQ,EAA8B,OAAO,eAAe,EAC9E,EAAW,GAET,EAAwB,CAAC,EAE/B,MAAO,MACC,KAAI,EAAiD,CAEzD,GAAI,EAAW,OAAS,EACtB,MAAO,CAAE,KAAM,GAAO,MAAO,EAAW,MAAM,CAAE,EAGlD,GAAI,EAEF,OADA,EAAG,QAAQ,EACJ,CAAE,KAAM,GAAe,MAAO,MAAU,EAGjD,IAAM,EAAS,EACX,MAAM,EAAO,KAAK,EAClB,MAAM,EAAM,KAAK,EAErB,GAAI,EAAO,MAAQ,CAAC,EAAO,MAGzB,OAFA,EAAW,GACX,EAAG,QAAQ,EACJ,CAAE,KAAM,GAAe,MAAO,MAAU,EAGjD,IAAM,EAAS,EAAG,KAAK,EAAO,KAAK,EAEnC,GAAI,IAAW,QAGb,MAFA,EAAW,GACX,EAAG,QAAQ,EACD,YAAY,mCAAmC,EAG3D,GAAI,IAAW,UAAY,IAAW,YAAc,IAAW,aAAc,CAC3E,IAAM,EAAQ,EAAG,SAAS,EAE1B,EAAO,sBAAsB,CAAQ,EACrC,EAAQ,EACR,EAAO,MAAM,EAEb,IAAI,EAAa,EAAO,kBAAkB,CAAQ,EAClD,MAAO,IAAe,GAAK,IAAe,EAAG,CAC3C,IAAM,EAAW,EAAO,sBAAsB,CAAQ,IAAM,EACtD,GAAU,EAAO,sBAAsB,CAAQ,EAC/C,GAAW,KAAK,IAAI,GAAS,EAAO,qBAAqB,CAAQ,CAAC,EACxE,GAAI,GAAW,EAAG,CAChB,IAAM,GAAW,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAS,EAAQ,EACvE,GAAO,GAAU,EAAG,EAAQ,EAE9B,IAAM,GAAU,EAAG,SAAS,EAC5B,EAAW,KAAK,EAAO,EACvB,EAAO,sBAAsB,CAAQ,EACrC,EAAQ,EACR,EAAO,MAAM,EACb,EAAa,EAAO,kBAAkB,CAAQ,EAEhD,MAAO,CAAE,KAAM,GAAO,OAAM,EAG9B,GAAI,IAAW,YAAc,IAAW,YAEtC,OADA,EAAW,GACJ,CAAE,KAAM,GAAO,MAAO,EAAG,SAAS,CAAE,EAG7C,MAAO,CAAE,KAAM,GAAO,MAAO,EAAG,SAAS,CAAE,QAEvC,OAAM,EAAG,CAGb,GAFA,EAAW,GACX,EAAG,QAAQ,EACP,EAAQ,EAAO,OAAO,EAC1B,MAAO,CAAE,KAAM,GAAe,MAAO,MAAU,IAEhD,OAAO,cAAc,EAAG,CAAE,OAAO,KACpC,EAEJ,EAEA,OAAO,IAGT,YAAY,CAAC,EAA4B,CAEvC,IAAI,EACA,EAAoC,KACpC,EACA,EAAqB,OAEzB,GAAI,GAAO,OAAO,IAAQ,UAAY,cAAe,GAAO,EAAE,WAAY,IAAQ,EAAE,WAAY,GAE9F,EAAS,EACT,EAAY,GAAkB,CAAG,EAC5B,QAAI,GAAO,OAAO,IAAQ,YAAa,WAAY,KAAO,WAAY,KAAO,WAAY,KAK9F,GAHA,EAAS,EAAI,OACb,EAAS,EAAI,OACb,EAAS,EAAI,QAAU,OACnB,EAAI,OACN,EAAY,GAAkB,EAAI,MAAM,EAG5C,IAAM,EAAc,IAAW,QAAU,EAAI,IAAW,QAAU,EAAI,EAChE,EAAW,EAAO,cAAc,CAAW,EACjD,GAAI,EAAW,EACb,MAAU,MAAM,kEAAkE,EAGpF,IAAI,EAAY,GACZ,EAAuB,GACvB,EAGA,EAAkB,OAClB,EAAmD,CAAC,EACpD,EAA8B,KAC9B,EAA6B,KAC7B,EAAgB,GAChB,EAAkB,GAClB,EAAgB,GAGhB,EAAe,GACf,EAAgB,GAChB,GAAiB,GACjB,EAAY,EACZ,EAA6B,CAAC,EAC9B,EAAmB,GACnB,EAAiB,GACjB,EAAe,GACf,GAAsB,GACtB,EAAe,GAKf,EAAgC,CAAC,EACjC,EAAc,GAGlB,SAAS,EAAO,EAAG,CACjB,EAAS,OACT,EAAQ,OAAS,EACjB,EAAe,KACf,EAAc,KACd,EAAgB,GAChB,EAAkB,GAClB,EAAgB,GAChB,EAAe,GACf,EAAgB,GAChB,GAAiB,GACjB,EAAY,EACZ,EAAY,OAAS,EACrB,EAAmB,GACnB,EAAiB,GACjB,EAAe,GACf,GAAsB,GACtB,EAAe,GACf,EAAW,OAAS,EACpB,EAAc,GACd,EAAU,EACV,EAAc,GACd,EAAkB,OAMpB,SAAS,EAAa,EAAY,CAChC,GAAI,CAAC,EAAW,MAAO,GAEvB,IAAM,EAAsB,CAAC,EAC7B,QAAS,EAAI,EAAG,EAAI,EAAW,IAC7B,GAAI,EAAW,KAAO,KAAM,EAAU,KAAK,EAAW,EAAG,EAE3D,QAAW,KAAQ,EAAW,CAC5B,IAAM,EAAU,EAAK,OACf,EAAS,EAAU,OACnB,EAAa,KAAK,IAAI,EAAQ,CAAO,EACvC,EAAU,GACd,QAAS,EAAI,EAAG,EAAI,EAAY,IAAK,CACnC,IAAM,EAAM,EAAK,GACjB,GAAI,IAAQ,IAAK,SACjB,GAAI,OAAO,IAAQ,SAAU,SAC7B,GAAI,EAAU,KAAO,EAAK,CAAE,EAAU,GAAO,OAE/C,GAAI,EAAS,MAAO,GAEtB,MAAO,GAGT,SAAS,CAAU,CAAC,EAAgB,CAClC,GAAI,EAAQ,SAAW,EAAG,CAAE,EAAS,EAAO,OAC5C,IAAM,EAAS,EAAQ,EAAQ,OAAS,GACxC,GAAI,MAAM,QAAQ,CAAM,EAAK,EAAO,KAAK,CAAK,EACzC,QAAI,IAAiB,KAAQ,EAAO,GAAgB,EAAO,EAAc,EAAc,EAAe,KAG7G,SAAS,CAAc,CAAC,EAAa,CACnC,GAAI,EAAQ,SAAW,EAAG,CAAE,EAAS,EAAK,OAC1C,IAAM,EAAS,EAAQ,EAAQ,OAAS,GACxC,GAAI,MAAM,QAAQ,CAAM,EACtB,GAAI,EAAO,OAAS,EAAG,EAAO,EAAO,OAAS,GAAK,EAC9C,OAAO,KAAK,CAAG,EACf,QAAI,IAAgB,KAAQ,EAAO,GAAe,EAK3D,SAAS,CAAM,CAAC,EAAiB,EAAc,EAAY,CACzD,IAAM,EAAU,IAAc,KAC9B,QAAS,EAAI,EAAM,EAAI,EAAI,IAAK,CAC9B,IAAM,EAAI,EAAI,GAEd,GAAI,EAAc,CAChB,GAAI,IAAM,IAAQ,IAAM,KAAQ,IAAM,IAAQ,IAAM,IAAQ,IAAM,IAAQ,IAAM,IAAQ,IAAM,EAAM,CAClG,GAAI,EAAc,EAChB,GAAI,CAAE,EAAW,KAAK,MAAM,CAAa,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EAExE,EAAgB,GAChB,EAAe,GACf,IAAK,SAEP,GAAI,EAAc,EAAG,GAAiB,GAAI,GAC1C,SAGF,GAAI,GAAgB,CAElB,GADA,GAAiB,GACb,GAAmB,EAAc,EAAG,CACtC,IAAI,EACJ,OAAQ,OACD,KAAM,EAAU;AAAA,EAAM,UACtB,KAAM,EAAU,KAAM,UACtB,KAAM,EAAU,KAAM,UACtB,IAAM,EAAU,IAAK,UACrB,IAAM,EAAU,KAAM,UACtB,IAAM,EAAU,IAAK,UACrB,IAAM,EAAU,KAAM,UACtB,KAAM,EAAU,KAAM,cAClB,EAAU,GAAI,GAAI,MAE7B,GAAiB,EAEnB,GAAI,GAAqB,GAAgB,GAAI,GAC7C,SAGF,GAAI,EAAc,CAChB,GAAI,IAAM,GAAM,CAAE,GAAiB,GAAM,SACzC,GAAI,IAAM,EAAe,CAEvB,GADA,EAAe,GACX,GAAqB,CAIvB,GAHA,GAAsB,GACtB,EAAe,EAEX,GAAW,EAAY,EACzB,EAAW,EAAY,GAAK,EAE9B,EAAe,GACf,SAEF,GAAI,GAAmB,EAAc,EACnC,EAAe,CAAa,EAC5B,EAAgB,GAChB,EAAkB,GAEpB,SAEF,GAAI,GAAmB,EAAc,EAAG,GAAiB,GAAI,GAC7D,GAAI,GAAqB,GAAgB,GAAI,GAC7C,SAGF,OAAQ,OACD,KAAM,CAET,GADA,EAAY,GAAa,IACrB,EAAS,EAAW,GAAa,KAIrC,GAHA,IACA,EAAmB,GACnB,EAAiB,GACb,EAAc,EAAG,CACnB,IAAM,EAA+B,CAAC,EACtC,EAAW,CAAG,EACd,EAAQ,KAAK,CAAG,EAElB,KACF,KACK,IAAM,CAET,GADA,EAAY,GAAa,IACrB,EAAS,EAAW,GAAa,KAIrC,GAHA,IACA,EAAmB,GACnB,EAAiB,GACb,EAAc,EAAG,CACnB,IAAM,EAAiB,CAAC,EACxB,EAAW,CAAG,EACd,EAAQ,KAAK,CAAG,EAElB,KACF,KACK,SAAW,IAAM,CAEpB,GADA,IACI,GAAe,GACjB,GAAI,GAAa,EACf,EAAc,GAEd,EAAQ,IAAI,EAId,OAAQ,IAAI,EAEd,GAAI,EAAY,EACd,EAAmB,EAAY,EAAY,KAAO,IAClD,EAAiB,GAEnB,KACF,KACK,QACA,IAAM,CACT,GAAI,IAAM,IAAQ,IAAW,QAAS,MACtC,EAAe,GACf,EAAgB,EAChB,IAAM,EAAU,GAAkB,IAAc,GAAM,EAAY,GAAK,EAAY,EAAY,KAAO,IACtG,GAAI,EACF,GAAsB,GACtB,EAAe,GACV,QAAI,GAAW,EAAc,EAClC,EAAgB,GAChB,EAAkB,GAClB,EAAW,EAAE,EACb,EAAiB,GAEnB,KACF,KACK,IAAM,CAIT,GAHA,EAAmB,GACnB,EAAiB,GAEb,GAAW,EAAc,GAAK,CAAC,GAAc,EAAG,CAClD,EAAc,EAAY,EAC1B,EAAe,KACf,MAKF,GAAI,EAAc,GAAK,IAAiB,MAAQ,EAAQ,OAAS,EAAG,CAClE,IAAM,EAAS,EAAQ,EAAQ,OAAS,GACxC,GAAI,CAAC,MAAM,QAAQ,CAAM,EACtB,EAAmC,GAAgB,KACpD,EAAc,EAGlB,KACF,KACK,IAAM,CACT,GAAI,GAAW,GAAe,GAAK,EAAY,GAAK,EAClD,EAAc,GAEhB,GAAI,EAAY,GAAK,EAAY,EAAY,KAAO,KAElD,GADA,EAAmB,GACf,EAAS,EAAW,EAAY,GAAK,KAE3C,EAAiB,GACjB,KACF,SACS,CAEP,GAAI,IAAW,SAAW,GAAoB,GAAkB,CAAC,EAAG,CAClE,IAAI,EAAI,EAAI,EACZ,MAAO,EAAI,GAAM,GAAiB,EAAI,EAAE,EAAG,IAC3C,IAAM,EAAM,EAAY,OAAO,EAAI,MAAM,EAAG,CAAC,CAAC,EAE9C,GADA,EAAe,EACX,GAAW,EAAY,EAAG,EAAW,EAAY,GAAK,EAC1D,EAAmB,GACnB,EAAI,EAAI,EACR,MAEF,GAAI,GAAe,EAAG,MAEtB,GADmB,GAAkB,IAAc,GAAM,EAAY,GAAK,EAAY,EAAY,KAAO,IACzF,CAEd,GAAI,IAAW,SAAW,IAAM,IAAQ,EAAI,EAAI,IAAO,EAAI,EAAI,KAAO,KAAQ,EAAI,EAAI,KAAO,IAAO,CAClG,IAAI,EAAI,EAAI,EACZ,MAAO,EAAI,EAAI,CACb,IAAM,EAAI,EAAI,GACd,GAAI,EAAG,GAAK,IAAQ,GAAK,IAAU,GAAK,IAAQ,GAAK,KAAU,GAAK,IAAQ,GAAK,IAAQ,MACzF,IAEF,GAAI,EAAI,EAAI,CACV,IAAM,EAAS,EAAY,OAAO,EAAI,MAAM,EAAG,CAAC,CAAC,EACjD,EAAW,SAAS,EAAQ,EAAE,CAAC,EAC/B,EAAI,EAAI,EAER,OAAe,GACf,EAAgB,EAAY,OAAO,EAAI,MAAM,EAAG,CAAE,CAAC,EACnD,EAAI,EAEN,EAAiB,GACjB,MAIF,GAFuB,GAAK,IAAQ,GAAK,IAAS,IAAM,IAAQ,IAAM,KAAQ,IAAM,KAAQ,IAAM,KAC5F,IAAW,UAAY,IAAM,IAAQ,IAAM,IAAQ,IAAM,IAC5C,CACjB,IAAI,EAAI,EAAI,EACZ,MAAO,EAAI,EAAI,CACb,IAAM,EAAK,EAAI,GACf,GAAI,IAAO,IAAQ,IAAO,KAAQ,IAAO,IAAQ,IAAO,IAAQ,IAAO,IAAQ,IAAO,IAAQ,IAAO,EAAM,MAC3G,IAEF,GAAI,EAAI,EAAI,CACV,IAAM,EAAY,EAAY,OAAO,EAAI,MAAM,EAAG,CAAC,CAAC,EACpD,GAAI,CAAE,EAAW,IAAW,QAAU,GAAiB,CAAS,EAAI,KAAK,MAAM,CAAS,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EACrH,EAAI,EAAI,EAER,OAAe,GACf,EAAgB,EAAY,OAAO,EAAI,MAAM,EAAG,CAAE,CAAC,EACnD,EAAI,EAEN,EAAiB,IAGrB,KACF,GAKJ,GAAI,GAAmB,GAAiB,EAAc,EACpD,EAAe,CAAa,EAK9B,GAAI,EAAc,CAChB,IAAM,EAAS,EAAO,kBAAkB,CAAQ,EAChD,GAAI,IAAW,GAAK,IAAW,EAAG,CAEhC,IAAM,EAAI,EACJ,EAAY,EAAE,WAAW,GAAG,EAAI,OAClC,EAAE,WAAW,GAAG,EAAI,QACpB,EAAE,WAAW,GAAG,EAAI,OAAS,EACjC,GAAI,CAAE,EAAW,KAAK,MAAM,CAAS,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EAClE,EAAgB,GAChB,EAAe,KAKrB,IAAM,GAAkB,IAAM,CAC5B,GAAI,IAAoB,OAAW,OACnC,IAAM,EAAQ,EAAO,yBAAyB,CAAQ,IAAM,EACtD,EAAO,EAAO,yBAAyB,CAAQ,EACrD,GAAI,EAAO,EACT,EAAkB,IAAI,WAAW,CAAI,EACrC,EAAgB,IAAI,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAM,CAAI,CAAC,EAEpE,OAAkB,MAIlB,EAAU,EAEd,MAAO,CACL,IAAI,CAAC,EAAwC,CAC3C,GAAI,EAAW,MAAU,MAAM,0BAA0B,EAEzD,IADiB,OAAO,IAAU,SAAW,EAAM,OAAS,EAAM,cACjD,EAAG,OAAO,GAAY,EAAO,kBAAkB,CAAQ,GACxE,IAAQ,MAAK,OAAQ,GAAY,EAAO,GAAS,EAAG,IAAI,EAClD,EAAY,EAAO,YAAY,EAAU,EAAK,CAAG,EAEjD,EAAS,EAAO,sBAAsB,CAAQ,EACpD,GAAI,EAAS,EAAS,CACpB,IAAM,EAAU,EAAO,sBAAsB,CAAQ,IAAM,EAErD,EAAW,IAAc,GAAK,IAAc,EAC9C,KAAK,IAAI,EAAQ,EAAO,qBAAqB,CAAQ,CAAC,EACtD,EACJ,GAAI,EAAU,EAAS,CACrB,IAAM,EAAU,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAO,EACpE,EAAO,EAAS,EAAS,CAAO,EAElC,EAAU,EAEZ,OAAO,GAAY,IAAc,SAGnC,QAAQ,EAAwB,CAC9B,GAAI,EAAW,MAAU,MAAM,0BAA0B,EACzD,GAAI,IAAgB,GAAU,OAAO,EAErC,IAAM,EAAS,EAAO,kBAAkB,CAAQ,EAChD,GAAI,IAAW,EACb,MAAU,YAAY,mCAAmC,EAG3D,GAAI,IAAW,EAAG,CAIhB,IAAI,EAAiB,EAGrB,GAAI,GAAgB,EAAe,CAEjC,IAAM,EAAU,EACV,EAAY,EAAQ,WAAW,GAAG,EAAI,OACxC,EAAQ,WAAW,GAAG,EAAI,QAC1B,EAAQ,WAAW,GAAG,EAAI,OAC1B,EACJ,GAAI,CACF,IAAM,EAAS,KAAK,MAAM,CAAS,EACnC,GAAI,EAAQ,SAAW,EAAG,EAAQ,EAClC,KAAM,GACH,QAAI,GAAmB,EAAQ,SAAW,EAE/C,EAAQ,EAGV,GAAI,IAAU,OAAW,OAGzB,OAAO,EAIT,GAAI,GAAgB,EAAe,CACjC,GAAI,CAAE,EAAW,KAAK,MAAM,CAAa,CAAC,EAAK,KAAM,CAAE,EAAW,IAAI,EACtE,EAAgB,GAChB,EAAe,GAEjB,GAAgB,EAEhB,IAAI,EAAiB,EACrB,GAAI,EAAQ,CACV,IAAM,EAAS,EAAO,UAAU,CAAK,EACrC,GAAI,CAAC,EAAO,QAAS,OAAQ,EAAc,OAC3C,EAAQ,EAAO,KAEjB,OAAQ,EAAc,GAGxB,YAAY,EAAsB,CAChC,GAAI,EAAW,OAAO,KAEtB,OADA,GAAgB,EACT,GAGT,SAAS,EAAe,CACtB,GAAI,EAAW,MAAO,QACtB,IAAM,EAAS,EAAO,kBAAkB,CAAQ,EAChD,OAAO,GAAY,IAAW,SAGhC,YAAY,EAAuB,CACjC,GAAI,EAAW,OAAO,KACtB,IAAM,EAAS,EAAO,sBAAsB,CAAQ,IAAM,EACpD,EAAS,EAAO,sBAAsB,CAAQ,EACpD,GAAI,IAAW,EAAG,OAAO,KACzB,IAAM,EAAO,IAAI,YAAY,CAAM,EAEnC,OADA,IAAI,WAAW,CAAI,EAAE,IAAI,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAM,CAAC,EACtE,GAGT,aAAa,EAAuB,CAClC,OAAO,EAAY,KAAO,GAAiB,CAAQ,GAGrD,OAAO,EAAS,CACd,GAAI,CAAC,EACH,EAAO,eAAe,CAAQ,EAC9B,EAAY,GACZ,EAAc,IAKlB,YAAY,EAAW,CACrB,IAAM,EAAS,EAAO,sBAAsB,CAAQ,EAGpD,GAFA,GAAQ,EAEJ,EAAS,EAAG,CACd,IAAM,EAAU,EAAO,sBAAsB,CAAQ,IAAM,EACrD,EAAS,EAAO,sBAAsB,CAAQ,EAC9C,EAAS,EAAO,kBAAkB,CAAQ,EAC1C,EAAW,IAAW,GAAK,IAAW,EACxC,KAAK,IAAI,EAAQ,EAAO,qBAAqB,CAAQ,CAAC,EACtD,EACJ,GAAI,EAAU,EAAG,CACf,IAAM,EAAU,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAQ,CAAO,EACpE,EAAO,EAAS,EAAG,CAAO,EAE5B,EAAU,EAEZ,OAAO,IAGR,OAAO,cAAc,EAA+C,CACnE,GAAI,CAAC,EAAQ,MAAU,MAAM,wDAAuD,EACpF,IAAM,EAAO,KACP,EAAS,GAAiB,CAAM,EAAI,EAAO,UAAU,EAAI,KACzD,EAAO,EAAS,KAAQ,EAA8B,OAAO,eAAe,EAC9E,EAAW,GACT,EAAwB,CAAC,EAE/B,MAAO,MACC,KAAI,EAAiD,CAEzD,GAAI,EAAW,OAAS,EACtB,MAAO,CAAE,KAAM,GAAO,MAAO,EAAW,MAAM,CAAE,EAGlD,GAAI,EAEF,OADA,EAAK,QAAQ,EACN,CAAE,KAAM,GAAe,MAAO,MAAU,EAGjD,IAAM,EAAS,EACX,MAAM,EAAO,KAAK,EAClB,MAAM,EAAM,KAAK,EAErB,GAAI,EAAO,MAAQ,CAAC,EAAO,MAGzB,OAFA,EAAW,GACX,EAAK,QAAQ,EACN,CAAE,KAAM,GAAe,MAAO,MAAU,EAGjD,IAAM,EAAS,EAAK,KAAK,EAAO,KAAK,EAErC,GAAI,IAAW,QAGb,MAFA,EAAW,GACX,EAAK,QAAQ,EACH,YAAY,mCAAmC,EAG3D,GAAI,IAAW,UAAY,IAAW,YAAc,IAAW,aAAc,CAC3E,IAAM,EAAQ,EAAK,SAAS,EAC5B,EAAK,aAAa,EAElB,IAAI,EAAa,EAAO,kBAAkB,CAAQ,EAClD,MAAO,IAAe,GAAK,IAAe,EAAG,CAC3C,IAAM,EAAU,EAAK,SAAS,EAC9B,EAAW,KAAK,CAAO,EACvB,EAAK,aAAa,EAClB,EAAa,EAAO,kBAAkB,CAAQ,EAEhD,MAAO,CAAE,KAAM,GAAO,OAAM,EAG9B,GAAI,IAAW,YAAc,IAAW,YAEtC,OADA,EAAW,GACJ,CAAE,KAAM,GAAO,MAAO,EAAK,SAAS,CAAE,EAG/C,MAAO,CAAE,KAAM,GAAO,MAAO,EAAK,SAAS,CAAE,QAEzC,OAAM,EAAG,CAGb,GAFA,EAAW,GACX,EAAK,QAAQ,EACT,EAAQ,EAAO,OAAO,EAC1B,MAAO,CAAE,KAAM,GAAe,MAAO,MAAU,IAEhD,OAAO,cAAc,EAAG,CAAE,OAAO,KACpC,EAEJ,GAGF,UAAU,CAAC,EAA2B,CACpC,GAAI,EAAI,WAAa,EAAG,MAAU,MAAM,mCAAmC,EAC3E,IAAM,EAAQ,IAAI,WAAW,CAAG,EAC1B,EAAU,EAAO,MAAM,EAAM,MAAM,IAAM,EAC/C,GAAI,IAAY,EAAG,MAAU,MAAM,+CAA+C,EAClF,IAAI,WAAW,EAAO,OAAO,OAAQ,EAAS,EAAM,MAAM,EAAE,IAAI,CAAK,EACrE,IAAM,EAAQ,EAAO,gBAAgB,EAAS,EAAM,MAAM,EAE1D,GADA,EAAO,QAAQ,EAAS,EAAM,MAAM,EAChC,EAAQ,EAAG,MAAU,MAAM,kEAAkE,EACjG,OAAO,GAAa,CAAK,EAE7B,EAEO,GAIT,IAAM,GAAM,MAAM,GAAK,EAGV,GAAQ,GAAI,MAGZ,GAAmB,GAAI,iBAGvB,GAAc,GAAI,YAGlB,GAAe,GAAI,aAGnB,GAAoB,GAAI,kBAGxB,GAAc,GAAI,YAGlB,GAAa,GAAI",
9
- "debugId": "129EBE36F88B9ACB64756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "D7F77AF4419ABA4264756E2164756E21",
10
10
  "names": []
11
11
  }