chore: update node_modules with new binary files and dependencies
- Add new binary files for nodemon, onnxruntime-web, and xenova/transformers - Update various JavaScript and TypeScript files in node_modules - Remove unused files and dependencies - Add new test fixtures and documentation files
This commit is contained in:
96
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-simd-threaded.js
generated
vendored
Normal file
96
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-simd-threaded.js
generated
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
var ortWasmThreaded = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(ortWasmThreaded) {
|
||||
ortWasmThreaded = ortWasmThreaded || {};
|
||||
|
||||
|
||||
function d(){m.buffer!=n&&p(m.buffer);return aa}function q(){m.buffer!=n&&p(m.buffer);return ba}function r(){m.buffer!=n&&p(m.buffer);return ca}function v(){m.buffer!=n&&p(m.buffer);return da}function ea(){m.buffer!=n&&p(m.buffer);return fa}var x;x||(x=typeof ortWasmThreaded !== 'undefined' ? ortWasmThreaded : {});var ha,ia;x.ready=new Promise(function(a,b){ha=a;ia=b});
|
||||
var ja=Object.assign({},x),ka="./this.program",la=(a,b)=>{throw b;},ma="object"==typeof window,y="function"==typeof importScripts,B="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,C=x.ENVIRONMENT_IS_PTHREAD||!1,D="";function na(a){return x.locateFile?x.locateFile(a,D):D+a}var oa,pa,qa,fs,ra,sa;
|
||||
if(B){D=y?require("path").dirname(D)+"/":__dirname+"/";sa=()=>{ra||(fs=require("fs"),ra=require("path"))};oa=function(b,c){sa();b=ra.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};qa=b=>{b=oa(b,!0);b.buffer||(b=new Uint8Array(b));return b};pa=(b,c,e)=>{sa();b=ra.normalize(b);fs.readFile(b,function(f,h){f?e(f):c(h.buffer)})};1<process.argv.length&&(ka=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);process.on("uncaughtException",function(b){if(!(b instanceof E))throw b;});process.on("unhandledRejection",
|
||||
function(b){throw b;});la=(b,c)=>{if(F())throw process.exitCode=b,c;c instanceof E||G("exiting due to exception: "+c);process.exit(b)};x.inspect=function(){return"[Emscripten Module object]"};let a;try{a=require("worker_threads")}catch(b){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),b;}global.Worker=a.Worker}else if(ma||y)y?D=self.location.href:"undefined"!=typeof document&&document.currentScript&&(D=document.currentScript.src),
|
||||
_scriptDir&&(D=_scriptDir),0!==D.indexOf("blob:")?D=D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1):D="",B||(oa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},y&&(qa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),pa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=
|
||||
c;e.send(null)});B&&"undefined"==typeof performance&&(global.performance=require("perf_hooks").performance);var ta=console.log.bind(console),ua=console.warn.bind(console);B&&(sa(),ta=a=>fs.writeSync(1,a+"\n"),ua=a=>fs.writeSync(2,a+"\n"));var va=x.print||ta,G=x.printErr||ua;Object.assign(x,ja);ja=null;x.thisProgram&&(ka=x.thisProgram);x.quit&&(la=x.quit);var H;x.wasmBinary&&(H=x.wasmBinary);var noExitRuntime=x.noExitRuntime||!1;"object"!=typeof WebAssembly&&I("no native wasm support detected");
|
||||
var m,wa,xa=!1,ya="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||
function za(a,b,c){b>>>=0;var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&ya)return ya.decode(a.buffer instanceof SharedArrayBuffer?a.slice(b,c):a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
|
||||
function Aa(a,b){return(a>>>=0)?za(q(),a,b):""}
|
||||
function Ba(a,b,c,e){c>>>=0;if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++>>>0]=k}else{if(2047>=k){if(c+1>=e)break;b[c++>>>0]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++>>>0]=224|k>>12}else{if(c+3>=e)break;b[c++>>>0]=240|k>>18;b[c++>>>0]=128|k>>12&63}b[c++>>>0]=128|k>>6&63}b[c++>>>0]=128|k&63}}b[c>>>0]=0;return c-f}
|
||||
function Ca(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b}var n,aa,ba,ca,da,fa;C&&(n=x.buffer);function p(a){n=a;x.HEAP8=aa=new Int8Array(a);x.HEAP16=new Int16Array(a);x.HEAP32=ca=new Int32Array(a);x.HEAPU8=ba=new Uint8Array(a);x.HEAPU16=new Uint16Array(a);x.HEAPU32=da=new Uint32Array(a);x.HEAPF32=new Float32Array(a);x.HEAPF64=fa=new Float64Array(a)}var Da=x.INITIAL_MEMORY||16777216;
|
||||
if(C)m=x.wasmMemory,n=x.buffer;else if(x.wasmMemory)m=x.wasmMemory;else if(m=new WebAssembly.Memory({initial:Da/65536,maximum:65536,shared:!0}),!(m.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"),B&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),
|
||||
Error("bad memory");m&&(n=m.buffer);Da=n.byteLength;p(n);var Ea,Fa=[],Ga=[],Ha=[],Ia=[],Ja=0;function F(){return noExitRuntime||0<Ja}function Ka(){var a=x.preRun.shift();Fa.unshift(a)}var L=0,La=null,M=null;function I(a){if(C)postMessage({cmd:"onAbort",arg:a});else if(x.onAbort)x.onAbort(a);a="Aborted("+a+")";G(a);xa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ia(a);throw a;}function Ma(){return O.startsWith("data:application/octet-stream;base64,")}var O;O="ort-wasm-simd-threaded.wasm";
|
||||
Ma()||(O=na(O));function Na(){var a=O;try{if(a==O&&H)return new Uint8Array(H);if(qa)return qa(a);throw"both async and sync fetching of the wasm failed";}catch(b){I(b)}}
|
||||
function Oa(){if(!H&&(ma||y)){if("function"==typeof fetch&&!O.startsWith("file://"))return fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return Na()});if(pa)return new Promise(function(a,b){pa(O,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return Na()})}var Pa={};
|
||||
function E(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}function Qa(a){(a=P.Vb[a])||I();P.mc(a)}function Ra(a){var b=P.Cc();if(!b)return 6;P.ac.push(b);P.Vb[a.Ub]=b;b.Ub=a.Ub;var c={cmd:"run",start_routine:a.Ic,arg:a.zc,pthread_ptr:a.Ub};b.$b=()=>{c.time=performance.now();b.postMessage(c,a.Nc)};b.loaded&&(b.$b(),delete b.$b);return 0}function Sa(a){if(C)return Q(1,1,a);if(!F()){P.oc();if(x.onExit)x.onExit(a);xa=!0}la(a,new E(a))}
|
||||
function Ta(a,b){if(!b&&C)throw Ua(a),"unwind";F()||C||(Va(),R(Ha),Wa(0),Xa[1].length&&Ya(1,10),Xa[2].length&&Ya(2,10),P.oc());Sa(a)}
|
||||
var P={Yb:[],ac:[],qc:[],Vb:{},fc:function(){C&&P.Ec()},Pc:function(){},Ec:function(){P.receiveObjectTransfer=P.Gc;P.threadInitTLS=P.pc;P.setExitStatus=P.nc;noExitRuntime=!1},nc:function(){},oc:function(){for(var a of Object.values(P.Vb))P.mc(a);for(a of P.Yb)a.terminate();P.Yb=[]},mc:function(a){var b=a.Ub;delete P.Vb[b];P.Yb.push(a);P.ac.splice(P.ac.indexOf(a),1);a.Ub=0;Za(b)},Gc:function(){},pc:function(){P.qc.forEach(a=>a())},Fc:function(a,b){a.onmessage=c=>{c=c.data;var e=c.cmd;a.Ub&&(P.Bc=a.Ub);
|
||||
if(c.targetThread&&c.targetThread!=$a()){var f=P.Vb[c.Qc];f?f.postMessage(c,c.transferList):G('Internal error! Worker sent a message "'+e+'" to target pthread '+c.targetThread+", but that thread no longer exists!")}else if("processProxyingQueue"===e)ab(c.queue);else if("spawnThread"===e)Ra(c);else if("cleanupThread"===e)Qa(c.thread);else if("killThread"===e)c=c.thread,e=P.Vb[c],delete P.Vb[c],e.terminate(),Za(c),P.ac.splice(P.ac.indexOf(e),1),e.Ub=0;else if("cancelThread"===e)P.Vb[c.thread].postMessage({cmd:"cancel"});
|
||||
else if("loaded"===e)a.loaded=!0,b&&b(a),a.$b&&(a.$b(),delete a.$b);else if("print"===e)va("Thread "+c.threadId+": "+c.text);else if("printErr"===e)G("Thread "+c.threadId+": "+c.text);else if("alert"===e)alert("Thread "+c.threadId+": "+c.text);else if("setimmediate"===c.target)a.postMessage(c);else if("onAbort"===e){if(x.onAbort)x.onAbort(c.arg)}else e&&G("worker sent an unknown command "+e);P.Bc=void 0};a.onerror=c=>{G("worker sent an error! "+c.filename+":"+c.lineno+": "+c.message);throw c;};B&&
|
||||
(a.on("message",function(c){a.onmessage({data:c})}),a.on("error",function(c){a.onerror(c)}),a.on("detachedExit",function(){}));a.postMessage({cmd:"load",urlOrBlob:x.mainScriptUrlOrBlob||_scriptDir,wasmMemory:m,wasmModule:wa})},yc:function(){var a=na("ort-wasm-simd-threaded.worker.js");P.Yb.push(new Worker(a))},Cc:function(){0==P.Yb.length&&(P.yc(),P.Fc(P.Yb[0]));return P.Yb.pop()}};x.PThread=P;function R(a){for(;0<a.length;)a.shift()(x)}function bb(a){var b=S();a=a();U(b);return a}
|
||||
x.establishStackSpace=function(){var a=$a(),b=r()[a+44>>2>>>0];a=r()[a+48>>2>>>0];cb(b,b-a);U(b)};function Ua(a){if(C)return Q(2,0,a);try{Ta(a)}catch(b){b instanceof E||"unwind"==b||la(1,b)}}var db=[];function V(a){var b=db[a];b||(a>=db.length&&(db.length=a+1),db[a]=b=Ea.get(a));return b}x.invokeEntryPoint=function(a,b){a=V(a)(b);F()?P.nc(a):eb(a)};function fb(a,b){d().set(a,b>>>0)}var gb=[],hb=0,W=0;
|
||||
function X(a){this.Zb=a;this.Sb=a-24;this.xc=function(b){v()[this.Sb+4>>2>>>0]=b};this.bc=function(){return v()[this.Sb+4>>2>>>0]};this.wc=function(b){v()[this.Sb+8>>2>>>0]=b};this.Dc=function(){return v()[this.Sb+8>>2>>>0]};this.rc=function(){r()[this.Sb>>2>>>0]=0};this.hc=function(b){b=b?1:0;d()[this.Sb+12>>0>>>0]=b};this.uc=function(){return 0!=d()[this.Sb+12>>0>>>0]};this.ic=function(b){b=b?1:0;d()[this.Sb+13>>0>>>0]=b};this.kc=function(){return 0!=d()[this.Sb+13>>0>>>0]};this.fc=function(b,c){this.cc(0);
|
||||
this.xc(b);this.wc(c);this.rc();this.hc(!1);this.ic(!1)};this.sc=function(){Atomics.add(r(),this.Sb>>2,1)};this.Hc=function(){return 1===Atomics.sub(r(),this.Sb>>2,1)};this.cc=function(b){v()[this.Sb+16>>2>>>0]=b};this.tc=function(){return v()[this.Sb+16>>2>>>0]};this.vc=function(){if(ib(this.bc()))return v()[this.Zb>>2>>>0];var b=this.tc();return 0!==b?b:this.Zb}}function jb(a){return kb((new X(a)).Sb)}function lb(a,b,c,e){return C?Q(3,1,a,b,c,e):mb(a,b,c,e)}
|
||||
function mb(a,b,c,e){if("undefined"==typeof SharedArrayBuffer)return G("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var f=[];if(C&&0===f.length)return lb(a,b,c,e);a={Ic:c,Ub:a,zc:e,Nc:f};return C?(a.Oc="spawnThread",postMessage(a,f),0):Ra(a)}function nb(a,b,c){return C?Q(4,1,a,b,c):0}function ob(a,b){if(C)return Q(5,1,a,b)}function pb(a,b){if(C)return Q(6,1,a,b)}function qb(a,b,c){if(C)return Q(7,1,a,b,c)}function rb(a,b,c){return C?Q(8,1,a,b,c):0}
|
||||
function sb(a,b){if(C)return Q(9,1,a,b)}function tb(a,b,c){if(C)return Q(10,1,a,b,c)}function ub(a,b,c,e){if(C)return Q(11,1,a,b,c,e)}function vb(a,b,c,e){if(C)return Q(12,1,a,b,c,e)}function wb(a,b,c,e){if(C)return Q(13,1,a,b,c,e)}function xb(a){if(C)return Q(14,1,a)}function yb(a,b){if(C)return Q(15,1,a,b)}function zb(a,b,c){if(C)return Q(16,1,a,b,c)}function ab(a){Atomics.store(r(),a>>2,1);$a()&&Ab(a);Atomics.compareExchange(r(),a>>2,1,0)}x.executeNotifiedProxyingQueue=ab;
|
||||
function Bb(a){return v()[a>>>2]+4294967296*r()[a+4>>>2]}function Cb(a,b,c,e,f,h){return C?Q(17,1,a,b,c,e,f,h):-52}function Db(a,b,c,e,f,h){if(C)return Q(18,1,a,b,c,e,f,h)}function Eb(a){var b=Ca(a)+1,c=Fb(b);c&&Ba(a,d(),c,b);return c}
|
||||
function Gb(a,b,c){function e(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}if(C)return Q(19,1,a,b,c);var f=(new Date).getFullYear(),h=new Date(f,0,1),k=new Date(f,6,1);f=h.getTimezoneOffset();var l=k.getTimezoneOffset(),u=Math.max(f,l);r()[a>>2>>>0]=60*u;r()[b>>2>>>0]=Number(f!=l);a=e(h);b=e(k);a=Eb(a);b=Eb(b);l<f?(v()[c>>2>>>0]=a,v()[c+4>>2>>>0]=b):(v()[c>>2>>>0]=b,v()[c+4>>2>>>0]=a)}function Hb(a,b,c){Hb.Ac||(Hb.Ac=!0,Gb(a,b,c))}var Ib,Jb;
|
||||
Jb=B?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:C?()=>performance.now()-x.__performance_now_clock_drift:()=>performance.now();function Q(a,b){var c=arguments.length-2,e=arguments;return bb(()=>{for(var f=Kb(8*c),h=f>>3,k=0;k<c;k++){var l=e[2+k];ea()[h+k>>>0]=l}return Lb(a,c,f,b)})}var Mb=[],Nb={};
|
||||
function Ob(){if(!Pb){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",_:ka||"./this.program"},b;for(b in Nb)void 0===Nb[b]?delete a[b]:a[b]=Nb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Pb=c}return Pb}var Pb;
|
||||
function Qb(a,b){if(C)return Q(20,1,a,b);var c=0;Ob().forEach(function(e,f){var h=b+c;f=v()[a+4*f>>2>>>0]=h;for(h=0;h<e.length;++h)d()[f++>>0>>>0]=e.charCodeAt(h);d()[f>>0>>>0]=0;c+=e.length+1});return 0}function Rb(a,b){if(C)return Q(21,1,a,b);var c=Ob();v()[a>>2>>>0]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});v()[b>>2>>>0]=e;return 0}function Sb(a){return C?Q(22,1,a):52}function Tb(a,b,c,e){return C?Q(23,1,a,b,c,e):52}function Ub(a,b,c,e,f){return C?Q(24,1,a,b,c,e,f):70}
|
||||
var Xa=[null,[],[]];function Ya(a,b){var c=Xa[a];0===b||10===b?((1===a?va:G)(za(c,0)),c.length=0):c.push(b)}function Vb(a,b,c,e){if(C)return Q(25,1,a,b,c,e);for(var f=0,h=0;h<c;h++){var k=v()[b>>2>>>0],l=v()[b+4>>2>>>0];b+=8;for(var u=0;u<l;u++)Ya(a,q()[k+u>>>0]);f+=l}v()[e>>2>>>0]=f;return 0}var Y=0;
|
||||
function Wb(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}if(B)try{var b=require("crypto");return()=>b.randomBytes(1)[0]}catch(c){}return()=>I("randomDevice")}function Xb(a,b){Xb.lc||(Xb.lc=Wb());for(var c=0;c<b;c++)d()[a+c>>0>>>0]=Xb.lc();return 0}function Yb(a){return 0===a%4&&(0!==a%100||0===a%400)}var Zb=[31,29,31,30,31,30,31,31,30,31,30,31],$b=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
function ac(a){var b=Array(Ca(a)+1);Ba(a,b,0,b.length);return b}
|
||||
function bc(a,b,c,e){function f(g,w,z){for(g="number"==typeof g?g.toString():g||"";g.length<w;)g=z[0]+g;return g}function h(g,w){return f(g,w,"0")}function k(g,w){function z(T){return 0>T?-1:0<T?1:0}var N;0===(N=z(g.getFullYear()-w.getFullYear()))&&0===(N=z(g.getMonth()-w.getMonth()))&&(N=z(g.getDate()-w.getDate()));return N}function l(g){switch(g.getDay()){case 0:return new Date(g.getFullYear()-1,11,29);case 1:return g;case 2:return new Date(g.getFullYear(),0,3);case 3:return new Date(g.getFullYear(),
|
||||
0,2);case 4:return new Date(g.getFullYear(),0,1);case 5:return new Date(g.getFullYear()-1,11,31);case 6:return new Date(g.getFullYear()-1,11,30)}}function u(g){var w=g.Wb;for(g=new Date((new Date(g.Xb+1900,0,1)).getTime());0<w;){var z=g.getMonth(),N=(Yb(g.getFullYear())?Zb:$b)[z];if(w>N-g.getDate())w-=N-g.getDate()+1,g.setDate(1),11>z?g.setMonth(z+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else{g.setDate(g.getDate()+w);break}}z=new Date(g.getFullYear()+1,0,4);w=l(new Date(g.getFullYear(),
|
||||
0,4));z=l(z);return 0>=k(w,g)?0>=k(z,g)?g.getFullYear()+1:g.getFullYear():g.getFullYear()-1}var t=r()[e+40>>2>>>0];e={Lc:r()[e>>2>>>0],Kc:r()[e+4>>2>>>0],dc:r()[e+8>>2>>>0],jc:r()[e+12>>2>>>0],ec:r()[e+16>>2>>>0],Xb:r()[e+20>>2>>>0],Tb:r()[e+24>>2>>>0],Wb:r()[e+28>>2>>>0],Rc:r()[e+32>>2>>>0],Jc:r()[e+36>>2>>>0],Mc:t?Aa(t):""};c=Aa(c);t={"%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 A in t)c=c.replace(new RegExp(A,"g"),t[A]);var K="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),J="January February March April May June July August September October November December".split(" ");t={"%a":function(g){return K[g.Tb].substring(0,3)},"%A":function(g){return K[g.Tb]},
|
||||
"%b":function(g){return J[g.ec].substring(0,3)},"%B":function(g){return J[g.ec]},"%C":function(g){return h((g.Xb+1900)/100|0,2)},"%d":function(g){return h(g.jc,2)},"%e":function(g){return f(g.jc,2," ")},"%g":function(g){return u(g).toString().substring(2)},"%G":function(g){return u(g)},"%H":function(g){return h(g.dc,2)},"%I":function(g){g=g.dc;0==g?g=12:12<g&&(g-=12);return h(g,2)},"%j":function(g){for(var w=0,z=0;z<=g.ec-1;w+=(Yb(g.Xb+1900)?Zb:$b)[z++]);return h(g.jc+w,3)},"%m":function(g){return h(g.ec+
|
||||
1,2)},"%M":function(g){return h(g.Kc,2)},"%n":function(){return"\n"},"%p":function(g){return 0<=g.dc&&12>g.dc?"AM":"PM"},"%S":function(g){return h(g.Lc,2)},"%t":function(){return"\t"},"%u":function(g){return g.Tb||7},"%U":function(g){return h(Math.floor((g.Wb+7-g.Tb)/7),2)},"%V":function(g){var w=Math.floor((g.Wb+7-(g.Tb+6)%7)/7);2>=(g.Tb+371-g.Wb-2)%7&&w++;if(w)53==w&&(z=(g.Tb+371-g.Wb)%7,4==z||3==z&&Yb(g.Xb)||(w=1));else{w=52;var z=(g.Tb+7-g.Wb-1)%7;(4==z||5==z&&Yb(g.Xb%400-1))&&w++}return h(w,
|
||||
2)},"%w":function(g){return g.Tb},"%W":function(g){return h(Math.floor((g.Wb+7-(g.Tb+6)%7)/7),2)},"%y":function(g){return(g.Xb+1900).toString().substring(2)},"%Y":function(g){return g.Xb+1900},"%z":function(g){g=g.Jc;var w=0<=g;g=Math.abs(g)/60;return(w?"+":"-")+String("0000"+(g/60*100+g%60)).slice(-4)},"%Z":function(g){return g.Mc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(A in t)c.includes(A)&&(c=c.replace(new RegExp(A,"g"),t[A](e)));c=c.replace(/\0\0/g,"%");A=ac(c);if(A.length>
|
||||
b)return 0;fb(A,a);return A.length-1}P.fc();
|
||||
var cc=[null,Sa,Ua,lb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Cb,Db,Gb,Qb,Rb,Sb,Tb,Ub,Vb],Pc={b:function(a){return Fb(a+24)+24},n:function(a){a=new X(a);a.uc()||(a.hc(!0),hb--);a.ic(!1);gb.push(a);a.sc();return a.vc()},ma:function(a){G("Unexpected exception thrown, this is not properly supported - aborting");xa=!0;throw a;},x:function(){Z(0);var a=gb.pop();if(a.Hc()&&!a.kc()){var b=a.Dc();b&&V(b)(a.Zb);jb(a.Zb)}W=0},e:function(){var a=W;if(!a)return Y=0;var b=new X(a);b.cc(a);var c=b.bc();if(!c)return Y=
|
||||
0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(dc(h,c,b.Sb+16))return Y=h,a}Y=c;return a},l:function(){var a=W;if(!a)return Y=0;var b=new X(a);b.cc(a);var c=b.bc();if(!c)return Y=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(dc(h,c,b.Sb+16))return Y=h,a}Y=c;return a},h:function(){var a=W;if(!a)return Y=0;var b=new X(a);b.cc(a);var c=b.bc();if(!c)return Y=0,a;for(var e=Array.prototype.slice.call(arguments),
|
||||
f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(dc(h,c,b.Sb+16))return Y=h,a}Y=c;return a},t:jb,M:function(){var a=gb.pop();a||I("no exception to throw");var b=a.Zb;a.kc()||(gb.push(a),a.ic(!0),a.hc(!1),hb++);W=b;throw b;},c:function(a,b,c){(new X(a)).fc(b,c);W=a;hb++;throw a;},pa:function(){return hb},Fa:function(a){ec(a,!y,1,!ma);P.pc()},T:function(a){C?postMessage({cmd:"cleanupThread",thread:a}):Qa(a)},xa:mb,j:function(a){W||(W=a);throw a;},H:nb,Ma:ob,ua:pb,wa:qb,oa:rb,Ka:sb,Ca:tb,Ja:ub,
|
||||
V:vb,va:wb,sa:xb,La:yb,ta:zb,Ta:function(){},X:function(){I("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ua:function(){I("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},W:function(){return Date.now()},ya:function(){return 2097152},Oa:function(){return!0},za:function(a,b,c,e){if(a==b)setTimeout(()=>ab(e));else if(C)postMessage({targetThread:a,cmd:"processProxyingQueue",
|
||||
queue:e});else{a=P.Vb[a];if(!a)return;a.postMessage({cmd:"processProxyingQueue",queue:e})}return 1},Ea:function(){return-1},Pa:function(a,b){a=new Date(1E3*Bb(a));r()[b>>2>>>0]=a.getUTCSeconds();r()[b+4>>2>>>0]=a.getUTCMinutes();r()[b+8>>2>>>0]=a.getUTCHours();r()[b+12>>2>>>0]=a.getUTCDate();r()[b+16>>2>>>0]=a.getUTCMonth();r()[b+20>>2>>>0]=a.getUTCFullYear()-1900;r()[b+24>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;r()[b+28>>2>>>0]=a},Qa:function(a,b){a=
|
||||
new Date(1E3*Bb(a));r()[b>>2>>>0]=a.getSeconds();r()[b+4>>2>>>0]=a.getMinutes();r()[b+8>>2>>>0]=a.getHours();r()[b+12>>2>>>0]=a.getDate();r()[b+16>>2>>>0]=a.getMonth();r()[b+20>>2>>>0]=a.getFullYear()-1900;r()[b+24>>2>>>0]=a.getDay();var c=new Date(a.getFullYear(),0,1),e=(a.getTime()-c.getTime())/864E5|0;r()[b+28>>2>>>0]=e;r()[b+36>>2>>>0]=-(60*a.getTimezoneOffset());e=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();a=(e!=c&&a.getTimezoneOffset()==Math.min(c,e))|0;r()[b+
|
||||
32>>2>>>0]=a},Ra:function(a){var b=new Date(r()[a+20>>2>>>0]+1900,r()[a+16>>2>>>0],r()[a+12>>2>>>0],r()[a+8>>2>>>0],r()[a+4>>2>>>0],r()[a>>2>>>0],0),c=r()[a+32>>2>>>0],e=b.getTimezoneOffset(),f=new Date(b.getFullYear(),0,1),h=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),k=f.getTimezoneOffset(),l=Math.min(k,h);0>c?r()[a+32>>2>>>0]=Number(h!=k&&l==e):0<c!=(l==e)&&(h=Math.max(k,h),b.setTime(b.getTime()+6E4*((0<c?l:h)-e)));r()[a+24>>2>>>0]=b.getDay();c=(b.getTime()-f.getTime())/864E5|0;r()[a+28>>
|
||||
2>>>0]=c;r()[a>>2>>>0]=b.getSeconds();r()[a+4>>2>>>0]=b.getMinutes();r()[a+8>>2>>>0]=b.getHours();r()[a+12>>2>>>0]=b.getDate();r()[a+16>>2>>>0]=b.getMonth();return b.getTime()/1E3|0},Aa:Cb,Ba:Db,Sa:Hb,y:function(){I("")},U:function(){if(!B&&!y){var a="Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread";Ib||(Ib={});Ib[a]||(Ib[a]=1,B&&(a="warning: "+a),G(a))}},ra:function(){return 4294901760},B:Jb,Ia:function(a,b,
|
||||
c){q().copyWithin(a>>>0,b>>>0,b+c>>>0)},F:function(){return B?require("os").cpus().length:navigator.hardwareConcurrency},Da:function(a,b,c){Mb.length=b;c>>=3;for(var e=0;e<b;e++)Mb[e]=ea()[c+e>>>0];return(0>a?Pa[-a-1]:cc[a]).apply(null,Mb)},qa:function(a){var b=q().length;a>>>=0;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);f=f.min.call(f,4294901760,e+(65536-e%65536)%65536);a:{try{m.grow(f-n.byteLength+65535>>>16);p(m.buffer);
|
||||
var h=1;break a}catch(k){}h=void 0}if(h)return!0}return!1},Na:function(){throw"unwind";},Ga:Qb,Ha:Rb,J:Ta,I:Sb,S:Tb,ga:Ub,R:Vb,d:function(){return Y},na:Xb,ia:fc,ja:gc,K:hc,f:ic,P:jc,Q:kc,k:lc,p:mc,q:nc,N:oc,s:pc,w:qc,L:rc,E:sc,aa:tc,_:uc,Z:vc,ca:wc,$:xc,ba:yc,Y:zc,g:Ac,r:Bc,i:Cc,ha:Dc,m:Ec,v:Fc,u:Gc,O:Hc,A:Ic,ka:Jc,C:Kc,D:Lc,fa:Mc,da:Nc,ea:Oc,o:function(a){return a},a:m||x.wasmMemory,G:function(a){Y=a},la:bc,z:function(a,b,c,e){return bc(a,b,c,e)}};
|
||||
(function(){function a(f,h){x.asm=f.exports;P.qc.push(x.asm.sb);Ea=x.asm.ub;Ga.unshift(x.asm.Va);wa=h;C||(L--,x.monitorRunDependencies&&x.monitorRunDependencies(L),0==L&&(null!==La&&(clearInterval(La),La=null),M&&(f=M,M=null,f())))}function b(f){a(f.instance,f.module)}function c(f){return Oa().then(function(h){return WebAssembly.instantiate(h,e)}).then(function(h){return h}).then(f,function(h){G("failed to asynchronously prepare wasm: "+h);I(h)})}var e={a:Pc};C||(L++,x.monitorRunDependencies&&x.monitorRunDependencies(L));
|
||||
if(x.instantiateWasm)try{return x.instantiateWasm(e,a)}catch(f){return G("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return H||"function"!=typeof WebAssembly.instantiateStreaming||Ma()||O.startsWith("file://")||B||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(h){G("wasm streaming compile failed: "+h);G("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ia);
|
||||
return{}})();x.___wasm_call_ctors=function(){return(x.___wasm_call_ctors=x.asm.Va).apply(null,arguments)};x._OrtInit=function(){return(x._OrtInit=x.asm.Wa).apply(null,arguments)};x._OrtCreateSessionOptions=function(){return(x._OrtCreateSessionOptions=x.asm.Xa).apply(null,arguments)};x._OrtAppendExecutionProvider=function(){return(x._OrtAppendExecutionProvider=x.asm.Ya).apply(null,arguments)};x._OrtAddSessionConfigEntry=function(){return(x._OrtAddSessionConfigEntry=x.asm.Za).apply(null,arguments)};
|
||||
x._OrtReleaseSessionOptions=function(){return(x._OrtReleaseSessionOptions=x.asm._a).apply(null,arguments)};x._OrtCreateSession=function(){return(x._OrtCreateSession=x.asm.$a).apply(null,arguments)};x._OrtReleaseSession=function(){return(x._OrtReleaseSession=x.asm.ab).apply(null,arguments)};x._OrtGetInputCount=function(){return(x._OrtGetInputCount=x.asm.bb).apply(null,arguments)};x._OrtGetOutputCount=function(){return(x._OrtGetOutputCount=x.asm.cb).apply(null,arguments)};
|
||||
x._OrtGetInputName=function(){return(x._OrtGetInputName=x.asm.db).apply(null,arguments)};x._OrtGetOutputName=function(){return(x._OrtGetOutputName=x.asm.eb).apply(null,arguments)};x._OrtFree=function(){return(x._OrtFree=x.asm.fb).apply(null,arguments)};x._OrtCreateTensor=function(){return(x._OrtCreateTensor=x.asm.gb).apply(null,arguments)};x._OrtGetTensorData=function(){return(x._OrtGetTensorData=x.asm.hb).apply(null,arguments)};
|
||||
x._OrtReleaseTensor=function(){return(x._OrtReleaseTensor=x.asm.ib).apply(null,arguments)};x._OrtCreateRunOptions=function(){return(x._OrtCreateRunOptions=x.asm.jb).apply(null,arguments)};x._OrtAddRunConfigEntry=function(){return(x._OrtAddRunConfigEntry=x.asm.kb).apply(null,arguments)};x._OrtReleaseRunOptions=function(){return(x._OrtReleaseRunOptions=x.asm.lb).apply(null,arguments)};x._OrtRun=function(){return(x._OrtRun=x.asm.mb).apply(null,arguments)};
|
||||
x._OrtEndProfiling=function(){return(x._OrtEndProfiling=x.asm.nb).apply(null,arguments)};var $a=x._pthread_self=function(){return($a=x._pthread_self=x.asm.ob).apply(null,arguments)},Fb=x._malloc=function(){return(Fb=x._malloc=x.asm.pb).apply(null,arguments)},kb=x._free=function(){return(kb=x._free=x.asm.qb).apply(null,arguments)},Wa=x._fflush=function(){return(Wa=x._fflush=x.asm.rb).apply(null,arguments)};x.__emscripten_tls_init=function(){return(x.__emscripten_tls_init=x.asm.sb).apply(null,arguments)};
|
||||
var Va=x.___funcs_on_exit=function(){return(Va=x.___funcs_on_exit=x.asm.tb).apply(null,arguments)},ec=x.__emscripten_thread_init=function(){return(ec=x.__emscripten_thread_init=x.asm.vb).apply(null,arguments)};x.__emscripten_thread_crashed=function(){return(x.__emscripten_thread_crashed=x.asm.wb).apply(null,arguments)};
|
||||
var Lb=x._emscripten_run_in_main_runtime_thread_js=function(){return(Lb=x._emscripten_run_in_main_runtime_thread_js=x.asm.xb).apply(null,arguments)},Ab=x.__emscripten_proxy_execute_task_queue=function(){return(Ab=x.__emscripten_proxy_execute_task_queue=x.asm.yb).apply(null,arguments)},Za=x.__emscripten_thread_free_data=function(){return(Za=x.__emscripten_thread_free_data=x.asm.zb).apply(null,arguments)},eb=x.__emscripten_thread_exit=function(){return(eb=x.__emscripten_thread_exit=x.asm.Ab).apply(null,
|
||||
arguments)},Z=x._setThrew=function(){return(Z=x._setThrew=x.asm.Bb).apply(null,arguments)},cb=x._emscripten_stack_set_limits=function(){return(cb=x._emscripten_stack_set_limits=x.asm.Cb).apply(null,arguments)},S=x.stackSave=function(){return(S=x.stackSave=x.asm.Db).apply(null,arguments)},U=x.stackRestore=function(){return(U=x.stackRestore=x.asm.Eb).apply(null,arguments)},Kb=x.stackAlloc=function(){return(Kb=x.stackAlloc=x.asm.Fb).apply(null,arguments)},dc=x.___cxa_can_catch=function(){return(dc=x.___cxa_can_catch=
|
||||
x.asm.Gb).apply(null,arguments)},ib=x.___cxa_is_pointer_type=function(){return(ib=x.___cxa_is_pointer_type=x.asm.Hb).apply(null,arguments)},Qc=x.dynCall_j=function(){return(Qc=x.dynCall_j=x.asm.Ib).apply(null,arguments)},Rc=x.dynCall_iiiiij=function(){return(Rc=x.dynCall_iiiiij=x.asm.Jb).apply(null,arguments)},Sc=x.dynCall_jii=function(){return(Sc=x.dynCall_jii=x.asm.Kb).apply(null,arguments)},Tc=x.dynCall_viiiiij=function(){return(Tc=x.dynCall_viiiiij=x.asm.Lb).apply(null,arguments)},Uc=x.dynCall_vjji=
|
||||
function(){return(Uc=x.dynCall_vjji=x.asm.Mb).apply(null,arguments)},Vc=x.dynCall_viiijjjii=function(){return(Vc=x.dynCall_viiijjjii=x.asm.Nb).apply(null,arguments)},Wc=x.dynCall_iij=function(){return(Wc=x.dynCall_iij=x.asm.Ob).apply(null,arguments)},Xc=x.dynCall_ji=function(){return(Xc=x.dynCall_ji=x.asm.Pb).apply(null,arguments)},Yc=x.dynCall_iiiiiij=function(){return(Yc=x.dynCall_iiiiiij=x.asm.Qb).apply(null,arguments)},Zc=x.dynCall_iiij=function(){return(Zc=x.dynCall_iiij=x.asm.Rb).apply(null,
|
||||
arguments)};function ic(a,b){var c=S();try{return V(a)(b)}catch(e){U(c);if(e!==e+0)throw e;Z(1,0)}}function Bc(a,b){var c=S();try{V(a)(b)}catch(e){U(c);if(e!==e+0)throw e;Z(1,0)}}function Cc(a,b,c){var e=S();try{V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function lc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function mc(a,b,c,e){var f=S();try{return V(a)(b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}
|
||||
function qc(a,b,c,e,f,h,k){var l=S();try{return V(a)(b,c,e,f,h,k)}catch(u){U(l);if(u!==u+0)throw u;Z(1,0)}}function Ac(a){var b=S();try{V(a)()}catch(c){U(b);if(c!==c+0)throw c;Z(1,0)}}function pc(a,b,c,e,f,h){var k=S();try{return V(a)(b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}function nc(a,b,c,e,f){var h=S();try{return V(a)(b,c,e,f)}catch(k){U(h);if(k!==k+0)throw k;Z(1,0)}}function Ec(a,b,c,e){var f=S();try{V(a)(b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}
|
||||
function Gc(a,b,c,e,f,h){var k=S();try{V(a)(b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}function Fc(a,b,c,e,f){var h=S();try{V(a)(b,c,e,f)}catch(k){U(h);if(k!==k+0)throw k;Z(1,0)}}function Ic(a,b,c,e,f,h,k,l){var u=S();try{V(a)(b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}function kc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function jc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}
|
||||
function Jc(a,b,c,e,f,h,k,l,u){var t=S();try{V(a)(b,c,e,f,h,k,l,u)}catch(A){U(t);if(A!==A+0)throw A;Z(1,0)}}function Hc(a,b,c,e,f,h,k){var l=S();try{V(a)(b,c,e,f,h,k)}catch(u){U(l);if(u!==u+0)throw u;Z(1,0)}}function oc(a,b,c,e,f,h){var k=S();try{return V(a)(b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}function rc(a,b,c,e,f,h,k,l){var u=S();try{return V(a)(b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}
|
||||
function sc(a,b,c,e,f,h,k,l,u,t,A,K){var J=S();try{return V(a)(b,c,e,f,h,k,l,u,t,A,K)}catch(g){U(J);if(g!==g+0)throw g;Z(1,0)}}function Kc(a,b,c,e,f,h,k,l,u,t,A){var K=S();try{V(a)(b,c,e,f,h,k,l,u,t,A)}catch(J){U(K);if(J!==J+0)throw J;Z(1,0)}}function Lc(a,b,c,e,f,h,k,l,u,t,A,K,J,g,w,z){var N=S();try{V(a)(b,c,e,f,h,k,l,u,t,A,K,J,g,w,z)}catch(T){U(N);if(T!==T+0)throw T;Z(1,0)}}function hc(a){var b=S();try{return V(a)()}catch(c){U(b);if(c!==c+0)throw c;Z(1,0)}}
|
||||
function gc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function fc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function Dc(a,b,c,e){var f=S();try{V(a)(b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}function Mc(a,b,c,e,f,h,k,l){var u=S();try{Tc(a,b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}function Oc(a,b,c,e,f,h){var k=S();try{Uc(a,b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}
|
||||
function Nc(a,b,c,e,f,h,k,l,u,t,A,K){var J=S();try{Vc(a,b,c,e,f,h,k,l,u,t,A,K)}catch(g){U(J);if(g!==g+0)throw g;Z(1,0)}}function wc(a,b,c,e){var f=S();try{return Wc(a,b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}function yc(a,b){var c=S();try{return Xc(a,b)}catch(e){U(c);if(e!==e+0)throw e;Z(1,0)}}function tc(a,b,c,e,f,h,k,l){var u=S();try{return Yc(a,b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}function xc(a){var b=S();try{return Qc(a)}catch(c){U(b);if(c!==c+0)throw c;Z(1,0)}}
|
||||
function uc(a,b,c,e,f,h,k){var l=S();try{return Rc(a,b,c,e,f,h,k)}catch(u){U(l);if(u!==u+0)throw u;Z(1,0)}}function vc(a,b,c,e,f){var h=S();try{return Zc(a,b,c,e,f)}catch(k){U(h);if(k!==k+0)throw k;Z(1,0)}}function zc(a,b,c){var e=S();try{return Sc(a,b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}x.UTF8ToString=Aa;x.stringToUTF8=function(a,b,c){return Ba(a,q(),b,c)};x.lengthBytesUTF8=Ca;x.keepRuntimeAlive=F;x.wasmMemory=m;x.stackSave=S;x.stackRestore=U;x.stackAlloc=Kb;x.ExitStatus=E;x.PThread=P;var $c;
|
||||
M=function ad(){$c||bd();$c||(M=ad)};
|
||||
function bd(){function a(){if(!$c&&($c=!0,x.calledRun=!0,!xa)){C||R(Ga);ha(x);if(x.onRuntimeInitialized)x.onRuntimeInitialized();if(!C){if(x.postRun)for("function"==typeof x.postRun&&(x.postRun=[x.postRun]);x.postRun.length;){var b=x.postRun.shift();Ia.unshift(b)}R(Ia)}}}if(!(0<L))if(C)ha(x),C||R(Ga),postMessage({cmd:"loaded"});else{if(x.preRun)for("function"==typeof x.preRun&&(x.preRun=[x.preRun]);x.preRun.length;)Ka();R(Fa);0<L||(x.setStatus?(x.setStatus("Running..."),setTimeout(function(){setTimeout(function(){x.setStatus("")},
|
||||
1);a()},1)):a())}}if(x.preInit)for("function"==typeof x.preInit&&(x.preInit=[x.preInit]);0<x.preInit.length;)x.preInit.pop()();bd();
|
||||
|
||||
|
||||
return ortWasmThreaded.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = ortWasmThreaded;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return ortWasmThreaded; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["ortWasmThreaded"] = ortWasmThreaded;
|
||||
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-simd-threaded.worker.js
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-simd-threaded.worker.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.onmessage=e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}ortWasmThreaded(Module).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.pthread_ptr,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0,/*canBlock=*/1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}};
|
||||
77
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-simd.js
generated
vendored
Normal file
77
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-simd.js
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
|
||||
var ortWasm = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(ortWasm) {
|
||||
ortWasm = ortWasm || {};
|
||||
|
||||
|
||||
var d;d||(d=typeof ortWasm !== 'undefined' ? ortWasm : {});var aa,ba;d.ready=new Promise(function(a,b){aa=a;ba=b});var ca=Object.assign({},d),da="./this.program",ea=(a,b)=>{throw b;},fa="object"==typeof window,m="function"==typeof importScripts,p="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,q="",ha,r,v,fs,y,ia;
|
||||
if(p)q=m?require("path").dirname(q)+"/":__dirname+"/",ia=()=>{y||(fs=require("fs"),y=require("path"))},ha=function(a,b){ia();a=y.normalize(a);return fs.readFileSync(a,b?void 0:"utf8")},v=a=>{a=ha(a,!0);a.buffer||(a=new Uint8Array(a));return a},r=(a,b,c)=>{ia();a=y.normalize(a);fs.readFile(a,function(e,f){e?c(e):b(f.buffer)})},1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof ja))throw a;}),process.on("unhandledRejection",
|
||||
function(a){throw a;}),ea=(a,b)=>{if(noExitRuntime||0<ka)throw process.exitCode=a,b;b instanceof ja||z("exiting due to exception: "+b);process.exit(a)},d.inspect=function(){return"[Emscripten Module object]"};else if(fa||m)m?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptDir&&(q=_scriptDir),0!==q.indexOf("blob:")?q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1):q="",ha=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);
|
||||
return b.responseText},m&&(v=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),r=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var la=d.print||console.log.bind(console),z=d.printErr||console.warn.bind(console);Object.assign(d,ca);ca=null;d.thisProgram&&(da=d.thisProgram);d.quit&&(ea=d.quit);
|
||||
var A;d.wasmBinary&&(A=d.wasmBinary);var noExitRuntime=d.noExitRuntime||!1;"object"!=typeof WebAssembly&&B("no native wasm support detected");var ma,D=!1,na="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||
function oa(a,b,c){b>>>=0;var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&na)return na.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}function pa(a,b){return(a>>>=0)?oa(G,a,b):""}
|
||||
function qa(a,b,c,e){c>>>=0;if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++>>>0]=k}else{if(2047>=k){if(c+1>=e)break;b[c++>>>0]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++>>>0]=224|k>>12}else{if(c+3>=e)break;b[c++>>>0]=240|k>>18;b[c++>>>0]=128|k>>12&63}b[c++>>>0]=128|k>>6&63}b[c++>>>0]=128|k&63}}b[c>>>0]=0;return c-f}
|
||||
function ra(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b}var sa,H,G,I,J;function ta(){var a=ma.buffer;sa=a;d.HEAP8=H=new Int8Array(a);d.HEAP16=new Int16Array(a);d.HEAP32=I=new Int32Array(a);d.HEAPU8=G=new Uint8Array(a);d.HEAPU16=new Uint16Array(a);d.HEAPU32=J=new Uint32Array(a);d.HEAPF32=new Float32Array(a);d.HEAPF64=new Float64Array(a)}var ua,va=[],wa=[],xa=[],ya=[],ka=0;
|
||||
function za(){var a=d.preRun.shift();va.unshift(a)}var K=0,Aa=null,L=null;function B(a){if(d.onAbort)d.onAbort(a);a="Aborted("+a+")";z(a);D=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Ba(){return N.startsWith("data:application/octet-stream;base64,")}var N;N="ort-wasm-simd.wasm";if(!Ba()){var Ca=N;N=d.locateFile?d.locateFile(Ca,q):q+Ca}
|
||||
function Da(){var a=N;try{if(a==N&&A)return new Uint8Array(A);if(v)return v(a);throw"both async and sync fetching of the wasm failed";}catch(b){B(b)}}
|
||||
function Ea(){if(!A&&(fa||m)){if("function"==typeof fetch&&!N.startsWith("file://"))return fetch(N,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+N+"'";return a.arrayBuffer()}).catch(function(){return Da()});if(r)return new Promise(function(a,b){r(N,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return Da()})}function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
|
||||
function O(a){for(;0<a.length;)a.shift()(d)}var P=[],Q=0,R=0;
|
||||
function S(a){this.Db=a;this.zb=a-24;this.Ub=function(b){J[this.zb+4>>2>>>0]=b};this.Eb=function(){return J[this.zb+4>>2>>>0]};this.Sb=function(b){J[this.zb+8>>2>>>0]=b};this.Wb=function(){return J[this.zb+8>>2>>>0]};this.Tb=function(){I[this.zb>>2>>>0]=0};this.Ib=function(b){H[this.zb+12>>0>>>0]=b?1:0};this.Pb=function(){return 0!=H[this.zb+12>>0>>>0]};this.Jb=function(b){H[this.zb+13>>0>>>0]=b?1:0};this.Lb=function(){return 0!=H[this.zb+13>>0>>>0]};this.Rb=function(b,c){this.Fb(0);this.Ub(b);this.Sb(c);
|
||||
this.Tb();this.Ib(!1);this.Jb(!1)};this.Nb=function(){I[this.zb>>2>>>0]+=1};this.Xb=function(){var b=I[this.zb>>2>>>0];I[this.zb>>2>>>0]=b-1;return 1===b};this.Fb=function(b){J[this.zb+16>>2>>>0]=b};this.Ob=function(){return J[this.zb+16>>2>>>0]};this.Qb=function(){if(Fa(this.Eb()))return J[this.Db>>2>>>0];var b=this.Ob();return 0!==b?b:this.Db}}function Ga(a){return Ha((new S(a)).zb)}var T=[];function U(a){var b=T[a];b||(a>=T.length&&(T.length=a+1),T[a]=b=ua.get(a));return b}
|
||||
function Ia(a){var b=ra(a)+1,c=Ja(b);c&&qa(a,H,c,b);return c}function Ka(a,b,c){function e(n){return(n=n.toTimeString().match(/\(([A-Za-z ]+)\)$/))?n[1]:"GMT"}var f=(new Date).getFullYear(),h=new Date(f,0,1),k=new Date(f,6,1);f=h.getTimezoneOffset();var l=k.getTimezoneOffset();I[a>>2>>>0]=60*Math.max(f,l);I[b>>2>>>0]=Number(f!=l);a=e(h);b=e(k);a=Ia(a);b=Ia(b);l<f?(J[c>>2>>>0]=a,J[c+4>>2>>>0]=b):(J[c>>2>>>0]=b,J[c+4>>2>>>0]=a)}function La(a,b,c){La.Vb||(La.Vb=!0,Ka(a,b,c))}var Ma={};
|
||||
function Na(){if(!Oa){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 Ma)void 0===Ma[b]?delete a[b]:a[b]=Ma[b];var c=[];for(b in a)c.push(b+"="+a[b]);Oa=c}return Oa}var Oa,Pa=[null,[],[]];function Qa(a,b){var c=Pa[a];0===b||10===b?((1===a?la:z)(oa(c,0)),c.length=0):c.push(b)}var V=0;
|
||||
function Ra(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}if(p)try{var b=require("crypto");return()=>b.randomBytes(1)[0]}catch(c){}return()=>B("randomDevice")}function W(a,b){W.Mb||(W.Mb=Ra());for(var c=0;c<b;c++)H[a+c>>0>>>0]=W.Mb();return 0}function Sa(a){return 0===a%4&&(0!==a%100||0===a%400)}var Ta=[31,29,31,30,31,30,31,31,30,31,30,31],Ua=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
function Va(a){var b=Array(ra(a)+1);qa(a,b,0,b.length);return b}
|
||||
function Wa(a,b,c,e){function f(g,u,w){for(g="number"==typeof g?g.toString():g||"";g.length<u;)g=w[0]+g;return g}function h(g,u){return f(g,u,"0")}function k(g,u){function w(M){return 0>M?-1:0<M?1:0}var F;0===(F=w(g.getFullYear()-u.getFullYear()))&&0===(F=w(g.getMonth()-u.getMonth()))&&(F=w(g.getDate()-u.getDate()));return F}function l(g){switch(g.getDay()){case 0:return new Date(g.getFullYear()-1,11,29);case 1:return g;case 2:return new Date(g.getFullYear(),0,3);case 3:return new Date(g.getFullYear(),
|
||||
0,2);case 4:return new Date(g.getFullYear(),0,1);case 5:return new Date(g.getFullYear()-1,11,31);case 6:return new Date(g.getFullYear()-1,11,30)}}function n(g){var u=g.Bb;for(g=new Date((new Date(g.Cb+1900,0,1)).getTime());0<u;){var w=g.getMonth(),F=(Sa(g.getFullYear())?Ta:Ua)[w];if(u>F-g.getDate())u-=F-g.getDate()+1,g.setDate(1),11>w?g.setMonth(w+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else{g.setDate(g.getDate()+u);break}}w=new Date(g.getFullYear()+1,0,4);u=l(new Date(g.getFullYear(),
|
||||
0,4));w=l(w);return 0>=k(u,g)?0>=k(w,g)?g.getFullYear()+1:g.getFullYear():g.getFullYear()-1}var t=I[e+40>>2>>>0];e={$b:I[e>>2>>>0],Zb:I[e+4>>2>>>0],Gb:I[e+8>>2>>>0],Kb:I[e+12>>2>>>0],Hb:I[e+16>>2>>>0],Cb:I[e+20>>2>>>0],Ab:I[e+24>>2>>>0],Bb:I[e+28>>2>>>0],bc:I[e+32>>2>>>0],Yb:I[e+36>>2>>>0],ac:t?pa(t):""};c=pa(c);t={"%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 x in t)c=c.replace(new RegExp(x,"g"),t[x]);var E="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),C="January February March April May June July August September October November December".split(" ");t={"%a":function(g){return E[g.Ab].substring(0,3)},"%A":function(g){return E[g.Ab]},"%b":function(g){return C[g.Hb].substring(0,
|
||||
3)},"%B":function(g){return C[g.Hb]},"%C":function(g){return h((g.Cb+1900)/100|0,2)},"%d":function(g){return h(g.Kb,2)},"%e":function(g){return f(g.Kb,2," ")},"%g":function(g){return n(g).toString().substring(2)},"%G":function(g){return n(g)},"%H":function(g){return h(g.Gb,2)},"%I":function(g){g=g.Gb;0==g?g=12:12<g&&(g-=12);return h(g,2)},"%j":function(g){for(var u=0,w=0;w<=g.Hb-1;u+=(Sa(g.Cb+1900)?Ta:Ua)[w++]);return h(g.Kb+u,3)},"%m":function(g){return h(g.Hb+1,2)},"%M":function(g){return h(g.Zb,
|
||||
2)},"%n":function(){return"\n"},"%p":function(g){return 0<=g.Gb&&12>g.Gb?"AM":"PM"},"%S":function(g){return h(g.$b,2)},"%t":function(){return"\t"},"%u":function(g){return g.Ab||7},"%U":function(g){return h(Math.floor((g.Bb+7-g.Ab)/7),2)},"%V":function(g){var u=Math.floor((g.Bb+7-(g.Ab+6)%7)/7);2>=(g.Ab+371-g.Bb-2)%7&&u++;if(u)53==u&&(w=(g.Ab+371-g.Bb)%7,4==w||3==w&&Sa(g.Cb)||(u=1));else{u=52;var w=(g.Ab+7-g.Bb-1)%7;(4==w||5==w&&Sa(g.Cb%400-1))&&u++}return h(u,2)},"%w":function(g){return g.Ab},"%W":function(g){return h(Math.floor((g.Bb+
|
||||
7-(g.Ab+6)%7)/7),2)},"%y":function(g){return(g.Cb+1900).toString().substring(2)},"%Y":function(g){return g.Cb+1900},"%z":function(g){g=g.Yb;var u=0<=g;g=Math.abs(g)/60;return(u?"+":"-")+String("0000"+(g/60*100+g%60)).slice(-4)},"%Z":function(g){return g.ac},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(x in t)c.includes(x)&&(c=c.replace(new RegExp(x,"g"),t[x](e)));c=c.replace(/\0\0/g,"%");x=Va(c);if(x.length>b)return 0;H.set(x,a>>>0);return x.length-1}
|
||||
var Jb={a:function(a){return Ja(a+24)+24},m:function(a){a=new S(a);a.Pb()||(a.Ib(!0),Q--);a.Jb(!1);P.push(a);a.Nb();return a.Qb()},ia:function(a){z("Unexpected exception thrown, this is not properly supported - aborting");D=!0;throw a;},w:function(){X(0);var a=P.pop();if(a.Xb()&&!a.Lb()){var b=a.Wb();b&&U(b)(a.Db);Ga(a.Db)}R=0},d:function(){var a=R;if(!a)return V=0;var b=new S(a);b.Fb(a);var c=b.Eb();if(!c)return V=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];
|
||||
if(0===h||h===c)break;if(Xa(h,c,b.zb+16))return V=h,a}V=c;return a},k:function(){var a=R;if(!a)return V=0;var b=new S(a);b.Fb(a);var c=b.Eb();if(!c)return V=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(Xa(h,c,b.zb+16))return V=h,a}V=c;return a},g:function(){var a=R;if(!a)return V=0;var b=new S(a);b.Fb(a);var c=b.Eb();if(!c)return V=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;
|
||||
if(Xa(h,c,b.zb+16))return V=h,a}V=c;return a},s:Ga,L:function(){var a=P.pop();a||B("no exception to throw");var b=a.Db;a.Lb()||(P.push(a),a.Jb(!0),a.Ib(!1),Q++);R=b;throw b;},b:function(a,b,c){(new S(a)).Rb(b,c);R=a;Q++;throw a;},la:function(){return Q},i:function(a){R||(R=a);throw a;},H:function(){return 0},Ba:function(){},pa:function(){},ra:function(){},ka:function(){return 0},za:function(){},ua:function(){},ya:function(){},R:function(){},qa:function(){},na:function(){},Aa:function(){},oa:function(){},
|
||||
Ha:function(){},Ja:function(){B("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ia:function(){B("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},S:function(){return Date.now()},Ca:function(){return!0},Da:function(a,b){a=new Date(1E3*(J[a>>>2]+4294967296*I[a+4>>>2]));I[b>>2>>>0]=a.getUTCSeconds();I[b+4>>2>>>0]=a.getUTCMinutes();I[b+8>>2>>>0]=a.getUTCHours();I[b+12>>2>>>
|
||||
0]=a.getUTCDate();I[b+16>>2>>>0]=a.getUTCMonth();I[b+20>>2>>>0]=a.getUTCFullYear()-1900;I[b+24>>2>>>0]=a.getUTCDay();I[b+28>>2>>>0]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0},Ea:function(a,b){a=new Date(1E3*(J[a>>>2]+4294967296*I[a+4>>>2]));I[b>>2>>>0]=a.getSeconds();I[b+4>>2>>>0]=a.getMinutes();I[b+8>>2>>>0]=a.getHours();I[b+12>>2>>>0]=a.getDate();I[b+16>>2>>>0]=a.getMonth();I[b+20>>2>>>0]=a.getFullYear()-1900;I[b+24>>2>>>0]=a.getDay();var c=new Date(a.getFullYear(),0,1);I[b+
|
||||
28>>2>>>0]=(a.getTime()-c.getTime())/864E5|0;I[b+36>>2>>>0]=-(60*a.getTimezoneOffset());var e=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();I[b+32>>2>>>0]=(e!=c&&a.getTimezoneOffset()==Math.min(c,e))|0},Fa:function(a){var b=new Date(I[a+20>>2>>>0]+1900,I[a+16>>2>>>0],I[a+12>>2>>>0],I[a+8>>2>>>0],I[a+4>>2>>>0],I[a>>2>>>0],0),c=I[a+32>>2>>>0],e=b.getTimezoneOffset(),f=new Date(b.getFullYear(),0,1),h=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),k=f.getTimezoneOffset(),
|
||||
l=Math.min(k,h);0>c?I[a+32>>2>>>0]=Number(h!=k&&l==e):0<c!=(l==e)&&(h=Math.max(k,h),b.setTime(b.getTime()+6E4*((0<c?l:h)-e)));I[a+24>>2>>>0]=b.getDay();I[a+28>>2>>>0]=(b.getTime()-f.getTime())/864E5|0;I[a>>2>>>0]=b.getSeconds();I[a+4>>2>>>0]=b.getMinutes();I[a+8>>2>>>0]=b.getHours();I[a+12>>2>>>0]=b.getDate();I[a+16>>2>>>0]=b.getMonth();return b.getTime()/1E3|0},sa:function(){return-52},ta:function(){},Ga:La,B:function(){B("")},ma:function(){return 4294901760},I:p?()=>{var a=process.hrtime();return 1E3*
|
||||
a[0]+a[1]/1E6}:()=>performance.now(),xa:function(a,b,c){G.copyWithin(a>>>0,b>>>0,b+c>>>0)},G:function(a){var b=G.length;a>>>=0;if(4294901760<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);f=f.min.call(f,4294901760,e+(65536-e%65536)%65536);a:{try{ma.grow(f-sa.byteLength+65535>>>16);ta();var h=1;break a}catch(k){}h=void 0}if(h)return!0}return!1},va:function(a,b){var c=0;Na().forEach(function(e,f){var h=b+c;f=J[a+4*f>>2>>>0]=h;for(h=0;h<e.length;++h)H[f++>>
|
||||
0>>>0]=e.charCodeAt(h);H[f>>0>>>0]=0;c+=e.length+1});return 0},wa:function(a,b){var c=Na();J[a>>2>>>0]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});J[b>>2>>>0]=e;return 0},ba:function(a){noExitRuntime||0<ka||(Ya(),O(xa),Za(0),Pa[1].length&&Qa(1,10),Pa[2].length&&Qa(2,10));if(!(noExitRuntime||0<ka)){if(d.onExit)d.onExit(a);D=!0}ea(a,new ja(a))},E:function(){return 52},Q:function(){return 52},ca:function(){return 70},P:function(a,b,c,e){for(var f=0,h=0;h<c;h++){var k=J[b>>2>>>0],l=J[b+4>>
|
||||
2>>>0];b+=8;for(var n=0;n<l;n++)Qa(a,G[k+n>>>0]);f+=l}J[e>>2>>>0]=f;return 0},c:function(){return V},ja:W,ea:$a,fa:ab,J:bb,e:cb,N:db,O:eb,j:fb,o:gb,p:hb,M:ib,r:jb,v:kb,K:lb,D:mb,X:nb,V:ob,U:pb,Z:qb,W:rb,Y:sb,T:tb,f:ub,q:vb,h:wb,da:xb,l:yb,t:zb,u:Ab,x:Bb,z:Cb,ga:Db,A:Eb,C:Fb,aa:Gb,_:Hb,$:Ib,n:function(a){return a},F:function(a){V=a},ha:Wa,y:function(a,b,c,e){return Wa(a,b,c,e)}};
|
||||
(function(){function a(f){d.asm=f.exports;ma=d.asm.Ka;ta();ua=d.asm.ib;wa.unshift(d.asm.La);K--;d.monitorRunDependencies&&d.monitorRunDependencies(K);0==K&&(null!==Aa&&(clearInterval(Aa),Aa=null),L&&(f=L,L=null,f()))}function b(f){a(f.instance)}function c(f){return Ea().then(function(h){return WebAssembly.instantiate(h,e)}).then(function(h){return h}).then(f,function(h){z("failed to asynchronously prepare wasm: "+h);B(h)})}var e={a:Jb};K++;d.monitorRunDependencies&&d.monitorRunDependencies(K);if(d.instantiateWasm)try{return d.instantiateWasm(e,
|
||||
a)}catch(f){return z("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return A||"function"!=typeof WebAssembly.instantiateStreaming||Ba()||N.startsWith("file://")||p||"function"!=typeof fetch?c(b):fetch(N,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(h){z("wasm streaming compile failed: "+h);z("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})();
|
||||
d.___wasm_call_ctors=function(){return(d.___wasm_call_ctors=d.asm.La).apply(null,arguments)};d._OrtInit=function(){return(d._OrtInit=d.asm.Ma).apply(null,arguments)};d._OrtCreateSessionOptions=function(){return(d._OrtCreateSessionOptions=d.asm.Na).apply(null,arguments)};d._OrtAppendExecutionProvider=function(){return(d._OrtAppendExecutionProvider=d.asm.Oa).apply(null,arguments)};d._OrtAddSessionConfigEntry=function(){return(d._OrtAddSessionConfigEntry=d.asm.Pa).apply(null,arguments)};
|
||||
d._OrtReleaseSessionOptions=function(){return(d._OrtReleaseSessionOptions=d.asm.Qa).apply(null,arguments)};d._OrtCreateSession=function(){return(d._OrtCreateSession=d.asm.Ra).apply(null,arguments)};d._OrtReleaseSession=function(){return(d._OrtReleaseSession=d.asm.Sa).apply(null,arguments)};d._OrtGetInputCount=function(){return(d._OrtGetInputCount=d.asm.Ta).apply(null,arguments)};d._OrtGetOutputCount=function(){return(d._OrtGetOutputCount=d.asm.Ua).apply(null,arguments)};
|
||||
d._OrtGetInputName=function(){return(d._OrtGetInputName=d.asm.Va).apply(null,arguments)};d._OrtGetOutputName=function(){return(d._OrtGetOutputName=d.asm.Wa).apply(null,arguments)};d._OrtFree=function(){return(d._OrtFree=d.asm.Xa).apply(null,arguments)};d._OrtCreateTensor=function(){return(d._OrtCreateTensor=d.asm.Ya).apply(null,arguments)};d._OrtGetTensorData=function(){return(d._OrtGetTensorData=d.asm.Za).apply(null,arguments)};
|
||||
d._OrtReleaseTensor=function(){return(d._OrtReleaseTensor=d.asm._a).apply(null,arguments)};d._OrtCreateRunOptions=function(){return(d._OrtCreateRunOptions=d.asm.$a).apply(null,arguments)};d._OrtAddRunConfigEntry=function(){return(d._OrtAddRunConfigEntry=d.asm.ab).apply(null,arguments)};d._OrtReleaseRunOptions=function(){return(d._OrtReleaseRunOptions=d.asm.bb).apply(null,arguments)};d._OrtRun=function(){return(d._OrtRun=d.asm.cb).apply(null,arguments)};
|
||||
d._OrtEndProfiling=function(){return(d._OrtEndProfiling=d.asm.db).apply(null,arguments)};
|
||||
var Ja=d._malloc=function(){return(Ja=d._malloc=d.asm.eb).apply(null,arguments)},Ha=d._free=function(){return(Ha=d._free=d.asm.fb).apply(null,arguments)},Za=d._fflush=function(){return(Za=d._fflush=d.asm.gb).apply(null,arguments)},Ya=d.___funcs_on_exit=function(){return(Ya=d.___funcs_on_exit=d.asm.hb).apply(null,arguments)},X=d._setThrew=function(){return(X=d._setThrew=d.asm.jb).apply(null,arguments)},Y=d.stackSave=function(){return(Y=d.stackSave=d.asm.kb).apply(null,arguments)},Z=d.stackRestore=
|
||||
function(){return(Z=d.stackRestore=d.asm.lb).apply(null,arguments)},Kb=d.stackAlloc=function(){return(Kb=d.stackAlloc=d.asm.mb).apply(null,arguments)},Xa=d.___cxa_can_catch=function(){return(Xa=d.___cxa_can_catch=d.asm.nb).apply(null,arguments)},Fa=d.___cxa_is_pointer_type=function(){return(Fa=d.___cxa_is_pointer_type=d.asm.ob).apply(null,arguments)},Lb=d.dynCall_j=function(){return(Lb=d.dynCall_j=d.asm.pb).apply(null,arguments)},Mb=d.dynCall_iiiiij=function(){return(Mb=d.dynCall_iiiiij=d.asm.qb).apply(null,
|
||||
arguments)},Nb=d.dynCall_jii=function(){return(Nb=d.dynCall_jii=d.asm.rb).apply(null,arguments)},Ob=d.dynCall_viiiiij=function(){return(Ob=d.dynCall_viiiiij=d.asm.sb).apply(null,arguments)},Pb=d.dynCall_vjji=function(){return(Pb=d.dynCall_vjji=d.asm.tb).apply(null,arguments)},Qb=d.dynCall_viiijjjii=function(){return(Qb=d.dynCall_viiijjjii=d.asm.ub).apply(null,arguments)},Rb=d.dynCall_iij=function(){return(Rb=d.dynCall_iij=d.asm.vb).apply(null,arguments)},Sb=d.dynCall_ji=function(){return(Sb=d.dynCall_ji=
|
||||
d.asm.wb).apply(null,arguments)},Tb=d.dynCall_iiiiiij=function(){return(Tb=d.dynCall_iiiiiij=d.asm.xb).apply(null,arguments)},Ub=d.dynCall_iiij=function(){return(Ub=d.dynCall_iiij=d.asm.yb).apply(null,arguments)};function cb(a,b){var c=Y();try{return U(a)(b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}function vb(a,b){var c=Y();try{U(a)(b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}function wb(a,b,c){var e=Y();try{U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}
|
||||
function fb(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function gb(a,b,c,e){var f=Y();try{return U(a)(b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function kb(a,b,c,e,f,h,k){var l=Y();try{return U(a)(b,c,e,f,h,k)}catch(n){Z(l);if(n!==n+0)throw n;X(1,0)}}function ub(a){var b=Y();try{U(a)()}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function jb(a,b,c,e,f,h){var k=Y();try{return U(a)(b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}
|
||||
function hb(a,b,c,e,f){var h=Y();try{return U(a)(b,c,e,f)}catch(k){Z(h);if(k!==k+0)throw k;X(1,0)}}function yb(a,b,c,e){var f=Y();try{U(a)(b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function Ab(a,b,c,e,f,h){var k=Y();try{U(a)(b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}function zb(a,b,c,e,f){var h=Y();try{U(a)(b,c,e,f)}catch(k){Z(h);if(k!==k+0)throw k;X(1,0)}}function Bb(a,b,c,e,f,h,k){var l=Y();try{U(a)(b,c,e,f,h,k)}catch(n){Z(l);if(n!==n+0)throw n;X(1,0)}}
|
||||
function Cb(a,b,c,e,f,h,k,l){var n=Y();try{U(a)(b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}function eb(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function db(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function Db(a,b,c,e,f,h,k,l,n){var t=Y();try{U(a)(b,c,e,f,h,k,l,n)}catch(x){Z(t);if(x!==x+0)throw x;X(1,0)}}function ib(a,b,c,e,f,h){var k=Y();try{return U(a)(b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}
|
||||
function lb(a,b,c,e,f,h,k,l){var n=Y();try{return U(a)(b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}function mb(a,b,c,e,f,h,k,l,n,t,x,E){var C=Y();try{return U(a)(b,c,e,f,h,k,l,n,t,x,E)}catch(g){Z(C);if(g!==g+0)throw g;X(1,0)}}function Eb(a,b,c,e,f,h,k,l,n,t,x){var E=Y();try{U(a)(b,c,e,f,h,k,l,n,t,x)}catch(C){Z(E);if(C!==C+0)throw C;X(1,0)}}function Fb(a,b,c,e,f,h,k,l,n,t,x,E,C,g,u,w){var F=Y();try{U(a)(b,c,e,f,h,k,l,n,t,x,E,C,g,u,w)}catch(M){Z(F);if(M!==M+0)throw M;X(1,0)}}
|
||||
function bb(a){var b=Y();try{return U(a)()}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function ab(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function $a(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function xb(a,b,c,e){var f=Y();try{U(a)(b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function Gb(a,b,c,e,f,h,k,l){var n=Y();try{Ob(a,b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}
|
||||
function Ib(a,b,c,e,f,h){var k=Y();try{Pb(a,b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}function Hb(a,b,c,e,f,h,k,l,n,t,x,E){var C=Y();try{Qb(a,b,c,e,f,h,k,l,n,t,x,E)}catch(g){Z(C);if(g!==g+0)throw g;X(1,0)}}function qb(a,b,c,e){var f=Y();try{return Rb(a,b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function sb(a,b){var c=Y();try{return Sb(a,b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}
|
||||
function nb(a,b,c,e,f,h,k,l){var n=Y();try{return Tb(a,b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}function rb(a){var b=Y();try{return Lb(a)}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function ob(a,b,c,e,f,h,k){var l=Y();try{return Mb(a,b,c,e,f,h,k)}catch(n){Z(l);if(n!==n+0)throw n;X(1,0)}}function pb(a,b,c,e,f){var h=Y();try{return Ub(a,b,c,e,f)}catch(k){Z(h);if(k!==k+0)throw k;X(1,0)}}function tb(a,b,c){var e=Y();try{return Nb(a,b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}
|
||||
d.UTF8ToString=pa;d.stringToUTF8=function(a,b,c){return qa(a,G,b,c)};d.lengthBytesUTF8=ra;d.stackSave=Y;d.stackRestore=Z;d.stackAlloc=Kb;var Vb;L=function Wb(){Vb||Xb();Vb||(L=Wb)};
|
||||
function Xb(){function a(){if(!Vb&&(Vb=!0,d.calledRun=!0,!D)){O(wa);aa(d);if(d.onRuntimeInitialized)d.onRuntimeInitialized();if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;){var b=d.postRun.shift();ya.unshift(b)}O(ya)}}if(!(0<K)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)za();O(va);0<K||(d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1);a()},1)):a())}}
|
||||
if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();Xb();
|
||||
|
||||
|
||||
return ortWasm.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = ortWasm;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return ortWasm; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["ortWasm"] = ortWasm;
|
||||
11
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.d.ts
generated
vendored
Normal file
11
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {OrtWasmModule} from './ort-wasm';
|
||||
|
||||
export interface OrtWasmThreadedModule extends OrtWasmModule {
|
||||
PThread?: {terminateAllThreads(): void};
|
||||
}
|
||||
|
||||
declare const moduleFactory: EmscriptenModuleFactory<OrtWasmThreadedModule>;
|
||||
export default moduleFactory;
|
||||
96
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.js
generated
vendored
Normal file
96
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.js
generated
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
var ortWasmThreaded = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(ortWasmThreaded) {
|
||||
ortWasmThreaded = ortWasmThreaded || {};
|
||||
|
||||
|
||||
function d(){m.buffer!=n&&p(m.buffer);return aa}function q(){m.buffer!=n&&p(m.buffer);return ba}function r(){m.buffer!=n&&p(m.buffer);return ca}function v(){m.buffer!=n&&p(m.buffer);return da}function ea(){m.buffer!=n&&p(m.buffer);return fa}var x;x||(x=typeof ortWasmThreaded !== 'undefined' ? ortWasmThreaded : {});var ha,ia;x.ready=new Promise(function(a,b){ha=a;ia=b});
|
||||
var ja=Object.assign({},x),ka="./this.program",la=(a,b)=>{throw b;},ma="object"==typeof window,y="function"==typeof importScripts,B="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,C=x.ENVIRONMENT_IS_PTHREAD||!1,D="";function na(a){return x.locateFile?x.locateFile(a,D):D+a}var oa,pa,qa,fs,ra,sa;
|
||||
if(B){D=y?require("path").dirname(D)+"/":__dirname+"/";sa=()=>{ra||(fs=require("fs"),ra=require("path"))};oa=function(b,c){sa();b=ra.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};qa=b=>{b=oa(b,!0);b.buffer||(b=new Uint8Array(b));return b};pa=(b,c,e)=>{sa();b=ra.normalize(b);fs.readFile(b,function(f,h){f?e(f):c(h.buffer)})};1<process.argv.length&&(ka=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);process.on("uncaughtException",function(b){if(!(b instanceof E))throw b;});process.on("unhandledRejection",
|
||||
function(b){throw b;});la=(b,c)=>{if(F())throw process.exitCode=b,c;c instanceof E||G("exiting due to exception: "+c);process.exit(b)};x.inspect=function(){return"[Emscripten Module object]"};let a;try{a=require("worker_threads")}catch(b){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),b;}global.Worker=a.Worker}else if(ma||y)y?D=self.location.href:"undefined"!=typeof document&&document.currentScript&&(D=document.currentScript.src),
|
||||
_scriptDir&&(D=_scriptDir),0!==D.indexOf("blob:")?D=D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1):D="",B||(oa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},y&&(qa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),pa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=
|
||||
c;e.send(null)});B&&"undefined"==typeof performance&&(global.performance=require("perf_hooks").performance);var ta=console.log.bind(console),ua=console.warn.bind(console);B&&(sa(),ta=a=>fs.writeSync(1,a+"\n"),ua=a=>fs.writeSync(2,a+"\n"));var va=x.print||ta,G=x.printErr||ua;Object.assign(x,ja);ja=null;x.thisProgram&&(ka=x.thisProgram);x.quit&&(la=x.quit);var H;x.wasmBinary&&(H=x.wasmBinary);var noExitRuntime=x.noExitRuntime||!1;"object"!=typeof WebAssembly&&I("no native wasm support detected");
|
||||
var m,wa,xa=!1,ya="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||
function za(a,b,c){b>>>=0;var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&ya)return ya.decode(a.buffer instanceof SharedArrayBuffer?a.slice(b,c):a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}
|
||||
function Aa(a,b){return(a>>>=0)?za(q(),a,b):""}
|
||||
function Ba(a,b,c,e){c>>>=0;if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++>>>0]=k}else{if(2047>=k){if(c+1>=e)break;b[c++>>>0]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++>>>0]=224|k>>12}else{if(c+3>=e)break;b[c++>>>0]=240|k>>18;b[c++>>>0]=128|k>>12&63}b[c++>>>0]=128|k>>6&63}b[c++>>>0]=128|k&63}}b[c>>>0]=0;return c-f}
|
||||
function Ca(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b}var n,aa,ba,ca,da,fa;C&&(n=x.buffer);function p(a){n=a;x.HEAP8=aa=new Int8Array(a);x.HEAP16=new Int16Array(a);x.HEAP32=ca=new Int32Array(a);x.HEAPU8=ba=new Uint8Array(a);x.HEAPU16=new Uint16Array(a);x.HEAPU32=da=new Uint32Array(a);x.HEAPF32=new Float32Array(a);x.HEAPF64=fa=new Float64Array(a)}var Da=x.INITIAL_MEMORY||16777216;
|
||||
if(C)m=x.wasmMemory,n=x.buffer;else if(x.wasmMemory)m=x.wasmMemory;else if(m=new WebAssembly.Memory({initial:Da/65536,maximum:65536,shared:!0}),!(m.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"),B&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),
|
||||
Error("bad memory");m&&(n=m.buffer);Da=n.byteLength;p(n);var Ea,Fa=[],Ga=[],Ha=[],Ia=[],Ja=0;function F(){return noExitRuntime||0<Ja}function Ka(){var a=x.preRun.shift();Fa.unshift(a)}var L=0,La=null,M=null;function I(a){if(C)postMessage({cmd:"onAbort",arg:a});else if(x.onAbort)x.onAbort(a);a="Aborted("+a+")";G(a);xa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ia(a);throw a;}function Ma(){return O.startsWith("data:application/octet-stream;base64,")}var O;O="ort-wasm-threaded.wasm";
|
||||
Ma()||(O=na(O));function Na(){var a=O;try{if(a==O&&H)return new Uint8Array(H);if(qa)return qa(a);throw"both async and sync fetching of the wasm failed";}catch(b){I(b)}}
|
||||
function Oa(){if(!H&&(ma||y)){if("function"==typeof fetch&&!O.startsWith("file://"))return fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return Na()});if(pa)return new Promise(function(a,b){pa(O,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return Na()})}var Pa={};
|
||||
function E(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}function Qa(a){(a=P.Vb[a])||I();P.mc(a)}function Ra(a){var b=P.Cc();if(!b)return 6;P.ac.push(b);P.Vb[a.Ub]=b;b.Ub=a.Ub;var c={cmd:"run",start_routine:a.Ic,arg:a.zc,pthread_ptr:a.Ub};b.$b=()=>{c.time=performance.now();b.postMessage(c,a.Nc)};b.loaded&&(b.$b(),delete b.$b);return 0}function Sa(a){if(C)return Q(1,1,a);if(!F()){P.oc();if(x.onExit)x.onExit(a);xa=!0}la(a,new E(a))}
|
||||
function Ta(a,b){if(!b&&C)throw Ua(a),"unwind";F()||C||(Va(),R(Ha),Wa(0),Xa[1].length&&Ya(1,10),Xa[2].length&&Ya(2,10),P.oc());Sa(a)}
|
||||
var P={Yb:[],ac:[],qc:[],Vb:{},fc:function(){C&&P.Ec()},Pc:function(){},Ec:function(){P.receiveObjectTransfer=P.Gc;P.threadInitTLS=P.pc;P.setExitStatus=P.nc;noExitRuntime=!1},nc:function(){},oc:function(){for(var a of Object.values(P.Vb))P.mc(a);for(a of P.Yb)a.terminate();P.Yb=[]},mc:function(a){var b=a.Ub;delete P.Vb[b];P.Yb.push(a);P.ac.splice(P.ac.indexOf(a),1);a.Ub=0;Za(b)},Gc:function(){},pc:function(){P.qc.forEach(a=>a())},Fc:function(a,b){a.onmessage=c=>{c=c.data;var e=c.cmd;a.Ub&&(P.Bc=a.Ub);
|
||||
if(c.targetThread&&c.targetThread!=$a()){var f=P.Vb[c.Qc];f?f.postMessage(c,c.transferList):G('Internal error! Worker sent a message "'+e+'" to target pthread '+c.targetThread+", but that thread no longer exists!")}else if("processProxyingQueue"===e)ab(c.queue);else if("spawnThread"===e)Ra(c);else if("cleanupThread"===e)Qa(c.thread);else if("killThread"===e)c=c.thread,e=P.Vb[c],delete P.Vb[c],e.terminate(),Za(c),P.ac.splice(P.ac.indexOf(e),1),e.Ub=0;else if("cancelThread"===e)P.Vb[c.thread].postMessage({cmd:"cancel"});
|
||||
else if("loaded"===e)a.loaded=!0,b&&b(a),a.$b&&(a.$b(),delete a.$b);else if("print"===e)va("Thread "+c.threadId+": "+c.text);else if("printErr"===e)G("Thread "+c.threadId+": "+c.text);else if("alert"===e)alert("Thread "+c.threadId+": "+c.text);else if("setimmediate"===c.target)a.postMessage(c);else if("onAbort"===e){if(x.onAbort)x.onAbort(c.arg)}else e&&G("worker sent an unknown command "+e);P.Bc=void 0};a.onerror=c=>{G("worker sent an error! "+c.filename+":"+c.lineno+": "+c.message);throw c;};B&&
|
||||
(a.on("message",function(c){a.onmessage({data:c})}),a.on("error",function(c){a.onerror(c)}),a.on("detachedExit",function(){}));a.postMessage({cmd:"load",urlOrBlob:x.mainScriptUrlOrBlob||_scriptDir,wasmMemory:m,wasmModule:wa})},yc:function(){var a=na("ort-wasm-threaded.worker.js");P.Yb.push(new Worker(a))},Cc:function(){0==P.Yb.length&&(P.yc(),P.Fc(P.Yb[0]));return P.Yb.pop()}};x.PThread=P;function R(a){for(;0<a.length;)a.shift()(x)}function bb(a){var b=S();a=a();U(b);return a}
|
||||
x.establishStackSpace=function(){var a=$a(),b=r()[a+44>>2>>>0];a=r()[a+48>>2>>>0];cb(b,b-a);U(b)};function Ua(a){if(C)return Q(2,0,a);try{Ta(a)}catch(b){b instanceof E||"unwind"==b||la(1,b)}}var db=[];function V(a){var b=db[a];b||(a>=db.length&&(db.length=a+1),db[a]=b=Ea.get(a));return b}x.invokeEntryPoint=function(a,b){a=V(a)(b);F()?P.nc(a):eb(a)};function fb(a,b){d().set(a,b>>>0)}var gb=[],hb=0,W=0;
|
||||
function X(a){this.Zb=a;this.Sb=a-24;this.xc=function(b){v()[this.Sb+4>>2>>>0]=b};this.bc=function(){return v()[this.Sb+4>>2>>>0]};this.wc=function(b){v()[this.Sb+8>>2>>>0]=b};this.Dc=function(){return v()[this.Sb+8>>2>>>0]};this.rc=function(){r()[this.Sb>>2>>>0]=0};this.hc=function(b){b=b?1:0;d()[this.Sb+12>>0>>>0]=b};this.uc=function(){return 0!=d()[this.Sb+12>>0>>>0]};this.ic=function(b){b=b?1:0;d()[this.Sb+13>>0>>>0]=b};this.kc=function(){return 0!=d()[this.Sb+13>>0>>>0]};this.fc=function(b,c){this.cc(0);
|
||||
this.xc(b);this.wc(c);this.rc();this.hc(!1);this.ic(!1)};this.sc=function(){Atomics.add(r(),this.Sb>>2,1)};this.Hc=function(){return 1===Atomics.sub(r(),this.Sb>>2,1)};this.cc=function(b){v()[this.Sb+16>>2>>>0]=b};this.tc=function(){return v()[this.Sb+16>>2>>>0]};this.vc=function(){if(ib(this.bc()))return v()[this.Zb>>2>>>0];var b=this.tc();return 0!==b?b:this.Zb}}function jb(a){return kb((new X(a)).Sb)}function lb(a,b,c,e){return C?Q(3,1,a,b,c,e):mb(a,b,c,e)}
|
||||
function mb(a,b,c,e){if("undefined"==typeof SharedArrayBuffer)return G("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var f=[];if(C&&0===f.length)return lb(a,b,c,e);a={Ic:c,Ub:a,zc:e,Nc:f};return C?(a.Oc="spawnThread",postMessage(a,f),0):Ra(a)}function nb(a,b,c){return C?Q(4,1,a,b,c):0}function ob(a,b){if(C)return Q(5,1,a,b)}function pb(a,b){if(C)return Q(6,1,a,b)}function qb(a,b,c){if(C)return Q(7,1,a,b,c)}function rb(a,b,c){return C?Q(8,1,a,b,c):0}
|
||||
function sb(a,b){if(C)return Q(9,1,a,b)}function tb(a,b,c){if(C)return Q(10,1,a,b,c)}function ub(a,b,c,e){if(C)return Q(11,1,a,b,c,e)}function vb(a,b,c,e){if(C)return Q(12,1,a,b,c,e)}function wb(a,b,c,e){if(C)return Q(13,1,a,b,c,e)}function xb(a){if(C)return Q(14,1,a)}function yb(a,b){if(C)return Q(15,1,a,b)}function zb(a,b,c){if(C)return Q(16,1,a,b,c)}function ab(a){Atomics.store(r(),a>>2,1);$a()&&Ab(a);Atomics.compareExchange(r(),a>>2,1,0)}x.executeNotifiedProxyingQueue=ab;
|
||||
function Bb(a){return v()[a>>>2]+4294967296*r()[a+4>>>2]}function Cb(a,b,c,e,f,h){return C?Q(17,1,a,b,c,e,f,h):-52}function Db(a,b,c,e,f,h){if(C)return Q(18,1,a,b,c,e,f,h)}function Eb(a){var b=Ca(a)+1,c=Fb(b);c&&Ba(a,d(),c,b);return c}
|
||||
function Gb(a,b,c){function e(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}if(C)return Q(19,1,a,b,c);var f=(new Date).getFullYear(),h=new Date(f,0,1),k=new Date(f,6,1);f=h.getTimezoneOffset();var l=k.getTimezoneOffset(),u=Math.max(f,l);r()[a>>2>>>0]=60*u;r()[b>>2>>>0]=Number(f!=l);a=e(h);b=e(k);a=Eb(a);b=Eb(b);l<f?(v()[c>>2>>>0]=a,v()[c+4>>2>>>0]=b):(v()[c>>2>>>0]=b,v()[c+4>>2>>>0]=a)}function Hb(a,b,c){Hb.Ac||(Hb.Ac=!0,Gb(a,b,c))}var Ib,Jb;
|
||||
Jb=B?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:C?()=>performance.now()-x.__performance_now_clock_drift:()=>performance.now();function Q(a,b){var c=arguments.length-2,e=arguments;return bb(()=>{for(var f=Kb(8*c),h=f>>3,k=0;k<c;k++){var l=e[2+k];ea()[h+k>>>0]=l}return Lb(a,c,f,b)})}var Mb=[],Nb={};
|
||||
function Ob(){if(!Pb){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",_:ka||"./this.program"},b;for(b in Nb)void 0===Nb[b]?delete a[b]:a[b]=Nb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Pb=c}return Pb}var Pb;
|
||||
function Qb(a,b){if(C)return Q(20,1,a,b);var c=0;Ob().forEach(function(e,f){var h=b+c;f=v()[a+4*f>>2>>>0]=h;for(h=0;h<e.length;++h)d()[f++>>0>>>0]=e.charCodeAt(h);d()[f>>0>>>0]=0;c+=e.length+1});return 0}function Rb(a,b){if(C)return Q(21,1,a,b);var c=Ob();v()[a>>2>>>0]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});v()[b>>2>>>0]=e;return 0}function Sb(a){return C?Q(22,1,a):52}function Tb(a,b,c,e){return C?Q(23,1,a,b,c,e):52}function Ub(a,b,c,e,f){return C?Q(24,1,a,b,c,e,f):70}
|
||||
var Xa=[null,[],[]];function Ya(a,b){var c=Xa[a];0===b||10===b?((1===a?va:G)(za(c,0)),c.length=0):c.push(b)}function Vb(a,b,c,e){if(C)return Q(25,1,a,b,c,e);for(var f=0,h=0;h<c;h++){var k=v()[b>>2>>>0],l=v()[b+4>>2>>>0];b+=8;for(var u=0;u<l;u++)Ya(a,q()[k+u>>>0]);f+=l}v()[e>>2>>>0]=f;return 0}var Y=0;
|
||||
function Wb(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}if(B)try{var b=require("crypto");return()=>b.randomBytes(1)[0]}catch(c){}return()=>I("randomDevice")}function Xb(a,b){Xb.lc||(Xb.lc=Wb());for(var c=0;c<b;c++)d()[a+c>>0>>>0]=Xb.lc();return 0}function Yb(a){return 0===a%4&&(0!==a%100||0===a%400)}var Zb=[31,29,31,30,31,30,31,31,30,31,30,31],$b=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
function ac(a){var b=Array(Ca(a)+1);Ba(a,b,0,b.length);return b}
|
||||
function bc(a,b,c,e){function f(g,w,z){for(g="number"==typeof g?g.toString():g||"";g.length<w;)g=z[0]+g;return g}function h(g,w){return f(g,w,"0")}function k(g,w){function z(T){return 0>T?-1:0<T?1:0}var N;0===(N=z(g.getFullYear()-w.getFullYear()))&&0===(N=z(g.getMonth()-w.getMonth()))&&(N=z(g.getDate()-w.getDate()));return N}function l(g){switch(g.getDay()){case 0:return new Date(g.getFullYear()-1,11,29);case 1:return g;case 2:return new Date(g.getFullYear(),0,3);case 3:return new Date(g.getFullYear(),
|
||||
0,2);case 4:return new Date(g.getFullYear(),0,1);case 5:return new Date(g.getFullYear()-1,11,31);case 6:return new Date(g.getFullYear()-1,11,30)}}function u(g){var w=g.Wb;for(g=new Date((new Date(g.Xb+1900,0,1)).getTime());0<w;){var z=g.getMonth(),N=(Yb(g.getFullYear())?Zb:$b)[z];if(w>N-g.getDate())w-=N-g.getDate()+1,g.setDate(1),11>z?g.setMonth(z+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else{g.setDate(g.getDate()+w);break}}z=new Date(g.getFullYear()+1,0,4);w=l(new Date(g.getFullYear(),
|
||||
0,4));z=l(z);return 0>=k(w,g)?0>=k(z,g)?g.getFullYear()+1:g.getFullYear():g.getFullYear()-1}var t=r()[e+40>>2>>>0];e={Lc:r()[e>>2>>>0],Kc:r()[e+4>>2>>>0],dc:r()[e+8>>2>>>0],jc:r()[e+12>>2>>>0],ec:r()[e+16>>2>>>0],Xb:r()[e+20>>2>>>0],Tb:r()[e+24>>2>>>0],Wb:r()[e+28>>2>>>0],Rc:r()[e+32>>2>>>0],Jc:r()[e+36>>2>>>0],Mc:t?Aa(t):""};c=Aa(c);t={"%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 A in t)c=c.replace(new RegExp(A,"g"),t[A]);var K="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),J="January February March April May June July August September October November December".split(" ");t={"%a":function(g){return K[g.Tb].substring(0,3)},"%A":function(g){return K[g.Tb]},
|
||||
"%b":function(g){return J[g.ec].substring(0,3)},"%B":function(g){return J[g.ec]},"%C":function(g){return h((g.Xb+1900)/100|0,2)},"%d":function(g){return h(g.jc,2)},"%e":function(g){return f(g.jc,2," ")},"%g":function(g){return u(g).toString().substring(2)},"%G":function(g){return u(g)},"%H":function(g){return h(g.dc,2)},"%I":function(g){g=g.dc;0==g?g=12:12<g&&(g-=12);return h(g,2)},"%j":function(g){for(var w=0,z=0;z<=g.ec-1;w+=(Yb(g.Xb+1900)?Zb:$b)[z++]);return h(g.jc+w,3)},"%m":function(g){return h(g.ec+
|
||||
1,2)},"%M":function(g){return h(g.Kc,2)},"%n":function(){return"\n"},"%p":function(g){return 0<=g.dc&&12>g.dc?"AM":"PM"},"%S":function(g){return h(g.Lc,2)},"%t":function(){return"\t"},"%u":function(g){return g.Tb||7},"%U":function(g){return h(Math.floor((g.Wb+7-g.Tb)/7),2)},"%V":function(g){var w=Math.floor((g.Wb+7-(g.Tb+6)%7)/7);2>=(g.Tb+371-g.Wb-2)%7&&w++;if(w)53==w&&(z=(g.Tb+371-g.Wb)%7,4==z||3==z&&Yb(g.Xb)||(w=1));else{w=52;var z=(g.Tb+7-g.Wb-1)%7;(4==z||5==z&&Yb(g.Xb%400-1))&&w++}return h(w,
|
||||
2)},"%w":function(g){return g.Tb},"%W":function(g){return h(Math.floor((g.Wb+7-(g.Tb+6)%7)/7),2)},"%y":function(g){return(g.Xb+1900).toString().substring(2)},"%Y":function(g){return g.Xb+1900},"%z":function(g){g=g.Jc;var w=0<=g;g=Math.abs(g)/60;return(w?"+":"-")+String("0000"+(g/60*100+g%60)).slice(-4)},"%Z":function(g){return g.Mc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(A in t)c.includes(A)&&(c=c.replace(new RegExp(A,"g"),t[A](e)));c=c.replace(/\0\0/g,"%");A=ac(c);if(A.length>
|
||||
b)return 0;fb(A,a);return A.length-1}P.fc();
|
||||
var cc=[null,Sa,Ua,lb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Cb,Db,Gb,Qb,Rb,Sb,Tb,Ub,Vb],Pc={b:function(a){return Fb(a+24)+24},n:function(a){a=new X(a);a.uc()||(a.hc(!0),hb--);a.ic(!1);gb.push(a);a.sc();return a.vc()},ma:function(a){G("Unexpected exception thrown, this is not properly supported - aborting");xa=!0;throw a;},x:function(){Z(0);var a=gb.pop();if(a.Hc()&&!a.kc()){var b=a.Dc();b&&V(b)(a.Zb);jb(a.Zb)}W=0},e:function(){var a=W;if(!a)return Y=0;var b=new X(a);b.cc(a);var c=b.bc();if(!c)return Y=
|
||||
0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(dc(h,c,b.Sb+16))return Y=h,a}Y=c;return a},l:function(){var a=W;if(!a)return Y=0;var b=new X(a);b.cc(a);var c=b.bc();if(!c)return Y=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(dc(h,c,b.Sb+16))return Y=h,a}Y=c;return a},h:function(){var a=W;if(!a)return Y=0;var b=new X(a);b.cc(a);var c=b.bc();if(!c)return Y=0,a;for(var e=Array.prototype.slice.call(arguments),
|
||||
f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(dc(h,c,b.Sb+16))return Y=h,a}Y=c;return a},t:jb,M:function(){var a=gb.pop();a||I("no exception to throw");var b=a.Zb;a.kc()||(gb.push(a),a.ic(!0),a.hc(!1),hb++);W=b;throw b;},c:function(a,b,c){(new X(a)).fc(b,c);W=a;hb++;throw a;},pa:function(){return hb},Fa:function(a){ec(a,!y,1,!ma);P.pc()},T:function(a){C?postMessage({cmd:"cleanupThread",thread:a}):Qa(a)},xa:mb,j:function(a){W||(W=a);throw a;},H:nb,Ma:ob,ua:pb,wa:qb,oa:rb,Ka:sb,Ca:tb,Ja:ub,
|
||||
V:vb,va:wb,sa:xb,La:yb,ta:zb,Ta:function(){},X:function(){I("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ua:function(){I("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},W:function(){return Date.now()},ya:function(){return 2097152},Oa:function(){return!0},za:function(a,b,c,e){if(a==b)setTimeout(()=>ab(e));else if(C)postMessage({targetThread:a,cmd:"processProxyingQueue",
|
||||
queue:e});else{a=P.Vb[a];if(!a)return;a.postMessage({cmd:"processProxyingQueue",queue:e})}return 1},Ea:function(){return-1},Pa:function(a,b){a=new Date(1E3*Bb(a));r()[b>>2>>>0]=a.getUTCSeconds();r()[b+4>>2>>>0]=a.getUTCMinutes();r()[b+8>>2>>>0]=a.getUTCHours();r()[b+12>>2>>>0]=a.getUTCDate();r()[b+16>>2>>>0]=a.getUTCMonth();r()[b+20>>2>>>0]=a.getUTCFullYear()-1900;r()[b+24>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;r()[b+28>>2>>>0]=a},Qa:function(a,b){a=
|
||||
new Date(1E3*Bb(a));r()[b>>2>>>0]=a.getSeconds();r()[b+4>>2>>>0]=a.getMinutes();r()[b+8>>2>>>0]=a.getHours();r()[b+12>>2>>>0]=a.getDate();r()[b+16>>2>>>0]=a.getMonth();r()[b+20>>2>>>0]=a.getFullYear()-1900;r()[b+24>>2>>>0]=a.getDay();var c=new Date(a.getFullYear(),0,1),e=(a.getTime()-c.getTime())/864E5|0;r()[b+28>>2>>>0]=e;r()[b+36>>2>>>0]=-(60*a.getTimezoneOffset());e=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();a=(e!=c&&a.getTimezoneOffset()==Math.min(c,e))|0;r()[b+
|
||||
32>>2>>>0]=a},Ra:function(a){var b=new Date(r()[a+20>>2>>>0]+1900,r()[a+16>>2>>>0],r()[a+12>>2>>>0],r()[a+8>>2>>>0],r()[a+4>>2>>>0],r()[a>>2>>>0],0),c=r()[a+32>>2>>>0],e=b.getTimezoneOffset(),f=new Date(b.getFullYear(),0,1),h=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),k=f.getTimezoneOffset(),l=Math.min(k,h);0>c?r()[a+32>>2>>>0]=Number(h!=k&&l==e):0<c!=(l==e)&&(h=Math.max(k,h),b.setTime(b.getTime()+6E4*((0<c?l:h)-e)));r()[a+24>>2>>>0]=b.getDay();c=(b.getTime()-f.getTime())/864E5|0;r()[a+28>>
|
||||
2>>>0]=c;r()[a>>2>>>0]=b.getSeconds();r()[a+4>>2>>>0]=b.getMinutes();r()[a+8>>2>>>0]=b.getHours();r()[a+12>>2>>>0]=b.getDate();r()[a+16>>2>>>0]=b.getMonth();return b.getTime()/1E3|0},Aa:Cb,Ba:Db,Sa:Hb,y:function(){I("")},U:function(){if(!B&&!y){var a="Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread";Ib||(Ib={});Ib[a]||(Ib[a]=1,B&&(a="warning: "+a),G(a))}},ra:function(){return 4294901760},B:Jb,Ia:function(a,b,
|
||||
c){q().copyWithin(a>>>0,b>>>0,b+c>>>0)},F:function(){return B?require("os").cpus().length:navigator.hardwareConcurrency},Da:function(a,b,c){Mb.length=b;c>>=3;for(var e=0;e<b;e++)Mb[e]=ea()[c+e>>>0];return(0>a?Pa[-a-1]:cc[a]).apply(null,Mb)},qa:function(a){var b=q().length;a>>>=0;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);f=f.min.call(f,4294901760,e+(65536-e%65536)%65536);a:{try{m.grow(f-n.byteLength+65535>>>16);p(m.buffer);
|
||||
var h=1;break a}catch(k){}h=void 0}if(h)return!0}return!1},Na:function(){throw"unwind";},Ga:Qb,Ha:Rb,J:Ta,I:Sb,S:Tb,ga:Ub,R:Vb,d:function(){return Y},na:Xb,ia:fc,ja:gc,K:hc,f:ic,P:jc,Q:kc,k:lc,p:mc,q:nc,N:oc,s:pc,w:qc,L:rc,E:sc,aa:tc,_:uc,Z:vc,ca:wc,$:xc,ba:yc,Y:zc,g:Ac,r:Bc,i:Cc,ha:Dc,m:Ec,v:Fc,u:Gc,O:Hc,A:Ic,ka:Jc,C:Kc,D:Lc,fa:Mc,da:Nc,ea:Oc,o:function(a){return a},a:m||x.wasmMemory,G:function(a){Y=a},la:bc,z:function(a,b,c,e){return bc(a,b,c,e)}};
|
||||
(function(){function a(f,h){x.asm=f.exports;P.qc.push(x.asm.sb);Ea=x.asm.ub;Ga.unshift(x.asm.Va);wa=h;C||(L--,x.monitorRunDependencies&&x.monitorRunDependencies(L),0==L&&(null!==La&&(clearInterval(La),La=null),M&&(f=M,M=null,f())))}function b(f){a(f.instance,f.module)}function c(f){return Oa().then(function(h){return WebAssembly.instantiate(h,e)}).then(function(h){return h}).then(f,function(h){G("failed to asynchronously prepare wasm: "+h);I(h)})}var e={a:Pc};C||(L++,x.monitorRunDependencies&&x.monitorRunDependencies(L));
|
||||
if(x.instantiateWasm)try{return x.instantiateWasm(e,a)}catch(f){return G("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return H||"function"!=typeof WebAssembly.instantiateStreaming||Ma()||O.startsWith("file://")||B||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(h){G("wasm streaming compile failed: "+h);G("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ia);
|
||||
return{}})();x.___wasm_call_ctors=function(){return(x.___wasm_call_ctors=x.asm.Va).apply(null,arguments)};x._OrtInit=function(){return(x._OrtInit=x.asm.Wa).apply(null,arguments)};x._OrtCreateSessionOptions=function(){return(x._OrtCreateSessionOptions=x.asm.Xa).apply(null,arguments)};x._OrtAppendExecutionProvider=function(){return(x._OrtAppendExecutionProvider=x.asm.Ya).apply(null,arguments)};x._OrtAddSessionConfigEntry=function(){return(x._OrtAddSessionConfigEntry=x.asm.Za).apply(null,arguments)};
|
||||
x._OrtReleaseSessionOptions=function(){return(x._OrtReleaseSessionOptions=x.asm._a).apply(null,arguments)};x._OrtCreateSession=function(){return(x._OrtCreateSession=x.asm.$a).apply(null,arguments)};x._OrtReleaseSession=function(){return(x._OrtReleaseSession=x.asm.ab).apply(null,arguments)};x._OrtGetInputCount=function(){return(x._OrtGetInputCount=x.asm.bb).apply(null,arguments)};x._OrtGetOutputCount=function(){return(x._OrtGetOutputCount=x.asm.cb).apply(null,arguments)};
|
||||
x._OrtGetInputName=function(){return(x._OrtGetInputName=x.asm.db).apply(null,arguments)};x._OrtGetOutputName=function(){return(x._OrtGetOutputName=x.asm.eb).apply(null,arguments)};x._OrtFree=function(){return(x._OrtFree=x.asm.fb).apply(null,arguments)};x._OrtCreateTensor=function(){return(x._OrtCreateTensor=x.asm.gb).apply(null,arguments)};x._OrtGetTensorData=function(){return(x._OrtGetTensorData=x.asm.hb).apply(null,arguments)};
|
||||
x._OrtReleaseTensor=function(){return(x._OrtReleaseTensor=x.asm.ib).apply(null,arguments)};x._OrtCreateRunOptions=function(){return(x._OrtCreateRunOptions=x.asm.jb).apply(null,arguments)};x._OrtAddRunConfigEntry=function(){return(x._OrtAddRunConfigEntry=x.asm.kb).apply(null,arguments)};x._OrtReleaseRunOptions=function(){return(x._OrtReleaseRunOptions=x.asm.lb).apply(null,arguments)};x._OrtRun=function(){return(x._OrtRun=x.asm.mb).apply(null,arguments)};
|
||||
x._OrtEndProfiling=function(){return(x._OrtEndProfiling=x.asm.nb).apply(null,arguments)};var $a=x._pthread_self=function(){return($a=x._pthread_self=x.asm.ob).apply(null,arguments)},Fb=x._malloc=function(){return(Fb=x._malloc=x.asm.pb).apply(null,arguments)},kb=x._free=function(){return(kb=x._free=x.asm.qb).apply(null,arguments)},Wa=x._fflush=function(){return(Wa=x._fflush=x.asm.rb).apply(null,arguments)};x.__emscripten_tls_init=function(){return(x.__emscripten_tls_init=x.asm.sb).apply(null,arguments)};
|
||||
var Va=x.___funcs_on_exit=function(){return(Va=x.___funcs_on_exit=x.asm.tb).apply(null,arguments)},ec=x.__emscripten_thread_init=function(){return(ec=x.__emscripten_thread_init=x.asm.vb).apply(null,arguments)};x.__emscripten_thread_crashed=function(){return(x.__emscripten_thread_crashed=x.asm.wb).apply(null,arguments)};
|
||||
var Lb=x._emscripten_run_in_main_runtime_thread_js=function(){return(Lb=x._emscripten_run_in_main_runtime_thread_js=x.asm.xb).apply(null,arguments)},Ab=x.__emscripten_proxy_execute_task_queue=function(){return(Ab=x.__emscripten_proxy_execute_task_queue=x.asm.yb).apply(null,arguments)},Za=x.__emscripten_thread_free_data=function(){return(Za=x.__emscripten_thread_free_data=x.asm.zb).apply(null,arguments)},eb=x.__emscripten_thread_exit=function(){return(eb=x.__emscripten_thread_exit=x.asm.Ab).apply(null,
|
||||
arguments)},Z=x._setThrew=function(){return(Z=x._setThrew=x.asm.Bb).apply(null,arguments)},cb=x._emscripten_stack_set_limits=function(){return(cb=x._emscripten_stack_set_limits=x.asm.Cb).apply(null,arguments)},S=x.stackSave=function(){return(S=x.stackSave=x.asm.Db).apply(null,arguments)},U=x.stackRestore=function(){return(U=x.stackRestore=x.asm.Eb).apply(null,arguments)},Kb=x.stackAlloc=function(){return(Kb=x.stackAlloc=x.asm.Fb).apply(null,arguments)},dc=x.___cxa_can_catch=function(){return(dc=x.___cxa_can_catch=
|
||||
x.asm.Gb).apply(null,arguments)},ib=x.___cxa_is_pointer_type=function(){return(ib=x.___cxa_is_pointer_type=x.asm.Hb).apply(null,arguments)},Qc=x.dynCall_j=function(){return(Qc=x.dynCall_j=x.asm.Ib).apply(null,arguments)},Rc=x.dynCall_iiiiij=function(){return(Rc=x.dynCall_iiiiij=x.asm.Jb).apply(null,arguments)},Sc=x.dynCall_jii=function(){return(Sc=x.dynCall_jii=x.asm.Kb).apply(null,arguments)},Tc=x.dynCall_viiiiij=function(){return(Tc=x.dynCall_viiiiij=x.asm.Lb).apply(null,arguments)},Uc=x.dynCall_vjji=
|
||||
function(){return(Uc=x.dynCall_vjji=x.asm.Mb).apply(null,arguments)},Vc=x.dynCall_viiijjjii=function(){return(Vc=x.dynCall_viiijjjii=x.asm.Nb).apply(null,arguments)},Wc=x.dynCall_iij=function(){return(Wc=x.dynCall_iij=x.asm.Ob).apply(null,arguments)},Xc=x.dynCall_ji=function(){return(Xc=x.dynCall_ji=x.asm.Pb).apply(null,arguments)},Yc=x.dynCall_iiiiiij=function(){return(Yc=x.dynCall_iiiiiij=x.asm.Qb).apply(null,arguments)},Zc=x.dynCall_iiij=function(){return(Zc=x.dynCall_iiij=x.asm.Rb).apply(null,
|
||||
arguments)};function ic(a,b){var c=S();try{return V(a)(b)}catch(e){U(c);if(e!==e+0)throw e;Z(1,0)}}function Bc(a,b){var c=S();try{V(a)(b)}catch(e){U(c);if(e!==e+0)throw e;Z(1,0)}}function Cc(a,b,c){var e=S();try{V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function lc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function mc(a,b,c,e){var f=S();try{return V(a)(b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}
|
||||
function qc(a,b,c,e,f,h,k){var l=S();try{return V(a)(b,c,e,f,h,k)}catch(u){U(l);if(u!==u+0)throw u;Z(1,0)}}function Ac(a){var b=S();try{V(a)()}catch(c){U(b);if(c!==c+0)throw c;Z(1,0)}}function pc(a,b,c,e,f,h){var k=S();try{return V(a)(b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}function nc(a,b,c,e,f){var h=S();try{return V(a)(b,c,e,f)}catch(k){U(h);if(k!==k+0)throw k;Z(1,0)}}function Ec(a,b,c,e){var f=S();try{V(a)(b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}
|
||||
function Gc(a,b,c,e,f,h){var k=S();try{V(a)(b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}function Fc(a,b,c,e,f){var h=S();try{V(a)(b,c,e,f)}catch(k){U(h);if(k!==k+0)throw k;Z(1,0)}}function Ic(a,b,c,e,f,h,k,l){var u=S();try{V(a)(b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}function kc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function jc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}
|
||||
function Jc(a,b,c,e,f,h,k,l,u){var t=S();try{V(a)(b,c,e,f,h,k,l,u)}catch(A){U(t);if(A!==A+0)throw A;Z(1,0)}}function Hc(a,b,c,e,f,h,k){var l=S();try{V(a)(b,c,e,f,h,k)}catch(u){U(l);if(u!==u+0)throw u;Z(1,0)}}function oc(a,b,c,e,f,h){var k=S();try{return V(a)(b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}function rc(a,b,c,e,f,h,k,l){var u=S();try{return V(a)(b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}
|
||||
function sc(a,b,c,e,f,h,k,l,u,t,A,K){var J=S();try{return V(a)(b,c,e,f,h,k,l,u,t,A,K)}catch(g){U(J);if(g!==g+0)throw g;Z(1,0)}}function Kc(a,b,c,e,f,h,k,l,u,t,A){var K=S();try{V(a)(b,c,e,f,h,k,l,u,t,A)}catch(J){U(K);if(J!==J+0)throw J;Z(1,0)}}function Lc(a,b,c,e,f,h,k,l,u,t,A,K,J,g,w,z){var N=S();try{V(a)(b,c,e,f,h,k,l,u,t,A,K,J,g,w,z)}catch(T){U(N);if(T!==T+0)throw T;Z(1,0)}}function hc(a){var b=S();try{return V(a)()}catch(c){U(b);if(c!==c+0)throw c;Z(1,0)}}
|
||||
function gc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function fc(a,b,c){var e=S();try{return V(a)(b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}function Dc(a,b,c,e){var f=S();try{V(a)(b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}function Mc(a,b,c,e,f,h,k,l){var u=S();try{Tc(a,b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}function Oc(a,b,c,e,f,h){var k=S();try{Uc(a,b,c,e,f,h)}catch(l){U(k);if(l!==l+0)throw l;Z(1,0)}}
|
||||
function Nc(a,b,c,e,f,h,k,l,u,t,A,K){var J=S();try{Vc(a,b,c,e,f,h,k,l,u,t,A,K)}catch(g){U(J);if(g!==g+0)throw g;Z(1,0)}}function wc(a,b,c,e){var f=S();try{return Wc(a,b,c,e)}catch(h){U(f);if(h!==h+0)throw h;Z(1,0)}}function yc(a,b){var c=S();try{return Xc(a,b)}catch(e){U(c);if(e!==e+0)throw e;Z(1,0)}}function tc(a,b,c,e,f,h,k,l){var u=S();try{return Yc(a,b,c,e,f,h,k,l)}catch(t){U(u);if(t!==t+0)throw t;Z(1,0)}}function xc(a){var b=S();try{return Qc(a)}catch(c){U(b);if(c!==c+0)throw c;Z(1,0)}}
|
||||
function uc(a,b,c,e,f,h,k){var l=S();try{return Rc(a,b,c,e,f,h,k)}catch(u){U(l);if(u!==u+0)throw u;Z(1,0)}}function vc(a,b,c,e,f){var h=S();try{return Zc(a,b,c,e,f)}catch(k){U(h);if(k!==k+0)throw k;Z(1,0)}}function zc(a,b,c){var e=S();try{return Sc(a,b,c)}catch(f){U(e);if(f!==f+0)throw f;Z(1,0)}}x.UTF8ToString=Aa;x.stringToUTF8=function(a,b,c){return Ba(a,q(),b,c)};x.lengthBytesUTF8=Ca;x.keepRuntimeAlive=F;x.wasmMemory=m;x.stackSave=S;x.stackRestore=U;x.stackAlloc=Kb;x.ExitStatus=E;x.PThread=P;var $c;
|
||||
M=function ad(){$c||bd();$c||(M=ad)};
|
||||
function bd(){function a(){if(!$c&&($c=!0,x.calledRun=!0,!xa)){C||R(Ga);ha(x);if(x.onRuntimeInitialized)x.onRuntimeInitialized();if(!C){if(x.postRun)for("function"==typeof x.postRun&&(x.postRun=[x.postRun]);x.postRun.length;){var b=x.postRun.shift();Ia.unshift(b)}R(Ia)}}}if(!(0<L))if(C)ha(x),C||R(Ga),postMessage({cmd:"loaded"});else{if(x.preRun)for("function"==typeof x.preRun&&(x.preRun=[x.preRun]);x.preRun.length;)Ka();R(Fa);0<L||(x.setStatus?(x.setStatus("Running..."),setTimeout(function(){setTimeout(function(){x.setStatus("")},
|
||||
1);a()},1)):a())}}if(x.preInit)for("function"==typeof x.preInit&&(x.preInit=[x.preInit]);0<x.preInit.length;)x.preInit.pop()();bd();
|
||||
|
||||
|
||||
return ortWasmThreaded.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = ortWasmThreaded;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return ortWasmThreaded; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["ortWasmThreaded"] = ortWasmThreaded;
|
||||
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.min.js
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.min.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.min.worker.js
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.min.worker.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var e={},t="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node;if(t){var r=require("worker_threads"),a=r.parentPort;a.on("message",(e=>onmessage({data:e})));var o=require("fs");Object.assign(global,{self:global,require:require,Module:e,location:{href:__filename},Worker:r.Worker,importScripts:function(e){(0,eval)(o.readFileSync(e,"utf8"))},postMessage:function(e){a.postMessage(e)},performance:global.performance||{now:function(){return Date.now()}}})}var s=!1,n=[],i=function(){var e=Array.prototype.slice.call(arguments).join(" ");t?o.writeSync(2,e+"\n"):console.error(e)};self.alert=function(){var t=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:t,threadId:e._pthread_self()})},e.instantiateWasm=(t,r)=>{var a=new WebAssembly.Instance(e.wasmModule,t);return r(a),e.wasmModule=null,a.exports},self.onunhandledrejection=e=>{throw e.reason??e},self.onmessage=t=>{try{if("load"===t.data.cmd){if(e.wasmModule=t.data.wasmModule,e.wasmMemory=t.data.wasmMemory,e.buffer=e.wasmMemory.buffer,e.ENVIRONMENT_IS_PTHREAD=!0,"string"==typeof t.data.urlOrBlob)importScripts(t.data.urlOrBlob);else{var r=URL.createObjectURL(t.data.urlOrBlob);importScripts(r),URL.revokeObjectURL(r)}ortWasmThreaded(e).then((function(t){e=t}))}else if("run"===t.data.cmd){e.__performance_now_clock_drift=performance.now()-t.data.time,e.__emscripten_thread_init(t.data.pthread_ptr,0,0,1),e.establishStackSpace(),e.PThread.receiveObjectTransfer(t.data),e.PThread.threadInitTLS(),s||(n.forEach((t=>{e.executeNotifiedProxyingQueue(t)})),n=[],s=!0);try{e.invokeEntryPoint(t.data.start_routine,t.data.arg)}catch(t){if("unwind"!=t){if(!(t instanceof e.ExitStatus))throw t;e.keepRuntimeAlive()||e.__emscripten_thread_exit(t.status)}}}else"cancel"===t.data.cmd?e._pthread_self()&&e.__emscripten_thread_exit(-1):"setimmediate"===t.data.target||("processProxyingQueue"===t.data.cmd?s?e.executeNotifiedProxyingQueue(t.data.queue):n.push(t.data.queue):(i("worker.js received unknown command "+t.data.cmd),i(t.data)))}catch(t){throw i("worker.js onmessage() captured an uncaught exception: "+t),t&&t.stack&&i(t.stack),e.__emscripten_thread_crashed&&e.__emscripten_thread_crashed(),t}};
|
||||
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.worker.js
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm-threaded.worker.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports};self.onunhandledrejection=e=>{throw e.reason??e};self.onmessage=e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}ortWasmThreaded(Module).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.pthread_ptr,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0,/*canBlock=*/1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}};
|
||||
57
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm.d.ts
generated
vendored
Normal file
57
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm.d.ts
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
export interface OrtWasmModule extends EmscriptenModule {
|
||||
// #region emscripten functions
|
||||
stackSave(): number;
|
||||
stackRestore(stack: number): void;
|
||||
stackAlloc(size: number): number;
|
||||
|
||||
UTF8ToString(offset: number, maxBytesToRead?: number): string;
|
||||
lengthBytesUTF8(str: string): number;
|
||||
stringToUTF8(str: string, offset: number, maxBytes: number): void;
|
||||
// #endregion
|
||||
|
||||
// #region ORT APIs
|
||||
_OrtInit(numThreads: number, loggingLevel: number): number;
|
||||
|
||||
_OrtCreateSession(dataOffset: number, dataLength: number, sessionOptionsHandle: number): number;
|
||||
_OrtReleaseSession(sessionHandle: number): void;
|
||||
_OrtGetInputCount(sessionHandle: number): number;
|
||||
_OrtGetOutputCount(sessionHandle: number): number;
|
||||
_OrtGetInputName(sessionHandle: number, index: number): number;
|
||||
_OrtGetOutputName(sessionHandle: number, index: number): number;
|
||||
|
||||
_OrtFree(stringHandle: number): void;
|
||||
|
||||
_OrtCreateTensor(dataType: number, dataOffset: number, dataLength: number, dimsOffset: number, dimsLength: number):
|
||||
number;
|
||||
_OrtGetTensorData(tensorHandle: number, dataType: number, dataOffset: number, dimsOffset: number, dimsLength: number):
|
||||
number;
|
||||
_OrtReleaseTensor(tensorHandle: number): void;
|
||||
_OrtRun(
|
||||
sessionHandle: number, inputNamesOffset: number, inputsOffset: number, inputCount: number,
|
||||
outputNamesOffset: number, outputCount: number, outputsOffset: number, runOptionsHandle: number): number;
|
||||
|
||||
_OrtCreateSessionOptions(
|
||||
graphOptimizationLevel: number, enableCpuMemArena: boolean, enableMemPattern: boolean, executionMode: number,
|
||||
enableProfiling: boolean, profileFilePrefix: number, logId: number, logSeverityLevel: number,
|
||||
logVerbosityLevel: number): number;
|
||||
_OrtAppendExecutionProvider(sessionOptionsHandle: number, name: number): number;
|
||||
_OrtAddSessionConfigEntry(sessionOptionsHandle: number, configKey: number, configValue: number): number;
|
||||
_OrtReleaseSessionOptions(sessionOptionsHandle: number): void;
|
||||
|
||||
_OrtCreateRunOptions(logSeverityLevel: number, logVerbosityLevel: number, terminate: boolean, tag: number): number;
|
||||
_OrtAddRunConfigEntry(runOptionsHandle: number, configKey: number, configValue: number): number;
|
||||
_OrtReleaseRunOptions(runOptionsHandle: number): void;
|
||||
|
||||
_OrtEndProfiling(sessionHandle: number): number;
|
||||
// #endregion
|
||||
|
||||
// #region config
|
||||
mainScriptUrlOrBlob?: string|Blob;
|
||||
// #endregion
|
||||
}
|
||||
|
||||
declare const moduleFactory: EmscriptenModuleFactory<OrtWasmModule>;
|
||||
export default moduleFactory;
|
||||
77
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm.js
generated
vendored
Normal file
77
node_modules/onnxruntime-web/lib/wasm/binding/ort-wasm.js
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
|
||||
var ortWasm = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(ortWasm) {
|
||||
ortWasm = ortWasm || {};
|
||||
|
||||
|
||||
var d;d||(d=typeof ortWasm !== 'undefined' ? ortWasm : {});var aa,ba;d.ready=new Promise(function(a,b){aa=a;ba=b});var ca=Object.assign({},d),da="./this.program",ea=(a,b)=>{throw b;},fa="object"==typeof window,m="function"==typeof importScripts,p="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,q="",ha,r,v,fs,y,ia;
|
||||
if(p)q=m?require("path").dirname(q)+"/":__dirname+"/",ia=()=>{y||(fs=require("fs"),y=require("path"))},ha=function(a,b){ia();a=y.normalize(a);return fs.readFileSync(a,b?void 0:"utf8")},v=a=>{a=ha(a,!0);a.buffer||(a=new Uint8Array(a));return a},r=(a,b,c)=>{ia();a=y.normalize(a);fs.readFile(a,function(e,f){e?c(e):b(f.buffer)})},1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof ja))throw a;}),process.on("unhandledRejection",
|
||||
function(a){throw a;}),ea=(a,b)=>{if(noExitRuntime||0<ka)throw process.exitCode=a,b;b instanceof ja||z("exiting due to exception: "+b);process.exit(a)},d.inspect=function(){return"[Emscripten Module object]"};else if(fa||m)m?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptDir&&(q=_scriptDir),0!==q.indexOf("blob:")?q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1):q="",ha=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);
|
||||
return b.responseText},m&&(v=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),r=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var la=d.print||console.log.bind(console),z=d.printErr||console.warn.bind(console);Object.assign(d,ca);ca=null;d.thisProgram&&(da=d.thisProgram);d.quit&&(ea=d.quit);
|
||||
var A;d.wasmBinary&&(A=d.wasmBinary);var noExitRuntime=d.noExitRuntime||!1;"object"!=typeof WebAssembly&&B("no native wasm support detected");var ma,D=!1,na="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||
function oa(a,b,c){b>>>=0;var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&na)return na.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}function pa(a,b){return(a>>>=0)?oa(G,a,b):""}
|
||||
function qa(a,b,c,e){c>>>=0;if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++>>>0]=k}else{if(2047>=k){if(c+1>=e)break;b[c++>>>0]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++>>>0]=224|k>>12}else{if(c+3>=e)break;b[c++>>>0]=240|k>>18;b[c++>>>0]=128|k>>12&63}b[c++>>>0]=128|k>>6&63}b[c++>>>0]=128|k&63}}b[c>>>0]=0;return c-f}
|
||||
function ra(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b}var sa,H,G,I,J;function ta(){var a=ma.buffer;sa=a;d.HEAP8=H=new Int8Array(a);d.HEAP16=new Int16Array(a);d.HEAP32=I=new Int32Array(a);d.HEAPU8=G=new Uint8Array(a);d.HEAPU16=new Uint16Array(a);d.HEAPU32=J=new Uint32Array(a);d.HEAPF32=new Float32Array(a);d.HEAPF64=new Float64Array(a)}var ua,va=[],wa=[],xa=[],ya=[],ka=0;
|
||||
function za(){var a=d.preRun.shift();va.unshift(a)}var K=0,Aa=null,L=null;function B(a){if(d.onAbort)d.onAbort(a);a="Aborted("+a+")";z(a);D=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Ba(){return N.startsWith("data:application/octet-stream;base64,")}var N;N="ort-wasm.wasm";if(!Ba()){var Ca=N;N=d.locateFile?d.locateFile(Ca,q):q+Ca}
|
||||
function Da(){var a=N;try{if(a==N&&A)return new Uint8Array(A);if(v)return v(a);throw"both async and sync fetching of the wasm failed";}catch(b){B(b)}}
|
||||
function Ea(){if(!A&&(fa||m)){if("function"==typeof fetch&&!N.startsWith("file://"))return fetch(N,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+N+"'";return a.arrayBuffer()}).catch(function(){return Da()});if(r)return new Promise(function(a,b){r(N,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return Da()})}function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
|
||||
function O(a){for(;0<a.length;)a.shift()(d)}var P=[],Q=0,R=0;
|
||||
function S(a){this.Db=a;this.zb=a-24;this.Ub=function(b){J[this.zb+4>>2>>>0]=b};this.Eb=function(){return J[this.zb+4>>2>>>0]};this.Sb=function(b){J[this.zb+8>>2>>>0]=b};this.Wb=function(){return J[this.zb+8>>2>>>0]};this.Tb=function(){I[this.zb>>2>>>0]=0};this.Ib=function(b){H[this.zb+12>>0>>>0]=b?1:0};this.Pb=function(){return 0!=H[this.zb+12>>0>>>0]};this.Jb=function(b){H[this.zb+13>>0>>>0]=b?1:0};this.Lb=function(){return 0!=H[this.zb+13>>0>>>0]};this.Rb=function(b,c){this.Fb(0);this.Ub(b);this.Sb(c);
|
||||
this.Tb();this.Ib(!1);this.Jb(!1)};this.Nb=function(){I[this.zb>>2>>>0]+=1};this.Xb=function(){var b=I[this.zb>>2>>>0];I[this.zb>>2>>>0]=b-1;return 1===b};this.Fb=function(b){J[this.zb+16>>2>>>0]=b};this.Ob=function(){return J[this.zb+16>>2>>>0]};this.Qb=function(){if(Fa(this.Eb()))return J[this.Db>>2>>>0];var b=this.Ob();return 0!==b?b:this.Db}}function Ga(a){return Ha((new S(a)).zb)}var T=[];function U(a){var b=T[a];b||(a>=T.length&&(T.length=a+1),T[a]=b=ua.get(a));return b}
|
||||
function Ia(a){var b=ra(a)+1,c=Ja(b);c&&qa(a,H,c,b);return c}function Ka(a,b,c){function e(n){return(n=n.toTimeString().match(/\(([A-Za-z ]+)\)$/))?n[1]:"GMT"}var f=(new Date).getFullYear(),h=new Date(f,0,1),k=new Date(f,6,1);f=h.getTimezoneOffset();var l=k.getTimezoneOffset();I[a>>2>>>0]=60*Math.max(f,l);I[b>>2>>>0]=Number(f!=l);a=e(h);b=e(k);a=Ia(a);b=Ia(b);l<f?(J[c>>2>>>0]=a,J[c+4>>2>>>0]=b):(J[c>>2>>>0]=b,J[c+4>>2>>>0]=a)}function La(a,b,c){La.Vb||(La.Vb=!0,Ka(a,b,c))}var Ma={};
|
||||
function Na(){if(!Oa){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 Ma)void 0===Ma[b]?delete a[b]:a[b]=Ma[b];var c=[];for(b in a)c.push(b+"="+a[b]);Oa=c}return Oa}var Oa,Pa=[null,[],[]];function Qa(a,b){var c=Pa[a];0===b||10===b?((1===a?la:z)(oa(c,0)),c.length=0):c.push(b)}var V=0;
|
||||
function Ra(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return()=>{crypto.getRandomValues(a);return a[0]}}if(p)try{var b=require("crypto");return()=>b.randomBytes(1)[0]}catch(c){}return()=>B("randomDevice")}function W(a,b){W.Mb||(W.Mb=Ra());for(var c=0;c<b;c++)H[a+c>>0>>>0]=W.Mb();return 0}function Sa(a){return 0===a%4&&(0!==a%100||0===a%400)}var Ta=[31,29,31,30,31,30,31,31,30,31,30,31],Ua=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
function Va(a){var b=Array(ra(a)+1);qa(a,b,0,b.length);return b}
|
||||
function Wa(a,b,c,e){function f(g,u,w){for(g="number"==typeof g?g.toString():g||"";g.length<u;)g=w[0]+g;return g}function h(g,u){return f(g,u,"0")}function k(g,u){function w(M){return 0>M?-1:0<M?1:0}var F;0===(F=w(g.getFullYear()-u.getFullYear()))&&0===(F=w(g.getMonth()-u.getMonth()))&&(F=w(g.getDate()-u.getDate()));return F}function l(g){switch(g.getDay()){case 0:return new Date(g.getFullYear()-1,11,29);case 1:return g;case 2:return new Date(g.getFullYear(),0,3);case 3:return new Date(g.getFullYear(),
|
||||
0,2);case 4:return new Date(g.getFullYear(),0,1);case 5:return new Date(g.getFullYear()-1,11,31);case 6:return new Date(g.getFullYear()-1,11,30)}}function n(g){var u=g.Bb;for(g=new Date((new Date(g.Cb+1900,0,1)).getTime());0<u;){var w=g.getMonth(),F=(Sa(g.getFullYear())?Ta:Ua)[w];if(u>F-g.getDate())u-=F-g.getDate()+1,g.setDate(1),11>w?g.setMonth(w+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1));else{g.setDate(g.getDate()+u);break}}w=new Date(g.getFullYear()+1,0,4);u=l(new Date(g.getFullYear(),
|
||||
0,4));w=l(w);return 0>=k(u,g)?0>=k(w,g)?g.getFullYear()+1:g.getFullYear():g.getFullYear()-1}var t=I[e+40>>2>>>0];e={$b:I[e>>2>>>0],Zb:I[e+4>>2>>>0],Gb:I[e+8>>2>>>0],Kb:I[e+12>>2>>>0],Hb:I[e+16>>2>>>0],Cb:I[e+20>>2>>>0],Ab:I[e+24>>2>>>0],Bb:I[e+28>>2>>>0],bc:I[e+32>>2>>>0],Yb:I[e+36>>2>>>0],ac:t?pa(t):""};c=pa(c);t={"%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 x in t)c=c.replace(new RegExp(x,"g"),t[x]);var E="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),C="January February March April May June July August September October November December".split(" ");t={"%a":function(g){return E[g.Ab].substring(0,3)},"%A":function(g){return E[g.Ab]},"%b":function(g){return C[g.Hb].substring(0,
|
||||
3)},"%B":function(g){return C[g.Hb]},"%C":function(g){return h((g.Cb+1900)/100|0,2)},"%d":function(g){return h(g.Kb,2)},"%e":function(g){return f(g.Kb,2," ")},"%g":function(g){return n(g).toString().substring(2)},"%G":function(g){return n(g)},"%H":function(g){return h(g.Gb,2)},"%I":function(g){g=g.Gb;0==g?g=12:12<g&&(g-=12);return h(g,2)},"%j":function(g){for(var u=0,w=0;w<=g.Hb-1;u+=(Sa(g.Cb+1900)?Ta:Ua)[w++]);return h(g.Kb+u,3)},"%m":function(g){return h(g.Hb+1,2)},"%M":function(g){return h(g.Zb,
|
||||
2)},"%n":function(){return"\n"},"%p":function(g){return 0<=g.Gb&&12>g.Gb?"AM":"PM"},"%S":function(g){return h(g.$b,2)},"%t":function(){return"\t"},"%u":function(g){return g.Ab||7},"%U":function(g){return h(Math.floor((g.Bb+7-g.Ab)/7),2)},"%V":function(g){var u=Math.floor((g.Bb+7-(g.Ab+6)%7)/7);2>=(g.Ab+371-g.Bb-2)%7&&u++;if(u)53==u&&(w=(g.Ab+371-g.Bb)%7,4==w||3==w&&Sa(g.Cb)||(u=1));else{u=52;var w=(g.Ab+7-g.Bb-1)%7;(4==w||5==w&&Sa(g.Cb%400-1))&&u++}return h(u,2)},"%w":function(g){return g.Ab},"%W":function(g){return h(Math.floor((g.Bb+
|
||||
7-(g.Ab+6)%7)/7),2)},"%y":function(g){return(g.Cb+1900).toString().substring(2)},"%Y":function(g){return g.Cb+1900},"%z":function(g){g=g.Yb;var u=0<=g;g=Math.abs(g)/60;return(u?"+":"-")+String("0000"+(g/60*100+g%60)).slice(-4)},"%Z":function(g){return g.ac},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(x in t)c.includes(x)&&(c=c.replace(new RegExp(x,"g"),t[x](e)));c=c.replace(/\0\0/g,"%");x=Va(c);if(x.length>b)return 0;H.set(x,a>>>0);return x.length-1}
|
||||
var Jb={a:function(a){return Ja(a+24)+24},m:function(a){a=new S(a);a.Pb()||(a.Ib(!0),Q--);a.Jb(!1);P.push(a);a.Nb();return a.Qb()},ia:function(a){z("Unexpected exception thrown, this is not properly supported - aborting");D=!0;throw a;},w:function(){X(0);var a=P.pop();if(a.Xb()&&!a.Lb()){var b=a.Wb();b&&U(b)(a.Db);Ga(a.Db)}R=0},d:function(){var a=R;if(!a)return V=0;var b=new S(a);b.Fb(a);var c=b.Eb();if(!c)return V=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];
|
||||
if(0===h||h===c)break;if(Xa(h,c,b.zb+16))return V=h,a}V=c;return a},k:function(){var a=R;if(!a)return V=0;var b=new S(a);b.Fb(a);var c=b.Eb();if(!c)return V=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;if(Xa(h,c,b.zb+16))return V=h,a}V=c;return a},g:function(){var a=R;if(!a)return V=0;var b=new S(a);b.Fb(a);var c=b.Eb();if(!c)return V=0,a;for(var e=Array.prototype.slice.call(arguments),f=0;f<e.length;f++){var h=e[f];if(0===h||h===c)break;
|
||||
if(Xa(h,c,b.zb+16))return V=h,a}V=c;return a},s:Ga,L:function(){var a=P.pop();a||B("no exception to throw");var b=a.Db;a.Lb()||(P.push(a),a.Jb(!0),a.Ib(!1),Q++);R=b;throw b;},b:function(a,b,c){(new S(a)).Rb(b,c);R=a;Q++;throw a;},la:function(){return Q},i:function(a){R||(R=a);throw a;},H:function(){return 0},Ba:function(){},pa:function(){},ra:function(){},ka:function(){return 0},za:function(){},ua:function(){},ya:function(){},R:function(){},qa:function(){},na:function(){},Aa:function(){},oa:function(){},
|
||||
Ha:function(){},Ja:function(){B("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},Ia:function(){B("To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking")},S:function(){return Date.now()},Ca:function(){return!0},Da:function(a,b){a=new Date(1E3*(J[a>>>2]+4294967296*I[a+4>>>2]));I[b>>2>>>0]=a.getUTCSeconds();I[b+4>>2>>>0]=a.getUTCMinutes();I[b+8>>2>>>0]=a.getUTCHours();I[b+12>>2>>>
|
||||
0]=a.getUTCDate();I[b+16>>2>>>0]=a.getUTCMonth();I[b+20>>2>>>0]=a.getUTCFullYear()-1900;I[b+24>>2>>>0]=a.getUTCDay();I[b+28>>2>>>0]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0},Ea:function(a,b){a=new Date(1E3*(J[a>>>2]+4294967296*I[a+4>>>2]));I[b>>2>>>0]=a.getSeconds();I[b+4>>2>>>0]=a.getMinutes();I[b+8>>2>>>0]=a.getHours();I[b+12>>2>>>0]=a.getDate();I[b+16>>2>>>0]=a.getMonth();I[b+20>>2>>>0]=a.getFullYear()-1900;I[b+24>>2>>>0]=a.getDay();var c=new Date(a.getFullYear(),0,1);I[b+
|
||||
28>>2>>>0]=(a.getTime()-c.getTime())/864E5|0;I[b+36>>2>>>0]=-(60*a.getTimezoneOffset());var e=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();I[b+32>>2>>>0]=(e!=c&&a.getTimezoneOffset()==Math.min(c,e))|0},Fa:function(a){var b=new Date(I[a+20>>2>>>0]+1900,I[a+16>>2>>>0],I[a+12>>2>>>0],I[a+8>>2>>>0],I[a+4>>2>>>0],I[a>>2>>>0],0),c=I[a+32>>2>>>0],e=b.getTimezoneOffset(),f=new Date(b.getFullYear(),0,1),h=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),k=f.getTimezoneOffset(),
|
||||
l=Math.min(k,h);0>c?I[a+32>>2>>>0]=Number(h!=k&&l==e):0<c!=(l==e)&&(h=Math.max(k,h),b.setTime(b.getTime()+6E4*((0<c?l:h)-e)));I[a+24>>2>>>0]=b.getDay();I[a+28>>2>>>0]=(b.getTime()-f.getTime())/864E5|0;I[a>>2>>>0]=b.getSeconds();I[a+4>>2>>>0]=b.getMinutes();I[a+8>>2>>>0]=b.getHours();I[a+12>>2>>>0]=b.getDate();I[a+16>>2>>>0]=b.getMonth();return b.getTime()/1E3|0},sa:function(){return-52},ta:function(){},Ga:La,B:function(){B("")},ma:function(){return 4294901760},I:p?()=>{var a=process.hrtime();return 1E3*
|
||||
a[0]+a[1]/1E6}:()=>performance.now(),xa:function(a,b,c){G.copyWithin(a>>>0,b>>>0,b+c>>>0)},G:function(a){var b=G.length;a>>>=0;if(4294901760<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);f=f.min.call(f,4294901760,e+(65536-e%65536)%65536);a:{try{ma.grow(f-sa.byteLength+65535>>>16);ta();var h=1;break a}catch(k){}h=void 0}if(h)return!0}return!1},va:function(a,b){var c=0;Na().forEach(function(e,f){var h=b+c;f=J[a+4*f>>2>>>0]=h;for(h=0;h<e.length;++h)H[f++>>
|
||||
0>>>0]=e.charCodeAt(h);H[f>>0>>>0]=0;c+=e.length+1});return 0},wa:function(a,b){var c=Na();J[a>>2>>>0]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});J[b>>2>>>0]=e;return 0},ba:function(a){noExitRuntime||0<ka||(Ya(),O(xa),Za(0),Pa[1].length&&Qa(1,10),Pa[2].length&&Qa(2,10));if(!(noExitRuntime||0<ka)){if(d.onExit)d.onExit(a);D=!0}ea(a,new ja(a))},E:function(){return 52},Q:function(){return 52},ca:function(){return 70},P:function(a,b,c,e){for(var f=0,h=0;h<c;h++){var k=J[b>>2>>>0],l=J[b+4>>
|
||||
2>>>0];b+=8;for(var n=0;n<l;n++)Qa(a,G[k+n>>>0]);f+=l}J[e>>2>>>0]=f;return 0},c:function(){return V},ja:W,ea:$a,fa:ab,J:bb,e:cb,N:db,O:eb,j:fb,o:gb,p:hb,M:ib,r:jb,v:kb,K:lb,D:mb,X:nb,V:ob,U:pb,Z:qb,W:rb,Y:sb,T:tb,f:ub,q:vb,h:wb,da:xb,l:yb,t:zb,u:Ab,x:Bb,z:Cb,ga:Db,A:Eb,C:Fb,aa:Gb,_:Hb,$:Ib,n:function(a){return a},F:function(a){V=a},ha:Wa,y:function(a,b,c,e){return Wa(a,b,c,e)}};
|
||||
(function(){function a(f){d.asm=f.exports;ma=d.asm.Ka;ta();ua=d.asm.ib;wa.unshift(d.asm.La);K--;d.monitorRunDependencies&&d.monitorRunDependencies(K);0==K&&(null!==Aa&&(clearInterval(Aa),Aa=null),L&&(f=L,L=null,f()))}function b(f){a(f.instance)}function c(f){return Ea().then(function(h){return WebAssembly.instantiate(h,e)}).then(function(h){return h}).then(f,function(h){z("failed to asynchronously prepare wasm: "+h);B(h)})}var e={a:Jb};K++;d.monitorRunDependencies&&d.monitorRunDependencies(K);if(d.instantiateWasm)try{return d.instantiateWasm(e,
|
||||
a)}catch(f){return z("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return A||"function"!=typeof WebAssembly.instantiateStreaming||Ba()||N.startsWith("file://")||p||"function"!=typeof fetch?c(b):fetch(N,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(h){z("wasm streaming compile failed: "+h);z("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ba);return{}})();
|
||||
d.___wasm_call_ctors=function(){return(d.___wasm_call_ctors=d.asm.La).apply(null,arguments)};d._OrtInit=function(){return(d._OrtInit=d.asm.Ma).apply(null,arguments)};d._OrtCreateSessionOptions=function(){return(d._OrtCreateSessionOptions=d.asm.Na).apply(null,arguments)};d._OrtAppendExecutionProvider=function(){return(d._OrtAppendExecutionProvider=d.asm.Oa).apply(null,arguments)};d._OrtAddSessionConfigEntry=function(){return(d._OrtAddSessionConfigEntry=d.asm.Pa).apply(null,arguments)};
|
||||
d._OrtReleaseSessionOptions=function(){return(d._OrtReleaseSessionOptions=d.asm.Qa).apply(null,arguments)};d._OrtCreateSession=function(){return(d._OrtCreateSession=d.asm.Ra).apply(null,arguments)};d._OrtReleaseSession=function(){return(d._OrtReleaseSession=d.asm.Sa).apply(null,arguments)};d._OrtGetInputCount=function(){return(d._OrtGetInputCount=d.asm.Ta).apply(null,arguments)};d._OrtGetOutputCount=function(){return(d._OrtGetOutputCount=d.asm.Ua).apply(null,arguments)};
|
||||
d._OrtGetInputName=function(){return(d._OrtGetInputName=d.asm.Va).apply(null,arguments)};d._OrtGetOutputName=function(){return(d._OrtGetOutputName=d.asm.Wa).apply(null,arguments)};d._OrtFree=function(){return(d._OrtFree=d.asm.Xa).apply(null,arguments)};d._OrtCreateTensor=function(){return(d._OrtCreateTensor=d.asm.Ya).apply(null,arguments)};d._OrtGetTensorData=function(){return(d._OrtGetTensorData=d.asm.Za).apply(null,arguments)};
|
||||
d._OrtReleaseTensor=function(){return(d._OrtReleaseTensor=d.asm._a).apply(null,arguments)};d._OrtCreateRunOptions=function(){return(d._OrtCreateRunOptions=d.asm.$a).apply(null,arguments)};d._OrtAddRunConfigEntry=function(){return(d._OrtAddRunConfigEntry=d.asm.ab).apply(null,arguments)};d._OrtReleaseRunOptions=function(){return(d._OrtReleaseRunOptions=d.asm.bb).apply(null,arguments)};d._OrtRun=function(){return(d._OrtRun=d.asm.cb).apply(null,arguments)};
|
||||
d._OrtEndProfiling=function(){return(d._OrtEndProfiling=d.asm.db).apply(null,arguments)};
|
||||
var Ja=d._malloc=function(){return(Ja=d._malloc=d.asm.eb).apply(null,arguments)},Ha=d._free=function(){return(Ha=d._free=d.asm.fb).apply(null,arguments)},Za=d._fflush=function(){return(Za=d._fflush=d.asm.gb).apply(null,arguments)},Ya=d.___funcs_on_exit=function(){return(Ya=d.___funcs_on_exit=d.asm.hb).apply(null,arguments)},X=d._setThrew=function(){return(X=d._setThrew=d.asm.jb).apply(null,arguments)},Y=d.stackSave=function(){return(Y=d.stackSave=d.asm.kb).apply(null,arguments)},Z=d.stackRestore=
|
||||
function(){return(Z=d.stackRestore=d.asm.lb).apply(null,arguments)},Kb=d.stackAlloc=function(){return(Kb=d.stackAlloc=d.asm.mb).apply(null,arguments)},Xa=d.___cxa_can_catch=function(){return(Xa=d.___cxa_can_catch=d.asm.nb).apply(null,arguments)},Fa=d.___cxa_is_pointer_type=function(){return(Fa=d.___cxa_is_pointer_type=d.asm.ob).apply(null,arguments)},Lb=d.dynCall_j=function(){return(Lb=d.dynCall_j=d.asm.pb).apply(null,arguments)},Mb=d.dynCall_iiiiij=function(){return(Mb=d.dynCall_iiiiij=d.asm.qb).apply(null,
|
||||
arguments)},Nb=d.dynCall_jii=function(){return(Nb=d.dynCall_jii=d.asm.rb).apply(null,arguments)},Ob=d.dynCall_viiiiij=function(){return(Ob=d.dynCall_viiiiij=d.asm.sb).apply(null,arguments)},Pb=d.dynCall_vjji=function(){return(Pb=d.dynCall_vjji=d.asm.tb).apply(null,arguments)},Qb=d.dynCall_viiijjjii=function(){return(Qb=d.dynCall_viiijjjii=d.asm.ub).apply(null,arguments)},Rb=d.dynCall_iij=function(){return(Rb=d.dynCall_iij=d.asm.vb).apply(null,arguments)},Sb=d.dynCall_ji=function(){return(Sb=d.dynCall_ji=
|
||||
d.asm.wb).apply(null,arguments)},Tb=d.dynCall_iiiiiij=function(){return(Tb=d.dynCall_iiiiiij=d.asm.xb).apply(null,arguments)},Ub=d.dynCall_iiij=function(){return(Ub=d.dynCall_iiij=d.asm.yb).apply(null,arguments)};function cb(a,b){var c=Y();try{return U(a)(b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}function vb(a,b){var c=Y();try{U(a)(b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}function wb(a,b,c){var e=Y();try{U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}
|
||||
function fb(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function gb(a,b,c,e){var f=Y();try{return U(a)(b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function kb(a,b,c,e,f,h,k){var l=Y();try{return U(a)(b,c,e,f,h,k)}catch(n){Z(l);if(n!==n+0)throw n;X(1,0)}}function ub(a){var b=Y();try{U(a)()}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function jb(a,b,c,e,f,h){var k=Y();try{return U(a)(b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}
|
||||
function hb(a,b,c,e,f){var h=Y();try{return U(a)(b,c,e,f)}catch(k){Z(h);if(k!==k+0)throw k;X(1,0)}}function yb(a,b,c,e){var f=Y();try{U(a)(b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function Ab(a,b,c,e,f,h){var k=Y();try{U(a)(b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}function zb(a,b,c,e,f){var h=Y();try{U(a)(b,c,e,f)}catch(k){Z(h);if(k!==k+0)throw k;X(1,0)}}function Bb(a,b,c,e,f,h,k){var l=Y();try{U(a)(b,c,e,f,h,k)}catch(n){Z(l);if(n!==n+0)throw n;X(1,0)}}
|
||||
function Cb(a,b,c,e,f,h,k,l){var n=Y();try{U(a)(b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}function eb(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function db(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function Db(a,b,c,e,f,h,k,l,n){var t=Y();try{U(a)(b,c,e,f,h,k,l,n)}catch(x){Z(t);if(x!==x+0)throw x;X(1,0)}}function ib(a,b,c,e,f,h){var k=Y();try{return U(a)(b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}
|
||||
function lb(a,b,c,e,f,h,k,l){var n=Y();try{return U(a)(b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}function mb(a,b,c,e,f,h,k,l,n,t,x,E){var C=Y();try{return U(a)(b,c,e,f,h,k,l,n,t,x,E)}catch(g){Z(C);if(g!==g+0)throw g;X(1,0)}}function Eb(a,b,c,e,f,h,k,l,n,t,x){var E=Y();try{U(a)(b,c,e,f,h,k,l,n,t,x)}catch(C){Z(E);if(C!==C+0)throw C;X(1,0)}}function Fb(a,b,c,e,f,h,k,l,n,t,x,E,C,g,u,w){var F=Y();try{U(a)(b,c,e,f,h,k,l,n,t,x,E,C,g,u,w)}catch(M){Z(F);if(M!==M+0)throw M;X(1,0)}}
|
||||
function bb(a){var b=Y();try{return U(a)()}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function ab(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function $a(a,b,c){var e=Y();try{return U(a)(b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}function xb(a,b,c,e){var f=Y();try{U(a)(b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function Gb(a,b,c,e,f,h,k,l){var n=Y();try{Ob(a,b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}
|
||||
function Ib(a,b,c,e,f,h){var k=Y();try{Pb(a,b,c,e,f,h)}catch(l){Z(k);if(l!==l+0)throw l;X(1,0)}}function Hb(a,b,c,e,f,h,k,l,n,t,x,E){var C=Y();try{Qb(a,b,c,e,f,h,k,l,n,t,x,E)}catch(g){Z(C);if(g!==g+0)throw g;X(1,0)}}function qb(a,b,c,e){var f=Y();try{return Rb(a,b,c,e)}catch(h){Z(f);if(h!==h+0)throw h;X(1,0)}}function sb(a,b){var c=Y();try{return Sb(a,b)}catch(e){Z(c);if(e!==e+0)throw e;X(1,0)}}
|
||||
function nb(a,b,c,e,f,h,k,l){var n=Y();try{return Tb(a,b,c,e,f,h,k,l)}catch(t){Z(n);if(t!==t+0)throw t;X(1,0)}}function rb(a){var b=Y();try{return Lb(a)}catch(c){Z(b);if(c!==c+0)throw c;X(1,0)}}function ob(a,b,c,e,f,h,k){var l=Y();try{return Mb(a,b,c,e,f,h,k)}catch(n){Z(l);if(n!==n+0)throw n;X(1,0)}}function pb(a,b,c,e,f){var h=Y();try{return Ub(a,b,c,e,f)}catch(k){Z(h);if(k!==k+0)throw k;X(1,0)}}function tb(a,b,c){var e=Y();try{return Nb(a,b,c)}catch(f){Z(e);if(f!==f+0)throw f;X(1,0)}}
|
||||
d.UTF8ToString=pa;d.stringToUTF8=function(a,b,c){return qa(a,G,b,c)};d.lengthBytesUTF8=ra;d.stackSave=Y;d.stackRestore=Z;d.stackAlloc=Kb;var Vb;L=function Wb(){Vb||Xb();Vb||(L=Wb)};
|
||||
function Xb(){function a(){if(!Vb&&(Vb=!0,d.calledRun=!0,!D)){O(wa);aa(d);if(d.onRuntimeInitialized)d.onRuntimeInitialized();if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;){var b=d.postRun.shift();ya.unshift(b)}O(ya)}}if(!(0<K)){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)za();O(va);0<K||(d.setStatus?(d.setStatus("Running..."),setTimeout(function(){setTimeout(function(){d.setStatus("")},1);a()},1)):a())}}
|
||||
if(d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);0<d.preInit.length;)d.preInit.pop()();Xb();
|
||||
|
||||
|
||||
return ortWasm.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = ortWasm;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return ortWasm; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["ortWasm"] = ortWasm;
|
||||
32
node_modules/onnxruntime-web/lib/wasm/options-utils.js
generated
vendored
Normal file
32
node_modules/onnxruntime-web/lib/wasm/options-utils.js
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.iterateExtraOptions = void 0;
|
||||
const iterateExtraOptions = (options, prefix, seen, handler) => {
|
||||
if (typeof options == 'object' && options !== null) {
|
||||
if (seen.has(options)) {
|
||||
throw new Error('Circular reference in options');
|
||||
}
|
||||
else {
|
||||
seen.add(options);
|
||||
}
|
||||
}
|
||||
Object.entries(options).forEach(([key, value]) => {
|
||||
const name = (prefix) ? prefix + key : key;
|
||||
if (typeof value === 'object') {
|
||||
(0, exports.iterateExtraOptions)(value, name + '.', seen, handler);
|
||||
}
|
||||
else if (typeof value === 'string' || typeof value === 'number') {
|
||||
handler(name, value.toString());
|
||||
}
|
||||
else if (typeof value === 'boolean') {
|
||||
handler(name, (value) ? '1' : '0');
|
||||
}
|
||||
else {
|
||||
throw new Error(`Can't handle extra config type: ${typeof value}`);
|
||||
}
|
||||
});
|
||||
};
|
||||
exports.iterateExtraOptions = iterateExtraOptions;
|
||||
//# sourceMappingURL=options-utils.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/options-utils.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/options-utils.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"options-utils.js","sourceRoot":"","sources":["options-utils.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAM3B,MAAM,mBAAmB,GAC5B,CAAC,OAAgC,EAAE,MAAc,EAAE,IAAsC,EACxF,OAA4B,EAAQ,EAAE;IACrC,IAAI,OAAO,OAAO,IAAI,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;QAClD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACnB;KACF;IAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAA,2BAAmB,EAAC,KAAgC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAClF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACjE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YACrC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,KAAK,EAAE,CAAC,CAAC;SACpE;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAvBO,QAAA,mBAAmB,uBAuB1B"}
|
||||
31
node_modules/onnxruntime-web/lib/wasm/options-utils.ts
generated
vendored
Normal file
31
node_modules/onnxruntime-web/lib/wasm/options-utils.ts
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
interface ExtraOptionsHandler {
|
||||
(name: string, value: string): void;
|
||||
}
|
||||
|
||||
export const iterateExtraOptions =
|
||||
(options: Record<string, unknown>, prefix: string, seen: WeakSet<Record<string, unknown>>,
|
||||
handler: ExtraOptionsHandler): void => {
|
||||
if (typeof options == 'object' && options !== null) {
|
||||
if (seen.has(options)) {
|
||||
throw new Error('Circular reference in options');
|
||||
} else {
|
||||
seen.add(options);
|
||||
}
|
||||
}
|
||||
|
||||
Object.entries(options).forEach(([key, value]) => {
|
||||
const name = (prefix) ? prefix + key : key;
|
||||
if (typeof value === 'object') {
|
||||
iterateExtraOptions(value as Record<string, unknown>, name + '.', seen, handler);
|
||||
} else if (typeof value === 'string' || typeof value === 'number') {
|
||||
handler(name, value.toString());
|
||||
} else if (typeof value === 'boolean') {
|
||||
handler(name, (value) ? '1' : '0');
|
||||
} else {
|
||||
throw new Error(`Can't handle extra config type: ${typeof value}`);
|
||||
}
|
||||
});
|
||||
};
|
||||
5
node_modules/onnxruntime-web/lib/wasm/proxy-messages.js
generated
vendored
Normal file
5
node_modules/onnxruntime-web/lib/wasm/proxy-messages.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=proxy-messages.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/proxy-messages.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/proxy-messages.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"proxy-messages.js","sourceRoot":"","sources":["proxy-messages.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC"}
|
||||
73
node_modules/onnxruntime-web/lib/wasm/proxy-messages.ts
generated
vendored
Normal file
73
node_modules/onnxruntime-web/lib/wasm/proxy-messages.ts
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {Env, InferenceSession, Tensor} from 'onnxruntime-common';
|
||||
|
||||
/**
|
||||
* tuple elements are: ORT element type; dims; tensor data
|
||||
*/
|
||||
export type SerializableTensor = [Tensor.Type, readonly number[], Tensor.DataType];
|
||||
|
||||
/**
|
||||
* tuple elements are: InferenceSession handle; input names; output names
|
||||
*/
|
||||
export type SerializableSessionMetadata = [number, string[], string[]];
|
||||
|
||||
/**
|
||||
* tuple elements are: modeldata.offset, modeldata.length
|
||||
*/
|
||||
export type SerializableModeldata = [number, number];
|
||||
|
||||
interface MessageError {
|
||||
err?: string;
|
||||
}
|
||||
|
||||
interface MessageInitWasm extends MessageError {
|
||||
type: 'init-wasm';
|
||||
in ?: Env.WebAssemblyFlags;
|
||||
}
|
||||
|
||||
interface MessageInitOrt extends MessageError {
|
||||
type: 'init-ort';
|
||||
in ?: {numThreads: number; loggingLevel: number};
|
||||
}
|
||||
|
||||
interface MessageCreateSessionAllocate extends MessageError {
|
||||
type: 'create_allocate';
|
||||
in ?: {model: Uint8Array};
|
||||
out?: SerializableModeldata;
|
||||
}
|
||||
|
||||
interface MessageCreateSessionFinalize extends MessageError {
|
||||
type: 'create_finalize';
|
||||
in ?: {modeldata: SerializableModeldata; options?: InferenceSession.SessionOptions};
|
||||
out?: SerializableSessionMetadata;
|
||||
}
|
||||
|
||||
interface MessageCreateSession extends MessageError {
|
||||
type: 'create';
|
||||
in ?: {model: Uint8Array; options?: InferenceSession.SessionOptions};
|
||||
out?: SerializableSessionMetadata;
|
||||
}
|
||||
|
||||
interface MessageReleaseSession extends MessageError {
|
||||
type: 'release';
|
||||
in ?: number;
|
||||
}
|
||||
|
||||
interface MessageRun extends MessageError {
|
||||
type: 'run';
|
||||
in ?: {
|
||||
sessionId: number; inputIndices: number[]; inputs: SerializableTensor[]; outputIndices: number[];
|
||||
options: InferenceSession.RunOptions;
|
||||
};
|
||||
out?: SerializableTensor[];
|
||||
}
|
||||
|
||||
interface MesssageEndProfiling extends MessageError {
|
||||
type: 'end-profiling';
|
||||
in ?: number;
|
||||
}
|
||||
|
||||
export type OrtWasmMessage = MessageInitWasm|MessageInitOrt|MessageCreateSessionAllocate|MessageCreateSessionFinalize|
|
||||
MessageCreateSession|MessageReleaseSession|MessageRun|MesssageEndProfiling;
|
||||
83
node_modules/onnxruntime-web/lib/wasm/proxy-worker/main.ts
generated
vendored
Normal file
83
node_modules/onnxruntime-web/lib/wasm/proxy-worker/main.ts
generated
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
/// <reference lib="webworker" />
|
||||
|
||||
import {OrtWasmMessage} from '../proxy-messages';
|
||||
import {createSession, createSessionAllocate, createSessionFinalize, endProfiling, extractTransferableBuffers, initOrt, releaseSession, run} from '../wasm-core-impl';
|
||||
import {initializeWebAssembly} from '../wasm-factory';
|
||||
|
||||
self.onmessage = (ev: MessageEvent<OrtWasmMessage>): void => {
|
||||
switch (ev.data.type) {
|
||||
case 'init-wasm':
|
||||
initializeWebAssembly(ev.data.in)
|
||||
.then(
|
||||
() => postMessage({type: 'init-wasm'} as OrtWasmMessage),
|
||||
err => postMessage({type: 'init-wasm', err} as OrtWasmMessage));
|
||||
break;
|
||||
case 'init-ort':
|
||||
try {
|
||||
const {numThreads, loggingLevel} = ev.data.in!;
|
||||
initOrt(numThreads, loggingLevel);
|
||||
postMessage({type: 'init-ort'} as OrtWasmMessage);
|
||||
} catch (err) {
|
||||
postMessage({type: 'init-ort', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
case 'create_allocate':
|
||||
try {
|
||||
const {model} = ev.data.in!;
|
||||
const modeldata = createSessionAllocate(model);
|
||||
postMessage({type: 'create_allocate', out: modeldata} as OrtWasmMessage);
|
||||
} catch (err) {
|
||||
postMessage({type: 'create_allocate', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
case 'create_finalize':
|
||||
try {
|
||||
const {modeldata, options} = ev.data.in!;
|
||||
const sessionMetadata = createSessionFinalize(modeldata, options);
|
||||
postMessage({type: 'create_finalize', out: sessionMetadata} as OrtWasmMessage);
|
||||
} catch (err) {
|
||||
postMessage({type: 'create_finalize', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
case 'create':
|
||||
try {
|
||||
const {model, options} = ev.data.in!;
|
||||
const sessionMetadata = createSession(model, options);
|
||||
postMessage({type: 'create', out: sessionMetadata} as OrtWasmMessage);
|
||||
} catch (err) {
|
||||
postMessage({type: 'create', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
case 'release':
|
||||
try {
|
||||
const handler = ev.data.in!;
|
||||
releaseSession(handler);
|
||||
postMessage({type: 'release'} as OrtWasmMessage);
|
||||
} catch (err) {
|
||||
postMessage({type: 'release', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
case 'run':
|
||||
try {
|
||||
const {sessionId, inputIndices, inputs, outputIndices, options} = ev.data.in!;
|
||||
const outputs = run(sessionId, inputIndices, inputs, outputIndices, options);
|
||||
postMessage({type: 'run', out: outputs} as OrtWasmMessage, extractTransferableBuffers(outputs));
|
||||
} catch (err) {
|
||||
postMessage({type: 'run', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
case 'end-profiling':
|
||||
try {
|
||||
const handler = ev.data.in!;
|
||||
endProfiling(handler);
|
||||
postMessage({type: 'end-profiling'} as OrtWasmMessage);
|
||||
} catch (err) {
|
||||
postMessage({type: 'end-profiling', err} as OrtWasmMessage);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
};
|
||||
255
node_modules/onnxruntime-web/lib/wasm/proxy-wrapper.js
generated
vendored
Normal file
255
node_modules/onnxruntime-web/lib/wasm/proxy-wrapper.js
generated
vendored
Normal file
@@ -0,0 +1,255 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
var _a;
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.endProfiling = exports.run = exports.releaseSession = exports.createSession = exports.createSessionFinalize = exports.createSessionAllocate = exports.initOrt = exports.initWasm = void 0;
|
||||
const onnxruntime_common_1 = require("onnxruntime-common");
|
||||
const core = __importStar(require("./wasm-core-impl"));
|
||||
const wasm_factory_1 = require("./wasm-factory");
|
||||
const isProxy = () => !!onnxruntime_common_1.env.wasm.proxy && typeof document !== 'undefined';
|
||||
let proxyWorker;
|
||||
let initializing = false;
|
||||
let initialized = false;
|
||||
let aborted = false;
|
||||
let initWasmCallbacks;
|
||||
let initOrtCallbacks;
|
||||
const createSessionAllocateCallbacks = [];
|
||||
const createSessionFinalizeCallbacks = [];
|
||||
const createSessionCallbacks = [];
|
||||
const releaseSessionCallbacks = [];
|
||||
const runCallbacks = [];
|
||||
const endProfilingCallbacks = [];
|
||||
const ensureWorker = () => {
|
||||
if (initializing || !initialized || aborted || !proxyWorker) {
|
||||
throw new Error('worker not ready');
|
||||
}
|
||||
};
|
||||
const onProxyWorkerMessage = (ev) => {
|
||||
switch (ev.data.type) {
|
||||
case 'init-wasm':
|
||||
initializing = false;
|
||||
if (ev.data.err) {
|
||||
aborted = true;
|
||||
initWasmCallbacks[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
initialized = true;
|
||||
initWasmCallbacks[0]();
|
||||
}
|
||||
break;
|
||||
case 'init-ort':
|
||||
if (ev.data.err) {
|
||||
initOrtCallbacks[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
initOrtCallbacks[0]();
|
||||
}
|
||||
break;
|
||||
case 'create_allocate':
|
||||
if (ev.data.err) {
|
||||
createSessionAllocateCallbacks.shift()[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
createSessionAllocateCallbacks.shift()[0](ev.data.out);
|
||||
}
|
||||
break;
|
||||
case 'create_finalize':
|
||||
if (ev.data.err) {
|
||||
createSessionFinalizeCallbacks.shift()[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
createSessionFinalizeCallbacks.shift()[0](ev.data.out);
|
||||
}
|
||||
break;
|
||||
case 'create':
|
||||
if (ev.data.err) {
|
||||
createSessionCallbacks.shift()[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
createSessionCallbacks.shift()[0](ev.data.out);
|
||||
}
|
||||
break;
|
||||
case 'release':
|
||||
if (ev.data.err) {
|
||||
releaseSessionCallbacks.shift()[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
releaseSessionCallbacks.shift()[0]();
|
||||
}
|
||||
break;
|
||||
case 'run':
|
||||
if (ev.data.err) {
|
||||
runCallbacks.shift()[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
runCallbacks.shift()[0](ev.data.out);
|
||||
}
|
||||
break;
|
||||
case 'end-profiling':
|
||||
if (ev.data.err) {
|
||||
endProfilingCallbacks.shift()[1](ev.data.err);
|
||||
}
|
||||
else {
|
||||
endProfilingCallbacks.shift()[0]();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
};
|
||||
const scriptSrc = typeof document !== 'undefined' ? (_a = document === null || document === void 0 ? void 0 : document.currentScript) === null || _a === void 0 ? void 0 : _a.src : undefined;
|
||||
const initWasm = async () => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
if (initialized) {
|
||||
return;
|
||||
}
|
||||
if (initializing) {
|
||||
throw new Error('multiple calls to \'initWasm()\' detected.');
|
||||
}
|
||||
if (aborted) {
|
||||
throw new Error('previous call to \'initWasm()\' failed.');
|
||||
}
|
||||
initializing = true;
|
||||
// overwrite wasm filepaths
|
||||
if (onnxruntime_common_1.env.wasm.wasmPaths === undefined) {
|
||||
if (scriptSrc && scriptSrc.indexOf('blob:') !== 0) {
|
||||
onnxruntime_common_1.env.wasm.wasmPaths = scriptSrc.substr(0, +(scriptSrc).lastIndexOf('/') + 1);
|
||||
}
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
proxyWorker === null || proxyWorker === void 0 ? void 0 : proxyWorker.terminate();
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
|
||||
proxyWorker = require('worker-loader?inline=no-fallback!./proxy-worker/main').default();
|
||||
proxyWorker.onmessage = onProxyWorkerMessage;
|
||||
initWasmCallbacks = [resolve, reject];
|
||||
const message = { type: 'init-wasm', in: onnxruntime_common_1.env.wasm };
|
||||
proxyWorker.postMessage(message);
|
||||
});
|
||||
}
|
||||
else {
|
||||
return (0, wasm_factory_1.initializeWebAssembly)(onnxruntime_common_1.env.wasm);
|
||||
}
|
||||
};
|
||||
exports.initWasm = initWasm;
|
||||
const initOrt = async (numThreads, loggingLevel) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
initOrtCallbacks = [resolve, reject];
|
||||
const message = { type: 'init-ort', in: { numThreads, loggingLevel } };
|
||||
proxyWorker.postMessage(message);
|
||||
});
|
||||
}
|
||||
else {
|
||||
core.initOrt(numThreads, loggingLevel);
|
||||
}
|
||||
};
|
||||
exports.initOrt = initOrt;
|
||||
const createSessionAllocate = async (model) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
createSessionAllocateCallbacks.push([resolve, reject]);
|
||||
const message = { type: 'create_allocate', in: { model } };
|
||||
proxyWorker.postMessage(message, [model.buffer]);
|
||||
});
|
||||
}
|
||||
else {
|
||||
return core.createSessionAllocate(model);
|
||||
}
|
||||
};
|
||||
exports.createSessionAllocate = createSessionAllocate;
|
||||
const createSessionFinalize = async (modeldata, options) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
createSessionFinalizeCallbacks.push([resolve, reject]);
|
||||
const message = { type: 'create_finalize', in: { modeldata, options } };
|
||||
proxyWorker.postMessage(message);
|
||||
});
|
||||
}
|
||||
else {
|
||||
return core.createSessionFinalize(modeldata, options);
|
||||
}
|
||||
};
|
||||
exports.createSessionFinalize = createSessionFinalize;
|
||||
const createSession = async (model, options) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
createSessionCallbacks.push([resolve, reject]);
|
||||
const message = { type: 'create', in: { model, options } };
|
||||
proxyWorker.postMessage(message, [model.buffer]);
|
||||
});
|
||||
}
|
||||
else {
|
||||
return core.createSession(model, options);
|
||||
}
|
||||
};
|
||||
exports.createSession = createSession;
|
||||
const releaseSession = async (sessionId) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
releaseSessionCallbacks.push([resolve, reject]);
|
||||
const message = { type: 'release', in: sessionId };
|
||||
proxyWorker.postMessage(message);
|
||||
});
|
||||
}
|
||||
else {
|
||||
core.releaseSession(sessionId);
|
||||
}
|
||||
};
|
||||
exports.releaseSession = releaseSession;
|
||||
const run = async (sessionId, inputIndices, inputs, outputIndices, options) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
runCallbacks.push([resolve, reject]);
|
||||
const message = { type: 'run', in: { sessionId, inputIndices, inputs, outputIndices, options } };
|
||||
proxyWorker.postMessage(message, core.extractTransferableBuffers(inputs));
|
||||
});
|
||||
}
|
||||
else {
|
||||
return core.run(sessionId, inputIndices, inputs, outputIndices, options);
|
||||
}
|
||||
};
|
||||
exports.run = run;
|
||||
const endProfiling = async (sessionId) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise((resolve, reject) => {
|
||||
endProfilingCallbacks.push([resolve, reject]);
|
||||
const message = { type: 'end-profiling', in: sessionId };
|
||||
proxyWorker.postMessage(message);
|
||||
});
|
||||
}
|
||||
else {
|
||||
core.endProfiling(sessionId);
|
||||
}
|
||||
};
|
||||
exports.endProfiling = endProfiling;
|
||||
//# sourceMappingURL=proxy-wrapper.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/proxy-wrapper.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/proxy-wrapper.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
230
node_modules/onnxruntime-web/lib/wasm/proxy-wrapper.ts
generated
vendored
Normal file
230
node_modules/onnxruntime-web/lib/wasm/proxy-wrapper.ts
generated
vendored
Normal file
@@ -0,0 +1,230 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {env, InferenceSession} from 'onnxruntime-common';
|
||||
|
||||
import {OrtWasmMessage, SerializableModeldata, SerializableSessionMetadata, SerializableTensor} from './proxy-messages';
|
||||
import * as core from './wasm-core-impl';
|
||||
import {initializeWebAssembly} from './wasm-factory';
|
||||
|
||||
const isProxy = (): boolean => !!env.wasm.proxy && typeof document !== 'undefined';
|
||||
let proxyWorker: Worker|undefined;
|
||||
let initializing = false;
|
||||
let initialized = false;
|
||||
let aborted = false;
|
||||
|
||||
// resolve; reject
|
||||
type PromiseCallbacks<T = void> = [(result: T) => void, (reason: unknown) => void];
|
||||
|
||||
let initWasmCallbacks: PromiseCallbacks;
|
||||
let initOrtCallbacks: PromiseCallbacks;
|
||||
const createSessionAllocateCallbacks: Array<PromiseCallbacks<SerializableModeldata>> = [];
|
||||
const createSessionFinalizeCallbacks: Array<PromiseCallbacks<SerializableSessionMetadata>> = [];
|
||||
const createSessionCallbacks: Array<PromiseCallbacks<SerializableSessionMetadata>> = [];
|
||||
const releaseSessionCallbacks: Array<PromiseCallbacks<void>> = [];
|
||||
const runCallbacks: Array<PromiseCallbacks<SerializableTensor[]>> = [];
|
||||
const endProfilingCallbacks: Array<PromiseCallbacks<void>> = [];
|
||||
|
||||
const ensureWorker = (): void => {
|
||||
if (initializing || !initialized || aborted || !proxyWorker) {
|
||||
throw new Error('worker not ready');
|
||||
}
|
||||
};
|
||||
|
||||
const onProxyWorkerMessage = (ev: MessageEvent<OrtWasmMessage>): void => {
|
||||
switch (ev.data.type) {
|
||||
case 'init-wasm':
|
||||
initializing = false;
|
||||
if (ev.data.err) {
|
||||
aborted = true;
|
||||
initWasmCallbacks[1](ev.data.err);
|
||||
} else {
|
||||
initialized = true;
|
||||
initWasmCallbacks[0]();
|
||||
}
|
||||
break;
|
||||
case 'init-ort':
|
||||
if (ev.data.err) {
|
||||
initOrtCallbacks[1](ev.data.err);
|
||||
} else {
|
||||
initOrtCallbacks[0]();
|
||||
}
|
||||
break;
|
||||
case 'create_allocate':
|
||||
if (ev.data.err) {
|
||||
createSessionAllocateCallbacks.shift();
|
||||
} else {
|
||||
createSessionAllocateCallbacks.shift();
|
||||
}
|
||||
break;
|
||||
case 'create_finalize':
|
||||
if (ev.data.err) {
|
||||
createSessionFinalizeCallbacks.shift();
|
||||
} else {
|
||||
createSessionFinalizeCallbacks.shift();
|
||||
}
|
||||
break;
|
||||
case 'create':
|
||||
if (ev.data.err) {
|
||||
createSessionCallbacks.shift();
|
||||
} else {
|
||||
createSessionCallbacks.shift();
|
||||
}
|
||||
break;
|
||||
case 'release':
|
||||
if (ev.data.err) {
|
||||
releaseSessionCallbacks.shift();
|
||||
} else {
|
||||
releaseSessionCallbacks.shift()![0]();
|
||||
}
|
||||
break;
|
||||
case 'run':
|
||||
if (ev.data.err) {
|
||||
runCallbacks.shift();
|
||||
} else {
|
||||
runCallbacks.shift();
|
||||
}
|
||||
break;
|
||||
case 'end-profiling':
|
||||
if (ev.data.err) {
|
||||
endProfilingCallbacks.shift();
|
||||
} else {
|
||||
endProfilingCallbacks.shift()![0]();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
};
|
||||
|
||||
const scriptSrc = typeof document !== 'undefined' ? (document?.currentScript as HTMLScriptElement)?.src : undefined;
|
||||
|
||||
export const initWasm = async(): Promise<void> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
if (initialized) {
|
||||
return;
|
||||
}
|
||||
if (initializing) {
|
||||
throw new Error('multiple calls to \'initWasm()\' detected.');
|
||||
}
|
||||
if (aborted) {
|
||||
throw new Error('previous call to \'initWasm()\' failed.');
|
||||
}
|
||||
|
||||
initializing = true;
|
||||
|
||||
// overwrite wasm filepaths
|
||||
if (env.wasm.wasmPaths === undefined) {
|
||||
if (scriptSrc && scriptSrc.indexOf('blob:') !== 0) {
|
||||
env.wasm.wasmPaths = scriptSrc.substr(0, +(scriptSrc).lastIndexOf('/') + 1);
|
||||
}
|
||||
}
|
||||
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
proxyWorker?.terminate();
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
|
||||
proxyWorker = require('worker-loader?inline=no-fallback!./proxy-worker/main').default() as Worker;
|
||||
proxyWorker.onmessage = onProxyWorkerMessage;
|
||||
initWasmCallbacks = [resolve, reject];
|
||||
const message: OrtWasmMessage = {type: 'init-wasm', in : env.wasm};
|
||||
proxyWorker.postMessage(message);
|
||||
});
|
||||
|
||||
} else {
|
||||
return initializeWebAssembly(env.wasm);
|
||||
}
|
||||
};
|
||||
|
||||
export const initOrt = async(numThreads: number, loggingLevel: number): Promise<void> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
initOrtCallbacks = [resolve, reject];
|
||||
const message: OrtWasmMessage = {type: 'init-ort', in : {numThreads, loggingLevel}};
|
||||
proxyWorker!.postMessage(message);
|
||||
});
|
||||
} else {
|
||||
core.initOrt(numThreads, loggingLevel);
|
||||
}
|
||||
};
|
||||
|
||||
export const createSessionAllocate = async(model: Uint8Array): Promise<SerializableModeldata> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<SerializableModeldata>((resolve, reject) => {
|
||||
createSessionAllocateCallbacks.push([resolve, reject]);
|
||||
const message: OrtWasmMessage = {type: 'create_allocate', in : {model}};
|
||||
proxyWorker!.postMessage(message, [model.buffer]);
|
||||
});
|
||||
} else {
|
||||
return core.createSessionAllocate(model);
|
||||
}
|
||||
};
|
||||
|
||||
export const createSessionFinalize = async(modeldata: SerializableModeldata, options?: InferenceSession.SessionOptions):
|
||||
Promise<SerializableSessionMetadata> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<SerializableSessionMetadata>((resolve, reject) => {
|
||||
createSessionFinalizeCallbacks.push([resolve, reject]);
|
||||
const message: OrtWasmMessage = {type: 'create_finalize', in : {modeldata, options}};
|
||||
proxyWorker!.postMessage(message);
|
||||
});
|
||||
} else {
|
||||
return core.createSessionFinalize(modeldata, options);
|
||||
}
|
||||
};
|
||||
|
||||
export const createSession =
|
||||
async(model: Uint8Array, options?: InferenceSession.SessionOptions): Promise<SerializableSessionMetadata> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<SerializableSessionMetadata>((resolve, reject) => {
|
||||
createSessionCallbacks.push([resolve, reject]);
|
||||
const message: OrtWasmMessage = {type: 'create', in : {model, options}};
|
||||
proxyWorker!.postMessage(message, [model.buffer]);
|
||||
});
|
||||
} else {
|
||||
return core.createSession(model, options);
|
||||
}
|
||||
};
|
||||
|
||||
export const releaseSession = async(sessionId: number): Promise<void> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
releaseSessionCallbacks.push([resolve, reject]);
|
||||
const message: OrtWasmMessage = {type: 'release', in : sessionId};
|
||||
proxyWorker!.postMessage(message);
|
||||
});
|
||||
} else {
|
||||
core.releaseSession(sessionId);
|
||||
}
|
||||
};
|
||||
|
||||
export const run = async(
|
||||
sessionId: number, inputIndices: number[], inputs: SerializableTensor[], outputIndices: number[],
|
||||
options: InferenceSession.RunOptions): Promise<SerializableTensor[]> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<SerializableTensor[]>((resolve, reject) => {
|
||||
runCallbacks.push([resolve, reject]);
|
||||
const message: OrtWasmMessage = {type: 'run', in : {sessionId, inputIndices, inputs, outputIndices, options}};
|
||||
proxyWorker!.postMessage(message, core.extractTransferableBuffers(inputs));
|
||||
});
|
||||
} else {
|
||||
return core.run(sessionId, inputIndices, inputs, outputIndices, options);
|
||||
}
|
||||
};
|
||||
|
||||
export const endProfiling = async(sessionId: number): Promise<void> => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_PROXY && isProxy()) {
|
||||
ensureWorker();
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
endProfilingCallbacks.push([resolve, reject]);
|
||||
const message: OrtWasmMessage = {type: 'end-profiling', in : sessionId};
|
||||
proxyWorker!.postMessage(message);
|
||||
});
|
||||
} else {
|
||||
core.endProfiling(sessionId);
|
||||
}
|
||||
};
|
||||
59
node_modules/onnxruntime-web/lib/wasm/run-options.js
generated
vendored
Normal file
59
node_modules/onnxruntime-web/lib/wasm/run-options.js
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.setRunOptions = void 0;
|
||||
const options_utils_1 = require("./options-utils");
|
||||
const string_utils_1 = require("./string-utils");
|
||||
const wasm_factory_1 = require("./wasm-factory");
|
||||
const setRunOptions = (options) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
let runOptionsHandle = 0;
|
||||
const allocs = [];
|
||||
const runOptions = options || {};
|
||||
try {
|
||||
if ((options === null || options === void 0 ? void 0 : options.logSeverityLevel) === undefined) {
|
||||
runOptions.logSeverityLevel = 2; // Default to warning
|
||||
}
|
||||
else if (typeof options.logSeverityLevel !== 'number' || !Number.isInteger(options.logSeverityLevel) ||
|
||||
options.logSeverityLevel < 0 || options.logSeverityLevel > 4) {
|
||||
throw new Error(`log serverity level is not valid: ${options.logSeverityLevel}`);
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.logVerbosityLevel) === undefined) {
|
||||
runOptions.logVerbosityLevel = 0; // Default to 0
|
||||
}
|
||||
else if (typeof options.logVerbosityLevel !== 'number' || !Number.isInteger(options.logVerbosityLevel)) {
|
||||
throw new Error(`log verbosity level is not valid: ${options.logVerbosityLevel}`);
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.terminate) === undefined) {
|
||||
runOptions.terminate = false;
|
||||
}
|
||||
let tagDataOffset = 0;
|
||||
if ((options === null || options === void 0 ? void 0 : options.tag) !== undefined) {
|
||||
tagDataOffset = (0, string_utils_1.allocWasmString)(options.tag, allocs);
|
||||
}
|
||||
runOptionsHandle = wasm._OrtCreateRunOptions(runOptions.logSeverityLevel, runOptions.logVerbosityLevel, !!runOptions.terminate, tagDataOffset);
|
||||
if (runOptionsHandle === 0) {
|
||||
throw new Error('Can\'t create run options');
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.extra) !== undefined) {
|
||||
(0, options_utils_1.iterateExtraOptions)(options.extra, '', new WeakSet(), (key, value) => {
|
||||
const keyDataOffset = (0, string_utils_1.allocWasmString)(key, allocs);
|
||||
const valueDataOffset = (0, string_utils_1.allocWasmString)(value, allocs);
|
||||
if (wasm._OrtAddRunConfigEntry(runOptionsHandle, keyDataOffset, valueDataOffset) !== 0) {
|
||||
throw new Error(`Can't set a run config entry: ${key} - ${value}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
return [runOptionsHandle, allocs];
|
||||
}
|
||||
catch (e) {
|
||||
if (runOptionsHandle !== 0) {
|
||||
wasm._OrtReleaseRunOptions(runOptionsHandle);
|
||||
}
|
||||
allocs.forEach(wasm._free);
|
||||
throw e;
|
||||
}
|
||||
};
|
||||
exports.setRunOptions = setRunOptions;
|
||||
//# sourceMappingURL=run-options.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/run-options.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/run-options.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"run-options.js","sourceRoot":"","sources":["run-options.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAIlC,mDAAoD;AACpD,iDAA+C;AAC/C,iDAA2C;AAEpC,MAAM,aAAa,GAAG,CAAC,OAAoC,EAAsB,EAAE;IACxF,MAAM,IAAI,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,UAAU,GAAgC,OAAO,IAAI,EAAE,CAAC;IAE9D,IAAI;QACF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,MAAK,SAAS,EAAE;YAC3C,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAE,qBAAqB;SACxD;aAAM,IACH,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3F,OAAO,CAAC,gBAAgB,GAAG,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,EAAE;YAChE,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAClF;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE;YAC5C,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAE,eAAe;SACnD;aAAM,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YACxG,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACnF;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,SAAS,EAAE;YACpC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;SAC9B;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,MAAK,SAAS,EAAE;YAC9B,aAAa,GAAG,IAAA,8BAAe,EAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACtD;QAED,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CACxC,UAAU,CAAC,gBAAiB,EAAE,UAAU,CAAC,iBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,SAAU,EAAE,aAAa,CAAC,CAAC;QACzG,IAAI,gBAAgB,KAAK,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,SAAS,EAAE;YAChC,IAAA,mCAAmB,EAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,OAAO,EAA2B,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC5F,MAAM,aAAa,GAAG,IAAA,8BAAe,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAG,IAAA,8BAAe,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAEvD,IAAI,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE;oBACtF,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;iBACpE;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;KACnC;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,gBAAgB,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;SAC9C;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,CAAC;KACT;AACH,CAAC,CAAC;AAxDW,QAAA,aAAa,iBAwDxB"}
|
||||
66
node_modules/onnxruntime-web/lib/wasm/run-options.ts
generated
vendored
Normal file
66
node_modules/onnxruntime-web/lib/wasm/run-options.ts
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {InferenceSession} from 'onnxruntime-common';
|
||||
|
||||
import {iterateExtraOptions} from './options-utils';
|
||||
import {allocWasmString} from './string-utils';
|
||||
import {getInstance} from './wasm-factory';
|
||||
|
||||
export const setRunOptions = (options: InferenceSession.RunOptions): [number, number[]] => {
|
||||
const wasm = getInstance();
|
||||
let runOptionsHandle = 0;
|
||||
const allocs: number[] = [];
|
||||
|
||||
const runOptions: InferenceSession.RunOptions = options || {};
|
||||
|
||||
try {
|
||||
if (options?.logSeverityLevel === undefined) {
|
||||
runOptions.logSeverityLevel = 2; // Default to warning
|
||||
} else if (
|
||||
typeof options.logSeverityLevel !== 'number' || !Number.isInteger(options.logSeverityLevel) ||
|
||||
options.logSeverityLevel < 0 || options.logSeverityLevel > 4) {
|
||||
throw new Error(`log serverity level is not valid: ${options.logSeverityLevel}`);
|
||||
}
|
||||
|
||||
if (options?.logVerbosityLevel === undefined) {
|
||||
runOptions.logVerbosityLevel = 0; // Default to 0
|
||||
} else if (typeof options.logVerbosityLevel !== 'number' || !Number.isInteger(options.logVerbosityLevel)) {
|
||||
throw new Error(`log verbosity level is not valid: ${options.logVerbosityLevel}`);
|
||||
}
|
||||
|
||||
if (options?.terminate === undefined) {
|
||||
runOptions.terminate = false;
|
||||
}
|
||||
|
||||
let tagDataOffset = 0;
|
||||
if (options?.tag !== undefined) {
|
||||
tagDataOffset = allocWasmString(options.tag, allocs);
|
||||
}
|
||||
|
||||
runOptionsHandle = wasm._OrtCreateRunOptions(
|
||||
runOptions.logSeverityLevel!, runOptions.logVerbosityLevel!, !!runOptions.terminate!, tagDataOffset);
|
||||
if (runOptionsHandle === 0) {
|
||||
throw new Error('Can\'t create run options');
|
||||
}
|
||||
|
||||
if (options?.extra !== undefined) {
|
||||
iterateExtraOptions(options.extra, '', new WeakSet<Record<string, unknown>>(), (key, value) => {
|
||||
const keyDataOffset = allocWasmString(key, allocs);
|
||||
const valueDataOffset = allocWasmString(value, allocs);
|
||||
|
||||
if (wasm._OrtAddRunConfigEntry(runOptionsHandle, keyDataOffset, valueDataOffset) !== 0) {
|
||||
throw new Error(`Can't set a run config entry: ${key} - ${value}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return [runOptionsHandle, allocs];
|
||||
} catch (e) {
|
||||
if (runOptionsHandle !== 0) {
|
||||
wasm._OrtReleaseRunOptions(runOptionsHandle);
|
||||
}
|
||||
allocs.forEach(wasm._free);
|
||||
throw e;
|
||||
}
|
||||
};
|
||||
99
node_modules/onnxruntime-web/lib/wasm/session-handler.js
generated
vendored
Normal file
99
node_modules/onnxruntime-web/lib/wasm/session-handler.js
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.OnnxruntimeWebAssemblySessionHandler = void 0;
|
||||
const fs_1 = require("fs");
|
||||
const onnxruntime_common_1 = require("onnxruntime-common");
|
||||
const util_1 = require("util");
|
||||
const proxy_wrapper_1 = require("./proxy-wrapper");
|
||||
let ortInit;
|
||||
const getLogLevel = (logLevel) => {
|
||||
switch (logLevel) {
|
||||
case 'verbose':
|
||||
return 0;
|
||||
case 'info':
|
||||
return 1;
|
||||
case 'warning':
|
||||
return 2;
|
||||
case 'error':
|
||||
return 3;
|
||||
case 'fatal':
|
||||
return 4;
|
||||
default:
|
||||
throw new Error(`unsupported logging level: ${logLevel}`);
|
||||
}
|
||||
};
|
||||
class OnnxruntimeWebAssemblySessionHandler {
|
||||
async createSessionAllocate(path) {
|
||||
// fetch model from url and move to wasm heap. The arraybufffer that held the http
|
||||
// response is freed once we return
|
||||
const response = await fetch(path);
|
||||
const arrayBuffer = await response.arrayBuffer();
|
||||
return (0, proxy_wrapper_1.createSessionAllocate)(new Uint8Array(arrayBuffer));
|
||||
}
|
||||
async loadModel(pathOrBuffer, options) {
|
||||
if (!ortInit) {
|
||||
await (0, proxy_wrapper_1.initOrt)(onnxruntime_common_1.env.wasm.numThreads, getLogLevel(onnxruntime_common_1.env.logLevel));
|
||||
ortInit = true;
|
||||
}
|
||||
if (typeof pathOrBuffer === 'string') {
|
||||
if (typeof fetch === 'undefined') {
|
||||
// node
|
||||
const model = await (0, util_1.promisify)(fs_1.readFile)(pathOrBuffer);
|
||||
[this.sessionId, this.inputNames, this.outputNames] = await (0, proxy_wrapper_1.createSession)(model, options);
|
||||
}
|
||||
else {
|
||||
// browser
|
||||
// fetch model and move to wasm heap.
|
||||
const modelData = await this.createSessionAllocate(pathOrBuffer);
|
||||
// create the session
|
||||
[this.sessionId, this.inputNames, this.outputNames] = await (0, proxy_wrapper_1.createSessionFinalize)(modelData, options);
|
||||
}
|
||||
}
|
||||
else {
|
||||
[this.sessionId, this.inputNames, this.outputNames] = await (0, proxy_wrapper_1.createSession)(pathOrBuffer, options);
|
||||
}
|
||||
}
|
||||
async dispose() {
|
||||
return (0, proxy_wrapper_1.releaseSession)(this.sessionId);
|
||||
}
|
||||
async run(feeds, fetches, options) {
|
||||
const inputArray = [];
|
||||
const inputIndices = [];
|
||||
Object.entries(feeds).forEach(kvp => {
|
||||
const name = kvp[0];
|
||||
const tensor = kvp[1];
|
||||
const index = this.inputNames.indexOf(name);
|
||||
if (index === -1) {
|
||||
throw new Error(`invalid input '${name}'`);
|
||||
}
|
||||
inputArray.push(tensor);
|
||||
inputIndices.push(index);
|
||||
});
|
||||
const outputIndices = [];
|
||||
Object.entries(fetches).forEach(kvp => {
|
||||
const name = kvp[0];
|
||||
// TODO: support pre-allocated output
|
||||
const index = this.outputNames.indexOf(name);
|
||||
if (index === -1) {
|
||||
throw new Error(`invalid output '${name}'`);
|
||||
}
|
||||
outputIndices.push(index);
|
||||
});
|
||||
const outputs = await (0, proxy_wrapper_1.run)(this.sessionId, inputIndices, inputArray.map(t => [t.type, t.dims, t.data]), outputIndices, options);
|
||||
const result = {};
|
||||
for (let i = 0; i < outputs.length; i++) {
|
||||
result[this.outputNames[outputIndices[i]]] = new onnxruntime_common_1.Tensor(outputs[i][0], outputs[i][2], outputs[i][1]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
startProfiling() {
|
||||
// TODO: implement profiling
|
||||
}
|
||||
endProfiling() {
|
||||
void (0, proxy_wrapper_1.endProfiling)(this.sessionId);
|
||||
}
|
||||
}
|
||||
exports.OnnxruntimeWebAssemblySessionHandler = OnnxruntimeWebAssemblySessionHandler;
|
||||
//# sourceMappingURL=session-handler.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/session-handler.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/session-handler.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"session-handler.js","sourceRoot":"","sources":["session-handler.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC,2BAA4B;AAC5B,2DAAiF;AACjF,+BAA+B;AAG/B,mDAAwI;AAExI,IAAI,OAAgB,CAAC;AAGrB,MAAM,WAAW,GAAG,CAAC,QAAoD,EAAU,EAAE;IACnF,QAAQ,QAAQ,EAAE;QAChB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,OAAO;YACV,OAAO,CAAC,CAAC;QACX,KAAK,OAAO;YACV,OAAO,CAAC,CAAC;QACX;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;KAC7D;AACH,CAAC,CAAC;AAGF,MAAa,oCAAoC;IAM/C,KAAK,CAAC,qBAAqB,CAAC,IAAY;QACtC,kFAAkF;QAClF,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,IAAA,qCAAqB,EAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAA+B,EAAE,OAAyC;QACxF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAA,uBAAO,EAAC,wBAAG,CAAC,IAAI,CAAC,UAAW,EAAE,WAAW,CAAC,wBAAG,CAAC,QAAS,CAAC,CAAC,CAAC;YAChE,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACpC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;gBAChC,OAAO;gBACP,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAS,EAAC,aAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;gBACtD,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,IAAA,6BAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAC3F;iBAAM;gBACL,UAAU;gBACV,qCAAqC;gBACrC,MAAM,SAAS,GAA0B,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBACxF,qBAAqB;gBACrB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,IAAA,qCAAqB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aACvG;SACF;aAAM;YACL,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,IAAA,6BAAa,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SAClG;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAA,8BAAc,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAA+B,EAAE,OAAmC,EAAE,OAAoC;QAElH,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC;aAC5C;YACD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,qCAAqC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;aAC7C;YACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GACT,MAAM,IAAA,mBAAG,EAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEnH,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,2BAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtG;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc;QACZ,4BAA4B;IAC9B,CAAC;IAED,YAAY;QACV,KAAK,IAAA,4BAAY,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;CACF;AApFD,oFAoFC"}
|
||||
116
node_modules/onnxruntime-web/lib/wasm/session-handler.ts
generated
vendored
Normal file
116
node_modules/onnxruntime-web/lib/wasm/session-handler.ts
generated
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {readFile} from 'fs';
|
||||
import {env, InferenceSession, SessionHandler, Tensor} from 'onnxruntime-common';
|
||||
import {promisify} from 'util';
|
||||
|
||||
import {SerializableModeldata} from './proxy-messages';
|
||||
import {createSession, createSessionAllocate, createSessionFinalize, endProfiling, initOrt, releaseSession, run} from './proxy-wrapper';
|
||||
|
||||
let ortInit: boolean;
|
||||
|
||||
|
||||
const getLogLevel = (logLevel: 'verbose'|'info'|'warning'|'error'|'fatal'): number => {
|
||||
switch (logLevel) {
|
||||
case 'verbose':
|
||||
return 0;
|
||||
case 'info':
|
||||
return 1;
|
||||
case 'warning':
|
||||
return 2;
|
||||
case 'error':
|
||||
return 3;
|
||||
case 'fatal':
|
||||
return 4;
|
||||
default:
|
||||
throw new Error(`unsupported logging level: ${logLevel}`);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
export class OnnxruntimeWebAssemblySessionHandler implements SessionHandler {
|
||||
private sessionId: number;
|
||||
|
||||
inputNames: string[];
|
||||
outputNames: string[];
|
||||
|
||||
async createSessionAllocate(path: string): Promise<SerializableModeldata> {
|
||||
// fetch model from url and move to wasm heap. The arraybufffer that held the http
|
||||
// response is freed once we return
|
||||
const response = await fetch(path);
|
||||
const arrayBuffer = await response.arrayBuffer();
|
||||
return createSessionAllocate(new Uint8Array(arrayBuffer));
|
||||
}
|
||||
|
||||
async loadModel(pathOrBuffer: string|Uint8Array, options?: InferenceSession.SessionOptions): Promise<void> {
|
||||
if (!ortInit) {
|
||||
await initOrt(env.wasm.numThreads!, getLogLevel(env.logLevel!));
|
||||
ortInit = true;
|
||||
}
|
||||
|
||||
if (typeof pathOrBuffer === 'string') {
|
||||
if (typeof fetch === 'undefined') {
|
||||
// node
|
||||
const model = await promisify(readFile)(pathOrBuffer);
|
||||
[this.sessionId, this.inputNames, this.outputNames] = await createSession(model, options);
|
||||
} else {
|
||||
// browser
|
||||
// fetch model and move to wasm heap.
|
||||
const modelData: SerializableModeldata = await this.createSessionAllocate(pathOrBuffer);
|
||||
// create the session
|
||||
[this.sessionId, this.inputNames, this.outputNames] = await createSessionFinalize(modelData, options);
|
||||
}
|
||||
} else {
|
||||
[this.sessionId, this.inputNames, this.outputNames] = await createSession(pathOrBuffer, options);
|
||||
}
|
||||
}
|
||||
|
||||
async dispose(): Promise<void> {
|
||||
return releaseSession(this.sessionId);
|
||||
}
|
||||
|
||||
async run(feeds: SessionHandler.FeedsType, fetches: SessionHandler.FetchesType, options: InferenceSession.RunOptions):
|
||||
Promise<SessionHandler.ReturnType> {
|
||||
const inputArray: Tensor[] = [];
|
||||
const inputIndices: number[] = [];
|
||||
Object.entries(feeds).forEach(kvp => {
|
||||
const name = kvp[0];
|
||||
const tensor = kvp[1];
|
||||
const index = this.inputNames.indexOf(name);
|
||||
if (index === -1) {
|
||||
throw new Error(`invalid input '${name}'`);
|
||||
}
|
||||
inputArray.push(tensor);
|
||||
inputIndices.push(index);
|
||||
});
|
||||
|
||||
const outputIndices: number[] = [];
|
||||
Object.entries(fetches).forEach(kvp => {
|
||||
const name = kvp[0];
|
||||
// TODO: support pre-allocated output
|
||||
const index = this.outputNames.indexOf(name);
|
||||
if (index === -1) {
|
||||
throw new Error(`invalid output '${name}'`);
|
||||
}
|
||||
outputIndices.push(index);
|
||||
});
|
||||
|
||||
const outputs =
|
||||
await run(this.sessionId, inputIndices, inputArray.map(t => [t.type, t.dims, t.data]), outputIndices, options);
|
||||
|
||||
const result: SessionHandler.ReturnType = {};
|
||||
for (let i = 0; i < outputs.length; i++) {
|
||||
result[this.outputNames[outputIndices[i]]] = new Tensor(outputs[i][0], outputs[i][2], outputs[i][1]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
startProfiling(): void {
|
||||
// TODO: implement profiling
|
||||
}
|
||||
|
||||
endProfiling(): void {
|
||||
void endProfiling(this.sessionId);
|
||||
}
|
||||
}
|
||||
134
node_modules/onnxruntime-web/lib/wasm/session-options.js
generated
vendored
Normal file
134
node_modules/onnxruntime-web/lib/wasm/session-options.js
generated
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.setSessionOptions = void 0;
|
||||
const options_utils_1 = require("./options-utils");
|
||||
const string_utils_1 = require("./string-utils");
|
||||
const wasm_factory_1 = require("./wasm-factory");
|
||||
const getGraphOptimzationLevel = (graphOptimizationLevel) => {
|
||||
switch (graphOptimizationLevel) {
|
||||
case 'disabled':
|
||||
return 0;
|
||||
case 'basic':
|
||||
return 1;
|
||||
case 'extended':
|
||||
return 2;
|
||||
case 'all':
|
||||
return 99;
|
||||
default:
|
||||
throw new Error(`unsupported graph optimization level: ${graphOptimizationLevel}`);
|
||||
}
|
||||
};
|
||||
const getExecutionMode = (executionMode) => {
|
||||
switch (executionMode) {
|
||||
case 'sequential':
|
||||
return 0;
|
||||
case 'parallel':
|
||||
return 1;
|
||||
default:
|
||||
throw new Error(`unsupported execution mode: ${executionMode}`);
|
||||
}
|
||||
};
|
||||
const appendDefaultOptions = (options) => {
|
||||
if (!options.extra) {
|
||||
options.extra = {};
|
||||
}
|
||||
if (!options.extra.session) {
|
||||
options.extra.session = {};
|
||||
}
|
||||
const session = options.extra.session;
|
||||
if (!session.use_ort_model_bytes_directly) {
|
||||
// eslint-disable-next-line camelcase
|
||||
session.use_ort_model_bytes_directly = '1';
|
||||
}
|
||||
};
|
||||
const setExecutionProviders = (sessionOptionsHandle, executionProviders, allocs) => {
|
||||
for (const ep of executionProviders) {
|
||||
let epName = typeof ep === 'string' ? ep : ep.name;
|
||||
// check EP name
|
||||
switch (epName) {
|
||||
case 'xnnpack':
|
||||
epName = 'XNNPACK';
|
||||
break;
|
||||
case 'wasm':
|
||||
case 'cpu':
|
||||
continue;
|
||||
default:
|
||||
throw new Error(`not supported EP: ${epName}`);
|
||||
}
|
||||
const epNameDataOffset = (0, string_utils_1.allocWasmString)(epName, allocs);
|
||||
if ((0, wasm_factory_1.getInstance)()._OrtAppendExecutionProvider(sessionOptionsHandle, epNameDataOffset) !== 0) {
|
||||
throw new Error(`Can't append execution provider: ${epName}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
const setSessionOptions = (options) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
let sessionOptionsHandle = 0;
|
||||
const allocs = [];
|
||||
const sessionOptions = options || {};
|
||||
appendDefaultOptions(sessionOptions);
|
||||
try {
|
||||
if ((options === null || options === void 0 ? void 0 : options.graphOptimizationLevel) === undefined) {
|
||||
sessionOptions.graphOptimizationLevel = 'all';
|
||||
}
|
||||
const graphOptimizationLevel = getGraphOptimzationLevel(sessionOptions.graphOptimizationLevel);
|
||||
if ((options === null || options === void 0 ? void 0 : options.enableCpuMemArena) === undefined) {
|
||||
sessionOptions.enableCpuMemArena = true;
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.enableMemPattern) === undefined) {
|
||||
sessionOptions.enableMemPattern = true;
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.executionMode) === undefined) {
|
||||
sessionOptions.executionMode = 'sequential';
|
||||
}
|
||||
const executionMode = getExecutionMode(sessionOptions.executionMode);
|
||||
let logIdDataOffset = 0;
|
||||
if ((options === null || options === void 0 ? void 0 : options.logId) !== undefined) {
|
||||
logIdDataOffset = (0, string_utils_1.allocWasmString)(options.logId, allocs);
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.logSeverityLevel) === undefined) {
|
||||
sessionOptions.logSeverityLevel = 2; // Default to warning
|
||||
}
|
||||
else if (typeof options.logSeverityLevel !== 'number' || !Number.isInteger(options.logSeverityLevel) ||
|
||||
options.logSeverityLevel < 0 || options.logSeverityLevel > 4) {
|
||||
throw new Error(`log serverity level is not valid: ${options.logSeverityLevel}`);
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.logVerbosityLevel) === undefined) {
|
||||
sessionOptions.logVerbosityLevel = 0; // Default to 0
|
||||
}
|
||||
else if (typeof options.logVerbosityLevel !== 'number' || !Number.isInteger(options.logVerbosityLevel)) {
|
||||
throw new Error(`log verbosity level is not valid: ${options.logVerbosityLevel}`);
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.enableProfiling) === undefined) {
|
||||
sessionOptions.enableProfiling = false;
|
||||
}
|
||||
sessionOptionsHandle = wasm._OrtCreateSessionOptions(graphOptimizationLevel, !!sessionOptions.enableCpuMemArena, !!sessionOptions.enableMemPattern, executionMode, !!sessionOptions.enableProfiling, 0, logIdDataOffset, sessionOptions.logSeverityLevel, sessionOptions.logVerbosityLevel);
|
||||
if (sessionOptionsHandle === 0) {
|
||||
throw new Error('Can\'t create session options');
|
||||
}
|
||||
if (options === null || options === void 0 ? void 0 : options.executionProviders) {
|
||||
setExecutionProviders(sessionOptionsHandle, options.executionProviders, allocs);
|
||||
}
|
||||
if ((options === null || options === void 0 ? void 0 : options.extra) !== undefined) {
|
||||
(0, options_utils_1.iterateExtraOptions)(options.extra, '', new WeakSet(), (key, value) => {
|
||||
const keyDataOffset = (0, string_utils_1.allocWasmString)(key, allocs);
|
||||
const valueDataOffset = (0, string_utils_1.allocWasmString)(value, allocs);
|
||||
if (wasm._OrtAddSessionConfigEntry(sessionOptionsHandle, keyDataOffset, valueDataOffset) !== 0) {
|
||||
throw new Error(`Can't set a session config entry: ${key} - ${value}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
return [sessionOptionsHandle, allocs];
|
||||
}
|
||||
catch (e) {
|
||||
if (sessionOptionsHandle !== 0) {
|
||||
wasm._OrtReleaseSessionOptions(sessionOptionsHandle);
|
||||
}
|
||||
allocs.forEach(wasm._free);
|
||||
throw e;
|
||||
}
|
||||
};
|
||||
exports.setSessionOptions = setSessionOptions;
|
||||
//# sourceMappingURL=session-options.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/session-options.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/session-options.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"session-options.js","sourceRoot":"","sources":["session-options.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAIlC,mDAAoD;AACpD,iDAA+C;AAC/C,iDAA2C;AAE3C,MAAM,wBAAwB,GAAG,CAAC,sBAAsC,EAAU,EAAE;IAClF,QAAQ,sBAAsB,EAAE;QAC9B,KAAK,UAAU;YACb,OAAO,CAAC,CAAC;QACX,KAAK,OAAO;YACV,OAAO,CAAC,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,CAAC;QACX,KAAK,KAAK;YACR,OAAO,EAAE,CAAC;QACZ;YACE,MAAM,IAAI,KAAK,CAAC,yCAAyC,sBAAsB,EAAE,CAAC,CAAC;KACtF;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,aAAsC,EAAU,EAAE;IAC1E,QAAQ,aAAa,EAAE;QACrB,KAAK,YAAY;YACf,OAAO,CAAC,CAAC;QACX,KAAK,UAAU;YACb,OAAO,CAAC,CAAC;QACX;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;KACnE;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,OAAwC,EAAQ,EAAE;IAC9E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAClB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;KACpB;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;KAC5B;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAiC,CAAC;IAChE,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE;QACzC,qCAAqC;QACrC,OAAO,CAAC,4BAA4B,GAAG,GAAG,CAAC;KAC5C;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GACvB,CAAC,oBAA4B,EAAE,kBAAuE,EACrG,MAAgB,EAAQ,EAAE;IACzB,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE;QACnC,IAAI,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;QAEnD,gBAAgB;QAChB,QAAQ,MAAM,EAAE;YACd,KAAK,SAAS;gBACZ,MAAM,GAAG,SAAS,CAAC;gBACnB,MAAM;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK;gBACR,SAAS;YACX;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;SAClD;QAED,MAAM,gBAAgB,GAAG,IAAA,8BAAe,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,IAAA,0BAAW,GAAE,CAAC,2BAA2B,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAC3F,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;SAC/D;KACF;AACH,CAAC,CAAC;AAEC,MAAM,iBAAiB,GAAG,CAAC,OAAyC,EAAsB,EAAE;IACjG,MAAM,IAAI,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC3B,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,cAAc,GAAoC,OAAO,IAAI,EAAE,CAAC;IACtE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAErC,IAAI;QACF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,sBAAsB,MAAK,SAAS,EAAE;YACjD,cAAc,CAAC,sBAAsB,GAAG,KAAK,CAAC;SAC/C;QACD,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,cAAc,CAAC,sBAAuB,CAAC,CAAC;QAEhG,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE;YAC5C,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACzC;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,MAAK,SAAS,EAAE;YAC3C,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC;SACxC;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,SAAS,EAAE;YACxC,cAAc,CAAC,aAAa,GAAG,YAAY,CAAC;SAC7C;QACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,cAAc,CAAC,aAAc,CAAC,CAAC;QAEtE,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,SAAS,EAAE;YAChC,eAAe,GAAG,IAAA,8BAAe,EAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAC1D;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,MAAK,SAAS,EAAE;YAC3C,cAAc,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAE,qBAAqB;SAC5D;aAAM,IACH,OAAO,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3F,OAAO,CAAC,gBAAgB,GAAG,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,EAAE;YAChE,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAClF;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,SAAS,EAAE;YAC5C,cAAc,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAE,eAAe;SACvD;aAAM,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YACxG,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACnF;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,MAAK,SAAS,EAAE;YAC1C,cAAc,CAAC,eAAe,GAAG,KAAK,CAAC;SACxC;QAED,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,CAChD,sBAAsB,EAAE,CAAC,CAAC,cAAc,CAAC,iBAAkB,EAAE,CAAC,CAAC,cAAc,CAAC,gBAAiB,EAAE,aAAa,EAC9G,CAAC,CAAC,cAAc,CAAC,eAAgB,EAAE,CAAC,EAAE,eAAe,EAAE,cAAc,CAAC,gBAAiB,EACvF,cAAc,CAAC,iBAAkB,CAAC,CAAC;QACvC,IAAI,oBAAoB,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,EAAE;YAC/B,qBAAqB,CAAC,oBAAoB,EAAE,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;SACjF;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAK,SAAS,EAAE;YAChC,IAAA,mCAAmB,EAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,OAAO,EAA2B,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAC5F,MAAM,aAAa,GAAG,IAAA,8BAAe,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAG,IAAA,8BAAe,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAEvD,IAAI,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,EAAE,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE;oBAC9F,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;iBACxE;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;KACvC;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,oBAAoB,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;SACtD;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,CAAC;KACT;AACH,CAAC,CAAC;AAjFW,QAAA,iBAAiB,qBAiF5B"}
|
||||
156
node_modules/onnxruntime-web/lib/wasm/session-options.ts
generated
vendored
Normal file
156
node_modules/onnxruntime-web/lib/wasm/session-options.ts
generated
vendored
Normal file
@@ -0,0 +1,156 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {InferenceSession} from 'onnxruntime-common';
|
||||
|
||||
import {iterateExtraOptions} from './options-utils';
|
||||
import {allocWasmString} from './string-utils';
|
||||
import {getInstance} from './wasm-factory';
|
||||
|
||||
const getGraphOptimzationLevel = (graphOptimizationLevel: string|unknown): number => {
|
||||
switch (graphOptimizationLevel) {
|
||||
case 'disabled':
|
||||
return 0;
|
||||
case 'basic':
|
||||
return 1;
|
||||
case 'extended':
|
||||
return 2;
|
||||
case 'all':
|
||||
return 99;
|
||||
default:
|
||||
throw new Error(`unsupported graph optimization level: ${graphOptimizationLevel}`);
|
||||
}
|
||||
};
|
||||
|
||||
const getExecutionMode = (executionMode: 'sequential'|'parallel'): number => {
|
||||
switch (executionMode) {
|
||||
case 'sequential':
|
||||
return 0;
|
||||
case 'parallel':
|
||||
return 1;
|
||||
default:
|
||||
throw new Error(`unsupported execution mode: ${executionMode}`);
|
||||
}
|
||||
};
|
||||
|
||||
const appendDefaultOptions = (options: InferenceSession.SessionOptions): void => {
|
||||
if (!options.extra) {
|
||||
options.extra = {};
|
||||
}
|
||||
if (!options.extra.session) {
|
||||
options.extra.session = {};
|
||||
}
|
||||
const session = options.extra.session as Record<string, string>;
|
||||
if (!session.use_ort_model_bytes_directly) {
|
||||
// eslint-disable-next-line camelcase
|
||||
session.use_ort_model_bytes_directly = '1';
|
||||
}
|
||||
};
|
||||
|
||||
const setExecutionProviders =
|
||||
(sessionOptionsHandle: number, executionProviders: readonly InferenceSession.ExecutionProviderConfig[],
|
||||
allocs: number[]): void => {
|
||||
for (const ep of executionProviders) {
|
||||
let epName = typeof ep === 'string' ? ep : ep.name;
|
||||
|
||||
// check EP name
|
||||
switch (epName) {
|
||||
case 'xnnpack':
|
||||
epName = 'XNNPACK';
|
||||
break;
|
||||
case 'wasm':
|
||||
case 'cpu':
|
||||
continue;
|
||||
default:
|
||||
throw new Error(`not supported EP: ${epName}`);
|
||||
}
|
||||
|
||||
const epNameDataOffset = allocWasmString(epName, allocs);
|
||||
if (getInstance()._OrtAppendExecutionProvider(sessionOptionsHandle, epNameDataOffset) !== 0) {
|
||||
throw new Error(`Can't append execution provider: ${epName}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const setSessionOptions = (options?: InferenceSession.SessionOptions): [number, number[]] => {
|
||||
const wasm = getInstance();
|
||||
let sessionOptionsHandle = 0;
|
||||
const allocs: number[] = [];
|
||||
|
||||
const sessionOptions: InferenceSession.SessionOptions = options || {};
|
||||
appendDefaultOptions(sessionOptions);
|
||||
|
||||
try {
|
||||
if (options?.graphOptimizationLevel === undefined) {
|
||||
sessionOptions.graphOptimizationLevel = 'all';
|
||||
}
|
||||
const graphOptimizationLevel = getGraphOptimzationLevel(sessionOptions.graphOptimizationLevel!);
|
||||
|
||||
if (options?.enableCpuMemArena === undefined) {
|
||||
sessionOptions.enableCpuMemArena = true;
|
||||
}
|
||||
|
||||
if (options?.enableMemPattern === undefined) {
|
||||
sessionOptions.enableMemPattern = true;
|
||||
}
|
||||
|
||||
if (options?.executionMode === undefined) {
|
||||
sessionOptions.executionMode = 'sequential';
|
||||
}
|
||||
const executionMode = getExecutionMode(sessionOptions.executionMode!);
|
||||
|
||||
let logIdDataOffset = 0;
|
||||
if (options?.logId !== undefined) {
|
||||
logIdDataOffset = allocWasmString(options.logId, allocs);
|
||||
}
|
||||
|
||||
if (options?.logSeverityLevel === undefined) {
|
||||
sessionOptions.logSeverityLevel = 2; // Default to warning
|
||||
} else if (
|
||||
typeof options.logSeverityLevel !== 'number' || !Number.isInteger(options.logSeverityLevel) ||
|
||||
options.logSeverityLevel < 0 || options.logSeverityLevel > 4) {
|
||||
throw new Error(`log serverity level is not valid: ${options.logSeverityLevel}`);
|
||||
}
|
||||
|
||||
if (options?.logVerbosityLevel === undefined) {
|
||||
sessionOptions.logVerbosityLevel = 0; // Default to 0
|
||||
} else if (typeof options.logVerbosityLevel !== 'number' || !Number.isInteger(options.logVerbosityLevel)) {
|
||||
throw new Error(`log verbosity level is not valid: ${options.logVerbosityLevel}`);
|
||||
}
|
||||
|
||||
if (options?.enableProfiling === undefined) {
|
||||
sessionOptions.enableProfiling = false;
|
||||
}
|
||||
|
||||
sessionOptionsHandle = wasm._OrtCreateSessionOptions(
|
||||
graphOptimizationLevel, !!sessionOptions.enableCpuMemArena!, !!sessionOptions.enableMemPattern!, executionMode,
|
||||
!!sessionOptions.enableProfiling!, 0, logIdDataOffset, sessionOptions.logSeverityLevel!,
|
||||
sessionOptions.logVerbosityLevel!);
|
||||
if (sessionOptionsHandle === 0) {
|
||||
throw new Error('Can\'t create session options');
|
||||
}
|
||||
|
||||
if (options?.executionProviders) {
|
||||
setExecutionProviders(sessionOptionsHandle, options.executionProviders, allocs);
|
||||
}
|
||||
|
||||
if (options?.extra !== undefined) {
|
||||
iterateExtraOptions(options.extra, '', new WeakSet<Record<string, unknown>>(), (key, value) => {
|
||||
const keyDataOffset = allocWasmString(key, allocs);
|
||||
const valueDataOffset = allocWasmString(value, allocs);
|
||||
|
||||
if (wasm._OrtAddSessionConfigEntry(sessionOptionsHandle, keyDataOffset, valueDataOffset) !== 0) {
|
||||
throw new Error(`Can't set a session config entry: ${key} - ${value}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return [sessionOptionsHandle, allocs];
|
||||
} catch (e) {
|
||||
if (sessionOptionsHandle !== 0) {
|
||||
wasm._OrtReleaseSessionOptions(sessionOptionsHandle);
|
||||
}
|
||||
allocs.forEach(wasm._free);
|
||||
throw e;
|
||||
}
|
||||
};
|
||||
16
node_modules/onnxruntime-web/lib/wasm/string-utils.js
generated
vendored
Normal file
16
node_modules/onnxruntime-web/lib/wasm/string-utils.js
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.allocWasmString = void 0;
|
||||
const wasm_factory_1 = require("./wasm-factory");
|
||||
const allocWasmString = (data, allocs) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
const dataLength = wasm.lengthBytesUTF8(data) + 1;
|
||||
const dataOffset = wasm._malloc(dataLength);
|
||||
wasm.stringToUTF8(data, dataOffset, dataLength);
|
||||
allocs.push(dataOffset);
|
||||
return dataOffset;
|
||||
};
|
||||
exports.allocWasmString = allocWasmString;
|
||||
//# sourceMappingURL=string-utils.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/string-utils.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/string-utils.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["string-utils.ts"],"names":[],"mappings":";AAAA,4DAA4D;AAC5D,kCAAkC;;;AAElC,iDAA2C;AAEpC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,MAAgB,EAAU,EAAE;IACxE,MAAM,IAAI,GAAG,IAAA,0BAAW,GAAE,CAAC;IAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAExB,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B"}
|
||||
15
node_modules/onnxruntime-web/lib/wasm/string-utils.ts
generated
vendored
Normal file
15
node_modules/onnxruntime-web/lib/wasm/string-utils.ts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {getInstance} from './wasm-factory';
|
||||
|
||||
export const allocWasmString = (data: string, allocs: number[]): number => {
|
||||
const wasm = getInstance();
|
||||
|
||||
const dataLength = wasm.lengthBytesUTF8(data) + 1;
|
||||
const dataOffset = wasm._malloc(dataLength);
|
||||
wasm.stringToUTF8(data, dataOffset, dataLength);
|
||||
allocs.push(dataOffset);
|
||||
|
||||
return dataOffset;
|
||||
};
|
||||
370
node_modules/onnxruntime-web/lib/wasm/wasm-core-impl.js
generated
vendored
Normal file
370
node_modules/onnxruntime-web/lib/wasm/wasm-core-impl.js
generated
vendored
Normal file
@@ -0,0 +1,370 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.extractTransferableBuffers = exports.endProfiling = exports.run = exports.releaseSession = exports.createSession = exports.createSessionFinalize = exports.createSessionAllocate = exports.initOrt = void 0;
|
||||
const run_options_1 = require("./run-options");
|
||||
const session_options_1 = require("./session-options");
|
||||
const string_utils_1 = require("./string-utils");
|
||||
const wasm_factory_1 = require("./wasm-factory");
|
||||
/**
|
||||
* initialize ORT environment.
|
||||
* @param numThreads SetGlobalIntraOpNumThreads(numThreads)
|
||||
* @param loggingLevel CreateEnv(static_cast<OrtLoggingLevel>(logging_level))
|
||||
*/
|
||||
const initOrt = (numThreads, loggingLevel) => {
|
||||
const errorCode = (0, wasm_factory_1.getInstance)()._OrtInit(numThreads, loggingLevel);
|
||||
if (errorCode !== 0) {
|
||||
throw new Error(`Can't initialize onnxruntime. error code = ${errorCode}`);
|
||||
}
|
||||
};
|
||||
exports.initOrt = initOrt;
|
||||
const activeSessions = new Map();
|
||||
/**
|
||||
* create an instance of InferenceSession.
|
||||
* @returns the metadata of InferenceSession. 0-value handle for failure.
|
||||
*/
|
||||
const createSessionAllocate = (model) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
const modelDataOffset = wasm._malloc(model.byteLength);
|
||||
wasm.HEAPU8.set(model, modelDataOffset);
|
||||
return [modelDataOffset, model.byteLength];
|
||||
};
|
||||
exports.createSessionAllocate = createSessionAllocate;
|
||||
const createSessionFinalize = (modelData, options) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
let sessionHandle = 0;
|
||||
let sessionOptionsHandle = 0;
|
||||
let allocs = [];
|
||||
try {
|
||||
[sessionOptionsHandle, allocs] = (0, session_options_1.setSessionOptions)(options);
|
||||
sessionHandle = wasm._OrtCreateSession(modelData[0], modelData[1], sessionOptionsHandle);
|
||||
if (sessionHandle === 0) {
|
||||
throw new Error('Can\'t create a session');
|
||||
}
|
||||
}
|
||||
finally {
|
||||
wasm._free(modelData[0]);
|
||||
wasm._OrtReleaseSessionOptions(sessionOptionsHandle);
|
||||
allocs.forEach(wasm._free);
|
||||
}
|
||||
const inputCount = wasm._OrtGetInputCount(sessionHandle);
|
||||
const outputCount = wasm._OrtGetOutputCount(sessionHandle);
|
||||
const inputNames = [];
|
||||
const inputNamesUTF8Encoded = [];
|
||||
const outputNames = [];
|
||||
const outputNamesUTF8Encoded = [];
|
||||
for (let i = 0; i < inputCount; i++) {
|
||||
const name = wasm._OrtGetInputName(sessionHandle, i);
|
||||
if (name === 0) {
|
||||
throw new Error('Can\'t get an input name');
|
||||
}
|
||||
inputNamesUTF8Encoded.push(name);
|
||||
inputNames.push(wasm.UTF8ToString(name));
|
||||
}
|
||||
for (let i = 0; i < outputCount; i++) {
|
||||
const name = wasm._OrtGetOutputName(sessionHandle, i);
|
||||
if (name === 0) {
|
||||
throw new Error('Can\'t get an output name');
|
||||
}
|
||||
outputNamesUTF8Encoded.push(name);
|
||||
outputNames.push(wasm.UTF8ToString(name));
|
||||
}
|
||||
activeSessions.set(sessionHandle, [sessionHandle, inputNamesUTF8Encoded, outputNamesUTF8Encoded]);
|
||||
return [sessionHandle, inputNames, outputNames];
|
||||
};
|
||||
exports.createSessionFinalize = createSessionFinalize;
|
||||
/**
|
||||
* create an instance of InferenceSession.
|
||||
* @returns the metadata of InferenceSession. 0-value handle for failure.
|
||||
*/
|
||||
const createSession = (model, options) => {
|
||||
const modelData = (0, exports.createSessionAllocate)(model);
|
||||
return (0, exports.createSessionFinalize)(modelData, options);
|
||||
};
|
||||
exports.createSession = createSession;
|
||||
const releaseSession = (sessionId) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
const session = activeSessions.get(sessionId);
|
||||
if (!session) {
|
||||
throw new Error('invalid session id');
|
||||
}
|
||||
const sessionHandle = session[0];
|
||||
const inputNamesUTF8Encoded = session[1];
|
||||
const outputNamesUTF8Encoded = session[2];
|
||||
inputNamesUTF8Encoded.forEach(wasm._OrtFree);
|
||||
outputNamesUTF8Encoded.forEach(wasm._OrtFree);
|
||||
wasm._OrtReleaseSession(sessionHandle);
|
||||
activeSessions.delete(sessionId);
|
||||
};
|
||||
exports.releaseSession = releaseSession;
|
||||
const tensorDataTypeStringToEnum = (type) => {
|
||||
switch (type) {
|
||||
case 'int8':
|
||||
return 3 /* DataType.int8 */;
|
||||
case 'uint8':
|
||||
return 2 /* DataType.uint8 */;
|
||||
case 'bool':
|
||||
return 9 /* DataType.bool */;
|
||||
case 'int16':
|
||||
return 5 /* DataType.int16 */;
|
||||
case 'uint16':
|
||||
return 4 /* DataType.uint16 */;
|
||||
case 'int32':
|
||||
return 6 /* DataType.int32 */;
|
||||
case 'uint32':
|
||||
return 12 /* DataType.uint32 */;
|
||||
case 'float32':
|
||||
return 1 /* DataType.float */;
|
||||
case 'float64':
|
||||
return 11 /* DataType.double */;
|
||||
case 'string':
|
||||
return 8 /* DataType.string */;
|
||||
case 'int64':
|
||||
return 7 /* DataType.int64 */;
|
||||
case 'uint64':
|
||||
return 13 /* DataType.uint64 */;
|
||||
default:
|
||||
throw new Error(`unsupported data type: ${type}`);
|
||||
}
|
||||
};
|
||||
const tensorDataTypeEnumToString = (typeProto) => {
|
||||
switch (typeProto) {
|
||||
case 3 /* DataType.int8 */:
|
||||
return 'int8';
|
||||
case 2 /* DataType.uint8 */:
|
||||
return 'uint8';
|
||||
case 9 /* DataType.bool */:
|
||||
return 'bool';
|
||||
case 5 /* DataType.int16 */:
|
||||
return 'int16';
|
||||
case 4 /* DataType.uint16 */:
|
||||
return 'uint16';
|
||||
case 6 /* DataType.int32 */:
|
||||
return 'int32';
|
||||
case 12 /* DataType.uint32 */:
|
||||
return 'uint32';
|
||||
case 1 /* DataType.float */:
|
||||
return 'float32';
|
||||
case 11 /* DataType.double */:
|
||||
return 'float64';
|
||||
case 8 /* DataType.string */:
|
||||
return 'string';
|
||||
case 7 /* DataType.int64 */:
|
||||
return 'int64';
|
||||
case 13 /* DataType.uint64 */:
|
||||
return 'uint64';
|
||||
default:
|
||||
throw new Error(`unsupported data type: ${typeProto}`);
|
||||
}
|
||||
};
|
||||
const numericTensorTypeToTypedArray = (type) => {
|
||||
switch (type) {
|
||||
case 'float32':
|
||||
return Float32Array;
|
||||
case 'uint8':
|
||||
return Uint8Array;
|
||||
case 'int8':
|
||||
return Int8Array;
|
||||
case 'uint16':
|
||||
return Uint16Array;
|
||||
case 'int16':
|
||||
return Int16Array;
|
||||
case 'int32':
|
||||
return Int32Array;
|
||||
case 'bool':
|
||||
return Uint8Array;
|
||||
case 'float64':
|
||||
return Float64Array;
|
||||
case 'uint32':
|
||||
return Uint32Array;
|
||||
case 'int64':
|
||||
return BigInt64Array;
|
||||
case 'uint64':
|
||||
return BigUint64Array;
|
||||
default:
|
||||
throw new Error(`unsupported type: ${type}`);
|
||||
}
|
||||
};
|
||||
/**
|
||||
* perform inference run
|
||||
*/
|
||||
const run = (sessionId, inputIndices, inputs, outputIndices, options) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
const session = activeSessions.get(sessionId);
|
||||
if (!session) {
|
||||
throw new Error('invalid session id');
|
||||
}
|
||||
const sessionHandle = session[0];
|
||||
const inputNamesUTF8Encoded = session[1];
|
||||
const outputNamesUTF8Encoded = session[2];
|
||||
const inputCount = inputIndices.length;
|
||||
const outputCount = outputIndices.length;
|
||||
let runOptionsHandle = 0;
|
||||
let runOptionsAllocs = [];
|
||||
const inputValues = [];
|
||||
const inputAllocs = [];
|
||||
try {
|
||||
[runOptionsHandle, runOptionsAllocs] = (0, run_options_1.setRunOptions)(options);
|
||||
// create input tensors
|
||||
for (let i = 0; i < inputCount; i++) {
|
||||
const dataType = inputs[i][0];
|
||||
const dims = inputs[i][1];
|
||||
const data = inputs[i][2];
|
||||
let dataOffset;
|
||||
let dataByteLength;
|
||||
if (Array.isArray(data)) {
|
||||
// string tensor
|
||||
dataByteLength = 4 * data.length;
|
||||
dataOffset = wasm._malloc(dataByteLength);
|
||||
inputAllocs.push(dataOffset);
|
||||
let dataIndex = dataOffset / 4;
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (typeof data[i] !== 'string') {
|
||||
throw new TypeError(`tensor data at index ${i} is not a string`);
|
||||
}
|
||||
wasm.HEAPU32[dataIndex++] = (0, string_utils_1.allocWasmString)(data[i], inputAllocs);
|
||||
}
|
||||
}
|
||||
else {
|
||||
dataByteLength = data.byteLength;
|
||||
dataOffset = wasm._malloc(dataByteLength);
|
||||
inputAllocs.push(dataOffset);
|
||||
wasm.HEAPU8.set(new Uint8Array(data.buffer, data.byteOffset, dataByteLength), dataOffset);
|
||||
}
|
||||
const stack = wasm.stackSave();
|
||||
const dimsOffset = wasm.stackAlloc(4 * dims.length);
|
||||
try {
|
||||
let dimIndex = dimsOffset / 4;
|
||||
dims.forEach(d => wasm.HEAP32[dimIndex++] = d);
|
||||
const tensor = wasm._OrtCreateTensor(tensorDataTypeStringToEnum(dataType), dataOffset, dataByteLength, dimsOffset, dims.length);
|
||||
if (tensor === 0) {
|
||||
throw new Error('Can\'t create a tensor');
|
||||
}
|
||||
inputValues.push(tensor);
|
||||
}
|
||||
finally {
|
||||
wasm.stackRestore(stack);
|
||||
}
|
||||
}
|
||||
const beforeRunStack = wasm.stackSave();
|
||||
const inputValuesOffset = wasm.stackAlloc(inputCount * 4);
|
||||
const inputNamesOffset = wasm.stackAlloc(inputCount * 4);
|
||||
const outputValuesOffset = wasm.stackAlloc(outputCount * 4);
|
||||
const outputNamesOffset = wasm.stackAlloc(outputCount * 4);
|
||||
try {
|
||||
let inputValuesIndex = inputValuesOffset / 4;
|
||||
let inputNamesIndex = inputNamesOffset / 4;
|
||||
let outputValuesIndex = outputValuesOffset / 4;
|
||||
let outputNamesIndex = outputNamesOffset / 4;
|
||||
for (let i = 0; i < inputCount; i++) {
|
||||
wasm.HEAPU32[inputValuesIndex++] = inputValues[i];
|
||||
wasm.HEAPU32[inputNamesIndex++] = inputNamesUTF8Encoded[inputIndices[i]];
|
||||
}
|
||||
for (let i = 0; i < outputCount; i++) {
|
||||
wasm.HEAPU32[outputValuesIndex++] = 0;
|
||||
wasm.HEAPU32[outputNamesIndex++] = outputNamesUTF8Encoded[outputIndices[i]];
|
||||
}
|
||||
// support RunOptions
|
||||
let errorCode = wasm._OrtRun(sessionHandle, inputNamesOffset, inputValuesOffset, inputCount, outputNamesOffset, outputCount, outputValuesOffset, runOptionsHandle);
|
||||
const output = [];
|
||||
if (errorCode === 0) {
|
||||
for (let i = 0; i < outputCount; i++) {
|
||||
const tensor = wasm.HEAPU32[outputValuesOffset / 4 + i];
|
||||
const beforeGetTensorDataStack = wasm.stackSave();
|
||||
// stack allocate 4 pointer value
|
||||
const tensorDataOffset = wasm.stackAlloc(4 * 4);
|
||||
let type, dataOffset = 0;
|
||||
try {
|
||||
errorCode = wasm._OrtGetTensorData(tensor, tensorDataOffset, tensorDataOffset + 4, tensorDataOffset + 8, tensorDataOffset + 12);
|
||||
if (errorCode !== 0) {
|
||||
throw new Error(`Can't access output tensor data. error code = ${errorCode}`);
|
||||
}
|
||||
let tensorDataIndex = tensorDataOffset / 4;
|
||||
const dataType = wasm.HEAPU32[tensorDataIndex++];
|
||||
dataOffset = wasm.HEAPU32[tensorDataIndex++];
|
||||
const dimsOffset = wasm.HEAPU32[tensorDataIndex++];
|
||||
const dimsLength = wasm.HEAPU32[tensorDataIndex++];
|
||||
const dims = [];
|
||||
for (let i = 0; i < dimsLength; i++) {
|
||||
dims.push(wasm.HEAPU32[dimsOffset / 4 + i]);
|
||||
}
|
||||
wasm._OrtFree(dimsOffset);
|
||||
const size = dims.length === 0 ? 1 : dims.reduce((a, b) => a * b);
|
||||
type = tensorDataTypeEnumToString(dataType);
|
||||
if (type === 'string') {
|
||||
const stringData = [];
|
||||
let dataIndex = dataOffset / 4;
|
||||
for (let i = 0; i < size; i++) {
|
||||
const offset = wasm.HEAPU32[dataIndex++];
|
||||
const maxBytesToRead = i === size - 1 ? undefined : wasm.HEAPU32[dataIndex] - offset;
|
||||
stringData.push(wasm.UTF8ToString(offset, maxBytesToRead));
|
||||
}
|
||||
output.push([type, dims, stringData]);
|
||||
}
|
||||
else {
|
||||
const typedArrayConstructor = numericTensorTypeToTypedArray(type);
|
||||
const data = new typedArrayConstructor(size);
|
||||
new Uint8Array(data.buffer, data.byteOffset, data.byteLength)
|
||||
.set(wasm.HEAPU8.subarray(dataOffset, dataOffset + data.byteLength));
|
||||
output.push([type, dims, data]);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
wasm.stackRestore(beforeGetTensorDataStack);
|
||||
if (type === 'string' && dataOffset) {
|
||||
wasm._free(dataOffset);
|
||||
}
|
||||
wasm._OrtReleaseTensor(tensor);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (errorCode === 0) {
|
||||
return output;
|
||||
}
|
||||
else {
|
||||
throw new Error(`failed to call OrtRun(). error code = ${errorCode}.`);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
wasm.stackRestore(beforeRunStack);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
inputValues.forEach(wasm._OrtReleaseTensor);
|
||||
inputAllocs.forEach(wasm._free);
|
||||
wasm._OrtReleaseRunOptions(runOptionsHandle);
|
||||
runOptionsAllocs.forEach(wasm._free);
|
||||
}
|
||||
};
|
||||
exports.run = run;
|
||||
/**
|
||||
* end profiling
|
||||
*/
|
||||
const endProfiling = (sessionId) => {
|
||||
const wasm = (0, wasm_factory_1.getInstance)();
|
||||
const session = activeSessions.get(sessionId);
|
||||
if (!session) {
|
||||
throw new Error('invalid session id');
|
||||
}
|
||||
const sessionHandle = session[0];
|
||||
// profile file name is not used yet, but it must be freed.
|
||||
const profileFileName = wasm._OrtEndProfiling(sessionHandle);
|
||||
if (profileFileName === 0) {
|
||||
throw new Error('Can\'t get an profile file name');
|
||||
}
|
||||
wasm._OrtFree(profileFileName);
|
||||
};
|
||||
exports.endProfiling = endProfiling;
|
||||
const extractTransferableBuffers = (tensors) => {
|
||||
const buffers = [];
|
||||
for (const tensor of tensors) {
|
||||
const data = tensor[2];
|
||||
if (!Array.isArray(data) && data.buffer) {
|
||||
buffers.push(data.buffer);
|
||||
}
|
||||
}
|
||||
return buffers;
|
||||
};
|
||||
exports.extractTransferableBuffers = extractTransferableBuffers;
|
||||
//# sourceMappingURL=wasm-core-impl.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/wasm-core-impl.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/wasm-core-impl.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
434
node_modules/onnxruntime-web/lib/wasm/wasm-core-impl.ts
generated
vendored
Normal file
434
node_modules/onnxruntime-web/lib/wasm/wasm-core-impl.ts
generated
vendored
Normal file
@@ -0,0 +1,434 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {InferenceSession, Tensor} from 'onnxruntime-common';
|
||||
|
||||
import {SerializableModeldata, SerializableSessionMetadata, SerializableTensor} from './proxy-messages';
|
||||
import {setRunOptions} from './run-options';
|
||||
import {setSessionOptions} from './session-options';
|
||||
import {allocWasmString} from './string-utils';
|
||||
import {getInstance} from './wasm-factory';
|
||||
|
||||
/**
|
||||
* initialize ORT environment.
|
||||
* @param numThreads SetGlobalIntraOpNumThreads(numThreads)
|
||||
* @param loggingLevel CreateEnv(static_cast<OrtLoggingLevel>(logging_level))
|
||||
*/
|
||||
export const initOrt = (numThreads: number, loggingLevel: number): void => {
|
||||
const errorCode = getInstance()._OrtInit(numThreads, loggingLevel);
|
||||
if (errorCode !== 0) {
|
||||
throw new Error(`Can't initialize onnxruntime. error code = ${errorCode}`);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* tuple elements are: InferenceSession ID; inputNamesUTF8Encoded; outputNamesUTF8Encoded
|
||||
*/
|
||||
type SessionMetadata = [number, number[], number[]];
|
||||
|
||||
const activeSessions = new Map<number, SessionMetadata>();
|
||||
|
||||
/**
|
||||
* create an instance of InferenceSession.
|
||||
* @returns the metadata of InferenceSession. 0-value handle for failure.
|
||||
*/
|
||||
export const createSessionAllocate = (model: Uint8Array): [number, number] => {
|
||||
const wasm = getInstance();
|
||||
const modelDataOffset = wasm._malloc(model.byteLength);
|
||||
wasm.HEAPU8.set(model, modelDataOffset);
|
||||
return [modelDataOffset, model.byteLength];
|
||||
};
|
||||
|
||||
export const createSessionFinalize =
|
||||
(modelData: SerializableModeldata, options?: InferenceSession.SessionOptions): SerializableSessionMetadata => {
|
||||
const wasm = getInstance();
|
||||
|
||||
let sessionHandle = 0;
|
||||
let sessionOptionsHandle = 0;
|
||||
let allocs: number[] = [];
|
||||
|
||||
try {
|
||||
[sessionOptionsHandle, allocs] = setSessionOptions(options);
|
||||
|
||||
sessionHandle = wasm._OrtCreateSession(modelData[0], modelData[1], sessionOptionsHandle);
|
||||
if (sessionHandle === 0) {
|
||||
throw new Error('Can\'t create a session');
|
||||
}
|
||||
} finally {
|
||||
wasm._free(modelData[0]);
|
||||
wasm._OrtReleaseSessionOptions(sessionOptionsHandle);
|
||||
allocs.forEach(wasm._free);
|
||||
}
|
||||
|
||||
const inputCount = wasm._OrtGetInputCount(sessionHandle);
|
||||
const outputCount = wasm._OrtGetOutputCount(sessionHandle);
|
||||
|
||||
const inputNames = [];
|
||||
const inputNamesUTF8Encoded = [];
|
||||
const outputNames = [];
|
||||
const outputNamesUTF8Encoded = [];
|
||||
for (let i = 0; i < inputCount; i++) {
|
||||
const name = wasm._OrtGetInputName(sessionHandle, i);
|
||||
if (name === 0) {
|
||||
throw new Error('Can\'t get an input name');
|
||||
}
|
||||
inputNamesUTF8Encoded.push(name);
|
||||
inputNames.push(wasm.UTF8ToString(name));
|
||||
}
|
||||
for (let i = 0; i < outputCount; i++) {
|
||||
const name = wasm._OrtGetOutputName(sessionHandle, i);
|
||||
if (name === 0) {
|
||||
throw new Error('Can\'t get an output name');
|
||||
}
|
||||
outputNamesUTF8Encoded.push(name);
|
||||
outputNames.push(wasm.UTF8ToString(name));
|
||||
}
|
||||
|
||||
activeSessions.set(sessionHandle, [sessionHandle, inputNamesUTF8Encoded, outputNamesUTF8Encoded]);
|
||||
return [sessionHandle, inputNames, outputNames];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* create an instance of InferenceSession.
|
||||
* @returns the metadata of InferenceSession. 0-value handle for failure.
|
||||
*/
|
||||
export const createSession =
|
||||
(model: Uint8Array, options?: InferenceSession.SessionOptions): SerializableSessionMetadata => {
|
||||
const modelData: SerializableModeldata = createSessionAllocate(model);
|
||||
return createSessionFinalize(modelData, options);
|
||||
};
|
||||
|
||||
export const releaseSession = (sessionId: number): void => {
|
||||
const wasm = getInstance();
|
||||
const session = activeSessions.get(sessionId);
|
||||
if (!session) {
|
||||
throw new Error('invalid session id');
|
||||
}
|
||||
const sessionHandle = session[0];
|
||||
const inputNamesUTF8Encoded = session[1];
|
||||
const outputNamesUTF8Encoded = session[2];
|
||||
|
||||
inputNamesUTF8Encoded.forEach(wasm._OrtFree);
|
||||
outputNamesUTF8Encoded.forEach(wasm._OrtFree);
|
||||
wasm._OrtReleaseSession(sessionHandle);
|
||||
activeSessions.delete(sessionId);
|
||||
};
|
||||
|
||||
/**
|
||||
* Copied from ONNX definition. Use this to drop dependency 'onnx_proto' to decrease compiled .js file size.
|
||||
*/
|
||||
const enum DataType {
|
||||
undefined = 0,
|
||||
float = 1,
|
||||
uint8 = 2,
|
||||
int8 = 3,
|
||||
uint16 = 4,
|
||||
int16 = 5,
|
||||
int32 = 6,
|
||||
int64 = 7,
|
||||
string = 8,
|
||||
bool = 9,
|
||||
float16 = 10,
|
||||
double = 11,
|
||||
uint32 = 12,
|
||||
uint64 = 13,
|
||||
complex64 = 14,
|
||||
complex128 = 15,
|
||||
bfloat16 = 16
|
||||
}
|
||||
|
||||
|
||||
const tensorDataTypeStringToEnum = (type: string): DataType => {
|
||||
switch (type) {
|
||||
case 'int8':
|
||||
return DataType.int8;
|
||||
case 'uint8':
|
||||
return DataType.uint8;
|
||||
case 'bool':
|
||||
return DataType.bool;
|
||||
case 'int16':
|
||||
return DataType.int16;
|
||||
case 'uint16':
|
||||
return DataType.uint16;
|
||||
case 'int32':
|
||||
return DataType.int32;
|
||||
case 'uint32':
|
||||
return DataType.uint32;
|
||||
case 'float32':
|
||||
return DataType.float;
|
||||
case 'float64':
|
||||
return DataType.double;
|
||||
case 'string':
|
||||
return DataType.string;
|
||||
case 'int64':
|
||||
return DataType.int64;
|
||||
case 'uint64':
|
||||
return DataType.uint64;
|
||||
|
||||
default:
|
||||
throw new Error(`unsupported data type: ${type}`);
|
||||
}
|
||||
};
|
||||
|
||||
const tensorDataTypeEnumToString = (typeProto: DataType): Tensor.Type => {
|
||||
switch (typeProto) {
|
||||
case DataType.int8:
|
||||
return 'int8';
|
||||
case DataType.uint8:
|
||||
return 'uint8';
|
||||
case DataType.bool:
|
||||
return 'bool';
|
||||
case DataType.int16:
|
||||
return 'int16';
|
||||
case DataType.uint16:
|
||||
return 'uint16';
|
||||
case DataType.int32:
|
||||
return 'int32';
|
||||
case DataType.uint32:
|
||||
return 'uint32';
|
||||
case DataType.float:
|
||||
return 'float32';
|
||||
case DataType.double:
|
||||
return 'float64';
|
||||
case DataType.string:
|
||||
return 'string';
|
||||
case DataType.int64:
|
||||
return 'int64';
|
||||
case DataType.uint64:
|
||||
return 'uint64';
|
||||
|
||||
default:
|
||||
throw new Error(`unsupported data type: ${typeProto}`);
|
||||
}
|
||||
};
|
||||
|
||||
const numericTensorTypeToTypedArray = (type: Tensor.Type): Float32ArrayConstructor|Uint8ArrayConstructor|
|
||||
Int8ArrayConstructor|Uint16ArrayConstructor|Int16ArrayConstructor|Int32ArrayConstructor|BigInt64ArrayConstructor|
|
||||
Uint8ArrayConstructor|Float64ArrayConstructor|Uint32ArrayConstructor|BigUint64ArrayConstructor => {
|
||||
switch (type) {
|
||||
case 'float32':
|
||||
return Float32Array;
|
||||
case 'uint8':
|
||||
return Uint8Array;
|
||||
case 'int8':
|
||||
return Int8Array;
|
||||
case 'uint16':
|
||||
return Uint16Array;
|
||||
case 'int16':
|
||||
return Int16Array;
|
||||
case 'int32':
|
||||
return Int32Array;
|
||||
case 'bool':
|
||||
return Uint8Array;
|
||||
case 'float64':
|
||||
return Float64Array;
|
||||
case 'uint32':
|
||||
return Uint32Array;
|
||||
case 'int64':
|
||||
return BigInt64Array;
|
||||
case 'uint64':
|
||||
return BigUint64Array;
|
||||
default:
|
||||
throw new Error(`unsupported type: ${type}`);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* perform inference run
|
||||
*/
|
||||
export const run =
|
||||
(sessionId: number, inputIndices: number[], inputs: SerializableTensor[], outputIndices: number[],
|
||||
options: InferenceSession.RunOptions): SerializableTensor[] => {
|
||||
const wasm = getInstance();
|
||||
const session = activeSessions.get(sessionId);
|
||||
if (!session) {
|
||||
throw new Error('invalid session id');
|
||||
}
|
||||
const sessionHandle = session[0];
|
||||
const inputNamesUTF8Encoded = session[1];
|
||||
const outputNamesUTF8Encoded = session[2];
|
||||
|
||||
const inputCount = inputIndices.length;
|
||||
const outputCount = outputIndices.length;
|
||||
|
||||
let runOptionsHandle = 0;
|
||||
let runOptionsAllocs: number[] = [];
|
||||
|
||||
const inputValues: number[] = [];
|
||||
const inputAllocs: number[] = [];
|
||||
|
||||
try {
|
||||
[runOptionsHandle, runOptionsAllocs] = setRunOptions(options);
|
||||
|
||||
// create input tensors
|
||||
for (let i = 0; i < inputCount; i++) {
|
||||
const dataType = inputs[i][0];
|
||||
const dims = inputs[i][1];
|
||||
const data = inputs[i][2];
|
||||
|
||||
let dataOffset: number;
|
||||
let dataByteLength: number;
|
||||
|
||||
if (Array.isArray(data)) {
|
||||
// string tensor
|
||||
dataByteLength = 4 * data.length;
|
||||
dataOffset = wasm._malloc(dataByteLength);
|
||||
inputAllocs.push(dataOffset);
|
||||
let dataIndex = dataOffset / 4;
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (typeof data[i] !== 'string') {
|
||||
throw new TypeError(`tensor data at index ${i} is not a string`);
|
||||
}
|
||||
wasm.HEAPU32[dataIndex++] = allocWasmString(data[i], inputAllocs);
|
||||
}
|
||||
} else {
|
||||
dataByteLength = data.byteLength;
|
||||
dataOffset = wasm._malloc(dataByteLength);
|
||||
inputAllocs.push(dataOffset);
|
||||
wasm.HEAPU8.set(new Uint8Array(data.buffer, data.byteOffset, dataByteLength), dataOffset);
|
||||
}
|
||||
|
||||
const stack = wasm.stackSave();
|
||||
const dimsOffset = wasm.stackAlloc(4 * dims.length);
|
||||
try {
|
||||
let dimIndex = dimsOffset / 4;
|
||||
dims.forEach(d => wasm.HEAP32[dimIndex++] = d);
|
||||
const tensor = wasm._OrtCreateTensor(
|
||||
tensorDataTypeStringToEnum(dataType), dataOffset, dataByteLength, dimsOffset, dims.length);
|
||||
if (tensor === 0) {
|
||||
throw new Error('Can\'t create a tensor');
|
||||
}
|
||||
inputValues.push(tensor);
|
||||
} finally {
|
||||
wasm.stackRestore(stack);
|
||||
}
|
||||
}
|
||||
|
||||
const beforeRunStack = wasm.stackSave();
|
||||
const inputValuesOffset = wasm.stackAlloc(inputCount * 4);
|
||||
const inputNamesOffset = wasm.stackAlloc(inputCount * 4);
|
||||
const outputValuesOffset = wasm.stackAlloc(outputCount * 4);
|
||||
const outputNamesOffset = wasm.stackAlloc(outputCount * 4);
|
||||
|
||||
try {
|
||||
let inputValuesIndex = inputValuesOffset / 4;
|
||||
let inputNamesIndex = inputNamesOffset / 4;
|
||||
let outputValuesIndex = outputValuesOffset / 4;
|
||||
let outputNamesIndex = outputNamesOffset / 4;
|
||||
for (let i = 0; i < inputCount; i++) {
|
||||
wasm.HEAPU32[inputValuesIndex++] = inputValues[i];
|
||||
wasm.HEAPU32[inputNamesIndex++] = inputNamesUTF8Encoded[inputIndices[i]];
|
||||
}
|
||||
for (let i = 0; i < outputCount; i++) {
|
||||
wasm.HEAPU32[outputValuesIndex++] = 0;
|
||||
wasm.HEAPU32[outputNamesIndex++] = outputNamesUTF8Encoded[outputIndices[i]];
|
||||
}
|
||||
|
||||
// support RunOptions
|
||||
let errorCode = wasm._OrtRun(
|
||||
sessionHandle, inputNamesOffset, inputValuesOffset, inputCount, outputNamesOffset, outputCount,
|
||||
outputValuesOffset, runOptionsHandle);
|
||||
|
||||
const output: SerializableTensor[] = [];
|
||||
|
||||
if (errorCode === 0) {
|
||||
for (let i = 0; i < outputCount; i++) {
|
||||
const tensor = wasm.HEAPU32[outputValuesOffset / 4 + i];
|
||||
|
||||
const beforeGetTensorDataStack = wasm.stackSave();
|
||||
// stack allocate 4 pointer value
|
||||
const tensorDataOffset = wasm.stackAlloc(4 * 4);
|
||||
|
||||
let type: Tensor.Type|undefined, dataOffset = 0;
|
||||
try {
|
||||
errorCode = wasm._OrtGetTensorData(
|
||||
tensor, tensorDataOffset, tensorDataOffset + 4, tensorDataOffset + 8, tensorDataOffset + 12);
|
||||
if (errorCode !== 0) {
|
||||
throw new Error(`Can't access output tensor data. error code = ${errorCode}`);
|
||||
}
|
||||
let tensorDataIndex = tensorDataOffset / 4;
|
||||
const dataType = wasm.HEAPU32[tensorDataIndex++];
|
||||
dataOffset = wasm.HEAPU32[tensorDataIndex++];
|
||||
const dimsOffset = wasm.HEAPU32[tensorDataIndex++];
|
||||
const dimsLength = wasm.HEAPU32[tensorDataIndex++];
|
||||
const dims = [];
|
||||
for (let i = 0; i < dimsLength; i++) {
|
||||
dims.push(wasm.HEAPU32[dimsOffset / 4 + i]);
|
||||
}
|
||||
wasm._OrtFree(dimsOffset);
|
||||
|
||||
const size = dims.length === 0 ? 1 : dims.reduce((a, b) => a * b);
|
||||
type = tensorDataTypeEnumToString(dataType);
|
||||
if (type === 'string') {
|
||||
const stringData: string[] = [];
|
||||
let dataIndex = dataOffset / 4;
|
||||
for (let i = 0; i < size; i++) {
|
||||
const offset = wasm.HEAPU32[dataIndex++];
|
||||
const maxBytesToRead = i === size - 1 ? undefined : wasm.HEAPU32[dataIndex] - offset;
|
||||
stringData.push(wasm.UTF8ToString(offset, maxBytesToRead));
|
||||
}
|
||||
output.push([type, dims, stringData]);
|
||||
} else {
|
||||
const typedArrayConstructor = numericTensorTypeToTypedArray(type);
|
||||
const data = new typedArrayConstructor(size);
|
||||
new Uint8Array(data.buffer, data.byteOffset, data.byteLength)
|
||||
.set(wasm.HEAPU8.subarray(dataOffset, dataOffset + data.byteLength));
|
||||
output.push([type, dims, data]);
|
||||
}
|
||||
} finally {
|
||||
wasm.stackRestore(beforeGetTensorDataStack);
|
||||
if (type === 'string' && dataOffset) {
|
||||
wasm._free(dataOffset);
|
||||
}
|
||||
wasm._OrtReleaseTensor(tensor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (errorCode === 0) {
|
||||
return output;
|
||||
} else {
|
||||
throw new Error(`failed to call OrtRun(). error code = ${errorCode}.`);
|
||||
}
|
||||
} finally {
|
||||
wasm.stackRestore(beforeRunStack);
|
||||
}
|
||||
} finally {
|
||||
inputValues.forEach(wasm._OrtReleaseTensor);
|
||||
inputAllocs.forEach(wasm._free);
|
||||
|
||||
wasm._OrtReleaseRunOptions(runOptionsHandle);
|
||||
runOptionsAllocs.forEach(wasm._free);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* end profiling
|
||||
*/
|
||||
export const endProfiling = (sessionId: number): void => {
|
||||
const wasm = getInstance();
|
||||
const session = activeSessions.get(sessionId);
|
||||
if (!session) {
|
||||
throw new Error('invalid session id');
|
||||
}
|
||||
const sessionHandle = session[0];
|
||||
|
||||
// profile file name is not used yet, but it must be freed.
|
||||
const profileFileName = wasm._OrtEndProfiling(sessionHandle);
|
||||
if (profileFileName === 0) {
|
||||
throw new Error('Can\'t get an profile file name');
|
||||
}
|
||||
wasm._OrtFree(profileFileName);
|
||||
};
|
||||
|
||||
export const extractTransferableBuffers = (tensors: readonly SerializableTensor[]): ArrayBufferLike[] => {
|
||||
const buffers: ArrayBufferLike[] = [];
|
||||
for (const tensor of tensors) {
|
||||
const data = tensor[2];
|
||||
if (!Array.isArray(data) && data.buffer) {
|
||||
buffers.push(data.buffer);
|
||||
}
|
||||
}
|
||||
return buffers;
|
||||
};
|
||||
195
node_modules/onnxruntime-web/lib/wasm/wasm-factory.js
generated
vendored
Normal file
195
node_modules/onnxruntime-web/lib/wasm/wasm-factory.js
generated
vendored
Normal file
@@ -0,0 +1,195 @@
|
||||
"use strict";
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.dispose = exports.getInstance = exports.initializeWebAssembly = void 0;
|
||||
const path = __importStar(require("path"));
|
||||
const ort_wasm_js_1 = __importDefault(require("./binding/ort-wasm.js"));
|
||||
const ortWasmFactoryThreaded =
|
||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||
!BUILD_DEFS.DISABLE_WASM_THREAD ? require('./binding/ort-wasm-threaded.js') : ort_wasm_js_1.default;
|
||||
let wasm;
|
||||
let initialized = false;
|
||||
let initializing = false;
|
||||
let aborted = false;
|
||||
const isMultiThreadSupported = () => {
|
||||
try {
|
||||
// If 'SharedArrayBuffer' is not available, WebAssembly threads will not work.
|
||||
if (typeof SharedArrayBuffer === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
// Test for transferability of SABs (for browsers. needed for Firefox)
|
||||
// https://groups.google.com/forum/#!msg/mozilla.dev.platform/IHkBZlHETpA/dwsMNchWEQAJ
|
||||
if (typeof MessageChannel !== 'undefined') {
|
||||
new MessageChannel().port1.postMessage(new SharedArrayBuffer(1));
|
||||
}
|
||||
// Test for WebAssembly threads capability (for both browsers and Node.js)
|
||||
// This typed array is a WebAssembly program containing threaded instructions.
|
||||
return WebAssembly.validate(new Uint8Array([
|
||||
0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 5,
|
||||
4, 1, 3, 1, 1, 10, 11, 1, 9, 0, 65, 0, 254, 16, 2, 0, 26, 11
|
||||
]));
|
||||
}
|
||||
catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
const isSimdSupported = () => {
|
||||
try {
|
||||
// Test for WebAssembly SIMD capability (for both browsers and Node.js)
|
||||
// This typed array is a WebAssembly program containing SIMD instructions.
|
||||
// The binary data is generated from the following code by wat2wasm:
|
||||
//
|
||||
// (module
|
||||
// (type $t0 (func))
|
||||
// (func $f0 (type $t0)
|
||||
// (drop
|
||||
// (i32x4.dot_i16x8_s
|
||||
// (i8x16.splat
|
||||
// (i32.const 0))
|
||||
// (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)))))
|
||||
return WebAssembly.validate(new Uint8Array([
|
||||
0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 30, 1, 28, 0, 65, 0,
|
||||
253, 15, 253, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 186, 1, 26, 11
|
||||
]));
|
||||
}
|
||||
catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
const getWasmFileName = (useSimd, useThreads) => {
|
||||
if (useThreads) {
|
||||
return useSimd ? 'ort-wasm-simd-threaded.wasm' : 'ort-wasm-threaded.wasm';
|
||||
}
|
||||
else {
|
||||
return useSimd ? 'ort-wasm-simd.wasm' : 'ort-wasm.wasm';
|
||||
}
|
||||
};
|
||||
const initializeWebAssembly = async (flags) => {
|
||||
if (initialized) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
if (initializing) {
|
||||
throw new Error('multiple calls to \'initializeWebAssembly()\' detected.');
|
||||
}
|
||||
if (aborted) {
|
||||
throw new Error('previous call to \'initializeWebAssembly()\' failed.');
|
||||
}
|
||||
initializing = true;
|
||||
// wasm flags are already initialized
|
||||
const timeout = flags.initTimeout;
|
||||
const numThreads = flags.numThreads;
|
||||
const simd = flags.simd;
|
||||
const useThreads = numThreads > 1 && isMultiThreadSupported();
|
||||
const useSimd = simd && isSimdSupported();
|
||||
const wasmPrefixOverride = typeof flags.wasmPaths === 'string' ? flags.wasmPaths : undefined;
|
||||
const wasmFileName = getWasmFileName(false, useThreads);
|
||||
const wasmOverrideFileName = getWasmFileName(useSimd, useThreads);
|
||||
const wasmPathOverride = typeof flags.wasmPaths === 'object' ? flags.wasmPaths[wasmOverrideFileName] : undefined;
|
||||
let isTimeout = false;
|
||||
const tasks = [];
|
||||
// promise for timeout
|
||||
if (timeout > 0) {
|
||||
tasks.push(new Promise((resolve) => {
|
||||
setTimeout(() => {
|
||||
isTimeout = true;
|
||||
resolve();
|
||||
}, timeout);
|
||||
}));
|
||||
}
|
||||
// promise for module initialization
|
||||
tasks.push(new Promise((resolve, reject) => {
|
||||
const factory = useThreads ? ortWasmFactoryThreaded : ort_wasm_js_1.default;
|
||||
const config = {
|
||||
locateFile: (fileName, scriptDirectory) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_THREAD && useThreads && fileName.endsWith('.worker.js') &&
|
||||
typeof Blob !== 'undefined') {
|
||||
return URL.createObjectURL(new Blob([
|
||||
// This require() function is handled by webpack to load file content of the corresponding .worker.js
|
||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||
require('./binding/ort-wasm-threaded.worker.js')
|
||||
], { type: 'text/javascript' }));
|
||||
}
|
||||
if (fileName === wasmFileName) {
|
||||
const prefix = wasmPrefixOverride !== null && wasmPrefixOverride !== void 0 ? wasmPrefixOverride : scriptDirectory;
|
||||
return wasmPathOverride !== null && wasmPathOverride !== void 0 ? wasmPathOverride : prefix + wasmOverrideFileName;
|
||||
}
|
||||
return scriptDirectory + fileName;
|
||||
}
|
||||
};
|
||||
if (!BUILD_DEFS.DISABLE_WASM_THREAD && useThreads) {
|
||||
if (typeof Blob === 'undefined') {
|
||||
config.mainScriptUrlOrBlob = path.join(__dirname, 'ort-wasm-threaded.js');
|
||||
}
|
||||
else {
|
||||
const scriptSourceCode = `var ortWasmThreaded=(function(){var _scriptDir;return ${factory.toString()}})();`;
|
||||
config.mainScriptUrlOrBlob = new Blob([scriptSourceCode], { type: 'text/javascript' });
|
||||
}
|
||||
}
|
||||
factory(config).then(
|
||||
// wasm module initialized successfully
|
||||
module => {
|
||||
initializing = false;
|
||||
initialized = true;
|
||||
wasm = module;
|
||||
resolve();
|
||||
},
|
||||
// wasm module failed to initialize
|
||||
(what) => {
|
||||
initializing = false;
|
||||
aborted = true;
|
||||
reject(what);
|
||||
});
|
||||
}));
|
||||
await Promise.race(tasks);
|
||||
if (isTimeout) {
|
||||
throw new Error(`WebAssembly backend initializing failed due to timeout: ${timeout}ms`);
|
||||
}
|
||||
};
|
||||
exports.initializeWebAssembly = initializeWebAssembly;
|
||||
const getInstance = () => {
|
||||
if (initialized && wasm) {
|
||||
return wasm;
|
||||
}
|
||||
throw new Error('WebAssembly is not initialized yet.');
|
||||
};
|
||||
exports.getInstance = getInstance;
|
||||
const dispose = () => {
|
||||
var _a;
|
||||
if (initialized && !initializing && !aborted) {
|
||||
initializing = true;
|
||||
(_a = wasm.PThread) === null || _a === void 0 ? void 0 : _a.terminateAllThreads();
|
||||
wasm = undefined;
|
||||
initializing = false;
|
||||
initialized = false;
|
||||
aborted = true;
|
||||
}
|
||||
};
|
||||
exports.dispose = dispose;
|
||||
//# sourceMappingURL=wasm-factory.js.map
|
||||
1
node_modules/onnxruntime-web/lib/wasm/wasm-factory.js.map
generated
vendored
Normal file
1
node_modules/onnxruntime-web/lib/wasm/wasm-factory.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
193
node_modules/onnxruntime-web/lib/wasm/wasm-factory.ts
generated
vendored
Normal file
193
node_modules/onnxruntime-web/lib/wasm/wasm-factory.ts
generated
vendored
Normal file
@@ -0,0 +1,193 @@
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
import {Env} from 'onnxruntime-common';
|
||||
import * as path from 'path';
|
||||
|
||||
import {OrtWasmModule} from './binding/ort-wasm';
|
||||
import {OrtWasmThreadedModule} from './binding/ort-wasm-threaded';
|
||||
import ortWasmFactory from './binding/ort-wasm.js';
|
||||
|
||||
const ortWasmFactoryThreaded: EmscriptenModuleFactory<OrtWasmModule> =
|
||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||
!BUILD_DEFS.DISABLE_WASM_THREAD ? require('./binding/ort-wasm-threaded.js') : ortWasmFactory;
|
||||
|
||||
let wasm: OrtWasmModule|undefined;
|
||||
let initialized = false;
|
||||
let initializing = false;
|
||||
let aborted = false;
|
||||
|
||||
const isMultiThreadSupported = (): boolean => {
|
||||
try {
|
||||
// If 'SharedArrayBuffer' is not available, WebAssembly threads will not work.
|
||||
if (typeof SharedArrayBuffer === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Test for transferability of SABs (for browsers. needed for Firefox)
|
||||
// https://groups.google.com/forum/#!msg/mozilla.dev.platform/IHkBZlHETpA/dwsMNchWEQAJ
|
||||
if (typeof MessageChannel !== 'undefined') {
|
||||
new MessageChannel().port1.postMessage(new SharedArrayBuffer(1));
|
||||
}
|
||||
|
||||
// Test for WebAssembly threads capability (for both browsers and Node.js)
|
||||
// This typed array is a WebAssembly program containing threaded instructions.
|
||||
return WebAssembly.validate(new Uint8Array([
|
||||
0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 5,
|
||||
4, 1, 3, 1, 1, 10, 11, 1, 9, 0, 65, 0, 254, 16, 2, 0, 26, 11
|
||||
]));
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const isSimdSupported = (): boolean => {
|
||||
try {
|
||||
// Test for WebAssembly SIMD capability (for both browsers and Node.js)
|
||||
// This typed array is a WebAssembly program containing SIMD instructions.
|
||||
|
||||
// The binary data is generated from the following code by wat2wasm:
|
||||
//
|
||||
// (module
|
||||
// (type $t0 (func))
|
||||
// (func $f0 (type $t0)
|
||||
// (drop
|
||||
// (i32x4.dot_i16x8_s
|
||||
// (i8x16.splat
|
||||
// (i32.const 0))
|
||||
// (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)))))
|
||||
|
||||
return WebAssembly.validate(new Uint8Array([
|
||||
0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 30, 1, 28, 0, 65, 0,
|
||||
253, 15, 253, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 186, 1, 26, 11
|
||||
]));
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
const getWasmFileName = (useSimd: boolean, useThreads: boolean) => {
|
||||
if (useThreads) {
|
||||
return useSimd ? 'ort-wasm-simd-threaded.wasm' : 'ort-wasm-threaded.wasm';
|
||||
} else {
|
||||
return useSimd ? 'ort-wasm-simd.wasm' : 'ort-wasm.wasm';
|
||||
}
|
||||
};
|
||||
|
||||
export const initializeWebAssembly = async(flags: Env.WebAssemblyFlags): Promise<void> => {
|
||||
if (initialized) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
if (initializing) {
|
||||
throw new Error('multiple calls to \'initializeWebAssembly()\' detected.');
|
||||
}
|
||||
if (aborted) {
|
||||
throw new Error('previous call to \'initializeWebAssembly()\' failed.');
|
||||
}
|
||||
|
||||
initializing = true;
|
||||
|
||||
// wasm flags are already initialized
|
||||
const timeout = flags.initTimeout!;
|
||||
const numThreads = flags.numThreads!;
|
||||
const simd = flags.simd!;
|
||||
|
||||
const useThreads = numThreads > 1 && isMultiThreadSupported();
|
||||
const useSimd = simd && isSimdSupported();
|
||||
|
||||
const wasmPrefixOverride = typeof flags.wasmPaths === 'string' ? flags.wasmPaths : undefined;
|
||||
const wasmFileName = getWasmFileName(false, useThreads);
|
||||
const wasmOverrideFileName = getWasmFileName(useSimd, useThreads);
|
||||
const wasmPathOverride = typeof flags.wasmPaths === 'object' ? flags.wasmPaths[wasmOverrideFileName] : undefined;
|
||||
|
||||
let isTimeout = false;
|
||||
|
||||
const tasks: Array<Promise<void>> = [];
|
||||
|
||||
// promise for timeout
|
||||
if (timeout > 0) {
|
||||
tasks.push(new Promise((resolve) => {
|
||||
setTimeout(() => {
|
||||
isTimeout = true;
|
||||
resolve();
|
||||
}, timeout);
|
||||
}));
|
||||
}
|
||||
|
||||
// promise for module initialization
|
||||
tasks.push(new Promise((resolve, reject) => {
|
||||
const factory = useThreads ? ortWasmFactoryThreaded : ortWasmFactory;
|
||||
const config: Partial<OrtWasmModule> = {
|
||||
locateFile: (fileName: string, scriptDirectory: string) => {
|
||||
if (!BUILD_DEFS.DISABLE_WASM_THREAD && useThreads && fileName.endsWith('.worker.js') &&
|
||||
typeof Blob !== 'undefined') {
|
||||
return URL.createObjectURL(new Blob(
|
||||
[
|
||||
// This require() function is handled by webpack to load file content of the corresponding .worker.js
|
||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||
require('./binding/ort-wasm-threaded.worker.js')
|
||||
],
|
||||
{type: 'text/javascript'}));
|
||||
}
|
||||
|
||||
if (fileName === wasmFileName) {
|
||||
const prefix: string = wasmPrefixOverride ?? scriptDirectory;
|
||||
return wasmPathOverride ?? prefix + wasmOverrideFileName;
|
||||
}
|
||||
|
||||
return scriptDirectory + fileName;
|
||||
}
|
||||
};
|
||||
|
||||
if (!BUILD_DEFS.DISABLE_WASM_THREAD && useThreads) {
|
||||
if (typeof Blob === 'undefined') {
|
||||
config.mainScriptUrlOrBlob = path.join(__dirname, 'ort-wasm-threaded.js');
|
||||
} else {
|
||||
const scriptSourceCode = `var ortWasmThreaded=(function(){var _scriptDir;return ${factory.toString()}})();`;
|
||||
config.mainScriptUrlOrBlob = new Blob([scriptSourceCode], {type: 'text/javascript'});
|
||||
}
|
||||
}
|
||||
|
||||
factory(config).then(
|
||||
// wasm module initialized successfully
|
||||
module => {
|
||||
initializing = false;
|
||||
initialized = true;
|
||||
wasm = module;
|
||||
resolve();
|
||||
},
|
||||
// wasm module failed to initialize
|
||||
(what) => {
|
||||
initializing = false;
|
||||
aborted = true;
|
||||
reject(what);
|
||||
});
|
||||
}));
|
||||
|
||||
await Promise.race(tasks);
|
||||
|
||||
if (isTimeout) {
|
||||
throw new Error(`WebAssembly backend initializing failed due to timeout: ${timeout}ms`);
|
||||
}
|
||||
};
|
||||
|
||||
export const getInstance = (): OrtWasmModule => {
|
||||
if (initialized && wasm) {
|
||||
return wasm;
|
||||
}
|
||||
|
||||
throw new Error('WebAssembly is not initialized yet.');
|
||||
};
|
||||
|
||||
export const dispose = (): void => {
|
||||
if (initialized && !initializing && !aborted) {
|
||||
initializing = true;
|
||||
|
||||
(wasm as OrtWasmThreadedModule).PThread?.terminateAllThreads();
|
||||
wasm = undefined;
|
||||
|
||||
initializing = false;
|
||||
initialized = false;
|
||||
aborted = true;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user