dicomweb-pacs
Version:
A self contained easy to use PACS with DICOMWEB and DIMSE service support
2 lines • 152 kB
JavaScript
/*! For license information please see ort.training.wasm.min.js.LICENSE.txt */
"use strict";var ort=(()=>{var e,t,r,n,a,o,i,s,u,l,f,c,d,p,h,g,m,y,w,b,v,O,_,T,E,A,M,S,R,C,P,U=Object.defineProperty,D=Object.getOwnPropertyDescriptor,x=Object.getOwnPropertyNames,F=Object.prototype.hasOwnProperty,I=(e,t)=>()=>(e&&(t=e(e=0)),t),k=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),B=(e,t)=>{for(var r in t)U(e,r,{get:t[r],enumerable:!0})},N=e=>((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of x(t))!F.call(e,a)&&a!==r&&U(e,a,{get:()=>t[a],enumerable:!(n=D(t,a))||n.enumerable});return e})(U({},"__esModule",{value:!0}),e),L=I((()=>{e=new Map,t=[],r=(r,n,a)=>{if(!n||"function"!=typeof n.init||"function"!=typeof n.createInferenceSessionHandler)throw new TypeError("not a valid backend");{let o=e.get(r);if(void 0===o)e.set(r,{backend:n,priority:a});else{if(o.priority>a)return;if(o.priority===a&&o.backend!==n)throw new Error(`cannot register backend "${r}" using priority ${a}`)}if(a>=0){let n=t.indexOf(r);-1!==n&&t.splice(n,1);for(let n=0;n<t.length;n++)if(e.get(t[n]).priority<=a)return void t.splice(n,0,r);t.push(r)}}},n=async r=>{let n=0===r.length?t:r,a=[];for(let t of n){let r=e.get(t);if(r){if(r.initialized)return r.backend;if(r.aborted)continue;let e=!!r.initPromise;try{return e||(r.initPromise=r.backend.init(t)),await r.initPromise,r.initialized=!0,r.backend}catch(n){e||a.push({name:t,err:n}),r.aborted=!0}finally{delete r.initPromise}}}throw new Error(`no available backend found. ERR: ${a.map((e=>`[${e.name}] ${e.err}`)).join(", ")}`)}})),H=I((()=>{L()})),$=I((()=>{a="1.17.1"})),W=I((()=>{$(),o="warning",i={wasm:{},webgl:{},webgpu:{},versions:{common:a},set logLevel(e){if(void 0!==e){if("string"!=typeof e||-1===["verbose","info","warning","error","fatal"].indexOf(e))throw new Error(`Unsupported logging level: ${e}`);o=e}},get logLevel(){return o}},Object.defineProperty(i,"logLevel",{enumerable:!0})})),G=I((()=>{W(),s=i})),j=I((()=>{u=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(null!=n){let a,o;void 0!==t?.tensorLayout&&"NHWC"===t.tensorLayout?(a=e.dims[2],o=e.dims[3]):(a=e.dims[3],o=e.dims[2]);let i,s,u=void 0!==t?.format?t.format:"RGB",l=t?.norm;void 0===l||void 0===l.mean?i=[255,255,255,255]:"number"==typeof l.mean?i=[l.mean,l.mean,l.mean,l.mean]:(i=[l.mean[0],l.mean[1],l.mean[2],0],void 0!==l.mean[3]&&(i[3]=l.mean[3])),void 0===l||void 0===l.bias?s=[0,0,0,0]:"number"==typeof l.bias?s=[l.bias,l.bias,l.bias,l.bias]:(s=[l.bias[0],l.bias[1],l.bias[2],0],void 0!==l.bias[3]&&(s[3]=l.bias[3]));let f=o*a,c=0,d=f,p=2*f,h=-1;"RGBA"===u?(c=0,d=f,p=2*f,h=3*f):"RGB"===u?(c=0,d=f,p=2*f):"RBG"===u&&(c=0,p=f,d=2*f);for(let t=0;t<o;t++)for(let r=0;r<a;r++){let a=(e.data[c++]-s[0])*i[0],o=(e.data[d++]-s[1])*i[1],u=(e.data[p++]-s[2])*i[2],l=-1===h?255:(e.data[h++]-s[3])*i[3];n.fillStyle="rgba("+a+","+o+","+u+","+l+")",n.fillRect(r,t,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},l=(e,t)=>{let r,n=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(null==n)throw new Error("Can not access image data");{let a,o,i;void 0!==t?.tensorLayout&&"NHWC"===t.tensorLayout?(a=e.dims[2],o=e.dims[1],i=e.dims[3]):(a=e.dims[3],o=e.dims[2],i=e.dims[1]);let s,u,l=void 0!==t&&void 0!==t.format?t.format:"RGB",f=t?.norm;void 0===f||void 0===f.mean?s=[255,255,255,255]:"number"==typeof f.mean?s=[f.mean,f.mean,f.mean,f.mean]:(s=[f.mean[0],f.mean[1],f.mean[2],255],void 0!==f.mean[3]&&(s[3]=f.mean[3])),void 0===f||void 0===f.bias?u=[0,0,0,0]:"number"==typeof f.bias?u=[f.bias,f.bias,f.bias,f.bias]:(u=[f.bias[0],f.bias[1],f.bias[2],0],void 0!==f.bias[3]&&(u[3]=f.bias[3]));let c=o*a;if(void 0!==t&&(void 0!==t.format&&4===i&&"RGBA"!==t.format||3===i&&"RGB"!==t.format&&"BGR"!==t.format))throw new Error("Tensor format doesn't match input tensor dims");let d=4,p=0,h=1,g=2,m=3,y=0,w=c,b=2*c,v=-1;"RGBA"===l?(y=0,w=c,b=2*c,v=3*c):"RGB"===l?(y=0,w=c,b=2*c):"RBG"===l&&(y=0,b=c,w=2*c),r=n.createImageData(a,o);for(let t=0;t<o*a;p+=d,h+=d,g+=d,m+=d,t++)r.data[p]=(e.data[y++]-u[0])*s[0],r.data[h]=(e.data[w++]-u[1])*s[1],r.data[g]=(e.data[b++]-u[2])*s[2],r.data[m]=-1===v?255:(e.data[v++]-u[3])*s[3]}return r}})),z=I((()=>{J(),f=(e,t)=>{if(void 0===e)throw new Error("Image buffer must be defined");if(void 0===t.height||void 0===t.width)throw new Error("Image height and width must be defined");if("NHWC"===t.tensorLayout)throw new Error("NHWC Tensor layout is not supported yet");let r,n,{height:a,width:o}=t,i=t.norm??{mean:255,bias:0};r="number"==typeof i.mean?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],n="number"==typeof i.bias?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=void 0!==t.format?t.format:"RGBA",u=void 0!==t.tensorFormat&&void 0!==t.tensorFormat?t.tensorFormat:"RGB",l=a*o,f="RGBA"===u?new Float32Array(4*l):new Float32Array(3*l),c=4,d=0,p=1,h=2,g=3,m=0,y=l,w=2*l,b=-1;"RGB"===s&&(c=3,d=0,p=1,h=2,g=-1),"RGBA"===u?b=3*l:"RBG"===u?(m=0,w=l,y=2*l):"BGR"===u&&(w=0,y=l,m=2*l);for(let t=0;t<l;t++,d+=c,h+=c,p+=c,g+=c)f[m++]=(e[d]+n[0])/r[0],f[y++]=(e[p]+n[1])/r[1],f[w++]=(e[h]+n[2])/r[2],-1!==b&&-1!==g&&(f[b++]=(e[g]+n[3])/r[3]);return new O("float32",f,"RGBA"===u?[1,4,a,o]:[1,3,a,o])},c=async(e,t)=>{let r,n=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,a=typeof ImageData<"u"&&e instanceof ImageData,o=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,i="string"==typeof e,s=t??{},u=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},l=e=>e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext("2d"):null;if(n){let n=u();n.width=e.width,n.height=e.height;let a=l(n);if(null==a)throw new Error("Can not access image data");{let n=e.height,o=e.width;if(void 0!==t&&void 0!==t.resizedHeight&&void 0!==t.resizedWidth&&(n=t.resizedHeight,o=t.resizedWidth),void 0!==t){if(s=t,void 0!==t.tensorFormat)throw new Error("Image input config format must be RGBA for HTMLImageElement");s.tensorFormat="RGBA",s.height=n,s.width=o}else s.tensorFormat="RGBA",s.height=n,s.width=o;a.drawImage(e,0,0),r=a.getImageData(0,0,o,n).data}}else{if(!a){if(o){if(void 0===t)throw new Error("Please provide image config with format for Imagebitmap");let n=u();n.width=e.width,n.height=e.height;let a=l(n);if(null!=a){let t=e.height,n=e.width;return a.drawImage(e,0,0,n,t),r=a.getImageData(0,0,n,t).data,s.height=t,s.width=n,f(r,s)}throw new Error("Can not access image data")}if(i)return new Promise(((t,r)=>{let n=u(),a=l(n);if(!e||!a)return r();let o=new Image;o.crossOrigin="Anonymous",o.src=e,o.onload=()=>{n.width=o.width,n.height=o.height,a.drawImage(o,0,0,n.width,n.height);let e=a.getImageData(0,0,n.width,n.height);s.height=n.height,s.width=n.width,t(f(e.data,s))}}));throw new Error("Input data provided is not supported - aborted tensor creation")}{let n,a;if(void 0!==t&&void 0!==t.resizedWidth&&void 0!==t.resizedHeight?(n=t.resizedHeight,a=t.resizedWidth):(n=e.height,a=e.width),void 0!==t&&(s=t),s.format="RGBA",s.height=n,s.width=a,void 0!==t){let t=u();t.width=a,t.height=n;let o=l(t);if(null==o)throw new Error("Can not access image data");o.putImageData(e,0,0),r=o.getImageData(0,0,a,n).data}else r=e.data}}if(void 0!==r)return f(r,s);throw new Error("Input data provided is not supported - aborted tensor creation")},d=(e,t)=>{let{width:r,height:n,download:a,dispose:o}=t;return new O({location:"texture",type:"float32",texture:e,dims:[1,n,r,4],download:a,dispose:o})},p=(e,t)=>{let{dataType:r,dims:n,download:a,dispose:o}=t;return new O({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:a,dispose:o})},h=(e,t,r)=>new O({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})})),Y=I((()=>{g=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["float16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array]]),m=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),y=!1,w=()=>{if(!y){y=!0;let e=typeof BigInt64Array<"u"&&"function"==typeof BigInt64Array.from,t=typeof BigUint64Array<"u"&&"function"==typeof BigUint64Array.from;e&&(g.set("int64",BigInt64Array),m.set(BigInt64Array,"int64")),t&&(g.set("uint64",BigUint64Array),m.set(BigUint64Array,"uint64"))}}})),V=I((()=>{J(),b=e=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if("number"!=typeof n||!Number.isSafeInteger(n))throw new TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},v=(e,t)=>{switch(e.location){case"cpu":return new O(e.type,e.data,t);case"cpu-pinned":return new O({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new O({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new O({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}})),J=I((()=>{j(),z(),Y(),V(),O=class{constructor(e,t,r){let n,a;if(w(),"object"==typeof e&&"location"in e)switch(this.dataLocation=e.location,n=e.type,a=e.dims,e.location){case"cpu-pinned":{let t=g.get(n);if(!t)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw new TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case"texture":if("float32"!==n)throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case"gpu-buffer":if("float32"!==n&&"float16"!==n&&"int32"!==n&&"int64"!==n&&"uint32"!==n&&"bool"!==n)throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if("string"==typeof e)if(n=e,i=r,"string"===e){if(!Array.isArray(t))throw new TypeError("A string tensor's data must be a string array.");o=t}else{let r=g.get(e);if(void 0===r)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if("float16"===e)throw new TypeError("Creating a float16 tensor from number array is not supported. Please use Uint16Array as data.");o="uint64"===e||"int64"===e?r.from(t,BigInt):r.from(t)}else{if(!(t instanceof r))throw new TypeError(`A ${n} tensor's data must be type of ${r}`);o=t}}else if(i=t,Array.isArray(e)){if(0===e.length)throw new TypeError("Tensor type cannot be inferred from an empty array.");let t=typeof e[0];if("string"===t)n="string",o=e;else{if("boolean"!==t)throw new TypeError(`Invalid element type of data array: ${t}.`);n="bool",o=Uint8Array.from(e)}}else{let t=m.get(e.constructor);if(void 0===t)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=t,o=e}if(void 0===i)i=[o.length];else if(!Array.isArray(i))throw new TypeError("A tensor's dims must be a number array");a=i,this.cpuData=o,this.dataLocation="cpu"}let o=b(a);if(this.cpuData&&o!==this.cpuData.length)throw new Error(`Tensor's size(${o}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=a,this.size=o}static async fromImage(e,t){return c(e,t)}static fromTexture(e,t){return d(e,t)}static fromGpuBuffer(e,t){return p(e,t)}static fromPinnedBuffer(e,t,r){return h(e,t,r)}toDataURL(e){return u(this,e)}toImageData(e){return l(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if("none"===this.dataLocation)throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return v(this,e)}}})),q=I((()=>{J(),_=O})),X=I((()=>{W(),T=(e,t)=>{i.wasm.trace&&console.timeStamp(`${e}::ORT::${t}`)},E=(e,t)=>{let r=(new Error).stack?.split(/\r\n|\r|\n/g)||[],n=!1;for(let a=0;a<r.length;a++){if(n&&!r[a].includes("TRACE_FUNC")){let n=`FUNC_${e}::${r[a].trim().split(" ")[1]}`;return t&&(n+=`::${t}`),void T("CPU",n)}r[a].includes("TRACE_FUNC")&&(n=!0)}},A=e=>{i.wasm.trace&&E("BEGIN",e)},M=e=>{i.wasm.trace&&E("END",e)}})),Q=I((()=>{L(),q(),X(),S=class e{constructor(e){this.handler=e}async run(e,t,r){A();let n={},a={};if("object"!=typeof e||null===e||e instanceof _||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let o=!0;if("object"==typeof t){if(null===t)throw new TypeError("Unexpected argument[1]: cannot be null.");if(t instanceof _)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(t)){if(0===t.length)throw new TypeError("'fetches' cannot be an empty array.");o=!1;for(let e of t){if("string"!=typeof e)throw new TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(e))throw new RangeError(`'fetches' contains invalid output name: ${e}.`);n[e]=null}if("object"==typeof r&&null!==r)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else{let e=!1,i=Object.getOwnPropertyNames(t);for(let r of this.outputNames)if(-1!==i.indexOf(r)){let a=t[r];(null===a||a instanceof _)&&(e=!0,o=!1,n[r]=a)}if(e){if("object"==typeof r&&null!==r)a=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else a=t}}else if(typeof t<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let t of this.inputNames)if(typeof e[t]>"u")throw new Error(`input '${t}' is missing in 'feeds'.`);if(o)for(let e of this.outputNames)n[e]=null;let i=await this.handler.run(e,n,a),s={};for(let e in i)if(Object.hasOwnProperty.call(i,e)){let t=i[e];s[e]=t instanceof _?t:new _(t.type,t.data,t.dims)}return M(),s}async release(){return this.handler.dispose()}static async create(t,r,a,o){A();let i,s={};if("string"==typeof t){if(i=t,"object"==typeof r&&null!==r)s=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(i=t,"object"==typeof r&&null!==r)s=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else{if(!(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let e=t,n=0,u=t.byteLength;if("object"==typeof r&&null!==r)s=r;else if("number"==typeof r){if(n=r,!Number.isSafeInteger(n))throw new RangeError("'byteOffset' must be an integer.");if(n<0||n>=e.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(u=t.byteLength-n,"number"==typeof a){if(u=a,!Number.isSafeInteger(u))throw new RangeError("'byteLength' must be an integer.");if(u<=0||n+u>e.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${e.byteLength-n}].`);if("object"==typeof o&&null!==o)s=o;else if(typeof o<"u")throw new TypeError("'options' must be an object.")}else if(typeof a<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");i=new Uint8Array(e,n,u)}}let u=(s.executionProviders||[]).map((e=>"string"==typeof e?e:e.name)),l=await(await n(u)).createInferenceSessionHandler(i,s);return M(),new e(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}})),Z=I((()=>{Q(),R=S})),K=I((()=>{})),ee=I((()=>{L(),q(),C=class e{constructor(e,t,r){this.handler=e,this.hasOptimizerModel=t,this.hasEvalModel=r}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw new Error("This training session has no evalModel loaded.")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw new Error("This training session has no evalModel loaded.")}static async create(t,r){let a=t.evalModel||"",o=t.optimizerModel||"",i=r||{},s=(i.executionProviders||[]).map((e=>"string"==typeof e?e:e.name)),u=await n(s);if(u.createTrainingSessionHandler){let r=await u.createTrainingSessionHandler(t.checkpointState,t.trainModel,a,o,i);return new e(r,!!t.optimizerModel,!!t.evalModel)}throw new Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(e,t,r,n,a){let o={},i={};if("object"!=typeof r||null===r||r instanceof _||Array.isArray(r))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let s=!0;if("object"==typeof n){if(null===n)throw new TypeError("Unexpected argument[1]: cannot be null.");if(n instanceof _)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(n)){if(0===n.length)throw new TypeError("'fetches' cannot be an empty array.");s=!1;for(let e of n){if("string"!=typeof e)throw new TypeError("'fetches' must be a string array or an object.");if(-1===t.indexOf(e))throw new RangeError(`'fetches' contains invalid output name: ${e}.`);o[e]=null}if("object"==typeof a&&null!==a)i=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else{let e=!1,r=Object.getOwnPropertyNames(n);for(let a of t)if(-1!==r.indexOf(a)){let t=n[a];(null===t||t instanceof _)&&(e=!0,s=!1,o[a]=t)}if(e){if("object"==typeof a&&null!==a)i=a;else if(typeof a<"u")throw new TypeError("'options' must be an object.")}else i=n}}else if(typeof n<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let t of e)if(typeof r[t]>"u")throw new Error(`input '${t}' is missing in 'feeds'.`);if(s)for(let e of t)o[e]=null;return[o,i]}convertHandlerReturnTypeToMapOfTensors(e){let t={};for(let r in e)if(Object.hasOwnProperty.call(e,r)){let n=e[r];t[r]=n instanceof _?n:new _(n.type,n.data,n.dims)}return t}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(e,t,r){let[n,a]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,e,t,r),o=await this.handler.runTrainStep(e,n,a);return this.convertHandlerReturnTypeToMapOfTensors(o)}async runOptimizerStep(e){if(!this.hasOptimizerModel)throw new Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(e||{})}async runEvalStep(e,t,r){if(this.hasEvalModel){let[n,a]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,e,t,r),o=await this.handler.runEvalStep(e,n,a);return this.convertHandlerReturnTypeToMapOfTensors(o)}throw new Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(e=!0){return this.handler.getParametersSize(e)}async loadParametersBuffer(e,t=!0){let r=await this.getParametersSize(t);if(e.length!==4*r)throw new Error("Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.");return this.handler.loadParametersBuffer(e,t)}async getContiguousParameters(e=!0){return this.handler.getContiguousParameters(e)}async release(){return this.handler.dispose()}}})),te=I((()=>{ee(),P=C})),re={};B(re,{InferenceSession:()=>R,TRACE:()=>T,TRACE_FUNC_BEGIN:()=>A,TRACE_FUNC_END:()=>M,Tensor:()=>_,TrainingSession:()=>P,env:()=>s,registerBackend:()=>r});var ne=I((()=>{H(),G(),Z(),q(),X(),K(),te()})),ae={};B(ae,{createReadStream:()=>se,readFile:()=>oe,readFileSync:()=>ie});var oe,ie,se,ue=I((()=>{oe=void 0,ie=void 0,se=void 0})),le={};B(le,{join:()=>fe});var fe,ce=I((()=>{fe=void 0})),de=k(((e,t)=>{var r,n=(r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,typeof __filename<"u"&&(r=r||__filename),function(e={}){var t,n,a=e;a.ready=new Promise(((e,r)=>{t=e,n=r}));var o,i,s,u=Object.assign({},a),l="./this.program",f="object"==typeof window,c="function"==typeof importScripts,d="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,p="";if(d){var h=(ue(),N(ae)),g=(ce(),N(le));p=c?g.dirname(p)+"/":__dirname+"/",o=(e,t)=>(e=I(e)?new URL(e):g.normalize(e),h.readFileSync(e,t?void 0:"utf8")),s=e=>((e=o(e,!0)).buffer||(e=new Uint8Array(e)),e),i=(e,t,r,n=!0)=>{e=I(e)?new URL(e):g.normalize(e),h.readFile(e,n?void 0:"utf8",((e,a)=>{e?r(e):t(n?a.buffer:a)}))},!a.thisProgram&&1<process.argv.length&&(l=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),a.inspect=()=>"[Emscripten Module object]"}else(f||c)&&(c?p=self.location.href:typeof document<"u"&&document.currentScript&&(p=document.currentScript.src),r&&(p=r),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},c&&(s=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),i=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});var m=console.log.bind(console),y=console.error.bind(console);Object.assign(a,u),u=null,"object"!=typeof WebAssembly&&D("no native wasm support detected");var w,b,v,O,_,T,E=!1;function A(){var e=w.buffer;a.HEAP8=b=new Int8Array(e),a.HEAP16=new Int16Array(e),a.HEAPU8=v=new Uint8Array(e),a.HEAPU16=new Uint16Array(e),a.HEAP32=O=new Int32Array(e),a.HEAPU32=_=new Uint32Array(e),a.HEAPF32=new Float32Array(e),a.HEAPF64=T=new Float64Array(e)}var M=[],S=[],R=[],C=0,P=null,U=null;function D(e){throw y(e="Aborted("+e+")"),E=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),n(e),e}var x,F=e=>e.startsWith("data:application/octet-stream;base64,"),I=e=>e.startsWith("file://");if(!F(x="ort-training-wasm-simd.wasm")){var k=x;x=a.locateFile?a.locateFile(k,p):p+k}function B(e){if(s)return s(e);throw"both async and sync fetching of the wasm failed"}function L(e,t,r){return function(e){if(f||c){if("function"==typeof fetch&&!I(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>B(e)));if(i)return new Promise(((t,r)=>{i(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>B(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),D(e)}))}var H,$={990416:(e,t,r,n)=>{if(typeof a>"u"||!a.Qa)return 1;if((e=Y(e>>>0)).startsWith("./")&&(e=e.substring(2)),!(e=a.Qa.get(e)))return 2;if((t>>>=0)+(r>>>=0)>e.byteLength)return 3;try{return v.set(e.subarray(t,t+r),n>>>0>>>0),0}catch{return 4}}};function W(e){this.Ka=e-24,this.Pa=function(e){_[this.Ka+4>>>2>>>0]=e},this.Oa=function(e){_[this.Ka+8>>>2>>>0]=e},this.Ma=function(e,t){this.Na(),this.Pa(e),this.Oa(t)},this.Na=function(){_[this.Ka+16>>>2>>>0]=0}}var G,j=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,z=(e,t,r)=>{var n=(t>>>=0)+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&j)return j.decode(e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var o=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|o);else{var i=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|o<<6|i:(7&a)<<18|o<<12|i<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n},Y=(e,t)=>(e>>>=0)?z(v,e,t):"",V=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},J=(e,t,r,n)=>{if(!(0<n))return 0;var a=r>>>=0;n=r+n-1;for(var o=0;o<e.length;++o){var i=e.charCodeAt(o);if(55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++o)),127>=i){if(r>=n)break;t[r++>>>0]=i}else{if(2047>=i){if(r+1>=n)break;t[r++>>>0]=192|i>>6}else{if(65535>=i){if(r+2>=n)break;t[r++>>>0]=224|i>>12}else{if(r+3>=n)break;t[r++>>>0]=240|i>>18,t[r++>>>0]=128|i>>12&63}t[r++>>>0]=128|i>>6&63}t[r++>>>0]=128|63&i}}return t[r>>>0]=0,r-a},q=e=>e%4==0&&(e%100!=0||e%400==0),X=[0,31,60,91,121,152,182,213,244,274,305,335],Q=[0,31,59,90,120,151,181,212,243,273,304,334],Z=e=>{var t=V(e)+1,r=pe(t);return r&&J(e,v,r,t),r},K=[],ee={},te=()=>{if(!G){var e,t={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",_:l||"./this.program"};for(e in ee)void 0===ee[e]?delete t[e]:t[e]=ee[e];var r=[];for(e in t)r.push(`${e}=${t[e]}`);G=r}return G},re=[null,[],[]],ne=[31,29,31,30,31,30,31,31,30,31,30,31],oe=[31,28,31,30,31,30,31,31,30,31,30,31];function ie(e,t,r,n){function a(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function o(e,t){return a(e,t,"0")}function i(e,t){function r(e){return 0>e?-1:0<e?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function s(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function u(e){var t=e.Ga;for(e=new Date(new Date(e.Ha+1900,0,1).getTime());0<t;){var r=e.getMonth(),n=(q(e.getFullYear())?ne:oe)[r];if(!(t>n-e.getDate())){e.setDate(e.getDate()+t);break}t-=n-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return r=new Date(e.getFullYear()+1,0,4),t=s(new Date(e.getFullYear(),0,4)),r=s(r),0>=i(t,e)?0>=i(r,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}e>>>=0,t>>>=0,r>>>=0;var l=_[40+(n>>>=0)>>>2>>>0];for(var f in n={Ta:O[n>>>2>>>0],Sa:O[n+4>>>2>>>0],Ia:O[n+8>>>2>>>0],La:O[n+12>>>2>>>0],Ja:O[n+16>>>2>>>0],Ha:O[n+20>>>2>>>0],Ba:O[n+24>>>2>>>0],Ga:O[n+28>>>2>>>0],Va:O[n+32>>>2>>>0],Ra:O[n+36>>>2>>>0],Ua:l?Y(l):""},r=Y(r),l={"%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"})r=r.replace(new RegExp(f,"g"),l[f]);var c="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),d="January February March April May June July August September October November December".split(" ");for(f in l={"%a":e=>c[e.Ba].substring(0,3),"%A":e=>c[e.Ba],"%b":e=>d[e.Ja].substring(0,3),"%B":e=>d[e.Ja],"%C":e=>o((e.Ha+1900)/100|0,2),"%d":e=>o(e.La,2),"%e":e=>a(e.La,2," "),"%g":e=>u(e).toString().substring(2),"%G":e=>u(e),"%H":e=>o(e.Ia,2),"%I":e=>(0==(e=e.Ia)?e=12:12<e&&(e-=12),o(e,2)),"%j":e=>{for(var t=0,r=0;r<=e.Ja-1;t+=(q(e.Ha+1900)?ne:oe)[r++]);return o(e.La+t,3)},"%m":e=>o(e.Ja+1,2),"%M":e=>o(e.Sa,2),"%n":()=>"\n","%p":e=>0<=e.Ia&&12>e.Ia?"AM":"PM","%S":e=>o(e.Ta,2),"%t":()=>"\t","%u":e=>e.Ba||7,"%U":e=>o(Math.floor((e.Ga+7-e.Ba)/7),2),"%V":e=>{var t=Math.floor((e.Ga+7-(e.Ba+6)%7)/7);if(2>=(e.Ba+371-e.Ga-2)%7&&t++,t)53==t&&(4==(r=(e.Ba+371-e.Ga)%7)||3==r&&q(e.Ha)||(t=1));else{t=52;var r=(e.Ba+7-e.Ga-1)%7;(4==r||5==r&&q(e.Ha%400-1))&&t++}return o(t,2)},"%w":e=>e.Ba,"%W":e=>o(Math.floor((e.Ga+7-(e.Ba+6)%7)/7),2),"%y":e=>(e.Ha+1900).toString().substring(2),"%Y":e=>e.Ha+1900,"%z":e=>(0<=(e=e.Ra)?"+":"-")+("0000"+((e=Math.abs(e)/60)/60*100+e%60)).slice(-4),"%Z":e=>e.Ua,"%%":()=>"%"},r=r.replace(/%%/g,"\0\0"),l)r.includes(f)&&(r=r.replace(new RegExp(f,"g"),l[f](n)));return f=function(e){var t=Array(V(e)+1);return J(e,t,0,t.length),t}(r=r.replace(/\0\0/g,"%")),f.length>t?0:(b.set(f,e>>>0),f.length-1)}var se={a:function(e,t,r){throw new W(e>>>=0).Ma(t>>>0,r>>>0),e},e:function(){return 0},H:function(){},x:function(){},z:function(){},J:function(){return 0},F:function(){},A:function(){},E:function(){},g:function(){},y:function(){},v:function(){},G:function(){},w:function(){},k:()=>1,n:function(e,t,r){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,r>>>=0,e=new Date(1e3*e),O[r>>>2>>>0]=e.getUTCSeconds(),O[r+4>>>2>>>0]=e.getUTCMinutes(),O[r+8>>>2>>>0]=e.getUTCHours(),O[r+12>>>2>>>0]=e.getUTCDate(),O[r+16>>>2>>>0]=e.getUTCMonth(),O[r+20>>>2>>>0]=e.getUTCFullYear()-1900,O[r+24>>>2>>>0]=e.getUTCDay(),O[r+28>>>2>>>0]=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},o:function(e,t,r){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,r>>>=0,e=new Date(1e3*e),O[r>>>2>>>0]=e.getSeconds(),O[r+4>>>2>>>0]=e.getMinutes(),O[r+8>>>2>>>0]=e.getHours(),O[r+12>>>2>>>0]=e.getDate(),O[r+16>>>2>>>0]=e.getMonth(),O[r+20>>>2>>>0]=e.getFullYear()-1900,O[r+24>>>2>>>0]=e.getDay(),O[r+28>>>2>>>0]=(q(e.getFullYear())?X:Q)[e.getMonth()]+e.getDate()-1|0,O[r+36>>>2>>>0]=-60*e.getTimezoneOffset(),t=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();O[r+32>>>2>>>0]=0|(t!=n&&e.getTimezoneOffset()==Math.min(n,t))},p:function(e){e>>>=0;var t=new Date(O[e+20>>>2>>>0]+1900,O[e+16>>>2>>>0],O[e+12>>>2>>>0],O[e+8>>>2>>>0],O[e+4>>>2>>>0],O[e>>>2>>>0],0),r=O[e+32>>>2>>>0],n=t.getTimezoneOffset(),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),o=new Date(t.getFullYear(),0,1).getTimezoneOffset(),i=Math.min(o,a);return 0>r?O[e+32>>>2>>>0]=+(a!=o&&i==n):0<r!=(i==n)&&(a=Math.max(o,a),t.setTime(t.getTime()+6e4*((0<r?i:a)-n))),O[e+24>>>2>>>0]=t.getDay(),O[e+28>>>2>>>0]=(q(t.getFullYear())?X:Q)[t.getMonth()]+t.getDate()-1|0,O[e>>>2>>>0]=t.getSeconds(),O[e+4>>>2>>>0]=t.getMinutes(),O[e+8>>>2>>>0]=t.getHours(),O[e+12>>>2>>>0]=t.getDate(),O[e+16>>>2>>>0]=t.getMonth(),O[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),isNaN(e)?(O[de()>>>2>>>0]=61,e=-1):e/=1e3,ge((H=e,1<=+Math.abs(H)?0<H?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)),e>>>0},l:function(){return-52},m:function(){},t:function(e,t,r){function n(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:"GMT"}r>>>=0;var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1);a=o.getTimezoneOffset();var s=i.getTimezoneOffset();_[e>>>0>>>2>>>0]=60*Math.max(a,s),O[t>>>0>>>2>>>0]=+(a!=s),e=n(o),t=n(i),e=Z(e),t=Z(t),s<a?(_[r>>>2>>>0]=e,_[r+4>>>2>>>0]=t):(_[r>>>2>>>0]=t,_[r+4>>>2>>>0]=e)},d:()=>{D("")},B:function(e,t,r){e>>>=0,t>>>=0,r>>>=0,K.length=0;for(var n;n=v[t++>>>0];){var a=105!=n;r+=(a&=112!=n)&&r%8?4:0,K.push(112==n?_[r>>>2>>>0]:105==n?O[r>>>2>>>0]:T[r>>>3>>>0]),r+=a?8:4}return $[e].apply(null,K)},h:()=>Date.now(),u:function(){return 4294901760},b:()=>performance.now(),I:function(e,t,r){return t>>>=0,v.copyWithin(e>>>0>>>0,t>>>0,t+(r>>>0)>>>0)},s:function(e){e>>>=0;var t=v.length;if(4294901760<e)return!1;for(var r=1;4>=r;r*=2){var n=t*(1+.2/r);n=Math.min(n,e+100663296);var a=Math;n=Math.max(e,n);e:{a=(a.min.call(a,4294901760,n+(65536-n%65536)%65536)-w.buffer.byteLength+65535)/65536;try{w.grow(a),A();var o=1;break e}catch{}o=void 0}if(o)return!0}return!1},C:function(e,t){e>>>=0,t>>>=0;var r=0;return te().forEach(((n,a)=>{var o=t+r;for(a=_[e+4*a>>>2>>>0]=o,o=0;o<n.length;++o)b[a++>>>0>>>0]=n.charCodeAt(o);b[a>>>0>>>0]=0,r+=n.length+1})),0},D:function(e,t){e>>>=0,t>>>=0;var r=te();_[e>>>2>>>0]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),_[t>>>2>>>0]=n,0},f:()=>52,j:function(){return 52},q:function(){return 70},i:function(e,t,r,n){t>>>=0,r>>>=0,n>>>=0;for(var a=0,o=0;o<r;o++){var i=_[t>>>2>>>0],s=_[t+4>>>2>>>0];t+=8;for(var u=0;u<s;u++){var l=v[i+u>>>0],f=re[e];0===l||10===l?((1===e?m:y)(z(f,0)),f.length=0):f.push(l)}a+=s}return _[n>>>2>>>0]=a,0},r:ie,c:function(e,t,r,n){return ie(e>>>0,t>>>0,r>>>0,n>>>0)}},fe=function(){function e(e){return fe=e.exports,fe=function(){var e=fe;e=Object.assign({},e);var t=e=>()=>e()>>>0,r=e=>t=>e(t)>>>0;return e.ya=t(e.ya),e.za=r(e.za),e.Da=t(e.Da),e.Fa=r(e.Fa),e}(),w=fe.K,A(),S.unshift(fe.L),0==--C&&(null!==P&&(clearInterval(P),P=null),U&&(e=U,U=null,e())),fe}var t={a:se};if(C++,a.instantiateWasm)try{return a.instantiateWasm(t,e)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return function(e,t){var r=x;return"function"!=typeof WebAssembly.instantiateStreaming||F(r)||I(r)||d||"function"!=typeof fetch?L(r,e,t):fetch(r,{credentials:"same-origin"}).then((n=>WebAssembly.instantiateStreaming(n,e).then(t,(function(n){return y(`wasm streaming compile failed: ${n}`),y("falling back to ArrayBuffer instantiation"),L(r,e,t)}))))}(t,(function(t){e(t.instance)})).catch(n),{}}();a._OrtInit=(e,t)=>(a._OrtInit=fe.M)(e,t),a._OrtGetLastError=(e,t)=>(a._OrtGetLastError=fe.N)(e,t),a._OrtCreateSessionOptions=(e,t,r,n,o,i,s,u,l,f)=>(a._OrtCreateSessionOptions=fe.O)(e,t,r,n,o,i,s,u,l,f),a._OrtAppendExecutionProvider=(e,t)=>(a._OrtAppendExecutionProvider=fe.P)(e,t),a._OrtAddFreeDimensionOverride=(e,t,r)=>(a._OrtAddFreeDimensionOverride=fe.Q)(e,t,r),a._OrtAddSessionConfigEntry=(e,t,r)=>(a._OrtAddSessionConfigEntry=fe.R)(e,t,r),a._OrtReleaseSessionOptions=e=>(a._OrtReleaseSessionOptions=fe.S)(e),a._OrtCreateSession=(e,t,r)=>(a._OrtCreateSession=fe.T)(e,t,r),a._OrtReleaseSession=e=>(a._OrtReleaseSession=fe.U)(e),a._OrtGetInputOutputCount=(e,t,r)=>(a._OrtGetInputOutputCount=fe.V)(e,t,r),a._OrtGetInputName=(e,t)=>(a._OrtGetInputName=fe.W)(e,t),a._OrtGetOutputName=(e,t)=>(a._OrtGetOutputName=fe.X)(e,t),a._OrtFree=e=>(a._OrtFree=fe.Y)(e),a._OrtCreateTensor=(e,t,r,n,o,i)=>(a._OrtCreateTensor=fe.Z)(e,t,r,n,o,i),a._OrtGetTensorData=(e,t,r,n,o)=>(a._OrtGetTensorData=fe._)(e,t,r,n,o),a._OrtReleaseTensor=e=>(a._OrtReleaseTensor=fe.$)(e),a._OrtCreateRunOptions=(e,t,r,n)=>(a._OrtCreateRunOptions=fe.aa)(e,t,r,n),a._OrtAddRunConfigEntry=(e,t,r)=>(a._OrtAddRunConfigEntry=fe.ba)(e,t,r),a._OrtReleaseRunOptions=e=>(a._OrtReleaseRunOptions=fe.ca)(e),a._OrtCreateBinding=e=>(a._OrtCreateBinding=fe.da)(e),a._OrtBindInput=(e,t,r)=>(a._OrtBindInput=fe.ea)(e,t,r),a._OrtBindOutput=(e,t,r,n)=>(a._OrtBindOutput=fe.fa)(e,t,r,n),a._OrtClearBoundOutputs=e=>(a._OrtClearBoundOutputs=fe.ga)(e),a._OrtReleaseBinding=e=>(a._OrtReleaseBinding=fe.ha)(e),a._OrtRunWithBinding=(e,t,r,n,o)=>(a._OrtRunWithBinding=fe.ia)(e,t,r,n,o),a._OrtRun=(e,t,r,n,o,i,s,u)=>(a._OrtRun=fe.ja)(e,t,r,n,o,i,s,u),a._OrtEndProfiling=e=>(a._OrtEndProfiling=fe.ka)(e),a._OrtTrainingLoadCheckpoint=(e,t)=>(a._OrtTrainingLoadCheckpoint=fe.la)(e,t),a._OrtTrainingReleaseCheckpoint=e=>(a._OrtTrainingReleaseCheckpoint=fe.ma)(e),a._OrtTrainingCreateSession=(e,t,r,n,o,i,s,u)=>(a._OrtTrainingCreateSession=fe.na)(e,t,r,n,o,i,s,u),a._OrtTrainingLazyResetGrad=e=>(a._OrtTrainingLazyResetGrad=fe.oa)(e),a._OrtTrainingRunTrainStep=(e,t,r,n,o,i)=>(a._OrtTrainingRunTrainStep=fe.pa)(e,t,r,n,o,i),a._OrtTrainingOptimizerStep=(e,t)=>(a._OrtTrainingOptimizerStep=fe.qa)(e,t),a._OrtTrainingEvalStep=(e,t,r,n,o,i)=>(a._OrtTrainingEvalStep=fe.ra)(e,t,r,n,o,i),a._OrtTrainingGetParametersSize=(e,t,r)=>(a._OrtTrainingGetParametersSize=fe.sa)(e,t,r),a._OrtTrainingCopyParametersToBuffer=(e,t,r,n)=>(a._OrtTrainingCopyParametersToBuffer=fe.ta)(e,t,r,n),a._OrtTrainingCopyParametersFromBuffer=(e,t,r,n)=>(a._OrtTrainingCopyParametersFromBuffer=fe.ua)(e,t,r,n),a._OrtTrainingGetModelInputOutputCount=(e,t,r,n)=>(a._OrtTrainingGetModelInputOutputCount=fe.va)(e,t,r,n),a._OrtTrainingGetModelInputOutputName=(e,t,r,n)=>(a._OrtTrainingGetModelInputOutputName=fe.wa)(e,t,r,n),a._OrtTrainingReleaseSession=e=>(a._OrtTrainingReleaseSession=fe.xa)(e);var de=()=>(de=fe.ya)(),pe=a._malloc=e=>(pe=a._malloc=fe.za)(e);a._free=e=>(a._free=fe.Aa)(e);var he,ge=e=>(ge=fe.Ca)(e),me=()=>(me=fe.Da)(),ye=e=>(ye=fe.Ea)(e),we=e=>(we=fe.Fa)(e);function be(){if(!(0<C)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;){var e=a.preRun.shift();M.unshift(e)}for(;0<M.length;)M.shift()(a);if(!(0<C||he||(he=!0,a.calledRun=!0,E))){for(;0<S.length;)S.shift()(a);for(t(a);0<R.length;)R.shift()(a)}}}return a.stackAlloc=we,a.stackSave=me,a.stackRestore=ye,a.UTF8ToString=Y,a.stringToUTF8=(e,t,r)=>J(e,v,t,r),a.lengthBytesUTF8=V,U=function e(){he||be(),he||(U=e)},be(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=n:"function"==typeof define&&define.amd&&define([],(()=>n))})),pe=k((()=>{})),he=k((()=>{})),ge={};B(ge,{cpus:()=>me});var me,ye,we,be,ve,Oe,_e,Te,Ee,Ae,Me,Se,Re,Ce,Pe,Ue,De,xe,Fe,Ie,ke,Be,Ne,Le,He,$e,We,Ge,je,ze,Ye,Ve,Je,qe,Xe,Qe,Ze,Ke,et,tt,rt,nt,at,ot,it,st,ut,lt,ft,ct,dt,pt,ht,gt,mt,yt,wt,bt,vt,Ot,_t,Tt,Et,At,Mt,St,Rt,Ct,Pt,Ut,Dt,xt,Ft,It,kt,Bt,Nt,Lt,Ht,$t,Wt,Gt,jt=I((()=>{me=void 0})),zt=k(((e,t)=>{var r,n=(r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,typeof __filename<"u"&&(r=r||__filename),function(e={}){function t(){return R.buffer!=U.buffer&&B(),U}function n(){return R.buffer!=U.buffer&&B(),D}function a(){return R.buffer!=U.buffer&&B(),x}function o(){return R.buffer!=U.buffer&&B(),F}function i(){return R.buffer!=U.buffer&&B(),I}var s,u,l=e;l.ready=new Promise(((e,t)=>{s=e,u=t}));var f,c,d,p=Object.assign({},l),h="./this.program",g=(e,t)=>{throw t},m="object"==typeof window,y="function"==typeof importScripts,w="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,b=l.ENVIRONMENT_IS_PTHREAD||!1,v="";function O(e){return l.locateFile?l.locateFile(e,v):v+e}if(w){var _=(ue(),N(ae)),T=(ce(),N(le));let e;v=y?T.dirname(v)+"/":__dirname+"/",f=(e,t)=>(e=X(e)?new URL(e):T.normalize(e),_.readFileSync(e,t?void 0:"utf8")),d=e=>((e=f(e,!0)).buffer||(e=new Uint8Array(e)),e),c=(e,t,r,n=!0)=>{e=X(e)?new URL(e):T.normalize(e),_.readFile(e,n?void 0:"utf8",((e,a)=>{e?r(e):t(n?a.buffer:a)}))},!l.thisProgram&&1<process.argv.length&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),g=(e,t)=>{throw process.exitCode=e,t},l.inspect=()=>"[Emscripten Module object]";try{e=pe()}catch(e){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),e}global.Worker=e.Worker}else(m||y)&&(y?v=self.location.href:typeof document<"u"&&document.currentScript&&(v=document.currentScript.src),typeof r<"u"&&r&&(v=r),v=0!==v.indexOf("blob:")?v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1):"",w||(f=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},y&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=(e,t,r)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)}));w&&typeof performance>"u"&&(global.performance=he().performance);var E=console.log.bind(console),A=console.error.bind(console);w&&(E=(...e)=>_.writeSync(1,e.join(" ")+"\n"),A=(...e)=>_.writeSync(2,e.join(" ")+"\n"));var M=E,S=A;Object.assign(l,p),p=null,"object"!=typeof WebAssembly&&V("no native wasm support detected");var R,C,P,U,D,x,F,I,k=!1;function B(){var e=R.buffer;l.HEAP8=U=new Int8Array(e),l.HEAP16=new Int16Array(e),l.HEAPU8=D=new Uint8Array(e),l.HEAPU16=new Uint16Array(e),l.HEAP32=x=new Int32Array(e),l.HEAPU32=F=new Uint32Array(e),l.HEAPF32=new Float32Array(e),l.HEAPF64=I=new Float64Array(e)}var L=16777216;if(b)R=l.wasmMemory;else if(l.wasmMemory)R=l.wasmMemory;else if(!((R=new WebAssembly.Memory({initial:L/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw S("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"),w&&S("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");B(),L=R.buffer.byteLength;var H=[],$=[],W=[],G=0,j=null,z=null;function Y(){if(0==--G&&(null!==j&&(clearInterval(j),j=null),z)){var e=z;z=null,e()}}function V(e){throw S(e="Aborted("+e+")"),k=!0,P=1,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),u(e),e}var J,q=e=>e.startsWith("data:application/octet-stream;base64,"),X=e=>e.startsWith("file://");function Q(e){if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function Z(e,t,r){return function(e){if(m||y){if("function"==typeof fetch&&!X(e))return fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>Q(e)));if(c)return new Promise(((t,r)=>{c(e,(e=>t(new Uint8Array(e))),r)}))}return Promise.resolve().then((()=>Q(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{S(`failed to asynchronously prepare wasm: ${e}`),V(e)}))}q(J="ort-wasm-threaded.wasm")||(J=O(J));var K,ee={921276:(e,t,r,a)=>{if(typeof l>"u"||!l.cb)return 1;if((e=fe(e>>>0)).startsWith("./")&&(e=e.substring(2)),!(e=l.cb.get(e)))return 2;if(a>>>=0,(t>>>=0)+(r>>>=0)>e.byteLength)return 3;try{return n().set(e.subarray(t,t+r),a>>>0),0}catch{return 4}}};function te(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var re=e=>{e.terminate(),e.onmessage=()=>{}},ne=e=>{0==Oe.Pa.length&&(ve(),Oe.Ya(Oe.Pa[0]));var t=Oe.Pa.pop();if(!t)return 6;Oe.Qa.push(t),Oe.Ma[e.Oa]=t,t.Oa=e.Oa;var r={cmd:"run",start_routine:e.kb,arg:e.hb,pthread_ptr:e.Oa};return w&&t.unref(),t.postMessage(r,e.qb),0},oe=0,ie=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,se=(e,t,r)=>{var n=(t>>>=0)+r;for(r=t;e[r]&&!(r>=n);)++r;if(16<r-t&&e.buffer&&ie)return ie.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,r):e.subarray(t,r));for(n="";t<r;){var a=e[t++];if(128&a){var o=63&e[t++];if(192==(224&a))n+=String.fromCharCode((31&a)<<6|o);else{var i=63&e[t++];65536>(a=224==(240&a)?(15&a)<<12|o<<6|i:(7&a)<<18|o<<12|i<<6|63&e[t++])?n+=String.fromCharCode(a):(a-=65536,n+=String.fromCharCode(55296|a>>10,56320|1023&a))}}else n+=String.fromCharCode(a)}return n},fe=(e,t)=>(e>>>=0)?se(n(),e,t):"",de=e=>{var t=Rt();return e=e(),Ct(t),e};function me(e,t){var r=arguments.length-2,n=arguments;return de((()=>{for(var a=Pt(8*r),o=a>>>3,s=0;s<r;s++){var u=n[2+s];i()[o+s>>>0]=u}return _t(e,r,a,t)}))}function ye(e){if(b)return me(0,1,e);P=e,0<oe||(Oe.lb(),l.onExit?.(e),k=!0),g(e,new te(e))}var we=e=>{if(P=e,b)throw Te(e),"unwind";ye(e)};function be(){for(var e=l.numThreads;e--;)ve();H.unshift((()=>{G++,function(e){b?e():Promise.all(Oe.Pa.map(Oe.Ya)).then(e)}((()=>Y()))}))}function ve(){var e=O("ort-wasm-threaded.worker.js");e=new Worker(e),Oe.Pa.push(e)}var Oe={Pa:[],Qa:[],bb:[],Ma:{},Wa(){b?(Oe.receiveObjectTransfer=Oe.jb,Oe.threadInitTLS=Oe.ab,Oe.setExitStatus=Oe.$a):be()},$a:e=>P=e,tb:["$terminateWorker"],lb:()=>{for(var e of Oe.Qa)re(e);for(e of Oe.Pa)re(e);Oe.Pa=[],Oe.Qa=[],Oe.Ma=[]},Za:e=>{var t=e.Oa;delete Oe.Ma[t],Oe.Pa.push(e),Oe.Qa.splice(Oe.Qa.indexOf(e),1),e.Oa=0,Tt(t)},jb(){},ab(){Oe.bb.forEach((e=>e()))},Ya:e=>new Promise((t=>{e.onmessage=r=>{var n=(r=r.data).cmd;if(r.targetThread&&r.targetThread!=wt()){var a=Oe.Ma[r.targetThread];a?a.postMessage(r,r.transferList):S(`Internal error! Worker sent a message "${n}" to target pthread ${r.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===n?Ye():"spawnThread"===n?ne(r):"cleanupThread"===n?Oe.Za(Oe.Ma[r.thread]):"killThread"===n?(r=r.thread,n=Oe.Ma[r],delete Oe.Ma[r],re(n),Tt(r),Oe.Qa.splice(Oe.Qa.indexOf(n),1),n.Oa=0):"cancelThread"===n?Oe.Ma[r.thread].postMessage({cmd:"cancel"}):"loaded"===n?(e.loaded=!0,w&&!e.Oa&&e.unref(),t(e)):"alert"===n?alert(`Thread ${r.threadId}: ${r.text}`):"setimmediate"===r.target?e.postMessage(r):"callHandler"===n?l[r.handler](...r.args):n&&S(`worker sent an unknown command ${n}`)},e.onerror=e=>{throw S(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},w&&(e.on("message",(t=>e.onmessage({data:t}))),e.on("error",(t=>e.onerror(t))));var n,a=[];for(n of["onExit"])l.hasOwnProperty(n)&&a.push(n);e.postMessage({cmd:"load",handlers:a,urlOrBlob:l.mainScriptUrlOrBlob||r,wasmMemory:R,wasmModule:C})}))};l.PThread=Oe;var _e=e=>{for(;0<e.length;)e.shift()(l)};function Te(e){if(b)return me(1,0,e);we(e)}l.establishStackSpace=()=>{var e=wt(),t=o()[e+52>>>2>>>0];e=o()[e+56>>>2>>>0],St(t,t-e),Ct(t)};var Ee,Ae=[];function Me(e){this.Va=e-24,this.gb=function(e){o()[this.Va+4>>>2>>>0]=e},this.fb=function(e){o()[this.Va+8>>>2>>>0]=e},this.Wa=function(e,t){this.eb(),this.gb(e),this.fb(t)},this.eb=function(){o()[this.Va+16>>>2>>>0]=0}}function Se(e,t,r,n){return b?me(2,1,e,t,r,n):Re(e,t,r,n)}function Re(e,t,r,n){if(e>>>=0,t>>>=0,r>>>=0,n>>>=0,typeof SharedArrayBuffer>"u")return S("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var a=[];return b&&0===a.length?Se(e,t,r,n):(e={kb:r,Oa:e,hb:n,qb:a},b?(e.sb="spawnThread",postMessage(e,a),0):ne(e))}function Ce(e,t,r){return b?me(3,1,e,t,r):0}function Pe(e,t){if(b)return me(4,1,e,t)}l.invokeEntryPoint=(e,t)=>{var r=Ae[e];r||(e>=Ae.length&&(Ae.length=e+1),Ae[e]=r=Ee.get(e)),e=r(t),0<oe?Oe.$a(e):Et(e)};var Ue=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);127>=n?t++:2047>=n?t+=2:55296<=n&&57343>=n?(t+=4,++r):t+=3}return t},De=(e,t,r,n)=>{if(!(0<n))return 0;var a=r>>>=0;n=r+n-1;for(var o=0;o<e.length;++o){var i=e.charCodeAt(o);if(55296<=i&&57343>=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++o)),127>=i){if(r>=n)break;t[r++>>>0]=i}else{if(2047>=i){if(r+1>=n)break;t[r++>>>0]=192|i>>6}else{if(65535>=i){if(r+2>=n)break;t[r++>>>0]=224|i>>12}else{if(r+3>=n)break;t[r++>>>0]=240|i>>18,t[r++>>>0]=128|i>>12&63}t[r++>>>0]=128|i>>6&63}t[r++>>>0]=128|63&i}}return t[r>>>0]=0,r-a},xe=(e,t,r)=>De(e,n(),t,r);function Fe(e,t){if(b)return me(5,1,e,t)}function Ie(e,t,r){if(b)return me(6,1,e,t,r)}function ke(e,t,r){return b?me(7,1,e,t,r):0}function Be(e,t){if(b)return me(8,1,e,t)}function Ne(e,t,r){if(b)return me(9,1,e,t,r)}function Le(e,t,r,n){if(b)return me(10,1,e,t,r,n)}function He(e,t,r,n){if(b)return me(11,1,e,t,r,n)}function $e(e,t,r,n){if(b)return me(12,1,e,t,r,n)}function We(e){if(b)return me(13,1,e)}function Ge(e,t){if(b)return me(14,1,e,t)}function je(e,t,r){if(b)return me(15,1,e,t,r)}function ze(e){e>>>=0,"function"==typeof Atomics.rb&&(Atomics.rb(a(),e>>>2,e).value.then(Ye),e+=128,Atomics.store(a(),e>>>2,1))}l.__emscripten_thread_mailbox_await=ze;var Ye=()=>{var e=wt();if(e&&(ze(e),e=At,!k))try{if(e(),!(0<oe))try{b?Et(P):we(P)}catch(e){e instanceof te||"unwind"==e||g(1,e)}}catch(e){e instanceof te||"unwind"==e||g(1,e)}};l.checkMailbox=Ye;var Ve=[],Je=e=>e%4==0&&(e%100!=0||e%400==0),qe=[0,31,60,91,121,152,182,213,244,274,305,335],Xe=[0,31,59,90,120,151,181,212,243,273,304,334];function Qe(e,t,r,n,a,o,i,s){return b?me(16,1,e,t,r,n,a,o,i,s):-52}function Ze(e,t,r,n,a,o,i){if(b)return me(17,1,e,t,r,n,a,o,i)}var Ke,et=e=>{var t=Ue(e)+1,r=bt(t);return r&&xe(e,r,t),r},tt=[],rt={},nt=()=>{if(!Ke){var e,t={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",_:h||"./this.program"};for(e in rt)void 0===rt[e]?delete t[e]:t[e]=rt[e];var r=[];for(e in t)r.push(`${e}=${t[e]}`);Ke=r}return Ke};function at(e,r){if(b)return me(18,1,e,r);e>>>=0,r>>>=0;var n=0;return nt().forEach(((a,i)=>{var s=r+n;for(i=o()[e+4*i>>>2>>>0]=s,s=0;s<a.length;++s)t()[i++>>>0>>>0]=a.charCodeAt(s);t()[i>>>0>>>0]=0,n+=a.length+1})),0}function ot(e,t){if(b)return me(19,1,e,t);e>>>=0,t>>>=0;var r=nt();o()[e>>>2>>>0]=r.length;var n=0;return r.forEach((e=>n+=e.length+1)),o()[t>>>2>>>0]=n,0}function it(e){return b?me(20,1,e):52}function st(e,t,r,n){return b?me(21,1,e,t,r,n):52}function ut(e,t,r,n,a){return b?me(22,1,e,t,r,n,a):70}var lt=[null,[],[]];function ft(e,t,r,a){if(b)return me(23,1,e,t,r,a);t>>>=0,r>>>=0,a>>>=0;for(var i=0,s=0;s<r;s++){var u=o()[t>>>2>>>0],l=o()[t+4>>>2>>>0];t+=8;for(var f=0;f<l;f++){var c=n()[u+f>>>0],d=lt[e];0===c||10===c?((1===e?M:S)(se(d,0)),d.length=0):d.push(c)}i+=l}return o()[a>>>2>>>0]=i,0}var ct=[31,29,31,30,31,30,31,31,30,31,30,31],dt=[31,28,31,30,31,30,31,31,30,31,30,31];function pt(e,r,n,i){function s(e,t,r){for(e="number"==typeof e?e.toString():e||"";e.length<t;)e=r[0]+e;return e}function u(e,t){return s(e,t,"0")}function l(e,t){function r(e){return 0>e?-1:0<e?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function c(e){var t=e.Ra;for(e=new Date(new Date(e.Sa+1900,0,1).getTime());0<t;){var r=e.getMonth(),n=(Je(e.getFullYear())?ct:dt)[r];if(!(t>n-e.getDate())){e.setDate(e.getDate()+t);break}t-=n-e.getDate()+1,e.setDate(1),11>r?e.setMonth(r+1):(e.setMonth(0),e.setFullYear(e.getFullYear()+1))}return r=new Date(e.getFullYear()+1,0,4),t=f(new Date(e.getFullYear(),0,4)),r=f(r),0>=l(t,e)?0>=l(r,e)?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}e>>>=0,r>>>=0,n>>>=0,i>>>=0;var d=o()[i+40>>>2>>>0];for(var p in i={ob:a()[i>>>2>>>0],nb:a()[i+4>>>2>>>0],Ta:a()[i+8>>>2>>>0],Xa:a()[i+12>>>2>>>0],Ua:a()[i+16>>>2>>>0],Sa:a()[i+20>>>2>>>0],Na:a()[i+24>>>2>>>0],Ra:a()[i+28>>>2>>>0],ub:a()[i+32>>>2>>>0],mb:a()[i+36>>>2>>>0],pb:d?fe(d):""},n=fe(n),d={"%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"})n=n.replace(new RegExp(p,"g"),d[p]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),g="January February March April May June July August September October November December".split(" ");for(p in d={"%a":e=>h[e.Na].substring(0,3),"%A":e=>h[e.Na],"%b":e=>g[e.Ua].substring(0,3),"%B":e=>g[e.Ua],"%C":e=>u((e.Sa+1900)/100|0,2),"%d":e=>u(e.Xa,2),"%e":e=>s(e.Xa,2," "),"%g":e=>c(e).toString().substring(2),"%G":e=>c(e),"%H":e=>u(e.Ta,2),"%I":e=>(0==(e=e.Ta)?e=12:12<e&&(e-=12),u(e,2)),"%j":e=>{for(var t=0,r=0;r<=e.Ua-1;t+=(Je(e.Sa+1900)?ct:dt)[r++]);return u(e.Xa+t,3)},"%m":e=>u(e.Ua+1,2),"%M":e=>u(e.nb,2),"%n":()=>"\n","%p":e=>0<=e.Ta&&12>e.Ta?"AM":"PM","%S":e=>u(e.ob,2),"%t":()=>"\t","%u":e=>e.Na||7,"%U":e=>u(Math.floor((e.Ra+7-e.Na)/7),2),"%V":e=>{var t=Math.floor((e.Ra+7-(e.Na+6)%7)/7);if(2>=(e.Na+371-e.Ra-2)%7&&t++,t)53==t&&(4==(r=(e.Na+371-e.Ra)%7)||3==r&&Je(e.Sa)||(t=1));else{t=52;var r=(e.Na+7-e.Ra-1)%7;(4==r||5==r&&Je(e.Sa%400-1))&&t++}return u(t,2)},"%w":e=>e.Na,"%W":e=>u(Math.floor((e.Ra+7-(e.Na+6)%7)/7),2),"%y":e=>(e.Sa+1900).toString().substring(2),"%Y":e=>e.Sa+1900,"%z":e=>(0<=(e=e.mb)?"+":"-")+("0000"+((e=Math.abs(e)/60)/60*100+e%60)).slice(-4),"%Z":e=>e.pb,"%%":()=>"%"},n=n.replace(/%%/g,"\0\0"),d)n.includes(p)&&(n=n.replace(new RegExp(p,"g"),d[p](i)));return p=function(e){var t=Array(Ue(e)+1);return De(e,t,0,t.length),t}(n=n.replace(/\0\0/g,"%")),p.length>r?0:(((e,r)=>{t().set(e,r>>>0)})(p,e),p.length-1)}Oe.Wa();var ht=[ye,Te,Se,Ce,Pe,Fe,Ie,ke,Be,Ne,Le,He,$e,We,Ge,je,Qe,Ze,at,ot,it,st,ut,ft],gt={b:function(e,t,r){throw new Me(e>>>=0).Wa(t>>>0,r>>>0),e},L:function(e){vt(e>>>0,!y,1,!m,131072,!1),Oe.ab()},j:function(e){e>>>=0,b?postMessage({cmd:"cleanupThread",thread:e}):Oe.Za(Oe.Ma[e])},H:Re,h:Ce,S:Pe,D:Fe,F:Ie,T:ke,Q:Be,J:Ne,P:Le,n:He,E:$e,B:We,R:Ge,C:je,p:()=>1,z:function(e,t){(e>>>=0)==t>>>0?setTimeout((()=>Ye())):b?postMessage({targetThread:e,cmd:"checkMailbox"}):(e=Oe.Ma[e])&&e.postMessage({cmd:"checkMailbox"})},I:function(e,t,r,n){t>>>=0,Ve.length=r,n=n>>>0>>>3;for(var a=0;a<r;a++)Ve[a]=i()[n+a>>>0];return e=0>e?ee[-e-1]:ht[e],Oe.ib=t,t=e.apply(null,Ve),Oe.ib=0,t},K:ze,o:function(e){w&&Oe.Ma[e>>>0].ref()},s:function(e,t,r){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,r>>>=0,e=new Date(1e3*e),a()[r>>>2>>>0]=e.getUTCSeconds(),a()[r+4>>>2>>>0]=e.getUTCMinutes(),a()[r+8>>>2>>>0]=e.getUTCHours(),a()[r+12>>>2>>>0]=e.getUTCDate(),a()[r+16>>>2>>>0]=e.getUTCMonth(),a()[r+20>>>2>>>0]=e.getUTCFullYear()-1900,a()[r+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,a()[r+28>>>2>>>0]=e},t:function(e,t,r){e=t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,r>>>=0,e=new Date(1e3*e),a()[r>>>2>>>0]=e.getSeconds(),a()[r+4>>>2>>>0]=e.getMinutes(),a()[r+8>>>2>>>0]=e.getHours(),a()[r+12>>>2>>>0]=e.getDate(),a()[r+16>>>2>>>0]=e.getMonth(),a()[r+20>>>2>>>0]=e.getFullYear()-1900,a()[r+24>>>2>>>0]=e.getDay(),t=(Je(e.getFullYear())?qe:Xe)[e.getMonth()]+e.getDate()-1|0,a()[r+28>>>2>>>0]=t,a()[r+36>>>2>>>0]=-60*e.getTimezoneOffset(),t=new Date(e.getFullYear(),6,1).getTimezoneOffset();var n=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=0|(t!=n&&e.getTimezoneOffset()==Math.min(n,t)),a()[r+32>>>2>>>0]=e},u:function(e){e>>>=0;var t=new Date(a()[e+20>>>2>>>0]+1900,a()[e+16>>>2>>>0],a()[e+12>>>2>>>0],a()[e+8>>>2>>>0],a()[e+4>>>2>>>0],a()[e>>>2>>>0],0),r=a()[e+32>>>2>>>0],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=new Date(t.getFullYear(),0,1).getTimezoneOffset(),s=Math.min(i,o);return 0>r?a()[e+32>>>2>>>0]=+(o!=i&&s==n):0<r!=(s==n)&&(o=Math.max(i,o),t.setTime(t.getTime()+6e4*((0<r?s:o)-n))),a()[e+24>>>2>>>0]=t.getDay(),r=(Je(t.getFullYear())?qe:Xe)[t.getMonth()]+t.getDate()-1|0,a()[e+28>>>2>>>0]=r,a()[e>>>2>>>0]=t.getSeconds(),a()[e+4>>>2>>>0]=t.getMinutes(),a()[e+8>>>2>>>0]=t.getHours(),a()[e+12>>>2>>>0]=t.getDate(),a()[e+16>>>2>>>0]=t.getMonth(),a()[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),isNaN(e)?(a()[yt()>>>2>>>0]=61,e=-1):e/=1e3,Mt((K=e,1<=+Math.abs(K)?0<K?+Math.floor(K/4294967296)>>>0:~~+Math.ceil((K-+(~~K>>>0))/4294967296)>>>0:0)),e>>>0},q:Qe,r:Ze,y:function(e,t,r){function n(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:"GMT"}e>>>=0,t>>>=0,r>>>=0;var i=(new Date).getFullYear(),s=new Date(i,0,1),u=new Date(i,6,1);i=s.getTimezoneOffset();var l=u.getTimezoneOffset(),f=Math.max(i,l);o()[e>>>2>>>0]=60*f,a()[t>>>2>>>0]=+(i!=l),e=n(s),t=n(u),e=et(e),t=et(t),l<i?(o()[r>>>2>>>0]=e,o()[r+4>>>2>>>0]=t):(o()[r>>>2>>>0]=t,o()[r+4>>>2>>>0]=e)},c:()=>{V("")},O:function(e,t,r){e>>>=0,t>>>=0,r>>>=0,tt.length=0;for(var s;s=n()[t++>>>0];){var u=105!=s;r+=(u&=112!=s)&&r%8?4:0,tt.push(112==s?o()[r>>>2>>>0]:105==s?a()[r>>>2>>>0]:i()[r>>>3>>>0]),r+=u?8:4}return ee[e].apply(null,tt)},k:()=>{},i:()=>Date.now(),U:()=>{throw oe+=1,"unwind"},A:function(){return 4294901760},e:()=>performance.timeOrigin+performance.now(),f:()=>w?(jt(),N(ge)).cpus().length:navigator.hardwareConcurrency,x:function(e){e>>>=0;var t=n().length;if(e<=t||4294901760<e)return!1;for(var r=1;4>=r;r*=2){var a=t*(1+.2/r);a=Math.min(a,e+100663296);var o=Math;a=Math.max(e,a);e:{o=(o.min.call(o,4294901760,a+(65536-a%65536)%65536)-R.buffer.byteLength+65535)/65536;try{R.grow(o),B();var i=1;break e}catch{}i=void 0}if(i)return!0}return!1},M:at,N:ot,G:we,g:it,m:st,v:ut,l:ft,a:R||l.wasmMemory,w:pt,d:function(e,t,r,n){return pt(e>>>0,t>>>0,r>>>0,n>>>0)}},mt=function(){function e(e,t){return mt=e.exports,mt=function(){var e=mt;e=Object.assign({},e);var t=e=>()=>e()>>>0,r=e=>t=>e(t)>>>0;return e.va=t(e.va),e.wa=t(e.wa),e.xa=r(e.xa),e.emscripten_main_runtime_thread_id=t(e.emscripten_main_runtime_thread_id),e.Ja=t(e.Ja),e.La=r(e.La),e}(),Oe.bb.push(mt.za),Ee=mt.Aa,$.unshift(mt.V),C=t,Y(),mt}var t={a:gt};if(G++,l.instantiateWasm)try{return l.instantiateWasm(t,e)}catch(e){S(`Module.instantiateWasm callback failed with error: ${e}`),u(e)}return function(e,t){var r=J;return"function"!=typeof WebAssembly.instantiateStreaming||q(r)||X(r)||w||"function"!=typeof fetch?Z(r,e,t):fetch(r,{credentials:"same-origin"}).then((n=>WebAssembly.instantiateStreaming(n,e).then(t,(function(n){return S(`wasm streaming compile failed: ${n}`),S("falling back to ArrayBuffer instantiation"),Z(r,e,t)}))))}(t,(function(t){e(t.instance,t.module)})).catch(u),{}}();l._OrtInit=(e,t)=>(l._OrtInit=mt.W)(e,t),l._OrtGetLastError=(e,t)=>(l._OrtGetLastError=mt.X)(e,t),l._OrtCreateSessionOptions=(e,t,r,n,a,o,i,s,u,f)=>(l._OrtCreateSessionOptions=mt.Y)(e,t,r,n,a,o,i,s,u,f),l._OrtAppendExecutionProvider=(e,t)=>(l._OrtAppendExecutionProvider=mt.Z)(e,t),l._OrtAddFreeDimensionOverride=(e,t,r)=>(l._OrtAddFreeDimensionOverride=mt._)(e,t,r),l._OrtAddSessionConfigEntry=(e,t,r)=>(l._OrtAddSessionConfigEntry=mt.$)(e,t,r),l._OrtReleaseSessionOptions=e=>(l._OrtReleaseSessionOptions=mt.aa)(e),l._OrtCreateSession=(e,t,r)=>(l._OrtCreateSession=mt.ba)(e,t,r),l._OrtReleaseSession=e=>(l._OrtReleaseSession=mt.ca)(e),l._OrtGetInputOutputCount=(e,t,r)=>(l._OrtGetInputOutputCount=mt.da)(e,t,r),l._OrtGetInputName=(e,t)=>(l._OrtGetInputName=mt.ea)(e,t),l._OrtGetOutputName=(e,t)=>(l._OrtGetOutputName=mt.fa)(e,t),l._OrtFree=e=>(l._OrtFree=mt.ga)(e),l._OrtCreateTensor=(e,t,r,n,a,o)=>(l._OrtCreateTensor=mt.ha)(e,t,r,n,a,o),l._OrtGetTensorData=(e,t,r,n,a)=>(l._OrtGetTensorData=mt.ia)(e,t,r,n,a),l._OrtReleaseTensor=e=>(l._OrtReleaseTensor=mt.ja)(e),l._OrtCreateRunOptions=(e,t,r,n)=>(l._OrtCreateRunOptions=mt.ka)(e,t,r,n),l._OrtAddRunConfigEntry=(e,t,r)=>(l._OrtAddRunConfigEntry=mt.la)(e,t,r),l._OrtReleaseRunOptions=e=>(l._OrtReleaseRunOptions=mt.ma)(e),l._OrtCreateBinding=e=>(l._OrtCreateBinding=mt.na)(e),l._OrtBindInput=(e,t,r)=>(l._OrtBindInput=mt.oa)(e,t,r),l._OrtBindOutput=(e,t,r,n)=>(l._OrtBindOutput=mt.pa)(e,t,r,n),l._OrtClearBoundOutputs=e=>(l._OrtClearBoundOutputs=mt.qa)(e),l._OrtReleaseBinding=e=>(l._OrtReleaseBinding=mt.ra)(e),l._OrtRunWithBinding=(e,t,r,n,a)=>(l._OrtRunWithBinding=mt.sa)(e,t,r,n,a),l._OrtRun=(e,t,r,n,a,o,i,s)=>(l._OrtRun=mt.ta)(e,t,r,n,a,o,i,s),l._OrtEndProfiling=e=>(l._OrtEndProfiling=mt.ua)(e);var yt=()=>(yt=mt.va)(),wt=l._pthread_self=()=>(wt=l._pthread_self=mt.wa)(),bt=l._malloc=e=>(bt=l._malloc=mt.xa)(e);l._free=e=>(l._free=mt.ya)(e),l.__emscripten_tls_init=()=>(l.__emscripten_tls_init=mt.za)();var vt=l.__emscripten_thread_init=(e,t,r,n,a,o)=>(vt=l.__emscripten_thread_init=mt.Ba)(e,t,r,n,a,o);l.__emscripten_thread_crashed=()=>(l.__emscripten_thread_crashed=mt.Ca)();var Ot,_t=(e,t,r,n)=>(_t=mt.Da)(e,t,r,n),Tt=e=>(Tt=mt.Ea)(e),Et=l.__emscripten_thread_exit=e=>(Et=l.__emscripten_thread_exit=mt.Fa)(e),At=()=>(At=mt.Ga)(),Mt=e=>(Mt=mt.Ha)(e),St=(e,t)=>(St=mt.Ia)(e,t),Rt=()=>(Rt=mt.Ja)(),Ct=e=>(Ct=mt.Ka)(e),Pt=e=>(Pt=mt.La)(e);function Ut(){if(!(0<G))if(b)s(l),b||_e($),startWorker(l);else{if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)H.unshift(l.preRun.shift());_e(H),0<G||Ot||(Ot=!0,l.calledRun=!0,k||(b||_e($),s(l),b||_e(W)))}}return l.wasmMemory=R,l.stackAlloc=Pt,l.stackSave=Rt,l.stackRestore=Ct,l.keepRuntimeAlive=()=>0<oe,l.UTF8ToString=fe,l.stringToUTF8=xe,l.lengthBytesUTF8=Ue,l.ExitStatus=te,l.PThread=Oe,z=function e(){Ot||Ut(),Ot||(z=e)},Ut(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=n:"function"==typeof define&&define.amd&&define([],(()=>n))})),Yt=k(((e,t)=>{t.exports='"use strict";var Module={},ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",e=>onmessage({data:e}));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:"loaded"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:"callHandler",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob=="string")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd==="run"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!="unwind")throw a}}else e.data.cmd==="cancel"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target==="setimmediate"||(e.data.cmd==="checkMailbox"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed?.(),a}}self.onmessage=handleMessage;\n'})),Vt=I((()=>{ye=de(),we=zt(),ve=!1,Oe=!1,_e=!1,Te=e=>{if(1===e)return!1;if(typeof SharedArrayBuffer>"u")return typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+e+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),!1;typeof process<"u"&&process.versions&&process.versions.node&&console.warn("env.wasm.numThreads is set to "+e+", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.");try{return typeof MessageChannel<"u"&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),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{return!1}},Ee=()=>{try{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{return!1}},Ae=(e,t)=>e?"ort-training-wasm-simd.wasm":t?"ort-wasm-threaded.wasm":"ort-wasm.wasm",Me=async e=>{if(ve)return Promise.resolve();if(Oe)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(_e)throw new Error("previous call to 'initializeWebAssembly()' failed.");Oe=!0;let t=e.initTimeout,r=e.numThreads,n=e.simd,a=Te(r),o=n&&Ee(),i=e.wasmPaths,s="string"==typeof i?i:void 0,u=Ae(o,a),l="object"==typeof i?i[u]:void 0,f=!1,c=[];if(t>0&&c.push(new Promise((e=>{setTimeout((()=>{f=!0,e()}),t)}))),c.push(new Promise(((e,t)=>{let n=a?we:ye,o={locateFile:(e,t)=>a&&e.endsWith(".worker.js")&&typeof Blob<"u"?URL.createObjectURL(new Blob([Yt()],{type:"text/javascript"})):e.endsWith(".wasm")?l||(s??t)+u:t+e};if(a)if(o.numThreads=r,typeof Blob>"u")o.mainScriptUrlOrBlob=(void 0)(__dirname,"ort-wasm-threaded.js");else{let e=`var ortWasmThreaded=${n.toString()};`;o.mainScriptUrlOrBlob=new Blob([e],{type:"text/javascript"})}n(o).then((t=>{Oe=!1,ve=!0,be=t,e()}),(e=>{Oe=!1,_e=!0,t(e)}))}))),await Promise.race(c),f)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Se=()=>{if(ve&&be)return be;throw new Error("WebAssembly is not initialized yet.")}})),Jt=I((()=>{Vt(),Re=(e,t)=>{let r=Se(),n=r.lengthBytesUTF8(e)+1,a=r._malloc(n);return r.stringToUTF8(e,a,n),t.push(a),a},Ce=(e,t,r,n)=>{if("object"==typeof e&&null!==e){if(r.has(e))throw new Error("Circular reference in options");r.add(e)}Object.entries(e).forEach((([e,a])=>{let o=t?t+e:e;if("object"==typeof a)Ce(a,o+".",r,n);else if("string"==typeof a||"number"==typeof a)n(o,a.toString());else{if("boolean"!=typeof a)throw new Error("Can't handle extra config type: "+typeof a);n(o,a?"1":"0")}}))},Pe=e=>{let t=Se(),r=t.stackSave();try{let r=t.stackAlloc(8);t._OrtGetLastError(r,r+4);let n=t.HEAP32[r/4],a=t.HEAPU32[r/4+1],o=a?t.UTF8ToString(a):"";throw new Error(`${e} ERROR_CODE: ${n}, ERROR_MESSAGE: ${o}`)}finally{t.stackRestore(r)}}})),qt=I((()=>{Vt(),Jt(),Ue=e=>{let t=Se(),r=0,n=[],a=e||{};try{if(void 0===e?.logSeverityLevel)a.logSeverityLevel=2;else if("number"!=typeof e.logSeverityLevel||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${e.logSeverityLevel}`);if(void 0===e?.logVerbosityLevel)a.logVerbosityLevel=0;else if("number"!=typeof e.logVerbosityLevel||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);void 0===e?.terminate&&(a.terminate=!1);let o=0;return void 0!==e?.tag&&(o=Re(e.tag,n)),r=t._OrtCreateRunOptions(a.logSeverityLevel,a.logVerbosityLevel,!!a.terminate,o),0===r&&Pe("Can't create run options."),void 0!==e?.extra&&Ce(e.extra,"",new WeakSet,((e,a)=>{let o=Re(e,n),i=Re(a,n);0!==t._OrtAddRunConfigEntry(r,o,i)&&Pe(`Can't set a run config entry: ${e} - ${a}.`)})),[r,n]}catch(e){throw 0!==r&&t._OrtReleaseRunOptions(r),n.forEach((e=>t._free(e))),e}}})),Xt=I((()=>{Vt(),Jt(),De=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},xe=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Fe=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some((e=>"webgpu"===("string"==typeof e?e:e.name)))&&(e.enableMemPattern=!1)},Ie=(e,t,r)=>{for(let n of t){let t="string"==typeof n?n:n.name;switch(t){case"webnn":if(t="WEBNN","string"!=typeof n){let t=n;if(t?.deviceType){let n=Re("deviceType",r),a=Re(t.deviceType,r);0!==Se()._OrtAddSessionConfigEntry(e,n,a)&&Pe(`Can't set a session config entry: 'deviceType' - ${t.deviceType}.`)}if(t?.numThreads){let n=t.numThreads;("number"!=typeof n||!Number.isInteger(n)||n<0)&&(n=0);let a=Re("numThreads",r),o=Re(n.toString(),r);0!==Se()._OrtAddSessionConfigEntry(e,a,o)&&Pe(`Can't set a session config entry: 'numThreads' - ${t.numThreads}.`)}if(t?.powerPreference){let n=Re("powerPreference",r),a=Re(t.powerPreference,r);0!==Se()._OrtAddSessionConfigEntry(e,n,a)&&Pe(`Can't set a session config entry: 'powerPreference' - ${t.powerPreference}.`)}}break;case"webgpu":if(t="JS","string"!=typeof n){let t=n;if(t?.preferredLayout){if("NCHW"!==t.preferredLayout&&"NHWC"!==t.preferredLayout)throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${t.preferredLayout}`);let n=Re("preferredLayout",r),a=Re(t.preferredLayout,r);0!==Se()._OrtAddSessionConfigEntry(e,n,a)&&Pe(`Can't set a session config entry: 'preferredLayout' - ${t.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${t}`)}let a=Re(t,r);0!==Se()._OrtAppendExecutionProvider(e,a)&&Pe(`Can't append execution provider: ${t}.`)}},ke=e=>{let t=Se(),r=0,n=[],a=e||{};Fe(a);try{let e=De(a.graphOptimizationLevel??"all"),o=xe(a.executionMode??"sequential"),i="string"==typeof a.logId?Re(a.logId,n):0,s=a.logSeverityLevel??2;if(!Number.isInteger(s)||s<0||s>4)throw new Error(`log serverity level is not valid: ${s}`);let u=a.logVerbosityLevel??0;if(!Number.isInteger(u)||u<0||u>4)throw new Error(`log verbosity level is not valid: ${u}`);let l="string"==typeof a.optimizedModelFilePath?Re(a.optimizedModelFilePath,n):0;if(r=t._OrtCreateSessionOptions(e,!!a.enableCpuMemArena,!!a.enableMemPattern,o,!!a.enableProfiling,0,i,s,u,l),0===r&&Pe("Can't create session options."),a.executionProviders&&Ie(r,a.executionProviders,n),a.freeDimensionOverrides)for(let[e,o]of Object.entries(a.freeDimensionOverrides)){if("string"!=typeof e)throw new Error(`free dimension override name must be a string: ${e}`);if("number"!=typeof o||!Number.isInteger(o)||o<0)throw new Error(`free dimension override value must be a non-negative integer: ${o}`);let a=Re(e,n);0!==t._OrtAddFreeDimensionOverride(r,a,o)&&Pe(`Can't set a free dimension override: ${e} - ${o}.`)}return void 0!==a.extra&&Ce(a.extra,"",new WeakSet,((e,a)=>{let o=Re(e,n),i=Re(a,n);0!==t._OrtAddSessionConfigEntry(r,o,i)&&Pe(`Can't set a session config entry: ${e} - ${a}.`)})),[r,n]}catch(e){throw 0!==r&&t._OrtReleaseSessionOptions(r),n.forEach((e=>t._free(e))),e}}})),Qt=I((()=>{Be=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw new Error(`unsupported data type: ${e}`)}},Ne=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw new Error(`unsupported data type: ${e}`)}},Le=e=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][e],He=e=>{switch(e){case"float16":case"uint16":return Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},$e=e=>{switch(e){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: ${e}`)}},We=e=>"float32"===e||"int32"===e||"int64"===e||"bool"===e||"float16"===e||"uint32"===e,Ge=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;default:throw new Error(`unsupported data location: ${e}`)}}})),Zt=I((()=>{je=async e=>{if("string"!=typeof e)return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e);if(!(typeof process<"u"&&process.versions&&process.versions.node)){let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),n=r?parseInt(r,10):0;if(n<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let r,a=t.body.getReader();try{r=new ArrayBuffer(n)}catch(e){if(!(e instanceof RangeError))throw e;{let e=Math.ceil(n/65536);r=new WebAssembly.Memory({initial:e,maximum:e}).buffer}}let o=0;for(;;){let{done:e,value:t}=await a.read();if(e)break;let n=t.byteLength;new Uint8Array(r,o,n).set(t),o+=n}return new Uint8Array(r,0,n)}}try{return new Uint8Array(await(void 0)(e))}catch(t){if("ERR_FS_FILE_TOO_LARGE"===t.code){let t=(void 0)(e),r=[];for await(let e of t)r.push(e);return new Uint8Array(Buffer.concat(r))}throw t}}})),Kt=I((()=>{qt(),Xt(),Qt(),Vt(),Jt(),Zt(),ze=(e,t)=>{0!==Se()._OrtInit(e,t)&&Pe("Can't initialize onnxruntime.")},Ye=async e=>{ze(e.wasm.numThreads,$e(e.logLevel))},Ve=async(e,t)=>{},Je=new Map,qe=e=>{let t=Se(),r=t.stackSave();try{let r=t.stackAlloc(8);return 0!==t._OrtGetInputOutputCount(e,r,r+4)&&Pe("Can't get session input/output count."),[t.HEAP32[r/4],t.HEAP32[r/4+1]]}finally{t.stackRestore(r)}},Xe=e=>{let t=Se(),r=t._malloc(e.byteLength);if(0===r)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},Qe=async(e,t)=>{let r,n,a=Se();Array.isArray(e)?[r,n]=e:e.buffer===a.HEAPU8.buffer?[r,n]=[e.byteOffset,e.byteLength]:[r,n]=Xe(e);let o=0,i=0,s=[],u=[],l=[];try{if([i,s]=ke(t),t?.externalData&&a.mountExternalData){let e=[];for(let r of t.externalData){let t="string"==typeof r?r:r.path;e.push(je("string"==typeof r?r:r.data).then((e=>{a.mountExternalData(t,e)})))}await Promise.all(e)}o=a._OrtCreateSession(r,n,i),0===o&&Pe("Can't create a session.");let[e,f]=qe(o),c=[],d=[];for(let t=0;t<e;t++){let e=a._OrtGetInputName(o,t);0===e&&Pe("Can't get an input name."),u.push(e),c.push(a.UTF8ToString(e))}for(let e=0;e<f;e++){let t=a._OrtGetOutputName(o,e);0===t&&Pe("Can't get an output name."),l.push(t);let r=a.UTF8ToString(t);d.push(r)}let p=null;return Je.set(o,[o,u,l,p]),[o,c,d]}catch(e){throw u.forEach((e=>a._OrtFree(e))),l.forEach((e=>a._OrtFree(e))),0!==o&&a._OrtReleaseSession(o),e}finally{a._free(r),0!==i&&a._OrtReleaseSessionOptions(i),s.forEach((e=>a._free(e))),a.unmountExternalData?.()}},Ze=e=>{let t=Se(),r=Je.get(e);if(!r)throw new Error(`cannot release session. invalid session id: ${e}`);let[n,a,o,i]=r;i&&t._OrtReleaseBinding(i.handle),t.jsepUnregisterBuffers?.(e),a.forEach((e=>t._OrtFree(e))),o.forEach((e=>t._OrtFree(e))),t._OrtReleaseSession(n),Je.delete(e)},Ke=(e,t,r,n,a)=>{if(!e)return void t.push(0);let o,i,s=Se(),u=e[0],l=e[1],f=e[3];if("string"===u&&"gpu-buffer"===f)throw new Error("String tensor is not supported on GPU.");if("gpu-buffer"===f){let t=e[2].gpuBuffer,r=Le(Be(u));i=l.reduce(((e,t)=>e*t),1)*r,o=s.jsepRegisterBuffer(n,a,t,i)}else{let t=e[2];if(Array.isArray(t)){i=4*t.length,o=s._malloc(i),r.push(o);let e=o/4;for(let n=0;n<t.length;n++){if("string"!=typeof t[n])throw new TypeError(`tensor data at index ${n} is not a string`);s.HEAPU32[e++]=Re(t[n],r)}}else i=t.byteLength,o=s._malloc(i),r.push(o),s.HEAPU8.set(new Uint8Array(t.buffer,t.byteOffset,i),o)}let c=s.stackSave(),d=s.stackAlloc(4*l.length);try{let e=d/4;l.forEach((t=>s.HEAP32[e++]=t));let r=s._OrtCreateTensor(Be(u),o,i,d,l.length,Ge(f));0===r&&Pe(`Can't create tensor for input/output. session=${n}, index=${a}.`),t.push(r)}finally{s.stackRestore(c)}},et=async(e,t,r,n,a,o)=>{let i=Se(),s=Je.get(e);if(!s)throw new Error(`cannot run inference. invalid session id: ${e}`);let[u,l,f,c]=s,d=t.length,p=n.length,h=0,g=[],m=[],y=[],w=[],b=i.stackSave(),v=i.stackAlloc(4*d),O=i.stackAlloc(4*d),_=i.stackAlloc(4*p),T=i.stackAlloc(4*p);try{[h,g]=Ue(o);for(let n=0;n<d;n++)Ke(r[n],m,w,e,t[n]);for(let t=0;t<p;t++)Ke(a[t],y,w,e,d+n[t]);let s,b=v/4,E=O/4,A=_/4,M=T/4;for(let e=0;e<d;e++)i.HEAPU32[b++]=m[e],i.HEAPU32[E++]=l[t[e]];for(let e=0;e<p;e++)i.HEAPU32[A++]=y[e],i.HEAPU32[M++]=f[n[e]];s=await i._OrtRun(u,O,v,d,T,p,_,h),0!==s&&Pe("failed to call OrtRun().");let S=[];for(let e=0;e<p;e++){let t=i.HEAPU32[_/4+e];if(t===y[e]){S.push(a[e]);continue}let r,o=i.stackSave(),s=i.stackAlloc(16),u=!1,l=0;try{0!==i._OrtGetTensorData(t,s,s+4,s+8,s+12)&&Pe(`Can't access output tensor data on index ${e}.`);let a=s/4,o=i.HEAPU32[a++];l=i.HEAPU32[a++];let f=i.HEAPU32[a++],d=i.HEAPU32[a++],p=[];for(let e=0;e<d;e++)p.push(i.HEAPU32[f/4+e]);i._OrtFree(f);let h=p.reduce(((e,t)=>e*t),1);r=Ne(o);let g=c?.outputPreferredLocations[n[e]];if("string"===r){if("gpu-buffer"===g)throw new Error("String tensor is not supported on GPU.");let e=[],t=l/4;for(let r=0;r<h;r++){let n=i.HEAPU32[t++],a=r===h-1?void 0:i.HEAPU32[t]-n;e.push(i.UTF8ToString(n,a))}S.push([r,p,e,"cpu"])}else if("gpu-buffer"===g&&h>0){let e=i.jsepGetBuffer(l),n=Le(o);if(void 0===n||!We(r))throw new Error(`Unsupported data type: ${r}`);u=!0,S.push([r,p,{gpuBuffer:e,download:i.jsepCreateDownloader(e,h*n,r),dispose:()=>{i._OrtReleaseTensor(t)}},"gpu-buffer"])}else{let e=new(He(r))(h);new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(i.HEAPU8.subarray(l,l+e.byteLength)),S.push([r,p,e,"cpu"])}}finally{i.stackRestore(o),"string"===r&&l&&i._free(l),u||i._OrtReleaseTensor(t)}}return c&&i._OrtClearBoundOutputs(c.handle),S}finally{i.stackRestore(b),m.forEach((e=>i._OrtReleaseTensor(e))),y.forEach((e=>i._OrtReleaseTensor(e))),w.forEach((e=>i._free(e))),0!==h&&i._OrtReleaseRunOptions(h),g.forEach((e=>i._free(e)))}},tt=e=>{let t=Se(),r=Je.get(e);if(!r)throw new Error("invalid session id");let n=r[0],a=t._OrtEndProfiling(n);0===a&&Pe("Can't get an profile file name."),t._OrtFree(a)},rt=e=>{let t=[];for(let r of e){let e=r[2];!Array.isArray(e)&&"buffer"in e&&t.push(e.buffer)}return t}})),er=k(((e,t)=>{t.exports='/*!\n * ONNX Runtime Web v1.17.1\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n"use strict";(()=>{var St=Object.defineProperty;var Jr=Object.getOwnPropertyDescriptor;var Xr=Object.getOwnPropertyNames;var Qr=Object.prototype.hasOwnProperty;var Et=(u,p)=>()=>(u&&(p=u(u=0)),p);var et=(u,p)=>()=>(p||u((p={exports:{}}).exports,p),p.exports),Tt=(u,p)=>{for(var a in p)St(u,a,{get:p[a],enumerable:!0})},Zr=(u,p,a,h)=>{if(p&&typeof p=="object"||typeof p=="function")for(let l of Xr(p))!Qr.call(u,l)&&l!==a&&St(u,l,{get:()=>p[l],enumerable:!(h=Jr(p,l))||h.enumerable});return u};var tt=u=>Zr(St({},"__esModule",{value:!0}),u);var Mt={};Tt(Mt,{createReadStream:()=>dr,readFile:()=>Kr,readFileSync:()=>en});var Kr,en,dr,At=Et(()=>{Kr=void 0,en=void 0,dr=void 0});var Ct={};Tt(Ct,{join:()=>tn});var tn,Dt=Et(()=>{tn=void 0});var gr=et((mr,xt)=>{"use strict";var pr=(()=>{var u=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(u=u||__filename),function(p={}){var a=p,h,l;a.ready=new Promise((t,o)=>{h=t,l=o});var b=Object.assign({},a),g="./this.program",s=typeof window=="object",A=typeof importScripts=="function",D=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",I="",L,F,R;if(D){var W=(At(),tt(Mt)),B=(Dt(),tt(Ct));I=A?B.dirname(I)+"/":__dirname+"/",L=(t,o)=>(t=ye(t)?new URL(t):B.normalize(t),W.readFileSync(t,o?void 0:"utf8")),R=t=>(t=L(t,!0),t.buffer||(t=new Uint8Array(t)),t),F=(t,o,i,c=!0)=>{t=ye(t)?new URL(t):B.normalize(t),W.readFile(t,c?void 0:"utf8",(w,E)=>{w?i(w):o(c?E.buffer:E)})},!a.thisProgram&&1<process.argv.length&&(g=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),a.inspect=()=>"[Emscripten Module object]"}else(s||A)&&(A?I=self.location.href:typeof document<"u"&&document.currentScript&&(I=document.currentScript.src),u&&(I=u),I.indexOf("blob:")!==0?I=I.substr(0,I.replace(/[?#].*/,"").lastIndexOf("/")+1):I="",L=t=>{var o=new XMLHttpRequest;return o.open("GET",t,!1),o.send(null),o.responseText},A&&(R=t=>{var o=new XMLHttpRequest;return o.open("GET",t,!1),o.responseType="arraybuffer",o.send(null),new Uint8Array(o.response)}),F=(t,o,i)=>{var c=new XMLHttpRequest;c.open("GET",t,!0),c.responseType="arraybuffer",c.onload=()=>{c.status==200||c.status==0&&c.response?o(c.response):i()},c.onerror=i,c.send(null)});var _=console.log.bind(console),x=console.error.bind(console);Object.assign(a,b),b=null,typeof WebAssembly!="object"&&de("no native wasm support detected");var N,he=!1,se,ae,S,z,ue;function Ue(){var t=N.buffer;a.HEAP8=se=new Int8Array(t),a.HEAP16=new Int16Array(t),a.HEAPU8=ae=new Uint8Array(t),a.HEAPU16=new Uint16Array(t),a.HEAP32=S=new Int32Array(t),a.HEAPU32=z=new Uint32Array(t),a.HEAPF32=new Float32Array(t),a.HEAPF64=ue=new Float64Array(t)}var Ie=[],ee=[],Y=[],ce=0,U=null,te=null;function de(t){throw t="Aborted("+t+")",x(t),he=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),l(t),t}var ge=t=>t.startsWith("data:application/octet-stream;base64,"),ye=t=>t.startsWith("file://"),J;if(J="ort-training-wasm-simd.wasm",!ge(J)){var fe=J;J=a.locateFile?a.locateFile(fe,I):I+fe}function be(t){if(R)return R(t);throw"both async and sync fetching of the wasm failed"}function Me(t){if(s||A){if(typeof fetch=="function"&&!ye(t))return fetch(t,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw"failed to load wasm binary file at \'"+t+"\'";return o.arrayBuffer()}).catch(()=>be(t));if(F)return new Promise((o,i)=>{F(t,c=>o(new Uint8Array(c)),i)})}return Promise.resolve().then(()=>be(t))}function Ae(t,o,i){return Me(t).then(c=>WebAssembly.instantiate(c,o)).then(c=>c).then(i,c=>{x(`failed to asynchronously prepare wasm: ${c}`),de(c)})}function Fe(t,o){var i=J;return typeof WebAssembly.instantiateStreaming!="function"||ge(i)||ye(i)||D||typeof fetch!="function"?Ae(i,t,o):fetch(i,{credentials:"same-origin"}).then(c=>WebAssembly.instantiateStreaming(c,t).then(o,function(w){return x(`wasm streaming compile failed: ${w}`),x("falling back to ArrayBuffer instantiation"),Ae(i,t,o)}))}var Se,pe={990416:(t,o,i,c)=>{if(typeof a>"u"||!a.Qa)return 1;if(t=Oe(t>>>0),t.startsWith("./")&&(t=t.substring(2)),t=a.Qa.get(t),!t)return 2;if(o>>>=0,i>>>=0,o+i>t.byteLength)return 3;try{return ae.set(t.subarray(o,o+i),c>>>0>>>0),0}catch{return 4}}};function we(t){this.Ka=t-24,this.Pa=function(o){z[this.Ka+4>>>2>>>0]=o},this.Oa=function(o){z[this.Ka+8>>>2>>>0]=o},this.Ma=function(o,i){this.Na(),this.Pa(o),this.Oa(i)},this.Na=function(){z[this.Ka+16>>>2>>>0]=0}}var ve=0,re=0,K=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Ce=(t,o,i)=>{o>>>=0;var c=o+i;for(i=o;t[i]&&!(i>=c);)++i;if(16<i-o&&t.buffer&&K)return K.decode(t.subarray(o,i));for(c="";o<i;){var w=t[o++];if(w&128){var E=t[o++]&63;if((w&224)==192)c+=String.fromCharCode((w&31)<<6|E);else{var P=t[o++]&63;w=(w&240)==224?(w&15)<<12|E<<6|P:(w&7)<<18|E<<12|P<<6|t[o++]&63,65536>w?c+=String.fromCharCode(w):(w-=65536,c+=String.fromCharCode(55296|w>>10,56320|w&1023))}}else c+=String.fromCharCode(w)}return c},Oe=(t,o)=>(t>>>=0)?Ce(ae,t,o):"",_e=t=>{for(var o=0,i=0;i<t.length;++i){var c=t.charCodeAt(i);127>=c?o++:2047>=c?o+=2:55296<=c&&57343>=c?(o+=4,++i):o+=3}return o},We=(t,o,i,c)=>{if(i>>>=0,!(0<c))return 0;var w=i;c=i+c-1;for(var E=0;E<t.length;++E){var P=t.charCodeAt(E);if(55296<=P&&57343>=P){var X=t.charCodeAt(++E);P=65536+((P&1023)<<10)|X&1023}if(127>=P){if(i>=c)break;o[i++>>>0]=P}else{if(2047>=P){if(i+1>=c)break;o[i++>>>0]=192|P>>6}else{if(65535>=P){if(i+2>=c)break;o[i++>>>0]=224|P>>12}else{if(i+3>=c)break;o[i++>>>0]=240|P>>18,o[i++>>>0]=128|P>>12&63}o[i++>>>0]=128|P>>6&63}o[i++>>>0]=128|P&63}}return o[i>>>0]=0,i-w},Pe=t=>t%4===0&&(t%100!==0||t%400===0),je=[0,31,60,91,121,152,182,213,244,274,305,335],at=[0,31,59,90,120,151,181,212,243,273,304,334],De=t=>{var o=_e(t)+1,i=it(o);return i&&We(t,ae,i,o),i},Ne=[],Re={},He=()=>{if(!Ge){var t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:g||"./this.program"},o;for(o in Re)Re[o]===void 0?delete t[o]:t[o]=Re[o];var i=[];for(o in t)i.push(`${o}=${t[o]}`);Ge=i}return Ge},Ge,Be=[null,[],[]],qe=[31,29,31,30,31,30,31,31,30,31,30,31],Ve=[31,28,31,30,31,30,31,31,30,31,30,31];function $e(t){var o=Array(_e(t)+1);return We(t,o,0,o.length),o}function ot(t,o,i,c){function w(d,k,$){for(d=typeof d=="number"?d.toString():d||"";d.length<k;)d=$[0]+d;return d}function E(d,k){return w(d,k,"0")}function P(d,k){function $(Ke){return 0>Ke?-1:0<Ke?1:0}var Ee;return(Ee=$(d.getFullYear()-k.getFullYear()))===0&&(Ee=$(d.getMonth()-k.getMonth()))===0&&(Ee=$(d.getDate()-k.getDate())),Ee}function X(d){switch(d.getDay()){case 0:return new Date(d.getFullYear()-1,11,29);case 1:return d;case 2:return new Date(d.getFullYear(),0,3);case 3:return new Date(d.getFullYear(),0,2);case 4:return new Date(d.getFullYear(),0,1);case 5:return new Date(d.getFullYear()-1,11,31);case 6:return new Date(d.getFullYear()-1,11,30)}}function le(d){var k=d.Ga;for(d=new Date(new Date(d.Ha+1900,0,1).getTime());0<k;){var $=d.getMonth(),Ee=(Pe(d.getFullYear())?qe:Ve)[$];if(k>Ee-d.getDate())k-=Ee-d.getDate()+1,d.setDate(1),11>$?d.setMonth($+1):(d.setMonth(0),d.setFullYear(d.getFullYear()+1));else{d.setDate(d.getDate()+k);break}}return $=new Date(d.getFullYear()+1,0,4),k=X(new Date(d.getFullYear(),0,4)),$=X($),0>=P(k,d)?0>=P($,d)?d.getFullYear()+1:d.getFullYear():d.getFullYear()-1}t>>>=0,o>>>=0,i>>>=0,c>>>=0;var oe=z[c+40>>>2>>>0];c={Ta:S[c>>>2>>>0],Sa:S[c+4>>>2>>>0],Ia:S[c+8>>>2>>>0],La:S[c+12>>>2>>>0],Ja:S[c+16>>>2>>>0],Ha:S[c+20>>>2>>>0],Ba:S[c+24>>>2>>>0],Ga:S[c+28>>>2>>>0],Va:S[c+32>>>2>>>0],Ra:S[c+36>>>2>>>0],Ua:oe?Oe(oe):""},i=Oe(i),oe={"%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 ie in oe)i=i.replace(new RegExp(ie,"g"),oe[ie]);var Qe="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Ze="January February March April May June July August September October November December".split(" ");oe={"%a":d=>Qe[d.Ba].substring(0,3),"%A":d=>Qe[d.Ba],"%b":d=>Ze[d.Ja].substring(0,3),"%B":d=>Ze[d.Ja],"%C":d=>E((d.Ha+1900)/100|0,2),"%d":d=>E(d.La,2),"%e":d=>w(d.La,2," "),"%g":d=>le(d).toString().substring(2),"%G":d=>le(d),"%H":d=>E(d.Ia,2),"%I":d=>(d=d.Ia,d==0?d=12:12<d&&(d-=12),E(d,2)),"%j":d=>{for(var k=0,$=0;$<=d.Ja-1;k+=(Pe(d.Ha+1900)?qe:Ve)[$++]);return E(d.La+k,3)},"%m":d=>E(d.Ja+1,2),"%M":d=>E(d.Sa,2),"%n":()=>`\n`,"%p":d=>0<=d.Ia&&12>d.Ia?"AM":"PM","%S":d=>E(d.Ta,2),"%t":()=>"\t","%u":d=>d.Ba||7,"%U":d=>E(Math.floor((d.Ga+7-d.Ba)/7),2),"%V":d=>{var k=Math.floor((d.Ga+7-(d.Ba+6)%7)/7);if(2>=(d.Ba+371-d.Ga-2)%7&&k++,k)k==53&&($=(d.Ba+371-d.Ga)%7,$==4||$==3&&Pe(d.Ha)||(k=1));else{k=52;var $=(d.Ba+7-d.Ga-1)%7;($==4||$==5&&Pe(d.Ha%400-1))&&k++}return E(k,2)},"%w":d=>d.Ba,"%W":d=>E(Math.floor((d.Ga+7-(d.Ba+6)%7)/7),2),"%y":d=>(d.Ha+1900).toString().substring(2),"%Y":d=>d.Ha+1900,"%z":d=>{d=d.Ra;var k=0<=d;return d=Math.abs(d)/60,(k?"+":"-")+("0000"+(d/60*100+d%60)).slice(-4)},"%Z":d=>d.Ua,"%%":()=>"%"},i=i.replace(/%%/g,"\\0\\0");for(ie in oe)i.includes(ie)&&(i=i.replace(new RegExp(ie,"g"),oe[ie](c)));return i=i.replace(/\\0\\0/g,"%"),ie=$e(i),ie.length>o?0:(se.set(ie,t>>>0),ie.length-1)}var G={a:function(t,o,i){throw t>>>=0,new we(t).Ma(o>>>0,i>>>0),ve=t,re++,ve},e:function(){return 0},H:function(){},x:function(){},z:function(){},J:function(){return 0},F:function(){},A:function(){},E:function(){},g:function(){},y:function(){},v:function(){},G:function(){},w:function(){},k:()=>1,n:function(t,o,i){t=o+2097152>>>0<4194305-!!t?(t>>>0)+4294967296*o:NaN,i>>>=0,t=new Date(1e3*t),S[i>>>2>>>0]=t.getUTCSeconds(),S[i+4>>>2>>>0]=t.getUTCMinutes(),S[i+8>>>2>>>0]=t.getUTCHours(),S[i+12>>>2>>>0]=t.getUTCDate(),S[i+16>>>2>>>0]=t.getUTCMonth(),S[i+20>>>2>>>0]=t.getUTCFullYear()-1900,S[i+24>>>2>>>0]=t.getUTCDay(),S[i+28>>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},o:function(t,o,i){t=o+2097152>>>0<4194305-!!t?(t>>>0)+4294967296*o:NaN,i>>>=0,t=new Date(1e3*t),S[i>>>2>>>0]=t.getSeconds(),S[i+4>>>2>>>0]=t.getMinutes(),S[i+8>>>2>>>0]=t.getHours(),S[i+12>>>2>>>0]=t.getDate(),S[i+16>>>2>>>0]=t.getMonth(),S[i+20>>>2>>>0]=t.getFullYear()-1900,S[i+24>>>2>>>0]=t.getDay(),S[i+28>>>2>>>0]=(Pe(t.getFullYear())?je:at)[t.getMonth()]+t.getDate()-1|0,S[i+36>>>2>>>0]=-(60*t.getTimezoneOffset()),o=new Date(t.getFullYear(),6,1).getTimezoneOffset();var c=new Date(t.getFullYear(),0,1).getTimezoneOffset();S[i+32>>>2>>>0]=(o!=c&&t.getTimezoneOffset()==Math.min(c,o))|0},p:function(t){t>>>=0;var o=new Date(S[t+20>>>2>>>0]+1900,S[t+16>>>2>>>0],S[t+12>>>2>>>0],S[t+8>>>2>>>0],S[t+4>>>2>>>0],S[t>>>2>>>0],0),i=S[t+32>>>2>>>0],c=o.getTimezoneOffset(),w=new Date(o.getFullYear(),6,1).getTimezoneOffset(),E=new Date(o.getFullYear(),0,1).getTimezoneOffset(),P=Math.min(E,w);return 0>i?S[t+32>>>2>>>0]=+(w!=E&&P==c):0<i!=(P==c)&&(w=Math.max(E,w),o.setTime(o.getTime()+6e4*((0<i?P:w)-c))),S[t+24>>>2>>>0]=o.getDay(),S[t+28>>>2>>>0]=(Pe(o.getFullYear())?je:at)[o.getMonth()]+o.getDate()-1|0,S[t>>>2>>>0]=o.getSeconds(),S[t+4>>>2>>>0]=o.getMinutes(),S[t+8>>>2>>>0]=o.getHours(),S[t+12>>>2>>>0]=o.getDate(),S[t+16>>>2>>>0]=o.getMonth(),S[t+20>>>2>>>0]=o.getYear(),t=o.getTime(),isNaN(t)?(S[ze()>>>2>>>0]=61,t=-1):t/=1e3,Je((Se=t,1<=+Math.abs(Se)?0<Se?+Math.floor(Se/4294967296)>>>0:~~+Math.ceil((Se-+(~~Se>>>0))/4294967296)>>>0:0)),t>>>0},l:function(){return-52},m:function(){},t:function(t,o,i){function c(le){return(le=le.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?le[1]:"GMT"}i>>>=0;var w=new Date().getFullYear(),E=new Date(w,0,1),P=new Date(w,6,1);w=E.getTimezoneOffset();var X=P.getTimezoneOffset();z[t>>>0>>>2>>>0]=60*Math.max(w,X),S[o>>>0>>>2>>>0]=+(w!=X),t=c(E),o=c(P),t=De(t),o=De(o),X<w?(z[i>>>2>>>0]=t,z[i+4>>>2>>>0]=o):(z[i>>>2>>>0]=o,z[i+4>>>2>>>0]=t)},d:()=>{de("")},B:function(t,o,i){t>>>=0,o>>>=0,i>>>=0,Ne.length=0;for(var c;c=ae[o++>>>0];){var w=c!=105;w&=c!=112,i+=w&&i%8?4:0,Ne.push(c==112?z[i>>>2>>>0]:c==105?S[i>>>2>>>0]:ue[i>>>3>>>0]),i+=w?8:4}return pe[t].apply(null,Ne)},h:()=>Date.now(),u:function(){return 4294901760},b:()=>performance.now(),I:function(t,o,i){return o>>>=0,ae.copyWithin(t>>>0>>>0,o>>>0,o+(i>>>0)>>>0)},s:function(t){t>>>=0;var o=ae.length;if(4294901760<t)return!1;for(var i=1;4>=i;i*=2){var c=o*(1+.2/i);c=Math.min(c,t+100663296);var w=Math;c=Math.max(t,c);e:{w=(w.min.call(w,4294901760,c+(65536-c%65536)%65536)-N.buffer.byteLength+65535)/65536;try{N.grow(w),Ue();var E=1;break e}catch{}E=void 0}if(E)return!0}return!1},C:function(t,o){t>>>=0,o>>>=0;var i=0;return He().forEach((c,w)=>{var E=o+i;for(w=z[t+4*w>>>2>>>0]=E,E=0;E<c.length;++E)se[w++>>>0>>>0]=c.charCodeAt(E);se[w>>>0>>>0]=0,i+=c.length+1}),0},D:function(t,o){t>>>=0,o>>>=0;var i=He();z[t>>>2>>>0]=i.length;var c=0;return i.forEach(w=>c+=w.length+1),z[o>>>2>>>0]=c,0},f:()=>52,j:function(){return 52},q:function(){return 70},i:function(t,o,i,c){o>>>=0,i>>>=0,c>>>=0;for(var w=0,E=0;E<i;E++){var P=z[o>>>2>>>0],X=z[o+4>>>2>>>0];o+=8;for(var le=0;le<X;le++){var oe=ae[P+le>>>0],ie=Be[t];oe===0||oe===10?((t===1?_:x)(Ce(ie,0)),ie.length=0):ie.push(oe)}w+=X}return z[c>>>2>>>0]=w,0},r:ot,c:function(t,o,i,c){return ot(t>>>0,o>>>0,i>>>0,c>>>0)}},T=function(){function t(i){return T=i.exports,T=ut(),N=T.K,Ue(),ee.unshift(T.L),ce--,ce==0&&(U!==null&&(clearInterval(U),U=null),te&&(i=te,te=null,i())),T}var o={a:G};if(ce++,a.instantiateWasm)try{return a.instantiateWasm(o,t)}catch(i){x(`Module.instantiateWasm callback failed with error: ${i}`),l(i)}return Fe(o,function(i){t(i.instance)}).catch(l),{}}();a._OrtInit=(t,o)=>(a._OrtInit=T.M)(t,o),a._OrtGetLastError=(t,o)=>(a._OrtGetLastError=T.N)(t,o),a._OrtCreateSessionOptions=(t,o,i,c,w,E,P,X,le,oe)=>(a._OrtCreateSessionOptions=T.O)(t,o,i,c,w,E,P,X,le,oe),a._OrtAppendExecutionProvider=(t,o)=>(a._OrtAppendExecutionProvider=T.P)(t,o),a._OrtAddFreeDimensionOverride=(t,o,i)=>(a._OrtAddFreeDimensionOverride=T.Q)(t,o,i),a._OrtAddSessionConfigEntry=(t,o,i)=>(a._OrtAddSessionConfigEntry=T.R)(t,o,i),a._OrtReleaseSessionOptions=t=>(a._OrtReleaseSessionOptions=T.S)(t),a._OrtCreateSession=(t,o,i)=>(a._OrtCreateSession=T.T)(t,o,i),a._OrtReleaseSession=t=>(a._OrtReleaseSession=T.U)(t),a._OrtGetInputOutputCount=(t,o,i)=>(a._OrtGetInputOutputCount=T.V)(t,o,i),a._OrtGetInputName=(t,o)=>(a._OrtGetInputName=T.W)(t,o),a._OrtGetOutputName=(t,o)=>(a._OrtGetOutputName=T.X)(t,o),a._OrtFree=t=>(a._OrtFree=T.Y)(t),a._OrtCreateTensor=(t,o,i,c,w,E)=>(a._OrtCreateTensor=T.Z)(t,o,i,c,w,E),a._OrtGetTensorData=(t,o,i,c,w)=>(a._OrtGetTensorData=T._)(t,o,i,c,w),a._OrtReleaseTensor=t=>(a._OrtReleaseTensor=T.$)(t),a._OrtCreateRunOptions=(t,o,i,c)=>(a._OrtCreateRunOptions=T.aa)(t,o,i,c),a._OrtAddRunConfigEntry=(t,o,i)=>(a._OrtAddRunConfigEntry=T.ba)(t,o,i),a._OrtReleaseRunOptions=t=>(a._OrtReleaseRunOptions=T.ca)(t),a._OrtCreateBinding=t=>(a._OrtCreateBinding=T.da)(t),a._OrtBindInput=(t,o,i)=>(a._OrtBindInput=T.ea)(t,o,i),a._OrtBindOutput=(t,o,i,c)=>(a._OrtBindOutput=T.fa)(t,o,i,c),a._OrtClearBoundOutputs=t=>(a._OrtClearBoundOutputs=T.ga)(t),a._OrtReleaseBinding=t=>(a._OrtReleaseBinding=T.ha)(t),a._OrtRunWithBinding=(t,o,i,c,w)=>(a._OrtRunWithBinding=T.ia)(t,o,i,c,w),a._OrtRun=(t,o,i,c,w,E,P,X)=>(a._OrtRun=T.ja)(t,o,i,c,w,E,P,X),a._OrtEndProfiling=t=>(a._OrtEndProfiling=T.ka)(t),a._OrtTrainingLoadCheckpoint=(t,o)=>(a._OrtTrainingLoadCheckpoint=T.la)(t,o),a._OrtTrainingReleaseCheckpoint=t=>(a._OrtTrainingReleaseCheckpoint=T.ma)(t),a._OrtTrainingCreateSession=(t,o,i,c,w,E,P,X)=>(a._OrtTrainingCreateSession=T.na)(t,o,i,c,w,E,P,X),a._OrtTrainingLazyResetGrad=t=>(a._OrtTrainingLazyResetGrad=T.oa)(t),a._OrtTrainingRunTrainStep=(t,o,i,c,w,E)=>(a._OrtTrainingRunTrainStep=T.pa)(t,o,i,c,w,E),a._OrtTrainingOptimizerStep=(t,o)=>(a._OrtTrainingOptimizerStep=T.qa)(t,o),a._OrtTrainingEvalStep=(t,o,i,c,w,E)=>(a._OrtTrainingEvalStep=T.ra)(t,o,i,c,w,E),a._OrtTrainingGetParametersSize=(t,o,i)=>(a._OrtTrainingGetParametersSize=T.sa)(t,o,i),a._OrtTrainingCopyParametersToBuffer=(t,o,i,c)=>(a._OrtTrainingCopyParametersToBuffer=T.ta)(t,o,i,c),a._OrtTrainingCopyParametersFromBuffer=(t,o,i,c)=>(a._OrtTrainingCopyParametersFromBuffer=T.ua)(t,o,i,c),a._OrtTrainingGetModelInputOutputCount=(t,o,i,c)=>(a._OrtTrainingGetModelInputOutputCount=T.va)(t,o,i,c),a._OrtTrainingGetModelInputOutputName=(t,o,i,c)=>(a._OrtTrainingGetModelInputOutputName=T.wa)(t,o,i,c),a._OrtTrainingReleaseSession=t=>(a._OrtTrainingReleaseSession=T.xa)(t);var ze=()=>(ze=T.ya)(),it=a._malloc=t=>(it=a._malloc=T.za)(t);a._free=t=>(a._free=T.Aa)(t);var Je=t=>(Je=T.Ca)(t),st=()=>(st=T.Da)(),C=t=>(C=T.Ea)(t),Le=t=>(Le=T.Fa)(t);function ut(){var t=T;t=Object.assign({},t);var o=c=>()=>c()>>>0,i=c=>w=>c(w)>>>0;return t.ya=o(t.ya),t.za=i(t.za),t.Da=o(t.Da),t.Fa=i(t.Fa),t}a.stackAlloc=Le,a.stackSave=st,a.stackRestore=C,a.UTF8ToString=Oe,a.stringToUTF8=(t,o,i)=>We(t,ae,o,i),a.lengthBytesUTF8=_e;var xe;te=function t(){xe||Xe(),xe||(te=t)};function Xe(){if(!(0<ce)){if(a.preRun)for(typeof a.preRun=="function"&&(a.preRun=[a.preRun]);a.preRun.length;){var t=a.preRun.shift();Ie.unshift(t)}for(;0<Ie.length;)Ie.shift()(a);if(!(0<ce||xe||(xe=!0,a.calledRun=!0,he))){for(;0<ee.length;)ee.shift()(a);for(h(a);0<Y.length;)Y.shift()(a)}}}return Xe(),p.ready}})();typeof mr=="object"&&typeof xt=="object"?xt.exports=pr:typeof define=="function"&&define.amd&&define([],()=>pr)});var hr=et(()=>{});var yr=et(()=>{});var Or={};Tt(Or,{cpus:()=>rn});var rn,br=Et(()=>{rn=void 0});var _r=et((vr,Ft)=>{"use strict";var wr=(()=>{var u=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(u=u||__filename),function(p={}){function a(){return Y.buffer!=de.buffer&&be(),de}function h(){return Y.buffer!=de.buffer&&be(),ge}function l(){return Y.buffer!=de.buffer&&be(),ye}function b(){return Y.buffer!=de.buffer&&be(),J}function g(){return Y.buffer!=de.buffer&&be(),fe}var s=p,A,D;s.ready=new Promise((e,r)=>{A=e,D=r});var I=Object.assign({},s),L="./this.program",F=(e,r)=>{throw r},R=typeof window=="object",W=typeof importScripts=="function",B=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",_=s.ENVIRONMENT_IS_PTHREAD||!1,x="";function N(e){return s.locateFile?s.locateFile(e,x):x+e}var he,se,ae;if(B){var S=(At(),tt(Mt)),z=(Dt(),tt(Ct));x=W?z.dirname(x)+"/":__dirname+"/",he=(r,n)=>(r=Oe(r)?new URL(r):z.normalize(r),S.readFileSync(r,n?void 0:"utf8")),ae=r=>(r=he(r,!0),r.buffer||(r=new Uint8Array(r)),r),se=(r,n,f,y=!0)=>{r=Oe(r)?new URL(r):z.normalize(r),S.readFile(r,y?void 0:"utf8",(O,v)=>{O?f(O):n(y?v.buffer:v)})},!s.thisProgram&&1<process.argv.length&&(L=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),F=(r,n)=>{throw process.exitCode=r,n},s.inspect=()=>"[Emscripten Module object]";let e;try{e=hr()}catch(r){throw console.error(\'The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?\'),r}global.Worker=e.Worker}else(R||W)&&(W?x=self.location.href:typeof document<"u"&&document.currentScript&&(x=document.currentScript.src),typeof u<"u"&&u&&(x=u),x.indexOf("blob:")!==0?x=x.substr(0,x.replace(/[?#].*/,"").lastIndexOf("/")+1):x="",B||(he=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},W&&(ae=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),se=(e,r,n)=>{var f=new XMLHttpRequest;f.open("GET",e,!0),f.responseType="arraybuffer",f.onload=()=>{f.status==200||f.status==0&&f.response?r(f.response):n()},f.onerror=n,f.send(null)}));B&&typeof performance>"u"&&(global.performance=yr().performance);var ue=console.log.bind(console),Ue=console.error.bind(console);B&&(ue=(...e)=>S.writeSync(1,e.join(" ")+`\n`),Ue=(...e)=>S.writeSync(2,e.join(" ")+`\n`));var Ie=ue,ee=Ue;Object.assign(s,I),I=null,typeof WebAssembly!="object"&&K("no native wasm support detected");var Y,ce,U=!1,te,de,ge,ye,J,fe;function be(){var e=Y.buffer;s.HEAP8=de=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAPU8=ge=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAP32=ye=new Int32Array(e),s.HEAPU32=J=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=fe=new Float64Array(e)}var Me=16777216;if(_)Y=s.wasmMemory;else if(s.wasmMemory)Y=s.wasmMemory;else if(Y=new WebAssembly.Memory({initial:Me/65536,maximum:65536,shared:!0}),!(Y.buffer instanceof SharedArrayBuffer))throw ee("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&&ee("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");be(),Me=Y.buffer.byteLength;var Ae=[],Fe=[],Se=[],pe=0,we=null,ve=null;function re(){if(pe--,pe==0&&(we!==null&&(clearInterval(we),we=null),ve)){var e=ve;ve=null,e()}}function K(e){throw e="Aborted("+e+")",ee(e),U=!0,te=1,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),D(e),e}var Ce=e=>e.startsWith("data:application/octet-stream;base64,"),Oe=e=>e.startsWith("file://"),_e;_e="ort-wasm-threaded.wasm",Ce(_e)||(_e=N(_e));function We(e){if(ae)return ae(e);throw"both async and sync fetching of the wasm failed"}function Pe(e){if(R||W){if(typeof fetch=="function"&&!Oe(e))return fetch(e,{credentials:"same-origin"}).then(r=>{if(!r.ok)throw"failed to load wasm binary file at \'"+e+"\'";return r.arrayBuffer()}).catch(()=>We(e));if(se)return new Promise((r,n)=>{se(e,f=>r(new Uint8Array(f)),n)})}return Promise.resolve().then(()=>We(e))}function je(e,r,n){return Pe(e).then(f=>WebAssembly.instantiate(f,r)).then(f=>f).then(n,f=>{ee(`failed to asynchronously prepare wasm: ${f}`),K(f)})}function at(e,r){var n=_e;return typeof WebAssembly.instantiateStreaming!="function"||Ce(n)||Oe(n)||B||typeof fetch!="function"?je(n,e,r):fetch(n,{credentials:"same-origin"}).then(f=>WebAssembly.instantiateStreaming(f,e).then(r,function(y){return ee(`wasm streaming compile failed: ${y}`),ee("falling back to ArrayBuffer instantiation"),je(n,e,r)}))}var De,Ne={921276:(e,r,n,f)=>{if(typeof s>"u"||!s.cb)return 1;if(e=$e(e>>>0),e.startsWith("./")&&(e=e.substring(2)),e=s.cb.get(e),!e)return 2;if(r>>>=0,n>>>=0,f>>>=0,r+n>e.byteLength)return 3;try{return h().set(e.subarray(r,r+n),f>>>0),0}catch{return 4}}};function Re(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var He=e=>{e.terminate(),e.onmessage=()=>{}},Ge=e=>{C.Pa.length==0&&(Je(),C.Ya(C.Pa[0]));var r=C.Pa.pop();if(!r)return 6;C.Qa.push(r),C.Ma[e.Oa]=r,r.Oa=e.Oa;var n={cmd:"run",start_routine:e.kb,arg:e.hb,pthread_ptr:e.Oa};return B&&r.unref(),r.postMessage(n,e.qb),0},Be=0,qe=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Ve=(e,r,n)=>{r>>>=0;var f=r+n;for(n=r;e[n]&&!(n>=f);)++n;if(16<n-r&&e.buffer&&qe)return qe.decode(e.buffer instanceof SharedArrayBuffer?e.slice(r,n):e.subarray(r,n));for(f="";r<n;){var y=e[r++];if(y&128){var O=e[r++]&63;if((y&224)==192)f+=String.fromCharCode((y&31)<<6|O);else{var v=e[r++]&63;y=(y&240)==224?(y&15)<<12|O<<6|v:(y&7)<<18|O<<12|v<<6|e[r++]&63,65536>y?f+=String.fromCharCode(y):(y-=65536,f+=String.fromCharCode(55296|y>>10,56320|y&1023))}}else f+=String.fromCharCode(y)}return f},$e=(e,r)=>(e>>>=0)?Ve(h(),e,r):"",ot=e=>{var r=vt();return e=e(),ct(r),e};function G(e,r){var n=arguments.length-2,f=arguments;return ot(()=>{for(var y=_t(8*n),O=y>>>3,v=0;v<n;v++){var j=f[2+v];g()[O+v>>>0]=j}return ar(e,n,y,r)})}function T(e){if(_)return G(0,1,e);te=e,0<Be||(C.lb(),s.onExit?.(e),U=!0),F(e,new Re(e))}var ze=e=>{if(te=e,_)throw ut(e),"unwind";T(e)};function it(){for(var e=s.numThreads;e--;)Je();Ae.unshift(()=>{pe++,st(()=>re())})}function Je(){var e=N("ort-wasm-threaded.worker.js");e=new Worker(e),C.Pa.push(e)}function st(e){_?e():Promise.all(C.Pa.map(C.Ya)).then(e)}var C={Pa:[],Qa:[],bb:[],Ma:{},Wa(){_?(C.receiveObjectTransfer=C.jb,C.threadInitTLS=C.ab,C.setExitStatus=C.$a):it()},$a:e=>te=e,tb:["$terminateWorker"],lb:()=>{for(var e of C.Qa)He(e);for(e of C.Pa)He(e);C.Pa=[],C.Qa=[],C.Ma=[]},Za:e=>{var r=e.Oa;delete C.Ma[r],C.Pa.push(e),C.Qa.splice(C.Qa.indexOf(e),1),e.Oa=0,bt(r)},jb(){},ab(){C.bb.forEach(e=>e())},Ya:e=>new Promise(r=>{e.onmessage=O=>{O=O.data;var v=O.cmd;if(O.targetThread&&O.targetThread!=lt()){var j=C.Ma[O.targetThread];j?j.postMessage(O,O.transferList):ee(`Internal error! Worker sent a message "${v}" to target pthread ${O.targetThread}, but that thread no longer exists!`)}else v==="checkMailbox"?ft():v==="spawnThread"?Ge(O):v==="cleanupThread"?C.Za(C.Ma[O.thread]):v==="killThread"?(O=O.thread,v=C.Ma[O],delete C.Ma[O],He(v),bt(O),C.Qa.splice(C.Qa.indexOf(v),1),v.Oa=0):v==="cancelThread"?C.Ma[O.thread].postMessage({cmd:"cancel"}):v==="loaded"?(e.loaded=!0,B&&!e.Oa&&e.unref(),r(e)):v==="alert"?alert(`Thread ${O.threadId}: ${O.text}`):O.target==="setimmediate"?e.postMessage(O):v==="callHandler"?s[O.handler](...O.args):v&&ee(`worker sent an unknown command ${v}`)},e.onerror=O=>{throw ee(`worker sent an error! ${O.filename}:${O.lineno}: ${O.message}`),O},B&&(e.on("message",O=>e.onmessage({data:O})),e.on("error",O=>e.onerror(O)));var n=[],f=["onExit"],y;for(y of f)s.hasOwnProperty(y)&&n.push(y);e.postMessage({cmd:"load",handlers:n,urlOrBlob:s.mainScriptUrlOrBlob||u,wasmMemory:Y,wasmModule:ce})})};s.PThread=C;var Le=e=>{for(;0<e.length;)e.shift()(s)};s.establishStackSpace=()=>{var e=lt(),r=b()[e+52>>>2>>>0];e=b()[e+56>>>2>>>0],sr(r,r-e),ct(r)};function ut(e){if(_)return G(1,0,e);ze(e)}var xe=[],Xe;s.invokeEntryPoint=(e,r)=>{var n=xe[e];n||(e>=xe.length&&(xe.length=e+1),xe[e]=n=Xe.get(e)),e=n(r),0<Be?C.$a(e):wt(e)};function t(e){this.Va=e-24,this.gb=function(r){b()[this.Va+4>>>2>>>0]=r},this.fb=function(r){b()[this.Va+8>>>2>>>0]=r},this.Wa=function(r,n){this.eb(),this.gb(r),this.fb(n)},this.eb=function(){b()[this.Va+16>>>2>>>0]=0}}var o=0,i=0;function c(e,r,n,f){return _?G(2,1,e,r,n,f):w(e,r,n,f)}function w(e,r,n,f){if(e>>>=0,r>>>=0,n>>>=0,f>>>=0,typeof SharedArrayBuffer>"u")return ee("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var y=[];return _&&y.length===0?c(e,r,n,f):(e={kb:n,Oa:e,hb:f,qb:y},_?(e.sb="spawnThread",postMessage(e,y),0):Ge(e))}function E(e,r,n){return _?G(3,1,e,r,n):0}function P(e,r){if(_)return G(4,1,e,r)}var X=e=>{for(var r=0,n=0;n<e.length;++n){var f=e.charCodeAt(n);127>=f?r++:2047>=f?r+=2:55296<=f&&57343>=f?(r+=4,++n):r+=3}return r},le=(e,r,n,f)=>{if(n>>>=0,!(0<f))return 0;var y=n;f=n+f-1;for(var O=0;O<e.length;++O){var v=e.charCodeAt(O);if(55296<=v&&57343>=v){var j=e.charCodeAt(++O);v=65536+((v&1023)<<10)|j&1023}if(127>=v){if(n>=f)break;r[n++>>>0]=v}else{if(2047>=v){if(n+1>=f)break;r[n++>>>0]=192|v>>6}else{if(65535>=v){if(n+2>=f)break;r[n++>>>0]=224|v>>12}else{if(n+3>=f)break;r[n++>>>0]=240|v>>18,r[n++>>>0]=128|v>>12&63}r[n++>>>0]=128|v>>6&63}r[n++>>>0]=128|v&63}}return r[n>>>0]=0,n-y},oe=(e,r,n)=>le(e,h(),r,n);function ie(e,r){if(_)return G(5,1,e,r)}function Qe(e,r,n){if(_)return G(6,1,e,r,n)}function Ze(e,r,n){return _?G(7,1,e,r,n):0}function d(e,r){if(_)return G(8,1,e,r)}function k(e,r,n){if(_)return G(9,1,e,r,n)}function $(e,r,n,f){if(_)return G(10,1,e,r,n,f)}function Ee(e,r,n,f){if(_)return G(11,1,e,r,n,f)}function Ke(e,r,n,f){if(_)return G(12,1,e,r,n,f)}function Lt(e){if(_)return G(13,1,e)}function kt(e,r){if(_)return G(14,1,e,r)}function Wt(e,r,n){if(_)return G(15,1,e,r,n)}function mt(e){e>>>=0,typeof Atomics.rb=="function"&&(Atomics.rb(l(),e>>>2,e).value.then(ft),e+=128,Atomics.store(l(),e>>>2,1))}s.__emscripten_thread_mailbox_await=mt;var ft=()=>{var e=lt();if(e&&(mt(e),e=or,!U))try{if(e(),!(0<Be))try{_?wt(te):ze(te)}catch(r){r instanceof Re||r=="unwind"||F(1,r)}}catch(r){r instanceof Re||r=="unwind"||F(1,r)}};s.checkMailbox=ft;var gt=[],Ye=e=>e%4===0&&(e%100!==0||e%400===0),Nt=[0,31,60,91,121,152,182,213,244,274,305,335],Ht=[0,31,59,90,120,151,181,212,243,273,304,334];function Gt(e,r,n,f,y,O,v,j){return _?G(16,1,e,r,n,f,y,O,v,j):-52}function $t(e,r,n,f,y,O,v){if(_)return G(17,1,e,r,n,f,y,O,v)}var zt=e=>{var r=X(e)+1,n=rr(r);return n&&oe(e,n,r),n},ht=[],yt={},Yt=()=>{if(!Ot){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:L||"./this.program"},r;for(r in yt)yt[r]===void 0?delete e[r]:e[r]=yt[r];var n=[];for(r in e)n.push(`${r}=${e[r]}`);Ot=n}return Ot},Ot;function jt(e,r){if(_)return G(18,1,e,r);e>>>=0,r>>>=0;var n=0;return Yt().forEach((f,y)=>{var O=r+n;for(y=b()[e+4*y>>>2>>>0]=O,O=0;O<f.length;++O)a()[y++>>>0>>>0]=f.charCodeAt(O);a()[y>>>0>>>0]=0,n+=f.length+1}),0}function qt(e,r){if(_)return G(19,1,e,r);e>>>=0,r>>>=0;var n=Yt();b()[e>>>2>>>0]=n.length;var f=0;return n.forEach(y=>f+=y.length+1),b()[r>>>2>>>0]=f,0}function Vt(e){return _?G(20,1,e):52}function Jt(e,r,n,f){return _?G(21,1,e,r,n,f):52}function Xt(e,r,n,f,y){return _?G(22,1,e,r,n,f,y):70}var $r=[null,[],[]];function Qt(e,r,n,f){if(_)return G(23,1,e,r,n,f);r>>>=0,n>>>=0,f>>>=0;for(var y=0,O=0;O<n;O++){var v=b()[r>>>2>>>0],j=b()[r+4>>>2>>>0];r+=8;for(var Te=0;Te<j;Te++){var ne=h()[v+Te>>>0],me=$r[e];ne===0||ne===10?((e===1?Ie:ee)(Ve(me,0)),me.length=0):me.push(ne)}y+=j}return b()[f>>>2>>>0]=y,0}var Zt=[31,29,31,30,31,30,31,31,30,31,30,31],Kt=[31,28,31,30,31,30,31,31,30,31,30,31];function zr(e){var r=Array(X(e)+1);return le(e,r,0,r.length),r}var Yr=(e,r)=>{a().set(e,r>>>0)};function er(e,r,n,f){function y(m,H,q){for(m=typeof m=="number"?m.toString():m||"";m.length<H;)m=q[0]+m;return m}function O(m,H){return y(m,H,"0")}function v(m,H){function q(cr){return 0>cr?-1:0<cr?1:0}var ke;return(ke=q(m.getFullYear()-H.getFullYear()))===0&&(ke=q(m.getMonth()-H.getMonth()))===0&&(ke=q(m.getDate()-H.getDate())),ke}function j(m){switch(m.getDay()){case 0:return new Date(m.getFullYear()-1,11,29);case 1:return m;case 2:return new Date(m.getFullYear(),0,3);case 3:return new Date(m.getFullYear(),0,2);case 4:return new Date(m.getFullYear(),0,1);case 5:return new Date(m.getFullYear()-1,11,31);case 6:return new Date(m.getFullYear()-1,11,30)}}function Te(m){var H=m.Ra;for(m=new Date(new Date(m.Sa+1900,0,1).getTime());0<H;){var q=m.getMonth(),ke=(Ye(m.getFullYear())?Zt:Kt)[q];if(H>ke-m.getDate())H-=ke-m.getDate()+1,m.setDate(1),11>q?m.setMonth(q+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+H);break}}return q=new Date(m.getFullYear()+1,0,4),H=j(new Date(m.getFullYear(),0,4)),q=j(q),0>=v(H,m)?0>=v(q,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}e>>>=0,r>>>=0,n>>>=0,f>>>=0;var ne=b()[f+40>>>2>>>0];f={ob:l()[f>>>2>>>0],nb:l()[f+4>>>2>>>0],Ta:l()[f+8>>>2>>>0],Xa:l()[f+12>>>2>>>0],Ua:l()[f+16>>>2>>>0],Sa:l()[f+20>>>2>>>0],Na:l()[f+24>>>2>>>0],Ra:l()[f+28>>>2>>>0],ub:l()[f+32>>>2>>>0],mb:l()[f+36>>>2>>>0],pb:ne?$e(ne):""},n=$e(n),ne={"%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 me in ne)n=n.replace(new RegExp(me,"g"),ne[me]);var fr="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),lr="January February March April May June July August September October November December".split(" ");ne={"%a":m=>fr[m.Na].substring(0,3),"%A":m=>fr[m.Na],"%b":m=>lr[m.Ua].substring(0,3),"%B":m=>lr[m.Ua],"%C":m=>O((m.Sa+1900)/100|0,2),"%d":m=>O(m.Xa,2),"%e":m=>y(m.Xa,2," "),"%g":m=>Te(m).toString().substring(2),"%G":m=>Te(m),"%H":m=>O(m.Ta,2),"%I":m=>(m=m.Ta,m==0?m=12:12<m&&(m-=12),O(m,2)),"%j":m=>{for(var H=0,q=0;q<=m.Ua-1;H+=(Ye(m.Sa+1900)?Zt:Kt)[q++]);return O(m.Xa+H,3)},"%m":m=>O(m.Ua+1,2),"%M":m=>O(m.nb,2),"%n":()=>`\n`,"%p":m=>0<=m.Ta&&12>m.Ta?"AM":"PM","%S":m=>O(m.ob,2),"%t":()=>"\t","%u":m=>m.Na||7,"%U":m=>O(Math.floor((m.Ra+7-m.Na)/7),2),"%V":m=>{var H=Math.floor((m.Ra+7-(m.Na+6)%7)/7);if(2>=(m.Na+371-m.Ra-2)%7&&H++,H)H==53&&(q=(m.Na+371-m.Ra)%7,q==4||q==3&&Ye(m.Sa)||(H=1));else{H=52;var q=(m.Na+7-m.Ra-1)%7;(q==4||q==5&&Ye(m.Sa%400-1))&&H++}return O(H,2)},"%w":m=>m.Na,"%W":m=>O(Math.floor((m.Ra+7-(m.Na+6)%7)/7),2),"%y":m=>(m.Sa+1900).toString().substring(2),"%Y":m=>m.Sa+1900,"%z":m=>{m=m.mb;var H=0<=m;return m=Math.abs(m)/60,(H?"+":"-")+("0000"+(m/60*100+m%60)).slice(-4)},"%Z":m=>m.pb,"%%":()=>"%"},n=n.replace(/%%/g,"\\0\\0");for(me in ne)n.includes(me)&&(n=n.replace(new RegExp(me,"g"),ne[me](f)));return n=n.replace(/\\0\\0/g,"%"),me=zr(n),me.length>r?0:(Yr(me,e),me.length-1)}C.Wa();var jr=[T,ut,c,E,P,ie,Qe,Ze,d,k,$,Ee,Ke,Lt,kt,Wt,Gt,$t,jt,qt,Vt,Jt,Xt,Qt],qr={b:function(e,r,n){throw e>>>=0,new t(e).Wa(r>>>0,n>>>0),o=e,i++,o},L:function(e){nr(e>>>0,!W,1,!R,131072,!1),C.ab()},j:function(e){e>>>=0,_?postMessage({cmd:"cleanupThread",thread:e}):C.Za(C.Ma[e])},H:w,h:E,S:P,D:ie,F:Qe,T:Ze,Q:d,J:k,P:$,n:Ee,E:Ke,B:Lt,R:kt,C:Wt,p:()=>1,z:function(e,r){e>>>=0,e==r>>>0?setTimeout(()=>ft()):_?postMessage({targetThread:e,cmd:"checkMailbox"}):(e=C.Ma[e])&&e.postMessage({cmd:"checkMailbox"})},I:function(e,r,n,f){r>>>=0,gt.length=n,f=f>>>0>>>3;for(var y=0;y<n;y++)gt[y]=g()[f+y>>>0];return e=0>e?Ne[-e-1]:jr[e],C.ib=r,r=e.apply(null,gt),C.ib=0,r},K:mt,o:function(e){B&&C.Ma[e>>>0].ref()},s:function(e,r,n){e=r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,n>>>=0,e=new Date(1e3*e),l()[n>>>2>>>0]=e.getUTCSeconds(),l()[n+4>>>2>>>0]=e.getUTCMinutes(),l()[n+8>>>2>>>0]=e.getUTCHours(),l()[n+12>>>2>>>0]=e.getUTCDate(),l()[n+16>>>2>>>0]=e.getUTCMonth(),l()[n+20>>>2>>>0]=e.getUTCFullYear()-1900,l()[n+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,l()[n+28>>>2>>>0]=e},t:function(e,r,n){e=r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,n>>>=0,e=new Date(1e3*e),l()[n>>>2>>>0]=e.getSeconds(),l()[n+4>>>2>>>0]=e.getMinutes(),l()[n+8>>>2>>>0]=e.getHours(),l()[n+12>>>2>>>0]=e.getDate(),l()[n+16>>>2>>>0]=e.getMonth(),l()[n+20>>>2>>>0]=e.getFullYear()-1900,l()[n+24>>>2>>>0]=e.getDay(),r=(Ye(e.getFullYear())?Nt:Ht)[e.getMonth()]+e.getDate()-1|0,l()[n+28>>>2>>>0]=r,l()[n+36>>>2>>>0]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var f=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=(r!=f&&e.getTimezoneOffset()==Math.min(f,r))|0,l()[n+32>>>2>>>0]=e},u:function(e){e>>>=0;var r=new Date(l()[e+20>>>2>>>0]+1900,l()[e+16>>>2>>>0],l()[e+12>>>2>>>0],l()[e+8>>>2>>>0],l()[e+4>>>2>>>0],l()[e>>>2>>>0],0),n=l()[e+32>>>2>>>0],f=r.getTimezoneOffset(),y=new Date(r.getFullYear(),6,1).getTimezoneOffset(),O=new Date(r.getFullYear(),0,1).getTimezoneOffset(),v=Math.min(O,y);return 0>n?l()[e+32>>>2>>>0]=+(y!=O&&v==f):0<n!=(v==f)&&(y=Math.max(O,y),r.setTime(r.getTime()+6e4*((0<n?v:y)-f))),l()[e+24>>>2>>>0]=r.getDay(),n=(Ye(r.getFullYear())?Nt:Ht)[r.getMonth()]+r.getDate()-1|0,l()[e+28>>>2>>>0]=n,l()[e>>>2>>>0]=r.getSeconds(),l()[e+4>>>2>>>0]=r.getMinutes(),l()[e+8>>>2>>>0]=r.getHours(),l()[e+12>>>2>>>0]=r.getDate(),l()[e+16>>>2>>>0]=r.getMonth(),l()[e+20>>>2>>>0]=r.getYear(),e=r.getTime(),isNaN(e)?(l()[tr()>>>2>>>0]=61,e=-1):e/=1e3,ir((De=e,1<=+Math.abs(De)?0<De?+Math.floor(De/4294967296)>>>0:~~+Math.ceil((De-+(~~De>>>0))/4294967296)>>>0:0)),e>>>0},q:Gt,r:$t,y:function(e,r,n){function f(ne){return(ne=ne.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?ne[1]:"GMT"}e>>>=0,r>>>=0,n>>>=0;var y=new Date().getFullYear(),O=new Date(y,0,1),v=new Date(y,6,1);y=O.getTimezoneOffset();var j=v.getTimezoneOffset(),Te=Math.max(y,j);b()[e>>>2>>>0]=60*Te,l()[r>>>2>>>0]=+(y!=j),e=f(O),r=f(v),e=zt(e),r=zt(r),j<y?(b()[n>>>2>>>0]=e,b()[n+4>>>2>>>0]=r):(b()[n>>>2>>>0]=r,b()[n+4>>>2>>>0]=e)},c:()=>{K("")},O:function(e,r,n){e>>>=0,r>>>=0,n>>>=0,ht.length=0;for(var f;f=h()[r++>>>0];){var y=f!=105;y&=f!=112,n+=y&&n%8?4:0,ht.push(f==112?b()[n>>>2>>>0]:f==105?l()[n>>>2>>>0]:g()[n>>>3>>>0]),n+=y?8:4}return Ne[e].apply(null,ht)},k:()=>{},i:()=>Date.now(),U:()=>{throw Be+=1,"unwind"},A:function(){return 4294901760},e:()=>performance.timeOrigin+performance.now(),f:()=>B?(br(),tt(Or)).cpus().length:navigator.hardwareConcurrency,x:function(e){e>>>=0;var r=h().length;if(e<=r||4294901760<e)return!1;for(var n=1;4>=n;n*=2){var f=r*(1+.2/n);f=Math.min(f,e+100663296);var y=Math;f=Math.max(e,f);e:{y=(y.min.call(y,4294901760,f+(65536-f%65536)%65536)-Y.buffer.byteLength+65535)/65536;try{Y.grow(y),be();var O=1;break e}catch{}O=void 0}if(O)return!0}return!1},M:jt,N:qt,G:ze,g:Vt,m:Jt,v:Xt,l:Qt,a:Y||s.wasmMemory,w:er,d:function(e,r,n,f){return er(e>>>0,r>>>0,n>>>0,f>>>0)}},M=function(){function e(n,f){return M=n.exports,M=Vr(),C.bb.push(M.za),Xe=M.Aa,Fe.unshift(M.V),ce=f,re(),M}var r={a:qr};if(pe++,s.instantiateWasm)try{return s.instantiateWasm(r,e)}catch(n){ee(`Module.instantiateWasm callback failed with error: ${n}`),D(n)}return at(r,function(n){e(n.instance,n.module)}).catch(D),{}}();s._OrtInit=(e,r)=>(s._OrtInit=M.W)(e,r),s._OrtGetLastError=(e,r)=>(s._OrtGetLastError=M.X)(e,r),s._OrtCreateSessionOptions=(e,r,n,f,y,O,v,j,Te,ne)=>(s._OrtCreateSessionOptions=M.Y)(e,r,n,f,y,O,v,j,Te,ne),s._OrtAppendExecutionProvider=(e,r)=>(s._OrtAppendExecutionProvider=M.Z)(e,r),s._OrtAddFreeDimensionOverride=(e,r,n)=>(s._OrtAddFreeDimensionOverride=M._)(e,r,n),s._OrtAddSessionConfigEntry=(e,r,n)=>(s._OrtAddSessionConfigEntry=M.$)(e,r,n),s._OrtReleaseSessionOptions=e=>(s._OrtReleaseSessionOptions=M.aa)(e),s._OrtCreateSession=(e,r,n)=>(s._OrtCreateSession=M.ba)(e,r,n),s._OrtReleaseSession=e=>(s._OrtReleaseSession=M.ca)(e),s._OrtGetInputOutputCount=(e,r,n)=>(s._OrtGetInputOutputCount=M.da)(e,r,n),s._OrtGetInputName=(e,r)=>(s._OrtGetInputName=M.ea)(e,r),s._OrtGetOutputName=(e,r)=>(s._OrtGetOutputName=M.fa)(e,r),s._OrtFree=e=>(s._OrtFree=M.ga)(e),s._OrtCreateTensor=(e,r,n,f,y,O)=>(s._OrtCreateTensor=M.ha)(e,r,n,f,y,O),s._OrtGetTensorData=(e,r,n,f,y)=>(s._OrtGetTensorData=M.ia)(e,r,n,f,y),s._OrtReleaseTensor=e=>(s._OrtReleaseTensor=M.ja)(e),s._OrtCreateRunOptions=(e,r,n,f)=>(s._OrtCreateRunOptions=M.ka)(e,r,n,f),s._OrtAddRunConfigEntry=(e,r,n)=>(s._OrtAddRunConfigEntry=M.la)(e,r,n),s._OrtReleaseRunOptions=e=>(s._OrtReleaseRunOptions=M.ma)(e),s._OrtCreateBinding=e=>(s._OrtCreateBinding=M.na)(e),s._OrtBindInput=(e,r,n)=>(s._OrtBindInput=M.oa)(e,r,n),s._OrtBindOutput=(e,r,n,f)=>(s._OrtBindOutput=M.pa)(e,r,n,f),s._OrtClearBoundOutputs=e=>(s._OrtClearBoundOutputs=M.qa)(e),s._OrtReleaseBinding=e=>(s._OrtReleaseBinding=M.ra)(e),s._OrtRunWithBinding=(e,r,n,f,y)=>(s._OrtRunWithBinding=M.sa)(e,r,n,f,y),s._OrtRun=(e,r,n,f,y,O,v,j)=>(s._OrtRun=M.ta)(e,r,n,f,y,O,v,j),s._OrtEndProfiling=e=>(s._OrtEndProfiling=M.ua)(e);var tr=()=>(tr=M.va)(),lt=s._pthread_self=()=>(lt=s._pthread_self=M.wa)(),rr=s._malloc=e=>(rr=s._malloc=M.xa)(e);s._free=e=>(s._free=M.ya)(e),s.__emscripten_tls_init=()=>(s.__emscripten_tls_init=M.za)();var nr=s.__emscripten_thread_init=(e,r,n,f,y,O)=>(nr=s.__emscripten_thread_init=M.Ba)(e,r,n,f,y,O);s.__emscripten_thread_crashed=()=>(s.__emscripten_thread_crashed=M.Ca)();var ar=(e,r,n,f)=>(ar=M.Da)(e,r,n,f),bt=e=>(bt=M.Ea)(e),wt=s.__emscripten_thread_exit=e=>(wt=s.__emscripten_thread_exit=M.Fa)(e),or=()=>(or=M.Ga)(),ir=e=>(ir=M.Ha)(e),sr=(e,r)=>(sr=M.Ia)(e,r),vt=()=>(vt=M.Ja)(),ct=e=>(ct=M.Ka)(e),_t=e=>(_t=M.La)(e);function Vr(){var e=M;e=Object.assign({},e);var r=f=>()=>f()>>>0,n=f=>y=>f(y)>>>0;return e.va=r(e.va),e.wa=r(e.wa),e.xa=n(e.xa),e.emscripten_main_runtime_thread_id=r(e.emscripten_main_runtime_thread_id),e.Ja=r(e.Ja),e.La=n(e.La),e}s.wasmMemory=Y,s.stackAlloc=_t,s.stackSave=vt,s.stackRestore=ct,s.keepRuntimeAlive=()=>0<Be,s.UTF8ToString=$e,s.stringToUTF8=oe,s.lengthBytesUTF8=X,s.ExitStatus=Re,s.PThread=C;var dt;ve=function e(){dt||ur(),dt||(ve=e)};function ur(){if(!(0<pe))if(_)A(s),_||Le(Fe),startWorker(s);else{if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)Ae.unshift(s.preRun.shift());Le(Ae),0<pe||dt||(dt=!0,s.calledRun=!0,U||(_||Le(Fe),A(s),_||Le(Se)))}}return ur(),p.ready}})();typeof vr=="object"&&typeof Ft=="object"?Ft.exports=wr:typeof define=="function"&&define.amd&&define([],()=>wr)});var Sr=et((wn,nn)=>{nn.exports=\'"use strict";var Module={},ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads"),parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",e=>onmessage({data:e}));var fs=require("fs"),vm=require("vm");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,"utf8"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(){var e=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,e+`\\n`);return}console.error(e)}function threadAlert(){var e=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:e,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,t)=>{var a=Module.wasmModule;Module.wasmModule=null;var r=new WebAssembly.Instance(a,e);return t(r)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let a=[];self.onmessage=r=>a.push(r),self.startWorker=r=>{Module=r,postMessage({cmd:"loaded"});for(let s of a)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const r of e.data.handlers)Module[r]=(...s)=>{postMessage({cmd:"callHandler",handler:r,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob=="string")importScripts(e.data.urlOrBlob);else{var t=URL.createObjectURL(e.data.urlOrBlob);importScripts(t),URL.revokeObjectURL(t)}ortWasmThreaded(Module)}else if(e.data.cmd==="run"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(a){if(a!="unwind")throw a}}else e.data.cmd==="cancel"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target==="setimmediate"||(e.data.cmd==="checkMailbox"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(a){throw Module.__emscripten_thread_crashed?.(),a}}self.onmessage=handleMessage;\\n\'});var Tr;Tr=gr();var an=_r(),Pt,Rt=!1,pt=!1,Er=!1,on=u=>{if(u===1)return!1;if(typeof SharedArrayBuffer>"u")return typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+u+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),!1;typeof process<"u"&&process.versions&&process.versions.node&&console.warn("env.wasm.numThreads is set to "+u+", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.");try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),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{return!1}},sn=()=>{try{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{return!1}},un=(u,p)=>u?"ort-training-wasm-simd.wasm":p?"ort-wasm-threaded.wasm":"ort-wasm.wasm",Mr=async u=>{if(Rt)return Promise.resolve();if(pt)throw new Error("multiple calls to \'initializeWebAssembly()\' detected.");if(Er)throw new Error("previous call to \'initializeWebAssembly()\' failed.");pt=!0;let p=u.initTimeout,a=u.numThreads,h=u.simd,l=on(a),b=h&&sn(),g=u.wasmPaths,s=typeof g=="string"?g:void 0,A=un(b,l),D=typeof g=="object"?g[A]:void 0,I=!1,L=[];if(p>0&&L.push(new Promise(F=>{setTimeout(()=>{I=!0,F()},p)})),L.push(new Promise((F,R)=>{let W=l?an:Tr,B={locateFile:(_,x)=>l&&_.endsWith(".worker.js")&&typeof Blob<"u"?URL.createObjectURL(new Blob([Sr()],{type:"text/javascript"})):_.endsWith(".wasm")?D||(s??x)+A:x+_};if(l)if(B.numThreads=a,typeof Blob>"u")B.mainScriptUrlOrBlob=(void 0)(__dirname,"ort-wasm-threaded.js");else{let _=`var ortWasmThreaded=${W.toString()};`;B.mainScriptUrlOrBlob=new Blob([_],{type:"text/javascript"})}W(B).then(_=>{pt=!1,Rt=!0,Pt=_,F()},_=>{pt=!1,Er=!0,R(_)})})),await Promise.race(L),I)throw new Error(`WebAssembly backend initializing failed due to timeout: ${p}ms`)},Q=()=>{if(Rt&&Pt)return Pt;throw new Error("WebAssembly is not initialized yet.")};var Z=(u,p)=>{let a=Q(),h=a.lengthBytesUTF8(u)+1,l=a._malloc(h);return a.stringToUTF8(u,l,h),p.push(l),l},rt=(u,p,a,h)=>{if(typeof u=="object"&&u!==null){if(a.has(u))throw new Error("Circular reference in options");a.add(u)}Object.entries(u).forEach(([l,b])=>{let g=p?p+l:l;if(typeof b=="object")rt(b,g+".",a,h);else if(typeof b=="string"||typeof b=="number")h(g,b.toString());else if(typeof b=="boolean")h(g,b?"1":"0");else throw new Error(`Can\'t handle extra config type: ${typeof b}`)})},V=u=>{let p=Q(),a=p.stackSave();try{let h=p.stackAlloc(8);p._OrtGetLastError(h,h+4);let l=p.HEAP32[h/4],b=p.HEAPU32[h/4+1],g=b?p.UTF8ToString(b):"";throw new Error(`${u} ERROR_CODE: ${l}, ERROR_MESSAGE: ${g}`)}finally{p.stackRestore(a)}};var Ar=u=>{let p=Q(),a=0,h=[],l=u||{};try{if(u?.logSeverityLevel===void 0)l.logSeverityLevel=2;else if(typeof u.logSeverityLevel!="number"||!Number.isInteger(u.logSeverityLevel)||u.logSeverityLevel<0||u.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${u.logSeverityLevel}`);if(u?.logVerbosityLevel===void 0)l.logVerbosityLevel=0;else if(typeof u.logVerbosityLevel!="number"||!Number.isInteger(u.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${u.logVerbosityLevel}`);u?.terminate===void 0&&(l.terminate=!1);let b=0;return u?.tag!==void 0&&(b=Z(u.tag,h)),a=p._OrtCreateRunOptions(l.logSeverityLevel,l.logVerbosityLevel,!!l.terminate,b),a===0&&V("Can\'t create run options."),u?.extra!==void 0&&rt(u.extra,"",new WeakSet,(g,s)=>{let A=Z(g,h),D=Z(s,h);p._OrtAddRunConfigEntry(a,A,D)!==0&&V(`Can\'t set a run config entry: ${g} - ${s}.`)}),[a,h]}catch(b){throw a!==0&&p._OrtReleaseRunOptions(a),h.forEach(g=>p._free(g)),b}};var fn=u=>{switch(u){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${u}`)}},ln=u=>{switch(u){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${u}`)}},cn=u=>{u.extra||(u.extra={}),u.extra.session||(u.extra.session={});let p=u.extra.session;p.use_ort_model_bytes_directly||(p.use_ort_model_bytes_directly="1"),u.executionProviders&&u.executionProviders.some(a=>(typeof a=="string"?a:a.name)==="webgpu")&&(u.enableMemPattern=!1)},dn=(u,p,a)=>{for(let h of p){let l=typeof h=="string"?h:h.name;switch(l){case"webnn":if(l="WEBNN",typeof h!="string"){let g=h;if(g?.deviceType){let s=Z("deviceType",a),A=Z(g.deviceType,a);Q()._OrtAddSessionConfigEntry(u,s,A)!==0&&V(`Can\'t set a session config entry: \'deviceType\' - ${g.deviceType}.`)}if(g?.numThreads){let s=g.numThreads;(typeof s!="number"||!Number.isInteger(s)||s<0)&&(s=0);let A=Z("numThreads",a),D=Z(s.toString(),a);Q()._OrtAddSessionConfigEntry(u,A,D)!==0&&V(`Can\'t set a session config entry: \'numThreads\' - ${g.numThreads}.`)}if(g?.powerPreference){let s=Z("powerPreference",a),A=Z(g.powerPreference,a);Q()._OrtAddSessionConfigEntry(u,s,A)!==0&&V(`Can\'t set a session config entry: \'powerPreference\' - ${g.powerPreference}.`)}}break;case"webgpu":if(l="JS",typeof h!="string"){let g=h;if(g?.preferredLayout){if(g.preferredLayout!=="NCHW"&&g.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either \'NCHW\' or \'NHWC\': ${g.preferredLayout}`);let s=Z("preferredLayout",a),A=Z(g.preferredLayout,a);Q()._OrtAddSessionConfigEntry(u,s,A)!==0&&V(`Can\'t set a session config entry: \'preferredLayout\' - ${g.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${l}`)}let b=Z(l,a);Q()._OrtAppendExecutionProvider(u,b)!==0&&V(`Can\'t append execution provider: ${l}.`)}},Cr=u=>{let p=Q(),a=0,h=[],l=u||{};cn(l);try{let b=fn(l.graphOptimizationLevel??"all"),g=ln(l.executionMode??"sequential"),s=typeof l.logId=="string"?Z(l.logId,h):0,A=l.logSeverityLevel??2;if(!Number.isInteger(A)||A<0||A>4)throw new Error(`log serverity level is not valid: ${A}`);let D=l.logVerbosityLevel??0;if(!Number.isInteger(D)||D<0||D>4)throw new Error(`log verbosity level is not valid: ${D}`);let I=typeof l.optimizedModelFilePath=="string"?Z(l.optimizedModelFilePath,h):0;if(a=p._OrtCreateSessionOptions(b,!!l.enableCpuMemArena,!!l.enableMemPattern,g,!!l.enableProfiling,0,s,A,D,I),a===0&&V("Can\'t create session options."),l.executionProviders&&dn(a,l.executionProviders,h),l.freeDimensionOverrides)for(let[L,F]of Object.entries(l.freeDimensionOverrides)){if(typeof L!="string")throw new Error(`free dimension override name must be a string: ${L}`);if(typeof F!="number"||!Number.isInteger(F)||F<0)throw new Error(`free dimension override value must be a non-negative integer: ${F}`);let R=Z(L,h);p._OrtAddFreeDimensionOverride(a,R,F)!==0&&V(`Can\'t set a free dimension override: ${L} - ${F}.`)}return l.extra!==void 0&&rt(l.extra,"",new WeakSet,(L,F)=>{let R=Z(L,h),W=Z(F,h);p._OrtAddSessionConfigEntry(a,R,W)!==0&&V(`Can\'t set a session config entry: ${L} - ${F}.`)}),[a,h]}catch(b){throw a!==0&&p._OrtReleaseSessionOptions(a),h.forEach(g=>p._free(g)),b}};var Ut=u=>{switch(u){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;default:throw new Error(`unsupported data type: ${u}`)}},Dr=u=>{switch(u){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";default:throw new Error(`unsupported data type: ${u}`)}},It=u=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][u],xr=u=>{switch(u){case"float16":return Uint16Array;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: ${u}`)}},Fr=u=>{switch(u){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: ${u}`)}},Pr=u=>u==="float32"||u==="int32"||u==="int64"||u==="bool"||u==="float16"||u==="uint32",Rr=u=>{switch(u){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;default:throw new Error(`unsupported data location: ${u}`)}};var Ur=async u=>{if(typeof u=="string")if(typeof process<"u"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(u))}catch(p){if(p.code==="ERR_FS_FILE_TOO_LARGE"){let a=(void 0)(u),h=[];for await(let l of a)h.push(l);return new Uint8Array(Buffer.concat(h))}throw p}else{let p=await fetch(u);if(!p.ok)throw new Error(`failed to load external data file: ${u}`);let a=p.headers.get("Content-Length"),h=a?parseInt(a,10):0;if(h<1073741824)return new Uint8Array(await p.arrayBuffer());{if(!p.body)throw new Error(`failed to load external data file: ${u}, no response body.`);let l=p.body.getReader(),b;try{b=new ArrayBuffer(h)}catch(s){if(s instanceof RangeError){let A=Math.ceil(h/65536);b=new WebAssembly.Memory({initial:A,maximum:A}).buffer}else throw s}let g=0;for(;;){let{done:s,value:A}=await l.read();if(s)break;let D=A.byteLength;new Uint8Array(b,g,D).set(A),g+=D}return new Uint8Array(b,0,h)}}else return u instanceof Blob?new Uint8Array(await u.arrayBuffer()):u instanceof Uint8Array?u:new Uint8Array(u)};var pn=(u,p)=>{Q()._OrtInit(u,p)!==0&&V("Can\'t initialize onnxruntime.")},Br=async u=>{pn(u.wasm.numThreads,Fr(u.logLevel))},Lr=async(u,p)=>{},nt=new Map,mn=u=>{let p=Q(),a=p.stackSave();try{let h=p.stackAlloc(8);return p._OrtGetInputOutputCount(u,h,h+4)!==0&&V("Can\'t get session input/output count."),[p.HEAP32[h/4],p.HEAP32[h/4+1]]}finally{p.stackRestore(a)}},Bt=u=>{let p=Q(),a=p._malloc(u.byteLength);if(a===0)throw new Error(`Can\'t create a session. failed to allocate a buffer of size ${u.byteLength}.`);return p.HEAPU8.set(u,a),[a,u.byteLength]},kr=async(u,p)=>{let a,h,l=Q();Array.isArray(u)?[a,h]=u:u.buffer===l.HEAPU8.buffer?[a,h]=[u.byteOffset,u.byteLength]:[a,h]=Bt(u);let b=0,g=0,s=0,A=[],D=[],I=[];try{if([g,A]=Cr(p),p?.externalData&&l.mountExternalData){let x=[];for(let N of p.externalData){let he=typeof N=="string"?N:N.path;x.push(Ur(typeof N=="string"?N:N.data).then(se=>{l.mountExternalData(he,se)}))}await Promise.all(x)}b=l._OrtCreateSession(a,h,g),b===0&&V("Can\'t create a session.");let[L,F]=mn(b),R=[],W=[],B=[];for(let x=0;x<L;x++){let N=l._OrtGetInputName(b,x);N===0&&V("Can\'t get an input name."),D.push(N),R.push(l.UTF8ToString(N))}for(let x=0;x<F;x++){let N=l._OrtGetOutputName(b,x);N===0&&V("Can\'t get an output name."),I.push(N);let he=l.UTF8ToString(N);W.push(he)}let _=null;return nt.set(b,[b,D,I,_]),[b,R,W]}catch(L){throw D.forEach(F=>l._OrtFree(F)),I.forEach(F=>l._OrtFree(F)),s!==0&&l._OrtReleaseBinding(s),b!==0&&l._OrtReleaseSession(b),L}finally{l._free(a),g!==0&&l._OrtReleaseSessionOptions(g),A.forEach(L=>l._free(L)),l.unmountExternalData?.()}},Wr=u=>{let p=Q(),a=nt.get(u);if(!a)throw new Error(`cannot release session. invalid session id: ${u}`);let[h,l,b,g]=a;g&&p._OrtReleaseBinding(g.handle),p.jsepUnregisterBuffers?.(u),l.forEach(s=>p._OrtFree(s)),b.forEach(s=>p._OrtFree(s)),p._OrtReleaseSession(h),nt.delete(u)},Ir=(u,p,a,h,l)=>{if(!u){p.push(0);return}let b=Q(),g=u[0],s=u[1],A=u[3],D,I;if(g==="string"&&A==="gpu-buffer")throw new Error("String tensor is not supported on GPU.");if(A==="gpu-buffer"){let R=u[2].gpuBuffer,W=It(Ut(g));I=s.reduce((B,_)=>B*_,1)*W,D=b.jsepRegisterBuffer(h,l,R,I)}else{let R=u[2];if(Array.isArray(R)){I=4*R.length,D=b._malloc(I),a.push(D);let W=D/4;for(let B=0;B<R.length;B++){if(typeof R[B]!="string")throw new TypeError(`tensor data at index ${B} is not a string`);b.HEAPU32[W++]=Z(R[B],a)}}else I=R.byteLength,D=b._malloc(I),a.push(D),b.HEAPU8.set(new Uint8Array(R.buffer,R.byteOffset,I),D)}let L=b.stackSave(),F=b.stackAlloc(4*s.length);try{let R=F/4;s.forEach(B=>b.HEAP32[R++]=B);let W=b._OrtCreateTensor(Ut(g),D,I,F,s.length,Rr(A));W===0&&V(`Can\'t create tensor for input/output. session=${h}, index=${l}.`),p.push(W)}finally{b.stackRestore(L)}},Nr=async(u,p,a,h,l,b)=>{let g=Q(),s=nt.get(u);if(!s)throw new Error(`cannot run inference. invalid session id: ${u}`);let[A,D,I,L]=s,F=p.length,R=h.length,W=0,B=[],_=[],x=[],N=[],he=g.stackSave(),se=g.stackAlloc(F*4),ae=g.stackAlloc(F*4),S=g.stackAlloc(R*4),z=g.stackAlloc(R*4);try{[W,B]=Ar(b);for(let U=0;U<F;U++)Ir(a[U],_,N,u,p[U]);for(let U=0;U<R;U++)Ir(l[U],x,N,u,F+h[U]);let ue=se/4,Ue=ae/4,Ie=S/4,ee=z/4;for(let U=0;U<F;U++)g.HEAPU32[ue++]=_[U],g.HEAPU32[Ue++]=D[p[U]];for(let U=0;U<R;U++)g.HEAPU32[Ie++]=x[U],g.HEAPU32[ee++]=I[h[U]];let Y;Y=await g._OrtRun(A,ae,se,F,z,R,S,W),Y!==0&&V("failed to call OrtRun().");let ce=[];for(let U=0;U<R;U++){let te=g.HEAPU32[S/4+U];if(te===x[U]){ce.push(l[U]);continue}let de=g.stackSave(),ge=g.stackAlloc(4*4),ye=!1,J,fe=0;try{g._OrtGetTensorData(te,ge,ge+4,ge+8,ge+12)!==0&&V(`Can\'t access output tensor data on index ${U}.`);let Me=ge/4,Ae=g.HEAPU32[Me++];fe=g.HEAPU32[Me++];let Fe=g.HEAPU32[Me++],Se=g.HEAPU32[Me++],pe=[];for(let re=0;re<Se;re++)pe.push(g.HEAPU32[Fe/4+re]);g._OrtFree(Fe);let we=pe.reduce((re,K)=>re*K,1);J=Dr(Ae);let ve=L?.outputPreferredLocations[h[U]];if(J==="string"){if(ve==="gpu-buffer")throw new Error("String tensor is not supported on GPU.");let re=[],K=fe/4;for(let Ce=0;Ce<we;Ce++){let Oe=g.HEAPU32[K++],_e=Ce===we-1?void 0:g.HEAPU32[K]-Oe;re.push(g.UTF8ToString(Oe,_e))}ce.push([J,pe,re,"cpu"])}else if(ve==="gpu-buffer"&&we>0){let re=g.jsepGetBuffer(fe),K=It(Ae);if(K===void 0||!Pr(J))throw new Error(`Unsupported data type: ${J}`);ye=!0,ce.push([J,pe,{gpuBuffer:re,download:g.jsepCreateDownloader(re,we*K,J),dispose:()=>{g._OrtReleaseTensor(te)}},"gpu-buffer"])}else{let re=xr(J),K=new re(we);new Uint8Array(K.buffer,K.byteOffset,K.byteLength).set(g.HEAPU8.subarray(fe,fe+K.byteLength)),ce.push([J,pe,K,"cpu"])}}finally{g.stackRestore(de),J==="string"&&fe&&g._free(fe),ye||g._OrtReleaseTensor(te)}}return L&&g._OrtClearBoundOutputs(L.handle),ce}finally{g.stackRestore(he),_.forEach(ue=>g._OrtReleaseTensor(ue)),x.forEach(ue=>g._OrtReleaseTensor(ue)),N.forEach(ue=>g._free(ue)),W!==0&&g._OrtReleaseRunOptions(W),B.forEach(ue=>g._free(ue))}},Hr=u=>{let p=Q(),a=nt.get(u);if(!a)throw new Error("invalid session id");let h=a[0],l=p._OrtEndProfiling(h);l===0&&V("Can\'t get an profile file name."),p._OrtFree(l)},Gr=u=>{let p=[];for(let a of u){let h=a[2];!Array.isArray(h)&&"buffer"in h&&p.push(h.buffer)}return p};self.onmessage=u=>{let{type:p,in:a}=u.data;try{switch(p){case"init-wasm":Mr(a.wasm).then(()=>{Br(a).then(()=>{postMessage({type:p})},h=>{postMessage({type:p,err:h})})},h=>{postMessage({type:p,err:h})});break;case"init-ep":{let{epName:h,env:l}=a;Lr(l,h).then(()=>{postMessage({type:p})},b=>{postMessage({type:p,err:b})});break}case"copy-from":{let{buffer:h}=a,l=Bt(h);postMessage({type:p,out:l});break}case"create":{let{model:h,options:l}=a;kr(h,l).then(b=>{postMessage({type:p,out:b})},b=>{postMessage({type:p,err:b})});break}case"release":Wr(a),postMessage({type:p});break;case"run":{let{sessionId:h,inputIndices:l,inputs:b,outputIndices:g,options:s}=a;Nr(h,l,b,g,new Array(g.length).fill(null),s).then(A=>{A.some(D=>D[3]!=="cpu")?postMessage({type:p,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:p,out:A},Gr(A))},A=>{postMessage({type:p,err:A})});break}case"end-profiling":Hr(a),postMessage({type:p});break;default:}}catch(h){postMessage({type:p,err:h})}};})();\n'})),tr=I((()=>{ne(),Kt(),Vt(),nt=()=>!!s.wasm.proxy&&typeof document<"u",ot=!1,it=!1,st=!1,lt=new Map,ft=(e,t)=>{let r=lt.get(e);r?r.push(t):lt.set(e,[t])},ct=()=>{if(ot||!it||st||!at)throw new Error("worker not ready")},dt=e=>{switch(e.data.type){case"init-wasm":ot=!1,e.data.err?(st=!0,ut[1](e.data.err)):(it=!0,ut[0]());break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=lt.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}}},pt=typeof document<"u"?document?.currentScript?.src:void 0,ht=async()=>{if(!it){if(ot)throw new Error("multiple calls to 'initWasm()' detected.");if(st)throw new Error("previous call to 'initWasm()' failed.");if(ot=!0,nt())return void 0===s.wasm.wasmPaths&&pt&&0!==pt.indexOf("blob:")&&(s.wasm.wasmPaths=pt.substr(0,+pt.lastIndexOf("/")+1)),new Promise(((e,t)=>{at?.terminate();let r=URL.createObjectURL(new Blob([er()],{type:"text/javascript"}));(at=new Worker(r,{name:"ort-wasm-proxy-worker"})).onerror=e=>t(e),at.onmessage=dt,URL.revokeObjectURL(r),ut=[e,t];let n={type:"init-wasm",in:s};at.postMessage(n)}));try{await Me(s.wasm),await Ye(s),it=!0}catch(e){throw st=!0,e}finally{ot=!1}}},gt=async e=>{if(nt())return ct(),new Promise(((t,r)=>{ft("init-ep",[t,r]);let n={type:"init-ep",in:{epName:e,env:s}};at.postMessage(n)}));await Ve(s,e)},mt=async e=>nt()?(ct(),new Promise(((t,r)=>{ft("copy-from",[t,r]);let n={type:"copy-from",in:{buffer:e}};at.postMessage(n,[e.buffer])}))):Xe(e),yt=async(e,t)=>{if(nt()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return ct(),new Promise(((r,n)=>{ft("create",[r,n]);let a={type:"create",in:{model:e,options:t}},o=[];e instanceof Uint8Array&&o.push(e.buffer),at.postMessage(a,o)}))}return Qe(e,t)},wt=async e=>{if(nt())return ct(),new Promise(((t,r)=>{ft("release",[t,r]);let n={type:"release",in:e};at.postMessage(n)}));Ze(e)},bt=async(e,t,r,n,a,o)=>{if(nt()){if(r.some((e=>"cpu"!==e[3])))throw new Error("input tensor on GPU is not supported for proxy.");if(a.some((e=>e)))throw new Error("pre-allocated output tensor is not supported for proxy.");return ct(),new Promise(((a,i)=>{ft("run",[a,i]);let s=r,u={type:"run",in:{sessionId:e,inputIndices:t,inputs:s,outputIndices:n,options:o}};at.postMessage(u,rt(s))}))}return et(e,t,r,n,a,o)},vt=async e=>{if(nt())return ct(),new Promise(((t,r)=>{ft("end-profiling",[t,r]);let n={type:"end-profiling",in:e};at.postMessage(n)}));tt(e)}})),rr=I((()=>{ne(),tr(),Qt(),Zt(),Ot=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},_t=e=>{switch(e[3]){case"cpu":return new _(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!We(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:n,dispose:a}=e[2];return _.fromGpuBuffer(r,{dataType:t,dims:e[1],download:n,dispose:a})}default:throw new Error(`invalid data location: ${e[3]}`)}},Tt=class{async fetchModelAndCopyToWasmMemory(e){return mt(await je(e))}async loadModel(e,t){let r;A(),r="string"==typeof e?typeof process<"u"&&process.versions&&process.versions.node?await je(e):await this.fetchModelAndCopyToWasmMemory(e):e,[this.sessionId,this.inputNames,this.outputNames]=await yt(r,t),M()}async dispose(){return wt(this.sessionId)}async run(e,t,r){A();let n=[],a=[];Object.entries(e).forEach((e=>{let t=e[0],r=e[1],o=this.inputNames.indexOf(t);if(-1===o)throw new Error(`invalid input '${t}'`);n.push(r),a.push(o)}));let o=[],i=[];Object.entries(t).forEach((e=>{let t=e[0],r=e[1],n=this.outputNames.indexOf(t);if(-1===n)throw new Error(`invalid output '${t}'`);o.push(r),i.push(n)}));let s=n.map(((e,t)=>Ot(e,(()=>`input "${this.inputNames[a[t]]}"`)))),u=o.map(((e,t)=>e?Ot(e,(()=>`output "${this.outputNames[i[t]]}"`)):null)),l=await bt(this.sessionId,a,s,i,u,r),f={};for(let e=0;e<l.length;e++)f[this.outputNames[i[e]]]=o[e]??_t(l[e]);return M(),f}startProfiling(){}endProfiling(){vt(this.sessionId)}}})),nr=I((()=>{ne(),tr(),rr(),Et=()=>{if(("number"!=typeof s.wasm.initTimeout||s.wasm.initTimeout<0)&&(s.wasm.initTimeout=0),"boolean"!=typeof s.wasm.simd&&(s.wasm.simd=!0),"boolean"!=typeof s.wasm.proxy&&(s.wasm.proxy=!1),"boolean"!=typeof s.wasm.trace&&(s.wasm.trace=!1),"number"!=typeof s.wasm.numThreads||!Number.isInteger(s.wasm.numThreads)||s.wasm.numThreads<=0){(typeof self<"u"&&!self.crossOriginIsolated||typeof process<"u"&&process.versions&&process.versions.node)&&(s.wasm.numThreads=1);let e=typeof navigator>"u"?(void 0)().length:navigator.hardwareConcurrency;s.wasm.numThreads=Math.min(4,Math.ceil((e||1)/2))}},At=class{async init(e){Et(),await ht(),await gt(e)}async createInferenceSessionHandler(e,t){let r=new Tt;return await r.loadModel(e,t),Promise.resolve(r)}}})),ar=I((()=>{qt(),Xt(),Qt(),Kt(),Vt(),Jt(),Mt="Built without training API's enabled. Use the onnxruntime-web/training import for training functionality, and make sure that all the correct artifacts are built & moved to the correct folder if using a custom build. Check https://onnxruntime.ai/docs/build/web.html for more information.",St=(e,t,r=!0)=>{(r&&0!==e||!r&&0===e)&&Pe(t)},Rt=e=>{let t=Se(),[r,n]=e,a=0;try{if(!t._OrtTrainingLoadCheckpoint)throw new Error(Mt);return a=t._OrtTrainingLoadCheckpoint(r,n),St(a,"Error occurred when trying to create a CheckpointState",!1),a}catch(e){throw t._OrtTrainingReleaseCheckpoint&&0!==a&&t._OrtTrainingReleaseCheckpoint(a),e}finally{t._OrtFree(e[0])}},Ct=(e,t)=>{let r=Se(),n=r.stackSave();try{let n=r.stackAlloc(8);if(r._OrtTrainingGetModelInputOutputCount){let a=r._OrtTrainingGetModelInputOutputCount(e,n,n+4,t);return St(a,"Can't get session input/output count."),[r.HEAP32[n/4],r.HEAP32[n/4+1]]}throw new Error(Mt)}finally{r.stackRestore(n)}},Pt=(e,t,r,n)=>{let a=[],o=Se();for(let i=0;i<t;i++){if(!o._OrtTrainingGetModelInputOutputName)throw new Error(Mt);{let t=o._OrtTrainingGetModelInputOutputName(e,i,r,n);St(t,`Can't get input or output name -- is input: ${r}, index ${i}`,!1),a.push(o.UTF8ToString(t)),o._free(t)}}return a},Ut=(e,t)=>{let r=[],n=[],[a,o]=Ct(e,t);return r=Pt(e,a,!0,t),n=Pt(e,o,!1,t),[r,n]},Dt=(e,t,r,n,a)=>{let o=Se(),i=0,s=0,u=[];try{if([s,u]=ke(a),!o._OrtTrainingCreateSession)throw new Error(Mt);return i=o._OrtTrainingCreateSession(s,e,t[0],t[1],r[0],r[1],n[0],n[1]),St(i,"Error occurred when trying to create a TrainingSession",!1),i}catch(e){throw o._OrtTrainingReleaseSession&&0!==i&&o._OrtTrainingReleaseSession(i),e}finally{o._free(t[0]),o._free(r[0]),o._free(n[0]),0!==s&&o._OrtReleaseSessionOptions(s),u.forEach((e=>o._free(e)))}},xt=(e,t,r,n,a,o)=>{let i=t.length;for(let s=0;s<i;s++)Ke(r[s],n,a,e,o+t[s]);let s=Se(),u=s.stackAlloc(4*i),l=u/4;for(let e=0;e<i;e++)s.HEAPU32[l++]=n[e];return u},Ft=(e,t,r,n)=>{let a=Se(),o=[];for(let i=0;i<t;i++){let t=a.HEAPU32[e/4+i];if(t===r[i]){o.push(n[i]);continue}let s,u=a.stackSave(),l=a.stackAlloc(16),f=0;try{let e=a._OrtGetTensorData(t,l,l+4,l+8,l+12);St(e,`Can't access output tensor data on index ${i}.`);let r=l/4,n=a.HEAPU32[r++];f=a.HEAPU32[r++];let u=a.HEAPU32[r++],c=a.HEAPU32[r++],d=[];for(let e=0;e<c;e++)d.push(a.HEAPU32[u/4+e]);a._OrtFree(u);let p=d.reduce(((e,t)=>e*t),1);if(s=Ne(n),"string"===s){let e=[],t=f/4;for(let r=0;r<p;r++){let n=a.HEAPU32[t++],o=r===p-1?void 0:a.HEAPU32[t]-n;e.push(a.UTF8ToString(n,o))}o.push([s,d,e,"cpu"])}else{let e=new(He(s))(p);new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(a.HEAPU8.subarray(f,f+e.byteLength)),o.push([s,d,e,"cpu"])}}finally{a.stackRestore(u),"string"===s&&f&&a._free(f),a._OrtReleaseTensor(t)}}return o},It=async e=>{let t=Se();if(!t._OrtTrainingLazyResetGrad)throw new Error(Mt);{let r=t._OrtTrainingLazyResetGrad(e);St(r,"Can't call lazyResetGrad.")}},kt=async(e,t,r,n,a,o)=>{let i=Se(),s=t.length,u=n.length,l=0,f=[],c=[],d=[],p=[],h=i.stackSave();try{[l,f]=Ue(o);let h=xt(e,t,r,c,p,0),g=xt(e,n,a,d,p,s);if(!i._OrtTrainingRunTrainStep)throw new Error(Mt);{let t=i._OrtTrainingRunTrainStep(e,h,s,g,u,l);St(t,"failed to call OrtTrainingRunTrainStep in the WebAssembly layer")}return Ft(g,u,d,a)}finally{i.stackRestore(h),c.forEach((e=>i._OrtReleaseTensor(e))),d.forEach((e=>i._OrtReleaseTensor(e))),p.forEach((e=>i._free(e))),0!==l&&i._OrtReleaseRunOptions(l),f.forEach((e=>i._free(e)))}},Bt=async(e,t)=>{let r=Se(),n=0,a=[];try{if([n,a]=Ue(t),!r._OrtTrainingOptimizerStep)throw new Error(Mt);{let t=r._OrtTrainingOptimizerStep(e,n);St(t,"Failed to call OrtTrainingOptimizerStep in the WebAssembly layer")}}finally{0!==n&&r._OrtReleaseRunOptions(n),a.forEach((e=>r._free(e)))}},Nt=async(e,t,r,n,a,o)=>{let i=Se(),s=t.length,u=n.length,l=0,f=[],c=[],d=[],p=[],h=i.stackSave();try{[l,f]=Ue(o);let h=xt(e,t,r,c,p,0),g=xt(e,n,a,d,p,s);if(!i._OrtTrainingEvalStep)throw new Error(Mt);{let t=i._OrtTrainingEvalStep(e,h,s,g,u,l);St(t,"failed to call OrtTrainingEvalStep in the WebAssembly layer")}return Ft(g,u,d,a)}finally{i.stackRestore(h),c.forEach((e=>i._OrtReleaseTensor(e))),d.forEach((e=>i._OrtReleaseTensor(e))),p.forEach((e=>i._free(e))),0!==l&&i._OrtReleaseRunOptions(l),f.forEach((e=>i._free(e)))}},Lt=(e,t)=>{let r=Se(),n=r.stackSave();try{let n=r.stackAlloc(4);if(r._OrtTrainingGetParametersSize){let a=r._OrtTrainingGetParametersSize(e,n,t);return St(a,"Can't get parameters size"),r.HEAP32[n/4]}throw new Error(Mt)}finally{r.stackRestore(n)}},Ht=async(e,t)=>{let r=Se(),n=r.stackSave(),a="float32",o=Lt(e,t),i=0,s=4*o,u=r._malloc(s),l=[o],f=r.stackAlloc(4),c=f/4;r.HEAP32[c]=o;try{if(i=r._OrtCreateTensor(Be(a),u,s,f,l.length,Ge("cpu")),St(i,`Can't create tensor for getContiguousParameters. session=${e}.`,!1),!r._OrtTrainingCopyParametersToBuffer)throw new Error(Mt);{let n=r._OrtTrainingCopyParametersToBuffer(e,i,o,t);St(n,"Can't get contiguous parameters.")}let n=new(He(a))(o),c=[];if(new Uint8Array(n.buffer,n.byteOffset,n.byteLength).set(r.HEAPU8.subarray(u,u+s)),c.push([a,l,n,"cpu"]),1!==c.length)throw new Error(`something unexpected happened in the getContiguousParameters function. Expected output length of\n one, got ${c.length}`);return c[0]}finally{0!==i&&r._OrtReleaseTensor(i),r._free(u),r._free(f),r.stackRestore(n)}},$t=async(e,t,r)=>{let n=Se(),a=n.stackSave(),o=t.length,i=o/4,s=n._malloc(o);n.HEAPU8.set(t,s);let u=n.stackAlloc(4);n.HEAP32[u/4]=i;let l=0;try{if(l=n._OrtCreateTensor(Be("float32"),s,o,u,1,Ge("cpu")),St(l,`Can't create tensor for input/output. session=${e}`,!1),!n._OrtTrainingCopyParametersFromBuffer)throw new Error(Mt);{let t=n._OrtTrainingCopyParametersFromBuffer(e,l,i,r);St(t,"Can't copy buffer to parameters.")}}finally{0!==l&&n._OrtReleaseTensor(l),n.stackRestore(a),n._free(s),n._free(u)}},Wt=(e,t)=>{let r=Se();r._OrtTrainingReleaseSession&&r._OrtTrainingReleaseSession(t),r._OrtTrainingReleaseCheckpoint&&r._OrtTrainingReleaseCheckpoint(e)}})),or=I((()=>{rr(),Kt(),ar(),Gt=class{constructor(){this.evalInputNames=[],this.evalOutputNames=[]}async uriOrBufferToHeap(e){let t;if("string"==typeof e){let r=await(await fetch(e)).arrayBuffer();t=new Uint8Array(r)}else t=e;return Xe(t)}async createTrainingSession(e,t,r,n,a){let o=await this.uriOrBufferToHeap(e),i=await this.uriOrBufferToHeap(t),s=[0,0],u=[0,0];""!==r&&(s=await this.uriOrBufferToHeap(r)),""!==n&&(u=await this.uriOrBufferToHeap(n)),this.checkpointId=Rt(o),this.sessionId=Dt(this.checkpointId,i,s,u,a),[this.inputNames,this.outputNames]=Ut(this.sessionId,!1),""!==r&&([this.evalInputNames,this.evalOutputNames]=Ut(this.sessionId,!0))}convertMapIntoValuesArrayAndIndicesArray(e,t,r){let n=[],a=[];Object.entries(e).forEach((e=>{let r=e[0],o=e[1],i=t.indexOf(r);if(-1===i)throw new Error(`invalid input '${r}`);n.push(o),a.push(i)}));let o=n.map(r);return[n,a,o]}convertTensorMetadataToReturnType(e,t,r){let n={};for(let a=0;a<e.length;a++)n[this.outputNames[r[a]]]=t[a]??_t(e[a]);return n}async lazyResetGrad(){await It(this.sessionId)}async runTrainStep(e,t,r){let[,n,a]=this.convertMapIntoValuesArrayAndIndicesArray(e,this.inputNames,((e,t)=>Ot(e,(()=>`input "${this.inputNames[n[t]]}"`)))),[o,i,s]=this.convertMapIntoValuesArrayAndIndicesArray(t,this.outputNames,((e,t)=>e?Ot(e,(()=>`output "${this.outputNames[i[t]]}"`)):null)),u=await kt(this.sessionId,n,a,i,s,r);return this.convertTensorMetadataToReturnType(u,o,i)}async runOptimizerStep(e){await Bt(this.sessionId,e)}async runEvalStep(e,t,r){let[,n,a]=this.convertMapIntoValuesArrayAndIndicesArray(e,this.evalInputNames,((e,t)=>Ot(e,(()=>`input "${this.evalInputNames[n[t]]}"`)))),[o,i,s]=this.convertMapIntoValuesArrayAndIndicesArray(t,this.evalOutputNames,((e,t)=>e?Ot(e,(()=>`output "${this.evalOutputNames[i[t]]}"`)):null)),u=await Nt(this.sessionId,n,a,i,s,r);return this.convertTensorMetadataToReturnType(u,o,i)}async getParametersSize(e){return Lt(this.sessionId,e)}async loadParametersBuffer(e,t){await $t(this.sessionId,e,t)}async getContiguousParameters(e){let t=await Ht(this.sessionId,e);return _t(t)}async dispose(){return Wt(this.checkpointId,this.sessionId)}}})),ir={};B(ir,{wasmBackend:()=>sr});var sr,ur=I((()=>{nr(),or(),sr=new class extends At{async createTrainingSessionHandler(e,t,r,n,a){let o=new Gt;return await o.createTrainingSession(e,t,r,n,a),Promise.resolve(o)}}})),lr={};B(lr,{InferenceSession:()=>R,TRACE:()=>T,TRACE_FUNC_BEGIN:()=>A,TRACE_FUNC_END:()=>M,Tensor:()=>_,TrainingSession:()=>P,default:()=>fr,env:()=>s,registerBackend:()=>r}),ne(),ne(),ne();var fr=re;{let e=(ur(),N(ir)).wasmBackend;r("cpu",e,10),r("wasm",e,10)}return Object.defineProperty(s.versions,"web",{value:"1.17.1",enumerable:!0}),N(lr)})();