From 6b8a780c9f975c03b1c7571216da3885a1509ca3 Mon Sep 17 00:00:00 2001 From: msqr1 Date: Wed, 25 Sep 2024 18:17:03 -0700 Subject: [PATCH] Reduce worker stack size by half, set C++ version, limit INCOMING_MODULE_JS_API, optimize JS, remove EXPORTED_FUNCTIONS, EXPORTED_RUNTIME_METHODS. --- Examples/Vosklet.js | 88 +----------------------------------------- Examples/Vosklet.wasm | Bin 2559693 -> 2559247 bytes Vosklet.js | 88 +----------------------------------------- Vosklet.wasm | Bin 2559693 -> 2559247 bytes src/Recognizer.cc | 4 +- src/Util.cc | 4 +- src/make | 4 +- test | 7 ++-- 8 files changed, 13 insertions(+), 182 deletions(-) diff --git a/Examples/Vosklet.js b/Examples/Vosklet.js index 3a5ff34..cedbfdc 100644 --- a/Examples/Vosklet.js +++ b/Examples/Vosklet.js @@ -1,87 +1 @@ - -var loadVosklet = (() => { - var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; - - return ( -function(moduleArg = {}) { - var moduleRtn; - -function h(){p.buffer!=q.buffer&&r();return q}function t(){p.buffer!=q.buffer&&r();return aa}function ba(){p.buffer!=q.buffer&&r();return ca}function da(){p.buffer!=q.buffer&&r();return ha}function u(){p.buffer!=q.buffer&&r();return ia}function z(){p.buffer!=q.buffer&&r();return ja}function ka(){p.buffer!=q.buffer&&r();return la} -var A=moduleArg,ma,na,oa=new Promise((a,b)=>{ma=a;na=b}),pa="object"==typeof window,qa="function"==typeof importScripts,ra="object"==typeof process&&"object"==typeof process.Oa&&"string"==typeof process.Oa.node,sa=A.$ww; -let B=[],ta=["status","partialResult","result"],ua=URL.createObjectURL(new Blob(["(",(()=>{let a=new TextDecoder,b=new TextEncoder;onmessage=async c=>{c=c.data;var d=c.Na.split("/"),e=await navigator.storage.getDirectory();for(var f of d)e=await e.getDirectoryHandle(f,{create:!0});d=await e.getFileHandle("id",{create:!0});f=await e.getFileHandle("model.tgz",{create:!0});e=await d.createSyncAccessHandle();d=await f.createSyncAccessHandle();f=new ArrayBuffer(e.getSize());e.read(f);let g;if(a.decode(f)== -c.id)g=new ArrayBuffer(d.getSize()),d.read(g),c=await (new Response((new Response(g)).body.pipeThrough(new DecompressionStream("gzip")))).arrayBuffer();else{f=await fetch(c.url);if(!f.ok){postMessage("Unable to download model");return}f=f.body.tee();g=await (new Response(f[0])).arrayBuffer();d.write(g,{at:0});d.truncate(g.byteLength);c=b.encode(c.id);e.write(c,{at:0});e.truncate(c.length);c=await (new Response(f[1].pipeThrough(new DecompressionStream("gzip")))).arrayBuffer()}e.close();d.close();self.postMessage(c, -[c])}}).toString(),")()"],{type:"text/javascript"})),va=new Worker(ua),wa=URL.createObjectURL(new Blob(["(",(()=>{registerProcessor("VoskletTransferer",class extends AudioWorkletProcessor{constructor(a){super();this.count=0;this.sa=a.processorOptions.sa;this.buffer=new Float32Array(128*this.sa)}process(a){if(!a[0][0])return!0;this.buffer.set(a[0][0],128*this.count++);this.count>=this.sa&&(this.count=0,this.port.postMessage(this.buffer,[this.buffer.buffer]),this.buffer=new Float32Array(128*this.sa)); -return!0}})}).toString(),")()"],{type:"text/javascript"}));A.cleanUp=async()=>{for(let a of B)await a.delete();URL.revokeObjectURL(wa);URL.revokeObjectURL(ua);va.terminate()};A.createTransferer=async(a,b)=>{await a.audioWorklet.addModule(wa);return new AudioWorkletNode(a,"VoskletTransferer",{channelCountMode:"explicit",numberOfInputs:1,numberOfOutputs:0,channelCount:1,processorOptions:{sa:b/128}})}; -async function xa(a,b,c,d){let e=new ya,f=new Promise((g,k)=>{e.addEventListener("status",l=>{l.detail?k(l.detail):(d&&(e.findWord=m=>e.ha.findWord(m)),g(e))},{once:!0})});va.addEventListener("message",g=>{g=g.data;let k=C(g.byteLength);t().set(new Uint8Array(g),k);e.ha=new A.CommonModel(B.length-1,d,"/"+b,c,k,g.byteLength)},{once:!0});va.postMessage({url:a,Na:b,id:c});return f}class ya extends EventTarget{constructor(){super();B.push(this)}delete(){this.ha.delete()}} -A.createModel=async(a,b,c)=>xa(a,b,c,!0);A.createSpkModel=async(a,b,c)=>xa(a,b,c,!1);async function za(a,b,c,d,e){let f=new Aa,g=new Promise((k,l)=>{f.addEventListener("status",m=>{m.detail?l(m.detail):k(f)},{once:!0})});switch(c){case 1:f.ha=new A.Recognizer(B.length-1,b,a);break;case 2:f.ha=new A.Recognizer(B.length-1,b,a,e);break;default:f.ha=new A.Recognizer(B.length-1,b,a,d,0)}return g} -class Aa extends EventTarget{constructor(){super();this.acceptWaveform=a=>{let b=C(4*a.length);ka().set(a,b/4);this.ha.acceptWaveform(b,a.length)};B.push(this);return new Proxy(this,{get(a,b){if(void 0!=a[b]||void 0!=a.ha[b]){var c=a[b];if(c)return c.bind?c.bind(a):c;c=a.ha[b];return c.bind?c.bind(a.ha):c}}})}async delete(a=!1){let b=new Promise(c=>this.addEventListener("status",()=>{this.ha.delete();c()},{once:!0}));this.ha.Ua(a);return b}}A.createRecognizer=(a,b)=>za(a.ha,b,1); -A.createRecognizerWithSpkModel=(a,b,c)=>za(a.ha,b,2,null,c.ha);A.createRecognizerWithGrm=(a,b,c)=>za(a.ha,b,3,c,null);var Ba=Object.assign({},A),Ca="./this.program",D="",Da,Ea; -if(pa||qa)qa?D=self.location.href:"undefined"!=typeof document&&document.currentScript&&(D=document.currentScript.src),_scriptName&&(D=_scriptName),D.startsWith("blob:")?D="":D=D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1),qa&&(Ea=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Da=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url))); -var Fa=A.print||console.log.bind(console),G=A.printErr||console.error.bind(console);Object.assign(A,Ba);Ba=null;A.thisProgram&&(Ca=A.thisProgram);var Ga=A.wasmBinary,p,Ha,Ia=!1,Ja,q,aa,ca,ha,ia,ja,la,Ka,La,Ma; -function r(){var a=p.buffer;A.HEAP8=q=new Int8Array(a);A.HEAP16=ca=new Int16Array(a);A.HEAPU8=aa=new Uint8Array(a);A.HEAPU16=ha=new Uint16Array(a);A.HEAP32=ia=new Int32Array(a);A.HEAPU32=ja=new Uint32Array(a);A.HEAPF32=la=new Float32Array(a);A.HEAPF64=Ma=new Float64Array(a);A.HEAP64=Ka=new BigInt64Array(a);A.HEAPU64=La=new BigUint64Array(a)} -if(A.wasmMemory)p=A.wasmMemory;else if(p=new WebAssembly.Memory({initial:(A.INITIAL_MEMORY||330301440)/65536,maximum:32768,shared:!0}),!(p.buffer instanceof SharedArrayBuffer))throw G("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),ra&&G("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"), -Error("bad memory");r();var Na=[],Oa=[],Pa=[];function Qa(){sa?(Ra(A.sb,A.sz),removeEventListener("message",Sa),Ta=Ta.forEach(Ua),addEventListener("message",Ua)):Va(Oa)}function Wa(){var a=A.preRun.shift();Na.unshift(a)}var H=0,Xa=null,I=null;function Ya(a){A.onAbort?.(a);a="Aborted("+a+")";G(a);Ia=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");na(a);throw a;}var Za=a=>a.startsWith("data:application/octet-stream;base64,"),$a; -function ab(a){if(a==$a&&Ga)return new Uint8Array(Ga);if(Ea)return Ea(a);throw"both async and sync fetching of the wasm failed";}function bb(a){return Ga?Promise.resolve().then(()=>ab(a)):Da(a).then(b=>new Uint8Array(b),()=>ab(a))}function eb(a,b,c){return bb(a).then(d=>WebAssembly.instantiate(d,b)).then(c,d=>{G(`failed to asynchronously prepare wasm: ${d}`);Ya(d)})} -function fb(a,b){var c=$a;return Ga||"function"!=typeof WebAssembly.instantiateStreaming||Za(c)||"function"!=typeof fetch?eb(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(e){G(`wasm streaming compile failed: ${e}`);G("falling back to ArrayBuffer instantiation");return eb(c,a,b)}))}function gb(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a} -var Ta=[],hb=[],ib,jb=a=>{var b=hb[a];b||(a>=hb.length&&(hb.length=a+1),hb[a]=b=ib.get(a));return b},Ua=a=>{a=a.data;let b=a._wsc;b&&jb(b)(...a.x)},Sa=a=>{Ta.push(a)},Va=a=>{for(;0{if(!a)return"";b=a+b;for(var c=a;!(c>=b)&&t()[c];)++c;return lb.decode(t().slice(a,c))};class mb{constructor(a){this.fa=a-24}} -var nb=0,ob=0,pb=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},qb,K=a=>{for(var b="";t()[a];)b+=qb[t()[a++]];return b},L={},M={},rb={},N,sb=a=>{throw new N(a);},O,Q=(a,b,c)=>{function d(k){k=c(k);if(k.length!==a.length)throw new O("Mismatched type converter count");for(var l=0;lrb[k]=b);var e=Array(b.length),f=[],g=0;b.forEach((k,l)=>{M.hasOwnProperty(k)?e[l]=M[k]:(f.push(k),L.hasOwnProperty(k)|| -(L[k]=[]),L[k].push(()=>{e[l]=M[k];++g;g===f.length&&d(e)}))});0===f.length&&d(e)};function tb(a,b,c={}){var d=b.name;if(!a)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(M.hasOwnProperty(a)){if(c.Ha)return;throw new N(`Cannot register type '${d}' twice`);}M[a]=b;delete rb[a];L.hasOwnProperty(a)&&(b=L[a],delete L[a],b.forEach(e=>e()))}function P(a,b,c={}){return tb(a,b,c)} -var ub=(a,b,c)=>{switch(b){case 1:return c?d=>h()[d]:d=>t()[d];case 2:return c?d=>ba()[d>>1]:d=>da()[d>>1];case 4:return c?d=>u()[d>>2]:d=>z()[d>>2];case 8:return c?d=>Ka[d>>3]:d=>La[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},vb=a=>{throw new N(a.da.ga.ea.name+" instance already deleted");},wb=!1,xb=()=>{},yb=(a,b,c)=>{if(b===c)return a;if(void 0===c.ka)return null;a=yb(a,b,c.ka);return null===a?null:c.Da(a)},zb={},R=[],Ab=()=>{for(;R.length;){var a=R.pop();a.da.qa= -!1;a["delete"]()}},S,T={},Bb=(a,b)=>{if(void 0===b)throw new N("ptr should not be undefined");for(;a.ka;)b=a.ua(b),a=a.ka;return T[b]},Cb=(a,b)=>{if(!b.ga||!b.fa)throw new O("makeClassHandle requires ptr and ptrType");if(!!b.ma!==!!b.ia)throw new O("Both smartPtrType and smartPtr must be specified");b.count={value:1};return U(Object.create(a,{da:{value:b,writable:!0}}))},U=a=>{if("undefined"===typeof FinalizationRegistry)return U=b=>b,a;wb=new FinalizationRegistry(b=>{b=b.da;--b.count.value;0===b.count.value&& -(b.ia?b.ma.oa(b.ia):b.ga.ea.oa(b.fa))});U=b=>{var c=b.da;c.ia&&wb.register(b,{da:c},b);return b};xb=b=>{wb.unregister(b)};return U(a)};function Db(){} -var Eb=(a,b)=>Object.defineProperty(b,"name",{value:a}),Fb=(a,b,c)=>{if(void 0===a[b].ja){var d=a[b];a[b]=function(...e){if(!a[b].ja.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].ja})!`);return a[b].ja[e.length].apply(this,e)};a[b].ja=[];a[b].ja[d.va]=d}},Gb=(a,b,c)=>{if(A.hasOwnProperty(a)){if(void 0===c||void 0!==A[a].ja&&void 0!==A[a].ja[c])throw new N(`Cannot register public name '${a}' twice`);Fb(A,a,a); -if(A.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);A[a].ja[c]=b}else A[a]=b,void 0!==c&&(A[a].Ra=c)},Hb=a=>{if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Ib(a,b,c,d,e,f,g,k){this.name=a;this.constructor=b;this.ra=c;this.oa=d;this.ka=e;this.Fa=f;this.ua=g;this.Da=k;this.Ja=[]} -var Jb=(a,b,c)=>{for(;b!==c;){if(!b.ua)throw new N(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.ua(a);b=b.ka}return a};function Kb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${pb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Jb(b.da.fa,b.da.ga.ea,this.ea)} -function Lb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);if(this.xa){var c=this.Ka();null!==a&&a.push(this.oa,c);return c}return 0}if(!b||!b.da)throw new N(`Cannot pass "${pb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.wa&&b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);c=Jb(b.da.fa,b.da.ga.ea,this.ea);if(this.xa){if(void 0=== -b.da.ia)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.Ma){case 0:if(b.da.ma===this)c=b.da.ia;else throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);break;case 1:c=b.da.ia;break;case 2:if(b.da.ma===this)c=b.da.ia;else{var d=b.clone();c=this.La(c,Mb(()=>d["delete"]()));null!==a&&a.push(this.oa,c)}break;default:throw new N("Unsupporting sharing policy");}}return c} -function Nb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${pb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ga.name} to parameter type ${this.name}`);return Jb(b.da.fa,b.da.ga.ea,this.ea)}function Ob(a){return this.fromWireType(z()[a>>2])} -function Pb(a,b,c,d,e,f,g,k,l,m,n){this.name=a;this.ea=b;this.ya=c;this.wa=d;this.xa=e;this.Ia=f;this.Ma=g;this.Ba=k;this.Ka=l;this.La=m;this.oa=n;e||void 0!==b.ka?this.toWireType=Lb:(this.toWireType=d?Kb:Nb,this.la=null)} -var Qb=(a,b,c)=>{if(!A.hasOwnProperty(a))throw new O("Replacing nonexistent public symbol");void 0!==A[a].ja&&void 0!==c?A[a].ja[c]=b:(A[a]=b,A[a].va=c)},V=(a,b)=>{a=K(a);var c=jb(b);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${a}: ${b}`);return c},Rb,Tb=a=>{a=Sb(a);var b=K(a);W(a);return b},Ub=(a,b)=>{function c(f){e[f]||M[f]||(rb[f]?rb[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Rb(`${a}: `+d.map(Tb).join([", "]));},Vb=(a,b)=>{for(var c= -[],d=0;d>2]);return c},Wb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function Xb(a){for(var b=1;bg)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var k=null!==b[1]&&null!==c,l=Xb(b);c="void"!==b[0].name;d=[a,sb,d,e,Wb,b[0],b[1]];for(e=0;e{a=a.trim();const b=a.indexOf("(");return-1!==b?a.substr(0,b):a},bc=[],X=[],Mb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=bc.pop()||X.length;X[b]=a;X[b+1]=1;return b}},cc={name:"emscripten::val",fromWireType:a=>{if(!a)throw new N("Cannot use deleted val. handle = "+a);var b=X[a];9Mb(b),na:8,readValueFromPointer:Ob,la:null},dc=(a,b,c)=>{switch(b){case 1:return c? -function(d){return this.fromWireType(h()[d])}:function(d){return this.fromWireType(t()[d])};case 2:return c?function(d){return this.fromWireType(ba()[d>>1])}:function(d){return this.fromWireType(da()[d>>1])};case 4:return c?function(d){return this.fromWireType(u()[d>>2])}:function(d){return this.fromWireType(z()[d>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},ec=a=>{var b=M[a];if(void 0===b)throw a=`${"enum"} has unknown type ${Tb(a)}`,new N(a);return b},fc=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(ka()[c>> -2])};case 8:return function(c){var d=this.fromWireType;p.buffer!=q.buffer&&r();return d.call(this,Ma[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},Y=(a,b,c,d)=>{if(!(0=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break; -b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-e},gc=(a,b)=>{var c=17;Y(a,t(),b,c)},hc=a=>{for(var b=0,c=0;c=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},ic=new TextDecoder("utf-16le"),jc=(a,b)=>{var c=a>>1;for(b=c+b/2;!(c>=b)&&da()[c];)++c;c<<=1;return ic.decode(t().slice(a,c))},kc=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=f;b+=2}ba()[b>>1]=0;return b-d},lc=a=>2*a.length,mc=(a,b)=>{for(var c=0,d="";!(c>=b/4);){var e=u()[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d},nc=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=f){var g=a.charCodeAt(++e);f=65536+((f&1023)<<10)|g&1023}u()[b>>2]=f;b+=4;if(b+4>c)break}u()[b>>2]=0;return b-d},oc=a=>{for(var b= -0,c=0;c=d&&++c;b+=4}return b},pc={},qc=1,rc=URL.createObjectURL(new Blob(["onmessage=function(d){onmessage=null;d=d.data;d[`instantiateWasm`]=(i,r)=>{var n=new WebAssembly.Instance(d[`wasm`],i);return r(n,d[`wasm`]);};importScripts(d.js);loadVosklet(d);d.wasm=d.mem=d.js=0;}"],{type:"application/javascript"})),sc={},tc=a=>{if(!(a instanceof gb||"unwind"==a))throw a;},uc=0,vc=a=>{Ja=a;kb||0{if(!Ia)try{if(a(), -!(kb||0performance.now(); -for(var yc=[],zc=[],Ac=[],Bc={},Dc=()=>{if(!Cc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Ca||"./this.program"},b;for(b in Bc)void 0===Bc[b]?delete a[b]:a[b]=Bc[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Cc=c}return Cc},Cc,Ec=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>(a.set(crypto.getRandomValues(new Uint8Array(a.byteLength))), -a);Ya("initRandomDevice")},Fc=a=>(Fc=Ec())(a),Gc=Array(256),Hc=0;256>Hc;++Hc)Gc[Hc]=String.fromCharCode(Hc);qb=Gc;N=A.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};O=A.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}}; -Object.assign(Db.prototype,{isAliasOf:function(a){if(!(this instanceof Db&&a instanceof Db))return!1;var b=this.da.ga.ea,c=this.da.fa;a.da=a.da;var d=a.da.ga.ea;for(a=a.da.fa;b.ka;)c=b.ua(c),b=b.ka;for(;d.ka;)a=d.ua(a),d=d.ka;return b===d&&c===a},clone:function(){this.da.fa||vb(this);if(this.da.ta)return this.da.count.value+=1,this;var a=U,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.da;a=a(c.call(b,d,{da:{value:{count:e.count,qa:e.qa,ta:e.ta,fa:e.fa,ga:e.ga,ia:e.ia,ma:e.ma}}}));a.da.count.value+= -1;a.da.qa=!1;return a},["delete"](){this.da.fa||vb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");xb(this);var a=this.da;--a.count.value;0===a.count.value&&(a.ia?a.ma.oa(a.ia):a.ga.ea.oa(a.fa));this.da.ta||(this.da.ia=void 0,this.da.fa=void 0)},isDeleted:function(){return!this.da.fa},deleteLater:function(){this.da.fa||vb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");R.push(this);1===R.length&&S&&S(Ab);this.da.qa=!0;return this}}); -A.getInheritedInstanceCount=()=>Object.keys(T).length;A.getLiveInheritedInstances=()=>{var a=[],b;for(b in T)T.hasOwnProperty(b)&&a.push(T[b]);return a};A.flushPendingDeletes=Ab;A.setDelayFunction=a=>{S=a;R.length&&S&&S(Ab)}; -Object.assign(Pb.prototype,{Ga(a){this.Ba&&(a=this.Ba(a));return a},Aa(a){this.oa?.(a)},na:8,readValueFromPointer:Ob,fromWireType:function(a){function b(){return this.xa?Cb(this.ea.ra,{ga:this.Ia,fa:c,ma:this,ia:a}):Cb(this.ea.ra,{ga:this,fa:a})}var c=this.Ga(a);if(!c)return this.Aa(a),null;var d=Bb(this.ea,c);if(void 0!==d){if(0===d.da.count.value)return d.da.fa=c,d.da.ia=a,d.clone();d=d.clone();this.Aa(a);return d}d=this.ea.Fa(c);d=zb[d];if(!d)return b.call(this);d=this.wa?d.Ca:d.pointerType;var e= -yb(c,this.ea,d.ea);return null===e?b.call(this):this.xa?Cb(d.ea.ra,{ga:d,fa:e,ma:this,ia:a}):Cb(d.ea.ra,{ga:d,fa:e})}});Rb=A.UnboundTypeError=((a,b)=>{var c=Eb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c})(Error,"UnboundTypeError"); -X.push(0,1,void 0,1,null,1,!0,1,!1,1);A.count_emval_handles=()=>X.length/2-5-bc.length;sa&&(pc[0]=this,addEventListener("message",Sa)); -var Jc={c:(a,b,c,d)=>{Ya(`Assertion failed: ${J(a)}, at: `+[b?J(b):"unknown filename",c,d?J(d):"unknown function"])},t:(a,b)=>jb(a)(b),d:(a,b,c)=>{var d=new mb(a);z()[d.fa+16>>2]=0;z()[d.fa+4>>2]=b;z()[d.fa+8>>2]=c;nb=a;ob++;throw nb;},P:()=>{Ya("")},q:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:function(d,e){if("bigint"!=typeof e&&"number"!=typeof e)throw new TypeError(`Cannot convert "${pb(e)}" to ${this.name}`);"number"==typeof e&&(e=BigInt(e));return e},na:8,readValueFromPointer:ub(b, -c,-1==b.indexOf("u")),la:null})},S:(a,b,c,d)=>{b=K(b);P(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},na:8,readValueFromPointer:function(e){return this.fromWireType(t()[e])},la:null})},o:(a,b,c,d,e,f,g,k,l,m,n,x,v)=>{n=K(n);f=V(e,f);k&&=V(g,k);m&&=V(l,m);v=V(x,v);var y=Hb(n);Gb(y,function(){Ub(`Cannot construct ${n} due to unbound types`,[d])});Q([a,b,c],d?[d]:[],w=>{w=w[0];if(d){var E=w.ea;var ea=E.ra}else ea=Db.prototype;w=Eb(n,function(...cb){if(Object.getPrototypeOf(this)!== -db)throw new N("Use 'new' to construct "+n);if(void 0===F.pa)throw new N(n+" has no accessible constructor");var Yb=F.pa[cb.length];if(void 0===Yb)throw new N(`Tried to invoke ctor of ${n} with invalid number of parameters (${cb.length}) - expected (${Object.keys(F.pa).toString()}) parameters instead!`);return Yb.apply(this,cb)});var db=Object.create(ea,{constructor:{value:w}});w.prototype=db;var F=new Ib(n,w,db,v,E,f,k,m);if(F.ka){var fa;(fa=F.ka).za??(fa.za=[]);F.ka.za.push(F)}E=new Pb(n,F,!0,!1, -!1);fa=new Pb(n+"*",F,!1,!1,!1);ea=new Pb(n+" const*",F,!1,!0,!1);zb[a]={pointerType:fa,Ca:ea};Qb(y,w);return[E,fa,ea]})},j:(a,b,c,d,e,f)=>{var g=Vb(b,c);e=V(d,e);Q([],[a],k=>{k=k[0];var l=`constructor ${k.name}`;void 0===k.ea.pa&&(k.ea.pa=[]);if(void 0!==k.ea.pa[b-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${k.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);k.ea.pa[b-1]=()=> -{Ub(`Cannot construct ${k.name} due to unbound types`,g)};Q([],g,m=>{m.splice(1,0,null);k.ea.pa[b-1]=$b(l,m,null,e,f);return[]});return[]})},g:(a,b,c,d,e,f,g,k,l)=>{var m=Vb(c,d);b=K(b);b=ac(b);f=V(e,f);Q([],[a],n=>{function x(){Ub(`Cannot call ${v} due to unbound types`,m)}n=n[0];var v=`${n.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);k&&n.ea.Ja.push(b);var y=n.ea.ra,w=y[b];void 0===w||void 0===w.ja&&w.className!==n.name&&w.va===c-2?(x.va=c-2,x.className=n.name,y[b]=x):(Fb(y,b,v),y[b].ja[c- -2]=x);Q([],m,E=>{E=$b(v,E,n,f,g,l);void 0===y[b].ja?(E.va=c-2,y[b]=E):y[b].ja[c-2]=E;return[]});return[]})},R:a=>P(a,cc),s:(a,b,c,d)=>{function e(){}b=K(b);e.values={};P(a,{name:b,constructor:e,fromWireType:function(f){return this.constructor.values[f]},toWireType:(f,g)=>g.value,na:8,readValueFromPointer:dc(b,c,d),la:null});Gb(b,e)},k:(a,b,c)=>{var d=ec(a);b=K(b);a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Eb(`${d.name}_${b}`,function(){})}});a.values[c]= -d;a[b]=d},p:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,na:8,readValueFromPointer:fc(b,c),la:null})},C:(a,b,c,d,e,f,g)=>{var k=Vb(b,c);a=K(a);a=ac(a);e=V(d,e);Gb(a,function(){Ub(`Cannot call ${a} due to unbound types`,k)},b-1);Q([],k,l=>{Qb(a,$b(a,[l[0],null].concat(l.slice(1)),null,e,f,g),b-1);return[]})},i:(a,b,c,d,e)=>{b=K(b);-1===e&&(e=4294967295);e=k=>k;if(0===d){var f=32-8*c;e=k=>k<>>f}var g=b.includes("unsigned")?function(k,l){return l>>>0}:function(k,l){return l}; -P(a,{name:b,fromWireType:e,toWireType:g,na:8,readValueFromPointer:ub(b,c,0!==d),la:null})},e:(a,b,c)=>{function d(f){var g=z()[f>>2];f=z()[f+4>>2];return new e(h().buffer,f,g)}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=K(c);P(a,{name:c,fromWireType:d,na:8,readValueFromPointer:d},{Ha:!0})},r:(a,b)=>{b=K(b);var c="std::string"===b;P(a,{name:b,fromWireType:function(d){var e=z()[d>>2],f=d+4;if(c)for(var g=f,k= -0;k<=e;++k){var l=f+k;if(k==e||0==t()[l]){g=J(g,l-g);if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=l+1}}else{m=Array(e);for(k=0;k> -2]=g;if(c&&f)g+=1,Y(e,t(),l,g);else if(f)for(f=0;f{c=K(c);if(2===b){var d=jc;var e=kc;var f=lc;var g=k=>da()[k>>1]}else 4===b&&(d=mc,e=nc,f=oc,g=k=>z()[k>>2]);P(a,{name:c,fromWireType:k=>{for(var l=z()[k>>2],m,n=k+4,x=0;x<=l;++x){var v=k+4+x*b;if(x==l||0== -g(v))n=d(n,v-n),void 0===m?m=n:(m+=String.fromCharCode(0),m+=n),n=v+b}W(k);return m},toWireType:(k,l)=>{if("string"!=typeof l)throw new N(`Cannot pass non-string to C++ string type ${c}`);var m=f(l),n=C(4+m+b);z()[n>>2]=m/b;e(l,n+4,m+b);null!==k&&k.push(W,n);return n},na:8,readValueFromPointer:Ob,la(k){W(k)}})},T:(a,b)=>{b=K(b);P(a,{Qa:!0,name:b,na:0,fromWireType:()=>{},toWireType:()=>{}})},I:(a,b)=>{let c=pc[qc]=new Worker(rc);c.postMessage({$ww:qc,wasm:Ha,js:A.mainScriptUrlOrBlob||_scriptName,wasmMemory:p, -sb:a,sz:b});c.onmessage=Ua;return qc++},O:()=>1,v:()=>{kb=!1;uc=0},w:(a,b)=>{sc[a]&&(clearTimeout(sc[a].id),delete sc[a]);if(!b)return 0;var c=setTimeout(()=>{delete sc[a];wc(()=>Ic(a,xc()))},b);sc[a]={id:c,Va:b};return 0},K:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);z()[a>>2]=60*g;u()[b>>2]=Number(f!=e);b=k=>{var l=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l% -60).padStart(2,"0")}`};a=b(f);b=b(e);et().set(zc[a].Ea,b),B:()=>yc.length,D:()=>zc.length,z:(a,b)=>{a=yc[a].Pa;var c=hc(a)+1;Y(a,t(),b,c)},x:a=>zc[a].mode,F:a=>zc[a].Ea.length,A:(a,b)=>{a=yc[a].Sa;var c=hc(a)+1;Y(a,t(),b,c)},y:(a,b)=>{a=zc[a].Ta;var c=hc(a)+1;Y(a,t(),b,c)},H:()=>{a:{if(!Ac.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(hc(a)+ -1);a=Y(a,b,0,b.length);b.length=a;Ac=b}b=Ac.shift()}return"number"===typeof b?b:-1},U:a=>{console.error(J(a))},W:a=>{console.log(J(a))},V:a=>{console.warn(J(a))},f:()=>Date.now(),l:a=>G(J(a)),m:xc,G:a=>Fa(J(a)),L:a=>{var b=t().length;a>>>=0;if(a<=b||2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-p.buffer.byteLength+65535)/65536;try{p.grow(d);r();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}, -Q:(a,b,c,d)=>{pc[a].postMessage({_wsc:b,x:[c,d]})},h:(a,b,c,d,e)=>{pc[a].postMessage({_wsc:b,x:[c,d,e]})},M:(a,b)=>{var c=0;Dc().forEach((d,e)=>{var f=b+c;e=z()[a+4*e>>2]=f;for(f=0;f{var c=Dc();z()[a>>2]=c.length;var d=0;c.forEach(e=>d+=e.length+1);z()[b>>2]=d;return 0},b:a=>{Ja=a;vc(a)},J:(a,b)=>{Fc(t().subarray(a,a+b));return 0},a:p,X:function(a,b,c){B[a].dispatchEvent(new CustomEvent(ta[b],{detail:0==c?null:J(c)}))}, -u:vc},Z=function(){function a(c,d){Z=c.exports;ib=Z.$;Oa.unshift(Z.Y);Ha=d;H--;A.monitorRunDependencies?.(H);0==H&&(null!==Xa&&(clearInterval(Xa),Xa=null),I&&(c=I,I=null,c()));return Z}var b={a:Jc};H++;A.monitorRunDependencies?.(H);if(A.instantiateWasm)try{return A.instantiateWasm(b,a)}catch(c){G(`Module.instantiateWasm callback failed with error: ${c}`),na(c)}$a||=Za("Vosklet.wasm")?"Vosklet.wasm":A.locateFile?A.locateFile("Vosklet.wasm",D):D+"Vosklet.wasm";fb(b,function(c){a(c.instance,c.module)}).catch(na); -return{}}(),W=a=>(W=Z.Z)(a),C=A._malloc=a=>(C=A._malloc=Z._)(a),Sb=a=>(Sb=Z.aa)(a),Ic=(a,b)=>(Ic=Z.ba)(a,b),Ra=(a,b)=>(Ra=Z.ca)(a,b);A.UTF8ToString=J;var Kc;I=function Lc(){Kc||Mc();Kc||(I=Lc)}; -function Mc(){function a(){if(!Kc&&(Kc=!0,A.calledRun=!0,!Ia)){Qa();ma(A);A.onRuntimeInitialized?.();if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;){var b=A.postRun.shift();Pa.unshift(b)}Va(Pa)}}if(!(0{setTimeout(()=>A.setStatus(""),1);a()},1)):a())}} -if(A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);0 loadVosklet); +var loadVosklet = (() => { var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; return (function(moduleArg = {}) { var moduleRtn;function k(){p.buffer!=q.buffer&&r();return q}function t(){p.buffer!=q.buffer&&r();return aa}function ba(){p.buffer!=q.buffer&&r();return ca}function da(){p.buffer!=q.buffer&&r();return ha}function u(){p.buffer!=q.buffer&&r();return ia}function z(){p.buffer!=q.buffer&&r();return ja}function ka(){p.buffer!=q.buffer&&r();return la}var A=moduleArg,ma,na,oa=new Promise((a,b)=>{ma=a;na=b}),pa="object"==typeof window,qa="function"==typeof importScripts,ra="object"==typeof process&&"object"==typeof process.Oa&&"string"==typeof process.Oa.node,sa=A.$ww;let B=[],ta=["status","partialResult","result"],ua=URL.createObjectURL(new Blob(["(",(()=>{let a=new TextDecoder,b=new TextEncoder;onmessage=async c=>{c=c.data;var d=c.Na.split("/"),e=await navigator.storage.getDirectory();for(var f of d)e=await e.getDirectoryHandle(f,{create:!0});d=await e.getFileHandle("id",{create:!0});f=await e.getFileHandle("model.tgz",{create:!0});e=await d.createSyncAccessHandle();d=await f.createSyncAccessHandle();f=new ArrayBuffer(e.getSize());e.read(f);let g;if(a.decode(f)==c.id)g=new ArrayBuffer(d.getSize()),d.read(g),c=await (new Response((new Response(g)).body.pipeThrough(new DecompressionStream("gzip")))).arrayBuffer();else{f=await fetch(c.url);if(!f.ok){postMessage("Unable to download model");return}f=f.body.tee();g=await (new Response(f[0])).arrayBuffer();d.write(g,{at:0});d.truncate(g.byteLength);c=b.encode(c.id);e.write(c,{at:0});e.truncate(c.length);c=await (new Response(f[1].pipeThrough(new DecompressionStream("gzip")))).arrayBuffer()}e.close();d.close();self.postMessage(c,[c])}}).toString(),")()"],{type:"text/javascript"})),va=new Worker(ua),wa=URL.createObjectURL(new Blob(["(",(()=>{registerProcessor("VoskletTransferer",class extends AudioWorkletProcessor{constructor(a){super();this.count=0;this.sa=a.processorOptions.sa;this.buffer=new Float32Array(128*this.sa)}process(a){if(!a[0][0])return!0;this.buffer.set(a[0][0],128*this.count++);this.count>=this.sa&&(this.count=0,this.port.postMessage(this.buffer,[this.buffer.buffer]),this.buffer=new Float32Array(128*this.sa));return!0}})}).toString(),")()"],{type:"text/javascript"}));A.cleanUp=async()=>{for(let a of B)await a.delete();URL.revokeObjectURL(wa);URL.revokeObjectURL(ua);va.terminate()};A.createTransferer=async(a,b)=>{await a.audioWorklet.addModule(wa);return new AudioWorkletNode(a,"VoskletTransferer",{channelCountMode:"explicit",numberOfInputs:1,numberOfOutputs:0,channelCount:1,processorOptions:{sa:b/128}})};async function xa(a,b,c,d){let e=new ya,f=new Promise((g,h)=>{e.addEventListener("status",l=>{l.detail?h(l.detail):(d&&(e.findWord=m=>e.ha.findWord(m)),g(e))},{once:!0})});va.addEventListener("message",g=>{g=g.data;let h=C(g.byteLength);t().set(new Uint8Array(g),h);e.ha=new A.CommonModel(B.length-1,d,"/"+b,c,h,g.byteLength)},{once:!0});va.postMessage({url:a,Na:b,id:c});return f}class ya extends EventTarget{constructor(){super();B.push(this)}delete(){this.ha.delete()}}A.createModel=async(a,b,c)=>xa(a,b,c,!0);A.createSpkModel=async(a,b,c)=>xa(a,b,c,!1);async function za(a,b,c,d,e){let f=new Aa,g=new Promise((h,l)=>{f.addEventListener("status",m=>{m.detail?l(m.detail):h(f)},{once:!0})});switch(c){case 1:f.ha=new A.Recognizer(B.length-1,b,a);break;case 2:f.ha=new A.Recognizer(B.length-1,b,a,e);break;default:f.ha=new A.Recognizer(B.length-1,b,a,d,0)}return g}class Aa extends EventTarget{constructor(){super();this.acceptWaveform=a=>{let b=C(4*a.length);ka().set(a,b/4);this.ha.acceptWaveform(b,a.length)};B.push(this);return new Proxy(this,{get(a,b){if(void 0!=a[b]||void 0!=a.ha[b]){var c=a[b];if(c)return c.bind?c.bind(a):c;c=a.ha[b];return c.bind?c.bind(a.ha):c}}})}async delete(a=!1){let b=new Promise(c=>this.addEventListener("status",()=>{this.ha.delete();c()},{once:!0}));this.ha.Ua(a);return b}}A.createRecognizer=(a,b)=>za(a.ha,b,1);A.createRecognizerWithSpkModel=(a,b,c)=>za(a.ha,b,2,null,c.ha);A.createRecognizerWithGrm=(a,b,c)=>za(a.ha,b,3,c,null);var Ba=Object.assign({},A),F="",Ca,Da;if(pa||qa)qa?F=self.location.href:"undefined"!=typeof document&&document.currentScript&&(F=document.currentScript.src),_scriptName&&(F=_scriptName),F.startsWith("blob:")?F="":F=F.substr(0,F.replace(/[?#].*/,"").lastIndexOf("/")+1),qa&&(Da=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Ca=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));var Ea=console.log.bind(console),G=console.error.bind(console);Object.assign(A,Ba);Ba=null;var p,Fa,Ga=!1,Ha,q,aa,ca,ha,ia,ja,la,Ia,Ja,Ka;function r(){var a=p.buffer;A.HEAP8=q=new Int8Array(a);A.HEAP16=ca=new Int16Array(a);A.HEAPU8=aa=new Uint8Array(a);A.HEAPU16=ha=new Uint16Array(a);A.HEAP32=ia=new Int32Array(a);A.HEAPU32=ja=new Uint32Array(a);A.HEAPF32=la=new Float32Array(a);A.HEAPF64=Ka=new Float64Array(a);A.HEAP64=Ia=new BigInt64Array(a);A.HEAPU64=Ja=new BigUint64Array(a)}if(A.wasmMemory)p=A.wasmMemory;else if(p=new WebAssembly.Memory({initial:5040,maximum:32768,shared:!0}),!(p.buffer instanceof SharedArrayBuffer))throw G("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),ra&&G("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");r();var La=[],Ma=[],Na=[];function Oa(){if(sa)Pa(A.sb,A.sz),removeEventListener("message",Qa),Ra=Ra.forEach(Sa),addEventListener("message",Sa);else for(;0a.startsWith("data:application/octet-stream;base64,"),Wa;function Xa(a){return Ca(a).then(b=>new Uint8Array(b),()=>{if(Da)var b=Da(a);else throw"both async and sync fetching of the wasm failed";return b})}function Ya(a,b,c){return Xa(a).then(d=>WebAssembly.instantiate(d,b)).then(c,d=>{G(`failed to asynchronously prepare wasm: ${d}`);Ua(d)})}function Za(a,b){var c=Wa;return"function"!=typeof WebAssembly.instantiateStreaming||Va(c)||"function"!=typeof fetch?Ya(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(e){G(`wasm streaming compile failed: ${e}`);G("falling back to ArrayBuffer instantiation");return Ya(c,a,b)}))}function bb(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var Ra=[],cb=[],db,eb=a=>{var b=cb[a];b||(a>=cb.length&&(cb.length=a+1),cb[a]=b=db.get(a));return b},Sa=a=>{a=a.data;let b=a._wsc;b&&eb(b)(...a.x)},Qa=a=>{Ra.push(a)},fb=new TextDecoder,J=(a,b)=>{if(!a)return"";b=a+b;for(var c=a;!(c>=b)&&t()[c];)++c;return fb.decode(t().slice(a,c))};class gb{constructor(a){this.fa=a-24}}var hb=0,ib=0,jb=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},kb,K=a=>{for(var b="";t()[a];)b+=kb[t()[a++]];return b},L={},M={},lb={},N,mb=a=>{throw new N(a);},O,Q=(a,b,c)=>{function d(h){h=c(h);if(h.length!==a.length)throw new O("Mismatched type converter count");for(var l=0;llb[h]=b);var e=Array(b.length),f=[],g=0;b.forEach((h,l)=>{M.hasOwnProperty(h)?e[l]=M[h]:(f.push(h),L.hasOwnProperty(h)||(L[h]=[]),L[h].push(()=>{e[l]=M[h];++g;g===f.length&&d(e)}))});0===f.length&&d(e)};function nb(a,b,c={}){var d=b.name;if(!a)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(M.hasOwnProperty(a)){if(c.Ha)return;throw new N(`Cannot register type '${d}' twice`);}M[a]=b;delete lb[a];L.hasOwnProperty(a)&&(b=L[a],delete L[a],b.forEach(e=>e()))}function P(a,b,c={}){return nb(a,b,c)}var ob=(a,b,c)=>{switch(b){case 1:return c?d=>k()[d]:d=>t()[d];case 2:return c?d=>ba()[d>>1]:d=>da()[d>>1];case 4:return c?d=>u()[d>>2]:d=>z()[d>>2];case 8:return c?d=>Ia[d>>3]:d=>Ja[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},pb=a=>{throw new N(a.da.ga.ea.name+" instance already deleted");},qb=!1,rb=()=>{},sb=(a,b,c)=>{if(b===c)return a;if(void 0===c.ka)return null;a=sb(a,b,c.ka);return null===a?null:c.Da(a)},tb={},R=[],ub=()=>{for(;R.length;){var a=R.pop();a.da.qa=!1;a["delete"]()}},S,T={},vb=(a,b)=>{if(void 0===b)throw new N("ptr should not be undefined");for(;a.ka;)b=a.ua(b),a=a.ka;return T[b]},wb=(a,b)=>{if(!b.ga||!b.fa)throw new O("makeClassHandle requires ptr and ptrType");if(!!b.ma!==!!b.ia)throw new O("Both smartPtrType and smartPtr must be specified");b.count={value:1};return U(Object.create(a,{da:{value:b,writable:!0}}))},U=a=>{if("undefined"===typeof FinalizationRegistry)return U=b=>b,a;qb=new FinalizationRegistry(b=>{b=b.da;--b.count.value;0===b.count.value&&(b.ia?b.ma.oa(b.ia):b.ga.ea.oa(b.fa))});U=b=>{var c=b.da;c.ia&&qb.register(b,{da:c},b);return b};rb=b=>{qb.unregister(b)};return U(a)};function xb(){}var yb=(a,b)=>Object.defineProperty(b,"name",{value:a}),zb=(a,b,c)=>{if(void 0===a[b].ja){var d=a[b];a[b]=function(...e){if(!a[b].ja.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].ja})!`);return a[b].ja[e.length].apply(this,e)};a[b].ja=[];a[b].ja[d.va]=d}},Ab=(a,b,c)=>{if(A.hasOwnProperty(a)){if(void 0===c||void 0!==A[a].ja&&void 0!==A[a].ja[c])throw new N(`Cannot register public name '${a}' twice`);zb(A,a,a);if(A.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);A[a].ja[c]=b}else A[a]=b,void 0!==c&&(A[a].Ra=c)},Bb=a=>{if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Cb(a,b,c,d,e,f,g,h){this.name=a;this.constructor=b;this.ra=c;this.oa=d;this.ka=e;this.Fa=f;this.ua=g;this.Da=h;this.Ja=[]}var Db=(a,b,c)=>{for(;b!==c;){if(!b.ua)throw new N(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.ua(a);b=b.ka}return a};function Eb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${jb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Db(b.da.fa,b.da.ga.ea,this.ea)}function Fb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);if(this.xa){var c=this.Ka();null!==a&&a.push(this.oa,c);return c}return 0}if(!b||!b.da)throw new N(`Cannot pass "${jb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.wa&&b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);c=Db(b.da.fa,b.da.ga.ea,this.ea);if(this.xa){if(void 0===b.da.ia)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.Ma){case 0:if(b.da.ma===this)c=b.da.ia;else throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);break;case 1:c=b.da.ia;break;case 2:if(b.da.ma===this)c=b.da.ia;else{var d=b.clone();c=this.La(c,Gb(()=>d["delete"]()));null!==a&&a.push(this.oa,c)}break;default:throw new N("Unsupporting sharing policy");}}return c}function Hb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${jb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ga.name} to parameter type ${this.name}`);return Db(b.da.fa,b.da.ga.ea,this.ea)}function Ib(a){return this.fromWireType(z()[a>>2])}function Jb(a,b,c,d,e,f,g,h,l,m,n){this.name=a;this.ea=b;this.ya=c;this.wa=d;this.xa=e;this.Ia=f;this.Ma=g;this.Ba=h;this.Ka=l;this.La=m;this.oa=n;e||void 0!==b.ka?this.toWireType=Fb:(this.toWireType=d?Eb:Hb,this.la=null)}var Kb=(a,b,c)=>{if(!A.hasOwnProperty(a))throw new O("Replacing nonexistent public symbol");void 0!==A[a].ja&&void 0!==c?A[a].ja[c]=b:(A[a]=b,A[a].va=c)},V=(a,b)=>{a=K(a);var c=eb(b);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${a}: ${b}`);return c},Lb,Nb=a=>{a=Mb(a);var b=K(a);W(a);return b},Ob=(a,b)=>{function c(f){e[f]||M[f]||(lb[f]?lb[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Lb(`${a}: `+d.map(Nb).join([", "]));},Pb=(a,b)=>{for(var c=[],d=0;d>2]);return c},Qb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function Rb(a){for(var b=1;bg)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=Rb(b);c="void"!==b[0].name;d=[a,mb,d,e,Qb,b[0],b[1]];for(e=0;e{a=a.trim();const b=a.indexOf("(");return-1!==b?a.substr(0,b):a},Wb=[],X=[],Gb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=Wb.pop()||X.length;X[b]=a;X[b+1]=1;return b}},Xb={name:"emscripten::val",fromWireType:a=>{if(!a)throw new N("Cannot use deleted val. handle = "+a);var b=X[a];9Gb(b),na:8,readValueFromPointer:Ib,la:null},Yb=(a,b,c)=>{switch(b){case 1:return c?function(d){return this.fromWireType(k()[d])}:function(d){return this.fromWireType(t()[d])};case 2:return c?function(d){return this.fromWireType(ba()[d>>1])}:function(d){return this.fromWireType(da()[d>>1])};case 4:return c?function(d){return this.fromWireType(u()[d>>2])}:function(d){return this.fromWireType(z()[d>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Zb=a=>{var b=M[a];if(void 0===b)throw a=`${"enum"} has unknown type ${Nb(a)}`,new N(a);return b},$b=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(ka()[c>>2])};case 8:return function(c){var d=this.fromWireType;p.buffer!=q.buffer&&r();return d.call(this,Ka[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},Y=(a,b,c,d)=>{if(!(0=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-e},ac=(a,b)=>{var c=17;Y(a,t(),b,c)},bc=a=>{for(var b=0,c=0;c=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},cc=new TextDecoder("utf-16le"),dc=(a,b)=>{var c=a>>1;for(b=c+b/2;!(c>=b)&&da()[c];)++c;c<<=1;return cc.decode(t().slice(a,c))},ec=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=f;b+=2}ba()[b>>1]=0;return b-d},fc=a=>2*a.length,gc=(a,b)=>{for(var c=0,d="";!(c>=b/4);){var e=u()[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d},hc=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=f){var g=a.charCodeAt(++e);f=65536+((f&1023)<<10)|g&1023}u()[b>>2]=f;b+=4;if(b+4>c)break}u()[b>>2]=0;return b-d},ic=a=>{for(var b=0,c=0;c=d&&++c;b+=4}return b},jc={},kc=1,lc=URL.createObjectURL(new Blob(["onmessage=function(d){onmessage=null;d=d.data;d[`instantiateWasm`]=(i,r)=>{var n=new WebAssembly.Instance(d[`wasm`],i);return r(n,d[`wasm`]);};importScripts(d.js);loadVosklet(d);d.wasm=d.mem=d.js=0;}"],{type:"application/javascript"})),mc={},nc=a=>{if(!(a instanceof bb||"unwind"==a))throw a;},oc=0,pc=a=>{Ha=a;0{if(!Ga)try{if(a(),!(0performance.now();for(var sc=[],tc=[],uc=[],vc={},xc=()=>{if(!wc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"},b;for(b in vc)void 0===vc[b]?delete a[b]:a[b]=vc[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);wc=c}return wc},wc,yc=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>(a.set(crypto.getRandomValues(new Uint8Array(a.byteLength))),a);Ua("initRandomDevice")},zc=a=>(zc=yc())(a),Ac=Array(256),Bc=0;256>Bc;++Bc)Ac[Bc]=String.fromCharCode(Bc);kb=Ac;N=A.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};O=A.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};Object.assign(xb.prototype,{isAliasOf:function(a){if(!(this instanceof xb&&a instanceof xb))return!1;var b=this.da.ga.ea,c=this.da.fa;a.da=a.da;var d=a.da.ga.ea;for(a=a.da.fa;b.ka;)c=b.ua(c),b=b.ka;for(;d.ka;)a=d.ua(a),d=d.ka;return b===d&&c===a},clone:function(){this.da.fa||pb(this);if(this.da.ta)return this.da.count.value+=1,this;var a=U,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.da;a=a(c.call(b,d,{da:{value:{count:e.count,qa:e.qa,ta:e.ta,fa:e.fa,ga:e.ga,ia:e.ia,ma:e.ma}}}));a.da.count.value+=1;a.da.qa=!1;return a},["delete"](){this.da.fa||pb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");rb(this);var a=this.da;--a.count.value;0===a.count.value&&(a.ia?a.ma.oa(a.ia):a.ga.ea.oa(a.fa));this.da.ta||(this.da.ia=void 0,this.da.fa=void 0)},isDeleted:function(){return!this.da.fa},deleteLater:function(){this.da.fa||pb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");R.push(this);1===R.length&&S&&S(ub);this.da.qa=!0;return this}});A.getInheritedInstanceCount=()=>Object.keys(T).length;A.getLiveInheritedInstances=()=>{var a=[],b;for(b in T)T.hasOwnProperty(b)&&a.push(T[b]);return a};A.flushPendingDeletes=ub;A.setDelayFunction=a=>{S=a;R.length&&S&&S(ub)};Object.assign(Jb.prototype,{Ga(a){this.Ba&&(a=this.Ba(a));return a},Aa(a){this.oa?.(a)},na:8,readValueFromPointer:Ib,fromWireType:function(a){function b(){return this.xa?wb(this.ea.ra,{ga:this.Ia,fa:c,ma:this,ia:a}):wb(this.ea.ra,{ga:this,fa:a})}var c=this.Ga(a);if(!c)return this.Aa(a),null;var d=vb(this.ea,c);if(void 0!==d){if(0===d.da.count.value)return d.da.fa=c,d.da.ia=a,d.clone();d=d.clone();this.Aa(a);return d}d=this.ea.Fa(c);d=tb[d];if(!d)return b.call(this);d=this.wa?d.Ca:d.pointerType;var e=sb(c,this.ea,d.ea);return null===e?b.call(this):this.xa?wb(d.ea.ra,{ga:d,fa:e,ma:this,ia:a}):wb(d.ea.ra,{ga:d,fa:e})}});Lb=A.UnboundTypeError=((a,b)=>{var c=yb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c})(Error,"UnboundTypeError");X.push(0,1,void 0,1,null,1,!0,1,!1,1);A.count_emval_handles=()=>X.length/2-5-Wb.length;sa&&(jc[0]=this,addEventListener("message",Qa));var Dc={c:(a,b,c,d)=>{Ua(`Assertion failed: ${J(a)}, at: `+[b?J(b):"unknown filename",c,d?J(d):"unknown function"])},t:(a,b)=>eb(a)(b),d:(a,b,c)=>{var d=new gb(a);z()[d.fa+16>>2]=0;z()[d.fa+4>>2]=b;z()[d.fa+8>>2]=c;hb=a;ib++;throw hb;},P:()=>{Ua("")},q:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:function(d,e){if("bigint"!=typeof e&&"number"!=typeof e)throw new TypeError(`Cannot convert "${jb(e)}" to ${this.name}`);"number"==typeof e&&(e=BigInt(e));return e},na:8,readValueFromPointer:ob(b,c,-1==b.indexOf("u")),la:null})},S:(a,b,c,d)=>{b=K(b);P(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},na:8,readValueFromPointer:function(e){return this.fromWireType(t()[e])},la:null})},o:(a,b,c,d,e,f,g,h,l,m,n,x,v)=>{n=K(n);f=V(e,f);h&&=V(g,h);m&&=V(l,m);v=V(x,v);var y=Bb(n);Ab(y,function(){Ob(`Cannot construct ${n} due to unbound types`,[d])});Q([a,b,c],d?[d]:[],w=>{w=w[0];if(d){var D=w.ea;var ea=D.ra}else ea=xb.prototype;w=yb(n,function(...$a){if(Object.getPrototypeOf(this)!==ab)throw new N("Use 'new' to construct "+n);if(void 0===E.pa)throw new N(n+" has no accessible constructor");var Tb=E.pa[$a.length];if(void 0===Tb)throw new N(`Tried to invoke ctor of ${n} with invalid number of parameters (${$a.length}) - expected (${Object.keys(E.pa).toString()}) parameters instead!`);return Tb.apply(this,$a)});var ab=Object.create(ea,{constructor:{value:w}});w.prototype=ab;var E=new Cb(n,w,ab,v,D,f,h,m);if(E.ka){var fa;(fa=E.ka).za??(fa.za=[]);E.ka.za.push(E)}D=new Jb(n,E,!0,!1,!1);fa=new Jb(n+"*",E,!1,!1,!1);ea=new Jb(n+" const*",E,!1,!0,!1);tb[a]={pointerType:fa,Ca:ea};Kb(y,w);return[D,fa,ea]})},j:(a,b,c,d,e,f)=>{var g=Pb(b,c);e=V(d,e);Q([],[a],h=>{h=h[0];var l=`constructor ${h.name}`;void 0===h.ea.pa&&(h.ea.pa=[]);if(void 0!==h.ea.pa[b-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${h.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);h.ea.pa[b-1]=()=>{Ob(`Cannot construct ${h.name} due to unbound types`,g)};Q([],g,m=>{m.splice(1,0,null);h.ea.pa[b-1]=Ub(l,m,null,e,f);return[]});return[]})},g:(a,b,c,d,e,f,g,h,l)=>{var m=Pb(c,d);b=K(b);b=Vb(b);f=V(e,f);Q([],[a],n=>{function x(){Ob(`Cannot call ${v} due to unbound types`,m)}n=n[0];var v=`${n.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&n.ea.Ja.push(b);var y=n.ea.ra,w=y[b];void 0===w||void 0===w.ja&&w.className!==n.name&&w.va===c-2?(x.va=c-2,x.className=n.name,y[b]=x):(zb(y,b,v),y[b].ja[c-2]=x);Q([],m,D=>{D=Ub(v,D,n,f,g,l);void 0===y[b].ja?(D.va=c-2,y[b]=D):y[b].ja[c-2]=D;return[]});return[]})},R:a=>P(a,Xb),s:(a,b,c,d)=>{function e(){}b=K(b);e.values={};P(a,{name:b,constructor:e,fromWireType:function(f){return this.constructor.values[f]},toWireType:(f,g)=>g.value,na:8,readValueFromPointer:Yb(b,c,d),la:null});Ab(b,e)},k:(a,b,c)=>{var d=Zb(a);b=K(b);a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:yb(`${d.name}_${b}`,function(){})}});a.values[c]=d;a[b]=d},p:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,na:8,readValueFromPointer:$b(b,c),la:null})},C:(a,b,c,d,e,f,g)=>{var h=Pb(b,c);a=K(a);a=Vb(a);e=V(d,e);Ab(a,function(){Ob(`Cannot call ${a} due to unbound types`,h)},b-1);Q([],h,l=>{Kb(a,Ub(a,[l[0],null].concat(l.slice(1)),null,e,f,g),b-1);return[]})},i:(a,b,c,d,e)=>{b=K(b);-1===e&&(e=4294967295);e=h=>h;if(0===d){var f=32-8*c;e=h=>h<>>f}var g=b.includes("unsigned")?function(h,l){return l>>>0}:function(h,l){return l};P(a,{name:b,fromWireType:e,toWireType:g,na:8,readValueFromPointer:ob(b,c,0!==d),la:null})},e:(a,b,c)=>{function d(f){var g=z()[f>>2];f=z()[f+4>>2];return new e(k().buffer,f,g)}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=K(c);P(a,{name:c,fromWireType:d,na:8,readValueFromPointer:d},{Ha:!0})},r:(a,b)=>{b=K(b);var c="std::string"===b;P(a,{name:b,fromWireType:function(d){var e=z()[d>>2],f=d+4;if(c)for(var g=f,h=0;h<=e;++h){var l=f+h;if(h==e||0==t()[l]){g=J(g,l-g);if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=l+1}}else{m=Array(e);for(h=0;h>2]=g;if(c&&f)g+=1,Y(e,t(),l,g);else if(f)for(f=0;f{c=K(c);if(2===b){var d=dc;var e=ec;var f=fc;var g=h=>da()[h>>1]}else 4===b&&(d=gc,e=hc,f=ic,g=h=>z()[h>>2]);P(a,{name:c,fromWireType:h=>{for(var l=z()[h>>2],m,n=h+4,x=0;x<=l;++x){var v=h+4+x*b;if(x==l||0==g(v))n=d(n,v-n),void 0===m?m=n:(m+=String.fromCharCode(0),m+=n),n=v+b}W(h);return m},toWireType:(h,l)=>{if("string"!=typeof l)throw new N(`Cannot pass non-string to C++ string type ${c}`);var m=f(l),n=C(4+m+b);z()[n>>2]=m/b;e(l,n+4,m+b);null!==h&&h.push(W,n);return n},na:8,readValueFromPointer:Ib,la(h){W(h)}})},T:(a,b)=>{b=K(b);P(a,{Qa:!0,name:b,na:0,fromWireType:()=>{},toWireType:()=>{}})},I:(a,b)=>{let c=jc[kc]=new Worker(lc);c.postMessage({$ww:kc,wasm:Fa,js:A.mainScriptUrlOrBlob||_scriptName,wasmMemory:p,sb:a,sz:b});c.onmessage=Sa;return kc++},O:()=>1,v:()=>{oc=0},w:(a,b)=>{mc[a]&&(clearTimeout(mc[a].id),delete mc[a]);if(!b)return 0;var c=setTimeout(()=>{delete mc[a];qc(()=>Cc(a,rc()))},b);mc[a]={id:c,Va:b};return 0},K:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);z()[a>>2]=60*g;u()[b>>2]=Number(f!=e);b=h=>{var l=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(f);b=b(e);et().set(tc[a].Ea,b),B:()=>sc.length,D:()=>tc.length,z:(a,b)=>{a=sc[a].Pa;var c=bc(a)+1;Y(a,t(),b,c)},x:a=>tc[a].mode,F:a=>tc[a].Ea.length,A:(a,b)=>{a=sc[a].Sa;var c=bc(a)+1;Y(a,t(),b,c)},y:(a,b)=>{a=tc[a].Ta;var c=bc(a)+1;Y(a,t(),b,c)},H:()=>{a:{if(!uc.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(bc(a)+1);a=Y(a,b,0,b.length);b.length=a;uc=b}b=uc.shift()}return"number"===typeof b?b:-1},U:a=>{console.error(J(a))},W:a=>{console.log(J(a))},V:a=>{console.warn(J(a))},f:()=>Date.now(),l:a=>G(J(a)),m:rc,G:a=>Ea(J(a)),L:a=>{var b=t().length;a>>>=0;if(a<=b||2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-p.buffer.byteLength+65535)/65536;try{p.grow(d);r();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},Q:(a,b,c,d)=>{jc[a].postMessage({_wsc:b,x:[c,d]})},h:(a,b,c,d,e)=>{jc[a].postMessage({_wsc:b,x:[c,d,e]})},M:(a,b)=>{var c=0;xc().forEach((d,e)=>{var f=b+c;e=z()[a+4*e>>2]=f;for(f=0;f{var c=xc();z()[a>>2]=c.length;var d=0;c.forEach(e=>d+=e.length+1);z()[b>>2]=d;return 0},b:a=>{Ha=a;pc(a)},J:(a,b)=>{zc(t().subarray(a,a+b));return 0},a:p,X:function(a,b,c){B[a].dispatchEvent(new CustomEvent(ta[b],{detail:0==c?null:J(c)}))},u:pc},Z=function(){function a(c,d){Z=c.exports;db=Z.$;Ma.unshift(Z.Y);Fa=d;H--;0==H&&(null!==Ta&&(clearInterval(Ta),Ta=null),I&&(c=I,I=null,c()));return Z}var b={a:Dc};H++;if(A.instantiateWasm)try{return A.instantiateWasm(b,a)}catch(c){G(`Module.instantiateWasm callback failed with error: ${c}`),na(c)}Wa||=Va("Vosklet.wasm")?"Vosklet.wasm":F+"Vosklet.wasm";Za(b,function(c){a(c.instance,c.module)}).catch(na);return{}}(),W=a=>(W=Z.Z)(a),C=a=>(C=Z._)(a),Mb=a=>(Mb=Z.aa)(a),Cc=(a,b)=>(Cc=Z.ba)(a,b),Pa=(a,b)=>(Pa=Z.ca)(a,b),Ec;I=function Fc(){Ec||Gc();Ec||(I=Fc)};function Gc(){if(!(0 loadVosklet); \ No newline at end of file diff --git a/Examples/Vosklet.wasm b/Examples/Vosklet.wasm index 061028b80cac56755104398f911703ef7c0b4538..4691002859b47a9f4755a4548b48a504438d57f5 100755 GIT binary patch delta 99019 zcmeEv2Ut``*YM75+wb0O?6Rx4AS!k=_Gt8)n3xze#WZ7z=|N3m-t^=RB6d;0RR;)_8*u{>Dim~?+d)L?!+kfWnU04(hZ<5#V`TpmF2j<+FIWuSa%sFSyY#Nn;QbuH; zSsQs4@q&LdALHb7oPlK-6xB{ZHTf8hM=Zzsjl!$eR~Sanajb!3IX;%-INtxIu*i;B zo?`?Ao(410Af7iMe+z9V#QL+eeK?L`8Gj93d7d$GoWb8#w}59E4X^hb^)0I)7Qv5( zK^pksH5#M|)3B^yVC}p{&}lS`UBe+>EuK@jX5hjcUztrk#Ng9Zpf8tz%H5+tEf<0+27 zF@C{RO)EgHa;(PR(A1z2V-g^mfzfap*1)h1C^9Q2AcJ5KG#ZX)c+?#wqG(Rgup9>z zvR0s+MeMixB81}c#tT}BTOlo6{q1=!L zr4V8Oeee%D5tIZ;fI*38HAoAzK{Eyr7{o)5g6JH>Q9`M&4O(9zUv(gaf%4WcLRGV< zJmV|x)zm2uF<2lVkPSEz&4AJdCDd~MEtYQ@1*w2~RH%@kEJ_?ohVlzZP#1awbs5#$ z|8ME%1U`udDAiAUkIl+)f*?YFgg+<|loNg+Va|k1CIJf36Nxq}^j}s7f#8pNDNSdE zX0h>B>H$B!!Oz5*AR(pNAz?^FNl0;7+IyAX78WIQC9?>cAb9Jc+aitCYPDHe5vq&R z0Vbs$=wWq8P>KQZATJmai>-BGFrK%zbU-^o?h56|#meDicMv+^@H^n&CA?#-BaCT+(X>`+&jJ9-Pc{` zTt{5HU7KBNUCUhaUAdklfq1f9Gd;sx;{o0pp5nUXKIzU2ALu&ZzU595w!vRYSl_VI z&cpt99X0E1_O9~gF>&K`ai=_oJOOBjXF~w$F8yJ-XSr*+W4Ud)W$DAEGrwDIT2}g3 zI6TG+?0L2a+Kq0pfA~*0nz5r$roXbYNkX1ug(Huh>zL_CGo_g*&QQld$4WjAtwU$* zN9^0}=Z!t2L}@;X+pJHL4q1Dkeem~(?Kj&++cDc7Tc+_B+g4kiE!UQ3Uv4M%S@xOs z$@ZakzdhORN7tE5?KLJYi|sGPjkb)kWLS1GBP}B=S(Z%87|S1=|BzFUj`~kKkD#Ug zjbUHfi8x=JC*Jnn@?Q5|^xpB_^Un3Z;Hr-1`hRj&OxWSw?%n47#k@-o9P|n9qk?EO%^A3 zGrS|c`Dlc9xHsL4y~DgGxVXXIG;gXm1%d~82YUSwoa`Oo?eFd9?dy%Z;5qN8!`KnJ;kpB!{WQ9`&$HL#M}D-& zv)i-Fv(t0X6SvLti)X8+z_UdO*zDQl$@gsZZ1?mK<5qfBc$RyXd6p_cOFWA`i#!WG zt2_%laoOH!-g(}+qIb4;mS-x^=0~H@4F5EDlQwW&WJ- z#*vp?+2K8fp29`f1=qCjso~SZr-V-q|IK{fb=Ea8d{X!szuEJ7!cwt&c<=C@;Ys0l z-FMu-nQy!QaR2VU>Av9(H2PKdZ|=+PYi>VU$Xs+^abIwscVBm(bDwpuaIbQ&bgy-< zaj$mgx|h3`x|g^YyHnjM?whWmZdw~RT-RKF_h5ILJ1*NZ%`?b7-9xKiGxv1w<$8O1 zd3t)1+&$ch@O8v}*nP--&vn;z$F-L`=-%(X?Yiaq1K?Bc%jOgAGwva}p2AM%wEMXG znEO}vQTHDAZud_2J}43V>UOzzxVO9ax_@zRb#HcWa&L4Os3H084es^sE$%$`I`>`k zumsQVuAx9Flt6dZJlNy+4DrOBHQzN4^dx((x&|phzqzis(mbi26wd%pf6p27W!FNW zB9B?%CQ7P1nMLmT?s@JU_e|Xk-5mF9_jLDU_cZr#ce;C)d!~DadxSgNJ;goAJ<&bE zjoriC8Se4!aqhA1tOWN+ccy!^dz8BeI_)~;I_Wy$I_^5=`qg#Rb=Y;tb&kI8%R+IJToYX*T+>|nXt*og zgapPQLU74)iD`-QvL6jubD8!;dji|4tAtDk{#GFz%k6R&LtbXlln@1B$)2jJK~Nzesvsm9B~|S^gsocEtbueO_qGiM#~0eW?pZ}vjk?@b(Xc3 z^Ts8X#TJ-jmsyrtdY~Q%l9*?S%SYP;`!Dvb_5!~%BKng&c7|!XDcdy7bl0BF+_c}Y z_u}Y0eU%+=TF3mxUbkPfU$y^czhb{^zhu8?zhJ*>Ja0c|KWjg2KV?5@KVd&^KW0B{ zKV*lTZW?bWi^2`#ulA$%9&}-V1%f7b!=Duq_RJ;rB0Gi2*G@D3Zo6r_VY_adW}j-` zY?@*}XgpxtZ=_4bBs+~i(Z0{P$+X8f#y;AfFO0Hh*hkt&*oVXHzfhm)zZ>BW?`Q98 zAHi&5``CNid)WtZJ?+yWuU}2s{@N8PXb;+_X!qLp_+P0|$$UY3ChTlQlDol}3Q6oVrq~DBe=%+~4zv%pr_q4j#&jhB+lMIuL!c~Bd*khK&`J~R z3z-Ydd1jG)q5Yh3fqlMxo_(&JlAfcGKF2=Wo@LLZ>5Q|Fg>=sIJ15IL~0+P%< z%omu2PzBJQ{%VmG&?x_NkufY#<^MXeZj({wO{OcR9nS5}d|{jO7w1-Ifpd$~k2X6; zq06QX!Y^E^GsOwT8|fV3q)j;7neN2SLEJX~k;r;zkUuOcmZe|MMm0v8{7F%<`c3Qv z=XmEh=OF)*s2KQ~-Rc#J9asOO*!858@to7!?DpnF}hO1LB|0H)bwQ2Bol4f zNv8ddeGX{DS*Dq$!ZuXKZ1n=_7YuTH+iYjYp)Cn8yI%Slnh<+ zw&|9scUZ5mo?%I0J;D;hx`*9!?yxPj71i@7V>+|Mw%8UV=(wKFMvH6nppK+Be5TxDAcZCFaL-KpQ94=wR_{dQY{E!(`!7MOczhFfg3X*b*U z8JF9Z*`QP#Z5wQK0I#>Lv#qtQv8{&mmvSp?1z}slHiyL>=a2I_VROR#BP++$?jugo zPSGB)@3-%>Pu5P>?zZo;@3e1&A-gwhPgtfoiBIBBTTWS)=x2oWGavO|sT}iczKzZ( zn{0s@WfD7yy=FacJ#HO^#@OOU+L|S47of9-GltWKQLs51VLN3QZp-4+;qQRqt`HLD zf4@p1TIN4q<#8B{kufb>&E$46JDEi5PA0Cup`T$UM-%94ILhAtIna=-h7O>i#XkL$ zV-__Tg~qYt*tj%4jbFpi-)ta8@k-@WRj+9!digV|)&`>TtHw3D0{Qamm{I5#X{*$a zAB75}?Lxk^K`IQ`ByAIDz;0!t zv_u*ujY1jHNNKK=Bh8VZaz{wRr7Ql4)t-Zjxm?Z7BreD?R@XBw@fog#kCnN28QqOw zG#;amlk=vD{^TdiBM~RgF-7_}K56&=yJln5DTmY?z?eEokI6eWa59n}i^8AlxiJ3+ zvEM-4NQQ~>--)fKf;sK$G(rGpnOM86?-WsL9Lf2Z7)BGt$f;AoUu%xU?GRHLt;DhW zkt@gg*dGiMb4(4MLgAvEoh(9JnIwxfG#Xjc)*Hq67^##0(}tB%Cx2=~2mGJVuqpgM z+OQg+nHyCB?6TyRGqy<;mYL7_H#U2W>BG!qilE&Aa~d8J-WooVgP z9Vf=eFy*3{28_n1Hp^=joKQaNBqweEthP)=g9sJh#6u(JRQu^|lPKP`L6e|vW{sRY zRrC+*n`jejYBa657HkWjMrOW}_Y=`ywO{$hqKukA)T>0KUXUZ?W29iD#)o8GJah&4 zklj*)R%S$_fj>iCe?q?|R?$b}(>$ckM!D})F=s=+J&5fT#p2Y)yd!7PfG2c#-P5{; zIn9Ou6JfA_#qgM%`1Dti0-oURu~7_08KOOB*@&82G&tv6)>j-#$>}ulG>1fgn`x)a zW{nRh@gb>`G#usB&7Q*>RGJHtMgN7_O(0&?InnUH?VN@Xq@l&hPZo1h=0rf7_-D+0 z)4y)nXSB&0E`OQ7#u|N^9NoOvAsO1!HF7#sQ2e6C5Ow?_n#}q|Rdh-N(14qZ;)*`v z7DqsMm&FInfr>KubQC-1)g=+ACH0C_QuDDf3`d)brM1J!8B^6T0BD%5FiaYp%PZ?S=AA|c1`Wp5W7%>iW`rwtw9&~W^b3-vbr%K8|nw##D}X)wO&LeD|KlWx?C9gaM>(<_l-ILnQ;qpA3t zaP&gVR4!6uf_?}6L7GBgMuA~^p304YPoxHs3*l%Y(w|~soWg|f#+lisFp}d%!wpcT zxXNffIIb#a4H|(DR6(`TS!|9$W5AgngK{E8d3Ppl!6?0qX!r5yeF%CR{ilhSb5o${ zs-m%|KaQ@38UxbX)lmEDXMs0p^l4=&UY<442r;D|Tom65MjbDuvdUVcQ-Y;V_&_z( z0Pq~u0lf!qTOGN=mB?HRnTbTuarHC}n64lZ{Bw0Q2_@pnHBfbQmb_F0L6s)qcWa_w z!S|_JXahqCpJ;%7LGKZ3L*%sT zJIP3%HQgu;#I;)^PthlNsWp`s3?#2Ti>w0bPd;sj267=ogNW_X5v`ThmdB?7`unDe z^3?_6{Ep}sJ`leTgFAcx&G9})AELVGeNyj3R6)y#KHOxxp#rarC;WXE2-;7wyP%I) zR6y)sAlm)NrmvApgep3ogx;r9w25^}bamB+uC6e4B1uY5)CCc9Z#372ZjhDfXp$Ka z=tz4IfiA~n)^13DsACnCgJGyl449ZSYE0jzV-c zBCwZ9kPs$WHbz8fKAvS~YJhXV&a6jc$Rr0dU59p&SIRRh=tOm-9TS}(!pzDAXTM@o z;mMJl92pE*x{9ScC#Y5FjxsCC$Hs87M-7IRb|e#+O*6sU67<%@FfT}71p?ADivphf zPI{0vSmmD6NAiiQAOzng>XP$(Sv9GUn;1=4tWimXHtK60&qlh%Z}R z4qQ8ip+#QNKZ4H9ygE1I*cX{FTx$pW1YQ)w>@}=mjSQp#dkfsDiV%$#KhIPpXR9(T z5X|6QDNDwb4H~%)tr~?&R5FzzO9pK^AO)6;kgZB^wZNO(GIY6kG@1RphxPt>M_3E( z<5Sy5{%>`JHf8S!$_5Z-sry!CL_2~q4lvpv(JDUjxI)sxA zYKRX8fKKhrxO*$c`*(J+*wRUI;#yBLF+jv?PctuoGx=#|Z)HjgUm`6-rgN}M4G@N( zjg_iY?*v~E9fngW9kr}`YVu}lCLA$qSRDR7_b+_-;^>=44G1L+Aw=z^%?X$ zGwlE7kN4+4uufeto5r~@-dZ&S`Ou<^@1V&d(ss#FmCA_!bQP>4`#d=rnMDmg3IH*RJuy2qxt zc%b z5T&=GIAAmY>wz927}%kdHu)Cq5*}c0AvwT|VngA#u5p{HnEeHYB9{jFSs#G2Cq*)TT(r>|^M`k0c&uGL@b1YZdIa z+-Y<_uN<&6fek5T#6*%$jxp^NP7v^DlpXwoQSP1qg&89y>S-89<5NUpILCBmVD|jx z0z-7**1Ewo7GQ<>-Vw!bDN6&%*u3!*n zVtlNMM|J}qQG|4Fh& z)<`MjVkPz_k5b5~>g<;YrQkPfvRwmgix^yvMNT5rVxuW<0vH)TvJi37V=S-_2b0YW z*{K{Ht-o)|js`N1OwiKe*J{Sn{U96ye7H+9RzxSskImRh44Oc)nzKJaM`5Csa6Gof!E%smfup&;L!iMx&ecHyX z4j&%NN8lwNv27rt?qiU!g$zrQ*_l0#&>7sjD_b2HHzcPkyIBuYV~=myTo%9iBU=}! zuCvhTtN?|H(#Sq_IVoplG{B_*1{~%3QT{e;mVM;tkF2j4!*umP5lem9roh~!8$=nt zDe<`jMeKRB(s@1G#A${U_K-LhOzZIa&`z?8=-#K*G2M?LnBy$ zcE1zj*k~w$!e|AiC3cKwYgmr3GQfrGO5AQd>p^31{CKt^pbQ#c9A!xfDCEX?Hk_WX ztHz3;7z|W;ke=^w#`H6*>fg@o*|pcPEXOAg;UxlAYi%li}wTH1bPjZ`IQnjp_) zKkWWtfcXxv#~zaBt|got5uDWicAgjdN4W91gDmBDI1jP!!1Da{A-1;`+}kJEaR`oJ znWsRDUbjhMg61N8346lG>I>`u4j9lc{Ko1izvllYg}|h+>>8aE(*AE!`2UihIqnvF zjS&ZPAaO!I9f;L9X)u|1m)$R*ES$u1_d+E-BLuEC-SKP)SQU>l9&BdY&yeOJ`65`&C=4PWicvdB@2b|a+ ztIWNotx~kD3+!M`J|1p}0B0S^n$~c>OG~E`*EBM_Cbx+R-NyEf<<7xLk$n9aHyBl; zbDKLpDj)-(hgnL*S5Yi%;Xs+g1EGc{8aEBVb?S39KLklaCL`;L2PtVNq6;I9DPJB% z8MlFnI&dtE;;5SoIt6k#oeq`H1@IZg1>h||cawczst0N;Hsq>^qI^1+liA=@ce6fM z3uc-s4Y-cc0jfiC#6Xm_I8k^~1Fllb|1L3KHssm^P3szR*{}^xUFEBQ{f)SN;PrW9 zE}9czD~2OuJq|prG4}!ZN=>-vR|0J9l8&+iCV_ZEEw4{gooy|>`Oh$tDO=mE<_}9t zQR@^x<6i|L^$0w!N%NJZamU%R~<$DSs(lV?#))s&MrGft;7hT(&Fx z!DBz1gyg>2BJS}9N6*Ccgoro4!PNj5j+Ay5_&(U$fdf5}K-jAtxLTzo(;bo-)uC82 zI()eU_XZ65Hg9rPgj@c|hU1PMxsO2A310jXr6fU5itT)qDghvfXg6}Tz0xzlrO4V<#bR*`J?b9JE$f6Hf_^k|h&$jVTuxJmtI#q1I(D! z5Hm4~Zx&9|h(t!324!c%>`rHNNQmr;;u+LQ^ckoJ4W>t08sej}WtxId4*;C{>!=h& za-eVMGpX@aPf7qy6EriJ7J*-t4k!a9qe(Ph307gq0e=w9|5`32M}a0qb5ydXk>9Vx z=P24(kqpHkzRJ9j38RI8Qh^c_#8C>Qq%6nq<)A9wj^S%O^RQHv0{IxwS~L3eP#VaQ zCPLM4WUh0dK;TFH@zxmLRRO9BC}UcvMTCMBt69I)y%Mfbm3IefmkHD^>*E7WLDL~` zRfTJ&pNWOFJnsu;tjX|P86$U0I$|q;k9wKj7iUWD$ z74ynD@$qW>8&RMDr1%EZf8<<9P;=J>No#;nsbS!oyjz`r3ZV=#p$0z>T>NG&-Vb}3 zi?#T@EILLu)a6qca68oJKLZ!Tw~w4|$ae&Z1$p{$zPFLi6i@RRC=JIy!+!(Jrz6ks z^OleCw}WEz6Q!9{eR*?BS*xed-4&S68obb{4C0$FY;;J3-o=#2leGC zue^DGz8q=Zmp?!cR1hl+kM6_k0>}_HnzBw04&*0s5Zrq(-xQoxgZa0?iSqOJs569r z44hYo@EsuP>>+$6P3fg!if`{>d`Dia2GxU8hVd?PcNkxZ21lp!4Z-P{&c6>xx#|4( z3{*jrk-P(;y|`Tl-vgXCNAuzMYzBWS;N`++NAaHr{3)w+(rEr8#Oz~n+F6g2k@k_w znfxTW=~Ot6pc9FAjph48#P`PW+u4xKC~h%{4~Lo#Y7UZalR#ZMh)7wMEvE9m2UwP$ zPvz&Jc_eBY+%peoNu~hrwE7Gst)2irJA*GD2%uk|&ETI@bZ~-#yyE+hr74{3QWtv} z;?uSUM}{;(zZiz2rZp82^i@K9h{_3IH}Eh;l%g$CVCX=1#8Y3ZV1jxsS$UT9oymi$ z@feaii?3cxUu@f4ej+FplOLAzbr?8JWUt`oLr1{xuH`8k@cT79T~P5FKCdLts(9&I zekGuHU&q4=(Fr>X_$*-VlLBb`!Q?;z|07+3-`K@dB_&-c+7{PGh3vx&pxC4C&&Cbs zp6@zSM)usB zd?h;g_TJ+6b0~El5q9w?m81y5_gbh^y(pA7SfJN{*d{;Gf@4LYo{oOY8HpCsMHE_q zdNrPI6XHNvaLXnPK+)4Vx`M)vHVT2trQAM}g#}H{O;l20VJTP*m{T1>GhIsMmAJHw|*-Anz=pp0sm4%^b z2F|H0JYPN=qPQaw-`hBB0^BGfg^pewN4C|;UDUaum+ypuhw zhHxT0;0;(YL9A#M>s}3^u1*P#Vd~-T^-R$?bFZ-??p{;)*jJQ#1I7_px?v-esgzmC z6ABnke6<88-C#CoCR76+J4^LLsZJa{SCY@02~$x;QJ%Sml`GNH9_!OK(fE{OD=Yho zV&c2a1vhTrT<8O_C#+-T27%aoiLnX9K1I{*3F%fVjM+j>w?*ed3IgdywiF1ExTmGi z9h{m^3$QCE2~P?&=wzPVD#RCqZ&mW+(-0pH+mSq$n+a~xwzaSXMT>G$9xLZ+0{L-G zG?JQMXo+h*C-96GROF!ym2uN%Li7Wb()D?v5uFhxwo_{?wx}M+p>{%ZEn0&sye4!3 z9(8Ga%-eGqMNk3}N*9Wh^>l^nzb;Vqx<`^3squ#J6_k)h%oYGmS$TG`$ zob{#4iQjFi*WxpuK?^S@md}Mc2rb9*7lI5<(ig&GD3_2ggnB&6#pk{jlEC@m8{su@ z^1cxc>Gi<&g<;x@BNM+Brh(*$yp$*yB-}qunB}YqfiV1l+oF*+^VH>}&A3|{jDaSD zh5iOmB3_drj56t!^@wQ;BBr#t!n>6rIk*aFxRIY&pXrx1f%KOYp>e?Vj zz5B1iHl>^;s}A(&#VPX$MZ(`7Q_8sm6n-dsOYxf)@C#Mh#lWG6!uO5|`jVIMlVc2@8*q{c;|CL*)X3qK9DSJ9!+;y@)>ejK(#EU3 z0n-G2vb?qtMEj|{wmnU9t54gLMM>n6+&;uw4f!gM2OLq%zE>MU(td^lPAO1=BW_|AQ-9ILj9Jh_IVT}^viv2ln$ z9jK*8lgz=2Zb#NYt*YBWb$t!NQFd;iw*H?+N*biS3y~J3X$RN8kCZ)kS-DA&lm)8ya5^o~Qu>4Pa{Nx377k1$k~ZYt|2Sz8 zWS(E^rrgTXG@$x|N=HMr{_t-@v@b(po*Al*{+zDCP2)?MXG>jFJ? zuyT!H7wEH}l^+X!Y;9hs!cn|Cygpl70aAOnmZF9}J63Ywb0f7>KSOQb!ah+kL+PKE zIZ7v{F%60`j#8B1b%kJTvM58_fu7uFFVcqL>SMM4{%a#=|5#<@s9I5-7KZj#U9h*l zGftuGp^?b-aay=jq!9EMht9Cc%E);@LyL}rV7YPk$^ZGt**#JFZYh+NZRGqnDT^Ry zmT9Zdfm7N=k75HSajKTea*}hk^eoKC(PbJquo(#soIK569yy>d#=_2q_DZ_5!Kur% zBG7W*L`6EU(0+hO_;l?IxG4NTHk|g%{!fO}7jqunaB?mz!*I%8_(+D+&Bg!ua2mAa zQ4FWQNZJ3F!|8-2AOk9Pr41>vs!z5mQ}))GnCV`3-KA?xmO9MlcbKxVPoEw9?Hxt6~ zun%;V>`-bdWT0W4jj%I42MpQGALxFBX_*RyOFDjz=v}lk!JmJqqlceaaOE+0y1?TD ze#>%0)C2Z>sEhrNPh`MM2?_)i-E3^NN7>1kk96-)VZ^;pbnOwi?c;SO9q2E2`chYm z0mepY>ZVCskz5%{6i_WK@ybBCsG?1ja@!Va{jc9^|K~F#aIgIY-=Y^2U?=b(!RiHi zz0@89uuWxM=O`_dPU;-+g|15(r4WQ9#TF zSiEew&V#?jx((__1@d0H?wK+*mmt>wc~;4L-Xc~$&U%>n3;gm(-AiTZ8~;RRq+Nz? zFw!b#HMTX59ixkAPPsY20WF!KlMZ`*tvc3#C9iU1(m~yXD$OWNhE}6>6-ydFA^r8? zmuioU)rH~Pqjhj~1y>uRqk1k6p=jTfqVWt81vq*96BUCmWa$(=m#ja_e>jxA@IG`D z)wB7h^M`wA4=H~?XpyjBi$wW&GVZ@Y!^7Jk7uulkcDeo^YXj&A^SFteR0qeN(zV9t zu1Pv_W}NO4m0RwctXm7~=-4T`msv$-0_H!cyy0H9E(%$2)O6jX%8C#~@rLa%$j#;P zi58zCya!=HK(b8*D;KBh8nb8>F5k%hZ!&SVE*+tHxOtAQjs;AuR99H9(AD8O8MeNK z?0Dn`#)L=b=s-~<#750Rb;U|vDB>MCx>+Eo={;As_Q88_}NMbWvS;NkIwVES+hR@A^; z9>qi}=3`pYOLx>TOaM1yT7X{#8xycKgXeG7MS`V|2x+K+8kV7#jdaRlMneN?27roh zZq~u^Nj|#|NjE?q2r+3mG$bWw);u-sYyeccD5%m!!MW2F5-E6UvM6CBWg>Y2d?^Xc z1wh54po&Mq?EyRrUP>rL%!N+{aR~q_A_Y}M3T7)6A+M&s0Wc3h#h4EbhNe-8D4^c7 z6!`$CX;Dy3i-PGB6yg&oOfTvMsNW4=3gUJER747@h!o78s3201-sTG69fmIjZ$AJk z9tBlA3ZBYR@Q%$Br9R3wi+b)(C`{rUd@4zt0zgfIf@%^J%$=kpq4*Z!T@B)0D#D|n zibui8QxrT3UMj@94PTlD2~bHl0a7!hpo&Prxsw${3Z5!N>^Wa0v^xMQ9tBlA#doTL zN5Pwgc*#M$zD0O_6N(U10i3a0^ElGTG)DSZC5<8T#Xx7z06(REXduXm)tVn4^v(o8 zrG|nkHIo5-M)&UBb9rUJKtOIF-C2Qj6EyOI&=f!}ttOls^j-phnlJ^`geiD6(2*$! zmvdCSJor-RTn&JVM?n>jf~RIGMWbLscQC0I=tBkYsUYS9pdwOGMWo=8*$N^B>Frmw z&%&32w;cc#kAf;51;^(ocoa-6#5)XMnglvZ_5-9MQcy*t;O#{UA_W%|BA$XTCBtI? zsCX1q@hF(OM8TtAZXw>EVv34od*1yw`}rsgVmift3h)vFZI}+93Z+8;P&1^Uib%oTD-}cvUMkEm6TTF@3;J5o$z{WrlH6n(JFpm0P)%+Yfae0qQE)s_(x4Hp&MyQr z3sYMF0ZM9f0Z>z;pqkneB1--QgRFQhQ1B@@xe$MK5I?sFpMolW9>q7v)aUj>1)YMk z3egMTOUXVT05y9Gs^}EFy(&RLr0~r`#NF_vAZ`ahMWmpLNWrVC6+8-d2fKEGM$Cp) z7?y5j^@Ldu?t{(+AMk}GRZ+!+qnFB%FWgi_fT>2AZW20ERZ)mfFG3*wS#J9V{8 zpeM5TsID@Y4hWdiTLL>E!)e{|;P1fsG3m}%R>effGXcT_ltN#c-bG-Wc66ngDuC70b&?u5uQ{SB7MrlEs-RUty z1zasw{}e>~JXSxG$IYzz3M8U|eh&!e@XZ$b@+hB#$@(ft9*jID9WBhN0t8z+k8+b) z-k28n5NODb>l!75ryrTe10Nvm*T_fff~~ZlTf&9-!DLKJeYPFMc+bD8Z{$YFq}ONq z8Adb^*ZV==1?b57K|jwN%HR2{uii-wV*%qQl1vz?k7vPhgEU-kWxX4zDKveO{$Y*&L#TC#o^FPMe7{Y9 zMn?(Ur`X7wb$gF8fP7-+o>-5G0$cR_p0tqr+whYX)z z@2qF;rv;k`gIO@+NagIcHaJu77paV^qZkCF;qrOHf>v4JR0*HsMJKj#N8m*)-= zY!m2 zdlwn;=7R<|dFhbh69m4C4;z+(^ZgOS6?B($Icl&Qb;{iyopc)aId7;!#?LnBI6UBz zVL7yKo6ClE2vo%FzZtf%`b1qoA0-iAyl$w5Ph2-t!ZXer27oSZlM99y8S=yp!#8>~ zdfq(abVME#jZ+bMk1-x(V8F_}aV%9oYsZxPDgGpNE~j*c=du$)-9fCWc8;5|uo zj8u7){*jj=jUU(zAwu-rdd7}Un08geoB^Rb9M7cgq)vTf42#~w9U2**0B3k3<4K?| zv9a+c>P~)W0;I$InDV%>qZUGE+oB_g;Yp*WKeSB=ND+gU}0 z4`;q%98D&_W}L*KOXP))#>yfHYQBv(Qn}{~Um3&jbDfPpJ@vPRpYf3hH}7Gj`sk5g z80l!3jg53PsCF@fOikRki;;@v9~y~N=xT&p;wph{KR5nGiRZn~jr0Wj(7bSuFaDe$ z9Nx`Hbp@cp{-VGWANtZrr;3Nu^3K1Eibdjw)?m$Vj1jnPZzEN=E{UMB$vOWyf(Q`Q zmgPZ2cBDhXqZ;xP8(i83!YJm0=vj_BK)_ng8|>C@U=yq|G-*@Bg}S z5Qj+XWMeL6g}#twOuK&{R5qoo&1q$rXkQ#$h7NXWu+qW4_~kE8w4d)N!$ezaXc;=# zZ447_=k3ZwTM|KKoM`_sf(Q^)_K7wjPnl?E4L3$trHua?rHNuf)vj>ldZVKxp-Y*k z)|3&(TzZ4!zucM9$CjZp)gJdqI@9z?W#~-CiOOvC-|k0cr6qzqvF<;Zt^Vga(m%t>7k8AQOT}$}Bnw|z zY5Cu@@O9s7Oh?ifZ4_LcXe1-5<8G8jlbHR+xeVM~KXB04R6yH^=eQ9}Icy^pPZ{Ax z`!@2)X(MLPw)y9bO|9q;((H~AQ~vc1t!X;2!IE^Q`tG!5i+$3Wdmnh9@vqwL#X?(nx>A-T`i8RVseqMYnomucA#geO{2D-GH>3t3q0wcdMt+Iigj^lkzukqkE8)W*}2=0X8@Pr&n$3sS$Duc6l zlxYUa!ttX`UiWa3GB4rA&jO@Wq|DIwjHK;k)M(Rp=+9zdh$Z8Hk1@T14`rGn&~|(` z(^OwSP|+pjqyeO9mT4Yi>8q$^d=;f!ER=fBA8-1SXNzmV44Gn@k4}*`Q%%_j+?&%( znPAfu51(n;LfR}e85#1)EYmT1-5?=Nc|t*X*`Y;_QVHRW z*Bp}pVttom8X9ODc>JR1rifCtpzjU_{1wYjYTM`oH~Cacy1cm}`EagjF9R&;7Q|Ew zF=xQIz+ICaCoM4L;a3-%ej|gHnEFcEr>Ibii^pl>%RAte6IuFFN*eaMt|AHBWI9Q$ zC*R#_>I61Q$-6sDV+?4|{KKZPv~=`o6mUWnU&W)Q0hA4@27xGr_DJRNlZ(eplPJ~; zw_x;wai`w{LA<#-xqiYlDkQ-WEDTs-5n&+FdiT3QM?HfuVV;_|V5~l;)a;%+rGy zfOub<7|2T2JoUkRfVzz#Sb?rVAi)=CH@u=ZgBWJaq~FbE%63;fiB!$3c9M$Z#cJmD z)LeziA90KaWJ^Lw0Pg+^wc z17qfh+B;T-9LoDzxa%usBR=-B84L~+S9|jl)L2QO2@MGBS_?Y)1?S$r0d?T=D7nJ2Ld3=}ob$a@c_M2UJ z+CHF1fm?=(iaPE$Q=R(Z`^~rMYFW5CjyYuB6riUe9)H+8EkM-Qkiyy{=ELAjI%?hl z&cA;(&jhFDG4nBSY{$*ih}RRx%}L;_JZ}CxBu(=83A4@w%l1=O%$t+ zKpbQaCVmuaKKm<)WL8nY}~1ySVaW~0<*Zt*NIQn6T_hqnfhXU7z~}RZA1s_ zNMs7@94>{>ikA|}(6(Y@1W~rM6JJK=L{+z6fMO@&+AoUEh(xO5uPE~?dj5(sKlnk7 zgED_2PG~RIA^sP|WlSw4rV>e@mjUSgfcub*)FTA*aTx52+l%WU|D;z$lNQ|6j^g7S zx`p%K6+eO9Z2e9m>@IqcmhmEw;OVT^oyC_Jc#&dcS1}dDu=Gv6ilp7=q6n6(2|TtJ z#&gF(ii=-dUoM=aeIsVE@Cw9ZKZvn#Tjhfv#4IfhjbZX|=DWK2WaW?IAQ9~&FZLJ5 zn83X}Otd3(nDFVM9JESU(j}DXiU~kfIlfzl7>!d$h}u74);{!2B;p(?HlPxV((b+7 zpJj>GghN=v56umGM~Mp`lG*G9oLn`i{Qu9CZ`^1R?9U|OqnY9tkaKC*Wc~o7$-#@q z_`58z#A1fryI4`O1$I#72);dvqsEH8VKhw{D;^UH-&7nsMT~R6JbP)WxDfWb81}rC zalvx&-{99aSJcz}@9QhX>r_#vUA`Ct34E6?egMii<)1mTj#dcX9C?G z1SLYSxdyc#J>1oT;R69?n7rw{z;;o*O>lsdZj&p!X_ke%gwQ7;=my0MuK~!rL9$B6 z*GVGo6YHCF8SuIdd>$ihPKxh3;fRxcTO123XS+KhJX@Lpc4jHbUUnizf1S5OW* z=bKpy4_`H&u#7C}NEC>9uz69;@+~ZTAq#R-w!EZ;EZaP5xl11te6FKqI6Rw+!F`5Q zf7@~#9!((DcP%INaEI#mPc79|E5m!&kt9CR9e}*lUfxe;Ga#;(jRi81INN8L%yRWKL)^MNF=!!ns*ZV9nFb$6eFZTI>5`tQ&zHat)OWzw&;-MGqGoP&++u+<{42*TJzzxdK5prx zg+AWoyk(ymW#h10mRo>Va;Ng)k8WEeK>qf&r7t=&?2hGo)C2!;$3kt{(jKK)X9FcJ z%8My9!Qdn3?pT_z^j(!0B;~o#SbW(n#Rr^**dH!E7KHDHz@K`gdT8vV(H;p5M3OO; zq}nJF>{iQjvlwbQnyRtssEKK6%o?}@O`2#RWB;s%4jyK6sT0vvkzi7V9ea#K<+eP` z>!ldM+XGgLjcQZkcVZ;BD9VXj;MRW7uNNfINtFA8AMJ%oPd);VCIveqrtjf^&Wa zy{QaS<-;frdD`kw9mU8B-NzW{tIjG9ReivsQ1=!(-kw(j`&)GY6k8NF4x_Kr7WOH% z8O{Ou)}Swt?<<_}w{5N%ZBW*Xv2t@CU7tQl@}?K!4Eq zC5#D`{`D)U!7#N{gd^LH&I&ziBDrlWLWnnW4VY zDXI+#nl=lXjv=qqmlo37&81mYpL6b?(!?|WP~H`SCRVnBpjCbU!(|A+ z^8q}Lx~-8E0|J8Ejil&JG;$VKt_Q{3u51NuFpbJ%b=t?`Bd5)B<9`b_dSc zusQA-IBUYB3~zta6Qpv;SA5}+&-wI$>*R3A2S1*w`$|10`I<{?tp_lTfy9c?%po`! zaOxXrzFNo`^2LK%O51>>_nwrjTBaw1Q`<;R(*HT>GC~CZ^t|-KL(VJ&_FKW{dGVF! zr4r99Wj>l^#KCF?wo2oqn^M3`?G4yz7Q8J{uF>tcr7Z!^B-j>$XI1tlgx-5cst=+6 z$qNEZb@uhb7X;uUNJ(9=%ru9*An+#L{giysJoE(tALRco{r9?Zw^?}*_peX^ZwdtU zndy59%IkR%?@4L&z1Pxue;?@mHU6ykm$mHVjSr-kdC09aJ3>b@kzy|qBETB{m-n5a zJGDP~=jp$YEUH|Y$$w{r4Z zDYgE63hiTH4^&U(Eyx#l!Aol;-si~vPVzwts`Bvn--oV$g~r)xeGfalKZ~^bdx;7< zYWyHIf^qfX57IC@I)`r$l;(lfb7_2t#Hqkb1j3-z{$yy-6}#B68I0qDaMPF)N^$UB z34S$2dg;+;OX5@@+U|moj$fqYki@q6d}|rH)cyqAHuJ^u(;^`S-M+~#&_pPx{}x)Wu4YByaM9^lMvGTP~6gZvVDdl#TFq{ zE-migtldDCYv)R>9+Kr^$g)nLJ^yN!(364edH$E0Ex=mIn_TWgQlT*(zP2dn>wbmUN7}wj3#sBf-g{Mm(GZOI$q5YBq?B z*d|5M`KAoHor3}RH?zYZ?~pQ?NgV#-mB=tsVW$Ky)QWic9;sCgi<}&=MNg%WsPk9! zF*4=YA}6CRFwb>gB*sV5XPSC0hL^MVN=7@F*bh4|RpJ81|2f5If2+&Va@7M&`X*Yi zcwMSf#D{t2x|C~r$RJ1q#zHiVeOjpjOVjOG>)*39y_2jC=>UO-r-vz`DM%2d5|KIjB>GFV$O zMU6AfWc@@4H4l^;G!Fy-u4cDV5z)(bYYOEU{_3#4p)%Bba_Rz+Jma+f3*j}NN#S_o zp>P|1!EJ3!B3#yN*3~=oluXaRa7t#S-sFhK+6tlGq)Iuf2Px0{z_9g3f|eNE*N1l@ z`ohiDs|$cvSKiv7!dxy=VZEpU5XVC;$Oj`0>xf)^x`w!pgOJ+5$|ne-DaS64qzq#t3iY`wod1uo?mEgJ*uY#VyN*B z0-ufOu>;($_)shBztpe=Qv!Yj{HU4>x%0Gj0Bxs!t*vj&Vp zY-fE9-6SL0S)XIHH(9Vw2$Cb|d20-@zhnig-@{3*_SSgHA%EvJ>wMhqH7mSKK>%(e z0QR)EtZx7||F)ITIb>-kYd7dpwcoQ=;DBY`?j!4QzGlef@{9!`A43*^g$(%1gumPc zqEu0aVA83Jm4jYPKI&?n%{u6d=z8TXBj6TN6EcmX%sBaLYeVv0H|uvS^x}PASw}ta z)CuYPwRI}zn8Sf(ad=k?G)gI3W;N)P&L*EvE+2>BcDa;Y{!?=2M{A53%_WulSuZjr z7`&>SY&{BMc)TgaS^eR#hJscFQIYxx8c^_;QTPc>IX+02^rkQ9Y$K4LBi=Ht@OSy8EKse&f6K* z-vcq<#`8y6>j$DoV8du@O~7e1+S(Hh#7jq8Kd$_s@+nAm!SqJsNcF|{A_)hUGOaOq z@EB{O60xY^r&6%K02ydvrnM`r3HtILv5vL=R1R*c4_anDC82}l+bz~lIdG3`v-U&i zAnv>aN_-G6+W{?cki5Ion#zKEd5<+k2d{f49<_D^k<7uP)~0UdRTiGwV1x61$ZIU5 z?yuJ2A#>xlsbPF~XV4bzPd>y`0kJGR23GzLSq?K=gPrqV5H^HZm;-djADTwkrc$|om84$4i zEZaRX_+8dARhxgts>B*99$<}+9P?RoJK;WVxh$6*;^dc5O0o&t4+n}h30RkdJQ$kTtL4u-# z3KA6sB|=0%5R|B>s3?f22ngTr%)PtW!~{`!c;5H@{$h5@op#QgIWu$S%o)jU*CxWZ z>38xy2%km!Ay2ZWY7fCLYcr7|ReM;(FBbku)6(r1YL6hsq&l!Y@U% zg(8rLfUK?BM~SAuZ`MkLe=7VIZD%RPPlMm8{UrSPB7WCI8S&Fa{4c_xEx0f6<|`@^gj1tzN;h!(|mbB>Xc_XrlI|Nc0%|N!nY&KNEhNRv-#}d>SS^w`xj`oOw0cWj9oK+OKF+7&Y1xEOe%+ItziaZ2V6Gh{$X8JWM} zsj8P3$8IvyVwj{~UoKJX`Ih9`nM0uYGO~82#UgEB_tedN1kUNYnXRM^ zyj8u-`8EW1H5NfdS*)m=T6Uj(+amQ%N*m89_72A&#W!Ml?yZdX1JjjGy7&p$Jw|yGuOF}OQsa< z%iSjJ$RtVQvNnCa*?yc~^H%0bJ5~!pD2bf;{n{S|2N`-_0=wB>QYP$6aKZ zIyl&o12qeJAgGG7hF=#+S}l^3KsBjq(M;S%blPBX#3k%4D_hKQHi4qjW`20E1M10m zYVzhktNqo*IJi2;wJ*5EaUC9{;y>T!*heqS?HJ)0pJY4$)iKS?(#AP_pv(LI?SSfY zI+ESi{m#whgluJ@3>7AMpLuuZ|$gALr-~|KV|toSO)pKvfm^Jiggn zW)c^#k?AT73jik>iAB}}z;YFb8*vAThSE@@g`v1{A3Gx6J>EgfyLpkn*_@RCRy}vk znV9Psi{?lZ{$_LD0(Ly-t~uXM5Y4&e{=eCrpB75Os_;4Ltga6@W`PX9e!#Ij5$?=9 z2eTQHr%D9TOq=Pb)SAIx8iH)+V~+0s@k&0N=~#_^pY-^j4RbNL&haqsHOpb46Po@7 zj?*;E`#;YtCt9 z{Mk1ht8CIktk1iSP6>nQ;!Zn-<-hB21w`N~h-$(nVVe~VN~Gtg@y|Y(efqBB5eN-# zea~?Vy}nhl+3_Yyd92vc6QP5}jvP4E-Y17Qd*6{FORux`TOCaid*4>{(FZ+-208ge_C^F zjyX3q&-~HRnI^Z=pJ;mEmZSPKGX2*orjd{F0m(6qjDs`wm|#kxDQ7c-#9n%f%^+6o zuv8_z#?2sqR7JtcF*bt?`Ay6qwT}PI=EP=@bJHCA3Bj_bocNo~iOnGAraAYXbd1$k z4Can$Cf4A%!;fkIuXkE(COJ3F+WWhMfwSFx%JB+uxcUjsTWx1J0(*LcG0UG5!e?5# zv&Z?Xt!;*r=9Z%w&OhTUvB~9}fXO%7osXHp7JECLom&p3J23Yt7;t8tpW<1)7(bR+W{D3OHj`Q|YD zv}x#WUhtIjMoUz<@vmo{chTeNWKEWZxRd<tq|Ptrt^6kP!l&eHz3&QZD&gne8+heVn28XbUT>U-so%$ zr_V;`PjI?!at=q*b(@?^=@rr;o1OQPyZ3!(DXk#a?Q$NV739;OI-j$_?f#|nSu?Cm z{C>b$KS3&Hbq}MkVm{!oa}a9cZ~f>jZ3;8TOKQ0W+908@)pre&;ojEJRfi-Nk2iMV z=_jZVUE&fpYOlQ1_3;I){{UBaUh58*Y+*UKyPlT|E&SM>t`V~I0aGTszJ$}|Ue~8= zYm-obclwv>pv*3~)Ab@-&@>cazuoC-%x@j-Y9&iM_0&6A`UqDY{?a(t5HnwNzpIV~ z@{aY3TvK@Ohh6tctRyp-!`n=7-6XMYV^MKvvTKFRKAhw_&WrP0r;{PJfmq{6vQ)y6 z%PRBVmbv;{_=Y7eacEtYcFq^iNa7J%T}h^jQ{=d-A!mNO@Cik(XRgtBpw|mW%)00%Ns+4`jTM<-j zwdIiz*C0LKZmnWF_?PzJJh0Z)H}tfoTh2nzkHKnW~*+&8eDm z_|O!eh)bmiOBg>+^4W*6Yj(S={DqHP4@vT~R@Ug}Y6{D1qIg)_lwb;*A_sf$?{>S| zTjB++d2#R*TVMKqAioE5(~z*zZUHnw!i<>81P4Cw~e;HpW6Pk=GgZ4+|;}}!QG9vzqVvI zZGSIJc6X9v!c~c-C%YkBWwTS=IdImcQX=+Qs+;z{{nOkvu#FP!IGeq1?7~!R?`zTK z(^9;0WvRG%r}8^>#FL{JHCd;0_v>g=Vurg$clY_a@r&=J?%HXwO@fI(lr+t5bUw zq!K4)I$d4A(_7t56QOay7FGLXeX6@}Jb$$f$Z@}fM!0MI>7b77dC$$DK3Kzzo8k-j z$xGc5jPCGL9o^e4XMp?hT_#+d#&JfX;Aa06%j3GZyPv<>MqlH;6IlNK8uyHfC$;Y` zDtpgRJLryGzo02BcIk}0*wsyIzB8I@XU)2~oBe5`E#2JRfo`?C`_V+#V4XA4s|@&O z8%FoN2eUVNxi7+|<7h88HW$;F($8HN`|zv#xx-dzE+0AAohwUo*^fiqufkb=v-=gx zTuHfzt-RTt&F{a(eYbJbU+%&hJ>Yh+L$|p5@sYQ=??NuVf0$cwz_mu)6Dxm}k1l8w z%n(CE7?s;M!+i%VCG#$G5Lb!KxHP)b0UaxBiG`gT!!DUsNdpQIORDTt5PM^;dvPUZ z>_mR5(aEOGbBnV@q~@>Ab04(mJW09|uioS)r@Gj%IqnPj4+WSA`7MR+S`xc=rTa%d zb(Q-XdMoGCH{9RTrmlFSdj*|@#!l_o^ShzGZM;nXKlHes|GLL*wqj3sqSQSZ&O@KM zTT37Cw?1JfE+mFoblkm{ zY+FAedGwRuCV#p_v5~N*s@s-vcM|$1cw8u1*tWac=AqsyyJ8vJON@{`Utw@tp$A>b zahDcj*fwn<=Jv$O=k~Z-HAl2oV%Q&8Jn`>&K&@$U;_mrJNNPizou|?v!X;$k@51sbElIh98y6`V|8nZh*m9Cu6c8v2y4$sH6 zFv_bE2E36n2T{ z@xQlD8PLW<>lEXqF9F^1HUc{1fuk67U$pTwN6H`fgovRdC9zh+Ey{6B`(ys8_$i`mjSpqFEwX-Li)+?>Lc;+X<2%byZk0-$P zbph$5JRr}-A}3KvhYh@&yLxhaj_v$cg4+~(-tVR zuNda(mmqz}Qt$HoES==?-JULzw2gPW$J5#hcj{&;yg}&E;9vT!=XxWGyT0>WCPlv^;Ny7*Jy3dNe9&RfMhWhP zM?7M=q@5De?hU6rL>rjrRX*#KhaM>tPr3_}qR<`}Rzzc#g3GL2yfi&)XEZIcjF+=e zjIe0DUe4lGet~(`TDB~*lbdhL((RVwIdGEIK@{Y#CPQ60-froHYA})fwJqyqV{IzO z+sqZVx3D&?&`K<|X>BU(!tgiJv+k8x$K&4*bm~diJ`rj>vG+va|Nv zvHLi3LDs57q~CgR)_Oj;aaKNAW>thT`#F^=e$%mI@ZAlQqKI@fiUHhy6f4fZ< ztTc*T)%nNmvv?+Q&A2WLhFp2^by=4uVvuF_L+@e>GNyml&53Y7za{H_5~&RtpY;_A zzbcZoDjm_MrexieCavOw=Vd)1ON>cRX8jw)Ip)bMdr*3T=dI1s%(zXlWqsC;1Zfvr zvN5YRocA|o&6g&zp_{TUfwOE=)&LwOCcT^0!zR7J`fkmdj4TJXX7x>wzTq7{%4#B^ zhB3RcK9ZzD-s9t}6=aoKD$NR5;D+{R;ovfzH~BitN|wUTgv z$jQ<-3_(BN^<&m`R_QBV|JN*gBHXs8vqq9(+QRJYr&8cvUnBc_3m$*G?85AO$Xed3 z4YK>DgQsM*$?j=}J4(x*Oz|f>WG5M>;bIrDeS7Q8wEwx0WT%&txhdcrl? zeaVp1zFyhS(a3@uWCKQL+xW^p+0f|47VOb%CtLq;b~;ZQk==qcc%m`M90{)!k98sq zN1A~IH9pr%z%`d^W@O(_MN)G9)nnNM9kAWracTDF2|!t$mDx4%5F>4tWm21Hv@P4m z?|B6Zl_+8CYuS4oaC>geej6q5;0M{sHM=Ps>#^+qSEOr;3Wf5$y_z-&c181d(d~dF;eP;r z$?z}#Sc2g*J$@eiX80dL`pNiv6sAF*JCAkcN*SaN>C>n$Sc`C~~OC2g`fgnswzX4&@dep_oPAf_+a8m6{T%Q9 z#P%Y=(y&OdO43Rx1$4soD*@0AH$J@~X}>SkKSiUqNZPV@O(^f$dfpRIV((ht>$ZGi zws&HUdWAhK!&W_k%{PZ@vVsk&g=ILxy?I&#?{p&31r5C|%Nd9Mv61&CbG!;d|EAvB z8K2=|1v)CG!Z53;_jWHE*3~-_*PPUAy$*h;tGAh?2f}Q`jot)yO?PjrauKV$d%Nlp zE*9zGb+YusMKzlUH9Y+wSUD&5AwFNap!Jtx>ts%J=8akj{q5iJ^wt?dpZqCe;)6hBEcP1=*5G;TiD(Q zy#wL2c?g~UIdA!}Hd*+Ri^Y>|J01%;SFcZV^v& zz(O0;neZ!~=IHZ_H)6#z5PMH}e=}pTzVo#AX6g7#m-yOSAqthW!!ljEwBesw7lrbf zR-exb+f#+fK0KA%zNt?kyW256pyADY{Sl6hza7ndca}@gt%dK_xCHF27QO@0Jih#5 z-$^F=m~Cx+c`zm0zn$+VSeRu!+M}5H z{J!?S&aiaPH+1m5nIz5T4|nxlB=K%_e3#SPBdngUh6J6Gb@hG!mgofvI^)C(6m1*& z21?k#ENtZS`kth@ur zul0?IZ{=0j`MShIvE({mB>sE7>wPuizxTPmeE!d__j%*LTW|0Uj?2&Qyumk;mOx+h z_U)JQ_@+L-tCFMX$((xd7T<5N-arIXZ}WL!61MeizQ-v(+HGvlP~VWajCkwU7eczB z!+dSZseQe0yKi7L9hsO7+~Ldl0}t+chwsYN_*6?q`*P!I!@{;fe7H zy$_aypD%dOH#b$9&RWh81w^TVZFjJIA=;umyg zF<*`@@I|LrzNWyp!kAerNjYvwEG2twi4VKdML?y#gE(_?j^vvX(@%lEFk~eq83xEt z@#!mkchL*$*44glDNz8Zrv|L|xzGdmuJ;Xyhm@5T`D&DHZ5=%DhVR)lzUNB}QoeDE z?`Q0}*}4yXFTfeO-8Tw5@XxpVT(qw^w$t|^y?ju-+cyNxMIZYH>!BR}>c_rs=!P?L zD15_S-;D{_e+2jY)=9kdE8or(3@LuZmza=>>Et_8iVZpf_SSs!Z@vk5-r%LH{evY5 z6OiPOfEF9c{tMvrmi=@YlLS8Wl0DrnmD_3im&NHjARyHAVmDW{iBG57+v4)h)9G~g z)ub(lXYJE;wO(5S@22M=55R;5Z{dt&@~(lGh#0I(7!aEDG))9yLuI59wpX-ci(es8 zZnOu#NC*?F)yzWS0k>=QbCR|eg_T{TcCSO;T39u zloCbT=UBB3XxgroDcVs4KSWI1G9B-G^)HivY(&wQ z!l!T{c!`1D7HFPUutdi@KB7K~F^(b^0`Dl3@E*%SpAldSt$s(-xWtHyB_?7YmI90y z6`3G+!hQdO2^m6zS<9c0f$O$rPXsac9b|14BL(-*Pi2}+nluVes8o3|ovx*$cKz8T zO*$2nEijEvyC#%H%}N|*UvBYINRAkBVGJhmu@iMn~7P0x$`^8mT<^6WL-CkL> z(w|n#hTHt12rj>u0axX%c)AmRHnmuA^H|ajJV49=Vm&O*iWFdQrT`Mq&Mt$NKAN;9 z_yiE3iTvKDI{bUX;&or$D@e4N&aj&9g_SXrHY(p)U;tj2EQQLe^QE9 zlrDf3fySw*5F>{QnT>GrH;Kbw??AU7fC#P-r3wE5Ls8JA!AHsP4ScBKu&@bSXf{&czwG3r zV<~HXUV8f(Pp8L47;wmA^+udjl2B_1DR+E)IAT1#{yuo z7r`tjjA5Mvg_WVu@c%L7zn1q1`a|Vt`)`-kuT5N&3(7Ycyb=+n<^X23fd_3Xh@j1?yev%hE7U>H|lU>`)4S`B}7);-66rH2yAxa>S7j>r)Z<%hRN%SVi$Qh`&^ zOugK9nOf6dGZprA^|HynF3P_BTohZ|1F0GoQ`$t7e&oFe7Yhb932hrt(|`B5sG$ZM zUdunO`FnWp!rlnfL033HitV7A2~x~QwV&^TWdP!rK+&>z6d^z;YF*9f0E7uaOAvi~ zZ9lZD`J&qX*%EcD0#w=Q_Ku7SU@YQ2*5yL~Rn^58tQ65Vayt}{>c9cQChfDYFqV8s zIFPNo&|j+oX(kFIBxFZTn~g4^^`ti6=o^|U7L%V)g|F*!Vhr zvg!I&9lsV&MStGQc*uy_Y=4(cuj^kQ)bXUP2VP{V3{P-qj})1RL%fW7@2IEuN+N(k z*<~}TsHlOzwE~qrYB|Dj#AMQPXox0KHTezw4IBn1IEvEiQrV|bHmmQylY0E0m0crE z`w*oHOl?A`&o}Uo_~)f!XqK_8QjEZz4gJF_Wi7SJvnjj|70;$51^+-P_AmI_i~QsM zQ3(tsT-yP~2~$o7!Dufb%pZnF@ZzZ{!e5>jBN-(sf(e!j$zvEz<5xHJUuc%{*nKVh zUt(|A?_&R@65K^C{X?9Q!;ed{BO;B*xG9zJ)L4#K!dO&Xa-x5P+5~y1_W6D~ zI&X$$p3UBfEKa4O*VRl)lB!}lFo}heSi~o`CyLLVg1<;}xrCk@1L+h?dZ99|Sm}jp z5mOgSM1ftjp{fI#h*?9`G&re4)eJb$-B9g{jaE+PcABh;fu@-1ndVDap*0+qZj;RT z55i+bN|VVZOk!OVj4YcvqK%2QQJ=o0NF=0{(4q{5qJ1BsJ>(WkDYfA%hD6Jx?UuzP zgZDA!NNA8rcp$PdX}Ol6s>JNw{dYtxM#E7!0Y$ZeF_=(e7(+e*T3q7wPMB*)5F7KM zYO-QhO=jQ`W|*`Fw0*=PoVZEy6=_nc41pWG9gxoi8Cf`4iy#`{5YHGpYADrB0iO!? zqw03P5|rdlX=D#R8B=a_F_0t{1Ca##MKG0?2#Elp|2}XWJ3>ix8x8l-n#rjG2gGX# z+vvR{DyIWgnS=>88HhNUY@#hT%+E)W2aDIKpaLaRNv&&gpiV$*_E8-4`W3U!e!zm} z0VVc`Y9=>TSX@JOsFPMj$;Q4wF4sZ0d1(UM1`-{>7j4VXMzF^1L@f!_VVbE6PLrqz zo!%->MV-1oANfZrkwmS8e2I!($*{M$6BP*R0~jhW5PEV5sg3=8|_b{uXWhNc$1I-1q~1aFys@}WQ-uT=vu!kA}RuwuvbQB z&vX%FP%6NWl3Wjq`CMs~mT<36wO~^~Bu%!qFlSjY^sLxLD3%ov7Y{;uXoZ%#DE0AXiTd3bCi-zvfqz)iCAm15=Lb1L?ggyc~PECT&LxaRLcLdMD zDX8Bdjn)VO-%a4)&Up(W4ftA`+M>)R*s}mDRDl_!VbQ4qQ3h3r`l)anNZE3zTyRD)Wr{lMQVjD~x7B6#^lF3J5Jym~bxm!l%Yg>i<$zvq@iLolE=>m*0SZWFFRNqtaArTdTVXCVo5W3wej?| zc0E&VZH6=oW0PL_h%ZQkrLafQm1igm{8k%`@t2}k#`@K=)zWL4cU!W(w`ehO8k0Jq%!hCN1N;nR^K|Hc^3O3>U)c5 zi;3h0D8-CY@Vuse)kjCADO?Syt7*-yz)#&PMiHqcz%bis&`Bz|%4zgwB3g+KCT>D3 zgGLodgoxd&9co0xo@AeD)vHLND)gjOkLoNVbt0K?H9^btE(f|46rvqGYPSC>hru;z z)PG?^Z0*R(f}mauRrkHVFcOk{gLJyXiSU3! zu|qE;2AU?sIxm+*bm?3iNdHWB?6;4Ro|+EQQhGsR~oa z23&pgMgnd?1+#fN1HwcXmPPLq3xEm0c~O36v=k>36~-W2L%tCm}89;M|f!@^0RB>8Gg_(^O_Z@)X+ zs+|sv0v!=Okw{l?2{>nPZRHG_pos)@*z78S^XnG~q^XE%<0NVk7vCK|;2i%N_VXtRmgOtai+zdl8? zqL?(r#H9J@SSX3|^p>Et(K$LrpPy+esyO4M+h4?+R(5-9aG%SuN>PX`O^O4|4I@;= zqcO&!h2}bdQ7i$-6yhaVWkor^+zuF$hNU;NrkEtzY(Y*9>o1@eo_Wh8yDc@PT->X( zDK6QFV-x!N9oHDi_lZx5B71aF2cCVvV=CcJ0>glGuP6m;3EEEOTEuWe6Rh@u;BCg- zVw&}k-x-mS$Odr87Nfr4z??5cRdB#G3|cmWjujJ9Vs-#=V^}NZ=#*kJrWCR3H)&r= zCsWWHwD_1rTmJXwy!ZnOnh1aU2~>%>xqK2B{5`d`$;9sM=XXG^fyCb;4$IV5(gE`1 ze)b)d_V$Z(CX=Zx{@NvfR2^AzTmGIRZ^s8(2|O|rr4>^E6XxlMvzyBsqFIn5H)1js zXmB-TS&a`=PoZ#|$;&AhwP#`^H@E0CWCTm-3m9a9kz&4);^YHJ^#&5mG!o<+3BbEV z5yvP&5fV%^666{QPD*-$2PYa;9Hoc}_fMRZUr>}QHJ4@(Rw88)avq_KV8H@v3Hhd=nu(V3T0 zr@miYdC4dDmnVO;xRt5sT+O+;ujvK^#kXzMXsb9g4)4^rAsQMq6lYss?- zL**zuzo&M_*rz`kfAk-4upJ**m%;ulKa6yvqBWEQl~1Hb7&WAP zyor)-LDI4~$|9)7;7{gVl!o9n+=Ju-MF)i2(zKskoykSyQVJYR1_HDfH4v17 z51>%7psPy@IxJl=!-dUS8r|ED&R}t~tE?r{icl;iTPS1;$lOqohzwgHvLRMzSbAaF zw_v7AxRZA9Rx$HMkcPHU63uy(1FIeUM?3EpiWyrO8v&9AXTmAd1twE-6J7+@PX4a@ zu?*J>CL7?OsM^$OqpijasgOoF+AK?LA{l_7)L5n&U6O^Z7OnO$y~d$Bx)d=QbUNBO00CG}hV$?#Qv;K! zl_{}8lMeNMY7WOj!i5LV_hR^Q*8Pw5&JH(84yn^5rEXvWC#6;3hfK9 zrmu_o(MTG|wNV2tq6q@*-UJ9FmmoHfP>v1AgkB|{0h9v@EFcDySj`#?AS+Bm#^_c7 z6)jEx9a}ZhkFz$Nz(j>gf(`}r{b+c^Mn5Y3!>~p}Jvs;|A(f6b001qqu`#910tn~= za{<;BspPFKF9Tn6f_DJ6B8U%l@G^$>E@N|l6TWa#<=|oOR&6*|{sw@e$_fCkR0XHQ zEKcxcz))~OdDg#gXBY0u?#wfEp|KLsk19-FJz-tf#FXs&4<&=R} zw<35nNBtMUTUZXfH1yundJNWKU^+4I8lC~XhGpQjs0g0tzYE^s>aj^lkf#R#o~|wk z7Fry2O;^MKY<&g*TbBWNSw#Tt|J~8I*Jfvg;~AjpSO!(sicp1!br}l` zx$EEKng4*NlvL=p5W4Maz1yevqux_o`h3RonbvyrjbA36+0y{q1+j@+cp8pjCZ}=I&8(s$9 z-4(&B_TObJtCv^kwQ7KH!*U7Y4qB&R5RzD$7AKfG?>hsG_m#nzi)B&#)ZRZqgCWuX zB55wqmnzQfFB(x|a-UWP;zXg8QN`+IqErTC-XDSd?~cEp<2Ej`zRE=J%_{>f|4g9e z$ALDx0%!@E%jmxANQLV^GX|TVVQIFlMfu6W1sdJgLUd^wTXl=qfy4MJx@>+NTv+dx zqf5MCevZh}RmqC_ES8)POz;8^`nJYp3s^Pb@ff$u|sH=)mSsVu? zG$)Kv`QP8Fukgh>)EtTN&@akp6`FapJ&$f@cg4X`3Nf1fBMGlM+LtCNm_Sq1G{~!n zDCwUe;(%xeT!%LOK8*6p#ULmi2_g_*q=_`xj+YmMKvbbU^r3~sAPHq+kc2WZNCLzl zFd%agqz_YavDY@?#fgisPSgVskQEeJ=~Nw3vt%v5$ojjoKz~Kfy_a2p=%QrDoDRg?Nq5KEtwoAViL;+1yTptPgS$T)l)W z1NvGJq1mv&fMyYn6BSzunh7xuKKkrqHHmTnW07`HJ&7tDgrP)Y(&`~Ssgp=CpNwL~ z313W%m`KQmEGy+2tXV3G*vf=hB_!E_L}!yBJ}ed@IgnyY(}#${Rlx{77aJAtK;&2^ z(;>ouz*D3msnlUJ{g#T~wYXxq(MJ9Ip{%oUh&wjPL^UEIu<{6D4XML6`~5h<*1m^8 zYnDtBKAfvVB4nhDXy1Niq7P{nI%$UR)~uzFo)wNqp@jo6C@Gi`w177mB3!6ugp&yI z0=EKJ@EN#*Pfo*~bjW_7-7=KKpjIsz_w9{BAg+rRVieKDz;~<+4cI{`bbM}sFd4cj z5{~U{@yDxa;&_#0Fof2mmyTnkyXR!Ooz5g>Tr}< z))IJYt434A&>+Z3E)P1Rx3E-5pP_uP`DJU32%UP65L~D%AodCx4Afqrf}kbASpw8o zsYU=a5&;as;Y20Pl!SVwo|<$;8kTNa=@js|TpE|f ztVx&ru#1RlQ^ER1TNwPiX!h@96-VBHR7^O0Lha~a3 z(iG$faheDTgg@5h0ly8WF=gmmL)b+B7LtpRvfAKF7%8t&(SoCMmCHq1U)jmX^*ZS&b1YdhWpTd_AL1r$mZV_!fZ zVYx0^5Q{4maWY|4CXAX=Qi)uV|0y7ieLunPtwqep-o)O5ju@yB+Ia1o-=X;d4c7-G zdsA)4+h%(coKV)k-yeuPWx*^*N}Q6GjAK>NR_b+{8_*^STkY4;J-;)-Vt^vvKC`#; zRtgB-5~c3LEF0@ls}|Yypoo*}nhaSeaC1-qX|-QMibSnRN2#vqJHj1?5}%vE9yMTk9s0%@Wx2UQupm+16OOfZgB{s~l~nhH?8R8CFj9m%$qo+(+R}KL36AfxeM9`jBS0 z-TsJv)=Yi)=VE(;sbd*TF|mCVrp*6IefUX*KFkEX-&YsliayjO_d*0!mFS+}HAMF` z4x^%bsFv#dGF}c9of-awW-F3xiPXx{%X@S;`aW&6a8UWw#OW!&g&g!=?pRJc!|l?nIt-o&N>n}PDPidDOZL=1mi zkXc$r;&!z(t5^(;lIU&;Iu~L&gqno>A$~ao-5OFhj%k$Wy=jd~AH)joxFKdU7%)v+ z6Y?c7iHh@#$k|B!3FfHOpI|PN`s*-Tw7~J93v(du= zI?g#)oH!EQvXrCdv*5(%;-~;1N95>P0rhj)SwR%$c+vT}f;k>!DAbbzB^H=x1M|5( zIiMbo6vcJHMiPqB?)&7XIbr zjzUmqaOkM+qmWTzJfm2_q00%5qe5Y0k1cA8mk&c^@mCHK2#)AM0>M!#;l>i=?yglaaf1QqG~SZut7d=CN%I!Dmu5q3iyLCTYQj6yLHQn*AoLwu&oxwx!k0@U_< za7JOG`!hNCjC)bI^oR>KbmdkNw`$TXskRiYP{P@P3{B-tq^S&!1hw}*aEwa?Jr%jq zs}>!R1SLY%4<4vz(=`ZiUy;3lTvP+jEW((3WKw^gDdJm6n3rU_0O0DH3tv=?ABzuB zG2Lsb6s4!?mC^m?GSzE4-TA`RFme5vWX9t9bL`TyS&`DDdKz87w*N%8$HlE> zYOlBpZb2tQphxQj$fj{c58^{Me3m~Pp*v(Y``UDIX;~))K#@q)Adr6#(14|R>;whO z5wdEr{Sd7IFNs|)rt^`_R3$DM<5C&s`REag87QT@(2!kjKmvlYh+K2S7>+j~d4hg# z4GpNQqL)K|~6PqHshM3eCp z$(#%idzSfqk?3hFs-e?X9Kz8}K|5|h!$}RBpp|qLw2pC+&D@T%DzS5>WV#KXtW8{J z)3$S)y<6Cb0L|lc%>Fo3=}`h8rSj+$1>#A_D521ctFFm-IS2NKQ*Z#LSAdbM$@k(j zQeBO^YJXB=?way7#ucy2@DqW{iHXfjpbY9&*}jGzq)LjTKI%LZE1K<3iInR%&~dEa z%+zm{P^IWMa6Zv*Wpo+qwkin@Vo3$ka+CJS2I&G_w;$Kaubku0Zdz40l1a%*dUC4X z{xkMuJZ-{IKy;*lG7a+pRnaAlI*=s|D|3t}?PsLPL<}dLD7(ysPP;(5)?%oA847_3 zfIo~TaOvfwD=!$XAaWXJ#9?vNAebx&NibP3dY#GQ>LM;!g1yGBMw;xnUR$0IP{paW zBWQbhdj>GxFPGUg5Lfz5xc!J*t1u>m;SIrpnM$Hd&jNH2qD#+3ClMBk_mocD%7*oq zUy>j*$M8Z^!EbOxZ2!zgY=SI$fUa(y=lA67#O3e!<{rYKI1(jlr4mwQkS~!n`dan! zHS_#;`lOF|9qu1XHglJ)@i#HU;L|6s`O_uDA6)CtCHMB%{S9Pk4*TH)|HXV~kzX-O zU-B;R`cFuRTv&q0y6^baKSVyTxm+YiO1zsehohLzlv5OU*N1-G#-Gdb_xpWp+?RfT z)E_SO&w~GzQhyIU>SEmqu$w;fKO0RImxB-b++UC0yh2g2v|sP{kFG53OJDk(=1%Dt zW|hA_^xbO`&gAisnHjbLFmnE2zYrDz!k97Xb}_wOweq+_ypZv`gN$_2JFj?S)?z#o zf|HKR)1cw51zc?EH~!}T(RyKqEm|)d@vZ-f>?(m|>OsFFKn8}Qh69BmM_7>4PhSWw z={-Ba^;u6_99+>?@G8P}uB!ql(W(fPY`*!Re=J@%qaOCMK}Vv*;^lLW_)~4t)9mSE z{_k|>ZGOXX|MWyy1^z}3{9==q^3tS0muj#^-@q5RM3SCkxBCMf;H>rs+DgyyqyE4Z zN#5tc8ZbiSsHF)UpU0HQy56_Xb#yX+y#p7I6Q0f_bG_E#&Z~MS@YiKnthtQO6#f5hm{DBwu z%yqwZbWJ+Dtz+Q6YI?L(7R`@z48Sh+YSyW9V21HIIqvhp&VhW{h);}*pVB3;R!aND zoPyP>35F|^?Z2?=y9QvIwai@9_T|QN>EwY;tz(5LDK$)TJFRGWTq*?gN7c!LR0ol& z5v7{BA}$pIda6k)(zPdHVdz)cODQM^qVya`m#0U{sz*rAa$q^^jD94EEEI_>h)TJc zDp?)h6a+*L#7}xDu5tv7%Hcuo!>iM^cXmrqtT_qaI^iosC5RX1WvLt_Llk-;g4J(=?6zL2hc@ioQe!S`JwcxJ=% zI_V`Xf#>13DOCZ`2WV;fB;){g#1Qs&NP-sPu{W~}d%K>G!yW?m$Z#w+HS$phfL5L$ z#H@v933)cbb3b{u!!wyYrSSZg1$rfX|-?@V}$b#DQ@2Xyapc=O*&wnqTY8u$z0hj#`RA8j%O@8a;M4yqk3I5_os%-a>c}=-##9 zKiV6~+xS1a$0@2PKq( z)QjI1&>VaoMwSog{$q%q_>PF4xDtrez4`DK>)!eB9@f3f;LY18(yoTLQ1=$WTcmr7 z;Vsdzn_6TWnQtr*E1TqTGQSvRZLi-O4)UUiyO1flFATd_x)|&!L^g_#354izSP973y ziKi#n!h|%HU3hyS#H_akZqkz{#MO`*W=3!vA0G978`2^?0%wV2xs+?Ts&`NV7y#Ypr~B)1oG_{tI#?GS>iAk z3tHaru0V$bJ#oCrbp>XA>492OuA;0uT&9Eas1o3(TemT-Q$wxa?In-OeUX475B`GST2_%=6%%B;#mivZOar*oTV} zt;IkcEV>cu@Zb?P4*RC!A-HcJ3N$C0`{l7fE!OFg06njZ7vdW8M;-}y>BD`q0yWut zkBSd?VohbmvjUkcIWO=wK9=MK=%r+oG=vSG61WEbzHzF8%5%lHQJZyk+RfoP+^go5Hb82O zEi<6G+5qGt z_4AMEH_i?8LA-z_w^C>ZvFGLm@{nfX4Izh__)wSmf!Y+txaPCx2e1kMjXm{3;8I@e z$-rj`&KE4g#Nq}>_8^VWHb7N+6(6xIa5bf~FAv)MpQE3b+AQ|KdPfws%wDdT9!4{BGc1a0b2~xB$+h z?+1FbhVKPhz#rNY@S96OA#Jt)kd0;PGe#aMqZi#qotmr$8^j!AP!N9|C z(!UQ(mU8)=?*k(wxJicsKT3(>iGcYNGPwL>V63$)_|Pwbc`{iw|1B^eNjiqt36wsp z@a@n|?COM|2NCURC--6N?{q<2-6Rw)7n|`f#I8*ZgxNT&NSmJ)=*KSH6v~N1dqt_LBc#5~sg7+lgCB^4E1_zj{We5x-IS!yGX`2d~&~F16$mCPAq9iFgw+Lm+Gb0i=!_XJ2;}>m09{#!8y`9 zY}r-8HqyuJ>#Ksbq>os})xoCxn_GhQ=$OHCTM);`+inSZSifPxuUPY8!CL&b;laTc zmw3kUr#G?hog`^bN!sqUX1vV!*~nlMygun31wNR=S_}(T=UqnyU$*h;_XYb(APP$r zoamtkCGA3@KnqczT)7k4V_h-;rU_xEl$wsaVCBbjJh;5F(_kH1LL5AnA zMy`$tJ|f}8?7-qs4OTKXxXsb}g)JPlXi*!uCo&iHQcj|D)zNbuhC*3|Qk7vG159beKc0+)g| z1vx!&Yv)7W@6q5u183ExU3`CjaHr)A!{+k>2~X3W(_yovi%fJ<)v);w)cEAX(lw_w5)9(yBx!MtEI8~gX1Ue-_?=W?4@FUm9bf65>;dmH! zE``A}`$sHoUNFGlUl_bmX8jii?+}w9ET^%4%Y!$vPf{HoKKH5MwH8)?N$_{x^x5D8 z68qtq;1yCM)^K^SKCinxC|RY;*r8{Fm$FNqL7vjWU?;X^RnRAW$G=?_Y$kEr>Y&}m zlo!Dg-LD28Vk^2R3B3E-;B=YIe>FG(?F+sZyk8p37QPl7OQE&kr-Rw}^}zuw&?A)0 zC$0~^W09J&TQ-{O+b%G-Xd_$Lx^F_&*@ErCQCw-HRF__UC-|#Fn#}6wnf-7&=b0Px zjvoh0t!G&6lsnIA^kwiLEg|{(PNDEwuO9ztZERKNP(9}PBG~l|@ReJyo{JiNEc@!v zE9b4oJzoa@b$08=W9MM~`1@DERrE0U$|J$Ha1I>_=C@8KJL-5uyRo>~r!8)zHHiAZ z=Vq}YqpL%&EHd5I^qSW1`#c7p5CY>PkSL*%UN(4&&Hk>R7l+WSIJVvhgJ7y43~ z#5VddMmDl<{h`MYIX)2TAmy{S1EG7^Q^8PEBM(0j3{8}fI#&^?7b~HCtYt7XjNPw> zZZjBESN5$Mx{|dHhidVC;ZUks8p96O2;GO9ll-Qdq2vT(M(nQloZgK_U^|R}DE993 zBJq8eh_0M=A2L~*qim2u1V*_w~=rU}0wjt4b z*N3i&kQQI%vX0jlS~T3v)<+N0pMPVmrB?j<3rhUNh<6AXwc0Uj1L`1J{y?N9jX0Si2HJeuC`+jduVtl8&3YL zkcTZB6HH@oJR17h5DW0Vd7&r&uMY2;s#nbl58G#;785#4;NLwL@+JNs2U0qu z^SwiQ2Q%=!Oy2J0&^qef^C(U^?*beS0ZvDmx7!dpYGq#)g^o$3eBT?PR7pC_555_? zR^qRJ6G}|yP2LOLDRr#+H0qI{){ItI^sr`ChY)ch;Aw+}BDW9$D_hL8$RTZRtg>Pv z;A@IQJcH)XxwKI`r!YReHPqujUnBO1QLKvnVIu4HJ|wlvOF{*G zY4MDwP!pny>vBui(g!SBy72`?X!`nl*>>Dg)A3OGLi!Ku==C26skR|)h%RG!^0rVl zo1+w0?Q|(Bw(Y6al1%nbc>P@=v*h?l+}EJpJpONji%#|({IcDld`a5Ic6=P#by?MY zRlH0V!Vy4MX&dR*2Rd4uM(h!5{fvF0jRqCQ*7}1#4Rt>s_4L{os>AO7By{B&D!czZ zlUDN#h(A|AowIrXR0&3Qozf7!$~>Snlwy+(v*BNbY9^#>KOThXL)Neqa-P*+g`7z6 z?pL9oWj5*(C5M%M6B@xrR14TRj^dA=x082{llOXOEjB#|hwc;4R#iWNY-p+8| z{v z^wX7Y`nEx}yS52r|Hc9eY=taaQTxXmGA6uCr?lo zrD1ZdH%%FBW?#%u=HpIi?qf<#ToGORnDUv$^+PJ`n_{zzMV2@^Nra^H2lm8lluPkeecD2$ zvy{hgT&OgV&<&3)Qa(nan-&wld2OE3l8;`ZTq)z&=Iy7I8Bjp%xm4LINeg-HXO!Ad zNMzlfRbE4M+H=a~viWgK3S01DbvGZjLdioV{8*uKn@yf4v2?Du`M%K!=wR`+{QSdD1D)w`I9P z&{M|Me?@4oLKs|4HmRv}xgGYKb%8J`^Df@1d?K@3-%|GQ9XplzHf)vd{6v{7=}J3X z+NV4~bIXIJN_FR;Fz!YpKmDX$n)qewpnWD^TdF*j%5%3Vt*M>swkuG;e1z58sXQX> zWPGO*JCYo&klRlqj0|TsW+nf zwtn?Zij{+E7dYL5YE$P4oF_nGSNrt|+}DO=zTr^&2|hQdZm~)y*ljuLQ__<>qlQ{H z8RXTvfqE}d=Zg*1u|Q12Mrs2a+BTp$9{&ccLoQZ_NYWE*b4&Goc14!@Az#pnDjdW% zy{;~WGjhG!jrVS&c9v{5la`m4&d0S=f0fzR=?Z6k+o>wMq`i8Guen_PPUd%Cs$M7Y zlq=PUnJ@0B-YRiR7d31_yK8kIQ|QzL=Oy-s*fxAO<6b#m-CLcPLG5@1?dUa3y&2<(zcF0>oXT2qhx%zk zG9F9ZKNb6*W-_0Aui6mZ!C$+N5-wnGTwUGAE*Y&3MSGTwR%-%TTSu$+OAC1SG3wp2 zv|v`p>K^v#IMs>7&n{IJ<`}PL0ZDboBXLp^8l#x1nM|x(MBRqyoLn>uZjT4_F6z2k zt-)J8sM;h{+WsLmXa#Kyd{lKH%x0eo*Je-TsTpYTiafQ0#H6X}AaI47rm7|Q{_ZTb zHt#!44Vck7lr)HaGDB^Lf`X5!V`O%6it1v|KdyF14r!LU5g(AF8Q8+C+3KU<3VE~D zbwnq~8e%_;R$I=Rq*~eT8LFRcn5))C`tRqe^~};N=6h1bEqC7HNfmr!7JGZ4TGuuc z7mrh#u)2%XM(mTj)MS3qB6Xb^Bz^cP^%dZb105a-{(_T;q#GiNn_JTS({`g zw4kBa&)?agE|3A)%^THiG$JqFqFO;stnCNtckzWZ*{0qSU&&M3)b{b;f83^C9rvAg z{7~&gBYVaU^(u1reWccl}oMg*=vVGVJ9Y4vB9JLobW9IjknIyx+qfR&-ch zg6uG`g0C^uZp5zriv4gZT#q04kq|P7|9C{b(E_*guj)P< zDyefyy&*XdmNIZEYOyzB)!tFvY|$w-7o}G}t+s(P=(O4#t($vVbyJR2*6?J+wzh>Y z!_+##7QPtHYqs!e42h8mVH!xQ62i}rer)fIFs8#n43%EVUauA|lJ>GlX4ox#!e?cM z7f7ssR`>%H*(f_axU9&Jv%?cnR)24J49eQ$4XYM&uAIW8+3F-~mOWS2cw=Wc!;CR< zsVD50_)<08+03Vg!r3xEk`uqN1BhEm?#13{1H$aE@ zyM=oo#mH_V#j0-Msn+;{JKa#O_3XtP!q3NlAJ#KGz?n`8rzWj9PxsK2(U1*jAHI}@ zZv?QS>CO2)H--nw@p(&omv3~3KH>W;p#Aj&!qtpsUS^&rrLboXs7=^agTh1fqUy8K zLE(G#p3mYV28VZ)YjT&{$~Sq{(wyr&>$|8#2?>^x2 zCX=gTA)NC8m5e%Sg6XJNOKC!A8bwVapA;biA)q$KqY@$TF)}QPGd4VYR5KQ4YuYsa zfnk8J&~YX(HMG%D(z1p!!+v|^Ucc*fXTER0-E;Pw-95YKoV|CybF*L`p@s8T(e@`@ zTKJU3>|dHqq4hwpU!XKN6LRH6N;D3N$ete*AWrvEw1JNZx;8kf z%_8n5Ih3{wlh^wxUQL3izo}1I1Za8eY3d&;cnJj`pw48ZkAT%R#d>oO7`KloN?3`T-|%G%xZsu9eR5920Wc z;>58x&l(rn1U?p0V}%Jp6fHH^r(>?4o4`?4D3bnoo{eN$0w2-p#N7lg)9U1g$&Bqo zz3h9Auli{Nvg>(%Tf>^sT(4WIn`g}|n$2bR z%OUOs$=n1U_mVjoeR(N`lWm~AV;)D~oj3V)DnDsM#q*1KESlh(#(T|pt15gkkCd0w zx!ET6r-NFz*t?v&MafEj3j=UtCC^hjcgCB%+J=qT{%mvu#Itg^R}FPa9w(^{UCzlU zhdhwSosf_y$>&-m!`5&MlJ+&6EjF&;2=RFV*F#Gs74jjNAX^dd^Ah-X8+b8RQ~^)Z zmWsjxo}~O~5n0ZcjS>jh#KyyjvT_sqdYO&-3eH0Xw+5DuN?xMOMNt*+GZK2Hnim@I zL{&8}HNyL=Il};#Z*1l#yckt);bJ3#V=HUQ*B-u|e^(PUpq63Ss>HU#JXA~(=ya7x zKf=RhU>#!@<#H3AlKwk5+-6)|Q+M%rOa*_}Ul6IAXDXEK;sM2=w2|THmWYp<_zc|Y ztY)5$to(F04+%s^zir_YNU9DnHgD4TC8sFw1Fh&pqtJk3b|bqftuA)9NSo5uxOv!> zwsMEXI3lUXIe+5Ak#!C6g8+I>cp=sYA-G&VY7~BZcW!l+;MXaa*ZS{qt~65G_B|^v z)GZ_7)6R#D@b-2tHNfTk4sP=@l`$uItr21GNj@KhPM7rXp3qD9p4K^4y`pPI5_(C- zU*J{2fHvLWD;ScBn;dS%dy!4IImwPO`Ry-`R+D4(%>pD<2;-An!KjMrBf5&aYNTCbzJ zpUlv`+_RxheUDWOk>9+a*C6m9qF*|%m4-OYi1PN}sd&JIunLf(DlgAX)MajB^w3v* z$}OgM$}OU@Av(NxqwCpJfU@@nFTfPsl$)EGsV*ozSKc4E3I~O`s!V-?2J4riT)}~# z;Q{^++=DZSH2P5jioqcB3=lJ|L0;jYfg-sv+EF~1cQ>+du!U|shs%3Muy1WQIIg>Fsi>w=(MRL~4 zqO2$3^>T_=kc^U96iHHZJ*k``$wZVyIc(8C_dY7Q z&7$N+S>5J%RE=A2cFS@!GqYaOyCq`eX&4MZ63sdihp+UIR0hRBPK7^$UJC226%0DP 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 diff --git a/Vosklet.js b/Vosklet.js index 68f69e4..f397b8c 100644 --- a/Vosklet.js +++ b/Vosklet.js @@ -1,87 +1 @@ - -var loadVosklet = (() => { - var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; - - return ( -function(moduleArg = {}) { - var moduleRtn; - -function h(){p.buffer!=q.buffer&&r();return q}function t(){p.buffer!=q.buffer&&r();return aa}function ba(){p.buffer!=q.buffer&&r();return ca}function da(){p.buffer!=q.buffer&&r();return ha}function u(){p.buffer!=q.buffer&&r();return ia}function z(){p.buffer!=q.buffer&&r();return ja}function ka(){p.buffer!=q.buffer&&r();return la} -var A=moduleArg,ma,na,oa=new Promise((a,b)=>{ma=a;na=b}),pa="object"==typeof window,qa="function"==typeof importScripts,ra="object"==typeof process&&"object"==typeof process.Oa&&"string"==typeof process.Oa.node,sa=A.$ww; -let B=[],ta=["status","partialResult","result"],ua=URL.createObjectURL(new Blob(["(",(()=>{let a=new TextDecoder,b=new TextEncoder;onmessage=async c=>{c=c.data;var d=c.Na.split("/"),e=await navigator.storage.getDirectory();for(var f of d)e=await e.getDirectoryHandle(f,{create:!0});d=await e.getFileHandle("id",{create:!0});f=await e.getFileHandle("model.tgz",{create:!0});e=await d.createSyncAccessHandle();d=await f.createSyncAccessHandle();f=new ArrayBuffer(e.getSize());e.read(f);let g;if(a.decode(f)== -c.id)g=new ArrayBuffer(d.getSize()),d.read(g),c=await (new Response((new Response(g)).body.pipeThrough(new DecompressionStream("gzip")))).arrayBuffer();else{f=await fetch(c.url);if(!f.ok){postMessage("Unable to download model");return}f=f.body.tee();g=await (new Response(f[0].pipeThrough(new CompressionStream("gzip")))).arrayBuffer();d.write(g,{at:0});d.truncate(g.byteLength);c=b.encode(c.id);e.write(c,{at:0});e.truncate(c.length);c=await (new Response(f[1])).arrayBuffer()}e.close();d.close();self.postMessage(c, -[c])}}).toString(),")()"],{type:"text/javascript"})),va=new Worker(ua),wa=URL.createObjectURL(new Blob(["(",(()=>{registerProcessor("VoskletTransferer",class extends AudioWorkletProcessor{constructor(a){super();this.count=0;this.sa=a.processorOptions.sa;this.buffer=new Float32Array(128*this.sa)}process(a){if(!a[0][0])return!0;this.buffer.set(a[0][0],128*this.count++);this.count>=this.sa&&(this.count=0,this.port.postMessage(this.buffer,[this.buffer.buffer]),this.buffer=new Float32Array(128*this.sa)); -return!0}})}).toString(),")()"],{type:"text/javascript"}));A.cleanUp=async()=>{for(let a of B)await a.delete();URL.revokeObjectURL(wa);URL.revokeObjectURL(ua);va.terminate()};A.createTransferer=async(a,b)=>{await a.audioWorklet.addModule(wa);return new AudioWorkletNode(a,"VoskletTransferer",{channelCountMode:"explicit",numberOfInputs:1,numberOfOutputs:0,channelCount:1,processorOptions:{sa:b/128}})}; -async function xa(a,b,c,d){let e=new ya,f=new Promise((g,k)=>{e.addEventListener("status",l=>{l.detail?k(l.detail):(d&&(e.findWord=m=>e.ha.findWord(m)),g(e))},{once:!0})});va.addEventListener("message",g=>{g=g.data;let k=C(g.byteLength);t().set(new Uint8Array(g),k);e.ha=new A.CommonModel(B.length-1,d,"/"+b,c,k,g.byteLength)},{once:!0});va.postMessage({url:a,Na:b,id:c});return f}class ya extends EventTarget{constructor(){super();B.push(this)}delete(){this.ha.delete()}} -A.createModel=async(a,b,c)=>xa(a,b,c,!0);A.createSpkModel=async(a,b,c)=>xa(a,b,c,!1);async function za(a,b,c,d,e){let f=new Aa,g=new Promise((k,l)=>{f.addEventListener("status",m=>{m.detail?l(m.detail):k(f)},{once:!0})});switch(c){case 1:f.ha=new A.Recognizer(B.length-1,b,a);break;case 2:f.ha=new A.Recognizer(B.length-1,b,a,e);break;default:f.ha=new A.Recognizer(B.length-1,b,a,d,0)}return g} -class Aa extends EventTarget{constructor(){super();this.acceptWaveform=a=>{let b=C(4*a.length);ka().set(a,b/4);this.ha.acceptWaveform(b,a.length)};B.push(this);return new Proxy(this,{get(a,b){if(void 0!=a[b]||void 0!=a.ha[b]){var c=a[b];if(c)return c.bind?c.bind(a):c;c=a.ha[b];return c.bind?c.bind(a.ha):c}}})}async delete(a=!1){let b=new Promise(c=>this.addEventListener("status",()=>{this.ha.delete();c()},{once:!0}));this.ha.Ua(a);return b}}A.createRecognizer=(a,b)=>za(a.ha,b,1); -A.createRecognizerWithSpkModel=(a,b,c)=>za(a.ha,b,2,null,c.ha);A.createRecognizerWithGrm=(a,b,c)=>za(a.ha,b,3,c,null);var Ba=Object.assign({},A),Ca="./this.program",D="",Da,Ea; -if(pa||qa)qa?D=self.location.href:"undefined"!=typeof document&&document.currentScript&&(D=document.currentScript.src),_scriptName&&(D=_scriptName),D.startsWith("blob:")?D="":D=D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1),qa&&(Ea=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Da=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url))); -var Fa=A.print||console.log.bind(console),G=A.printErr||console.error.bind(console);Object.assign(A,Ba);Ba=null;A.thisProgram&&(Ca=A.thisProgram);var Ga=A.wasmBinary,p,Ha,Ia=!1,Ja,q,aa,ca,ha,ia,ja,la,Ka,La,Ma; -function r(){var a=p.buffer;A.HEAP8=q=new Int8Array(a);A.HEAP16=ca=new Int16Array(a);A.HEAPU8=aa=new Uint8Array(a);A.HEAPU16=ha=new Uint16Array(a);A.HEAP32=ia=new Int32Array(a);A.HEAPU32=ja=new Uint32Array(a);A.HEAPF32=la=new Float32Array(a);A.HEAPF64=Ma=new Float64Array(a);A.HEAP64=Ka=new BigInt64Array(a);A.HEAPU64=La=new BigUint64Array(a)} -if(A.wasmMemory)p=A.wasmMemory;else if(p=new WebAssembly.Memory({initial:(A.INITIAL_MEMORY||330301440)/65536,maximum:32768,shared:!0}),!(p.buffer instanceof SharedArrayBuffer))throw G("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),ra&&G("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"), -Error("bad memory");r();var Na=[],Oa=[],Pa=[];function Qa(){sa?(Ra(A.sb,A.sz),removeEventListener("message",Sa),Ta=Ta.forEach(Ua),addEventListener("message",Ua)):Va(Oa)}function Wa(){var a=A.preRun.shift();Na.unshift(a)}var H=0,Xa=null,I=null;function Ya(a){A.onAbort?.(a);a="Aborted("+a+")";G(a);Ia=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");na(a);throw a;}var Za=a=>a.startsWith("data:application/octet-stream;base64,"),$a; -function ab(a){if(a==$a&&Ga)return new Uint8Array(Ga);if(Ea)return Ea(a);throw"both async and sync fetching of the wasm failed";}function bb(a){return Ga?Promise.resolve().then(()=>ab(a)):Da(a).then(b=>new Uint8Array(b),()=>ab(a))}function eb(a,b,c){return bb(a).then(d=>WebAssembly.instantiate(d,b)).then(c,d=>{G(`failed to asynchronously prepare wasm: ${d}`);Ya(d)})} -function fb(a,b){var c=$a;return Ga||"function"!=typeof WebAssembly.instantiateStreaming||Za(c)||"function"!=typeof fetch?eb(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(e){G(`wasm streaming compile failed: ${e}`);G("falling back to ArrayBuffer instantiation");return eb(c,a,b)}))}function gb(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a} -var Ta=[],hb=[],ib,jb=a=>{var b=hb[a];b||(a>=hb.length&&(hb.length=a+1),hb[a]=b=ib.get(a));return b},Ua=a=>{a=a.data;let b=a._wsc;b&&jb(b)(...a.x)},Sa=a=>{Ta.push(a)},Va=a=>{for(;0{if(!a)return"";b=a+b;for(var c=a;!(c>=b)&&t()[c];)++c;return lb.decode(t().slice(a,c))};class mb{constructor(a){this.fa=a-24}} -var nb=0,ob=0,pb=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},qb,K=a=>{for(var b="";t()[a];)b+=qb[t()[a++]];return b},L={},M={},rb={},N,sb=a=>{throw new N(a);},O,Q=(a,b,c)=>{function d(k){k=c(k);if(k.length!==a.length)throw new O("Mismatched type converter count");for(var l=0;lrb[k]=b);var e=Array(b.length),f=[],g=0;b.forEach((k,l)=>{M.hasOwnProperty(k)?e[l]=M[k]:(f.push(k),L.hasOwnProperty(k)|| -(L[k]=[]),L[k].push(()=>{e[l]=M[k];++g;g===f.length&&d(e)}))});0===f.length&&d(e)};function tb(a,b,c={}){var d=b.name;if(!a)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(M.hasOwnProperty(a)){if(c.Ha)return;throw new N(`Cannot register type '${d}' twice`);}M[a]=b;delete rb[a];L.hasOwnProperty(a)&&(b=L[a],delete L[a],b.forEach(e=>e()))}function P(a,b,c={}){return tb(a,b,c)} -var ub=(a,b,c)=>{switch(b){case 1:return c?d=>h()[d]:d=>t()[d];case 2:return c?d=>ba()[d>>1]:d=>da()[d>>1];case 4:return c?d=>u()[d>>2]:d=>z()[d>>2];case 8:return c?d=>Ka[d>>3]:d=>La[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},vb=a=>{throw new N(a.da.ga.ea.name+" instance already deleted");},wb=!1,xb=()=>{},yb=(a,b,c)=>{if(b===c)return a;if(void 0===c.ka)return null;a=yb(a,b,c.ka);return null===a?null:c.Da(a)},zb={},R=[],Ab=()=>{for(;R.length;){var a=R.pop();a.da.qa= -!1;a["delete"]()}},S,T={},Bb=(a,b)=>{if(void 0===b)throw new N("ptr should not be undefined");for(;a.ka;)b=a.ua(b),a=a.ka;return T[b]},Cb=(a,b)=>{if(!b.ga||!b.fa)throw new O("makeClassHandle requires ptr and ptrType");if(!!b.ma!==!!b.ia)throw new O("Both smartPtrType and smartPtr must be specified");b.count={value:1};return U(Object.create(a,{da:{value:b,writable:!0}}))},U=a=>{if("undefined"===typeof FinalizationRegistry)return U=b=>b,a;wb=new FinalizationRegistry(b=>{b=b.da;--b.count.value;0===b.count.value&& -(b.ia?b.ma.oa(b.ia):b.ga.ea.oa(b.fa))});U=b=>{var c=b.da;c.ia&&wb.register(b,{da:c},b);return b};xb=b=>{wb.unregister(b)};return U(a)};function Db(){} -var Eb=(a,b)=>Object.defineProperty(b,"name",{value:a}),Fb=(a,b,c)=>{if(void 0===a[b].ja){var d=a[b];a[b]=function(...e){if(!a[b].ja.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].ja})!`);return a[b].ja[e.length].apply(this,e)};a[b].ja=[];a[b].ja[d.va]=d}},Gb=(a,b,c)=>{if(A.hasOwnProperty(a)){if(void 0===c||void 0!==A[a].ja&&void 0!==A[a].ja[c])throw new N(`Cannot register public name '${a}' twice`);Fb(A,a,a); -if(A.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);A[a].ja[c]=b}else A[a]=b,void 0!==c&&(A[a].Ra=c)},Hb=a=>{if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Ib(a,b,c,d,e,f,g,k){this.name=a;this.constructor=b;this.ra=c;this.oa=d;this.ka=e;this.Fa=f;this.ua=g;this.Da=k;this.Ja=[]} -var Jb=(a,b,c)=>{for(;b!==c;){if(!b.ua)throw new N(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.ua(a);b=b.ka}return a};function Kb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${pb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Jb(b.da.fa,b.da.ga.ea,this.ea)} -function Lb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);if(this.xa){var c=this.Ka();null!==a&&a.push(this.oa,c);return c}return 0}if(!b||!b.da)throw new N(`Cannot pass "${pb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.wa&&b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);c=Jb(b.da.fa,b.da.ga.ea,this.ea);if(this.xa){if(void 0=== -b.da.ia)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.Ma){case 0:if(b.da.ma===this)c=b.da.ia;else throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);break;case 1:c=b.da.ia;break;case 2:if(b.da.ma===this)c=b.da.ia;else{var d=b.clone();c=this.La(c,Mb(()=>d["delete"]()));null!==a&&a.push(this.oa,c)}break;default:throw new N("Unsupporting sharing policy");}}return c} -function Nb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${pb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ga.name} to parameter type ${this.name}`);return Jb(b.da.fa,b.da.ga.ea,this.ea)}function Ob(a){return this.fromWireType(z()[a>>2])} -function Pb(a,b,c,d,e,f,g,k,l,m,n){this.name=a;this.ea=b;this.ya=c;this.wa=d;this.xa=e;this.Ia=f;this.Ma=g;this.Ba=k;this.Ka=l;this.La=m;this.oa=n;e||void 0!==b.ka?this.toWireType=Lb:(this.toWireType=d?Kb:Nb,this.la=null)} -var Qb=(a,b,c)=>{if(!A.hasOwnProperty(a))throw new O("Replacing nonexistent public symbol");void 0!==A[a].ja&&void 0!==c?A[a].ja[c]=b:(A[a]=b,A[a].va=c)},V=(a,b)=>{a=K(a);var c=jb(b);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${a}: ${b}`);return c},Rb,Tb=a=>{a=Sb(a);var b=K(a);W(a);return b},Ub=(a,b)=>{function c(f){e[f]||M[f]||(rb[f]?rb[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Rb(`${a}: `+d.map(Tb).join([", "]));},Vb=(a,b)=>{for(var c= -[],d=0;d>2]);return c},Wb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function Xb(a){for(var b=1;bg)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var k=null!==b[1]&&null!==c,l=Xb(b);c="void"!==b[0].name;d=[a,sb,d,e,Wb,b[0],b[1]];for(e=0;e{a=a.trim();const b=a.indexOf("(");return-1!==b?a.substr(0,b):a},bc=[],X=[],Mb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=bc.pop()||X.length;X[b]=a;X[b+1]=1;return b}},cc={name:"emscripten::val",fromWireType:a=>{if(!a)throw new N("Cannot use deleted val. handle = "+a);var b=X[a];9Mb(b),na:8,readValueFromPointer:Ob,la:null},dc=(a,b,c)=>{switch(b){case 1:return c? -function(d){return this.fromWireType(h()[d])}:function(d){return this.fromWireType(t()[d])};case 2:return c?function(d){return this.fromWireType(ba()[d>>1])}:function(d){return this.fromWireType(da()[d>>1])};case 4:return c?function(d){return this.fromWireType(u()[d>>2])}:function(d){return this.fromWireType(z()[d>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},ec=a=>{var b=M[a];if(void 0===b)throw a=`${"enum"} has unknown type ${Tb(a)}`,new N(a);return b},fc=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(ka()[c>> -2])};case 8:return function(c){var d=this.fromWireType;p.buffer!=q.buffer&&r();return d.call(this,Ma[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},Y=(a,b,c,d)=>{if(!(0=g){var k=a.charCodeAt(++f);g=65536+((g&1023)<<10)|k&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break; -b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-e},gc=(a,b)=>{var c=17;Y(a,t(),b,c)},hc=a=>{for(var b=0,c=0;c=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},ic=new TextDecoder("utf-16le"),jc=(a,b)=>{var c=a>>1;for(b=c+b/2;!(c>=b)&&da()[c];)++c;c<<=1;return ic.decode(t().slice(a,c))},kc=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=f;b+=2}ba()[b>>1]=0;return b-d},lc=a=>2*a.length,mc=(a,b)=>{for(var c=0,d="";!(c>=b/4);){var e=u()[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d},nc=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=f){var g=a.charCodeAt(++e);f=65536+((f&1023)<<10)|g&1023}u()[b>>2]=f;b+=4;if(b+4>c)break}u()[b>>2]=0;return b-d},oc=a=>{for(var b= -0,c=0;c=d&&++c;b+=4}return b},pc={},qc=1,rc=URL.createObjectURL(new Blob(["onmessage=function(d){onmessage=null;d=d.data;d[`instantiateWasm`]=(i,r)=>{var n=new WebAssembly.Instance(d[`wasm`],i);return r(n,d[`wasm`]);};importScripts(d.js);loadVosklet(d);d.wasm=d.mem=d.js=0;}"],{type:"application/javascript"})),sc={},tc=a=>{if(!(a instanceof gb||"unwind"==a))throw a;},uc=0,vc=a=>{Ja=a;kb||0{if(!Ia)try{if(a(), -!(kb||0performance.now(); -for(var yc=[],zc=[],Ac=[],Bc={},Dc=()=>{if(!Cc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Ca||"./this.program"},b;for(b in Bc)void 0===Bc[b]?delete a[b]:a[b]=Bc[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Cc=c}return Cc},Cc,Ec=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>(a.set(crypto.getRandomValues(new Uint8Array(a.byteLength))), -a);Ya("initRandomDevice")},Fc=a=>(Fc=Ec())(a),Gc=Array(256),Hc=0;256>Hc;++Hc)Gc[Hc]=String.fromCharCode(Hc);qb=Gc;N=A.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};O=A.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}}; -Object.assign(Db.prototype,{isAliasOf:function(a){if(!(this instanceof Db&&a instanceof Db))return!1;var b=this.da.ga.ea,c=this.da.fa;a.da=a.da;var d=a.da.ga.ea;for(a=a.da.fa;b.ka;)c=b.ua(c),b=b.ka;for(;d.ka;)a=d.ua(a),d=d.ka;return b===d&&c===a},clone:function(){this.da.fa||vb(this);if(this.da.ta)return this.da.count.value+=1,this;var a=U,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.da;a=a(c.call(b,d,{da:{value:{count:e.count,qa:e.qa,ta:e.ta,fa:e.fa,ga:e.ga,ia:e.ia,ma:e.ma}}}));a.da.count.value+= -1;a.da.qa=!1;return a},["delete"](){this.da.fa||vb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");xb(this);var a=this.da;--a.count.value;0===a.count.value&&(a.ia?a.ma.oa(a.ia):a.ga.ea.oa(a.fa));this.da.ta||(this.da.ia=void 0,this.da.fa=void 0)},isDeleted:function(){return!this.da.fa},deleteLater:function(){this.da.fa||vb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");R.push(this);1===R.length&&S&&S(Ab);this.da.qa=!0;return this}}); -A.getInheritedInstanceCount=()=>Object.keys(T).length;A.getLiveInheritedInstances=()=>{var a=[],b;for(b in T)T.hasOwnProperty(b)&&a.push(T[b]);return a};A.flushPendingDeletes=Ab;A.setDelayFunction=a=>{S=a;R.length&&S&&S(Ab)}; -Object.assign(Pb.prototype,{Ga(a){this.Ba&&(a=this.Ba(a));return a},Aa(a){this.oa?.(a)},na:8,readValueFromPointer:Ob,fromWireType:function(a){function b(){return this.xa?Cb(this.ea.ra,{ga:this.Ia,fa:c,ma:this,ia:a}):Cb(this.ea.ra,{ga:this,fa:a})}var c=this.Ga(a);if(!c)return this.Aa(a),null;var d=Bb(this.ea,c);if(void 0!==d){if(0===d.da.count.value)return d.da.fa=c,d.da.ia=a,d.clone();d=d.clone();this.Aa(a);return d}d=this.ea.Fa(c);d=zb[d];if(!d)return b.call(this);d=this.wa?d.Ca:d.pointerType;var e= -yb(c,this.ea,d.ea);return null===e?b.call(this):this.xa?Cb(d.ea.ra,{ga:d,fa:e,ma:this,ia:a}):Cb(d.ea.ra,{ga:d,fa:e})}});Rb=A.UnboundTypeError=((a,b)=>{var c=Eb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c})(Error,"UnboundTypeError"); -X.push(0,1,void 0,1,null,1,!0,1,!1,1);A.count_emval_handles=()=>X.length/2-5-bc.length;sa&&(pc[0]=this,addEventListener("message",Sa)); -var Jc={c:(a,b,c,d)=>{Ya(`Assertion failed: ${J(a)}, at: `+[b?J(b):"unknown filename",c,d?J(d):"unknown function"])},t:(a,b)=>jb(a)(b),d:(a,b,c)=>{var d=new mb(a);z()[d.fa+16>>2]=0;z()[d.fa+4>>2]=b;z()[d.fa+8>>2]=c;nb=a;ob++;throw nb;},P:()=>{Ya("")},q:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:function(d,e){if("bigint"!=typeof e&&"number"!=typeof e)throw new TypeError(`Cannot convert "${pb(e)}" to ${this.name}`);"number"==typeof e&&(e=BigInt(e));return e},na:8,readValueFromPointer:ub(b, -c,-1==b.indexOf("u")),la:null})},S:(a,b,c,d)=>{b=K(b);P(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},na:8,readValueFromPointer:function(e){return this.fromWireType(t()[e])},la:null})},o:(a,b,c,d,e,f,g,k,l,m,n,x,v)=>{n=K(n);f=V(e,f);k&&=V(g,k);m&&=V(l,m);v=V(x,v);var y=Hb(n);Gb(y,function(){Ub(`Cannot construct ${n} due to unbound types`,[d])});Q([a,b,c],d?[d]:[],w=>{w=w[0];if(d){var E=w.ea;var ea=E.ra}else ea=Db.prototype;w=Eb(n,function(...cb){if(Object.getPrototypeOf(this)!== -db)throw new N("Use 'new' to construct "+n);if(void 0===F.pa)throw new N(n+" has no accessible constructor");var Yb=F.pa[cb.length];if(void 0===Yb)throw new N(`Tried to invoke ctor of ${n} with invalid number of parameters (${cb.length}) - expected (${Object.keys(F.pa).toString()}) parameters instead!`);return Yb.apply(this,cb)});var db=Object.create(ea,{constructor:{value:w}});w.prototype=db;var F=new Ib(n,w,db,v,E,f,k,m);if(F.ka){var fa;(fa=F.ka).za??(fa.za=[]);F.ka.za.push(F)}E=new Pb(n,F,!0,!1, -!1);fa=new Pb(n+"*",F,!1,!1,!1);ea=new Pb(n+" const*",F,!1,!0,!1);zb[a]={pointerType:fa,Ca:ea};Qb(y,w);return[E,fa,ea]})},j:(a,b,c,d,e,f)=>{var g=Vb(b,c);e=V(d,e);Q([],[a],k=>{k=k[0];var l=`constructor ${k.name}`;void 0===k.ea.pa&&(k.ea.pa=[]);if(void 0!==k.ea.pa[b-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${k.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);k.ea.pa[b-1]=()=> -{Ub(`Cannot construct ${k.name} due to unbound types`,g)};Q([],g,m=>{m.splice(1,0,null);k.ea.pa[b-1]=$b(l,m,null,e,f);return[]});return[]})},g:(a,b,c,d,e,f,g,k,l)=>{var m=Vb(c,d);b=K(b);b=ac(b);f=V(e,f);Q([],[a],n=>{function x(){Ub(`Cannot call ${v} due to unbound types`,m)}n=n[0];var v=`${n.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);k&&n.ea.Ja.push(b);var y=n.ea.ra,w=y[b];void 0===w||void 0===w.ja&&w.className!==n.name&&w.va===c-2?(x.va=c-2,x.className=n.name,y[b]=x):(Fb(y,b,v),y[b].ja[c- -2]=x);Q([],m,E=>{E=$b(v,E,n,f,g,l);void 0===y[b].ja?(E.va=c-2,y[b]=E):y[b].ja[c-2]=E;return[]});return[]})},R:a=>P(a,cc),s:(a,b,c,d)=>{function e(){}b=K(b);e.values={};P(a,{name:b,constructor:e,fromWireType:function(f){return this.constructor.values[f]},toWireType:(f,g)=>g.value,na:8,readValueFromPointer:dc(b,c,d),la:null});Gb(b,e)},k:(a,b,c)=>{var d=ec(a);b=K(b);a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Eb(`${d.name}_${b}`,function(){})}});a.values[c]= -d;a[b]=d},p:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,na:8,readValueFromPointer:fc(b,c),la:null})},C:(a,b,c,d,e,f,g)=>{var k=Vb(b,c);a=K(a);a=ac(a);e=V(d,e);Gb(a,function(){Ub(`Cannot call ${a} due to unbound types`,k)},b-1);Q([],k,l=>{Qb(a,$b(a,[l[0],null].concat(l.slice(1)),null,e,f,g),b-1);return[]})},i:(a,b,c,d,e)=>{b=K(b);-1===e&&(e=4294967295);e=k=>k;if(0===d){var f=32-8*c;e=k=>k<>>f}var g=b.includes("unsigned")?function(k,l){return l>>>0}:function(k,l){return l}; -P(a,{name:b,fromWireType:e,toWireType:g,na:8,readValueFromPointer:ub(b,c,0!==d),la:null})},e:(a,b,c)=>{function d(f){var g=z()[f>>2];f=z()[f+4>>2];return new e(h().buffer,f,g)}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=K(c);P(a,{name:c,fromWireType:d,na:8,readValueFromPointer:d},{Ha:!0})},r:(a,b)=>{b=K(b);var c="std::string"===b;P(a,{name:b,fromWireType:function(d){var e=z()[d>>2],f=d+4;if(c)for(var g=f,k= -0;k<=e;++k){var l=f+k;if(k==e||0==t()[l]){g=J(g,l-g);if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=l+1}}else{m=Array(e);for(k=0;k> -2]=g;if(c&&f)g+=1,Y(e,t(),l,g);else if(f)for(f=0;f{c=K(c);if(2===b){var d=jc;var e=kc;var f=lc;var g=k=>da()[k>>1]}else 4===b&&(d=mc,e=nc,f=oc,g=k=>z()[k>>2]);P(a,{name:c,fromWireType:k=>{for(var l=z()[k>>2],m,n=k+4,x=0;x<=l;++x){var v=k+4+x*b;if(x==l||0== -g(v))n=d(n,v-n),void 0===m?m=n:(m+=String.fromCharCode(0),m+=n),n=v+b}W(k);return m},toWireType:(k,l)=>{if("string"!=typeof l)throw new N(`Cannot pass non-string to C++ string type ${c}`);var m=f(l),n=C(4+m+b);z()[n>>2]=m/b;e(l,n+4,m+b);null!==k&&k.push(W,n);return n},na:8,readValueFromPointer:Ob,la(k){W(k)}})},T:(a,b)=>{b=K(b);P(a,{Qa:!0,name:b,na:0,fromWireType:()=>{},toWireType:()=>{}})},I:(a,b)=>{let c=pc[qc]=new Worker(rc);c.postMessage({$ww:qc,wasm:Ha,js:A.mainScriptUrlOrBlob||_scriptName,wasmMemory:p, -sb:a,sz:b});c.onmessage=Ua;return qc++},O:()=>1,v:()=>{kb=!1;uc=0},w:(a,b)=>{sc[a]&&(clearTimeout(sc[a].id),delete sc[a]);if(!b)return 0;var c=setTimeout(()=>{delete sc[a];wc(()=>Ic(a,xc()))},b);sc[a]={id:c,Va:b};return 0},K:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);z()[a>>2]=60*g;u()[b>>2]=Number(f!=e);b=k=>{var l=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l% -60).padStart(2,"0")}`};a=b(f);b=b(e);et().set(zc[a].Ea,b),B:()=>yc.length,D:()=>zc.length,z:(a,b)=>{a=yc[a].Pa;var c=hc(a)+1;Y(a,t(),b,c)},x:a=>zc[a].mode,F:a=>zc[a].Ea.length,A:(a,b)=>{a=yc[a].Sa;var c=hc(a)+1;Y(a,t(),b,c)},y:(a,b)=>{a=zc[a].Ta;var c=hc(a)+1;Y(a,t(),b,c)},H:()=>{a:{if(!Ac.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(hc(a)+ -1);a=Y(a,b,0,b.length);b.length=a;Ac=b}b=Ac.shift()}return"number"===typeof b?b:-1},U:a=>{console.error(J(a))},W:a=>{console.log(J(a))},V:a=>{console.warn(J(a))},f:()=>Date.now(),l:a=>G(J(a)),m:xc,G:a=>Fa(J(a)),L:a=>{var b=t().length;a>>>=0;if(a<=b||2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-p.buffer.byteLength+65535)/65536;try{p.grow(d);r();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}, -Q:(a,b,c,d)=>{pc[a].postMessage({_wsc:b,x:[c,d]})},h:(a,b,c,d,e)=>{pc[a].postMessage({_wsc:b,x:[c,d,e]})},M:(a,b)=>{var c=0;Dc().forEach((d,e)=>{var f=b+c;e=z()[a+4*e>>2]=f;for(f=0;f{var c=Dc();z()[a>>2]=c.length;var d=0;c.forEach(e=>d+=e.length+1);z()[b>>2]=d;return 0},b:a=>{Ja=a;vc(a)},J:(a,b)=>{Fc(t().subarray(a,a+b));return 0},a:p,X:function(a,b,c){B[a].dispatchEvent(new CustomEvent(ta[b],{detail:0==c?null:J(c)}))}, -u:vc},Z=function(){function a(c,d){Z=c.exports;ib=Z.$;Oa.unshift(Z.Y);Ha=d;H--;A.monitorRunDependencies?.(H);0==H&&(null!==Xa&&(clearInterval(Xa),Xa=null),I&&(c=I,I=null,c()));return Z}var b={a:Jc};H++;A.monitorRunDependencies?.(H);if(A.instantiateWasm)try{return A.instantiateWasm(b,a)}catch(c){G(`Module.instantiateWasm callback failed with error: ${c}`),na(c)}$a||=Za("Vosklet.wasm")?"Vosklet.wasm":A.locateFile?A.locateFile("Vosklet.wasm",D):D+"Vosklet.wasm";fb(b,function(c){a(c.instance,c.module)}).catch(na); -return{}}(),W=a=>(W=Z.Z)(a),C=A._malloc=a=>(C=A._malloc=Z._)(a),Sb=a=>(Sb=Z.aa)(a),Ic=(a,b)=>(Ic=Z.ba)(a,b),Ra=(a,b)=>(Ra=Z.ca)(a,b);A.UTF8ToString=J;var Kc;I=function Lc(){Kc||Mc();Kc||(I=Lc)}; -function Mc(){function a(){if(!Kc&&(Kc=!0,A.calledRun=!0,!Ia)){Qa();ma(A);A.onRuntimeInitialized?.();if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;){var b=A.postRun.shift();Pa.unshift(b)}Va(Pa)}}if(!(0{setTimeout(()=>A.setStatus(""),1);a()},1)):a())}} -if(A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);0 loadVosklet); +var loadVosklet = (() => { var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; return (function(moduleArg = {}) { var moduleRtn;function k(){p.buffer!=q.buffer&&r();return q}function t(){p.buffer!=q.buffer&&r();return aa}function ba(){p.buffer!=q.buffer&&r();return ca}function da(){p.buffer!=q.buffer&&r();return ha}function u(){p.buffer!=q.buffer&&r();return ia}function z(){p.buffer!=q.buffer&&r();return ja}function ka(){p.buffer!=q.buffer&&r();return la}var A=moduleArg,ma,na,oa=new Promise((a,b)=>{ma=a;na=b}),pa="object"==typeof window,qa="function"==typeof importScripts,ra="object"==typeof process&&"object"==typeof process.Oa&&"string"==typeof process.Oa.node,sa=A.$ww;let B=[],ta=["status","partialResult","result"],ua=URL.createObjectURL(new Blob(["(",(()=>{let a=new TextDecoder,b=new TextEncoder;onmessage=async c=>{c=c.data;var d=c.Na.split("/"),e=await navigator.storage.getDirectory();for(var f of d)e=await e.getDirectoryHandle(f,{create:!0});d=await e.getFileHandle("id",{create:!0});f=await e.getFileHandle("model.tgz",{create:!0});e=await d.createSyncAccessHandle();d=await f.createSyncAccessHandle();f=new ArrayBuffer(e.getSize());e.read(f);let g;if(a.decode(f)==c.id)g=new ArrayBuffer(d.getSize()),d.read(g),c=await (new Response((new Response(g)).body.pipeThrough(new DecompressionStream("gzip")))).arrayBuffer();else{f=await fetch(c.url);if(!f.ok){postMessage("Unable to download model");return}f=f.body.tee();g=await (new Response(f[0].pipeThrough(new CompressionStream("gzip")))).arrayBuffer();d.write(g,{at:0});d.truncate(g.byteLength);c=b.encode(c.id);e.write(c,{at:0});e.truncate(c.length);c=await (new Response(f[1])).arrayBuffer()}e.close();d.close();self.postMessage(c,[c])}}).toString(),")()"],{type:"text/javascript"})),va=new Worker(ua),wa=URL.createObjectURL(new Blob(["(",(()=>{registerProcessor("VoskletTransferer",class extends AudioWorkletProcessor{constructor(a){super();this.count=0;this.sa=a.processorOptions.sa;this.buffer=new Float32Array(128*this.sa)}process(a){if(!a[0][0])return!0;this.buffer.set(a[0][0],128*this.count++);this.count>=this.sa&&(this.count=0,this.port.postMessage(this.buffer,[this.buffer.buffer]),this.buffer=new Float32Array(128*this.sa));return!0}})}).toString(),")()"],{type:"text/javascript"}));A.cleanUp=async()=>{for(let a of B)await a.delete();URL.revokeObjectURL(wa);URL.revokeObjectURL(ua);va.terminate()};A.createTransferer=async(a,b)=>{await a.audioWorklet.addModule(wa);return new AudioWorkletNode(a,"VoskletTransferer",{channelCountMode:"explicit",numberOfInputs:1,numberOfOutputs:0,channelCount:1,processorOptions:{sa:b/128}})};async function xa(a,b,c,d){let e=new ya,f=new Promise((g,h)=>{e.addEventListener("status",l=>{l.detail?h(l.detail):(d&&(e.findWord=m=>e.ha.findWord(m)),g(e))},{once:!0})});va.addEventListener("message",g=>{g=g.data;let h=C(g.byteLength);t().set(new Uint8Array(g),h);e.ha=new A.CommonModel(B.length-1,d,"/"+b,c,h,g.byteLength)},{once:!0});va.postMessage({url:a,Na:b,id:c});return f}class ya extends EventTarget{constructor(){super();B.push(this)}delete(){this.ha.delete()}}A.createModel=async(a,b,c)=>xa(a,b,c,!0);A.createSpkModel=async(a,b,c)=>xa(a,b,c,!1);async function za(a,b,c,d,e){let f=new Aa,g=new Promise((h,l)=>{f.addEventListener("status",m=>{m.detail?l(m.detail):h(f)},{once:!0})});switch(c){case 1:f.ha=new A.Recognizer(B.length-1,b,a);break;case 2:f.ha=new A.Recognizer(B.length-1,b,a,e);break;default:f.ha=new A.Recognizer(B.length-1,b,a,d,0)}return g}class Aa extends EventTarget{constructor(){super();this.acceptWaveform=a=>{let b=C(4*a.length);ka().set(a,b/4);this.ha.acceptWaveform(b,a.length)};B.push(this);return new Proxy(this,{get(a,b){if(void 0!=a[b]||void 0!=a.ha[b]){var c=a[b];if(c)return c.bind?c.bind(a):c;c=a.ha[b];return c.bind?c.bind(a.ha):c}}})}async delete(a=!1){let b=new Promise(c=>this.addEventListener("status",()=>{this.ha.delete();c()},{once:!0}));this.ha.Ua(a);return b}}A.createRecognizer=(a,b)=>za(a.ha,b,1);A.createRecognizerWithSpkModel=(a,b,c)=>za(a.ha,b,2,null,c.ha);A.createRecognizerWithGrm=(a,b,c)=>za(a.ha,b,3,c,null);var Ba=Object.assign({},A),F="",Ca,Da;if(pa||qa)qa?F=self.location.href:"undefined"!=typeof document&&document.currentScript&&(F=document.currentScript.src),_scriptName&&(F=_scriptName),F.startsWith("blob:")?F="":F=F.substr(0,F.replace(/[?#].*/,"").lastIndexOf("/")+1),qa&&(Da=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Ca=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));var Ea=console.log.bind(console),G=console.error.bind(console);Object.assign(A,Ba);Ba=null;var p,Fa,Ga=!1,Ha,q,aa,ca,ha,ia,ja,la,Ia,Ja,Ka;function r(){var a=p.buffer;A.HEAP8=q=new Int8Array(a);A.HEAP16=ca=new Int16Array(a);A.HEAPU8=aa=new Uint8Array(a);A.HEAPU16=ha=new Uint16Array(a);A.HEAP32=ia=new Int32Array(a);A.HEAPU32=ja=new Uint32Array(a);A.HEAPF32=la=new Float32Array(a);A.HEAPF64=Ka=new Float64Array(a);A.HEAP64=Ia=new BigInt64Array(a);A.HEAPU64=Ja=new BigUint64Array(a)}if(A.wasmMemory)p=A.wasmMemory;else if(p=new WebAssembly.Memory({initial:5040,maximum:32768,shared:!0}),!(p.buffer instanceof SharedArrayBuffer))throw G("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),ra&&G("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");r();var La=[],Ma=[],Na=[];function Oa(){if(sa)Pa(A.sb,A.sz),removeEventListener("message",Qa),Ra=Ra.forEach(Sa),addEventListener("message",Sa);else for(;0a.startsWith("data:application/octet-stream;base64,"),Wa;function Xa(a){return Ca(a).then(b=>new Uint8Array(b),()=>{if(Da)var b=Da(a);else throw"both async and sync fetching of the wasm failed";return b})}function Ya(a,b,c){return Xa(a).then(d=>WebAssembly.instantiate(d,b)).then(c,d=>{G(`failed to asynchronously prepare wasm: ${d}`);Ua(d)})}function Za(a,b){var c=Wa;return"function"!=typeof WebAssembly.instantiateStreaming||Va(c)||"function"!=typeof fetch?Ya(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(e){G(`wasm streaming compile failed: ${e}`);G("falling back to ArrayBuffer instantiation");return Ya(c,a,b)}))}function bb(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var Ra=[],cb=[],db,eb=a=>{var b=cb[a];b||(a>=cb.length&&(cb.length=a+1),cb[a]=b=db.get(a));return b},Sa=a=>{a=a.data;let b=a._wsc;b&&eb(b)(...a.x)},Qa=a=>{Ra.push(a)},fb=new TextDecoder,J=(a,b)=>{if(!a)return"";b=a+b;for(var c=a;!(c>=b)&&t()[c];)++c;return fb.decode(t().slice(a,c))};class gb{constructor(a){this.fa=a-24}}var hb=0,ib=0,jb=a=>{if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},kb,K=a=>{for(var b="";t()[a];)b+=kb[t()[a++]];return b},L={},M={},lb={},N,mb=a=>{throw new N(a);},O,Q=(a,b,c)=>{function d(h){h=c(h);if(h.length!==a.length)throw new O("Mismatched type converter count");for(var l=0;llb[h]=b);var e=Array(b.length),f=[],g=0;b.forEach((h,l)=>{M.hasOwnProperty(h)?e[l]=M[h]:(f.push(h),L.hasOwnProperty(h)||(L[h]=[]),L[h].push(()=>{e[l]=M[h];++g;g===f.length&&d(e)}))});0===f.length&&d(e)};function nb(a,b,c={}){var d=b.name;if(!a)throw new N(`type "${d}" must have a positive integer typeid pointer`);if(M.hasOwnProperty(a)){if(c.Ha)return;throw new N(`Cannot register type '${d}' twice`);}M[a]=b;delete lb[a];L.hasOwnProperty(a)&&(b=L[a],delete L[a],b.forEach(e=>e()))}function P(a,b,c={}){return nb(a,b,c)}var ob=(a,b,c)=>{switch(b){case 1:return c?d=>k()[d]:d=>t()[d];case 2:return c?d=>ba()[d>>1]:d=>da()[d>>1];case 4:return c?d=>u()[d>>2]:d=>z()[d>>2];case 8:return c?d=>Ia[d>>3]:d=>Ja[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},pb=a=>{throw new N(a.da.ga.ea.name+" instance already deleted");},qb=!1,rb=()=>{},sb=(a,b,c)=>{if(b===c)return a;if(void 0===c.ka)return null;a=sb(a,b,c.ka);return null===a?null:c.Da(a)},tb={},R=[],ub=()=>{for(;R.length;){var a=R.pop();a.da.qa=!1;a["delete"]()}},S,T={},vb=(a,b)=>{if(void 0===b)throw new N("ptr should not be undefined");for(;a.ka;)b=a.ua(b),a=a.ka;return T[b]},wb=(a,b)=>{if(!b.ga||!b.fa)throw new O("makeClassHandle requires ptr and ptrType");if(!!b.ma!==!!b.ia)throw new O("Both smartPtrType and smartPtr must be specified");b.count={value:1};return U(Object.create(a,{da:{value:b,writable:!0}}))},U=a=>{if("undefined"===typeof FinalizationRegistry)return U=b=>b,a;qb=new FinalizationRegistry(b=>{b=b.da;--b.count.value;0===b.count.value&&(b.ia?b.ma.oa(b.ia):b.ga.ea.oa(b.fa))});U=b=>{var c=b.da;c.ia&&qb.register(b,{da:c},b);return b};rb=b=>{qb.unregister(b)};return U(a)};function xb(){}var yb=(a,b)=>Object.defineProperty(b,"name",{value:a}),zb=(a,b,c)=>{if(void 0===a[b].ja){var d=a[b];a[b]=function(...e){if(!a[b].ja.hasOwnProperty(e.length))throw new N(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].ja})!`);return a[b].ja[e.length].apply(this,e)};a[b].ja=[];a[b].ja[d.va]=d}},Ab=(a,b,c)=>{if(A.hasOwnProperty(a)){if(void 0===c||void 0!==A[a].ja&&void 0!==A[a].ja[c])throw new N(`Cannot register public name '${a}' twice`);zb(A,a,a);if(A.hasOwnProperty(c))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);A[a].ja[c]=b}else A[a]=b,void 0!==c&&(A[a].Ra=c)},Bb=a=>{if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Cb(a,b,c,d,e,f,g,h){this.name=a;this.constructor=b;this.ra=c;this.oa=d;this.ka=e;this.Fa=f;this.ua=g;this.Da=h;this.Ja=[]}var Db=(a,b,c)=>{for(;b!==c;){if(!b.ua)throw new N(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.ua(a);b=b.ka}return a};function Eb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${jb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Db(b.da.fa,b.da.ga.ea,this.ea)}function Fb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);if(this.xa){var c=this.Ka();null!==a&&a.push(this.oa,c);return c}return 0}if(!b||!b.da)throw new N(`Cannot pass "${jb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.wa&&b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);c=Db(b.da.fa,b.da.ga.ea,this.ea);if(this.xa){if(void 0===b.da.ia)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.Ma){case 0:if(b.da.ma===this)c=b.da.ia;else throw new N(`Cannot convert argument of type ${b.da.ma?b.da.ma.name:b.da.ga.name} to parameter type ${this.name}`);break;case 1:c=b.da.ia;break;case 2:if(b.da.ma===this)c=b.da.ia;else{var d=b.clone();c=this.La(c,Gb(()=>d["delete"]()));null!==a&&a.push(this.oa,c)}break;default:throw new N("Unsupporting sharing policy");}}return c}function Hb(a,b){if(null===b){if(this.ya)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.da)throw new N(`Cannot pass "${jb(b)}" as a ${this.name}`);if(!b.da.fa)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.da.ga.wa)throw new N(`Cannot convert argument of type ${b.da.ga.name} to parameter type ${this.name}`);return Db(b.da.fa,b.da.ga.ea,this.ea)}function Ib(a){return this.fromWireType(z()[a>>2])}function Jb(a,b,c,d,e,f,g,h,l,m,n){this.name=a;this.ea=b;this.ya=c;this.wa=d;this.xa=e;this.Ia=f;this.Ma=g;this.Ba=h;this.Ka=l;this.La=m;this.oa=n;e||void 0!==b.ka?this.toWireType=Fb:(this.toWireType=d?Eb:Hb,this.la=null)}var Kb=(a,b,c)=>{if(!A.hasOwnProperty(a))throw new O("Replacing nonexistent public symbol");void 0!==A[a].ja&&void 0!==c?A[a].ja[c]=b:(A[a]=b,A[a].va=c)},V=(a,b)=>{a=K(a);var c=eb(b);if("function"!=typeof c)throw new N(`unknown function pointer with signature ${a}: ${b}`);return c},Lb,Nb=a=>{a=Mb(a);var b=K(a);W(a);return b},Ob=(a,b)=>{function c(f){e[f]||M[f]||(lb[f]?lb[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Lb(`${a}: `+d.map(Nb).join([", "]));},Pb=(a,b)=>{for(var c=[],d=0;d>2]);return c},Qb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function Rb(a){for(var b=1;bg)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=Rb(b);c="void"!==b[0].name;d=[a,mb,d,e,Qb,b[0],b[1]];for(e=0;e{a=a.trim();const b=a.indexOf("(");return-1!==b?a.substr(0,b):a},Wb=[],X=[],Gb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=Wb.pop()||X.length;X[b]=a;X[b+1]=1;return b}},Xb={name:"emscripten::val",fromWireType:a=>{if(!a)throw new N("Cannot use deleted val. handle = "+a);var b=X[a];9Gb(b),na:8,readValueFromPointer:Ib,la:null},Yb=(a,b,c)=>{switch(b){case 1:return c?function(d){return this.fromWireType(k()[d])}:function(d){return this.fromWireType(t()[d])};case 2:return c?function(d){return this.fromWireType(ba()[d>>1])}:function(d){return this.fromWireType(da()[d>>1])};case 4:return c?function(d){return this.fromWireType(u()[d>>2])}:function(d){return this.fromWireType(z()[d>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Zb=a=>{var b=M[a];if(void 0===b)throw a=`${"enum"} has unknown type ${Nb(a)}`,new N(a);return b},$b=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(ka()[c>>2])};case 8:return function(c){var d=this.fromWireType;p.buffer!=q.buffer&&r();return d.call(this,Ka[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},Y=(a,b,c,d)=>{if(!(0=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}if(127>=g){if(c>=d)break;b[c++]=g}else{if(2047>=g){if(c+1>=d)break;b[c++]=192|g>>6}else{if(65535>=g){if(c+2>=d)break;b[c++]=224|g>>12}else{if(c+3>=d)break;b[c++]=240|g>>18;b[c++]=128|g>>12&63}b[c++]=128|g>>6&63}b[c++]=128|g&63}}b[c]=0;return c-e},ac=(a,b)=>{var c=17;Y(a,t(),b,c)},bc=a=>{for(var b=0,c=0;c=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},cc=new TextDecoder("utf-16le"),dc=(a,b)=>{var c=a>>1;for(b=c+b/2;!(c>=b)&&da()[c];)++c;c<<=1;return cc.decode(t().slice(a,c))},ec=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=f;b+=2}ba()[b>>1]=0;return b-d},fc=a=>2*a.length,gc=(a,b)=>{for(var c=0,d="";!(c>=b/4);){var e=u()[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d},hc=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=f){var g=a.charCodeAt(++e);f=65536+((f&1023)<<10)|g&1023}u()[b>>2]=f;b+=4;if(b+4>c)break}u()[b>>2]=0;return b-d},ic=a=>{for(var b=0,c=0;c=d&&++c;b+=4}return b},jc={},kc=1,lc=URL.createObjectURL(new Blob(["onmessage=function(d){onmessage=null;d=d.data;d[`instantiateWasm`]=(i,r)=>{var n=new WebAssembly.Instance(d[`wasm`],i);return r(n,d[`wasm`]);};importScripts(d.js);loadVosklet(d);d.wasm=d.mem=d.js=0;}"],{type:"application/javascript"})),mc={},nc=a=>{if(!(a instanceof bb||"unwind"==a))throw a;},oc=0,pc=a=>{Ha=a;0{if(!Ga)try{if(a(),!(0performance.now();for(var sc=[],tc=[],uc=[],vc={},xc=()=>{if(!wc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"},b;for(b in vc)void 0===vc[b]?delete a[b]:a[b]=vc[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);wc=c}return wc},wc,yc=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>(a.set(crypto.getRandomValues(new Uint8Array(a.byteLength))),a);Ua("initRandomDevice")},zc=a=>(zc=yc())(a),Ac=Array(256),Bc=0;256>Bc;++Bc)Ac[Bc]=String.fromCharCode(Bc);kb=Ac;N=A.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};O=A.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};Object.assign(xb.prototype,{isAliasOf:function(a){if(!(this instanceof xb&&a instanceof xb))return!1;var b=this.da.ga.ea,c=this.da.fa;a.da=a.da;var d=a.da.ga.ea;for(a=a.da.fa;b.ka;)c=b.ua(c),b=b.ka;for(;d.ka;)a=d.ua(a),d=d.ka;return b===d&&c===a},clone:function(){this.da.fa||pb(this);if(this.da.ta)return this.da.count.value+=1,this;var a=U,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.da;a=a(c.call(b,d,{da:{value:{count:e.count,qa:e.qa,ta:e.ta,fa:e.fa,ga:e.ga,ia:e.ia,ma:e.ma}}}));a.da.count.value+=1;a.da.qa=!1;return a},["delete"](){this.da.fa||pb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");rb(this);var a=this.da;--a.count.value;0===a.count.value&&(a.ia?a.ma.oa(a.ia):a.ga.ea.oa(a.fa));this.da.ta||(this.da.ia=void 0,this.da.fa=void 0)},isDeleted:function(){return!this.da.fa},deleteLater:function(){this.da.fa||pb(this);if(this.da.qa&&!this.da.ta)throw new N("Object already scheduled for deletion");R.push(this);1===R.length&&S&&S(ub);this.da.qa=!0;return this}});A.getInheritedInstanceCount=()=>Object.keys(T).length;A.getLiveInheritedInstances=()=>{var a=[],b;for(b in T)T.hasOwnProperty(b)&&a.push(T[b]);return a};A.flushPendingDeletes=ub;A.setDelayFunction=a=>{S=a;R.length&&S&&S(ub)};Object.assign(Jb.prototype,{Ga(a){this.Ba&&(a=this.Ba(a));return a},Aa(a){this.oa?.(a)},na:8,readValueFromPointer:Ib,fromWireType:function(a){function b(){return this.xa?wb(this.ea.ra,{ga:this.Ia,fa:c,ma:this,ia:a}):wb(this.ea.ra,{ga:this,fa:a})}var c=this.Ga(a);if(!c)return this.Aa(a),null;var d=vb(this.ea,c);if(void 0!==d){if(0===d.da.count.value)return d.da.fa=c,d.da.ia=a,d.clone();d=d.clone();this.Aa(a);return d}d=this.ea.Fa(c);d=tb[d];if(!d)return b.call(this);d=this.wa?d.Ca:d.pointerType;var e=sb(c,this.ea,d.ea);return null===e?b.call(this):this.xa?wb(d.ea.ra,{ga:d,fa:e,ma:this,ia:a}):wb(d.ea.ra,{ga:d,fa:e})}});Lb=A.UnboundTypeError=((a,b)=>{var c=yb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c})(Error,"UnboundTypeError");X.push(0,1,void 0,1,null,1,!0,1,!1,1);A.count_emval_handles=()=>X.length/2-5-Wb.length;sa&&(jc[0]=this,addEventListener("message",Qa));var Dc={c:(a,b,c,d)=>{Ua(`Assertion failed: ${J(a)}, at: `+[b?J(b):"unknown filename",c,d?J(d):"unknown function"])},t:(a,b)=>eb(a)(b),d:(a,b,c)=>{var d=new gb(a);z()[d.fa+16>>2]=0;z()[d.fa+4>>2]=b;z()[d.fa+8>>2]=c;hb=a;ib++;throw hb;},P:()=>{Ua("")},q:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:function(d,e){if("bigint"!=typeof e&&"number"!=typeof e)throw new TypeError(`Cannot convert "${jb(e)}" to ${this.name}`);"number"==typeof e&&(e=BigInt(e));return e},na:8,readValueFromPointer:ob(b,c,-1==b.indexOf("u")),la:null})},S:(a,b,c,d)=>{b=K(b);P(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},na:8,readValueFromPointer:function(e){return this.fromWireType(t()[e])},la:null})},o:(a,b,c,d,e,f,g,h,l,m,n,x,v)=>{n=K(n);f=V(e,f);h&&=V(g,h);m&&=V(l,m);v=V(x,v);var y=Bb(n);Ab(y,function(){Ob(`Cannot construct ${n} due to unbound types`,[d])});Q([a,b,c],d?[d]:[],w=>{w=w[0];if(d){var D=w.ea;var ea=D.ra}else ea=xb.prototype;w=yb(n,function(...$a){if(Object.getPrototypeOf(this)!==ab)throw new N("Use 'new' to construct "+n);if(void 0===E.pa)throw new N(n+" has no accessible constructor");var Tb=E.pa[$a.length];if(void 0===Tb)throw new N(`Tried to invoke ctor of ${n} with invalid number of parameters (${$a.length}) - expected (${Object.keys(E.pa).toString()}) parameters instead!`);return Tb.apply(this,$a)});var ab=Object.create(ea,{constructor:{value:w}});w.prototype=ab;var E=new Cb(n,w,ab,v,D,f,h,m);if(E.ka){var fa;(fa=E.ka).za??(fa.za=[]);E.ka.za.push(E)}D=new Jb(n,E,!0,!1,!1);fa=new Jb(n+"*",E,!1,!1,!1);ea=new Jb(n+" const*",E,!1,!0,!1);tb[a]={pointerType:fa,Ca:ea};Kb(y,w);return[D,fa,ea]})},j:(a,b,c,d,e,f)=>{var g=Pb(b,c);e=V(d,e);Q([],[a],h=>{h=h[0];var l=`constructor ${h.name}`;void 0===h.ea.pa&&(h.ea.pa=[]);if(void 0!==h.ea.pa[b-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${h.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);h.ea.pa[b-1]=()=>{Ob(`Cannot construct ${h.name} due to unbound types`,g)};Q([],g,m=>{m.splice(1,0,null);h.ea.pa[b-1]=Ub(l,m,null,e,f);return[]});return[]})},g:(a,b,c,d,e,f,g,h,l)=>{var m=Pb(c,d);b=K(b);b=Vb(b);f=V(e,f);Q([],[a],n=>{function x(){Ob(`Cannot call ${v} due to unbound types`,m)}n=n[0];var v=`${n.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&n.ea.Ja.push(b);var y=n.ea.ra,w=y[b];void 0===w||void 0===w.ja&&w.className!==n.name&&w.va===c-2?(x.va=c-2,x.className=n.name,y[b]=x):(zb(y,b,v),y[b].ja[c-2]=x);Q([],m,D=>{D=Ub(v,D,n,f,g,l);void 0===y[b].ja?(D.va=c-2,y[b]=D):y[b].ja[c-2]=D;return[]});return[]})},R:a=>P(a,Xb),s:(a,b,c,d)=>{function e(){}b=K(b);e.values={};P(a,{name:b,constructor:e,fromWireType:function(f){return this.constructor.values[f]},toWireType:(f,g)=>g.value,na:8,readValueFromPointer:Yb(b,c,d),la:null});Ab(b,e)},k:(a,b,c)=>{var d=Zb(a);b=K(b);a=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:yb(`${d.name}_${b}`,function(){})}});a.values[c]=d;a[b]=d},p:(a,b,c)=>{b=K(b);P(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,na:8,readValueFromPointer:$b(b,c),la:null})},C:(a,b,c,d,e,f,g)=>{var h=Pb(b,c);a=K(a);a=Vb(a);e=V(d,e);Ab(a,function(){Ob(`Cannot call ${a} due to unbound types`,h)},b-1);Q([],h,l=>{Kb(a,Ub(a,[l[0],null].concat(l.slice(1)),null,e,f,g),b-1);return[]})},i:(a,b,c,d,e)=>{b=K(b);-1===e&&(e=4294967295);e=h=>h;if(0===d){var f=32-8*c;e=h=>h<>>f}var g=b.includes("unsigned")?function(h,l){return l>>>0}:function(h,l){return l};P(a,{name:b,fromWireType:e,toWireType:g,na:8,readValueFromPointer:ob(b,c,0!==d),la:null})},e:(a,b,c)=>{function d(f){var g=z()[f>>2];f=z()[f+4>>2];return new e(k().buffer,f,g)}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=K(c);P(a,{name:c,fromWireType:d,na:8,readValueFromPointer:d},{Ha:!0})},r:(a,b)=>{b=K(b);var c="std::string"===b;P(a,{name:b,fromWireType:function(d){var e=z()[d>>2],f=d+4;if(c)for(var g=f,h=0;h<=e;++h){var l=f+h;if(h==e||0==t()[l]){g=J(g,l-g);if(void 0===m)var m=g;else m+=String.fromCharCode(0),m+=g;g=l+1}}else{m=Array(e);for(h=0;h>2]=g;if(c&&f)g+=1,Y(e,t(),l,g);else if(f)for(f=0;f{c=K(c);if(2===b){var d=dc;var e=ec;var f=fc;var g=h=>da()[h>>1]}else 4===b&&(d=gc,e=hc,f=ic,g=h=>z()[h>>2]);P(a,{name:c,fromWireType:h=>{for(var l=z()[h>>2],m,n=h+4,x=0;x<=l;++x){var v=h+4+x*b;if(x==l||0==g(v))n=d(n,v-n),void 0===m?m=n:(m+=String.fromCharCode(0),m+=n),n=v+b}W(h);return m},toWireType:(h,l)=>{if("string"!=typeof l)throw new N(`Cannot pass non-string to C++ string type ${c}`);var m=f(l),n=C(4+m+b);z()[n>>2]=m/b;e(l,n+4,m+b);null!==h&&h.push(W,n);return n},na:8,readValueFromPointer:Ib,la(h){W(h)}})},T:(a,b)=>{b=K(b);P(a,{Qa:!0,name:b,na:0,fromWireType:()=>{},toWireType:()=>{}})},I:(a,b)=>{let c=jc[kc]=new Worker(lc);c.postMessage({$ww:kc,wasm:Fa,js:A.mainScriptUrlOrBlob||_scriptName,wasmMemory:p,sb:a,sz:b});c.onmessage=Sa;return kc++},O:()=>1,v:()=>{oc=0},w:(a,b)=>{mc[a]&&(clearTimeout(mc[a].id),delete mc[a]);if(!b)return 0;var c=setTimeout(()=>{delete mc[a];qc(()=>Cc(a,rc()))},b);mc[a]={id:c,Va:b};return 0},K:(a,b,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);z()[a>>2]=60*g;u()[b>>2]=Number(f!=e);b=h=>{var l=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(f);b=b(e);et().set(tc[a].Ea,b),B:()=>sc.length,D:()=>tc.length,z:(a,b)=>{a=sc[a].Pa;var c=bc(a)+1;Y(a,t(),b,c)},x:a=>tc[a].mode,F:a=>tc[a].Ea.length,A:(a,b)=>{a=sc[a].Sa;var c=bc(a)+1;Y(a,t(),b,c)},y:(a,b)=>{a=tc[a].Ta;var c=bc(a)+1;Y(a,t(),b,c)},H:()=>{a:{if(!uc.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(bc(a)+1);a=Y(a,b,0,b.length);b.length=a;uc=b}b=uc.shift()}return"number"===typeof b?b:-1},U:a=>{console.error(J(a))},W:a=>{console.log(J(a))},V:a=>{console.warn(J(a))},f:()=>Date.now(),l:a=>G(J(a)),m:rc,G:a=>Ea(J(a)),L:a=>{var b=t().length;a>>>=0;if(a<=b||2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-p.buffer.byteLength+65535)/65536;try{p.grow(d);r();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},Q:(a,b,c,d)=>{jc[a].postMessage({_wsc:b,x:[c,d]})},h:(a,b,c,d,e)=>{jc[a].postMessage({_wsc:b,x:[c,d,e]})},M:(a,b)=>{var c=0;xc().forEach((d,e)=>{var f=b+c;e=z()[a+4*e>>2]=f;for(f=0;f{var c=xc();z()[a>>2]=c.length;var d=0;c.forEach(e=>d+=e.length+1);z()[b>>2]=d;return 0},b:a=>{Ha=a;pc(a)},J:(a,b)=>{zc(t().subarray(a,a+b));return 0},a:p,X:function(a,b,c){B[a].dispatchEvent(new CustomEvent(ta[b],{detail:0==c?null:J(c)}))},u:pc},Z=function(){function a(c,d){Z=c.exports;db=Z.$;Ma.unshift(Z.Y);Fa=d;H--;0==H&&(null!==Ta&&(clearInterval(Ta),Ta=null),I&&(c=I,I=null,c()));return Z}var b={a:Dc};H++;if(A.instantiateWasm)try{return A.instantiateWasm(b,a)}catch(c){G(`Module.instantiateWasm callback failed with error: ${c}`),na(c)}Wa||=Va("Vosklet.wasm")?"Vosklet.wasm":F+"Vosklet.wasm";Za(b,function(c){a(c.instance,c.module)}).catch(na);return{}}(),W=a=>(W=Z.Z)(a),C=a=>(C=Z._)(a),Mb=a=>(Mb=Z.aa)(a),Cc=(a,b)=>(Cc=Z.ba)(a,b),Pa=(a,b)=>(Pa=Z.ca)(a,b),Ec;I=function Fc(){Ec||Gc();Ec||(I=Fc)};function Gc(){if(!(0 loadVosklet); \ No newline at end of file diff --git a/Vosklet.wasm b/Vosklet.wasm index 061028b80cac56755104398f911703ef7c0b4538..4691002859b47a9f4755a4548b48a504438d57f5 100755 GIT binary patch delta 99019 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%0DP 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 diff --git a/src/Recognizer.cc b/src/Recognizer.cc index 8e992a5..1d888be 100644 --- a/src/Recognizer.cc +++ b/src/Recognizer.cc @@ -34,10 +34,10 @@ void Recognizer::main(int index) { else { next = &dataQ.front(); switch(vosk_recognizer_accept_waveform_f(rec, next->data, next->len)) { - case 0: [[likely]] + case 0: fireEv(index, Event::partialResult, vosk_recognizer_partial_result(rec)); break; - case 1: [[unlikely]] + case 1: fireEv(index, Event::result, vosk_recognizer_result(rec)); } free(next->data); diff --git a/src/Util.cc b/src/Util.cc index ee06605..ba3d1a3 100644 --- a/src/Util.cc +++ b/src/Util.cc @@ -70,11 +70,11 @@ void Worker::startup(int _fn, int _pool) { fn(); } } -static constexpr int workerStack{65536}; +static constexpr int workerStack{32768}; static std::array stacks; #undef MAX_WORKERS WorkerPool::WorkerPool() { - for(int i = 0; i < workers.size(); i++) { + for(unsigned int i = 0; i < workers.size(); i++) { workers[i].handle = emscripten_create_wasm_worker(&stacks[i * workerStack], workerStack); emscripten_wasm_worker_post_function_vii(workers[i].handle, Worker::startup, reinterpret_cast(&workers[i].fn),reinterpret_cast(this)); } diff --git a/src/make b/src/make index ec490fd..f43cadf 100755 --- a/src/make +++ b/src/make @@ -72,10 +72,12 @@ if [ ! -d "$VOSK" ]; then fi cd "$SRC" && - em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -O3 -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -fno-rtti -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sSUPPORT_LONGJMP=0 -sEXPORTED_FUNCTIONS=_malloc -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sEXPORTED_RUNTIME_METHODS=UTF8ToString -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -flto -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js --closure 1 -o ../Vosklet.js + em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -O3 -std=c++23 -fno-rtti -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sSUPPORT_LONGJMP=0 -sINCOMING_MODULE_JS_API=wasmMemory,instantiateWasm,wasm -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -flto -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js --closure 1 -o ../Vosklet.js cd .. && rm -f Vosklet.worker.js +tr -d '\n' < Vosklet.js | tr -s ' ' > /tmp/hehe && mv /tmp/hehe Vosklet.js && + cp Vosklet.js Examples/Vosklet.js && cp Vosklet.wasm Examples/Vosklet.wasm && diff --git a/test b/test index 8e66dc9..0823876 100755 --- a/test +++ b/test @@ -36,12 +36,13 @@ OPENFST=$(realpath openfst) CLAPACK_WASM=$(realpath clapack-wasm) cd src && -MODE=1 && # 0: Debug, 1: Optimized release, else custom +MODE=1 && # 0: Debug, 1: Optimized release echo "Mode = $MODE" && if [ "$MODE" = 0 ]; then - em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -O0 -g3 -Wall -Werror -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -fno-rtti -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sSTACK_OVERFLOW_CHECK=2 -sASSERTIONS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sRUNTIME_DEBUG -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sDISABLE_EXCEPTION_CATCHING=0 -sEXPORTED_FUNCTIONS=_malloc -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sEXPORTED_RUNTIME_METHODS=UTF8ToString -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js -o ../test.js + em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -O0 -std=c++23 -g3 -Wall -Wextra -Wpedantic -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -fno-rtti -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sSTACK_OVERFLOW_CHECK=2 -sASSERTIONS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sRUNTIME_DEBUG -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sDISABLE_EXCEPTION_CATCHING=0 -sINCOMING_MODULE_JS_API=wasmMemory,instantiateWasm,wasm -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js -o ../test.js elif [ "$MODE" = 1 ]; then - em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -O3 -Wall -Werror -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -fno-rtti -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sSUPPORT_LONGJMP=0 -sEXPORTED_FUNCTIONS=_malloc -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sEXPORTED_RUNTIME_METHODS=UTF8ToString -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -flto -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js --closure 1 -o ../test.js + em++ Util.cc CommonModel.cc Recognizer.cc Bindings.cc -std=c++23 -O3 -Wall -Wextra -Wpedantic -DEMSCRIPTEN_HAS_UNBOUND_TYPE_NAMES=0 -fno-rtti -DMAX_WORKERS="$MAX_THREADS" -sWASMFS -sWASM_BIGINT -sMODULARIZE -sWASM_EXNREF -sTEXTDECODER=2 -sWASM_WORKERS=2 -sEVAL_CTORS=2 -sINITIAL_MEMORY="$INITIAL_MEMORY" -sALLOW_MEMORY_GROWTH -sPOLYFILL=0 -sEXIT_RUNTIME=0 -sINVOKE_RUN=0 -sSUPPORT_LONGJMP=0 -sINCOMING_MODULE_JS_API=wasmMemory,instantiateWasm,wasm -sEXPORT_NAME=loadVosklet -sMALLOC=emmalloc -sENVIRONMENT=web,worker -I. -I"$VOSK"/src -L"$KALDI"/src -l:online2/kaldi-online2.a -l:decoder/kaldi-decoder.a -l:ivector/kaldi-ivector.a -l:gmm/kaldi-gmm.a -l:tree/kaldi-tree.a -l:feat/kaldi-feat.a -l:cudamatrix/kaldi-cudamatrix.a -l:lat/kaldi-lat.a -l:lm/kaldi-lm.a -l:rnnlm/kaldi-rnnlm.a -l:hmm/kaldi-hmm.a -l:nnet3/kaldi-nnet3.a -l:transform/kaldi-transform.a -l:matrix/kaldi-matrix.a -l:fstext/kaldi-fstext.a -l:util/kaldi-util.a -l:base/kaldi-base.a -L"$OPENFST"/lib -l:libfst.a -l:libfstngram.a -L"$CLAPACK_WASM" -l:CBLAS/lib/cblas.a -l:CLAPACK-3.2.1/lapack.a -l:CLAPACK-3.2.1/libcblaswr.a -l:f2c_BLAS-3.8.0/blas.a -l:libf2c/libf2c.a -L"$VOSK"/src -l:vosk.a -lembind -flto -msimd128 -matomics -mbulk-memory -mreference-types -mnontrapping-fptoint -mextended-const -msign-ext -mmutable-globals --pre-js Wrapper.js --closure 1 -o ../test.js && + tr -d '\n' < ../test.js | tr -s ' ' > /tmp/hehe && mv /tmp/hehe ../test.js fi cd .. && sed -i 's/.pipeThrough(new CompressionStream("gzip"))//;s/\[1\])/[1].pipeThrough(new DecompressionStream("gzip")))/' test.js &&