varaF=Object.defineProperty;varGr=(e=>typeofrequire!="undefined"?require:typeofProxy!="undefined"?newProxy(e,{get:(t,n)=>(typeofrequire!="undefined"?require:t)[n]}):e)(function(e){if(typeofrequire!="undefined")returnrequire.apply(this,arguments);thrownewError('Dynamic require of "'+e+'" is not supported')});varab=(e,t)=>{for(varnint)aF(e,n,{get:t[n],enumerable:!0})};varOe={};ab(Oe,{Abs:()=>wl,Acos:()=>kl,Acosh:()=>Il,AdadeltaOptimizer:()=>of,AdagradOptimizer:()=>lf,AdamOptimizer:()=>uf,AdamaxOptimizer:()=>pf,Add:()=>cs,AddN:()=>mi,All:()=>Sl,Any:()=>Tl,ArgMax:()=>fi,ArgMin:()=>sc,Asin:()=>Nl,Asinh:()=>Cl,Atan:()=>_l,Atan2:()=>Al,Atanh:()=>El,AvgPool:()=>gi,AvgPool3D:()=>ic,AvgPool3DGrad:()=>Yh,AvgPoolGrad:()=>Xh,BackendWasm:()=>kA,BatchMatMul:()=>yi,BatchToSpaceND:()=>$l,Bincount:()=>Zh,BroadcastArgs:()=>Jh,BroadcastTo:()=>RI,Callback:()=>JN,CallbackList:()=>nN,Cast:()=>bi,Ceil:()=>xi,ClipByValue:()=>ds,Complex:()=>Qh,ComplexAbs:()=>oc,Concat:()=>Fl,Conv2D:()=>vi,Conv2DBackpropFilter:()=>em,Conv2DBackpropInput:()=>wi,Conv3D:()=>lc,Conv3DBackpropFilterV2:()=>tm,Conv3DBackpropInputV2:()=>nm,Cos:()=>ki,Cosh:()=>Ii,CropAndResize:()=>Rl,Cumprod:()=>Dl,Cumsum:()=>Si,CustomCallback:()=>rN,DataStorage:()=>jh,DenseBincount:()=>am,DepthToSpace:()=>Ml,DepthwiseConv2dNative:()=>Ti,DepthwiseConv2dNativeBackpropFilter:()=>rm,DepthwiseConv2dNativeBackpropInput:()=>sm,Diag:()=>im,Dilation2D:()=>uc,Dilation2DBackpropFilter:()=>gh,Dilation2DBackpropInput:()=>fh,ENV:()=>Ix,EarlyStopping:()=>QN,Einsum:()=>om,Elu:()=>Ci,EluGrad:()=>lm,Environment:()=>FI,Equal:()=>Ol,Erf:()=>Pl,Exp:()=>_i,ExpandDims:()=>Ll,Expm1:()=>zl,FFT:()=>um,Fill:()=>pc,FlipLeftRight:()=>Wl,Floor:()=>Ei,FloorDiv:()=>Ai,FromPixels:()=>yh,FusedBatchNorm:()=>$i,FusedConv2D:()=>Qs,FusedDepthwiseConv2D:()=>ei,GPGPUContext:()=>ph,GatherNd:()=>Vl,GatherV2:()=>Bl,GraphModel:()=>k0,Greater:()=>Ul,GreaterEqual:()=>Fi,History:()=>aN,IFFT:()=>pm,Identity:()=>Di,Imag:()=>cm,InputSpec:()=>zt,IsFinite:()=>Gl,IsInf:()=>Hl,IsNan:()=>jl,KernelBackend:()=>rc,LRN:()=>cc,LRNGrad:()=>hm,LayerVariable:()=>XT,LayersModel:()=>Nr,LeakyRelu:()=>Ri,Less:()=>ql,LessEqual:()=>Kl,LinSpace:()=>dm,Log:()=>Mi,Log1p:()=>Xl,LogSoftmax:()=>PI,LogicalAnd:()=>Yl,LogicalNot:()=>Zl,LogicalOr:()=>Jl,LogicalXor:()=>MI,LowerBound:()=>qF,MathBackendWebGL:()=>Rf,Max:()=>Pi,MaxPool:()=>Li,MaxPool3D:()=>dc,MaxPool3DGrad:()=>fm,MaxPoolGrad:()=>mm,MaxPoolWithArgmax:()=>gm,Maximum:()=>Oi,Mean:()=>zi,Min:()=>Wi,Minimum:()=>Bi,MirrorPad:()=>Vi,Mod:()=>Ql,MomentumOptimizer:()=>cf,Multinomial:()=>ym,Multiply:()=>Ui,Neg:()=>eu,NonMaxSuppressionV3:()=>nu,NonMaxSuppressionV4:()=>au,NonMaxSuppressionV5:()=>ru,NotEqual:()=>tu,OP_SCOPE_SUFFIX:()=>Cx,OneHot:()=>Gi,OnesLike:()=>su,Optimizer:()=>$r,OptimizerConstructors:()=>Hr,Pack:()=>iu,PadV2:()=>Hi,Pool:()=>KF,Pow:()=>ji,Prelu:()=>qi,Prod:()=>Ki,RMSPropOptimizer:()=>df,RNN:()=>dr,RaggedGather:()=>bm,RaggedRange:()=>xm,RaggedTensorToTensor:()=>vm,Range:()=>hc,Rank:()=>wb,Real:()=>wm,RealDiv:()=>Ni,Reciprocal:()=>ou,Reduction:()=>xn,Relu:()=>Xi,Relu6:()=>Ji,Reshape:()=>lu,ResizeBilinear:()=>Zi,ResizeBilinearGrad:()=>Im,ResizeNearestNeighbor:()=>Yi,ResizeNearestNeighborGrad:()=>km,Reverse:()=>Qi,RotateWithOffset:()=>Su,Round:()=>eo,Rsqrt:()=>to,SGDOptimizer:()=>Bc,ScatterNd:()=>uu,SearchSorted:()=>Sm,Select:()=>pu,Selu:()=>cu,Sequential:()=>hl,Sigmoid:()=>ao,Sign:()=>mu,Sin:()=>no,Sinh:()=>hu,Slice:()=>du,Softmax:()=>io,Softplus:()=>fu,SpaceToBatchND:()=>gu,SparseFillEmptyRows:()=>mc,SparseReshape:()=>bu,SparseSegmentMean:()=>fc,SparseSegmentSum:()=>gc,SparseToDense:()=>Tm,SplitV:()=>yu,Sqrt:()=>ro,Square:()=>yc,SquaredDifference:()=>oo,Step:()=>ms,StridedSlice:()=>xu,StringNGrams:()=>bc,StringSplit:()=>xc,StringToHashBucketFast:()=>vc,Sub:()=>lo,Sum:()=>so,SymbolicTensor:()=>Ba,Tan:()=>uo,Tanh:()=>po,Tensor:()=>Te,TensorBuffer:()=>Ht,Tile:()=>hs,TopK:()=>vu,Transform:()=>wu,Transpose:()=>Tr,Unique:()=>Nm,Unpack:()=>ku,UnsortedSegmentSum:()=>wc,UpperBound:()=>XF,Variable:()=>ts,ZerosLike:()=>Iu,_FusedMatMul:()=>Js,abs:()=>Lt,acos:()=>Bx,acosh:()=>Vx,add:()=>Y,addN:()=
`),K=D=>U.writeSync(2,D+`
`));var Z=c.print||q,Q=c.printErr||K;Object.assign(c,g),g=null,c.arguments&&(y=c.arguments),c.thisProgram&&(b=c.thisProgram),c.quit&&(x=c.quit);var ee=4,ae=Atomics.load,te=Atomics.store,le=Atomics.compareExchange,ie;c.wasmBinary&&(ie=c.wasmBinary);var ye=c.noExitRuntime||!0;typeof WebAssembly!="object"&&Lo("no native wasm support detected");var ue,xe,Ie=!1,Se;function Le(D,j){D||Lo(j)}var Ve=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function nt(D,j,re){for(var ce=j+re,ke=j;D[ke]&&!(ke>=ce);)++ke;if(ke-j>16&&D.buffer&&Ve)return Ve.decode(D.buffer instanceof SharedArrayBuffer?D.slice(j,ke):D.subarray(j,ke));for(var je="";j<ke;){var Ce=D[j++];if(!(Ce&128)){je+=String.fromCharCode(Ce);continue}var De=D[j++]&63;if((Ce&224)==192){je+=String.fromCharCode((Ce&31)<<6|De);continue}var Ot=D[j++]&63;if((Ce&240)==224?Ce=(Ce&15)<<12|De<<6|Ot:Ce=(Ce&7)<<18|De<<12|Ot<<6|D[j++]&63,Ce<65536)je+=String.fromCharCode(Ce);else{var la=Ce-65536;je+=String.fromCharCode(55296|la>>10,56320|la&1023)}}return je}function st(D,j){return D?nt(i(),D,j):""}function Je(D,j,re,ce){if(!(ce>0))return 0;for(var ke=re,je=re+ce-1,Ce=0;Ce<D.length;++Ce){var De=D.charCodeAt(Ce);if(De>=55296&&De<=57343){var Ot=D.charCodeAt(++Ce);De=65536+((De&1023)<<10)|Ot&1023}if(De<=127){if(re>=je)break;j[re++]=De}else if(De<=2047){if(re+1>=je)break;j[re++]=192|De>>6,j[re++]=128|De&63}else if(De<=65535){if(re+2>=je)break;j[re++]=224|De>>12,j[re++]=128|De>>6&63,j[re++]=128|De&63}else{if(re+3>=je)break;j[re++]=240|De>>18,j[re++]=128|De>>12&63,j[re++]=128|De>>6&63,j[re++]=128|De&63}}return j[re]=0,re-ke}function at(D,j,re){return Je(D,i(),j,re)}var ze,dt,Hn,Mt,sa,sn,Fn,ia,Dn;C&&(ze=c.buffer);function it(D){ze=D,c.HEAP8=dt=new Int8Array(D),c.HEAP16=Mt=new Int16Array(D),c.HEAP32=sn=new Int32Array(D),c.HEAPU8=Hn=new Uint8Array(D),c.HEAPU16=sa=new Uint16Array(D),c.HEAPU32=Fn=new Uint32Array(D),c.HEAPF32=ia=new Float32Array(D),c.HEAPF64=Dn=new Float64Array(D)}var Rn=c.INITIAL_MEMORY||16777216;if(C)ue=c.wasmMemory,ze=c.buffer;else if(c.wasmMemory)ue=c.wasmMemory;else if(ue=new WebAssembly.Memory({initial:Rn/65536,maximum:32768,shared:!0}),!(ue.buffer instanceof SharedArrayBuffer))throw Q("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"),T&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),Error("bad memory");ue&&(ze=ue.buffer),Rn=ze.byteLength,it(ze);var jn,gr=[],Mo=[],Ja=[],mp=!1;function wa(){return ye}function Po(){if(c.preRun)for(typeof c.preRun=="function"&&(c.preRun=[c.preRun]);c.preRun.length;)bg(c.preRun.shift());bp(gr)}function Xt(){mp=!0,!C&&bp(Mo)}function bd(){if(!C){if(c.postRun)for(typeof c.postRun=="function"&&(c.postRun=[c.postRun]);c.postRun.length;)I1(c.postRun.shift());bp(Ja)}}function bg(D){gr.unshift(D)}function xg(D){Mo.unshift(D)}function I1(D){Ja.unshift(D)}var Br=0,Oo=null,yr=null;function S1(D){Br++,c.monitorRunDependencies&&c.monitorRunDependencies(Br)}function T1(D){if(Br--,c.monitorRunDependencies&&c.monitorRunDependencies(Br),Br==0&&(Oo!==null&&(clearInterval(Oo),Oo=null),yr)){var j=yr;yr=null,j()}}function Lo(D){C?postMessage({cmd:"onAbort",arg:D}):c.onAbort&&c.onAbort(D),D="Aborted("+D+")",Q(D),Ie=!0,Se=1,D+=". Build with -sASSERTIONS for more info.";var j=new WebAssembly.RuntimeError(D);throw m(j),j}var vg="data:application/octet-stream;base64,";function xd(D){return D.startsWith(vg)}function fp(D){return D.startsWith("file://")}var yn;yn="tfjs-backend-wasm-threaded-simd.wasm",xd(yn)||(yn=A(yn));function vd(D){try{if(D==yn&&ie)return new Uint8Array(ie);if(S)return S(D);throw"both async and sync fetching of the wasm failed"}catch(j){Lo(j)}}function wg(){if(!ie&&(w||I)){if(typeof fetch=="function"&&!fp(yn))return fetch(yn,{credentials:"same-origin"}).then(function(D){if(!D.ok)throw"failed to load wasm binary file at '"+yn+"'";return D.arrayBuffer()}).catch(function(){return vd(yn)});if(F)
`;return c[c.length-1]=" "+c[c.length-1]+"]"+(s?"":m),c}function _p(e){let t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t}var Ht=class{constructor(e,t,n){if(this.dtype=t,this.shape=e.slice(),this.size=mt(e),n!=null){let a=n.length;$(a===this.size,()=>`Lengthofvalues'${a}'doesnotmatchthesizeinferredbytheshape'${this.size}'.`)}if(t==="complex64")throw new Error("complex64 dtype TensorBuffers are not supported. Please create a TensorBuffer for the real and imaginary parts separately and call tf.complex(real, imag).");this.values=n||TI(t,this.size),this.strides=vl(e)}set(e,...t){t.length===0&&(t=[0]),$(t.length===this.rank,()=>`Thenumberofprovidedcoordinates(${t.length})mustmatchtherank(${this.rank})`);let n=this.locToIndex(t);this.values[n]=e}get(...e){e.length===0&&(e=[0]);let t=0;for(let a of e){if(a<0||a>=this.shape[t]){let r=`Requestedoutofrangeelementat${e}.Buffershape=${this.shape}`;throw new Error(r)}t++}let n=e[e.length-1];for(let a=0;a<e.length-1;++a)n+=this.strides[a]*e[a];return this.values[n]}locToIndex(e){if(this.rank===0)return 0;if(this.rank===1)return e[0];let t=e[e.length-1];for(let n=0;n<e.length-1;++n)t+=this.strides[n]*e[n];return t}indexToLoc(e){if(this.rank===0)return[];if(this.rank===1)return[e];let t=new Array(this.shape.length);for(let n=0;n<t.length-1;++n)t[n]=Math.floor(e/this.strides[n]),e-=t[n]*this.strides[n];return t[t.length-1]=e,t}get rank(){return this.shape.length}toTensor(){return Oa().makeTensor(this.values,this.shape,this.dtype)}},Oa=null,Ko=null,fD=null;function gD(e){Oa=e}function yD(e){Ko=e}function bD(e){fD=e}var Te=class{constructor(e,t,n,a){this.kept=!1,this.isDisposedInternal=!1,this.shape=e.slice(),this.dtype=t||"float32",this.size=mt(e),this.strides=vl(e),this.dataId=n,this.id=a,this.rankType=this.rank<5?this.rank.toString():"higher"}get rank(){return this.shape.length}async buffer(){let e=await this.data();return Ko.buffer(this.shape,this.dtype,e)}bufferSync(){return Ko.buffer(this.shape,this.dtype,this.dataSync())}async array(){let e=await this.data();return Zo(this.shape,e,this.dtype==="complex64")}arraySync(){return Zo(this.shape,this.dataSync(),this.dtype==="complex64")}async data(){this.throwIfDisposed();let e=Oa().read(this.dataId);if(this.dtype==="string"){let t=await e;try{return t.map(n=>vh(n))}catch(n){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}}return e}dataToGPU(e){return this.throwIfDisposed(),Oa().readToGPU(this.dataId,e)}dataSync(){this.throwIfDisposed();let e=Oa().readSync(this.dataId);if(this.dtype==="string")try{return e.map(t=>vh(t))}catch(t){throw new Error("Failed to decode the string bytes into utf-8. To get the original bytes, call tensor.bytes().")}return e}async bytes(){this.throwIfDisposed();let e=await Oa().read(this.dataId);return this.dtype==="string"?e:new Uint8Array(e.buffer)}dispose(){this.isDisposed||(Oa().disposeTensor(this),this.isDisposedInternal=!0)}get isDisposed(){return this.isDisposedInternal}throwIfDisposed(){if(this.isDisposed)throw new Error("Tensor is disposed.")}print(e=!1){return Ko.print(this,e)}clone(){return this.throwIfDisposed(),Ko.clone(this)}toString(e=!1){let t=this.dataSync();return hD(t,this.shape,this.dtype,e)}cast(e){return this.throwIfDisposed(),Ko.cast(this,e)}variable(e=!0,t,n){return this.throwIfDisposed(),Oa().makeVariable(this,e,t,n)}};Object.defineProperty(Te,Symbol.hasInstance,{value:e=>!!e&&e.data!=null&&e.dataSync!=null&&e.throwIfDisposed!=null});function J(){return Sx("Tensor",()=>Te)}J();var ts=class extends Te{constructor(e,t,n,a){super(e.shape,e.dtype,e.dataId,a),this.trainable=t,this.name=n}assign(e){if(e.dtype!==this.dtype)throw new Error(`dtypeofthenewvalue(${e.dtype})andpreviousvalue(${this.dtype})mustmatch`);if(!ps(e.shape,this.shape))throw new Error(`shapeofthenewvalue(${e.shape})andpreviousvalue(${this.shape})mustmatch`);Oa().disposeTensor(this),this.dataId=e.dataId,Oa().incRef(this,null)}dispose(){Oa().disposeVariable(this),this.isDisposedInternal=!0}};Obje
ManifestJSONhasweightswithnames:${o.join(", ")}.`)}let l=r.reduce((h,m,f)=>(m&&h.push(f),h),[]),u=[];l.forEach(h=>{t[h].paths.forEach(m=>{let f=n+(n.endsWith("/")?"":"/")+m;u.push(f)})});let p=await e(u),d={},c=0;return l.forEach(h=>{let m=t[h].paths.length,f=0;for(let x=0;x<m;x++)f+=p[c+x].byteLength;let g=new ArrayBuffer(f),y=new Uint8Array(g),b=0;for(let x=0;x<m;x++){let w=new Uint8Array(p[c+x]);y.set(w,b),b+=w.byteLength}s[h].forEach(x=>{let w=g.slice(x.groupOffset,x.groupOffset+x.sizeBytes),I=jI(w,[x.manifestEntry]);for(let T in I)d[T]=I[T]}),c+=m}),d}}var fR="application/octet-stream",gR="application/json",Fx=class{constructor(e,t){if(this.DEFAULT_METHOD="POST",t==null&&(t={}),this.weightPathPrefix=t.weightPathPrefix,this.onProgress=t.onProgress,this.weightUrlConverter=t.weightUrlConverter,t.fetchFunc!=null?($(typeof t.fetchFunc=="function",()=>"Must pass a function that matches the signature of `fetch` (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)"),this.fetch=t.fetchFunc):this.fetch=H().platform.fetch,$(e!=null&&e.length>0,()=>"URL path for http must not be null, undefined or empty."),Array.isArray(e)&&$(e.length===2,()=>`URLpathsforhttpmusthavealengthof2,(actuallengthis${e.length}).`),this.path=e,t.requestInit!=null&&t.requestInit.body!=null)throw new Error("requestInit is expected to have no pre-existing body, but has one.");this.requestInit=t.requestInit||{}}async save(e){if(e.modelTopology instanceof ArrayBuffer)throw new Error("BrowserHTTPRequest.save() does not support saving model topology in binary formats yet.");let t=Object.assign({method:this.DEFAULT_METHOD},this.requestInit);t.body=new FormData;let n=[{paths:["./model.weights.bin"],weights:e.weightSpecs}],a=qI(e,n);t.body.append("model.json",new Blob([JSON.stringify(a)],{type:gR}),"model.json"),e.weightData!=null&&t.body.append("model.weights.bin",new Blob([e.weightData],{type:fR}),"model.weights.bin");let r=await this.fetch(this.path,t);if(r.ok)return{modelArtifactsInfo:Nc(e),responses:[r]};throw new Error(`BrowserHTTPRequest.save()failedduetoHTTPresponsestatus${r.status}.`)}async load(){let e=await this.fetch(this.path,this.requestInit);if(!e.ok)throw new Error(`Requestto${this.path}failedwithstatuscode${e.status}.PleaseverifythisURLpointstothemodelJSONofthemodeltoload.`);let t;try{t=await e.json()}catch(r){let s=`FailedtoparsemodelJSONofresponsefrom${this.path}.`;throw this.path.endsWith(".pb")?s+=" Your path contains a .pb file extension. Support for .pb models have been removed in TensorFlow.js 1.0 in favor of .json models. You can re-convert your Python TensorFlow model using the TensorFlow.js 1.0 conversion scripts or you can convert your.pb models with the 'pb2json'NPM script in the tensorflow/tfjs-converter repository.":s+=" Please make sure the server is serving valid JSON for this request.",new Error(s)}let n=t.modelTopology,a=t.weightsManifest;if(n==null&&a==null)throw new Error(`TheJSONfromHTTPpath${this.path}containsneithermodeltopologyormanifestforweights.`);return Ax(t,r=>this.loadWeights(r))}async loadWeights(e){let t=Array.isArray(this.path)?this.path[1]:this.path,[n,a]=yR(t),r=this.weightPathPrefix||n,s=XI(e),i=[],o=[];for(let u of e)for(let p of u.paths)this.weightUrlConverter!=null?o.push(this.weightUrlConverter(p)):i.push(r+p+a);this.weightUrlConverter&&i.push(...await Promise.all(o));let l=await aS(i,{requestInit:this.requestInit,fetchFunc:this.fetch,onProgress:this.onProgress});return[s,Ex(l)]}};Fx.URL_SCHEME_REGEX=/^https?:\/\//;function yR(e){let t=e.lastIndexOf("/"),n=e.lastIndexOf("?"),a=e.substring(0,t),r=n>t?e.substring(n):"";return[a+"/",r]}function $b(e){return e.match(Fx.URL_SCHEME_REGEX)!=null}var sS=(e,t)=>{if(typeof fetch=="undefined"&&(t==null||t.fetchFunc==null))return null;{let n=!0;if(Array.isArray(e)?n=e.every(a=>$b(a)):n=$b(e),n)return Dx(e,t)}return null};At.registerSaveRouter(sS);At.registerLoadRouter(sS);function Dx(e,t){return new Fx(e,t)}function bR(e,t){return Dx(e,t)}var lb=class{constructor(e){this.modelArtifacts=e}
Actual:${r}.
Expected:${s}.`);for(let i=0;i<s.length;++i){let o=r[i],l=s[i];if(!n(o,l))throw new Error(`Arraysdiffer:actual[${i}]=${o},expected[${i}]=${l}.
Actual:${r}.
Expected:${s}.`)}typeof expect!="undefined"&&expect().nothing()}function lM(e,t){e().then(()=>t.fail(),()=>t()),typeof expect!="undefined"&&expect().nothing()}function uM(e,t){let n=typeof t=="string"||typeof t=="number"||typeof t=="boolean"?[t]:t;return Kr(e)||Kr(e[0])||Kr(t)||Kr(t[0])?Db(e,n,(a,r)=>a==r):Db(e,t,(a,r)=>Wx(a,r,0))}function pM(e,t,n){if(n==null&&(n=zx()),!Wx(e,t,n))throw new Error(`Numbersdiffer:actual===${e},expected===${t}`);typeof expect!="undefined"&&expect().nothing()}function Wx(e,t,n){return!isFinite(e)&&!isFinite(t)?!0:!(isNaN(e)||isNaN(t)||Math.abs(e-t)>n)}function cM(e,t,n){for(let a=0;a<e.length;a++)if(e[a]<t||e[a]>n)throw new Error(`Valueoutofrange:${e[a]}low:${t},high:${n}`)}function dM(e,t){let n=new Float32Array(e),a=new Float32Array(t);if(n.length!==a.length)throw new Error(`ExpectedArrayBuffertobeoflength${a.length},butitwas${n.length}`);for(let r=0;r<a.length;r++)if(n[r]!==a[r])throw new Error(`ExpectedArrayBuffervalueat${r}tobe${a[r]}butgot${n[r]}instead`)}function NS(e){for(let t=0;t<e.length;t++){let n=e[t];Array.isArray(n)?NS(n):e[t]=Sc(n)}return e}function hM(e){let t=document.createElement("video");return"playsInline"in t&&(t.playsInline=!0),t.muted=!0,t.loop=!0,t.style.position="fixed",t.style.left="0px",t.style.top="0px",t.preload="auto",t.appendChild(e),new Promise(n=>{t.addEventListener("loadeddata",a=>n(t)),t.load()})}async function mM(e){await e.play(),"requestVideoFrameCallback"in e&&await new Promise(t=>{e.requestVideoFrameCallback(t)})}var fM="4.0.0";function gM(e,t){let n=_(e,"a","add"),a=_(t,"b","add");[n,a]=_t(n,a);let r={a:n,b:a};return O.runKernel(cs,r)}var Y=L({add_:gM});function yM(e,t){let n=_(e,"a","floorDiv"),a=_(t,"b","floorDiv");[n,a]=_t(n,a);let r={a:n,b:a};return O.runKernel(Ai,r)}var Am=L({floorDiv_:yM});function bM(e,t){let n=_(e,"a","div"),a=_(t,"b","div");if([n,a]=_t(n,a),n.dtype==="int32"&&a.dtype==="int32")return Am(n,a);let r={a:n,b:a},s={};return O.runKernel(Ni,r,s)}var he=L({div_:bM});function xM(e,t){let n=_(e,"a","mul"),a=_(t,"b","mul");[n,a]=_t(n,a);let r={a:n,b:a};return O.runKernel(Ui,r)}var z=L({mul_:xM});function vM(e){let t=_(e,"x","abs");if(t.dtype==="complex64"){let n={x:t};return O.runKernel(oc,n)}else{let n={x:t};return O.runKernel(wl,n)}}var Lt=L({abs_:vM});function wM(e){let t={x:_(e,"x","acos")};return O.runKernel(kl,t)}var Bx=L({acos_:wM});function kM(e){let t={x:_(e,"x","acosh")};return O.runKernel(Il,t)}var Vx=L({acosh_:kM});function IM(e){$(Array.isArray(e),()=>"The argument passed to tf.addN() must be a list of tensors"),$(e.length>=1,()=>`Mustpassatleastonetensortotf.addN(),butgot${e.length}`);let t=e.map((r,s)=>_(r,`tensors${s}`,"addN")),n=t[0];t.forEach(r=>{if(r.dtype!==n.dtype)throw new Error("All tensors passed to tf.addN() must have the same dtype")}),t.forEach(r=>{if(!ps(r.shape,n.shape))throw new Error("All tensors passed to tf.addN() must have the same shape")});let a=t;return O.runKernel(mi,a)}var CS=L({addN_:IM});function SM(e,t=null,n=!1){let a={x:_(e,"x","all","bool")},r={axis:t,keepDims:n};return O.runKernel(Sl,a,r)}var $m=L({all_:SM});function TM(e,t=null,n=!1){let a={x:_(e,"x","any","bool")},r={axis:t,keepDims:n};return O.runKernel(Tl,a,r)}var qp=L({any_:TM});function NM(e,t=0){let n={x:_(e,"x","argMax")},a={axis:t};return O.runKernel(fi,n,a)}var ai=L({argMax_:NM});function CM(e,t=0){let n={x:_(e,"x","argMin")},a={axis:t};return O.runKernel(sc,n,a)}var Ux=L({argMin_:CM});function _M(e){let t={x:_(e,"x","asin")};return O.runKernel(Nl,t)}var Gx=L({asin_:_M});function EM(e){let t={x:_(e,"x","asinh")};return O.runKernel(Cl,t)}var Hx=L({asinh_:EM});function AM(e){let t={x:_(e,"x","atan")};return O.runKernel(_l,t)}var jx=L({atan_:AM});function $M(e,t){let n=_(e,"a","atan2"),a=_(t,"b","atan2");[n,a]=_t(n,a);let r={a:n,b:a};return O.runKernel(Al,r)}var qx=L({atan2_:$M});function FM(e){let t={x:_(e,"x","atanh")};return O.runKernel(El,t)}var Kx=L({atanh_:FM});function DM(e,t,n,a,r="NHWC",s){let i=e[3],o=[...t,i],l=AS(r);return Ec(e,o,n,s,a,null,null,l)}function _S(e,t,n,a,r,s,i=
withdtype${s.dtype}.`)}),n.length===1)return rr(n[0]);let a=n,r={axis:t};return O.runKernel(Fl,a,r)}var Ze=L({concat_:VM});function UM(e){let t={x:_(e,"x","sigmoid","float32")};return O.runKernel(ao,t)}var da=L({sigmoid_:UM});function GM(e,t,n){let a=_(e,"x","slice","string_or_numeric");if(a.rank===0)throw new Error("Slicing scalar is not possible");let r={x:a},s={begin:t,size:n};return O.runKernel(du,r,s)}var Be=L({slice_:GM});function HM(e){let t={x:_(e,"x","tanh","float32")};return O.runKernel(po,t)}var ri=L({tanh_:HM});function jM(e,t,n,a,r,s){let i=_(e,"forgetBias","basicLSTMCell"),o=_(t,"lstmKernel","basicLSTMCell"),l=_(n,"lstmBias","basicLSTMCell"),u=_(a,"data","basicLSTMCell"),p=_(r,"c","basicLSTMCell"),d=_(s,"h","basicLSTMCell"),c=Ze([u,d],1),h=Fe(c,o),m=Y(h,l),f=m.shape[0],g=m.shape[1]/4,y=[f,g],b=Be(m,[0,0],y),x=Be(m,[0,g],y),w=Be(m,[0,g*2],y),I=Be(m,[0,g*3],y),T=Y(z(da(b),ri(x)),z(p,da(Y(i,w)))),C=z(ri(T),da(I));return[T,C]}var $S=L({basicLSTMCell_:jM});function qM(e,t,n){let a=_(e,"x","batchToSpaceND"),r=t.reduce((o,l)=>o*l);$(a.rank>=1+t.length,()=>`inputrankis${a.rank}butshouldbe>thanblockShape.length${t.length}`),$(n.length===t.length,()=>`crops.lengthis${n.length}butshouldbeequaltoblockShape.length${t.length}`),$(a.shape[0]%r===0,()=>`inputtensorbatchis${a.shape[0]}butisnotdivisiblebytheproductoftheelementsofblockShape${t.join(" * ")}===${r}`);let s={x:a},i={blockShape:t,crops:n};return O.runKernel($l,s,i)}var Ac=L({batchToSpaceND_:qM});function KM(e){let t;return e.rank===0||e.rank===1?t=W(e,[1,1,1,e.size]):e.rank===2?t=W(e,[1,1,e.shape[0],e.shape[1]]):e.rank===3?t=W(e,[1,e.shape[0],e.shape[1],e.shape[2]]):t=e,t}function XM(e,t,n,a,r,s){s==null&&(s=.001);let i=_(e,"x","batchNorm"),o=_(t,"mean","batchNorm"),l=_(n,"variance","batchNorm"),u;r!=null&&(u=_(r,"scale","batchNorm"));let p;a!=null&&(p=_(a,"offset","batchNorm")),$(o.rank===l.rank,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),$(p==null||o.rank===p.rank,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),$(u==null||o.rank===u.rank,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let d={x:KM(i),scale:u,offset:p,mean:o,variance:l},c={varianceEpsilon:s},h=O.runKernel($i,d,c);return W(h,i.shape)}var ys=L({batchNorm_:XM});function YM(e,t,n,a,r,s){let i=_(e,"x","batchNorm"),o=_(t,"mean","batchNorm"),l=_(n,"variance","batchNorm"),u;r!=null&&(u=_(r,"scale","batchNorm"));let p;return a!=null&&(p=_(a,"offset","batchNorm")),$(i.rank===2,()=>`ErrorinbatchNorm2D:xmustberank2butgotrank${i.rank}.`),$(o.rank===2||o.rank===1,()=>`ErrorinbatchNorm2D:meanmustberank2orrank1butgotrank${o.rank}.`),$(l.rank===2||l.rank===1,()=>`ErrorinbatchNorm2D:variancemustberank2orrank1butgotrank${l.rank}.`),u!=null&&$(u.rank===2||u.rank===1,()=>`ErrorinbatchNorm2D:scalemustberank2orrank1butgotrank${u.rank}.`),p!=null&&$(p.rank===2||p.rank===1,()=>`ErrorinbatchNorm2D:offsetmustberank2orrank1butgotrank${p.rank}.`),ys(i,o,l,p,u,s)}var Zx=L({batchNorm2d_:YM});function ZM(e,t,n,a,r,s){let i=_(e,"x","batchNorm"),o=_(t,"mean","batchNorm"),l=_(n,"variance","batchNorm"),u;r!=null&&(u=_(r,"scale","batchNorm"));let p;return a!=null&&(p=_(a,"offset","batchNorm")),$(i.rank===3,()=>`ErrorinbatchNorm3D:xmustberank3butgotrank${i.rank}.`),$(o.rank===3||o.rank===1,()=>`ErrorinbatchNorm3D:meanmustberank3orrank1butgotrank${o.rank}.`),$(l.rank===3||l.rank===1,()=>`ErrorinbatchNorm3D:variancemustberank3orrank1butgotrank${l.rank}.`),u!=null&&$(u.rank===3||u.rank===1,()=>`ErrorinbatchNorm3D:scalemustberank3orrank1butgotrank${u.rank}.`),p!=null&&$(p.rank===3||p.rank===1,()=>`ErrorinbatchNorm3D:offsetmustberank3orrank1butgotrank${p.rank}.`),ys(i,o,l,p,u,s)}var Jx=L({batchNorm3d_:ZM});function JM(e,t,n,a,r,s){let i=_(e,"x","batchNorm"),o=_(t,"mean","batchNorm"),l=_(n,"variance","batchNorm"),u;r!=null&&(u=_(r,"scale","batchNorm")
rank${s.rank}.`),$(tl(t),()=>`ErrorinlocalResponseNormalization:depthRadiusmustbeanintegerbutgotdepthRadius${t}.`);let i=s,o=!1;s.rank===3&&(o=!0,i=W(s,[1,s.shape[0],s.shape[1],s.shape[2]]));let l={x:i},u={depthRadius:t,bias:n,alpha:a,beta:r},p=O.runKernel(cc,l,u);return o?W(p,[p.shape[1],p.shape[2],p.shape[3]]):p}var wv=L({localResponseNormalization_:aO});function rO(e){let t={x:_(e,"x","log","float32")};return O.runKernel(Mi,t)}var ea=L({log_:rO});function sO(e){let t={x:_(e,"x","log1p")};return O.runKernel(Xl,t)}var Dc=L({log1p_:sO});function iO(e){return $(es(e),()=>"The f passed in grad(f) must be a function"),(t,n)=>{let a=_(t,"x","tf.grad","string_or_numeric"),r=n!=null?_(n,"dy","tf.grad"):null;return O.tidy(()=>{let{value:s,grads:i}=O.gradients(()=>e(a),[a],r);return r!=null&&Sn(s.shape,r.shape,"The shape of dy passed in grad(f)(x, dy) must match the shape returned by f(x)"),Lm(i),i[0]})}}function oO(e){return $(es(e),()=>"The f passed in grads(f) must be a function"),(t,n)=>{$(Array.isArray(t),()=>"The args passed in grads(f)(args) must be an array of `Tensor`s or `TensorLike`s");let a=jp(t,"args","tf.grads","string_or_numeric"),r=n!=null?_(n,"dy","tf.grads"):null;return O.tidy(()=>{let{value:s,grads:i}=O.gradients(()=>e(...a),a,r);return r!=null&&Sn(s.shape,r.shape,"The shape of dy passed in grads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Lm(i),i})}}function lO(e){return $(es(e),()=>"The f passed in valueAndGrad(f) must be a function"),(t,n)=>{$(t instanceof Te,()=>"The x passed in valueAndGrad(f)(x) must be a tensor"),$(n==null||n instanceof Te,()=>"The dy passed in valueAndGrad(f)(x, dy) must be a tensor");let{grads:a,value:r}=O.gradients(()=>e(t),[t],n);return Lm(a),{grad:a[0],value:r}}}function uO(e){return $(es(e),()=>"The f passed in valueAndGrads(f) must be a function"),(t,n)=>{$(Array.isArray(t)&&t.every(r=>r instanceof Te),()=>"The args passed in valueAndGrads(f)(args) must be array of tensors"),$(n==null||n instanceof Te,()=>"The dy passed in valueAndGrads(f)(args, dy) must be a tensor");let a=O.gradients(()=>e(...t),t,n);return n!=null&&Sn(a.value.shape,n.shape,"The shape of dy passed in valueAndGrads(f)([x1,...], dy) must match the shape returned by f([x1,...])"),Lm(a.grads),a}}function BS(e,t){$(es(e),()=>"The f passed in variableGrads(f) must be a function"),$(t==null||Array.isArray(t)&&t.every(u=>u instanceof ts),()=>"The varList passed in variableGrads(f, varList) must be an array of variables");let n=t!=null;if(!n){t=[];for(let u in O.registeredVariables)t.push(O.registeredVariables[u])}let a=n?t.filter(u=>!u.trainable):null,r=t.length;t=t.filter(u=>u.trainable),$(t.length>0,()=>`variableGrads()expectsatleastoneoftheinputvariablestobetrainable,butnoneofthe${r}variablesistrainable.`);let s=!0,{value:i,grads:o}=O.gradients(e,t,null,s);$(o.some(u=>u!=null),()=>"Cannot find a connection between any variable and the result of the loss function y=f(x). Please make sure the operations that use variables are inside the function f passed to minimize()."),$(i.rank===0,()=>`ThefpassedinvariableGrads(f)mustreturnascalar,butitreturnedarank-${i.rank}tensor`);let l={};return t.forEach((u,p)=>{o[p]!=null&&(l[u.name]=o[p])}),a!=null&&a.forEach(u=>l[u.name]=null),{value:i,grads:l}}function or(e){return O.customGrad(e)}function Lm(e){if(e.filter(t=>t==null).length>0)throw new Error(`Cannotcomputegradientofy=f(x)withrespecttox.Makesurethat
thefyoupassedenclosesalloperationsthatleadfromxtoy.`)}function pO(e){let t={x:_(e,"x","softplus")};return O.runKernel(fu,t)}var ho=L({softplus_:pO});function cO(e){let t=_(e,"x","logSigmoid");return or(n=>({value:bt(ho(bt(n))),gradFunc:a=>z(a,da(bt(n)))}))(t)}var kv=L({logSigmoid_:cO});function dO(e,t){let n=_(e,"a","sub"),a=_(t,"b","sub");[n,a]=_t(n,a);let r={a:n,b:a};return O.runKernel(lo,r)}var pe=L({sub_:dO});function hO(e,t=-1){let n=_(e,"logits","logSoftmax");if(t===-1&&(t=n.rank-1),t!==n.rank-1)throw Error(`LogSoftmaxalonganon-lastdimensionisnotyetsupported.Logitswasrank${n.rank}andaxiswas${t}`);return or((a,r)=>{let s=ha(a,t,!0),i=pe(a,s),o=pe(oe(i,"float32"),ea(fe(fn(i),t,!0)));return r([o]),{value:o,gradFunc:(l,u)=>{let[p]=u,d=!0,c=fn(p);return pe(l,z(fe(l,t,d),c))}}})(n)}var zm=L({logSoftmax_:hO});function mO(e,t=null,n=!1){let a=_(e,"x","logSumExp"),r=Aa(t,a.shape),s=ha(a,r,!0),i=pe(a,s),o=fn(i),l=fe(o,r),u=ea(l),p=Y(W(s,u.shape),u);if(n){let d=si(p.shape,r);return W(p,d)}return p}var Wm=L({logSumExp_:mO});function fO(e,t){let n=_(e,"a","logicalAnd","bool"),a=_(t,"b","logicalAnd","bool");lt(n.shape,a.shape);let r={a:n,b:a};return O.runKernel(Yl,r)}var Ea=L({logicalAnd_:fO});function gO(e){let t={x:_(e,"x","logicalNot","bool")};return O.runKernel(Zl,t)}var Rc=L({logicalNot_:gO});function yO(e,t){let n=_(e,"a","logicalOr","bool"),a=_(t,"b","logicalOr","bool");lt(n.shape,a.shape);let r={a:n,b:a};return O.runKernel(Jl,r)}var Bm=L({logicalOr_:yO});function bO(e,t){let n=_(e,"a","logicalXor","bool"),a=_(t,"b","logicalXor","bool");return lt(n.shape,a.shape),Ea(Bm(e,t),Rc(Ea(e,t)))}var Iv=L({logicalXor_:bO}),Hd=2147483648;function xO(e,t,n="left"){let a=_(e,"sortedSequence","searchSorted"),r=_(t,"values","searchSorted"),s=a.shape[a.shape.length-1],i=r.shape[r.shape.length-1],o=W(a,[-1,s]),l=W(r,[-1,i]);if(o.rank<2)throw new Error("Sorted input argument must be at least 2-dimensional");if(o.shape[0]!==l.shape[0])throw new Error("Leading dimension of 'sortedSequence' and 'values' must match.");if(mt(l.shape)>=Hd)throw new Error(`valuestensorsizemustlessthan${Hd}`);if(o.shape[1]>=Hd)throw new Error(`trailingdim_sizemustlessthan${Hd}forint32outputtype,was${o.shape[1]}`);let u={sortedSequence:o,values:l},p={side:n};return O.runKernel(Sm,u,p)}var Vm=L({searchSorted_:xO});function VS(e,t){return Vm(e,t,"left")}function vO(e,t,n,a,r){let s=_(e,"x","maxPool"),i=1,o=s,l=!1;s.rank===3&&(l=!0,o=W(s,[1,s.shape[0],s.shape[1],s.shape[2]])),$(o.rank===4,()=>`ErrorinmaxPool:inputmustberank4butgotrank${o.rank}.`),$(ur(n,i),()=>`ErrorinmaxPool:Eitherstridesordilationsmustbe1.Gotstrides${n}anddilations'${i}'`),Tn("maxPool",a,r);let u={x:o},p={filterSize:t,strides:n,pad:a,dimRoundingMode:r},d=O.runKernel(Li,u,p);return l?W(d,[d.shape[1],d.shape[2],d.shape[3]]):d}var Dt=L({maxPool_:vO});function wO(e,t=[1,1,1],n,a,r,s="NDHWC"){let i=_(e,"x","maxPool3d"),o=i,l=!1;i.rank===4&&(l=!0,o=W(i,[1,i.shape[0],i.shape[1],i.shape[2],i.shape[3]])),$(o.rank===5,()=>`ErrorinmaxPool3d:xmustberank5butgotrank${o.rank}.`),$(s==="NDHWC",()=>`ErrorinmaxPool3d:OnlyNDHWCiscurrentlysupported,butgotdataFormatof${s}`),Tn("maxPool3d",a,r);let u={x:o},p={filterSize:t,strides:n,pad:a,dimRoundingMode:r,dataFormat:s},d=O.runKernel(dc,u,p);return l?W(d,[d.shape[1],d.shape[2],d.shape[3],d.shape[4]]):d}var Sv=L({maxPool3d_:wO});function kO(e,t,n,a,r=!1){let s={x:_(e,"x","maxPoolWithArgmax")},i={filterSize:t,strides:n,pad:a,includeBatchInIndex:r},o=O.runKernel(gm,s,i);return{result:o[0],indexes:o[1]}}var US=L({maxPoolWithArgmax_:kO});function IO(e,t){let n=_(e,"a","maximum"),a=_(t,"b","maximum");[n,a]=_t(n,a),n.dtype==="bool"&&(n=oe(n,"int32"),a=oe(a,"int32")),lt(n.shape,a.shape);let r={a:n,b:a};return O.runKernel(Oi,r)}var pr=L({maximum_:IO});function SO(e,t=null,n=!1){let a={x:_(e,"x","mean")},r={axis:t,keepDims:n};return O.runKernel(zi,a,r)}var Nt=L({mean_:SO});function It(e,t="float32"){if(t==="complex64"){let a=It(e,"float32"),r=It(e,"float32");return Cr(a,r)}let n=Kh(m
${r.shape}`);if(s.rank!==1)throw new Error(`ValuesshouldbeTensor1Dbutreceivedshape${s.shape}`);if(i.rank!==1)throw new Error(`DenseshapeshouldbeTensor1Dbutreceivedshape${i.shape}`);if(o.rank!==0)throw new Error(`Defaultvalueshouldbeascalarbutreceivedshape${o.shape}`);let l={indices:r,values:s,denseShape:i,defaultValue:o},u=O.runKernel(mc,l);return{outputIndices:u[0],outputValues:u[1],emptyRowIndicator:u[2],reverseIndexMap:u[3]}}var mz=L({sparseFillEmptyRows_:hz});function fz(e,t,n){let a=_(e,"inputIndices","sparseReshape","int32"),r=_(t,"inputShape","sparseReshape","int32"),s=_(n,"newShape","sparseReshape","int32");if(a.rank!==2)throw new Error(`InputindicesshouldbeTensor2Dbutreceivedshape
${a.shape}`);if(r.rank!==1)throw new Error(`InputshapeshouldbeTensor1Dbutreceivedshape${r.shape}`);if(s.rank!==1)throw new Error(`NewshapeshouldbeTensor1Dbutreceivedshape${s.shape}`);let i={inputIndices:a,inputShape:r,newShape:s},o=O.runKernel(bu,i);return{outputIndices:o[0],outputShape:o[1]}}var gz=L({sparseReshape_:fz});function yz(e,t,n){let a=_(e,"data","sparseSegmentMean"),r=_(t,"indices","sparseSegmentMean","int32"),s=_(n,"segmentIds","sparseSegmentMean","int32");if(a.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(r.rank!==1)throw new Error(`IndicesshouldbeTensor1Dbutreceivedshape
${r.shape}`);if(s.rank!==1)throw new Error(`SegmentidsshouldbeTensor1Dbutreceivedshape
${s.shape}`);let i={data:a,indices:r,segmentIds:s};return O.runKernel(fc,i)}var bz=L({sparseSegmentMean_:yz});function xz(e,t,n){let a=_(e,"data","sparseSegmentSum"),r=_(t,"indices","sparseSegmentSum","int32"),s=_(n,"segmentIds","sparseSegmentSum","int32");if(a.rank<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(r.rank!==1)throw new Error(`IndicesshouldbeTensor1Dbutreceivedshape
${r.shape}`);if(s.rank!==1)throw new Error(`SegmentidsshouldbeTensor1Dbutreceivedshape
${s.shape}`);let i={data:a,indices:r,segmentIds:s};return O.runKernel(gc,i)}var vz=L({sparseSegmentSum_:xz});function wz(e,t,n,a,r,s,i,o){let l=_(e,"data","stringNGrams","string");if(l.dtype!=="string")throw new Error("Data must be of datatype string");if(l.shape.length!==1)throw new Error(`Datamustbeavector,saw:${l.shape}`);let u=_(t,"dataSplits","stringNGrams");if(u.dtype!=="int32")throw new Error("Data splits must be of datatype int32");let p={separator:n,nGramWidths:a,leftPad:r,rightPad:s,padWidth:i,preserveShortSequences:o},d={data:l,dataSplits:u},c=O.runKernel(bc,d,p);return{nGrams:c[0],nGramsSplits:c[1]}}var kz=L({stringNGrams_:wz});function Iz(e,t,n=!0){let a=_(e,"input","stringSplit","string"),r=_(t,"delimiter","stringSplit","string");if(a.rank!==1)throw new Error(`InputshouldbeTensor1Dbutreceivedshape${a.shape}`);if(r.rank!==0)throw new Error(`Delimitershouldbeascalarbutreceivedshape${r.shape}`);let s={skipEmpty:n},i={input:a,delimiter:r},o=O.runKernel(xc,i,s);return{indices:o[0],values:o[1],shape:o[2]}}var Sz=L({stringSplit_:Iz});function Tz(e,t){let n=_(e,"input","stringToHashBucketFast","string"),a={numBuckets:t};if(t<=0)throw new Error("Number of buckets must be at least 1");let r={input:n};return O.runKernel(vc,r,a)}var Nz=L({stringToHashBucketFast_:Tz}),_T={fft:zc,ifft:ul,rfft:Wc,irfft:Zm},ET={hammingWindow:rL,hannWindow:wT,frame:kT,stft:lL},za={flipLeftRight:dL,grayscaleToRGB:mL,resizeNearestNeighbor:CT,resizeBilinear:NT,rotateWithOffset:gL,cropAndResize:pL,nonMaxSuppression:bL,nonMaxSuppressionAsync:NL,nonMaxSuppressionWithScore:_L,nonMaxSuppressionWithScoreAsync:AL,nonMaxSuppressionPadded:FL,nonMaxSuppressionPaddedAsync:RL,threshold:zL,transform:BL},Uv={bandPart:UL,gramSchmidt:HL,qr:qL},AT={absoluteDifference:YL,computeWeightedLoss:Ar,cosineDistance:JL,hingeLoss:ez,huberLoss:nz,logLoss:rz,meanSquaredError:iz,sigmoidCrossEntropy:uz,softmaxCrossEntropy:dz},$T={sparseFillEmptyRows:mz,sparseReshape:gz,sparseSegmentMean:bz,sparseSegmentSum:vz},FT={stringNGrams:kz,stringSplit:Sz,stringToHashBucketFast:Nz},$r=class extends IS{minimize(e,t=!1,n){let{value:a,grads:r}=this.computeGradients(e,n);if(n!=null){let s=n.map(i=>({name:i.name,tensor:r[i.name]}));this.applyGradients(s)}else this.applyGradients(r);return _e(r),t?a:(a.dispose(),null)}get iterations(){return this.iterations_==null&&(this.iterations_=0),this.iterations_}incrementIterations(){this.iterations_=this.iterations+1}computeGradients(e,t){return BS(e,t)}dispose(){this.iterations_!=null&&_e(this.iterations_)}async saveIterations(){return this.iterations_==null&&(this.iterations_=0),{name:"iter",tensor:be(this.iterations_,"int32")}}async getWeights(){throw new Error("getWeights() is not implemented for this optimizer yet.")}async setWeights(e){throw new Error(`setWeights()isnotimplementedforthisoptimizerclass${this.getClassName()}`)}async extractIterations(e){return this.iterations_=(await e[0].tensor.data())[0],e.slice(1)}};Object.defineProperty($r,Symbol.hasInstance,{value:e=>e.minimize!=null&&e.computeGradients!=null&&e.applyGradients!=null});var of=class extends $r{constructor(e,t,n=null){super(),this.learningRate=e,this.rho=t,this.epsilon=n,this.accumulatedGrads=[],this.accumulatedUpdates=[],n==null&&(this.epsilon=O.backend.epsilon())}applyGradients(e){(Array.isArray(e)?e.map(t=>t.name):Object.keys(e)).forEach((t,n)=>{let a=O.registeredVariables[t],r=!1;this.accumulatedGrads[n]==null&&(this.accumulatedGrads[n]={originalName:`${t}/accum_grad`,variable:P(()=>qe(a).variable(r))}),this.accumulatedUpdates[n]==null&&(this.accumulatedUpdates[n]={originalName:`${t}/accum_var`,variable:P(()=>qe(a).variable(r))});let s=Array.isArray(e)?e[n].tensor:e[t];if(s==null)return;let i=this.accumulatedGrads[n].variable,o=this.accumulatedUpdates[n].variable;P(()=>{let l=Y(z(i,this.rho),z(ot(s),1-this.rho)),u=z(he(ln(Y(o,this.epsilon)),ln(Y(i,this.epsilon))),s),p=Y(z(o,this.rho),z(ot(u),1-this.rho));i.assign(l),o.assign(p);let d=Y(z(u,-this.learningRate),a);a.assign(d)})}),this.incrementIterations()}dispose(){this.accumulatedUpda
indices.shape[0]=${e}`}function pW(e,t){return`indices(${e},0)isinvalid:${t}<0`}function cW(e,t,n){return`indices(${e},0)isinvalid:${t}>=${n}`}function dW(e,t){return`onlyoneoutputdimensionmaybe-1,notboth${e}and${t}`}function hW(e,t){return`size${e}mustbenon-negative,not${t}`}function mW(){return"reshape cannot infer the missing input size for an empty tensor unless all specified input sizes are non-zero"}function fW(e,t){let n=mt(e),a=mt(t);return`InputtoreshapeisaSparseTensorwith${n}
densevalues,buttherequestedshaperequiresamultipleof${a}.inputShape=${e}outputShape=${t}`}function gW(e,t){let n=mt(e),a=mt(t);return`Inputtoreshapeisatensorwith${n}densevalues,buttherequestedshapehas${a}.inputShape=${e}outputShape=${t}`}function yW(){return"segment ids must be >= 0"}function bW(){return"segment ids are not increasing"}function xW(e,t){return`Segmentid${e}outofrange[0,${t}),possiblybecausesegmentIdsinputisnotsorted.`}function vW(e,t,n){return`Bad:indices[${e}]==${t}outofrange[0,${n})`}var MT={};Ae(MT,{collectGatherOpShapeInfo:()=>IW,computeOutShape:()=>kW,segOpComputeOptimalWindowSize:()=>wW});function wW(e,t){let n=!1,a;for(e<=Hv?(a=e,n=!0):a=mh(e,Math.floor(Math.sqrt(e)));!n;)a>t||a===e?n=!0:a=mh(e,a+1);return a}function kW(e,t,n){let a=[],r=e.length;for(let s=0;s<r;s++)s!==t?a.push(e[s]):a.push(n);return a}function IW(e,t,n,a){let r=t.shape.length,s=e.shape.length;if(a!==0&&(a<-r||a>r))throw new Error(`ExpectbatchDimsintherangeof[-${r},${r}],butgot${a}`);if(a<0&&(a+=r),a>s)throw new Error(`batchDims(${a})mustbelessthanrank(x)(
2.Thecustom${a}isdefinedinJavaScript,butisnotregisteredproperlywithtf.serialization.registerClass().`);return i}else{let s=e;if(s.className==null||s.config==null)throw new V(`${a}:Improperconfigformat:${JSON.stringify(s)}.
'className'and'config'mustset.`);let i=s.className,o,l;if(i in n?[o,l]=n[i]:i in ka?[o,l]=ka.className:i in t&&([o,l]=t[i]),o==null)throw new V(`Unknown${a}:${i}.Thismaybeduetooneofthefollowingreasons:
2.Thecustom${a}isdefinedinJavaScript,butisnotregisteredproperlywithtf.serialization.registerClass().`);if(l!=null){let u={};for(let h of Object.keys(ka))u[h]=ka[h];for(let h of Object.keys(n))u[h]=n[h];let p=s.config;p.customObjects=u;let d=Object.assign({},ka);for(let h of Object.keys(n))ka[h]=n[h];Mb(s.config);let c=l(o,s.config,n,r);return ka=Object.assign({},d),c}else{let u=Object.assign({},ka);for(let d of Object.keys(n))ka[d]=n[d];let p=new o(s.config);return ka=Object.assign({},u),p}}}function A4(e,t){return e<t?-1:e>t?1:0}function jd(e,t){return-1*A4(e,t)}function Jr(e){if(e==null)return e;let t=[];for(let n of e)t.indexOf(n)===-1&&t.push(n);return t}function $4(e){if(e==null)throw new V(`Invalidvalueinobj:${JSON.stringify(e)}`);for(let t in e)if(e.hasOwnProperty(t))return!1;return!0}function go(e,t,n){if(n!=null&&e.indexOf(n)<0)throw new V(`${n}isnotavalid${t}.Validvaluesare${e}ornull/undefined.`)}function qv(e,t,n=0,a=1/0){return tr(n>=0),tr(a>=n),Array.isArray(e)&&e.length>=n&&e.length<=a&&e.every(r=>typeof r===t)}function Qt(e,t){Array.isArray(e)?(v.assert(e.length>0,()=>`${t}isunexpectedlyanemptyarray.`),e.forEach((n,a)=>Qt(n,`element${a+1}of${t}`))):v.assert(Number.isInteger(e)&&e>0,()=>`Expected${t}tobeapositiveinteger,butgot${WT(e)}.`)}function WT(e){return e===null?"null":Array.isArray(e)?"["+e.map(t=>WT(t)).join(",")+"]":typeof e=="string"?`"${e}"`:`${e}`}function F4(e,t,n){let a=n!=null?n():v.now(),r;return(...s)=>{let i=n!=null?n():v.now();return i-a<t||(a=i,r=e(...s)),r}}function BT(e){return e==="relu"?"relu":e==="linear"?"linear":e==="elu"?"elu":null}var D4=0;function VT(){return D4++}var qd={};function hf(e=""){return e in qd||(qd[e]=0),qd[e]+=1,e+qd[e].toString()}var R4=["channelsFirst","channelsLast"],M4=["nearest","bilinear"],P4=["valid","same","causal"],O4=["max","avg"],L4=["sum","mul","concat","ave"],Ho=new Map;function Rt(e){go(R4,"DataFormat",e)}function z4(e){go(M4,"InterpolationFormat",e)}function ba(e){go(P4,"PaddingMode",e)}function UT(e){go(O4,"PoolMode",e)}var zp=[],lk="/";function Xs(e,t){zp.push(e);try{let n=t();return zp.pop(),n}catch(n){throw zp.pop(),n}}function W4(){return zp.length===0?"":zp.join(lk)+lk}function GT(e){if(!jT(e))throw new Error("Not a valid tensor name: '"+e+"'");return W4()+e}function HT(e){if(!jT(e))throw new Error("Not a valid tensor name: '"+e+"'");Ho.has(e)||Ho.set(e,0);let t=Ho.get(e);if(Ho.set(e,Ho.get(e)+1),t>0){let n=`${e}_${t}`;return Ho.set(n,1),n}else return e}var B4=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function jT(e){return!!e.match(B4)}function V4(e){return e===parseInt(e.toString(),10)}function Qr(e,t,n){t==null&&(t=0),n==null&&(n=e.length);let a=1;for(let r=t;r<n;++r)a*=e[r];return a}function cl(e){if(e.length===0)return Number.NaN;let t=Number.POSITIVE_INFINITY;for(let n=0;n<e.length;n++){let a=e[n];a<t&&(t=a)}return t}function as(e){if(e.length===0)return Number.NaN;let t=Number.NEGATIVE_INFINITY;for(let n=0;n<e.length;n++){let a=e[n];a>t&&(t=a)}return t}function Ha(e,t){if(t<e)throw new V(`end(${t})<begin(${e})isforbidden.`);let n=[];for(let a=e;a<t;++a)n.push(a);return n}var pb;function Gt(){return pb==null&&(pb=uS().epsilon()),pb}function ja(){return"channelsLast"}function yo(e,t){return oe(e,t)}function Uc(e,t=-1){let n=e.shape.slice();return t<0&&(t=n.length+t+1),n.splice(t,0,1),W(e,n)}function U4(e,t){return P(()=>{if(e.shape.length!==2)throw new V(`repeat()expectsarank-2tensor,butreceivedarank-${e.shape.length}tensor.`);let n=Uc(e,1);return Pb(n,[1,t,1])})}function G4(e){let t=[Qr(e.shape)];return W(e,t)}function H4(e){if(e.rank<=1)throw new V(`batchFlattenrequiresaminimumrankof2.Gotrank:${e.rank}.`);let t=[e.shape[0],Qr(e.shape,1)];return W(e,t)}function Ys(e,t,n){return P(()=>{switch(e.rank){case 1:return Lc(e,t,n);case 2:return Ym(e,[t,0],[n,e.shape[1]]);case 3:return mo(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return ll(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return Be(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);cas
ReceivedcountWeights=${t.countWeights}`);n=Ne(t.countWeights)}let a=ha(e),r=il(e),s=Nn(this.numTokens,a).bufferSync().get(0),i=Er(r,0).bufferSync().get(0);if(!(s&&i))throw new V(`Inputvaluesmustbebetween0<values<=numTokenswithnumTokens=${this.numTokens}`);return zU(e,this.outputMode,this.numTokens,n)})}};g0.className="CategoryEncoding";ne.registerClass(g0);function WU(e){return new Du(e)}function BU(e){return new xw(e)}function VU(e){return new gw(e)}function UU(e){return new yw(e)}function GU(e){return new bw(e)}function HU(e){return new ww(e)}function jU(e){return new vw(e)}function qU(e){return new Tf(e)}function KU(e){return new Xc(e)}function XU(e){return new Sw(e)}function YU(e){return new Yc(e)}function ZU(e){return new Tw(e)}function JU(e){return new Nw(e)}function QU(e){return new Cw(e)}function eG(e){return new _w(e)}function tG(e){return new Ew(e)}function nG(e){return new Ow(e)}function aG(e){return new Mw(e)}function rG(e){return new Af(e)}function sG(e){return new Rw(e)}function iG(e){return new Pw(e)}function oG(e){return new Lw(e)}function lG(e){return new zw(e)}function uG(e){return new Ww(e)}function pG(e){return new Vw(e)}function cG(e){return new Uw(e)}function dG(e){return new Hw(e)}function hG(e){return new Kw(e)}function mG(e){return new jw(e)}function fG(e){return new qw(e)}function gG(e){return new Gw(e)}function yG(e){return new Xw(e)}function bG(e){return new Qw(e)}function xG(e){return new e0(e)}function vG(e){return new t0(e)}function y0(e){return new a0(e)}function wG(e){return y0(e)}function kG(e){return y0(e)}function b0(e){return new s0(e)}function IG(e){return b0(e)}function SG(e){return b0(e)}function x0(e){return new o0(e)}function TG(e){return x0(e)}function NG(e){return x0(e)}function CG(e){return new l0(e)}function _G(e){return new p0(e)}function HN(e){return new u0(e)}function jN(e){return new c0(e)}function qN(e){return new n0(e)}function KN(e){return new r0(e)}function EG(e){return new i0(e)}function AG(e){return new $w(e)}function $G(e){return new Cf(e)}function FG(e){return new Fw(e)}function DG(e){return new Jc(e)}function RG(e){return new Aw(e)}function MG(e){return new Nf(e)}function PG(e){return new Dw(e)}function OG(e){return new Ef(e)}function LG(e){return new dr(e)}function zG(e){return new _f(e)}function WG(e){return new h0(e)}function BG(e){return new d0(e)}var VG=HN,UG=jN,GG=qN,HG=KN;function jG(e){return new Yw(e)}function qG(e){return new Zw(e)}function KG(e){return new Jw(e)}function XG(e){return new Bw(e)}function YG(e){return new m0(e)}function ZG(e){return new f0(e)}function JG(e){return new g0(e)}var XN={};Ae(XN,{MAPE:()=>uH,MSE:()=>dH,binaryAccuracy:()=>QG,binaryCrossentropy:()=>eH,categoricalAccuracy:()=>nH,categoricalCrossentropy:()=>aH,cosineProximity:()=>iH,mape:()=>pH,meanAbsoluteError:()=>oH,meanAbsolutePercentageError:()=>lH,meanSquaredError:()=>cH,mse:()=>hH,precision:()=>rH,recall:()=>sH,sparseCategoricalAccuracy:()=>tH});function QG(e,t){return uw(e,t)}function eH(e,t){return uN(e,t)}function tH(e,t){return pN(e,t)}function nH(e,t){return pw(e,t)}function aH(e,t){return cw(e,t)}function rH(e,t){return lN(e,t)}function sH(e,t){return VV(e,t)}function iH(e,t){return lw(e,t)}function oH(e,t){return If(e,t)}function lH(e,t){return Ru(e,t)}function uH(e,t){return Ru(e,t)}function pH(e,t){return Ru(e,t)}function cH(e,t){return bo(e,t)}function dH(e,t){return bo(e,t)}function hH(e,t){return bo(e,t)}var YN={};Ae(YN,{modelFromJSON:()=>bU});var ZN={};Ae(ZN,{l1:()=>fH,l1l2:()=>mH,l2:()=>gH});function mH(e){return new qc(e)}function fH(e){return TU(e)}function gH(e){return NU(e)}var JN=class extends dl{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof Nr))throw new Error("model must be a LayersModel, not some other Container");this.model=e}};function Yd(e,t){return e<t}function Ck(e,t){return e>t}var QN=class extends JN{constructor(e){if(super(),e==null&&(e={}),e.restoreBestWeights)throw new Re("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.min
becausethevaluedtypeis${t.dtype},butTensorArraydtypeis${this.dtype}.`);if(this.size()===0&&(this.elementShape==null||this.elementShape.length===0)&&(this.elementShape=t.shape),Ca(this.elementShape,t.shape,`TensorArray${this.name}:CouldnotwritetoTensorArrayindex${e}.`),n.read)throw new Error(`TensorArray${this.name}:CouldnotwritetoTensorArrayindex${e},becauseithasalreadybeenread.`);if(n.written)throw new Error(`TensorArray${this.name}:CouldnotwritetoTensorArrayindex${e},becauseithasalreadybeenwritten.`);n.tensor=t,Jt(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray${this.name}:couldnotwritemultipletensors,becausetheindexsize:${e.length}isnotthesameastensorssize:${t.length}.`);e.forEach((n,a)=>this.write(n,t[a]))}gather(e,t){if(!!t&&t!==this.dtype)throw new Error(`TensorArraydtypeis${this.dtype}butgatherrequesteddtype${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let a=0;a<this.size();a++)e.push(a)}if(e.length===0)return kn([],[0].concat(this.elementShape));let n=this.readMany(e);return Ca(this.elementShape,n[0].shape,"TensorArray shape mismatch: "),Ft(n,0)}concat(e){if(!!e&&e!==this.dtype)throw new Error(`TensorArraydtypeis${this.dtype}butconcatrequesteddtype${e}`);if(this.size()===0)return kn([],[0].concat(this.elementShape));let t=[];for(let a=0;a<this.size();a++)t.push(a);let n=this.readMany(t);return Ca(this.elementShape,n[0].shape,`TensorArrayshapemismatch:tensorarrayshape(${this.elementShape})vsfirsttensorshape(${n[0].shape})`),Ze(n,0)}scatter(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArraydtypeis${this.dtype}buttensorhasdtype${t.dtype}`);if(e.length!==t.shape[0])throw new Error(`Expectedlen(indices)==tensor.shape[0],butsaw:${e.length}vs.${t.shape[0]}`);let n=Math.max(...e);if(!this.dynamicSize&&n>=this.maxSize)throw new Error(`Maxindexmustbe<arraysize(${n}vs.${this.maxSize})`);this.writeMany(e,ct(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArraydtypeis${this.dtype}buttensorhasdtype${t.dtype}`);let n=0,a=e.map(o=>(n+=o,n));if(n!==t.shape[0])throw new Error(`Expectedsumoflengthstobeequalto
tensor.shape[0],butsumoflengthsis
${n},andtensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray'ssizeisnotequaltothesizeoflengths(${this.maxSize}vs.${e.length}),andtheTensorArrayisnotmarkedasdynamicallyresizeable`);let r=n===0?0:t.size/n,s=[];P(()=>{t=W(t,[1,n,r]);for(let o=0;o<e.length;++o){let l=o===0?0:a[o-1],u=[0,l,0],p=[1,e[o],r];s[o]=W(Be(t,u,p),this.elementShape)}return s});let i=[];for(let o=0;o<e.length;o++)i[o]=o;this.writeMany(i,s)}},ml=class{constructor(e,t,n,a=-1){this.tensors=e,this.elementShape=t,this.elementDtype=n,e!=null&&e.forEach(r=>{if(n!==r.dtype)throw new Error(`Invaliddatatypes;opelements${n},butlistelements${r.dtype}`);Ca(t,r.shape,"TensorList shape mismatch: "),Jt(r)}),this.idTensor=be(0),this.maxNumElements=a,Jt(this.idTensor)}get id(){return this.idTensor.id}copy(){return new ml([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{(e==null||!e.has(t.id))&&t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invaliddatatypes;opelements${t},butlistelements${this.elementDtype}`);if(n!==-1&&this.tensors.length!==n)throw new Error(`Operationexpectedalistwith${n}elementsbutgotalistwith${this.tensors.length}elements.`);Ca(e,this.elementShape,"TensorList shape mismatch: ");let a=Tp(this.elementShape,this.tensors,e);return P(()=>{let r=this.tensors.map(s=>W(s,a));return Ft(r,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invaliddatatypes;opelements${t},butlistelements${this.elementDtype}`);if(this.size()===0)throw new Error("Trying to pop from an empty list.");let n=Tp(this.elementShape,this.tensors,e),a=this.tensors.pop();return a.kept=!1,Ca(a.shape,e,"TensorList shape mismatch: "),W(a,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invaliddatatypes;opelements${e.dtype},butlistelements${this.elementDtype}`);if(Ca(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");Jt(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResizeexpectssizetobenon-negative.Got:${e}`);if(this.maxNumElements!==-1&&e>this.maxNumElements)throw new Error(`TensorListResizeinputsize${e}isgreatermaxNumElement${this.maxNumElements}.`);let t=new ml([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let n=0;n<Math.min(this.tensors.length,e);++n)t.tensors[n]=this.tensors[n];return t}getItem(e,t,n){if(n!==this.elementDtype)throw new Error(`Invaliddatatypes;opelements${n},butlistelements${this.elementDtype}`);if(e<0||e>this.tensors.length)throw new Error(`Tryingtoaccesselement${e}inalistwith${this.tensors.length}elements.`);if(this.tensors[e]==null)throw new Error(`elementatindex${e}isnull.`);Ca(this.tensors[e].shape,t,"TensorList shape mismatch: ");let a=Tp(this.elementShape,this.tensors,t);return W(this.tensors[e],a)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invaliddatatypes;opelements${t.dtype},butlistelements${this.elementDtype}`);if(e<0||this.maxNumElements!==-1&&e>=this.maxNumElements)throw new Error(`Tryingtosetelement${e}inalistwithmax${this.maxNumElements}elements.`);Ca(this.elementShape,t.shape,"TensorList shape mismatch: "),Jt(t),this.tensors[e]!=null&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invaliddatatypes;opelements${t},butlistelements${this.elementDtype}`);Ca(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());let a=Tp(this.elementShape,this.tensors,n);return e.length===0?kn([],[0].concat(a)):P(()=>{let r=e.map(s=>W(this.tensors[s],a));return Ft(r,0)})}concat(e,t){if(!!e&&e!==this.elementDtype)throw new Error(`TensorListdtypeis${this.elementDtype}butconcatrequesteddtype${e}`);Ca(this.elementShape,t,"TensorList shape mismatch: ");let n=Tp
${e}`);let a;return this.size===1/0||this.size==null?a=this.size:t?a=Math.ceil(this.size/e):a=Math.floor(this.size/e),Kn(async()=>(await n.iterator()).columnMajorBatch(e,t,J6),a)}concatenate(e){let t=this,n;return this.size===1/0||e.size===1/0?n=1/0:this.size!=null&&e.size!=null?n=this.size+e.size:n=null,Kn(async()=>(await t.iterator()).concatenate(await e.iterator()),n)}filter(e){let t=this,n;return this.size===1/0?n=1/0:n=null,Kn(async()=>(await t.iterator()).filter(a=>P(()=>e(a))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){let t=this;return Kn(async()=>(await t.iterator()).map(n=>P(()=>e(n))),this.size)}mapAsync(e){let t=this;return Kn(async()=>(await t.iterator()).mapAsync(e),this.size)}prefetch(e){if(e==null)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");let t=this;return Kn(async()=>(await t.iterator()).prefetch(e),this.size)}repeat(e){let t=this,n;return this.size!=null&&e>0?n=this.size*e:e===0?n=0:this.size!=null&&(e===void 0||e<0)?n=1/0:n=null,Kn(async()=>{let a=S0(async()=>({value:await t.iterator(),done:!1}));return P6(a.take(e))},n)}skip(e){let t=this,n;return this.size!=null&&e>=0&&this.size>=e?n=this.size-e:this.size!=null&&(this.size<e||e===void 0||e<0)?n=0:n=null,Kn(async()=>(await t.iterator()).skip(e),n)}shuffle(e,t,n=!0){if(e==null||e<0)throw this.size==null?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);leta=this,r=_6.alea(t||v.now().toString());returnKn(async()=>{lets=r.int32();returnn&&(s+=r.int32()),(awaita.iterator()).shuffle(e,s.toString())},this.size)}take(e){lett=this,n;returnthis.size!=null&&this.size>e?n=e:this.size!=null&&this.size<=e?n=this.size:n=null,Kn(async()=>(awaitt.iterator()).take(e),n)}asynctoArray(){if(this.size===1/0)thrownewError("Can not convert infinite data stream to array.");return(awaitthis.iterator()).toArray()}asynctoArrayForTest(){if(this.size===1/0)thrownewError("Can not convert infinite data stream to array.");return(awaitthis.iterator()).toArrayForTest()}};Mu.MAX_BUFFER_SIZE=1e4;functionKn(e,t=null){returnnewclassextendsMu{constructor(){super(...arguments),this.size=t}asynciterator(){returne()}}}functionY6(e){returnKn(async()=>_2(e),e.length)}functionZ6(e){if(!fl(e))thrownewError("The argument to zip() must be an object or array.");lett;if(Array.isArray(e))for(letn=0;n<e.length;n++)t=t==null?e[n].size:Math.min(t,e[n].size);elseif(einstanceofObject)for(letnine)t=t==null?e[n].size:Math.min(t,e[n].size);returnKn(async()=>{letn=awaitN2(e,a=>{if(ainstanceofMu)return{value:a.iterator(),recurse:!1};if(fl(a))return{value:null,recurse:!0};thrownewError("Leaves of the structure passed to zip() must be Datasets, not primitives.")});returnO6(n,Yr.SHORTEST)},t)}functionJ6(e){if(e===null)returnnull;lett=e[0];returnF6(t)?{value:Q6(e),recurse:!1}:{value:null,recurse:!0}}functionQ6(e){if(e.length===0)thrownewError("Can't make a batch of zero elements.");returne[0]instanceofTe?Ft(e):kn(e)}var$2=classextendsMu{constructor(e){super(),this.input=e}asynciterator(){return(awaitthis.input.iterator()).decodeUTF8().split(`
`).map(e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e))}},Zd='"',Np=Symbol("out"),Ok=Symbol("field"),Jd=Symbol("quote"),fb=Symbol("quoteafterquote"),Lk=Symbol("quoteinquote"),F2=class extends Mu{constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new $2(e),t||(t={}),this.hasHeader=t.hasHeader!==!1,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(v.assert(t.delimiter==null,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){let e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&v.assert(e.length===this.fullColumnNames.length,()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);let t=this.fullColumnNames.reduce((a,r)=>(a[r]=a[r]+1||1,a),{}),n=Object.keys(t).filter(a=>t[a]>1);if(v.assert(n.length===0,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs){for(let a of Object.keys(this.columnConfigs))if(this.fullColumnNames.indexOf(a)===-1)throw new Error('The key "'+a+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){let e=await(await this.base.iterator()).next();if(e.done)throw new Error("No data was found for CSV parsing.");let t=e.value;return this.parseRow(t,!1)}else return null}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(t=>this.makeDataElement(t))}makeDataElement(e){let t=this.parseRow(e),n={},a={};for(let r=0;r<this.fullColumnNames.length;r++){let s=this.fullColumnNames[r],i=this.columnConfigs?this.columnConfigs[s]:null;if(!(this.configuredColumnsOnly&&!i)){let o=t[r],l=null;if(o==="")if(i&&i.default!==void 0)l=i.default;else{if(i&&(i.required||i.isLabel))throw new Error(`Requiredcolumn${s}isemptyinthisline:${e}`);l=void 0}else{let u=Number(o);if(isNaN(u))i&&i.dtype==="bool"?l=this.getBoolean(o):l=o;else if(!i||!i.dtype)l=u;else switch(i.dtype){case"float32":l=u;break;case"int32":l=Math.floor(u);break;case"bool":l=this.getBoolean(o);break;default:l=u}}i&&i.isLabel?a[s]=l:n[s]=l}}return Object.keys(a).length===0?n:{xs:n,ys:a}}getBoolean(e){return e==="1"||e.toLowerCase()==="true"?1:0}parseRow(e,t=!0){let n=[],a=0,r=e.length,s=Np;for(let i=0;i<r;i++)switch(s){case Np:switch(e.charAt(i)){case Zd:a=i+1,s=Jd;break;case this.delimiter:if(a=i+1,this.delimiter===" "&&this.delimWhitespace)break;n.push(""),s=Np;break;default:s=Ok,a=i;break}break;case Ok:switch(e.charAt(i)){case this.delimiter:n.push(e.substring(a,i)),s=Np,a=i+1;break;default:}break;case Jd:switch(e.charAt(i)){case Zd:s=fb;break;default:}break;case fb:switch(e.charAt(i)){case this.delimiter:n.push(e.substring(a,i-1)),s=Np,a=i+1;break;case Zd:s=Jd;break;default:s=Lk;break}break;case Lk:switch(e.charAt(i)){case Zd:s=Jd;break;default:}break;default:}if(s===fb?n.push(e.substring(a,r-1)):n.push(e.substring(a)),t&&n.length!==this.fullColumnNames.length)throw new Error(`Invalidrowincsvfile.Shouldhave${this.fullColumnNames.length}elementsinarow,butgot${n}`);return n}},D2=class extends tn{constructor(e){super(),this.microphoneConfig=e,this.isClosed=!1,this.fftSize=e.fftSize||1024;let t=Math.log2(this.fftSize);if(this.fftSize<0||t<4||t>14||!Number.isInteger(t))throw new Error(`InvalidfftSi
============================
Hi,lookslikeyouarerunningTensorFlow.jsinNode.js.Tospeedthingsupdramatically,installournodebackend,visithttps://github.com/tensorflow/tfjs-node for more details.
============================`));let a={id:this.nextDataId()};return this.data.set(a,{values:e,dtype:n,refCount:1}),a}makeTensorInfo(e,t,n){let a;if(t==="string"&&n!=null&&n.length>0&&v.isString(n[0])){let r=n.map(s=>v.encodeString(s));a=this.write(r,e,t)}else a=this.write(n,e,t);return{dataId:a,shape:e,dtype:t}}refCount(e){return this.data.has(e)?this.data.get(e).refCount:0}incRef(e){let t=this.data.get(e);t.refCount++}decRef(e){if(this.data.has(e)){let t=this.data.get(e);t.refCount--}}move(e,t,n,a,r){this.data.set(e,{values:t,dtype:a,refCount:r})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){let{dtype:t,complexTensorInfos:n}=this.data.get(e);if(t==="complex64"){let a=this.readSync(n.real.dataId),r=this.readSync(n.imag.dataId);return N.mergeRealAndImagArrays(a,r)}return this.data.get(e).values}bufferSync(e){let t=this.readSync(e.dataId);if(e.dtype==="string")try{let n=t.map(a=>v.decodeString(a));return Pe(e.shape,e.dtype,n)}catch(n){throw new Error("Failed to decode encoded string bytes into utf-8")}return Pe(e.shape,e.dtype,t)}makeOutput(e,t,n){return Na().makeTensorFromTensorInfo(this.makeTensorInfo(t,n,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;let{complexTensorInfos:n}=this.data.get(e);n!=null&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){let t=v.now();return e(),{kernelMs:v.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){ge([e],"where");let t=this.readSync(e.dataId);return hj(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}};N0.nextDataId=0;var B2={};Ae(B2,{addImpl:()=>G2,bincountImpl:()=>_0,bincountReduceImpl:()=>H2,castImpl:()=>U2,ceilImpl:()=>j2,concatImpl:()=>E0,equalImpl:()=>q2,expImpl:()=>X2,expm1Impl:()=>Z2,floorImpl:()=>J2,gatherNdImpl:()=>Q2,gatherV2Impl:()=>eC,greaterEqualImpl:()=>nC,greaterImpl:()=>tC,lessEqualImpl:()=>rC,lessImpl:()=>aC,linSpaceImpl:()=>sC,logImpl:()=>iC,maxImpl:()=>oC,maximumImpl:()=>lC,minimumImpl:()=>uC,multiplyImpl:()=>A0,negImpl:()=>pC,notEqualImpl:()=>cC,prodImpl:()=>dC,raggedGatherImpl:()=>hC,raggedRangeImpl:()=>mC,raggedTensorToTensorImpl:()=>fC,rangeImpl:()=>F0,rsqrtImpl:()=>gC,scatterImpl:()=>Yo,sigmoidImpl:()=>oq,simpleAbsImpl:()=>V2,sliceImpl:()=>Oh,sparseFillEmptyRowsImpl:()=>bC,sparseReshapeImpl:()=>xC,sparseSegmentReductionImpl:()=>D0,sqrtImpl:()=>pq,squaredDifferenceImpl:()=>vC,stridedSliceImpl:()=>wC,stringNGramsImpl:()=>R0,stringSplitImpl:()=>M0,stringToHashBucketFastImpl:()=>P0,subImpl:()=>kC,tileImpl:()=>IC,topKImpl:()=>TC,transposeImpl:()=>$0,uniqueImpl:()=>NC});function V2(e){let t=new Float32Array(e.length);for(let n=0;n<e.length;++n)t[n]=Math.abs(e[n]);return t}var mj=e=>{let{x:t}=e.inputs,n=e.backend;ge(t,"abs");let a=new Float32Array(v.sizeFromShape(t.shape)),r=n.data.get(t.dataId).values;return a=V2(r),n.makeOutput(a,t.shape,t.dtype)},fj={kernelName:wl,backendName:"cpu",kernelFunc:mj};function Vt(e){return(t,n,a,r,s)=>{let i=N.assertAndGetBroadcastShape(t,n),o=i.length,l=v.computeStrides(i),u=v.sizeFromShape(i),p=v.getTypedArrayFromDType(s,u),d=t.length,c=n.length,h=v.computeStrides(t),m=v.computeStrides(n),f=N.getBroadcastDims(t,i),g=N.getBroadcastDims(n,i);if(f.length+g.length===0)for(let y=0;y<p.length;++y)p[y]=e(a[y%a.length],r[y%r.length]);else for(let y=0;y<p.length;++y){let b=v.indexToLoc(y,o,l),x=b.slice(-d);f.forEach(C=>x[C]=0);let w=v.locToIndex(x,d,h),I=b.slice(-c);g.forEach(C=>I[C]=0);let T=v.locToIndex(I,c,m);p[y]=e(a[w],r[T])}return[p,i]}}function Yn(e){let{inputs:t,backend:n}=e,{real:a,imag:r}=t,s=n.data.get(a.dataId).values,i=n.data.get(r.dataId).values,o=n.makeTensorInfo(a.shape,"complex64"),l=n.data.get(o.dataId);return l.complexTensorInfos={real:n.makeTensorInfo(a.shape,"float32",s),imag:n.makeTensorInfo(r.shape,"float32",i)},o}var
${s.shape}`);if(a.shape.length!==2)throw new Error(`Indicesmustbeamatrix,saw:
${a.shape}`);if(r.shape.length!==1)throw new Error(`Valuesmustbeavector,saw:
${r.shape}`);if(i.shape.length!==0)throw new Error(`Defaultvaluemustbeascalar,saw:
${i.shape}`);let o=n.data.get(a.dataId).values,l=n.data.get(r.dataId).values,u=n.data.get(s.dataId).values,p=n.data.get(i.dataId).values[0],[d,c,h,m,f]=bC(o,a.shape,a.dtype,l,r.dtype,u,p);return[n.makeTensorInfo(c,a.dtype,d),n.makeTensorInfo([c[0]],r.dtype,h),n.makeTensorInfo([m.length],"bool",new Uint8Array(m.map(g=>Number(g)))),n.makeTensorInfo([f.length],a.dtype,new Int32Array(f))]}var GX={kernelName:mc,backendName:"cpu",kernelFunc:UX};function HX(e){let{inputs:t,backend:n}=e,{inputIndices:a,inputShape:r,newShape:s}=t;if(a.shape.length!==2)throw new Error(`Inputindicesshouldbeamatrixbutreceivedshape
${a.shape}`);if(r.shape.length!==1)throw new Error(`Inputshapeshouldbeavectorbutreceivedshape
${r.shape}`);if(s.shape.length!==1)throw new Error(`Targetshapeshouldbeavectorbutreceivedshape${s.shape}`);let i=Array.from(n.data.get(r.dataId).values),o=n.data.get(a.dataId).values,l=Array.from(n.data.get(s.dataId).values),[u,p,d]=xC(o,a.shape,a.dtype,i,l);return[n.makeTensorInfo(p,a.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}var jX={kernelName:bu,backendName:"cpu",kernelFunc:HX};function qX(e){let{inputs:t,backend:n}=e,{data:a,indices:r,segmentIds:s}=t;if(a.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(r.shape.length!==1)throw new Error(`Indicesshouldbeavectorbutreceivedshape
${r.shape}`);if(s.shape.length!==1)throw new Error(`Segmentidsshouldbeavectorbutreceivedshape
${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");let i=n.data.get(a.dataId).values,o=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,p]=D0(i,a.shape,a.dtype,o,l,!0);return n.makeTensorInfo(p,a.dtype,u)}var KX={kernelName:fc,backendName:"cpu",kernelFunc:qX};function XX(e){let{inputs:t,backend:n}=e,{data:a,indices:r,segmentIds:s}=t;if(a.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(r.shape.length!==1)throw new Error(`Indicesshouldbeavectorbutreceivedshape
${r.shape}`);if(s.shape.length!==1)throw new Error(`Segmentidsshouldbeavectorbutreceivedshape
${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");let i=n.data.get(a.dataId).values,o=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,p]=D0(i,a.shape,a.dtype,o,l);return n.makeTensorInfo(p,a.dtype,u)}var YX={kernelName:gc,backendName:"cpu",kernelFunc:XX};function ZX(e){let{inputs:t,backend:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=t,{outputShape:o}=a,{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=N.calculateShapes(s,r,o),h=!1,m=n.bufferSync(r),f;switch(s.dtype){case"bool":{let g=n.bufferSync(s),y=Boolean(n.data.get(i.dataId).values[0]);f=Yo(m,g,o,c,p,u,l,d,y,h);break}case"float32":{let g=n.bufferSync(s),y=n.data.get(i.dataId).values[0];f=Yo(m,g,o,c,p,u,l,d,y,h);break}case"int32":{let g=n.bufferSync(s),y=n.data.get(i.dataId).values[0];f=Yo(m,g,o,c,p,u,l,d,y,h);break}case"string":{let g=n.bufferSync(s),y=v.decodeString(n.data.get(i.dataId).values[0]);f=Yo(m,g,o,c,p,u,l,d,y,h);break}default:throw new Error(`Unsupportedtype${s.dtype}`)}return n.makeTensorInfo(o,f.dtype,f.values)}var JX={kernelName:Tm,backendName:"cpu",kernelFunc:ZX};function QX(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=a,o=v.parseAxisParam(i,r.shape)[0],l=N.prepareSplitSize(r,s,o),u=new Array(r.shape.length).fill(0),p=r.shape.slice();return l.map(d=>{let c=[...p];c[o]=d;let h=ui({inputs:{x:r},backend:n,attrs:{begin:u,size:c}});return u[o]+=d,h})}var eY={kernelName:yu,backendName:"cpu",kernelFunc:QX},tY={kernelName:yc,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{let{x:n}=e,a=t;ge(n,"square");let r=a.data.get(n.dataId).values,s=new Float32Array(r.length);for(let i=0;i<r.length;++i){let o=r[i];s[i]=o*o}return{dataId:a.write(s,n.shape,n.dtype),shape:n.shape,dtype:n.dtype}}},nY=rt(ms,(e,t)=>{let n=t;return isNaN(e)?NaN:e>0?1:n.alpha}),aY={kernelName:ms,backendName:"cpu",kernelFunc:nY};function rY(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a;ge(r,"stridedSlice");let{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:y,begin:b,end:x,strides:w}=jt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=ft({inputs:{x:r},backend:n,attrs:{shape:m}});else if(g||y){v.assert(r.shape.length>=1,()=>`Inputmusthaverankatleast1,got:${r.shape.length}`);let T=jt.computeOutShape(b,x,w),C=ui({inputs:{x:r},backend:n,attrs:{begin:b,size:T}});I=ft({inputs:{x:C},backend:n,attrs:{shape:m}}),n.disposeIntermediateTensorInfo(C)}else{let T=n.bufferSync(r),C=wC(h,T,w,b);I=n.makeTensorInfo(m,C.dtype,C.values)}return I}var sY={kernelName:xu,backendName:"cpu",kernelFunc:rY};function iY(e){let{inputs:t,backend:n,attrs:a}=e,{separator:r,nGramWidths:s,leftPad:i,rightPad:o,padWidth:l,preserveShortSequences:u}=a,{data:p,dataSplits:d}=t,c=n.data.get(p.dataId).values,h=n.data.get(d.dataId).values,[m,f]=R0(c,h,r,s,i,o,l,u);return[n.makeTensorInfo([m.length],"string",m),n.makeTensorInfo(d.shape,"int32",f)]}var oY={kernelName:bc,backendName:"cpu",kernelFunc:iY};function lY(e){let{inputs:t,backend:n,attrs:a}=e,{skipEmpty:r}=a,{input:s,delimiter:i}=t;if(s.dtype!=="string")throw new Error("Input must be of datatype string");if(s.shape.length!==1)throw new Error(`Inputmustbeavector,gotshape:${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimitermustbeascalar,gotshape:${i.shape}`);let o=n.data.get(s.dataId).values,l=n.data.get(i.dataId).values[0],[u,p,d]=M0(o,l,r),c=p.length;return[n.makeTensorInfo([c,2],"int32",u),n.makeTensorInfo([c],"string",p),n.makeTensorInfo([2],"int32",new Int32Array(d))]}var uY={kernelName:xc,backendName:"cpu",kernelFunc:lY};function pY(e){let{inputs:t,backend:n,attrs:a}=e,{numBuckets:r}=a,{input:s}=t;if(s.dtype!=="string")throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");let i=n.data.get(s.dataId).values,o=P0(i,r);return n.makeTensorInfo(s.shape,"int32",o)}var cY={kernelName:vc,backendName:"cpu",kernelFunc:pY},dY=rt(uo,e=>Math.tan(e)),hY=
`))}function XC(e){return Fr(e,()=>e.createProgram(),"Unable to create WebGLProgram.")}function YC(e,t){if(me(e,()=>e.linkProgram(t)),!H().get("ENGINE_COMPILE_ONLY")&&e.getProgramParameter(t,e.LINK_STATUS)===!1)throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}function ih(e,t){if(me(e,()=>e.validateProgram(t)),e.getProgramParameter(t,e.VALIDATE_STATUS)===!1)throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function ZC(e,t){let n=Fr(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return me(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n)),me(e,()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function JC(e,t){let n=Fr(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return me(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)),me(e,()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function UY(){return H().getNumber("WEBGL_VERSION")===2?1:4}function QC(e){return Fr(e,()=>e.createTexture(),"Unable to create WebGLTexture.")}function e_(e,t){let n=H().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0){let a=`[${e}x${t}]`;throw new Error("Requested texture size "+a+" is invalid.")}if(e>n||t>n){let a=`[${e}x${t}]`,r=`[${n}x${n}]`;throw new Error("Requested texture size "+a+" greater than WebGL maximum on this browser / GPU "+r+".")}}function t_(e){return Fr(e,()=>e.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function ix(e,t,n,a,r,s,i){let o=e.getAttribLocation(t,n);return o===-1?!1:(me(e,()=>e.bindBuffer(e.ARRAY_BUFFER,a)),me(e,()=>e.vertexAttribPointer(o,r,e.FLOAT,!1,s,i)),me(e,()=>e.enableVertexAttribArray(o)),!0)}function n_(e,t,n){o_(e,n),me(e,()=>e.activeTexture(e.TEXTURE0+n)),me(e,()=>e.bindTexture(e.TEXTURE_2D,t))}function GY(e,t){o_(e,t),me(e,()=>e.activeTexture(e.TEXTURE0+t)),me(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function a_(e,t,n){return Fr(e,()=>e.getUniformLocation(t,n),'uniform "'+n+'" not present in program.')}function r_(e,t,n){return e.getUniformLocation(t,n)}function s_(e,t,n,a){me(e,()=>n_(e,t,a)),me(e,()=>e.uniform1i(n,a))}function HY(e){me(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),me(e,()=>e.viewport(0,0,e.canvas.width,e.canvas.height)),me(e,()=>e.scissor(0,0,e.canvas.width,e.canvas.height))}function oh(e,t,n){me(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,n)),me(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0))}function ox(e,t){me(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,t)),me(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0))}function Rp(e){let t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+i_(e,t))}function i_(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknownerror${t}`}}function Fr(e,t,n){let a=me(e,()=>t());if(a==null)throw new Error(n);return a}function o_(e,t){let n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,a=t+e.TEXTURE0;if(a<e.TEXTURE0||a>n){let r=`[gl.TEXTURE0,gl.TEXTURE${n}]`;throw new Error(`textureUnitmustbein${r}.`)}}function pi(e,t=2){return v.sizeFromShape(e.slice(0,e.length-t))}function ci(e){if(e.length===0)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function Mp(e){let t=[1,1,1];return e.length===0||e.length===1&&e[0]===1||(t=[pi(e),...ci(e)]),t}function l_(e,t=!1){let n=H().getNumber("WEBGL_MAX_TEXTURE_SIZE"),a=H().getNumber("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE");a===1/0&&H().getBool("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE")&&(a=n/2),t&&(n=n*2,a=a*2,e=e.map((o,l)=>l>=e.length-2?v.nearestLargerEven(e[l]):e[l]),e.length===1&&(e=[2,e[0]])),e.length!==2&&(e=v.squeezeShape(e).newShape);let r=v.sizeFromShape(e),s=null;e.length<=1&&r<=n?s=[1,r]:e.length===2&&e[0]<=n&&e[1]
`;let s=e.shapeInfo.logicalShape,i=s.length,o=e.shapeInfo.texShape,l=[Math.ceil(o[0]/2),Math.ceil(o[1]/2)],u=l[0],p=l[1],d=Math.ceil(s[i-1]/2),c=d*Math.ceil(s[i-2]/2),h="int b, int row, int col",m=`b*${c}+(row/2)*${d}+(col/2)`;for(let f=2;f<i-1;f++)h=`intb${f},`+h,c*=s[i-f-1],m=`b${f}*${c}+`+m;return`
`}var M7=class{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.logEnabled=!1,this.usedTextures={}}acquireTexture(e,t,n){let a=Kk(t,n),r=Xk(e,a,n);r in this.freeTextures||(this.freeTextures[r]=[]),r in this.usedTextures||(this.usedTextures[r]=[]);let s=qk(e,a,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[r].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=s,this.log();let o=this.freeTextures[r].shift();return this.usedTextures[r].push(o),o}let i;return a===on.PACKED_2X2_FLOAT32?i=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):a===on.PACKED_2X2_FLOAT16?i=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):a===on.UNPACKED_FLOAT32?i=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):a===on.UNPACKED_FLOAT16?i=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):a===on.PACKED_4X1_UNSIGNED_BYTE&&(i=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[r].push(i),this.numUsedTextures++,this._numBytesAllocated+=s,this.log(),i}releaseTexture(e,t,n,a){if(this.freeTextures==null)return;let r=Kk(n,a),s=Xk(t,r,a);s in this.freeTextures||(this.freeTextures[s]=[]);let i=qk(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,a),o=H().get("WEBGL_DELETE_TEXTURE_THRESHOLD");o!==-1&&this._numBytesAllocated>o?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=i):(this.freeTextures[s].push(e),this.numFreeTextures++,this._numBytesFree+=i),this.numUsedTextures--;let l=this.usedTextures[s],u=l.indexOf(e);if(u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l.splice(u,1),this.log()}log(){if(!this.logEnabled)return;let e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures}/${this.numUsedTextures}`,`(${e})`);let t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytesallocated:${this._numBytesAllocated}`),console.log(`Bytesunused:${this._numBytesFree}(${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(this.freeTextures!=null){for(let e in this.freeTextures)this.freeTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t.texture)});for(let e in this.usedTextures)this.usedTextures[e].forEach(t=>{this.gpgpu.deleteMatrixTexture(t.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}};function P7(e,t){let n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F||t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknowninternalformat${t}`)}function qk(e,t,n,a,r){let s=O7(t,a),i;if(r){let[l,u]=Ou(e[0],e[1]);i=l*u}else{let[l,u]=ed(e[0],e[1]);i=l*u}let o=P7(n,s);return i*o}function O7(e,t){switch(e){case on.PACKED_2X2_FLOAT32:return X0(t);case on.PACKED_2X2_FLOAT16:return Y0(t);case on.UNPACKED_FLOAT32:return j0(t);case on.UNPACKED_FLOAT16:return q0(t);case on.PACKED_4X1_UNSIGNED_BYTE:return K0(t);default:throw new Error(`Unknownphysicaltexturetype${e}`)}}function L7(e){return H().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?on.PACKED_2X2_FLOAT32:on.UNPACKED_FLOAT32:e?on.PACKED_2X2_FLOAT16:on.UNPACKED_FLOAT16}function Kk(e,t){if(e===pa.UPLOAD)return on.PACKED_2X2_FLOAT32;if(e===pa.RENDER||e==null)return L7(t);if(e===pa.DOWNLOAD||e===pa.PIXELS)return on.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknownlogicaltexturetype${e}`)}function Xk(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`}var Sr=class{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=_n(this.outputShape.length),this.userCode=`
`;function lJ(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{alpha:s}=a,i=n.makeTensorInfo([],"float32",v.createScalarValue(s,"float32")),o=H().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new ad(G_,r.shape,i.shape):new xl(U_,r.shape,i.shape),l=n.runWebGLProgram(o,[r,i],"float32");return n.disposeIntermediateTensorInfo(i),l}var uJ={kernelName:Ri,backendName:"webgl",kernelFunc:lJ},H_="return (a < 0.) ? b * a : a;",j_=`
return(log(1.0+x)-log(1.0-x))/2.0;`,l9=Ye({opSnippet:o9}),u9={kernelName:El,backendName:"webgl",kernelFunc:l9},tc=class{constructor(e,t,n,a=!1,r=!1){if(this.variableNames=["x"],t==="avg"&&n)throw new Error("Cannot compute positions for average pool.");let s=e.filterWidth,i=e.strideHeight,o=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,p=e.effectiveFilterHeight,d=e.effectiveFilterWidth,c=e.padInfo.top,h=e.padInfo.left;this.outputShape=e.outShape;let m=t==="avg",f=`((batch*${e.inHeight}+xR)*${e.inWidth}+xC)*${e.inChannels}+d`,g=`(xR*${e.inWidth}+xC)*${e.inChannels}+d`,y="0.0";if(m||(y="-1.0 / 1e-20"),n){let C=">=";this.userCode=`
`}},e1=class{constructor(e,t,n,a=!1,r=!1){if(this.variableNames=["x"],t==="avg"&&n)throw new Error("Cannot compute positions for average pool.");let s=e.filterWidth,i=e.strideDepth,o=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,p=e.dilationHeight,d=e.dilationWidth,c=e.effectiveFilterDepth,h=e.effectiveFilterHeight,m=e.effectiveFilterWidth,f=e.padInfo.front,g=e.padInfo.top,y=e.padInfo.left;this.outputShape=e.outShape;let b=t==="avg",x="0.0";if(b||(x="-1.0 / 1e-20"),n){let A=">=";this.userCode=`
`}},S9=({inputs:e,backend:t,attrs:n})=>{let{x:a,mean:r,variance:s,offset:i,scale:o}=e;v.assert(r.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),v.assert(i==null||r.shape.length===i.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),v.assert(o==null||r.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let{varianceEpsilon:l}=n;l==null&&(l=.001);let u=[a,r,s],p=null;i!=null&&(p=i.shape,u.push(i));let d=null;o!=null&&(d=o.shape,u.push(o));let c=H().getBool("WEBGL_PACK_NORMALIZATION")?new I9(a.shape,r.shape,s.shape,p,d,l):new k9(a.shape,r.shape,s.shape,p,d,l);return t.runWebGLProgram(c,u,u[0].dtype)},T9={kernelName:$i,backendName:"webgl",kernelFunc:S9},N9=class{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;let t=gt(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];let n=C9(this.rank),a,r=e.map((s,i)=>`sourceLoc.${px[i]}=start[${i}]+coords.${px[i]};`);a=`
`;function Lne(e){let{inputs:t,backend:n}=e,{x:a}=t;if(n.shouldExecuteOnCPU([a])){let s=n.texData.get(a.dataId),[i,o]=p7(s.values,a.shape,a.dtype);return n.makeTensorInfo(o,a.dtype,i)}let r;return H().getBool("WEBGL_PACK_UNARY_OPERATIONS")?r=new js(a.shape,One):r=new Sr(a.shape,Pne),n.runWebGLProgram(r,[a],a.dtype)}var zne={kernelName:eu,backendName:"webgl",kernelFunc:Lne},Wne=cr.nonMaxSuppressionV3Impl;function Bne(e){N.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");let{inputs:t,backend:n,attrs:a}=e,{boxes:r,scores:s}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l}=a,u=n.readSync(r.dataId),p=n.readSync(s.dataId),{selectedIndices:d}=Wne(u,p,i,o,l);return n.makeTensorInfo([d.length],"int32",new Int32Array(d))}var Vne={kernelName:nu,backendName:"webgl",kernelFunc:Bne},Une=cr.nonMaxSuppressionV4Impl;function Gne(e){N.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");let{inputs:t,backend:n,attrs:a}=e,{boxes:r,scores:s}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,padToMaxOutputSize:u}=a,p=n.readSync(r.dataId),d=n.readSync(s.dataId),{selectedIndices:c,validOutputs:h}=Une(p,d,i,o,l,u);return[n.makeTensorInfo([c.length],"int32",new Int32Array(c)),n.makeTensorInfo([],"int32",new Int32Array([h]))]}var Hne={kernelName:au,backendName:"webgl",kernelFunc:Gne},jne=cr.nonMaxSuppressionV5Impl;function qne(e){N.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");let{inputs:t,backend:n,attrs:a}=e,{boxes:r,scores:s}=t,{maxOutputSize:i,iouThreshold:o,scoreThreshold:l,softNmsSigma:u}=a,p=n.readSync(r.dataId),d=n.readSync(s.dataId),c=i,h=o,m=l,f=u,{selectedIndices:g,selectedScores:y}=jne(p,d,c,h,m,f);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([y.length],"float32",new Float32Array(y))]}var Kne={kernelName:ru,backendName:"webgl",kernelFunc:qne},Xne=class{constructor(e,t,n,a){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`
voidmain(){
ivec2coords=getOutputCoords();
intindex=round(getIndices(coords.x));
setOutput(mix(float(${a}),float(${n}),
float(index==coords.y)));
}
`}},Yne=e=>{let{inputs:t,backend:n,attrs:a}=e,{indices:r}=t,{dtype:s,depth:i,onValue:o,offValue:l}=a,u=v.sizeFromShape(r.shape),p=new Xne(u,i,o,l),d=de({inputs:{x:r},backend:n,attrs:{shape:[u]}}),c=n.runWebGLProgram(p,[d],s);n.disposeIntermediateTensorInfo(d);let h=[...r.shape,i],m=de({inputs:{x:c},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(c),m},Zne={kernelName:Gi,backendName:"webgl",kernelFunc:Yne};function Uh(e){let{inputs:t,backend:n}=e,{x:a}=t;if(a.dtype==="complex64"){let r=rd({inputs:{input:a},backend:n}),s=Uh({inputs:{x:r},backend:n}),i=Of({inputs:{input:a},backend:n}),o=Uh({inputs:{x:i},backend:n}),l=Is({inputs:{real:s,imag:o},backend:n});return n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}else return sd({attrs:{shape:a.shape,dtype:a.dtype,value:a.dtype==="string"?"":0},backend:n})}var Jne={kernelName:Iu,backendName:"webgl",kernelFunc:Uh};function mE(e){let{inputs:t,backend:n}=e,{x:a}=t;if(a.dtype==="string")throw new Error("onesLike is not supported under string dtype");if(a.dtype==="complex64"){let r=rd({inputs:{input:a},backend:n}),s=mE({inputs:{x:r},backend:n}),i=Of({inputs:{input:a},backend:n}),o=Uh({inputs:{x:i},backend:n}),l=Is({inputs:{real:s,imag:o},backend:n});return n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(o),l}else return sd({attrs:{shape:a.shape,dtype:a.dtype,value:1},backend:n})}var Qne={kernelName:su,backendName:"webgl",kernelFunc:mE};function eae(e){let{inputs:t,backend:n,attrs:a}=e,{axis:r}=a;if(t.length===1)return dx({inputs:{input:t[0]},backend:n,attrs:{dim:r}});let s=t[0].shape,i=t[0].dtype;t.forEach(p=>{v.assertShapesMatch(s,p.shape,"All tensors passed to stack must have matching shapes"),v.assert(i===p.dtype,()=>"All tensors passed to stack must have matching dtypes")});let o=[],l=t.map(p=>{let d=dx({inputs:{input:p},backend:n,attrs:{dim:r}});return o.push(d),d}),u=Q_({inputs:l,backend:n,attrs:{axis:r}});return o.forEach(p=>n.disposeIntermediateTensorInfo(p)),u}var tae={kernelName:iu,backendName:"webgl",kernelFunc:eae},nae=class{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((l,u)=>l[0]+e[u]+l[1]);let a=e.length,r=gt(a),s=t.map(l=>l[0]).join(","),i=t.map((l,u)=>l[0]+e[u]).join(","),o=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,a);if(a===1){this.userCode=`
`}},Gae=class{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;let n=e.length;if(n>4)throw new Error(`WebGLbackend:Reverseofrank-${n}tensorisnotyetsupported`);this.outputShape=e;let a=wn("rc",n),r=`${a[n-1]}+1<${this.outputShape[n-1]}`,s=`${a[n-2]}+1<${this.outputShape[n-2]}`,i=gt(n);n===1?this.userCode=`
`,Nre=Ye({opSnippet:Tre}),Cre={kernelName:fu,backendName:"webgl",kernelFunc:Nre},_re=e=>{let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{blockShape:s,paddings:i}=a;v.assert(r.shape.length<=4,()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet");let o=s.reduce((y,b)=>y*b),l=[[0,0]];l.push(...i);for(let y=1+s.length;y<r.shape.length;++y)l.push([0,0]);let u=[],p=fE({inputs:{x:r},backend:n,attrs:{paddings:l,constantValue:0}}),d=N.getReshaped(p.shape,s,o,!1),c=N.getPermuted(d.length,s.length,!1),h=N.getReshapedPermuted(p.shape,s,o,!1),m=de({inputs:{x:p},backend:n,attrs:{shape:d}}),f=In({inputs:{x:m},backend:n,attrs:{perm:c}}),g=de({inputs:{x:f},backend:n,attrs:{shape:h}});return u.push(p),u.push(m),u.push(f),u.forEach(y=>n.disposeIntermediateTensorInfo(y)),g},Ere={kernelName:gu,backendName:"webgl",kernelFunc:_re};function Are(e){let{inputs:t,backend:n}=e,{indices:a,values:r,denseShape:s,defaultValue:i}=t;if(s.shape.length!==1)throw new Error(`Denseshapemustbeavector,saw:
${s.shape}`);if(a.shape.length!==2)throw new Error(`Indicesmustbeamatrix,saw:
${a.shape}`);if(r.shape.length!==1)throw new Error(`Valuesmustbeavector,saw:
${r.shape}`);if(i.shape.length!==0)throw new Error(`Defaultvaluemustbeascalar,saw:
${i.shape}`);let o=n.readSync(a.dataId),l=n.readSync(r.dataId),u=n.readSync(s.dataId),p=n.readSync(i.dataId)[0],[d,c,h,m,f]=w7(o,a.shape,a.dtype,l,r.dtype,u,p);return[n.makeTensorInfo(c,a.dtype,d),n.makeTensorInfo([c[0]],r.dtype,h),n.makeTensorInfo([m.length],"bool",new Uint8Array(m.map(g=>Number(g)))),n.makeTensorInfo([f.length],a.dtype,new Int32Array(f))]}var $re={kernelName:mc,backendName:"webgl",kernelFunc:Are};function Fre(e){let{inputs:t,backend:n}=e,{inputIndices:a,inputShape:r,newShape:s}=t;if(a.shape.length!==2)throw new Error(`Inputindicesshouldbeamatrixbutreceivedshape${a.shape}`);if(r.shape.length!==1)throw new Error(`Inputshapeshouldbeavectorbutreceivedshape${r.shape}`);if(s.shape.length!==1)throw new Error(`Targetshapeshouldbeavectorbutreceivedshape${s.shape}`);let i=Array.from(n.readSync(r.dataId)),o=n.readSync(a.dataId),l=Array.from(n.readSync(s.dataId)),[u,p,d]=k7(o,a.shape,a.dtype,i,l);return[n.makeTensorInfo(p,a.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}var Dre={kernelName:bu,backendName:"webgl",kernelFunc:Fre};function Rre(e){let{inputs:t,backend:n}=e,{data:a,indices:r,segmentIds:s}=t;if(a.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(r.shape.length!==1)throw new Error(`Indicesshouldbeavectorbutreceivedshape
${r.shape}`);if(s.shape.length!==1)throw new Error(`Segmentidsshouldbeavectorbutreceivedshape
${s.shape}`);let i=n.readSync(a.dataId),o=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,p]=z_(i,a.shape,a.dtype,o,l,!0);return n.makeTensorInfo(p,a.dtype,u)}var Mre={kernelName:fc,backendName:"webgl",kernelFunc:Rre};function Pre(e){let{inputs:t,backend:n}=e,{data:a,indices:r,segmentIds:s}=t;if(a.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(r.shape.length!==1)throw new Error(`Indicesshouldbeavectorbutreceivedshape
${r.shape}`);if(s.shape.length!==1)throw new Error(`Segmentidsshouldbeavectorbutreceivedshape
${s.shape}`);let i=n.readSync(a.dataId),o=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,p]=z_(i,a.shape,a.dtype,o,l);return n.makeTensorInfo(p,a.dtype,u)}var Ore={kernelName:gc,backendName:"webgl",kernelFunc:Pre};function Lre(e){let{inputs:t,backend:n,attrs:a}=e,{sparseIndices:r,sparseValues:s,defaultValue:i}=t,{outputShape:o}=a,{sliceRank:l,numUpdates:u,sliceSize:p,strides:d,outputSize:c}=N.calculateShapes(s,r,o),h=!1;if(s.dtype==="string"){let y=n.bufferSync(r),b=n.bufferSync(s),x=v.decodeString(n.readSync(i.dataId)[0]),w=b7(y,b,o,c,p,u,l,d,x,h);return n.makeTensorInfo(o,w.dtype,w.values)}let m=new yE(u,l,r.shape.length,s.shape.length,d,[c,1],h),f=n.runWebGLProgram(m,[s,r,i],s.dtype),g=de({inputs:{x:f},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(f),g}var zre={kernelName:Tm,backendName:"webgl",kernelFunc:Lre};function Wre(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{numOrSizeSplits:s,axis:i}=a,o=v.parseAxisParam(i,r.shape)[0],l=N.prepareSplitSize(r,s,o),u=r.shape.length,p=new Array(u).fill(0),d=r.shape.slice();return l.map(c=>{let h=[...d];h[o]=c;let m=Gu({inputs:{x:r},backend:n,attrs:{begin:p,size:h}});return p[o]+=c,m})}var Bre={kernelName:yu,backendName:"webgl",kernelFunc:Wre},dI="return sqrt(x);",Vre=Ye({opSnippet:dI,packedOpSnippet:dI,cpuKernelImpl:I7}),Ure={kernelName:ro,backendName:"webgl",kernelFunc:Vre},Gre="return x * x;",Hre=Ye({opSnippet:Gre}),jre={kernelName:yc,backendName:"webgl",kernelFunc:Hre},hI="return (a - b) * (a - b);",qre=pn({opSnippet:hI,packedOpSnippet:hI}),Kre={kernelName:oo,backendName:"webgl",kernelFunc:qre};function Xre({inputs:e,attrs:t,backend:n}){let{x:a}=e,r=Da+`
`}};function Jre(e){let{inputs:t,backend:n,attrs:a}=e,{x:r}=t,{begin:s,end:i,strides:o,beginMask:l,endMask:u,ellipsisMask:p,newAxisMask:d,shrinkAxisMask:c}=a,{finalShapeSparse:h,finalShape:m,isIdentity:f,sliceDim0:g,isSimpleSlice:y,begin:b,end:x,strides:w}=jt.sliceInfo(r.shape,s,i,o,l,u,p,d,c),I;if(f)I=de({inputs:{x:r},backend:n,attrs:{shape:m}});else if(g||y){v.assert(r.shape.length>=1,()=>`Inputmusthaverankatleast1,got:${r.shape.length}`);let C=jt.computeOutShape(b,x,w),E=Gu({inputs:{x:r},backend:n,attrs:{begin:b,size:C}});I=de({inputs:{x:E},backend:n,attrs:{shape:m}}),n.disposeIntermediateTensorInfo(E)}else if(n.shouldExecuteOnCPU([r])){let C=n.readSync(r.dataId),E=Pe(r.shape,r.dtype,C),A=S7(h,E,w,b);I=n.makeTensorInfo(m,r.dtype,A.values)}else{let C=new Zre(b,w,h);I=n.runWebGLProgram(C,[r],r.dtype)}let T=de({inputs:{x:I},backend:n,attrs:{shape:m}});return n.disposeIntermediateTensorInfo(I),T}var Qre={kernelName:xu,backendName:"webgl",kernelFunc:Jre};function ese(e){let{inputs:t,backend:n,attrs:a}=e,{separator:r,nGramWidths:s,leftPad:i,rightPad:o,padWidth:l,preserveShortSequences:u}=a,{data:p,dataSplits:d}=t,c=n.readSync(p.dataId),h=n.readSync(d.dataId),[m,f]=T7(c,h,r,s,i,o,l,u);return[n.makeTensorInfo([m.length],"string",m),n.makeTensorInfo(d.shape,"int32",f)]}var tse={kernelName:bc,backendName:"webgl",kernelFunc:ese};function nse(e){let{inputs:t,backend:n,attrs:a}=e,{skipEmpty:r}=a,{input:s,delimiter:i}=t;if(s.dtype!=="string")throw new Error("Input must be of datatype string");if(s.shape.length!==1)throw new Error(`Inputmustbeavector,gotshape:${s.shape}`);if(i.shape.length!==0)throw new Error(`Delimitermustbeascalar,gotshape:${i.shape}`);let o=n.readSync(s.dataId),l=n.readSync(i.dataId)[0],[u,p,d]=N7(o,l,r),c=p.length;return[n.makeTensorInfo([c,2],"int32",u),n.makeTensorInfo([c],"string",p),n.makeTensorInfo([2],"int32",new Int32Array(d))]}var ase={kernelName:xc,backendName:"webgl",kernelFunc:nse};function rse(e){let{inputs:t,backend:n,attrs:a}=e,{numBuckets:r}=a,{input:s}=t;if(s.dtype!=="string")throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");let i=n.readSync(s.dataId),o=C7(i,r);return n.makeTensorInfo(s.shape,"int32",o)}var sse={kernelName:vc,backendName:"webgl",kernelFunc:rse},ise="return tan(x);",ose=Ye({opSnippet:ise}),lse={kernelName:uo,backendName:"webgl",kernelFunc:ose},use=`