UNPKG

chat-analytics

Version:

Generate interactive, beautiful and insightful chat analysis reports

118 lines (115 loc) 55.6 kB
var Module = (() => { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; return ( function(config) { var Module = config || {}; var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa,ba;e.ready=new Promise(function(a,b){aa=a;ba=b});var ca=Object.assign({},e),da=[],ea="./this.program",fa=(a,b)=>{throw b;},ha,ia,ja;"undefined"!=typeof read&&(ha=function(a){return read(a)});ja=function(a){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");"object"==typeof a||k();return a};ia=function(a,b){setTimeout(()=>b(ja(a)),0)}; "undefined"!=typeof scriptArgs?da=scriptArgs:"undefined"!=typeof arguments&&(da=arguments);"function"==typeof quit&&(fa=(a,b)=>{b instanceof ka||u("exiting due to exception: "+b);quit(a)});"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print);var la=e.print||console.log.bind(console),u=e.printErr||console.warn.bind(console);Object.assign(e,ca);ca=null;e.arguments&&(da=e.arguments); e.thisProgram&&(ea=e.thisProgram);e.quit&&(fa=e.quit);var ma;e.wasmBinary&&(ma=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&k("no native wasm support detected");var na,oa=!1,pa="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0; function w(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&pa)return pa.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var h=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function y(a,b){return a?w(z,a,b):""} function qa(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var m=a.charCodeAt(++g);h=65536+((h&1023)<<10)|m&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f} function ra(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}var B,z,C,sa,D,E,ta,ua;function va(){var a=na.buffer;e.HEAP8=B=new Int8Array(a);e.HEAP16=C=new Int16Array(a);e.HEAP32=D=new Int32Array(a);e.HEAPU8=z=new Uint8Array(a);e.HEAPU16=sa=new Uint16Array(a);e.HEAPU32=E=new Uint32Array(a);e.HEAPF32=ta=new Float32Array(a);e.HEAPF64=ua=new Float64Array(a)}var wa,xa=[],ya=[],za=[],Aa=[]; function Ba(){var a=e.preRun.shift();xa.unshift(a)}var F=0,Ca=null,Da=null;function Ea(){F++;e.monitorRunDependencies&&e.monitorRunDependencies(F)}function Fa(){F--;e.monitorRunDependencies&&e.monitorRunDependencies(F);if(0==F&&(null!==Ca&&(clearInterval(Ca),Ca=null),Da)){var a=Da;Da=null;a()}}function k(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";u(a);oa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;} function Ga(){return G.startsWith("data:application/octet-stream;base64,")}var G;G="fasttext_wasm.wasm";if(!Ga()){var Ha=G;G=e.locateFile?e.locateFile(Ha,""):""+Ha}function Ia(){return Promise.resolve().then(function(){a:{var a=G;try{if(a==G&&ma){var b=new Uint8Array(ma);break a}if(ja){b=ja(a);break a}throw"both async and sync fetching of the wasm failed";}catch(c){k(c)}b=void 0}return b})}var H,Ja; function ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}function Ka(a){for(;0<a.length;)a.shift()(e)}function La(a){this.fa=a-24;this.Mc=function(b){E[this.fa+4>>2]=b};this.yc=function(b){E[this.fa+8>>2]=b};this.Ic=function(){D[this.fa>>2]=0};this.wc=function(){B[this.fa+12>>0]=0};this.Kc=function(){B[this.fa+13>>0]=0};this.Ua=function(b,c){this.Sa();this.Mc(b);this.yc(c);this.Ic();this.wc();this.Kc()};this.Sa=function(){E[this.fa+16>>2]=0}} var Ma=0,Na=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},I=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Na(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},Oa=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},J= a=>{if("/"===a)return"/";a=I(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},Pa=(a,b)=>I(a+"/"+b);function Qa(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}return()=>k("randomDevice")} function K(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:L.Cb();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Na(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."} var Ra=(a,b)=>{function c(h){for(var m=0;m<h.length&&""===h[m];m++);for(var n=h.length-1;0<=n&&""===h[n];n--);return m>n?[]:h.slice(m,n-m+1)}a=K(a).substr(1);b=K(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var d=Math.min(a.length,b.length),f=d,g=0;g<d;g++)if(a[g]!==b[g]){f=g;break}d=[];for(g=f;g<a.length;g++)d.push("..");d=d.concat(b.slice(f));return d.join("/")};function Sa(a,b){var c=Array(ra(a)+1);a=qa(a,c,0,c.length);b&&(c.length=a);return c}var Ta=[]; function Ua(a,b){Ta[a]={input:[],oa:[],Xa:b};L.Vb(a,Va)} var Va={open:function(a){var b=Ta[a.node.xb];if(!b)throw new L.aa(43);a.la=b;a.seekable=!1},close:function(a){a.la.Xa.qb(a.la)},qb:function(a){a.la.Xa.qb(a.la)},read:function(a,b,c,d){if(!a.la||!a.la.Xa.mc)throw new L.aa(60);for(var f=0,g=0;g<d;g++){try{var h=a.la.Xa.mc(a.la)}catch(m){throw new L.aa(29);}if(void 0===h&&0===f)throw new L.aa(6);if(null===h||void 0===h)break;f++;b[c+g]=h}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.la||!a.la.Xa.Qb)throw new L.aa(60);try{for(var f= 0;f<d;f++)a.la.Xa.Qb(a.la,b[c+f])}catch(g){throw new L.aa(29);}d&&(a.node.timestamp=Date.now());return f}},Wa={mc:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=Sa(b,!0)}return a.input.shift()},Qb:function(a,b){null===b||10===b?(la(w(a.oa,0)),a.oa=[]):0!=b&&a.oa.push(b)},qb:function(a){a.oa&&0<a.oa.length&& (la(w(a.oa,0)),a.oa=[])}},Xa={Qb:function(a,b){null===b||10===b?(u(w(a.oa,0)),a.oa=[]):0!=b&&a.oa.push(b)},qb:function(a){a.oa&&0<a.oa.length&&(u(w(a.oa,0)),a.oa=[])}},N={Aa:null,ja:function(){return N.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(L.Wc(c)||L.Xc(c))throw new L.aa(63);N.Aa||(N.Aa={dir:{node:{xa:N.ca.xa,na:N.ca.na,La:N.ca.La,Ea:N.ca.Ea,jb:N.ca.jb,Ha:N.ca.Ha,kb:N.ca.kb,ib:N.ca.ib,Ga:N.ca.Ga},stream:{ya:N.ea.ya}},file:{node:{xa:N.ca.xa,na:N.ca.na},stream:{ya:N.ea.ya,read:N.ea.read, write:N.ea.write,Za:N.ea.Za,Wa:N.ea.Wa,gb:N.ea.gb}},link:{node:{xa:N.ca.xa,na:N.ca.na,Pa:N.ca.Pa},stream:{}},$b:{node:{xa:N.ca.xa,na:N.ca.na},stream:L.Ac}});c=L.createNode(a,b,c,d);L.ma(c.mode)?(c.ca=N.Aa.dir.node,c.ea=N.Aa.dir.stream,c.da={}):L.isFile(c.mode)?(c.ca=N.Aa.file.node,c.ea=N.Aa.file.stream,c.ia=0,c.da=null):L.cb(c.mode)?(c.ca=N.Aa.link.node,c.ea=N.Aa.link.stream):L.rb(c.mode)&&(c.ca=N.Aa.$b.node,c.ea=N.Aa.$b.stream);c.timestamp=Date.now();a&&(a.da[b]=c,a.timestamp=c.timestamp);return c}, Gd:function(a){return a.da?a.da.subarray?a.da.subarray(0,a.ia):new Uint8Array(a.da):new Uint8Array(0)},jc:function(a,b){var c=a.da?a.da.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.da,a.da=new Uint8Array(b),0<a.ia&&a.da.set(c.subarray(0,a.ia),0))},kd:function(a,b){if(a.ia!=b)if(0==b)a.da=null,a.ia=0;else{var c=a.da;a.da=new Uint8Array(b);c&&a.da.set(c.subarray(0,Math.min(b,a.ia)));a.ia=b}},ca:{xa:function(a){var b={};b.Bd=L.rb(a.mode)?a.id:1;b.Jd=a.id;b.mode= a.mode;b.Ud=1;b.uid=0;b.Hd=0;b.xb=a.xb;L.ma(a.mode)?b.size=4096:L.isFile(a.mode)?b.size=a.ia:L.cb(a.mode)?b.size=a.link.length:b.size=0;b.xd=new Date(a.timestamp);b.Sd=new Date(a.timestamp);b.Ad=new Date(a.timestamp);b.xc=4096;b.yd=Math.ceil(b.size/b.xc);return b},na:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&N.kd(a,b.size)},La:function(){throw L.Hb[44];},Ea:function(a,b,c,d){return N.createNode(a,b,c,d)},jb:function(a,b,c){if(L.ma(a.mode)){try{var d= L.Da(b,c)}catch(g){}if(d)for(var f in d.da)throw new L.aa(55);}delete a.parent.da[a.name];a.parent.timestamp=Date.now();a.name=c;b.da[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},Ha:function(a,b){delete a.da[b];a.timestamp=Date.now()},kb:function(a,b){var c=L.Da(a,b),d;for(d in c.da)throw new L.aa(55);delete a.da[b];a.timestamp=Date.now()},ib:function(a){var b=[".",".."],c;for(c in a.da)a.da.hasOwnProperty(c)&&b.push(c);return b},Ga:function(a,b,c){a=N.createNode(a,b,41471,0);a.link=c;return a}, Pa:function(a){if(!L.cb(a.mode))throw new L.aa(28);return a.link}},ea:{read:function(a,b,c,d,f){var g=a.node.da;if(f>=a.node.ia)return 0;a=Math.min(a.node.ia-f,d);if(8<a&&g.subarray)b.set(g.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=g[f+d];return a},write:function(a,b,c,d,f,g){b.buffer===B.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.da||a.da.subarray)){if(g)return a.da=b.subarray(c,c+d),a.ia=d;if(0===a.ia&&0===f)return a.da=b.slice(c,c+d),a.ia=d;if(f+d<=a.ia)return a.da.set(b.subarray(c, c+d),f),d}N.jc(a,f+d);if(a.da.subarray&&b.subarray)a.da.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.da[f+g]=b[c+g];a.ia=Math.max(a.ia,f+d);return d},ya:function(a,b,c){1===c?b+=a.position:2===c&&L.isFile(a.node.mode)&&(b+=a.node.ia);if(0>b)throw new L.aa(28);return b},Za:function(a,b,c){N.jc(a.node,b+c);a.node.ia=Math.max(a.node.ia,b+c)},Wa:function(a,b,c,d,f){if(!L.isFile(a.node.mode))throw new L.aa(43);a=a.node.da;if(f&2||a.buffer!==B.buffer){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+ b):a=Array.prototype.slice.call(a,c,c+b);c=!0;k();b=void 0;if(!b)throw new L.aa(48);B.set(a,b)}else c=!1,b=a.byteOffset;return{fa:b,wd:c}},gb:function(a,b,c,d){N.ea.write(a,b,0,d,c,!1);return 0}}};function Ya(a,b){var c="al "+a;ia(a,d=>{d||k('Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(d));c&&Fa(c)});c&&Ea(c)} var L={root:null,fb:[],hc:{},streams:[],bd:1,za:null,ec:"/",Lb:!1,pc:!0,aa:null,Hb:{},Nc:null,yb:0,ha:(a,b={})=>{a=K(a);if(!a)return{path:"",node:null};b=Object.assign({Fb:!0,Tb:0},b);if(8<b.Tb)throw new L.aa(32);a=a.split("/").filter(h=>!!h);for(var c=L.root,d="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;c=L.Da(c,a[f]);d=I(d+"/"+a[f]);L.Ka(c)&&(!g||g&&b.Fb)&&(c=c.eb.root);if(!g||b.wa)for(g=0;L.cb(c.mode);)if(c=L.Pa(d),d=K(Oa(d),c),c=L.ha(d,{Tb:b.Tb+1}).node,40<g++)throw new L.aa(32); }return{path:d,node:c}},Ja:a=>{for(var b;;){if(L.tb(a))return a=a.ja.rc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Kb:(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%L.za.length},nc:a=>{var b=L.Kb(a.parent.id,a.name);a.Na=L.za[b];L.za[b]=a},oc:a=>{var b=L.Kb(a.parent.id,a.name);if(L.za[b]===a)L.za[b]=a.Na;else for(b=L.za[b];b;){if(b.Na===a){b.Na=a.Na;break}b=b.Na}},Da:(a,b)=>{var c=L.Zc(a);if(c)throw new L.aa(c,a);for(c=L.za[L.Kb(a.id, b)];c;c=c.Na){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return L.La(a,b)},createNode:(a,b,c,d)=>{a=new L.uc(a,b,c,d);L.nc(a);return a},Db:a=>{L.oc(a)},tb:a=>a===a.parent,Ka:a=>!!a.eb,isFile:a=>32768===(a&61440),ma:a=>16384===(a&61440),cb:a=>40960===(a&61440),rb:a=>8192===(a&61440),Wc:a=>24576===(a&61440),Xc:a=>4096===(a&61440),Kd:a=>49152===(a&49152),Oc:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},ad:a=>{var b=L.Oc[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+a);return b}, kc:a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},Oa:(a,b)=>{if(L.pc)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},Zc:a=>{var b=L.Oa(a,"x");return b?b:a.ca.La?0:2},Pb:(a,b)=>{try{return L.Da(a,b),20}catch(c){}return L.Oa(a,"wx")},vb:(a,b,c)=>{try{var d=L.Da(a,b)}catch(f){return f.va}if(a=L.Oa(a,"wx"))return a;if(c){if(!L.ma(d.mode))return 54;if(L.tb(d)||L.Ja(d)===L.Cb())return 10}else if(L.ma(d.mode))return 31; return 0},$c:(a,b)=>a?L.cb(a.mode)?32:L.ma(a.mode)&&("r"!==L.kc(b)||b&512)?31:L.Oa(a,L.kc(b)):44,vc:4096,cd:(a=0,b=L.vc)=>{for(;a<=b;a++)if(!L.streams[a])return a;throw new L.aa(33);},ab:a=>L.streams[a],dc:(a,b,c)=>{L.mb||(L.mb=function(){this.Sa={}},L.mb.prototype={},Object.defineProperties(L.mb.prototype,{object:{get:function(){return this.node},set:function(d){this.node=d}},flags:{get:function(){return this.Sa.flags},set:function(d){this.Sa.flags=d}},position:{get:function(){return this.Sa.position}, set:function(d){this.Sa.position=d}}}));a=Object.assign(new L.mb,a);b=L.cd(b,c);a.$a=b;return L.streams[b]=a},Bc:a=>{L.streams[a]=null},Ac:{open:a=>{a.ea=L.Qc(a.node.xb).ea;a.ea.open&&a.ea.open(a)},ya:()=>{throw new L.aa(70);}},Ob:a=>a>>8,Qd:a=>a&255,Ma:(a,b)=>a<<8|b,Vb:(a,b)=>{L.hc[a]={ea:b}},Qc:a=>L.hc[a],lc:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.fb)}return b},tc:(a,b)=>{function c(h){L.yb--;return b(h)}function d(h){if(h){if(!d.Lc)return d.Lc=!0,c(h)}else++g>= f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);L.yb++;1<L.yb&&u("warning: "+L.yb+" FS.syncfs operations in flight at once, probably just doing extra work");var f=L.lc(L.root.ja),g=0;f.forEach(h=>{if(!h.type.tc)return d(null);h.type.tc(h,a,d)})},ja:(a,b,c)=>{var d="/"===c,f=!c;if(d&&L.root)throw new L.aa(10);if(!d&&!f){var g=L.ha(c,{Fb:!1});c=g.path;g=g.node;if(L.Ka(g))throw new L.aa(10);if(!L.ma(g.mode))throw new L.aa(54);}b={type:a,Vd:b,rc:c,fb:[]};a=a.ja(b);a.ja=b;b.root=a;d?L.root=a:g&&(g.eb= b,g.ja&&g.ja.fb.push(b));return a},Zd:a=>{a=L.ha(a,{Fb:!1});if(!L.Ka(a.node))throw new L.aa(28);a=a.node;var b=a.eb,c=L.lc(b);Object.keys(L.za).forEach(d=>{for(d=L.za[d];d;){var f=d.Na;c.includes(d.ja)&&L.Db(d);d=f}});a.eb=null;a.ja.fb.splice(a.ja.fb.indexOf(b),1)},La:(a,b)=>a.ca.La(a,b),Ea:(a,b,c)=>{var d=L.ha(a,{parent:!0}).node;a=J(a);if(!a||"."===a||".."===a)throw new L.aa(28);var f=L.Pb(d,a);if(f)throw new L.aa(f);if(!d.ca.Ea)throw new L.aa(63);return d.ca.Ea(d,a,b,c)},create:(a,b)=>L.Ea(a,(void 0!== b?b:438)&4095|32768,0),qa:(a,b)=>L.Ea(a,(void 0!==b?b:511)&1023|16384,0),Rd:(a,b)=>{a=a.split("/");for(var c="",d=0;d<a.length;++d)if(a[d]){c+="/"+a[d];try{L.qa(c,b)}catch(f){if(20!=f.va)throw f;}}},wb:(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);return L.Ea(a,b|8192,c)},Ga:(a,b)=>{if(!K(a))throw new L.aa(44);var c=L.ha(b,{parent:!0}).node;if(!c)throw new L.aa(44);b=J(b);var d=L.Pb(c,b);if(d)throw new L.aa(d);if(!c.ca.Ga)throw new L.aa(63);return c.ca.Ga(c,b,a)},jb:(a,b)=>{var c=Oa(a),d=Oa(b),f=J(a), g=J(b);var h=L.ha(a,{parent:!0});var m=h.node;h=L.ha(b,{parent:!0});h=h.node;if(!m||!h)throw new L.aa(44);if(m.ja!==h.ja)throw new L.aa(75);var n=L.Da(m,f);a=Ra(a,d);if("."!==a.charAt(0))throw new L.aa(28);a=Ra(b,c);if("."!==a.charAt(0))throw new L.aa(55);try{var p=L.Da(h,g)}catch(q){}if(n!==p){b=L.ma(n.mode);if(f=L.vb(m,f,b))throw new L.aa(f);if(f=p?L.vb(h,g,b):L.Pb(h,g))throw new L.aa(f);if(!m.ca.jb)throw new L.aa(63);if(L.Ka(n)||p&&L.Ka(p))throw new L.aa(10);if(h!==m&&(f=L.Oa(m,"w")))throw new L.aa(f); L.oc(n);try{m.ca.jb(n,h,g)}catch(q){throw q;}finally{L.nc(n)}}},kb:a=>{var b=L.ha(a,{parent:!0}).node;a=J(a);var c=L.Da(b,a),d=L.vb(b,a,!0);if(d)throw new L.aa(d);if(!b.ca.kb)throw new L.aa(63);if(L.Ka(c))throw new L.aa(10);b.ca.kb(b,a);L.Db(c)},ib:a=>{a=L.ha(a,{wa:!0}).node;if(!a.ca.ib)throw new L.aa(54);return a.ca.ib(a)},Ha:a=>{var b=L.ha(a,{parent:!0}).node;if(!b)throw new L.aa(44);a=J(a);var c=L.Da(b,a),d=L.vb(b,a,!1);if(d)throw new L.aa(d);if(!b.ca.Ha)throw new L.aa(63);if(L.Ka(c))throw new L.aa(10); b.ca.Ha(b,a);L.Db(c)},Pa:a=>{a=L.ha(a).node;if(!a)throw new L.aa(44);if(!a.ca.Pa)throw new L.aa(28);return K(L.Ja(a.parent),a.ca.Pa(a))},stat:(a,b)=>{a=L.ha(a,{wa:!b}).node;if(!a)throw new L.aa(44);if(!a.ca.xa)throw new L.aa(63);return a.ca.xa(a)},Pd:a=>L.stat(a,!0),ob:(a,b,c)=>{a="string"==typeof a?L.ha(a,{wa:!c}).node:a;if(!a.ca.na)throw new L.aa(63);a.ca.na(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Md:(a,b)=>{L.ob(a,b,!0)},Cd:(a,b)=>{a=L.ab(a);if(!a)throw new L.aa(8);L.ob(a.node,b)}, Zb:(a,b,c,d)=>{a="string"==typeof a?L.ha(a,{wa:!d}).node:a;if(!a.ca.na)throw new L.aa(63);a.ca.na(a,{timestamp:Date.now()})},Nd:(a,b,c)=>{L.Zb(a,b,c,!0)},Dd:(a,b,c)=>{a=L.ab(a);if(!a)throw new L.aa(8);L.Zb(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new L.aa(28);a="string"==typeof a?L.ha(a,{wa:!0}).node:a;if(!a.ca.na)throw new L.aa(63);if(L.ma(a.mode))throw new L.aa(31);if(!L.isFile(a.mode))throw new L.aa(28);var c=L.Oa(a,"w");if(c)throw new L.aa(c);a.ca.na(a,{size:b,timestamp:Date.now()})},Fd:(a, b)=>{a=L.ab(a);if(!a)throw new L.aa(8);if(0===(a.flags&2097155))throw new L.aa(28);L.truncate(a.node,b)},$d:(a,b,c)=>{a=L.ha(a,{wa:!0}).node;a.ca.na(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new L.aa(44);b="string"==typeof b?L.ad(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=I(a);try{d=L.ha(a,{wa:!(b&131072)}).node}catch(g){}}var f=!1;if(b&64)if(d){if(b&128)throw new L.aa(20);}else d=L.Ea(a,c,0),f=!0;if(!d)throw new L.aa(44);L.rb(d.mode)&& (b&=-513);if(b&65536&&!L.ma(d.mode))throw new L.aa(54);if(!f&&(c=L.$c(d,b)))throw new L.aa(c);b&512&&!f&&L.truncate(d,0);b&=-131713;d=L.dc({node:d,path:L.Ja(d),flags:b,seekable:!0,position:0,ea:d.ea,vd:[],error:!1});d.ea.open&&d.ea.open(d);!e.logReadFiles||b&1||(L.Sb||(L.Sb={}),a in L.Sb||(L.Sb[a]=1));return d},close:a=>{if(L.bb(a))throw new L.aa(8);a.Jb&&(a.Jb=null);try{a.ea.close&&a.ea.close(a)}catch(b){throw b;}finally{L.Bc(a.$a)}a.$a=null},bb:a=>null===a.$a,ya:(a,b,c)=>{if(L.bb(a))throw new L.aa(8); if(!a.seekable||!a.ea.ya)throw new L.aa(70);if(0!=c&&1!=c&&2!=c)throw new L.aa(28);a.position=a.ea.ya(a,b,c);a.vd=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new L.aa(28);if(L.bb(a))throw new L.aa(8);if(1===(a.flags&2097155))throw new L.aa(8);if(L.ma(a.node.mode))throw new L.aa(31);if(!a.ea.read)throw new L.aa(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new L.aa(70);b=a.ea.read(a,b,c,d,f);g||(a.position+=b);return b},write:(a,b,c,d,f,g)=>{if(0>d||0> f)throw new L.aa(28);if(L.bb(a))throw new L.aa(8);if(0===(a.flags&2097155))throw new L.aa(8);if(L.ma(a.node.mode))throw new L.aa(31);if(!a.ea.write)throw new L.aa(28);a.seekable&&a.flags&1024&&L.ya(a,0,2);var h="undefined"!=typeof f;if(!h)f=a.position;else if(!a.seekable)throw new L.aa(70);b=a.ea.write(a,b,c,d,f,g);h||(a.position+=b);return b},Za:(a,b,c)=>{if(L.bb(a))throw new L.aa(8);if(0>b||0>=c)throw new L.aa(28);if(0===(a.flags&2097155))throw new L.aa(8);if(!L.isFile(a.node.mode)&&!L.ma(a.node.mode))throw new L.aa(43); if(!a.ea.Za)throw new L.aa(138);a.ea.Za(a,b,c)},Wa:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new L.aa(2);if(1===(a.flags&2097155))throw new L.aa(2);if(!a.ea.Wa)throw new L.aa(43);return a.ea.Wa(a,b,c,d,f)},gb:(a,b,c,d,f)=>a.ea.gb?a.ea.gb(a,b,c,d,f):0,Td:()=>0,Mb:(a,b,c)=>{if(!a.ea.Mb)throw new L.aa(59);return a.ea.Mb(a,b,c)},Wd:(a,b={})=>{b.flags=b.flags||0;b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+ b.encoding+'"');var c,d=L.open(a,b.flags);a=L.stat(a).size;var f=new Uint8Array(a);L.read(d,f,0,a,0);"utf8"===b.encoding?c=w(f,0):"binary"===b.encoding&&(c=f);L.close(d);return c},ae:(a,b,c={})=>{c.flags=c.flags||577;a=L.open(a,c.flags,c.mode);if("string"==typeof b){var d=new Uint8Array(ra(b)+1);b=qa(b,d,0,d.length);L.write(a,d,0,b,void 0,c.zc)}else if(ArrayBuffer.isView(b))L.write(a,b,0,b.byteLength,void 0,c.zc);else throw Error("Unsupported data type");L.close(a)},Cb:()=>L.ec,zd:a=>{a=L.ha(a,{wa:!0}); if(null===a.node)throw new L.aa(44);if(!L.ma(a.node.mode))throw new L.aa(54);var b=L.Oa(a.node,"x");if(b)throw new L.aa(b);L.ec=a.path},Ec:()=>{L.qa("/tmp");L.qa("/home");L.qa("/home/web_user")},Dc:()=>{L.qa("/dev");L.Vb(L.Ma(1,3),{read:()=>0,write:(b,c,d,f)=>f});L.wb("/dev/null",L.Ma(1,3));Ua(L.Ma(5,0),Wa);Ua(L.Ma(6,0),Xa);L.wb("/dev/tty",L.Ma(5,0));L.wb("/dev/tty1",L.Ma(6,0));var a=Qa();L.ta("/dev","random",a);L.ta("/dev","urandom",a);L.qa("/dev/shm");L.qa("/dev/shm/tmp")},Gc:()=>{L.qa("/proc"); var a=L.qa("/proc/self");L.qa("/proc/self/fd");L.ja({ja:()=>{var b=L.createNode(a,"fd",16895,73);b.ca={La:(c,d)=>{var f=L.ab(+d);if(!f)throw new L.aa(8);c={parent:null,ja:{rc:"fake"},ca:{Pa:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},Hc:()=>{e.stdin?L.ta("/dev","stdin",e.stdin):L.Ga("/dev/tty","/dev/stdin");e.stdout?L.ta("/dev","stdout",null,e.stdout):L.Ga("/dev/tty","/dev/stdout");e.stderr?L.ta("/dev","stderr",null,e.stderr):L.Ga("/dev/tty1","/dev/stderr");L.open("/dev/stdin", 0);L.open("/dev/stdout",1);L.open("/dev/stderr",1)},ic:()=>{L.aa||(L.aa=function(a,b){this.node=b;this.ld=function(c){this.va=c};this.ld(a);this.message="FS error"},L.aa.prototype=Error(),L.aa.prototype.constructor=L.aa,[44].forEach(a=>{L.Hb[a]=new L.aa(a);L.Hb[a].stack="<generic error, no stack>"}))},qd:()=>{L.ic();L.za=Array(4096);L.ja(N,{},"/");L.Ec();L.Dc();L.Gc();L.Nc={MEMFS:N}},Ua:(a,b,c)=>{L.Ua.Lb=!0;L.ic();e.stdin=a||e.stdin;e.stdout=b||e.stdout;e.stderr=c||e.stderr;L.Hc()},quit:()=>{L.Ua.Lb= !1;for(var a=0;a<L.streams.length;a++){var b=L.streams[a];b&&L.close(b)}},Ib:(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},Ed:(a,b)=>{a=L.Bb(a,b);return a.Eb?a.object:null},Bb:(a,b)=>{try{var c=L.ha(a,{wa:!b});a=c.path}catch(f){}var d={tb:!1,Eb:!1,error:0,name:null,path:null,object:null,dd:!1,fd:null,ed:null};try{c=L.ha(a,{parent:!0}),d.dd=!0,d.fd=c.path,d.ed=c.node,d.name=J(a),c=L.ha(a,{wa:!b}),d.Eb=!0,d.path=c.path,d.object=c.node,d.name=c.node.name,d.tb="/"===c.path}catch(f){d.error=f.va}return d}, bc:(a,b)=>{a="string"==typeof a?a:L.Ja(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=I(a+"/"+c);try{L.qa(d)}catch(f){}a=d}}return d},Fc:(a,b,c,d,f)=>{a="string"==typeof a?a:L.Ja(a);b=I(a+"/"+b);return L.create(b,L.Ib(d,f))},pb:(a,b,c,d,f,g)=>{var h=b;a&&(a="string"==typeof a?a:L.Ja(a),h=b?I(a+"/"+b):a);a=L.Ib(d,f);h=L.create(h,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d<f;++d)b[d]=c.charCodeAt(d);c=b}L.ob(h,a|146);b=L.open(h,577);L.write(b,c,0,c.length, 0,g);L.close(b);L.ob(h,a)}return h},ta:(a,b,c,d)=>{a=Pa("string"==typeof a?a:L.Ja(a),b);b=L.Ib(!!c,!!d);L.ta.Ob||(L.ta.Ob=64);var f=L.Ma(L.ta.Ob++,0);L.Vb(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,h,m,n)=>{for(var p=0,q=0;q<n;q++){try{var r=c()}catch(v){throw new L.aa(29);}if(void 0===r&&0===p)throw new L.aa(6);if(null===r||void 0===r)break;p++;h[m+q]=r}p&&(g.node.timestamp=Date.now());return p},write:(g,h,m,n)=>{for(var p=0;p<n;p++)try{d(h[m+p])}catch(q){throw new L.aa(29); }n&&(g.node.timestamp=Date.now());return p}});return L.wb(a,b,f)},Gb:a=>{if(a.qc||a.Yc||a.link||a.da)return!0;if("undefined"!=typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(ha)try{a.da=Sa(ha(a.url),!0),a.ia=a.da.length}catch(b){throw new L.aa(29);}else throw Error("Cannot load without read() or XMLHttpRequest.");}, ac:(a,b,c,d,f)=>{if("undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";c={qc:!1,url:c};var g=L.Fc(a,b,c,d,f);c.da?g.da=c.da:c.url&&(g.da=null,g.url=c.url);Object.defineProperties(g,{ia:{get:function(){return this.da.length}}});var h={};Object.keys(g.ea).forEach(m=>{var n=g.ea[m];h[m]=function(){L.Gb(g);return n.apply(null,arguments)}});h.read=(m,n,p,q,r)=>{L.Gb(g);m=m.node.da;if(r>=m.length)n= 0;else{q=Math.min(m.length-r,q);if(m.slice)for(var v=0;v<q;v++)n[p+v]=m[r+v];else for(v=0;v<q;v++)n[p+v]=m.get(r+v);n=q}return n};h.Wa=()=>{L.Gb(g);k();throw new L.aa(48);};g.ea=h;return g},cc:(a,b,c,d,f,g,h,m,n,p)=>{function q(l){function t(x){p&&p();m||L.pb(a,b,x,d,f,n);g&&g();Fa(v)}Za.Id(l,r,t,()=>{h&&h();Fa(v)})||t(l)}var r=b?K(I(a+"/"+b)):a,v="cp "+r;Ea(v);"string"==typeof c?Ya(c,l=>q(l)):q(c)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,Xb:()=> "EM_FS_"+window.location.pathname,Yb:20,Ya:"FILE_DATA",Xd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=L.indexedDB();try{var f=d.open(L.Xb(),L.Yb)}catch(g){return c(g)}f.onupgradeneeded=()=>{la("creating db");f.result.createObjectStore(L.Ya)};f.onsuccess=()=>{var g=f.result.transaction([L.Ya],"readwrite"),h=g.objectStore(L.Ya),m=0,n=0,p=a.length;a.forEach(q=>{q=h.put(L.Bb(q).object.da,q);q.onsuccess=()=>{m++;m+n==p&&(0==n?b():c())};q.onerror=()=>{n++;m+n==p&&(0==n?b():c())}});g.onerror=c};f.onerror= c},Od:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=L.indexedDB();try{var f=d.open(L.Xb(),L.Yb)}catch(g){return c(g)}f.onupgradeneeded=c;f.onsuccess=()=>{var g=f.result;try{var h=g.transaction([L.Ya],"readonly")}catch(r){c(r);return}var m=h.objectStore(L.Ya),n=0,p=0,q=a.length;a.forEach(r=>{var v=m.get(r);v.onsuccess=()=>{L.Bb(r).Eb&&L.Ha(r);L.pb(Oa(r),J(r),v.result,!0,!0,!0);n++;n+p==q&&(0==p?b():c())};v.onerror=()=>{p++;n+p==q&&(0==p?b():c())}});h.onerror=c};f.onerror=c}},$a=void 0; function O(){$a+=4;return D[$a-4>>2]}function Q(a){a=L.ab(a);if(!a)throw new L.aa(8);return a}var ab={};function bb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function cb(a){return this.fromWireType(D[a>>2])}var db={},R={},eb={};function fb(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 gb(a,b){a=fb(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function hb(a){var b=Error,c=gb(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 ib=void 0;function jb(a){throw new ib(a);}function kb(a,b,c){function d(m){m=c(m);m.length!==a.length&&jb("Mismatched type converter count");for(var n=0;n<a.length;++n)S(a[n],m[n])}a.forEach(function(m){eb[m]=b});var f=Array(b.length),g=[],h=0;b.forEach((m,n)=>{R.hasOwnProperty(m)?f[n]=R[m]:(g.push(m),db.hasOwnProperty(m)||(db[m]=[]),db[m].push(()=>{f[n]=R[m];++h;h===g.length&&d(f)}))});0===g.length&&d(f)} function lb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var mb=void 0;function T(a){for(var b="";z[a];)b+=mb[z[a++]];return b}var nb=void 0;function U(a){throw new nb(a);} function S(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||U('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.Vc)return;U("Cannot register type '"+d+"' twice")}R[a]=b;delete eb[a];db.hasOwnProperty(a)&&(b=db[a],delete db[a],b.forEach(f=>f()))}function ob(a){U(a.ba.ka.ga.name+" instance already deleted")}var pb=!1;function qb(){} function rb(a){--a.count.value;0===a.count.value&&(a.pa?a.ra.Fa(a.pa):a.ka.ga.Fa(a.fa))}function sb(a,b,c){if(b===c)return a;if(void 0===c.sa)return null;a=sb(a,b,c.sa);return null===a?null:c.Jc(a)}var tb={},ub=[];function vb(){for(;ub.length;){var a=ub.pop();a.ba.Ta=!1;a["delete"]()}}var wb=void 0,xb={};function yb(a,b){for(void 0===b&&U("ptr should not be undefined");a.sa;)b=a.lb(b),a=a.sa;return xb[b]} function zb(a,b){b.ka&&b.fa||jb("makeClassHandle requires ptr and ptrType");!!b.ra!==!!b.pa&&jb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Ab(Object.create(a,{ba:{value:b}}))}function Ab(a){if("undefined"===typeof FinalizationRegistry)return Ab=b=>b,a;pb=new FinalizationRegistry(b=>{rb(b.ba)});Ab=b=>{var c=b.ba;c.pa&&pb.register(b,{ba:c},b);return b};qb=b=>{pb.unregister(b)};return Ab(a)}function V(){} function Bb(a,b,c){if(void 0===a[b].Ba){var d=a[b];a[b]=function(){a[b].Ba.hasOwnProperty(arguments.length)||U("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Ba+")!");return a[b].Ba[arguments.length].apply(this,arguments)};a[b].Ba=[];a[b].Ba[d.nb]=d}} function Cb(a,b){e.hasOwnProperty(a)?(U("Cannot register public name '"+a+"' twice"),Bb(e,a,a),e.hasOwnProperty(void 0)&&U("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),e[a].Ba[void 0]=b):e[a]=b}function Db(a,b,c,d,f,g,h,m){this.name=a;this.constructor=b;this.Va=c;this.Fa=d;this.sa=f;this.Pc=g;this.lb=h;this.Jc=m;this.hd=[]} function Eb(a,b,c){for(;b!==c;)b.lb||U("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.lb(a),b=b.sa;return a}function Fb(a,b){if(null===b)return this.Nb&&U("null is not a valid "+this.name),0;b.ba||U('Cannot pass "'+Gb(b)+'" as a '+this.name);b.ba.fa||U("Cannot pass deleted object as a pointer of type "+this.name);return Eb(b.ba.fa,b.ba.ka.ga,this.ga)} function Hb(a,b){if(null===b){this.Nb&&U("null is not a valid "+this.name);if(this.ub){var c=this.Rb();null!==a&&a.push(this.Fa,c);return c}return 0}b.ba||U('Cannot pass "'+Gb(b)+'" as a '+this.name);b.ba.fa||U("Cannot pass deleted object as a pointer of type "+this.name);!this.sb&&b.ba.ka.sb&&U("Cannot convert argument of type "+(b.ba.ra?b.ba.ra.name:b.ba.ka.name)+" to parameter type "+this.name);c=Eb(b.ba.fa,b.ba.ka.ga,this.ga);if(this.ub)switch(void 0===b.ba.pa&&U("Passing raw pointer to smart pointer is illegal"), this.pd){case 0:b.ba.ra===this?c=b.ba.pa:U("Cannot convert argument of type "+(b.ba.ra?b.ba.ra.name:b.ba.ka.name)+" to parameter type "+this.name);break;case 1:c=b.ba.pa;break;case 2:if(b.ba.ra===this)c=b.ba.pa;else{var d=b.clone();c=this.jd(c,Ib(function(){d["delete"]()}));null!==a&&a.push(this.Fa,c)}break;default:U("Unsupporting sharing policy")}return c} function Jb(a,b){if(null===b)return this.Nb&&U("null is not a valid "+this.name),0;b.ba||U('Cannot pass "'+Gb(b)+'" as a '+this.name);b.ba.fa||U("Cannot pass deleted object as a pointer of type "+this.name);b.ba.ka.sb&&U("Cannot convert argument of type "+b.ba.ka.name+" to parameter type "+this.name);return Eb(b.ba.fa,b.ba.ka.ga,this.ga)} function W(a,b,c,d){this.name=a;this.ga=b;this.Nb=c;this.sb=d;this.ub=!1;this.Fa=this.jd=this.Rb=this.sc=this.pd=this.gd=void 0;void 0!==b.sa?this.toWireType=Hb:(this.toWireType=d?Fb:Jb,this.ua=null)}function Kb(a,b){e.hasOwnProperty(a)||jb("Replacing nonexistant public symbol");e[a]=b;e[a].nb=void 0} function Lb(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=e["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=wa.get(b).apply(null,c);return d}}function X(a,b){a=T(a);var c=a.includes("j")?Lb(a,b):wa.get(b);"function"!=typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var Mb=void 0;function Nb(a){a=Ob(a);var b=T(a);Y(a);return b} function Pb(a,b){function c(g){f[g]||R[g]||(eb[g]?eb[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Mb(a+": "+d.map(Nb).join([", "]));}function Sb(a,b){for(var c=[],d=0;d<a;d++)c.push(E[b+4*d>>2]);return c} function Tb(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=gb(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} function Ub(a,b,c,d,f){var g=b.length;2>g&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,m=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].ua){m=!0;break}var n="void"!==b[0].name,p="",q="";for(c=0;c<g-2;++c)p+=(0!==c?", ":"")+"arg"+c,q+=(0!==c?", ":"")+"arg"+c+"Wired";a="return function "+fb(a)+"("+p+") {\nif (arguments.length !== "+(g-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+ (g-2)+" args!');\n}\n";m&&(a+="var destructors = [];\n");var r=m?"destructors":"null";p="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[U,d,f,bb,b[0],b[1]];h&&(a+="var thisWired = classParam.toWireType("+r+", this);\n");for(c=0;c<g-2;++c)a+="var arg"+c+"Wired = argType"+c+".toWireType("+r+", arg"+c+"); // "+b[c+2].name+"\n",p.push("argType"+c),d.push(b[c+2]);h&&(q="thisWired"+(0<q.length?", ":"")+q);a+=(n?"var rv = ":"")+"invoker(fn"+(0<q.length?", ":"")+q+");\n";if(m)a+= "runDestructors(destructors);\n";else for(c=h?1:2;c<b.length;++c)g=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==b[c].ua&&(a+=g+"_dtor("+g+"); // "+b[c].name+"\n",p.push(g+"_dtor"),d.push(b[c].ua));n&&(a+="var ret = retType.fromWireType(rv);\nreturn ret;\n");p.push(a+"}\n");return Tb(p).apply(null,d)}var Vb=[],Z=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Wb(a){4<a&&0===--Z[a].Ub&&(Z[a]=void 0,Vb.push(a))} var Ib=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Vb.length?Vb.pop():Z.length;Z[b]={Ub:1,value:a};return b}};function Gb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Xb(a,b){switch(b){case 2:return function(c){return this.fromWireType(ta[c>>2])};case 3:return function(c){return this.fromWireType(ua[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} function Yb(a,b,c){switch(b){case 0:return c?function(d){return B[d]}:function(d){return z[d]};case 1:return c?function(d){return C[d>>1]}:function(d){return sa[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Zb="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0; function $b(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&sa[c];)++c;c<<=1;if(32<c-a&&Zb)return Zb.decode(z.subarray(a,c));c="";for(d=0;!(d>=b/2);++d){var f=C[a+2*d>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}function ac(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 f=0;f<c;++f)C[b>>1]=a.charCodeAt(f),b+=2;C[b>>1]=0;return b-d}function bc(a){return 2*a.length} function cc(a,b){for(var c=0,d="";!(c>=b/4);){var f=D[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d}function dc(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f<a.length;++f){var g=a.charCodeAt(f);if(55296<=g&&57343>=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}D[b>>2]=g;b+=4;if(b+4>c)break}D[b>>2]=0;return b-d} function ec(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var fc;"undefined"!=typeof dateNow?fc=dateNow:fc=()=>performance.now();var hc={}; function ic(){if(!jc){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",_:ea||"./this.program"},b;for(b in hc)void 0===hc[b]?delete a[b]:a[b]=hc[b];var c=[];for(b in a)c.push(b+"="+a[b]);jc=c}return jc}var jc;function kc(a){if(!noExitRuntime){if(e.onExit)e.onExit(a);oa=!0}fa(a,new ka(a))}function lc(a){return 0===a%4&&(0!==a%100||0===a%400)} var mc=[31,29,31,30,31,30,31,31,30,31,30,31],nc=[31,28,31,30,31,30,31,31,30,31,30,31]; function oc(a,b,c,d){function f(l,t,x){for(l="number"==typeof l?l.toString():l||"";l.length<t;)l=x[0]+l;return l}function g(l,t){return f(l,t,"0")}function h(l,t){function x(P){return 0>P?-1:0<P?1:0}var A;0===(A=x(l.getFullYear()-t.getFullYear()))&&0===(A=x(l.getMonth()-t.getMonth()))&&(A=x(l.getDate()-t.getDate()));return A}function m(l){switch(l.getDay()){case 0:return new Date(l.getFullYear()-1,11,29);case 1:return l;case 2:return new Date(l.getFullYear(),0,3);case 3:return new Date(l.getFullYear(), 0,2);case 4:return new Date(l.getFullYear(),0,1);case 5:return new Date(l.getFullYear()-1,11,31);case 6:return new Date(l.getFullYear()-1,11,30)}}function n(l){var t=l.Qa;for(l=new Date((new Date(l.Ra+1900,0,1)).getTime());0<t;){var x=l.getMonth(),A=(lc(l.getFullYear())?mc:nc)[x];if(t>A-l.getDate())t-=A-l.getDate()+1,l.setDate(1),11>x?l.setMonth(x+1):(l.setMonth(0),l.setFullYear(l.getFullYear()+1));else{l.setDate(l.getDate()+t);break}}x=new Date(l.getFullYear()+1,0,4);t=m(new Date(l.getFullYear(), 0,4));x=m(x);return 0>=h(t,l)?0>=h(x,l)?l.getFullYear()+1:l.getFullYear():l.getFullYear()-1}var p=D[d+40>>2];d={td:D[d>>2],sd:D[d+4>>2],zb:D[d+8>>2],Wb:D[d+12>>2],Ab:D[d+16>>2],Ra:D[d+20>>2],Ca:D[d+24>>2],Qa:D[d+28>>2],Yd:D[d+32>>2],rd:D[d+36>>2],ud:p?y(p):""};c=y(c);p={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d", "%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in p)c=c.replace(new RegExp(q,"g"),p[q]);var r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),v="January February March April May June July August September October November December".split(" ");p={"%a":function(l){return r[l.Ca].substring(0,3)},"%A":function(l){return r[l.Ca]},"%b":function(l){return v[l.Ab].substring(0,3)},"%B":function(l){return v[l.Ab]}, "%C":function(l){return g((l.Ra+1900)/100|0,2)},"%d":function(l){return g(l.Wb,2)},"%e":function(l){return f(l.Wb,2," ")},"%g":function(l){return n(l).toString().substring(2)},"%G":function(l){return n(l)},"%H":function(l){return g(l.zb,2)},"%I":function(l){l=l.zb;0==l?l=12:12<l&&(l-=12);return g(l,2)},"%j":function(l){for(var t=0,x=0;x<=l.Ab-1;t+=(lc(l.Ra+1900)?mc:nc)[x++]);return g(l.Wb+t,3)},"%m":function(l){return g(l.Ab+1,2)},"%M":function(l){return g(l.sd,2)},"%n":function(){return"\n"},"%p":function(l){return 0<= l.zb&&12>l.zb?"AM":"PM"},"%S":function(l){return g(l.td,2)},"%t":function(){return"\t"},"%u":function(l){return l.Ca||7},"%U":function(l){return g(Math.floor((l.Qa+7-l.Ca)/7),2)},"%V":function(l){var t=Math.floor((l.Qa+7-(l.Ca+6)%7)/7);2>=(l.Ca+371-l.Qa-2)%7&&t++;if(t)53==t&&(x=(l.Ca+371-l.Qa)%7,4==x||3==x&&lc(l.Ra)||(t=1));else{t=52;var x=(l.Ca+7-l.Qa-1)%7;(4==x||5==x&&lc(l.Ra%400-1))&&t++}return g(t,2)},"%w":function(l){return l.Ca},"%W":function(l){return g(Math.floor((l.Qa+7-(l.Ca+6)%7)/7),2)}, "%y":function(l){return(l.Ra+1900).toString().substring(2)},"%Y":function(l){return l.Ra+1900},"%z":function(l){l=l.rd;var t=0<=l;l=Math.abs(l)/60;return(t?"+":"-")+String("0000"+(l/60*100+l%60)).slice(-4)},"%Z":function(l){return l.ud},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(q in p)c.includes(q)&&(c=c.replace(new RegExp(q,"g"),p[q](d)));c=c.replace(/\0\0/g,"%");q=Sa(c,!1);if(q.length>b)return 0;B.set(q,a);return q.length-1} function pc(a,b,c,d){a||(a=this);this.parent=a;this.ja=a.ja;this.eb=null;this.id=L.bd++;this.name=b;this.mode=c;this.ca={};this.ea={};this.xb=d}Object.defineProperties(pc.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Yc:{get:function(){return L.ma(this.mode)}},qc:{get:function(){return L.rb(this.mode)}}});L.uc=pc;L.qd();var Za; e.FS_createPath=L.bc;e.FS_createDataFile=L.pb;e.FS_createPreloadedFile=L.cc;e.FS_unlink=L.Ha;e.FS_createLazyFile=L.ac;e.FS_createDevice=L.ta;ib=e.InternalError=hb("InternalError");for(var qc=Array(256),rc=0;256>rc;++rc)qc[rc]=String.fromCharCode(rc);mb=qc;nb=e.BindingError=hb("BindingError"); V.prototype.isAliasOf=function(a){if(!(this instanceof V&&a instanceof V))return!1;var b=this.ba.ka.ga,c=this.ba.fa,d=a.ba.ka.ga;for(a=a.ba.fa;b.sa;)c=b.lb(c),b=b.sa;for(;d.sa;)a=d.lb(a),d=d.sa;return b===d&&c===a}; V.prototype.clone=function(){this.ba.fa||ob(this);if(this.ba.hb)return this.ba.count.value+=1,this;var a=Ab,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.ba;a=a(c.call(b,d,{ba:{value:{count:f.count,Ta:f.Ta,hb:f.hb,fa:f.fa,ka:f.ka,pa:f.pa,ra:f.ra}}}));a.ba.count.value+=1;a.ba.Ta=!1;return a};V.prototype["delete"]=function(){this.ba.fa||ob(this);this.ba.Ta&&!this.ba.hb&&U("Object already scheduled for deletion");qb(this);rb(this.ba);this.ba.hb||(this.ba.pa=void 0,this.ba.fa=void 0)}; V.prototype.isDeleted=function(){return!this.ba.fa};V.prototype.deleteLater=function(){this.ba.fa||ob(this);this.ba.Ta&&!this.ba.hb&&U("Object already scheduled for deletion");ub.push(this);1===ub.length&&wb&&wb(vb);this.ba.Ta=!0;return this};e.getInheritedInstanceCount=function(){return Object.keys(xb).length};e.getLiveInheritedInstances=function(){var a=[],b;for(b in xb)xb.hasOwnProperty(b)&&a.push(xb[b]);return a};e.flushPendingDeletes=vb;e.setDelayFunction=function(a){wb=a;ub.length&&wb&&wb(vb)}; W.prototype.Rc=function(a){this.sc&&(a=this.sc(a));return a};W.prototype.fc=function(a){this.Fa&&this.Fa(a)};W.prototype.argPackAdvance=8;W.prototype.readValueFromPointer=cb;W.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; W.prototype.fromWireType=function(a){function b(){return this.ub?zb(this.ga.Va,{ka:this.gd,fa:c,ra:this,pa:a}):zb(this.ga.Va,{ka:this,fa:a})}var c=this.Rc(a);if(!c)return this.fc(a),null;var d=yb(this.ga,c);if(void 0!==d){if(0===d.ba.count.value)return d.ba.fa=c,d.ba.pa=a,d.clone();d=d.clone();this.fc(a);return d}d=this.ga.Pc(c);d=tb[d];if(!d)return b.call(this);d=this.sb?d.Cc:d.pointerType;var f=sb(c,this.ga,d.ga);return null===f?b.call(this):this.ub?zb(d.ga.Va,{ka:d,fa:f,ra:this,pa:a}):zb(d.ga.Va, {ka:d,fa:f})};Mb=e.UnboundTypeError=hb("UnboundTypeError");e.count_emval_handles=function(){for(var a=0,b=5;b<Z.length;++b)void 0!==Z[b]&&++a;return a};e.get_first_emval=function(){for(var a=5;a<Z.length;++a)if(void 0!==Z[a])return Z[a];return null}; var uc={a:function(a,b,c,d){k("Assertion failed: "+y(a)+", at: "+[b?y(b):"unknown filename",c,d?y(d):"unknown function"])},b:function(a,b,c){(new La(a)).Ua(b,c);Ma++;throw a;},o:function(a,b,c){$a=c;try{var d=Q(a);switch(b){case 0:var f=O();return 0>f?-28:L.dc(d,f).$a;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=O(),d.flags|=f,0;case 5:return f=O(),C[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return D[sc()>>2]=28,-1;default:return-28}}catch(g){if("undefined"== typeof L||!(g instanceof L.aa))throw g;return-g.va}},A:function(a,b,c){$a=c;try{var d=Q(a);switch(b){case 21509:case 21505:return d.la?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.la?0:-59;case 21519:if(!d.la)return-59;var f=O();return D[f>>2]=0;case 21520:return d.la?-28:-59;case 21531:return f=O(),L.Mb(d,b,f);case 21523:return d.la?0:-59;case 21524:return d.la?0:-59;default:return-28}}catch(g){if("undefined"==typeof L||!(g instanceof L.aa))throw g;return-g.va}}, B:function(a,b,c,d){$a=d;try{b=y(b);var f=b;if("/"===f.charAt(0))b=f;else{var g=-100===a?L.Cb():Q(a).path;if(0==f.length)throw new L.aa(44);b=I(g+"/"+f)}var h=d?O():0;return L.open(b,c,h).$a}catch(m){if("undefined"==typeof L||!(m instanceof L.aa))throw m;return-m.va}},s:function(a){var b=ab[a];delete ab[a];var c=b.elements,d=c.length,f=c.map(function(m){return m.Uc}).concat(c.map(function(m){return m.nd})),g=b.Rb,h=b.Fa;kb([a],f,function(m){c.forEach((n,p)=>{var q=m[p],r=n.Sc,v=n.Tc,l=m[p+d],t=n.md, x=n.od;n.read=A=>q.fromWireType(r(v,A));n.write=(A,P)=>{var M=[];t(x,A,l.toWireType(M,P));bb(M)}});return[{name:b.name,fromWireType:function(n){for(var p=Array(d),q=0;q<d;++q)p[q]=c[q].read(n);h(n);return p},toWireType:function(n,p){if(d!==p.length)throw new TypeError("Incorrect number of tuple elements for "+b.name+": expected="+d+", actual="+p.length);for(var q=g(),r=0;r<d;++r)c[r].write(q,p[r]);null!==n&&n.push(h,q);return q},argPackAdvance:8,readValueFromPointer:cb,ua:h}]})},v:function(){},G:function(a, b,c,d,f){var g=lb(c);b=T(b);S(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,m){return m?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var m=B;else if(2===c)m=C;else if(4===c)m=D;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[h>>g])},ua:null})},m:function(a,b,c,d,f,g,h,m,n,p,q,r,v){q=T(q);g=X(f,g);m&&(m=X(h,m));p&&(p=X(n,p));v=X(r,v);var l=fb(q);Cb(l,function(){Pb("Cannot construct "+q+" due to unbound types",[d])});kb([a, b,c],d?[d]:[],function(t){t=t[0];if(d){var x=t.ga;var A=x.Va}else A=V.prototype;t=gb(l,function(){if(Object.getPrototypeOf(this)!==P)throw new nb("Use 'new' to construct "+q);if(void 0===M.Ia)throw new nb(q+" has no accessible constructor");var Qb=M.Ia[arguments.length];if(void 0===Qb)throw new nb("Tried to invoke ctor of "+q+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(M.Ia).toString()+") parameters instead!");return Qb.apply(this,arguments)});var P=Object.create(A, {constructor:{value:t}});t.prototype=P;var M=new Db(q,t,P,v,x,g,m,p);x=new W(q,M,!0,!1);A=new W(q+"*",M,!1,!1);var Rb=new W(q+" const*",M,!1,!0);tb[a]={pointerType:A,Cc:Rb};Kb(l,t);return[x,A,Rb]})},k:function(a,b,c,d,f,g){0<b||k();var h=Sb(b,c);f=X(d,f);kb([],[a],function(m){m=m[0];var n="constructor "+m.name;void 0===m.ga.Ia&&(m.ga.Ia=[]);if(void 0!==m.ga.Ia[b-1])throw new nb("Cannot register multiple constructors with identical number of parameters ("+(b-1)+") for class '"+m.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!"); m.ga.Ia[b-1]=()=>{Pb("Cannot construct "+m.name+" due to unbound types",h)};kb([],h,function(p){p.splice(1,0,null);m.ga.Ia[b-1]=Ub(n,p,null,f,g);return[]});return[]})},e:function(a,b,c,d,f,g,h,m){var n=Sb(c,d);b=T(b);g=X(f,g);kb([],[a],function(p){function q(){Pb("Cannot call "+r+" due to unbound types",n)}p=p[0];var r=p.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&p.ga.hd.push(b);var v=p.ga.Va,l=v[b];void 0===l||void 0===l.Ba&&l.className!==p.name&&l.nb===c-2?(q.nb=c-2,q.className= p.name,v[b]=q):(Bb(v,b,r),v[b].Ba[c-2]=q);kb([],n,function(t){t=Ub(r,t,p,g,h);void 0===v[b].Ba?(t.nb=c-2,v[b]=t):v[b].Ba[c-2]=t;return[]});return[]})},F:function(a,b){b=T(b);S(a,{name:b,fromWireType:function(c){c||U("Cannot use deleted val. handle = "+c);var d=Z[c].value;Wb(c);return d},toWireType:function(c,d){return Ib(d)},argPackAdvance:8,readValueFromPointer:cb,ua:null})},q:function(a,b,c){c=lb(c);b=T(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8, readValueFromPointer:Xb(b,c),ua:null})},d:function(a,b,c,d,f){b=T(b);-1===f&&(f=4294967295);f=lb(c);var g=m=>m;if(0===d){var h=32-8*c;g=m=>m<<h>>>h}c=b.includes("unsigned")?function(m,n){return n>>>0}:function(m,n){return n};S(a,{name:b,fromWireType:g,toWireType:c,argPackAdvance:8,readValueFromPointer:Yb(b,f,0!==d),ua:null})},c:function(a,b,c){function d(g){g>>=2;var h=E;return new f(h.buffer,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b]; c=T(c);S(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{Vc:!0})},p:function(a,b){b=T(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var f=E[d>>2],g=d+4;if(c)for(var h=g,m=0;m<=f;++m){var n=g+m;if(m==f||0==z[n]){h=y(h,n-h);if(void 0===p)var p=h;else p+=String.fromCharCode(0),p+=h;h=n+1}}else{p=Array(f);for(m=0;m<f;++m)p[m]=String.fromCharCode(z[g+m]);p=p.join("")}Y(d);return p},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g,h="string"== typeof f;h||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||U("Cannot pass non-string to std::string");c&&h?g=ra(f):g=f.length;var m=tc(4+g+1),n=m+4;E[m>>2]=g;if(c&&h)qa(f,z,n,g+1);else if(h)for(h=0;h<g;++h){var p=f.charCodeAt(h);255<p&&(Y(n),U("String has UTF-16 code units that do not fit in 8 bits"));z[n+h]=p}else for(h=0;h<g;++h)z[n+h]=f[h];null!==d&&d.push(Y,m);return m},argPackAdvance:8,readValueFromPointer:cb,ua:function(d){Y(d)}})},i:function(a,b,c){c=T(c); if(2===b){var d=$b;var f=ac;var g=bc;var h=()=>sa;var m=1}else 4===b&&(d=cc,f=dc,g=ec,h=()=>E,m=2);S(a,{name:c,fromWireType:function(n){for(var p=E[n>>2],q=h(),r,v=n+4,l=0;l<=p;++l){var t=n+4+l*b;if(l==p||0==q[t>>m])v=d(v,t-v),void 0===r?r=v:(r+=String.fromCharCode(0),r+=v),v=t+b}Y(n);return r},toWireType:function(n,p){"string"!=typeof p&&U("Cannot pass non-string to C++ string type "+c);var q=g(p),r=tc(4+q+b);E[r>>2]=q>>m;f(p,r+4,q+b);null!==n&&n.push(Y,r);return r},argPackAdvance:8,readValueFromPointer:cb, ua:function(n){Y(n)}})},t:function(a,b,c,d,f,g){ab[a]={name:T(b),Rb:X(c,d),Fa:X(f,g),elements:[]}},j:function(a,b,c,d,f,g,h,m,n){ab[a].elements.push({Uc:b,Sc:X(c,d),Tc:f,nd:g,md:X(h,m),od:n})},H:function(a,b){b=T(b);S(a,{Ld:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},C:function(){return!0},I:Wb,J:function(a){4<a&&(Z[a].Ub+=1)},r:function(a,b){var c=R[a];void 0===c&&U("_emval_take_value has unknown type "+Nb(a));a=c;a=a.readValueFromPointe