var Module = (function() { var _scriptDir = import.meta.url; return ( function(Module) { Module = Module || {}; var g;g||(g=typeof Module !== 'undefined' ? Module : {});var ba,ca;g.ready=new Promise(function(a,b){ba=a;ca=b});var r={},t;for(t in g)g.hasOwnProperty(t)&&(r[t]=g[t]);var da="./this.program";function ea(a,b){throw b;}var u="",fa;u=self.location.href;_scriptDir&&(u=_scriptDir);0!==u.indexOf("blob:")?u=u.substr(0,u.lastIndexOf("/")+1):u="";fa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}; var ha=g.print||console.log.bind(console),v=g.printErr||console.warn.bind(console);for(t in r)r.hasOwnProperty(t)&&(g[t]=r[t]);r=null;g.thisProgram&&(da=g.thisProgram);g.quit&&(ea=g.quit);var w;g.wasmBinary&&(w=g.wasmBinary);var noExitRuntime=g.noExitRuntime||!0;"object"!==typeof WebAssembly&&A("no native wasm support detected");var ia,ja=!1,ka=new TextDecoder("utf8"); function la(a,b,c){var d=B;if(0=f){var m=a.charCodeAt(++e);f=65536+((f&1023)<<10)|m&1023}if(127>=f){if(b>=c)break;d[b++]=f}else{if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6}else{if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63}d[b++]=128|f>>6&63}d[b++]=128|f&63}}d[b]=0}}var ma=new TextDecoder("utf-16le"); function na(a,b){var c=a>>1;for(b=c+b/2;!(c>=b)&&C[c];)++c;return ma.decode(B.subarray(a,c<<1))}function oa(a,b,c){void 0===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]=a.charCodeAt(e),b+=2;D[b>>1]=0;return b-d}function pa(a){return 2*a.length}function qa(a,b){for(var c=0,d="";!(c>=b/4);){var e=F[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} function ra(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=f){var m=a.charCodeAt(++e);f=65536+((f&1023)<<10)|m&1023}F[b>>2]=f;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function sa(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var ta,G,B,D,C,F,H,ua,va; function wa(){var a=ia.buffer;ta=a;g.HEAP8=G=new Int8Array(a);g.HEAP16=D=new Int16Array(a);g.HEAP32=F=new Int32Array(a);g.HEAPU8=B=new Uint8Array(a);g.HEAPU16=C=new Uint16Array(a);g.HEAPU32=H=new Uint32Array(a);g.HEAPF32=ua=new Float32Array(a);g.HEAPF64=va=new Float64Array(a)}var I,xa=[],ya=[],za=[];function Aa(){var a=g.preRun.shift();xa.unshift(a)}var J=0,Ba=null,K=null;g.preloadedImages={};g.preloadedAudios={}; function A(a){if(g.onAbort)g.onAbort(a);v(a);ja=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}var L=(new URL("mozjpeg_enc.wasm",import.meta.url)).toString();function Ca(){try{if(L==L&&w)return new Uint8Array(w);if(fa)return fa(L);throw"both async and sync fetching of the wasm failed";}catch(a){A(a)}} function Da(){return w||"function"!==typeof fetch?Promise.resolve().then(function(){return Ca()}):fetch(L,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+L+"'";return a.arrayBuffer()}).catch(function(){return Ca()})}function Ea(a){for(;0>2])}var O={},P={},Q={};function Ga(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 Ha(a,b){a=Ga(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)} function Ia(a){var b=Error,c=Ha(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Ja=void 0; function Ka(a,b,c){function d(h){h=c(h);if(h.length!==a.length)throw new Ja("Mismatched type converter count");for(var n=0;n>2])};case 3:return function(c){return this.fromWireType(va[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Sa(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Ha(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} function Ta(a,b){var c=g;if(void 0===c[a].K){var d=c[a];c[a]=function(){c[a].K.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].K+")!");return c[a].K[arguments.length].apply(this,arguments)};c[a].K=[];c[a].K[d.P]=d}} function Ua(a,b,c){g.hasOwnProperty(a)?((void 0===c||void 0!==g[a].K&&void 0!==g[a].K[c])&&U("Cannot register public name '"+a+"' twice"),Ta(a,a),g.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),g[a].K[c]=b):(g[a]=b,void 0!==c&&(g[a].ca=c))}function Va(a,b){for(var c=[],d=0;d>2)+d]);return c} function Wa(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d>1]}:function(d){return C[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return H[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var bb={}; function cb(){return"object"===typeof globalThis?globalThis:Function("return this")()}function db(a,b){var c=P[a];void 0===c&&U(b+" has unknown type "+Ya(a));return c}var eb={},fb={};function gb(){if(!hb){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",_:da||"./this.program"},b;for(b in fb)a[b]=fb[b];var c=[];for(b in a)c.push(b+"="+a[b]);hb=c}return hb} var hb,ib=[null,[],[]];Ja=g.InternalError=Ia("InternalError");for(var jb=Array(256),Z=0;256>Z;++Z)jb[Z]=String.fromCharCode(Z);Ma=jb;Na=g.BindingError=Ia("BindingError");g.count_emval_handles=function(){for(var a=0,b=5;b>f])},L:null})},x:function(a,b){b=T(b);R(a,{name:b,fromWireType:function(c){var d=V[c].value;Pa(c);return d},toWireType:function(c,d){return W(d)},argPackAdvance:8,readValueFromPointer:N,L:null})},i:function(a,b,c){c=La(c);b=T(b);R(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+Qa(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:Ra(b,c),L:null})}, f:function(a,b,c,d,e,f){var m=Va(b,c);a=T(a);e=X(d,e);Ua(a,function(){$a("Cannot call "+a+" due to unbound types",m)},b-1);Ka([],m,function(h){var n=a,k=a;h=[h[0],null].concat(h.slice(1));var l=e,q=h.length;2>q&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var x=null!==h[1]&&!1,y=!1,p=1;p>>h}}var n=b.includes("unsigned");R(a,{name:b,fromWireType:f,toWireType:function(k,l){if("number"!==typeof l&&"boolean"!==typeof l)throw new TypeError('Cannot convert "'+Qa(l)+'" to '+this.name);if(le)throw new TypeError('Passing a number "'+Qa(l)+'" from JS side to C/C++ side to an argument of type "'+ b+'", which is outside the valid range ['+d+", "+e+"]!");return n?l>>>0:l|0},argPackAdvance:8,readValueFromPointer:ab(b,m,0!==d),L:null})},b:function(a,b,c){function d(f){f>>=2;var m=H;return new e(ta,m[f+1],m[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=T(c);R(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{V:!0})},j:function(a,b){b=T(b);var c="std::string"===b;R(a,{name:b,fromWireType:function(d){var e=H[d>>2];if(c)for(var f= d+4,m=0;m<=e;++m){var h=d+4+m;if(m==e||0==B[h]){if(f){for(var n=f+(h-f),k=f;!(k>=n)&&B[k];)++k;f=ka.decode(B.subarray(f,k))}else f="";if(void 0===l)var l=f;else l+=String.fromCharCode(0),l+=f;f=h+1}}else{l=Array(e);for(m=0;m=q&&(q=65536+((q&1023)<<10)|e.charCodeAt(++l)&1023);127>=q?++k:k=2047>=q?k+2:65535>=q?k+3:k+4}return k}:function(){return e.length})(),h=kb(4+m+1);H[h>>2]=m;if(c&&f)la(e,h+4,m+1);else if(f)for(f=0;f>2],l=m(),q,x=n+4,y=0;y<=k;++y){var p=n+4+y*b;if(y==k||0==l[p>>h])x=d(x,p-x),void 0===q?q=x:(q+=String.fromCharCode(0),q+=x),x=p+b}Y(n);return q},toWireType:function(n,k){"string"!==typeof k&&U("Cannot pass non-string to C++ string type "+c);var l=f(k),q=kb(4+l+b);H[q>>2]=l>> h;e(k,q+4,l+b);null!==n&&n.push(Y,q);return q},argPackAdvance:8,readValueFromPointer:N,L:function(n){Y(n)}})},m:function(a,b,c,d,e,f){M[a]={name:T(b),W:X(c,d),X:X(e,f),O:[]}},a:function(a,b,c,d,e,f,m,h,n,k){M[a].O.push({R:T(b),U:c,S:X(d,e),T:f,Z:m,Y:X(h,n),$:k})},z:function(a,b){b=T(b);R(a,{ba:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:Pa,u:function(a){if(0===a)return W(cb());var b=bb[a];a=void 0===b?T(a):b;return W(cb()[a])},k:function(a){4>> 2) + "+f+'], "parameter '+f+'");\nvar arg'+f+" = argType"+f+".readValueFromPointer(args);\nargs += argType"+f+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module", "__emval_register",m+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(db,g,W);eb[b]=e}return e(a,c,d)},h:function(){A()},r:function(a,b,c){B.copyWithin(a,b,b+c)},d:function(a){var b=B.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,d);0>>16);wa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},s:function(a, b){var c=0;gb().forEach(function(d,e){var f=b+c;e=F[a+4*e>>2]=f;for(f=0;f>0]=d.charCodeAt(f);G[e>>0]=0;c+=d.length+1});return 0},t:function(a,b){var c=gb();F[a>>2]=c.length;var d=0;c.forEach(function(e){d+=e.length+1});F[b>>2]=d;return 0},A:function(a){if(!noExitRuntime){if(g.onExit)g.onExit(a);ja=!0}ea(a,new lb(a))},v:function(){return 0},o:function(){},w:function(a,b,c,d){for(var e=0,f=0;f>2],h=F[b+(8*f+4)>>2],n=0;n>2]=e;return 0},q:function(){}}; (function(){function a(e){g.asm=e.exports;ia=g.asm.C;wa();I=g.asm.I;ya.unshift(g.asm.D);J--;g.monitorRunDependencies&&g.monitorRunDependencies(J);0==J&&(null!==Ba&&(clearInterval(Ba),Ba=null),K&&(e=K,K=null,e()))}function b(e){a(e.instance)}function c(e){return Da().then(function(f){return WebAssembly.instantiate(f,d)}).then(e,function(f){v("failed to asynchronously prepare wasm: "+f);A(f)})}var d={a:mb};J++;g.monitorRunDependencies&&g.monitorRunDependencies(J);if(g.instantiateWasm)try{return g.instantiateWasm(d, a)}catch(e){return v("Module.instantiateWasm callback failed with error: "+e),!1}(function(){return w||"function"!==typeof WebAssembly.instantiateStreaming||L.startsWith("data:application/octet-stream;base64,")||"function"!==typeof fetch?c(b):fetch(L,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(f){v("wasm streaming compile failed: "+f);v("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);return{}})(); g.___wasm_call_ctors=function(){return(g.___wasm_call_ctors=g.asm.D).apply(null,arguments)};var kb=g._malloc=function(){return(kb=g._malloc=g.asm.E).apply(null,arguments)},Y=g._free=function(){return(Y=g._free=g.asm.F).apply(null,arguments)},Za=g.___getTypeName=function(){return(Za=g.___getTypeName=g.asm.G).apply(null,arguments)};g.___embind_register_native_and_builtin_types=function(){return(g.___embind_register_native_and_builtin_types=g.asm.H).apply(null,arguments)}; g.dynCall_jiji=function(){return(g.dynCall_jiji=g.asm.J).apply(null,arguments)};var nb;function lb(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}K=function ob(){nb||pb();nb||(K=ob)}; function pb(){function a(){if(!nb&&(nb=!0,g.calledRun=!0,!ja)){Ea(ya);ba(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var b=g.postRun.shift();za.unshift(b)}Ea(za)}}if(!(0