@octomil/browser 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/octomil.min.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";var __Octomil_ns=(()=>{var eO=Object.create;var Ss=Object.defineProperty;var tO=Object.getOwnPropertyDescriptor;var rO=Object.getOwnPropertyNames;var nO=Object.getPrototypeOf,sO=Object.prototype.hasOwnProperty;var cg=e=>{throw TypeError(e)};var aO=(e,t,r)=>t in e?Ss(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var $r=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Ve=(e,t)=>()=>(e&&(t=e(e=0)),t);var oO=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Au=(e,t)=>{for(var r in t)Ss(e,r,{get:t[r],enumerable:!0})},ug=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of rO(t))!sO.call(e,s)&&s!==r&&Ss(e,s,{get:()=>t[s],enumerable:!(n=tO(t,s))||n.enumerable});return e};var iO=(e,t,r)=>(r=e!=null?eO(nO(e)):{},ug(t||!e||!e.__esModule?Ss(r,"default",{value:e,enumerable:!0}):r,e)),lO=e=>ug(Ss({},"__esModule",{value:!0}),e);var w=(e,t,r)=>aO(e,typeof t!="symbol"?t+"":t,r),dg=(e,t,r)=>t.has(e)||cg("Cannot "+r);var ut=(e,t,r)=>(dg(e,t,"read from private field"),r?r.call(e):t.get(e)),so=(e,t,r)=>t.has(e)?cg("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),ao=(e,t,r,n)=>(dg(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var wg=oO((E3,gg)=>{gg.exports=globalThis.ort});var Id={};Au(Id,{InferenceSession:()=>md,TRACE:()=>Oo,TRACE_EVENT_BEGIN:()=>Ir,TRACE_EVENT_END:()=>Pr,TRACE_FUNC_BEGIN:()=>Zr,TRACE_FUNC_END:()=>en,Tensor:()=>Gt,default:()=>eL,env:()=>De,registerBackend:()=>Yr});async function Cg(e={}){var t=e,r=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,s=n&&self.name?.startsWith("em-pthread");t.mountExternalData=(d,h)=>{d.startsWith("./")&&(d=d.substring(2)),(t.Uc||(t.Uc=new Map)).set(d,h)},t.unmountExternalData=()=>{delete t.Uc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,Be:!0}).buffer.constructor;let a=()=>{let d=h=>(..._)=>{let g=er;return _=h(..._),er!=g?new Promise((b,k)=>{uu={resolve:b,reject:k}}):_};(()=>{for(let h of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])t[h]=d(t[h])})(),typeof jsepRunAsync<"u"&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,i,l=(d,h)=>{throw h},c=Vt.url,u="";if(r||n){try{u=new URL(".",c).href}catch{}n&&(i=d=>{var h=new XMLHttpRequest;return h.open("GET",d,!1),h.responseType="arraybuffer",h.send(null),new Uint8Array(h.response)}),o=async d=>{if(O(d))return new Promise((_,g)=>{var b=new XMLHttpRequest;b.open("GET",d,!0),b.responseType="arraybuffer",b.onload=()=>{b.status==200||b.status==0&&b.response?_(b.response):g(b.status)},b.onerror=g,b.send(null)});var h=await fetch(d,{credentials:"same-origin"});if(h.ok)return h.arrayBuffer();throw Error(h.status+" : "+h.url)}}var p,f,m,y,v,x,M=console.log.bind(console),T=console.error.bind(console),A=M,C=T,S=!1,O=d=>d.startsWith("file://");function E(){Tr.buffer!=V.buffer&&fe()}if(s){let d=function(h){try{var _=h.data,g=_.Oc;if(g==="load"){let b=[];self.onmessage=k=>b.push(k),x=()=>{postMessage({Oc:"loaded"});for(let k of b)d(k);self.onmessage=d};for(let k of _.de)t[k]&&!t[k].proxy||(t[k]=(...P)=>{postMessage({Oc:"callHandler",ce:k,args:P})},k=="print"&&(A=t[k]),k=="printErr"&&(C=t[k]));Tr=_.je,fe(),f=_.ke,nt(),no()}else if(g==="run"){(function(b){var k=(E(),R)[b+52>>>2>>>0];b=(E(),R)[b+56>>>2>>>0],y_(k,k-b),ne(k)})(_.Nc),Mu(_.Nc,0,0,1,0,0),om(),iu(_.Nc),$||(t_(),$=!0);try{eP(_.he,_.Wc)}catch(b){if(b!="unwind")throw b}}else _.target!=="setimmediate"&&(g==="checkMailbox"?$&&Qa():g&&(C(`worker: received unknown command ${g}`),C(_)))}catch(b){throw f_(),b}};var K=d,$=!1;self.onunhandledrejection=h=>{throw h.reason||h},self.onmessage=d}var V,Q,G,q,D,R,re,ie,F,N,z,Y=!1;function fe(){var d=Tr.buffer;t.HEAP8=V=new Int8Array(d),G=new Int16Array(d),t.HEAPU8=Q=new Uint8Array(d),q=new Uint16Array(d),t.HEAP32=D=new Int32Array(d),t.HEAPU32=R=new Uint32Array(d),re=new Float32Array(d),ie=new Float64Array(d),F=new BigInt64Array(d),N=new BigUint64Array(d)}function H(){Y=!0,s?x():hr._b()}function Ne(d){throw C(d="Aborted("+d+")"),S=!0,d=new WebAssembly.RuntimeError(d+". Build with -sASSERTIONS for more info."),v?.(d),d}function Xe(){return{a:{f:tP,J:rP,k:nP,p:sP,l:aP,ta:oP,b:iP,ca:lP,Ka:pm,s:cP,da:_m,_a:gm,Ga:wm,Ia:ym,$a:vm,Ya:bm,Ra:Mm,Xa:xm,pa:Tm,Ha:Em,Yb:km,Za:Cm,Fa:Am,eb:uP,Da:pP,Tb:hP,Rb:mP,Ca:gP,M:wP,I:yP,Sb:vP,ka:CP,Ub:AP,Ua:SP,Wb:PP,La:RP,Pb:OP,la:LP,Ta:iu,bb:FP,U:UP,n:jP,c:au,sb:WP,w:qP,L:HP,z:KP,j:QP,o:Nm,tb:JP,G:XP,T:YP,h:ZP,u:e2,m:t2,i:r2,Oa:n2,Pa:s2,Qa:a2,Ma:zm,Na:$m,Qb:Vm,fb:i2,db:u2,Y:d2,rb:p2,ma:h2,cb:l2,gb:f2,ab:m2,Xb:_2,N:o2,hb:g2,X:w2,Vb:y2,ob:A2,C:S2,sa:I2,ra:P2,qb:R2,W:O2,v:L2,nb:F2,mb:N2,lb:D2,pb:B2,kb:U2,jb:z2,ib:$2,Va:Km,Wa:Qm,Ja:eu,ea:Jm,oa:Xm,Sa:Ym,na:Zm,Db:XR,xa:GR,Eb:JR,ya:VR,F:RR,e:yR,r:gR,x:_R,D:SR,Ib:UR,ba:DR,B:bR,za:zR,$:jR,ha:BR,Fb:KR,Gb:HR,Ba:OR,Aa:NR,Jb:LR,wa:QR,aa:$R,d:vR,A:MR,q:wR,Cb:YR,t:TR,y:IR,H:xR,E:ER,K:PR,S:WR,ja:AR,_:qR,Kb:CR,Lb:kR,P:FR,g:G2,a:Tr,Ob:An,Hb:j2,ia:W2,O:q2,qa:H2,Mb:K2,Q:Q2,zb:J2,Ab:X2,ua:Y2,fa:Z2,R:eR,Ea:tR,va:rR,Z:nR,xb:sR,Zb:aR,V:oR,Bb:iR,ub:lR,vb:uR,wb:dR,ga:pR,yb:hR,Nb:fR}}}async function nt(){function d(g,b){var k=hr=g.exports;g={};for(let[P,L]of Object.entries(k))typeof L=="function"?(k=NP(L),g[P]=k):g[P]=L;return hr=g,hr=function(){var P=hr,L=X=>ve=>X(ve)>>>0,j=X=>()=>X()>>>0;return(P=Object.assign({},P)).$b=L(P.$b),P.Cc=j(P.Cc),P.Ec=L(P.Ec),P.rd=(X=>(ve,xe)=>X(ve,xe)>>>0)(P.rd),P.wd=L(P.wd),P.xd=j(P.xd),P.Bd=L(P.Bd),P}(),sm.push(hr.id),e_=(g=hr).$b,t_=g.ac,t._OrtInit=g.bc,t._OrtGetLastError=g.cc,t._OrtCreateSessionOptions=g.dc,t._OrtAppendExecutionProvider=g.ec,t._OrtAddFreeDimensionOverride=g.fc,t._OrtAddSessionConfigEntry=g.gc,t._OrtReleaseSessionOptions=g.hc,t._OrtCreateSession=g.ic,t._OrtReleaseSession=g.jc,t._OrtGetInputOutputCount=g.kc,t._OrtGetInputOutputMetadata=g.lc,t._OrtFree=g.mc,t._OrtCreateTensor=g.nc,t._OrtGetTensorData=g.oc,t._OrtReleaseTensor=g.pc,t._OrtCreateRunOptions=g.qc,t._OrtAddRunConfigEntry=g.rc,t._OrtReleaseRunOptions=g.sc,t._OrtCreateBinding=g.tc,t._OrtBindInput=g.uc,t._OrtBindOutput=g.vc,t._OrtClearBoundOutputs=g.wc,t._OrtReleaseBinding=g.xc,t._OrtRunWithBinding=g.yc,t._OrtRun=g.zc,t._OrtEndProfiling=g.Ac,_u=t._OrtGetWebGpuDevice=g.Bc,to=g.Cc,$t=t._free=g.Dc,On=t._malloc=g.Ec,r_=t._wgpuBufferRelease=g.Fc,n_=t._wgpuCreateInstance=g.Gc,s_=g.Hc,a_=g.Ic,o_=g.Jc,i_=g.Kc,l_=g.Lc,c_=g.Pc,u_=g.Zc,d_=g._c,p_=g.$c,gu=g.bd,wu=g.cd,yu=g.dd,vu=g.ed,Cs=g.fd,bu=g.gd,h_=g.hd,Mu=g.kd,f_=g.ld,m_=g.md,__=g.nd,xu=g.od,g_=g.pd,w_=g.qd,Tu=g.rd,he=g.sd,As=g.td,y_=g.ud,ne=g.vd,ro=g.wd,se=g.xd,v_=g.yd,Eu=g.zd,b_=g.Ad,M_=g.Bd,x_=g.Cd,ku=g.Dd,T_=g.Ed,E_=g.Fd,k_=g.Gd,C_=g.Hd,A_=g.Id,S_=g.Jd,I_=g.Kd,P_=g.Ld,R_=g.Md,O_=g.Nd,L_=g.Od,F_=g.Pd,N_=g.Qd,D_=g.Rd,B_=g.Td,U_=g.Ud,z_=g.Vd,$_=g.Wd,V_=g.Yd,G_=g.Zd,j_=g._d,W_=g.$d,q_=g.ae,H_=g.be,K_=g.pe,Q_=g.qe,J_=g.re,X_=g.se,Y_=g.te,Z_=g.ue,eg=g.ve,tg=g.we,rg=g.xe,ng=g.ye,sg=g.ze,ag=g.Xe,og=g.Ye,ig=g.Ze,lg=g._e,f=b,hr}var h,_=Xe();return t.instantiateWasm?new Promise(g=>{t.instantiateWasm(_,(b,k)=>{g(d(b,k))})}):s?d(new WebAssembly.Instance(f,Xe()),f):(z??(z=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.asyncify.wasm",u):u+"ort-wasm-simd-threaded.asyncify.wasm":new URL("ort-wasm-simd-threaded.asyncify.wasm",Vt.url).href),h=await async function(g){var b=z;if(!p&&!O(b))try{var k=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(k,g)}catch(P){C(`wasm streaming compile failed: ${P}`),C("falling back to ArrayBuffer instantiation")}return async function(P,L){try{var j=await async function(X){if(!p)try{var ve=await o(X);return new Uint8Array(ve)}catch{}if(X==z&&p)X=new Uint8Array(p);else{if(!i)throw"both async and sync fetching of the wasm failed";X=i(X)}return X}(P);return await WebAssembly.instantiate(j,L)}catch(X){C(`failed to asynchronously prepare wasm: ${X}`),Ne(X)}}(b,g)}(_),d(h.instance,h.module))}class We{constructor(h){w(this,"name","ExitStatus");this.message=`Program terminated with exit(${h})`,this.status=h}}var gt=d=>{d.terminate(),d.onmessage=()=>{}},Pe=[],ye=0,qe=null,Yt=d=>{xr.length==0&&(lm(),im(xr[0]));var h=xr.pop();if(!h)return 6;Ts.push(h),Br[d.Nc]=h,h.Nc=d.Nc;var _={Oc:"run",he:d.ge,Wc:d.Wc,Nc:d.Nc};return h.postMessage(_,d.Yc),0},ke=0,Ie=(d,h,..._)=>{var g,b=16*_.length,k=se(),P=ro(b),L=P>>>3;for(g of _)typeof g=="bigint"?((E(),F)[L++>>>0]=1n,(E(),F)[L++>>>0]=g):((E(),F)[L++>>>0]=0n,(E(),ie)[L++>>>0]=g);return d=m_(d,0,b,P,h),ne(k),d};function An(d){if(s)return Ie(0,1,d);if(m=d,!(0<ke)){for(var h of Ts)gt(h);for(h of xr)gt(h);xr=[],Ts=[],Br={},S=!0}l(0,new We(d))}function xs(d){if(s)return Ie(1,0,d);eu(d)}var eu=d=>{if(m=d,s)throw xs(d),"unwind";An(d)},xr=[],Ts=[],sm=[],Br={},am=d=>{var h=d.Nc;delete Br[h],xr.push(d),Ts.splice(Ts.indexOf(d),1),d.Nc=0,__(h)};function om(){sm.forEach(d=>d())}var im=d=>new Promise(h=>{d.onmessage=b=>{var k=b.data;if(b=k.Oc,k.Vc&&k.Vc!=to()){var P=Br[k.Vc];P?P.postMessage(k,k.Yc):C(`Internal error! Worker sent a message "${b}" to target pthread ${k.Vc}, but that thread no longer exists!`)}else b==="checkMailbox"?Qa():b==="spawnThread"?Yt(k):b==="cleanupThread"?yt(()=>{am(Br[k.ie])}):b==="loaded"?(d.loaded=!0,h(d)):k.target==="setimmediate"?d.postMessage(k):b==="uncaughtException"?d.onerror(k.error):b==="callHandler"?t[k.ce](...k.args):b&&C(`worker sent an unknown command ${b}`)},d.onerror=b=>{throw C(`worker sent an error! ${b.filename}:${b.lineno}: ${b.message}`),b};var _,g=[];for(_ of[])t.propertyIsEnumerable(_)&&g.push(_);d.postMessage({Oc:"load",de:g,je:Tr,ke:f})});function lm(){var d=new Worker((()=>{let h=URL;return Vt.url>"file:"&&Vt.url<"file;"?new h("ort.webgpu.bundle.min.mjs",Vt.url):new URL(Vt.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});xr.push(d)}var Tr,eP=(d,h)=>{ke=0,d=ku(d,h),0<ke?m=d:xu(d)},Ha=[],Ka=0,wt=d=>-9007199254740992>d||9007199254740992<d?NaN:Number(d);function tP(d){var h=new tu(d>>>=0);return(E(),V)[h.Qc+12>>>0]==0&&(cm(h,!0),Ka--),um(h,!1),Ha.push(h),M_(d)}var Sn=0,rP=()=>{he(0,0);var d=Ha.pop();v_(d.Xc),Sn=0};function cm(d,h){h=h?1:0,(E(),V)[d.Qc+12>>>0]=h}function um(d,h){h=h?1:0,(E(),V)[d.Qc+13>>>0]=h}class tu{constructor(h){this.Xc=h,this.Qc=h-24}}var ru=d=>{var h=Sn;if(!h)return As(0),0;var _=new tu(h);(E(),R)[_.Qc+16>>>2>>>0]=h;var g=(E(),R)[_.Qc+4>>>2>>>0];if(!g)return As(0),h;for(var b of d){if(b===0||b===g)break;if(b_(b,g,_.Qc+16))return As(b),h}return As(g),h};function nP(){return ru([])}function sP(d){return ru([d>>>0])}function aP(d,h,_,g){return ru([d>>>0,h>>>0,_>>>0,g>>>0])}var oP=()=>{var d=Ha.pop();d||Ne("no exception to throw");var h=d.Xc;throw(E(),V)[d.Qc+13>>>0]==0&&(Ha.push(d),um(d,!0),cm(d,!1),Ka++),Eu(h),Sn=h};function iP(d,h,_){var g=new tu(d>>>=0);throw h>>>=0,_>>>=0,(E(),R)[g.Qc+16>>>2>>>0]=0,(E(),R)[g.Qc+4>>>2>>>0]=h,(E(),R)[g.Qc+8>>>2>>>0]=_,Eu(d),Ka++,Sn=d}var lP=()=>Ka;function dm(d,h,_,g){return s?Ie(2,1,d,h,_,g):pm(d,h,_,g)}function pm(d,h,_,g){if(d>>>=0,h>>>=0,_>>>=0,g>>>=0,!globalThis.SharedArrayBuffer)return 6;var b=[];return s&&b.length===0?dm(d,h,_,g):(d={ge:_,Nc:d,Wc:g,Yc:b},s?(d.Oc="spawnThread",postMessage(d,b),0):Yt(d))}function cP(d){throw Sn||(Sn=d>>>0),Sn}var hm=globalThis.TextDecoder&&new TextDecoder,fm=(d,h,_,g)=>{if(_=h+_,g)return _;for(;d[h]&&!(h>=_);)++h;return h},mm=(d,h=0,_,g)=>{if(16<(_=fm(d,h>>>=0,_,g))-h&&d.buffer&&hm)return hm.decode(d.buffer instanceof ArrayBuffer?d.subarray(h,_):d.slice(h,_));for(g="";h<_;){var b=d[h++];if(128&b){var k=63&d[h++];if((224&b)==192)g+=String.fromCharCode((31&b)<<6|k);else{var P=63&d[h++];65536>(b=(240&b)==224?(15&b)<<12|k<<6|P:(7&b)<<18|k<<12|P<<6|63&d[h++])?g+=String.fromCharCode(b):(b-=65536,g+=String.fromCharCode(55296|b>>10,56320|1023&b))}}else g+=String.fromCharCode(b)}return g},In=(d,h,_)=>(d>>>=0)?mm((E(),Q),d,h,_):"";function _m(d,h,_){return s?Ie(3,1,d,h,_):0}function gm(d,h){if(s)return Ie(4,1,d,h)}function wm(d,h){if(s)return Ie(5,1,d,h)}function ym(d,h,_){if(s)return Ie(6,1,d,h,_)}function vm(d,h,_){return s?Ie(7,1,d,h,_):0}function bm(d,h){if(s)return Ie(8,1,d,h)}function Mm(d,h,_){if(s)return Ie(9,1,d,h,_)}function xm(d,h,_,g){if(s)return Ie(10,1,d,h,_,g)}function Tm(d,h,_,g){if(s)return Ie(11,1,d,h,_,g)}function Em(d,h,_,g){if(s)return Ie(12,1,d,h,_,g)}function km(d){if(s)return Ie(13,1,d)}function Cm(d,h){if(s)return Ie(14,1,d,h)}function Am(d,h,_){if(s)return Ie(15,1,d,h,_)}var uP=()=>Ne(""),Zt=d=>{d>>>=0;for(var h="";;){var _=(E(),Q)[d++>>>0];if(!_)return h;h+=String.fromCharCode(_)}},nu={},su={},dP={},Pn=class extends Error{constructor(d){super(d),this.name="BindingError"}};function lr(d,h,_={}){return function(g,b,k={}){var P=b.name;if(!g)throw new Pn(`type "${P}" must have a positive integer typeid pointer`);if(su.hasOwnProperty(g)){if(k.ee)return;throw new Pn(`Cannot register type '${P}' twice`)}su[g]=b,delete dP[g],nu.hasOwnProperty(g)&&(b=nu[g],delete nu[g],b.forEach(L=>L()))}(d,h,_)}var Sm=(d,h,_)=>{switch(h){case 1:return _?g=>(E(),V)[g>>>0]:g=>(E(),Q)[g>>>0];case 2:return _?g=>(E(),G)[g>>>1>>>0]:g=>(E(),q)[g>>>1>>>0];case 4:return _?g=>(E(),D)[g>>>2>>>0]:g=>(E(),R)[g>>>2>>>0];case 8:return _?g=>(E(),F)[g>>>3>>>0]:g=>(E(),N)[g>>>3>>>0];default:throw new TypeError(`invalid integer width (${h}): ${d}`)}};function pP(d,h,_,g,b){d>>>=0,_>>>=0,h=Zt(h>>>0);let k=P=>P;if(g=g===0n){let P=8*_;k=L=>BigInt.asUintN(P,L),b=k(b)}lr(d,{name:h,Mc:k,Sc:(P,L)=>(typeof L=="number"&&(L=BigInt(L)),L),Rc:Sm(h,_,!g),Tc:null})}function hP(d,h,_,g){lr(d>>>=0,{name:h=Zt(h>>>0),Mc:function(b){return!!b},Sc:function(b,k){return k?_:g},Rc:function(b){return this.Mc((E(),Q)[b>>>0])},Tc:null})}var Im=[],Ur=[0,1,,1,null,1,!0,1,!1,1];function au(d){9<(d>>>=0)&&--Ur[d+1]==0&&(Ur[d]=void 0,Im.push(d))}var It=d=>{if(!d)throw new Pn(`Cannot use deleted val. handle = ${d}`);return Ur[d]},zt=d=>{switch(d){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let h=Im.pop()||Ur.length;return Ur[h]=d,Ur[h+1]=1,h}};function ou(d){return this.Mc((E(),R)[d>>>2>>>0])}var fP={name:"emscripten::val",Mc:d=>{var h=It(d);return au(d),h},Sc:(d,h)=>zt(h),Rc:ou,Tc:null};function mP(d){return lr(d>>>0,fP)}var _P=(d,h)=>{switch(h){case 4:return function(_){return this.Mc((E(),re)[_>>>2>>>0])};case 8:return function(_){return this.Mc((E(),ie)[_>>>3>>>0])};default:throw new TypeError(`invalid float width (${h}): ${d}`)}};function gP(d,h,_){_>>>=0,lr(d>>>=0,{name:h=Zt(h>>>0),Mc:g=>g,Sc:(g,b)=>b,Rc:_P(h,_),Tc:null})}function wP(d,h,_,g,b){d>>>=0,_>>>=0,h=Zt(h>>>0);let k=L=>L;if(g===0){var P=32-8*_;k=L=>L<<P>>>P,b=k(b)}lr(d,{name:h,Mc:k,Sc:(L,j)=>j,Rc:Sm(h,_,g!==0),Tc:null})}function yP(d,h,_){function g(k){var P=(E(),R)[k>>>2>>>0];return k=(E(),R)[k+4>>>2>>>0],new b((E(),V).buffer,k,P)}var b=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][h];lr(d>>>=0,{name:_=Zt(_>>>0),Mc:g,Rc:g},{ee:!0})}var cr=(d,h,_)=>{var g=(E(),Q);if(h>>>=0,0<_){var b=h;_=h+_-1;for(var k=0;k<d.length;++k){var P=d.codePointAt(k);if(127>=P){if(h>=_)break;g[h++>>>0]=P}else if(2047>=P){if(h+1>=_)break;g[h++>>>0]=192|P>>6,g[h++>>>0]=128|63&P}else if(65535>=P){if(h+2>=_)break;g[h++>>>0]=224|P>>12,g[h++>>>0]=128|P>>6&63,g[h++>>>0]=128|63&P}else{if(h+3>=_)break;g[h++>>>0]=240|P>>18,g[h++>>>0]=128|P>>12&63,g[h++>>>0]=128|P>>6&63,g[h++>>>0]=128|63&P,k++}}g[h>>>0]=0,d=h-b}else d=0;return d},ur=d=>{for(var h=0,_=0;_<d.length;++_){var g=d.charCodeAt(_);127>=g?h++:2047>=g?h+=2:55296<=g&&57343>=g?(h+=4,++_):h+=3}return h};function vP(d,h){lr(d>>>=0,{name:h=Zt(h>>>0),Mc(_){var g=(E(),R)[_>>>2>>>0];return g=In(_+4,g,!0),$t(_),g},Sc(_,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var b=typeof g=="string";if(!(b||ArrayBuffer.isView(g)&&g.BYTES_PER_ELEMENT==1))throw new Pn("Cannot pass non-string to std::string");var k=b?ur(g):g.length,P=On(4+k+1),L=P+4;return(E(),R)[P>>>2>>>0]=k,b?cr(g,L,k+1):(E(),Q).set(g,L>>>0),_!==null&&_.push($t,P),P},Rc:ou,Tc(_){$t(_)}})}var Pm=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,bP=(d,h,_)=>{if(d>>>=1,16<(h=fm((E(),q),d,h/2,_))-d&&Pm)return Pm.decode((E(),q).slice(d,h));for(_="";d<h;++d){var g=(E(),q)[d>>>0];_+=String.fromCharCode(g)}return _},MP=(d,h,_)=>{if(_??(_=2147483647),2>_)return 0;var g=h;_=(_-=2)<2*d.length?_/2:d.length;for(var b=0;b<_;++b){var k=d.charCodeAt(b);(E(),G)[h>>>1>>>0]=k,h+=2}return(E(),G)[h>>>1>>>0]=0,h-g},xP=d=>2*d.length,TP=(d,h,_)=>{var g="";d>>>=2;for(var b=0;!(b>=h/4);b++){var k=(E(),R)[d+b>>>0];if(!k&&!_)break;g+=String.fromCodePoint(k)}return g},EP=(d,h,_)=>{if(h>>>=0,_??(_=2147483647),4>_)return 0;var g=h;_=g+_-4;for(var b=0;b<d.length;++b){var k=d.codePointAt(b);if(65535<k&&b++,(E(),D)[h>>>2>>>0]=k,(h+=4)+4>_)break}return(E(),D)[h>>>2>>>0]=0,h-g},kP=d=>{for(var h=0,_=0;_<d.length;++_)65535<d.codePointAt(_)&&_++,h+=4;return h};function CP(d,h,_){if(d>>>=0,h>>>=0,_=Zt(_>>>=0),h===2)var g=bP,b=MP,k=xP;else g=TP,b=EP,k=kP;lr(d,{name:_,Mc:P=>{var L=(E(),R)[P>>>2>>>0];return L=g(P+4,L*h,!0),$t(P),L},Sc:(P,L)=>{if(typeof L!="string")throw new Pn(`Cannot pass non-string to C++ string type ${_}`);var j=k(L),X=On(4+j+h);return(E(),R)[X>>>2>>>0]=j/h,b(L,X+4,j+h),P!==null&&P.push($t,X),X},Rc:ou,Tc(P){$t(P)}})}function AP(d,h){lr(d>>>=0,{fe:!0,name:h=Zt(h>>>0),Mc:()=>{},Sc:()=>{}})}function SP(d){Mu(d>>>0,!n,1,!r,131072,!1),om()}var yt=d=>{if(!S)try{if(d(),!(0<ke))try{s?to()&&xu(m):eu(m)}catch(h){h instanceof We||h=="unwind"||l(0,h)}}catch(h){h instanceof We||h=="unwind"||l(0,h)}},IP=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function iu(d){d>>>=0,IP||(Atomics.waitAsync((E(),D),d>>>2,d).value.then(Qa),d+=128,Atomics.store((E(),D),d>>>2,1))}var Qa=()=>yt(()=>{var d=to();d&&(iu(d),w_())});function PP(d,h){(d>>>=0)==h>>>0?setTimeout(Qa):s?postMessage({Vc:d,Oc:"checkMailbox"}):(d=Br[d])&&d.postMessage({Oc:"checkMailbox"})}var lu=[];function RP(d,h,_,g,b){for(h>>>=0,b>>>=0,lu.length=0,_=b>>>3,g=b+g>>>3;_<g;){var k;k=(E(),F)[_++>>>0]?(E(),F)[_++>>>0]:(E(),ie)[_++>>>0],lu.push(k)}return(h?Cu[h]:mR[d])(...lu)}var OP=()=>{ke=0};function LP(d){d>>>=0,s?postMessage({Oc:"cleanupThread",ie:d}):am(Br[d])}function FP(d){}var Ja=d=>{try{d()}catch(h){Ne(h)}};function NP(d){var h=(..._)=>{Xa.push(d);try{return d(..._)}finally{S||(Xa.pop(),er&&Er===1&&Xa.length===0&&(Er=0,ke+=1,Ja(og),typeof Fibers<"u"&&Fibers.De()))}};return Lm.set(d,h),h}var Er=0,er=null,Rm=0,Xa=[],cu=new Map,Om=new Map,Lm=new Map,DP=0,uu=null,BP=[],Fm=d=>function(h){if(!S){if(Er===0){var _=!1,g=!1;h((b=0)=>{if(!S&&(Rm=b,_=!0,g)){Er=2,Ja(()=>ig(er)),typeof MainLoop<"u"&&MainLoop.Xd&&MainLoop.resume(),b=!1;try{var k=function(){var j=(E(),D)[er+8>>>2>>>0];return j=Om.get(j),j=Lm.get(j),--ke,j()}()}catch(j){k=j,b=!0}var P=!1;if(!er){var L=uu;L&&(uu=null,(b?L.reject:L.resolve)(k),P=!0)}if(b&&!P)throw k}}),g=!0,_||(Er=1,er=function(){var b=On(65548),k=b+12;if((E(),R)[b>>>2>>>0]=k,(E(),R)[b+4>>>2>>>0]=k+65536,k=Xa[0],!cu.has(k)){var P=DP++;cu.set(k,P),Om.set(P,k)}return k=cu.get(k),(E(),D)[b+8>>>2>>>0]=k,b}(),typeof MainLoop<"u"&&MainLoop.Xd&&MainLoop.pause(),Ja(()=>ag(er)))}else Er===2?(Er=0,Ja(lg),$t(er),er=null,BP.forEach(yt)):Ne(`invalid state: ${Er}`);return Rm}}(h=>{d().then(h)});function UP(d){return d>>>=0,Fm(async()=>{var h=await It(d);return zt(h)})}var du=[],zP=d=>{var h=du.length;return du.push(d),h},$P=(d,h)=>{for(var _=Array(d),g=0;g<d;++g){var b=g,k=(E(),R)[h+4*g>>>2>>>0],P=su[k];if(P===void 0)throw d=`parameter ${g}`,k=e_(k),h=Zt(k),$t(k),new Pn(`${d} has unknown type ${h}`);_[b]=P}return _},VP=(d,h,_)=>{var g=[];return d=d(g,_),g.length&&((E(),R)[h>>>2>>>0]=zt(g)),d},GP={},Ya=d=>{var h=GP[d];return h===void 0?Zt(d):h};function jP(d,h,_){var[g,...b]=$P(d,h>>>0);h=g.Sc.bind(g);var k=b.map(j=>j.Rc.bind(j));d--;var P={toValue:It};switch(d=k.map((j,X)=>{var ve=`argFromPtr${X}`;return P[ve]=j,`${ve}(args${X?"+"+8*X:""})`}),_){case 0:var L="toValue(handle)";break;case 2:L="new (toValue(handle))";break;case 3:L="";break;case 1:P.getStringOrSymbol=Ya,L="toValue(handle)[getStringOrSymbol(methodName)]"}return L+=`(${d})`,g.fe||(P.toReturnWire=h,P.emval_returnValue=VP,L=`return emval_returnValue(toReturnWire, destructorsRef, ${L})`),L=`return function (handle, methodName, destructorsRef, args) {
|
|
1
|
+
"use strict";var __Octomil_ns=(()=>{var eO=Object.create;var Ss=Object.defineProperty;var tO=Object.getOwnPropertyDescriptor;var rO=Object.getOwnPropertyNames;var nO=Object.getPrototypeOf,sO=Object.prototype.hasOwnProperty;var ug=e=>{throw TypeError(e)};var aO=(e,t,r)=>t in e?Ss(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var $r=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Ve=(e,t)=>()=>(e&&(t=e(e=0)),t);var oO=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Au=(e,t)=>{for(var r in t)Ss(e,r,{get:t[r],enumerable:!0})},dg=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of rO(t))!sO.call(e,s)&&s!==r&&Ss(e,s,{get:()=>t[s],enumerable:!(n=tO(t,s))||n.enumerable});return e};var iO=(e,t,r)=>(r=e!=null?eO(nO(e)):{},dg(t||!e||!e.__esModule?Ss(r,"default",{value:e,enumerable:!0}):r,e)),lO=e=>dg(Ss({},"__esModule",{value:!0}),e);var w=(e,t,r)=>aO(e,typeof t!="symbol"?t+"":t,r),pg=(e,t,r)=>t.has(e)||ug("Cannot "+r);var ut=(e,t,r)=>(pg(e,t,"read from private field"),r?r.call(e):t.get(e)),so=(e,t,r)=>t.has(e)?ug("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),ao=(e,t,r,n)=>(pg(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var yg=oO((C3,wg)=>{wg.exports=globalThis.ort});var Id={};Au(Id,{InferenceSession:()=>md,TRACE:()=>Oo,TRACE_EVENT_BEGIN:()=>Ir,TRACE_EVENT_END:()=>Pr,TRACE_FUNC_BEGIN:()=>Zr,TRACE_FUNC_END:()=>en,Tensor:()=>Gt,default:()=>eL,env:()=>De,registerBackend:()=>Yr});async function Ag(e={}){var t=e,r=!!globalThis.window,n=!!globalThis.WorkerGlobalScope,s=n&&self.name?.startsWith("em-pthread");t.mountExternalData=(d,h)=>{d.startsWith("./")&&(d=d.substring(2)),(t.Uc||(t.Uc=new Map)).set(d,h)},t.unmountExternalData=()=>{delete t.Uc},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,Be:!0}).buffer.constructor;let a=()=>{let d=h=>(..._)=>{let g=er;return _=h(..._),er!=g?new Promise((b,k)=>{uu={resolve:b,reject:k}}):_};(()=>{for(let h of["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"])t[h]=d(t[h])})(),typeof jsepRunAsync<"u"&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,i,l=(d,h)=>{throw h},c=Vt.url,u="";if(r||n){try{u=new URL(".",c).href}catch{}n&&(i=d=>{var h=new XMLHttpRequest;return h.open("GET",d,!1),h.responseType="arraybuffer",h.send(null),new Uint8Array(h.response)}),o=async d=>{if(O(d))return new Promise((_,g)=>{var b=new XMLHttpRequest;b.open("GET",d,!0),b.responseType="arraybuffer",b.onload=()=>{b.status==200||b.status==0&&b.response?_(b.response):g(b.status)},b.onerror=g,b.send(null)});var h=await fetch(d,{credentials:"same-origin"});if(h.ok)return h.arrayBuffer();throw Error(h.status+" : "+h.url)}}var p,f,m,y,v,x,M=console.log.bind(console),T=console.error.bind(console),A=M,C=T,S=!1,O=d=>d.startsWith("file://");function E(){Tr.buffer!=V.buffer&&fe()}if(s){let d=function(h){try{var _=h.data,g=_.Oc;if(g==="load"){let b=[];self.onmessage=k=>b.push(k),x=()=>{postMessage({Oc:"loaded"});for(let k of b)d(k);self.onmessage=d};for(let k of _.de)t[k]&&!t[k].proxy||(t[k]=(...P)=>{postMessage({Oc:"callHandler",ce:k,args:P})},k=="print"&&(A=t[k]),k=="printErr"&&(C=t[k]));Tr=_.je,fe(),f=_.ke,nt(),no()}else if(g==="run"){(function(b){var k=(E(),R)[b+52>>>2>>>0];b=(E(),R)[b+56>>>2>>>0],v_(k,k-b),ne(k)})(_.Nc),Mu(_.Nc,0,0,1,0,0),im(),iu(_.Nc),$||(r_(),$=!0);try{eP(_.he,_.Wc)}catch(b){if(b!="unwind")throw b}}else _.target!=="setimmediate"&&(g==="checkMailbox"?$&&Qa():g&&(C(`worker: received unknown command ${g}`),C(_)))}catch(b){throw m_(),b}};var K=d,$=!1;self.onunhandledrejection=h=>{throw h.reason||h},self.onmessage=d}var V,Q,G,W,D,R,re,ie,F,N,z,Y=!1;function fe(){var d=Tr.buffer;t.HEAP8=V=new Int8Array(d),G=new Int16Array(d),t.HEAPU8=Q=new Uint8Array(d),W=new Uint16Array(d),t.HEAP32=D=new Int32Array(d),t.HEAPU32=R=new Uint32Array(d),re=new Float32Array(d),ie=new Float64Array(d),F=new BigInt64Array(d),N=new BigUint64Array(d)}function H(){Y=!0,s?x():hr._b()}function Ne(d){throw C(d="Aborted("+d+")"),S=!0,d=new WebAssembly.RuntimeError(d+". Build with -sASSERTIONS for more info."),v?.(d),d}function Xe(){return{a:{f:tP,J:rP,k:nP,p:sP,l:aP,ta:oP,b:iP,ca:lP,Ka:hm,s:cP,da:gm,_a:wm,Ga:ym,Ia:vm,$a:bm,Ya:Mm,Ra:xm,Xa:Tm,pa:Em,Ha:km,Yb:Cm,Za:Am,Fa:Sm,eb:uP,Da:pP,Tb:hP,Rb:mP,Ca:gP,M:wP,I:yP,Sb:vP,ka:CP,Ub:AP,Ua:SP,Wb:PP,La:RP,Pb:OP,la:LP,Ta:iu,bb:FP,U:UP,n:jP,c:au,sb:qP,w:WP,L:HP,z:KP,j:QP,o:Dm,tb:JP,G:XP,T:YP,h:ZP,u:e2,m:t2,i:r2,Oa:n2,Pa:s2,Qa:a2,Ma:$m,Na:Vm,Qb:Gm,fb:i2,db:u2,Y:d2,rb:p2,ma:h2,cb:l2,gb:f2,ab:m2,Xb:_2,N:o2,hb:g2,X:w2,Vb:y2,ob:A2,C:S2,sa:I2,ra:P2,qb:R2,W:O2,v:L2,nb:F2,mb:N2,lb:D2,pb:B2,kb:U2,jb:z2,ib:$2,Va:Qm,Wa:Jm,Ja:eu,ea:Xm,oa:Ym,Sa:Zm,na:e_,Db:XR,xa:GR,Eb:JR,ya:VR,F:RR,e:yR,r:gR,x:_R,D:SR,Ib:UR,ba:DR,B:bR,za:zR,$:jR,ha:BR,Fb:KR,Gb:HR,Ba:OR,Aa:NR,Jb:LR,wa:QR,aa:$R,d:vR,A:MR,q:wR,Cb:YR,t:TR,y:IR,H:xR,E:ER,K:PR,S:qR,ja:AR,_:WR,Kb:CR,Lb:kR,P:FR,g:G2,a:Tr,Ob:An,Hb:j2,ia:q2,O:W2,qa:H2,Mb:K2,Q:Q2,zb:J2,Ab:X2,ua:Y2,fa:Z2,R:eR,Ea:tR,va:rR,Z:nR,xb:sR,Zb:aR,V:oR,Bb:iR,ub:lR,vb:uR,wb:dR,ga:pR,yb:hR,Nb:fR}}}async function nt(){function d(g,b){var k=hr=g.exports;g={};for(let[P,L]of Object.entries(k))typeof L=="function"?(k=NP(L),g[P]=k):g[P]=L;return hr=g,hr=function(){var P=hr,L=X=>ve=>X(ve)>>>0,j=X=>()=>X()>>>0;return(P=Object.assign({},P)).$b=L(P.$b),P.Cc=j(P.Cc),P.Ec=L(P.Ec),P.rd=(X=>(ve,xe)=>X(ve,xe)>>>0)(P.rd),P.wd=L(P.wd),P.xd=j(P.xd),P.Bd=L(P.Bd),P}(),am.push(hr.id),t_=(g=hr).$b,r_=g.ac,t._OrtInit=g.bc,t._OrtGetLastError=g.cc,t._OrtCreateSessionOptions=g.dc,t._OrtAppendExecutionProvider=g.ec,t._OrtAddFreeDimensionOverride=g.fc,t._OrtAddSessionConfigEntry=g.gc,t._OrtReleaseSessionOptions=g.hc,t._OrtCreateSession=g.ic,t._OrtReleaseSession=g.jc,t._OrtGetInputOutputCount=g.kc,t._OrtGetInputOutputMetadata=g.lc,t._OrtFree=g.mc,t._OrtCreateTensor=g.nc,t._OrtGetTensorData=g.oc,t._OrtReleaseTensor=g.pc,t._OrtCreateRunOptions=g.qc,t._OrtAddRunConfigEntry=g.rc,t._OrtReleaseRunOptions=g.sc,t._OrtCreateBinding=g.tc,t._OrtBindInput=g.uc,t._OrtBindOutput=g.vc,t._OrtClearBoundOutputs=g.wc,t._OrtReleaseBinding=g.xc,t._OrtRunWithBinding=g.yc,t._OrtRun=g.zc,t._OrtEndProfiling=g.Ac,_u=t._OrtGetWebGpuDevice=g.Bc,to=g.Cc,$t=t._free=g.Dc,On=t._malloc=g.Ec,n_=t._wgpuBufferRelease=g.Fc,s_=t._wgpuCreateInstance=g.Gc,a_=g.Hc,o_=g.Ic,i_=g.Jc,l_=g.Kc,c_=g.Lc,u_=g.Pc,d_=g.Zc,p_=g._c,h_=g.$c,gu=g.bd,wu=g.cd,yu=g.dd,vu=g.ed,Cs=g.fd,bu=g.gd,f_=g.hd,Mu=g.kd,m_=g.ld,__=g.md,g_=g.nd,xu=g.od,w_=g.pd,y_=g.qd,Tu=g.rd,he=g.sd,As=g.td,v_=g.ud,ne=g.vd,ro=g.wd,se=g.xd,b_=g.yd,Eu=g.zd,M_=g.Ad,x_=g.Bd,T_=g.Cd,ku=g.Dd,E_=g.Ed,k_=g.Fd,C_=g.Gd,A_=g.Hd,S_=g.Id,I_=g.Jd,P_=g.Kd,R_=g.Ld,O_=g.Md,L_=g.Nd,F_=g.Od,N_=g.Pd,D_=g.Qd,B_=g.Rd,U_=g.Td,z_=g.Ud,$_=g.Vd,V_=g.Wd,G_=g.Yd,j_=g.Zd,q_=g._d,W_=g.$d,H_=g.ae,K_=g.be,Q_=g.pe,J_=g.qe,X_=g.re,Y_=g.se,Z_=g.te,eg=g.ue,tg=g.ve,rg=g.we,ng=g.xe,sg=g.ye,ag=g.ze,og=g.Xe,ig=g.Ye,lg=g.Ze,cg=g._e,f=b,hr}var h,_=Xe();return t.instantiateWasm?new Promise(g=>{t.instantiateWasm(_,(b,k)=>{g(d(b,k))})}):s?d(new WebAssembly.Instance(f,Xe()),f):(z??(z=t.locateFile?t.locateFile?t.locateFile("ort-wasm-simd-threaded.asyncify.wasm",u):u+"ort-wasm-simd-threaded.asyncify.wasm":new URL("ort-wasm-simd-threaded.asyncify.wasm",Vt.url).href),h=await async function(g){var b=z;if(!p&&!O(b))try{var k=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(k,g)}catch(P){C(`wasm streaming compile failed: ${P}`),C("falling back to ArrayBuffer instantiation")}return async function(P,L){try{var j=await async function(X){if(!p)try{var ve=await o(X);return new Uint8Array(ve)}catch{}if(X==z&&p)X=new Uint8Array(p);else{if(!i)throw"both async and sync fetching of the wasm failed";X=i(X)}return X}(P);return await WebAssembly.instantiate(j,L)}catch(X){C(`failed to asynchronously prepare wasm: ${X}`),Ne(X)}}(b,g)}(_),d(h.instance,h.module))}class qe{constructor(h){w(this,"name","ExitStatus");this.message=`Program terminated with exit(${h})`,this.status=h}}var gt=d=>{d.terminate(),d.onmessage=()=>{}},Pe=[],ye=0,We=null,Yt=d=>{xr.length==0&&(cm(),lm(xr[0]));var h=xr.pop();if(!h)return 6;Ts.push(h),Br[d.Nc]=h,h.Nc=d.Nc;var _={Oc:"run",he:d.ge,Wc:d.Wc,Nc:d.Nc};return h.postMessage(_,d.Yc),0},ke=0,Ie=(d,h,..._)=>{var g,b=16*_.length,k=se(),P=ro(b),L=P>>>3;for(g of _)typeof g=="bigint"?((E(),F)[L++>>>0]=1n,(E(),F)[L++>>>0]=g):((E(),F)[L++>>>0]=0n,(E(),ie)[L++>>>0]=g);return d=__(d,0,b,P,h),ne(k),d};function An(d){if(s)return Ie(0,1,d);if(m=d,!(0<ke)){for(var h of Ts)gt(h);for(h of xr)gt(h);xr=[],Ts=[],Br={},S=!0}l(0,new qe(d))}function xs(d){if(s)return Ie(1,0,d);eu(d)}var eu=d=>{if(m=d,s)throw xs(d),"unwind";An(d)},xr=[],Ts=[],am=[],Br={},om=d=>{var h=d.Nc;delete Br[h],xr.push(d),Ts.splice(Ts.indexOf(d),1),d.Nc=0,g_(h)};function im(){am.forEach(d=>d())}var lm=d=>new Promise(h=>{d.onmessage=b=>{var k=b.data;if(b=k.Oc,k.Vc&&k.Vc!=to()){var P=Br[k.Vc];P?P.postMessage(k,k.Yc):C(`Internal error! Worker sent a message "${b}" to target pthread ${k.Vc}, but that thread no longer exists!`)}else b==="checkMailbox"?Qa():b==="spawnThread"?Yt(k):b==="cleanupThread"?yt(()=>{om(Br[k.ie])}):b==="loaded"?(d.loaded=!0,h(d)):k.target==="setimmediate"?d.postMessage(k):b==="uncaughtException"?d.onerror(k.error):b==="callHandler"?t[k.ce](...k.args):b&&C(`worker sent an unknown command ${b}`)},d.onerror=b=>{throw C(`worker sent an error! ${b.filename}:${b.lineno}: ${b.message}`),b};var _,g=[];for(_ of[])t.propertyIsEnumerable(_)&&g.push(_);d.postMessage({Oc:"load",de:g,je:Tr,ke:f})});function cm(){var d=new Worker((()=>{let h=URL;return Vt.url>"file:"&&Vt.url<"file;"?new h("ort.webgpu.bundle.min.mjs",Vt.url):new URL(Vt.url)})(),{type:"module",workerData:"em-pthread",name:"em-pthread"});xr.push(d)}var Tr,eP=(d,h)=>{ke=0,d=ku(d,h),0<ke?m=d:xu(d)},Ha=[],Ka=0,wt=d=>-9007199254740992>d||9007199254740992<d?NaN:Number(d);function tP(d){var h=new tu(d>>>=0);return(E(),V)[h.Qc+12>>>0]==0&&(um(h,!0),Ka--),dm(h,!1),Ha.push(h),x_(d)}var Sn=0,rP=()=>{he(0,0);var d=Ha.pop();b_(d.Xc),Sn=0};function um(d,h){h=h?1:0,(E(),V)[d.Qc+12>>>0]=h}function dm(d,h){h=h?1:0,(E(),V)[d.Qc+13>>>0]=h}class tu{constructor(h){this.Xc=h,this.Qc=h-24}}var ru=d=>{var h=Sn;if(!h)return As(0),0;var _=new tu(h);(E(),R)[_.Qc+16>>>2>>>0]=h;var g=(E(),R)[_.Qc+4>>>2>>>0];if(!g)return As(0),h;for(var b of d){if(b===0||b===g)break;if(M_(b,g,_.Qc+16))return As(b),h}return As(g),h};function nP(){return ru([])}function sP(d){return ru([d>>>0])}function aP(d,h,_,g){return ru([d>>>0,h>>>0,_>>>0,g>>>0])}var oP=()=>{var d=Ha.pop();d||Ne("no exception to throw");var h=d.Xc;throw(E(),V)[d.Qc+13>>>0]==0&&(Ha.push(d),dm(d,!0),um(d,!1),Ka++),Eu(h),Sn=h};function iP(d,h,_){var g=new tu(d>>>=0);throw h>>>=0,_>>>=0,(E(),R)[g.Qc+16>>>2>>>0]=0,(E(),R)[g.Qc+4>>>2>>>0]=h,(E(),R)[g.Qc+8>>>2>>>0]=_,Eu(d),Ka++,Sn=d}var lP=()=>Ka;function pm(d,h,_,g){return s?Ie(2,1,d,h,_,g):hm(d,h,_,g)}function hm(d,h,_,g){if(d>>>=0,h>>>=0,_>>>=0,g>>>=0,!globalThis.SharedArrayBuffer)return 6;var b=[];return s&&b.length===0?pm(d,h,_,g):(d={ge:_,Nc:d,Wc:g,Yc:b},s?(d.Oc="spawnThread",postMessage(d,b),0):Yt(d))}function cP(d){throw Sn||(Sn=d>>>0),Sn}var fm=globalThis.TextDecoder&&new TextDecoder,mm=(d,h,_,g)=>{if(_=h+_,g)return _;for(;d[h]&&!(h>=_);)++h;return h},_m=(d,h=0,_,g)=>{if(16<(_=mm(d,h>>>=0,_,g))-h&&d.buffer&&fm)return fm.decode(d.buffer instanceof ArrayBuffer?d.subarray(h,_):d.slice(h,_));for(g="";h<_;){var b=d[h++];if(128&b){var k=63&d[h++];if((224&b)==192)g+=String.fromCharCode((31&b)<<6|k);else{var P=63&d[h++];65536>(b=(240&b)==224?(15&b)<<12|k<<6|P:(7&b)<<18|k<<12|P<<6|63&d[h++])?g+=String.fromCharCode(b):(b-=65536,g+=String.fromCharCode(55296|b>>10,56320|1023&b))}}else g+=String.fromCharCode(b)}return g},In=(d,h,_)=>(d>>>=0)?_m((E(),Q),d,h,_):"";function gm(d,h,_){return s?Ie(3,1,d,h,_):0}function wm(d,h){if(s)return Ie(4,1,d,h)}function ym(d,h){if(s)return Ie(5,1,d,h)}function vm(d,h,_){if(s)return Ie(6,1,d,h,_)}function bm(d,h,_){return s?Ie(7,1,d,h,_):0}function Mm(d,h){if(s)return Ie(8,1,d,h)}function xm(d,h,_){if(s)return Ie(9,1,d,h,_)}function Tm(d,h,_,g){if(s)return Ie(10,1,d,h,_,g)}function Em(d,h,_,g){if(s)return Ie(11,1,d,h,_,g)}function km(d,h,_,g){if(s)return Ie(12,1,d,h,_,g)}function Cm(d){if(s)return Ie(13,1,d)}function Am(d,h){if(s)return Ie(14,1,d,h)}function Sm(d,h,_){if(s)return Ie(15,1,d,h,_)}var uP=()=>Ne(""),Zt=d=>{d>>>=0;for(var h="";;){var _=(E(),Q)[d++>>>0];if(!_)return h;h+=String.fromCharCode(_)}},nu={},su={},dP={},Pn=class extends Error{constructor(d){super(d),this.name="BindingError"}};function lr(d,h,_={}){return function(g,b,k={}){var P=b.name;if(!g)throw new Pn(`type "${P}" must have a positive integer typeid pointer`);if(su.hasOwnProperty(g)){if(k.ee)return;throw new Pn(`Cannot register type '${P}' twice`)}su[g]=b,delete dP[g],nu.hasOwnProperty(g)&&(b=nu[g],delete nu[g],b.forEach(L=>L()))}(d,h,_)}var Im=(d,h,_)=>{switch(h){case 1:return _?g=>(E(),V)[g>>>0]:g=>(E(),Q)[g>>>0];case 2:return _?g=>(E(),G)[g>>>1>>>0]:g=>(E(),W)[g>>>1>>>0];case 4:return _?g=>(E(),D)[g>>>2>>>0]:g=>(E(),R)[g>>>2>>>0];case 8:return _?g=>(E(),F)[g>>>3>>>0]:g=>(E(),N)[g>>>3>>>0];default:throw new TypeError(`invalid integer width (${h}): ${d}`)}};function pP(d,h,_,g,b){d>>>=0,_>>>=0,h=Zt(h>>>0);let k=P=>P;if(g=g===0n){let P=8*_;k=L=>BigInt.asUintN(P,L),b=k(b)}lr(d,{name:h,Mc:k,Sc:(P,L)=>(typeof L=="number"&&(L=BigInt(L)),L),Rc:Im(h,_,!g),Tc:null})}function hP(d,h,_,g){lr(d>>>=0,{name:h=Zt(h>>>0),Mc:function(b){return!!b},Sc:function(b,k){return k?_:g},Rc:function(b){return this.Mc((E(),Q)[b>>>0])},Tc:null})}var Pm=[],Ur=[0,1,,1,null,1,!0,1,!1,1];function au(d){9<(d>>>=0)&&--Ur[d+1]==0&&(Ur[d]=void 0,Pm.push(d))}var It=d=>{if(!d)throw new Pn(`Cannot use deleted val. handle = ${d}`);return Ur[d]},zt=d=>{switch(d){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let h=Pm.pop()||Ur.length;return Ur[h]=d,Ur[h+1]=1,h}};function ou(d){return this.Mc((E(),R)[d>>>2>>>0])}var fP={name:"emscripten::val",Mc:d=>{var h=It(d);return au(d),h},Sc:(d,h)=>zt(h),Rc:ou,Tc:null};function mP(d){return lr(d>>>0,fP)}var _P=(d,h)=>{switch(h){case 4:return function(_){return this.Mc((E(),re)[_>>>2>>>0])};case 8:return function(_){return this.Mc((E(),ie)[_>>>3>>>0])};default:throw new TypeError(`invalid float width (${h}): ${d}`)}};function gP(d,h,_){_>>>=0,lr(d>>>=0,{name:h=Zt(h>>>0),Mc:g=>g,Sc:(g,b)=>b,Rc:_P(h,_),Tc:null})}function wP(d,h,_,g,b){d>>>=0,_>>>=0,h=Zt(h>>>0);let k=L=>L;if(g===0){var P=32-8*_;k=L=>L<<P>>>P,b=k(b)}lr(d,{name:h,Mc:k,Sc:(L,j)=>j,Rc:Im(h,_,g!==0),Tc:null})}function yP(d,h,_){function g(k){var P=(E(),R)[k>>>2>>>0];return k=(E(),R)[k+4>>>2>>>0],new b((E(),V).buffer,k,P)}var b=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][h];lr(d>>>=0,{name:_=Zt(_>>>0),Mc:g,Rc:g},{ee:!0})}var cr=(d,h,_)=>{var g=(E(),Q);if(h>>>=0,0<_){var b=h;_=h+_-1;for(var k=0;k<d.length;++k){var P=d.codePointAt(k);if(127>=P){if(h>=_)break;g[h++>>>0]=P}else if(2047>=P){if(h+1>=_)break;g[h++>>>0]=192|P>>6,g[h++>>>0]=128|63&P}else if(65535>=P){if(h+2>=_)break;g[h++>>>0]=224|P>>12,g[h++>>>0]=128|P>>6&63,g[h++>>>0]=128|63&P}else{if(h+3>=_)break;g[h++>>>0]=240|P>>18,g[h++>>>0]=128|P>>12&63,g[h++>>>0]=128|P>>6&63,g[h++>>>0]=128|63&P,k++}}g[h>>>0]=0,d=h-b}else d=0;return d},ur=d=>{for(var h=0,_=0;_<d.length;++_){var g=d.charCodeAt(_);127>=g?h++:2047>=g?h+=2:55296<=g&&57343>=g?(h+=4,++_):h+=3}return h};function vP(d,h){lr(d>>>=0,{name:h=Zt(h>>>0),Mc(_){var g=(E(),R)[_>>>2>>>0];return g=In(_+4,g,!0),$t(_),g},Sc(_,g){g instanceof ArrayBuffer&&(g=new Uint8Array(g));var b=typeof g=="string";if(!(b||ArrayBuffer.isView(g)&&g.BYTES_PER_ELEMENT==1))throw new Pn("Cannot pass non-string to std::string");var k=b?ur(g):g.length,P=On(4+k+1),L=P+4;return(E(),R)[P>>>2>>>0]=k,b?cr(g,L,k+1):(E(),Q).set(g,L>>>0),_!==null&&_.push($t,P),P},Rc:ou,Tc(_){$t(_)}})}var Rm=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,bP=(d,h,_)=>{if(d>>>=1,16<(h=mm((E(),W),d,h/2,_))-d&&Rm)return Rm.decode((E(),W).slice(d,h));for(_="";d<h;++d){var g=(E(),W)[d>>>0];_+=String.fromCharCode(g)}return _},MP=(d,h,_)=>{if(_??(_=2147483647),2>_)return 0;var g=h;_=(_-=2)<2*d.length?_/2:d.length;for(var b=0;b<_;++b){var k=d.charCodeAt(b);(E(),G)[h>>>1>>>0]=k,h+=2}return(E(),G)[h>>>1>>>0]=0,h-g},xP=d=>2*d.length,TP=(d,h,_)=>{var g="";d>>>=2;for(var b=0;!(b>=h/4);b++){var k=(E(),R)[d+b>>>0];if(!k&&!_)break;g+=String.fromCodePoint(k)}return g},EP=(d,h,_)=>{if(h>>>=0,_??(_=2147483647),4>_)return 0;var g=h;_=g+_-4;for(var b=0;b<d.length;++b){var k=d.codePointAt(b);if(65535<k&&b++,(E(),D)[h>>>2>>>0]=k,(h+=4)+4>_)break}return(E(),D)[h>>>2>>>0]=0,h-g},kP=d=>{for(var h=0,_=0;_<d.length;++_)65535<d.codePointAt(_)&&_++,h+=4;return h};function CP(d,h,_){if(d>>>=0,h>>>=0,_=Zt(_>>>=0),h===2)var g=bP,b=MP,k=xP;else g=TP,b=EP,k=kP;lr(d,{name:_,Mc:P=>{var L=(E(),R)[P>>>2>>>0];return L=g(P+4,L*h,!0),$t(P),L},Sc:(P,L)=>{if(typeof L!="string")throw new Pn(`Cannot pass non-string to C++ string type ${_}`);var j=k(L),X=On(4+j+h);return(E(),R)[X>>>2>>>0]=j/h,b(L,X+4,j+h),P!==null&&P.push($t,X),X},Rc:ou,Tc(P){$t(P)}})}function AP(d,h){lr(d>>>=0,{fe:!0,name:h=Zt(h>>>0),Mc:()=>{},Sc:()=>{}})}function SP(d){Mu(d>>>0,!n,1,!r,131072,!1),im()}var yt=d=>{if(!S)try{if(d(),!(0<ke))try{s?to()&&xu(m):eu(m)}catch(h){h instanceof qe||h=="unwind"||l(0,h)}}catch(h){h instanceof qe||h=="unwind"||l(0,h)}},IP=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function iu(d){d>>>=0,IP||(Atomics.waitAsync((E(),D),d>>>2,d).value.then(Qa),d+=128,Atomics.store((E(),D),d>>>2,1))}var Qa=()=>yt(()=>{var d=to();d&&(iu(d),y_())});function PP(d,h){(d>>>=0)==h>>>0?setTimeout(Qa):s?postMessage({Vc:d,Oc:"checkMailbox"}):(d=Br[d])&&d.postMessage({Oc:"checkMailbox"})}var lu=[];function RP(d,h,_,g,b){for(h>>>=0,b>>>=0,lu.length=0,_=b>>>3,g=b+g>>>3;_<g;){var k;k=(E(),F)[_++>>>0]?(E(),F)[_++>>>0]:(E(),ie)[_++>>>0],lu.push(k)}return(h?Cu[h]:mR[d])(...lu)}var OP=()=>{ke=0};function LP(d){d>>>=0,s?postMessage({Oc:"cleanupThread",ie:d}):om(Br[d])}function FP(d){}var Ja=d=>{try{d()}catch(h){Ne(h)}};function NP(d){var h=(..._)=>{Xa.push(d);try{return d(..._)}finally{S||(Xa.pop(),er&&Er===1&&Xa.length===0&&(Er=0,ke+=1,Ja(ig),typeof Fibers<"u"&&Fibers.De()))}};return Fm.set(d,h),h}var Er=0,er=null,Om=0,Xa=[],cu=new Map,Lm=new Map,Fm=new Map,DP=0,uu=null,BP=[],Nm=d=>function(h){if(!S){if(Er===0){var _=!1,g=!1;h((b=0)=>{if(!S&&(Om=b,_=!0,g)){Er=2,Ja(()=>lg(er)),typeof MainLoop<"u"&&MainLoop.Xd&&MainLoop.resume(),b=!1;try{var k=function(){var j=(E(),D)[er+8>>>2>>>0];return j=Lm.get(j),j=Fm.get(j),--ke,j()}()}catch(j){k=j,b=!0}var P=!1;if(!er){var L=uu;L&&(uu=null,(b?L.reject:L.resolve)(k),P=!0)}if(b&&!P)throw k}}),g=!0,_||(Er=1,er=function(){var b=On(65548),k=b+12;if((E(),R)[b>>>2>>>0]=k,(E(),R)[b+4>>>2>>>0]=k+65536,k=Xa[0],!cu.has(k)){var P=DP++;cu.set(k,P),Lm.set(P,k)}return k=cu.get(k),(E(),D)[b+8>>>2>>>0]=k,b}(),typeof MainLoop<"u"&&MainLoop.Xd&&MainLoop.pause(),Ja(()=>og(er)))}else Er===2?(Er=0,Ja(cg),$t(er),er=null,BP.forEach(yt)):Ne(`invalid state: ${Er}`);return Om}}(h=>{d().then(h)});function UP(d){return d>>>=0,Nm(async()=>{var h=await It(d);return zt(h)})}var du=[],zP=d=>{var h=du.length;return du.push(d),h},$P=(d,h)=>{for(var _=Array(d),g=0;g<d;++g){var b=g,k=(E(),R)[h+4*g>>>2>>>0],P=su[k];if(P===void 0)throw d=`parameter ${g}`,k=t_(k),h=Zt(k),$t(k),new Pn(`${d} has unknown type ${h}`);_[b]=P}return _},VP=(d,h,_)=>{var g=[];return d=d(g,_),g.length&&((E(),R)[h>>>2>>>0]=zt(g)),d},GP={},Ya=d=>{var h=GP[d];return h===void 0?Zt(d):h};function jP(d,h,_){var[g,...b]=$P(d,h>>>0);h=g.Sc.bind(g);var k=b.map(j=>j.Rc.bind(j));d--;var P={toValue:It};switch(d=k.map((j,X)=>{var ve=`argFromPtr${X}`;return P[ve]=j,`${ve}(args${X?"+"+8*X:""})`}),_){case 0:var L="toValue(handle)";break;case 2:L="new (toValue(handle))";break;case 3:L="";break;case 1:P.getStringOrSymbol=Ya,L="toValue(handle)[getStringOrSymbol(methodName)]"}return L+=`(${d})`,g.fe||(P.toReturnWire=h,P.emval_returnValue=VP,L=`return emval_returnValue(toReturnWire, destructorsRef, ${L})`),L=`return function (handle, methodName, destructorsRef, args) {
|
|
2
2
|
${L}
|
|
3
|
-
}`,_=new Function(Object.keys(P),L)(...Object.values(P)),L=`methodCaller<(${b.map(j=>j.name)}) => ${g.name}>`,zP(Object.defineProperty(_,"name",{value:L}))}function WP(d,h){return h>>>=0,(d=It(d>>>0))==It(h)}function qP(d){return(d>>>=0)?(d=Ya(d),zt(globalThis[d])):zt(globalThis)}function HP(d){return d=Ya(d>>>0),zt(t[d])}function KP(d,h){return h>>>=0,d=It(d>>>0),h=It(h),zt(d[h])}function QP(d){9<(d>>>=0)&&(Ur[d+1]+=1)}function Nm(d,h,_,g,b){return du[d>>>0](h>>>0,_>>>0,g>>>0,b>>>0)}function JP(d,h,_,g,b){return Nm(d>>>0,h>>>0,_>>>0,g>>>0,b>>>0)}function XP(){return zt([])}function YP(d){d=It(d>>>0);for(var h=Array(d.length),_=0;_<d.length;_++)h[_]=d[_];return zt(h)}function ZP(d){return zt(Ya(d>>>0))}function e2(){return zt({})}function t2(d){for(var h=It(d>>>=0);h.length;){var _=h.pop();h.pop()(_)}au(d)}function r2(d,h,_){h>>>=0,_>>>=0,d=It(d>>>0),h=It(h),_=It(_),d[h]=_}function n2(d,h){d=wt(d),h>>>=0,d=new Date(1e3*d),(E(),D)[h>>>2>>>0]=d.getUTCSeconds(),(E(),D)[h+4>>>2>>>0]=d.getUTCMinutes(),(E(),D)[h+8>>>2>>>0]=d.getUTCHours(),(E(),D)[h+12>>>2>>>0]=d.getUTCDate(),(E(),D)[h+16>>>2>>>0]=d.getUTCMonth(),(E(),D)[h+20>>>2>>>0]=d.getUTCFullYear()-1900,(E(),D)[h+24>>>2>>>0]=d.getUTCDay(),d=(d.getTime()-Date.UTC(d.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(E(),D)[h+28>>>2>>>0]=d}var Dm=d=>d%4==0&&(d%100!=0||d%400==0),Bm=[0,31,60,91,121,152,182,213,244,274,305,335],Um=[0,31,59,90,120,151,181,212,243,273,304,334];function s2(d,h){d=wt(d),h>>>=0,d=new Date(1e3*d),(E(),D)[h>>>2>>>0]=d.getSeconds(),(E(),D)[h+4>>>2>>>0]=d.getMinutes(),(E(),D)[h+8>>>2>>>0]=d.getHours(),(E(),D)[h+12>>>2>>>0]=d.getDate(),(E(),D)[h+16>>>2>>>0]=d.getMonth(),(E(),D)[h+20>>>2>>>0]=d.getFullYear()-1900,(E(),D)[h+24>>>2>>>0]=d.getDay();var _=(Dm(d.getFullYear())?Bm:Um)[d.getMonth()]+d.getDate()-1|0;(E(),D)[h+28>>>2>>>0]=_,(E(),D)[h+36>>>2>>>0]=-60*d.getTimezoneOffset(),_=new Date(d.getFullYear(),6,1).getTimezoneOffset();var g=new Date(d.getFullYear(),0,1).getTimezoneOffset();d=0|(_!=g&&d.getTimezoneOffset()==Math.min(g,_)),(E(),D)[h+32>>>2>>>0]=d}function a2(d){d>>>=0;var h=new Date((E(),D)[d+20>>>2>>>0]+1900,(E(),D)[d+16>>>2>>>0],(E(),D)[d+12>>>2>>>0],(E(),D)[d+8>>>2>>>0],(E(),D)[d+4>>>2>>>0],(E(),D)[d>>>2>>>0],0),_=(E(),D)[d+32>>>2>>>0],g=h.getTimezoneOffset(),b=new Date(h.getFullYear(),6,1).getTimezoneOffset(),k=new Date(h.getFullYear(),0,1).getTimezoneOffset(),P=Math.min(k,b);return 0>_?(E(),D)[d+32>>>2>>>0]=+(b!=k&&P==g):0<_!=(P==g)&&(b=Math.max(k,b),h.setTime(h.getTime()+6e4*((0<_?P:b)-g))),(E(),D)[d+24>>>2>>>0]=h.getDay(),_=(Dm(h.getFullYear())?Bm:Um)[h.getMonth()]+h.getDate()-1|0,(E(),D)[d+28>>>2>>>0]=_,(E(),D)[d>>>2>>>0]=h.getSeconds(),(E(),D)[d+4>>>2>>>0]=h.getMinutes(),(E(),D)[d+8>>>2>>>0]=h.getHours(),(E(),D)[d+12>>>2>>>0]=h.getDate(),(E(),D)[d+16>>>2>>>0]=h.getMonth(),(E(),D)[d+20>>>2>>>0]=h.getYear(),d=h.getTime(),BigInt(isNaN(d)?-1:d/1e3)}function zm(d,h,_,g,b,k,P){return s?Ie(16,1,d,h,_,g,b,k,P):-52}function $m(d,h,_,g,b,k){if(s)return Ie(17,1,d,h,_,g,b,k)}var Es={},o2=()=>performance.timeOrigin+performance.now();function Vm(d,h){if(s)return Ie(18,1,d,h);if(Es[d]&&(clearTimeout(Es[d].id),delete Es[d]),!h)return 0;var _=setTimeout(()=>{delete Es[d],yt(()=>g_(d,performance.timeOrigin+performance.now()))},h);return Es[d]={id:_,Ce:h},0}function i2(d,h,_,g){d>>>=0,h>>>=0,_>>>=0,g>>>=0;var b=new Date().getFullYear(),k=new Date(b,0,1).getTimezoneOffset();b=new Date(b,6,1).getTimezoneOffset();var P=Math.max(k,b);(E(),R)[d>>>2>>>0]=60*P,(E(),D)[h>>>2>>>0]=+(k!=b),d=(h=L=>{var j=Math.abs(L);return`UTC${0<=L?"-":"+"}${String(Math.floor(j/60)).padStart(2,"0")}${String(j%60).padStart(2,"0")}`})(k),h=h(b),b<k?(cr(d,_,17),cr(h,g,17)):(cr(d,g,17),cr(h,_,17))}var l2=()=>Date.now(),c2=1;function u2(d,h,_){if(_>>>=0,!(0<=d&&3>=d))return 28;if(d===0)d=Date.now();else{if(!c2)return 52;d=performance.timeOrigin+performance.now()}return d=Math.round(1e6*d),(E(),F)[_>>>3>>>0]=BigInt(d),0}var pu=[],Gm=(d,h)=>{pu.length=0;for(var _;_=(E(),Q)[d++>>>0];){var g=_!=105;h+=(g&=_!=112)&&h%8?4:0,pu.push(_==112?(E(),R)[h>>>2>>>0]:_==106?(E(),F)[h>>>3>>>0]:_==105?(E(),D)[h>>>2>>>0]:(E(),ie)[h>>>3>>>0]),h+=g?8:4}return pu};function d2(d,h,_){return d>>>=0,h=Gm(h>>>0,_>>>0),Cu[d](...h)}function p2(d,h,_){return d>>>=0,h=Gm(h>>>0,_>>>0),Cu[d](...h)}var h2=()=>{};function f2(d,h){return C(In(d>>>0,h>>>0))}var m2=()=>{throw ke+=1,"unwind"};function _2(){return 4294901760}var g2=()=>1,w2=()=>navigator.hardwareConcurrency;function y2(d){d>>>=0;var h=(E(),Q).length;if(d<=h||4294901760<d)return!1;for(var _=1;4>=_;_*=2){var g=h*(1+.2/_);g=Math.min(g,d+100663296);e:{g=(Math.min(4294901760,65536*Math.ceil(Math.max(d,g)/65536))-Tr.buffer.byteLength+65535)/65536|0;try{Tr.grow(g),fe();var b=1;break e}catch{}b=void 0}if(b)return!0}return!1}var tr=d=>{var h=ur(d)+1,_=ro(h);return cr(d,_,h),_},hu=(d,h)=>{(E(),R)[d>>>2>>>0]=h;var _=(E(),R)[d>>>2>>>0];(E(),R)[d+4>>>2>>>0]=(h-_)/4294967296},ks=d=>(E(),R)[d>>>2>>>0]+4294967296*(E(),D)[d+4>>>2>>>0],st=[],v2=(d,h)=>{st[d>>>0]=h},dr=[],Za=[],Rn=(d,h)=>{Za[d]=new Promise(_=>h.finally(()=>_(d)))},ee=d=>{if(d)return st[d>>>0]},b2=(d,h)=>{for(d=(E(),R)[d>>>2>>>0];d;d=(E(),R)[d>>>2>>>0])h[(E(),D)[d+4>>>2>>>0]](d)},eo=(d,h,_)=>{(E(),R)[d>>>2>>>0]=h,(E(),R)[d+4>>>2>>>0]=_},jm=d=>{var h=(E(),R)[d>>>2>>>0];return d=(E(),R)[d+4>>>2>>>0],In(h,d)},pr=d=>{var h=(E(),R)[d>>>2>>>0];return d=(E(),R)[d+4>>>2>>>0],h?In(h,d):d===0?"":void 0},M2=d=>{var h=pr(d+4),_=(_=(E(),R)[d+12>>>2>>>0])?ee(_):"auto";if(d+=16){var g=ee((E(),R)[d+4>>>2>>>0]),b=(E(),R)[d+16>>>2>>>0],k=(E(),R)[d+20>>>2>>>0];if(b){for(var P={},L=0;L<b;++L){var j=k+24*L;P[jm(j+4)]=(E(),ie)[j+16>>>3>>>0]}b=P}else b=void 0;d={module:g,constants:b,entryPoint:pr(d+8)}}else d=void 0;return{label:h,layout:_,compute:d}},Wm=(d,h)=>{function _(g,b){g=d[g],(E(),R)[h+b>>>2>>>0]=g}_("maxTextureDimension1D",4),_("maxTextureDimension2D",8),_("maxTextureDimension3D",12),_("maxTextureArrayLayers",16),_("maxBindGroups",20),_("maxBindGroupsPlusVertexBuffers",24),_("maxBindingsPerBindGroup",28),_("maxDynamicUniformBuffersPerPipelineLayout",32),_("maxDynamicStorageBuffersPerPipelineLayout",36),_("maxSampledTexturesPerShaderStage",40),_("maxSamplersPerShaderStage",44),_("maxStorageBuffersPerShaderStage",48),_("maxStorageTexturesPerShaderStage",52),_("maxUniformBuffersPerShaderStage",56),_("minUniformBufferOffsetAlignment",80),_("minStorageBufferOffsetAlignment",84),hu(h+64,d.maxUniformBufferBindingSize),hu(h+72,d.maxStorageBufferBindingSize),_("maxVertexBuffers",88),hu(h+96,d.maxBufferSize),_("maxVertexAttributes",104),_("maxVertexBufferArrayStride",108),_("maxInterStageShaderVariables",112),_("maxColorAttachments",116),_("maxColorAttachmentBytesPerSample",120),_("maxComputeWorkgroupStorageSize",124),_("maxComputeInvocationsPerWorkgroup",128),_("maxComputeWorkgroupSizeX",132),_("maxComputeWorkgroupSizeY",136),_("maxComputeWorkgroupSizeZ",140),_("maxComputeWorkgroupsPerDimension",144),d.Ae!==void 0&&_("maxImmediateSize",148)},x2=[,"validation","out-of-memory","internal"],T2=[,"compatibility","core"],qm={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect"},E2=[,"low-power","high-performance"],k2=[,"occlusion","timestamp"],C2={undefined:1,unknown:1,destroyed:2};function A2(d,h,_,g,b,k){h=wt(h),_=wt(_),g>>>=0,b>>>=0,k>>>=0;var P=ee(d>>>0);if(d={},k){var L=(E(),R)[k+12>>>2>>>0];if(L){var j=(E(),R)[k+16>>>2>>>0];d.requiredFeatures=Array.from((E(),R).subarray(j>>>2>>>0,j+4*L>>>2>>>0),te=>qm[te])}var X=(E(),R)[k+20>>>2>>>0];if(X){let te=function(vt,Ze,zr=!1){Ze=X+Ze,(Ze=(E(),R)[Ze>>>2>>>0])==4294967295||zr&&Ze==0||(Re[vt]=Ze)},Ye=function(vt,Ze){Ze=X+Ze;var zr=(E(),R)[Ze>>>2>>>0],ZR=(E(),R)[Ze+4>>>2>>>0];zr==4294967295&&ZR==4294967295||(Re[vt]=ks(Ze))};var ve=te,xe=Ye,Re={};te("maxTextureDimension1D",4),te("maxTextureDimension2D",8),te("maxTextureDimension3D",12),te("maxTextureArrayLayers",16),te("maxBindGroups",20),te("maxBindGroupsPlusVertexBuffers",24),te("maxDynamicUniformBuffersPerPipelineLayout",32),te("maxDynamicStorageBuffersPerPipelineLayout",36),te("maxSampledTexturesPerShaderStage",40),te("maxSamplersPerShaderStage",44),te("maxStorageBuffersPerShaderStage",48),te("maxStorageTexturesPerShaderStage",52),te("maxUniformBuffersPerShaderStage",56),te("minUniformBufferOffsetAlignment",80),te("minStorageBufferOffsetAlignment",84),Ye("maxUniformBufferBindingSize",64),Ye("maxStorageBufferBindingSize",72),te("maxVertexBuffers",88),Ye("maxBufferSize",96),te("maxVertexAttributes",104),te("maxVertexBufferArrayStride",108),te("maxInterStageShaderVariables",112),te("maxColorAttachments",116),te("maxColorAttachmentBytesPerSample",120),te("maxComputeWorkgroupStorageSize",124),te("maxComputeInvocationsPerWorkgroup",128),te("maxComputeWorkgroupSizeX",132),te("maxComputeWorkgroupSizeY",136),te("maxComputeWorkgroupSizeZ",140),te("maxComputeWorkgroupsPerDimension",144),te("maxImmediateSize",148,!0),d.requiredLimits=Re}(L=(E(),R)[k+24>>>2>>>0])&&(L={label:pr(L+4)},d.defaultQueue=L),d.label=pr(k+4)}ke+=1,Rn(h,P.requestDevice(d).then(te=>{--ke,yt(()=>{st[b>>>0]=te.queue,st[g>>>0]=te,Rn(_,te.lost.then(Ye=>{yt(()=>{te.onuncapturederror=()=>{};var vt=se(),Ze=tr(Ye.message);wu(_,C2[Ye.reason],Ze),ne(vt)})})),te.onuncapturederror=Ye=>{var vt=5;Ye.error instanceof GPUValidationError?vt=2:Ye.error instanceof GPUOutOfMemoryError?vt=3:Ye.error instanceof GPUInternalError&&(vt=4);var Ze=se();Ye=tr(Ye.error.message),h_(g,vt,Ye),ne(Ze)},"adapterInfo"in te||(te.adapterInfo=P.info),bu(h,1,g,0)})},te=>{--ke,yt(()=>{var Ye=se(),vt=tr(te.message);bu(h,3,g,vt),_&&wu(_,4,vt),ne(Ye)})}))}function S2(d){var h=ee(d>>>=0),_=dr[d];if(_){for(var g=0;g<_.length;++g)_[g]();delete dr[d]}h.destroy()}function I2(d,h,_){_>>>=0;var g=ee(d>>>=0);_==4294967295&&(_=void 0);try{var b=g.getMappedRange(h>>>0,_)}catch{return 0}var k=Tu(16,b.byteLength);return(E(),Q).set(new Uint8Array(b),k>>>0),dr[d].push(()=>$t(k)),k}function P2(d,h,_){_>>>=0;var g=ee(d>>>=0);_==4294967295&&(_=void 0);try{var b=g.getMappedRange(h>>>0,_)}catch{return 0}var k=Tu(16,b.byteLength);return(E(),Q).fill(0,k,b.byteLength),dr[d].push(()=>{new Uint8Array(b).set((E(),Q).subarray(k>>>0,k+b.byteLength>>>0)),$t(k)}),k}function R2(d,h,_,g,b){d>>>=0,h=wt(h),_=wt(_),b>>>=0;var k=ee(d);dr[d]=[],b==4294967295&&(b=void 0),ke+=1,Rn(h,k.mapAsync(_,g>>>0,b).then(()=>{--ke,yt(()=>{yu(h,1,0)})},P=>{--ke,yt(()=>{se();var L=tr(P.message);yu(h,P.name==="AbortError"?4:P.name==="OperationError"?3:0,L),delete dr[d]})}))}function O2(d){var h=ee(d>>>=0),_=dr[d];if(_){for(var g=0;g<_.length;++g)_[g]();delete dr[d],h.unmap()}}function L2(d){delete st[d>>>0]}function F2(d,h,_){d>>>=0,h>>>=0,_>>>=0;var g=!!(E(),R)[h+32>>>2>>>0];h={label:pr(h+4),usage:(E(),R)[h+16>>>2>>>0],size:ks(h+24),mappedAtCreation:g},d=ee(d);try{var b=d.createBuffer(h)}catch{return!1}return st[_>>>0]=b,g&&(dr[_]=[]),!0}function N2(d,h,_,g){d>>>=0,h=wt(h),g>>>=0,_=M2(_>>>0),d=ee(d),ke+=1,Rn(h,d.createComputePipelineAsync(_).then(b=>{--ke,yt(()=>{st[g>>>0]=b,gu(h,1,g,0)})},b=>{--ke,yt(()=>{var k=se(),P=tr(b.message);gu(h,b.reason==="validation"?3:b.reason==="internal"?4:0,g,P),ne(k)})}))}function D2(d,h,_){d>>>=0,h>>>=0,_>>>=0;var g=(E(),R)[h>>>2>>>0],b=(E(),D)[g+4>>>2>>>0];h={label:pr(h+4),code:""},b===2&&(h.code=jm(g+8)),d=ee(d).createShaderModule(h),st[_>>>0]=d}var B2=d=>{(d=ee(d)).onuncapturederror=null,d.destroy()};function U2(d,h){h=wt(h),d=ee(d>>>0),ke+=1,Rn(h,d.popErrorScope().then(_=>{--ke,yt(()=>{var g=5;_?_ instanceof GPUValidationError?g=2:_ instanceof GPUOutOfMemoryError?g=3:_ instanceof GPUInternalError&&(g=4):g=1;var b=se(),k=_?tr(_.message):0;vu(h,1,g,k),ne(b)})},_=>{--ke,yt(()=>{var g=se(),b=tr(_.message);vu(h,1,5,b),ne(g)})}))}function z2(d,h,_,g){if(h=wt(h),g>>>=0,_>>>=0){var b={featureLevel:T2[(E(),D)[_+4>>>2>>>0]],powerPreference:E2[(E(),D)[_+8>>>2>>>0]],forceFallbackAdapter:!!(E(),R)[_+12>>>2>>>0]};(d=(E(),R)[_>>>2>>>0])!==0&&(E(),b.Fe=!!(E(),R)[d+8>>>2>>>0])}"gpu"in navigator?(ke+=1,Rn(h,navigator.gpu.requestAdapter(b).then(k=>{--ke,yt(()=>{if(k)st[g>>>0]=k,Cs(h,1,g,0);else{var P=se(),L=tr("WebGPU not available on this browser (requestAdapter returned null)");Cs(h,3,g,L),ne(P)}})},k=>{--ke,yt(()=>{var P=se(),L=tr(k.message);Cs(h,4,g,L),ne(P)})}))):(b=se(),d=tr("WebGPU not available on this browser (navigator.gpu is not available)"),Cs(h,3,g,d),ne(b))}function $2(d,h,_){return d>>>=0,h>>>=0,_>>>=0,Fm(async()=>{var g=[];if(_){var b=(E(),D)[_>>>2>>>0];g.length=h+1,g[h]=new Promise(L=>setTimeout(L,b,0))}else g.length=h;for(var k=0;k<h;++k){var P=ks(d+8*k);if(!(P in Za))return P;g[k]=Za[P]}return g=await Promise.race(g),delete Za[g],g})}var fu,mu={},Hm=()=>{if(!fu){var d,h={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(d in mu)mu[d]===void 0?delete h[d]:h[d]=mu[d];var _=[];for(d in h)_.push(`${d}=${h[d]}`);fu=_}return fu};function Km(d,h){if(s)return Ie(19,1,d,h);d>>>=0,h>>>=0;var _,g=0,b=0;for(_ of Hm()){var k=h+g;(E(),R)[d+b>>>2>>>0]=k,g+=cr(_,k,1/0)+1,b+=4}return 0}function Qm(d,h){if(s)return Ie(20,1,d,h);d>>>=0,h>>>=0;var _=Hm();for(var g of((E(),R)[d>>>2>>>0]=_.length,d=0,_))d+=ur(g)+1;return(E(),R)[h>>>2>>>0]=d,0}function Jm(d){return s?Ie(21,1,d):52}function Xm(d,h,_,g){return s?Ie(22,1,d,h,_,g):52}function Ym(d,h,_,g){return s?Ie(23,1,d,h,_,g):70}var V2=[null,[],[]];function Zm(d,h,_,g){if(s)return Ie(24,1,d,h,_,g);h>>>=0,_>>>=0,g>>>=0;for(var b=0,k=0;k<_;k++){var P=(E(),R)[h>>>2>>>0],L=(E(),R)[h+4>>>2>>>0];h+=8;for(var j=0;j<L;j++){var X=d,ve=(E(),Q)[P+j>>>0],xe=V2[X];ve===0||ve===10?((X===1?A:C)(mm(xe)),xe.length=0):xe.push(ve)}b+=L}return(E(),R)[g>>>2>>>0]=b,0}function G2(d){return d>>>0}function j2(d,h){return Wm(ee(d>>>0).limits,h>>>0),1}function W2(d,h){return ee(d>>>0).features.has(qm[h])}function q2(d){return BigInt(ee(d>>>0).size)}function H2(d){return BigInt(ee(d>>>0).usage)}function K2(d,h){if(d>>>=0,h>>>=0){var _=pr(h+4);_={label:_,timestampWrites:h=(h=(E(),R)[h+12>>>2>>>0])!==0?{querySet:ee((E(),R)[h+4>>>2>>>0]),beginningOfPassWriteIndex:(E(),R)[h+8>>>2>>>0],endOfPassWriteIndex:(E(),R)[h+12>>>2>>>0]}:void 0}}return h=ee(d),d=l_(0),_=h.beginComputePass(_),st[d>>>0]=_,d}function Q2(d,h,_,g,b,k){_=wt(_),b=wt(b),k=wt(k),ee(d>>>0).copyBufferToBuffer(ee(h>>>0),_,ee(g>>>0),b,k)}function J2(d){var h=ee(d>>>0);return d=o_(0),h=h.finish(),st[d>>>0]=h,d}function X2(d,h,_,g,b,k){k=wt(k),ee(d>>>0).resolveQuerySet(ee(h>>>0),_,g,ee(b>>>0),k)}function Y2(d,h,_,g){ee(d>>>0).dispatchWorkgroups(h,_,g)}function Z2(d,h,_){_=wt(_),ee(d>>>0).dispatchWorkgroupsIndirect(ee(h>>>0),_)}function eR(d){ee(d>>>0).end()}function tR(d,h,_,g,b){g>>>=0,b>>>=0,d=ee(d>>>0),_=ee(_>>>0),g==0?d.setBindGroup(h,_):d.setBindGroup(h,_,(E(),R),b>>>2,g)}function rR(d,h){ee(d>>>0).setPipeline(ee(h>>>0))}function nR(d,h,_){ee(d>>>0).Ee(ee(h>>>0),_)}function sR(d,h){var _=ee(d>>>0);return d=a_(0),h=_.getBindGroupLayout(h),st[d>>>0]=h,d}function aR(d,h){function _(b){var k=(E(),R)[b+8>>>2>>>0],P=(E(),R)[b+32>>>2>>>0],L=(E(),R)[b+36>>>2>>>0],j=0;return b2(b,{327681:X=>{j=(E(),R)[X+8>>>2>>>0]}}),k?((P=ks(b+24))==-1&&(P=void 0),k={buffer:ee(k),offset:ks(b+16),size:P}):k=ee(P||L||j),{binding:(E(),R)[b+4>>>2>>>0],resource:k}}d>>>=0,h={label:pr(4+(h>>>=0)),layout:ee((E(),R)[h+12>>>2>>>0]),entries:function(b,k){for(var P=[],L=0;L<b;++L)P.push(_(k+40*L));return P}((E(),R)[h+16>>>2>>>0],(E(),R)[h+20>>>2>>>0])},d=ee(d);var g=s_(0);return v2(g,d.createBindGroup(h)),g}function oR(d,h){var _;return d>>>=0,(h>>>=0)&&(_={label:pr(h+4)}),h=ee(d),d=i_(0),_=h.createCommandEncoder(_),st[d>>>0]=_,d}function iR(d,h){d>>>=0,h>>>=0,h={type:k2[(E(),D)[h+12>>>2>>>0]],count:(E(),R)[h+16>>>2>>>0]};var _=ee(d);return d=c_(0),h=_.createQuerySet(h),st[d>>>0]=h,d}function lR(d,h){d=ee(d>>>0).adapterInfo,h>>>=0,(E(),R)[h+52>>>2>>>0]=d.subgroupMinSize,(E(),R)[h+56>>>2>>>0]=d.subgroupMaxSize;var _=d.vendor+d.architecture+d.device+d.description,g=ur(_)+1,b=On(g);return b&&cr(_,b,g),_=b,g=ur(d.vendor),eo(h+4,_,g),_+=g,g=ur(d.architecture),eo(h+12,_,g),_+=g,g=ur(d.device),eo(h+20,_,g),eo(h+28,_+g,ur(d.description)),(E(),D)[h+36>>>2>>>0]=2,d=d.isFallbackAdapter?3:4,(E(),D)[h+40>>>2>>>0]=d,(E(),R)[h+44>>>2>>>0]=0,(E(),R)[h+48>>>2>>>0]=0,1}var cR={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"texture-component-swizzle":22,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729};function uR(d,h){h>>>=0;var _=ee(d>>>0);d=On(4*_.features.size);var g=0,b=0;for(let k of _.features)0<=(_=cR[k])&&((E(),D)[d+g>>>2>>>0]=_,g+=4,b++);(E(),R)[h+4>>>2>>>0]=d,(E(),R)[h>>>2>>>0]=b}function dR(d,h){return Wm(ee(d>>>0).limits,h>>>0),1}function pR(d,h){ee(d>>>0).pushErrorScope(x2[h])}function hR(d,h,_){h>>>=0,_>>>=0,d=ee(d>>>0),h=Array.from((E(),D).subarray(_>>>2>>>0,_+4*h>>>2>>>0),g=>ee(g)),d.submit(h)}function fR(d,h,_,g,b){_=wt(_),g>>>=0,b>>>=0,d=ee(d>>>0),h=ee(h>>>0),g=(E(),Q).subarray(g>>>0,g+b>>>0),d.writeBuffer(h,_,g,0,b)}s||function(){for(var d=t.numThreads-1;d--;)lm();Pe.push(async()=>{var h=async function(){if(!s)return Promise.all(xr.map(im))}();ye++,await h,--ye==0&&qe&&(h=qe,qe=null,h())})}(),s||(Tr=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),fe()),t.wasmBinary&&(p=t.wasmBinary),t.stackSave=()=>se(),t.stackRestore=d=>ne(d),t.stackAlloc=d=>ro(d),t.setValue=function(d,h,_="i8"){switch(_.endsWith("*")&&(_="*"),_){case"i1":case"i8":(E(),V)[d>>>0]=h;break;case"i16":(E(),G)[d>>>1>>>0]=h;break;case"i32":(E(),D)[d>>>2>>>0]=h;break;case"i64":(E(),F)[d>>>3>>>0]=BigInt(h);break;case"float":(E(),re)[d>>>2>>>0]=h;break;case"double":(E(),ie)[d>>>3>>>0]=h;break;case"*":(E(),R)[d>>>2>>>0]=h;break;default:Ne(`invalid type for setValue: ${_}`)}},t.getValue=function(d,h="i8"){switch(h.endsWith("*")&&(h="*"),h){case"i1":case"i8":return(E(),V)[d>>>0];case"i16":return(E(),G)[d>>>1>>>0];case"i32":return(E(),D)[d>>>2>>>0];case"i64":return(E(),F)[d>>>3>>>0];case"float":return(E(),re)[d>>>2>>>0];case"double":return(E(),ie)[d>>>3>>>0];case"*":return(E(),R)[d>>>2>>>0];default:Ne(`invalid type for getValue: ${h}`)}},t.UTF8ToString=In,t.stringToUTF8=cr,t.lengthBytesUTF8=ur;var e_,t_,_u,to,$t,On,r_,n_,s_,a_,o_,i_,l_,c_,u_,d_,p_,gu,wu,yu,vu,Cs,bu,h_,Mu,f_,m_,__,xu,g_,w_,Tu,he,As,y_,ne,ro,se,v_,Eu,b_,M_,x_,ku,T_,E_,k_,C_,A_,S_,I_,P_,R_,O_,L_,F_,N_,D_,B_,U_,z_,$_,V_,G_,j_,W_,q_,H_,K_,Q_,J_,X_,Y_,Z_,eg,tg,rg,ng,sg,ag,og,ig,lg,hr,mR=[An,xs,dm,_m,gm,wm,ym,vm,bm,Mm,xm,Tm,Em,km,Cm,Am,zm,$m,Vm,Km,Qm,Jm,Xm,Ym,Zm],Cu={925676:(d,h,_,g,b)=>{if(t===void 0||!t.Uc)return 1;if((d=In(Number(d>>>0))).startsWith("./")&&(d=d.substring(2)),!(d=t.Uc.get(d)))return 2;if(h=Number(h>>>0),_=Number(_>>>0),g=Number(g>>>0),h+_>d.byteLength)return 3;try{let k=d.subarray(h,h+_);switch(b){case 0:(E(),Q).set(k,g>>>0);break;case 1:t.ad?t.ad(g,k):t.oe(g,k);break;default:return 4}return 0}catch{return 4}},926500:(d,h,_)=>{t.Sd(d,(E(),Q).subarray(h>>>0,h+_>>>0))},926564:()=>t.me(),926606:d=>{t.jd(d)},926643:()=>typeof wasmOffsetConverter<"u"};function _R(d,h,_,g){var b=se();try{return P_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function gR(d,h,_){var g=se();try{return A_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function wR(d,h,_){var g=se();try{x_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function yR(d,h){var _=se();try{return ku(d,h)}catch(g){if(ne(_),g!==g+0)throw g;he(1,0)}}function vR(d){var h=se();try{T_(d)}catch(_){if(ne(h),_!==_+0)throw _;he(1,0)}}function bR(d,h,_,g,b,k,P){var L=se();try{return C_(d,h,_,g,b,k,P)}catch(j){if(ne(L),j!==j+0)throw j;he(1,0)}}function MR(d,h){var _=se();try{R_(d,h)}catch(g){if(ne(_),g!==g+0)throw g;he(1,0)}}function xR(d,h,_,g,b,k){var P=se();try{E_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function TR(d,h,_,g){var b=se();try{I_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function ER(d,h,_,g,b,k,P){var L=se();try{L_(d,h,_,g,b,k,P)}catch(j){if(ne(L),j!==j+0)throw j;he(1,0)}}function kR(d,h,_,g,b,k,P){var L=se();try{F_(d,h,_,g,b,k,P)}catch(j){if(ne(L),j!==j+0)throw j;he(1,0)}}function CR(d,h,_,g,b,k,P,L){var j=se();try{j_(d,h,_,g,b,k,P,L)}catch(X){if(ne(j),X!==X+0)throw X;he(1,0)}}function AR(d,h,_,g,b,k,P,L,j,X,ve,xe){var Re=se();try{N_(d,h,_,g,b,k,P,L,j,X,ve,xe)}catch(te){if(ne(Re),te!==te+0)throw te;he(1,0)}}function SR(d,h,_,g,b){var k=se();try{return O_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function IR(d,h,_,g,b){var k=se();try{k_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function PR(d,h,_,g,b,k,P,L){var j=se();try{S_(d,h,_,g,b,k,P,L)}catch(X){if(ne(j),X!==X+0)throw X;he(1,0)}}function RR(d){var h=se();try{return W_(d)}catch(_){if(ne(h),_!==_+0)throw _;he(1,0)}}function OR(d,h,_){var g=se();try{return q_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function LR(d,h){var _=se();try{return sg(d,h)}catch(g){if(ne(_),g!==g+0)throw g;return he(1,0),0n}}function FR(d,h,_,g,b){var k=se();try{H_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function NR(d){var h=se();try{return D_(d)}catch(_){if(ne(h),_!==_+0)throw _;return he(1,0),0n}}function DR(d,h,_,g,b,k){var P=se();try{return V_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function BR(d,h,_,g,b,k){var P=se();try{return K_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function UR(d,h,_,g,b,k){var P=se();try{return Q_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function zR(d,h,_,g,b,k,P,L){var j=se();try{return G_(d,h,_,g,b,k,P,L)}catch(X){if(ne(j),X!==X+0)throw X;he(1,0)}}function $R(d,h,_,g,b){var k=se();try{return J_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;return he(1,0),0n}}function VR(d,h,_,g){var b=se();try{return X_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function GR(d,h,_,g){var b=se();try{return Y_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function jR(d,h,_,g,b,k,P,L,j,X,ve,xe){var Re=se();try{return Z_(d,h,_,g,b,k,P,L,j,X,ve,xe)}catch(te){if(ne(Re),te!==te+0)throw te;he(1,0)}}function WR(d,h,_,g,b,k,P,L,j,X,ve){var xe=se();try{eg(d,h,_,g,b,k,P,L,j,X,ve)}catch(Re){if(ne(xe),Re!==Re+0)throw Re;he(1,0)}}function qR(d,h,_,g,b,k,P,L,j,X,ve,xe,Re,te,Ye,vt){var Ze=se();try{tg(d,h,_,g,b,k,P,L,j,X,ve,xe,Re,te,Ye,vt)}catch(zr){if(ne(Ze),zr!==zr+0)throw zr;he(1,0)}}function HR(d,h,_,g){var b=se();try{return rg(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function KR(d,h,_,g,b){var k=se();try{return ng(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function QR(d,h,_){var g=se();try{return U_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;return he(1,0),0n}}function JR(d,h,_){var g=se();try{return B_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function XR(d,h,_){var g=se();try{return z_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function YR(d,h,_,g){var b=se();try{$_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function no(){if(0<ye)qe=no;else if(s)y?.(t),H();else{for(var d=Pe;0<d.length;)d.shift()(t);0<ye?qe=no:(t.calledRun=!0,S||(H(),y?.(t)))}}return s||(hr=await nt(),no()),t.PTR_SIZE=4,t.webgpuInit=d=>{let h=new WeakMap,_,g,b=1;t.webgpuRegisterDevice=L=>{if(g!==void 0)throw Error("another WebGPU EP inference session is being created.");if(L){var j=h.get(L);if(!j){let X=((ve,xe=0)=>{var Re=p_(xe);return xe=d_(xe,Re),st[Re>>>0]=ve.queue,st[xe>>>0]=ve,xe})(L,j=n_(0));j=[b++,j,X],h.set(L,j)}return _=L,g=j[0],j}_=void 0,g=0};let k=new Map;t.webgpuOnCreateSession=L=>{if(g!==void 0){var j=g;if(g=void 0,L){let X=_u(j);k.set(L,X),j===0&&d(_??ee(X))}_=void 0}},t.webgpuOnReleaseSession=L=>{k.delete(L)};let P=Symbol("gpuBufferMetadata");t.webgpuRegisterBuffer=(L,j,X)=>{if(X)return L[P]=[X,NaN],X;if(X=L[P])return X[1]++,X[0];if((j=k.get(j))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");return j=((ve,xe=0)=>(ve.mapState==="unmapped"||Ne(),xe=u_(xe),st[xe>>>0]=ve,xe))(L,j),L[P]=[j,1],j},t.webgpuUnregisterBuffer=L=>{let j=L[P];if(!j)throw Error("Buffer is not registered");j[1]--,j[1]===0&&(r_(j[0]),delete L[P])},t.webgpuGetBuffer=L=>ee(L),t.webgpuCreateDownloader=(L,j,X)=>{if((X=k.get(X))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");let ve=ee(X),xe=16*Math.ceil(Number(j)/16);return async()=>{let Re=ve.createBuffer({size:xe,usage:9});try{let te=ve.createCommandEncoder();return te.copyBufferToBuffer(L,0,Re,0,xe),ve.queue.submit([te.finish()]),await Re.mapAsync(GPUMapMode.READ),Re.getMappedRange().slice(0,j)}finally{Re.destroy()}}},t.ad=(L,j)=>{var X=j.buffer;let ve=j.byteOffset,xe=j.byteLength;if(j=16*Math.ceil(Number(xe)/16),L=ee(L),!_){var Re=_u(g);_=ee(Re)}let te=(Re=_.createBuffer({mappedAtCreation:!0,size:j,usage:6})).getMappedRange();new Uint8Array(te).set(new Uint8Array(X,ve,xe)),Re.unmap(),(X=_.createCommandEncoder()).copyBufferToBuffer(Re,0,L,0,j),_.queue.submit([X.finish()]),Re.destroy()}},t.webnnInit=d=>{let h=d[0];[t.me,t.jd,t.webnnEnsureTensor,t.Sd,t.webnnDownloadTensor,t.le,t.webnnEnableTraceEvent]=d.slice(1),t.webnnReleaseTensorId=t.jd,t.webnnUploadTensor=t.Sd,t.webnnRegisterMLContext=t.le,t.webnnOnRunStart=_=>h.onRunStart(_),t.webnnOnRunEnd=h.onRunEnd.bind(h),t.webnnOnReleaseSession=_=>{h.onReleaseSession(_)},t.webnnCreateMLTensorDownloader=(_,g)=>h.createMLTensorDownloader(_,g),t.webnnRegisterMLTensor=(_,g,b,k)=>h.registerMLTensor(_,g,b,k),t.webnnCreateMLContext=_=>h.createMLContext(_),t.webnnRegisterMLConstant=(_,g,b,k,P,L)=>h.registerMLConstant(_,g,b,k,P,t.Uc,L),t.webnnRegisterGraphInput=h.registerGraphInput.bind(h),t.webnnIsGraphInput=h.isGraphInput.bind(h),t.webnnRegisterGraphOutput=h.registerGraphOutput.bind(h),t.webnnIsGraphOutput=h.isGraphOutput.bind(h),t.webnnCreateTemporaryTensor=h.createTemporaryTensor.bind(h),t.webnnIsGraphInputOutputTypeSupported=h.isGraphInputOutputTypeSupported.bind(h)},Y?t:new Promise((d,h)=>{y=d,v=h})}var Vt,hd,kO,CO,AO,SO,me,Ks,IO,Ro,$s,kr,Yr,kg,Zg,ew,PO,tw,RO,$u,et,rw,De,OO,nw,sw,LO,Eo,aw,ow,iw,lw,cw,FO,Jr,qs,Vu,uw,NO,dw,pw,DO,kt,fd,Gt,hw,Oo,Gu,Zr,en,Ir,Pr,fw,mw,BO,md,UO,zO,$O,VO,GO,gw,tn,_d,ww,ju,Wu,yw,jO,vw,bw,Ag,WO,qu,ld,Sg,Tt,Mw,ko,Ig,Pg,Hu,Rg,Ku,xw,Qu,Tw,gd,Ju,Co,Vs,Xu,Og,Lg,Fg,wd,Ce,rn,Et,Lo,Me,yd,Ew,qO,Ng,Dg,Bg,Ao,Cr,Ug,kw,HO,Xr,Po,Hn,Hs,Fo,vd,bd,cd,Kn,Md,Cw,Aw,KO,zg,$g,Vg,Gg,Sw,jg,pt,Iw,Yu,ud,Zu,Wg,ed,qg,td,rd,nd,Hg,Pw,QO,Rw,Gs,Kg,Ow,JO,Qg,xd,Td,Ar,Jg,sd,No,Ed,kd,ad,Cd,Ad,Sd,Lw,Sr,Rt,qn,js,Ws,So,od,Io,Kr,Qr,Xg,Fw,Nw,Dw,Bw,Uw,zw,$w,Vw,id,Yg,Gw,XO,jw,dd,pd,Ww,YO,ZO,eL,qw=Ve(()=>{Vt={};hd=Object.defineProperty,kO=Object.getOwnPropertyDescriptor,CO=Object.getOwnPropertyNames,AO=Object.prototype.hasOwnProperty,SO=(e=>typeof $r<"u"?$r:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof $r<"u"?$r:t)[r]}):e)(function(e){if(typeof $r<"u")return $r.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),me=(e,t)=>()=>(e&&(t=e(e=0)),t),Ks=(e,t)=>{for(var r in t)hd(e,r,{get:t[r],enumerable:!0})},IO=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of CO(t))!AO.call(e,s)&&s!==r&&hd(e,s,{get:()=>t[s],enumerable:!(n=kO(t,s))||n.enumerable});return e},Ro=e=>IO(hd({},"__esModule",{value:!0}),e),ew=me(()=>{"use strict";$s=new Map,kr=[],Yr=(e,t,r)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let n=$s.get(e);if(n===void 0)$s.set(e,{backend:t,priority:r});else{if(n.priority>r)return;if(n.priority===r&&n.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${r}`)}if(r>=0){let s=kr.indexOf(e);s!==-1&&kr.splice(s,1);for(let a=0;a<kr.length;a++)if($s.get(kr[a]).priority<=r){kr.splice(a,0,e);return}kr.push(e)}return}throw new TypeError("not a valid backend")},kg=async e=>{let t=$s.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let r=!!t.initPromise;try{return r||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(n){return r||(t.error=`${n}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},Zg=async e=>{let t=e.executionProviders||[],r=t.map(l=>typeof l=="string"?l:l.name),n=r.length===0?kr:r,s,a=[],o=new Set;for(let l of n){let c=await kg(l);typeof c=="string"?a.push({name:l,err:c}):(s||(s=c),s===c&&o.add(l))}if(!s)throw new Error(`no available backend found. ERR: ${a.map(l=>`[${l.name}] ${l.err}`).join(", ")}`);for(let{name:l,err:c}of a)r.includes(l)&&console.warn(`removing requested execution provider "${l}" from session options because it is not available: ${c}`);let i=t.filter(l=>o.has(typeof l=="string"?l:l.name));return[s,new Proxy(e,{get:(l,c)=>c==="executionProviders"?i:Reflect.get(l,c)})]}}),PO=me(()=>{"use strict";ew()}),RO=me(()=>{"use strict";tw="1.24.0-dev.20251116-b39e144322"}),rw=me(()=>{"use strict";RO(),$u="warning",et={wasm:{},webgl:{},webgpu:{},versions:{common:tw},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);$u=e}},get logLevel(){return $u}},Object.defineProperty(et,"logLevel",{enumerable:!0})}),OO=me(()=>{"use strict";rw(),De=et}),LO=me(()=>{"use strict";nw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[3]):(s=e.dims[3],a=e.dims[2]);let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;i===void 0||i.mean===void 0?l=[255,255,255,255]:typeof i.mean=="number"?l=[i.mean,i.mean,i.mean,i.mean]:(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(l[3]=i.mean[3])),i===void 0||i.bias===void 0?c=[0,0,0,0]:typeof i.bias=="number"?c=[i.bias,i.bias,i.bias,i.bias]:(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(c[3]=i.bias[3]));let u=a*s,p=0,f=u,m=u*2,y=-1;o==="RGBA"?(p=0,f=u,m=u*2,y=u*3):o==="RGB"?(p=0,f=u,m=u*2):o==="RBG"&&(p=0,m=u,f=u*2);for(let v=0;v<a;v++)for(let x=0;x<s;x++){let M=(e.data[p++]-c[0])*l[0],T=(e.data[f++]-c[1])*l[1],A=(e.data[m++]-c[2])*l[2],C=y===-1?255:(e.data[y++]-c[3])*l[3];n.fillStyle="rgba("+M+","+T+","+A+","+C+")",n.fillRect(x,v,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},sw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[1],o=e.dims[3]):(s=e.dims[3],a=e.dims[2],o=e.dims[1]);let i=t!==void 0&&t.format!==void 0?t.format:"RGB",l=t?.norm,c,u;l===void 0||l.mean===void 0?c=[255,255,255,255]:typeof l.mean=="number"?c=[l.mean,l.mean,l.mean,l.mean]:(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(c[3]=l.mean[3])),l===void 0||l.bias===void 0?u=[0,0,0,0]:typeof l.bias=="number"?u=[l.bias,l.bias,l.bias,l.bias]:(u=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(u[3]=l.bias[3]));let p=a*s;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let f=4,m=0,y=1,v=2,x=3,M=0,T=p,A=p*2,C=-1;i==="RGBA"?(M=0,T=p,A=p*2,C=p*3):i==="RGB"?(M=0,T=p,A=p*2):i==="RBG"&&(M=0,A=p,T=p*2),n=r.createImageData(s,a);for(let S=0;S<a*s;m+=f,y+=f,v+=f,x+=f,S++)n.data[m]=(e.data[M++]-u[0])*c[0],n.data[y]=(e.data[T++]-u[1])*c[1],n.data[v]=(e.data[A++]-u[2])*c[2],n.data[x]=C===-1?255:(e.data[C++]-u[3])*c[3]}else throw new Error("Can not access image data");return n}}),FO=me(()=>{"use strict";fd(),Eo=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;typeof s.mean=="number"?a=[s.mean,s.mean,s.mean,s.mean]:a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?o=[s.bias,s.bias,s.bias,s.bias]:o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",c=r*n,u=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),p=4,f=0,m=1,y=2,v=3,x=0,M=c,T=c*2,A=-1;i==="RGB"&&(p=3,f=0,m=1,y=2,v=-1),l==="RGBA"?A=c*3:l==="RBG"?(x=0,T=c,M=c*2):l==="BGR"&&(T=0,M=c,x=c*2);for(let C=0;C<c;C++,f+=p,y+=p,m+=p,v+=p)u[x++]=(e[f]+o[0])/a[0],u[M++]=(e[m]+o[1])/a[1],u[T++]=(e[y]+o[2])/a[2],A!==-1&&v!==-1&&(u[A++]=(e[v]+o[3])/a[3]);return l==="RGBA"?new kt("float32",u,[1,4,r,n]):new kt("float32",u,[1,3,r,n])},aw=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e=="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},c=u=>typeof HTMLCanvasElement<"u"&&u instanceof HTMLCanvasElement||u instanceof OffscreenCanvas?u.getContext("2d"):null;if(r){let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(f=t.resizedHeight,m=t.resizedWidth),t!==void 0){if(i=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=f,i.width=m}else i.tensorFormat="RGBA",i.height=f,i.width=m;p.drawImage(e,0,0),o=p.getImageData(0,0,m,f).data}else throw new Error("Can not access image data")}else if(n){let u,p;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(u=t.resizedHeight,p=t.resizedWidth):(u=e.height,p=e.width),t!==void 0&&(i=t),i.format="RGBA",i.height=u,i.width=p,t!==void 0){let f=l();f.width=p,f.height=u;let m=c(f);if(m!=null)m.putImageData(e,0,0),o=m.getImageData(0,0,p,u).data;else throw new Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;return p.drawImage(e,0,0,m,f),o=p.getImageData(0,0,m,f).data,i.height=f,i.width=m,Eo(o,i)}else throw new Error("Can not access image data")}else{if(a)return new Promise((u,p)=>{let f=l(),m=c(f);if(!e||!m)return p();let y=new Image;y.crossOrigin="Anonymous",y.src=e,y.onload=()=>{f.width=y.width,f.height=y.height,m.drawImage(y,0,0,f.width,f.height);let v=m.getImageData(0,0,f.width,f.height);i.height=f.height,i.width=f.width,u(Eo(v.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(o!==void 0)return Eo(o,i);throw new Error("Input data provided is not supported - aborted tensor creation")},ow=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t,o=[1,n,r,4];return new kt({location:"texture",type:"float32",texture:e,dims:o,download:s,dispose:a})},iw=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new kt({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},lw=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new kt({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},cw=(e,t,r)=>new kt({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})}),NO=me(()=>{"use strict";Jr=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),qs=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Vu=!1,uw=()=>{if(!Vu){Vu=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;e&&(Jr.set("int64",BigInt64Array),qs.set(BigInt64Array,"int64")),t&&(Jr.set("uint64",BigUint64Array),qs.set(BigUint64Array,"uint64")),n?(Jr.set("float16",r),qs.set(r,"float16")):Jr.set("float16",Uint16Array)}}}),DO=me(()=>{"use strict";fd(),dw=e=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw new TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},pw=(e,t)=>{switch(e.location){case"cpu":return new kt(e.type,e.data,t);case"cpu-pinned":return new kt({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new kt({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new kt({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new kt({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),fd=me(()=>{"use strict";LO(),FO(),NO(),DO(),kt=class{constructor(e,t,r){uw();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let o=Jr.get(n);if(!o)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof o))throw new TypeError(`buffer should be of type ${o.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if(typeof e=="string")if(n=e,i=r,e==="string"){if(!Array.isArray(t))throw new TypeError("A string tensor's data must be a string array.");o=t}else{let l=Jr.get(e);if(l===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e==="float16"&&l===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${l.name} as data.`);e==="uint64"||e==="int64"?o=l.from(t,BigInt):o=l.from(t)}else if(t instanceof l)o=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")o=Uint8Array.from(t);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&l!==Uint16Array)o=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw new TypeError(`A ${n} tensor's data must be type of ${l}`)}else if(i=t,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let l=typeof e[0];if(l==="string")n="string",o=e;else if(l==="boolean")n="bool",o=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${l}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",o=Uint8Array.from(e);else{let l=qs.get(e.constructor);if(l===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=l,o=e}if(i===void 0)i=[o.length];else if(!Array.isArray(i))throw new TypeError("A tensor's dims must be a number array");s=i,this.cpuData=o,this.dataLocation="cpu"}let a=dw(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,t){return aw(e,t)}static fromTexture(e,t){return ow(e,t)}static fromGpuBuffer(e,t){return iw(e,t)}static fromMLTensor(e,t){return lw(e,t)}static fromPinnedBuffer(e,t,r){return cw(e,t,r)}toDataURL(e){return nw(this,e)}toImageData(e){return sw(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return pw(this,e)}}}),hw=me(()=>{"use strict";fd(),Gt=kt}),fw=me(()=>{"use strict";rw(),Oo=(e,t)=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||console.timeStamp(`${e}::ORT::${t}`)},Gu=(e,t)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],n=!1;for(let s=0;s<r.length;s++){if(n&&!r[s].includes("TRACE_FUNC")){let a=`FUNC_${e}::${r[s].trim().split(" ")[1]}`;t&&(a+=`::${t}`),Oo("CPU",a);return}r[s].includes("TRACE_FUNC")&&(n=!0)}},Zr=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||Gu("BEGIN",e)},en=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||Gu("END",e)},Ir=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||console.time(`ORT::${e}`)},Pr=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||console.timeEnd(`ORT::${e}`)}}),BO=me(()=>{"use strict";ew(),hw(),fw(),mw=class _w{constructor(t){this.handler=t}async run(t,r,n){Zr(),Ir("InferenceSession.run");let s={},a={};if(typeof t!="object"||t===null||t instanceof Gt||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let o=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof Gt)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw new TypeError("'fetches' cannot be an empty array.");o=!1;for(let c of r){if(typeof c!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(c)===-1)throw new RangeError(`'fetches' contains invalid output name: ${c}.`);s[c]=null}if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else{let c=!1,u=Object.getOwnPropertyNames(r);for(let p of this.outputNames)if(u.indexOf(p)!==-1){let f=r[p];(f===null||f instanceof Gt)&&(c=!0,o=!1,s[p]=f)}if(c){if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else a=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let c of this.inputNames)if(typeof t[c]>"u")throw new Error(`input '${c}' is missing in 'feeds'.`);if(o)for(let c of this.outputNames)s[c]=null;let i=await this.handler.run(t,s,a),l={};for(let c in i)if(Object.hasOwnProperty.call(i,c)){let u=i[c];u instanceof Gt?l[c]=u:l[c]=new Gt(u.type,u.data,u.dims)}return Pr("InferenceSession.run"),en(),l}async release(){return this.handler.dispose()}static async create(t,r,n,s){Zr(),Ir("InferenceSession.create");let a,o={};if(typeof t=="string"){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let u=t,p=0,f=t.byteLength;if(typeof r=="object"&&r!==null)o=r;else if(typeof r=="number"){if(p=r,!Number.isSafeInteger(p))throw new RangeError("'byteOffset' must be an integer.");if(p<0||p>=u.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${u.byteLength}).`);if(f=t.byteLength-p,typeof n=="number"){if(f=n,!Number.isSafeInteger(f))throw new RangeError("'byteLength' must be an integer.");if(f<=0||p+f>u.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${u.byteLength-p}].`);if(typeof s=="object"&&s!==null)o=s;else if(typeof s<"u")throw new TypeError("'options' must be an object.")}else if(typeof n<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");a=new Uint8Array(u,p,f)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,l]=await Zg(o),c=await i.createInferenceSessionHandler(a,l);return Pr("InferenceSession.create"),en(),new _w(c)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),UO=me(()=>{"use strict";BO(),md=mw}),zO=me(()=>{"use strict"}),$O=me(()=>{"use strict"}),VO=me(()=>{"use strict"}),GO=me(()=>{"use strict"}),gw={};Ks(gw,{InferenceSession:()=>md,TRACE:()=>Oo,TRACE_EVENT_BEGIN:()=>Ir,TRACE_EVENT_END:()=>Pr,TRACE_FUNC_BEGIN:()=>Zr,TRACE_FUNC_END:()=>en,Tensor:()=>Gt,env:()=>De,registerBackend:()=>Yr});tn=me(()=>{"use strict";PO(),OO(),UO(),hw(),zO(),$O(),fw(),VO(),GO()}),_d=me(()=>{"use strict"}),ww={};Ks(ww,{default:()=>yw});jO=me(()=>{"use strict";Lw(),rn(),gd(),ju="ort-wasm-proxy-worker",Wu=globalThis.self?.name===ju,Wu&&(self.onmessage=e=>{let{type:t,in:r}=e.data;try{switch(t){case"init-wasm":wd(r.wasm).then(()=>{xd(r).then(()=>{postMessage({type:t})},n=>{postMessage({type:t,err:n})})},n=>{postMessage({type:t,err:n})});break;case"init-ep":{let{epName:n,env:s}=r;Td(s,n).then(()=>{postMessage({type:t})},a=>{postMessage({type:t,err:a})});break}case"copy-from":{let{buffer:n}=r,s=No(n);postMessage({type:t,out:s});break}case"create":{let{model:n,options:s}=r;Ed(n,s).then(a=>{postMessage({type:t,out:a})},a=>{postMessage({type:t,err:a})});break}case"release":kd(r),postMessage({type:t});break;case"run":{let{sessionId:n,inputIndices:s,inputs:a,outputIndices:o,options:i}=r;Cd(n,s,a,o,new Array(o.length).fill(null),i).then(l=>{l.some(c=>c[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:l},Sd([...a,...l]))},l=>{postMessage({type:t,err:l})});break}case"end-profiling":Ad(r),postMessage({type:t});break;default:}}catch(n){postMessage({type:t,err:n})}}),yw=Wu?null:e=>new Worker(e??Tt,{type:"module",name:ju})}),vw={};Ks(vw,{default:()=>bw});WO=me(()=>{"use strict";bw=Cg,Ag=globalThis.self?.name?.startsWith("em-pthread"),Ag&&Cg()}),gd=me(()=>{"use strict";_d(),qu=typeof location>"u"?void 0:location.origin,ld=Vt.url>"file:"&&Vt.url<"file;",Sg=()=>{if(ld){let e=URL;return new URL(new e("ort.webgpu.bundle.min.mjs",Vt.url).href,qu).href}return Vt.url},Tt=Sg(),Mw=()=>{if(Tt&&!Tt.startsWith("blob:"))return Tt.substring(0,Tt.lastIndexOf("/")+1)},ko=(e,t)=>{try{let r=t??Tt;return(r?new URL(e,r):new URL(e)).origin===qu}catch{return!1}},Ig=(e,t)=>{let r=t??Tt;try{return(r?new URL(e,r):new URL(e)).href}catch{return}},Pg=(e,t)=>`${t??"./"}${e}`,Hu=async e=>{let t=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(t)},Rg=async e=>(await import(e)).default,Ku=(jO(),Ro(ww)).default,xw=async()=>{if(!Tt)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(ko(Tt))return[void 0,Ku()];let e=await Hu(Tt);return[e,Ku(e)]},Qu=(WO(),Ro(vw)).default,Tw=async(e,t,r,n)=>{let s=Qu&&!(e||t);if(s)if(Tt)s=ko(Tt)||n&&!r;else if(n&&!r)s=!0;else throw new Error("cannot determine the script source URL.");if(s)return[void 0,Qu];{let a="ort-wasm-simd-threaded.asyncify.mjs",o=e??Ig(a,t),i=r&&o&&!ko(o,t),l=i?await Hu(o):o??Pg(a,t);return[i?l:void 0,await Rg(l)]}}}),rn=me(()=>{"use strict";gd(),Co=!1,Vs=!1,Xu=!1,Og=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Lg=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Fg=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},wd=async e=>{if(Co)return Promise.resolve();if(Vs)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Xu)throw new Error("previous call to 'initializeWebAssembly()' failed.");Vs=!0;let t=e.initTimeout,r=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Fg())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Lg())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let n=Og();r>1&&!n&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=r=1);let s=e.wasmPaths,a=typeof s=="string"?s:void 0,o=s?.mjs,i=o?.href??o,l=s?.wasm,c=l?.href??l,u=e.wasmBinary,[p,f]=await Tw(i,a,r>1,!!u||!!c),m=!1,y=[];if(t>0&&y.push(new Promise(v=>{setTimeout(()=>{m=!0,v()},t)})),y.push(new Promise((v,x)=>{let M={numThreads:r};if(u)M.wasmBinary=u,M.locateFile=T=>T;else if(c||a)M.locateFile=T=>c??a+T;else if(i&&i.indexOf("blob:")!==0)M.locateFile=T=>new URL(T,i).href;else if(p){let T=Mw();T&&(M.locateFile=A=>T+A)}f(M).then(T=>{Vs=!1,Co=!0,Ju=T,v(),p&&URL.revokeObjectURL(p)},T=>{Vs=!1,Xu=!0,x(T)})})),await Promise.race(y),m)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Ce=()=>{if(Co&&Ju)return Ju;throw new Error("WebAssembly is not initialized yet.")}}),yd=me(()=>{"use strict";rn(),Et=(e,t)=>{let r=Ce(),n=r.lengthBytesUTF8(e)+1,s=r._malloc(n);return r.stringToUTF8(e,s,n),t.push(s),s},Lo=(e,t,r,n)=>{if(typeof e=="object"&&e!==null){if(r.has(e))throw new Error("Circular reference in options");r.add(e)}Object.entries(e).forEach(([s,a])=>{let o=t?t+s:s;if(typeof a=="object")Lo(a,o+".",r,n);else if(typeof a=="string"||typeof a=="number")n(o,a.toString());else if(typeof a=="boolean")n(o,a?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof a}`)})},Me=e=>{let t=Ce(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetLastError(s,s+n);let a=Number(t.getValue(s,n===4?"i32":"i64")),o=t.getValue(s+n,"*"),i=o?t.UTF8ToString(o):"";throw new Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(r)}}}),qO=me(()=>{"use strict";rn(),yd(),Ew=e=>{let t=Ce(),r=0,n=[],s=e||{};try{if(e?.logSeverityLevel===void 0)s.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)s.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(s.terminate=!1);let a=0;return e?.tag!==void 0&&(a=Et(e.tag,n)),r=t._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,a),r===0&&Me("Can't create run options."),e?.extra!==void 0&&Lo(e.extra,"",new WeakSet,(o,i)=>{let l=Et(o,n),c=Et(i,n);t._OrtAddRunConfigEntry(r,l,c)!==0&&Me(`Can't set a run config entry: ${o} - ${i}.`)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseRunOptions(r),n.forEach(o=>t._free(o)),a}}}),HO=me(()=>{"use strict";rn(),yd(),Ng=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Dg=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Bg=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(e.enableMemPattern=!1)},Ao=(e,t,r,n)=>{let s=Et(t,n),a=Et(r,n);Ce()._OrtAddSessionConfigEntry(e,s,a)!==0&&Me(`Can't set a session config entry: ${t} - ${r}.`)},Cr=(e,t,r,n)=>{let s=Et(t,n),a=Et(r,n);e.push([s,a])},Ug=async(e,t,r)=>{let n=t.executionProviders;for(let s of n){let a=typeof s=="string"?s:s.name,o=[];switch(a){case"webnn":if(a="WEBNN",typeof s!="string"){let p=s?.deviceType;p&&Ao(e,"deviceType",p,r)}break;case"webgpu":{a="WebGPU";let p;if(typeof s!="string"){let m=s;if(m.device)if(typeof GPUDevice<"u"&&m.device instanceof GPUDevice)p=m.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:y}=t;if(typeof y=="boolean"&&y&&Cr(o,"enableGraphCapture","1",r),typeof m.preferredLayout=="string"&&Cr(o,"preferredLayout",m.preferredLayout,r),m.forceCpuNodeNames){let v=Array.isArray(m.forceCpuNodeNames)?m.forceCpuNodeNames:[m.forceCpuNodeNames];Cr(o,"forceCpuNodeNames",v.join(`
|
|
4
|
-
`),r)}m.validationMode&&Cr(o,"validationMode",m.validationMode,r)}let f=Ce().webgpuRegisterDevice(p);if(f){let[m,y,v]=f;Cr(o,"deviceId",m.toString(),r),Cr(o,"webgpuInstance",y.toString(),r),Cr(o,"webgpuDevice",v.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${a}`)}let i=Et(a,r),l=o.length,c=0,u=0;if(l>0){c=Ce()._malloc(l*Ce().PTR_SIZE),r.push(c),u=Ce()._malloc(l*Ce().PTR_SIZE),r.push(u);for(let p=0;p<l;p++)Ce().setValue(c+p*Ce().PTR_SIZE,o[p][0],"*"),Ce().setValue(u+p*Ce().PTR_SIZE,o[p][1],"*")}await Ce()._OrtAppendExecutionProvider(e,i,c,u,l)!==0&&Me(`Can't append execution provider: ${a}.`)}},kw=async e=>{let t=Ce(),r=0,n=[],s=e||{};Bg(s);try{let a=Ng(s.graphOptimizationLevel??"all"),o=Dg(s.executionMode??"sequential"),i=typeof s.logId=="string"?Et(s.logId,n):0,l=s.logSeverityLevel??2;if(!Number.isInteger(l)||l<0||l>4)throw new Error(`log severity level is not valid: ${l}`);let c=s.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw new Error(`log verbosity level is not valid: ${c}`);let u=typeof s.optimizedModelFilePath=="string"?Et(s.optimizedModelFilePath,n):0;if(r=t._OrtCreateSessionOptions(a,!!s.enableCpuMemArena,!!s.enableMemPattern,o,!!s.enableProfiling,0,i,l,c,u),r===0&&Me("Can't create session options."),s.executionProviders&&await Ug(r,s,n),s.enableGraphCapture!==void 0){if(typeof s.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);Ao(r,"enableGraphCapture",s.enableGraphCapture.toString(),n)}if(s.freeDimensionOverrides)for(let[p,f]of Object.entries(s.freeDimensionOverrides)){if(typeof p!="string")throw new Error(`free dimension override name must be a string: ${p}`);if(typeof f!="number"||!Number.isInteger(f)||f<0)throw new Error(`free dimension override value must be a non-negative integer: ${f}`);let m=Et(p,n);t._OrtAddFreeDimensionOverride(r,m,f)!==0&&Me(`Can't set a free dimension override: ${p} - ${f}.`)}return s.extra!==void 0&&Lo(s.extra,"",new WeakSet,(p,f)=>{Ao(r,p,f,n)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseSessionOptions(r)!==0&&Me("Can't release session options."),n.forEach(o=>t._free(o)),a}}}),Kn=me(()=>{"use strict";Xr=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Po=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},Hn=(e,t)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],n=typeof t=="number"?t:t.reduce((s,a)=>s*a,1);return r>0?Math.ceil(n*r):void 0},Hs=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},Fo=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},vd=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",bd=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",cd=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}}),Cw=me(()=>{"use strict";_d(),Md=async e=>{if(typeof e=="string"){let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),n=r?parseInt(r,10):0;if(n<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let s=t.body.getReader(),a;try{a=new ArrayBuffer(n)}catch(i){if(i instanceof RangeError){let l=Math.ceil(n/65536);a=new WebAssembly.Memory({initial:l,maximum:l}).buffer}else throw i}let o=0;for(;;){let{done:i,value:l}=await s.read();if(i)break;let c=l.byteLength;new Uint8Array(a,o,c).set(l),o+=c}return new Uint8Array(a,0,n)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),KO=me(()=>{"use strict";Kn(),Aw=(e,t)=>new(Hs(t))(e)}),Iw=me(()=>{"use strict";Kn(),zg=["V","I","W","E","F"],$g=(e,t)=>{console.log(`[${zg[e]},${new Date().toISOString()}]${t}`)},Sw=(e,t)=>{Vg=e,Gg=t},jg=(e,t)=>{let r=Fo(e),n=Fo(Vg);r>=n&&$g(r,typeof t=="function"?t():t)},pt=(...e)=>{Gg&&jg(...e)}}),QO=me(()=>{"use strict";Kn(),Iw(),Yu=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),ud=(e,t)=>{if(t==="int32")return e;let r=Yu.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);let n=r/8;if(e.byteLength%n!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${n}.`);let s=e.byteLength/n,a=new(Hs(t))(e.buffer,e.byteOffset,s);switch(t){case"int64":case"uint64":{let o=new Int32Array(s);for(let i=0;i<s;i++){let l=a[i];if(l>2147483647n||l<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");o[i]=Number(l)}return new Uint8Array(o.buffer)}case"int8":case"uint8":case"uint32":{if(t==="uint32"&&a.some(i=>i>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let o=Int32Array.from(a,Number);return new Uint8Array(o.buffer)}default:throw new Error(`Unsupported data conversion from ${t} to 'int32'`)}},Zu=(e,t)=>{if(t==="int32")return e;if(e.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=e.byteLength/4,n=new Int32Array(e.buffer,e.byteOffset,r);switch(t){case"int64":{let s=BigInt64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"uint64":{if(n.some(a=>a<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let s=BigUint64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"int8":{if(n.some(a=>a<-128||a>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let s=Int8Array.from(n,Number);return new Uint8Array(s.buffer)}case"uint8":{if(n.some(s=>s<0||s>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(n,Number)}case"uint32":{if(n.some(a=>a<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let s=Uint32Array.from(n,Number);return new Uint8Array(s.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${t}`)}},Wg=1,ed=()=>Wg++,qg=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),td=(e,t)=>{let r=Yu.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((n,s)=>n*s)*r/8):0},rd=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:r,tensor:n,dataType:s,shape:a,fallbackDataType:o}=e;this.sessionId=t,this.mlContext=r,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=o}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return td(this.dataType,this.tensorShape)}destroy(){pt("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let t=await this.mlContext.readTensor(this.mlTensor),r=Zu(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(r);return}else return r.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,r){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===r.length&&this.tensorShape.every((n,s)=>n===r[s])}setIsDataConverted(e){this.isDataConverted=e}},nd=class{constructor(e,t){this.tensorManager=e,this.wrapper=t}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,t,r,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),o;if(!a?.input.dataTypes.includes(t)){if(o=qg.get(t),!o||a?.input.dataTypes.includes(o))throw new Error(`WebNN backend does not support data type: ${t}`);pt("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${o}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,t,r))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==td(t,r))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let i=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,r,i,!0,!0,o),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let t=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")t=ud(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else pt("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(t):this.activeUpload=new Uint8Array(t)}async download(e){if(this.activeUpload){let t=this.wrapper?.isDataConverted?Zu(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(t):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(t);return}else return t.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},Hg=class{constructor(e){this.backend=e,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(e){let t=this.backend.getMLContext(e);if(!t)throw new Error("MLContext not found for session.");return t}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=ed();return this.tensorTrackersById.set(e,new nd(this)),e}releaseTensorId(e){let t=this.tensorTrackersById.get(e);t&&(this.tensorTrackersById.delete(e),t.tensorWrapper&&this.releaseTensor(t.tensorWrapper))}async ensureTensor(e,t,r,n,s){pt("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${r}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(t);if(!a)throw new Error("Tensor not found.");return a.ensureTensor(e,r,n,s)}upload(e,t){let r=this.tensorTrackersById.get(e);if(!r)throw new Error("Tensor not found.");r.upload(t)}async download(e,t){pt("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let r=this.tensorTrackersById.get(e);if(!r)throw new Error("Tensor not found.");return r.download(t)}releaseTensorsForSession(e){for(let t of this.freeTensors)t.sessionId===e&&t.destroy();this.freeTensors=this.freeTensors.filter(t=>t.sessionId!==e)}registerTensor(e,t,r,n){let s=this.getMLContext(e),a=ed(),o=new rd({sessionId:e,context:s,tensor:t,dataType:r,shape:n});return this.tensorTrackersById.set(a,new nd(this,o)),this.externalTensors.add(o),a}async getCachedTensor(e,t,r,n,s,a,o){let i=this.getMLContext(e);for(let[c,u]of this.freeTensors.entries())if(u.canReuseTensor(i,t,r)){pt("verbose",()=>`[WebNN] Reusing tensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}`);let p=this.freeTensors.splice(c,1)[0];return p.sessionId=e,p}pt("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}}`);let l=await i.createTensor({dataType:o??t,shape:r,dimensions:r,usage:n,writable:s,readable:a});return new rd({sessionId:e,context:i,tensor:l,dataType:t,shape:r,fallbackDataType:o})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Pw=(...e)=>new Hg(...e)}),Rw={};Ks(Rw,{WebNNBackend:()=>Ow});JO=me(()=>{"use strict";Kn(),rn(),KO(),QO(),Iw(),Gs=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),Kg=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let r=Object.keys(e).sort(),n=Object.keys(t).sort();return r.length===n.length&&r.every((s,a)=>s===n[a]&&e[s]===t[s])},Ow=class{constructor(e){this.tensorManager=Pw(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,this.mlOpSupportLimitsBySessionId=new Map,Sw(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){pt("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){pt("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let r of t)pt("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let r=this.mlContextCache.findIndex(n=>n.gpuDevice===e);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let r=this.mlContextCache.findIndex(n=>n.options===void 0&&n.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let t=this.mlContextCache.findIndex(r=>Kg(r.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let r=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:r}),r}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let r=this.sessionIdsByMLContext.get(t);r||(r=new Set,this.sessionIdsByMLContext.set(t,r)),r.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,t.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let t=this.mlContextBySessionId.get(e);if(!t)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let r=this.sessionIdsByMLContext.get(t);if(r.delete(e),r.size===0){this.sessionIdsByMLContext.delete(t);let n=this.mlContextCache.findIndex(s=>s.mlContext===t);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){pt("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,r,n,s){let a=Gs.get(r);if(!a)throw new Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,a,n,s)}async createTemporaryTensor(e,t,r){pt("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${r}}`);let n=Gs.get(t);if(!n)throw new Error(`Unsupported ONNX data type: ${t}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,r,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,t){if(!Ce().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");pt("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${t.byteLength}}`),this.tensorManager.upload(e,t)}async downloadTensor(e,t){return this.tensorManager.download(e,t)}createMLTensorDownloader(e,t){return async()=>{let r=await this.tensorManager.download(e);return Aw(r,t)}}registerMLTensor(e,t,r,n){let s=Gs.get(r);if(!s)throw new Error(`Unsupported ONNX data type: ${r}`);let a=this.tensorManager.registerTensor(e,t,s,n);return pt("verbose",()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerMLConstant(e,t,r,n,s,a,o=!1){if(!a)throw new Error("External mounted files are not available.");let i=e;e.startsWith("./")&&(i=e.substring(2));let l=a.get(i);if(!l)throw new Error(`File with name ${i} not found in preloaded files.`);if(t+r>l.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let c=l.slice(t,t+r).buffer,u;switch(s.dataType){case"float32":u=new Float32Array(c);break;case"float16":u=typeof Float16Array<"u"&&Float16Array.from?new Float16Array(c):new Uint16Array(c);break;case"int32":u=new Int32Array(c);break;case"uint32":u=new Uint32Array(c);break;case"int64":if(o){let p=ud(new Uint8Array(c),"int64");u=new Int32Array(p.buffer),s.dataType="int32"}else u=new BigInt64Array(c);break;case"uint64":u=new BigUint64Array(c);break;case"int8":u=new Int8Array(c);break;case"int4":case"uint4":case"uint8":u=new Uint8Array(c);break;default:throw new Error(`Unsupported data type: ${s.dataType} in creating WebNN Constant from external data.`)}return pt("verbose",()=>`[WebNN] registerMLConstant {dataType: ${s.dataType}, shape: ${s.shape}}} ${o?"(Note: it was int64 data type and registered to int32 as workaround)":""}`),n.constant(s,u)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let r=this.sessionGraphInputs.get(e);return r?r.includes(t):!1}isGraphOutput(e,t){let r=this.sessionGraphOutputs.get(e);return r?r.includes(t):!1}isGraphInputOutputTypeSupported(e,t,r=!0){let n=Gs.get(Xr(t)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:r?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}}),Lw=me(()=>{"use strict";tn(),qO(),HO(),Kn(),rn(),yd(),Cw(),Qg=(e,t)=>{Ce()._OrtInit(e,t)!==0&&Me("Can't initialize onnxruntime.")},xd=async e=>{Qg(e.wasm.numThreads,Fo(e.logLevel))},Td=async(e,t)=>{Ce().asyncInit?.();let r=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let n=e.webgpu.powerPreference;if(n!==void 0&&n!=="low-power"&&n!=="high-performance")throw new Error(`Invalid powerPreference setting: "${n}"`);let s=e.webgpu.forceFallbackAdapter;if(s!==void 0&&typeof s!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${s}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:n,forceFallbackAdapter:s}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(t==="webgpu"&&Ce().webgpuInit(n=>{e.webgpu.device=n}),t==="webnn"){let n=new(JO(),Ro(Rw)).WebNNBackend(e);Ce().webnnInit([n,()=>n.reserveTensorId(),s=>n.releaseTensorId(s),async(s,a,o,i,l)=>n.ensureTensor(s,a,o,i,l),(s,a)=>{n.uploadTensor(s,a)},async(s,a)=>n.downloadTensor(s,a),(s,a)=>n.registerMLContext(s,a),!!e.trace])}},Ar=new Map,Jg=e=>{let t=Ce(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetInputOutputCount(e,s,s+n)!==0&&Me("Can't get session input/output count.");let a=n===4?"i32":"i64";return[Number(t.getValue(s,a)),Number(t.getValue(s+n,a))]}finally{t.stackRestore(r)}},sd=(e,t)=>{let r=Ce(),n=r.stackSave(),s=0;try{let a=r.PTR_SIZE,o=r.stackAlloc(2*a);r._OrtGetInputOutputMetadata(e,t,o,o+a)!==0&&Me("Can't get session input/output metadata.");let i=Number(r.getValue(o,"*"));s=Number(r.getValue(o+a,"*"));let l=r.HEAP32[s/4];if(l===0)return[i,0];let c=r.HEAPU32[s/4+1],u=[];for(let p=0;p<c;p++){let f=Number(r.getValue(s+8+p*a,"*"));u.push(f!==0?r.UTF8ToString(f):Number(r.getValue(s+8+(p+c)*a,"*")))}return[i,l,u]}finally{r.stackRestore(n),s!==0&&r._OrtFree(s)}},No=e=>{let t=Ce(),r=t._malloc(e.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},Ed=async(e,t)=>{let r,n,s=Ce();Array.isArray(e)?[r,n]=e:e.buffer===s.HEAPU8.buffer?[r,n]=[e.byteOffset,e.byteLength]:[r,n]=No(e);let a=0,o=0,i=0,l=[],c=[],u=[];try{if([o,l]=await kw(t),t?.externalData&&s.mountExternalData){let C=[];for(let S of t.externalData){let O=typeof S=="string"?S:S.path;C.push(Md(typeof S=="string"?S:S.data).then(E=>{s.mountExternalData(O,E)}))}await Promise.all(C)}for(let C of t?.executionProviders??[])if((typeof C=="string"?C:C.name)==="webnn"){if(s.shouldTransferToMLTensor=!1,typeof C!="string"){let S=C,O=S?.context,E=S?.gpuDevice,K=S?.deviceType,$=S?.powerPreference;O?s.currentContext=O:E?s.currentContext=await s.webnnCreateMLContext(E):s.currentContext=await s.webnnCreateMLContext({deviceType:K,powerPreference:$})}else s.currentContext=await s.webnnCreateMLContext();break}a=await s._OrtCreateSession(r,n,o),s.webgpuOnCreateSession?.(a),a===0&&Me("Can't create a session."),s.jsepOnCreateSession?.(),s.currentContext&&(s.webnnRegisterMLContext(a,s.currentContext),s.currentContext=void 0,s.shouldTransferToMLTensor=!0);let[p,f]=Jg(a),m=!!t?.enableGraphCapture,y=[],v=[],x=[],M=[],T=[];for(let C=0;C<p;C++){let[S,O,E]=sd(a,C);S===0&&Me("Can't get an input name."),c.push(S);let K=s.UTF8ToString(S);y.push(K),x.push(O===0?{name:K,isTensor:!1}:{name:K,isTensor:!0,type:Po(O),shape:E})}for(let C=0;C<f;C++){let[S,O,E]=sd(a,C+p);S===0&&Me("Can't get an output name."),u.push(S);let K=s.UTF8ToString(S);v.push(K),M.push(O===0?{name:K,isTensor:!1}:{name:K,isTensor:!0,type:Po(O),shape:E});{if(m&&t?.preferredOutputLocation===void 0){T.push("gpu-buffer");continue}let $=typeof t?.preferredOutputLocation=="string"?t.preferredOutputLocation:t?.preferredOutputLocation?.[K]??"cpu",V=s.webnnIsGraphOutput;if($==="cpu"&&V&&V(a,K)){T.push("ml-tensor-cpu-output");continue}if($!=="cpu"&&$!=="cpu-pinned"&&$!=="gpu-buffer"&&$!=="ml-tensor")throw new Error(`Not supported preferred output location: ${$}.`);if(m&&$!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${$}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);T.push($)}}let A=null;return T.some(C=>C==="gpu-buffer"||C==="ml-tensor"||C==="ml-tensor-cpu-output")&&(i=s._OrtCreateBinding(a),i===0&&Me("Can't create IO binding."),A={handle:i,outputPreferredLocations:T,outputPreferredLocationsEncoded:T.map(C=>C==="ml-tensor-cpu-output"?"ml-tensor":C).map(C=>cd(C))}),Ar.set(a,[a,c,u,A,m,!1]),[a,y,v,x,M]}catch(p){throw c.forEach(f=>s._OrtFree(f)),u.forEach(f=>s._OrtFree(f)),i!==0&&s._OrtReleaseBinding(i)!==0&&Me("Can't release IO binding."),a!==0&&s._OrtReleaseSession(a)!==0&&Me("Can't release session."),p}finally{s._free(r),o!==0&&s._OrtReleaseSessionOptions(o)!==0&&Me("Can't release session options."),l.forEach(p=>s._free(p)),s.unmountExternalData?.()}},kd=e=>{let t=Ce(),r=Ar.get(e);if(!r)throw new Error(`cannot release session. invalid session id: ${e}`);let[n,s,a,o,i]=r;o&&(i&&t._OrtClearBoundOutputs(o.handle)!==0&&Me("Can't clear bound outputs."),t._OrtReleaseBinding(o.handle)!==0&&Me("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),s.forEach(l=>t._OrtFree(l)),a.forEach(l=>t._OrtFree(l)),t._OrtReleaseSession(n)!==0&&Me("Can't release session."),Ar.delete(e)},ad=async(e,t,r,n,s,a,o=!1)=>{if(!e){t.push(0);return}let i=Ce(),l=i.PTR_SIZE,c=e[0],u=e[1],p=e[3],f=p,m,y;if(c==="string"&&(p==="gpu-buffer"||p==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(o&&p!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(p==="gpu-buffer"){let M=e[2].gpuBuffer;y=Hn(Xr(c),u);{let T=i.webgpuRegisterBuffer;if(!T)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');m=T(M,n)}}else if(p==="ml-tensor"){let M=e[2].mlTensor;y=Hn(Xr(c),u);let T=i.webnnRegisterMLTensor;if(!T)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');m=T(n,M,Xr(c),u)}else{let M=e[2];if(Array.isArray(M)){y=l*M.length,m=i._malloc(y),r.push(m);for(let T=0;T<M.length;T++){if(typeof M[T]!="string")throw new TypeError(`tensor data at index ${T} is not a string`);i.setValue(m+T*l,Et(M[T],r),"*")}}else{let T=i.webnnIsGraphInput,A=i.webnnIsGraphOutput;if(c!=="string"&&T&&A){let C=i.UTF8ToString(s);if(T(n,C)||A(n,C)){let S=Xr(c);y=Hn(S,u),f="ml-tensor";let O=i.webnnCreateTemporaryTensor,E=i.webnnUploadTensor;if(!O||!E)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let K=await O(n,S,u);E(K,new Uint8Array(M.buffer,M.byteOffset,M.byteLength)),m=K}else y=M.byteLength,m=i._malloc(y),r.push(m),i.HEAPU8.set(new Uint8Array(M.buffer,M.byteOffset,y),m)}else y=M.byteLength,m=i._malloc(y),r.push(m),i.HEAPU8.set(new Uint8Array(M.buffer,M.byteOffset,y),m)}}let v=i.stackSave(),x=i.stackAlloc(4*u.length);try{u.forEach((T,A)=>i.setValue(x+A*l,T,l===4?"i32":"i64"));let M=i._OrtCreateTensor(Xr(c),m,y,x,u.length,cd(f));M===0&&Me(`Can't create tensor for input/output. session=${n}, index=${a}.`),t.push(M)}finally{i.stackRestore(v)}},Cd=async(e,t,r,n,s,a)=>{let o=Ce(),i=o.PTR_SIZE,l=Ar.get(e);if(!l)throw new Error(`cannot run inference. invalid session id: ${e}`);let c=l[0],u=l[1],p=l[2],f=l[3],m=l[4],y=l[5],v=t.length,x=n.length,M=0,T=[],A=[],C=[],S=[],O=[],E=o.stackSave(),K=o.stackAlloc(v*i),$=o.stackAlloc(v*i),V=o.stackAlloc(x*i),Q=o.stackAlloc(x*i);try{[M,T]=Ew(a),Ir("wasm prepareInputOutputTensor");for(let R=0;R<v;R++)await ad(r[R],A,S,e,u[t[R]],t[R],m);for(let R=0;R<x;R++)await ad(s[R],C,S,e,p[n[R]],v+n[R],m);Pr("wasm prepareInputOutputTensor");for(let R=0;R<v;R++)o.setValue(K+R*i,A[R],"*"),o.setValue($+R*i,u[t[R]],"*");for(let R=0;R<x;R++)o.setValue(V+R*i,C[R],"*"),o.setValue(Q+R*i,p[n[R]],"*");if(f&&!y){let{handle:R,outputPreferredLocations:re,outputPreferredLocationsEncoded:ie}=f;if(u.length!==v)throw new Error(`input count from feeds (${v}) is expected to be always equal to model's input count (${u.length}).`);Ir("wasm bindInputsOutputs");for(let F=0;F<v;F++){let N=t[F];await o._OrtBindInput(R,u[N],A[F])!==0&&Me(`Can't bind input[${F}] for session=${e}.`)}for(let F=0;F<x;F++){let N=n[F];s[F]?.[3]?(O.push(C[F]),o._OrtBindOutput(R,p[N],C[F],0)!==0&&Me(`Can't bind pre-allocated output[${F}] for session=${e}.`)):o._OrtBindOutput(R,p[N],0,ie[N])!==0&&Me(`Can't bind output[${F}] to ${re[F]} for session=${e}.`)}Pr("wasm bindInputsOutputs"),Ar.set(e,[c,u,p,f,m,!0])}o.jsepOnRunStart?.(c),o.webnnOnRunStart?.(c);let G;f?G=await o._OrtRunWithBinding(c,f.handle,x,V,M):G=await o._OrtRun(c,$,K,v,Q,x,V,M),G!==0&&Me("failed to call OrtRun().");let q=[],D=[];Ir("wasm ProcessOutputTensor");for(let R=0;R<x;R++){let re=Number(o.getValue(V+R*i,"*"));if(re===C[R]||O.includes(C[R])){q.push(s[R]),re!==C[R]&&o._OrtReleaseTensor(re)!==0&&Me("Can't release tensor.");continue}let ie=o.stackSave(),F=o.stackAlloc(4*i),N=!1,z,Y=0;try{o._OrtGetTensorData(re,F,F+i,F+2*i,F+3*i)!==0&&Me(`Can't access output tensor data on index ${R}.`);let fe=i===4?"i32":"i64",H=Number(o.getValue(F,fe));Y=o.getValue(F+i,"*");let Ne=o.getValue(F+i*2,"*"),Xe=Number(o.getValue(F+i*3,fe)),nt=[];for(let Pe=0;Pe<Xe;Pe++)nt.push(Number(o.getValue(Ne+Pe*i,fe)));o._OrtFree(Ne)!==0&&Me("Can't free memory for tensor dims.");let We=nt.reduce((Pe,ye)=>Pe*ye,1);z=Po(H);let gt=f?.outputPreferredLocations[n[R]];if(z==="string"){if(gt==="gpu-buffer"||gt==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let Pe=[];for(let ye=0;ye<We;ye++){let qe=o.getValue(Y+ye*i,"*"),Yt=o.getValue(Y+(ye+1)*i,"*"),ke=ye===We-1?void 0:Yt-qe;Pe.push(o.UTF8ToString(qe,ke))}q.push([z,nt,Pe,"cpu"])}else if(gt==="gpu-buffer"&&We>0){let Pe=o.webgpuGetBuffer;if(!Pe)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let ye=Pe(Y),qe=Hn(H,We);if(qe===void 0||!vd(z))throw new Error(`Unsupported data type: ${z}`);N=!0;{o.webgpuRegisterBuffer(ye,e,Y);let Yt=o.webgpuCreateDownloader(ye,qe,e);q.push([z,nt,{gpuBuffer:ye,download:async()=>{let ke=await Yt();return new(Hs(z))(ke)},dispose:()=>{o._OrtReleaseTensor(re)!==0&&Me("Can't release tensor.")}},"gpu-buffer"])}}else if(gt==="ml-tensor"&&We>0){let Pe=o.webnnEnsureTensor,ye=o.webnnIsGraphInputOutputTypeSupported;if(!Pe||!ye)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(Hn(H,We)===void 0||!bd(z))throw new Error(`Unsupported data type: ${z}`);if(!ye(e,z,!1))throw new Error(`preferredLocation "ml-tensor" for ${z} output is not supported by current WebNN Context.`);let qe=await Pe(e,Y,H,nt,!1);N=!0,q.push([z,nt,{mlTensor:qe,download:o.webnnCreateMLTensorDownloader(Y,z),dispose:()=>{o.webnnReleaseTensorId(Y),o._OrtReleaseTensor(re)}},"ml-tensor"])}else if(gt==="ml-tensor-cpu-output"&&We>0){let Pe=o.webnnCreateMLTensorDownloader(Y,z)(),ye=q.length;N=!0,D.push((async()=>{let qe=[ye,await Pe];return o.webnnReleaseTensorId(Y),o._OrtReleaseTensor(re),qe})()),q.push([z,nt,[],"cpu"])}else{let Pe=Hs(z),ye=new Pe(We);new Uint8Array(ye.buffer,ye.byteOffset,ye.byteLength).set(o.HEAPU8.subarray(Y,Y+ye.byteLength)),q.push([z,nt,ye,"cpu"])}}finally{o.stackRestore(ie),z==="string"&&Y&&o._free(Y),N||o._OrtReleaseTensor(re)}}f&&!m&&(o._OrtClearBoundOutputs(f.handle)!==0&&Me("Can't clear bound outputs."),Ar.set(e,[c,u,p,f,m,!1]));for(let[R,re]of await Promise.all(D))q[R][2]=re;return Pr("wasm ProcessOutputTensor"),q}finally{o.webnnOnRunEnd?.(c),o.stackRestore(E),r.forEach(G=>{G&&G[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(G[2].gpuBuffer)}),s.forEach(G=>{G&&G[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(G[2].gpuBuffer)}),A.forEach(G=>o._OrtReleaseTensor(G)),C.forEach(G=>o._OrtReleaseTensor(G)),S.forEach(G=>o._free(G)),M!==0&&o._OrtReleaseRunOptions(M),T.forEach(G=>o._free(G))}},Ad=e=>{let t=Ce(),r=Ar.get(e);if(!r)throw new Error("invalid session id");let n=r[0],s=t._OrtEndProfiling(n);s===0&&Me("Can't get an profile file name."),t._OrtFree(s)},Sd=e=>{let t=[];for(let r of e){let n=r[2];!Array.isArray(n)&&"buffer"in n&&t.push(n.buffer)}return t}}),Vw=me(()=>{"use strict";tn(),Lw(),rn(),gd(),Sr=()=>!!De.wasm.proxy&&typeof document<"u",qn=!1,js=!1,Ws=!1,Io=new Map,Kr=(e,t)=>{let r=Io.get(e);r?r.push(t):Io.set(e,[t])},Qr=()=>{if(qn||!js||Ws||!Rt)throw new Error("worker not ready")},Xg=e=>{switch(e.data.type){case"init-wasm":qn=!1,e.data.err?(Ws=!0,od[1](e.data.err)):(js=!0,od[0]()),So&&(URL.revokeObjectURL(So),So=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=Io.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},Fw=async()=>{if(!js){if(qn)throw new Error("multiple calls to 'initWasm()' detected.");if(Ws)throw new Error("previous call to 'initWasm()' failed.");if(qn=!0,Sr())return new Promise((e,t)=>{Rt?.terminate(),xw().then(([r,n])=>{try{Rt=n,Rt.onerror=a=>t(a),Rt.onmessage=Xg,od=[e,t];let s={type:"init-wasm",in:De};!s.in.wasm.wasmPaths&&(r||ld)&&(s.in.wasm.wasmPaths={wasm:new URL("ort-wasm-simd-threaded.asyncify.wasm",Vt.url).href}),Rt.postMessage(s),So=r}catch(s){t(s)}},t)});try{await wd(De.wasm),await xd(De),js=!0}catch(e){throw Ws=!0,e}finally{qn=!1}}},Nw=async e=>{if(Sr())return Qr(),new Promise((t,r)=>{Kr("init-ep",[t,r]);let n={type:"init-ep",in:{epName:e,env:De}};Rt.postMessage(n)});await Td(De,e)},Dw=async e=>Sr()?(Qr(),new Promise((t,r)=>{Kr("copy-from",[t,r]);let n={type:"copy-from",in:{buffer:e}};Rt.postMessage(n,[e.buffer])})):No(e),Bw=async(e,t)=>{if(Sr()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Qr(),new Promise((r,n)=>{Kr("create",[r,n]);let s={type:"create",in:{model:e,options:{...t}}},a=[];e instanceof Uint8Array&&a.push(e.buffer),Rt.postMessage(s,a)})}else return Ed(e,t)},Uw=async e=>{if(Sr())return Qr(),new Promise((t,r)=>{Kr("release",[t,r]);let n={type:"release",in:e};Rt.postMessage(n)});kd(e)},zw=async(e,t,r,n,s,a)=>{if(Sr()){if(r.some(o=>o[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(s.some(o=>o))throw new Error("pre-allocated output tensor is not supported for proxy.");return Qr(),new Promise((o,i)=>{Kr("run",[o,i]);let l=r,c={type:"run",in:{sessionId:e,inputIndices:t,inputs:l,outputIndices:n,options:a}};Rt.postMessage(c,Sd(l))})}else return Cd(e,t,r,n,s,a)},$w=async e=>{if(Sr())return Qr(),new Promise((t,r)=>{Kr("end-profiling",[t,r]);let n={type:"end-profiling",in:e};Rt.postMessage(n)});Ad(e)}}),XO=me(()=>{"use strict";tn(),Vw(),Kn(),_d(),Cw(),id=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Yg=e=>{switch(e[3]){case"cpu":return new Gt(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!vd(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:n,dispose:s}=e[2];return Gt.fromGpuBuffer(r,{dataType:t,dims:e[1],download:n,dispose:s})}case"ml-tensor":{let t=e[0];if(!bd(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:r,download:n,dispose:s}=e[2];return Gt.fromMLTensor(r,{dataType:t,dims:e[1],download:n,dispose:s})}default:throw new Error(`invalid data location: ${e[3]}`)}},Gw=class{async fetchModelAndCopyToWasmMemory(e){return Dw(await Md(e))}async loadModel(e,t){Zr();let r;typeof e=="string"?r=await this.fetchModelAndCopyToWasmMemory(e):r=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Bw(r,t),en()}async dispose(){return Uw(this.sessionId)}async run(e,t,r){Zr();let n=[],s=[];Object.entries(e).forEach(p=>{let f=p[0],m=p[1],y=this.inputNames.indexOf(f);if(y===-1)throw new Error(`invalid input '${f}'`);n.push(m),s.push(y)});let a=[],o=[];Object.entries(t).forEach(p=>{let f=p[0],m=p[1],y=this.outputNames.indexOf(f);if(y===-1)throw new Error(`invalid output '${f}'`);a.push(m),o.push(y)});let i=n.map((p,f)=>id(p,()=>`input "${this.inputNames[s[f]]}"`)),l=a.map((p,f)=>p?id(p,()=>`output "${this.outputNames[o[f]]}"`):null),c=await zw(this.sessionId,s,i,o,l,r),u={};for(let p=0;p<c.length;p++)u[this.outputNames[o[p]]]=a[p]??Yg(c[p]);return en(),u}startProfiling(){}endProfiling(){$w(this.sessionId)}}}),jw={};Ks(jw,{OnnxruntimeWebAssemblyBackend:()=>pd,initializeFlags:()=>dd,wasmBackend:()=>Ww});YO=me(()=>{"use strict";tn(),Vw(),XO(),dd=()=>{(typeof De.wasm.initTimeout!="number"||De.wasm.initTimeout<0)&&(De.wasm.initTimeout=0);let e=De.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),De.wasm.simd=!1),typeof De.wasm.proxy!="boolean"&&(De.wasm.proxy=!1),typeof De.wasm.trace!="boolean"&&(De.wasm.trace=!1),typeof De.wasm.numThreads!="number"||!Number.isInteger(De.wasm.numThreads)||De.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)De.wasm.numThreads=1;else{let t=typeof navigator>"u"?SO("node:os").cpus().length:navigator.hardwareConcurrency;De.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},pd=class{async init(e){dd(),await Fw(),await Nw(e)}async createInferenceSessionHandler(e,t){let r=new Gw;return await r.loadModel(e,t),r}},Ww=new pd});tn();tn();tn();ZO="1.25.0-dev.20260307-d626b568e0",eL=gw;{let e=(YO(),Ro(jw)).wasmBackend;Yr("webgpu",e,5),Yr("webnn",e,5),Yr("cpu",e,10),Yr("wasm",e,10)}Object.defineProperty(De.versions,"web",{value:ZO,enumerable:!0})});var Pd=Ve(()=>{});var Hw=Ve(()=>{Pd()});var Kw,Qw=Ve(()=>{Kw="1.24.2"});var Jw,Rd,Od=Ve(()=>{Qw();Jw="warning",Rd={wasm:{},webgl:{},webgpu:{},versions:{common:Kw},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);Jw=e}},get logLevel(){return Jw}};Object.defineProperty(Rd,"logLevel",{enumerable:!0})});var Xw=Ve(()=>{Od()});var Yw,Zw,ey=Ve(()=>{Yw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[3]):(s=e.dims[3],a=e.dims[2]);let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;i===void 0||i.mean===void 0?l=[255,255,255,255]:typeof i.mean=="number"?l=[i.mean,i.mean,i.mean,i.mean]:(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(l[3]=i.mean[3])),i===void 0||i.bias===void 0?c=[0,0,0,0]:typeof i.bias=="number"?c=[i.bias,i.bias,i.bias,i.bias]:(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(c[3]=i.bias[3]));let u=a*s,p=0,f=u,m=u*2,y=-1;o==="RGBA"?(p=0,f=u,m=u*2,y=u*3):o==="RGB"?(p=0,f=u,m=u*2):o==="RBG"&&(p=0,m=u,f=u*2);for(let v=0;v<a;v++)for(let x=0;x<s;x++){let M=(e.data[p++]-c[0])*l[0],T=(e.data[f++]-c[1])*l[1],A=(e.data[m++]-c[2])*l[2],C=y===-1?255:(e.data[y++]-c[3])*l[3];n.fillStyle="rgba("+M+","+T+","+A+","+C+")",n.fillRect(x,v,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},Zw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[1],o=e.dims[3]):(s=e.dims[3],a=e.dims[2],o=e.dims[1]);let i=t!==void 0&&t.format!==void 0?t.format:"RGB",l=t?.norm,c,u;l===void 0||l.mean===void 0?c=[255,255,255,255]:typeof l.mean=="number"?c=[l.mean,l.mean,l.mean,l.mean]:(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(c[3]=l.mean[3])),l===void 0||l.bias===void 0?u=[0,0,0,0]:typeof l.bias=="number"?u=[l.bias,l.bias,l.bias,l.bias]:(u=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(u[3]=l.bias[3]));let p=a*s;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let f=4,m=0,y=1,v=2,x=3,M=0,T=p,A=p*2,C=-1;i==="RGBA"?(M=0,T=p,A=p*2,C=p*3):i==="RGB"?(M=0,T=p,A=p*2):i==="RBG"&&(M=0,A=p,T=p*2),n=r.createImageData(s,a);for(let S=0;S<a*s;m+=f,y+=f,v+=f,x+=f,S++)n.data[m]=(e.data[M++]-u[0])*c[0],n.data[y]=(e.data[T++]-u[1])*c[1],n.data[v]=(e.data[A++]-u[2])*c[2],n.data[x]=C===-1?255:(e.data[C++]-u[3])*c[3]}else throw new Error("Can not access image data");return n}});var Ld,ty,ry,ny,sy,ay,oy=Ve(()=>{Do();Ld=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;typeof s.mean=="number"?a=[s.mean,s.mean,s.mean,s.mean]:a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?o=[s.bias,s.bias,s.bias,s.bias]:o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",c=r*n,u=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),p=4,f=0,m=1,y=2,v=3,x=0,M=c,T=c*2,A=-1;i==="RGB"&&(p=3,f=0,m=1,y=2,v=-1),l==="RGBA"?A=c*3:l==="RBG"?(x=0,T=c,M=c*2):l==="BGR"&&(T=0,M=c,x=c*2);for(let S=0;S<c;S++,f+=p,y+=p,m+=p,v+=p)u[x++]=(e[f]+o[0])/a[0],u[M++]=(e[m]+o[1])/a[1],u[T++]=(e[y]+o[2])/a[2],A!==-1&&v!==-1&&(u[A++]=(e[v]+o[3])/a[3]);return l==="RGBA"?new at("float32",u,[1,4,r,n]):new at("float32",u,[1,3,r,n])},ty=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e=="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},c=u=>typeof HTMLCanvasElement<"u"&&u instanceof HTMLCanvasElement||u instanceof OffscreenCanvas?u.getContext("2d"):null;if(r){let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(f=t.resizedHeight,m=t.resizedWidth),t!==void 0){if(i=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=f,i.width=m}else i.tensorFormat="RGBA",i.height=f,i.width=m;p.drawImage(e,0,0),o=p.getImageData(0,0,m,f).data}else throw new Error("Can not access image data")}else if(n){let u,p;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(u=t.resizedHeight,p=t.resizedWidth):(u=e.height,p=e.width),t!==void 0&&(i=t),i.format="RGBA",i.height=u,i.width=p,t!==void 0){let f=l();f.width=p,f.height=u;let m=c(f);if(m!=null)m.putImageData(e,0,0),o=m.getImageData(0,0,p,u).data;else throw new Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;return p.drawImage(e,0,0,m,f),o=p.getImageData(0,0,m,f).data,i.height=f,i.width=m,Ld(o,i)}else throw new Error("Can not access image data")}else{if(a)return new Promise((u,p)=>{let f=l(),m=c(f);if(!e||!m)return p();let y=new Image;y.crossOrigin="Anonymous",y.src=e,y.onload=()=>{f.width=y.width,f.height=y.height,m.drawImage(y,0,0,f.width,f.height);let v=m.getImageData(0,0,f.width,f.height);i.height=f.height,i.width=f.width,u(Ld(v.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(o!==void 0)return Ld(o,i);throw new Error("Input data provided is not supported - aborted tensor creation")},ry=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t,o=[1,n,r,4];return new at({location:"texture",type:"float32",texture:e,dims:o,download:s,dispose:a})},ny=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new at({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},sy=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new at({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},ay=(e,t,r)=>new at({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})});var nn,Qs,iy,ly,cy=Ve(()=>{nn=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Qs=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),iy=!1,ly=()=>{if(!iy){iy=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;e&&(nn.set("int64",BigInt64Array),Qs.set(BigInt64Array,"int64")),t&&(nn.set("uint64",BigUint64Array),Qs.set(BigUint64Array,"uint64")),n?(nn.set("float16",r),Qs.set(r,"float16")):nn.set("float16",Uint16Array)}}});var uy,dy,py=Ve(()=>{Do();uy=e=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw new TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},dy=(e,t)=>{switch(e.location){case"cpu":return new at(e.type,e.data,t);case"cpu-pinned":return new at({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new at({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new at({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new at({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var at,Do=Ve(()=>{ey();oy();cy();py();at=class{constructor(t,r,n){ly();let s,a;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,s=t.type,a=t.dims,t.location){case"cpu-pinned":{let i=nn.get(s);if(!i)throw new TypeError(`unsupported type "${s}" to create tensor from pinned buffer`);if(!(t.data instanceof i))throw new TypeError(`buffer should be of type ${i.name}`);this.cpuData=t.data;break}case"texture":{if(s!=="float32")throw new TypeError(`unsupported type "${s}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(s!=="float32"&&s!=="float16"&&s!=="int32"&&s!=="int64"&&s!=="uint32"&&s!=="uint8"&&s!=="bool"&&s!=="uint4"&&s!=="int4")throw new TypeError(`unsupported type "${s}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(s!=="float32"&&s!=="float16"&&s!=="int32"&&s!=="int64"&&s!=="uint32"&&s!=="uint64"&&s!=="int8"&&s!=="uint8"&&s!=="bool"&&s!=="uint4"&&s!=="int4")throw new TypeError(`unsupported type "${s}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let i,l;if(typeof t=="string")if(s=t,l=n,t==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");i=r}else{let c=nn.get(t);if(c===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(r)){if(t==="float16"&&c===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${c.name} as data.`);t==="uint64"||t==="int64"?i=c.from(r,BigInt):i=c.from(r)}else if(r instanceof c)i=r;else if(r instanceof Uint8ClampedArray)if(t==="uint8")i=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&r instanceof Uint16Array&&c!==Uint16Array)i=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${s} tensor's data must be type of ${c}`)}else if(l=r,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let c=typeof t[0];if(c==="string")s="string",i=t;else if(c==="boolean")s="bool",i=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${c}.`)}else if(t instanceof Uint8ClampedArray)s="uint8",i=Uint8Array.from(t);else{let c=Qs.get(t.constructor);if(c===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);s=c,i=t}if(l===void 0)l=[i.length];else if(!Array.isArray(l))throw new TypeError("A tensor's dims must be a number array");a=l,this.cpuData=i,this.dataLocation="cpu"}let o=uy(a);if(this.cpuData&&o!==this.cpuData.length&&!((s==="uint4"||s==="int4")&&Math.ceil(o/2)===this.cpuData.length))throw new Error(`Tensor's size(${o}) does not match data length(${this.cpuData.length}).`);this.type=s,this.dims=a,this.size=o}static async fromImage(t,r){return ty(t,r)}static fromTexture(t,r){return ry(t,r)}static fromGpuBuffer(t,r){return ny(t,r)}static fromMLTensor(t,r){return sy(t,r)}static fromPinnedBuffer(t,r,n){return ay(t,r,n)}toDataURL(t){return Yw(this,t)}toImageData(t){return Zw(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,t&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return dy(this,t)}}});var Fd,Nd=Ve(()=>{Do();Fd=at});var Dd=Ve(()=>{Od()});var hy=Ve(()=>{Pd();Nd();Dd()});var fy=Ve(()=>{hy()});var my=Ve(()=>{});var _y=Ve(()=>{});var gy=Ve(()=>{});var wy=Ve(()=>{});var yy=Ve(()=>{Hw();Xw();fy();Nd();my();_y();Dd();gy();wy()});var GI={};Au(GI,{ASTFeatureExtractor:()=>Xb,ASTForAudioClassification:()=>c0,ASTModel:()=>l0,ASTPreTrainedModel:()=>Ui,AfmoeForCausalLM:()=>a0,AfmoeModel:()=>s0,AfmoePreTrainedModel:()=>Di,AlbertForMaskedLM:()=>t0,AlbertForQuestionAnswering:()=>e0,AlbertForSequenceClassification:()=>Zx,AlbertModel:()=>Yx,AlbertPreTrainedModel:()=>fs,AlbertTokenizer:()=>rb,ApertusForCausalLM:()=>n0,ApertusModel:()=>r0,ApertusPreTrainedModel:()=>Ni,ArceeForCausalLM:()=>i0,ArceeModel:()=>o0,ArceePreTrainedModel:()=>Bi,AudioClassificationPipeline:()=>vI,AutoConfig:()=>ls,AutoFeatureExtractor:()=>Bt,AutoImageProcessor:()=>mt,AutoModel:()=>ns,AutoModelForAudioClassification:()=>iI,AutoModelForAudioFrameClassification:()=>VU,AutoModelForAudioTextToText:()=>HU,AutoModelForCTC:()=>oI,AutoModelForCausalLM:()=>ZS,AutoModelForDepthEstimation:()=>uI,AutoModelForDocumentQuestionAnswering:()=>lI,AutoModelForImageClassification:()=>nI,AutoModelForImageFeatureExtraction:()=>dI,AutoModelForImageMatting:()=>GU,AutoModelForImageSegmentation:()=>Up,AutoModelForImageTextToText:()=>qU,AutoModelForImageToImage:()=>cI,AutoModelForMaskGeneration:()=>zU,AutoModelForMaskedLM:()=>eI,AutoModelForNormalEstimation:()=>jU,AutoModelForObjectDetection:()=>sI,AutoModelForPoseEstimation:()=>WU,AutoModelForQuestionAnswering:()=>tI,AutoModelForSemanticSegmentation:()=>zp,AutoModelForSeq2SeqLM:()=>li,AutoModelForSequenceClassification:()=>Bp,AutoModelForSpeechSeq2Seq:()=>JS,AutoModelForTextToSpectrogram:()=>XS,AutoModelForTextToWaveform:()=>YS,AutoModelForTokenClassification:()=>QS,AutoModelForUniversalSegmentation:()=>$p,AutoModelForVision2Seq:()=>rI,AutoModelForXVector:()=>$U,AutoModelForZeroShotObjectDetection:()=>aI,AutoProcessor:()=>Sx,AutoTokenizer:()=>Ae,AutomaticSpeechRecognitionPipeline:()=>MI,BackgroundRemovalPipeline:()=>kI,BartForConditionalGeneration:()=>d0,BartForSequenceClassification:()=>p0,BartModel:()=>u0,BartPretrainedModel:()=>Ea,BartTokenizer:()=>nb,BaseStreamer:()=>BI,BeitFeatureExtractor:()=>gM,BeitForImageClassification:()=>f0,BeitModel:()=>h0,BeitPreTrainedModel:()=>zi,BertForMaskedLM:()=>_0,BertForQuestionAnswering:()=>y0,BertForSequenceClassification:()=>g0,BertForTokenClassification:()=>w0,BertModel:()=>m0,BertPreTrainedModel:()=>fn,BertTokenizer:()=>sb,BitImageProcessor:()=>wM,BlenderbotForConditionalGeneration:()=>b0,BlenderbotModel:()=>v0,BlenderbotPreTrainedModel:()=>$i,BlenderbotSmallForConditionalGeneration:()=>x0,BlenderbotSmallModel:()=>M0,BlenderbotSmallPreTrainedModel:()=>Vi,BlenderbotSmallTokenizer:()=>ab,BlenderbotTokenizer:()=>ob,BloomForCausalLM:()=>E0,BloomModel:()=>T0,BloomPreTrainedModel:()=>Gi,BloomTokenizer:()=>ib,CHMv2ForDepthEstimation:()=>R0,CHMv2ImageProcessor:()=>vM,CHMv2PreTrainedModel:()=>zh,CLIPFeatureExtractor:()=>bM,CLIPImageProcessor:()=>hh,CLIPModel:()=>L0,CLIPPreTrainedModel:()=>Nr,CLIPSegForImageSegmentation:()=>U0,CLIPSegModel:()=>B0,CLIPSegPreTrainedModel:()=>ji,CLIPTextModel:()=>F0,CLIPTextModelWithProjection:()=>Gh,CLIPTokenizer:()=>cb,CLIPVisionModel:()=>N0,CLIPVisionModelWithProjection:()=>D0,CamembertForMaskedLM:()=>C0,CamembertForQuestionAnswering:()=>I0,CamembertForSequenceClassification:()=>A0,CamembertForTokenClassification:()=>S0,CamembertModel:()=>k0,CamembertPreTrainedModel:()=>mn,CamembertTokenizer:()=>lb,ChatterboxFeatureExtractor:()=>Yb,ChatterboxModel:()=>Bh,ChatterboxPreTrainedModel:()=>Dh,ChatterboxProcessor:()=>dM,ChineseCLIPFeatureExtractor:()=>yM,ChineseCLIPModel:()=>P0,ChineseCLIPPreTrainedModel:()=>Uh,ClapAudioModelWithProjection:()=>Vh,ClapFeatureExtractor:()=>Zb,ClapModel:()=>O0,ClapPreTrainedModel:()=>ka,ClapTextModelWithProjection:()=>$h,ClassifierFreeGuidanceLogitsProcessor:()=>$x,CodeGenForCausalLM:()=>$0,CodeGenModel:()=>z0,CodeGenPreTrainedModel:()=>Wi,CodeGenTokenizer:()=>db,CodeLlamaTokenizer:()=>ub,Cohere2ForCausalLM:()=>W0,Cohere2Model:()=>j0,Cohere2PreTrainedModel:()=>Hi,CohereForCausalLM:()=>G0,CohereModel:()=>V0,CoherePreTrainedModel:()=>qi,CohereTokenizer:()=>pb,ConvBertForMaskedLM:()=>H0,ConvBertForQuestionAnswering:()=>J0,ConvBertForSequenceClassification:()=>K0,ConvBertForTokenClassification:()=>Q0,ConvBertModel:()=>q0,ConvBertPreTrainedModel:()=>_n,ConvBertTokenizer:()=>hb,ConvNextFeatureExtractor:()=>MM,ConvNextForImageClassification:()=>Y0,ConvNextImageProcessor:()=>fh,ConvNextModel:()=>X0,ConvNextPreTrainedModel:()=>Ki,ConvNextV2ForImageClassification:()=>eT,ConvNextV2Model:()=>Z0,ConvNextV2PreTrainedModel:()=>Qi,DFineForObjectDetection:()=>sT,DFineModel:()=>nT,DFinePreTrainedModel:()=>Xi,DINOv3ConvNextModel:()=>IT,DINOv3ConvNextPreTrainedModel:()=>Yh,DINOv3ViTImageProcessor:()=>EM,DINOv3ViTModel:()=>PT,DINOv3ViTPreTrainedModel:()=>Zh,DPTFeatureExtractor:()=>CM,DPTForDepthEstimation:()=>UT,DPTImageProcessor:()=>gh,DPTModel:()=>BT,DPTPreTrainedModel:()=>nl,DacDecoderModel:()=>Hh,DacDecoderOutput:()=>Wh,DacEncoderModel:()=>qh,DacEncoderOutput:()=>jh,DacFeatureExtractor:()=>uh,DacModel:()=>aT,DacPreTrainedModel:()=>Ca,DebertaForMaskedLM:()=>iT,DebertaForQuestionAnswering:()=>uT,DebertaForSequenceClassification:()=>lT,DebertaForTokenClassification:()=>cT,DebertaModel:()=>oT,DebertaPreTrainedModel:()=>gn,DebertaTokenizer:()=>mb,DebertaV2ForMaskedLM:()=>fT,DebertaV2ForQuestionAnswering:()=>gT,DebertaV2ForSequenceClassification:()=>mT,DebertaV2ForTokenClassification:()=>_T,DebertaV2Model:()=>hT,DebertaV2PreTrainedModel:()=>wn,DebertaV2Tokenizer:()=>fb,DecisionTransformerModel:()=>wT,DecisionTransformerPreTrainedModel:()=>Kh,DeepseekV3ForCausalLM:()=>pT,DeepseekV3Model:()=>dT,DeepseekV3PreTrainedModel:()=>Yi,DeiTFeatureExtractor:()=>xM,DeiTForImageClassification:()=>vT,DeiTImageProcessor:()=>mh,DeiTModel:()=>yT,DeiTPreTrainedModel:()=>Zi,DepthAnythingForDepthEstimation:()=>bT,DepthAnythingPreTrainedModel:()=>Qh,DepthEstimationPipeline:()=>RI,DepthProForDepthEstimation:()=>MT,DepthProPreTrainedModel:()=>Jh,DetrFeatureExtractor:()=>TM,DetrForObjectDetection:()=>TT,DetrForSegmentation:()=>ET,DetrImageProcessor:()=>_h,DetrModel:()=>xT,DetrObjectDetectionOutput:()=>el,DetrPreTrainedModel:()=>Aa,DetrSegmentationOutput:()=>Xh,Dinov2ForImageClassification:()=>CT,Dinov2Model:()=>kT,Dinov2PreTrainedModel:()=>tl,Dinov2WithRegistersForImageClassification:()=>ST,Dinov2WithRegistersModel:()=>AT,Dinov2WithRegistersPreTrainedModel:()=>rl,DistilBertForMaskedLM:()=>NT,DistilBertForQuestionAnswering:()=>FT,DistilBertForSequenceClassification:()=>OT,DistilBertForTokenClassification:()=>LT,DistilBertModel:()=>RT,DistilBertPreTrainedModel:()=>yn,DistilBertTokenizer:()=>_b,DocumentQuestionAnsweringPipeline:()=>II,DonutFeatureExtractor:()=>kM,DonutImageProcessor:()=>Si,DonutSwinModel:()=>DT,DonutSwinPreTrainedModel:()=>ef,DynamicCache:()=>Oh,EdgeTamModel:()=>WC,EfficientNetForImageClassification:()=>$T,EfficientNetImageProcessor:()=>AM,EfficientNetModel:()=>zT,EfficientNetPreTrainedModel:()=>sl,ElectraForMaskedLM:()=>GT,ElectraForQuestionAnswering:()=>qT,ElectraForSequenceClassification:()=>jT,ElectraForTokenClassification:()=>WT,ElectraModel:()=>VT,ElectraPreTrainedModel:()=>vn,ElectraTokenizer:()=>gb,EncodecFeatureExtractor:()=>ch,EosTokenCriteria:()=>qx,Ernie4_5ForCausalLM:()=>KT,Ernie4_5Model:()=>HT,Ernie4_5PretrainedModel:()=>al,EsmForMaskedLM:()=>JT,EsmForSequenceClassification:()=>XT,EsmForTokenClassification:()=>YT,EsmModel:()=>QT,EsmPreTrainedModel:()=>_s,EsmTokenizer:()=>wb,EuroBertForMaskedLM:()=>eE,EuroBertForSequenceClassification:()=>tE,EuroBertForTokenClassification:()=>rE,EuroBertModel:()=>ZT,EuroBertPreTrainedModel:()=>gs,ExaoneForCausalLM:()=>sE,ExaoneModel:()=>nE,ExaonePreTrainedModel:()=>ol,FalconForCausalLM:()=>oE,FalconH1ForCausalLM:()=>lE,FalconH1Model:()=>iE,FalconH1PreTrainedModel:()=>ll,FalconModel:()=>aE,FalconPreTrainedModel:()=>il,FalconTokenizer:()=>yb,FastViTForImageClassification:()=>uE,FastViTModel:()=>cE,FastViTPreTrainedModel:()=>cl,FeatureExtractionPipeline:()=>OI,FeatureExtractor:()=>ct,FillMaskPipeline:()=>mI,Florence2ForConditionalGeneration:()=>dE,Florence2PreTrainedModel:()=>tf,Florence2Processor:()=>sx,ForcedBOSTokenLogitsProcessor:()=>Ox,ForcedEOSTokenLogitsProcessor:()=>Lx,GLPNFeatureExtractor:()=>IM,GLPNForDepthEstimation:()=>TE,GLPNModel:()=>xE,GLPNPreTrainedModel:()=>vl,GPT2LMHeadModel:()=>LE,GPT2Model:()=>OE,GPT2PreTrainedModel:()=>El,GPT2Tokenizer:()=>Mb,GPTBigCodeForCausalLM:()=>kE,GPTBigCodeModel:()=>EE,GPTBigCodePreTrainedModel:()=>bl,GPTJForCausalLM:()=>NE,GPTJModel:()=>FE,GPTJPreTrainedModel:()=>kl,GPTNeoForCausalLM:()=>AE,GPTNeoModel:()=>CE,GPTNeoPreTrainedModel:()=>Ml,GPTNeoXForCausalLM:()=>IE,GPTNeoXModel:()=>SE,GPTNeoXPreTrainedModel:()=>xl,GPTNeoXTokenizer:()=>bb,Gemma2ForCausalLM:()=>mE,Gemma2Model:()=>fE,Gemma2PreTrainedModel:()=>dl,Gemma3ForCausalLM:()=>gE,Gemma3Model:()=>_E,Gemma3PreTrainedModel:()=>pl,Gemma3nAudioFeatureExtractor:()=>eM,Gemma3nForCausalLM:()=>nf,Gemma3nForConditionalGeneration:()=>hl,Gemma3nPreTrainedModel:()=>rf,Gemma3nProcessor:()=>ax,GemmaForCausalLM:()=>hE,GemmaModel:()=>pE,GemmaPreTrainedModel:()=>ul,GemmaTokenizer:()=>vb,Glm46VImageProcessor:()=>SM,Glm46VProcessor:()=>ox,GlmForCausalLM:()=>yE,GlmModel:()=>wE,GlmMoeDsaForCausalLM:()=>bE,GlmMoeDsaModel:()=>vE,GlmMoeDsaPreTrainedModel:()=>ml,GlmOcrForConditionalGeneration:()=>ME,GlmPreTrainedModel:()=>fl,GptOssForCausalLM:()=>RE,GptOssModel:()=>PE,GptOssPreTrainedModel:()=>Tl,GraniteForCausalLM:()=>BE,GraniteModel:()=>DE,GraniteMoeHybridForCausalLM:()=>zE,GraniteMoeHybridModel:()=>UE,GraniteMoeHybridPreTrainedModel:()=>Al,GranitePreTrainedModel:()=>Cl,GraniteSpeechFeatureExtractor:()=>tM,GraniteSpeechForConditionalGeneration:()=>$E,GraniteSpeechProcessor:()=>ix,GroundingDinoForObjectDetection:()=>VE,GroundingDinoImageProcessor:()=>PM,GroundingDinoPreTrainedModel:()=>of,GroundingDinoProcessor:()=>lx,GroupViTModel:()=>GE,GroupViTPreTrainedModel:()=>lf,HeliumForCausalLM:()=>WE,HeliumModel:()=>jE,HeliumPreTrainedModel:()=>Il,HerbertTokenizer:()=>xb,HieraForImageClassification:()=>HE,HieraModel:()=>qE,HieraPreTrainedModel:()=>Pl,HubertForCTC:()=>ek,HubertForSequenceClassification:()=>tk,HubertModel:()=>ZE,HubertPreTrainedModel:()=>YE,HunYuanDenseV1ForCausalLM:()=>nk,HunYuanDenseV1Model:()=>rk,HunYuanDenseV1PreTrainedModel:()=>Rl,IJepaForImageClassification:()=>lk,IJepaModel:()=>ik,IJepaPreTrainedModel:()=>Ol,Idefics3ForConditionalGeneration:()=>ok,Idefics3ImageProcessor:()=>Lp,Idefics3Processor:()=>Fp,ImageClassificationPipeline:()=>EI,ImageFeatureExtractionPipeline:()=>LI,ImageFeatureExtractor:()=>ue,ImageProcessor:()=>ue,ImageSegmentationPipeline:()=>Zf,ImageToImagePipeline:()=>PI,ImageToTextPipeline:()=>TI,InterruptableStoppingCriteria:()=>pU,JAISLMHeadModel:()=>uk,JAISModel:()=>ck,JAISPreTrainedModel:()=>Ll,JinaCLIPImageProcessor:()=>OM,JinaCLIPModel:()=>dk,JinaCLIPPreTrainedModel:()=>Sa,JinaCLIPProcessor:()=>ux,JinaCLIPTextModel:()=>uf,JinaCLIPVisionModel:()=>pk,Lfm2ForCausalLM:()=>fk,Lfm2Model:()=>hk,Lfm2MoeForCausalLM:()=>gk,Lfm2MoeModel:()=>_k,Lfm2MoePreTrainedModel:()=>Nl,Lfm2PreTrainedModel:()=>Fl,Lfm2VlForConditionalGeneration:()=>wk,Lfm2VlImageProcessor:()=>LM,Lfm2VlProcessor:()=>dx,LightOnOcrForConditionalGeneration:()=>mk,LiteWhisperForConditionalGeneration:()=>sS,Llama4ForCausalLM:()=>bk,Llama4PreTrainedModel:()=>df,LlamaForCausalLM:()=>vk,LlamaModel:()=>yk,LlamaPreTrainedModel:()=>Dl,LlamaTokenizer:()=>Tb,LlavaForConditionalGeneration:()=>gr,LlavaOnevisionForConditionalGeneration:()=>gr,LlavaOnevisionImageProcessor:()=>FM,LlavaPreTrainedModel:()=>cf,LlavaProcessor:()=>px,LlavaQwen2ForCausalLM:()=>ak,LogLevel:()=>Ft,LogitsProcessor:()=>Jt,LogitsProcessorList:()=>yi,LogitsWarper:()=>Li,LongT5ForConditionalGeneration:()=>xk,LongT5Model:()=>Mk,LongT5PreTrainedModel:()=>Bl,M2M100ForConditionalGeneration:()=>Ek,M2M100Model:()=>Tk,M2M100PreTrainedModel:()=>Ul,M2M100Tokenizer:()=>Eb,MBart50Tokenizer:()=>Cb,MBartForCausalLM:()=>Ok,MBartForConditionalGeneration:()=>Pk,MBartForSequenceClassification:()=>Rk,MBartModel:()=>Ik,MBartPreTrainedModel:()=>ws,MBartTokenizer:()=>oh,MPNetForMaskedLM:()=>y1,MPNetForQuestionAnswering:()=>M1,MPNetForSequenceClassification:()=>v1,MPNetForTokenClassification:()=>b1,MPNetModel:()=>w1,MPNetPreTrainedModel:()=>bn,MPNetTokenizer:()=>Ib,MT5ForConditionalGeneration:()=>k1,MT5Model:()=>E1,MT5PreTrainedModel:()=>Jl,MarianMTModel:()=>Ck,MarianModel:()=>kk,MarianPreTrainedModel:()=>zl,MarianTokenizer:()=>kb,Mask2FormerImageProcessor:()=>DM,MaskFormerFeatureExtractor:()=>NM,MaskFormerForInstanceSegmentation:()=>Sk,MaskFormerImageProcessor:()=>Ii,MaskFormerModel:()=>Ak,MaskFormerPreTrainedModel:()=>$l,MaxLengthCriteria:()=>Wx,Metric3DForDepthEstimation:()=>Lk,Metric3DPreTrainedModel:()=>pf,Metric3Dv2ForDepthEstimation:()=>Fk,Metric3Dv2PreTrainedModel:()=>hf,MgpstrForSceneTextRecognition:()=>Nk,MgpstrModelOutput:()=>ff,MgpstrPreTrainedModel:()=>mf,MgpstrProcessor:()=>hx,MgpstrTokenizer:()=>Ab,MimiDecoderModel:()=>yf,MimiDecoderOutput:()=>gf,MimiEncoderModel:()=>wf,MimiEncoderOutput:()=>_f,MimiModel:()=>Dk,MimiPreTrainedModel:()=>Ia,MinLengthLogitsProcessor:()=>Bx,MinNewTokensLengthLogitsProcessor:()=>Ux,Mistral4ForCausalLM:()=>$k,Mistral4Model:()=>zk,Mistral4PreTrainedModel:()=>Gl,MistralForCausalLM:()=>Uk,MistralModel:()=>Bk,MistralPreTrainedModel:()=>Vl,MobileBertForMaskedLM:()=>Gk,MobileBertForQuestionAnswering:()=>Wk,MobileBertForSequenceClassification:()=>jk,MobileBertModel:()=>Vk,MobileBertPreTrainedModel:()=>ys,MobileBertTokenizer:()=>Sb,MobileLLMForCausalLM:()=>Hk,MobileLLMModel:()=>qk,MobileLLMPreTrainedModel:()=>jl,MobileNetV1FeatureExtractor:()=>BM,MobileNetV1ForImageClassification:()=>Qk,MobileNetV1ForSemanticSegmentation:()=>Jk,MobileNetV1ImageProcessor:()=>yh,MobileNetV1Model:()=>Kk,MobileNetV1PreTrainedModel:()=>Pa,MobileNetV2FeatureExtractor:()=>UM,MobileNetV2ForImageClassification:()=>Yk,MobileNetV2ForSemanticSegmentation:()=>Zk,MobileNetV2ImageProcessor:()=>vh,MobileNetV2Model:()=>Xk,MobileNetV2PreTrainedModel:()=>Ra,MobileNetV3FeatureExtractor:()=>zM,MobileNetV3ForImageClassification:()=>t1,MobileNetV3ForSemanticSegmentation:()=>r1,MobileNetV3ImageProcessor:()=>bh,MobileNetV3Model:()=>e1,MobileNetV3PreTrainedModel:()=>Oa,MobileNetV4FeatureExtractor:()=>$M,MobileNetV4ForImageClassification:()=>s1,MobileNetV4ForSemanticSegmentation:()=>a1,MobileNetV4ImageProcessor:()=>Mh,MobileNetV4Model:()=>n1,MobileNetV4PreTrainedModel:()=>La,MobileViTFeatureExtractor:()=>VM,MobileViTForImageClassification:()=>i1,MobileViTImageProcessor:()=>xh,MobileViTModel:()=>o1,MobileViTPreTrainedModel:()=>Wl,MobileViTV2ForImageClassification:()=>c1,MobileViTV2Model:()=>l1,MobileViTV2PreTrainedModel:()=>ql,ModelRegistry:()=>az,ModernBertDecoderForCausalLM:()=>m1,ModernBertDecoderModel:()=>f1,ModernBertDecoderPreTrainedModel:()=>Hl,ModernBertForMaskedLM:()=>d1,ModernBertForSequenceClassification:()=>p1,ModernBertForTokenClassification:()=>h1,ModernBertModel:()=>u1,ModernBertPreTrainedModel:()=>vs,Moondream1ForConditionalGeneration:()=>sk,MoonshineFeatureExtractor:()=>rM,MoonshineForConditionalGeneration:()=>g1,MoonshineModel:()=>_1,MoonshinePreTrainedModel:()=>Kl,MoonshineProcessor:()=>fx,MptForCausalLM:()=>T1,MptModel:()=>x1,MptPreTrainedModel:()=>Ql,MultiModalityCausalLM:()=>C1,MultiModalityPreTrainedModel:()=>vf,MusicgenForCausalLM:()=>S1,MusicgenForConditionalGeneration:()=>bf,MusicgenModel:()=>A1,MusicgenPreTrainedModel:()=>Xl,NanoChatForCausalLM:()=>P1,NanoChatModel:()=>I1,NanoChatPreTrainedModel:()=>Yl,NemotronHForCausalLM:()=>O1,NemotronHModel:()=>R1,NemotronHPreTrainedModel:()=>Zl,NeoBertForMaskedLM:()=>F1,NeoBertForQuestionAnswering:()=>B1,NeoBertForSequenceClassification:()=>N1,NeoBertForTokenClassification:()=>D1,NeoBertModel:()=>L1,NeoBertPreTrainedModel:()=>Mn,NllbTokenizer:()=>Pb,NoBadWordsLogitsProcessor:()=>zx,NoRepeatNGramLogitsProcessor:()=>Nx,NomicBertModel:()=>U1,NomicBertPreTrainedModel:()=>Mf,NougatImageProcessor:()=>GM,NougatTokenizer:()=>Rb,OPTForCausalLM:()=>X1,OPTModel:()=>J1,OPTPreTrainedModel:()=>ac,ObjectDetectionPipeline:()=>AI,Olmo2ForCausalLM:()=>G1,Olmo2Model:()=>V1,Olmo2PreTrainedModel:()=>tc,Olmo3ForCausalLM:()=>W1,Olmo3Model:()=>j1,Olmo3PreTrainedModel:()=>rc,OlmoForCausalLM:()=>$1,OlmoHybridForCausalLM:()=>H1,OlmoHybridModel:()=>q1,OlmoHybridPreTrainedModel:()=>nc,OlmoModel:()=>z1,OlmoPreTrainedModel:()=>ec,OpenELMForCausalLM:()=>Q1,OpenELMModel:()=>K1,OpenELMPreTrainedModel:()=>sc,OwlViTFeatureExtractor:()=>jM,OwlViTForObjectDetection:()=>tC,OwlViTImageProcessor:()=>Pi,OwlViTModel:()=>eC,OwlViTPreTrainedModel:()=>ic,OwlViTProcessor:()=>mx,Owlv2ForObjectDetection:()=>Z1,Owlv2ImageProcessor:()=>WM,Owlv2Model:()=>Y1,Owlv2PreTrainedModel:()=>oc,PaliGemmaForConditionalGeneration:()=>rC,PaliGemmaProcessor:()=>_x,ParakeetFeatureExtractor:()=>nM,ParakeetForCTC:()=>nC,ParakeetPreTrainedModel:()=>xf,PatchTSMixerForPrediction:()=>aC,PatchTSMixerModel:()=>sC,PatchTSMixerPreTrainedModel:()=>lc,PatchTSTForPrediction:()=>iC,PatchTSTModel:()=>oC,PatchTSTPreTrainedModel:()=>cc,Phi3ForCausalLM:()=>dC,Phi3Model:()=>uC,Phi3PreTrainedModel:()=>dc,Phi3VForCausalLM:()=>Ef,Phi3VImageProcessor:()=>qM,Phi3VPreTrainedModel:()=>Tf,Phi3VProcessor:()=>gx,PhiForCausalLM:()=>cC,PhiModel:()=>lC,PhiPreTrainedModel:()=>uc,PixtralImageProcessor:()=>HM,PixtralProcessor:()=>wx,PreTrainedModel:()=>I,PreTrainedTokenizer:()=>le,PretrainedConfig:()=>wi,Processor:()=>Se,PvtForImageClassification:()=>hC,PvtImageProcessor:()=>KM,PvtModel:()=>pC,PvtPreTrainedModel:()=>pc,PyAnnoteFeatureExtractor:()=>dh,PyAnnoteForAudioFrameClassification:()=>mC,PyAnnoteModel:()=>fC,PyAnnotePreTrainedModel:()=>hc,PyAnnoteProcessor:()=>yx,QuestionAnsweringPipeline:()=>fI,Qwen2ForCausalLM:()=>gC,Qwen2Model:()=>_C,Qwen2MoeForCausalLM:()=>yC,Qwen2MoeModel:()=>wC,Qwen2MoePreTrainedModel:()=>mc,Qwen2PreTrainedModel:()=>fc,Qwen2Tokenizer:()=>Ob,Qwen2VLForCausalLM:()=>gl,Qwen2VLForConditionalGeneration:()=>_l,Qwen2VLImageProcessor:()=>wh,Qwen2VLPreTrainedModel:()=>sf,Qwen2VLProcessor:()=>Ri,Qwen2_5_VLForCausalLM:()=>yl,Qwen2_5_VLForConditionalGeneration:()=>wl,Qwen2_5_VLProcessor:()=>Ah,Qwen3ForCausalLM:()=>bC,Qwen3Model:()=>vC,Qwen3MoeForCausalLM:()=>xC,Qwen3MoeModel:()=>MC,Qwen3MoePreTrainedModel:()=>gc,Qwen3NextForCausalLM:()=>EC,Qwen3NextModel:()=>TC,Qwen3NextPreTrainedModel:()=>wc,Qwen3PreTrainedModel:()=>_c,Qwen3VLForCausalLM:()=>vc,Qwen3VLForConditionalGeneration:()=>yc,Qwen3VLMoeForCausalLM:()=>kf,Qwen3VLMoeForConditionalGeneration:()=>kC,Qwen3VLProcessor:()=>vx,Qwen3_5ForCausalLM:()=>Mc,Qwen3_5ForConditionalGeneration:()=>bc,Qwen3_5MoeForCausalLM:()=>Cf,Qwen3_5MoeForConditionalGeneration:()=>CC,RFDetrForObjectDetection:()=>PC,RFDetrModel:()=>IC,RFDetrObjectDetectionOutput:()=>Af,RFDetrPreTrainedModel:()=>Tc,RTDetrForObjectDetection:()=>rT,RTDetrImageProcessor:()=>QM,RTDetrModel:()=>tT,RTDetrObjectDetectionOutput:()=>ms,RTDetrPreTrainedModel:()=>Ji,RTDetrV2ForObjectDetection:()=>GC,RTDetrV2Model:()=>VC,RTDetrV2ObjectDetectionOutput:()=>Sf,RTDetrV2PreTrainedModel:()=>Ec,RawAudio:()=>Jb,RawImage:()=>Mt,RawVideo:()=>zI,RawVideoFrame:()=>em,RepetitionPenaltyLogitsProcessor:()=>Dx,ResNetForImageClassification:()=>SC,ResNetModel:()=>AC,ResNetPreTrainedModel:()=>xc,RoFormerForMaskedLM:()=>BC,RoFormerForQuestionAnswering:()=>$C,RoFormerForSequenceClassification:()=>UC,RoFormerForTokenClassification:()=>zC,RoFormerModel:()=>DC,RoFormerPreTrainedModel:()=>Tn,RoFormerTokenizer:()=>Fb,RobertaForMaskedLM:()=>OC,RobertaForQuestionAnswering:()=>NC,RobertaForSequenceClassification:()=>LC,RobertaForTokenClassification:()=>FC,RobertaModel:()=>RC,RobertaPreTrainedModel:()=>xn,RobertaTokenizer:()=>Lb,Sam2ImageProcessor:()=>ii,Sam2ImageSegmentationOutput:()=>Rf,Sam2Model:()=>kc,Sam2PreTrainedModel:()=>Of,Sam2Processor:()=>Ih,Sam2VideoProcessor:()=>bx,Sam3ImageProcessor:()=>ii,Sam3TrackerModel:()=>qC,SamImageProcessor:()=>ii,SamImageSegmentationOutput:()=>If,SamModel:()=>jC,SamPreTrainedModel:()=>Pf,SamProcessor:()=>Sh,SapiensFeatureExtractor:()=>JM,SapiensForDepthEstimation:()=>KC,SapiensForNormalEstimation:()=>QC,SapiensForSemanticSegmentation:()=>HC,SapiensImageProcessor:()=>Th,SapiensPreTrainedModel:()=>Fa,SeamlessM4TFeatureExtractor:()=>sM,SegformerFeatureExtractor:()=>XM,SegformerForImageClassification:()=>XC,SegformerForSemanticSegmentation:()=>YC,SegformerImageProcessor:()=>Eh,SegformerModel:()=>JC,SegformerPreTrainedModel:()=>Na,SiglipImageProcessor:()=>YM,SiglipModel:()=>ZC,SiglipPreTrainedModel:()=>Cc,SiglipTextModel:()=>Lf,SiglipTokenizer:()=>Nb,SiglipVisionModel:()=>eA,SmolLM3ForCausalLM:()=>rA,SmolLM3Model:()=>tA,SmolLM3PreTrainedModel:()=>Ac,SmolVLMImageProcessor:()=>Lp,SmolVLMProcessor:()=>Fp,SnacDecoderModel:()=>Nf,SnacEncoderModel:()=>Ff,SnacFeatureExtractor:()=>aM,SnacModel:()=>nA,SnacPreTrainedModel:()=>Da,SolarOpenForCausalLM:()=>aA,SolarOpenModel:()=>sA,SolarOpenPreTrainedModel:()=>Sc,SpeechT5FeatureExtractor:()=>oM,SpeechT5ForSpeechToText:()=>iA,SpeechT5ForTextToSpeech:()=>lA,SpeechT5HifiGan:()=>cA,SpeechT5Model:()=>oA,SpeechT5PreTrainedModel:()=>Ba,SpeechT5Processor:()=>Mx,SpeechT5Tokenizer:()=>Db,SqueezeBertForMaskedLM:()=>dA,SqueezeBertForQuestionAnswering:()=>hA,SqueezeBertForSequenceClassification:()=>pA,SqueezeBertModel:()=>uA,SqueezeBertPreTrainedModel:()=>bs,SqueezeBertTokenizer:()=>Bb,StableLmForCausalLM:()=>mA,StableLmModel:()=>fA,StableLmPreTrainedModel:()=>Ic,Starcoder2ForCausalLM:()=>gA,Starcoder2Model:()=>_A,Starcoder2PreTrainedModel:()=>Pc,StoppingCriteria:()=>hs,StoppingCriteriaList:()=>Rh,StyleTextToSpeech2Model:()=>wA,StyleTextToSpeech2PreTrainedModel:()=>Df,SummarizationPipeline:()=>_I,SupertonicForConditionalGeneration:()=>Uf,SupertonicPreTrainedModel:()=>Bf,SuppressTokensAtBeginLogitsProcessor:()=>Ph,Swin2SRForImageSuperResolution:()=>xA,Swin2SRImageProcessor:()=>ZM,Swin2SRModel:()=>MA,Swin2SRPreTrainedModel:()=>Rc,SwinForImageClassification:()=>vA,SwinForSemanticSegmentation:()=>bA,SwinModel:()=>yA,SwinPreTrainedModel:()=>Ua,T5ForConditionalGeneration:()=>EA,T5Model:()=>TA,T5PreTrainedModel:()=>Oc,T5Tokenizer:()=>Ub,TableTransformerForObjectDetection:()=>CA,TableTransformerModel:()=>kA,TableTransformerObjectDetectionOutput:()=>zf,TableTransformerPreTrainedModel:()=>Lc,TemperatureLogitsWarper:()=>Vx,Tensor:()=>W,Text2TextGenerationPipeline:()=>$c,TextClassificationPipeline:()=>pI,TextGenerationPipeline:()=>wI,TextStreamer:()=>UI,TextToAudioPipeline:()=>xI,TokenClassificationPipeline:()=>hI,TokenizersBackend:()=>le,TopKLogitsWarper:()=>dU,TopPLogitsWarper:()=>uU,TrOCRForCausalLM:()=>AA,TrOCRPreTrainedModel:()=>$f,TranslationPipeline:()=>gI,UltravoxModel:()=>Sl,UltravoxPreTrainedModel:()=>af,UltravoxProcessor:()=>xx,UniSpeechForCTC:()=>IA,UniSpeechForSequenceClassification:()=>PA,UniSpeechModel:()=>SA,UniSpeechPreTrainedModel:()=>za,UniSpeechSatForAudioFrameClassification:()=>FA,UniSpeechSatForCTC:()=>OA,UniSpeechSatForSequenceClassification:()=>LA,UniSpeechSatModel:()=>RA,UniSpeechSatPreTrainedModel:()=>Ms,VLChatProcessor:()=>cx,VLMImageProcessor:()=>RM,VaultGemmaForCausalLM:()=>DA,VaultGemmaModel:()=>NA,VaultGemmaPreTrainedModel:()=>Fc,ViTFeatureExtractor:()=>ex,ViTForImageClassification:()=>zA,ViTImageProcessor:()=>kh,ViTMAEModel:()=>$A,ViTMAEPreTrainedModel:()=>Vf,ViTMSNForImageClassification:()=>GA,ViTMSNModel:()=>VA,ViTMSNPreTrainedModel:()=>Dc,ViTModel:()=>UA,ViTPreTrainedModel:()=>Nc,VisionEncoderDecoderModel:()=>BA,VitMatteForImageMatting:()=>jA,VitMatteImageProcessor:()=>tx,VitMattePreTrainedModel:()=>Gf,VitPoseForPoseEstimation:()=>WA,VitPoseImageProcessor:()=>rx,VitPosePreTrainedModel:()=>jf,VitsModel:()=>qA,VitsModelOutput:()=>Wf,VitsPreTrainedModel:()=>qf,VitsTokenizer:()=>zb,VoxtralForConditionalGeneration:()=>HA,VoxtralProcessor:()=>Tx,VoxtralRealtimeFeatureExtractor:()=>cM,VoxtralRealtimeForConditionalGeneration:()=>Kf,VoxtralRealtimePreTrainedModel:()=>Hf,VoxtralRealtimeProcessor:()=>Ex,Wav2Vec2BertForCTC:()=>QA,Wav2Vec2BertForSequenceClassification:()=>JA,Wav2Vec2BertModel:()=>KA,Wav2Vec2BertPreTrainedModel:()=>$a,Wav2Vec2CTCTokenizer:()=>$b,Wav2Vec2FeatureExtractor:()=>iM,Wav2Vec2ForAudioFrameClassification:()=>XE,Wav2Vec2ForCTC:()=>QE,Wav2Vec2ForSequenceClassification:()=>JE,Wav2Vec2Model:()=>KE,Wav2Vec2PreTrainedModel:()=>Mr,Wav2Vec2Processor:()=>kx,Wav2Vec2ProcessorWithLM:()=>Cx,WavLMForAudioFrameClassification:()=>tS,WavLMForCTC:()=>YA,WavLMForSequenceClassification:()=>ZA,WavLMForXVector:()=>eS,WavLMModel:()=>XA,WavLMPreTrainedModel:()=>En,WeSpeakerFeatureExtractor:()=>lM,WeSpeakerResNetModel:()=>rS,WeSpeakerResNetPreTrainedModel:()=>Jf,WhisperFeatureExtractor:()=>uM,WhisperForConditionalGeneration:()=>Xf,WhisperModel:()=>nS,WhisperPreTrainedModel:()=>Bc,WhisperProcessor:()=>Ax,WhisperTextStreamer:()=>XU,WhisperTimeStampLogitsProcessor:()=>Fx,WhisperTokenizer:()=>Gb,XLMForQuestionAnswering:()=>cS,XLMForSequenceClassification:()=>iS,XLMForTokenClassification:()=>lS,XLMModel:()=>aS,XLMPreTrainedModel:()=>kn,XLMRobertaForMaskedLM:()=>dS,XLMRobertaForQuestionAnswering:()=>fS,XLMRobertaForSequenceClassification:()=>pS,XLMRobertaForTokenClassification:()=>hS,XLMRobertaModel:()=>uS,XLMRobertaPreTrainedModel:()=>Cn,XLMRobertaTokenizer:()=>jb,XLMTokenizer:()=>Wb,XLMWithLMHeadModel:()=>oS,XVectorOutput:()=>Qf,YolosFeatureExtractor:()=>nx,YolosForObjectDetection:()=>_S,YolosImageProcessor:()=>Ch,YolosModel:()=>mS,YolosObjectDetectionOutput:()=>Yf,YolosPreTrainedModel:()=>Uc,YoutuForCausalLM:()=>wS,YoutuModel:()=>gS,YoutuPreTrainedModel:()=>zc,ZeroShotAudioClassificationPipeline:()=>bI,ZeroShotClassificationPipeline:()=>yI,ZeroShotImageClassificationPipeline:()=>CI,ZeroShotObjectDetectionPipeline:()=>SI,cat:()=>Fe,cos_sim:()=>GD,dot:()=>Dv,env:()=>ge,full:()=>lt,full_like:()=>_i,interpolate:()=>Xp,interpolate_4d:()=>Nt,layer_norm:()=>lB,load_image:()=>NB,load_video:()=>YU,log_softmax:()=>Nv,matmul:()=>Qv,mean:()=>ki,mean_pooling:()=>Jv,ones:()=>xt,ones_like:()=>th,permute:()=>Kv,pipeline:()=>QU,quantize_embeddings:()=>Yv,rand:()=>cB,randn:()=>Xv,random:()=>ba,read_audio:()=>Hb,rfft:()=>iB,slice:()=>Yp,softmax:()=>rt,stack:()=>Fr,std_mean:()=>Zp,topk:()=>pn,zeros:()=>rh,zeros_like:()=>nh});function vv(e){return Object.keys(e).length===0}function cn(e,t){e&&e(t)}function _L(e){return Number.isInteger(e)||typeof e=="bigint"}function My(e){return e==null||e===-1}function xy(e){let t=[],r=e;for(;Array.isArray(r);)t.push(r.length),r=r[0];return t}function jt(...e){return Array.prototype.concat.apply([],e)}function gL(...e){return e.reduce((t,r)=>t.flatMap(n=>r.map(s=>[n,s])))}function pi(e,t){return Math.abs((e+t)%(2*t)-t)}function ot(e,t){return Object.assign({},...t.map(r=>{if(e[r]!==void 0)return{[r]:e[r]}}))}function wL(e,t){let r=0;for(let n of e)n===t&&++r;return r}function oF(e){if(e===null)return null;switch(e.type){case"BertNormalizer":return new NL(e);case"Precompiled":return new BL(e);case"Sequence":return new zL(e);case"Replace":return new VL(e);case"NFC":return new WL(e);case"NFD":return new HL(e);case"NFKC":return new QL(e);case"NFKD":return new XL(e);case"Strip":return new ZL(e);case"StripAccents":return new tF(e);case"Lowercase":return new nF(e);case"Prepend":return new aF(e);default:throw new Error(`Unknown Normalizer type: ${e.type}`)}}function IF(e){if(e===null)return null;switch(e.type){case"BertPreTokenizer":return new bF;case"Sequence":return new EF(e);case"Whitespace":return new dF;case"WhitespaceSplit":return new CF;case"Metaspace":return new hF(e);case"ByteLevel":return new cF(e);case"Split":return new mF(e);case"Punctuation":return new gF(e);case"Digits":return new yF(e);case"Replace":return new xF(e);case"FixedLength":return new SF(e);default:throw new Error(`Unknown PreTokenizer type: ${e.type}`)}}function DF(e){if(e.length===0)throw new Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]<t&&(t=e[n],r=n);return[t,r]}function qF(e,t){switch(e.type){case"WordPiece":return new Cy(e);case"Unigram":return new Sy(e,t.eos_token);case"BPE":return new Iy(e);default:if(e.vocab)return Array.isArray(e.vocab)?new Sy(e,t.eos_token):Object.hasOwn(e,"continuing_subword_prefix")&&Object.hasOwn(e,"unk_token")?Object.hasOwn(e,"merges")?new Iy(e):new Cy(e):new WF(e,{target_lang:t.target_lang,bos_token:t.bos_token,eos_token:t.eos_token,pad_token:t.pad_token,unk_token:t.unk_token});throw new Error(`Unknown TokenizerModel type: ${e?.type}`)}}function aN(e){if(e===null)return null;switch(e.type){case"TemplateProcessing":return new JF(e);case"ByteLevel":return new YF(e);case"BertProcessing":return new eN(e);case"RobertaProcessing":return new rN(e);case"Sequence":return new sN(e);default:throw new Error(`Unknown PostProcessor type: ${e.type}`)}}function CN(e){if(e===null)return null;switch(e.type){case"ByteLevel":return new lN(e);case"WordPiece":return new uN(e);case"Metaspace":return new pN(e);case"BPEDecoder":return new fN(e);case"CTC":return new _N(e);case"Sequence":return new wN(e);case"Replace":return new vN(e);case"Fuse":return new MN(e);case"Strip":return new TN(e);case"ByteFallback":return new kN(e);default:throw new Error(`Unknown Decoder type: ${e.type}`)}}function Py(e){return/\w/.test(e)}function Js(e){return/[0-9]/.test(e)}function Ry(e){return/\s/.test(e)}function RN(e,t={}){return e.endsWith(`
|
|
5
|
-
`)&&(e=e.slice(0,-1)),t.lstrip_blocks&&(e=e.replace(/^[ \t]*({[#%-])/gm,"$1")),t.trim_blocks&&(e=e.replace(/([#%-]})\n/g,"$1")),e.replace(/{%\s*(end)?generation\s*%}/gs,"")}function ON(e,t={}){let r=[],n=RN(e,t),s=0,a=0,o=c=>{let u="";for(;c(n[s]);){if(n[s]==="\\"){if(++s,s>=n.length)throw new SyntaxError("Unexpected end of input");let p=n[s++],f=PN.get(p);if(f===void 0)throw new SyntaxError(`Unexpected escaped character: ${p}`);u+=f;continue}if(u+=n[s++],s>=n.length)throw new SyntaxError("Unexpected end of input")}return u},i=()=>{let c=r.at(-1);c&&c.type===B.Text&&(c.value=c.value.trimEnd(),c.value===""&&r.pop())},l=()=>{for(;s<n.length&&Ry(n[s]);)++s};e:for(;s<n.length;){let c=r.at(-1)?.type;if(c===void 0||c===B.CloseStatement||c===B.CloseExpression||c===B.Comment){let p="";for(;s<n.length&&!(n[s]==="{"&&(n[s+1]==="%"||n[s+1]==="{"||n[s+1]==="#"));)p+=n[s++];if(p.length>0){r.push(new Ot(p,B.Text));continue}}if(n[s]==="{"&&n[s+1]==="#"){s+=2;let p=n[s]==="-";p&&++s;let f="";for(;n[s]!=="#"||n[s+1]!=="}";){if(s+2>=n.length)throw new SyntaxError("Missing end of comment tag");f+=n[s++]}let m=f.endsWith("-");m&&(f=f.slice(0,-1)),p&&i(),r.push(new Ot(f,B.Comment)),s+=2,m&&l();continue}if(n.slice(s,s+3)==="{%-"){i(),r.push(new Ot("{%",B.OpenStatement)),s+=3;continue}if(n.slice(s,s+3)==="{{-"){i(),r.push(new Ot("{{",B.OpenExpression)),a=0,s+=3;continue}if(o(Ry),n.slice(s,s+3)==="-%}"){r.push(new Ot("%}",B.CloseStatement)),s+=3,l();continue}if(n.slice(s,s+3)==="-}}"){r.push(new Ot("}}",B.CloseExpression)),s+=3,l();continue}let u=n[s];if(u==="-"||u==="+"){let p=r.at(-1)?.type;if(p===B.Text||p===void 0)throw new SyntaxError(`Unexpected character: ${u}`);switch(p){case B.Identifier:case B.NumericLiteral:case B.StringLiteral:case B.CloseParen:case B.CloseSquareBracket:break;default:{++s;let f=o(Js);r.push(new Ot(`${u}${f}`,f.length>0?B.NumericLiteral:B.UnaryOperator));continue}}}for(let[p,f]of IN){if(p==="}}"&&a>0)continue;if(n.slice(s,s+p.length)===p){r.push(new Ot(p,f)),f===B.OpenExpression?a=0:f===B.OpenCurlyBracket?++a:f===B.CloseCurlyBracket&&--a,s+=p.length;continue e}}if(u==="'"||u==='"'){++s;let p=o(f=>f!==u);r.push(new Ot(p,B.StringLiteral)),++s;continue}if(Js(u)){let p=o(Js);if(n[s]==="."&&Js(n[s+1])){++s;let f=o(Js);p=`${p}.${f}`}r.push(new Ot(p,B.NumericLiteral));continue}if(Py(u)){let p=o(Py);r.push(new Ot(p,B.Identifier));continue}throw new SyntaxError(`Unexpected character: ${u}`)}return r}function nD(e){let t=new LN([]),r=0;function n(F,N){let z=e[r++];if(!z||z.type!==F)throw new Error(`Parser Error: ${N}. ${z.type} !== ${F}.`);return z}function s(F){if(!l(F))throw new SyntaxError(`Expected ${F}`);++r}function a(){switch(e[r].type){case B.Comment:return new $N(e[r++].value);case B.Text:return c();case B.OpenStatement:return u();case B.OpenExpression:return p();default:throw new SyntaxError(`Unexpected token type: ${e[r].type}`)}}function o(...F){return r+F.length<=e.length&&F.every((N,z)=>N===e[r+z].type)}function i(...F){return e[r]?.type===B.OpenStatement&&e[r+1]?.type===B.Identifier&&F.includes(e[r+1]?.value)}function l(...F){return r+F.length<=e.length&&F.every((N,z)=>e[r+z].type==="Identifier"&&N===e[r+z].value)}function c(){return new Ly(n(B.Text,"Expected text token").value)}function u(){if(n(B.OpenStatement,"Expected opening statement token"),e[r].type!==B.Identifier)throw new SyntaxError(`Unknown statement, got ${e[r].type}`);let F=e[r].value,N;switch(F){case"set":++r,N=f();break;case"if":++r,N=m(),n(B.OpenStatement,"Expected {% token"),s("endif"),n(B.CloseStatement,"Expected %} token");break;case"macro":++r,N=y(),n(B.OpenStatement,"Expected {% token"),s("endmacro"),n(B.CloseStatement,"Expected %} token");break;case"for":++r,N=x(),n(B.OpenStatement,"Expected {% token"),s("endfor"),n(B.CloseStatement,"Expected %} token");break;case"call":{++r;let z=null;o(B.OpenParen)&&(z=V());let Y=ie();if(Y.type!=="Identifier")throw new SyntaxError("Expected identifier following call statement");let fe=V();n(B.CloseStatement,"Expected closing statement token");let H=[];for(;!i("endcall");)H.push(a());n(B.OpenStatement,"Expected '{%'"),s("endcall"),n(B.CloseStatement,"Expected closing statement token");let Ne=new Oy(Y,fe);N=new tD(Ne,z,H);break}case"break":++r,n(B.CloseStatement,"Expected closing statement token"),N=new DN;break;case"continue":++r,n(B.CloseStatement,"Expected closing statement token"),N=new BN;break;case"filter":{++r;let z=ie();z instanceof Qn&&o(B.OpenParen)&&(z=$(z)),n(B.CloseStatement,"Expected closing statement token");let Y=[];for(;!i("endfilter");)Y.push(a());n(B.OpenStatement,"Expected '{%'"),s("endfilter"),n(B.CloseStatement,"Expected '%}'"),N=new KN(z,Y);break}default:throw new SyntaxError(`Unknown statement type: ${F}`)}return N}function p(){n(B.OpenExpression,"Expected opening expression token");let F=M();return n(B.CloseExpression,"Expected closing expression token"),F}function f(){let F=v(),N=null,z=[];if(o(B.Equals))++r,N=v();else{for(n(B.CloseStatement,"Expected %} token");!i("endset");)z.push(a());n(B.OpenStatement,"Expected {% token"),s("endset")}return n(B.CloseStatement,"Expected closing statement token"),new UN(F,N,z)}function m(){let F=M();n(B.CloseStatement,"Expected closing statement token");let N=[],z=[];for(;!i("elif","else","endif");)N.push(a());if(i("elif")){++r,++r;let Y=m();z.push(Y)}else if(i("else"))for(++r,++r,n(B.CloseStatement,"Expected closing statement token");!i("endif");)z.push(a());return new FN(F,N,z)}function y(){let F=ie();if(F.type!=="Identifier")throw new SyntaxError("Expected identifier following macro statement");let N=V();n(B.CloseStatement,"Expected closing statement token");let z=[];for(;!i("endmacro");)z.push(a());return new zN(F,N,z)}function v(F=!1){let N=F?ie:M,z=[N()],Y=o(B.Comma);for(;Y&&(++r,z.push(N()),!!o(B.Comma)););return Y?new Fy(z):z[0]}function x(){let F=v(!0);if(!(F instanceof Qn||F instanceof Fy))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${F.type} instead`);if(!l("in"))throw new SyntaxError("Expected `in` keyword following loop variable");++r;let N=M();n(B.CloseStatement,"Expected closing statement token");let z=[];for(;!i("endfor","else");)z.push(a());let Y=[];if(i("else"))for(++r,++r,n(B.CloseStatement,"Expected closing statement token");!i("endfor");)Y.push(a());return new NN(F,N,z,Y)}function M(){return T()}function T(){let F=A();if(l("if")){++r;let N=A();if(l("else")){++r;let z=T();return new rD(N,F,z)}else return new QN(F,N)}return F}function A(){let F=C();for(;l("or");){let N=e[r];++r;let z=C();F=new Xs(N,F,z)}return F}function C(){let F=S();for(;l("and");){let N=e[r];++r;let z=S();F=new Xs(N,F,z)}return F}function S(){let F;for(;l("not");){let N=e[r];++r;let z=S();F=new XN(N,z)}return F??O()}function O(){let F=E();for(;;){let N;if(l("not","in"))N=new Ot("not in",B.Identifier),r+=2;else if(l("in"))N=e[r++];else if(o(B.ComparisonBinaryOperator))N=e[r++];else break;let z=E();F=new Xs(N,F,z)}return F}function E(){let F=D();for(;o(B.AdditiveBinaryOperator);){let N=e[r];++r;let z=D();F=new Xs(N,F,z)}return F}function K(){let F=q(ie());return o(B.OpenParen)?$(F):F}function $(F){let N=new Oy(F,V());return N=q(N),o(B.OpenParen)&&(N=$(N)),N}function V(){n(B.OpenParen,"Expected opening parenthesis for arguments list");let F=Q();return n(B.CloseParen,"Expected closing parenthesis for arguments list"),F}function Q(){let F=[];for(;!o(B.CloseParen);){let N;if(e[r].type===B.MultiplicativeBinaryOperator&&e[r].value==="*"){++r;let z=M();N=new eD(z)}else if(N=M(),o(B.Equals)){if(++r,!(N instanceof Qn))throw new SyntaxError("Expected identifier for keyword argument");let z=M();N=new ZN(N,z)}F.push(N),o(B.Comma)&&++r}return F}function G(){let F=[],N=!1;for(;!o(B.CloseSquareBracket);)o(B.Colon)?(F.push(void 0),++r,N=!0):(F.push(M()),o(B.Colon)&&(++r,N=!0));if(F.length===0)throw new SyntaxError("Expected at least one argument for member/slice expression");if(N){if(F.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new YN(...F)}return F[0]}function q(F){for(;o(B.Dot)||o(B.OpenSquareBracket);){let N=e[r];++r;let z,Y=N.type===B.OpenSquareBracket;if(Y)z=G(),n(B.CloseSquareBracket,"Expected closing square bracket");else if(z=ie(),z.type!=="Identifier")throw new SyntaxError("Expected identifier following dot operator");F=new VN(F,z,Y)}return F}function D(){let F=R();for(;o(B.MultiplicativeBinaryOperator);){let N=e[r++],z=R();F=new Xs(N,F,z)}return F}function R(){let F=re();for(;l("is");){++r;let N=l("not");N&&++r;let z=ie();if(!(z instanceof Qn))throw new SyntaxError("Expected identifier for the test");F=new JN(F,N,z)}return F}function re(){let F=K();for(;o(B.Pipe);){++r;let N=ie();if(!(N instanceof Qn))throw new SyntaxError("Expected identifier for the filter");o(B.OpenParen)&&(N=$(N)),F=new HN(F,N)}return F}function ie(){let F=e[r++];switch(F.type){case B.NumericLiteral:{let N=F.value;return N.includes(".")?new jN(Number(N)):new GN(Number(N))}case B.StringLiteral:{let N=F.value;for(;o(B.StringLiteral);)N+=e[r++].value;return new Ly(N)}case B.Identifier:return new Qn(F.value);case B.OpenParen:{let N=v();return n(B.CloseParen,"Expected closing parenthesis, got ${tokens[current].type} instead."),N}case B.OpenSquareBracket:{let N=[];for(;!o(B.CloseSquareBracket);)N.push(M()),o(B.Comma)&&++r;return++r,new WN(N)}case B.OpenCurlyBracket:{let N=new Map;for(;!o(B.CloseCurlyBracket);){let z=M();n(B.Colon,"Expected colon between key and value in object literal");let Y=M();N.set(z,Y),o(B.Comma)&&++r}return++r,new qN(N)}default:throw new SyntaxError(`Unexpected token: ${F.type}`)}}for(;r<e.length;)t.body.push(a());return t}function sD(e,t,r=1){if(t===void 0&&(t=e,e=0),r===0)throw new Error("range() step must not be zero");let n=[];if(r>0)for(let s=e;s<t;s+=r)n.push(s);else for(let s=e;s>t;s+=r)n.push(s);return n}function Ny(e,t,r,n=1){let s=Math.sign(n);s>=0?(t=(t??(t=0))<0?Math.max(e.length+t,0):Math.min(t,e.length),r=(r??(r=e.length))<0?Math.max(e.length+r,0):Math.min(r,e.length)):(t=(t??(t=e.length-1))<0?Math.max(e.length+t,-1):Math.min(t,e.length-1),r=(r??(r=-1))<-1?Math.max(e.length+r,-1):Math.min(r,e.length-1));let a=[];for(let o=t;s*o<s*r;o+=n)a.push(e[o]);return a}function aD(e){return e.replace(/\b\w/g,t=>t.toUpperCase())}function oD(e){return iD(new Date,e)}function iD(e,t){let r=new Intl.DateTimeFormat(void 0,{month:"long"}),n=new Intl.DateTimeFormat(void 0,{month:"short"}),s=a=>a<10?"0"+a:a.toString();return t.replace(/%[YmdbBHM%]/g,a=>{switch(a){case"%Y":return e.getFullYear().toString();case"%m":return s(e.getMonth()+1);case"%d":return s(e.getDate());case"%b":return n.format(e);case"%B":return r.format(e);case"%H":return s(e.getHours());case"%M":return s(e.getMinutes());case"%%":return"%";default:return a}})}function lD(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cD(e,t,r,n){if(n===0)return e;let s=n==null||n<0?1/0:n,a=t.length===0?new RegExp("(?=)","gu"):new RegExp(lD(t),"gu");return e.replaceAll(a,o=>s>0?(--s,r):o)}function Uy(e){return e.replace(uD,t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"))}function un(e,t={},r=0,n=!0){let{indent:s=null,ensureAscii:a=!1,separators:o=null,sortKeys:i=!1}=t,l,c;switch(o?[l,c]=o:s?(l=",",c=": "):(l=", ",c=": "),e.type){case"NullValue":return"null";case"UndefinedValue":return n?"null":"undefined";case"IntegerValue":case"FloatValue":case"BooleanValue":return JSON.stringify(e.value);case"StringValue":{let u=JSON.stringify(e.value);return a&&(u=Uy(u)),u}case"ArrayValue":case"ObjectValue":{let u=s?" ".repeat(s):"",p=`
|
|
6
|
-
`+u.repeat(r),f=p+u;if(e.type==="ArrayValue"){let m=e.value.map(y=>un(y,t,r+1,n));return s?`[${f}${m.join(`${l}${f}`)}${p}]`:`[${m.join(l)}]`}else{let m=Array.from(e.value.entries());i&&(m=m.sort(([v],[x])=>v.localeCompare(x)));let y=m.map(([v,x])=>{let M=JSON.stringify(v);a&&(M=Uy(M));let T=`${M}${c}${un(x,t,r+1,n)}`;return s?`${f}${T}`:T});return s?`{${y.join(l)}${p}}`:`{${y.join(l)}}`}}default:throw new Error(`Cannot convert to JSON: ${e.type}`)}}function dD(e){e.set("false",!1),e.set("true",!0),e.set("none",null),e.set("raise_exception",t=>{throw new Error(t)}),e.set("range",sD),e.set("strftime_now",oD),e.set("True",!0),e.set("False",!1),e.set("None",null)}function $y(e,t){let r=t.split("."),n=e;for(let s of r)if(n instanceof tt)n=n.value.get(s)??new Oe;else if(n instanceof _e){let a=parseInt(s,10);if(!isNaN(a)&&a>=0&&a<n.value.length)n=n.value[a];else return new Oe}else return new Oe;return n}function Ap(e,t,r=!1){if(e instanceof Be&&t instanceof Be)return 0;if(e instanceof Be||t instanceof Be)throw new Error(`Cannot compare ${e.type} with ${t.type}`);if(e instanceof Oe&&t instanceof Oe)return 0;if(e instanceof Oe||t instanceof Oe)throw new Error(`Cannot compare ${e.type} with ${t.type}`);let n=a=>a instanceof de||a instanceof ze||a instanceof ae,s=a=>a instanceof ae?a.value?1:0:a.value;if(n(e)&&n(t)){let a=s(e),o=s(t);return a<o?-1:a>o?1:0}if(e.type!==t.type)throw new Error(`Cannot compare different types: ${e.type} and ${t.type}`);switch(e.type){case"StringValue":{let a=e.value,o=t.value;return r||(a=a.toLowerCase(),o=o.toLowerCase()),a<o?-1:a>o?1:0}default:throw new Error(`Cannot compare type: ${e.type}`)}}function ai(e){switch(typeof e){case"number":return Number.isInteger(e)?new de(e):new ze(e);case"string":return new Z(e);case"boolean":return new ae(e);case"undefined":return new Oe;case"object":return e===null?new Be:Array.isArray(e)?new _e(e.map(ai)):new tt(new Map(Object.entries(e).map(([t,r])=>[t,ai(r)])));case"function":return new Le((t,r)=>{let n=e(...t.map(s=>s.value))??null;return ai(n)});default:throw new Error(`Cannot convert to runtime value: ${e}`)}}function mD(e){switch(e.operator.type){case"MultiplicativeBinaryOperator":return 4;case"AdditiveBinaryOperator":return 3;case"ComparisonBinaryOperator":return 2;case"Identifier":return e.operator.value==="and"?1:e.operator.value==="in"||e.operator.value==="not in"?2:0}return 0}function _D(e,t=" "){let r=typeof t=="number"?" ".repeat(t):t;return qt(e.body,0,r).replace(/\n$/,"")}function it(...e){return hD+e.join(" ")+fD}function qt(e,t,r){return e.map(n=>gD(n,t,r)).join(Ke)}function gD(e,t,r){let n=r.repeat(t);switch(e.type){case"Program":return qt(e.body,t,r);case"If":return wD(e,t,r);case"For":return yD(e,t,r);case"Set":return vD(e,t,r);case"Macro":return bD(e,t,r);case"Break":return n+it("break");case"Continue":return n+it("continue");case"CallStatement":return MD(e,t,r);case"FilterStatement":return xD(e,t,r);case"Comment":return n+"{# "+e.value+" #}";default:return n+"{{- "+we(e)+" -}}"}}function wD(e,t,r){let n=r.repeat(t),s=[],a=e;for(;a&&(s.push({test:a.test,body:a.body}),a.alternate.length===1&&a.alternate[0].type==="If");)a=a.alternate[0];let o=n+it("if",we(s[0].test))+Ke+qt(s[0].body,t+1,r);for(let i=1;i<s.length;++i)o+=Ke+n+it("elif",we(s[i].test))+Ke+qt(s[i].body,t+1,r);return a&&a.alternate.length>0&&(o+=Ke+n+it("else")+Ke+qt(a.alternate,t+1,r)),o+=Ke+n+it("endif"),o}function yD(e,t,r){let n=r.repeat(t),s="";if(e.iterable.type==="SelectExpression"){let o=e.iterable;s=`${we(o.lhs)} if ${we(o.test)}`}else s=we(e.iterable);let a=n+it("for",we(e.loopvar),"in",s)+Ke+qt(e.body,t+1,r);return e.defaultBlock.length>0&&(a+=Ke+n+it("else")+Ke+qt(e.defaultBlock,t+1,r)),a+=Ke+n+it("endfor"),a}function vD(e,t,r){let n=r.repeat(t),s=we(e.assignee),a=e.value?we(e.value):"",o=n+it("set",`${s}${e.value?" = "+a:""}`);return e.body.length===0?o:o+Ke+qt(e.body,t+1,r)+Ke+n+it("endset")}function bD(e,t,r){let n=r.repeat(t),s=e.args.map(we).join(", ");return n+it("macro",`${e.name.value}(${s})`)+Ke+qt(e.body,t+1,r)+Ke+n+it("endmacro")}function MD(e,t,r){let n=r.repeat(t),s=e.callerArgs&&e.callerArgs.length>0?`(${e.callerArgs.map(we).join(", ")})`:"",a=we(e.call),o=n+it(`call${s}`,a)+Ke;return o+=qt(e.body,t+1,r)+Ke,o+=n+it("endcall"),o}function xD(e,t,r){let n=r.repeat(t),s=e.filter.type==="Identifier"?e.filter.value:we(e.filter),a=n+it("filter",s)+Ke;return a+=qt(e.body,t+1,r)+Ke,a+=n+it("endfilter"),a}function we(e,t=-1){switch(e.type){case"SpreadExpression":return`*${we(e.argument)}`;case"Identifier":return e.value;case"IntegerLiteral":return`${e.value}`;case"FloatLiteral":return`${e.value}`;case"StringLiteral":return JSON.stringify(e.value);case"BinaryExpression":{let r=e,n=mD(r),s=we(r.left,n),a=we(r.right,n+1),o=`${s} ${r.operator.value} ${a}`;return n<t?`(${o})`:o}case"UnaryExpression":{let r=e;return r.operator.value+(r.operator.value==="not"?" ":"")+we(r.argument,1/0)}case"CallExpression":{let r=e,n=r.args.map(we).join(", ");return`${we(r.callee)}(${n})`}case"MemberExpression":{let r=e,n=we(r.object);["Identifier","MemberExpression","CallExpression","StringLiteral","IntegerLiteral","FloatLiteral","ArrayLiteral","TupleLiteral","ObjectLiteral"].includes(r.object.type)||(n=`(${n})`);let s=we(r.property);return!r.computed&&r.property.type!=="Identifier"&&(s=`(${s})`),r.computed?`${n}[${s}]`:`${n}.${s}`}case"FilterExpression":{let r=e,n=we(r.operand,1/0);return r.filter.type==="CallExpression"?`${n} | ${we(r.filter)}`:`${n} | ${r.filter.value}`}case"SelectExpression":{let r=e;return`${we(r.lhs)} if ${we(r.test)}`}case"TestExpression":{let r=e;return`${we(r.operand)} is${r.negate?" not":""} ${r.test.value}`}case"ArrayLiteral":case"TupleLiteral":{let r=e.value.map(we),n=e.type==="ArrayLiteral"?"[]":"()";return`${n[0]}${r.join(", ")}${n[1]}`}case"ObjectLiteral":return`{${Array.from(e.value.entries()).map(([n,s])=>`${we(n)}: ${we(s)}`).join(", ")}}`;case"SliceExpression":{let r=e,n=r.start?we(r.start):"",s=r.stop?we(r.stop):"",a=r.step?`:${we(r.step)}`:"";return`${n}:${s}${a}`}case"KeywordArgumentExpression":{let r=e;return`${r.key.value}=${we(r.value)}`}case"Ternary":{let r=e,n=`${we(r.trueExpr)} if ${we(r.condition,0)} else ${we(r.falseExpr)}`;return t>-1?`(${n})`:n}default:throw new Error(`Unknown expression type: ${e.type}`)}}function Iv(e,t){let r=0;for(let s=0;s<t.length;++s)r+=t[s];let n=e()*r;for(let s=0;s<t.length;++s)if(n-=t[s],n<0)return s;return t.length-1}function Bo(...e){return e=e.map((t,r)=>(r&&(t=t.replace(new RegExp("^/"),"")),r!==e.length-1&&(t=t.replace(new RegExp("/$"),"")),t)),e.join("/")}function ds(e,t=null,r=null){let n;try{n=new URL(e)}catch{return!1}return!(t&&!t.includes(n.protocol)||r&&!r.includes(n.hostname))}function ID(e){return!(!SD.test(e)||e.includes("..")||e.includes("--")||e.endsWith(".git")||e.endsWith(".ipynb"))}function PD(e,t,r){if(!r)return null;let n=AD[e]??`Error (${e}) occurred while trying to load file`;throw Error(`${n}: "${t}".`)}async function RD(e,t,r){let n=e.headers.get("Content-Length"),s=n?parseInt(n,10):r??0;n===null&&!r&&ce.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let a=new Uint8Array(s),o=0,i=e.body.getReader();async function l(){let{done:c,value:u}=await i.read();if(c)return;let p=o+u.length;if(p>s){s=p;let m=new Uint8Array(s);m.set(a),a=m}a.set(u,o),o=p;let f=o/s*100;return t({progress:f,loaded:o,total:s}),l()}return await l(),a}function Gy(e){return ds(e,["blob:"])}function jy(e){let t;if(typeof location<"u"&&location.href)t=location.href;else if(typeof ci<"u"&&ci.url)t=ci.url;else return e;return new URL(e,t).href}async function ps(e=null){let t=null;if(ge.useCustomCache){if(!ge.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!ge.customCache.match||!ge.customCache.put)throw new Error("`env.customCache` must be an object which implements the `match` and `put` functions of the Web Cache API. For more information, see https://developer.mozilla.org/en-US/docs/Web/API/Cache");t=ge.customCache}if(!t&&ge.experimental_useCrossOriginStorage&&qy.isAvailable()&&(t=new qy),!t&&ge.useBrowserCache){if(typeof caches>"u")throw Error("Browser cache is not available in this environment.");try{t=await caches.open(ge.cacheKey)}catch(r){ce.warn("An error occurred while opening the browser cache:",r)}}if(!t&&ge.useFSCache){if(!pe.IS_FS_AVAILABLE)throw Error("File System Cache is not available in this environment.");t=new Pv(e??ge.cacheDir)}return t}async function LD(e,...t){for(let r of t)try{let n=await e.match(r);if(n)return n}catch{continue}}function Ov(e,t){let r=Ud.get(e);if(r!==void 0)return r;let n=t().then(s=>s,s=>(Ud.delete(e),Promise.reject(s)));return Ud.put(e,n),n}async function DD(e){if(!ds(e,["http:","https:"]))return null;let t=Lv(e);return t.set("Range","bytes=0-0"),ge.fetch(e,{method:"GET",headers:t,cache:"no-store"})}function Ma(e,t,r={}){let n=JSON.stringify([e,t,r?.revision,r?.cache_dir,r?.local_files_only]);return Ov(n,()=>BD(e,t,r))}async function BD(e,t,r){let n=await ps(r?.cache_dir),{localPath:s,remoteURL:a,proposedCacheKey:o,validModelId:i}=xa(e,t,r,n),l=await Ta(n,s,o);if(l!==void 0&&typeof l!="string"){let c=l.headers.get("content-length"),u=l.headers.get("content-type");return{exists:!0,size:c?parseInt(c,10):void 0,contentType:u||void 0,fromCache:!0}}if(ge.allowLocalModels&&!ds(s,["http:","https:"]))try{let u=await ma(s);if(typeof u!="string"&&u.status!==404){let p=u.headers.get("content-length"),f=u.headers.get("content-type");return{exists:!0,size:p?parseInt(p,10):void 0,contentType:f||void 0,fromCache:!1}}}catch{}if(ge.allowRemoteModels&&!r.local_files_only&&i)try{let c=await DD(a);if(c&&c.status>=200&&c.status<300){let u,p=c.headers.get("content-type");if(c.status===206){let f=c.headers.get("content-range");if(f){let m=f.match(/bytes \d+-\d+\/(\d+)/);m&&(u=parseInt(m[1],10))}}else if(c.status===200)try{await c.body?.cancel()}catch{}if(u===void 0){let f=c.headers.get("content-length");u=f?parseInt(f,10):void 0}return{exists:!0,size:u,contentType:p||void 0,fromCache:!1}}}catch(c){ce.warn(`Unable to fetch file metadata for "${a}": ${c}`)}return{exists:!1,fromCache:!1}}async function ma(e){return ge.useFS&&!ds(e,["http:","https:","blob:"])?new fi(e instanceof URL?e.protocol==="file:"?e.pathname:e.toString():e):ge.fetch(e,{headers:Lv(e)})}function Lv(e){let t=typeof process<"u"&&process?.release?.name==="node",r=new Headers;if(t){let n=!!process.env?.TESTING_REMOTELY,s=ge.version;if(r.set("User-Agent",`transformers.js/${s}; is_ci/${n};`),ds(e,["http:","https:"],["huggingface.co","hf.co"])){let o=process.env?.HF_TOKEN??process.env?.HF_ACCESS_TOKEN;o&&r.set("Authorization",`Bearer ${o}`)}}return r}function xa(e,t,r={},n=null){let s=r.revision??"main",a=Bo(e,t),o=ID(e),i=o?Bo(ge.localModelPath,a):a,l=Bo(ge.remoteHost,ge.remotePathTemplate.replaceAll("{model}",e).replaceAll("{revision}",encodeURIComponent(s)),t),c=n instanceof Pv?s==="main"?a:Bo(e,s,t):l;return{requestURL:a,localPath:i,remoteURL:l,proposedCacheKey:c,validModelId:o}}async function Ta(e,t,r){if(e)return await LD(e,t,r)}async function UD(e,t,r,n,s,a,o={}){if(await r.match(n)===void 0)if(a){if(typeof s!="string"){let i=new Headers(s.headers);i.set("content-length",a.byteLength.toString()),await r.put(n,new Response(a,{headers:i})).catch(l=>{ce.warn(`Unable to add response to browser cache: ${l}.`)})}}else{let i=o.progress_callback?l=>cn(o.progress_callback,{status:"progress",name:e,file:t,...l}):void 0;await r.put(n,s,i)}}async function zD(e,t,r=!0,n={},s=!1,a=null){let{requestURL:o,localPath:i,remoteURL:l,proposedCacheKey:c,validModelId:u}=xa(e,t,n,a),p,f=!1,m;m=await Ta(a,i,c);let y=m!==void 0;if(!y){if(ge.allowLocalModels)if(ds(o,["http:","https:"])){if(n.local_files_only)throw new Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${o}.`);if(!ge.allowRemoteModels)throw new Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${o}.`)}else try{m=await ma(i),p=i}catch(T){ce.warn(`Unable to load from local path "${i}": "${T}"`)}if(m===void 0||typeof m!="string"&&m.status===404){if(n.local_files_only||!ge.allowRemoteModels){if(r)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${i}".`);return null}if(!u)throw Error(`Local file missing at "${i}" and download aborted due to invalid model ID "${e}".`);if(m=await ma(l),m.status!==200)return PD(m.status,l,r);p=c}f=a&&typeof Response<"u"&&m instanceof Response&&m.status===200}cn(n.progress_callback,{status:"download",name:e,file:t});let v;if(!(pe.IS_NODE_ENV&&s)){let M;if(typeof m!="string")if(!n.progress_callback)M=new Uint8Array(await m.arrayBuffer());else if(y&&typeof navigator<"u"&&/firefox/i.test(navigator.userAgent))M=new Uint8Array(await m.arrayBuffer()),cn(n.progress_callback,{status:"progress",name:e,file:t,progress:100,loaded:M.length,total:M.length});else{let T,A=m.headers.get("content-length");if(A)T=parseInt(A,10);else try{let C=await Ma(e,t,n);C.size&&(T=C.size)}catch{}M=await RD(m,C=>{cn(n.progress_callback,{status:"progress",name:e,file:t,...C})},T)}v=M}if(f&&p&&typeof m!="string"&&await UD(e,t,a,p,m,v,n),cn(n.progress_callback,{status:"done",name:e,file:t}),v){if(!pe.IS_NODE_ENV&&s)throw new Error("Cannot return path in a browser environment.");return v}if(m instanceof fi)return m.filePath;let x=await a?.match(p);if(x instanceof fi)return x.filePath;if(x instanceof Response)return new Uint8Array(await x.arrayBuffer());if(typeof x=="string")return x;throw new Error("Unable to get model file path or buffer.")}async function mi(e,t,r=!0,n={},s=!1){if(!ge.allowLocalModels){if(n.local_files_only)throw Error("Invalid configuration detected: local models are disabled (`env.allowLocalModels=false`) but you have requested to only use local models (`local_files_only=true`).");if(!ge.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}cn(n.progress_callback,{status:"initiate",name:e,file:t});let a=await ps(n?.cache_dir);return await zD(e,t,r,n,s,a)}async function Fv(e,t,r=!0,n={}){let s=await mi(e,t,r,n,!1);return s===null?null:new TextDecoder("utf-8").decode(s)}async function yr(e,t,r=!0,n={}){let s=await Fv(e,t,r,n);return s===null?{}:JSON.parse(s)}function $D(e,[t,r,n],[s,a],o="bilinear",i=!1){let l=a/n,c=s/r,u=new e.constructor(s*a*t),p=r*n,f=s*a;for(let m=0;m<s;++m)for(let y=0;y<a;++y){let v=m*a+y,x=(y+.5)/l-.5,M=(m+.5)/c-.5,T=Math.floor(x),A=Math.floor(M),C=Math.min(T+1,n-1),S=Math.min(A+1,r-1);T=Math.max(T,0),A=Math.max(A,0);let O=x-T,E=M-A,K=(1-O)*(1-E),$=O*(1-E),V=(1-O)*E,Q=O*E,G=A*n,q=S*n,D=G+T,R=G+C,re=q+T,ie=q+C;for(let F=0;F<t;++F){let N=F*p;u[F*f+v]=K*e[N+D]+$*e[N+R]+V*e[N+re]+Q*e[N+ie]}}return u}function VD(e,t,r){let n=new Array(r.length),s=new Array(r.length);for(let i=r.length-1,l=1;i>=0;--i)s[i]=l,n[i]=t[r[i]],l*=n[i];let a=r.map((i,l)=>s[r.indexOf(l)]),o=new e.constructor(e.length);for(let i=0;i<e.length;++i){let l=0;for(let c=t.length-1,u=i;c>=0;--c)l+=u%t[c]*a[c],u=Math.floor(u/t[c]);o[l]=e[i]}return[o,n]}function rt(e){let t=Ge(e)[0],r=e.map(a=>Math.exp(a-t)),n=r.reduce((a,o)=>a+o,0);return r.map(a=>a/n)}function Nv(e){let t=Ge(e)[0],r=0;for(let a=0;a<e.length;++a)r+=Math.exp(e[a]-t);let n=Math.log(r);return e.map(a=>a-t-n)}function Dv(e,t){let r=0;for(let n=0;n<e.length;++n)r+=e[n]*t[n];return r}function GD(e,t){let r=Dv(e,t),n=Hy(e),s=Hy(t);return r/(n*s)}function Hy(e){return Math.sqrt(e.reduce((t,r)=>t+r*r,0))}function Sp(e){if(e.length===0)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]<t&&(t=e[n],r=n);return[t,r]}function Ge(e){if(e.length===0)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n],r=n);return[t,r]}function Bv(e){return e>0&&(e&e-1)===0}function qD(e,t){if(t%2===0||t<=0)throw new Error("Window size must be a positive odd number");let r=new e.constructor(e.length),n=new e.constructor(t),s=Math.floor(t/2);for(let a=0;a<e.length;++a){let o=0;for(let i=-s;i<=s;++i){let l=a+i;l<0?l=Math.abs(l):l>=e.length&&(l=2*(e.length-1)-l),n[o++]=e[l]}n.sort(),r[a]=n[s]}return r}function da(e,t){let r=Math.pow(10,t);return Math.round(e*r)/r}function HD(e){let t=Math.round(e);return Math.abs(e)%1===.5?t%2===0?t:t-1:t}function KD(e){let t=e.length,r=e[0].length,n=[t+1,r+1],s=Array.from({length:n[0]},()=>Array(n[1]).fill(1/0));s[0][0]=0;let a=Array.from({length:n[0]},()=>Array(n[1]).fill(-1));for(let u=1;u<n[1];++u)for(let p=1;p<n[0];++p){let f=s[p-1][u-1],m=s[p-1][u],y=s[p][u-1],v,x;f<m&&f<y?(v=f,x=0):m<f&&m<y?(v=m,x=1):(v=y,x=2),s[p][u]=e[p-1][u-1]+v,a[p][u]=x}for(let u=0;u<n[1];++u)a[0][u]=2;for(let u=0;u<n[0];++u)a[u][0]=1;let o=t,i=r,l=[],c=[];for(;o>0||i>0;)switch(l.push(o-1),c.push(i-1),a[o][i]){case 0:--o,--i;break;case 1:--o;break;case 2:--i;break;default:throw new Error(`Internal error in dynamic time warping. Unexpected trace[${o}, ${i}]. Please file a bug report.`)}return l.reverse(),c.reverse(),[l,c]}async function $v(e){let t=e.split("/").pop(),r;try{if(r=await ps(),r){let s=await r.match(e);if(s)return s}}catch(s){ce.warn(`Failed to load ${t} from cache:`,s)}let n=await ge.fetch(e);if(!n.ok)throw new Error(`Failed to fetch ${t}: ${n.status} ${n.statusText}`);if(r)try{await r.put(e,n.clone())}catch(s){ce.warn(`Failed to cache ${t}:`,s)}return n}async function XD(e){let t=await $v(e);if(!t||typeof t=="string")return null;try{return await t.arrayBuffer()}catch(r){return ce.warn("Failed to read WASM binary:",r),null}}async function YD(e){if(pe.IS_SERVICE_WORKER_ENV||pe.IS_CHROME_AVAILABLE)return e;let t=await $v(e);if(!t||typeof t=="string")return null;try{let r=await t.text();r=r.replaceAll("globalThis.process?.versions?.node","false");let n=new Blob([r],{type:"text/javascript"});return URL.createObjectURL(n)}catch(r){return ce.warn("Failed to read WASM factory:",r),null}}function Vv(e){return e<=Ft.DEBUG?0:e<=Ft.INFO?2:e<=Ft.WARNING||e<=Ft.ERROR?3:4}function rB(e=null){if(!e)return Ip;switch(e){case"auto":return Lt;case"gpu":return Lt.filter(t=>["webgpu","cuda","dml","webnn-gpu"].includes(t))}if(Lt.includes(e))return[ZD[e]??e];throw new Error(`Unsupported device: "${e}". Should be one of: ${Lt.join(", ")}.`)}async function nB(){if(Jn)return Jn;if(!(ge.useWasmCache&&typeof He?.wasm?.wasmPaths=="object"&&He?.wasm?.wasmPaths?.wasm&&He?.wasm?.wasmPaths?.mjs)){if(pe.IS_DENO_WEB_RUNTIME)throw new Error("env.useWasmCache=false is not supported in Deno's web runtime. Remove the useWasmCache override.");return Jn=Promise.resolve(),Jn}return Jn=(async()=>{let t=He.wasm.wasmPaths,r=!1;await Promise.all([t.wasm&&!Gy(t.wasm)?(async()=>{try{let n=await XD(jy(t.wasm));n&&(He.wasm.wasmBinary=n,r=!0)}catch(n){ce.warn("Failed to pre-load WASM binary:",n)}})():Promise.resolve(),t.mjs&&!Gy(t.mjs)?(async()=>{try{let n=await YD(jy(t.mjs));n&&(He.wasm.wasmPaths.mjs=n)}catch(n){ce.warn("Failed to pre-load WASM factory:",n)}})():Promise.resolve()]),r||(He.wasm.wasmPaths.mjs=t.mjs)})(),Jn}async function Gv(e,t,r){await nB();let n=Vv(ge.logLevel??Ft.WARNING),s=()=>tB.create(e,{logSeverityLevel:n,...t}),a=await(pe.IS_WEB_ENV?Qy=Qy.then(s):s());return a.config=r,a}async function jv(e,t){let r=()=>e.run(t);return pe.IS_WEB_ENV?Jy=Jy.then(r):r()}function Wv(e){return e instanceof as.Tensor}function Jp(){return He?.wasm?.proxy}function qv(e,t,{warn:r}={}){return e?typeof e=="string"?e:e.hasOwnProperty(t)?e[t]:(r&&r(`device not specified for "${t}". Using the default device (${zd}).`),zd):zd}function Hv(e,t,r,{configDtype:n=null,warn:s}={}){let a,o=!1;e&&typeof e!="string"?e.hasOwnProperty(t)?a=e[t]:(a=null,o=!0):a=e;let i;if(a===ft.auto){if(n){let l=typeof n=="string"?n:n?.[t];if(l&&l!==ft.auto&&ft.hasOwnProperty(l))return l}i=Yy[r]??Xy}else a&&ft.hasOwnProperty(a)?i=a:i=Yy[r]??Xy;return o&&s&&s(`dtype not specified for "${t}". Using the default dtype (${i}) for this device (${r}).`),i}function oB(e,t){let r=e.length,n=t.reduce((a,o)=>a*o);if(r!==n)throw Error(`cannot reshape array of size ${r} into shape (${t})`);let s=e;for(let a=t.length-1;a>=0;a--)s=s.reduce((o,i)=>{let l=o[o.length-1];return l.length<t[a]?l.push(i):o.push([i]),o},[[]]);return s[0]}function Kv(e,t){let[r,n]=VD(e.data,e.dims,t);return new W(e.type,r,n)}function Xp(e,[t,r],n="bilinear",s=!1){let a=e.dims.at(-3)??1,o=e.dims.at(-2),i=e.dims.at(-1),l=$D(e.data,[a,o,i],[t,r],n,s);return new W(e.type,l,[a,t,r])}async function Nt(e,{size:t=null,mode:r="bilinear"}={}){if(e.dims.length!==4)throw new Error("`interpolate_4d` currently only supports 4D input.");if(!t)throw new Error("`interpolate_4d` requires a `size` argument.");let n;if(t.length===2)n=[...e.dims.slice(0,2),...t];else if(t.length===3)n=[e.dims[0],...t];else if(t.length===4)n=t;else throw new Error("`size` must be of length 2, 3, or 4.");let s;if(r==="nearest")s=await dn.nearest_interpolate_4d;else if(r==="bilinear")s=await dn.bilinear_interpolate_4d;else if(r==="bicubic")s=await dn.bicubic_interpolate_4d;else throw new Error(`Unsupported mode: ${r}`);let a=new W("int64",new BigInt64Array(n.map(BigInt)),[n.length]);return await s({x:e,s:a})}async function Qv(e,t){return await(await dn.matmul)({a:e,b:t})}async function iB(e,t){return await(await dn.rfft)({x:e,a:t})}async function pn(e,t){let r=await dn.top_k;return t==null?t=e.dims.at(-1):t=Math.min(t,e.dims.at(-1)),await r({x:e,k:new W("int64",[BigInt(t)],[1])})}async function Yp(e,t,r,n,s){return await(await dn.slice)({x:e,s:Uo(t),e:Uo(r),a:Uo(n),t:Uo(s??new Array(n.length).fill(1))})}function Jv(e,t){let r=e.data,n=t.data,s=[e.dims[0],e.dims[2]],a=new r.constructor(s[0]*s[1]),[o,i,l]=e.dims,c=0;for(let u=0;u<o;++u){let p=u*l*i;for(let f=0;f<l;++f){let m=0,y=0,v=u*i,x=p+f;for(let T=0;T<i;++T){let A=Number(n[v+T]);y+=A,m+=r[x+T*l]*A}let M=m/y;a[c++]=M}}return new W(e.type,a,s)}function lB(e,t,{eps:r=1e-5}={}){if(e.dims.length!==2)throw new Error("`layer_norm` currently only supports 2D input.");let[n,s]=e.dims;if(t.length!==1&&t[0]!==s)throw new Error("`normalized_shape` must be a 1D array with shape `[input.dims[1]]`.");let[a,o]=Zp(e,1,0,!0),i=a.data,l=o.data,c=e.data,u=new c.constructor(c.length);for(let p=0;p<n;++p){let f=p*s;for(let m=0;m<s;++m){let y=f+m;u[y]=(c[y]-l[p])/(i[p]+r)}}return new W(e.type,u,e.dims)}function Zy(e,t){return e=e.slice(),t===null?e=e.filter(r=>r!==1):typeof t=="number"?e[t]===1&&e.splice(t,1):Array.isArray(t)&&(e=e.filter((r,n)=>r!==1||!t.includes(n))),e}function ev(e,t){return t=sr(t,e.length+1),e=e.slice(),e.splice(t,0,1),e}function sr(e,t,r=null,n=!0){if(e<-t||e>=t){if(n)throw new Error(`IndexError: index ${e} is out of bounds for dimension${r===null?"":" "+r} with size ${t}`);return e<-t?0:t}return e<0&&(e=(e%t+t)%t),e}function Fe(e,t=0){t=sr(t,e[0].dims.length);let r=e[0].dims.slice();r[t]=e.reduce((o,i)=>o+i.dims[t],0);let n=r.reduce((o,i)=>o*i,1),s=new e[0].data.constructor(n),a=e[0].type;if(t===0){let o=0;for(let i of e){let l=i.data;s.set(l,o),o+=l.length}}else{let o=0;for(let i=0;i<e.length;++i){let{data:l,dims:c}=e[i];for(let u=0;u<l.length;++u){let p=0;for(let f=c.length-1,m=u,y=1;f>=0;--f){let v=c[f],x=m%v;f===t&&(x+=o),p+=x*y,y*=r[f],m=Math.floor(m/v)}s[p]=l[u]}o+=c[t]}}return new W(a,s,r)}function Fr(e,t=0){return Fe(e.map(r=>r.unsqueeze(t)),t)}function pa(e,t,r,n=!1,s=null){let a=t.data,o=t.dims;r=sr(r,o.length);let i=o.slice();i[r]=1;let l=new a.constructor(a.length/o[r]);s!==null&&l.fill(s);for(let c=0;c<a.length;++c){let u=0;for(let p=o.length-1,f=c,m=1;p>=0;--p){let y=o[p];if(p!==r){let v=f%y;u+=v*m,m*=i[p]}f=Math.floor(f/y)}l[u]=e(l[u],a[c],c,u)}return n||i.splice(r,1),[t.type,l,i]}function Zp(e,t=null,r=1,n=!1){let s=e.data,a=e.dims;if(t===null){let m=s.reduce((M,T)=>M+T,0)/s.length,y=Math.sqrt(s.reduce((M,T)=>M+(T-m)**2,0)/(s.length-r)),v=new W(e.type,[m],[]);return[new W(e.type,[y],[]),v]}t=sr(t,a.length);let o=ki(e,t,n),i=o.data,[l,c,u]=pa((f,m,y,v)=>f+(m-i[v])**2,e,t,n);for(let f=0;f<c.length;++f)c[f]=Math.sqrt(c[f]/(a[t]-r));return[new W(l,c,u),o]}function ki(e,t=null,r=!1){let n=e.dims,s=e.data;if(t===null){let l=s.reduce((c,u)=>c+u,0);return new W(e.type,[l/s.length],[])}t=sr(t,n.length);let[a,o,i]=pa((l,c)=>l+c,e,t,r);if(n[t]!==1)for(let l=0;l<o.length;++l)o[l]/=n[t];return new W(a,o,i)}function $d(e){let t=new Array(e.length);for(let r=e.length-1,n=1;r>=0;--r)t[r]=n,n*=e[r];return t}function eh(e,t,r,n){let s=e.reduce((a,o)=>a*o,1);return new W(r,new n(s).fill(t),e)}function lt(e,t){let r,n;if(typeof t=="number")r="float32",n=Float32Array;else if(typeof t=="bigint")r="int64",n=BigInt64Array;else if(typeof t=="boolean")r="bool",n=Uint8Array;else throw new Error(`Unsupported data type: ${typeof t}`);return eh(e,t,r,n)}function _i(e,t){return lt(e.dims,t)}function xt(e){return eh(e,1n,"int64",BigInt64Array)}function th(e){return xt(e.dims)}function rh(e){return eh(e,0n,"int64",BigInt64Array)}function nh(e){return rh(e.dims)}function cB(e){let t=e.reduce((r,n)=>r*n,1);return new W("float32",Float32Array.from({length:t},()=>ba.random()),e)}function Xv(e){let t=e.reduce((r,n)=>r*n,1);return new W("float32",Float32Array.from({length:t},()=>ba.gauss()),e)}function Yv(e,t){if(e.dims.length!==2)throw new Error("The tensor must have 2 dimensions");if(e.dims.at(-1)%8!==0)throw new Error("The last dimension of the tensor must be a multiple of 8");if(!["binary","ubinary"].includes(t))throw new Error("The precision must be either 'binary' or 'ubinary'");let r=t==="binary",n=r?"int8":"uint8",s=r?Int8Array:Uint8Array,a=e.data,o=new s(a.length/8);for(let i=0;i<a.length;++i){let l=a[i]>0?1:0,c=Math.floor(i/8),u=i%8;o[c]|=l<<7-u,r&&u===0&&(o[c]-=128)}return new W(n,o,[e.dims[0],e.dims[1]/8])}async function sh(e){if(!e)throw new Error("modelId is required for get_tokenizer_files");return(await Ma(e,"tokenizer_config.json",{})).exists?["tokenizer.json","tokenizer_config.json"]:[]}async function Zv(e,t){let r=await sh(e);return await Promise.all(r.map(n=>yr(e,n,!0,t)))}function eb(e){let t=e.dims;switch(t.length){case 1:return e.tolist();case 2:if(t[0]!==1)throw new Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return e.tolist()[0];default:throw new Error(`Expected tensor to have 1-2 dimensions, got ${t.length}.`)}}function dB(e,t,r,n){for(let s of Object.keys(e)){let a=t-e[s].length,o=r(s),i=new Array(a).fill(o);e[s]=n==="right"?jt(e[s],i):jt(i,e[s])}}function pB(e,t){for(let r of Object.keys(e))e[r].length=t}function sn(e,...t){for(let r of t){if(!Object.hasOwn(e,r))continue;let n=e[r];if(n)if(typeof n=="object"){if(n.__type==="AddedToken")return n.content;throw Error(`Unknown token: ${n}`)}else return n}return null}function hB(e){let t=[];for(let r of e.get_added_tokens_decoder().values())r.special&&t.push(r);return t}function ah(e,t,r,n){if(!("language_codes"in e)||!Array.isArray(e.language_codes))throw new Error("Tokenizer must have `language_codes` attribute set and it should be an array of language ids.");if(!("languageRegex"in e)||!(e.languageRegex instanceof RegExp))throw new Error("Tokenizer must have `languageRegex` attribute set and it should be a regular expression.");if(!("lang_to_token"in e)||typeof e.lang_to_token!="function")throw new Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");let s=n.src_lang,a=n.tgt_lang;if(!e.language_codes.includes(a))throw new Error(`Target language code "${a}" is not valid. Must be one of: {${e.language_codes.join(", ")}}`);if(s!==void 0){if(!e.language_codes.includes(s))throw new Error(`Source language code "${s}" is not valid. Must be one of: {${e.language_codes.join(", ")}}`);for(let o of e._tokenizer.post_processor.config.single)if("SpecialToken"in o&&e.languageRegex.test(o.SpecialToken.id)){o.SpecialToken.id=e.lang_to_token(s);break}}return n.forced_bos_token_id=e._tokenizer.token_to_id(e.lang_to_token(a)),e._call(t,r)}function _B(e){e=e.toLowerCase();let t=mB.get(e);if(t===void 0){let r=e.match(/^<\|([a-z]{2})\|>$/);if(r&&(e=r[1]),oi.has(e))t=e;else{let s=e.length===2?oi.keys():oi.values();throw new Error(`Language "${e}" is not supported. Must be one of: ${JSON.stringify(Array.from(s))}`)}}return t}function bt(e,t){if(!(e instanceof Float32Array||e instanceof Float64Array))throw new Error(`${t} expects input to be a Float32Array or a Float64Array, but got ${e?.constructor?.name??typeof e} instead. If using the feature extractor directly, remember to use \`read_audio(url, sampling_rate)\` to obtain the raw audio data of the file/url.`)}async function qb(e,t){if(pe.IS_BROWSER_ENV){if(pe.IS_WEBWORKER_ENV)throw new Error("Unable to save a file from a Web Worker.");let r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=e,n.click(),n.remove(),URL.revokeObjectURL(r)}else if(pe.IS_FS_AVAILABLE){let r=t.stream(),n=bB.fromWeb(r),s=At.createWriteStream(e);await xB(n,s)}else throw new Error("Unable to save because filesystem is disabled in this environment.")}async function Hb(e,t){if(typeof AudioContext>"u")throw Error("Unable to load audio from path/URL since `AudioContext` is not available in your environment. Instead, audio data should be passed directly to the pipeline/processor. For more information and some example code, see https://huggingface.co/docs/transformers.js/guides/node-audio-processing.");let r=await(await ma(e)).arrayBuffer(),n=new AudioContext({sampleRate:t});typeof t>"u"&&ce.warn(`No sampling rate provided, using default of ${n.sampleRate}Hz.`);let s=await n.decodeAudioData(r),a;if(s.numberOfChannels===2){let o=Math.sqrt(2),i=s.getChannelData(0),l=s.getChannelData(1);a=new Float32Array(i.length);for(let c=0;c<s.length;++c)a[c]=o*(i[c]+l[c])/2}else a=s.getChannelData(0);return a}function Kb(e,t){if(e<1)return new Float64Array;if(e===1)return new Float64Array([1]);let r=1-t,n=2*Math.PI/(e-1),s=new Float64Array(e);for(let a=0;a<e;++a)s[a]=t-r*Math.cos(a*n);return s}function rv(e){return Kb(e,.5)}function TB(e){return Kb(e,.54)}function Vd(e,t="htk"){let r=EB[t];if(!r)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof e=="number"?r(e):e.map(n=>r(n))}function CB(e,t="htk"){let r=kB[t];if(!r)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof e=="number"?r(e):e.map(n=>r(n))}function AB(e,t){let r=Float64Array.from({length:t.length-1},(o,i)=>t[i+1]-t[i]),n=Array.from({length:e.length},()=>new Array(t.length));for(let o=0;o<e.length;++o){let i=n[o];for(let l=0;l<t.length;++l)i[l]=t[l]-e[o]}let s=t.length-2,a=Array.from({length:s},()=>new Array(e.length));for(let o=0;o<e.length;++o){let i=n[o];for(let l=0;l<s;++l){let c=-i[l]/r[l],u=i[l+2]/r[l+1];a[l][o]=Math.max(0,Math.min(c,u))}}return a}function nv(e,t,r){let n=(t-e)/(r-1);return Float64Array.from({length:r},(s,a)=>e+n*a)}function or(e,t,r,n,s,a=null,o="htk",i=!1){if(a!==null&&a!=="slaney")throw new Error('norm must be one of null or "slaney"');if(e<2)throw new Error(`Require num_frequency_bins: ${e} >= 2`);if(r>n)throw new Error(`Require min_frequency: ${r} <= max_frequency: ${n}`);let l=Vd(r,o),c=Vd(n,o),u=nv(l,c,t+2),p=CB(u,o),f;if(i){let y=s/((e-1)*2);f=Vd(Float64Array.from({length:e},(v,x)=>x*y),o),p=u}else f=nv(0,Math.floor(s/2),e);let m=AB(f,p);if(a!==null&&a==="slaney")for(let y=0;y<t;++y){let v=m[y],x=2/(p[y+2]-p[y]);for(let M=0;M<e;++M)v[M]*=x}return m}function SB(e,t,r){let n=new e.constructor(e.length+t+r),s=e.length-1;for(let a=0;a<e.length;++a)n[t+a]=e[a];for(let a=1;a<=t;++a)n[t-a]=e[pi(a,s)];for(let a=1;a<=r;++a)n[s+t+a]=e[pi(s-a,s)];return n}function Qb(e,t,r,n,s){if(r<=0)throw new Error("reference must be greater than zero");if(n<=0)throw new Error("min_value must be greater than zero");r=Math.max(n,r);let a=Math.log10(r);for(let o=0;o<e.length;++o)e[o]=t*Math.log10(Math.max(n,e[o])-a);if(s!==null){if(s<=0)throw new Error("db_range must be greater than zero");let o=Ge(e)[0]-s;for(let i=0;i<e.length;++i)e[i]=Math.max(e[i],o)}return e}function IB(e,t=1,r=1e-5,n=null){return Qb(e,20,t,r,n)}function PB(e,t=1,r=1e-10,n=null){return Qb(e,10,t,r,n)}async function vr(e,t,r,n,{fft_length:s=null,power:a=1,center:o=!0,pad_mode:i="reflect",onesided:l=!0,preemphasis:c=null,preemphasis_htk_flavor:u=!0,mel_filters:p=null,mel_floor:f=1e-10,log_mel:m=null,max_log_mel:y=null,reference:v=1,min_value:x=1e-10,db_range:M=null,remove_dc_offset:T=null,min_num_frames:A=null,max_num_frames:C=null,do_pad:S=!0,transpose:O=!1,mel_offset:E=0}={}){let K=t.length;if(s===null&&(s=r),r>s)throw Error(`frame_length (${r}) may not be larger than fft_length (${s})`);if(K!==r)throw new Error(`Length of the window (${K}) must equal frame_length (${r})`);if(n<=0)throw new Error("hop_length must be greater than zero");if(a===null&&p!==null)throw new Error("You have provided `mel_filters` but `power` is `None`. Mel spectrogram computation is not yet supported for complex-valued spectrogram. Specify `power` to fix this issue.");if(!u)throw new Error("`preemphasis_htk_flavor=false` is not currently supported.");if(o)switch(i){case"reflect":{let z=Math.floor((s-1)/2)+1;e=SB(e,z,z);break}case"constant":{let z=Math.floor(s/2),Y=new e.constructor(e.length+2*z);Y.set(e,z),e=Y;break}default:throw new Error(`pad_mode="${i}" not implemented yet.`)}let $=Math.floor(1+Math.floor((e.length-r)/n));A!==null&&$<A&&($=A);let V=l?Math.floor(s/2)+1:s,Q=$,G=$;C!==null&&(C>$?S&&(G=C):G=Q=C);let q=new WD(s),D=new Float64Array(s),R=new Float64Array(q.outputBufferSize),re=new Float32Array(V*G);for(let z=0;z<Q;++z){let Y=z*n,fe=Math.min(e.length-Y,r);fe!==r&&D.fill(0,0,r);for(let H=0;H<fe;++H)D[H]=e[Y+H];if(T){let H=0;for(let Xe=0;Xe<fe;++Xe)H+=D[Xe];let Ne=H/fe;for(let Xe=0;Xe<fe;++Xe)D[Xe]-=Ne}if(c!==null){for(let H=fe-1;H>=1;--H)D[H]-=c*D[H-1];D[0]*=1-c}for(let H=0;H<t.length;++H)D[H]*=t[H];q.realTransform(R,D);for(let H=0;H<V;++H){let Ne=H<<1;re[H*G+z]=R[Ne]**2+R[Ne+1]**2}}if(a!==null&&a!==2){let z=a/2;for(let Y=0;Y<re.length;++Y)re[Y]**=z}let ie=p.length,F=await Qv(new W("float32",p.flat(),[ie,V]),new W("float32",re,[V,G]));O&&(F=F.transpose(1,0));let N=F.data;for(let z=0;z<N.length;++z)N[z]=E+Math.max(f,N[z]);if(a!==null&&m!==null){let z=Math.min(N.length,Q*ie);switch(m){case"log":for(let Y=0;Y<z;++Y)N[Y]=Math.log(N[Y]);break;case"log10":for(let Y=0;Y<z;++Y)N[Y]=Math.log10(N[Y]);break;case"log10_max_norm":{for(let H=0;H<z;++H)N[H]=Math.log10(N[H]);let fe=(y??Ge(N)[0])-8;for(let H=0;H<z;++H)N[H]=(Math.max(N[H],fe)+4)/4;break}case"dB":if(a===1)IB(N,v,x,M);else if(a===2)PB(N,v,x,M);else throw new Error(`Cannot use log_mel option '${m}' with power ${a}`);break;default:throw new Error(`log_mel must be one of null, 'log', 'log10', 'log10_max_norm', or 'dB'. Got '${m}'`)}}return F}function br(e,t,{periodic:r=!0,frame_length:n=null,center:s=!0}={}){let a=r?e+1:e,o;switch(t){case"boxcar":o=new Float64Array(a).fill(1);break;case"hann":case"hann_window":o=rv(a);break;case"hamming":o=TB(a);break;case"povey":o=rv(a).map(i=>Math.pow(i,.85));break;default:throw new Error(`Unknown window type ${t}.`)}if(r&&(o=o.subarray(0,e)),n===null)return o;if(e>n)throw new Error(`Length of the window (${e}) may not be larger than frame_length (${n})`);return o}function RB(e,t){let r=e.reduce((a,o)=>a+o.length,0),n=new ArrayBuffer(44),s=new DataView(n);return zo(s,0,"RIFF"),s.setUint32(4,36+r*4,!0),zo(s,8,"WAVE"),zo(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,3,!0),s.setUint16(22,1,!0),s.setUint32(24,t,!0),s.setUint32(28,t*4,!0),s.setUint16(32,4,!0),s.setUint16(34,32,!0),zo(s,36,"data"),s.setUint32(40,r*4,!0),new Blob([n,...e.map(a=>a.buffer)],{type:"audio/wav"})}function zo(e,t,r){for(let n=0;n<r.length;++n)e.setUint8(t+n,r.charCodeAt(n))}function sv(e,t,r=0,n=null){let s=e/t,a=HD(s)*t;return n!==null&&a>n&&(a=Math.floor(s)*t),a<r&&(a=Math.ceil(s)*t),a}function av([e,t],r){return[Math.max(Math.floor(e/r),1)*r,Math.max(Math.floor(t/r),1)*r]}function hM([e,t,r,n]){return[e-r/2,t-n/2,e+r/2,t+n/2]}function Ai(e,t=.5,r=null,n=!1){let s=e.logits,a=e.pred_boxes,[o,i,l]=s.dims;if(r!==null&&r.length!==o)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let c=[];for(let u=0;u<o;++u){let p=r!==null?r[u]:null,f={boxes:[],classes:[],scores:[]},m=s[u],y=a[u];for(let v=0;v<i;++v){let x=m[v],M=[],T;if(n){T=x.sigmoid().data;for(let A=0;A<T.length;++A)T[A]>t&&M.push(A)}else{let A=Ge(x.data)[1];if(A===l-1||(T=rt(x.data),T[A]<t))continue;M.push(A)}for(let A of M){let C=y[v].data;C=hM(C),p!==null&&(C=C.map((S,O)=>S*p[(O+1)%2])),f.boxes.push(C),f.classes.push(A),f.scores.push(T[A])}}c.push(f)}return c}function fM(e,t=null){let r=e.logits,n=r.dims[0];if(t!==null&&t.length!==n)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let s=[];for(let a=0;a<n;++a){let o=t!==null?t[a]:null,i=r[a];o!==null&&(i=Xp(i,o,"bilinear",!1));let[l,c]=o??i.dims.slice(-2),u=new W("int32",new Int32Array(l*c),[l,c]),p=i[0].data,f=u.data;for(let v=1;v<i.dims[0];++v){let x=i[v].data;for(let M=0;M<x.length;++M)x[M]>p[M]&&(p[M]=x[M],f[M]=v)}let m=new Array(i.dims[0]);for(let v=0;v<f.length;++v){let x=f[v];m[x]=x}let y=m.filter(v=>v!==void 0);s.push({segmentation:u,labels:y})}return s}function DB(e,t,r,n){let s=[],a=[],o=[];for(let i=0;i<e.dims[0];++i){let l=e[i],c=t[i],u=Ge(l.data)[1];if(u===n)continue;let f=rt(l.data)[u];f>r&&(s.push(c),a.push(f),o.push(u))}return[s,a,o]}function BB(e,t,r,n=.5,s=.8){let a=[],o=0,i=0,l=t[r].data;for(let u=0;u<e.length;++u)e[u]===r&&(a.push(u),++o),l[u]>=n&&++i;let c=o>0&&i>0;return c&&(c=o/i>s),[c,a]}function UB(e,t,r,n,s,a=null,o=null){let[i,l]=o??e[0].dims,c=new W("int32",new Int32Array(i*l),[i,l]),u=[];if(o!==null)for(let v=0;v<e.length;++v)e[v]=Xp(e[v],o,"bilinear",!1);let p=new Int32Array(e[0].data.length),f=new Float32Array(e[0].data.length);for(let v=0;v<e.length;++v){let x=t[v],M=e[v].data;for(let T=0;T<M.length;++T)M[T]*=x,M[T]>f[T]&&(p[T]=v,f[T]=M[T])}let m=0,y=c.data;for(let v=0;v<r.length;++v){let x=r[v],[M,T]=BB(p,e,v,n,s);if(M){++m;for(let A of T)y[A]=m;u.push({id:m,label_id:x,score:t[v]})}}return[c,u]}function ph(e,t,r=28,n=56*56,s=14*14*4*1280,a=1){if(e<r||t<r){let l=Math.max(r/e,r/t);e=Math.round(e*l),t=Math.round(t*l)}if(Math.max(e,t)/Math.min(e,t)>200)throw new Error(`absolute aspect ratio must be smaller than 200, got ${Math.max(e,t)/Math.min(e,t)}`);let o=Math.round(e/r)*r,i=Math.round(t/r)*r;if(a*o*i>s){let l=Math.sqrt(a*e*t/s);o=Math.max(r,Math.floor(e/l/r)*r),i=Math.max(r,Math.floor(t/l/r)*r)}else if(a*o*i<n){let l=Math.sqrt(n/(a*e*t));o=Math.ceil(e*l/r)*r,i=Math.ceil(t*l/r)*r}return[i,o]}function mM(e,t=.5,r=.5,n=.8,s=null,a=null){s===null&&(ce.warn("`label_ids_to_fuse` unset. No instance will be fused."),s=new Set);let o=e.class_queries_logits??e.logits,l=(e.masks_queries_logits??e.pred_masks).sigmoid(),[c,u,p]=o.dims;if(p-=1,a!==null&&a.length!==c)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let f=[];for(let m=0;m<c;++m){let y=a!==null?a[m]:null,v=o[m],x=l[m],[M,T,A]=DB(v,x,t,p);if(A.length===0){let[O,E]=y??x.dims.slice(-2),K=new W("int32",new Int32Array(O*E).fill(-1),[O,E]);f.push({segmentation:K,segments_info:[]});continue}let[C,S]=UB(M,T,A,r,n,s,y);f.push({segmentation:C,segments_info:S})}return f}function _M(e,t=.5,r=null){throw new Error("`post_process_instance_segmentation` is not yet implemented.")}function ov(e,t){return Math.round(e/t)*t}function zB(e,t,r,n,s){let a=1/0,o=[1,1],i=r*n;for(let l of t){let c=Math.abs(e-l[0]/l[1]);c<a?(a=c,o=l):c===a&&i>.5*s*s*l[0]*l[1]&&(o=l)}return o}function $B(e,t){let r=[],n=new Set;for(let s=e;s<=t;++s)for(let a=1;a<=s;++a)for(let o=1;o<=s;++o){let i=a*o;if(i>=e&&i<=t){let l=a<<16|o;n.has(l)||(n.add(l),r.push([a,o]))}}return r.sort((s,a)=>s[0]*s[1]-a[0]*a[1])}function VB(e,t){let[r,n,s,a]=e.dims,o=Math.floor(s/t),i=Math.floor(a/t),l=t*t*n,c=e.data,u=new Float32Array(r*o*i*l),p=s*a;for(let f=0;f<r;++f){let m=f*n*p,y=f*o*i*l;for(let v=0;v<o;++v)for(let x=0;x<i;++x){let M=y+(v*i+x)*l;for(let T=0;T<t;++T){let A=(v*t+T)*a+x*t;for(let C=0;C<t;++C){let S=A+C;for(let O=0;O<n;++O)u[M++]=c[m+O*p+S]}}}}return new W("float32",u,[r,o*i,l])}function GB(e,t){let[,r,n]=e.dims,s=new BigInt64Array(t);s.fill(1n,0,r);let a=e;if(r<t){let o=new Float32Array(t*n);o.set(e.data),a=new W("float32",o,[1,t,n])}return{padded:a,mask:new W("int64",s,[t])}}function WB(e,t){let n=e.dims.at(-1)-1,s=e.tolist();s.fill(!1,0,1),s.fill(!1,n);let a=t.tolist();return s.map((o,i)=>o?i:null).filter(o=>o!==null).map(o=>a[o])}function qB(e,t,r,n,s,a){let o="";for(let i=0;i<t;++i){for(let l=0;l<r;++l)o+=n+`<row_${i+1}_col_${l+1}>`+s.repeat(e);o+=`
|
|
3
|
+
}`,_=new Function(Object.keys(P),L)(...Object.values(P)),L=`methodCaller<(${b.map(j=>j.name)}) => ${g.name}>`,zP(Object.defineProperty(_,"name",{value:L}))}function qP(d,h){return h>>>=0,(d=It(d>>>0))==It(h)}function WP(d){return(d>>>=0)?(d=Ya(d),zt(globalThis[d])):zt(globalThis)}function HP(d){return d=Ya(d>>>0),zt(t[d])}function KP(d,h){return h>>>=0,d=It(d>>>0),h=It(h),zt(d[h])}function QP(d){9<(d>>>=0)&&(Ur[d+1]+=1)}function Dm(d,h,_,g,b){return du[d>>>0](h>>>0,_>>>0,g>>>0,b>>>0)}function JP(d,h,_,g,b){return Dm(d>>>0,h>>>0,_>>>0,g>>>0,b>>>0)}function XP(){return zt([])}function YP(d){d=It(d>>>0);for(var h=Array(d.length),_=0;_<d.length;_++)h[_]=d[_];return zt(h)}function ZP(d){return zt(Ya(d>>>0))}function e2(){return zt({})}function t2(d){for(var h=It(d>>>=0);h.length;){var _=h.pop();h.pop()(_)}au(d)}function r2(d,h,_){h>>>=0,_>>>=0,d=It(d>>>0),h=It(h),_=It(_),d[h]=_}function n2(d,h){d=wt(d),h>>>=0,d=new Date(1e3*d),(E(),D)[h>>>2>>>0]=d.getUTCSeconds(),(E(),D)[h+4>>>2>>>0]=d.getUTCMinutes(),(E(),D)[h+8>>>2>>>0]=d.getUTCHours(),(E(),D)[h+12>>>2>>>0]=d.getUTCDate(),(E(),D)[h+16>>>2>>>0]=d.getUTCMonth(),(E(),D)[h+20>>>2>>>0]=d.getUTCFullYear()-1900,(E(),D)[h+24>>>2>>>0]=d.getUTCDay(),d=(d.getTime()-Date.UTC(d.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(E(),D)[h+28>>>2>>>0]=d}var Bm=d=>d%4==0&&(d%100!=0||d%400==0),Um=[0,31,60,91,121,152,182,213,244,274,305,335],zm=[0,31,59,90,120,151,181,212,243,273,304,334];function s2(d,h){d=wt(d),h>>>=0,d=new Date(1e3*d),(E(),D)[h>>>2>>>0]=d.getSeconds(),(E(),D)[h+4>>>2>>>0]=d.getMinutes(),(E(),D)[h+8>>>2>>>0]=d.getHours(),(E(),D)[h+12>>>2>>>0]=d.getDate(),(E(),D)[h+16>>>2>>>0]=d.getMonth(),(E(),D)[h+20>>>2>>>0]=d.getFullYear()-1900,(E(),D)[h+24>>>2>>>0]=d.getDay();var _=(Bm(d.getFullYear())?Um:zm)[d.getMonth()]+d.getDate()-1|0;(E(),D)[h+28>>>2>>>0]=_,(E(),D)[h+36>>>2>>>0]=-60*d.getTimezoneOffset(),_=new Date(d.getFullYear(),6,1).getTimezoneOffset();var g=new Date(d.getFullYear(),0,1).getTimezoneOffset();d=0|(_!=g&&d.getTimezoneOffset()==Math.min(g,_)),(E(),D)[h+32>>>2>>>0]=d}function a2(d){d>>>=0;var h=new Date((E(),D)[d+20>>>2>>>0]+1900,(E(),D)[d+16>>>2>>>0],(E(),D)[d+12>>>2>>>0],(E(),D)[d+8>>>2>>>0],(E(),D)[d+4>>>2>>>0],(E(),D)[d>>>2>>>0],0),_=(E(),D)[d+32>>>2>>>0],g=h.getTimezoneOffset(),b=new Date(h.getFullYear(),6,1).getTimezoneOffset(),k=new Date(h.getFullYear(),0,1).getTimezoneOffset(),P=Math.min(k,b);return 0>_?(E(),D)[d+32>>>2>>>0]=+(b!=k&&P==g):0<_!=(P==g)&&(b=Math.max(k,b),h.setTime(h.getTime()+6e4*((0<_?P:b)-g))),(E(),D)[d+24>>>2>>>0]=h.getDay(),_=(Bm(h.getFullYear())?Um:zm)[h.getMonth()]+h.getDate()-1|0,(E(),D)[d+28>>>2>>>0]=_,(E(),D)[d>>>2>>>0]=h.getSeconds(),(E(),D)[d+4>>>2>>>0]=h.getMinutes(),(E(),D)[d+8>>>2>>>0]=h.getHours(),(E(),D)[d+12>>>2>>>0]=h.getDate(),(E(),D)[d+16>>>2>>>0]=h.getMonth(),(E(),D)[d+20>>>2>>>0]=h.getYear(),d=h.getTime(),BigInt(isNaN(d)?-1:d/1e3)}function $m(d,h,_,g,b,k,P){return s?Ie(16,1,d,h,_,g,b,k,P):-52}function Vm(d,h,_,g,b,k){if(s)return Ie(17,1,d,h,_,g,b,k)}var Es={},o2=()=>performance.timeOrigin+performance.now();function Gm(d,h){if(s)return Ie(18,1,d,h);if(Es[d]&&(clearTimeout(Es[d].id),delete Es[d]),!h)return 0;var _=setTimeout(()=>{delete Es[d],yt(()=>w_(d,performance.timeOrigin+performance.now()))},h);return Es[d]={id:_,Ce:h},0}function i2(d,h,_,g){d>>>=0,h>>>=0,_>>>=0,g>>>=0;var b=new Date().getFullYear(),k=new Date(b,0,1).getTimezoneOffset();b=new Date(b,6,1).getTimezoneOffset();var P=Math.max(k,b);(E(),R)[d>>>2>>>0]=60*P,(E(),D)[h>>>2>>>0]=+(k!=b),d=(h=L=>{var j=Math.abs(L);return`UTC${0<=L?"-":"+"}${String(Math.floor(j/60)).padStart(2,"0")}${String(j%60).padStart(2,"0")}`})(k),h=h(b),b<k?(cr(d,_,17),cr(h,g,17)):(cr(d,g,17),cr(h,_,17))}var l2=()=>Date.now(),c2=1;function u2(d,h,_){if(_>>>=0,!(0<=d&&3>=d))return 28;if(d===0)d=Date.now();else{if(!c2)return 52;d=performance.timeOrigin+performance.now()}return d=Math.round(1e6*d),(E(),F)[_>>>3>>>0]=BigInt(d),0}var pu=[],jm=(d,h)=>{pu.length=0;for(var _;_=(E(),Q)[d++>>>0];){var g=_!=105;h+=(g&=_!=112)&&h%8?4:0,pu.push(_==112?(E(),R)[h>>>2>>>0]:_==106?(E(),F)[h>>>3>>>0]:_==105?(E(),D)[h>>>2>>>0]:(E(),ie)[h>>>3>>>0]),h+=g?8:4}return pu};function d2(d,h,_){return d>>>=0,h=jm(h>>>0,_>>>0),Cu[d](...h)}function p2(d,h,_){return d>>>=0,h=jm(h>>>0,_>>>0),Cu[d](...h)}var h2=()=>{};function f2(d,h){return C(In(d>>>0,h>>>0))}var m2=()=>{throw ke+=1,"unwind"};function _2(){return 4294901760}var g2=()=>1,w2=()=>navigator.hardwareConcurrency;function y2(d){d>>>=0;var h=(E(),Q).length;if(d<=h||4294901760<d)return!1;for(var _=1;4>=_;_*=2){var g=h*(1+.2/_);g=Math.min(g,d+100663296);e:{g=(Math.min(4294901760,65536*Math.ceil(Math.max(d,g)/65536))-Tr.buffer.byteLength+65535)/65536|0;try{Tr.grow(g),fe();var b=1;break e}catch{}b=void 0}if(b)return!0}return!1}var tr=d=>{var h=ur(d)+1,_=ro(h);return cr(d,_,h),_},hu=(d,h)=>{(E(),R)[d>>>2>>>0]=h;var _=(E(),R)[d>>>2>>>0];(E(),R)[d+4>>>2>>>0]=(h-_)/4294967296},ks=d=>(E(),R)[d>>>2>>>0]+4294967296*(E(),D)[d+4>>>2>>>0],st=[],v2=(d,h)=>{st[d>>>0]=h},dr=[],Za=[],Rn=(d,h)=>{Za[d]=new Promise(_=>h.finally(()=>_(d)))},ee=d=>{if(d)return st[d>>>0]},b2=(d,h)=>{for(d=(E(),R)[d>>>2>>>0];d;d=(E(),R)[d>>>2>>>0])h[(E(),D)[d+4>>>2>>>0]](d)},eo=(d,h,_)=>{(E(),R)[d>>>2>>>0]=h,(E(),R)[d+4>>>2>>>0]=_},qm=d=>{var h=(E(),R)[d>>>2>>>0];return d=(E(),R)[d+4>>>2>>>0],In(h,d)},pr=d=>{var h=(E(),R)[d>>>2>>>0];return d=(E(),R)[d+4>>>2>>>0],h?In(h,d):d===0?"":void 0},M2=d=>{var h=pr(d+4),_=(_=(E(),R)[d+12>>>2>>>0])?ee(_):"auto";if(d+=16){var g=ee((E(),R)[d+4>>>2>>>0]),b=(E(),R)[d+16>>>2>>>0],k=(E(),R)[d+20>>>2>>>0];if(b){for(var P={},L=0;L<b;++L){var j=k+24*L;P[qm(j+4)]=(E(),ie)[j+16>>>3>>>0]}b=P}else b=void 0;d={module:g,constants:b,entryPoint:pr(d+8)}}else d=void 0;return{label:h,layout:_,compute:d}},Wm=(d,h)=>{function _(g,b){g=d[g],(E(),R)[h+b>>>2>>>0]=g}_("maxTextureDimension1D",4),_("maxTextureDimension2D",8),_("maxTextureDimension3D",12),_("maxTextureArrayLayers",16),_("maxBindGroups",20),_("maxBindGroupsPlusVertexBuffers",24),_("maxBindingsPerBindGroup",28),_("maxDynamicUniformBuffersPerPipelineLayout",32),_("maxDynamicStorageBuffersPerPipelineLayout",36),_("maxSampledTexturesPerShaderStage",40),_("maxSamplersPerShaderStage",44),_("maxStorageBuffersPerShaderStage",48),_("maxStorageTexturesPerShaderStage",52),_("maxUniformBuffersPerShaderStage",56),_("minUniformBufferOffsetAlignment",80),_("minStorageBufferOffsetAlignment",84),hu(h+64,d.maxUniformBufferBindingSize),hu(h+72,d.maxStorageBufferBindingSize),_("maxVertexBuffers",88),hu(h+96,d.maxBufferSize),_("maxVertexAttributes",104),_("maxVertexBufferArrayStride",108),_("maxInterStageShaderVariables",112),_("maxColorAttachments",116),_("maxColorAttachmentBytesPerSample",120),_("maxComputeWorkgroupStorageSize",124),_("maxComputeInvocationsPerWorkgroup",128),_("maxComputeWorkgroupSizeX",132),_("maxComputeWorkgroupSizeY",136),_("maxComputeWorkgroupSizeZ",140),_("maxComputeWorkgroupsPerDimension",144),d.Ae!==void 0&&_("maxImmediateSize",148)},x2=[,"validation","out-of-memory","internal"],T2=[,"compatibility","core"],Hm={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect"},E2=[,"low-power","high-performance"],k2=[,"occlusion","timestamp"],C2={undefined:1,unknown:1,destroyed:2};function A2(d,h,_,g,b,k){h=wt(h),_=wt(_),g>>>=0,b>>>=0,k>>>=0;var P=ee(d>>>0);if(d={},k){var L=(E(),R)[k+12>>>2>>>0];if(L){var j=(E(),R)[k+16>>>2>>>0];d.requiredFeatures=Array.from((E(),R).subarray(j>>>2>>>0,j+4*L>>>2>>>0),te=>Hm[te])}var X=(E(),R)[k+20>>>2>>>0];if(X){let te=function(vt,Ze,zr=!1){Ze=X+Ze,(Ze=(E(),R)[Ze>>>2>>>0])==4294967295||zr&&Ze==0||(Re[vt]=Ze)},Ye=function(vt,Ze){Ze=X+Ze;var zr=(E(),R)[Ze>>>2>>>0],ZR=(E(),R)[Ze+4>>>2>>>0];zr==4294967295&&ZR==4294967295||(Re[vt]=ks(Ze))};var ve=te,xe=Ye,Re={};te("maxTextureDimension1D",4),te("maxTextureDimension2D",8),te("maxTextureDimension3D",12),te("maxTextureArrayLayers",16),te("maxBindGroups",20),te("maxBindGroupsPlusVertexBuffers",24),te("maxDynamicUniformBuffersPerPipelineLayout",32),te("maxDynamicStorageBuffersPerPipelineLayout",36),te("maxSampledTexturesPerShaderStage",40),te("maxSamplersPerShaderStage",44),te("maxStorageBuffersPerShaderStage",48),te("maxStorageTexturesPerShaderStage",52),te("maxUniformBuffersPerShaderStage",56),te("minUniformBufferOffsetAlignment",80),te("minStorageBufferOffsetAlignment",84),Ye("maxUniformBufferBindingSize",64),Ye("maxStorageBufferBindingSize",72),te("maxVertexBuffers",88),Ye("maxBufferSize",96),te("maxVertexAttributes",104),te("maxVertexBufferArrayStride",108),te("maxInterStageShaderVariables",112),te("maxColorAttachments",116),te("maxColorAttachmentBytesPerSample",120),te("maxComputeWorkgroupStorageSize",124),te("maxComputeInvocationsPerWorkgroup",128),te("maxComputeWorkgroupSizeX",132),te("maxComputeWorkgroupSizeY",136),te("maxComputeWorkgroupSizeZ",140),te("maxComputeWorkgroupsPerDimension",144),te("maxImmediateSize",148,!0),d.requiredLimits=Re}(L=(E(),R)[k+24>>>2>>>0])&&(L={label:pr(L+4)},d.defaultQueue=L),d.label=pr(k+4)}ke+=1,Rn(h,P.requestDevice(d).then(te=>{--ke,yt(()=>{st[b>>>0]=te.queue,st[g>>>0]=te,Rn(_,te.lost.then(Ye=>{yt(()=>{te.onuncapturederror=()=>{};var vt=se(),Ze=tr(Ye.message);wu(_,C2[Ye.reason],Ze),ne(vt)})})),te.onuncapturederror=Ye=>{var vt=5;Ye.error instanceof GPUValidationError?vt=2:Ye.error instanceof GPUOutOfMemoryError?vt=3:Ye.error instanceof GPUInternalError&&(vt=4);var Ze=se();Ye=tr(Ye.error.message),f_(g,vt,Ye),ne(Ze)},"adapterInfo"in te||(te.adapterInfo=P.info),bu(h,1,g,0)})},te=>{--ke,yt(()=>{var Ye=se(),vt=tr(te.message);bu(h,3,g,vt),_&&wu(_,4,vt),ne(Ye)})}))}function S2(d){var h=ee(d>>>=0),_=dr[d];if(_){for(var g=0;g<_.length;++g)_[g]();delete dr[d]}h.destroy()}function I2(d,h,_){_>>>=0;var g=ee(d>>>=0);_==4294967295&&(_=void 0);try{var b=g.getMappedRange(h>>>0,_)}catch{return 0}var k=Tu(16,b.byteLength);return(E(),Q).set(new Uint8Array(b),k>>>0),dr[d].push(()=>$t(k)),k}function P2(d,h,_){_>>>=0;var g=ee(d>>>=0);_==4294967295&&(_=void 0);try{var b=g.getMappedRange(h>>>0,_)}catch{return 0}var k=Tu(16,b.byteLength);return(E(),Q).fill(0,k,b.byteLength),dr[d].push(()=>{new Uint8Array(b).set((E(),Q).subarray(k>>>0,k+b.byteLength>>>0)),$t(k)}),k}function R2(d,h,_,g,b){d>>>=0,h=wt(h),_=wt(_),b>>>=0;var k=ee(d);dr[d]=[],b==4294967295&&(b=void 0),ke+=1,Rn(h,k.mapAsync(_,g>>>0,b).then(()=>{--ke,yt(()=>{yu(h,1,0)})},P=>{--ke,yt(()=>{se();var L=tr(P.message);yu(h,P.name==="AbortError"?4:P.name==="OperationError"?3:0,L),delete dr[d]})}))}function O2(d){var h=ee(d>>>=0),_=dr[d];if(_){for(var g=0;g<_.length;++g)_[g]();delete dr[d],h.unmap()}}function L2(d){delete st[d>>>0]}function F2(d,h,_){d>>>=0,h>>>=0,_>>>=0;var g=!!(E(),R)[h+32>>>2>>>0];h={label:pr(h+4),usage:(E(),R)[h+16>>>2>>>0],size:ks(h+24),mappedAtCreation:g},d=ee(d);try{var b=d.createBuffer(h)}catch{return!1}return st[_>>>0]=b,g&&(dr[_]=[]),!0}function N2(d,h,_,g){d>>>=0,h=wt(h),g>>>=0,_=M2(_>>>0),d=ee(d),ke+=1,Rn(h,d.createComputePipelineAsync(_).then(b=>{--ke,yt(()=>{st[g>>>0]=b,gu(h,1,g,0)})},b=>{--ke,yt(()=>{var k=se(),P=tr(b.message);gu(h,b.reason==="validation"?3:b.reason==="internal"?4:0,g,P),ne(k)})}))}function D2(d,h,_){d>>>=0,h>>>=0,_>>>=0;var g=(E(),R)[h>>>2>>>0],b=(E(),D)[g+4>>>2>>>0];h={label:pr(h+4),code:""},b===2&&(h.code=qm(g+8)),d=ee(d).createShaderModule(h),st[_>>>0]=d}var B2=d=>{(d=ee(d)).onuncapturederror=null,d.destroy()};function U2(d,h){h=wt(h),d=ee(d>>>0),ke+=1,Rn(h,d.popErrorScope().then(_=>{--ke,yt(()=>{var g=5;_?_ instanceof GPUValidationError?g=2:_ instanceof GPUOutOfMemoryError?g=3:_ instanceof GPUInternalError&&(g=4):g=1;var b=se(),k=_?tr(_.message):0;vu(h,1,g,k),ne(b)})},_=>{--ke,yt(()=>{var g=se(),b=tr(_.message);vu(h,1,5,b),ne(g)})}))}function z2(d,h,_,g){if(h=wt(h),g>>>=0,_>>>=0){var b={featureLevel:T2[(E(),D)[_+4>>>2>>>0]],powerPreference:E2[(E(),D)[_+8>>>2>>>0]],forceFallbackAdapter:!!(E(),R)[_+12>>>2>>>0]};(d=(E(),R)[_>>>2>>>0])!==0&&(E(),b.Fe=!!(E(),R)[d+8>>>2>>>0])}"gpu"in navigator?(ke+=1,Rn(h,navigator.gpu.requestAdapter(b).then(k=>{--ke,yt(()=>{if(k)st[g>>>0]=k,Cs(h,1,g,0);else{var P=se(),L=tr("WebGPU not available on this browser (requestAdapter returned null)");Cs(h,3,g,L),ne(P)}})},k=>{--ke,yt(()=>{var P=se(),L=tr(k.message);Cs(h,4,g,L),ne(P)})}))):(b=se(),d=tr("WebGPU not available on this browser (navigator.gpu is not available)"),Cs(h,3,g,d),ne(b))}function $2(d,h,_){return d>>>=0,h>>>=0,_>>>=0,Nm(async()=>{var g=[];if(_){var b=(E(),D)[_>>>2>>>0];g.length=h+1,g[h]=new Promise(L=>setTimeout(L,b,0))}else g.length=h;for(var k=0;k<h;++k){var P=ks(d+8*k);if(!(P in Za))return P;g[k]=Za[P]}return g=await Promise.race(g),delete Za[g],g})}var fu,mu={},Km=()=>{if(!fu){var d,h={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:"./this.program"};for(d in mu)mu[d]===void 0?delete h[d]:h[d]=mu[d];var _=[];for(d in h)_.push(`${d}=${h[d]}`);fu=_}return fu};function Qm(d,h){if(s)return Ie(19,1,d,h);d>>>=0,h>>>=0;var _,g=0,b=0;for(_ of Km()){var k=h+g;(E(),R)[d+b>>>2>>>0]=k,g+=cr(_,k,1/0)+1,b+=4}return 0}function Jm(d,h){if(s)return Ie(20,1,d,h);d>>>=0,h>>>=0;var _=Km();for(var g of((E(),R)[d>>>2>>>0]=_.length,d=0,_))d+=ur(g)+1;return(E(),R)[h>>>2>>>0]=d,0}function Xm(d){return s?Ie(21,1,d):52}function Ym(d,h,_,g){return s?Ie(22,1,d,h,_,g):52}function Zm(d,h,_,g){return s?Ie(23,1,d,h,_,g):70}var V2=[null,[],[]];function e_(d,h,_,g){if(s)return Ie(24,1,d,h,_,g);h>>>=0,_>>>=0,g>>>=0;for(var b=0,k=0;k<_;k++){var P=(E(),R)[h>>>2>>>0],L=(E(),R)[h+4>>>2>>>0];h+=8;for(var j=0;j<L;j++){var X=d,ve=(E(),Q)[P+j>>>0],xe=V2[X];ve===0||ve===10?((X===1?A:C)(_m(xe)),xe.length=0):xe.push(ve)}b+=L}return(E(),R)[g>>>2>>>0]=b,0}function G2(d){return d>>>0}function j2(d,h){return Wm(ee(d>>>0).limits,h>>>0),1}function q2(d,h){return ee(d>>>0).features.has(Hm[h])}function W2(d){return BigInt(ee(d>>>0).size)}function H2(d){return BigInt(ee(d>>>0).usage)}function K2(d,h){if(d>>>=0,h>>>=0){var _=pr(h+4);_={label:_,timestampWrites:h=(h=(E(),R)[h+12>>>2>>>0])!==0?{querySet:ee((E(),R)[h+4>>>2>>>0]),beginningOfPassWriteIndex:(E(),R)[h+8>>>2>>>0],endOfPassWriteIndex:(E(),R)[h+12>>>2>>>0]}:void 0}}return h=ee(d),d=c_(0),_=h.beginComputePass(_),st[d>>>0]=_,d}function Q2(d,h,_,g,b,k){_=wt(_),b=wt(b),k=wt(k),ee(d>>>0).copyBufferToBuffer(ee(h>>>0),_,ee(g>>>0),b,k)}function J2(d){var h=ee(d>>>0);return d=i_(0),h=h.finish(),st[d>>>0]=h,d}function X2(d,h,_,g,b,k){k=wt(k),ee(d>>>0).resolveQuerySet(ee(h>>>0),_,g,ee(b>>>0),k)}function Y2(d,h,_,g){ee(d>>>0).dispatchWorkgroups(h,_,g)}function Z2(d,h,_){_=wt(_),ee(d>>>0).dispatchWorkgroupsIndirect(ee(h>>>0),_)}function eR(d){ee(d>>>0).end()}function tR(d,h,_,g,b){g>>>=0,b>>>=0,d=ee(d>>>0),_=ee(_>>>0),g==0?d.setBindGroup(h,_):d.setBindGroup(h,_,(E(),R),b>>>2,g)}function rR(d,h){ee(d>>>0).setPipeline(ee(h>>>0))}function nR(d,h,_){ee(d>>>0).Ee(ee(h>>>0),_)}function sR(d,h){var _=ee(d>>>0);return d=o_(0),h=_.getBindGroupLayout(h),st[d>>>0]=h,d}function aR(d,h){function _(b){var k=(E(),R)[b+8>>>2>>>0],P=(E(),R)[b+32>>>2>>>0],L=(E(),R)[b+36>>>2>>>0],j=0;return b2(b,{327681:X=>{j=(E(),R)[X+8>>>2>>>0]}}),k?((P=ks(b+24))==-1&&(P=void 0),k={buffer:ee(k),offset:ks(b+16),size:P}):k=ee(P||L||j),{binding:(E(),R)[b+4>>>2>>>0],resource:k}}d>>>=0,h={label:pr(4+(h>>>=0)),layout:ee((E(),R)[h+12>>>2>>>0]),entries:function(b,k){for(var P=[],L=0;L<b;++L)P.push(_(k+40*L));return P}((E(),R)[h+16>>>2>>>0],(E(),R)[h+20>>>2>>>0])},d=ee(d);var g=a_(0);return v2(g,d.createBindGroup(h)),g}function oR(d,h){var _;return d>>>=0,(h>>>=0)&&(_={label:pr(h+4)}),h=ee(d),d=l_(0),_=h.createCommandEncoder(_),st[d>>>0]=_,d}function iR(d,h){d>>>=0,h>>>=0,h={type:k2[(E(),D)[h+12>>>2>>>0]],count:(E(),R)[h+16>>>2>>>0]};var _=ee(d);return d=u_(0),h=_.createQuerySet(h),st[d>>>0]=h,d}function lR(d,h){d=ee(d>>>0).adapterInfo,h>>>=0,(E(),R)[h+52>>>2>>>0]=d.subgroupMinSize,(E(),R)[h+56>>>2>>>0]=d.subgroupMaxSize;var _=d.vendor+d.architecture+d.device+d.description,g=ur(_)+1,b=On(g);return b&&cr(_,b,g),_=b,g=ur(d.vendor),eo(h+4,_,g),_+=g,g=ur(d.architecture),eo(h+12,_,g),_+=g,g=ur(d.device),eo(h+20,_,g),eo(h+28,_+g,ur(d.description)),(E(),D)[h+36>>>2>>>0]=2,d=d.isFallbackAdapter?3:4,(E(),D)[h+40>>>2>>>0]=d,(E(),R)[h+44>>>2>>>0]=0,(E(),R)[h+48>>>2>>>0]=0,1}var cR={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"texture-component-swizzle":22,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729};function uR(d,h){h>>>=0;var _=ee(d>>>0);d=On(4*_.features.size);var g=0,b=0;for(let k of _.features)0<=(_=cR[k])&&((E(),D)[d+g>>>2>>>0]=_,g+=4,b++);(E(),R)[h+4>>>2>>>0]=d,(E(),R)[h>>>2>>>0]=b}function dR(d,h){return Wm(ee(d>>>0).limits,h>>>0),1}function pR(d,h){ee(d>>>0).pushErrorScope(x2[h])}function hR(d,h,_){h>>>=0,_>>>=0,d=ee(d>>>0),h=Array.from((E(),D).subarray(_>>>2>>>0,_+4*h>>>2>>>0),g=>ee(g)),d.submit(h)}function fR(d,h,_,g,b){_=wt(_),g>>>=0,b>>>=0,d=ee(d>>>0),h=ee(h>>>0),g=(E(),Q).subarray(g>>>0,g+b>>>0),d.writeBuffer(h,_,g,0,b)}s||function(){for(var d=t.numThreads-1;d--;)cm();Pe.push(async()=>{var h=async function(){if(!s)return Promise.all(xr.map(lm))}();ye++,await h,--ye==0&&We&&(h=We,We=null,h())})}(),s||(Tr=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),fe()),t.wasmBinary&&(p=t.wasmBinary),t.stackSave=()=>se(),t.stackRestore=d=>ne(d),t.stackAlloc=d=>ro(d),t.setValue=function(d,h,_="i8"){switch(_.endsWith("*")&&(_="*"),_){case"i1":case"i8":(E(),V)[d>>>0]=h;break;case"i16":(E(),G)[d>>>1>>>0]=h;break;case"i32":(E(),D)[d>>>2>>>0]=h;break;case"i64":(E(),F)[d>>>3>>>0]=BigInt(h);break;case"float":(E(),re)[d>>>2>>>0]=h;break;case"double":(E(),ie)[d>>>3>>>0]=h;break;case"*":(E(),R)[d>>>2>>>0]=h;break;default:Ne(`invalid type for setValue: ${_}`)}},t.getValue=function(d,h="i8"){switch(h.endsWith("*")&&(h="*"),h){case"i1":case"i8":return(E(),V)[d>>>0];case"i16":return(E(),G)[d>>>1>>>0];case"i32":return(E(),D)[d>>>2>>>0];case"i64":return(E(),F)[d>>>3>>>0];case"float":return(E(),re)[d>>>2>>>0];case"double":return(E(),ie)[d>>>3>>>0];case"*":return(E(),R)[d>>>2>>>0];default:Ne(`invalid type for getValue: ${h}`)}},t.UTF8ToString=In,t.stringToUTF8=cr,t.lengthBytesUTF8=ur;var t_,r_,_u,to,$t,On,n_,s_,a_,o_,i_,l_,c_,u_,d_,p_,h_,gu,wu,yu,vu,Cs,bu,f_,Mu,m_,__,g_,xu,w_,y_,Tu,he,As,v_,ne,ro,se,b_,Eu,M_,x_,T_,ku,E_,k_,C_,A_,S_,I_,P_,R_,O_,L_,F_,N_,D_,B_,U_,z_,$_,V_,G_,j_,q_,W_,H_,K_,Q_,J_,X_,Y_,Z_,eg,tg,rg,ng,sg,ag,og,ig,lg,cg,hr,mR=[An,xs,pm,gm,wm,ym,vm,bm,Mm,xm,Tm,Em,km,Cm,Am,Sm,$m,Vm,Gm,Qm,Jm,Xm,Ym,Zm,e_],Cu={925676:(d,h,_,g,b)=>{if(t===void 0||!t.Uc)return 1;if((d=In(Number(d>>>0))).startsWith("./")&&(d=d.substring(2)),!(d=t.Uc.get(d)))return 2;if(h=Number(h>>>0),_=Number(_>>>0),g=Number(g>>>0),h+_>d.byteLength)return 3;try{let k=d.subarray(h,h+_);switch(b){case 0:(E(),Q).set(k,g>>>0);break;case 1:t.ad?t.ad(g,k):t.oe(g,k);break;default:return 4}return 0}catch{return 4}},926500:(d,h,_)=>{t.Sd(d,(E(),Q).subarray(h>>>0,h+_>>>0))},926564:()=>t.me(),926606:d=>{t.jd(d)},926643:()=>typeof wasmOffsetConverter<"u"};function _R(d,h,_,g){var b=se();try{return R_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function gR(d,h,_){var g=se();try{return S_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function wR(d,h,_){var g=se();try{T_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function yR(d,h){var _=se();try{return ku(d,h)}catch(g){if(ne(_),g!==g+0)throw g;he(1,0)}}function vR(d){var h=se();try{E_(d)}catch(_){if(ne(h),_!==_+0)throw _;he(1,0)}}function bR(d,h,_,g,b,k,P){var L=se();try{return A_(d,h,_,g,b,k,P)}catch(j){if(ne(L),j!==j+0)throw j;he(1,0)}}function MR(d,h){var _=se();try{O_(d,h)}catch(g){if(ne(_),g!==g+0)throw g;he(1,0)}}function xR(d,h,_,g,b,k){var P=se();try{k_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function TR(d,h,_,g){var b=se();try{P_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function ER(d,h,_,g,b,k,P){var L=se();try{F_(d,h,_,g,b,k,P)}catch(j){if(ne(L),j!==j+0)throw j;he(1,0)}}function kR(d,h,_,g,b,k,P){var L=se();try{N_(d,h,_,g,b,k,P)}catch(j){if(ne(L),j!==j+0)throw j;he(1,0)}}function CR(d,h,_,g,b,k,P,L){var j=se();try{q_(d,h,_,g,b,k,P,L)}catch(X){if(ne(j),X!==X+0)throw X;he(1,0)}}function AR(d,h,_,g,b,k,P,L,j,X,ve,xe){var Re=se();try{D_(d,h,_,g,b,k,P,L,j,X,ve,xe)}catch(te){if(ne(Re),te!==te+0)throw te;he(1,0)}}function SR(d,h,_,g,b){var k=se();try{return L_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function IR(d,h,_,g,b){var k=se();try{C_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function PR(d,h,_,g,b,k,P,L){var j=se();try{I_(d,h,_,g,b,k,P,L)}catch(X){if(ne(j),X!==X+0)throw X;he(1,0)}}function RR(d){var h=se();try{return W_(d)}catch(_){if(ne(h),_!==_+0)throw _;he(1,0)}}function OR(d,h,_){var g=se();try{return H_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function LR(d,h){var _=se();try{return ag(d,h)}catch(g){if(ne(_),g!==g+0)throw g;return he(1,0),0n}}function FR(d,h,_,g,b){var k=se();try{K_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function NR(d){var h=se();try{return B_(d)}catch(_){if(ne(h),_!==_+0)throw _;return he(1,0),0n}}function DR(d,h,_,g,b,k){var P=se();try{return G_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function BR(d,h,_,g,b,k){var P=se();try{return Q_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function UR(d,h,_,g,b,k){var P=se();try{return J_(d,h,_,g,b,k)}catch(L){if(ne(P),L!==L+0)throw L;he(1,0)}}function zR(d,h,_,g,b,k,P,L){var j=se();try{return j_(d,h,_,g,b,k,P,L)}catch(X){if(ne(j),X!==X+0)throw X;he(1,0)}}function $R(d,h,_,g,b){var k=se();try{return X_(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;return he(1,0),0n}}function VR(d,h,_,g){var b=se();try{return Y_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function GR(d,h,_,g){var b=se();try{return Z_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function jR(d,h,_,g,b,k,P,L,j,X,ve,xe){var Re=se();try{return eg(d,h,_,g,b,k,P,L,j,X,ve,xe)}catch(te){if(ne(Re),te!==te+0)throw te;he(1,0)}}function qR(d,h,_,g,b,k,P,L,j,X,ve){var xe=se();try{tg(d,h,_,g,b,k,P,L,j,X,ve)}catch(Re){if(ne(xe),Re!==Re+0)throw Re;he(1,0)}}function WR(d,h,_,g,b,k,P,L,j,X,ve,xe,Re,te,Ye,vt){var Ze=se();try{rg(d,h,_,g,b,k,P,L,j,X,ve,xe,Re,te,Ye,vt)}catch(zr){if(ne(Ze),zr!==zr+0)throw zr;he(1,0)}}function HR(d,h,_,g){var b=se();try{return ng(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function KR(d,h,_,g,b){var k=se();try{return sg(d,h,_,g,b)}catch(P){if(ne(k),P!==P+0)throw P;he(1,0)}}function QR(d,h,_){var g=se();try{return z_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;return he(1,0),0n}}function JR(d,h,_){var g=se();try{return U_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function XR(d,h,_){var g=se();try{return $_(d,h,_)}catch(b){if(ne(g),b!==b+0)throw b;he(1,0)}}function YR(d,h,_,g){var b=se();try{V_(d,h,_,g)}catch(k){if(ne(b),k!==k+0)throw k;he(1,0)}}function no(){if(0<ye)We=no;else if(s)y?.(t),H();else{for(var d=Pe;0<d.length;)d.shift()(t);0<ye?We=no:(t.calledRun=!0,S||(H(),y?.(t)))}}return s||(hr=await nt(),no()),t.PTR_SIZE=4,t.webgpuInit=d=>{let h=new WeakMap,_,g,b=1;t.webgpuRegisterDevice=L=>{if(g!==void 0)throw Error("another WebGPU EP inference session is being created.");if(L){var j=h.get(L);if(!j){let X=((ve,xe=0)=>{var Re=h_(xe);return xe=p_(xe,Re),st[Re>>>0]=ve.queue,st[xe>>>0]=ve,xe})(L,j=s_(0));j=[b++,j,X],h.set(L,j)}return _=L,g=j[0],j}_=void 0,g=0};let k=new Map;t.webgpuOnCreateSession=L=>{if(g!==void 0){var j=g;if(g=void 0,L){let X=_u(j);k.set(L,X),j===0&&d(_??ee(X))}_=void 0}},t.webgpuOnReleaseSession=L=>{k.delete(L)};let P=Symbol("gpuBufferMetadata");t.webgpuRegisterBuffer=(L,j,X)=>{if(X)return L[P]=[X,NaN],X;if(X=L[P])return X[1]++,X[0];if((j=k.get(j))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");return j=((ve,xe=0)=>(ve.mapState==="unmapped"||Ne(),xe=d_(xe),st[xe>>>0]=ve,xe))(L,j),L[P]=[j,1],j},t.webgpuUnregisterBuffer=L=>{let j=L[P];if(!j)throw Error("Buffer is not registered");j[1]--,j[1]===0&&(n_(j[0]),delete L[P])},t.webgpuGetBuffer=L=>ee(L),t.webgpuCreateDownloader=(L,j,X)=>{if((X=k.get(X))===void 0)throw Error("Invalid session handle passed to webgpuRegisterBuffer");let ve=ee(X),xe=16*Math.ceil(Number(j)/16);return async()=>{let Re=ve.createBuffer({size:xe,usage:9});try{let te=ve.createCommandEncoder();return te.copyBufferToBuffer(L,0,Re,0,xe),ve.queue.submit([te.finish()]),await Re.mapAsync(GPUMapMode.READ),Re.getMappedRange().slice(0,j)}finally{Re.destroy()}}},t.ad=(L,j)=>{var X=j.buffer;let ve=j.byteOffset,xe=j.byteLength;if(j=16*Math.ceil(Number(xe)/16),L=ee(L),!_){var Re=_u(g);_=ee(Re)}let te=(Re=_.createBuffer({mappedAtCreation:!0,size:j,usage:6})).getMappedRange();new Uint8Array(te).set(new Uint8Array(X,ve,xe)),Re.unmap(),(X=_.createCommandEncoder()).copyBufferToBuffer(Re,0,L,0,j),_.queue.submit([X.finish()]),Re.destroy()}},t.webnnInit=d=>{let h=d[0];[t.me,t.jd,t.webnnEnsureTensor,t.Sd,t.webnnDownloadTensor,t.le,t.webnnEnableTraceEvent]=d.slice(1),t.webnnReleaseTensorId=t.jd,t.webnnUploadTensor=t.Sd,t.webnnRegisterMLContext=t.le,t.webnnOnRunStart=_=>h.onRunStart(_),t.webnnOnRunEnd=h.onRunEnd.bind(h),t.webnnOnReleaseSession=_=>{h.onReleaseSession(_)},t.webnnCreateMLTensorDownloader=(_,g)=>h.createMLTensorDownloader(_,g),t.webnnRegisterMLTensor=(_,g,b,k)=>h.registerMLTensor(_,g,b,k),t.webnnCreateMLContext=_=>h.createMLContext(_),t.webnnRegisterMLConstant=(_,g,b,k,P,L)=>h.registerMLConstant(_,g,b,k,P,t.Uc,L),t.webnnRegisterGraphInput=h.registerGraphInput.bind(h),t.webnnIsGraphInput=h.isGraphInput.bind(h),t.webnnRegisterGraphOutput=h.registerGraphOutput.bind(h),t.webnnIsGraphOutput=h.isGraphOutput.bind(h),t.webnnCreateTemporaryTensor=h.createTemporaryTensor.bind(h),t.webnnIsGraphInputOutputTypeSupported=h.isGraphInputOutputTypeSupported.bind(h)},Y?t:new Promise((d,h)=>{y=d,v=h})}var Vt,hd,kO,CO,AO,SO,me,Ks,IO,Ro,$s,kr,Yr,Cg,ew,tw,PO,rw,RO,$u,et,nw,De,OO,sw,aw,LO,Eo,ow,iw,lw,cw,uw,FO,Jr,Ws,Vu,dw,NO,pw,hw,DO,kt,fd,Gt,fw,Oo,Gu,Zr,en,Ir,Pr,mw,_w,BO,md,UO,zO,$O,VO,GO,ww,tn,_d,yw,ju,qu,vw,jO,bw,Mw,Sg,qO,Wu,ld,Ig,Tt,xw,ko,Pg,Rg,Hu,Og,Ku,Tw,Qu,Ew,gd,Ju,Co,Vs,Xu,Lg,Fg,Ng,wd,Ce,rn,Et,Lo,Me,yd,kw,WO,Dg,Bg,Ug,Ao,Cr,zg,Cw,HO,Xr,Po,Hn,Hs,Fo,vd,bd,cd,Kn,Md,Aw,Sw,KO,$g,Vg,Gg,jg,Iw,qg,pt,Pw,Yu,ud,Zu,Wg,ed,Hg,td,rd,nd,Kg,Rw,QO,Ow,Gs,Qg,Lw,JO,Jg,xd,Td,Ar,Xg,sd,No,Ed,kd,ad,Cd,Ad,Sd,Fw,Sr,Rt,Wn,js,qs,So,od,Io,Kr,Qr,Yg,Nw,Dw,Bw,Uw,zw,$w,Vw,Gw,id,Zg,jw,XO,qw,dd,pd,Ww,YO,ZO,eL,Hw=Ve(()=>{Vt={};hd=Object.defineProperty,kO=Object.getOwnPropertyDescriptor,CO=Object.getOwnPropertyNames,AO=Object.prototype.hasOwnProperty,SO=(e=>typeof $r<"u"?$r:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof $r<"u"?$r:t)[r]}):e)(function(e){if(typeof $r<"u")return $r.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),me=(e,t)=>()=>(e&&(t=e(e=0)),t),Ks=(e,t)=>{for(var r in t)hd(e,r,{get:t[r],enumerable:!0})},IO=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of CO(t))!AO.call(e,s)&&s!==r&&hd(e,s,{get:()=>t[s],enumerable:!(n=kO(t,s))||n.enumerable});return e},Ro=e=>IO(hd({},"__esModule",{value:!0}),e),tw=me(()=>{"use strict";$s=new Map,kr=[],Yr=(e,t,r)=>{if(t&&typeof t.init=="function"&&typeof t.createInferenceSessionHandler=="function"){let n=$s.get(e);if(n===void 0)$s.set(e,{backend:t,priority:r});else{if(n.priority>r)return;if(n.priority===r&&n.backend!==t)throw new Error(`cannot register backend "${e}" using priority ${r}`)}if(r>=0){let s=kr.indexOf(e);s!==-1&&kr.splice(s,1);for(let a=0;a<kr.length;a++)if($s.get(kr[a]).priority<=r){kr.splice(a,0,e);return}kr.push(e)}return}throw new TypeError("not a valid backend")},Cg=async e=>{let t=$s.get(e);if(!t)return"backend not found.";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let r=!!t.initPromise;try{return r||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(n){return r||(t.error=`${n}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},ew=async e=>{let t=e.executionProviders||[],r=t.map(l=>typeof l=="string"?l:l.name),n=r.length===0?kr:r,s,a=[],o=new Set;for(let l of n){let c=await Cg(l);typeof c=="string"?a.push({name:l,err:c}):(s||(s=c),s===c&&o.add(l))}if(!s)throw new Error(`no available backend found. ERR: ${a.map(l=>`[${l.name}] ${l.err}`).join(", ")}`);for(let{name:l,err:c}of a)r.includes(l)&&console.warn(`removing requested execution provider "${l}" from session options because it is not available: ${c}`);let i=t.filter(l=>o.has(typeof l=="string"?l:l.name));return[s,new Proxy(e,{get:(l,c)=>c==="executionProviders"?i:Reflect.get(l,c)})]}}),PO=me(()=>{"use strict";tw()}),RO=me(()=>{"use strict";rw="1.24.0-dev.20251116-b39e144322"}),nw=me(()=>{"use strict";RO(),$u="warning",et={wasm:{},webgl:{},webgpu:{},versions:{common:rw},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);$u=e}},get logLevel(){return $u}},Object.defineProperty(et,"logLevel",{enumerable:!0})}),OO=me(()=>{"use strict";nw(),De=et}),LO=me(()=>{"use strict";sw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[3]):(s=e.dims[3],a=e.dims[2]);let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;i===void 0||i.mean===void 0?l=[255,255,255,255]:typeof i.mean=="number"?l=[i.mean,i.mean,i.mean,i.mean]:(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(l[3]=i.mean[3])),i===void 0||i.bias===void 0?c=[0,0,0,0]:typeof i.bias=="number"?c=[i.bias,i.bias,i.bias,i.bias]:(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(c[3]=i.bias[3]));let u=a*s,p=0,f=u,m=u*2,y=-1;o==="RGBA"?(p=0,f=u,m=u*2,y=u*3):o==="RGB"?(p=0,f=u,m=u*2):o==="RBG"&&(p=0,m=u,f=u*2);for(let v=0;v<a;v++)for(let x=0;x<s;x++){let M=(e.data[p++]-c[0])*l[0],T=(e.data[f++]-c[1])*l[1],A=(e.data[m++]-c[2])*l[2],C=y===-1?255:(e.data[y++]-c[3])*l[3];n.fillStyle="rgba("+M+","+T+","+A+","+C+")",n.fillRect(x,v,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},aw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[1],o=e.dims[3]):(s=e.dims[3],a=e.dims[2],o=e.dims[1]);let i=t!==void 0&&t.format!==void 0?t.format:"RGB",l=t?.norm,c,u;l===void 0||l.mean===void 0?c=[255,255,255,255]:typeof l.mean=="number"?c=[l.mean,l.mean,l.mean,l.mean]:(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(c[3]=l.mean[3])),l===void 0||l.bias===void 0?u=[0,0,0,0]:typeof l.bias=="number"?u=[l.bias,l.bias,l.bias,l.bias]:(u=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(u[3]=l.bias[3]));let p=a*s;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let f=4,m=0,y=1,v=2,x=3,M=0,T=p,A=p*2,C=-1;i==="RGBA"?(M=0,T=p,A=p*2,C=p*3):i==="RGB"?(M=0,T=p,A=p*2):i==="RBG"&&(M=0,A=p,T=p*2),n=r.createImageData(s,a);for(let S=0;S<a*s;m+=f,y+=f,v+=f,x+=f,S++)n.data[m]=(e.data[M++]-u[0])*c[0],n.data[y]=(e.data[T++]-u[1])*c[1],n.data[v]=(e.data[A++]-u[2])*c[2],n.data[x]=C===-1?255:(e.data[C++]-u[3])*c[3]}else throw new Error("Can not access image data");return n}}),FO=me(()=>{"use strict";fd(),Eo=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;typeof s.mean=="number"?a=[s.mean,s.mean,s.mean,s.mean]:a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?o=[s.bias,s.bias,s.bias,s.bias]:o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",c=r*n,u=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),p=4,f=0,m=1,y=2,v=3,x=0,M=c,T=c*2,A=-1;i==="RGB"&&(p=3,f=0,m=1,y=2,v=-1),l==="RGBA"?A=c*3:l==="RBG"?(x=0,T=c,M=c*2):l==="BGR"&&(T=0,M=c,x=c*2);for(let C=0;C<c;C++,f+=p,y+=p,m+=p,v+=p)u[x++]=(e[f]+o[0])/a[0],u[M++]=(e[m]+o[1])/a[1],u[T++]=(e[y]+o[2])/a[2],A!==-1&&v!==-1&&(u[A++]=(e[v]+o[3])/a[3]);return l==="RGBA"?new kt("float32",u,[1,4,r,n]):new kt("float32",u,[1,3,r,n])},ow=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e=="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},c=u=>typeof HTMLCanvasElement<"u"&&u instanceof HTMLCanvasElement||u instanceof OffscreenCanvas?u.getContext("2d"):null;if(r){let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(f=t.resizedHeight,m=t.resizedWidth),t!==void 0){if(i=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=f,i.width=m}else i.tensorFormat="RGBA",i.height=f,i.width=m;p.drawImage(e,0,0),o=p.getImageData(0,0,m,f).data}else throw new Error("Can not access image data")}else if(n){let u,p;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(u=t.resizedHeight,p=t.resizedWidth):(u=e.height,p=e.width),t!==void 0&&(i=t),i.format="RGBA",i.height=u,i.width=p,t!==void 0){let f=l();f.width=p,f.height=u;let m=c(f);if(m!=null)m.putImageData(e,0,0),o=m.getImageData(0,0,p,u).data;else throw new Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;return p.drawImage(e,0,0,m,f),o=p.getImageData(0,0,m,f).data,i.height=f,i.width=m,Eo(o,i)}else throw new Error("Can not access image data")}else{if(a)return new Promise((u,p)=>{let f=l(),m=c(f);if(!e||!m)return p();let y=new Image;y.crossOrigin="Anonymous",y.src=e,y.onload=()=>{f.width=y.width,f.height=y.height,m.drawImage(y,0,0,f.width,f.height);let v=m.getImageData(0,0,f.width,f.height);i.height=f.height,i.width=f.width,u(Eo(v.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(o!==void 0)return Eo(o,i);throw new Error("Input data provided is not supported - aborted tensor creation")},iw=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t,o=[1,n,r,4];return new kt({location:"texture",type:"float32",texture:e,dims:o,download:s,dispose:a})},lw=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new kt({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},cw=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new kt({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},uw=(e,t,r)=>new kt({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})}),NO=me(()=>{"use strict";Jr=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Ws=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),Vu=!1,dw=()=>{if(!Vu){Vu=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;e&&(Jr.set("int64",BigInt64Array),Ws.set(BigInt64Array,"int64")),t&&(Jr.set("uint64",BigUint64Array),Ws.set(BigUint64Array,"uint64")),n?(Jr.set("float16",r),Ws.set(r,"float16")):Jr.set("float16",Uint16Array)}}}),DO=me(()=>{"use strict";fd(),pw=e=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw new TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},hw=(e,t)=>{switch(e.location){case"cpu":return new kt(e.type,e.data,t);case"cpu-pinned":return new kt({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new kt({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new kt({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new kt({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),fd=me(()=>{"use strict";LO(),FO(),NO(),DO(),kt=class{constructor(e,t,r){dw();let n,s;if(typeof e=="object"&&"location"in e)switch(this.dataLocation=e.location,n=e.type,s=e.dims,e.location){case"cpu-pinned":{let o=Jr.get(n);if(!o)throw new TypeError(`unsupported type "${n}" to create tensor from pinned buffer`);if(!(e.data instanceof o))throw new TypeError(`buffer should be of type ${o.name}`);this.cpuData=e.data;break}case"texture":{if(n!=="float32")throw new TypeError(`unsupported type "${n}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break}case"gpu-buffer":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break}case"ml-tensor":{if(n!=="float32"&&n!=="float16"&&n!=="int32"&&n!=="int64"&&n!=="uint32"&&n!=="uint64"&&n!=="int8"&&n!=="uint8"&&n!=="bool"&&n!=="uint4"&&n!=="int4")throw new TypeError(`unsupported type "${n}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let o,i;if(typeof e=="string")if(n=e,i=r,e==="string"){if(!Array.isArray(t))throw new TypeError("A string tensor's data must be a string array.");o=t}else{let l=Jr.get(e);if(l===void 0)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e==="float16"&&l===Uint16Array||e==="uint4"||e==="int4")throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${l.name} as data.`);e==="uint64"||e==="int64"?o=l.from(t,BigInt):o=l.from(t)}else if(t instanceof l)o=t;else if(t instanceof Uint8ClampedArray)if(e==="uint8")o=Uint8Array.from(t);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(e==="float16"&&t instanceof Uint16Array&&l!==Uint16Array)o=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw new TypeError(`A ${n} tensor's data must be type of ${l}`)}else if(i=t,Array.isArray(e)){if(e.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let l=typeof e[0];if(l==="string")n="string",o=e;else if(l==="boolean")n="bool",o=Uint8Array.from(e);else throw new TypeError(`Invalid element type of data array: ${l}.`)}else if(e instanceof Uint8ClampedArray)n="uint8",o=Uint8Array.from(e);else{let l=Ws.get(e.constructor);if(l===void 0)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);n=l,o=e}if(i===void 0)i=[o.length];else if(!Array.isArray(i))throw new TypeError("A tensor's dims must be a number array");s=i,this.cpuData=o,this.dataLocation="cpu"}let a=pw(s);if(this.cpuData&&a!==this.cpuData.length&&!((n==="uint4"||n==="int4")&&Math.ceil(a/2)===this.cpuData.length))throw new Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=n,this.dims=s,this.size=a}static async fromImage(e,t){return ow(e,t)}static fromTexture(e,t){return iw(e,t)}static fromGpuBuffer(e,t){return lw(e,t)}static fromMLTensor(e,t){return cw(e,t)}static fromPinnedBuffer(e,t,r){return uw(e,t,r)}toDataURL(e){return sw(this,e)}toImageData(e){return aw(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return hw(this,e)}}}),fw=me(()=>{"use strict";fd(),Gt=kt}),mw=me(()=>{"use strict";nw(),Oo=(e,t)=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||console.timeStamp(`${e}::ORT::${t}`)},Gu=(e,t)=>{let r=new Error().stack?.split(/\r\n|\r|\n/g)||[],n=!1;for(let s=0;s<r.length;s++){if(n&&!r[s].includes("TRACE_FUNC")){let a=`FUNC_${e}::${r[s].trim().split(" ")[1]}`;t&&(a+=`::${t}`),Oo("CPU",a);return}r[s].includes("TRACE_FUNC")&&(n=!0)}},Zr=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||Gu("BEGIN",e)},en=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||Gu("END",e)},Ir=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||console.time(`ORT::${e}`)},Pr=e=>{(typeof et.trace>"u"?!et.wasm.trace:!et.trace)||console.timeEnd(`ORT::${e}`)}}),BO=me(()=>{"use strict";tw(),fw(),mw(),_w=class gw{constructor(t){this.handler=t}async run(t,r,n){Zr(),Ir("InferenceSession.run");let s={},a={};if(typeof t!="object"||t===null||t instanceof Gt||Array.isArray(t))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let o=!0;if(typeof r=="object"){if(r===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(r instanceof Gt)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(r)){if(r.length===0)throw new TypeError("'fetches' cannot be an empty array.");o=!1;for(let c of r){if(typeof c!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(c)===-1)throw new RangeError(`'fetches' contains invalid output name: ${c}.`);s[c]=null}if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else{let c=!1,u=Object.getOwnPropertyNames(r);for(let p of this.outputNames)if(u.indexOf(p)!==-1){let f=r[p];(f===null||f instanceof Gt)&&(c=!0,o=!1,s[p]=f)}if(c){if(typeof n=="object"&&n!==null)a=n;else if(typeof n<"u")throw new TypeError("'options' must be an object.")}else a=r}}else if(typeof r<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let c of this.inputNames)if(typeof t[c]>"u")throw new Error(`input '${c}' is missing in 'feeds'.`);if(o)for(let c of this.outputNames)s[c]=null;let i=await this.handler.run(t,s,a),l={};for(let c in i)if(Object.hasOwnProperty.call(i,c)){let u=i[c];u instanceof Gt?l[c]=u:l[c]=new Gt(u.type,u.data,u.dims)}return Pr("InferenceSession.run"),en(),l}async release(){return this.handler.dispose()}static async create(t,r,n,s){Zr(),Ir("InferenceSession.create");let a,o={};if(typeof t=="string"){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof Uint8Array){if(a=t,typeof r=="object"&&r!==null)o=r;else if(typeof r<"u")throw new TypeError("'options' must be an object.")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer){let u=t,p=0,f=t.byteLength;if(typeof r=="object"&&r!==null)o=r;else if(typeof r=="number"){if(p=r,!Number.isSafeInteger(p))throw new RangeError("'byteOffset' must be an integer.");if(p<0||p>=u.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${u.byteLength}).`);if(f=t.byteLength-p,typeof n=="number"){if(f=n,!Number.isSafeInteger(f))throw new RangeError("'byteLength' must be an integer.");if(f<=0||p+f>u.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${u.byteLength-p}].`);if(typeof s=="object"&&s!==null)o=s;else if(typeof s<"u")throw new TypeError("'options' must be an object.")}else if(typeof n<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof r<"u")throw new TypeError("'options' must be an object.");a=new Uint8Array(u,p,f)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[i,l]=await ew(o),c=await i.createInferenceSessionHandler(a,l);return Pr("InferenceSession.create"),en(),new gw(c)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),UO=me(()=>{"use strict";BO(),md=_w}),zO=me(()=>{"use strict"}),$O=me(()=>{"use strict"}),VO=me(()=>{"use strict"}),GO=me(()=>{"use strict"}),ww={};Ks(ww,{InferenceSession:()=>md,TRACE:()=>Oo,TRACE_EVENT_BEGIN:()=>Ir,TRACE_EVENT_END:()=>Pr,TRACE_FUNC_BEGIN:()=>Zr,TRACE_FUNC_END:()=>en,Tensor:()=>Gt,env:()=>De,registerBackend:()=>Yr});tn=me(()=>{"use strict";PO(),OO(),UO(),fw(),zO(),$O(),mw(),VO(),GO()}),_d=me(()=>{"use strict"}),yw={};Ks(yw,{default:()=>vw});jO=me(()=>{"use strict";Fw(),rn(),gd(),ju="ort-wasm-proxy-worker",qu=globalThis.self?.name===ju,qu&&(self.onmessage=e=>{let{type:t,in:r}=e.data;try{switch(t){case"init-wasm":wd(r.wasm).then(()=>{xd(r).then(()=>{postMessage({type:t})},n=>{postMessage({type:t,err:n})})},n=>{postMessage({type:t,err:n})});break;case"init-ep":{let{epName:n,env:s}=r;Td(s,n).then(()=>{postMessage({type:t})},a=>{postMessage({type:t,err:a})});break}case"copy-from":{let{buffer:n}=r,s=No(n);postMessage({type:t,out:s});break}case"create":{let{model:n,options:s}=r;Ed(n,s).then(a=>{postMessage({type:t,out:a})},a=>{postMessage({type:t,err:a})});break}case"release":kd(r),postMessage({type:t});break;case"run":{let{sessionId:n,inputIndices:s,inputs:a,outputIndices:o,options:i}=r;Cd(n,s,a,o,new Array(o.length).fill(null),i).then(l=>{l.some(c=>c[3]!=="cpu")?postMessage({type:t,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:t,out:l},Sd([...a,...l]))},l=>{postMessage({type:t,err:l})});break}case"end-profiling":Ad(r),postMessage({type:t});break;default:}}catch(n){postMessage({type:t,err:n})}}),vw=qu?null:e=>new Worker(e??Tt,{type:"module",name:ju})}),bw={};Ks(bw,{default:()=>Mw});qO=me(()=>{"use strict";Mw=Ag,Sg=globalThis.self?.name?.startsWith("em-pthread"),Sg&&Ag()}),gd=me(()=>{"use strict";_d(),Wu=typeof location>"u"?void 0:location.origin,ld=Vt.url>"file:"&&Vt.url<"file;",Ig=()=>{if(ld){let e=URL;return new URL(new e("ort.webgpu.bundle.min.mjs",Vt.url).href,Wu).href}return Vt.url},Tt=Ig(),xw=()=>{if(Tt&&!Tt.startsWith("blob:"))return Tt.substring(0,Tt.lastIndexOf("/")+1)},ko=(e,t)=>{try{let r=t??Tt;return(r?new URL(e,r):new URL(e)).origin===Wu}catch{return!1}},Pg=(e,t)=>{let r=t??Tt;try{return(r?new URL(e,r):new URL(e)).href}catch{return}},Rg=(e,t)=>`${t??"./"}${e}`,Hu=async e=>{let t=await(await fetch(e,{credentials:"same-origin"})).blob();return URL.createObjectURL(t)},Og=async e=>(await import(e)).default,Ku=(jO(),Ro(yw)).default,Tw=async()=>{if(!Tt)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(ko(Tt))return[void 0,Ku()];let e=await Hu(Tt);return[e,Ku(e)]},Qu=(qO(),Ro(bw)).default,Ew=async(e,t,r,n)=>{let s=Qu&&!(e||t);if(s)if(Tt)s=ko(Tt)||n&&!r;else if(n&&!r)s=!0;else throw new Error("cannot determine the script source URL.");if(s)return[void 0,Qu];{let a="ort-wasm-simd-threaded.asyncify.mjs",o=e??Pg(a,t),i=r&&o&&!ko(o,t),l=i?await Hu(o):o??Rg(a,t);return[i?l:void 0,await Og(l)]}}}),rn=me(()=>{"use strict";gd(),Co=!1,Vs=!1,Xu=!1,Lg=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Fg=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Ng=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},wd=async e=>{if(Co)return Promise.resolve();if(Vs)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Xu)throw new Error("previous call to 'initializeWebAssembly()' failed.");Vs=!0;let t=e.initTimeout,r=e.numThreads;if(e.simd!==!1){if(e.simd==="relaxed"){if(!Ng())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Fg())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let n=Lg();r>1&&!n&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+r+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),e.numThreads=r=1);let s=e.wasmPaths,a=typeof s=="string"?s:void 0,o=s?.mjs,i=o?.href??o,l=s?.wasm,c=l?.href??l,u=e.wasmBinary,[p,f]=await Ew(i,a,r>1,!!u||!!c),m=!1,y=[];if(t>0&&y.push(new Promise(v=>{setTimeout(()=>{m=!0,v()},t)})),y.push(new Promise((v,x)=>{let M={numThreads:r};if(u)M.wasmBinary=u,M.locateFile=T=>T;else if(c||a)M.locateFile=T=>c??a+T;else if(i&&i.indexOf("blob:")!==0)M.locateFile=T=>new URL(T,i).href;else if(p){let T=xw();T&&(M.locateFile=A=>T+A)}f(M).then(T=>{Vs=!1,Co=!0,Ju=T,v(),p&&URL.revokeObjectURL(p)},T=>{Vs=!1,Xu=!0,x(T)})})),await Promise.race(y),m)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},Ce=()=>{if(Co&&Ju)return Ju;throw new Error("WebAssembly is not initialized yet.")}}),yd=me(()=>{"use strict";rn(),Et=(e,t)=>{let r=Ce(),n=r.lengthBytesUTF8(e)+1,s=r._malloc(n);return r.stringToUTF8(e,s,n),t.push(s),s},Lo=(e,t,r,n)=>{if(typeof e=="object"&&e!==null){if(r.has(e))throw new Error("Circular reference in options");r.add(e)}Object.entries(e).forEach(([s,a])=>{let o=t?t+s:s;if(typeof a=="object")Lo(a,o+".",r,n);else if(typeof a=="string"||typeof a=="number")n(o,a.toString());else if(typeof a=="boolean")n(o,a?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof a}`)})},Me=e=>{let t=Ce(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetLastError(s,s+n);let a=Number(t.getValue(s,n===4?"i32":"i64")),o=t.getValue(s+n,"*"),i=o?t.UTF8ToString(o):"";throw new Error(`${e} ERROR_CODE: ${a}, ERROR_MESSAGE: ${i}`)}finally{t.stackRestore(r)}}}),WO=me(()=>{"use strict";rn(),yd(),kw=e=>{let t=Ce(),r=0,n=[],s=e||{};try{if(e?.logSeverityLevel===void 0)s.logSeverityLevel=2;else if(typeof e.logSeverityLevel!="number"||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)s.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!="number"||!Number.isInteger(e.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(s.terminate=!1);let a=0;return e?.tag!==void 0&&(a=Et(e.tag,n)),r=t._OrtCreateRunOptions(s.logSeverityLevel,s.logVerbosityLevel,!!s.terminate,a),r===0&&Me("Can't create run options."),e?.extra!==void 0&&Lo(e.extra,"",new WeakSet,(o,i)=>{let l=Et(o,n),c=Et(i,n);t._OrtAddRunConfigEntry(r,l,c)!==0&&Me(`Can't set a run config entry: ${o} - ${i}.`)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseRunOptions(r),n.forEach(o=>t._free(o)),a}}}),HO=me(()=>{"use strict";rn(),yd(),Dg=e=>{switch(e){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${e}`)}},Bg=e=>{switch(e){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${e}`)}},Ug=e=>{e.extra||(e.extra={}),e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly="1"),e.executionProviders&&e.executionProviders.some(r=>(typeof r=="string"?r:r.name)==="webgpu")&&(e.enableMemPattern=!1)},Ao=(e,t,r,n)=>{let s=Et(t,n),a=Et(r,n);Ce()._OrtAddSessionConfigEntry(e,s,a)!==0&&Me(`Can't set a session config entry: ${t} - ${r}.`)},Cr=(e,t,r,n)=>{let s=Et(t,n),a=Et(r,n);e.push([s,a])},zg=async(e,t,r)=>{let n=t.executionProviders;for(let s of n){let a=typeof s=="string"?s:s.name,o=[];switch(a){case"webnn":if(a="WEBNN",typeof s!="string"){let p=s?.deviceType;p&&Ao(e,"deviceType",p,r)}break;case"webgpu":{a="WebGPU";let p;if(typeof s!="string"){let m=s;if(m.device)if(typeof GPUDevice<"u"&&m.device instanceof GPUDevice)p=m.device;else throw new Error("Invalid GPU device set in WebGPU EP options.");let{enableGraphCapture:y}=t;if(typeof y=="boolean"&&y&&Cr(o,"enableGraphCapture","1",r),typeof m.preferredLayout=="string"&&Cr(o,"preferredLayout",m.preferredLayout,r),m.forceCpuNodeNames){let v=Array.isArray(m.forceCpuNodeNames)?m.forceCpuNodeNames:[m.forceCpuNodeNames];Cr(o,"forceCpuNodeNames",v.join(`
|
|
4
|
+
`),r)}m.validationMode&&Cr(o,"validationMode",m.validationMode,r)}let f=Ce().webgpuRegisterDevice(p);if(f){let[m,y,v]=f;Cr(o,"deviceId",m.toString(),r),Cr(o,"webgpuInstance",y.toString(),r),Cr(o,"webgpuDevice",v.toString(),r)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${a}`)}let i=Et(a,r),l=o.length,c=0,u=0;if(l>0){c=Ce()._malloc(l*Ce().PTR_SIZE),r.push(c),u=Ce()._malloc(l*Ce().PTR_SIZE),r.push(u);for(let p=0;p<l;p++)Ce().setValue(c+p*Ce().PTR_SIZE,o[p][0],"*"),Ce().setValue(u+p*Ce().PTR_SIZE,o[p][1],"*")}await Ce()._OrtAppendExecutionProvider(e,i,c,u,l)!==0&&Me(`Can't append execution provider: ${a}.`)}},Cw=async e=>{let t=Ce(),r=0,n=[],s=e||{};Ug(s);try{let a=Dg(s.graphOptimizationLevel??"all"),o=Bg(s.executionMode??"sequential"),i=typeof s.logId=="string"?Et(s.logId,n):0,l=s.logSeverityLevel??2;if(!Number.isInteger(l)||l<0||l>4)throw new Error(`log severity level is not valid: ${l}`);let c=s.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw new Error(`log verbosity level is not valid: ${c}`);let u=typeof s.optimizedModelFilePath=="string"?Et(s.optimizedModelFilePath,n):0;if(r=t._OrtCreateSessionOptions(a,!!s.enableCpuMemArena,!!s.enableMemPattern,o,!!s.enableProfiling,0,i,l,c,u),r===0&&Me("Can't create session options."),s.executionProviders&&await zg(r,s,n),s.enableGraphCapture!==void 0){if(typeof s.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${s.enableGraphCapture}`);Ao(r,"enableGraphCapture",s.enableGraphCapture.toString(),n)}if(s.freeDimensionOverrides)for(let[p,f]of Object.entries(s.freeDimensionOverrides)){if(typeof p!="string")throw new Error(`free dimension override name must be a string: ${p}`);if(typeof f!="number"||!Number.isInteger(f)||f<0)throw new Error(`free dimension override value must be a non-negative integer: ${f}`);let m=Et(p,n);t._OrtAddFreeDimensionOverride(r,m,f)!==0&&Me(`Can't set a free dimension override: ${p} - ${f}.`)}return s.extra!==void 0&&Lo(s.extra,"",new WeakSet,(p,f)=>{Ao(r,p,f,n)}),[r,n]}catch(a){throw r!==0&&t._OrtReleaseSessionOptions(r)!==0&&Me("Can't release session options."),n.forEach(o=>t._free(o)),a}}}),Kn=me(()=>{"use strict";Xr=e=>{switch(e){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${e}`)}},Po=e=>{switch(e){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${e}`)}},Hn=(e,t)=>{let r=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],n=typeof t=="number"?t:t.reduce((s,a)=>s*a,1);return r>0?Math.ceil(n*r):void 0},Hs=e=>{switch(e){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${e}`)}},Fo=e=>{switch(e){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${e}`)}},vd=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",bd=e=>e==="float32"||e==="float16"||e==="int32"||e==="int64"||e==="uint32"||e==="uint64"||e==="int8"||e==="uint8"||e==="bool"||e==="uint4"||e==="int4",cd=e=>{switch(e){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${e}`)}}}),Aw=me(()=>{"use strict";_d(),Md=async e=>{if(typeof e=="string"){let t=await fetch(e);if(!t.ok)throw new Error(`failed to load external data file: ${e}`);let r=t.headers.get("Content-Length"),n=r?parseInt(r,10):0;if(n<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${e}, no response body.`);let s=t.body.getReader(),a;try{a=new ArrayBuffer(n)}catch(i){if(i instanceof RangeError){let l=Math.ceil(n/65536);a=new WebAssembly.Memory({initial:l,maximum:l}).buffer}else throw i}let o=0;for(;;){let{done:i,value:l}=await s.read();if(i)break;let c=l.byteLength;new Uint8Array(a,o,c).set(l),o+=c}return new Uint8Array(a,0,n)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),KO=me(()=>{"use strict";Kn(),Sw=(e,t)=>new(Hs(t))(e)}),Pw=me(()=>{"use strict";Kn(),$g=["V","I","W","E","F"],Vg=(e,t)=>{console.log(`[${$g[e]},${new Date().toISOString()}]${t}`)},Iw=(e,t)=>{Gg=e,jg=t},qg=(e,t)=>{let r=Fo(e),n=Fo(Gg);r>=n&&Vg(r,typeof t=="function"?t():t)},pt=(...e)=>{jg&&qg(...e)}}),QO=me(()=>{"use strict";Kn(),Pw(),Yu=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),ud=(e,t)=>{if(t==="int32")return e;let r=Yu.get(t);if(!r)throw new Error(`WebNN backend does not support data type: ${t}`);let n=r/8;if(e.byteLength%n!==0)throw new Error(`Invalid Uint8Array length - must be a multiple of ${n}.`);let s=e.byteLength/n,a=new(Hs(t))(e.buffer,e.byteOffset,s);switch(t){case"int64":case"uint64":{let o=new Int32Array(s);for(let i=0;i<s;i++){let l=a[i];if(l>2147483647n||l<-2147483648n)throw new Error("Can not convert int64 data to int32 - value out of range.");o[i]=Number(l)}return new Uint8Array(o.buffer)}case"int8":case"uint8":case"uint32":{if(t==="uint32"&&a.some(i=>i>2147483647))throw new Error("Can not convert uint32 data to int32 - value out of range.");let o=Int32Array.from(a,Number);return new Uint8Array(o.buffer)}default:throw new Error(`Unsupported data conversion from ${t} to 'int32'`)}},Zu=(e,t)=>{if(t==="int32")return e;if(e.byteLength%4!==0)throw new Error("Invalid Uint8Array length - must be a multiple of 4 (int32).");let r=e.byteLength/4,n=new Int32Array(e.buffer,e.byteOffset,r);switch(t){case"int64":{let s=BigInt64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"uint64":{if(n.some(a=>a<0))throw new Error("Can not convert int32 data to uin64 - negative value found.");let s=BigUint64Array.from(n,BigInt);return new Uint8Array(s.buffer)}case"int8":{if(n.some(a=>a<-128||a>127))throw new Error("Can not convert int32 data to int8 - value out of range.");let s=Int8Array.from(n,Number);return new Uint8Array(s.buffer)}case"uint8":{if(n.some(s=>s<0||s>255))throw new Error("Can not convert int32 data to uint8 - value out of range.");return Uint8Array.from(n,Number)}case"uint32":{if(n.some(a=>a<0))throw new Error("Can not convert int32 data to uint32 - negative value found.");let s=Uint32Array.from(n,Number);return new Uint8Array(s.buffer)}default:throw new Error(`Unsupported data conversion from 'int32' to ${t}`)}},Wg=1,ed=()=>Wg++,Hg=new Map([["int8","int32"],["uint8","int32"],["uint32","int32"],["int64","int32"]]),td=(e,t)=>{let r=Yu.get(e);if(!r)throw new Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((n,s)=>n*s)*r/8):0},rd=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:r,tensor:n,dataType:s,shape:a,fallbackDataType:o}=e;this.sessionId=t,this.mlContext=r,this.mlTensor=n,this.dataType=s,this.tensorShape=a,this.fallbackDataType=o}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return td(this.dataType,this.tensorShape)}destroy(){pt("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let t=await this.mlContext.readTensor(this.mlTensor),r=Zu(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(r);return}else return r.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,r){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===r.length&&this.tensorShape.every((n,s)=>n===r[s])}setIsDataConverted(e){this.isDataConverted=e}},nd=class{constructor(e,t){this.tensorManager=e,this.wrapper=t}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,t,r,n){let s=this.tensorManager.getMLContext(e),a=this.tensorManager.getMLOpSupportLimits(e),o;if(!a?.input.dataTypes.includes(t)){if(o=Hg.get(t),!o||a?.input.dataTypes.includes(o))throw new Error(`WebNN backend does not support data type: ${t}`);pt("verbose",()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${o}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(s,t,r))return this.wrapper.tensor;if(n){if(this.wrapper.byteLength!==td(t,r))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let i=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,r,i,!0,!0,o),n&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let t=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType==="int32")t=ud(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw new Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else pt("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(t):this.activeUpload=new Uint8Array(t)}async download(e){if(this.activeUpload){let t=this.wrapper?.isDataConverted?Zu(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(t):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(t);return}else return t.buffer}if(!this.wrapper)throw new Error("Tensor has not been created.");return e?this.wrapper.read(e):this.wrapper.read()}},Kg=class{constructor(e){this.backend=e,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(e){let t=this.backend.getMLContext(e);if(!t)throw new Error("MLContext not found for session.");return t}getMLOpSupportLimits(e){return this.backend.getMLOpSupportLimits(e)}reserveTensorId(){let e=ed();return this.tensorTrackersById.set(e,new nd(this)),e}releaseTensorId(e){let t=this.tensorTrackersById.get(e);t&&(this.tensorTrackersById.delete(e),t.tensorWrapper&&this.releaseTensor(t.tensorWrapper))}async ensureTensor(e,t,r,n,s){pt("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${r}, shape: ${n}, copyOld: ${s}}`);let a=this.tensorTrackersById.get(t);if(!a)throw new Error("Tensor not found.");return a.ensureTensor(e,r,n,s)}upload(e,t){let r=this.tensorTrackersById.get(e);if(!r)throw new Error("Tensor not found.");r.upload(t)}async download(e,t){pt("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let r=this.tensorTrackersById.get(e);if(!r)throw new Error("Tensor not found.");return r.download(t)}releaseTensorsForSession(e){for(let t of this.freeTensors)t.sessionId===e&&t.destroy();this.freeTensors=this.freeTensors.filter(t=>t.sessionId!==e)}registerTensor(e,t,r,n){let s=this.getMLContext(e),a=ed(),o=new rd({sessionId:e,context:s,tensor:t,dataType:r,shape:n});return this.tensorTrackersById.set(a,new nd(this,o)),this.externalTensors.add(o),a}async getCachedTensor(e,t,r,n,s,a,o){let i=this.getMLContext(e);for(let[c,u]of this.freeTensors.entries())if(u.canReuseTensor(i,t,r)){pt("verbose",()=>`[WebNN] Reusing tensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}`);let p=this.freeTensors.splice(c,1)[0];return p.sessionId=e,p}pt("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:""} shape: ${r}}`);let l=await i.createTensor({dataType:o??t,shape:r,dimensions:r,usage:n,writable:s,readable:a});return new rd({sessionId:e,context:i,tensor:l,dataType:t,shape:r,fallbackDataType:o})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Rw=(...e)=>new Kg(...e)}),Ow={};Ks(Ow,{WebNNBackend:()=>Lw});JO=me(()=>{"use strict";Kn(),rn(),KO(),QO(),Pw(),Gs=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),Qg=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let r=Object.keys(e).sort(),n=Object.keys(t).sort();return r.length===n.length&&r.every((s,a)=>s===n[a]&&e[s]===t[s])},Lw=class{constructor(e){this.tensorManager=Rw(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,this.mlOpSupportLimitsBySessionId=new Map,Iw(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(e){pt("verbose",()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){pt("verbose",()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let r of t)pt("verbose",()=>`[WebNN] releasing temporary tensor {tensorId: ${r}}`),this.tensorManager.releaseTensorId(r);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let r=this.mlContextCache.findIndex(n=>n.gpuDevice===e);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:n}),n}}else if(e===void 0){let r=this.mlContextCache.findIndex(n=>n.options===void 0&&n.gpuDevice===void 0);if(r!==-1)return this.mlContextCache[r].mlContext;{let n=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:n}),n}}let t=this.mlContextCache.findIndex(r=>Qg(r.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let r=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:r}),r}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let r=this.sessionIdsByMLContext.get(t);r||(r=new Set,this.sessionIdsByMLContext.set(t,r)),r.add(e),this.mlOpSupportLimitsBySessionId.has(e)||this.mlOpSupportLimitsBySessionId.set(e,t.opSupportLimits()),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let t=this.mlContextBySessionId.get(e);if(!t)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e),this.mlOpSupportLimitsBySessionId.delete(e);let r=this.sessionIdsByMLContext.get(t);if(r.delete(e),r.size===0){this.sessionIdsByMLContext.delete(t);let n=this.mlContextCache.findIndex(s=>s.mlContext===t);n!==-1&&this.mlContextCache.splice(n,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}getMLOpSupportLimits(e){return this.mlOpSupportLimitsBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){pt("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,r,n,s){let a=Gs.get(r);if(!a)throw new Error(`Unsupported ONNX data type: ${r}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,a,n,s)}async createTemporaryTensor(e,t,r){pt("verbose",()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${r}}`);let n=Gs.get(t);if(!n)throw new Error(`Unsupported ONNX data type: ${t}`);let s=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,s,n,r,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(s):this.temporarySessionTensorIds.set(e,[s]),s}uploadTensor(e,t){if(!Ce().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");pt("verbose",()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${t.byteLength}}`),this.tensorManager.upload(e,t)}async downloadTensor(e,t){return this.tensorManager.download(e,t)}createMLTensorDownloader(e,t){return async()=>{let r=await this.tensorManager.download(e);return Sw(r,t)}}registerMLTensor(e,t,r,n){let s=Gs.get(r);if(!s)throw new Error(`Unsupported ONNX data type: ${r}`);let a=this.tensorManager.registerTensor(e,t,s,n);return pt("verbose",()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${s}, dimensions: ${n}} -> {tensorId: ${a}}`),a}registerMLConstant(e,t,r,n,s,a,o=!1){if(!a)throw new Error("External mounted files are not available.");let i=e;e.startsWith("./")&&(i=e.substring(2));let l=a.get(i);if(!l)throw new Error(`File with name ${i} not found in preloaded files.`);if(t+r>l.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let c=l.slice(t,t+r).buffer,u;switch(s.dataType){case"float32":u=new Float32Array(c);break;case"float16":u=typeof Float16Array<"u"&&Float16Array.from?new Float16Array(c):new Uint16Array(c);break;case"int32":u=new Int32Array(c);break;case"uint32":u=new Uint32Array(c);break;case"int64":if(o){let p=ud(new Uint8Array(c),"int64");u=new Int32Array(p.buffer),s.dataType="int32"}else u=new BigInt64Array(c);break;case"uint64":u=new BigUint64Array(c);break;case"int8":u=new Int8Array(c);break;case"int4":case"uint4":case"uint8":u=new Uint8Array(c);break;default:throw new Error(`Unsupported data type: ${s.dataType} in creating WebNN Constant from external data.`)}return pt("verbose",()=>`[WebNN] registerMLConstant {dataType: ${s.dataType}, shape: ${s.shape}}} ${o?"(Note: it was int64 data type and registered to int32 as workaround)":""}`),n.constant(s,u)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let r=this.sessionGraphInputs.get(e);return r?r.includes(t):!1}isGraphOutput(e,t){let r=this.sessionGraphOutputs.get(e);return r?r.includes(t):!1}isGraphInputOutputTypeSupported(e,t,r=!0){let n=Gs.get(Xr(t)),s=this.mlOpSupportLimitsBySessionId.get(e);return typeof n>"u"?!1:r?!!s?.input.dataTypes.includes(n):!!s?.output.dataTypes.includes(n)}flush(){}}}),Fw=me(()=>{"use strict";tn(),WO(),HO(),Kn(),rn(),yd(),Aw(),Jg=(e,t)=>{Ce()._OrtInit(e,t)!==0&&Me("Can't initialize onnxruntime.")},xd=async e=>{Jg(e.wasm.numThreads,Fo(e.logLevel))},Td=async(e,t)=>{Ce().asyncInit?.();let r=e.webgpu.adapter;if(t==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(r){if(typeof r.limits!="object"||typeof r.features!="object"||typeof r.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let n=e.webgpu.powerPreference;if(n!==void 0&&n!=="low-power"&&n!=="high-performance")throw new Error(`Invalid powerPreference setting: "${n}"`);let s=e.webgpu.forceFallbackAdapter;if(s!==void 0&&typeof s!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${s}"`);if(r=await navigator.gpu.requestAdapter({powerPreference:n,forceFallbackAdapter:s}),!r)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(t==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment");if(t==="webgpu"&&Ce().webgpuInit(n=>{e.webgpu.device=n}),t==="webnn"){let n=new(JO(),Ro(Ow)).WebNNBackend(e);Ce().webnnInit([n,()=>n.reserveTensorId(),s=>n.releaseTensorId(s),async(s,a,o,i,l)=>n.ensureTensor(s,a,o,i,l),(s,a)=>{n.uploadTensor(s,a)},async(s,a)=>n.downloadTensor(s,a),(s,a)=>n.registerMLContext(s,a),!!e.trace])}},Ar=new Map,Xg=e=>{let t=Ce(),r=t.stackSave();try{let n=t.PTR_SIZE,s=t.stackAlloc(2*n);t._OrtGetInputOutputCount(e,s,s+n)!==0&&Me("Can't get session input/output count.");let a=n===4?"i32":"i64";return[Number(t.getValue(s,a)),Number(t.getValue(s+n,a))]}finally{t.stackRestore(r)}},sd=(e,t)=>{let r=Ce(),n=r.stackSave(),s=0;try{let a=r.PTR_SIZE,o=r.stackAlloc(2*a);r._OrtGetInputOutputMetadata(e,t,o,o+a)!==0&&Me("Can't get session input/output metadata.");let i=Number(r.getValue(o,"*"));s=Number(r.getValue(o+a,"*"));let l=r.HEAP32[s/4];if(l===0)return[i,0];let c=r.HEAPU32[s/4+1],u=[];for(let p=0;p<c;p++){let f=Number(r.getValue(s+8+p*a,"*"));u.push(f!==0?r.UTF8ToString(f):Number(r.getValue(s+8+(p+c)*a,"*")))}return[i,l,u]}finally{r.stackRestore(n),s!==0&&r._OrtFree(s)}},No=e=>{let t=Ce(),r=t._malloc(e.byteLength);if(r===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${e.byteLength}.`);return t.HEAPU8.set(e,r),[r,e.byteLength]},Ed=async(e,t)=>{let r,n,s=Ce();Array.isArray(e)?[r,n]=e:e.buffer===s.HEAPU8.buffer?[r,n]=[e.byteOffset,e.byteLength]:[r,n]=No(e);let a=0,o=0,i=0,l=[],c=[],u=[];try{if([o,l]=await Cw(t),t?.externalData&&s.mountExternalData){let C=[];for(let S of t.externalData){let O=typeof S=="string"?S:S.path;C.push(Md(typeof S=="string"?S:S.data).then(E=>{s.mountExternalData(O,E)}))}await Promise.all(C)}for(let C of t?.executionProviders??[])if((typeof C=="string"?C:C.name)==="webnn"){if(s.shouldTransferToMLTensor=!1,typeof C!="string"){let S=C,O=S?.context,E=S?.gpuDevice,K=S?.deviceType,$=S?.powerPreference;O?s.currentContext=O:E?s.currentContext=await s.webnnCreateMLContext(E):s.currentContext=await s.webnnCreateMLContext({deviceType:K,powerPreference:$})}else s.currentContext=await s.webnnCreateMLContext();break}a=await s._OrtCreateSession(r,n,o),s.webgpuOnCreateSession?.(a),a===0&&Me("Can't create a session."),s.jsepOnCreateSession?.(),s.currentContext&&(s.webnnRegisterMLContext(a,s.currentContext),s.currentContext=void 0,s.shouldTransferToMLTensor=!0);let[p,f]=Xg(a),m=!!t?.enableGraphCapture,y=[],v=[],x=[],M=[],T=[];for(let C=0;C<p;C++){let[S,O,E]=sd(a,C);S===0&&Me("Can't get an input name."),c.push(S);let K=s.UTF8ToString(S);y.push(K),x.push(O===0?{name:K,isTensor:!1}:{name:K,isTensor:!0,type:Po(O),shape:E})}for(let C=0;C<f;C++){let[S,O,E]=sd(a,C+p);S===0&&Me("Can't get an output name."),u.push(S);let K=s.UTF8ToString(S);v.push(K),M.push(O===0?{name:K,isTensor:!1}:{name:K,isTensor:!0,type:Po(O),shape:E});{if(m&&t?.preferredOutputLocation===void 0){T.push("gpu-buffer");continue}let $=typeof t?.preferredOutputLocation=="string"?t.preferredOutputLocation:t?.preferredOutputLocation?.[K]??"cpu",V=s.webnnIsGraphOutput;if($==="cpu"&&V&&V(a,K)){T.push("ml-tensor-cpu-output");continue}if($!=="cpu"&&$!=="cpu-pinned"&&$!=="gpu-buffer"&&$!=="ml-tensor")throw new Error(`Not supported preferred output location: ${$}.`);if(m&&$!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${$}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);T.push($)}}let A=null;return T.some(C=>C==="gpu-buffer"||C==="ml-tensor"||C==="ml-tensor-cpu-output")&&(i=s._OrtCreateBinding(a),i===0&&Me("Can't create IO binding."),A={handle:i,outputPreferredLocations:T,outputPreferredLocationsEncoded:T.map(C=>C==="ml-tensor-cpu-output"?"ml-tensor":C).map(C=>cd(C))}),Ar.set(a,[a,c,u,A,m,!1]),[a,y,v,x,M]}catch(p){throw c.forEach(f=>s._OrtFree(f)),u.forEach(f=>s._OrtFree(f)),i!==0&&s._OrtReleaseBinding(i)!==0&&Me("Can't release IO binding."),a!==0&&s._OrtReleaseSession(a)!==0&&Me("Can't release session."),p}finally{s._free(r),o!==0&&s._OrtReleaseSessionOptions(o)!==0&&Me("Can't release session options."),l.forEach(p=>s._free(p)),s.unmountExternalData?.()}},kd=e=>{let t=Ce(),r=Ar.get(e);if(!r)throw new Error(`cannot release session. invalid session id: ${e}`);let[n,s,a,o,i]=r;o&&(i&&t._OrtClearBoundOutputs(o.handle)!==0&&Me("Can't clear bound outputs."),t._OrtReleaseBinding(o.handle)!==0&&Me("Can't release IO binding.")),t.jsepOnReleaseSession?.(e),t.webnnOnReleaseSession?.(e),t.webgpuOnReleaseSession?.(e),s.forEach(l=>t._OrtFree(l)),a.forEach(l=>t._OrtFree(l)),t._OrtReleaseSession(n)!==0&&Me("Can't release session."),Ar.delete(e)},ad=async(e,t,r,n,s,a,o=!1)=>{if(!e){t.push(0);return}let i=Ce(),l=i.PTR_SIZE,c=e[0],u=e[1],p=e[3],f=p,m,y;if(c==="string"&&(p==="gpu-buffer"||p==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(o&&p!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${a} when enableGraphCapture is true.`);if(p==="gpu-buffer"){let M=e[2].gpuBuffer;y=Hn(Xr(c),u);{let T=i.webgpuRegisterBuffer;if(!T)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');m=T(M,n)}}else if(p==="ml-tensor"){let M=e[2].mlTensor;y=Hn(Xr(c),u);let T=i.webnnRegisterMLTensor;if(!T)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');m=T(n,M,Xr(c),u)}else{let M=e[2];if(Array.isArray(M)){y=l*M.length,m=i._malloc(y),r.push(m);for(let T=0;T<M.length;T++){if(typeof M[T]!="string")throw new TypeError(`tensor data at index ${T} is not a string`);i.setValue(m+T*l,Et(M[T],r),"*")}}else{let T=i.webnnIsGraphInput,A=i.webnnIsGraphOutput;if(c!=="string"&&T&&A){let C=i.UTF8ToString(s);if(T(n,C)||A(n,C)){let S=Xr(c);y=Hn(S,u),f="ml-tensor";let O=i.webnnCreateTemporaryTensor,E=i.webnnUploadTensor;if(!O||!E)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let K=await O(n,S,u);E(K,new Uint8Array(M.buffer,M.byteOffset,M.byteLength)),m=K}else y=M.byteLength,m=i._malloc(y),r.push(m),i.HEAPU8.set(new Uint8Array(M.buffer,M.byteOffset,y),m)}else y=M.byteLength,m=i._malloc(y),r.push(m),i.HEAPU8.set(new Uint8Array(M.buffer,M.byteOffset,y),m)}}let v=i.stackSave(),x=i.stackAlloc(4*u.length);try{u.forEach((T,A)=>i.setValue(x+A*l,T,l===4?"i32":"i64"));let M=i._OrtCreateTensor(Xr(c),m,y,x,u.length,cd(f));M===0&&Me(`Can't create tensor for input/output. session=${n}, index=${a}.`),t.push(M)}finally{i.stackRestore(v)}},Cd=async(e,t,r,n,s,a)=>{let o=Ce(),i=o.PTR_SIZE,l=Ar.get(e);if(!l)throw new Error(`cannot run inference. invalid session id: ${e}`);let c=l[0],u=l[1],p=l[2],f=l[3],m=l[4],y=l[5],v=t.length,x=n.length,M=0,T=[],A=[],C=[],S=[],O=[],E=o.stackSave(),K=o.stackAlloc(v*i),$=o.stackAlloc(v*i),V=o.stackAlloc(x*i),Q=o.stackAlloc(x*i);try{[M,T]=kw(a),Ir("wasm prepareInputOutputTensor");for(let R=0;R<v;R++)await ad(r[R],A,S,e,u[t[R]],t[R],m);for(let R=0;R<x;R++)await ad(s[R],C,S,e,p[n[R]],v+n[R],m);Pr("wasm prepareInputOutputTensor");for(let R=0;R<v;R++)o.setValue(K+R*i,A[R],"*"),o.setValue($+R*i,u[t[R]],"*");for(let R=0;R<x;R++)o.setValue(V+R*i,C[R],"*"),o.setValue(Q+R*i,p[n[R]],"*");if(f&&!y){let{handle:R,outputPreferredLocations:re,outputPreferredLocationsEncoded:ie}=f;if(u.length!==v)throw new Error(`input count from feeds (${v}) is expected to be always equal to model's input count (${u.length}).`);Ir("wasm bindInputsOutputs");for(let F=0;F<v;F++){let N=t[F];await o._OrtBindInput(R,u[N],A[F])!==0&&Me(`Can't bind input[${F}] for session=${e}.`)}for(let F=0;F<x;F++){let N=n[F];s[F]?.[3]?(O.push(C[F]),o._OrtBindOutput(R,p[N],C[F],0)!==0&&Me(`Can't bind pre-allocated output[${F}] for session=${e}.`)):o._OrtBindOutput(R,p[N],0,ie[N])!==0&&Me(`Can't bind output[${F}] to ${re[F]} for session=${e}.`)}Pr("wasm bindInputsOutputs"),Ar.set(e,[c,u,p,f,m,!0])}o.jsepOnRunStart?.(c),o.webnnOnRunStart?.(c);let G;f?G=await o._OrtRunWithBinding(c,f.handle,x,V,M):G=await o._OrtRun(c,$,K,v,Q,x,V,M),G!==0&&Me("failed to call OrtRun().");let W=[],D=[];Ir("wasm ProcessOutputTensor");for(let R=0;R<x;R++){let re=Number(o.getValue(V+R*i,"*"));if(re===C[R]||O.includes(C[R])){W.push(s[R]),re!==C[R]&&o._OrtReleaseTensor(re)!==0&&Me("Can't release tensor.");continue}let ie=o.stackSave(),F=o.stackAlloc(4*i),N=!1,z,Y=0;try{o._OrtGetTensorData(re,F,F+i,F+2*i,F+3*i)!==0&&Me(`Can't access output tensor data on index ${R}.`);let fe=i===4?"i32":"i64",H=Number(o.getValue(F,fe));Y=o.getValue(F+i,"*");let Ne=o.getValue(F+i*2,"*"),Xe=Number(o.getValue(F+i*3,fe)),nt=[];for(let Pe=0;Pe<Xe;Pe++)nt.push(Number(o.getValue(Ne+Pe*i,fe)));o._OrtFree(Ne)!==0&&Me("Can't free memory for tensor dims.");let qe=nt.reduce((Pe,ye)=>Pe*ye,1);z=Po(H);let gt=f?.outputPreferredLocations[n[R]];if(z==="string"){if(gt==="gpu-buffer"||gt==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let Pe=[];for(let ye=0;ye<qe;ye++){let We=o.getValue(Y+ye*i,"*"),Yt=o.getValue(Y+(ye+1)*i,"*"),ke=ye===qe-1?void 0:Yt-We;Pe.push(o.UTF8ToString(We,ke))}W.push([z,nt,Pe,"cpu"])}else if(gt==="gpu-buffer"&&qe>0){let Pe=o.webgpuGetBuffer;if(!Pe)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let ye=Pe(Y),We=Hn(H,qe);if(We===void 0||!vd(z))throw new Error(`Unsupported data type: ${z}`);N=!0;{o.webgpuRegisterBuffer(ye,e,Y);let Yt=o.webgpuCreateDownloader(ye,We,e);W.push([z,nt,{gpuBuffer:ye,download:async()=>{let ke=await Yt();return new(Hs(z))(ke)},dispose:()=>{o._OrtReleaseTensor(re)!==0&&Me("Can't release tensor.")}},"gpu-buffer"])}}else if(gt==="ml-tensor"&&qe>0){let Pe=o.webnnEnsureTensor,ye=o.webnnIsGraphInputOutputTypeSupported;if(!Pe||!ye)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(Hn(H,qe)===void 0||!bd(z))throw new Error(`Unsupported data type: ${z}`);if(!ye(e,z,!1))throw new Error(`preferredLocation "ml-tensor" for ${z} output is not supported by current WebNN Context.`);let We=await Pe(e,Y,H,nt,!1);N=!0,W.push([z,nt,{mlTensor:We,download:o.webnnCreateMLTensorDownloader(Y,z),dispose:()=>{o.webnnReleaseTensorId(Y),o._OrtReleaseTensor(re)}},"ml-tensor"])}else if(gt==="ml-tensor-cpu-output"&&qe>0){let Pe=o.webnnCreateMLTensorDownloader(Y,z)(),ye=W.length;N=!0,D.push((async()=>{let We=[ye,await Pe];return o.webnnReleaseTensorId(Y),o._OrtReleaseTensor(re),We})()),W.push([z,nt,[],"cpu"])}else{let Pe=Hs(z),ye=new Pe(qe);new Uint8Array(ye.buffer,ye.byteOffset,ye.byteLength).set(o.HEAPU8.subarray(Y,Y+ye.byteLength)),W.push([z,nt,ye,"cpu"])}}finally{o.stackRestore(ie),z==="string"&&Y&&o._free(Y),N||o._OrtReleaseTensor(re)}}f&&!m&&(o._OrtClearBoundOutputs(f.handle)!==0&&Me("Can't clear bound outputs."),Ar.set(e,[c,u,p,f,m,!1]));for(let[R,re]of await Promise.all(D))W[R][2]=re;return Pr("wasm ProcessOutputTensor"),W}finally{o.webnnOnRunEnd?.(c),o.stackRestore(E),r.forEach(G=>{G&&G[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(G[2].gpuBuffer)}),s.forEach(G=>{G&&G[3]==="gpu-buffer"&&o.webgpuUnregisterBuffer(G[2].gpuBuffer)}),A.forEach(G=>o._OrtReleaseTensor(G)),C.forEach(G=>o._OrtReleaseTensor(G)),S.forEach(G=>o._free(G)),M!==0&&o._OrtReleaseRunOptions(M),T.forEach(G=>o._free(G))}},Ad=e=>{let t=Ce(),r=Ar.get(e);if(!r)throw new Error("invalid session id");let n=r[0],s=t._OrtEndProfiling(n);s===0&&Me("Can't get an profile file name."),t._OrtFree(s)},Sd=e=>{let t=[];for(let r of e){let n=r[2];!Array.isArray(n)&&"buffer"in n&&t.push(n.buffer)}return t}}),Gw=me(()=>{"use strict";tn(),Fw(),rn(),gd(),Sr=()=>!!De.wasm.proxy&&typeof document<"u",Wn=!1,js=!1,qs=!1,Io=new Map,Kr=(e,t)=>{let r=Io.get(e);r?r.push(t):Io.set(e,[t])},Qr=()=>{if(Wn||!js||qs||!Rt)throw new Error("worker not ready")},Yg=e=>{switch(e.data.type){case"init-wasm":Wn=!1,e.data.err?(qs=!0,od[1](e.data.err)):(js=!0,od[0]()),So&&(URL.revokeObjectURL(So),So=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let t=Io.get(e.data.type);e.data.err?t.shift()[1](e.data.err):t.shift()[0](e.data.out);break}default:}},Nw=async()=>{if(!js){if(Wn)throw new Error("multiple calls to 'initWasm()' detected.");if(qs)throw new Error("previous call to 'initWasm()' failed.");if(Wn=!0,Sr())return new Promise((e,t)=>{Rt?.terminate(),Tw().then(([r,n])=>{try{Rt=n,Rt.onerror=a=>t(a),Rt.onmessage=Yg,od=[e,t];let s={type:"init-wasm",in:De};!s.in.wasm.wasmPaths&&(r||ld)&&(s.in.wasm.wasmPaths={wasm:new URL("ort-wasm-simd-threaded.asyncify.wasm",Vt.url).href}),Rt.postMessage(s),So=r}catch(s){t(s)}},t)});try{await wd(De.wasm),await xd(De),js=!0}catch(e){throw qs=!0,e}finally{Wn=!1}}},Dw=async e=>{if(Sr())return Qr(),new Promise((t,r)=>{Kr("init-ep",[t,r]);let n={type:"init-ep",in:{epName:e,env:De}};Rt.postMessage(n)});await Td(De,e)},Bw=async e=>Sr()?(Qr(),new Promise((t,r)=>{Kr("copy-from",[t,r]);let n={type:"copy-from",in:{buffer:e}};Rt.postMessage(n,[e.buffer])})):No(e),Uw=async(e,t)=>{if(Sr()){if(t?.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Qr(),new Promise((r,n)=>{Kr("create",[r,n]);let s={type:"create",in:{model:e,options:{...t}}},a=[];e instanceof Uint8Array&&a.push(e.buffer),Rt.postMessage(s,a)})}else return Ed(e,t)},zw=async e=>{if(Sr())return Qr(),new Promise((t,r)=>{Kr("release",[t,r]);let n={type:"release",in:e};Rt.postMessage(n)});kd(e)},$w=async(e,t,r,n,s,a)=>{if(Sr()){if(r.some(o=>o[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(s.some(o=>o))throw new Error("pre-allocated output tensor is not supported for proxy.");return Qr(),new Promise((o,i)=>{Kr("run",[o,i]);let l=r,c={type:"run",in:{sessionId:e,inputIndices:t,inputs:l,outputIndices:n,options:a}};Rt.postMessage(c,Sd(l))})}else return Cd(e,t,r,n,s,a)},Vw=async e=>{if(Sr())return Qr(),new Promise((t,r)=>{Kr("end-profiling",[t,r]);let n={type:"end-profiling",in:e};Rt.postMessage(n)});Ad(e)}}),XO=me(()=>{"use strict";tn(),Gw(),Kn(),_d(),Aw(),id=(e,t)=>{switch(e.location){case"cpu":return[e.type,e.dims,e.data,"cpu"];case"gpu-buffer":return[e.type,e.dims,{gpuBuffer:e.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[e.type,e.dims,{mlTensor:e.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${e.location} for ${t()}`)}},Zg=e=>{switch(e[3]){case"cpu":return new Gt(e[0],e[2],e[1]);case"gpu-buffer":{let t=e[0];if(!vd(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:r,download:n,dispose:s}=e[2];return Gt.fromGpuBuffer(r,{dataType:t,dims:e[1],download:n,dispose:s})}case"ml-tensor":{let t=e[0];if(!bd(t))throw new Error(`not supported data type: ${t} for deserializing MLTensor tensor`);let{mlTensor:r,download:n,dispose:s}=e[2];return Gt.fromMLTensor(r,{dataType:t,dims:e[1],download:n,dispose:s})}default:throw new Error(`invalid data location: ${e[3]}`)}},jw=class{async fetchModelAndCopyToWasmMemory(e){return Bw(await Md(e))}async loadModel(e,t){Zr();let r;typeof e=="string"?r=await this.fetchModelAndCopyToWasmMemory(e):r=e,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Uw(r,t),en()}async dispose(){return zw(this.sessionId)}async run(e,t,r){Zr();let n=[],s=[];Object.entries(e).forEach(p=>{let f=p[0],m=p[1],y=this.inputNames.indexOf(f);if(y===-1)throw new Error(`invalid input '${f}'`);n.push(m),s.push(y)});let a=[],o=[];Object.entries(t).forEach(p=>{let f=p[0],m=p[1],y=this.outputNames.indexOf(f);if(y===-1)throw new Error(`invalid output '${f}'`);a.push(m),o.push(y)});let i=n.map((p,f)=>id(p,()=>`input "${this.inputNames[s[f]]}"`)),l=a.map((p,f)=>p?id(p,()=>`output "${this.outputNames[o[f]]}"`):null),c=await $w(this.sessionId,s,i,o,l,r),u={};for(let p=0;p<c.length;p++)u[this.outputNames[o[p]]]=a[p]??Zg(c[p]);return en(),u}startProfiling(){}endProfiling(){Vw(this.sessionId)}}}),qw={};Ks(qw,{OnnxruntimeWebAssemblyBackend:()=>pd,initializeFlags:()=>dd,wasmBackend:()=>Ww});YO=me(()=>{"use strict";tn(),Gw(),XO(),dd=()=>{(typeof De.wasm.initTimeout!="number"||De.wasm.initTimeout<0)&&(De.wasm.initTimeout=0);let e=De.wasm.simd;if(typeof e!="boolean"&&e!==void 0&&e!=="fixed"&&e!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${e}". Reset it to \`false\` and ignore SIMD feature checking.`),De.wasm.simd=!1),typeof De.wasm.proxy!="boolean"&&(De.wasm.proxy=!1),typeof De.wasm.trace!="boolean"&&(De.wasm.trace=!1),typeof De.wasm.numThreads!="number"||!Number.isInteger(De.wasm.numThreads)||De.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)De.wasm.numThreads=1;else{let t=typeof navigator>"u"?SO("node:os").cpus().length:navigator.hardwareConcurrency;De.wasm.numThreads=Math.min(4,Math.ceil((t||1)/2))}},pd=class{async init(e){dd(),await Nw(),await Dw(e)}async createInferenceSessionHandler(e,t){let r=new jw;return await r.loadModel(e,t),r}},Ww=new pd});tn();tn();tn();ZO="1.25.0-dev.20260307-d626b568e0",eL=ww;{let e=(YO(),Ro(qw)).wasmBackend;Yr("webgpu",e,5),Yr("webnn",e,5),Yr("cpu",e,10),Yr("wasm",e,10)}Object.defineProperty(De.versions,"web",{value:ZO,enumerable:!0})});var Pd=Ve(()=>{});var Kw=Ve(()=>{Pd()});var Qw,Jw=Ve(()=>{Qw="1.24.2"});var Xw,Rd,Od=Ve(()=>{Jw();Xw="warning",Rd={wasm:{},webgl:{},webgpu:{},versions:{common:Qw},set logLevel(e){if(e!==void 0){if(typeof e!="string"||["verbose","info","warning","error","fatal"].indexOf(e)===-1)throw new Error(`Unsupported logging level: ${e}`);Xw=e}},get logLevel(){return Xw}};Object.defineProperty(Rd,"logLevel",{enumerable:!0})});var Yw=Ve(()=>{Od()});var Zw,ey,ty=Ve(()=>{Zw=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);r.width=e.dims[3],r.height=e.dims[2];let n=r.getContext("2d");if(n!=null){let s,a;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[3]):(s=e.dims[3],a=e.dims[2]);let o=t?.format!==void 0?t.format:"RGB",i=t?.norm,l,c;i===void 0||i.mean===void 0?l=[255,255,255,255]:typeof i.mean=="number"?l=[i.mean,i.mean,i.mean,i.mean]:(l=[i.mean[0],i.mean[1],i.mean[2],0],i.mean[3]!==void 0&&(l[3]=i.mean[3])),i===void 0||i.bias===void 0?c=[0,0,0,0]:typeof i.bias=="number"?c=[i.bias,i.bias,i.bias,i.bias]:(c=[i.bias[0],i.bias[1],i.bias[2],0],i.bias[3]!==void 0&&(c[3]=i.bias[3]));let u=a*s,p=0,f=u,m=u*2,y=-1;o==="RGBA"?(p=0,f=u,m=u*2,y=u*3):o==="RGB"?(p=0,f=u,m=u*2):o==="RBG"&&(p=0,m=u,f=u*2);for(let v=0;v<a;v++)for(let x=0;x<s;x++){let M=(e.data[p++]-c[0])*l[0],T=(e.data[f++]-c[1])*l[1],A=(e.data[m++]-c[2])*l[2],C=y===-1?255:(e.data[y++]-c[3])*l[3];n.fillStyle="rgba("+M+","+T+","+A+","+C+")",n.fillRect(x,v,1,1)}if("toDataURL"in r)return r.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},ey=(e,t)=>{let r=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),n;if(r!=null){let s,a,o;t?.tensorLayout!==void 0&&t.tensorLayout==="NHWC"?(s=e.dims[2],a=e.dims[1],o=e.dims[3]):(s=e.dims[3],a=e.dims[2],o=e.dims[1]);let i=t!==void 0&&t.format!==void 0?t.format:"RGB",l=t?.norm,c,u;l===void 0||l.mean===void 0?c=[255,255,255,255]:typeof l.mean=="number"?c=[l.mean,l.mean,l.mean,l.mean]:(c=[l.mean[0],l.mean[1],l.mean[2],255],l.mean[3]!==void 0&&(c[3]=l.mean[3])),l===void 0||l.bias===void 0?u=[0,0,0,0]:typeof l.bias=="number"?u=[l.bias,l.bias,l.bias,l.bias]:(u=[l.bias[0],l.bias[1],l.bias[2],0],l.bias[3]!==void 0&&(u[3]=l.bias[3]));let p=a*s;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!=="RGBA"||o===3&&t.format!=="RGB"&&t.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let f=4,m=0,y=1,v=2,x=3,M=0,T=p,A=p*2,C=-1;i==="RGBA"?(M=0,T=p,A=p*2,C=p*3):i==="RGB"?(M=0,T=p,A=p*2):i==="RBG"&&(M=0,A=p,T=p*2),n=r.createImageData(s,a);for(let S=0;S<a*s;m+=f,y+=f,v+=f,x+=f,S++)n.data[m]=(e.data[M++]-u[0])*c[0],n.data[y]=(e.data[T++]-u[1])*c[1],n.data[v]=(e.data[A++]-u[2])*c[2],n.data[x]=C===-1?255:(e.data[C++]-u[3])*c[3]}else throw new Error("Can not access image data");return n}});var Ld,ry,ny,sy,ay,oy,iy=Ve(()=>{Do();Ld=(e,t)=>{if(e===void 0)throw new Error("Image buffer must be defined");if(t.height===void 0||t.width===void 0)throw new Error("Image height and width must be defined");if(t.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:r,width:n}=t,s=t.norm??{mean:255,bias:0},a,o;typeof s.mean=="number"?a=[s.mean,s.mean,s.mean,s.mean]:a=[s.mean[0],s.mean[1],s.mean[2],s.mean[3]??255],typeof s.bias=="number"?o=[s.bias,s.bias,s.bias,s.bias]:o=[s.bias[0],s.bias[1],s.bias[2],s.bias[3]??0];let i=t.format!==void 0?t.format:"RGBA",l=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:"RGB",c=r*n,u=l==="RGBA"?new Float32Array(c*4):new Float32Array(c*3),p=4,f=0,m=1,y=2,v=3,x=0,M=c,T=c*2,A=-1;i==="RGB"&&(p=3,f=0,m=1,y=2,v=-1),l==="RGBA"?A=c*3:l==="RBG"?(x=0,T=c,M=c*2):l==="BGR"&&(T=0,M=c,x=c*2);for(let S=0;S<c;S++,f+=p,y+=p,m+=p,v+=p)u[x++]=(e[f]+o[0])/a[0],u[M++]=(e[m]+o[1])/a[1],u[T++]=(e[y]+o[2])/a[2],A!==-1&&v!==-1&&(u[A++]=(e[v]+o[3])/a[3]);return l==="RGBA"?new at("float32",u,[1,4,r,n]):new at("float32",u,[1,3,r,n])},ry=async(e,t)=>{let r=typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement,n=typeof ImageData<"u"&&e instanceof ImageData,s=typeof ImageBitmap<"u"&&e instanceof ImageBitmap,a=typeof e=="string",o,i=t??{},l=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},c=u=>typeof HTMLCanvasElement<"u"&&u instanceof HTMLCanvasElement||u instanceof OffscreenCanvas?u.getContext("2d"):null;if(r){let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(f=t.resizedHeight,m=t.resizedWidth),t!==void 0){if(i=t,t.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");i.tensorFormat="RGBA",i.height=f,i.width=m}else i.tensorFormat="RGBA",i.height=f,i.width=m;p.drawImage(e,0,0),o=p.getImageData(0,0,m,f).data}else throw new Error("Can not access image data")}else if(n){let u,p;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(u=t.resizedHeight,p=t.resizedWidth):(u=e.height,p=e.width),t!==void 0&&(i=t),i.format="RGBA",i.height=u,i.width=p,t!==void 0){let f=l();f.width=p,f.height=u;let m=c(f);if(m!=null)m.putImageData(e,0,0),o=m.getImageData(0,0,p,u).data;else throw new Error("Can not access image data")}else o=e.data}else if(s){if(t===void 0)throw new Error("Please provide image config with format for Imagebitmap");let u=l();u.width=e.width,u.height=e.height;let p=c(u);if(p!=null){let f=e.height,m=e.width;return p.drawImage(e,0,0,m,f),o=p.getImageData(0,0,m,f).data,i.height=f,i.width=m,Ld(o,i)}else throw new Error("Can not access image data")}else{if(a)return new Promise((u,p)=>{let f=l(),m=c(f);if(!e||!m)return p();let y=new Image;y.crossOrigin="Anonymous",y.src=e,y.onload=()=>{f.width=y.width,f.height=y.height,m.drawImage(y,0,0,f.width,f.height);let v=m.getImageData(0,0,f.width,f.height);i.height=f.height,i.width=f.width,u(Ld(v.data,i))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(o!==void 0)return Ld(o,i);throw new Error("Input data provided is not supported - aborted tensor creation")},ny=(e,t)=>{let{width:r,height:n,download:s,dispose:a}=t,o=[1,n,r,4];return new at({location:"texture",type:"float32",texture:e,dims:o,download:s,dispose:a})},sy=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new at({location:"gpu-buffer",type:r??"float32",gpuBuffer:e,dims:n,download:s,dispose:a})},ay=(e,t)=>{let{dataType:r,dims:n,download:s,dispose:a}=t;return new at({location:"ml-tensor",type:r??"float32",mlTensor:e,dims:n,download:s,dispose:a})},oy=(e,t,r)=>new at({location:"cpu-pinned",type:e,data:t,dims:r??[t.length]})});var nn,Qs,ly,cy,uy=Ve(()=>{nn=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Qs=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),ly=!1,cy=()=>{if(!ly){ly=!0;let e=typeof BigInt64Array<"u"&&BigInt64Array.from,t=typeof BigUint64Array<"u"&&BigUint64Array.from,r=globalThis.Float16Array,n=typeof r<"u"&&r.from;e&&(nn.set("int64",BigInt64Array),Qs.set(BigInt64Array,"int64")),t&&(nn.set("uint64",BigUint64Array),Qs.set(BigUint64Array,"uint64")),n?(nn.set("float16",r),Qs.set(r,"float16")):nn.set("float16",Uint16Array)}}});var dy,py,hy=Ve(()=>{Do();dy=e=>{let t=1;for(let r=0;r<e.length;r++){let n=e[r];if(typeof n!="number"||!Number.isSafeInteger(n))throw new TypeError(`dims[${r}] must be an integer, got: ${n}`);if(n<0)throw new RangeError(`dims[${r}] must be a non-negative integer, got: ${n}`);t*=n}return t},py=(e,t)=>{switch(e.location){case"cpu":return new at(e.type,e.data,t);case"cpu-pinned":return new at({location:"cpu-pinned",data:e.data,type:e.type,dims:t});case"texture":return new at({location:"texture",texture:e.texture,type:e.type,dims:t});case"gpu-buffer":return new at({location:"gpu-buffer",gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case"ml-tensor":return new at({location:"ml-tensor",mlTensor:e.mlTensor,type:e.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${e.location} is not supported`)}}});var at,Do=Ve(()=>{ty();iy();uy();hy();at=class{constructor(t,r,n){cy();let s,a;if(typeof t=="object"&&"location"in t)switch(this.dataLocation=t.location,s=t.type,a=t.dims,t.location){case"cpu-pinned":{let i=nn.get(s);if(!i)throw new TypeError(`unsupported type "${s}" to create tensor from pinned buffer`);if(!(t.data instanceof i))throw new TypeError(`buffer should be of type ${i.name}`);this.cpuData=t.data;break}case"texture":{if(s!=="float32")throw new TypeError(`unsupported type "${s}" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case"gpu-buffer":{if(s!=="float32"&&s!=="float16"&&s!=="int32"&&s!=="int64"&&s!=="uint32"&&s!=="uint8"&&s!=="bool"&&s!=="uint4"&&s!=="int4")throw new TypeError(`unsupported type "${s}" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}case"ml-tensor":{if(s!=="float32"&&s!=="float16"&&s!=="int32"&&s!=="int64"&&s!=="uint32"&&s!=="uint64"&&s!=="int8"&&s!=="uint8"&&s!=="bool"&&s!=="uint4"&&s!=="int4")throw new TypeError(`unsupported type "${s}" to create tensor from MLTensor`);this.mlTensorData=t.mlTensor,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let i,l;if(typeof t=="string")if(s=t,l=n,t==="string"){if(!Array.isArray(r))throw new TypeError("A string tensor's data must be a string array.");i=r}else{let c=nn.get(t);if(c===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(r)){if(t==="float16"&&c===Uint16Array||t==="uint4"||t==="int4")throw new TypeError(`Creating a ${t} tensor from number array is not supported. Please use ${c.name} as data.`);t==="uint64"||t==="int64"?i=c.from(r,BigInt):i=c.from(r)}else if(r instanceof c)i=r;else if(r instanceof Uint8ClampedArray)if(t==="uint8")i=Uint8Array.from(r);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(t==="float16"&&r instanceof Uint16Array&&c!==Uint16Array)i=new globalThis.Float16Array(r.buffer,r.byteOffset,r.length);else throw new TypeError(`A ${s} tensor's data must be type of ${c}`)}else if(l=r,Array.isArray(t)){if(t.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let c=typeof t[0];if(c==="string")s="string",i=t;else if(c==="boolean")s="bool",i=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${c}.`)}else if(t instanceof Uint8ClampedArray)s="uint8",i=Uint8Array.from(t);else{let c=Qs.get(t.constructor);if(c===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);s=c,i=t}if(l===void 0)l=[i.length];else if(!Array.isArray(l))throw new TypeError("A tensor's dims must be a number array");a=l,this.cpuData=i,this.dataLocation="cpu"}let o=dy(a);if(this.cpuData&&o!==this.cpuData.length&&!((s==="uint4"||s==="int4")&&Math.ceil(o/2)===this.cpuData.length))throw new Error(`Tensor's size(${o}) does not match data length(${this.cpuData.length}).`);this.type=s,this.dims=a,this.size=o}static async fromImage(t,r){return ry(t,r)}static fromTexture(t,r){return ny(t,r)}static fromGpuBuffer(t,r){return sy(t,r)}static fromMLTensor(t,r){return ay(t,r)}static fromPinnedBuffer(t,r,n){return oy(t,r,n)}toDataURL(t){return Zw(this,t)}toImageData(t){return ey(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(t){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let r=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=r,t&&this.disposer&&(this.disposer(),this.disposer=void 0),r}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return py(this,t)}}});var Fd,Nd=Ve(()=>{Do();Fd=at});var Dd=Ve(()=>{Od()});var fy=Ve(()=>{Pd();Nd();Dd()});var my=Ve(()=>{fy()});var _y=Ve(()=>{});var gy=Ve(()=>{});var wy=Ve(()=>{});var yy=Ve(()=>{});var vy=Ve(()=>{Kw();Yw();my();Nd();_y();gy();Dd();wy();yy()});var jI={};Au(jI,{ASTFeatureExtractor:()=>Yb,ASTForAudioClassification:()=>u0,ASTModel:()=>c0,ASTPreTrainedModel:()=>Ui,AfmoeForCausalLM:()=>o0,AfmoeModel:()=>a0,AfmoePreTrainedModel:()=>Di,AlbertForMaskedLM:()=>r0,AlbertForQuestionAnswering:()=>t0,AlbertForSequenceClassification:()=>e0,AlbertModel:()=>Zx,AlbertPreTrainedModel:()=>fs,AlbertTokenizer:()=>nb,ApertusForCausalLM:()=>s0,ApertusModel:()=>n0,ApertusPreTrainedModel:()=>Ni,ArceeForCausalLM:()=>l0,ArceeModel:()=>i0,ArceePreTrainedModel:()=>Bi,AudioClassificationPipeline:()=>bI,AutoConfig:()=>ls,AutoFeatureExtractor:()=>Bt,AutoImageProcessor:()=>mt,AutoModel:()=>ns,AutoModelForAudioClassification:()=>lI,AutoModelForAudioFrameClassification:()=>VU,AutoModelForAudioTextToText:()=>HU,AutoModelForCTC:()=>iI,AutoModelForCausalLM:()=>eI,AutoModelForDepthEstimation:()=>dI,AutoModelForDocumentQuestionAnswering:()=>cI,AutoModelForImageClassification:()=>sI,AutoModelForImageFeatureExtraction:()=>pI,AutoModelForImageMatting:()=>GU,AutoModelForImageSegmentation:()=>Up,AutoModelForImageTextToText:()=>WU,AutoModelForImageToImage:()=>uI,AutoModelForMaskGeneration:()=>zU,AutoModelForMaskedLM:()=>tI,AutoModelForNormalEstimation:()=>jU,AutoModelForObjectDetection:()=>aI,AutoModelForPoseEstimation:()=>qU,AutoModelForQuestionAnswering:()=>rI,AutoModelForSemanticSegmentation:()=>zp,AutoModelForSeq2SeqLM:()=>li,AutoModelForSequenceClassification:()=>Bp,AutoModelForSpeechSeq2Seq:()=>XS,AutoModelForTextToSpectrogram:()=>YS,AutoModelForTextToWaveform:()=>ZS,AutoModelForTokenClassification:()=>JS,AutoModelForUniversalSegmentation:()=>$p,AutoModelForVision2Seq:()=>nI,AutoModelForXVector:()=>$U,AutoModelForZeroShotObjectDetection:()=>oI,AutoProcessor:()=>Ix,AutoTokenizer:()=>Ae,AutomaticSpeechRecognitionPipeline:()=>xI,BackgroundRemovalPipeline:()=>CI,BartForConditionalGeneration:()=>p0,BartForSequenceClassification:()=>h0,BartModel:()=>d0,BartPretrainedModel:()=>Ea,BartTokenizer:()=>sb,BaseStreamer:()=>UI,BeitFeatureExtractor:()=>wM,BeitForImageClassification:()=>m0,BeitModel:()=>f0,BeitPreTrainedModel:()=>zi,BertForMaskedLM:()=>g0,BertForQuestionAnswering:()=>v0,BertForSequenceClassification:()=>w0,BertForTokenClassification:()=>y0,BertModel:()=>_0,BertPreTrainedModel:()=>fn,BertTokenizer:()=>ab,BitImageProcessor:()=>yM,BlenderbotForConditionalGeneration:()=>M0,BlenderbotModel:()=>b0,BlenderbotPreTrainedModel:()=>$i,BlenderbotSmallForConditionalGeneration:()=>T0,BlenderbotSmallModel:()=>x0,BlenderbotSmallPreTrainedModel:()=>Vi,BlenderbotSmallTokenizer:()=>ob,BlenderbotTokenizer:()=>ib,BloomForCausalLM:()=>k0,BloomModel:()=>E0,BloomPreTrainedModel:()=>Gi,BloomTokenizer:()=>lb,CHMv2ForDepthEstimation:()=>O0,CHMv2ImageProcessor:()=>bM,CHMv2PreTrainedModel:()=>zh,CLIPFeatureExtractor:()=>MM,CLIPImageProcessor:()=>hh,CLIPModel:()=>F0,CLIPPreTrainedModel:()=>Nr,CLIPSegForImageSegmentation:()=>z0,CLIPSegModel:()=>U0,CLIPSegPreTrainedModel:()=>ji,CLIPTextModel:()=>N0,CLIPTextModelWithProjection:()=>Gh,CLIPTokenizer:()=>ub,CLIPVisionModel:()=>D0,CLIPVisionModelWithProjection:()=>B0,CamembertForMaskedLM:()=>A0,CamembertForQuestionAnswering:()=>P0,CamembertForSequenceClassification:()=>S0,CamembertForTokenClassification:()=>I0,CamembertModel:()=>C0,CamembertPreTrainedModel:()=>mn,CamembertTokenizer:()=>cb,ChatterboxFeatureExtractor:()=>Zb,ChatterboxModel:()=>Bh,ChatterboxPreTrainedModel:()=>Dh,ChatterboxProcessor:()=>pM,ChineseCLIPFeatureExtractor:()=>vM,ChineseCLIPModel:()=>R0,ChineseCLIPPreTrainedModel:()=>Uh,ClapAudioModelWithProjection:()=>Vh,ClapFeatureExtractor:()=>eM,ClapModel:()=>L0,ClapPreTrainedModel:()=>ka,ClapTextModelWithProjection:()=>$h,ClassifierFreeGuidanceLogitsProcessor:()=>Vx,CodeGenForCausalLM:()=>V0,CodeGenModel:()=>$0,CodeGenPreTrainedModel:()=>qi,CodeGenTokenizer:()=>pb,CodeLlamaTokenizer:()=>db,Cohere2ForCausalLM:()=>W0,Cohere2Model:()=>q0,Cohere2PreTrainedModel:()=>Hi,CohereForCausalLM:()=>j0,CohereModel:()=>G0,CoherePreTrainedModel:()=>Wi,CohereTokenizer:()=>hb,ConvBertForMaskedLM:()=>K0,ConvBertForQuestionAnswering:()=>X0,ConvBertForSequenceClassification:()=>Q0,ConvBertForTokenClassification:()=>J0,ConvBertModel:()=>H0,ConvBertPreTrainedModel:()=>_n,ConvBertTokenizer:()=>fb,ConvNextFeatureExtractor:()=>xM,ConvNextForImageClassification:()=>Z0,ConvNextImageProcessor:()=>fh,ConvNextModel:()=>Y0,ConvNextPreTrainedModel:()=>Ki,ConvNextV2ForImageClassification:()=>tT,ConvNextV2Model:()=>eT,ConvNextV2PreTrainedModel:()=>Qi,DFineForObjectDetection:()=>aT,DFineModel:()=>sT,DFinePreTrainedModel:()=>Xi,DINOv3ConvNextModel:()=>PT,DINOv3ConvNextPreTrainedModel:()=>Yh,DINOv3ViTImageProcessor:()=>kM,DINOv3ViTModel:()=>RT,DINOv3ViTPreTrainedModel:()=>Zh,DPTFeatureExtractor:()=>AM,DPTForDepthEstimation:()=>zT,DPTImageProcessor:()=>gh,DPTModel:()=>UT,DPTPreTrainedModel:()=>nl,DacDecoderModel:()=>Hh,DacDecoderOutput:()=>qh,DacEncoderModel:()=>Wh,DacEncoderOutput:()=>jh,DacFeatureExtractor:()=>uh,DacModel:()=>oT,DacPreTrainedModel:()=>Ca,DebertaForMaskedLM:()=>lT,DebertaForQuestionAnswering:()=>dT,DebertaForSequenceClassification:()=>cT,DebertaForTokenClassification:()=>uT,DebertaModel:()=>iT,DebertaPreTrainedModel:()=>gn,DebertaTokenizer:()=>_b,DebertaV2ForMaskedLM:()=>mT,DebertaV2ForQuestionAnswering:()=>wT,DebertaV2ForSequenceClassification:()=>_T,DebertaV2ForTokenClassification:()=>gT,DebertaV2Model:()=>fT,DebertaV2PreTrainedModel:()=>wn,DebertaV2Tokenizer:()=>mb,DecisionTransformerModel:()=>yT,DecisionTransformerPreTrainedModel:()=>Kh,DeepseekV3ForCausalLM:()=>hT,DeepseekV3Model:()=>pT,DeepseekV3PreTrainedModel:()=>Yi,DeiTFeatureExtractor:()=>TM,DeiTForImageClassification:()=>bT,DeiTImageProcessor:()=>mh,DeiTModel:()=>vT,DeiTPreTrainedModel:()=>Zi,DepthAnythingForDepthEstimation:()=>MT,DepthAnythingPreTrainedModel:()=>Qh,DepthEstimationPipeline:()=>OI,DepthProForDepthEstimation:()=>xT,DepthProPreTrainedModel:()=>Jh,DetrFeatureExtractor:()=>EM,DetrForObjectDetection:()=>ET,DetrForSegmentation:()=>kT,DetrImageProcessor:()=>_h,DetrModel:()=>TT,DetrObjectDetectionOutput:()=>el,DetrPreTrainedModel:()=>Aa,DetrSegmentationOutput:()=>Xh,Dinov2ForImageClassification:()=>AT,Dinov2Model:()=>CT,Dinov2PreTrainedModel:()=>tl,Dinov2WithRegistersForImageClassification:()=>IT,Dinov2WithRegistersModel:()=>ST,Dinov2WithRegistersPreTrainedModel:()=>rl,DistilBertForMaskedLM:()=>DT,DistilBertForQuestionAnswering:()=>NT,DistilBertForSequenceClassification:()=>LT,DistilBertForTokenClassification:()=>FT,DistilBertModel:()=>OT,DistilBertPreTrainedModel:()=>yn,DistilBertTokenizer:()=>gb,DocumentQuestionAnsweringPipeline:()=>PI,DonutFeatureExtractor:()=>CM,DonutImageProcessor:()=>Si,DonutSwinModel:()=>BT,DonutSwinPreTrainedModel:()=>ef,DynamicCache:()=>Oh,EdgeTamModel:()=>WC,EfficientNetForImageClassification:()=>VT,EfficientNetImageProcessor:()=>SM,EfficientNetModel:()=>$T,EfficientNetPreTrainedModel:()=>sl,ElectraForMaskedLM:()=>jT,ElectraForQuestionAnswering:()=>HT,ElectraForSequenceClassification:()=>qT,ElectraForTokenClassification:()=>WT,ElectraModel:()=>GT,ElectraPreTrainedModel:()=>vn,ElectraTokenizer:()=>wb,EncodecFeatureExtractor:()=>ch,EosTokenCriteria:()=>Hx,Ernie4_5ForCausalLM:()=>QT,Ernie4_5Model:()=>KT,Ernie4_5PretrainedModel:()=>al,EsmForMaskedLM:()=>XT,EsmForSequenceClassification:()=>YT,EsmForTokenClassification:()=>ZT,EsmModel:()=>JT,EsmPreTrainedModel:()=>_s,EsmTokenizer:()=>yb,EuroBertForMaskedLM:()=>tE,EuroBertForSequenceClassification:()=>rE,EuroBertForTokenClassification:()=>nE,EuroBertModel:()=>eE,EuroBertPreTrainedModel:()=>gs,ExaoneForCausalLM:()=>aE,ExaoneModel:()=>sE,ExaonePreTrainedModel:()=>ol,FalconForCausalLM:()=>iE,FalconH1ForCausalLM:()=>cE,FalconH1Model:()=>lE,FalconH1PreTrainedModel:()=>ll,FalconModel:()=>oE,FalconPreTrainedModel:()=>il,FalconTokenizer:()=>vb,FastViTForImageClassification:()=>dE,FastViTModel:()=>uE,FastViTPreTrainedModel:()=>cl,FeatureExtractionPipeline:()=>LI,FeatureExtractor:()=>ct,FillMaskPipeline:()=>_I,Florence2ForConditionalGeneration:()=>pE,Florence2PreTrainedModel:()=>tf,Florence2Processor:()=>ax,ForcedBOSTokenLogitsProcessor:()=>Lx,ForcedEOSTokenLogitsProcessor:()=>Fx,GLPNFeatureExtractor:()=>PM,GLPNForDepthEstimation:()=>EE,GLPNModel:()=>TE,GLPNPreTrainedModel:()=>vl,GPT2LMHeadModel:()=>FE,GPT2Model:()=>LE,GPT2PreTrainedModel:()=>El,GPT2Tokenizer:()=>xb,GPTBigCodeForCausalLM:()=>CE,GPTBigCodeModel:()=>kE,GPTBigCodePreTrainedModel:()=>bl,GPTJForCausalLM:()=>DE,GPTJModel:()=>NE,GPTJPreTrainedModel:()=>kl,GPTNeoForCausalLM:()=>SE,GPTNeoModel:()=>AE,GPTNeoPreTrainedModel:()=>Ml,GPTNeoXForCausalLM:()=>PE,GPTNeoXModel:()=>IE,GPTNeoXPreTrainedModel:()=>xl,GPTNeoXTokenizer:()=>Mb,Gemma2ForCausalLM:()=>_E,Gemma2Model:()=>mE,Gemma2PreTrainedModel:()=>dl,Gemma3ForCausalLM:()=>wE,Gemma3Model:()=>gE,Gemma3PreTrainedModel:()=>pl,Gemma3nAudioFeatureExtractor:()=>tM,Gemma3nForCausalLM:()=>nf,Gemma3nForConditionalGeneration:()=>hl,Gemma3nPreTrainedModel:()=>rf,Gemma3nProcessor:()=>ox,GemmaForCausalLM:()=>fE,GemmaModel:()=>hE,GemmaPreTrainedModel:()=>ul,GemmaTokenizer:()=>bb,Glm46VImageProcessor:()=>IM,Glm46VProcessor:()=>ix,GlmForCausalLM:()=>vE,GlmModel:()=>yE,GlmMoeDsaForCausalLM:()=>ME,GlmMoeDsaModel:()=>bE,GlmMoeDsaPreTrainedModel:()=>ml,GlmOcrForConditionalGeneration:()=>xE,GlmPreTrainedModel:()=>fl,GptOssForCausalLM:()=>OE,GptOssModel:()=>RE,GptOssPreTrainedModel:()=>Tl,GraniteForCausalLM:()=>UE,GraniteModel:()=>BE,GraniteMoeHybridForCausalLM:()=>$E,GraniteMoeHybridModel:()=>zE,GraniteMoeHybridPreTrainedModel:()=>Al,GranitePreTrainedModel:()=>Cl,GraniteSpeechFeatureExtractor:()=>rM,GraniteSpeechForConditionalGeneration:()=>VE,GraniteSpeechProcessor:()=>lx,GroundingDinoForObjectDetection:()=>GE,GroundingDinoImageProcessor:()=>RM,GroundingDinoPreTrainedModel:()=>of,GroundingDinoProcessor:()=>cx,GroupViTModel:()=>jE,GroupViTPreTrainedModel:()=>lf,HeliumForCausalLM:()=>WE,HeliumModel:()=>qE,HeliumPreTrainedModel:()=>Il,HerbertTokenizer:()=>Tb,HieraForImageClassification:()=>KE,HieraModel:()=>HE,HieraPreTrainedModel:()=>Pl,HubertForCTC:()=>tk,HubertForSequenceClassification:()=>rk,HubertModel:()=>ek,HubertPreTrainedModel:()=>ZE,HunYuanDenseV1ForCausalLM:()=>sk,HunYuanDenseV1Model:()=>nk,HunYuanDenseV1PreTrainedModel:()=>Rl,IJepaForImageClassification:()=>ck,IJepaModel:()=>lk,IJepaPreTrainedModel:()=>Ol,Idefics3ForConditionalGeneration:()=>ik,Idefics3ImageProcessor:()=>Lp,Idefics3Processor:()=>Fp,ImageClassificationPipeline:()=>kI,ImageFeatureExtractionPipeline:()=>FI,ImageFeatureExtractor:()=>ue,ImageProcessor:()=>ue,ImageSegmentationPipeline:()=>Zf,ImageToImagePipeline:()=>RI,ImageToTextPipeline:()=>EI,InterruptableStoppingCriteria:()=>pU,JAISLMHeadModel:()=>dk,JAISModel:()=>uk,JAISPreTrainedModel:()=>Ll,JinaCLIPImageProcessor:()=>LM,JinaCLIPModel:()=>pk,JinaCLIPPreTrainedModel:()=>Sa,JinaCLIPProcessor:()=>dx,JinaCLIPTextModel:()=>uf,JinaCLIPVisionModel:()=>hk,Lfm2ForCausalLM:()=>mk,Lfm2Model:()=>fk,Lfm2MoeForCausalLM:()=>wk,Lfm2MoeModel:()=>gk,Lfm2MoePreTrainedModel:()=>Nl,Lfm2PreTrainedModel:()=>Fl,Lfm2VlForConditionalGeneration:()=>yk,Lfm2VlImageProcessor:()=>FM,Lfm2VlProcessor:()=>px,LightOnOcrForConditionalGeneration:()=>_k,LiteWhisperForConditionalGeneration:()=>aS,Llama4ForCausalLM:()=>Mk,Llama4PreTrainedModel:()=>df,LlamaForCausalLM:()=>bk,LlamaModel:()=>vk,LlamaPreTrainedModel:()=>Dl,LlamaTokenizer:()=>Eb,LlavaForConditionalGeneration:()=>gr,LlavaOnevisionForConditionalGeneration:()=>gr,LlavaOnevisionImageProcessor:()=>NM,LlavaPreTrainedModel:()=>cf,LlavaProcessor:()=>hx,LlavaQwen2ForCausalLM:()=>ok,LogLevel:()=>Ft,LogitsProcessor:()=>Jt,LogitsProcessorList:()=>yi,LogitsWarper:()=>Li,LongT5ForConditionalGeneration:()=>Tk,LongT5Model:()=>xk,LongT5PreTrainedModel:()=>Bl,M2M100ForConditionalGeneration:()=>kk,M2M100Model:()=>Ek,M2M100PreTrainedModel:()=>Ul,M2M100Tokenizer:()=>kb,MBart50Tokenizer:()=>Ab,MBartForCausalLM:()=>Lk,MBartForConditionalGeneration:()=>Rk,MBartForSequenceClassification:()=>Ok,MBartModel:()=>Pk,MBartPreTrainedModel:()=>ws,MBartTokenizer:()=>oh,MPNetForMaskedLM:()=>v1,MPNetForQuestionAnswering:()=>x1,MPNetForSequenceClassification:()=>b1,MPNetForTokenClassification:()=>M1,MPNetModel:()=>y1,MPNetPreTrainedModel:()=>bn,MPNetTokenizer:()=>Pb,MT5ForConditionalGeneration:()=>C1,MT5Model:()=>k1,MT5PreTrainedModel:()=>Jl,MarianMTModel:()=>Ak,MarianModel:()=>Ck,MarianPreTrainedModel:()=>zl,MarianTokenizer:()=>Cb,Mask2FormerImageProcessor:()=>BM,MaskFormerFeatureExtractor:()=>DM,MaskFormerForInstanceSegmentation:()=>Ik,MaskFormerImageProcessor:()=>Ii,MaskFormerModel:()=>Sk,MaskFormerPreTrainedModel:()=>$l,MaxLengthCriteria:()=>Wx,Metric3DForDepthEstimation:()=>Fk,Metric3DPreTrainedModel:()=>pf,Metric3Dv2ForDepthEstimation:()=>Nk,Metric3Dv2PreTrainedModel:()=>hf,MgpstrForSceneTextRecognition:()=>Dk,MgpstrModelOutput:()=>ff,MgpstrPreTrainedModel:()=>mf,MgpstrProcessor:()=>fx,MgpstrTokenizer:()=>Sb,MimiDecoderModel:()=>yf,MimiDecoderOutput:()=>gf,MimiEncoderModel:()=>wf,MimiEncoderOutput:()=>_f,MimiModel:()=>Bk,MimiPreTrainedModel:()=>Ia,MinLengthLogitsProcessor:()=>Ux,MinNewTokensLengthLogitsProcessor:()=>zx,Mistral4ForCausalLM:()=>Vk,Mistral4Model:()=>$k,Mistral4PreTrainedModel:()=>Gl,MistralForCausalLM:()=>zk,MistralModel:()=>Uk,MistralPreTrainedModel:()=>Vl,MobileBertForMaskedLM:()=>jk,MobileBertForQuestionAnswering:()=>Wk,MobileBertForSequenceClassification:()=>qk,MobileBertModel:()=>Gk,MobileBertPreTrainedModel:()=>ys,MobileBertTokenizer:()=>Ib,MobileLLMForCausalLM:()=>Kk,MobileLLMModel:()=>Hk,MobileLLMPreTrainedModel:()=>jl,MobileNetV1FeatureExtractor:()=>UM,MobileNetV1ForImageClassification:()=>Jk,MobileNetV1ForSemanticSegmentation:()=>Xk,MobileNetV1ImageProcessor:()=>yh,MobileNetV1Model:()=>Qk,MobileNetV1PreTrainedModel:()=>Pa,MobileNetV2FeatureExtractor:()=>zM,MobileNetV2ForImageClassification:()=>Zk,MobileNetV2ForSemanticSegmentation:()=>e1,MobileNetV2ImageProcessor:()=>vh,MobileNetV2Model:()=>Yk,MobileNetV2PreTrainedModel:()=>Ra,MobileNetV3FeatureExtractor:()=>$M,MobileNetV3ForImageClassification:()=>r1,MobileNetV3ForSemanticSegmentation:()=>n1,MobileNetV3ImageProcessor:()=>bh,MobileNetV3Model:()=>t1,MobileNetV3PreTrainedModel:()=>Oa,MobileNetV4FeatureExtractor:()=>VM,MobileNetV4ForImageClassification:()=>a1,MobileNetV4ForSemanticSegmentation:()=>o1,MobileNetV4ImageProcessor:()=>Mh,MobileNetV4Model:()=>s1,MobileNetV4PreTrainedModel:()=>La,MobileViTFeatureExtractor:()=>GM,MobileViTForImageClassification:()=>l1,MobileViTImageProcessor:()=>xh,MobileViTModel:()=>i1,MobileViTPreTrainedModel:()=>ql,MobileViTV2ForImageClassification:()=>u1,MobileViTV2Model:()=>c1,MobileViTV2PreTrainedModel:()=>Wl,ModelRegistry:()=>az,ModernBertDecoderForCausalLM:()=>_1,ModernBertDecoderModel:()=>m1,ModernBertDecoderPreTrainedModel:()=>Hl,ModernBertForMaskedLM:()=>p1,ModernBertForSequenceClassification:()=>h1,ModernBertForTokenClassification:()=>f1,ModernBertModel:()=>d1,ModernBertPreTrainedModel:()=>vs,Moondream1ForConditionalGeneration:()=>ak,MoonshineFeatureExtractor:()=>nM,MoonshineForConditionalGeneration:()=>w1,MoonshineModel:()=>g1,MoonshinePreTrainedModel:()=>Kl,MoonshineProcessor:()=>mx,MptForCausalLM:()=>E1,MptModel:()=>T1,MptPreTrainedModel:()=>Ql,MultiModalityCausalLM:()=>A1,MultiModalityPreTrainedModel:()=>vf,MusicgenForCausalLM:()=>I1,MusicgenForConditionalGeneration:()=>bf,MusicgenModel:()=>S1,MusicgenPreTrainedModel:()=>Xl,NanoChatForCausalLM:()=>R1,NanoChatModel:()=>P1,NanoChatPreTrainedModel:()=>Yl,NemotronHForCausalLM:()=>L1,NemotronHModel:()=>O1,NemotronHPreTrainedModel:()=>Zl,NeoBertForMaskedLM:()=>N1,NeoBertForQuestionAnswering:()=>U1,NeoBertForSequenceClassification:()=>D1,NeoBertForTokenClassification:()=>B1,NeoBertModel:()=>F1,NeoBertPreTrainedModel:()=>Mn,NllbTokenizer:()=>Rb,NoBadWordsLogitsProcessor:()=>$x,NoRepeatNGramLogitsProcessor:()=>Dx,NomicBertModel:()=>z1,NomicBertPreTrainedModel:()=>Mf,NougatImageProcessor:()=>jM,NougatTokenizer:()=>Ob,OPTForCausalLM:()=>Y1,OPTModel:()=>X1,OPTPreTrainedModel:()=>ac,ObjectDetectionPipeline:()=>SI,Olmo2ForCausalLM:()=>j1,Olmo2Model:()=>G1,Olmo2PreTrainedModel:()=>tc,Olmo3ForCausalLM:()=>W1,Olmo3Model:()=>q1,Olmo3PreTrainedModel:()=>rc,OlmoForCausalLM:()=>V1,OlmoHybridForCausalLM:()=>K1,OlmoHybridModel:()=>H1,OlmoHybridPreTrainedModel:()=>nc,OlmoModel:()=>$1,OlmoPreTrainedModel:()=>ec,OpenELMForCausalLM:()=>J1,OpenELMModel:()=>Q1,OpenELMPreTrainedModel:()=>sc,OwlViTFeatureExtractor:()=>qM,OwlViTForObjectDetection:()=>rC,OwlViTImageProcessor:()=>Pi,OwlViTModel:()=>tC,OwlViTPreTrainedModel:()=>ic,OwlViTProcessor:()=>_x,Owlv2ForObjectDetection:()=>eC,Owlv2ImageProcessor:()=>WM,Owlv2Model:()=>Z1,Owlv2PreTrainedModel:()=>oc,PaliGemmaForConditionalGeneration:()=>nC,PaliGemmaProcessor:()=>gx,ParakeetFeatureExtractor:()=>sM,ParakeetForCTC:()=>sC,ParakeetPreTrainedModel:()=>xf,PatchTSMixerForPrediction:()=>oC,PatchTSMixerModel:()=>aC,PatchTSMixerPreTrainedModel:()=>lc,PatchTSTForPrediction:()=>lC,PatchTSTModel:()=>iC,PatchTSTPreTrainedModel:()=>cc,Phi3ForCausalLM:()=>pC,Phi3Model:()=>dC,Phi3PreTrainedModel:()=>dc,Phi3VForCausalLM:()=>Ef,Phi3VImageProcessor:()=>HM,Phi3VPreTrainedModel:()=>Tf,Phi3VProcessor:()=>wx,PhiForCausalLM:()=>uC,PhiModel:()=>cC,PhiPreTrainedModel:()=>uc,PixtralImageProcessor:()=>KM,PixtralProcessor:()=>yx,PreTrainedModel:()=>I,PreTrainedTokenizer:()=>le,PretrainedConfig:()=>wi,Processor:()=>Se,PvtForImageClassification:()=>fC,PvtImageProcessor:()=>QM,PvtModel:()=>hC,PvtPreTrainedModel:()=>pc,PyAnnoteFeatureExtractor:()=>dh,PyAnnoteForAudioFrameClassification:()=>_C,PyAnnoteModel:()=>mC,PyAnnotePreTrainedModel:()=>hc,PyAnnoteProcessor:()=>vx,QuestionAnsweringPipeline:()=>mI,Qwen2ForCausalLM:()=>wC,Qwen2Model:()=>gC,Qwen2MoeForCausalLM:()=>vC,Qwen2MoeModel:()=>yC,Qwen2MoePreTrainedModel:()=>mc,Qwen2PreTrainedModel:()=>fc,Qwen2Tokenizer:()=>Lb,Qwen2VLForCausalLM:()=>gl,Qwen2VLForConditionalGeneration:()=>_l,Qwen2VLImageProcessor:()=>wh,Qwen2VLPreTrainedModel:()=>sf,Qwen2VLProcessor:()=>Ri,Qwen2_5_VLForCausalLM:()=>yl,Qwen2_5_VLForConditionalGeneration:()=>wl,Qwen2_5_VLProcessor:()=>Ah,Qwen3ForCausalLM:()=>MC,Qwen3Model:()=>bC,Qwen3MoeForCausalLM:()=>TC,Qwen3MoeModel:()=>xC,Qwen3MoePreTrainedModel:()=>gc,Qwen3NextForCausalLM:()=>kC,Qwen3NextModel:()=>EC,Qwen3NextPreTrainedModel:()=>wc,Qwen3PreTrainedModel:()=>_c,Qwen3VLForCausalLM:()=>vc,Qwen3VLForConditionalGeneration:()=>yc,Qwen3VLMoeForCausalLM:()=>kf,Qwen3VLMoeForConditionalGeneration:()=>CC,Qwen3VLProcessor:()=>bx,Qwen3_5ForCausalLM:()=>Mc,Qwen3_5ForConditionalGeneration:()=>bc,Qwen3_5MoeForCausalLM:()=>Cf,Qwen3_5MoeForConditionalGeneration:()=>AC,RFDetrForObjectDetection:()=>RC,RFDetrModel:()=>PC,RFDetrObjectDetectionOutput:()=>Af,RFDetrPreTrainedModel:()=>Tc,RTDetrForObjectDetection:()=>nT,RTDetrImageProcessor:()=>JM,RTDetrModel:()=>rT,RTDetrObjectDetectionOutput:()=>ms,RTDetrPreTrainedModel:()=>Ji,RTDetrV2ForObjectDetection:()=>jC,RTDetrV2Model:()=>GC,RTDetrV2ObjectDetectionOutput:()=>Sf,RTDetrV2PreTrainedModel:()=>Ec,RawAudio:()=>Xb,RawImage:()=>Mt,RawVideo:()=>$I,RawVideoFrame:()=>em,RepetitionPenaltyLogitsProcessor:()=>Bx,ResNetForImageClassification:()=>IC,ResNetModel:()=>SC,ResNetPreTrainedModel:()=>xc,RoFormerForMaskedLM:()=>UC,RoFormerForQuestionAnswering:()=>VC,RoFormerForSequenceClassification:()=>zC,RoFormerForTokenClassification:()=>$C,RoFormerModel:()=>BC,RoFormerPreTrainedModel:()=>Tn,RoFormerTokenizer:()=>Nb,RobertaForMaskedLM:()=>LC,RobertaForQuestionAnswering:()=>DC,RobertaForSequenceClassification:()=>FC,RobertaForTokenClassification:()=>NC,RobertaModel:()=>OC,RobertaPreTrainedModel:()=>xn,RobertaTokenizer:()=>Fb,Sam2ImageProcessor:()=>ii,Sam2ImageSegmentationOutput:()=>Rf,Sam2Model:()=>kc,Sam2PreTrainedModel:()=>Of,Sam2Processor:()=>Ih,Sam2VideoProcessor:()=>Mx,Sam3ImageProcessor:()=>ii,Sam3TrackerModel:()=>HC,SamImageProcessor:()=>ii,SamImageSegmentationOutput:()=>If,SamModel:()=>qC,SamPreTrainedModel:()=>Pf,SamProcessor:()=>Sh,SapiensFeatureExtractor:()=>XM,SapiensForDepthEstimation:()=>QC,SapiensForNormalEstimation:()=>JC,SapiensForSemanticSegmentation:()=>KC,SapiensImageProcessor:()=>Th,SapiensPreTrainedModel:()=>Fa,SeamlessM4TFeatureExtractor:()=>aM,SegformerFeatureExtractor:()=>YM,SegformerForImageClassification:()=>YC,SegformerForSemanticSegmentation:()=>ZC,SegformerImageProcessor:()=>Eh,SegformerModel:()=>XC,SegformerPreTrainedModel:()=>Na,SiglipImageProcessor:()=>ZM,SiglipModel:()=>eA,SiglipPreTrainedModel:()=>Cc,SiglipTextModel:()=>Lf,SiglipTokenizer:()=>Db,SiglipVisionModel:()=>tA,SmolLM3ForCausalLM:()=>nA,SmolLM3Model:()=>rA,SmolLM3PreTrainedModel:()=>Ac,SmolVLMImageProcessor:()=>Lp,SmolVLMProcessor:()=>Fp,SnacDecoderModel:()=>Nf,SnacEncoderModel:()=>Ff,SnacFeatureExtractor:()=>oM,SnacModel:()=>sA,SnacPreTrainedModel:()=>Da,SolarOpenForCausalLM:()=>oA,SolarOpenModel:()=>aA,SolarOpenPreTrainedModel:()=>Sc,SpeechT5FeatureExtractor:()=>iM,SpeechT5ForSpeechToText:()=>lA,SpeechT5ForTextToSpeech:()=>cA,SpeechT5HifiGan:()=>uA,SpeechT5Model:()=>iA,SpeechT5PreTrainedModel:()=>Ba,SpeechT5Processor:()=>xx,SpeechT5Tokenizer:()=>Bb,SqueezeBertForMaskedLM:()=>pA,SqueezeBertForQuestionAnswering:()=>fA,SqueezeBertForSequenceClassification:()=>hA,SqueezeBertModel:()=>dA,SqueezeBertPreTrainedModel:()=>bs,SqueezeBertTokenizer:()=>Ub,StableLmForCausalLM:()=>_A,StableLmModel:()=>mA,StableLmPreTrainedModel:()=>Ic,Starcoder2ForCausalLM:()=>wA,Starcoder2Model:()=>gA,Starcoder2PreTrainedModel:()=>Pc,StoppingCriteria:()=>hs,StoppingCriteriaList:()=>Rh,StyleTextToSpeech2Model:()=>yA,StyleTextToSpeech2PreTrainedModel:()=>Df,SummarizationPipeline:()=>gI,SupertonicForConditionalGeneration:()=>Uf,SupertonicPreTrainedModel:()=>Bf,SuppressTokensAtBeginLogitsProcessor:()=>Ph,Swin2SRForImageSuperResolution:()=>TA,Swin2SRImageProcessor:()=>ex,Swin2SRModel:()=>xA,Swin2SRPreTrainedModel:()=>Rc,SwinForImageClassification:()=>bA,SwinForSemanticSegmentation:()=>MA,SwinModel:()=>vA,SwinPreTrainedModel:()=>Ua,T5ForConditionalGeneration:()=>kA,T5Model:()=>EA,T5PreTrainedModel:()=>Oc,T5Tokenizer:()=>zb,TableTransformerForObjectDetection:()=>AA,TableTransformerModel:()=>CA,TableTransformerObjectDetectionOutput:()=>zf,TableTransformerPreTrainedModel:()=>Lc,TemperatureLogitsWarper:()=>Gx,Tensor:()=>q,Text2TextGenerationPipeline:()=>$c,TextClassificationPipeline:()=>hI,TextGenerationPipeline:()=>yI,TextStreamer:()=>zI,TextToAudioPipeline:()=>TI,TokenClassificationPipeline:()=>fI,TokenizersBackend:()=>le,TopKLogitsWarper:()=>dU,TopPLogitsWarper:()=>uU,TrOCRForCausalLM:()=>SA,TrOCRPreTrainedModel:()=>$f,TranslationPipeline:()=>wI,UltravoxModel:()=>Sl,UltravoxPreTrainedModel:()=>af,UltravoxProcessor:()=>Tx,UniSpeechForCTC:()=>PA,UniSpeechForSequenceClassification:()=>RA,UniSpeechModel:()=>IA,UniSpeechPreTrainedModel:()=>za,UniSpeechSatForAudioFrameClassification:()=>NA,UniSpeechSatForCTC:()=>LA,UniSpeechSatForSequenceClassification:()=>FA,UniSpeechSatModel:()=>OA,UniSpeechSatPreTrainedModel:()=>Ms,VLChatProcessor:()=>ux,VLMImageProcessor:()=>OM,VaultGemmaForCausalLM:()=>BA,VaultGemmaModel:()=>DA,VaultGemmaPreTrainedModel:()=>Fc,ViTFeatureExtractor:()=>tx,ViTForImageClassification:()=>$A,ViTImageProcessor:()=>kh,ViTMAEModel:()=>VA,ViTMAEPreTrainedModel:()=>Vf,ViTMSNForImageClassification:()=>jA,ViTMSNModel:()=>GA,ViTMSNPreTrainedModel:()=>Dc,ViTModel:()=>zA,ViTPreTrainedModel:()=>Nc,VisionEncoderDecoderModel:()=>UA,VitMatteForImageMatting:()=>qA,VitMatteImageProcessor:()=>rx,VitMattePreTrainedModel:()=>Gf,VitPoseForPoseEstimation:()=>WA,VitPoseImageProcessor:()=>nx,VitPosePreTrainedModel:()=>jf,VitsModel:()=>HA,VitsModelOutput:()=>qf,VitsPreTrainedModel:()=>Wf,VitsTokenizer:()=>$b,VoxtralForConditionalGeneration:()=>KA,VoxtralProcessor:()=>Ex,VoxtralRealtimeFeatureExtractor:()=>uM,VoxtralRealtimeForConditionalGeneration:()=>Kf,VoxtralRealtimePreTrainedModel:()=>Hf,VoxtralRealtimeProcessor:()=>kx,Wav2Vec2BertForCTC:()=>JA,Wav2Vec2BertForSequenceClassification:()=>XA,Wav2Vec2BertModel:()=>QA,Wav2Vec2BertPreTrainedModel:()=>$a,Wav2Vec2CTCTokenizer:()=>Vb,Wav2Vec2FeatureExtractor:()=>lM,Wav2Vec2ForAudioFrameClassification:()=>YE,Wav2Vec2ForCTC:()=>JE,Wav2Vec2ForSequenceClassification:()=>XE,Wav2Vec2Model:()=>QE,Wav2Vec2PreTrainedModel:()=>Mr,Wav2Vec2Processor:()=>Cx,Wav2Vec2ProcessorWithLM:()=>Ax,WavLMForAudioFrameClassification:()=>rS,WavLMForCTC:()=>ZA,WavLMForSequenceClassification:()=>eS,WavLMForXVector:()=>tS,WavLMModel:()=>YA,WavLMPreTrainedModel:()=>En,WeSpeakerFeatureExtractor:()=>cM,WeSpeakerResNetModel:()=>nS,WeSpeakerResNetPreTrainedModel:()=>Jf,WhisperFeatureExtractor:()=>dM,WhisperForConditionalGeneration:()=>Xf,WhisperModel:()=>sS,WhisperPreTrainedModel:()=>Bc,WhisperProcessor:()=>Sx,WhisperTextStreamer:()=>XU,WhisperTimeStampLogitsProcessor:()=>Nx,WhisperTokenizer:()=>jb,XLMForQuestionAnswering:()=>uS,XLMForSequenceClassification:()=>lS,XLMForTokenClassification:()=>cS,XLMModel:()=>oS,XLMPreTrainedModel:()=>kn,XLMRobertaForMaskedLM:()=>pS,XLMRobertaForQuestionAnswering:()=>mS,XLMRobertaForSequenceClassification:()=>hS,XLMRobertaForTokenClassification:()=>fS,XLMRobertaModel:()=>dS,XLMRobertaPreTrainedModel:()=>Cn,XLMRobertaTokenizer:()=>qb,XLMTokenizer:()=>Wb,XLMWithLMHeadModel:()=>iS,XVectorOutput:()=>Qf,YolosFeatureExtractor:()=>sx,YolosForObjectDetection:()=>gS,YolosImageProcessor:()=>Ch,YolosModel:()=>_S,YolosObjectDetectionOutput:()=>Yf,YolosPreTrainedModel:()=>Uc,YoutuForCausalLM:()=>yS,YoutuModel:()=>wS,YoutuPreTrainedModel:()=>zc,ZeroShotAudioClassificationPipeline:()=>MI,ZeroShotClassificationPipeline:()=>vI,ZeroShotImageClassificationPipeline:()=>AI,ZeroShotObjectDetectionPipeline:()=>II,cat:()=>Fe,cos_sim:()=>GD,dot:()=>Bv,env:()=>ge,full:()=>lt,full_like:()=>_i,interpolate:()=>Xp,interpolate_4d:()=>Nt,layer_norm:()=>lB,load_image:()=>NB,load_video:()=>YU,log_softmax:()=>Dv,matmul:()=>Jv,mean:()=>ki,mean_pooling:()=>Xv,ones:()=>xt,ones_like:()=>th,permute:()=>Qv,pipeline:()=>QU,quantize_embeddings:()=>Zv,rand:()=>cB,randn:()=>Yv,random:()=>ba,read_audio:()=>Kb,rfft:()=>iB,slice:()=>Yp,softmax:()=>rt,stack:()=>Fr,std_mean:()=>Zp,topk:()=>pn,zeros:()=>rh,zeros_like:()=>nh});function bv(e){return Object.keys(e).length===0}function cn(e,t){e&&e(t)}function _L(e){return Number.isInteger(e)||typeof e=="bigint"}function xy(e){return e==null||e===-1}function Ty(e){let t=[],r=e;for(;Array.isArray(r);)t.push(r.length),r=r[0];return t}function jt(...e){return Array.prototype.concat.apply([],e)}function gL(...e){return e.reduce((t,r)=>t.flatMap(n=>r.map(s=>[n,s])))}function pi(e,t){return Math.abs((e+t)%(2*t)-t)}function ot(e,t){return Object.assign({},...t.map(r=>{if(e[r]!==void 0)return{[r]:e[r]}}))}function wL(e,t){let r=0;for(let n of e)n===t&&++r;return r}function oF(e){if(e===null)return null;switch(e.type){case"BertNormalizer":return new NL(e);case"Precompiled":return new BL(e);case"Sequence":return new zL(e);case"Replace":return new VL(e);case"NFC":return new qL(e);case"NFD":return new HL(e);case"NFKC":return new QL(e);case"NFKD":return new XL(e);case"Strip":return new ZL(e);case"StripAccents":return new tF(e);case"Lowercase":return new nF(e);case"Prepend":return new aF(e);default:throw new Error(`Unknown Normalizer type: ${e.type}`)}}function IF(e){if(e===null)return null;switch(e.type){case"BertPreTokenizer":return new bF;case"Sequence":return new EF(e);case"Whitespace":return new dF;case"WhitespaceSplit":return new CF;case"Metaspace":return new hF(e);case"ByteLevel":return new cF(e);case"Split":return new mF(e);case"Punctuation":return new gF(e);case"Digits":return new yF(e);case"Replace":return new xF(e);case"FixedLength":return new SF(e);default:throw new Error(`Unknown PreTokenizer type: ${e.type}`)}}function DF(e){if(e.length===0)throw new Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]<t&&(t=e[n],r=n);return[t,r]}function WF(e,t){switch(e.type){case"WordPiece":return new Ay(e);case"Unigram":return new Iy(e,t.eos_token);case"BPE":return new Py(e);default:if(e.vocab)return Array.isArray(e.vocab)?new Iy(e,t.eos_token):Object.hasOwn(e,"continuing_subword_prefix")&&Object.hasOwn(e,"unk_token")?Object.hasOwn(e,"merges")?new Py(e):new Ay(e):new qF(e,{target_lang:t.target_lang,bos_token:t.bos_token,eos_token:t.eos_token,pad_token:t.pad_token,unk_token:t.unk_token});throw new Error(`Unknown TokenizerModel type: ${e?.type}`)}}function aN(e){if(e===null)return null;switch(e.type){case"TemplateProcessing":return new JF(e);case"ByteLevel":return new YF(e);case"BertProcessing":return new eN(e);case"RobertaProcessing":return new rN(e);case"Sequence":return new sN(e);default:throw new Error(`Unknown PostProcessor type: ${e.type}`)}}function CN(e){if(e===null)return null;switch(e.type){case"ByteLevel":return new lN(e);case"WordPiece":return new uN(e);case"Metaspace":return new pN(e);case"BPEDecoder":return new fN(e);case"CTC":return new _N(e);case"Sequence":return new wN(e);case"Replace":return new vN(e);case"Fuse":return new MN(e);case"Strip":return new TN(e);case"ByteFallback":return new kN(e);default:throw new Error(`Unknown Decoder type: ${e.type}`)}}function Ry(e){return/\w/.test(e)}function Js(e){return/[0-9]/.test(e)}function Oy(e){return/\s/.test(e)}function RN(e,t={}){return e.endsWith(`
|
|
5
|
+
`)&&(e=e.slice(0,-1)),t.lstrip_blocks&&(e=e.replace(/^[ \t]*({[#%-])/gm,"$1")),t.trim_blocks&&(e=e.replace(/([#%-]})\n/g,"$1")),e.replace(/{%\s*(end)?generation\s*%}/gs,"")}function ON(e,t={}){let r=[],n=RN(e,t),s=0,a=0,o=c=>{let u="";for(;c(n[s]);){if(n[s]==="\\"){if(++s,s>=n.length)throw new SyntaxError("Unexpected end of input");let p=n[s++],f=PN.get(p);if(f===void 0)throw new SyntaxError(`Unexpected escaped character: ${p}`);u+=f;continue}if(u+=n[s++],s>=n.length)throw new SyntaxError("Unexpected end of input")}return u},i=()=>{let c=r.at(-1);c&&c.type===B.Text&&(c.value=c.value.trimEnd(),c.value===""&&r.pop())},l=()=>{for(;s<n.length&&Oy(n[s]);)++s};e:for(;s<n.length;){let c=r.at(-1)?.type;if(c===void 0||c===B.CloseStatement||c===B.CloseExpression||c===B.Comment){let p="";for(;s<n.length&&!(n[s]==="{"&&(n[s+1]==="%"||n[s+1]==="{"||n[s+1]==="#"));)p+=n[s++];if(p.length>0){r.push(new Ot(p,B.Text));continue}}if(n[s]==="{"&&n[s+1]==="#"){s+=2;let p=n[s]==="-";p&&++s;let f="";for(;n[s]!=="#"||n[s+1]!=="}";){if(s+2>=n.length)throw new SyntaxError("Missing end of comment tag");f+=n[s++]}let m=f.endsWith("-");m&&(f=f.slice(0,-1)),p&&i(),r.push(new Ot(f,B.Comment)),s+=2,m&&l();continue}if(n.slice(s,s+3)==="{%-"){i(),r.push(new Ot("{%",B.OpenStatement)),s+=3;continue}if(n.slice(s,s+3)==="{{-"){i(),r.push(new Ot("{{",B.OpenExpression)),a=0,s+=3;continue}if(o(Oy),n.slice(s,s+3)==="-%}"){r.push(new Ot("%}",B.CloseStatement)),s+=3,l();continue}if(n.slice(s,s+3)==="-}}"){r.push(new Ot("}}",B.CloseExpression)),s+=3,l();continue}let u=n[s];if(u==="-"||u==="+"){let p=r.at(-1)?.type;if(p===B.Text||p===void 0)throw new SyntaxError(`Unexpected character: ${u}`);switch(p){case B.Identifier:case B.NumericLiteral:case B.StringLiteral:case B.CloseParen:case B.CloseSquareBracket:break;default:{++s;let f=o(Js);r.push(new Ot(`${u}${f}`,f.length>0?B.NumericLiteral:B.UnaryOperator));continue}}}for(let[p,f]of IN){if(p==="}}"&&a>0)continue;if(n.slice(s,s+p.length)===p){r.push(new Ot(p,f)),f===B.OpenExpression?a=0:f===B.OpenCurlyBracket?++a:f===B.CloseCurlyBracket&&--a,s+=p.length;continue e}}if(u==="'"||u==='"'){++s;let p=o(f=>f!==u);r.push(new Ot(p,B.StringLiteral)),++s;continue}if(Js(u)){let p=o(Js);if(n[s]==="."&&Js(n[s+1])){++s;let f=o(Js);p=`${p}.${f}`}r.push(new Ot(p,B.NumericLiteral));continue}if(Ry(u)){let p=o(Ry);r.push(new Ot(p,B.Identifier));continue}throw new SyntaxError(`Unexpected character: ${u}`)}return r}function nD(e){let t=new LN([]),r=0;function n(F,N){let z=e[r++];if(!z||z.type!==F)throw new Error(`Parser Error: ${N}. ${z.type} !== ${F}.`);return z}function s(F){if(!l(F))throw new SyntaxError(`Expected ${F}`);++r}function a(){switch(e[r].type){case B.Comment:return new $N(e[r++].value);case B.Text:return c();case B.OpenStatement:return u();case B.OpenExpression:return p();default:throw new SyntaxError(`Unexpected token type: ${e[r].type}`)}}function o(...F){return r+F.length<=e.length&&F.every((N,z)=>N===e[r+z].type)}function i(...F){return e[r]?.type===B.OpenStatement&&e[r+1]?.type===B.Identifier&&F.includes(e[r+1]?.value)}function l(...F){return r+F.length<=e.length&&F.every((N,z)=>e[r+z].type==="Identifier"&&N===e[r+z].value)}function c(){return new Fy(n(B.Text,"Expected text token").value)}function u(){if(n(B.OpenStatement,"Expected opening statement token"),e[r].type!==B.Identifier)throw new SyntaxError(`Unknown statement, got ${e[r].type}`);let F=e[r].value,N;switch(F){case"set":++r,N=f();break;case"if":++r,N=m(),n(B.OpenStatement,"Expected {% token"),s("endif"),n(B.CloseStatement,"Expected %} token");break;case"macro":++r,N=y(),n(B.OpenStatement,"Expected {% token"),s("endmacro"),n(B.CloseStatement,"Expected %} token");break;case"for":++r,N=x(),n(B.OpenStatement,"Expected {% token"),s("endfor"),n(B.CloseStatement,"Expected %} token");break;case"call":{++r;let z=null;o(B.OpenParen)&&(z=V());let Y=ie();if(Y.type!=="Identifier")throw new SyntaxError("Expected identifier following call statement");let fe=V();n(B.CloseStatement,"Expected closing statement token");let H=[];for(;!i("endcall");)H.push(a());n(B.OpenStatement,"Expected '{%'"),s("endcall"),n(B.CloseStatement,"Expected closing statement token");let Ne=new Ly(Y,fe);N=new tD(Ne,z,H);break}case"break":++r,n(B.CloseStatement,"Expected closing statement token"),N=new DN;break;case"continue":++r,n(B.CloseStatement,"Expected closing statement token"),N=new BN;break;case"filter":{++r;let z=ie();z instanceof Qn&&o(B.OpenParen)&&(z=$(z)),n(B.CloseStatement,"Expected closing statement token");let Y=[];for(;!i("endfilter");)Y.push(a());n(B.OpenStatement,"Expected '{%'"),s("endfilter"),n(B.CloseStatement,"Expected '%}'"),N=new KN(z,Y);break}default:throw new SyntaxError(`Unknown statement type: ${F}`)}return N}function p(){n(B.OpenExpression,"Expected opening expression token");let F=M();return n(B.CloseExpression,"Expected closing expression token"),F}function f(){let F=v(),N=null,z=[];if(o(B.Equals))++r,N=v();else{for(n(B.CloseStatement,"Expected %} token");!i("endset");)z.push(a());n(B.OpenStatement,"Expected {% token"),s("endset")}return n(B.CloseStatement,"Expected closing statement token"),new UN(F,N,z)}function m(){let F=M();n(B.CloseStatement,"Expected closing statement token");let N=[],z=[];for(;!i("elif","else","endif");)N.push(a());if(i("elif")){++r,++r;let Y=m();z.push(Y)}else if(i("else"))for(++r,++r,n(B.CloseStatement,"Expected closing statement token");!i("endif");)z.push(a());return new FN(F,N,z)}function y(){let F=ie();if(F.type!=="Identifier")throw new SyntaxError("Expected identifier following macro statement");let N=V();n(B.CloseStatement,"Expected closing statement token");let z=[];for(;!i("endmacro");)z.push(a());return new zN(F,N,z)}function v(F=!1){let N=F?ie:M,z=[N()],Y=o(B.Comma);for(;Y&&(++r,z.push(N()),!!o(B.Comma)););return Y?new Ny(z):z[0]}function x(){let F=v(!0);if(!(F instanceof Qn||F instanceof Ny))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${F.type} instead`);if(!l("in"))throw new SyntaxError("Expected `in` keyword following loop variable");++r;let N=M();n(B.CloseStatement,"Expected closing statement token");let z=[];for(;!i("endfor","else");)z.push(a());let Y=[];if(i("else"))for(++r,++r,n(B.CloseStatement,"Expected closing statement token");!i("endfor");)Y.push(a());return new NN(F,N,z,Y)}function M(){return T()}function T(){let F=A();if(l("if")){++r;let N=A();if(l("else")){++r;let z=T();return new rD(N,F,z)}else return new QN(F,N)}return F}function A(){let F=C();for(;l("or");){let N=e[r];++r;let z=C();F=new Xs(N,F,z)}return F}function C(){let F=S();for(;l("and");){let N=e[r];++r;let z=S();F=new Xs(N,F,z)}return F}function S(){let F;for(;l("not");){let N=e[r];++r;let z=S();F=new XN(N,z)}return F??O()}function O(){let F=E();for(;;){let N;if(l("not","in"))N=new Ot("not in",B.Identifier),r+=2;else if(l("in"))N=e[r++];else if(o(B.ComparisonBinaryOperator))N=e[r++];else break;let z=E();F=new Xs(N,F,z)}return F}function E(){let F=D();for(;o(B.AdditiveBinaryOperator);){let N=e[r];++r;let z=D();F=new Xs(N,F,z)}return F}function K(){let F=W(ie());return o(B.OpenParen)?$(F):F}function $(F){let N=new Ly(F,V());return N=W(N),o(B.OpenParen)&&(N=$(N)),N}function V(){n(B.OpenParen,"Expected opening parenthesis for arguments list");let F=Q();return n(B.CloseParen,"Expected closing parenthesis for arguments list"),F}function Q(){let F=[];for(;!o(B.CloseParen);){let N;if(e[r].type===B.MultiplicativeBinaryOperator&&e[r].value==="*"){++r;let z=M();N=new eD(z)}else if(N=M(),o(B.Equals)){if(++r,!(N instanceof Qn))throw new SyntaxError("Expected identifier for keyword argument");let z=M();N=new ZN(N,z)}F.push(N),o(B.Comma)&&++r}return F}function G(){let F=[],N=!1;for(;!o(B.CloseSquareBracket);)o(B.Colon)?(F.push(void 0),++r,N=!0):(F.push(M()),o(B.Colon)&&(++r,N=!0));if(F.length===0)throw new SyntaxError("Expected at least one argument for member/slice expression");if(N){if(F.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new YN(...F)}return F[0]}function W(F){for(;o(B.Dot)||o(B.OpenSquareBracket);){let N=e[r];++r;let z,Y=N.type===B.OpenSquareBracket;if(Y)z=G(),n(B.CloseSquareBracket,"Expected closing square bracket");else if(z=ie(),z.type!=="Identifier")throw new SyntaxError("Expected identifier following dot operator");F=new VN(F,z,Y)}return F}function D(){let F=R();for(;o(B.MultiplicativeBinaryOperator);){let N=e[r++],z=R();F=new Xs(N,F,z)}return F}function R(){let F=re();for(;l("is");){++r;let N=l("not");N&&++r;let z=ie();if(!(z instanceof Qn))throw new SyntaxError("Expected identifier for the test");F=new JN(F,N,z)}return F}function re(){let F=K();for(;o(B.Pipe);){++r;let N=ie();if(!(N instanceof Qn))throw new SyntaxError("Expected identifier for the filter");o(B.OpenParen)&&(N=$(N)),F=new HN(F,N)}return F}function ie(){let F=e[r++];switch(F.type){case B.NumericLiteral:{let N=F.value;return N.includes(".")?new jN(Number(N)):new GN(Number(N))}case B.StringLiteral:{let N=F.value;for(;o(B.StringLiteral);)N+=e[r++].value;return new Fy(N)}case B.Identifier:return new Qn(F.value);case B.OpenParen:{let N=v();return n(B.CloseParen,"Expected closing parenthesis, got ${tokens[current].type} instead."),N}case B.OpenSquareBracket:{let N=[];for(;!o(B.CloseSquareBracket);)N.push(M()),o(B.Comma)&&++r;return++r,new qN(N)}case B.OpenCurlyBracket:{let N=new Map;for(;!o(B.CloseCurlyBracket);){let z=M();n(B.Colon,"Expected colon between key and value in object literal");let Y=M();N.set(z,Y),o(B.Comma)&&++r}return++r,new WN(N)}default:throw new SyntaxError(`Unexpected token: ${F.type}`)}}for(;r<e.length;)t.body.push(a());return t}function sD(e,t,r=1){if(t===void 0&&(t=e,e=0),r===0)throw new Error("range() step must not be zero");let n=[];if(r>0)for(let s=e;s<t;s+=r)n.push(s);else for(let s=e;s>t;s+=r)n.push(s);return n}function Dy(e,t,r,n=1){let s=Math.sign(n);s>=0?(t=(t??(t=0))<0?Math.max(e.length+t,0):Math.min(t,e.length),r=(r??(r=e.length))<0?Math.max(e.length+r,0):Math.min(r,e.length)):(t=(t??(t=e.length-1))<0?Math.max(e.length+t,-1):Math.min(t,e.length-1),r=(r??(r=-1))<-1?Math.max(e.length+r,-1):Math.min(r,e.length-1));let a=[];for(let o=t;s*o<s*r;o+=n)a.push(e[o]);return a}function aD(e){return e.replace(/\b\w/g,t=>t.toUpperCase())}function oD(e){return iD(new Date,e)}function iD(e,t){let r=new Intl.DateTimeFormat(void 0,{month:"long"}),n=new Intl.DateTimeFormat(void 0,{month:"short"}),s=a=>a<10?"0"+a:a.toString();return t.replace(/%[YmdbBHM%]/g,a=>{switch(a){case"%Y":return e.getFullYear().toString();case"%m":return s(e.getMonth()+1);case"%d":return s(e.getDate());case"%b":return n.format(e);case"%B":return r.format(e);case"%H":return s(e.getHours());case"%M":return s(e.getMinutes());case"%%":return"%";default:return a}})}function lD(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cD(e,t,r,n){if(n===0)return e;let s=n==null||n<0?1/0:n,a=t.length===0?new RegExp("(?=)","gu"):new RegExp(lD(t),"gu");return e.replaceAll(a,o=>s>0?(--s,r):o)}function zy(e){return e.replace(uD,t=>"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"))}function un(e,t={},r=0,n=!0){let{indent:s=null,ensureAscii:a=!1,separators:o=null,sortKeys:i=!1}=t,l,c;switch(o?[l,c]=o:s?(l=",",c=": "):(l=", ",c=": "),e.type){case"NullValue":return"null";case"UndefinedValue":return n?"null":"undefined";case"IntegerValue":case"FloatValue":case"BooleanValue":return JSON.stringify(e.value);case"StringValue":{let u=JSON.stringify(e.value);return a&&(u=zy(u)),u}case"ArrayValue":case"ObjectValue":{let u=s?" ".repeat(s):"",p=`
|
|
6
|
+
`+u.repeat(r),f=p+u;if(e.type==="ArrayValue"){let m=e.value.map(y=>un(y,t,r+1,n));return s?`[${f}${m.join(`${l}${f}`)}${p}]`:`[${m.join(l)}]`}else{let m=Array.from(e.value.entries());i&&(m=m.sort(([v],[x])=>v.localeCompare(x)));let y=m.map(([v,x])=>{let M=JSON.stringify(v);a&&(M=zy(M));let T=`${M}${c}${un(x,t,r+1,n)}`;return s?`${f}${T}`:T});return s?`{${y.join(l)}${p}}`:`{${y.join(l)}}`}}default:throw new Error(`Cannot convert to JSON: ${e.type}`)}}function dD(e){e.set("false",!1),e.set("true",!0),e.set("none",null),e.set("raise_exception",t=>{throw new Error(t)}),e.set("range",sD),e.set("strftime_now",oD),e.set("True",!0),e.set("False",!1),e.set("None",null)}function Vy(e,t){let r=t.split("."),n=e;for(let s of r)if(n instanceof tt)n=n.value.get(s)??new Oe;else if(n instanceof _e){let a=parseInt(s,10);if(!isNaN(a)&&a>=0&&a<n.value.length)n=n.value[a];else return new Oe}else return new Oe;return n}function Ap(e,t,r=!1){if(e instanceof Be&&t instanceof Be)return 0;if(e instanceof Be||t instanceof Be)throw new Error(`Cannot compare ${e.type} with ${t.type}`);if(e instanceof Oe&&t instanceof Oe)return 0;if(e instanceof Oe||t instanceof Oe)throw new Error(`Cannot compare ${e.type} with ${t.type}`);let n=a=>a instanceof de||a instanceof ze||a instanceof ae,s=a=>a instanceof ae?a.value?1:0:a.value;if(n(e)&&n(t)){let a=s(e),o=s(t);return a<o?-1:a>o?1:0}if(e.type!==t.type)throw new Error(`Cannot compare different types: ${e.type} and ${t.type}`);switch(e.type){case"StringValue":{let a=e.value,o=t.value;return r||(a=a.toLowerCase(),o=o.toLowerCase()),a<o?-1:a>o?1:0}default:throw new Error(`Cannot compare type: ${e.type}`)}}function ai(e){switch(typeof e){case"number":return Number.isInteger(e)?new de(e):new ze(e);case"string":return new Z(e);case"boolean":return new ae(e);case"undefined":return new Oe;case"object":return e===null?new Be:Array.isArray(e)?new _e(e.map(ai)):new tt(new Map(Object.entries(e).map(([t,r])=>[t,ai(r)])));case"function":return new Le((t,r)=>{let n=e(...t.map(s=>s.value))??null;return ai(n)});default:throw new Error(`Cannot convert to runtime value: ${e}`)}}function mD(e){switch(e.operator.type){case"MultiplicativeBinaryOperator":return 4;case"AdditiveBinaryOperator":return 3;case"ComparisonBinaryOperator":return 2;case"Identifier":return e.operator.value==="and"?1:e.operator.value==="in"||e.operator.value==="not in"?2:0}return 0}function _D(e,t=" "){let r=typeof t=="number"?" ".repeat(t):t;return Wt(e.body,0,r).replace(/\n$/,"")}function it(...e){return hD+e.join(" ")+fD}function Wt(e,t,r){return e.map(n=>gD(n,t,r)).join(Ke)}function gD(e,t,r){let n=r.repeat(t);switch(e.type){case"Program":return Wt(e.body,t,r);case"If":return wD(e,t,r);case"For":return yD(e,t,r);case"Set":return vD(e,t,r);case"Macro":return bD(e,t,r);case"Break":return n+it("break");case"Continue":return n+it("continue");case"CallStatement":return MD(e,t,r);case"FilterStatement":return xD(e,t,r);case"Comment":return n+"{# "+e.value+" #}";default:return n+"{{- "+we(e)+" -}}"}}function wD(e,t,r){let n=r.repeat(t),s=[],a=e;for(;a&&(s.push({test:a.test,body:a.body}),a.alternate.length===1&&a.alternate[0].type==="If");)a=a.alternate[0];let o=n+it("if",we(s[0].test))+Ke+Wt(s[0].body,t+1,r);for(let i=1;i<s.length;++i)o+=Ke+n+it("elif",we(s[i].test))+Ke+Wt(s[i].body,t+1,r);return a&&a.alternate.length>0&&(o+=Ke+n+it("else")+Ke+Wt(a.alternate,t+1,r)),o+=Ke+n+it("endif"),o}function yD(e,t,r){let n=r.repeat(t),s="";if(e.iterable.type==="SelectExpression"){let o=e.iterable;s=`${we(o.lhs)} if ${we(o.test)}`}else s=we(e.iterable);let a=n+it("for",we(e.loopvar),"in",s)+Ke+Wt(e.body,t+1,r);return e.defaultBlock.length>0&&(a+=Ke+n+it("else")+Ke+Wt(e.defaultBlock,t+1,r)),a+=Ke+n+it("endfor"),a}function vD(e,t,r){let n=r.repeat(t),s=we(e.assignee),a=e.value?we(e.value):"",o=n+it("set",`${s}${e.value?" = "+a:""}`);return e.body.length===0?o:o+Ke+Wt(e.body,t+1,r)+Ke+n+it("endset")}function bD(e,t,r){let n=r.repeat(t),s=e.args.map(we).join(", ");return n+it("macro",`${e.name.value}(${s})`)+Ke+Wt(e.body,t+1,r)+Ke+n+it("endmacro")}function MD(e,t,r){let n=r.repeat(t),s=e.callerArgs&&e.callerArgs.length>0?`(${e.callerArgs.map(we).join(", ")})`:"",a=we(e.call),o=n+it(`call${s}`,a)+Ke;return o+=Wt(e.body,t+1,r)+Ke,o+=n+it("endcall"),o}function xD(e,t,r){let n=r.repeat(t),s=e.filter.type==="Identifier"?e.filter.value:we(e.filter),a=n+it("filter",s)+Ke;return a+=Wt(e.body,t+1,r)+Ke,a+=n+it("endfilter"),a}function we(e,t=-1){switch(e.type){case"SpreadExpression":return`*${we(e.argument)}`;case"Identifier":return e.value;case"IntegerLiteral":return`${e.value}`;case"FloatLiteral":return`${e.value}`;case"StringLiteral":return JSON.stringify(e.value);case"BinaryExpression":{let r=e,n=mD(r),s=we(r.left,n),a=we(r.right,n+1),o=`${s} ${r.operator.value} ${a}`;return n<t?`(${o})`:o}case"UnaryExpression":{let r=e;return r.operator.value+(r.operator.value==="not"?" ":"")+we(r.argument,1/0)}case"CallExpression":{let r=e,n=r.args.map(we).join(", ");return`${we(r.callee)}(${n})`}case"MemberExpression":{let r=e,n=we(r.object);["Identifier","MemberExpression","CallExpression","StringLiteral","IntegerLiteral","FloatLiteral","ArrayLiteral","TupleLiteral","ObjectLiteral"].includes(r.object.type)||(n=`(${n})`);let s=we(r.property);return!r.computed&&r.property.type!=="Identifier"&&(s=`(${s})`),r.computed?`${n}[${s}]`:`${n}.${s}`}case"FilterExpression":{let r=e,n=we(r.operand,1/0);return r.filter.type==="CallExpression"?`${n} | ${we(r.filter)}`:`${n} | ${r.filter.value}`}case"SelectExpression":{let r=e;return`${we(r.lhs)} if ${we(r.test)}`}case"TestExpression":{let r=e;return`${we(r.operand)} is${r.negate?" not":""} ${r.test.value}`}case"ArrayLiteral":case"TupleLiteral":{let r=e.value.map(we),n=e.type==="ArrayLiteral"?"[]":"()";return`${n[0]}${r.join(", ")}${n[1]}`}case"ObjectLiteral":return`{${Array.from(e.value.entries()).map(([n,s])=>`${we(n)}: ${we(s)}`).join(", ")}}`;case"SliceExpression":{let r=e,n=r.start?we(r.start):"",s=r.stop?we(r.stop):"",a=r.step?`:${we(r.step)}`:"";return`${n}:${s}${a}`}case"KeywordArgumentExpression":{let r=e;return`${r.key.value}=${we(r.value)}`}case"Ternary":{let r=e,n=`${we(r.trueExpr)} if ${we(r.condition,0)} else ${we(r.falseExpr)}`;return t>-1?`(${n})`:n}default:throw new Error(`Unknown expression type: ${e.type}`)}}function Pv(e,t){let r=0;for(let s=0;s<t.length;++s)r+=t[s];let n=e()*r;for(let s=0;s<t.length;++s)if(n-=t[s],n<0)return s;return t.length-1}function Bo(...e){return e=e.map((t,r)=>(r&&(t=t.replace(new RegExp("^/"),"")),r!==e.length-1&&(t=t.replace(new RegExp("/$"),"")),t)),e.join("/")}function ds(e,t=null,r=null){let n;try{n=new URL(e)}catch{return!1}return!(t&&!t.includes(n.protocol)||r&&!r.includes(n.hostname))}function ID(e){return!(!SD.test(e)||e.includes("..")||e.includes("--")||e.endsWith(".git")||e.endsWith(".ipynb"))}function PD(e,t,r){if(!r)return null;let n=AD[e]??`Error (${e}) occurred while trying to load file`;throw Error(`${n}: "${t}".`)}async function RD(e,t,r){let n=e.headers.get("Content-Length"),s=n?parseInt(n,10):r??0;n===null&&!r&&ce.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let a=new Uint8Array(s),o=0,i=e.body.getReader();async function l(){let{done:c,value:u}=await i.read();if(c)return;let p=o+u.length;if(p>s){s=p;let m=new Uint8Array(s);m.set(a),a=m}a.set(u,o),o=p;let f=o/s*100;return t({progress:f,loaded:o,total:s}),l()}return await l(),a}function jy(e){return ds(e,["blob:"])}function qy(e){let t;if(typeof location<"u"&&location.href)t=location.href;else if(typeof ci<"u"&&ci.url)t=ci.url;else return e;return new URL(e,t).href}async function ps(e=null){let t=null;if(ge.useCustomCache){if(!ge.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!ge.customCache.match||!ge.customCache.put)throw new Error("`env.customCache` must be an object which implements the `match` and `put` functions of the Web Cache API. For more information, see https://developer.mozilla.org/en-US/docs/Web/API/Cache");t=ge.customCache}if(!t&&ge.experimental_useCrossOriginStorage&&Hy.isAvailable()&&(t=new Hy),!t&&ge.useBrowserCache){if(typeof caches>"u")throw Error("Browser cache is not available in this environment.");try{t=await caches.open(ge.cacheKey)}catch(r){ce.warn("An error occurred while opening the browser cache:",r)}}if(!t&&ge.useFSCache){if(!pe.IS_FS_AVAILABLE)throw Error("File System Cache is not available in this environment.");t=new Rv(e??ge.cacheDir)}return t}async function LD(e,...t){for(let r of t)try{let n=await e.match(r);if(n)return n}catch{continue}}function Lv(e,t){let r=Ud.get(e);if(r!==void 0)return r;let n=t().then(s=>s,s=>(Ud.delete(e),Promise.reject(s)));return Ud.put(e,n),n}async function DD(e){if(!ds(e,["http:","https:"]))return null;let t=Fv(e);return t.set("Range","bytes=0-0"),ge.fetch(e,{method:"GET",headers:t,cache:"no-store"})}function Ma(e,t,r={}){let n=JSON.stringify([e,t,r?.revision,r?.cache_dir,r?.local_files_only]);return Lv(n,()=>BD(e,t,r))}async function BD(e,t,r){let n=await ps(r?.cache_dir),{localPath:s,remoteURL:a,proposedCacheKey:o,validModelId:i}=xa(e,t,r,n),l=await Ta(n,s,o);if(l!==void 0&&typeof l!="string"){let c=l.headers.get("content-length"),u=l.headers.get("content-type");return{exists:!0,size:c?parseInt(c,10):void 0,contentType:u||void 0,fromCache:!0}}if(ge.allowLocalModels&&!ds(s,["http:","https:"]))try{let u=await ma(s);if(typeof u!="string"&&u.status!==404){let p=u.headers.get("content-length"),f=u.headers.get("content-type");return{exists:!0,size:p?parseInt(p,10):void 0,contentType:f||void 0,fromCache:!1}}}catch{}if(ge.allowRemoteModels&&!r.local_files_only&&i)try{let c=await DD(a);if(c&&c.status>=200&&c.status<300){let u,p=c.headers.get("content-type");if(c.status===206){let f=c.headers.get("content-range");if(f){let m=f.match(/bytes \d+-\d+\/(\d+)/);m&&(u=parseInt(m[1],10))}}else if(c.status===200)try{await c.body?.cancel()}catch{}if(u===void 0){let f=c.headers.get("content-length");u=f?parseInt(f,10):void 0}return{exists:!0,size:u,contentType:p||void 0,fromCache:!1}}}catch(c){ce.warn(`Unable to fetch file metadata for "${a}": ${c}`)}return{exists:!1,fromCache:!1}}async function ma(e){return ge.useFS&&!ds(e,["http:","https:","blob:"])?new fi(e instanceof URL?e.protocol==="file:"?e.pathname:e.toString():e):ge.fetch(e,{headers:Fv(e)})}function Fv(e){let t=typeof process<"u"&&process?.release?.name==="node",r=new Headers;if(t){let n=!!process.env?.TESTING_REMOTELY,s=ge.version;if(r.set("User-Agent",`transformers.js/${s}; is_ci/${n};`),ds(e,["http:","https:"],["huggingface.co","hf.co"])){let o=process.env?.HF_TOKEN??process.env?.HF_ACCESS_TOKEN;o&&r.set("Authorization",`Bearer ${o}`)}}return r}function xa(e,t,r={},n=null){let s=r.revision??"main",a=Bo(e,t),o=ID(e),i=o?Bo(ge.localModelPath,a):a,l=Bo(ge.remoteHost,ge.remotePathTemplate.replaceAll("{model}",e).replaceAll("{revision}",encodeURIComponent(s)),t),c=n instanceof Rv?s==="main"?a:Bo(e,s,t):l;return{requestURL:a,localPath:i,remoteURL:l,proposedCacheKey:c,validModelId:o}}async function Ta(e,t,r){if(e)return await LD(e,t,r)}async function UD(e,t,r,n,s,a,o={}){if(await r.match(n)===void 0)if(a){if(typeof s!="string"){let i=new Headers(s.headers);i.set("content-length",a.byteLength.toString()),await r.put(n,new Response(a,{headers:i})).catch(l=>{ce.warn(`Unable to add response to browser cache: ${l}.`)})}}else{let i=o.progress_callback?l=>cn(o.progress_callback,{status:"progress",name:e,file:t,...l}):void 0;await r.put(n,s,i)}}async function zD(e,t,r=!0,n={},s=!1,a=null){let{requestURL:o,localPath:i,remoteURL:l,proposedCacheKey:c,validModelId:u}=xa(e,t,n,a),p,f=!1,m;m=await Ta(a,i,c);let y=m!==void 0;if(!y){if(ge.allowLocalModels)if(ds(o,["http:","https:"])){if(n.local_files_only)throw new Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${o}.`);if(!ge.allowRemoteModels)throw new Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${o}.`)}else try{m=await ma(i),p=i}catch(T){ce.warn(`Unable to load from local path "${i}": "${T}"`)}if(m===void 0||typeof m!="string"&&m.status===404){if(n.local_files_only||!ge.allowRemoteModels){if(r)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${i}".`);return null}if(!u)throw Error(`Local file missing at "${i}" and download aborted due to invalid model ID "${e}".`);if(m=await ma(l),m.status!==200)return PD(m.status,l,r);p=c}f=a&&typeof Response<"u"&&m instanceof Response&&m.status===200}cn(n.progress_callback,{status:"download",name:e,file:t});let v;if(!(pe.IS_NODE_ENV&&s)){let M;if(typeof m!="string")if(!n.progress_callback)M=new Uint8Array(await m.arrayBuffer());else if(y&&typeof navigator<"u"&&/firefox/i.test(navigator.userAgent))M=new Uint8Array(await m.arrayBuffer()),cn(n.progress_callback,{status:"progress",name:e,file:t,progress:100,loaded:M.length,total:M.length});else{let T,A=m.headers.get("content-length");if(A)T=parseInt(A,10);else try{let C=await Ma(e,t,n);C.size&&(T=C.size)}catch{}M=await RD(m,C=>{cn(n.progress_callback,{status:"progress",name:e,file:t,...C})},T)}v=M}if(f&&p&&typeof m!="string"&&await UD(e,t,a,p,m,v,n),cn(n.progress_callback,{status:"done",name:e,file:t}),v){if(!pe.IS_NODE_ENV&&s)throw new Error("Cannot return path in a browser environment.");return v}if(m instanceof fi)return m.filePath;let x=await a?.match(p);if(x instanceof fi)return x.filePath;if(x instanceof Response)return new Uint8Array(await x.arrayBuffer());if(typeof x=="string")return x;throw new Error("Unable to get model file path or buffer.")}async function mi(e,t,r=!0,n={},s=!1){if(!ge.allowLocalModels){if(n.local_files_only)throw Error("Invalid configuration detected: local models are disabled (`env.allowLocalModels=false`) but you have requested to only use local models (`local_files_only=true`).");if(!ge.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}cn(n.progress_callback,{status:"initiate",name:e,file:t});let a=await ps(n?.cache_dir);return await zD(e,t,r,n,s,a)}async function Nv(e,t,r=!0,n={}){let s=await mi(e,t,r,n,!1);return s===null?null:new TextDecoder("utf-8").decode(s)}async function yr(e,t,r=!0,n={}){let s=await Nv(e,t,r,n);return s===null?{}:JSON.parse(s)}function $D(e,[t,r,n],[s,a],o="bilinear",i=!1){let l=a/n,c=s/r,u=new e.constructor(s*a*t),p=r*n,f=s*a;for(let m=0;m<s;++m)for(let y=0;y<a;++y){let v=m*a+y,x=(y+.5)/l-.5,M=(m+.5)/c-.5,T=Math.floor(x),A=Math.floor(M),C=Math.min(T+1,n-1),S=Math.min(A+1,r-1);T=Math.max(T,0),A=Math.max(A,0);let O=x-T,E=M-A,K=(1-O)*(1-E),$=O*(1-E),V=(1-O)*E,Q=O*E,G=A*n,W=S*n,D=G+T,R=G+C,re=W+T,ie=W+C;for(let F=0;F<t;++F){let N=F*p;u[F*f+v]=K*e[N+D]+$*e[N+R]+V*e[N+re]+Q*e[N+ie]}}return u}function VD(e,t,r){let n=new Array(r.length),s=new Array(r.length);for(let i=r.length-1,l=1;i>=0;--i)s[i]=l,n[i]=t[r[i]],l*=n[i];let a=r.map((i,l)=>s[r.indexOf(l)]),o=new e.constructor(e.length);for(let i=0;i<e.length;++i){let l=0;for(let c=t.length-1,u=i;c>=0;--c)l+=u%t[c]*a[c],u=Math.floor(u/t[c]);o[l]=e[i]}return[o,n]}function rt(e){let t=Ge(e)[0],r=e.map(a=>Math.exp(a-t)),n=r.reduce((a,o)=>a+o,0);return r.map(a=>a/n)}function Dv(e){let t=Ge(e)[0],r=0;for(let a=0;a<e.length;++a)r+=Math.exp(e[a]-t);let n=Math.log(r);return e.map(a=>a-t-n)}function Bv(e,t){let r=0;for(let n=0;n<e.length;++n)r+=e[n]*t[n];return r}function GD(e,t){let r=Bv(e,t),n=Ky(e),s=Ky(t);return r/(n*s)}function Ky(e){return Math.sqrt(e.reduce((t,r)=>t+r*r,0))}function Sp(e){if(e.length===0)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]<t&&(t=e[n],r=n);return[t,r]}function Ge(e){if(e.length===0)throw Error("Array must not be empty");let t=e[0],r=0;for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n],r=n);return[t,r]}function Uv(e){return e>0&&(e&e-1)===0}function WD(e,t){if(t%2===0||t<=0)throw new Error("Window size must be a positive odd number");let r=new e.constructor(e.length),n=new e.constructor(t),s=Math.floor(t/2);for(let a=0;a<e.length;++a){let o=0;for(let i=-s;i<=s;++i){let l=a+i;l<0?l=Math.abs(l):l>=e.length&&(l=2*(e.length-1)-l),n[o++]=e[l]}n.sort(),r[a]=n[s]}return r}function da(e,t){let r=Math.pow(10,t);return Math.round(e*r)/r}function HD(e){let t=Math.round(e);return Math.abs(e)%1===.5?t%2===0?t:t-1:t}function KD(e){let t=e.length,r=e[0].length,n=[t+1,r+1],s=Array.from({length:n[0]},()=>Array(n[1]).fill(1/0));s[0][0]=0;let a=Array.from({length:n[0]},()=>Array(n[1]).fill(-1));for(let u=1;u<n[1];++u)for(let p=1;p<n[0];++p){let f=s[p-1][u-1],m=s[p-1][u],y=s[p][u-1],v,x;f<m&&f<y?(v=f,x=0):m<f&&m<y?(v=m,x=1):(v=y,x=2),s[p][u]=e[p-1][u-1]+v,a[p][u]=x}for(let u=0;u<n[1];++u)a[0][u]=2;for(let u=0;u<n[0];++u)a[u][0]=1;let o=t,i=r,l=[],c=[];for(;o>0||i>0;)switch(l.push(o-1),c.push(i-1),a[o][i]){case 0:--o,--i;break;case 1:--o;break;case 2:--i;break;default:throw new Error(`Internal error in dynamic time warping. Unexpected trace[${o}, ${i}]. Please file a bug report.`)}return l.reverse(),c.reverse(),[l,c]}async function Vv(e){let t=e.split("/").pop(),r;try{if(r=await ps(),r){let s=await r.match(e);if(s)return s}}catch(s){ce.warn(`Failed to load ${t} from cache:`,s)}let n=await ge.fetch(e);if(!n.ok)throw new Error(`Failed to fetch ${t}: ${n.status} ${n.statusText}`);if(r)try{await r.put(e,n.clone())}catch(s){ce.warn(`Failed to cache ${t}:`,s)}return n}async function XD(e){let t=await Vv(e);if(!t||typeof t=="string")return null;try{return await t.arrayBuffer()}catch(r){return ce.warn("Failed to read WASM binary:",r),null}}async function YD(e){if(pe.IS_SERVICE_WORKER_ENV||pe.IS_CHROME_AVAILABLE)return e;let t=await Vv(e);if(!t||typeof t=="string")return null;try{let r=await t.text();r=r.replaceAll("globalThis.process?.versions?.node","false");let n=new Blob([r],{type:"text/javascript"});return URL.createObjectURL(n)}catch(r){return ce.warn("Failed to read WASM factory:",r),null}}function Gv(e){return e<=Ft.DEBUG?0:e<=Ft.INFO?2:e<=Ft.WARNING||e<=Ft.ERROR?3:4}function rB(e=null){if(!e)return Ip;switch(e){case"auto":return Lt;case"gpu":return Lt.filter(t=>["webgpu","cuda","dml","webnn-gpu"].includes(t))}if(Lt.includes(e))return[ZD[e]??e];throw new Error(`Unsupported device: "${e}". Should be one of: ${Lt.join(", ")}.`)}async function nB(){if(Jn)return Jn;if(!(ge.useWasmCache&&typeof He?.wasm?.wasmPaths=="object"&&He?.wasm?.wasmPaths?.wasm&&He?.wasm?.wasmPaths?.mjs)){if(pe.IS_DENO_WEB_RUNTIME)throw new Error("env.useWasmCache=false is not supported in Deno's web runtime. Remove the useWasmCache override.");return Jn=Promise.resolve(),Jn}return Jn=(async()=>{let t=He.wasm.wasmPaths,r=!1;await Promise.all([t.wasm&&!jy(t.wasm)?(async()=>{try{let n=await XD(qy(t.wasm));n&&(He.wasm.wasmBinary=n,r=!0)}catch(n){ce.warn("Failed to pre-load WASM binary:",n)}})():Promise.resolve(),t.mjs&&!jy(t.mjs)?(async()=>{try{let n=await YD(qy(t.mjs));n&&(He.wasm.wasmPaths.mjs=n)}catch(n){ce.warn("Failed to pre-load WASM factory:",n)}})():Promise.resolve()]),r||(He.wasm.wasmPaths.mjs=t.mjs)})(),Jn}async function jv(e,t,r){await nB();let n=Gv(ge.logLevel??Ft.WARNING),s=()=>tB.create(e,{logSeverityLevel:n,...t}),a=await(pe.IS_WEB_ENV?Jy=Jy.then(s):s());return a.config=r,a}async function qv(e,t){let r=()=>e.run(t);return pe.IS_WEB_ENV?Xy=Xy.then(r):r()}function Wv(e){return e instanceof as.Tensor}function Jp(){return He?.wasm?.proxy}function Hv(e,t,{warn:r}={}){return e?typeof e=="string"?e:e.hasOwnProperty(t)?e[t]:(r&&r(`device not specified for "${t}". Using the default device (${zd}).`),zd):zd}function Kv(e,t,r,{configDtype:n=null,warn:s}={}){let a,o=!1;e&&typeof e!="string"?e.hasOwnProperty(t)?a=e[t]:(a=null,o=!0):a=e;let i;if(a===ft.auto){if(n){let l=typeof n=="string"?n:n?.[t];if(l&&l!==ft.auto&&ft.hasOwnProperty(l))return l}i=Zy[r]??Yy}else a&&ft.hasOwnProperty(a)?i=a:i=Zy[r]??Yy;return o&&s&&s(`dtype not specified for "${t}". Using the default dtype (${i}) for this device (${r}).`),i}function oB(e,t){let r=e.length,n=t.reduce((a,o)=>a*o);if(r!==n)throw Error(`cannot reshape array of size ${r} into shape (${t})`);let s=e;for(let a=t.length-1;a>=0;a--)s=s.reduce((o,i)=>{let l=o[o.length-1];return l.length<t[a]?l.push(i):o.push([i]),o},[[]]);return s[0]}function Qv(e,t){let[r,n]=VD(e.data,e.dims,t);return new q(e.type,r,n)}function Xp(e,[t,r],n="bilinear",s=!1){let a=e.dims.at(-3)??1,o=e.dims.at(-2),i=e.dims.at(-1),l=$D(e.data,[a,o,i],[t,r],n,s);return new q(e.type,l,[a,t,r])}async function Nt(e,{size:t=null,mode:r="bilinear"}={}){if(e.dims.length!==4)throw new Error("`interpolate_4d` currently only supports 4D input.");if(!t)throw new Error("`interpolate_4d` requires a `size` argument.");let n;if(t.length===2)n=[...e.dims.slice(0,2),...t];else if(t.length===3)n=[e.dims[0],...t];else if(t.length===4)n=t;else throw new Error("`size` must be of length 2, 3, or 4.");let s;if(r==="nearest")s=await dn.nearest_interpolate_4d;else if(r==="bilinear")s=await dn.bilinear_interpolate_4d;else if(r==="bicubic")s=await dn.bicubic_interpolate_4d;else throw new Error(`Unsupported mode: ${r}`);let a=new q("int64",new BigInt64Array(n.map(BigInt)),[n.length]);return await s({x:e,s:a})}async function Jv(e,t){return await(await dn.matmul)({a:e,b:t})}async function iB(e,t){return await(await dn.rfft)({x:e,a:t})}async function pn(e,t){let r=await dn.top_k;return t==null?t=e.dims.at(-1):t=Math.min(t,e.dims.at(-1)),await r({x:e,k:new q("int64",[BigInt(t)],[1])})}async function Yp(e,t,r,n,s){return await(await dn.slice)({x:e,s:Uo(t),e:Uo(r),a:Uo(n),t:Uo(s??new Array(n.length).fill(1))})}function Xv(e,t){let r=e.data,n=t.data,s=[e.dims[0],e.dims[2]],a=new r.constructor(s[0]*s[1]),[o,i,l]=e.dims,c=0;for(let u=0;u<o;++u){let p=u*l*i;for(let f=0;f<l;++f){let m=0,y=0,v=u*i,x=p+f;for(let T=0;T<i;++T){let A=Number(n[v+T]);y+=A,m+=r[x+T*l]*A}let M=m/y;a[c++]=M}}return new q(e.type,a,s)}function lB(e,t,{eps:r=1e-5}={}){if(e.dims.length!==2)throw new Error("`layer_norm` currently only supports 2D input.");let[n,s]=e.dims;if(t.length!==1&&t[0]!==s)throw new Error("`normalized_shape` must be a 1D array with shape `[input.dims[1]]`.");let[a,o]=Zp(e,1,0,!0),i=a.data,l=o.data,c=e.data,u=new c.constructor(c.length);for(let p=0;p<n;++p){let f=p*s;for(let m=0;m<s;++m){let y=f+m;u[y]=(c[y]-l[p])/(i[p]+r)}}return new q(e.type,u,e.dims)}function ev(e,t){return e=e.slice(),t===null?e=e.filter(r=>r!==1):typeof t=="number"?e[t]===1&&e.splice(t,1):Array.isArray(t)&&(e=e.filter((r,n)=>r!==1||!t.includes(n))),e}function tv(e,t){return t=sr(t,e.length+1),e=e.slice(),e.splice(t,0,1),e}function sr(e,t,r=null,n=!0){if(e<-t||e>=t){if(n)throw new Error(`IndexError: index ${e} is out of bounds for dimension${r===null?"":" "+r} with size ${t}`);return e<-t?0:t}return e<0&&(e=(e%t+t)%t),e}function Fe(e,t=0){t=sr(t,e[0].dims.length);let r=e[0].dims.slice();r[t]=e.reduce((o,i)=>o+i.dims[t],0);let n=r.reduce((o,i)=>o*i,1),s=new e[0].data.constructor(n),a=e[0].type;if(t===0){let o=0;for(let i of e){let l=i.data;s.set(l,o),o+=l.length}}else{let o=0;for(let i=0;i<e.length;++i){let{data:l,dims:c}=e[i];for(let u=0;u<l.length;++u){let p=0;for(let f=c.length-1,m=u,y=1;f>=0;--f){let v=c[f],x=m%v;f===t&&(x+=o),p+=x*y,y*=r[f],m=Math.floor(m/v)}s[p]=l[u]}o+=c[t]}}return new q(a,s,r)}function Fr(e,t=0){return Fe(e.map(r=>r.unsqueeze(t)),t)}function pa(e,t,r,n=!1,s=null){let a=t.data,o=t.dims;r=sr(r,o.length);let i=o.slice();i[r]=1;let l=new a.constructor(a.length/o[r]);s!==null&&l.fill(s);for(let c=0;c<a.length;++c){let u=0;for(let p=o.length-1,f=c,m=1;p>=0;--p){let y=o[p];if(p!==r){let v=f%y;u+=v*m,m*=i[p]}f=Math.floor(f/y)}l[u]=e(l[u],a[c],c,u)}return n||i.splice(r,1),[t.type,l,i]}function Zp(e,t=null,r=1,n=!1){let s=e.data,a=e.dims;if(t===null){let m=s.reduce((M,T)=>M+T,0)/s.length,y=Math.sqrt(s.reduce((M,T)=>M+(T-m)**2,0)/(s.length-r)),v=new q(e.type,[m],[]);return[new q(e.type,[y],[]),v]}t=sr(t,a.length);let o=ki(e,t,n),i=o.data,[l,c,u]=pa((f,m,y,v)=>f+(m-i[v])**2,e,t,n);for(let f=0;f<c.length;++f)c[f]=Math.sqrt(c[f]/(a[t]-r));return[new q(l,c,u),o]}function ki(e,t=null,r=!1){let n=e.dims,s=e.data;if(t===null){let l=s.reduce((c,u)=>c+u,0);return new q(e.type,[l/s.length],[])}t=sr(t,n.length);let[a,o,i]=pa((l,c)=>l+c,e,t,r);if(n[t]!==1)for(let l=0;l<o.length;++l)o[l]/=n[t];return new q(a,o,i)}function $d(e){let t=new Array(e.length);for(let r=e.length-1,n=1;r>=0;--r)t[r]=n,n*=e[r];return t}function eh(e,t,r,n){let s=e.reduce((a,o)=>a*o,1);return new q(r,new n(s).fill(t),e)}function lt(e,t){let r,n;if(typeof t=="number")r="float32",n=Float32Array;else if(typeof t=="bigint")r="int64",n=BigInt64Array;else if(typeof t=="boolean")r="bool",n=Uint8Array;else throw new Error(`Unsupported data type: ${typeof t}`);return eh(e,t,r,n)}function _i(e,t){return lt(e.dims,t)}function xt(e){return eh(e,1n,"int64",BigInt64Array)}function th(e){return xt(e.dims)}function rh(e){return eh(e,0n,"int64",BigInt64Array)}function nh(e){return rh(e.dims)}function cB(e){let t=e.reduce((r,n)=>r*n,1);return new q("float32",Float32Array.from({length:t},()=>ba.random()),e)}function Yv(e){let t=e.reduce((r,n)=>r*n,1);return new q("float32",Float32Array.from({length:t},()=>ba.gauss()),e)}function Zv(e,t){if(e.dims.length!==2)throw new Error("The tensor must have 2 dimensions");if(e.dims.at(-1)%8!==0)throw new Error("The last dimension of the tensor must be a multiple of 8");if(!["binary","ubinary"].includes(t))throw new Error("The precision must be either 'binary' or 'ubinary'");let r=t==="binary",n=r?"int8":"uint8",s=r?Int8Array:Uint8Array,a=e.data,o=new s(a.length/8);for(let i=0;i<a.length;++i){let l=a[i]>0?1:0,c=Math.floor(i/8),u=i%8;o[c]|=l<<7-u,r&&u===0&&(o[c]-=128)}return new q(n,o,[e.dims[0],e.dims[1]/8])}async function sh(e){if(!e)throw new Error("modelId is required for get_tokenizer_files");return(await Ma(e,"tokenizer_config.json",{})).exists?["tokenizer.json","tokenizer_config.json"]:[]}async function eb(e,t){let r=await sh(e);return await Promise.all(r.map(n=>yr(e,n,!0,t)))}function tb(e){let t=e.dims;switch(t.length){case 1:return e.tolist();case 2:if(t[0]!==1)throw new Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return e.tolist()[0];default:throw new Error(`Expected tensor to have 1-2 dimensions, got ${t.length}.`)}}function dB(e,t,r,n){for(let s of Object.keys(e)){let a=t-e[s].length,o=r(s),i=new Array(a).fill(o);e[s]=n==="right"?jt(e[s],i):jt(i,e[s])}}function pB(e,t){for(let r of Object.keys(e))e[r].length=t}function sn(e,...t){for(let r of t){if(!Object.hasOwn(e,r))continue;let n=e[r];if(n)if(typeof n=="object"){if(n.__type==="AddedToken")return n.content;throw Error(`Unknown token: ${n}`)}else return n}return null}function hB(e){let t=[];for(let r of e.get_added_tokens_decoder().values())r.special&&t.push(r);return t}function ah(e,t,r,n){if(!("language_codes"in e)||!Array.isArray(e.language_codes))throw new Error("Tokenizer must have `language_codes` attribute set and it should be an array of language ids.");if(!("languageRegex"in e)||!(e.languageRegex instanceof RegExp))throw new Error("Tokenizer must have `languageRegex` attribute set and it should be a regular expression.");if(!("lang_to_token"in e)||typeof e.lang_to_token!="function")throw new Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");let s=n.src_lang,a=n.tgt_lang;if(!e.language_codes.includes(a))throw new Error(`Target language code "${a}" is not valid. Must be one of: {${e.language_codes.join(", ")}}`);if(s!==void 0){if(!e.language_codes.includes(s))throw new Error(`Source language code "${s}" is not valid. Must be one of: {${e.language_codes.join(", ")}}`);for(let o of e._tokenizer.post_processor.config.single)if("SpecialToken"in o&&e.languageRegex.test(o.SpecialToken.id)){o.SpecialToken.id=e.lang_to_token(s);break}}return n.forced_bos_token_id=e._tokenizer.token_to_id(e.lang_to_token(a)),e._call(t,r)}function _B(e){e=e.toLowerCase();let t=mB.get(e);if(t===void 0){let r=e.match(/^<\|([a-z]{2})\|>$/);if(r&&(e=r[1]),oi.has(e))t=e;else{let s=e.length===2?oi.keys():oi.values();throw new Error(`Language "${e}" is not supported. Must be one of: ${JSON.stringify(Array.from(s))}`)}}return t}function bt(e,t){if(!(e instanceof Float32Array||e instanceof Float64Array))throw new Error(`${t} expects input to be a Float32Array or a Float64Array, but got ${e?.constructor?.name??typeof e} instead. If using the feature extractor directly, remember to use \`read_audio(url, sampling_rate)\` to obtain the raw audio data of the file/url.`)}async function Hb(e,t){if(pe.IS_BROWSER_ENV){if(pe.IS_WEBWORKER_ENV)throw new Error("Unable to save a file from a Web Worker.");let r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=e,n.click(),n.remove(),URL.revokeObjectURL(r)}else if(pe.IS_FS_AVAILABLE){let r=t.stream(),n=bB.fromWeb(r),s=At.createWriteStream(e);await xB(n,s)}else throw new Error("Unable to save because filesystem is disabled in this environment.")}async function Kb(e,t){if(typeof AudioContext>"u")throw Error("Unable to load audio from path/URL since `AudioContext` is not available in your environment. Instead, audio data should be passed directly to the pipeline/processor. For more information and some example code, see https://huggingface.co/docs/transformers.js/guides/node-audio-processing.");let r=await(await ma(e)).arrayBuffer(),n=new AudioContext({sampleRate:t});typeof t>"u"&&ce.warn(`No sampling rate provided, using default of ${n.sampleRate}Hz.`);let s=await n.decodeAudioData(r),a;if(s.numberOfChannels===2){let o=Math.sqrt(2),i=s.getChannelData(0),l=s.getChannelData(1);a=new Float32Array(i.length);for(let c=0;c<s.length;++c)a[c]=o*(i[c]+l[c])/2}else a=s.getChannelData(0);return a}function Qb(e,t){if(e<1)return new Float64Array;if(e===1)return new Float64Array([1]);let r=1-t,n=2*Math.PI/(e-1),s=new Float64Array(e);for(let a=0;a<e;++a)s[a]=t-r*Math.cos(a*n);return s}function nv(e){return Qb(e,.5)}function TB(e){return Qb(e,.54)}function Vd(e,t="htk"){let r=EB[t];if(!r)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof e=="number"?r(e):e.map(n=>r(n))}function CB(e,t="htk"){let r=kB[t];if(!r)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof e=="number"?r(e):e.map(n=>r(n))}function AB(e,t){let r=Float64Array.from({length:t.length-1},(o,i)=>t[i+1]-t[i]),n=Array.from({length:e.length},()=>new Array(t.length));for(let o=0;o<e.length;++o){let i=n[o];for(let l=0;l<t.length;++l)i[l]=t[l]-e[o]}let s=t.length-2,a=Array.from({length:s},()=>new Array(e.length));for(let o=0;o<e.length;++o){let i=n[o];for(let l=0;l<s;++l){let c=-i[l]/r[l],u=i[l+2]/r[l+1];a[l][o]=Math.max(0,Math.min(c,u))}}return a}function sv(e,t,r){let n=(t-e)/(r-1);return Float64Array.from({length:r},(s,a)=>e+n*a)}function or(e,t,r,n,s,a=null,o="htk",i=!1){if(a!==null&&a!=="slaney")throw new Error('norm must be one of null or "slaney"');if(e<2)throw new Error(`Require num_frequency_bins: ${e} >= 2`);if(r>n)throw new Error(`Require min_frequency: ${r} <= max_frequency: ${n}`);let l=Vd(r,o),c=Vd(n,o),u=sv(l,c,t+2),p=CB(u,o),f;if(i){let y=s/((e-1)*2);f=Vd(Float64Array.from({length:e},(v,x)=>x*y),o),p=u}else f=sv(0,Math.floor(s/2),e);let m=AB(f,p);if(a!==null&&a==="slaney")for(let y=0;y<t;++y){let v=m[y],x=2/(p[y+2]-p[y]);for(let M=0;M<e;++M)v[M]*=x}return m}function SB(e,t,r){let n=new e.constructor(e.length+t+r),s=e.length-1;for(let a=0;a<e.length;++a)n[t+a]=e[a];for(let a=1;a<=t;++a)n[t-a]=e[pi(a,s)];for(let a=1;a<=r;++a)n[s+t+a]=e[pi(s-a,s)];return n}function Jb(e,t,r,n,s){if(r<=0)throw new Error("reference must be greater than zero");if(n<=0)throw new Error("min_value must be greater than zero");r=Math.max(n,r);let a=Math.log10(r);for(let o=0;o<e.length;++o)e[o]=t*Math.log10(Math.max(n,e[o])-a);if(s!==null){if(s<=0)throw new Error("db_range must be greater than zero");let o=Ge(e)[0]-s;for(let i=0;i<e.length;++i)e[i]=Math.max(e[i],o)}return e}function IB(e,t=1,r=1e-5,n=null){return Jb(e,20,t,r,n)}function PB(e,t=1,r=1e-10,n=null){return Jb(e,10,t,r,n)}async function vr(e,t,r,n,{fft_length:s=null,power:a=1,center:o=!0,pad_mode:i="reflect",onesided:l=!0,preemphasis:c=null,preemphasis_htk_flavor:u=!0,mel_filters:p=null,mel_floor:f=1e-10,log_mel:m=null,max_log_mel:y=null,reference:v=1,min_value:x=1e-10,db_range:M=null,remove_dc_offset:T=null,min_num_frames:A=null,max_num_frames:C=null,do_pad:S=!0,transpose:O=!1,mel_offset:E=0}={}){let K=t.length;if(s===null&&(s=r),r>s)throw Error(`frame_length (${r}) may not be larger than fft_length (${s})`);if(K!==r)throw new Error(`Length of the window (${K}) must equal frame_length (${r})`);if(n<=0)throw new Error("hop_length must be greater than zero");if(a===null&&p!==null)throw new Error("You have provided `mel_filters` but `power` is `None`. Mel spectrogram computation is not yet supported for complex-valued spectrogram. Specify `power` to fix this issue.");if(!u)throw new Error("`preemphasis_htk_flavor=false` is not currently supported.");if(o)switch(i){case"reflect":{let z=Math.floor((s-1)/2)+1;e=SB(e,z,z);break}case"constant":{let z=Math.floor(s/2),Y=new e.constructor(e.length+2*z);Y.set(e,z),e=Y;break}default:throw new Error(`pad_mode="${i}" not implemented yet.`)}let $=Math.floor(1+Math.floor((e.length-r)/n));A!==null&&$<A&&($=A);let V=l?Math.floor(s/2)+1:s,Q=$,G=$;C!==null&&(C>$?S&&(G=C):G=Q=C);let W=new qD(s),D=new Float64Array(s),R=new Float64Array(W.outputBufferSize),re=new Float32Array(V*G);for(let z=0;z<Q;++z){let Y=z*n,fe=Math.min(e.length-Y,r);fe!==r&&D.fill(0,0,r);for(let H=0;H<fe;++H)D[H]=e[Y+H];if(T){let H=0;for(let Xe=0;Xe<fe;++Xe)H+=D[Xe];let Ne=H/fe;for(let Xe=0;Xe<fe;++Xe)D[Xe]-=Ne}if(c!==null){for(let H=fe-1;H>=1;--H)D[H]-=c*D[H-1];D[0]*=1-c}for(let H=0;H<t.length;++H)D[H]*=t[H];W.realTransform(R,D);for(let H=0;H<V;++H){let Ne=H<<1;re[H*G+z]=R[Ne]**2+R[Ne+1]**2}}if(a!==null&&a!==2){let z=a/2;for(let Y=0;Y<re.length;++Y)re[Y]**=z}let ie=p.length,F=await Jv(new q("float32",p.flat(),[ie,V]),new q("float32",re,[V,G]));O&&(F=F.transpose(1,0));let N=F.data;for(let z=0;z<N.length;++z)N[z]=E+Math.max(f,N[z]);if(a!==null&&m!==null){let z=Math.min(N.length,Q*ie);switch(m){case"log":for(let Y=0;Y<z;++Y)N[Y]=Math.log(N[Y]);break;case"log10":for(let Y=0;Y<z;++Y)N[Y]=Math.log10(N[Y]);break;case"log10_max_norm":{for(let H=0;H<z;++H)N[H]=Math.log10(N[H]);let fe=(y??Ge(N)[0])-8;for(let H=0;H<z;++H)N[H]=(Math.max(N[H],fe)+4)/4;break}case"dB":if(a===1)IB(N,v,x,M);else if(a===2)PB(N,v,x,M);else throw new Error(`Cannot use log_mel option '${m}' with power ${a}`);break;default:throw new Error(`log_mel must be one of null, 'log', 'log10', 'log10_max_norm', or 'dB'. Got '${m}'`)}}return F}function br(e,t,{periodic:r=!0,frame_length:n=null,center:s=!0}={}){let a=r?e+1:e,o;switch(t){case"boxcar":o=new Float64Array(a).fill(1);break;case"hann":case"hann_window":o=nv(a);break;case"hamming":o=TB(a);break;case"povey":o=nv(a).map(i=>Math.pow(i,.85));break;default:throw new Error(`Unknown window type ${t}.`)}if(r&&(o=o.subarray(0,e)),n===null)return o;if(e>n)throw new Error(`Length of the window (${e}) may not be larger than frame_length (${n})`);return o}function RB(e,t){let r=e.reduce((a,o)=>a+o.length,0),n=new ArrayBuffer(44),s=new DataView(n);return zo(s,0,"RIFF"),s.setUint32(4,36+r*4,!0),zo(s,8,"WAVE"),zo(s,12,"fmt "),s.setUint32(16,16,!0),s.setUint16(20,3,!0),s.setUint16(22,1,!0),s.setUint32(24,t,!0),s.setUint32(28,t*4,!0),s.setUint16(32,4,!0),s.setUint16(34,32,!0),zo(s,36,"data"),s.setUint32(40,r*4,!0),new Blob([n,...e.map(a=>a.buffer)],{type:"audio/wav"})}function zo(e,t,r){for(let n=0;n<r.length;++n)e.setUint8(t+n,r.charCodeAt(n))}function av(e,t,r=0,n=null){let s=e/t,a=HD(s)*t;return n!==null&&a>n&&(a=Math.floor(s)*t),a<r&&(a=Math.ceil(s)*t),a}function ov([e,t],r){return[Math.max(Math.floor(e/r),1)*r,Math.max(Math.floor(t/r),1)*r]}function fM([e,t,r,n]){return[e-r/2,t-n/2,e+r/2,t+n/2]}function Ai(e,t=.5,r=null,n=!1){let s=e.logits,a=e.pred_boxes,[o,i,l]=s.dims;if(r!==null&&r.length!==o)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let c=[];for(let u=0;u<o;++u){let p=r!==null?r[u]:null,f={boxes:[],classes:[],scores:[]},m=s[u],y=a[u];for(let v=0;v<i;++v){let x=m[v],M=[],T;if(n){T=x.sigmoid().data;for(let A=0;A<T.length;++A)T[A]>t&&M.push(A)}else{let A=Ge(x.data)[1];if(A===l-1||(T=rt(x.data),T[A]<t))continue;M.push(A)}for(let A of M){let C=y[v].data;C=fM(C),p!==null&&(C=C.map((S,O)=>S*p[(O+1)%2])),f.boxes.push(C),f.classes.push(A),f.scores.push(T[A])}}c.push(f)}return c}function mM(e,t=null){let r=e.logits,n=r.dims[0];if(t!==null&&t.length!==n)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let s=[];for(let a=0;a<n;++a){let o=t!==null?t[a]:null,i=r[a];o!==null&&(i=Xp(i,o,"bilinear",!1));let[l,c]=o??i.dims.slice(-2),u=new q("int32",new Int32Array(l*c),[l,c]),p=i[0].data,f=u.data;for(let v=1;v<i.dims[0];++v){let x=i[v].data;for(let M=0;M<x.length;++M)x[M]>p[M]&&(p[M]=x[M],f[M]=v)}let m=new Array(i.dims[0]);for(let v=0;v<f.length;++v){let x=f[v];m[x]=x}let y=m.filter(v=>v!==void 0);s.push({segmentation:u,labels:y})}return s}function DB(e,t,r,n){let s=[],a=[],o=[];for(let i=0;i<e.dims[0];++i){let l=e[i],c=t[i],u=Ge(l.data)[1];if(u===n)continue;let f=rt(l.data)[u];f>r&&(s.push(c),a.push(f),o.push(u))}return[s,a,o]}function BB(e,t,r,n=.5,s=.8){let a=[],o=0,i=0,l=t[r].data;for(let u=0;u<e.length;++u)e[u]===r&&(a.push(u),++o),l[u]>=n&&++i;let c=o>0&&i>0;return c&&(c=o/i>s),[c,a]}function UB(e,t,r,n,s,a=null,o=null){let[i,l]=o??e[0].dims,c=new q("int32",new Int32Array(i*l),[i,l]),u=[];if(o!==null)for(let v=0;v<e.length;++v)e[v]=Xp(e[v],o,"bilinear",!1);let p=new Int32Array(e[0].data.length),f=new Float32Array(e[0].data.length);for(let v=0;v<e.length;++v){let x=t[v],M=e[v].data;for(let T=0;T<M.length;++T)M[T]*=x,M[T]>f[T]&&(p[T]=v,f[T]=M[T])}let m=0,y=c.data;for(let v=0;v<r.length;++v){let x=r[v],[M,T]=BB(p,e,v,n,s);if(M){++m;for(let A of T)y[A]=m;u.push({id:m,label_id:x,score:t[v]})}}return[c,u]}function ph(e,t,r=28,n=56*56,s=14*14*4*1280,a=1){if(e<r||t<r){let l=Math.max(r/e,r/t);e=Math.round(e*l),t=Math.round(t*l)}if(Math.max(e,t)/Math.min(e,t)>200)throw new Error(`absolute aspect ratio must be smaller than 200, got ${Math.max(e,t)/Math.min(e,t)}`);let o=Math.round(e/r)*r,i=Math.round(t/r)*r;if(a*o*i>s){let l=Math.sqrt(a*e*t/s);o=Math.max(r,Math.floor(e/l/r)*r),i=Math.max(r,Math.floor(t/l/r)*r)}else if(a*o*i<n){let l=Math.sqrt(n/(a*e*t));o=Math.ceil(e*l/r)*r,i=Math.ceil(t*l/r)*r}return[i,o]}function _M(e,t=.5,r=.5,n=.8,s=null,a=null){s===null&&(ce.warn("`label_ids_to_fuse` unset. No instance will be fused."),s=new Set);let o=e.class_queries_logits??e.logits,l=(e.masks_queries_logits??e.pred_masks).sigmoid(),[c,u,p]=o.dims;if(p-=1,a!==null&&a.length!==c)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let f=[];for(let m=0;m<c;++m){let y=a!==null?a[m]:null,v=o[m],x=l[m],[M,T,A]=DB(v,x,t,p);if(A.length===0){let[O,E]=y??x.dims.slice(-2),K=new q("int32",new Int32Array(O*E).fill(-1),[O,E]);f.push({segmentation:K,segments_info:[]});continue}let[C,S]=UB(M,T,A,r,n,s,y);f.push({segmentation:C,segments_info:S})}return f}function gM(e,t=.5,r=null){throw new Error("`post_process_instance_segmentation` is not yet implemented.")}function iv(e,t){return Math.round(e/t)*t}function zB(e,t,r,n,s){let a=1/0,o=[1,1],i=r*n;for(let l of t){let c=Math.abs(e-l[0]/l[1]);c<a?(a=c,o=l):c===a&&i>.5*s*s*l[0]*l[1]&&(o=l)}return o}function $B(e,t){let r=[],n=new Set;for(let s=e;s<=t;++s)for(let a=1;a<=s;++a)for(let o=1;o<=s;++o){let i=a*o;if(i>=e&&i<=t){let l=a<<16|o;n.has(l)||(n.add(l),r.push([a,o]))}}return r.sort((s,a)=>s[0]*s[1]-a[0]*a[1])}function VB(e,t){let[r,n,s,a]=e.dims,o=Math.floor(s/t),i=Math.floor(a/t),l=t*t*n,c=e.data,u=new Float32Array(r*o*i*l),p=s*a;for(let f=0;f<r;++f){let m=f*n*p,y=f*o*i*l;for(let v=0;v<o;++v)for(let x=0;x<i;++x){let M=y+(v*i+x)*l;for(let T=0;T<t;++T){let A=(v*t+T)*a+x*t;for(let C=0;C<t;++C){let S=A+C;for(let O=0;O<n;++O)u[M++]=c[m+O*p+S]}}}}return new q("float32",u,[r,o*i,l])}function GB(e,t){let[,r,n]=e.dims,s=new BigInt64Array(t);s.fill(1n,0,r);let a=e;if(r<t){let o=new Float32Array(t*n);o.set(e.data),a=new q("float32",o,[1,t,n])}return{padded:a,mask:new q("int64",s,[t])}}function qB(e,t){let n=e.dims.at(-1)-1,s=e.tolist();s.fill(!1,0,1),s.fill(!1,n);let a=t.tolist();return s.map((o,i)=>o?i:null).filter(o=>o!==null).map(o=>a[o])}function WB(e,t,r,n,s,a){let o="";for(let i=0;i<t;++i){for(let l=0;l<r;++l)o+=n+`<row_${i+1}_col_${l+1}>`+s.repeat(e);o+=`
|
|
7
7
|
`}return o+=`
|
|
8
|
-
${n}${a}`+s.repeat(e)+`${n}`,o}function HB(e,t,r,n){return`${t}${n}`+r.repeat(e)+`${t}`}function KB(e,t,r,n,s,a){return e===0&&t===0?HB(r,n,s,a):
|
|
9
|
-
`}function ZB(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.subarray(n,Math.min(n+t,e.length)));return r}async function rU(e,t){return await yr(e,"config.json",!0,t)}function Zn(e){let t={},r={};switch(e.model_type){case"llava":case"paligemma":case"gemma3":case"florence2":case"llava_onevision":case"idefics3":case"granite_speech":case"ultravox":case"voxtral":case"voxtral_realtime":case"smolvlm":case"gemma3n":case"lfm2_vl":case"chatterbox":case"lighton_ocr":case"glm_ocr":case"mistral3":case"qwen2_5_vl":case"qwen3_vl":case"qwen3_vl_moe":r=Zn(e.text_config);break;case"moondream1":r=Zn(e.phi_config);break;case"musicgen":r=Zn(e.decoder);break;case"multi_modality":r=Zn(e.language_config);break;case"gpt2":case"gptj":case"jais":case"codegen":case"gpt_bigcode":t.num_heads="n_head",t.num_layers="n_layer",t.hidden_size="n_embd";break;case"gpt_neox":case"stablelm":case"opt":case"falcon":case"modernbert-decoder":t.num_heads="num_attention_heads",t.num_layers="num_hidden_layers",t.hidden_size="hidden_size";break;case"gpt_oss":case"llama":case"llama4_text":case"nanochat":case"apertus":case"arcee":case"afmoe":case"lfm2":case"lfm2_moe":case"smollm3":case"olmo":case"olmo2":case"olmo3":case"mobilellm":case"granite":case"granitemoehybrid":case"cohere":case"cohere2":case"mistral":case"voxtral_realtime_text":case"voxtral_realtime_encoder":case"starcoder2":case"qwen2":case"qwen2_moe":case"qwen2_vl":case"qwen2_vl_text":case"qwen2_5_vl_text":case"qwen3_moe":case"qwen3_vl_text":case"qwen3_vl_moe_text":case"phi":case"phi3":case"phi3_v":case"llava_qwen2":t.num_heads="num_key_value_heads",t.num_layers="num_hidden_layers",t.hidden_size="hidden_size",t.num_attention_heads="num_attention_heads",t.dim_kv="head_dim";break;case"qwen3":case"solar_open":case"glm_ocr_text":case"gemma":case"gemma2":case"vaultgemma":case"gemma3_text":case"gemma3n_text":case"glm":case"helium":case"ernie4_5":case"hunyuan_v1_dense":case"falcon_h1":case"nemotron_h":case"ministral":case"ministral3":t.num_heads="num_key_value_heads",t.num_layers="num_hidden_layers",t.dim_kv="head_dim";break;case"openelm":t.num_heads="num_kv_heads",t.num_layers="num_transformer_layers",t.dim_kv="head_dim";break;case"gpt_neo":case"donut-swin":t.num_heads="num_heads",t.num_layers="num_layers",t.hidden_size="hidden_size";break;case"bloom":t.num_heads="n_head",t.num_layers="n_layer",t.hidden_size="hidden_size";break;case"mpt":t.num_heads="n_heads",t.num_layers="n_layers",t.hidden_size="d_model";break;case"exaone":t.num_heads="num_key_value_heads",t.num_layers="num_layers",t.dim_kv="head_dim",t.num_attention_heads="num_attention_heads";break;case"youtu":case"deepseek_v3":case"glm_moe_dsa":case"mistral4":t.num_heads="num_key_value_heads",t.num_layers="num_hidden_layers",t.dim_kv="qk_head_dim",t.num_attention_heads="num_attention_heads";break;case"t5":case"mt5":case"longt5":t.num_decoder_layers="num_decoder_layers",t.num_decoder_heads="num_heads",t.decoder_dim_kv="d_kv",t.num_encoder_layers="num_layers",t.num_encoder_heads="num_heads",t.encoder_dim_kv="d_kv";break;case"bart":case"mbart":case"marian":case"whisper":case"lite-whisper":case"m2m_100":case"blenderbot":case"blenderbot-small":case"florence2_language":t.num_decoder_layers="decoder_layers",t.num_decoder_heads="decoder_attention_heads",t.decoder_hidden_size="d_model",t.num_encoder_layers="encoder_layers",t.num_encoder_heads="encoder_attention_heads",t.encoder_hidden_size="d_model";break;case"speecht5":t.num_decoder_layers="decoder_layers",t.num_decoder_heads="decoder_attention_heads",t.decoder_hidden_size="hidden_size",t.num_encoder_layers="encoder_layers",t.num_encoder_heads="encoder_attention_heads",t.encoder_hidden_size="hidden_size";break;case"trocr":t.num_encoder_layers=t.num_decoder_layers="decoder_layers",t.num_encoder_heads=t.num_decoder_heads="decoder_attention_heads",t.encoder_hidden_size=t.decoder_hidden_size="d_model";break;case"musicgen_decoder":t.num_encoder_layers=t.num_decoder_layers="num_hidden_layers",t.num_encoder_heads=t.num_decoder_heads="num_attention_heads",t.encoder_hidden_size=t.decoder_hidden_size="hidden_size";break;case"moonshine":t.num_decoder_layers="decoder_num_hidden_layers",t.num_decoder_heads="decoder_num_key_value_heads",t.num_encoder_layers="encoder_num_hidden_layers",t.num_encoder_heads="encoder_num_key_value_heads",t.encoder_hidden_size=t.decoder_hidden_size="hidden_size";break;case"vision-encoder-decoder":let s=Zn(e.decoder),a="num_decoder_layers"in s,o=ot(e,["model_type","is_encoder_decoder"]);return a?(o.num_decoder_layers=s.num_decoder_layers,o.num_decoder_heads=s.num_decoder_heads,o.decoder_hidden_size=s.decoder_hidden_size,o.num_encoder_layers=s.num_encoder_layers,o.num_encoder_heads=s.num_encoder_heads,o.encoder_hidden_size=s.encoder_hidden_size):(o.num_layers=s.num_layers,o.num_heads=s.num_heads,o.hidden_size=s.hidden_size),o}let n={...r,...ot(e,["model_type","multi_query","is_encoder_decoder"])};for(let s in t)n[s]=e[t[s]];return n}function Oi(e,t){e instanceof wi||(e=new wi(e));let r=t?.batch_size??1;if(["lfm2","lfm2_moe"].includes(e.model_type)){let n=t?.prefix??"past_key_values",s=n==="present"?"present":"past",a={},{layer_types:o,num_attention_heads:i,num_key_value_heads:l,hidden_size:c,conv_L_cache:u}=e,p=c/i;for(let f=0;f<o.length;++f)if(o[f]==="full_attention")for(let m of["key","value"])a[`${n}.${f}.${m}`]=[r,l,0,p];else if(o[f]==="conv")a[`${s}_conv.${f}`]=[r,c,u];else throw new Error(`Unsupported layer type: ${o[f]}`);return a}else if(["granitemoehybrid","falcon_h1","nemotron_h"].includes(e.model_type)){let n=t?.prefix??"past_key_values",s=n==="present"?"present":"past",a=e,o=a.layer_types??a.layers_block_type,i=a.num_hidden_layers??o?.length,l=a.num_key_value_heads,c=a.head_dim??a.hidden_size/a.num_attention_heads,u=a.mamba_n_heads??a.mamba_num_heads,p=a.mamba_d_head??a.mamba_head_dim,f=a.mamba_d_state??a.ssm_state_size,m=a.mamba_n_groups??a.n_groups,y=a.mamba_d_conv??a.conv_kernel,x=(a.mamba_d_ssm??(a.mamba_expand?a.mamba_expand*a.hidden_size:u*p))+2*m*f,M={};for(let T=0;T<i;++T)if((!o||o[T]==="mamba")&&(M[`${s}_conv.${T}`]=[r,x,y],M[`${s}_ssm.${T}`]=[r,u,p,f]),!o||o[T]==="attention")for(let A of["key","value"])M[`${n}.${T}.${A}`]=[r,l,0,c];return M}else if(["qwen3_next","qwen3_5_text","qwen3_5_moe_text","olmo_hybrid"].includes(e.model_type)){let n=t?.prefix??"past_key_values",s=n==="present"?"present":"past",a={},{head_dim:o,layer_types:i,num_attention_heads:l,num_key_value_heads:c,hidden_size:u,linear_num_value_heads:p,linear_num_key_heads:f,linear_key_head_dim:m,linear_value_head_dim:y,linear_conv_kernel_dim:v}=e,x=m*f,M=y*p,T=o??u/l;for(let A=0;A<i.length;++A)if(i[A]==="full_attention")for(let C of["key","value"])a[`${n}.${A}.${C}`]=[r,c,0,T];else if(i[A]==="linear_attention"){if(e.model_type==="olmo_hybrid")a[`${s}_conv.${A}.key`]=[r,x,v],a[`${s}_conv.${A}.value`]=[r,M,v],a[`${s}_conv.${A}.query`]=[r,x,v];else{let C=x*2+M;a[`${s}_conv.${A}`]=[r,C,v]}a[`${s}_recurrent.${A}`]=[r,p,m,y]}else throw new Error(`Unsupported layer type: ${i[A]}`);return a}else if(["lfm2_vl","qwen3_5","qwen3_5_moe","voxtral_realtime"].includes(e.model_type)){let n;return e.model_type==="voxtral_realtime"&&t?.session_name==="audio_encoder"?n=e.audio_config:n=e.text_config,Oi(n,t)}return nU(e,t)}function nU(e,{prefix:t="past_key_values",batch_size:r=1}={}){let n={},s=e.normalized_config;if(s.is_encoder_decoder&&"num_encoder_heads"in s&&"num_decoder_heads"in s){let a=s.encoder_dim_kv??s.encoder_hidden_size/s.num_encoder_heads,o=s.decoder_dim_kv??s.decoder_hidden_size/s.num_decoder_heads,i=[r,s.num_encoder_heads,0,a],l=[r,s.num_decoder_heads,0,o];for(let c=0;c<s.num_decoder_layers;++c)n[`${t}.${c}.encoder.key`]=i,n[`${t}.${c}.encoder.value`]=i,n[`${t}.${c}.decoder.key`]=l,n[`${t}.${c}.decoder.value`]=l}else{let a=s.num_heads,o=s.num_layers,i=s.dim_kv??s.hidden_size/(s.num_attention_heads??a);if(s.model_type==="falcon"){let l=[r*a,0,i];for(let c=0;c<o;++c)n[`${t}.${c}.key`]=l,n[`${t}.${c}.value`]=l}else if(s.multi_query){let l=[r*a,0,2*i];for(let c=0;c<o;++c)n[`${t}.${c}.key_value`]=l}else if(s.model_type==="bloom"){let l=[r*a,i,0],c=[r*a,0,i];for(let u=0;u<o;++u)n[`${t}.${u}.key`]=l,n[`${t}.${u}.value`]=c}else if(s.model_type==="openelm")for(let l=0;l<o;++l){let c=[r,a[l],0,i];n[`${t}.${l}.key`]=c,n[`${t}.${l}.value`]=c}else{let l=[r,a,0,i];for(let c=0;c<o;++c)n[`${t}.${c}.key`]=l,n[`${t}.${c}.value`]=l}}return n}function Ix(e,t,r){return e?typeof e=="object"&&e!==null?e.hasOwnProperty(t)?+e[t]:e.hasOwnProperty(r)?+e[r]:0:+e:0}function Px(e,t){let r=[];for(let n=0;n<t;++n)r.push(`${e}_data${n===0?"":"_"+n}`);return r}async function sU(e,t,r,n){let s=`${t}${n}.onnx`,a=`${r.subfolder??""}/${s}`;return await mi(e,a,!0,r,pe.IS_NODE_ENV)}async function aU(e,t,r,n,s,a={}){let o=`${t}${r}.onnx`,i=pe.IS_NODE_ENV,l=[],c=Ix(s,o,t);if(c>0){if(c>Vy)throw new Error(`The number of external data chunks (${c}) exceeds the maximum allowed value (${Vy}).`);let u=Px(o,c);for(let p of u){let f=`${n.subfolder??""}/${p}`;l.push(new Promise(async(m,y)=>{let v=await mi(e,f,!0,n,i);m(v instanceof Uint8Array?{path:p,data:v}:p)}))}}else a.externalData!==void 0&&(l=a.externalData.map(async u=>{if(typeof u.data=="string"){let p=await mi(e,u.data,!0,n);return{...u,data:p}}return u}));return Promise.all(l)}async function oU(e,t,r,n=!1,s=void 0){let a=r.config?.["transformers.js_config"]??{},o=qv(r.device??a.device,t,{warn:C=>ce.info(C)}),i=rB(o),l=a.device_config??{};l.hasOwnProperty(o)&&(a={...a,...l[o]});let c=Hv(r.dtype??a.dtype,t,o,{configDtype:a.dtype,warn:C=>ce.info(C)});if(Pp.hasOwnProperty(c)){if(o==="webgpu"&&!pe.IS_NODE_ENV&&c===ft.fp16&&!await aB())throw new Error(`The device (${o}) does not support fp16.`)}else throw new Error(`Invalid dtype: ${c}. Should be one of: ${Object.keys(ft).join(", ")}`);let u=a.kv_cache_dtype,p=u?typeof u=="string"?u:u[c]??"float32":void 0;if(p&&!["float32","float16"].includes(p))throw new Error(`Invalid kv_cache_dtype: ${p}. Should be one of: float32, float16`);let f=Pp[c],m={...r.session_options};m.executionProviders??(m.executionProviders=i);let y=a.free_dimension_overrides;y?m.freeDimensionOverrides??(m.freeDimensionOverrides=y):o.startsWith("webnn")&&!m.freeDimensionOverrides&&ce.warn(`WebNN does not currently support dynamic shapes and requires 'free_dimension_overrides' to be set in config.json, preferably as a field within config["transformers.js_config"]["device_config"]["${o}"]. When 'free_dimension_overrides' is not set, you may experience significant performance degradation.`);let v=sU(e,t,r,f),x=r.use_external_data_format??a.use_external_data_format,M=await aU(e,t,f,r,x,m);if(M.length>0&&!pe.IS_NODE_ENV&&(m.externalData=M),n&&o==="webgpu"&&u!==!1){let C=Oi(r.config,{prefix:"present",session_name:s});if(Object.keys(C).length>0&&!Jp()){let S={};for(let O in C)S[O]="gpu-buffer";m.preferredOutputLocation=S}}return{buffer_or_path:await v,session_options:m,session_config:{dtype:c,kv_cache_dtype:p,device:o}}}async function iU(e,t,r,n=void 0){return Object.fromEntries(await Promise.all(Object.keys(t).map(async s=>{let a=n?.[s]??!1,{buffer_or_path:o,session_options:i,session_config:l}=await oU(e,t[s],r,a,s),c=await Gv(o,i,l);return[s,c]})))}function Rx(e){for(let t in e)Wv(e[t])?e[t]=new W(e[t]):typeof e[t]=="object"&&Rx(e[t]);return e}async function be(e,t){let r=lU(e,t);try{let n=Object.fromEntries(Object.entries(r).map(([a,o])=>{let i=o.ort_tensor;return pe.IS_NODE_ENV&&typeof Float16Array<"u"&&i.cpuData instanceof Float16Array&&(i.cpuData=new Uint16Array(i.cpuData.buffer)),[a,i]})),s=await jv(e,n);return Rx(s)}catch(n){let s=Object.fromEntries(Object.entries(r).map(([a,o])=>{let i={type:o.type,dims:o.dims,location:o.location};return i.location!=="gpu-buffer"&&(i.data=o.data),[a,i]}));throw ce.error(`An error occurred during model execution: "${n}".`),ce.error("Inputs given to model:",s),n}}function lU(e,t){let r=Object.create(null),n=[];for(let o of e.inputNames){let i=t[o];if(!(i instanceof W)){n.push(o);continue}r[o]=Jp()?i.clone():i}if(n.length>0)throw new Error(`An error occurred during model execution: "Missing the following inputs: ${n.join(", ")}.`);let s=Object.keys(t).length,a=e.inputNames.length;if(s>a){let o=Object.keys(t).filter(i=>!e.inputNames.includes(i));ce.warn(`WARNING: Too many inputs were provided (${s} > ${a}). The following inputs will be ignored: "${o.join(", ")}".`)}return r}function gU(e){es=e}function Dp(e){if(e instanceof W)return e;if(e.length===0)throw Error("items must be non-empty");if(Array.isArray(e[0])){if(e.some(t=>t.length!==e[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new W("int64",BigInt64Array.from(e.flat().map(t=>BigInt(t))),[e.length,e[0].length])}else return new W("int64",BigInt64Array.from(e.map(t=>BigInt(t))),[1,e.length])}function Hx(e){return new W("bool",[e],[1])}function wU(e,t,r={}){let n=ts[e]??ts.default;return{sessions:n.sessions(t,r),cache_sessions:n.cache_sessions,optional_configs:n.optional_configs}}async function Go(e,t){let{encoder_outputs:r,input_ids:n,decoder_input_ids:s,...a}=t;if(!r){let o=ot(t,e.sessions.model.inputNames);r=(await Lr(e,o)).last_hidden_state}return a.input_ids=s,a.encoder_hidden_states=r,e.sessions.decoder_model_merged.inputNames.includes("encoder_attention_mask")&&(a.encoder_attention_mask=t.attention_mask),await _r(e,a,!0)}async function Lr(e,t){let r=e.sessions.model,n=ot(t,r.inputNames);if(r.inputNames.includes("inputs_embeds")&&!n.inputs_embeds){if(!t.input_ids)throw new Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");n.inputs_embeds=await e.encode_text({input_ids:t.input_ids})}if(r.inputNames.includes("token_type_ids")&&!n.token_type_ids){if(!n.input_ids)throw new Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");n.token_type_ids=nh(n.input_ids)}if(r.inputNames.includes("pixel_mask")&&!n.pixel_mask){if(!n.pixel_values)throw new Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");let s=n.pixel_values.dims;n.pixel_mask=xt([s[0],s[2],s[3]])}return await be(r,n)}async function yU(e,t){let r=await e.encode(t);return await e.decode(r)}async function _r(e,t,r=!1){let n=e.sessions[r?"decoder_model_merged":"model"],{past_key_values:s,...a}=t;if(n.inputNames.includes("use_cache_branch")&&(a.use_cache_branch=Hx(!!s)),n.inputNames.includes("position_ids")&&a.attention_mask&&!a.position_ids){let i=["paligemma","gemma3_text","gemma3"].includes(e.config.model_type)?1:0;a.position_ids=bU(a,s,i)}n.inputNames.includes("num_logits_to_keep")&&!a.num_logits_to_keep&&(a.num_logits_to_keep=new W("int64",[0n],[])),e.addPastKeyValues(a,s);let o=ot(a,n.inputNames);return await be(n,o)}async function Kx(e,{encode_function:t,merge_function:r,modality_input_names:n,modality_output_name:s,input_ids:a=null,attention_mask:o=null,position_ids:i=null,inputs_embeds:l=null,past_key_values:c=null,generation_config:u=null,logits_processor:p=null,...f}){if(!l){l=await e.encode_text({input_ids:a,...f});let y=ot(f,n);if(Object.keys(y).length>0){if(a.dims[1]!==1){let v=await t({...y,...f});({inputs_embeds:l,attention_mask:o}=r({[s]:v,inputs_embeds:l,input_ids:a,attention_mask:o}))}else if(c&&a.dims[1]===1){let v=a.dims[1],x=c.get_seq_length();o=Fe([xt([a.dims[0],x]),o.slice(null,[o.dims[1]-v,o.dims[1]])],1)}}}if(!i&&["qwen2_vl","qwen2_vl_text","qwen2_5_vl","qwen2_5_vl_text","qwen3_vl","qwen3_vl_text","qwen3_vl_moe","qwen3_vl_moe_text","qwen3_5","qwen3_5_text","qwen3_5_moe","qwen3_5_moe_text","glm_ocr","glm_ocr_text"].includes(e.config.model_type)){let{image_grid_thw:y,video_grid_thw:v}=f;[i]=e.get_rope_index(a,y,v,o)}return await _r(e,{inputs_embeds:l,past_key_values:c,attention_mask:o,position_ids:i,generation_config:u,logits_processor:p},!0)}async function vU(e,t){return await Kx(e,{...t,modality_input_names:["audio_values","input_features"],modality_output_name:"audio_features",encode_function:e.encode_audio.bind(e),merge_function:e._merge_input_ids_with_audio_features.bind(e)})}async function uv(e,t){return await Kx(e,{...t,modality_input_names:["pixel_values"],modality_output_name:"image_features",encode_function:e.encode_image.bind(e),merge_function:e._merge_input_ids_with_image_features.bind(e)})}function Qx(e,t=0){let[r,n]=e.dims,s=e.data,a=new BigInt64Array(s.length);for(let o=0;o<r;++o){let i=o*n,l=BigInt(t);for(let c=0;c<n;++c){let u=i+c;s[u]===0n?a[u]=BigInt(1):(a[u]=l,l+=s[u])}}return{data:a,dims:e.dims}}function bU(e,t=null,r=0){let{input_ids:n,inputs_embeds:s,attention_mask:a}=e,{data:o,dims:i}=Qx(a,r),l=new W("int64",o,i);if(t){let c=-(n??s).dims.at(1);l=l.slice(null,[c,null])}return l}function ha(e,t,r,n){let s=r.past_key_values?r.past_key_values.get_seq_length():0;if((e.sessions.decoder_model_merged??e.sessions.model)?.inputNames.includes("num_logits_to_keep")&&!r.num_logits_to_keep&&(r.num_logits_to_keep=new W("int64",[1n],[])),!r.attention_mask){let o;for(let i of["input_ids","inputs_embeds","position_ids"])if(r[i]){o=r[i].dims;break}if(!o)throw new Error("attention_mask is not provided, and unable to infer its shape from model inputs.");r.attention_mask=xt([o[0],s+o[1]])}if(r.past_key_values){let{input_ids:o,attention_mask:i}=r;i&&i.dims[1]>o.dims[1]||s<o.dims[1]&&(r.input_ids=o.slice(null,[s,null]))}return r}function vi(e,t,r,n){return r.past_key_values&&(t=t.map(s=>[s.at(-1)])),{...r,decoder_input_ids:Dp(t)}}function Ys(e,...t){return e.config.is_encoder_decoder?vi(e,...t):ha(e,...t)}function Jx({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:n,attention_mask:s}){let a=n.tolist().map(c=>c.reduce((u,p,f)=>(p==e&&u.push(f),u),[])),o=a.reduce((c,u)=>c+u.length,0),i=r.dims[0];if(o!==i)throw new Error(`Number of tokens and features do not match: tokens: ${o}, features ${i}`);let l=0;for(let c=0;c<a.length;++c){let u=a[c],p=t[c];for(let f=0;f<u.length;++f)p[u[f]].data.set(r[l++].data)}return{inputs_embeds:t,attention_mask:s}}function Fh({image_token_id:e,inputs_embeds:t,image_features:r,input_ids:n,attention_mask:s}){return Jx({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:n,attention_mask:s})}function Xx({audio_token_id:e,inputs_embeds:t,audio_features:r,input_ids:n,attention_mask:s}){return Jx({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:n,attention_mask:s})}async function MU(e,t,r){return Object.fromEntries(await Promise.all(Object.keys(t).map(async n=>{let s=await yr(e,t[n],!1,r);return[n,s]})))}function EU(e,t){let{text_config:r,audio_config:n}=e.config,s=e.sessions.audio_encoder,{num_mel_bins:a,hidden_size:o}=n,i=a+o,l=new Oh,c=s?.config?.kv_cache_dtype??"float32",u=c==="float16"?is.float16:is.float32,p=Oi(n,{batch_size:1});for(let y in p){let v=p[y].reduce((x,M)=>x*M,1);l[y]=new W(c,new u(v),p[y])}let f=new W(c,new u(i*pv),[1,i,pv]),m=t[Symbol.asyncIterator]?.()??t[Symbol.iterator]?.();if(!m)throw new Error("input_features must be iterable or async iterable");return{encoder_session:s,enc_kv_cache:l,enc_padding_cache:f,enc_past_seq_len:0,audio_embed_queue:[],audio_embed_total_tokens:0,audio_queue_offset:0,audio_consumed:0,stream_exhausted:!1,chunks_iter:m,text_hidden_size:r.hidden_size}}async function kU(e,t){let r=t.dims[2],n=Math.floor((TU+r-3)/2)+1,s=new W("int64",BigInt64Array.from({length:n},(u,p)=>BigInt(e.enc_past_seq_len+p)),[1,n]),a=e.enc_past_seq_len+n,o=xt([1,a]),{audio_embeds:i,present_padding_cache:l,...c}=await be(e.encoder_session,{input_features:t,attention_mask:o,position_ids:s,past_padding_cache:e.enc_padding_cache,...e.enc_kv_cache});e.enc_padding_cache.location==="gpu-buffer"&&e.enc_padding_cache.dispose(),e.enc_padding_cache=l;for(let u in c)if(u.startsWith("present.")){let p=u.replace("present","past_key_values"),f=e.enc_kv_cache[p];f?.location==="gpu-buffer"&&f.dispose(),e.enc_kv_cache[p]=c[u]}return e.enc_past_seq_len=a,i}async function CU(e,t){for(;e.audio_embed_total_tokens<t&&!e.stream_exhausted;){let r=await e.chunks_iter.next();if(r.done){e.stream_exhausted=!0;break}let n=await kU(e,r.value);e.audio_embed_queue.push({data:n.data,tokens:n.dims[1]}),e.audio_embed_total_tokens+=n.dims[1]}}function AU(e,t,r){if(e.audio_embed_queue.length===0)return;let n=t.data,s=0,a=r;for(;a>0&&e.audio_embed_queue.length>0;){let o=e.audio_embed_queue[0],i=o.tokens-e.audio_queue_offset,l=Math.min(a,i),c=e.audio_queue_offset*e.text_hidden_size;for(let u=0;u<l*e.text_hidden_size;++u)n[s*e.text_hidden_size+u]+=o.data[c+u];s+=l,a-=l,e.audio_queue_offset+=l,e.audio_queue_offset>=o.tokens&&(e.audio_embed_queue.shift(),e.audio_queue_offset=0)}e.audio_consumed+=r-a}async function Xt(e){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(t=>Mt.read(t)))}async function fa(e,t){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(r=>typeof r=="string"||r instanceof URL?Hb(r,t):r instanceof Float64Array?new Float32Array(r):r))}function Vp(e,t){t&&(e=e.map(o=>o|0));let[r,n,s,a]=e;return{xmin:r,ymin:n,xmax:s,ymax:a}}function hv(e){return Array.isArray(e)&&e.every(t=>"role"in t&&"content"in t)}function KU(e,{config:t=null,cache_dir:r=null,local_files_only:n=!1,revision:s="main"}={}){if(t!==null)return ls.from_pretrained(e,{config:t,cache_dir:r,local_files_only:n,revision:s});let a=JSON.stringify([e,r,n,s]);return Ov(a,()=>ls.from_pretrained(e,{config:t,cache_dir:r,local_files_only:n,revision:s}))}async function NI(e,{config:t=null,dtype:r=null,device:n=null,model_file_name:s=null}={}){t=await KU(e,{config:t});let a=["config.json"],o=t["transformers.js_config"]??{},i=o.use_external_data_format,l="onnx",c=n??o.device,u=r??o.dtype,p,f=t.architectures||[],m=!1;for(let M of f){let T=mr.get(M);if(T!==void 0){p=T,m=!0;break}}if(!m&&t.model_type){let M=mr.get(t.model_type);if(M!==void 0&&(p=M,m=!0),!m){for(let T of Object.values(es))if(T.has(t.model_type)){p=mr.get(T.get(t.model_type)),m=!0;break}}}if(!m){let M=f.length>0?f.join(", "):"(none)";ce.warn(`[get_model_files] Architecture(s) not found in MODEL_TYPE_MAPPING: [${M}] for model type '${t.model_type}'. Falling back to EncoderOnly (single model.onnx file). If you encounter issues, please report at: ${Ci}`),p=J.EncoderOnly}let y=(M,T=null)=>{T=T??M;let A=qv(c,M),C=Hv(u,M,A),S=Pp[C]??"",O=`${T}${S}.onnx`,E=l?`${l}/${O}`:O;a.push(E);let K=Ix(i,O,M);for(let $ of Px(O,K)){let V=l?`${l}/${$}`:$;a.push(V)}},{sessions:v,optional_configs:x}=wU(p,t,{model_file_name:s});for(let[M,T]of Object.entries(v))y(M,T);if(x)for(let M of Object.values(x))a.push(M);return a}async function DI(e){if(!e)throw new Error("modelId is required");return(await Ma(e,_a,{})).exists?[_a]:[]}async function Va(e,{config:t=null,dtype:r=null,device:n=null,model_file_name:s=null,include_tokenizer:a=!0,include_processor:o=!0}={}){let i=await NI(e,{config:t,dtype:r,device:n,model_file_name:s});if(a){let l=await sh(e);i.push(...l)}if(o){let l=await DI(e);i.push(...l)}return i}async function Ga(e,t,r={}){e=FI[e]??e;let n=bi[e];if(!n)throw new Error(`Unsupported pipeline task: ${e}. Must be one of [${Object.keys(bi).join(", ")}]`);let{type:s}=n;return Va(t,{...r,include_tokenizer:s!=="audio"&&s!=="image",include_processor:s!=="text"})}async function QU(e,t=null,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main",device:i=null,dtype:l=null,subfolder:c="onnx",use_external_data_format:u=null,model_file_name:p=null,session_options:f={}}={}){e=FI[e]??e;let m=bi[e.split("_",1)[0]];if(!m)throw Error(`Unsupported pipeline: ${e}. Must be one of [${Object.keys(bi)}]`);t||(t=m.default.model,ce.info(`No model specified. Using default model: "${t}".`),!l&&m.default.dtype&&(l=m.default.dtype));let y=await Ga(e,t,{device:i,dtype:l}),v={};r&&(await Promise.all(y.map(async Q=>Ma(t,Q)))).forEach((Q,G)=>{Q.exists&&(v[y[G]]={loaded:0,total:Q.size??0})});let x={progress_callback:r?V=>{if(V.status==="progress"){v[V.file]={loaded:V.loaded,total:V.total};let Q=Object.values(v).reduce((D,R)=>D+R.loaded,0),G=Object.values(v).reduce((D,R)=>D+R.total,0),q=G>0?Q/G*100:0;r({status:"progress_total",name:V.name,progress:q,loaded:Q,total:G,files:structuredClone(v)})}r(V)}:void 0,config:n,cache_dir:s,local_files_only:a,revision:o,device:i,dtype:l,subfolder:c,use_external_data_format:u,model_file_name:p,session_options:f},M=y.includes("tokenizer.json"),T=y.includes("preprocessor_config.json"),A=m.model,C;if(Array.isArray(A)){let V=n??await ls.from_pretrained(t,x),{model_type:Q}=V,G=A.find(q=>q.supports(Q));if(!G)throw Error(`Unsupported model type "${Q}" for task "${e}". None of the candidate model classes support this type.`);C=G.from_pretrained(t,{...x,config:V})}else C=A.from_pretrained(t,x);let[S,O,E]=await Promise.all([M?Ae.from_pretrained(t,x):null,T?Sx.from_pretrained(t,x):null,C]),K={task:e,model:E};S&&(K.tokenizer=S),O&&(K.processor=O),cn(r,{status:"ready",task:e,model:t});let $=m.pipeline;return new $(K)}async function YU(e,{num_frames:t=null,fps:r=null}={}){if(!pe.IS_BROWSER_ENV)throw new Error("`load_video` is currently only supported in browser environments.");if(t==null&&r==null)throw new Error("Either num_frames or fps must be provided.");let n=[],s=document.createElement("video");if(s.crossOrigin="anonymous",s.muted=!0,typeof e=="string")s.src=e;else if(e instanceof Blob)s.src=URL.createObjectURL(e);else if(e instanceof HTMLVideoElement)s.src=e.src;else throw new Error("Invalid URL or video element provided.");if(await new Promise(p=>s.onloadedmetadata=p),s.seekable.start(0)===s.seekable.end(0)){let f=await(await ge.fetch(s.src)).blob();s.src=URL.createObjectURL(f),await new Promise(m=>s.onloadedmetadata=m)}let a=s.duration,o,i;t!=null?(o=t,i=t===1?0:a/(t-1)):(i=1/r,o=Math.floor(a/i));let l=[];for(let p=0;p<o;++p)l.push(t===1?a/2:p*i);let c=document.createElement("canvas");c.width=s.videoWidth,c.height=s.videoHeight;let u=c.getContext("2d",{willReadFrequently:!0});for(let p of l){s.currentTime=p,await new Promise(v=>{s.onseeked=v}),u.drawImage(s,0,0,c.width,c.height);let f=u.getImageData(0,0,c.width,c.height),m=new Mt(f.data,c.width,c.height,4),y=new em(m,p);n.push(y)}return s.remove(),new zI(n,a)}async function Vc(e,t,r={}){let n=await ps(r?.cache_dir);if(!n)return{allCached:!1,files:t.map(o=>({file:o,cached:!1}))};let s=await Promise.all(t.map(async a=>{let{localPath:o,proposedCacheKey:i}=xa(e,a,r,n),l=await Ta(n,o,i);return{file:a,cached:!!l}}));return{allCached:s.every(a=>a.cached),files:s}}async function $I(e,t,r={}){let n=await ps(r?.cache_dir);if(!n)return!1;let{localPath:s,proposedCacheKey:a}=xa(e,t,r,n);return!!await Ta(n,s,a)}async function ZU(e,t={}){if(!e)throw new Error("modelId is required");if(!await $I(e,"config.json",t))return!1;let r=await Va(e,t);return(await Vc(e,r,t)).allCached}async function ez(e,t={}){if(!e)throw new Error("modelId is required");let r=await Va(e,t);return await Vc(e,r,t)}async function tz(e,t,r={}){if(!e)throw new Error("task is required");if(!t)throw new Error("modelId is required");if(!await $I(t,"config.json",r))return!1;let n=await Ga(e,t,r);return(await Vc(t,n,r)).allCached}async function rz(e,t,r={}){if(!e)throw new Error("task is required");if(!t)throw new Error("modelId is required");let n=await Ga(e,t,r);return await Vc(t,n,r)}async function VI(e,t,r={}){let n=await ps(r?.cache_dir);if(!n)return{filesDeleted:0,filesCached:0,files:t.map(a=>({file:a,deleted:!1,wasCached:!1}))};if(!n.delete)throw new Error("Cache does not support delete operation");let s=await Promise.all(t.map(async a=>{let{localPath:o,proposedCacheKey:i}=xa(e,a,r,n),c=!!await Ta(n,o,i),u=!1;if(c){let p=await n.delete(i),f=!p&&i!==o?await n.delete(o):!1;u=p||f}return{file:a,deleted:u,wasCached:c}}));return{filesDeleted:s.filter(a=>a.deleted).length,filesCached:s.filter(a=>a.wasCached).length,files:s}}async function nz(e,t={}){if(!e)throw new Error("modelId is required");let r=await Va(e,t);return await VI(e,r,t)}async function sz(e,t,r={}){if(!e)throw new Error("task is required");if(!t)throw new Error("modelId is required");let n=await Ga(e,t,r);return await VI(t,n,r)}var ci,tL,cs,At,ar,rL,nL,Gp,ss,gv,ui,sL,NV,Mi,wv,yv,jp,Wp,aL,oL,iL,lL,cL,uL,dL,pL,pe,qp,di,hL,vy,fL,mL,Ft,by,ge,ce,yL,Ty,vL,bL,bv,ML,xL,Ey,TL,hi,Hp,xi,EL,kL,CL,AL,SL,IL,Wt,Kp,PL,Mv,ky,RL,OL,ya,LL,wr,FL,NL,DL,BL,UL,zL,$L,VL,GL,Ti,jL,WL,qL,HL,KL,QL,JL,XL,YL,ZL,eF,tF,rF,nF,sF,aF,xv,iF,Ht,lF,cF,uF,dF,pF,hF,fF,mF,_F,gF,wF,yF,vF,bF,MF,xF,TF,EF,kF,CF,AF,SF,Tv,PF,Ei,RF,Cy,Ay,OF,LF,Bd,FF,NF,BF,Sy,UF,zF,$F,VF,GF,Iy,jF,WF,HF,KF,va,QF,JF,XF,YF,ZF,eN,tN,rN,nN,sN,Cv,oN,Kt,iN,lN,cN,uN,dN,pN,hN,fN,mN,_N,gN,wN,yN,vN,bN,MN,xN,TN,EN,kN,Av,AN,SN,B,Ot,IN,PN,Qt,LN,FN,NN,DN,BN,UN,zN,$N,St,VN,Oy,Qn,us,GN,jN,Ly,WN,Fy,qN,Xs,HN,KN,QN,JN,XN,YN,ZN,eD,tD,rD,Dy,By,ir,de,ze,Z,ae,uD,tt,ua,_e,zy,Le,Be,Oe,on,pD,Ke,hD,fD,TD,Dt,ED,fi,Qp,rr,ba,kD,CD,Pv,AD,Vy,SD,Rv,OD,Wy,ga,Hd,qy,wa,ht,_v,FD,ND,Ud,Uv,jD,WD,QD,zv,JD,ZD,eB,Lt,Ip,as,Ky,tB,Qy,Jn,Jy,He,Rr,Kd,dn,sB,zd,aB,ft,Xy,Yy,Pp,is,W,Uo,uB,le,tb,rb,nb,sb,ab,ob,ib,lb,cb,ub,db,pb,hb,fb,mb,_b,gb,wb,yb,vb,bb,Mb,xb,Tb,Eb,kb,oh,Cb,Ab,Sb,Ib,Pb,Rb,Ob,Lb,Fb,Nb,Db,Bb,Ub,fB,zb,$b,Vb,oi,mB,gB,tv,Gb,jb,Wb,Ae,Ci,ih,_a,wB,yB,Zs,Se,Rp,ct,lh,vB,bB,MB,xB,EB,kB,Jb,Xb,ch,Yb,Zb,uh,eM,tM,rM,OB,nM,dh,sM,aM,oM,iM,lM,cM,uM,Bt,jo,dM,Op,ln,pM,Or,LB,FB,Mt,NB,ue,gi,gM,wM,yM,vM,hh,bM,fh,MM,mh,xM,_h,TM,EM,Si,kM,gh,CM,AM,wh,SM,IM,PM,Lp,RM,OM,LM,FM,Ii,NM,DM,yh,BM,vh,UM,bh,zM,Mh,$M,xh,VM,GM,Pi,jM,WM,Ct,jB,Gd,Xn,jd,qM,HM,KM,QM,ii,Th,JM,Eh,XM,YM,ZM,kh,ex,tx,rx,Ch,nx,mt,Wo,sx,an,ax,ea,Ri,Qd,ox,ta,ix,qo,lx,ra,Fp,na,cx,Ho,ux,Ko,dx,sa,px,iv,Qo,hx,Jo,fx,Xo,mx,Yn,aa,_x,lv,JB,Yo,gx,oa,wx,Jd,yx,Ah,vx,Xd,Sh,Ih,bx,Zo,Mx,ia,xx,$o,XB,YB,la,Tx,cv,Wd,Vo,eU,tU,ca,Ex,ei,kx,ti,Cx,ri,Ax,Sx,wi,ls,Qe,oe,je,Je,_t,hn,cU,Jt,Li,yi,Ox,Lx,Ph,Fx,Nx,Dx,Bx,Ux,zx,$x,Vx,uU,dU,Gx,hs,Rh,Wx,qx,pU,Fi,hU,fU,mU,_U,Oh,es,J,ts,mr,Lh,os,I,Nh,fs,Yx,Zx,e0,t0,Ni,r0,n0,Di,s0,a0,Bi,o0,i0,Ui,l0,c0,Ea,u0,d0,p0,zi,h0,f0,fn,m0,_0,g0,w0,y0,$i,v0,b0,Vi,M0,x0,Gi,T0,E0,mn,k0,C0,A0,S0,I0,xU,dv,Dh,Bh,Uh,P0,zh,R0,ka,O0,$h,Vh,Nr,L0,F0,Gh,N0,D0,ji,B0,U0,Wi,z0,$0,qi,V0,G0,Hi,j0,W0,_n,q0,H0,K0,Q0,J0,Ki,X0,Y0,Qi,Z0,eT,Ji,tT,rT,ms,Xi,nT,sT,jh,Wh,Ca,aT,qh,Hh,gn,oT,iT,lT,cT,uT,Yi,dT,pT,wn,hT,fT,mT,_T,gT,Kh,wT,Zi,yT,vT,Qh,bT,Jh,MT,Aa,xT,TT,ET,el,Xh,tl,kT,CT,rl,AT,ST,Yh,IT,Zh,PT,yn,RT,OT,LT,FT,NT,ef,DT,nl,BT,UT,sl,zT,$T,vn,VT,GT,jT,WT,qT,al,HT,KT,_s,QT,JT,XT,YT,gs,ZT,eE,tE,rE,ol,nE,sE,il,aE,oE,ll,iE,lE,cl,cE,uE,tf,dE,ul,pE,hE,dl,fE,mE,pl,_E,gE,rf,hl,nf,fl,wE,yE,ml,vE,bE,sf,_l,gl,wl,yl,ME,vl,xE,TE,bl,EE,kE,Ml,CE,AE,xl,SE,IE,Tl,PE,RE,El,OE,LE,kl,FE,NE,Cl,DE,BE,Al,UE,zE,af,Sl,$E,of,VE,lf,GE,Il,jE,WE,Pl,qE,HE,Mr,KE,QE,JE,XE,YE,ZE,ek,tk,Rl,rk,nk,cf,gr,sk,ak,ok,Ol,ik,lk,Ll,ck,uk,Sa,dk,uf,pk,Fl,hk,fk,mk,Nl,_k,gk,wk,Dl,yk,vk,df,bk,Bl,Mk,xk,Ul,Tk,Ek,zl,kk,Ck,$l,Ak,Sk,ws,Ik,Pk,Rk,Ok,pf,Lk,hf,Fk,ff,mf,Nk,_f,gf,Ia,Dk,wf,yf,Vl,Bk,Uk,Gl,zk,$k,ys,Vk,Gk,jk,Wk,jl,qk,Hk,Pa,Kk,Qk,Jk,Ra,Xk,Yk,Zk,Oa,e1,t1,r1,La,n1,s1,a1,Wl,o1,i1,ql,l1,c1,vs,u1,d1,p1,h1,Hl,f1,m1,Kl,_1,g1,bn,w1,y1,v1,b1,M1,Ql,x1,T1,Jl,E1,k1,vf,C1,Xl,A1,S1,bf,Yl,I1,P1,Zl,R1,O1,Mn,L1,F1,N1,D1,B1,Mf,U1,ec,z1,$1,tc,V1,G1,rc,j1,W1,nc,q1,H1,sc,K1,Q1,ac,J1,X1,oc,Y1,Z1,ic,eC,tC,rC,xf,nC,lc,sC,aC,cc,oC,iC,uc,lC,cC,dc,uC,dC,Tf,Ef,pc,pC,hC,hc,fC,mC,fc,_C,gC,mc,wC,yC,_c,vC,bC,gc,MC,xC,wc,TC,EC,yc,vc,kC,kf,bc,Mc,CC,Cf,xc,AC,SC,Tc,IC,PC,Af,xn,RC,OC,LC,FC,NC,Tn,DC,BC,UC,zC,$C,Ec,VC,GC,Sf,If,Pf,jC,Rf,Of,kc,WC,qC,Fa,HC,KC,QC,Na,JC,XC,YC,Cc,ZC,Lf,eA,Ac,tA,rA,Da,nA,Ff,Nf,Sc,sA,aA,Ba,oA,iA,lA,cA,bs,uA,dA,pA,hA,Ic,fA,mA,Pc,_A,gA,Df,wA,Bf,Uf,Ua,yA,vA,bA,Rc,MA,xA,Oc,TA,EA,Lc,kA,CA,zf,$f,AA,za,SA,IA,PA,Ms,RA,OA,LA,FA,Fc,NA,DA,BA,Nc,UA,zA,Vf,$A,Dc,VA,GA,Gf,jA,jf,WA,Wf,qf,qA,HA,pv,TU,qd,SU,Hf,Kf,$a,KA,QA,JA,Qf,En,XA,YA,ZA,eS,tS,Jf,rS,IU,Bc,nS,Xf,sS,kn,aS,oS,iS,lS,cS,Cn,uS,dS,pS,hS,fS,Uc,mS,_S,Yf,zc,gS,wS,PU,RU,OU,LU,yS,vS,bS,MS,xS,TS,ES,FU,kS,CS,AS,SS,IS,NU,PS,RS,OS,rs,LS,FS,NS,DS,BS,US,zS,$S,DU,VS,GS,jS,WS,qS,HS,BU,KS,UU,Te,ni,Ee,si,ns,Yd,Bp,Zd,QS,ep,li,tp,JS,rp,XS,np,YS,sp,ZS,ap,eI,op,tI,ip,rI,lp,nI,cp,Up,up,zp,dp,$p,pp,sI,hp,aI,fp,zU,mp,oI,_p,iI,gp,$U,wp,VU,yp,lI,vp,GU,bp,cI,Mp,uI,xp,jU,Tp,WU,Ep,dI,kp,qU,Cp,HU,$e,pI,hI,fI,mI,$c,_I,gI,wI,yI,vI,bI,MI,xI,TI,EI,fv,Zf,kI,CI,AI,SI,II,PI,RI,OI,LI,bi,FI,JU,BI,mv,UI,XU,em,zI,az,jI=Ve(()=>{qw();yy();ci={},tL=Object.defineProperty,cs=(e,t)=>{for(var r in t)tL(e,r,{get:t[r],enumerable:!0})},At={},ar={},rL={},nL="4.0.0-next.8",Gp=typeof self<"u",ss=!vv(At),gv=!vv(ar),ui=Gp&&"caches"in self,sL=typeof globalThis.Deno<"u",NV=typeof globalThis.Bun<"u",Mi=sL&&ui&&!ss,wv=typeof process<"u",yv=wv&&process?.release?.name==="node"&&!Mi,jp=typeof window<"u"&&typeof window.document<"u",Wp=Gp&&["DedicatedWorkerGlobalScope","ServiceWorkerGlobalScope","SharedWorkerGlobalScope"].includes(self.constructor?.name),aL=jp||Wp||Mi,oL=yv||typeof navigator<"u"&&"gpu"in navigator,iL=typeof navigator<"u"&&"ml"in navigator,lL=typeof crypto<"u"&&typeof crypto.getRandomValues=="function",cL=typeof chrome<"u"&&typeof chrome.runtime<"u"&&typeof chrome.runtime.id=="string",uL=typeof ServiceWorkerGlobalScope<"u"&&Gp&&self instanceof ServiceWorkerGlobalScope,dL=()=>{if(typeof navigator>"u")return!1;let e=navigator.userAgent,r=(navigator.vendor||"").indexOf("Apple")>-1,n=!e.match(/CriOS|FxiOS|EdgiOS|OPiOS|mercury|brave/i)&&!e.includes("Chrome")&&!e.includes("Android");return r&&n},pL=dL(),pe=Object.freeze({IS_BROWSER_ENV:jp,IS_WEBWORKER_ENV:Wp,IS_WEB_ENV:aL,IS_SERVICE_WORKER_ENV:uL,IS_DENO_WEB_RUNTIME:Mi,IS_WEB_CACHE_AVAILABLE:ui,IS_WEBGPU_AVAILABLE:oL,IS_WEBNN_AVAILABLE:iL,IS_SAFARI:pL,IS_PROCESS_AVAILABLE:wv,IS_NODE_ENV:yv,IS_FS_AVAILABLE:ss,IS_PATH_AVAILABLE:gv,IS_CRYPTO_AVAILABLE:lL,IS_CHROME_AVAILABLE:cL}),qp=ss&&gv,di="./";if(qp){let e=Object(ci).url;e?di=ar.dirname(ar.dirname(rL.fileURLToPath(e))):typeof __dirname<"u"&&(di=ar.dirname(__dirname))}hL=qp?ar.join(di,"/.cache/"):null,vy="/models/",fL=qp?ar.join(di,vy):vy,mL=typeof globalThis.fetch=="function"?globalThis.fetch.bind(globalThis):void 0,Ft=Object.freeze({DEBUG:10,INFO:20,WARNING:30,ERROR:40,NONE:50}),by=Ft.WARNING,ge={version:nL,backends:{onnx:{}},get logLevel(){return by},set logLevel(e){by=e,ge.backends.onnx?.setLogLevel?.(e)},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(jp||Wp||Mi),localModelPath:fL,useFS:ss,useBrowserCache:ui,useFSCache:ss,cacheDir:hL,useCustomCache:!1,customCache:null,useWasmCache:ui||ss,cacheKey:"transformers-cache",experimental_useCrossOriginStorage:!1,fetch:mL};ce={error(...e){ge.logLevel<=Ft.ERROR&&console.error(...e)},warn(...e){ge.logLevel<=Ft.WARNING&&console.warn(...e)},info(...e){ge.logLevel<=Ft.INFO&&console.log(...e)},debug(...e){ge.logLevel<=Ft.DEBUG&&console.log(...e)},log(...e){this.info(...e)}},yL=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){let t=Object.create(null);for(let r of e){let n=t;for(let s=0;s<r.length;++s){let a=r[s];n=n[a]??(n[a]=Object.create(null))}n.end=r}return t}split(e){let t=[],r=e.length,n=0,s=0;for(;s<r;){let a=this.trie,o=null,i=s;for(;i<r&&(a=a[e[i]]);)a.end&&(o=a.end),++i;o?(s>n&&t.push(e.slice(n,s)),t.push(o),s+=o.length,n=s):++s}return n<r&&t.push(e.slice(n)),t}},Ty=yL,vL=class{constructor(e){this.content=e.content,this.id=e.id,this.single_word=e.single_word??!1,this.lstrip=e.lstrip??!1,this.rstrip=e.rstrip??!1,this.special=e.special??!1,this.normalized=e.normalized??!this.special}},bL=vL,bv=(()=>{let e=[...Array.from({length:94},(s,a)=>a+33),...Array.from({length:12},(s,a)=>a+161),...Array.from({length:82},(s,a)=>a+174)],t=e.slice(),r=0;for(let s=0;s<256;++s)e.includes(s)||(e.push(s),t.push(256+r),r+=1);let n=t.map(s=>String.fromCharCode(s));return Object.fromEntries(e.map((s,a)=>[s,n[a]]))})(),ML=e=>Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t])),xL=ML(bv),Ey=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",TL=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],["(?>\\p{Nd}{510})","(?:\\p{Nd}{510})"],["\\p{Nd}{3}+","(?:\\p{Nd}{3})+"],["\\G",""],[` ?[^(\\s|[${Ey}])]+`,` ?[^\\s${Ey}]+`]]),hi="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",Hp=e=>e.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),xi=(e,t=!0)=>{if(e.Regex!==void 0){let r=e.Regex.replace(/\\([#&~])/g,"$1");r=r.replace(/\\A/g,"^").replace(/\\z/g,"$").replace(/\\Z/g,"(?=\\r?\\n?$)");for(let[n,s]of TL)r=r.replaceAll(n,s);try{return new RegExp(r,"gu")}catch(n){if(!(n instanceof SyntaxError)||!n.message.toLowerCase().includes("invalid property name"))throw n;let s=!1,a=r.replace(/(\\[pP])\{([^}=]+)\}/g,(o,i,l)=>{try{return new RegExp(`\\p{${l}}`,"u"),`${i}{${l}}`}catch{return s=!0,`${i}{Script=${l}}`}});if(!s)throw n;try{return new RegExp(a,"gu")}catch{throw n}}}else if(e.String!==void 0){let r=EL(e.String);return new RegExp(t?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",e),null},EL=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),kL=(e,t,r)=>{let n=[],s=0;for(;s<e.length;){if(n.push(e[s]),(t.get(e[s])??r)!==r){++s;continue}for(;++s<e.length&&(t.get(e[s])??r)===r;)t.get(n.at(-1))!==r&&(n[n.length-1]+=e[s])}return n},CL=e=>e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=63744&&e<=64255||e>=194560&&e<=195103,AL=e=>Number.isInteger(e)||typeof e=="bigint",SL=e=>{let t=0;for(let r of e)++t;return t},IL=e=>Mv(e.toLowerCase()),Wt=(...e)=>Array.prototype.concat.apply([],e),Kp=e=>new Map(Object.entries(e)),PL=(e,t)=>{let r=[],n=0;for(let s of e.matchAll(t)){let a=s[0];n<s.index&&r.push(e.slice(n,s.index)),a.length>0&&r.push(a),n=s.index+a.length}return n<e.length&&r.push(e.slice(n)),r},Mv=e=>e.replace(new RegExp("\\p{M}","gu"),""),ky=(e,t,r=[])=>{if(!e||Array.isArray(e)||typeof e!="object")return`${t} must be a valid object`;for(let n of r)if(!(n in e))return`${t} must contain a "${n}" property`;return null},RL=e=>e.match(/\S+/g)||[],OL=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}},ya=OL,LL=class extends ya{constructor(e){super(),this.config=e}_call(e){return this.normalize(e)}},wr=LL,FL=class extends wr{tokenize_chinese_chars(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r],s=n.charCodeAt(0);CL(s)?(t.push(" "),t.push(n),t.push(" ")):t.push(n)}return t.join("")}strip_accents(e){return e.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(e){switch(e){case" ":case`
|
|
10
|
-
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(e)}}clean_text(e){let t=[];for(let r of e){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?t.push(" "):t.push(r))}return t.join("")}normalize(e){return this.config.clean_text&&(e=this.clean_text(e)),this.config.handle_chinese_chars&&(e=this.tokenize_chinese_chars(e)),this.config.lowercase?(e=e.toLowerCase(),this.config.strip_accents!==!1&&(e=this.strip_accents(e))):this.config.strip_accents&&(e=this.strip_accents(e)),e}},NL=FL,DL=class extends wr{constructor(e){super(e),this.charsmap=e.precompiled_charsmap??null}normalize(e){return e=e.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),e=e.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),e.includes("\uFF5E")?e=e.split("\uFF5E").map(r=>r.normalize("NFKC")).join("\uFF5E"):e=e.normalize("NFKC"),e}},BL=DL,UL=class extends wr{constructor(e){super(e),this.normalizers=(e.normalizers??[]).map(t=>xv(t))}normalize(e){return this.normalizers.reduce((t,r)=>r?r.normalize(t):t,e)}},zL=UL,$L=class extends wr{normalize(e){let t=xi(this.config.pattern??{});return t===null?e:e.replaceAll(t,this.config.content??"")}},VL=$L,GL=class extends wr{constructor(){super(...arguments),this.form="NFC"}normalize(e){return e=e.normalize(this.form),e}},Ti=GL,jL=class extends Ti{constructor(){super(...arguments),this.form="NFC"}},WL=jL,qL=class extends Ti{constructor(){super(...arguments),this.form="NFD"}},HL=qL,KL=class extends Ti{constructor(){super(...arguments),this.form="NFKC"}},QL=KL,JL=class extends Ti{constructor(){super(...arguments),this.form="NFKD"}},XL=JL,YL=class extends wr{normalize(e){return this.config.strip_left&&this.config.strip_right?e=e.trim():(this.config.strip_left&&(e=e.trimStart()),this.config.strip_right&&(e=e.trimEnd())),e}},ZL=YL,eF=class extends wr{normalize(e){return Mv(e)}},tF=eF,rF=class extends wr{normalize(e){return e.toLowerCase()}},nF=rF,sF=class extends wr{normalize(e){return e=this.config.prepend+e,e}},aF=sF;xv=oF,iF=class extends ya{pre_tokenize(e,t){return(Array.isArray(e)?e.map(r=>this.pre_tokenize_text(r,t)):this.pre_tokenize_text(e,t)).flat()}_call(e,t){return this.pre_tokenize(e,t)}},Ht=iF,lF=class extends Ht{constructor(e){super(),this.config=e,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=bv,this.text_encoder=new TextEncoder}pre_tokenize_text(e,t){return this.add_prefix_space&&!e.startsWith(" ")&&(e=" "+e),(this.use_regex?e.match(this.pattern)||[]:[e]).map(n=>Array.from(this.text_encoder.encode(n),s=>this.byte_encoder[s]).join(""))}},cF=lF,uF=class extends Ht{pre_tokenize_text(e,t){return e.match(/\w+|[^\w\s]+/g)||[]}},dF=uF,pF=class extends Ht{constructor(e){super(),this.replacement=e.replacement??"\u2581",this.str_rep=e.str_rep||this.replacement,this.prepend_scheme=e.prepend_scheme??"always"}pre_tokenize_text(e,t){let{section_index:r=void 0}=t??{},n=e.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},hF=pF,fF=class extends Ht{constructor(e){super(),this.config=e,this.pattern=xi(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(e){return this.pattern===null?[]:this.config.invert?e.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?e.split(this.pattern).filter(t=>t):PL(e,this.pattern)}},mF=fF,_F=class extends Ht{constructor(e){super(),this.config=e,this.pattern=new RegExp(`[^${hi}]+|[${hi}]+`,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},gF=_F,wF=class extends Ht{constructor(e){super(),this.config=e;let t=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(t,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},yF=wF,vF=class extends Ht{constructor(){super(),this.pattern=new RegExp(`[^\\s${hi}]+|[${hi}]`,"gu")}pre_tokenize_text(e,t){return e.trim().match(this.pattern)||[]}},bF=vF,MF=class extends Ht{constructor(e){super(),this.config=e,this.pattern=xi(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(e){return this.pattern===null?[e]:[e.replaceAll(this.pattern,this.config.content??"")]}},xF=MF,TF=class extends Ht{constructor(e){super(),this.tokenizers=(e.pretokenizers??[]).map(t=>Tv(t))}pre_tokenize_text(e,t){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,t):r,[e])}},EF=TF,kF=class extends Ht{pre_tokenize_text(e){return RL(e)}},CF=kF,AF=class extends Ht{constructor(e){super(),this.config=e,this._length=e.length}pre_tokenize_text(e){let t=[];for(let r=0;r<e.length;r+=this._length)t.push(e.slice(r,r+this._length));return t}},SF=AF;Tv=IF,PF=class extends ya{constructor(e){super(),this.config=e,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(e){let t=this.encode(e);return this.fuse_unk&&(t=kL(t,this.tokens_to_ids,this.unk_token_id)),t}},Ei=PF,RF=class extends Ei{constructor(e){super(e),this.max_input_chars_per_word=100,this.tokens_to_ids=Kp(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.max_input_chars_per_word=e.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[t,r]of this.tokens_to_ids)this.vocab[r]=t}encode(e){let t=[];for(let r of e){let n=[...r];if(n.length>this.max_input_chars_per_word){t.push(this.unk_token);continue}let s=!1,a=0,o=[];for(;a<n.length;){let i=n.length,l=null;for(;a<i;){let c=n.slice(a,i).join("");if(a>0&&(c=this.config.continuing_subword_prefix+c),this.tokens_to_ids.has(c)){l=c;break}--i}if(l===null){s=!0;break}o.push(l),a=i}s?t.push(this.unk_token):t.push(...o)}return t}},Cy=RF,Ay=class Ev{constructor(t,r){this.is_leaf=t,this.children=r}static default(){return new Ev(!1,new Map)}},OF=class{constructor(){this.root=Ay.default()}extend(e){for(let t of e)this.push(t)}push(e){let t=this.root;for(let r of e){let n=t.children.get(r);n===void 0&&(n=Ay.default(),t.children.set(r,n)),t=n}t.is_leaf=!0}*common_prefix_search(e){let t=this.root;if(t===void 0)return;let r="";for(let n of e){if(r+=n,t=t.children.get(n),t===void 0)return;t.is_leaf&&(yield r)}}},LF=OF,Bd=class kv{constructor(t,r,n,s,a){this.token_id=t,this.node_id=r,this.pos=n,this.length=s,this.score=a,this.prev=null,this.backtrace_score=0}clone(){let t=new kv(this.token_id,this.node_id,this.pos,this.length,this.score);return t.prev=this.prev,t.backtrace_score=this.backtrace_score,t}},FF=class{constructor(e,t,r){this.chars=Array.from(e),this.len=this.chars.length,this.bos_token_id=t,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Bd(this.bos_token_id??0,0,0,0,0),s=new Bd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(s.clone()),this.begin_nodes[this.len].push(s),this.end_nodes[0].push(n)}insert(e,t,r,n){let s=this.nodes.length,a=new Bd(n,s,e,t,r);this.begin_nodes[e].push(a),this.end_nodes[e+t].push(a),this.nodes.push(a)}viterbi(){let e=this.len,t=0;for(;t<=e;){if(this.begin_nodes[t].length==0)return[];for(let o of this.begin_nodes[t]){o.prev=null;let i=0,l=null;for(let c of this.end_nodes[t]){let u=c.backtrace_score+o.score;(l===null||u>i)&&(l=c.clone(),i=u)}if(l!==null)o.prev=l,o.backtrace_score=i;else return[]}++t}let r=[],s=this.begin_nodes[e][0].prev;if(s===null)return[];let a=s.clone();for(;a.prev!==null;)r.push(a.clone()),a=a.clone().prev.clone();return r.reverse(),r}piece(e){return this.chars.slice(e.pos,e.pos+e.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},NF=FF;BF=class extends Ei{constructor(e,t){super(e);let r=e.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=e.vocab[n];this.unk_token_id=e.unk_id,this.unk_token=this.vocab[e.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,s)=>[n,s])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=DF(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new LF,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(e){let t=e.chars,r=1,n=0;for(;n<t.length;){let s=!1,a=[],o=t.slice(n).join(""),i=this.trie.common_prefix_search(o);for(let l of i){a.push(l);let c=this.tokens_to_ids.get(l),u=this.scores[c],p=SL(l);e.insert(n,p,u,c),!s&&p===r&&(s=!0)}s||e.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(e){let t=new NF(e,this.bos_token_id,this.eos_token_id);return this.populate_nodes(t),t.tokens()}encode(e){let t=[];for(let r of e){let n=this.tokenize(r);t.push(...n)}return t}},Sy=BF,UF=class{constructor(e=(r,n)=>r>n,t=1/0){this._heap=[],this._comparator=e,this._max_size=t}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...e){return this.extend(e)}extend(e){for(let t of e)if(this.size<this._max_size)this._heap.push(t),this._sift_up();else{let r=this._smallest();this._comparator(t,this._heap[r])&&(this._heap[r]=t,this._sift_up_from(r))}return this.size}pop(){let e=this.peek(),t=this.size-1;return t>0&&this._swap(0,t),this._heap.pop(),this._sift_down(),e}replace(e){let t=this.peek();return this._heap[0]=e,this._sift_down(),t}_parent(e){return(e+1>>>1)-1}_left(e){return(e<<1)+1}_right(e){return e+1<<1}_greater(e,t){return this._comparator(this._heap[e],this._heap[t])}_swap(e,t){let r=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(e){for(;e>0&&this._greater(e,this._parent(e));)this._swap(e,this._parent(e)),e=this._parent(e)}_sift_down(){let e=0;for(;this._left(e)<this.size&&this._greater(this._left(e),e)||this._right(e)<this.size&&this._greater(this._right(e),e);){let t=this._right(e)<this.size&&this._greater(this._right(e),this._left(e))?this._right(e):this._left(e);this._swap(e,t),e=t}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},zF=UF,$F=class{constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let t=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,t),t}put(e,t){this.cache.has(e)&&this.cache.delete(e),this.cache.set(e,t),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},VF=$F,GF=class extends Ei{constructor(e){super(e),this.tokens_to_ids=Kp(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let t=Array.isArray(e.merges[0]);this.merges=t?e.merges:e.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=e.end_of_word_suffix,this.continuing_subword_suffix=e.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new VF(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(e){if(e.length===0)return[];let t=this.cache.get(e);if(t!==void 0)return t;let r=Array.from(e);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let s=new zF((i,l)=>i.score<l.score),a={token:r[0],bias:0,prev:null,next:null},o=a;for(let i=1;i<r.length;++i){let l={bias:i/r.length,token:r[i],prev:o,next:null};o.next=l,this.add_node(s,o),o=l}for(;!s.is_empty();){let i=s.pop();if(i.deleted||!i.next||i.next.deleted)continue;if(i.deleted=!0,i.next.deleted=!0,i.prev){let c={...i.prev};i.prev.deleted=!0,i.prev=c,c.prev?c.prev.next=c:a=c}let l={token:i.token+i.next.token,bias:i.bias,prev:i.prev,next:i.next.next};l.prev?(l.prev.next=l,this.add_node(s,l.prev)):a=l,l.next&&(l.next.prev=l,this.add_node(s,l))}for(let i=a;i!==null;i=i.next)n.push(i.token)}else n=r;if(this.continuing_subword_suffix)for(let s=0;s<n.length-1;++s)n[s]+=this.continuing_subword_suffix;return e.length<this.max_length_to_cache&&this.cache.put(e,n),n}add_node(e,t){let r=this.bpe_ranks.get(JSON.stringify([t.token,t.next.token]));r!==void 0&&(t.score=r+t.bias,e.push(t))}encode(e){let t=[];for(let r of e){if(this.ignore_merges&&this.tokens_to_ids.has(r)){t.push(r);continue}let n=this.bpe(r);for(let s of n)if(this.tokens_to_ids.has(s))t.push(s);else if(this.byte_fallback){let a=Array.from(this.text_encoder.encode(s)).map(o=>`<0x${o.toString(16).toUpperCase().padStart(2,"0")}>`);a.every(o=>this.tokens_to_ids.has(o))?t.push(...a):this.unk_token!=null&&t.push(this.unk_token)}else this.unk_token!=null&&t.push(this.unk_token)}return t}},Iy=GF,jF=class extends Ei{constructor(e,t){super(e);let r=e.vocab;this.tokens_to_ids=Kp(t.target_lang?r[t.target_lang]:r),this.bos_token=t.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=t.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=t.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,s]of this.tokens_to_ids)this.vocab[s]=n}encode(e){return e}},WF=jF;HF=qF,KF=class extends ya{constructor(e){super(),this.config=e}_call(e,...t){return this.post_process(e,...t)}},va=KF,QF=class extends va{post_process(e,t=null,r=!0){let n=t===null?this.config.single:this.config.pair,s=[],a=[];for(let o of n)"SpecialToken"in o?r&&(s.push(o.SpecialToken.id),a.push(o.SpecialToken.type_id)):"Sequence"in o&&(o.Sequence.id==="A"?(s=Wt(s,e),a=Wt(a,new Array(e.length).fill(o.Sequence.type_id))):o.Sequence.id==="B"&&(s=Wt(s,t),a=Wt(a,new Array(t.length).fill(o.Sequence.type_id))));return{tokens:s,token_type_ids:a}}},JF=QF,XF=class extends va{post_process(e,t=null){return{tokens:e,tokens_pair:t}}},YF=XF,ZF=class extends va{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t=null,r=!0){r&&(e=Wt([this.cls[0]],e,[this.sep[0]]));let n=new Array(e.length).fill(0);if(t){let s=[],a=r?[this.sep[0]]:[];e=Wt(e,s,t,a),n=Wt(n,new Array(t.length+s.length+a.length).fill(1))}return{tokens:e,token_type_ids:n}}},eN=ZF,tN=class extends va{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t,r=!0){r&&(e=Wt([this.cls[0]],e,[this.sep[0]]));let n=new Array(e.length).fill(0);if(t){let s=r?[this.sep[0]]:[],a=r?[this.sep[0]]:[];e=Wt(e,s,t,a),n=Wt(n,new Array(t.length+s.length+a.length).fill(1))}return{tokens:e,token_type_ids:n}}},rN=tN,nN=class extends va{constructor(e){super(e),this.processors=(e.processors??[]).map(t=>Cv(t))}post_process(e,t=null,r=!0){let n={tokens:e,tokens_pair:t};for(let s of this.processors)n=s.post_process(n.tokens,n.tokens_pair,r);return n}},sN=nN;Cv=aN,oN=class extends ya{constructor(e){super(),this.config=e,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in e?e.trim_offsets:!1}_call(e){return this.decode(e)}decode(e){return this.decode_chain(e).join("")}},Kt=oN,iN=class extends Kt{constructor(e){super(e),this.byte_decoder=xL,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(e){let t=e.join(""),r=new Uint8Array([...t].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(e){let t=[],r=[];for(let n of e)this.added_tokens.find(s=>s.content===n)!==void 0?(r.length>0&&(t.push(this.convert_tokens_to_string(r)),r=[]),t.push(n)):r.push(n);return r.length>0&&t.push(this.convert_tokens_to_string(r)),t}},lN=iN,cN=class extends Kt{constructor(e){super(e),this.cleanup=e.cleanup}decode_chain(e){return e.map((t,r)=>{if(r!==0){let n=this.config.prefix;n&&t.startsWith(n)?t=t.replace(n,""):t=" "+t}return this.cleanup&&(t=Hp(t)),t})}},uN=cN,dN=class extends Kt{constructor(e){super(e),this.replacement=e.replacement??"\u2581"}decode_chain(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),t.push(n)}return t}},pN=dN,hN=class extends Kt{constructor(e){super(e),this.suffix=e.suffix??""}decode_chain(e){return e.map((t,r)=>t.replaceAll(this.suffix,r===e.length-1?"":" "))}},fN=hN,mN=class extends Kt{constructor(e){super(e),this.pad_token=e.pad_token??"",this.word_delimiter_token=e.word_delimiter_token??"",this.cleanup=e.cleanup}convert_tokens_to_string(e){if(e.length===0)return"";let t=[e[0]];for(let s=1;s<e.length;++s)e[s]!==t.at(-1)&&t.push(e[s]);let n=t.filter(s=>s!==this.pad_token).join("");return this.cleanup&&(n=Hp(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(e){return[this.convert_tokens_to_string(e)]}},_N=mN,gN=class extends Kt{constructor(e){super(e),this.decoders=(e.decoders??[]).map(t=>Av(t))}decode_chain(e){return this.decoders.reduce((t,r)=>r.decode_chain(t),e)}},wN=gN,yN=class extends Kt{decode_chain(e){let t=xi(this.config.pattern),r=this.config.content??"";return t===null?e:e.map(n=>n.replaceAll(t,r))}},vN=yN,bN=class extends Kt{decode_chain(e){return[e.join("")]}},MN=bN,xN=class extends Kt{constructor(e){super(e),this.content=e.content??"",this.start=e.start??0,this.stop=e.stop??0}decode_chain(e){return e.map(t=>{let r=0;for(let s=0;s<this.start&&t[s]===this.content;++s){r=s+1;continue}let n=t.length;for(let s=0;s<this.stop;++s){let a=t.length-s-1;if(t[a]===this.content){n=a;continue}else break}return t.slice(r,n)})}},TN=xN,EN=class extends Kt{constructor(e){super(e),this.text_decoder=new TextDecoder}decode_chain(e){let t=[],r=[];for(let n of e){let s=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let a=parseInt(n.slice(3,5),16);isNaN(a)||(s=a)}if(s!==null)r.push(s);else{if(r.length>0){let a=this.text_decoder.decode(Uint8Array.from(r));t.push(a),r=[]}t.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));t.push(n),r=[]}return t}},kN=EN;Av=CN,AN=class{constructor(e,t){let r=ky(e,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=ky(t,"Config");if(n)throw new Error(n);this.tokenizer=e,this.config=t,this.normalizer=xv(this.tokenizer.normalizer),this.pre_tokenizer=Tv(this.tokenizer.pre_tokenizer),this.model=HF(this.tokenizer.model,this.config),this.post_processor=Cv(this.tokenizer.post_processor),this.decoder=Av(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let s=[],a=[];this.added_tokens_map=new Map;for(let o of this.tokenizer.added_tokens){let i=new bL(o);if(this.added_tokens.push(i),this.model.tokens_to_ids.set(i.content,i.id),this.model.vocab[i.id]=i.content,i.special&&(this.special_tokens.push(i.content),this.all_special_ids.push(i.id)),this.added_tokens_map.set(i.content,i),i.normalized&&this.normalizer!==null){let l=this.normalizer(i.content);a.push(l),this.added_tokens_map.set(l,i)}else s.push(i.content)}(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.splitter_unnormalized=new Ty(s),this.splitter_normalized=new Ty(a),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:s,token_type_ids:a}=this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}),o=s.map(l=>this.added_tokens_map.get(l)?.id??this.model.tokens_to_ids.get(l)??this.model.unk_token_id),i={ids:o,tokens:s,attention_mask:new Array(o.length).fill(1)};return n&&a&&(i.token_type_ids=a),i}decode(e,t={}){if(!Array.isArray(e)||e.length===0||!AL(e[0]))throw Error("token_ids must be a non-empty array of integers.");let r=e.map(s=>this.model.vocab[Number(s)]??this.model.unk_token);t.skip_special_tokens&&(r=r.filter(s=>!this.special_tokens.includes(s)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),t.skip_special_tokens&&(n=n.trim())),(t.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Hp(n)),n}tokenize(e,{text_pair:t=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}).tokens}encode_text(e){if(e===null)return null;let t=this.splitter_unnormalized.split(e);return t.forEach((r,n)=>{let s=this.added_tokens_map.get(r);s&&(s.lstrip&&n>0&&(t[n-1]=t[n-1].trimEnd()),s.rstrip&&n<t.length-1&&(t[n+1]=t[n+1].trimStart()))}),t.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=IL(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let s=this.splitter_normalized.split(r);return s.forEach((a,o)=>{let i=this.added_tokens_map.get(a);i&&(i.lstrip&&o>0&&(s[o-1]=s[o-1].trimEnd()),i.rstrip&&o<s.length-1&&(s[o+1]=s[o+1].trimStart()))}),s.flatMap(a=>{if(a.length===0)return[];if(this.added_tokens_map.has(a))return[a];let o=this.pre_tokenizer!==null?this.pre_tokenizer(a,{section_index:n}):[a];return this.model(o)})})}tokenize_helper(e,{text_pair:t=null,add_special_tokens:r=!0}){let n=this.encode_text(e),s=this.encode_text(t||null);return this.post_processor?this.post_processor(n,s,r):{tokens:Wt(n??[],s??[])}}token_to_id(e){return this.model.tokens_to_ids.get(e)}id_to_token(e){return this.model.vocab[e]}get_added_tokens_decoder(){let e=new Map;for(let t of this.added_tokens)e.set(t.id,t);return e}get_vocab(e=!0){let t=new Map;for(let r=0;r<this.model.vocab.length;++r){let n=this.model.vocab[r];(e||!this.added_tokens_map.has(n))&&t.set(n,r)}return t}},SN=AN,B=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Comment:"Comment"}),Ot=class{constructor(e,t){this.value=e,this.type=t}};IN=[["{%",B.OpenStatement],["%}",B.CloseStatement],["{{",B.OpenExpression],["}}",B.CloseExpression],["(",B.OpenParen],[")",B.CloseParen],["{",B.OpenCurlyBracket],["}",B.CloseCurlyBracket],["[",B.OpenSquareBracket],["]",B.CloseSquareBracket],[",",B.Comma],[".",B.Dot],[":",B.Colon],["|",B.Pipe],["<=",B.ComparisonBinaryOperator],[">=",B.ComparisonBinaryOperator],["==",B.ComparisonBinaryOperator],["!=",B.ComparisonBinaryOperator],["<",B.ComparisonBinaryOperator],[">",B.ComparisonBinaryOperator],["+",B.AdditiveBinaryOperator],["-",B.AdditiveBinaryOperator],["~",B.AdditiveBinaryOperator],["*",B.MultiplicativeBinaryOperator],["/",B.MultiplicativeBinaryOperator],["%",B.MultiplicativeBinaryOperator],["=",B.Equals]],PN=new Map([["n",`
|
|
11
|
-
`],["t"," "],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);Qt=class{constructor(){w(this,"type","Statement")}},LN=class extends Qt{constructor(t){super();w(this,"type","Program");this.body=t}},FN=class extends Qt{constructor(t,r,n){super();w(this,"type","If");this.test=t,this.body=r,this.alternate=n}},NN=class extends Qt{constructor(t,r,n,s){super();w(this,"type","For");this.loopvar=t,this.iterable=r,this.body=n,this.defaultBlock=s}},DN=class extends Qt{constructor(){super(...arguments);w(this,"type","Break")}},BN=class extends Qt{constructor(){super(...arguments);w(this,"type","Continue")}},UN=class extends Qt{constructor(t,r,n){super();w(this,"type","Set");this.assignee=t,this.value=r,this.body=n}},zN=class extends Qt{constructor(t,r,n){super();w(this,"type","Macro");this.name=t,this.args=r,this.body=n}},$N=class extends Qt{constructor(t){super();w(this,"type","Comment");this.value=t}},St=class extends Qt{constructor(){super(...arguments);w(this,"type","Expression")}},VN=class extends St{constructor(t,r,n){super();w(this,"type","MemberExpression");this.object=t,this.property=r,this.computed=n}},Oy=class extends St{constructor(t,r){super();w(this,"type","CallExpression");this.callee=t,this.args=r}},Qn=class extends St{constructor(t){super();w(this,"type","Identifier");this.value=t}},us=class extends St{constructor(t){super();w(this,"type","Literal");this.value=t}},GN=class extends us{constructor(){super(...arguments);w(this,"type","IntegerLiteral")}},jN=class extends us{constructor(){super(...arguments);w(this,"type","FloatLiteral")}},Ly=class extends us{constructor(){super(...arguments);w(this,"type","StringLiteral")}},WN=class extends us{constructor(){super(...arguments);w(this,"type","ArrayLiteral")}},Fy=class extends us{constructor(){super(...arguments);w(this,"type","TupleLiteral")}},qN=class extends us{constructor(){super(...arguments);w(this,"type","ObjectLiteral")}},Xs=class extends St{constructor(t,r,n){super();w(this,"type","BinaryExpression");this.operator=t,this.left=r,this.right=n}},HN=class extends St{constructor(t,r){super();w(this,"type","FilterExpression");this.operand=t,this.filter=r}},KN=class extends Qt{constructor(t,r){super();w(this,"type","FilterStatement");this.filter=t,this.body=r}},QN=class extends St{constructor(t,r){super();w(this,"type","SelectExpression");this.lhs=t,this.test=r}},JN=class extends St{constructor(t,r,n){super();w(this,"type","TestExpression");this.operand=t,this.negate=r,this.test=n}},XN=class extends St{constructor(t,r){super();w(this,"type","UnaryExpression");this.operator=t,this.argument=r}},YN=class extends St{constructor(t=void 0,r=void 0,n=void 0){super();w(this,"type","SliceExpression");this.start=t,this.stop=r,this.step=n}},ZN=class extends St{constructor(t,r){super();w(this,"type","KeywordArgumentExpression");this.key=t,this.value=r}},eD=class extends St{constructor(t){super();w(this,"type","SpreadExpression");this.argument=t}},tD=class extends Qt{constructor(t,r,n){super();w(this,"type","CallStatement");this.call=t,this.callerArgs=r,this.body=n}},rD=class extends St{constructor(t,r,n){super();w(this,"type","Ternary");this.condition=t,this.trueExpr=r,this.falseExpr=n}};Dy=class extends Error{},By=class extends Error{},ir=class{constructor(e=void 0){w(this,"type","RuntimeValue");w(this,"value");w(this,"builtins",new Map);this.value=e}__bool__(){return new ae(!!this.value)}toString(){return String(this.value)}},de=class extends ir{constructor(){super(...arguments);w(this,"type","IntegerValue")}},ze=class extends ir{constructor(){super(...arguments);w(this,"type","FloatValue")}toString(){return this.value%1===0?this.value.toFixed(1):this.value.toString()}},Z=class extends ir{constructor(){super(...arguments);w(this,"type","StringValue");w(this,"builtins",new Map([["upper",new Le(()=>new Z(this.value.toUpperCase()))],["lower",new Le(()=>new Z(this.value.toLowerCase()))],["strip",new Le(()=>new Z(this.value.trim()))],["title",new Le(()=>new Z(aD(this.value)))],["capitalize",new Le(()=>new Z(this.value.charAt(0).toUpperCase()+this.value.slice(1)))],["length",new de(this.value.length)],["rstrip",new Le(()=>new Z(this.value.trimEnd()))],["lstrip",new Le(()=>new Z(this.value.trimStart()))],["startswith",new Le(t=>{if(t.length===0)throw new Error("startswith() requires at least one argument");let r=t[0];if(r instanceof Z)return new ae(this.value.startsWith(r.value));if(r instanceof _e){for(let n of r.value){if(!(n instanceof Z))throw new Error("startswith() tuple elements must be strings");if(this.value.startsWith(n.value))return new ae(!0)}return new ae(!1)}throw new Error("startswith() argument must be a string or tuple of strings")})],["endswith",new Le(t=>{if(t.length===0)throw new Error("endswith() requires at least one argument");let r=t[0];if(r instanceof Z)return new ae(this.value.endsWith(r.value));if(r instanceof _e){for(let n of r.value){if(!(n instanceof Z))throw new Error("endswith() tuple elements must be strings");if(this.value.endsWith(n.value))return new ae(!0)}return new ae(!1)}throw new Error("endswith() argument must be a string or tuple of strings")})],["split",new Le(t=>{let r=t[0]??new Be;if(!(r instanceof Z||r instanceof Be))throw new Error("sep argument must be a string or null");let n=t[1]??new de(-1);if(!(n instanceof de))throw new Error("maxsplit argument must be a number");let s=[];if(r instanceof Be){let a=this.value.trimStart();for(let{0:o,index:i}of a.matchAll(/\S+/g)){if(n.value!==-1&&s.length>=n.value&&i!==void 0){s.push(o+a.slice(i+o.length));break}s.push(o)}}else{if(r.value==="")throw new Error("empty separator");s=this.value.split(r.value),n.value!==-1&&s.length>n.value&&s.push(s.splice(n.value).join(r.value))}return new _e(s.map(a=>new Z(a)))})],["replace",new Le(t=>{if(t.length<2)throw new Error("replace() requires at least two arguments");let r=t[0],n=t[1];if(!(r instanceof Z&&n instanceof Z))throw new Error("replace() arguments must be strings");let s;if(t.length>2?t[2].type==="KeywordArgumentsValue"?s=t[2].value.get("count")??new Be:s=t[2]:s=new Be,!(s instanceof de||s instanceof Be))throw new Error("replace() count argument must be a number or null");return new Z(cD(this.value,r.value,n.value,s.value))})]]))}},ae=class extends ir{constructor(){super(...arguments);w(this,"type","BooleanValue")}},uD=/[\x7f-\uffff]/g;tt=class extends ir{constructor(){super(...arguments);w(this,"type","ObjectValue");w(this,"builtins",new Map([["get",new Le(([t,r])=>{if(!(t instanceof Z))throw new Error(`Object key must be a string: got ${t.type}`);return this.value.get(t.value)??r??new Be})],["items",new Le(()=>this.items())],["keys",new Le(()=>this.keys())],["values",new Le(()=>this.values())],["dictsort",new Le(t=>{let r=new Map,n=t.filter(l=>l instanceof ua?(r=l.value,!1):!0),s=n.at(0)??r.get("case_sensitive")??new ae(!1);if(!(s instanceof ae))throw new Error("case_sensitive must be a boolean");let a=n.at(1)??r.get("by")??new Z("key");if(!(a instanceof Z))throw new Error("by must be a string");if(!["key","value"].includes(a.value))throw new Error("by must be either 'key' or 'value'");let o=n.at(2)??r.get("reverse")??new ae(!1);if(!(o instanceof ae))throw new Error("reverse must be a boolean");let i=Array.from(this.value.entries()).map(([l,c])=>new _e([new Z(l),c])).sort((l,c)=>{let u=a.value==="key"?0:1,p=l.value[u],f=c.value[u],m=Ap(p,f,s.value);return o.value?-m:m});return new _e(i)})]]))}__bool__(){return new ae(this.value.size>0)}items(){return new _e(Array.from(this.value.entries()).map(([t,r])=>new _e([new Z(t),r])))}keys(){return new _e(Array.from(this.value.keys()).map(t=>new Z(t)))}values(){return new _e(Array.from(this.value.values()))}toString(){return un(this,{},0,!1)}},ua=class extends tt{constructor(){super(...arguments);w(this,"type","KeywordArgumentsValue")}},_e=class extends ir{constructor(){super(...arguments);w(this,"type","ArrayValue");w(this,"builtins",new Map([["length",new de(this.value.length)]]))}__bool__(){return new ae(this.value.length>0)}toString(){return un(this,{},0,!1)}},zy=class extends _e{constructor(){super(...arguments);w(this,"type","TupleValue")}},Le=class extends ir{constructor(){super(...arguments);w(this,"type","FunctionValue")}},Be=class extends ir{constructor(){super(...arguments);w(this,"type","NullValue")}},Oe=class extends ir{constructor(){super(...arguments);w(this,"type","UndefinedValue")}},on=class{constructor(e){w(this,"variables",new Map([["namespace",new Le(e=>{if(e.length===0)return new tt(new Map);if(e.length!==1||!(e[0]instanceof tt))throw new Error("`namespace` expects either zero arguments or a single object argument");return e[0]})]]));w(this,"tests",new Map([["boolean",e=>e.type==="BooleanValue"],["callable",e=>e instanceof Le],["odd",e=>{if(!(e instanceof de))throw new Error(`cannot odd on ${e.type}`);return e.value%2!==0}],["even",e=>{if(!(e instanceof de))throw new Error(`cannot even on ${e.type}`);return e.value%2===0}],["false",e=>e.type==="BooleanValue"&&!e.value],["true",e=>e.type==="BooleanValue"&&e.value],["none",e=>e.type==="NullValue"],["string",e=>e.type==="StringValue"],["number",e=>e instanceof de||e instanceof ze],["integer",e=>e instanceof de],["iterable",e=>e.type==="ArrayValue"||e.type==="StringValue"],["mapping",e=>e instanceof tt],["sequence",e=>e instanceof _e||e instanceof tt||e instanceof Z],["lower",e=>{let t=e.value;return e.type==="StringValue"&&t===t.toLowerCase()}],["upper",e=>{let t=e.value;return e.type==="StringValue"&&t===t.toUpperCase()}],["none",e=>e.type==="NullValue"],["defined",e=>e.type!=="UndefinedValue"],["undefined",e=>e.type==="UndefinedValue"],["equalto",(e,t)=>e.value===t.value],["eq",(e,t)=>e.value===t.value]]));this.parent=e}set(e,t){return this.declareVariable(e,ai(t))}declareVariable(e,t){if(this.variables.has(e))throw new SyntaxError(`Variable already declared: ${e}`);return this.variables.set(e,t),t}setVariable(e,t){return this.variables.set(e,t),t}resolve(e){if(this.variables.has(e))return this;if(this.parent)return this.parent.resolve(e);throw new Error(`Unknown variable: ${e}`)}lookupVariable(e){try{return this.resolve(e).variables.get(e)??new Oe}catch{return new Oe}}};pD=class{constructor(e){w(this,"global");this.global=e??new on}run(e){return this.evaluate(e,this.global)}evaluateBinaryExpression(e,t){let r=this.evaluate(e.left,t);switch(e.operator.value){case"and":return r.__bool__().value?this.evaluate(e.right,t):r;case"or":return r.__bool__().value?r:this.evaluate(e.right,t)}let n=this.evaluate(e.right,t);switch(e.operator.value){case"==":return new ae(r.value==n.value);case"!=":return new ae(r.value!=n.value)}if(r instanceof Oe||n instanceof Oe){if(n instanceof Oe&&["in","not in"].includes(e.operator.value))return new ae(e.operator.value==="not in");throw new Error(`Cannot perform operation ${e.operator.value} on undefined values`)}else{if(r instanceof Be||n instanceof Be)throw new Error("Cannot perform operation on null values");if(e.operator.value==="~")return new Z(r.value.toString()+n.value.toString());if((r instanceof de||r instanceof ze)&&(n instanceof de||n instanceof ze)){let s=r.value,a=n.value;switch(e.operator.value){case"+":case"-":case"*":{let o=e.operator.value==="+"?s+a:e.operator.value==="-"?s-a:s*a;return r instanceof ze||n instanceof ze?new ze(o):new de(o)}case"/":return new ze(s/a);case"%":{let o=s%a;return r instanceof ze||n instanceof ze?new ze(o):new de(o)}case"<":return new ae(s<a);case">":return new ae(s>a);case">=":return new ae(s>=a);case"<=":return new ae(s<=a)}}else if(r instanceof _e&&n instanceof _e)switch(e.operator.value){case"+":return new _e(r.value.concat(n.value))}else if(n instanceof _e){let s=n.value.find(a=>a.value===r.value)!==void 0;switch(e.operator.value){case"in":return new ae(s);case"not in":return new ae(!s)}}}if(r instanceof Z||n instanceof Z)switch(e.operator.value){case"+":return new Z(r.value.toString()+n.value.toString())}if(r instanceof Z&&n instanceof Z)switch(e.operator.value){case"in":return new ae(n.value.includes(r.value));case"not in":return new ae(!n.value.includes(r.value))}if(r instanceof Z&&n instanceof tt)switch(e.operator.value){case"in":return new ae(n.value.has(r.value));case"not in":return new ae(!n.value.has(r.value))}throw new SyntaxError(`Unknown operator "${e.operator.value}" between ${r.type} and ${n.type}`)}evaluateArguments(e,t){let r=[],n=new Map;for(let s of e)if(s.type==="SpreadExpression"){let a=s,o=this.evaluate(a.argument,t);if(!(o instanceof _e))throw new Error(`Cannot unpack non-iterable type: ${o.type}`);for(let i of o.value)r.push(i)}else if(s.type==="KeywordArgumentExpression"){let a=s;n.set(a.key.value,this.evaluate(a.value,t))}else{if(n.size>0)throw new Error("Positional arguments must come before keyword arguments");r.push(this.evaluate(s,t))}return[r,n]}applyFilter(e,t,r){if(t.type==="Identifier"){let n=t;if(n.value==="safe")return e;if(n.value==="tojson")return new Z(un(e,{}));if(e instanceof _e)switch(n.value){case"list":return e;case"first":return e.value[0];case"last":return e.value[e.value.length-1];case"length":return new de(e.value.length);case"reverse":return new _e(e.value.slice().reverse());case"sort":return new _e(e.value.slice().sort((s,a)=>Ap(s,a,!1)));case"join":return new Z(e.value.map(s=>s.value).join(""));case"string":return new Z(un(e,{},0,!1));case"unique":{let s=new Set,a=[];for(let o of e.value)s.has(o.value)||(s.add(o.value),a.push(o));return new _e(a)}default:throw new Error(`Unknown ArrayValue filter: ${n.value}`)}else if(e instanceof Z)switch(n.value){case"length":case"upper":case"lower":case"title":case"capitalize":{let s=e.builtins.get(n.value);if(s instanceof Le)return s.value([],r);if(s instanceof de)return s;throw new Error(`Unknown StringValue filter: ${n.value}`)}case"trim":return new Z(e.value.trim());case"indent":return new Z(e.value.split(`
|
|
8
|
+
${n}${a}`+s.repeat(e)+`${n}`,o}function HB(e,t,r,n){return`${t}${n}`+r.repeat(e)+`${t}`}function KB(e,t,r,n,s,a){return e===0&&t===0?HB(r,n,s,a):WB(r,e,t,n,s,a)}function QB(e,t,r,n,s){return`${n.repeat(r*s)}${t}${e}
|
|
9
|
+
`}function ZB(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.subarray(n,Math.min(n+t,e.length)));return r}async function rU(e,t){return await yr(e,"config.json",!0,t)}function Zn(e){let t={},r={};switch(e.model_type){case"llava":case"paligemma":case"gemma3":case"florence2":case"llava_onevision":case"idefics3":case"granite_speech":case"ultravox":case"voxtral":case"voxtral_realtime":case"smolvlm":case"gemma3n":case"lfm2_vl":case"chatterbox":case"lighton_ocr":case"glm_ocr":case"mistral3":case"qwen2_5_vl":case"qwen3_vl":case"qwen3_vl_moe":r=Zn(e.text_config);break;case"moondream1":r=Zn(e.phi_config);break;case"musicgen":r=Zn(e.decoder);break;case"multi_modality":r=Zn(e.language_config);break;case"gpt2":case"gptj":case"jais":case"codegen":case"gpt_bigcode":t.num_heads="n_head",t.num_layers="n_layer",t.hidden_size="n_embd";break;case"gpt_neox":case"stablelm":case"opt":case"falcon":case"modernbert-decoder":t.num_heads="num_attention_heads",t.num_layers="num_hidden_layers",t.hidden_size="hidden_size";break;case"gpt_oss":case"llama":case"llama4_text":case"nanochat":case"apertus":case"arcee":case"afmoe":case"lfm2":case"lfm2_moe":case"smollm3":case"olmo":case"olmo2":case"olmo3":case"mobilellm":case"granite":case"granitemoehybrid":case"cohere":case"cohere2":case"mistral":case"voxtral_realtime_text":case"voxtral_realtime_encoder":case"starcoder2":case"qwen2":case"qwen2_moe":case"qwen2_vl":case"qwen2_vl_text":case"qwen2_5_vl_text":case"qwen3_moe":case"qwen3_vl_text":case"qwen3_vl_moe_text":case"phi":case"phi3":case"phi3_v":case"llava_qwen2":t.num_heads="num_key_value_heads",t.num_layers="num_hidden_layers",t.hidden_size="hidden_size",t.num_attention_heads="num_attention_heads",t.dim_kv="head_dim";break;case"qwen3":case"solar_open":case"glm_ocr_text":case"gemma":case"gemma2":case"vaultgemma":case"gemma3_text":case"gemma3n_text":case"glm":case"helium":case"ernie4_5":case"hunyuan_v1_dense":case"falcon_h1":case"nemotron_h":case"ministral":case"ministral3":t.num_heads="num_key_value_heads",t.num_layers="num_hidden_layers",t.dim_kv="head_dim";break;case"openelm":t.num_heads="num_kv_heads",t.num_layers="num_transformer_layers",t.dim_kv="head_dim";break;case"gpt_neo":case"donut-swin":t.num_heads="num_heads",t.num_layers="num_layers",t.hidden_size="hidden_size";break;case"bloom":t.num_heads="n_head",t.num_layers="n_layer",t.hidden_size="hidden_size";break;case"mpt":t.num_heads="n_heads",t.num_layers="n_layers",t.hidden_size="d_model";break;case"exaone":t.num_heads="num_key_value_heads",t.num_layers="num_layers",t.dim_kv="head_dim",t.num_attention_heads="num_attention_heads";break;case"youtu":case"deepseek_v3":case"glm_moe_dsa":case"mistral4":t.num_heads="num_key_value_heads",t.num_layers="num_hidden_layers",t.dim_kv="qk_head_dim",t.num_attention_heads="num_attention_heads";break;case"t5":case"mt5":case"longt5":t.num_decoder_layers="num_decoder_layers",t.num_decoder_heads="num_heads",t.decoder_dim_kv="d_kv",t.num_encoder_layers="num_layers",t.num_encoder_heads="num_heads",t.encoder_dim_kv="d_kv";break;case"bart":case"mbart":case"marian":case"whisper":case"lite-whisper":case"m2m_100":case"blenderbot":case"blenderbot-small":case"florence2_language":t.num_decoder_layers="decoder_layers",t.num_decoder_heads="decoder_attention_heads",t.decoder_hidden_size="d_model",t.num_encoder_layers="encoder_layers",t.num_encoder_heads="encoder_attention_heads",t.encoder_hidden_size="d_model";break;case"speecht5":t.num_decoder_layers="decoder_layers",t.num_decoder_heads="decoder_attention_heads",t.decoder_hidden_size="hidden_size",t.num_encoder_layers="encoder_layers",t.num_encoder_heads="encoder_attention_heads",t.encoder_hidden_size="hidden_size";break;case"trocr":t.num_encoder_layers=t.num_decoder_layers="decoder_layers",t.num_encoder_heads=t.num_decoder_heads="decoder_attention_heads",t.encoder_hidden_size=t.decoder_hidden_size="d_model";break;case"musicgen_decoder":t.num_encoder_layers=t.num_decoder_layers="num_hidden_layers",t.num_encoder_heads=t.num_decoder_heads="num_attention_heads",t.encoder_hidden_size=t.decoder_hidden_size="hidden_size";break;case"moonshine":t.num_decoder_layers="decoder_num_hidden_layers",t.num_decoder_heads="decoder_num_key_value_heads",t.num_encoder_layers="encoder_num_hidden_layers",t.num_encoder_heads="encoder_num_key_value_heads",t.encoder_hidden_size=t.decoder_hidden_size="hidden_size";break;case"vision-encoder-decoder":let s=Zn(e.decoder),a="num_decoder_layers"in s,o=ot(e,["model_type","is_encoder_decoder"]);return a?(o.num_decoder_layers=s.num_decoder_layers,o.num_decoder_heads=s.num_decoder_heads,o.decoder_hidden_size=s.decoder_hidden_size,o.num_encoder_layers=s.num_encoder_layers,o.num_encoder_heads=s.num_encoder_heads,o.encoder_hidden_size=s.encoder_hidden_size):(o.num_layers=s.num_layers,o.num_heads=s.num_heads,o.hidden_size=s.hidden_size),o}let n={...r,...ot(e,["model_type","multi_query","is_encoder_decoder"])};for(let s in t)n[s]=e[t[s]];return n}function Oi(e,t){e instanceof wi||(e=new wi(e));let r=t?.batch_size??1;if(["lfm2","lfm2_moe"].includes(e.model_type)){let n=t?.prefix??"past_key_values",s=n==="present"?"present":"past",a={},{layer_types:o,num_attention_heads:i,num_key_value_heads:l,hidden_size:c,conv_L_cache:u}=e,p=c/i;for(let f=0;f<o.length;++f)if(o[f]==="full_attention")for(let m of["key","value"])a[`${n}.${f}.${m}`]=[r,l,0,p];else if(o[f]==="conv")a[`${s}_conv.${f}`]=[r,c,u];else throw new Error(`Unsupported layer type: ${o[f]}`);return a}else if(["granitemoehybrid","falcon_h1","nemotron_h"].includes(e.model_type)){let n=t?.prefix??"past_key_values",s=n==="present"?"present":"past",a=e,o=a.layer_types??a.layers_block_type,i=a.num_hidden_layers??o?.length,l=a.num_key_value_heads,c=a.head_dim??a.hidden_size/a.num_attention_heads,u=a.mamba_n_heads??a.mamba_num_heads,p=a.mamba_d_head??a.mamba_head_dim,f=a.mamba_d_state??a.ssm_state_size,m=a.mamba_n_groups??a.n_groups,y=a.mamba_d_conv??a.conv_kernel,x=(a.mamba_d_ssm??(a.mamba_expand?a.mamba_expand*a.hidden_size:u*p))+2*m*f,M={};for(let T=0;T<i;++T)if((!o||o[T]==="mamba")&&(M[`${s}_conv.${T}`]=[r,x,y],M[`${s}_ssm.${T}`]=[r,u,p,f]),!o||o[T]==="attention")for(let A of["key","value"])M[`${n}.${T}.${A}`]=[r,l,0,c];return M}else if(["qwen3_next","qwen3_5_text","qwen3_5_moe_text","olmo_hybrid"].includes(e.model_type)){let n=t?.prefix??"past_key_values",s=n==="present"?"present":"past",a={},{head_dim:o,layer_types:i,num_attention_heads:l,num_key_value_heads:c,hidden_size:u,linear_num_value_heads:p,linear_num_key_heads:f,linear_key_head_dim:m,linear_value_head_dim:y,linear_conv_kernel_dim:v}=e,x=m*f,M=y*p,T=o??u/l;for(let A=0;A<i.length;++A)if(i[A]==="full_attention")for(let C of["key","value"])a[`${n}.${A}.${C}`]=[r,c,0,T];else if(i[A]==="linear_attention"){if(e.model_type==="olmo_hybrid")a[`${s}_conv.${A}.key`]=[r,x,v],a[`${s}_conv.${A}.value`]=[r,M,v],a[`${s}_conv.${A}.query`]=[r,x,v];else{let C=x*2+M;a[`${s}_conv.${A}`]=[r,C,v]}a[`${s}_recurrent.${A}`]=[r,p,m,y]}else throw new Error(`Unsupported layer type: ${i[A]}`);return a}else if(["lfm2_vl","qwen3_5","qwen3_5_moe","voxtral_realtime"].includes(e.model_type)){let n;return e.model_type==="voxtral_realtime"&&t?.session_name==="audio_encoder"?n=e.audio_config:n=e.text_config,Oi(n,t)}return nU(e,t)}function nU(e,{prefix:t="past_key_values",batch_size:r=1}={}){let n={},s=e.normalized_config;if(s.is_encoder_decoder&&"num_encoder_heads"in s&&"num_decoder_heads"in s){let a=s.encoder_dim_kv??s.encoder_hidden_size/s.num_encoder_heads,o=s.decoder_dim_kv??s.decoder_hidden_size/s.num_decoder_heads,i=[r,s.num_encoder_heads,0,a],l=[r,s.num_decoder_heads,0,o];for(let c=0;c<s.num_decoder_layers;++c)n[`${t}.${c}.encoder.key`]=i,n[`${t}.${c}.encoder.value`]=i,n[`${t}.${c}.decoder.key`]=l,n[`${t}.${c}.decoder.value`]=l}else{let a=s.num_heads,o=s.num_layers,i=s.dim_kv??s.hidden_size/(s.num_attention_heads??a);if(s.model_type==="falcon"){let l=[r*a,0,i];for(let c=0;c<o;++c)n[`${t}.${c}.key`]=l,n[`${t}.${c}.value`]=l}else if(s.multi_query){let l=[r*a,0,2*i];for(let c=0;c<o;++c)n[`${t}.${c}.key_value`]=l}else if(s.model_type==="bloom"){let l=[r*a,i,0],c=[r*a,0,i];for(let u=0;u<o;++u)n[`${t}.${u}.key`]=l,n[`${t}.${u}.value`]=c}else if(s.model_type==="openelm")for(let l=0;l<o;++l){let c=[r,a[l],0,i];n[`${t}.${l}.key`]=c,n[`${t}.${l}.value`]=c}else{let l=[r,a,0,i];for(let c=0;c<o;++c)n[`${t}.${c}.key`]=l,n[`${t}.${c}.value`]=l}}return n}function Px(e,t,r){return e?typeof e=="object"&&e!==null?e.hasOwnProperty(t)?+e[t]:e.hasOwnProperty(r)?+e[r]:0:+e:0}function Rx(e,t){let r=[];for(let n=0;n<t;++n)r.push(`${e}_data${n===0?"":"_"+n}`);return r}async function sU(e,t,r,n){let s=`${t}${n}.onnx`,a=`${r.subfolder??""}/${s}`;return await mi(e,a,!0,r,pe.IS_NODE_ENV)}async function aU(e,t,r,n,s,a={}){let o=`${t}${r}.onnx`,i=pe.IS_NODE_ENV,l=[],c=Px(s,o,t);if(c>0){if(c>Gy)throw new Error(`The number of external data chunks (${c}) exceeds the maximum allowed value (${Gy}).`);let u=Rx(o,c);for(let p of u){let f=`${n.subfolder??""}/${p}`;l.push(new Promise(async(m,y)=>{let v=await mi(e,f,!0,n,i);m(v instanceof Uint8Array?{path:p,data:v}:p)}))}}else a.externalData!==void 0&&(l=a.externalData.map(async u=>{if(typeof u.data=="string"){let p=await mi(e,u.data,!0,n);return{...u,data:p}}return u}));return Promise.all(l)}async function oU(e,t,r,n=!1,s=void 0){let a=r.config?.["transformers.js_config"]??{},o=Hv(r.device??a.device,t,{warn:C=>ce.info(C)}),i=rB(o),l=a.device_config??{};l.hasOwnProperty(o)&&(a={...a,...l[o]});let c=Kv(r.dtype??a.dtype,t,o,{configDtype:a.dtype,warn:C=>ce.info(C)});if(Pp.hasOwnProperty(c)){if(o==="webgpu"&&!pe.IS_NODE_ENV&&c===ft.fp16&&!await aB())throw new Error(`The device (${o}) does not support fp16.`)}else throw new Error(`Invalid dtype: ${c}. Should be one of: ${Object.keys(ft).join(", ")}`);let u=a.kv_cache_dtype,p=u?typeof u=="string"?u:u[c]??"float32":void 0;if(p&&!["float32","float16"].includes(p))throw new Error(`Invalid kv_cache_dtype: ${p}. Should be one of: float32, float16`);let f=Pp[c],m={...r.session_options};m.executionProviders??(m.executionProviders=i);let y=a.free_dimension_overrides;y?m.freeDimensionOverrides??(m.freeDimensionOverrides=y):o.startsWith("webnn")&&!m.freeDimensionOverrides&&ce.warn(`WebNN does not currently support dynamic shapes and requires 'free_dimension_overrides' to be set in config.json, preferably as a field within config["transformers.js_config"]["device_config"]["${o}"]. When 'free_dimension_overrides' is not set, you may experience significant performance degradation.`);let v=sU(e,t,r,f),x=r.use_external_data_format??a.use_external_data_format,M=await aU(e,t,f,r,x,m);if(M.length>0&&!pe.IS_NODE_ENV&&(m.externalData=M),n&&o==="webgpu"&&u!==!1){let C=Oi(r.config,{prefix:"present",session_name:s});if(Object.keys(C).length>0&&!Jp()){let S={};for(let O in C)S[O]="gpu-buffer";m.preferredOutputLocation=S}}return{buffer_or_path:await v,session_options:m,session_config:{dtype:c,kv_cache_dtype:p,device:o}}}async function iU(e,t,r,n=void 0){return Object.fromEntries(await Promise.all(Object.keys(t).map(async s=>{let a=n?.[s]??!1,{buffer_or_path:o,session_options:i,session_config:l}=await oU(e,t[s],r,a,s),c=await jv(o,i,l);return[s,c]})))}function Ox(e){for(let t in e)Wv(e[t])?e[t]=new q(e[t]):typeof e[t]=="object"&&Ox(e[t]);return e}async function be(e,t){let r=lU(e,t);try{let n=Object.fromEntries(Object.entries(r).map(([a,o])=>{let i=o.ort_tensor;return pe.IS_NODE_ENV&&typeof Float16Array<"u"&&i.cpuData instanceof Float16Array&&(i.cpuData=new Uint16Array(i.cpuData.buffer)),[a,i]})),s=await qv(e,n);return Ox(s)}catch(n){let s=Object.fromEntries(Object.entries(r).map(([a,o])=>{let i={type:o.type,dims:o.dims,location:o.location};return i.location!=="gpu-buffer"&&(i.data=o.data),[a,i]}));throw ce.error(`An error occurred during model execution: "${n}".`),ce.error("Inputs given to model:",s),n}}function lU(e,t){let r=Object.create(null),n=[];for(let o of e.inputNames){let i=t[o];if(!(i instanceof q)){n.push(o);continue}r[o]=Jp()?i.clone():i}if(n.length>0)throw new Error(`An error occurred during model execution: "Missing the following inputs: ${n.join(", ")}.`);let s=Object.keys(t).length,a=e.inputNames.length;if(s>a){let o=Object.keys(t).filter(i=>!e.inputNames.includes(i));ce.warn(`WARNING: Too many inputs were provided (${s} > ${a}). The following inputs will be ignored: "${o.join(", ")}".`)}return r}function gU(e){es=e}function Dp(e){if(e instanceof q)return e;if(e.length===0)throw Error("items must be non-empty");if(Array.isArray(e[0])){if(e.some(t=>t.length!==e[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new q("int64",BigInt64Array.from(e.flat().map(t=>BigInt(t))),[e.length,e[0].length])}else return new q("int64",BigInt64Array.from(e.map(t=>BigInt(t))),[1,e.length])}function Kx(e){return new q("bool",[e],[1])}function wU(e,t,r={}){let n=ts[e]??ts.default;return{sessions:n.sessions(t,r),cache_sessions:n.cache_sessions,optional_configs:n.optional_configs}}async function Go(e,t){let{encoder_outputs:r,input_ids:n,decoder_input_ids:s,...a}=t;if(!r){let o=ot(t,e.sessions.model.inputNames);r=(await Lr(e,o)).last_hidden_state}return a.input_ids=s,a.encoder_hidden_states=r,e.sessions.decoder_model_merged.inputNames.includes("encoder_attention_mask")&&(a.encoder_attention_mask=t.attention_mask),await _r(e,a,!0)}async function Lr(e,t){let r=e.sessions.model,n=ot(t,r.inputNames);if(r.inputNames.includes("inputs_embeds")&&!n.inputs_embeds){if(!t.input_ids)throw new Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");n.inputs_embeds=await e.encode_text({input_ids:t.input_ids})}if(r.inputNames.includes("token_type_ids")&&!n.token_type_ids){if(!n.input_ids)throw new Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");n.token_type_ids=nh(n.input_ids)}if(r.inputNames.includes("pixel_mask")&&!n.pixel_mask){if(!n.pixel_values)throw new Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");let s=n.pixel_values.dims;n.pixel_mask=xt([s[0],s[2],s[3]])}return await be(r,n)}async function yU(e,t){let r=await e.encode(t);return await e.decode(r)}async function _r(e,t,r=!1){let n=e.sessions[r?"decoder_model_merged":"model"],{past_key_values:s,...a}=t;if(n.inputNames.includes("use_cache_branch")&&(a.use_cache_branch=Kx(!!s)),n.inputNames.includes("position_ids")&&a.attention_mask&&!a.position_ids){let i=["paligemma","gemma3_text","gemma3"].includes(e.config.model_type)?1:0;a.position_ids=bU(a,s,i)}n.inputNames.includes("num_logits_to_keep")&&!a.num_logits_to_keep&&(a.num_logits_to_keep=new q("int64",[0n],[])),e.addPastKeyValues(a,s);let o=ot(a,n.inputNames);return await be(n,o)}async function Qx(e,{encode_function:t,merge_function:r,modality_input_names:n,modality_output_name:s,input_ids:a=null,attention_mask:o=null,position_ids:i=null,inputs_embeds:l=null,past_key_values:c=null,generation_config:u=null,logits_processor:p=null,...f}){if(!l){l=await e.encode_text({input_ids:a,...f});let y=ot(f,n);if(Object.keys(y).length>0){if(a.dims[1]!==1){let v=await t({...y,...f});({inputs_embeds:l,attention_mask:o}=r({[s]:v,inputs_embeds:l,input_ids:a,attention_mask:o}))}else if(c&&a.dims[1]===1){let v=a.dims[1],x=c.get_seq_length();o=Fe([xt([a.dims[0],x]),o.slice(null,[o.dims[1]-v,o.dims[1]])],1)}}}if(!i&&["qwen2_vl","qwen2_vl_text","qwen2_5_vl","qwen2_5_vl_text","qwen3_vl","qwen3_vl_text","qwen3_vl_moe","qwen3_vl_moe_text","qwen3_5","qwen3_5_text","qwen3_5_moe","qwen3_5_moe_text","glm_ocr","glm_ocr_text"].includes(e.config.model_type)){let{image_grid_thw:y,video_grid_thw:v}=f;[i]=e.get_rope_index(a,y,v,o)}return await _r(e,{inputs_embeds:l,past_key_values:c,attention_mask:o,position_ids:i,generation_config:u,logits_processor:p},!0)}async function vU(e,t){return await Qx(e,{...t,modality_input_names:["audio_values","input_features"],modality_output_name:"audio_features",encode_function:e.encode_audio.bind(e),merge_function:e._merge_input_ids_with_audio_features.bind(e)})}async function dv(e,t){return await Qx(e,{...t,modality_input_names:["pixel_values"],modality_output_name:"image_features",encode_function:e.encode_image.bind(e),merge_function:e._merge_input_ids_with_image_features.bind(e)})}function Jx(e,t=0){let[r,n]=e.dims,s=e.data,a=new BigInt64Array(s.length);for(let o=0;o<r;++o){let i=o*n,l=BigInt(t);for(let c=0;c<n;++c){let u=i+c;s[u]===0n?a[u]=BigInt(1):(a[u]=l,l+=s[u])}}return{data:a,dims:e.dims}}function bU(e,t=null,r=0){let{input_ids:n,inputs_embeds:s,attention_mask:a}=e,{data:o,dims:i}=Jx(a,r),l=new q("int64",o,i);if(t){let c=-(n??s).dims.at(1);l=l.slice(null,[c,null])}return l}function ha(e,t,r,n){let s=r.past_key_values?r.past_key_values.get_seq_length():0;if((e.sessions.decoder_model_merged??e.sessions.model)?.inputNames.includes("num_logits_to_keep")&&!r.num_logits_to_keep&&(r.num_logits_to_keep=new q("int64",[1n],[])),!r.attention_mask){let o;for(let i of["input_ids","inputs_embeds","position_ids"])if(r[i]){o=r[i].dims;break}if(!o)throw new Error("attention_mask is not provided, and unable to infer its shape from model inputs.");r.attention_mask=xt([o[0],s+o[1]])}if(r.past_key_values){let{input_ids:o,attention_mask:i}=r;i&&i.dims[1]>o.dims[1]||s<o.dims[1]&&(r.input_ids=o.slice(null,[s,null]))}return r}function vi(e,t,r,n){return r.past_key_values&&(t=t.map(s=>[s.at(-1)])),{...r,decoder_input_ids:Dp(t)}}function Ys(e,...t){return e.config.is_encoder_decoder?vi(e,...t):ha(e,...t)}function Xx({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:n,attention_mask:s}){let a=n.tolist().map(c=>c.reduce((u,p,f)=>(p==e&&u.push(f),u),[])),o=a.reduce((c,u)=>c+u.length,0),i=r.dims[0];if(o!==i)throw new Error(`Number of tokens and features do not match: tokens: ${o}, features ${i}`);let l=0;for(let c=0;c<a.length;++c){let u=a[c],p=t[c];for(let f=0;f<u.length;++f)p[u[f]].data.set(r[l++].data)}return{inputs_embeds:t,attention_mask:s}}function Fh({image_token_id:e,inputs_embeds:t,image_features:r,input_ids:n,attention_mask:s}){return Xx({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:n,attention_mask:s})}function Yx({audio_token_id:e,inputs_embeds:t,audio_features:r,input_ids:n,attention_mask:s}){return Xx({modality_token_id:e,inputs_embeds:t,modality_features:r,input_ids:n,attention_mask:s})}async function MU(e,t,r){return Object.fromEntries(await Promise.all(Object.keys(t).map(async n=>{let s=await yr(e,t[n],!1,r);return[n,s]})))}function EU(e,t){let{text_config:r,audio_config:n}=e.config,s=e.sessions.audio_encoder,{num_mel_bins:a,hidden_size:o}=n,i=a+o,l=new Oh,c=s?.config?.kv_cache_dtype??"float32",u=c==="float16"?is.float16:is.float32,p=Oi(n,{batch_size:1});for(let y in p){let v=p[y].reduce((x,M)=>x*M,1);l[y]=new q(c,new u(v),p[y])}let f=new q(c,new u(i*hv),[1,i,hv]),m=t[Symbol.asyncIterator]?.()??t[Symbol.iterator]?.();if(!m)throw new Error("input_features must be iterable or async iterable");return{encoder_session:s,enc_kv_cache:l,enc_padding_cache:f,enc_past_seq_len:0,audio_embed_queue:[],audio_embed_total_tokens:0,audio_queue_offset:0,audio_consumed:0,stream_exhausted:!1,chunks_iter:m,text_hidden_size:r.hidden_size}}async function kU(e,t){let r=t.dims[2],n=Math.floor((TU+r-3)/2)+1,s=new q("int64",BigInt64Array.from({length:n},(u,p)=>BigInt(e.enc_past_seq_len+p)),[1,n]),a=e.enc_past_seq_len+n,o=xt([1,a]),{audio_embeds:i,present_padding_cache:l,...c}=await be(e.encoder_session,{input_features:t,attention_mask:o,position_ids:s,past_padding_cache:e.enc_padding_cache,...e.enc_kv_cache});e.enc_padding_cache.location==="gpu-buffer"&&e.enc_padding_cache.dispose(),e.enc_padding_cache=l;for(let u in c)if(u.startsWith("present.")){let p=u.replace("present","past_key_values"),f=e.enc_kv_cache[p];f?.location==="gpu-buffer"&&f.dispose(),e.enc_kv_cache[p]=c[u]}return e.enc_past_seq_len=a,i}async function CU(e,t){for(;e.audio_embed_total_tokens<t&&!e.stream_exhausted;){let r=await e.chunks_iter.next();if(r.done){e.stream_exhausted=!0;break}let n=await kU(e,r.value);e.audio_embed_queue.push({data:n.data,tokens:n.dims[1]}),e.audio_embed_total_tokens+=n.dims[1]}}function AU(e,t,r){if(e.audio_embed_queue.length===0)return;let n=t.data,s=0,a=r;for(;a>0&&e.audio_embed_queue.length>0;){let o=e.audio_embed_queue[0],i=o.tokens-e.audio_queue_offset,l=Math.min(a,i),c=e.audio_queue_offset*e.text_hidden_size;for(let u=0;u<l*e.text_hidden_size;++u)n[s*e.text_hidden_size+u]+=o.data[c+u];s+=l,a-=l,e.audio_queue_offset+=l,e.audio_queue_offset>=o.tokens&&(e.audio_embed_queue.shift(),e.audio_queue_offset=0)}e.audio_consumed+=r-a}async function Xt(e){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(t=>Mt.read(t)))}async function fa(e,t){return Array.isArray(e)||(e=[e]),await Promise.all(e.map(r=>typeof r=="string"||r instanceof URL?Kb(r,t):r instanceof Float64Array?new Float32Array(r):r))}function Vp(e,t){t&&(e=e.map(o=>o|0));let[r,n,s,a]=e;return{xmin:r,ymin:n,xmax:s,ymax:a}}function fv(e){return Array.isArray(e)&&e.every(t=>"role"in t&&"content"in t)}function KU(e,{config:t=null,cache_dir:r=null,local_files_only:n=!1,revision:s="main"}={}){if(t!==null)return ls.from_pretrained(e,{config:t,cache_dir:r,local_files_only:n,revision:s});let a=JSON.stringify([e,r,n,s]);return Lv(a,()=>ls.from_pretrained(e,{config:t,cache_dir:r,local_files_only:n,revision:s}))}async function DI(e,{config:t=null,dtype:r=null,device:n=null,model_file_name:s=null}={}){t=await KU(e,{config:t});let a=["config.json"],o=t["transformers.js_config"]??{},i=o.use_external_data_format,l="onnx",c=n??o.device,u=r??o.dtype,p,f=t.architectures||[],m=!1;for(let M of f){let T=mr.get(M);if(T!==void 0){p=T,m=!0;break}}if(!m&&t.model_type){let M=mr.get(t.model_type);if(M!==void 0&&(p=M,m=!0),!m){for(let T of Object.values(es))if(T.has(t.model_type)){p=mr.get(T.get(t.model_type)),m=!0;break}}}if(!m){let M=f.length>0?f.join(", "):"(none)";ce.warn(`[get_model_files] Architecture(s) not found in MODEL_TYPE_MAPPING: [${M}] for model type '${t.model_type}'. Falling back to EncoderOnly (single model.onnx file). If you encounter issues, please report at: ${Ci}`),p=J.EncoderOnly}let y=(M,T=null)=>{T=T??M;let A=Hv(c,M),C=Kv(u,M,A),S=Pp[C]??"",O=`${T}${S}.onnx`,E=l?`${l}/${O}`:O;a.push(E);let K=Px(i,O,M);for(let $ of Rx(O,K)){let V=l?`${l}/${$}`:$;a.push(V)}},{sessions:v,optional_configs:x}=wU(p,t,{model_file_name:s});for(let[M,T]of Object.entries(v))y(M,T);if(x)for(let M of Object.values(x))a.push(M);return a}async function BI(e){if(!e)throw new Error("modelId is required");return(await Ma(e,_a,{})).exists?[_a]:[]}async function Va(e,{config:t=null,dtype:r=null,device:n=null,model_file_name:s=null,include_tokenizer:a=!0,include_processor:o=!0}={}){let i=await DI(e,{config:t,dtype:r,device:n,model_file_name:s});if(a){let l=await sh(e);i.push(...l)}if(o){let l=await BI(e);i.push(...l)}return i}async function Ga(e,t,r={}){e=NI[e]??e;let n=bi[e];if(!n)throw new Error(`Unsupported pipeline task: ${e}. Must be one of [${Object.keys(bi).join(", ")}]`);let{type:s}=n;return Va(t,{...r,include_tokenizer:s!=="audio"&&s!=="image",include_processor:s!=="text"})}async function QU(e,t=null,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main",device:i=null,dtype:l=null,subfolder:c="onnx",use_external_data_format:u=null,model_file_name:p=null,session_options:f={}}={}){e=NI[e]??e;let m=bi[e.split("_",1)[0]];if(!m)throw Error(`Unsupported pipeline: ${e}. Must be one of [${Object.keys(bi)}]`);t||(t=m.default.model,ce.info(`No model specified. Using default model: "${t}".`),!l&&m.default.dtype&&(l=m.default.dtype));let y=await Ga(e,t,{device:i,dtype:l}),v={};r&&(await Promise.all(y.map(async Q=>Ma(t,Q)))).forEach((Q,G)=>{Q.exists&&(v[y[G]]={loaded:0,total:Q.size??0})});let x={progress_callback:r?V=>{if(V.status==="progress"){v[V.file]={loaded:V.loaded,total:V.total};let Q=Object.values(v).reduce((D,R)=>D+R.loaded,0),G=Object.values(v).reduce((D,R)=>D+R.total,0),W=G>0?Q/G*100:0;r({status:"progress_total",name:V.name,progress:W,loaded:Q,total:G,files:structuredClone(v)})}r(V)}:void 0,config:n,cache_dir:s,local_files_only:a,revision:o,device:i,dtype:l,subfolder:c,use_external_data_format:u,model_file_name:p,session_options:f},M=y.includes("tokenizer.json"),T=y.includes("preprocessor_config.json"),A=m.model,C;if(Array.isArray(A)){let V=n??await ls.from_pretrained(t,x),{model_type:Q}=V,G=A.find(W=>W.supports(Q));if(!G)throw Error(`Unsupported model type "${Q}" for task "${e}". None of the candidate model classes support this type.`);C=G.from_pretrained(t,{...x,config:V})}else C=A.from_pretrained(t,x);let[S,O,E]=await Promise.all([M?Ae.from_pretrained(t,x):null,T?Ix.from_pretrained(t,x):null,C]),K={task:e,model:E};S&&(K.tokenizer=S),O&&(K.processor=O),cn(r,{status:"ready",task:e,model:t});let $=m.pipeline;return new $(K)}async function YU(e,{num_frames:t=null,fps:r=null}={}){if(!pe.IS_BROWSER_ENV)throw new Error("`load_video` is currently only supported in browser environments.");if(t==null&&r==null)throw new Error("Either num_frames or fps must be provided.");let n=[],s=document.createElement("video");if(s.crossOrigin="anonymous",s.muted=!0,typeof e=="string")s.src=e;else if(e instanceof Blob)s.src=URL.createObjectURL(e);else if(e instanceof HTMLVideoElement)s.src=e.src;else throw new Error("Invalid URL or video element provided.");if(await new Promise(p=>s.onloadedmetadata=p),s.seekable.start(0)===s.seekable.end(0)){let f=await(await ge.fetch(s.src)).blob();s.src=URL.createObjectURL(f),await new Promise(m=>s.onloadedmetadata=m)}let a=s.duration,o,i;t!=null?(o=t,i=t===1?0:a/(t-1)):(i=1/r,o=Math.floor(a/i));let l=[];for(let p=0;p<o;++p)l.push(t===1?a/2:p*i);let c=document.createElement("canvas");c.width=s.videoWidth,c.height=s.videoHeight;let u=c.getContext("2d",{willReadFrequently:!0});for(let p of l){s.currentTime=p,await new Promise(v=>{s.onseeked=v}),u.drawImage(s,0,0,c.width,c.height);let f=u.getImageData(0,0,c.width,c.height),m=new Mt(f.data,c.width,c.height,4),y=new em(m,p);n.push(y)}return s.remove(),new $I(n,a)}async function Vc(e,t,r={}){let n=await ps(r?.cache_dir);if(!n)return{allCached:!1,files:t.map(o=>({file:o,cached:!1}))};let s=await Promise.all(t.map(async a=>{let{localPath:o,proposedCacheKey:i}=xa(e,a,r,n),l=await Ta(n,o,i);return{file:a,cached:!!l}}));return{allCached:s.every(a=>a.cached),files:s}}async function VI(e,t,r={}){let n=await ps(r?.cache_dir);if(!n)return!1;let{localPath:s,proposedCacheKey:a}=xa(e,t,r,n);return!!await Ta(n,s,a)}async function ZU(e,t={}){if(!e)throw new Error("modelId is required");if(!await VI(e,"config.json",t))return!1;let r=await Va(e,t);return(await Vc(e,r,t)).allCached}async function ez(e,t={}){if(!e)throw new Error("modelId is required");let r=await Va(e,t);return await Vc(e,r,t)}async function tz(e,t,r={}){if(!e)throw new Error("task is required");if(!t)throw new Error("modelId is required");if(!await VI(t,"config.json",r))return!1;let n=await Ga(e,t,r);return(await Vc(t,n,r)).allCached}async function rz(e,t,r={}){if(!e)throw new Error("task is required");if(!t)throw new Error("modelId is required");let n=await Ga(e,t,r);return await Vc(t,n,r)}async function GI(e,t,r={}){let n=await ps(r?.cache_dir);if(!n)return{filesDeleted:0,filesCached:0,files:t.map(a=>({file:a,deleted:!1,wasCached:!1}))};if(!n.delete)throw new Error("Cache does not support delete operation");let s=await Promise.all(t.map(async a=>{let{localPath:o,proposedCacheKey:i}=xa(e,a,r,n),c=!!await Ta(n,o,i),u=!1;if(c){let p=await n.delete(i),f=!p&&i!==o?await n.delete(o):!1;u=p||f}return{file:a,deleted:u,wasCached:c}}));return{filesDeleted:s.filter(a=>a.deleted).length,filesCached:s.filter(a=>a.wasCached).length,files:s}}async function nz(e,t={}){if(!e)throw new Error("modelId is required");let r=await Va(e,t);return await GI(e,r,t)}async function sz(e,t,r={}){if(!e)throw new Error("task is required");if(!t)throw new Error("modelId is required");let n=await Ga(e,t,r);return await GI(t,n,r)}var ci,tL,cs,At,ar,rL,nL,Gp,ss,wv,ui,sL,BV,Mi,yv,vv,jp,qp,aL,oL,iL,lL,cL,uL,dL,pL,pe,Wp,di,hL,by,fL,mL,Ft,My,ge,ce,yL,Ey,vL,bL,Mv,ML,xL,ky,TL,hi,Hp,xi,EL,kL,CL,AL,SL,IL,qt,Kp,PL,xv,Cy,RL,OL,ya,LL,wr,FL,NL,DL,BL,UL,zL,$L,VL,GL,Ti,jL,qL,WL,HL,KL,QL,JL,XL,YL,ZL,eF,tF,rF,nF,sF,aF,Tv,iF,Ht,lF,cF,uF,dF,pF,hF,fF,mF,_F,gF,wF,yF,vF,bF,MF,xF,TF,EF,kF,CF,AF,SF,Ev,PF,Ei,RF,Ay,Sy,OF,LF,Bd,FF,NF,BF,Iy,UF,zF,$F,VF,GF,Py,jF,qF,HF,KF,va,QF,JF,XF,YF,ZF,eN,tN,rN,nN,sN,Av,oN,Kt,iN,lN,cN,uN,dN,pN,hN,fN,mN,_N,gN,wN,yN,vN,bN,MN,xN,TN,EN,kN,Sv,AN,SN,B,Ot,IN,PN,Qt,LN,FN,NN,DN,BN,UN,zN,$N,St,VN,Ly,Qn,us,GN,jN,Fy,qN,Ny,WN,Xs,HN,KN,QN,JN,XN,YN,ZN,eD,tD,rD,By,Uy,ir,de,ze,Z,ae,uD,tt,ua,_e,$y,Le,Be,Oe,on,pD,Ke,hD,fD,TD,Dt,ED,fi,Qp,rr,ba,kD,CD,Rv,AD,Gy,SD,Ov,OD,Wy,ga,Hd,Hy,wa,ht,gv,FD,ND,Ud,zv,jD,qD,QD,$v,JD,ZD,eB,Lt,Ip,as,Qy,tB,Jy,Jn,Xy,He,Rr,Kd,dn,sB,zd,aB,ft,Yy,Zy,Pp,is,q,Uo,uB,le,rb,nb,sb,ab,ob,ib,lb,cb,ub,db,pb,hb,fb,mb,_b,gb,wb,yb,vb,bb,Mb,xb,Tb,Eb,kb,Cb,oh,Ab,Sb,Ib,Pb,Rb,Ob,Lb,Fb,Nb,Db,Bb,Ub,zb,fB,$b,Vb,Gb,oi,mB,gB,rv,jb,qb,Wb,Ae,Ci,ih,_a,wB,yB,Zs,Se,Rp,ct,lh,vB,bB,MB,xB,EB,kB,Xb,Yb,ch,Zb,eM,uh,tM,rM,nM,OB,sM,dh,aM,oM,iM,lM,cM,uM,dM,Bt,jo,pM,Op,ln,hM,Or,LB,FB,Mt,NB,ue,gi,wM,yM,vM,bM,hh,MM,fh,xM,mh,TM,_h,EM,kM,Si,CM,gh,AM,SM,wh,IM,PM,RM,Lp,OM,LM,FM,NM,Ii,DM,BM,yh,UM,vh,zM,bh,$M,Mh,VM,xh,GM,jM,Pi,qM,WM,Ct,jB,Gd,Xn,jd,HM,KM,QM,JM,ii,Th,XM,Eh,YM,ZM,ex,kh,tx,rx,nx,Ch,sx,mt,qo,ax,an,ox,ea,Ri,Qd,ix,ta,lx,Wo,cx,ra,Fp,na,ux,Ho,dx,Ko,px,sa,hx,lv,Qo,fx,Jo,mx,Xo,_x,Yn,aa,gx,cv,JB,Yo,wx,oa,yx,Jd,vx,Ah,bx,Xd,Sh,Ih,Mx,Zo,xx,ia,Tx,$o,XB,YB,la,Ex,uv,qd,Vo,eU,tU,ca,kx,ei,Cx,ti,Ax,ri,Sx,Ix,wi,ls,Qe,oe,je,Je,_t,hn,cU,Jt,Li,yi,Lx,Fx,Ph,Nx,Dx,Bx,Ux,zx,$x,Vx,Gx,uU,dU,jx,hs,Rh,Wx,Hx,pU,Fi,hU,fU,mU,_U,Oh,es,J,ts,mr,Lh,os,I,Nh,fs,Zx,e0,t0,r0,Ni,n0,s0,Di,a0,o0,Bi,i0,l0,Ui,c0,u0,Ea,d0,p0,h0,zi,f0,m0,fn,_0,g0,w0,y0,v0,$i,b0,M0,Vi,x0,T0,Gi,E0,k0,mn,C0,A0,S0,I0,P0,xU,pv,Dh,Bh,Uh,R0,zh,O0,ka,L0,$h,Vh,Nr,F0,N0,Gh,D0,B0,ji,U0,z0,qi,$0,V0,Wi,G0,j0,Hi,q0,W0,_n,H0,K0,Q0,J0,X0,Ki,Y0,Z0,Qi,eT,tT,Ji,rT,nT,ms,Xi,sT,aT,jh,qh,Ca,oT,Wh,Hh,gn,iT,lT,cT,uT,dT,Yi,pT,hT,wn,fT,mT,_T,gT,wT,Kh,yT,Zi,vT,bT,Qh,MT,Jh,xT,Aa,TT,ET,kT,el,Xh,tl,CT,AT,rl,ST,IT,Yh,PT,Zh,RT,yn,OT,LT,FT,NT,DT,ef,BT,nl,UT,zT,sl,$T,VT,vn,GT,jT,qT,WT,HT,al,KT,QT,_s,JT,XT,YT,ZT,gs,eE,tE,rE,nE,ol,sE,aE,il,oE,iE,ll,lE,cE,cl,uE,dE,tf,pE,ul,hE,fE,dl,mE,_E,pl,gE,wE,rf,hl,nf,fl,yE,vE,ml,bE,ME,sf,_l,gl,wl,yl,xE,vl,TE,EE,bl,kE,CE,Ml,AE,SE,xl,IE,PE,Tl,RE,OE,El,LE,FE,kl,NE,DE,Cl,BE,UE,Al,zE,$E,af,Sl,VE,of,GE,lf,jE,Il,qE,WE,Pl,HE,KE,Mr,QE,JE,XE,YE,ZE,ek,tk,rk,Rl,nk,sk,cf,gr,ak,ok,ik,Ol,lk,ck,Ll,uk,dk,Sa,pk,uf,hk,Fl,fk,mk,_k,Nl,gk,wk,yk,Dl,vk,bk,df,Mk,Bl,xk,Tk,Ul,Ek,kk,zl,Ck,Ak,$l,Sk,Ik,ws,Pk,Rk,Ok,Lk,pf,Fk,hf,Nk,ff,mf,Dk,_f,gf,Ia,Bk,wf,yf,Vl,Uk,zk,Gl,$k,Vk,ys,Gk,jk,qk,Wk,jl,Hk,Kk,Pa,Qk,Jk,Xk,Ra,Yk,Zk,e1,Oa,t1,r1,n1,La,s1,a1,o1,ql,i1,l1,Wl,c1,u1,vs,d1,p1,h1,f1,Hl,m1,_1,Kl,g1,w1,bn,y1,v1,b1,M1,x1,Ql,T1,E1,Jl,k1,C1,vf,A1,Xl,S1,I1,bf,Yl,P1,R1,Zl,O1,L1,Mn,F1,N1,D1,B1,U1,Mf,z1,ec,$1,V1,tc,G1,j1,rc,q1,W1,nc,H1,K1,sc,Q1,J1,ac,X1,Y1,oc,Z1,eC,ic,tC,rC,nC,xf,sC,lc,aC,oC,cc,iC,lC,uc,cC,uC,dc,dC,pC,Tf,Ef,pc,hC,fC,hc,mC,_C,fc,gC,wC,mc,yC,vC,_c,bC,MC,gc,xC,TC,wc,EC,kC,yc,vc,CC,kf,bc,Mc,AC,Cf,xc,SC,IC,Tc,PC,RC,Af,xn,OC,LC,FC,NC,DC,Tn,BC,UC,zC,$C,VC,Ec,GC,jC,Sf,If,Pf,qC,Rf,Of,kc,WC,HC,Fa,KC,QC,JC,Na,XC,YC,ZC,Cc,eA,Lf,tA,Ac,rA,nA,Da,sA,Ff,Nf,Sc,aA,oA,Ba,iA,lA,cA,uA,bs,dA,pA,hA,fA,Ic,mA,_A,Pc,gA,wA,Df,yA,Bf,Uf,Ua,vA,bA,MA,Rc,xA,TA,Oc,EA,kA,Lc,CA,AA,zf,$f,SA,za,IA,PA,RA,Ms,OA,LA,FA,NA,Fc,DA,BA,UA,Nc,zA,$A,Vf,VA,Dc,GA,jA,Gf,qA,jf,WA,qf,Wf,HA,KA,hv,TU,Wd,SU,Hf,Kf,$a,QA,JA,XA,Qf,En,YA,ZA,eS,tS,rS,Jf,nS,IU,Bc,sS,Xf,aS,kn,oS,iS,lS,cS,uS,Cn,dS,pS,hS,fS,mS,Uc,_S,gS,Yf,zc,wS,yS,PU,RU,OU,LU,vS,bS,MS,xS,TS,ES,kS,FU,CS,AS,SS,IS,PS,NU,RS,OS,LS,rs,FS,NS,DS,BS,US,zS,$S,VS,DU,GS,jS,qS,WS,HS,KS,BU,QS,UU,Te,ni,Ee,si,ns,Yd,Bp,Zd,JS,ep,li,tp,XS,rp,YS,np,ZS,sp,eI,ap,tI,op,rI,ip,nI,lp,sI,cp,Up,up,zp,dp,$p,pp,aI,hp,oI,fp,zU,mp,iI,_p,lI,gp,$U,wp,VU,yp,cI,vp,GU,bp,uI,Mp,dI,xp,jU,Tp,qU,Ep,pI,kp,WU,Cp,HU,$e,hI,fI,mI,_I,$c,gI,wI,yI,vI,bI,MI,xI,TI,EI,kI,mv,Zf,CI,AI,SI,II,PI,RI,OI,LI,FI,bi,NI,JU,UI,_v,zI,XU,em,$I,az,qI=Ve(()=>{Hw();vy();ci={},tL=Object.defineProperty,cs=(e,t)=>{for(var r in t)tL(e,r,{get:t[r],enumerable:!0})},At={},ar={},rL={},nL="4.0.0-next.8",Gp=typeof self<"u",ss=!bv(At),wv=!bv(ar),ui=Gp&&"caches"in self,sL=typeof globalThis.Deno<"u",BV=typeof globalThis.Bun<"u",Mi=sL&&ui&&!ss,yv=typeof process<"u",vv=yv&&process?.release?.name==="node"&&!Mi,jp=typeof window<"u"&&typeof window.document<"u",qp=Gp&&["DedicatedWorkerGlobalScope","ServiceWorkerGlobalScope","SharedWorkerGlobalScope"].includes(self.constructor?.name),aL=jp||qp||Mi,oL=vv||typeof navigator<"u"&&"gpu"in navigator,iL=typeof navigator<"u"&&"ml"in navigator,lL=typeof crypto<"u"&&typeof crypto.getRandomValues=="function",cL=typeof chrome<"u"&&typeof chrome.runtime<"u"&&typeof chrome.runtime.id=="string",uL=typeof ServiceWorkerGlobalScope<"u"&&Gp&&self instanceof ServiceWorkerGlobalScope,dL=()=>{if(typeof navigator>"u")return!1;let e=navigator.userAgent,r=(navigator.vendor||"").indexOf("Apple")>-1,n=!e.match(/CriOS|FxiOS|EdgiOS|OPiOS|mercury|brave/i)&&!e.includes("Chrome")&&!e.includes("Android");return r&&n},pL=dL(),pe=Object.freeze({IS_BROWSER_ENV:jp,IS_WEBWORKER_ENV:qp,IS_WEB_ENV:aL,IS_SERVICE_WORKER_ENV:uL,IS_DENO_WEB_RUNTIME:Mi,IS_WEB_CACHE_AVAILABLE:ui,IS_WEBGPU_AVAILABLE:oL,IS_WEBNN_AVAILABLE:iL,IS_SAFARI:pL,IS_PROCESS_AVAILABLE:yv,IS_NODE_ENV:vv,IS_FS_AVAILABLE:ss,IS_PATH_AVAILABLE:wv,IS_CRYPTO_AVAILABLE:lL,IS_CHROME_AVAILABLE:cL}),Wp=ss&&wv,di="./";if(Wp){let e=Object(ci).url;e?di=ar.dirname(ar.dirname(rL.fileURLToPath(e))):typeof __dirname<"u"&&(di=ar.dirname(__dirname))}hL=Wp?ar.join(di,"/.cache/"):null,by="/models/",fL=Wp?ar.join(di,by):by,mL=typeof globalThis.fetch=="function"?globalThis.fetch.bind(globalThis):void 0,Ft=Object.freeze({DEBUG:10,INFO:20,WARNING:30,ERROR:40,NONE:50}),My=Ft.WARNING,ge={version:nL,backends:{onnx:{}},get logLevel(){return My},set logLevel(e){My=e,ge.backends.onnx?.setLogLevel?.(e)},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(jp||qp||Mi),localModelPath:fL,useFS:ss,useBrowserCache:ui,useFSCache:ss,cacheDir:hL,useCustomCache:!1,customCache:null,useWasmCache:ui||ss,cacheKey:"transformers-cache",experimental_useCrossOriginStorage:!1,fetch:mL};ce={error(...e){ge.logLevel<=Ft.ERROR&&console.error(...e)},warn(...e){ge.logLevel<=Ft.WARNING&&console.warn(...e)},info(...e){ge.logLevel<=Ft.INFO&&console.log(...e)},debug(...e){ge.logLevel<=Ft.DEBUG&&console.log(...e)},log(...e){this.info(...e)}},yL=class{constructor(e){this.trie=this._build_trie(e)}_build_trie(e){let t=Object.create(null);for(let r of e){let n=t;for(let s=0;s<r.length;++s){let a=r[s];n=n[a]??(n[a]=Object.create(null))}n.end=r}return t}split(e){let t=[],r=e.length,n=0,s=0;for(;s<r;){let a=this.trie,o=null,i=s;for(;i<r&&(a=a[e[i]]);)a.end&&(o=a.end),++i;o?(s>n&&t.push(e.slice(n,s)),t.push(o),s+=o.length,n=s):++s}return n<r&&t.push(e.slice(n)),t}},Ey=yL,vL=class{constructor(e){this.content=e.content,this.id=e.id,this.single_word=e.single_word??!1,this.lstrip=e.lstrip??!1,this.rstrip=e.rstrip??!1,this.special=e.special??!1,this.normalized=e.normalized??!this.special}},bL=vL,Mv=(()=>{let e=[...Array.from({length:94},(s,a)=>a+33),...Array.from({length:12},(s,a)=>a+161),...Array.from({length:82},(s,a)=>a+174)],t=e.slice(),r=0;for(let s=0;s<256;++s)e.includes(s)||(e.push(s),t.push(256+r),r+=1);let n=t.map(s=>String.fromCharCode(s));return Object.fromEntries(e.map((s,a)=>[s,n[a]]))})(),ML=e=>Object.fromEntries(Object.entries(e).map(([t,r])=>[r,t])),xL=ML(Mv),ky=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",TL=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],["(?>\\p{Nd}{510})","(?:\\p{Nd}{510})"],["\\p{Nd}{3}+","(?:\\p{Nd}{3})+"],["\\G",""],[` ?[^(\\s|[${ky}])]+`,` ?[^\\s${ky}]+`]]),hi="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",Hp=e=>e.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),xi=(e,t=!0)=>{if(e.Regex!==void 0){let r=e.Regex.replace(/\\([#&~])/g,"$1");r=r.replace(/\\A/g,"^").replace(/\\z/g,"$").replace(/\\Z/g,"(?=\\r?\\n?$)");for(let[n,s]of TL)r=r.replaceAll(n,s);try{return new RegExp(r,"gu")}catch(n){if(!(n instanceof SyntaxError)||!n.message.toLowerCase().includes("invalid property name"))throw n;let s=!1,a=r.replace(/(\\[pP])\{([^}=]+)\}/g,(o,i,l)=>{try{return new RegExp(`\\p{${l}}`,"u"),`${i}{${l}}`}catch{return s=!0,`${i}{Script=${l}}`}});if(!s)throw n;try{return new RegExp(a,"gu")}catch{throw n}}}else if(e.String!==void 0){let r=EL(e.String);return new RegExp(t?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",e),null},EL=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),kL=(e,t,r)=>{let n=[],s=0;for(;s<e.length;){if(n.push(e[s]),(t.get(e[s])??r)!==r){++s;continue}for(;++s<e.length&&(t.get(e[s])??r)===r;)t.get(n.at(-1))!==r&&(n[n.length-1]+=e[s])}return n},CL=e=>e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=63744&&e<=64255||e>=194560&&e<=195103,AL=e=>Number.isInteger(e)||typeof e=="bigint",SL=e=>{let t=0;for(let r of e)++t;return t},IL=e=>xv(e.toLowerCase()),qt=(...e)=>Array.prototype.concat.apply([],e),Kp=e=>new Map(Object.entries(e)),PL=(e,t)=>{let r=[],n=0;for(let s of e.matchAll(t)){let a=s[0];n<s.index&&r.push(e.slice(n,s.index)),a.length>0&&r.push(a),n=s.index+a.length}return n<e.length&&r.push(e.slice(n)),r},xv=e=>e.replace(new RegExp("\\p{M}","gu"),""),Cy=(e,t,r=[])=>{if(!e||Array.isArray(e)||typeof e!="object")return`${t} must be a valid object`;for(let n of r)if(!(n in e))return`${t} must contain a "${n}" property`;return null},RL=e=>e.match(/\S+/g)||[],OL=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}},ya=OL,LL=class extends ya{constructor(e){super(),this.config=e}_call(e){return this.normalize(e)}},wr=LL,FL=class extends wr{tokenize_chinese_chars(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r],s=n.charCodeAt(0);CL(s)?(t.push(" "),t.push(n),t.push(" ")):t.push(n)}return t.join("")}strip_accents(e){return e.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(e){switch(e){case" ":case`
|
|
10
|
+
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(e)}}clean_text(e){let t=[];for(let r of e){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?t.push(" "):t.push(r))}return t.join("")}normalize(e){return this.config.clean_text&&(e=this.clean_text(e)),this.config.handle_chinese_chars&&(e=this.tokenize_chinese_chars(e)),this.config.lowercase?(e=e.toLowerCase(),this.config.strip_accents!==!1&&(e=this.strip_accents(e))):this.config.strip_accents&&(e=this.strip_accents(e)),e}},NL=FL,DL=class extends wr{constructor(e){super(e),this.charsmap=e.precompiled_charsmap??null}normalize(e){return e=e.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),e=e.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),e.includes("\uFF5E")?e=e.split("\uFF5E").map(r=>r.normalize("NFKC")).join("\uFF5E"):e=e.normalize("NFKC"),e}},BL=DL,UL=class extends wr{constructor(e){super(e),this.normalizers=(e.normalizers??[]).map(t=>Tv(t))}normalize(e){return this.normalizers.reduce((t,r)=>r?r.normalize(t):t,e)}},zL=UL,$L=class extends wr{normalize(e){let t=xi(this.config.pattern??{});return t===null?e:e.replaceAll(t,this.config.content??"")}},VL=$L,GL=class extends wr{constructor(){super(...arguments),this.form="NFC"}normalize(e){return e=e.normalize(this.form),e}},Ti=GL,jL=class extends Ti{constructor(){super(...arguments),this.form="NFC"}},qL=jL,WL=class extends Ti{constructor(){super(...arguments),this.form="NFD"}},HL=WL,KL=class extends Ti{constructor(){super(...arguments),this.form="NFKC"}},QL=KL,JL=class extends Ti{constructor(){super(...arguments),this.form="NFKD"}},XL=JL,YL=class extends wr{normalize(e){return this.config.strip_left&&this.config.strip_right?e=e.trim():(this.config.strip_left&&(e=e.trimStart()),this.config.strip_right&&(e=e.trimEnd())),e}},ZL=YL,eF=class extends wr{normalize(e){return xv(e)}},tF=eF,rF=class extends wr{normalize(e){return e.toLowerCase()}},nF=rF,sF=class extends wr{normalize(e){return e=this.config.prepend+e,e}},aF=sF;Tv=oF,iF=class extends ya{pre_tokenize(e,t){return(Array.isArray(e)?e.map(r=>this.pre_tokenize_text(r,t)):this.pre_tokenize_text(e,t)).flat()}_call(e,t){return this.pre_tokenize(e,t)}},Ht=iF,lF=class extends Ht{constructor(e){super(),this.config=e,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=Mv,this.text_encoder=new TextEncoder}pre_tokenize_text(e,t){return this.add_prefix_space&&!e.startsWith(" ")&&(e=" "+e),(this.use_regex?e.match(this.pattern)||[]:[e]).map(n=>Array.from(this.text_encoder.encode(n),s=>this.byte_encoder[s]).join(""))}},cF=lF,uF=class extends Ht{pre_tokenize_text(e,t){return e.match(/\w+|[^\w\s]+/g)||[]}},dF=uF,pF=class extends Ht{constructor(e){super(),this.replacement=e.replacement??"\u2581",this.str_rep=e.str_rep||this.replacement,this.prepend_scheme=e.prepend_scheme??"always"}pre_tokenize_text(e,t){let{section_index:r=void 0}=t??{},n=e.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},hF=pF,fF=class extends Ht{constructor(e){super(),this.config=e,this.pattern=xi(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(e){return this.pattern===null?[]:this.config.invert?e.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?e.split(this.pattern).filter(t=>t):PL(e,this.pattern)}},mF=fF,_F=class extends Ht{constructor(e){super(),this.config=e,this.pattern=new RegExp(`[^${hi}]+|[${hi}]+`,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},gF=_F,wF=class extends Ht{constructor(e){super(),this.config=e;let t=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(t,"gu")}pre_tokenize_text(e){return e.match(this.pattern)||[]}},yF=wF,vF=class extends Ht{constructor(){super(),this.pattern=new RegExp(`[^\\s${hi}]+|[${hi}]`,"gu")}pre_tokenize_text(e,t){return e.trim().match(this.pattern)||[]}},bF=vF,MF=class extends Ht{constructor(e){super(),this.config=e,this.pattern=xi(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(e){return this.pattern===null?[e]:[e.replaceAll(this.pattern,this.config.content??"")]}},xF=MF,TF=class extends Ht{constructor(e){super(),this.tokenizers=(e.pretokenizers??[]).map(t=>Ev(t))}pre_tokenize_text(e,t){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,t):r,[e])}},EF=TF,kF=class extends Ht{pre_tokenize_text(e){return RL(e)}},CF=kF,AF=class extends Ht{constructor(e){super(),this.config=e,this._length=e.length}pre_tokenize_text(e){let t=[];for(let r=0;r<e.length;r+=this._length)t.push(e.slice(r,r+this._length));return t}},SF=AF;Ev=IF,PF=class extends ya{constructor(e){super(),this.config=e,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(e){let t=this.encode(e);return this.fuse_unk&&(t=kL(t,this.tokens_to_ids,this.unk_token_id)),t}},Ei=PF,RF=class extends Ei{constructor(e){super(e),this.max_input_chars_per_word=100,this.tokens_to_ids=Kp(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.max_input_chars_per_word=e.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[t,r]of this.tokens_to_ids)this.vocab[r]=t}encode(e){let t=[];for(let r of e){let n=[...r];if(n.length>this.max_input_chars_per_word){t.push(this.unk_token);continue}let s=!1,a=0,o=[];for(;a<n.length;){let i=n.length,l=null;for(;a<i;){let c=n.slice(a,i).join("");if(a>0&&(c=this.config.continuing_subword_prefix+c),this.tokens_to_ids.has(c)){l=c;break}--i}if(l===null){s=!0;break}o.push(l),a=i}s?t.push(this.unk_token):t.push(...o)}return t}},Ay=RF,Sy=class kv{constructor(t,r){this.is_leaf=t,this.children=r}static default(){return new kv(!1,new Map)}},OF=class{constructor(){this.root=Sy.default()}extend(e){for(let t of e)this.push(t)}push(e){let t=this.root;for(let r of e){let n=t.children.get(r);n===void 0&&(n=Sy.default(),t.children.set(r,n)),t=n}t.is_leaf=!0}*common_prefix_search(e){let t=this.root;if(t===void 0)return;let r="";for(let n of e){if(r+=n,t=t.children.get(n),t===void 0)return;t.is_leaf&&(yield r)}}},LF=OF,Bd=class Cv{constructor(t,r,n,s,a){this.token_id=t,this.node_id=r,this.pos=n,this.length=s,this.score=a,this.prev=null,this.backtrace_score=0}clone(){let t=new Cv(this.token_id,this.node_id,this.pos,this.length,this.score);return t.prev=this.prev,t.backtrace_score=this.backtrace_score,t}},FF=class{constructor(e,t,r){this.chars=Array.from(e),this.len=this.chars.length,this.bos_token_id=t,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Bd(this.bos_token_id??0,0,0,0,0),s=new Bd(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(s.clone()),this.begin_nodes[this.len].push(s),this.end_nodes[0].push(n)}insert(e,t,r,n){let s=this.nodes.length,a=new Bd(n,s,e,t,r);this.begin_nodes[e].push(a),this.end_nodes[e+t].push(a),this.nodes.push(a)}viterbi(){let e=this.len,t=0;for(;t<=e;){if(this.begin_nodes[t].length==0)return[];for(let o of this.begin_nodes[t]){o.prev=null;let i=0,l=null;for(let c of this.end_nodes[t]){let u=c.backtrace_score+o.score;(l===null||u>i)&&(l=c.clone(),i=u)}if(l!==null)o.prev=l,o.backtrace_score=i;else return[]}++t}let r=[],s=this.begin_nodes[e][0].prev;if(s===null)return[];let a=s.clone();for(;a.prev!==null;)r.push(a.clone()),a=a.clone().prev.clone();return r.reverse(),r}piece(e){return this.chars.slice(e.pos,e.pos+e.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},NF=FF;BF=class extends Ei{constructor(e,t){super(e);let r=e.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=e.vocab[n];this.unk_token_id=e.unk_id,this.unk_token=this.vocab[e.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,s)=>[n,s])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=DF(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new LF,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(e){let t=e.chars,r=1,n=0;for(;n<t.length;){let s=!1,a=[],o=t.slice(n).join(""),i=this.trie.common_prefix_search(o);for(let l of i){a.push(l);let c=this.tokens_to_ids.get(l),u=this.scores[c],p=SL(l);e.insert(n,p,u,c),!s&&p===r&&(s=!0)}s||e.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(e){let t=new NF(e,this.bos_token_id,this.eos_token_id);return this.populate_nodes(t),t.tokens()}encode(e){let t=[];for(let r of e){let n=this.tokenize(r);t.push(...n)}return t}},Iy=BF,UF=class{constructor(e=(r,n)=>r>n,t=1/0){this._heap=[],this._comparator=e,this._max_size=t}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...e){return this.extend(e)}extend(e){for(let t of e)if(this.size<this._max_size)this._heap.push(t),this._sift_up();else{let r=this._smallest();this._comparator(t,this._heap[r])&&(this._heap[r]=t,this._sift_up_from(r))}return this.size}pop(){let e=this.peek(),t=this.size-1;return t>0&&this._swap(0,t),this._heap.pop(),this._sift_down(),e}replace(e){let t=this.peek();return this._heap[0]=e,this._sift_down(),t}_parent(e){return(e+1>>>1)-1}_left(e){return(e<<1)+1}_right(e){return e+1<<1}_greater(e,t){return this._comparator(this._heap[e],this._heap[t])}_swap(e,t){let r=this._heap[e];this._heap[e]=this._heap[t],this._heap[t]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(e){for(;e>0&&this._greater(e,this._parent(e));)this._swap(e,this._parent(e)),e=this._parent(e)}_sift_down(){let e=0;for(;this._left(e)<this.size&&this._greater(this._left(e),e)||this._right(e)<this.size&&this._greater(this._right(e),e);){let t=this._right(e)<this.size&&this._greater(this._right(e),this._left(e))?this._right(e):this._left(e);this._swap(e,t),e=t}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},zF=UF,$F=class{constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let t=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,t),t}put(e,t){this.cache.has(e)&&this.cache.delete(e),this.cache.set(e,t),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},VF=$F,GF=class extends Ei{constructor(e){super(e),this.tokens_to_ids=Kp(e.vocab),this.unk_token_id=this.tokens_to_ids.get(e.unk_token),this.unk_token=e.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let t=Array.isArray(e.merges[0]);this.merges=t?e.merges:e.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=e.end_of_word_suffix,this.continuing_subword_suffix=e.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new VF(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(e){if(e.length===0)return[];let t=this.cache.get(e);if(t!==void 0)return t;let r=Array.from(e);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let s=new zF((i,l)=>i.score<l.score),a={token:r[0],bias:0,prev:null,next:null},o=a;for(let i=1;i<r.length;++i){let l={bias:i/r.length,token:r[i],prev:o,next:null};o.next=l,this.add_node(s,o),o=l}for(;!s.is_empty();){let i=s.pop();if(i.deleted||!i.next||i.next.deleted)continue;if(i.deleted=!0,i.next.deleted=!0,i.prev){let c={...i.prev};i.prev.deleted=!0,i.prev=c,c.prev?c.prev.next=c:a=c}let l={token:i.token+i.next.token,bias:i.bias,prev:i.prev,next:i.next.next};l.prev?(l.prev.next=l,this.add_node(s,l.prev)):a=l,l.next&&(l.next.prev=l,this.add_node(s,l))}for(let i=a;i!==null;i=i.next)n.push(i.token)}else n=r;if(this.continuing_subword_suffix)for(let s=0;s<n.length-1;++s)n[s]+=this.continuing_subword_suffix;return e.length<this.max_length_to_cache&&this.cache.put(e,n),n}add_node(e,t){let r=this.bpe_ranks.get(JSON.stringify([t.token,t.next.token]));r!==void 0&&(t.score=r+t.bias,e.push(t))}encode(e){let t=[];for(let r of e){if(this.ignore_merges&&this.tokens_to_ids.has(r)){t.push(r);continue}let n=this.bpe(r);for(let s of n)if(this.tokens_to_ids.has(s))t.push(s);else if(this.byte_fallback){let a=Array.from(this.text_encoder.encode(s)).map(o=>`<0x${o.toString(16).toUpperCase().padStart(2,"0")}>`);a.every(o=>this.tokens_to_ids.has(o))?t.push(...a):this.unk_token!=null&&t.push(this.unk_token)}else this.unk_token!=null&&t.push(this.unk_token)}return t}},Py=GF,jF=class extends Ei{constructor(e,t){super(e);let r=e.vocab;this.tokens_to_ids=Kp(t.target_lang?r[t.target_lang]:r),this.bos_token=t.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=t.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=t.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=t.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,s]of this.tokens_to_ids)this.vocab[s]=n}encode(e){return e}},qF=jF;HF=WF,KF=class extends ya{constructor(e){super(),this.config=e}_call(e,...t){return this.post_process(e,...t)}},va=KF,QF=class extends va{post_process(e,t=null,r=!0){let n=t===null?this.config.single:this.config.pair,s=[],a=[];for(let o of n)"SpecialToken"in o?r&&(s.push(o.SpecialToken.id),a.push(o.SpecialToken.type_id)):"Sequence"in o&&(o.Sequence.id==="A"?(s=qt(s,e),a=qt(a,new Array(e.length).fill(o.Sequence.type_id))):o.Sequence.id==="B"&&(s=qt(s,t),a=qt(a,new Array(t.length).fill(o.Sequence.type_id))));return{tokens:s,token_type_ids:a}}},JF=QF,XF=class extends va{post_process(e,t=null){return{tokens:e,tokens_pair:t}}},YF=XF,ZF=class extends va{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t=null,r=!0){r&&(e=qt([this.cls[0]],e,[this.sep[0]]));let n=new Array(e.length).fill(0);if(t){let s=[],a=r?[this.sep[0]]:[];e=qt(e,s,t,a),n=qt(n,new Array(t.length+s.length+a.length).fill(1))}return{tokens:e,token_type_ids:n}}},eN=ZF,tN=class extends va{constructor(e){super(e),this.sep=e.sep,this.cls=e.cls}post_process(e,t,r=!0){r&&(e=qt([this.cls[0]],e,[this.sep[0]]));let n=new Array(e.length).fill(0);if(t){let s=r?[this.sep[0]]:[],a=r?[this.sep[0]]:[];e=qt(e,s,t,a),n=qt(n,new Array(t.length+s.length+a.length).fill(1))}return{tokens:e,token_type_ids:n}}},rN=tN,nN=class extends va{constructor(e){super(e),this.processors=(e.processors??[]).map(t=>Av(t))}post_process(e,t=null,r=!0){let n={tokens:e,tokens_pair:t};for(let s of this.processors)n=s.post_process(n.tokens,n.tokens_pair,r);return n}},sN=nN;Av=aN,oN=class extends ya{constructor(e){super(),this.config=e,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in e?e.trim_offsets:!1}_call(e){return this.decode(e)}decode(e){return this.decode_chain(e).join("")}},Kt=oN,iN=class extends Kt{constructor(e){super(e),this.byte_decoder=xL,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(e){let t=e.join(""),r=new Uint8Array([...t].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(e){let t=[],r=[];for(let n of e)this.added_tokens.find(s=>s.content===n)!==void 0?(r.length>0&&(t.push(this.convert_tokens_to_string(r)),r=[]),t.push(n)):r.push(n);return r.length>0&&t.push(this.convert_tokens_to_string(r)),t}},lN=iN,cN=class extends Kt{constructor(e){super(e),this.cleanup=e.cleanup}decode_chain(e){return e.map((t,r)=>{if(r!==0){let n=this.config.prefix;n&&t.startsWith(n)?t=t.replace(n,""):t=" "+t}return this.cleanup&&(t=Hp(t)),t})}},uN=cN,dN=class extends Kt{constructor(e){super(e),this.replacement=e.replacement??"\u2581"}decode_chain(e){let t=[];for(let r=0;r<e.length;++r){let n=e[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),t.push(n)}return t}},pN=dN,hN=class extends Kt{constructor(e){super(e),this.suffix=e.suffix??""}decode_chain(e){return e.map((t,r)=>t.replaceAll(this.suffix,r===e.length-1?"":" "))}},fN=hN,mN=class extends Kt{constructor(e){super(e),this.pad_token=e.pad_token??"",this.word_delimiter_token=e.word_delimiter_token??"",this.cleanup=e.cleanup}convert_tokens_to_string(e){if(e.length===0)return"";let t=[e[0]];for(let s=1;s<e.length;++s)e[s]!==t.at(-1)&&t.push(e[s]);let n=t.filter(s=>s!==this.pad_token).join("");return this.cleanup&&(n=Hp(n).replaceAll(this.word_delimiter_token," ").trim()),n}decode_chain(e){return[this.convert_tokens_to_string(e)]}},_N=mN,gN=class extends Kt{constructor(e){super(e),this.decoders=(e.decoders??[]).map(t=>Sv(t))}decode_chain(e){return this.decoders.reduce((t,r)=>r.decode_chain(t),e)}},wN=gN,yN=class extends Kt{decode_chain(e){let t=xi(this.config.pattern),r=this.config.content??"";return t===null?e:e.map(n=>n.replaceAll(t,r))}},vN=yN,bN=class extends Kt{decode_chain(e){return[e.join("")]}},MN=bN,xN=class extends Kt{constructor(e){super(e),this.content=e.content??"",this.start=e.start??0,this.stop=e.stop??0}decode_chain(e){return e.map(t=>{let r=0;for(let s=0;s<this.start&&t[s]===this.content;++s){r=s+1;continue}let n=t.length;for(let s=0;s<this.stop;++s){let a=t.length-s-1;if(t[a]===this.content){n=a;continue}else break}return t.slice(r,n)})}},TN=xN,EN=class extends Kt{constructor(e){super(e),this.text_decoder=new TextDecoder}decode_chain(e){let t=[],r=[];for(let n of e){let s=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let a=parseInt(n.slice(3,5),16);isNaN(a)||(s=a)}if(s!==null)r.push(s);else{if(r.length>0){let a=this.text_decoder.decode(Uint8Array.from(r));t.push(a),r=[]}t.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));t.push(n),r=[]}return t}},kN=EN;Sv=CN,AN=class{constructor(e,t){let r=Cy(e,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=Cy(t,"Config");if(n)throw new Error(n);this.tokenizer=e,this.config=t,this.normalizer=Tv(this.tokenizer.normalizer),this.pre_tokenizer=Ev(this.tokenizer.pre_tokenizer),this.model=HF(this.tokenizer.model,this.config),this.post_processor=Av(this.tokenizer.post_processor),this.decoder=Sv(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let s=[],a=[];this.added_tokens_map=new Map;for(let o of this.tokenizer.added_tokens){let i=new bL(o);if(this.added_tokens.push(i),this.model.tokens_to_ids.set(i.content,i.id),this.model.vocab[i.id]=i.content,i.special&&(this.special_tokens.push(i.content),this.all_special_ids.push(i.id)),this.added_tokens_map.set(i.content,i),i.normalized&&this.normalizer!==null){let l=this.normalizer(i.content);a.push(l),this.added_tokens_map.set(l,i)}else s.push(i.content)}(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.splitter_unnormalized=new Ey(s),this.splitter_normalized=new Ey(a),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(e,{text_pair:t=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:s,token_type_ids:a}=this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}),o=s.map(l=>this.added_tokens_map.get(l)?.id??this.model.tokens_to_ids.get(l)??this.model.unk_token_id),i={ids:o,tokens:s,attention_mask:new Array(o.length).fill(1)};return n&&a&&(i.token_type_ids=a),i}decode(e,t={}){if(!Array.isArray(e)||e.length===0||!AL(e[0]))throw Error("token_ids must be a non-empty array of integers.");let r=e.map(s=>this.model.vocab[Number(s)]??this.model.unk_token);t.skip_special_tokens&&(r=r.filter(s=>!this.special_tokens.includes(s)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),t.skip_special_tokens&&(n=n.trim())),(t.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Hp(n)),n}tokenize(e,{text_pair:t=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(e,{text_pair:t,add_special_tokens:r}).tokens}encode_text(e){if(e===null)return null;let t=this.splitter_unnormalized.split(e);return t.forEach((r,n)=>{let s=this.added_tokens_map.get(r);s&&(s.lstrip&&n>0&&(t[n-1]=t[n-1].trimEnd()),s.rstrip&&n<t.length-1&&(t[n+1]=t[n+1].trimStart()))}),t.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=IL(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let s=this.splitter_normalized.split(r);return s.forEach((a,o)=>{let i=this.added_tokens_map.get(a);i&&(i.lstrip&&o>0&&(s[o-1]=s[o-1].trimEnd()),i.rstrip&&o<s.length-1&&(s[o+1]=s[o+1].trimStart()))}),s.flatMap(a=>{if(a.length===0)return[];if(this.added_tokens_map.has(a))return[a];let o=this.pre_tokenizer!==null?this.pre_tokenizer(a,{section_index:n}):[a];return this.model(o)})})}tokenize_helper(e,{text_pair:t=null,add_special_tokens:r=!0}){let n=this.encode_text(e),s=this.encode_text(t||null);return this.post_processor?this.post_processor(n,s,r):{tokens:qt(n??[],s??[])}}token_to_id(e){return this.model.tokens_to_ids.get(e)}id_to_token(e){return this.model.vocab[e]}get_added_tokens_decoder(){let e=new Map;for(let t of this.added_tokens)e.set(t.id,t);return e}get_vocab(e=!0){let t=new Map;for(let r=0;r<this.model.vocab.length;++r){let n=this.model.vocab[r];(e||!this.added_tokens_map.has(n))&&t.set(n,r)}return t}},SN=AN,B=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Comment:"Comment"}),Ot=class{constructor(e,t){this.value=e,this.type=t}};IN=[["{%",B.OpenStatement],["%}",B.CloseStatement],["{{",B.OpenExpression],["}}",B.CloseExpression],["(",B.OpenParen],[")",B.CloseParen],["{",B.OpenCurlyBracket],["}",B.CloseCurlyBracket],["[",B.OpenSquareBracket],["]",B.CloseSquareBracket],[",",B.Comma],[".",B.Dot],[":",B.Colon],["|",B.Pipe],["<=",B.ComparisonBinaryOperator],[">=",B.ComparisonBinaryOperator],["==",B.ComparisonBinaryOperator],["!=",B.ComparisonBinaryOperator],["<",B.ComparisonBinaryOperator],[">",B.ComparisonBinaryOperator],["+",B.AdditiveBinaryOperator],["-",B.AdditiveBinaryOperator],["~",B.AdditiveBinaryOperator],["*",B.MultiplicativeBinaryOperator],["/",B.MultiplicativeBinaryOperator],["%",B.MultiplicativeBinaryOperator],["=",B.Equals]],PN=new Map([["n",`
|
|
11
|
+
`],["t"," "],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);Qt=class{constructor(){w(this,"type","Statement")}},LN=class extends Qt{constructor(t){super();w(this,"type","Program");this.body=t}},FN=class extends Qt{constructor(t,r,n){super();w(this,"type","If");this.test=t,this.body=r,this.alternate=n}},NN=class extends Qt{constructor(t,r,n,s){super();w(this,"type","For");this.loopvar=t,this.iterable=r,this.body=n,this.defaultBlock=s}},DN=class extends Qt{constructor(){super(...arguments);w(this,"type","Break")}},BN=class extends Qt{constructor(){super(...arguments);w(this,"type","Continue")}},UN=class extends Qt{constructor(t,r,n){super();w(this,"type","Set");this.assignee=t,this.value=r,this.body=n}},zN=class extends Qt{constructor(t,r,n){super();w(this,"type","Macro");this.name=t,this.args=r,this.body=n}},$N=class extends Qt{constructor(t){super();w(this,"type","Comment");this.value=t}},St=class extends Qt{constructor(){super(...arguments);w(this,"type","Expression")}},VN=class extends St{constructor(t,r,n){super();w(this,"type","MemberExpression");this.object=t,this.property=r,this.computed=n}},Ly=class extends St{constructor(t,r){super();w(this,"type","CallExpression");this.callee=t,this.args=r}},Qn=class extends St{constructor(t){super();w(this,"type","Identifier");this.value=t}},us=class extends St{constructor(t){super();w(this,"type","Literal");this.value=t}},GN=class extends us{constructor(){super(...arguments);w(this,"type","IntegerLiteral")}},jN=class extends us{constructor(){super(...arguments);w(this,"type","FloatLiteral")}},Fy=class extends us{constructor(){super(...arguments);w(this,"type","StringLiteral")}},qN=class extends us{constructor(){super(...arguments);w(this,"type","ArrayLiteral")}},Ny=class extends us{constructor(){super(...arguments);w(this,"type","TupleLiteral")}},WN=class extends us{constructor(){super(...arguments);w(this,"type","ObjectLiteral")}},Xs=class extends St{constructor(t,r,n){super();w(this,"type","BinaryExpression");this.operator=t,this.left=r,this.right=n}},HN=class extends St{constructor(t,r){super();w(this,"type","FilterExpression");this.operand=t,this.filter=r}},KN=class extends Qt{constructor(t,r){super();w(this,"type","FilterStatement");this.filter=t,this.body=r}},QN=class extends St{constructor(t,r){super();w(this,"type","SelectExpression");this.lhs=t,this.test=r}},JN=class extends St{constructor(t,r,n){super();w(this,"type","TestExpression");this.operand=t,this.negate=r,this.test=n}},XN=class extends St{constructor(t,r){super();w(this,"type","UnaryExpression");this.operator=t,this.argument=r}},YN=class extends St{constructor(t=void 0,r=void 0,n=void 0){super();w(this,"type","SliceExpression");this.start=t,this.stop=r,this.step=n}},ZN=class extends St{constructor(t,r){super();w(this,"type","KeywordArgumentExpression");this.key=t,this.value=r}},eD=class extends St{constructor(t){super();w(this,"type","SpreadExpression");this.argument=t}},tD=class extends Qt{constructor(t,r,n){super();w(this,"type","CallStatement");this.call=t,this.callerArgs=r,this.body=n}},rD=class extends St{constructor(t,r,n){super();w(this,"type","Ternary");this.condition=t,this.trueExpr=r,this.falseExpr=n}};By=class extends Error{},Uy=class extends Error{},ir=class{constructor(e=void 0){w(this,"type","RuntimeValue");w(this,"value");w(this,"builtins",new Map);this.value=e}__bool__(){return new ae(!!this.value)}toString(){return String(this.value)}},de=class extends ir{constructor(){super(...arguments);w(this,"type","IntegerValue")}},ze=class extends ir{constructor(){super(...arguments);w(this,"type","FloatValue")}toString(){return this.value%1===0?this.value.toFixed(1):this.value.toString()}},Z=class extends ir{constructor(){super(...arguments);w(this,"type","StringValue");w(this,"builtins",new Map([["upper",new Le(()=>new Z(this.value.toUpperCase()))],["lower",new Le(()=>new Z(this.value.toLowerCase()))],["strip",new Le(()=>new Z(this.value.trim()))],["title",new Le(()=>new Z(aD(this.value)))],["capitalize",new Le(()=>new Z(this.value.charAt(0).toUpperCase()+this.value.slice(1)))],["length",new de(this.value.length)],["rstrip",new Le(()=>new Z(this.value.trimEnd()))],["lstrip",new Le(()=>new Z(this.value.trimStart()))],["startswith",new Le(t=>{if(t.length===0)throw new Error("startswith() requires at least one argument");let r=t[0];if(r instanceof Z)return new ae(this.value.startsWith(r.value));if(r instanceof _e){for(let n of r.value){if(!(n instanceof Z))throw new Error("startswith() tuple elements must be strings");if(this.value.startsWith(n.value))return new ae(!0)}return new ae(!1)}throw new Error("startswith() argument must be a string or tuple of strings")})],["endswith",new Le(t=>{if(t.length===0)throw new Error("endswith() requires at least one argument");let r=t[0];if(r instanceof Z)return new ae(this.value.endsWith(r.value));if(r instanceof _e){for(let n of r.value){if(!(n instanceof Z))throw new Error("endswith() tuple elements must be strings");if(this.value.endsWith(n.value))return new ae(!0)}return new ae(!1)}throw new Error("endswith() argument must be a string or tuple of strings")})],["split",new Le(t=>{let r=t[0]??new Be;if(!(r instanceof Z||r instanceof Be))throw new Error("sep argument must be a string or null");let n=t[1]??new de(-1);if(!(n instanceof de))throw new Error("maxsplit argument must be a number");let s=[];if(r instanceof Be){let a=this.value.trimStart();for(let{0:o,index:i}of a.matchAll(/\S+/g)){if(n.value!==-1&&s.length>=n.value&&i!==void 0){s.push(o+a.slice(i+o.length));break}s.push(o)}}else{if(r.value==="")throw new Error("empty separator");s=this.value.split(r.value),n.value!==-1&&s.length>n.value&&s.push(s.splice(n.value).join(r.value))}return new _e(s.map(a=>new Z(a)))})],["replace",new Le(t=>{if(t.length<2)throw new Error("replace() requires at least two arguments");let r=t[0],n=t[1];if(!(r instanceof Z&&n instanceof Z))throw new Error("replace() arguments must be strings");let s;if(t.length>2?t[2].type==="KeywordArgumentsValue"?s=t[2].value.get("count")??new Be:s=t[2]:s=new Be,!(s instanceof de||s instanceof Be))throw new Error("replace() count argument must be a number or null");return new Z(cD(this.value,r.value,n.value,s.value))})]]))}},ae=class extends ir{constructor(){super(...arguments);w(this,"type","BooleanValue")}},uD=/[\x7f-\uffff]/g;tt=class extends ir{constructor(){super(...arguments);w(this,"type","ObjectValue");w(this,"builtins",new Map([["get",new Le(([t,r])=>{if(!(t instanceof Z))throw new Error(`Object key must be a string: got ${t.type}`);return this.value.get(t.value)??r??new Be})],["items",new Le(()=>this.items())],["keys",new Le(()=>this.keys())],["values",new Le(()=>this.values())],["dictsort",new Le(t=>{let r=new Map,n=t.filter(l=>l instanceof ua?(r=l.value,!1):!0),s=n.at(0)??r.get("case_sensitive")??new ae(!1);if(!(s instanceof ae))throw new Error("case_sensitive must be a boolean");let a=n.at(1)??r.get("by")??new Z("key");if(!(a instanceof Z))throw new Error("by must be a string");if(!["key","value"].includes(a.value))throw new Error("by must be either 'key' or 'value'");let o=n.at(2)??r.get("reverse")??new ae(!1);if(!(o instanceof ae))throw new Error("reverse must be a boolean");let i=Array.from(this.value.entries()).map(([l,c])=>new _e([new Z(l),c])).sort((l,c)=>{let u=a.value==="key"?0:1,p=l.value[u],f=c.value[u],m=Ap(p,f,s.value);return o.value?-m:m});return new _e(i)})]]))}__bool__(){return new ae(this.value.size>0)}items(){return new _e(Array.from(this.value.entries()).map(([t,r])=>new _e([new Z(t),r])))}keys(){return new _e(Array.from(this.value.keys()).map(t=>new Z(t)))}values(){return new _e(Array.from(this.value.values()))}toString(){return un(this,{},0,!1)}},ua=class extends tt{constructor(){super(...arguments);w(this,"type","KeywordArgumentsValue")}},_e=class extends ir{constructor(){super(...arguments);w(this,"type","ArrayValue");w(this,"builtins",new Map([["length",new de(this.value.length)]]))}__bool__(){return new ae(this.value.length>0)}toString(){return un(this,{},0,!1)}},$y=class extends _e{constructor(){super(...arguments);w(this,"type","TupleValue")}},Le=class extends ir{constructor(){super(...arguments);w(this,"type","FunctionValue")}},Be=class extends ir{constructor(){super(...arguments);w(this,"type","NullValue")}},Oe=class extends ir{constructor(){super(...arguments);w(this,"type","UndefinedValue")}},on=class{constructor(e){w(this,"variables",new Map([["namespace",new Le(e=>{if(e.length===0)return new tt(new Map);if(e.length!==1||!(e[0]instanceof tt))throw new Error("`namespace` expects either zero arguments or a single object argument");return e[0]})]]));w(this,"tests",new Map([["boolean",e=>e.type==="BooleanValue"],["callable",e=>e instanceof Le],["odd",e=>{if(!(e instanceof de))throw new Error(`cannot odd on ${e.type}`);return e.value%2!==0}],["even",e=>{if(!(e instanceof de))throw new Error(`cannot even on ${e.type}`);return e.value%2===0}],["false",e=>e.type==="BooleanValue"&&!e.value],["true",e=>e.type==="BooleanValue"&&e.value],["none",e=>e.type==="NullValue"],["string",e=>e.type==="StringValue"],["number",e=>e instanceof de||e instanceof ze],["integer",e=>e instanceof de],["iterable",e=>e.type==="ArrayValue"||e.type==="StringValue"],["mapping",e=>e instanceof tt],["sequence",e=>e instanceof _e||e instanceof tt||e instanceof Z],["lower",e=>{let t=e.value;return e.type==="StringValue"&&t===t.toLowerCase()}],["upper",e=>{let t=e.value;return e.type==="StringValue"&&t===t.toUpperCase()}],["none",e=>e.type==="NullValue"],["defined",e=>e.type!=="UndefinedValue"],["undefined",e=>e.type==="UndefinedValue"],["equalto",(e,t)=>e.value===t.value],["eq",(e,t)=>e.value===t.value]]));this.parent=e}set(e,t){return this.declareVariable(e,ai(t))}declareVariable(e,t){if(this.variables.has(e))throw new SyntaxError(`Variable already declared: ${e}`);return this.variables.set(e,t),t}setVariable(e,t){return this.variables.set(e,t),t}resolve(e){if(this.variables.has(e))return this;if(this.parent)return this.parent.resolve(e);throw new Error(`Unknown variable: ${e}`)}lookupVariable(e){try{return this.resolve(e).variables.get(e)??new Oe}catch{return new Oe}}};pD=class{constructor(e){w(this,"global");this.global=e??new on}run(e){return this.evaluate(e,this.global)}evaluateBinaryExpression(e,t){let r=this.evaluate(e.left,t);switch(e.operator.value){case"and":return r.__bool__().value?this.evaluate(e.right,t):r;case"or":return r.__bool__().value?r:this.evaluate(e.right,t)}let n=this.evaluate(e.right,t);switch(e.operator.value){case"==":return new ae(r.value==n.value);case"!=":return new ae(r.value!=n.value)}if(r instanceof Oe||n instanceof Oe){if(n instanceof Oe&&["in","not in"].includes(e.operator.value))return new ae(e.operator.value==="not in");throw new Error(`Cannot perform operation ${e.operator.value} on undefined values`)}else{if(r instanceof Be||n instanceof Be)throw new Error("Cannot perform operation on null values");if(e.operator.value==="~")return new Z(r.value.toString()+n.value.toString());if((r instanceof de||r instanceof ze)&&(n instanceof de||n instanceof ze)){let s=r.value,a=n.value;switch(e.operator.value){case"+":case"-":case"*":{let o=e.operator.value==="+"?s+a:e.operator.value==="-"?s-a:s*a;return r instanceof ze||n instanceof ze?new ze(o):new de(o)}case"/":return new ze(s/a);case"%":{let o=s%a;return r instanceof ze||n instanceof ze?new ze(o):new de(o)}case"<":return new ae(s<a);case">":return new ae(s>a);case">=":return new ae(s>=a);case"<=":return new ae(s<=a)}}else if(r instanceof _e&&n instanceof _e)switch(e.operator.value){case"+":return new _e(r.value.concat(n.value))}else if(n instanceof _e){let s=n.value.find(a=>a.value===r.value)!==void 0;switch(e.operator.value){case"in":return new ae(s);case"not in":return new ae(!s)}}}if(r instanceof Z||n instanceof Z)switch(e.operator.value){case"+":return new Z(r.value.toString()+n.value.toString())}if(r instanceof Z&&n instanceof Z)switch(e.operator.value){case"in":return new ae(n.value.includes(r.value));case"not in":return new ae(!n.value.includes(r.value))}if(r instanceof Z&&n instanceof tt)switch(e.operator.value){case"in":return new ae(n.value.has(r.value));case"not in":return new ae(!n.value.has(r.value))}throw new SyntaxError(`Unknown operator "${e.operator.value}" between ${r.type} and ${n.type}`)}evaluateArguments(e,t){let r=[],n=new Map;for(let s of e)if(s.type==="SpreadExpression"){let a=s,o=this.evaluate(a.argument,t);if(!(o instanceof _e))throw new Error(`Cannot unpack non-iterable type: ${o.type}`);for(let i of o.value)r.push(i)}else if(s.type==="KeywordArgumentExpression"){let a=s;n.set(a.key.value,this.evaluate(a.value,t))}else{if(n.size>0)throw new Error("Positional arguments must come before keyword arguments");r.push(this.evaluate(s,t))}return[r,n]}applyFilter(e,t,r){if(t.type==="Identifier"){let n=t;if(n.value==="safe")return e;if(n.value==="tojson")return new Z(un(e,{}));if(e instanceof _e)switch(n.value){case"list":return e;case"first":return e.value[0];case"last":return e.value[e.value.length-1];case"length":return new de(e.value.length);case"reverse":return new _e(e.value.slice().reverse());case"sort":return new _e(e.value.slice().sort((s,a)=>Ap(s,a,!1)));case"join":return new Z(e.value.map(s=>s.value).join(""));case"string":return new Z(un(e,{},0,!1));case"unique":{let s=new Set,a=[];for(let o of e.value)s.has(o.value)||(s.add(o.value),a.push(o));return new _e(a)}default:throw new Error(`Unknown ArrayValue filter: ${n.value}`)}else if(e instanceof Z)switch(n.value){case"length":case"upper":case"lower":case"title":case"capitalize":{let s=e.builtins.get(n.value);if(s instanceof Le)return s.value([],r);if(s instanceof de)return s;throw new Error(`Unknown StringValue filter: ${n.value}`)}case"trim":return new Z(e.value.trim());case"indent":return new Z(e.value.split(`
|
|
12
12
|
`).map((s,a)=>a===0||s.length===0?s:" "+s).join(`
|
|
13
|
-
`));case"join":case"string":return e;case"int":{let s=parseInt(e.value,10);return new de(isNaN(s)?0:s)}case"float":{let s=parseFloat(e.value);return new ze(isNaN(s)?0:s)}default:throw new Error(`Unknown StringValue filter: ${n.value}`)}else if(e instanceof de||e instanceof ze)switch(n.value){case"abs":return e instanceof de?new de(Math.abs(e.value)):new ze(Math.abs(e.value));case"int":return new de(Math.floor(e.value));case"float":return new ze(e.value);case"string":return new Z(e.toString());default:throw new Error(`Unknown NumericValue filter: ${n.value}`)}else if(e instanceof tt)switch(n.value){case"items":return new _e(Array.from(e.value.entries()).map(([s,a])=>new _e([new Z(s),a])));case"length":return new de(e.value.size);default:{let s=e.builtins.get(n.value);if(s)return s instanceof Le?s.value([],r):s;throw new Error(`Unknown ObjectValue filter: ${n.value}`)}}else if(e instanceof ae)switch(n.value){case"bool":return new ae(e.value);case"int":return new de(e.value?1:0);case"float":return new ze(e.value?1:0);case"string":return new Z(e.value?"true":"false");default:throw new Error(`Unknown BooleanValue filter: ${n.value}`)}throw new Error(`Cannot apply filter "${n.value}" to type: ${e.type}`)}else if(t.type==="CallExpression"){let n=t;if(n.callee.type!=="Identifier")throw new Error(`Unknown filter: ${n.callee.type}`);let s=n.callee.value;if(s==="tojson"){let[,a]=this.evaluateArguments(n.args,r),o=a.get("indent")??new Be;if(!(o instanceof de||o instanceof Be))throw new Error("If set, indent must be a number");let i=a.get("ensure_ascii")??new ae(!1);if(!(i instanceof ae))throw new Error("If set, ensure_ascii must be a boolean");let l=a.get("sort_keys")??new ae(!1);if(!(l instanceof ae))throw new Error("If set, sort_keys must be a boolean");let c=a.get("separators")??new Be,u=null;if(c instanceof _e||c instanceof
|
|
13
|
+
`));case"join":case"string":return e;case"int":{let s=parseInt(e.value,10);return new de(isNaN(s)?0:s)}case"float":{let s=parseFloat(e.value);return new ze(isNaN(s)?0:s)}default:throw new Error(`Unknown StringValue filter: ${n.value}`)}else if(e instanceof de||e instanceof ze)switch(n.value){case"abs":return e instanceof de?new de(Math.abs(e.value)):new ze(Math.abs(e.value));case"int":return new de(Math.floor(e.value));case"float":return new ze(e.value);case"string":return new Z(e.toString());default:throw new Error(`Unknown NumericValue filter: ${n.value}`)}else if(e instanceof tt)switch(n.value){case"items":return new _e(Array.from(e.value.entries()).map(([s,a])=>new _e([new Z(s),a])));case"length":return new de(e.value.size);default:{let s=e.builtins.get(n.value);if(s)return s instanceof Le?s.value([],r):s;throw new Error(`Unknown ObjectValue filter: ${n.value}`)}}else if(e instanceof ae)switch(n.value){case"bool":return new ae(e.value);case"int":return new de(e.value?1:0);case"float":return new ze(e.value?1:0);case"string":return new Z(e.value?"true":"false");default:throw new Error(`Unknown BooleanValue filter: ${n.value}`)}throw new Error(`Cannot apply filter "${n.value}" to type: ${e.type}`)}else if(t.type==="CallExpression"){let n=t;if(n.callee.type!=="Identifier")throw new Error(`Unknown filter: ${n.callee.type}`);let s=n.callee.value;if(s==="tojson"){let[,a]=this.evaluateArguments(n.args,r),o=a.get("indent")??new Be;if(!(o instanceof de||o instanceof Be))throw new Error("If set, indent must be a number");let i=a.get("ensure_ascii")??new ae(!1);if(!(i instanceof ae))throw new Error("If set, ensure_ascii must be a boolean");let l=a.get("sort_keys")??new ae(!1);if(!(l instanceof ae))throw new Error("If set, sort_keys must be a boolean");let c=a.get("separators")??new Be,u=null;if(c instanceof _e||c instanceof $y){if(c.value.length!==2)throw new Error("separators must be a tuple of two strings");let[p,f]=c.value;if(!(p instanceof Z)||!(f instanceof Z))throw new Error("separators must be a tuple of two strings");u=[p.value,f.value]}else if(!(c instanceof Be))throw new Error("If set, separators must be a tuple of two strings");return new Z(un(e,{indent:o.value,ensureAscii:i.value,sortKeys:l.value,separators:u}))}else if(s==="join"){let a;if(e instanceof Z)a=Array.from(e.value);else if(e instanceof _e)a=e.value.map(c=>c.value);else throw new Error(`Cannot apply filter "${s}" to type: ${e.type}`);let[o,i]=this.evaluateArguments(n.args,r),l=o.at(0)??i.get("separator")??new Z("");if(!(l instanceof Z))throw new Error("separator must be a string");return new Z(a.join(l.value))}else if(s==="int"||s==="float"){let[a,o]=this.evaluateArguments(n.args,r),i=a.at(0)??o.get("default")??(s==="int"?new de(0):new ze(0));if(e instanceof Z){let l=s==="int"?parseInt(e.value,10):parseFloat(e.value);return isNaN(l)?i:s==="int"?new de(l):new ze(l)}else{if(e instanceof de||e instanceof ze)return e;if(e instanceof ae)return s==="int"?new de(e.value?1:0):new ze(e.value?1:0);throw new Error(`Cannot apply filter "${s}" to type: ${e.type}`)}}else if(s==="default"){let[a,o]=this.evaluateArguments(n.args,r),i=a[0]??new Z(""),l=a[1]??o.get("boolean")??new ae(!1);if(!(l instanceof ae))throw new Error("`default` filter flag must be a boolean");return e instanceof Oe||l.value&&!e.__bool__().value?i:e}if(e instanceof _e){switch(s){case"sort":{let[a,o]=this.evaluateArguments(n.args,r),i=a.at(0)??o.get("reverse")??new ae(!1);if(!(i instanceof ae))throw new Error("reverse must be a boolean");let l=a.at(1)??o.get("case_sensitive")??new ae(!1);if(!(l instanceof ae))throw new Error("case_sensitive must be a boolean");let c=a.at(2)??o.get("attribute")??new Be;if(!(c instanceof Z||c instanceof de||c instanceof Be))throw new Error("attribute must be a string, integer, or null");let u=p=>{if(c instanceof Be)return p;let f=c instanceof de?String(c.value):c.value;return Vy(p,f)};return new _e(e.value.slice().sort((p,f)=>{let m=u(p),y=u(f),v=Ap(m,y,l.value);return i.value?-v:v}))}case"selectattr":case"rejectattr":{let a=s==="selectattr";if(e.value.some(p=>!(p instanceof tt)))throw new Error(`\`${s}\` can only be applied to array of objects`);if(n.args.some(p=>p.type!=="StringLiteral"))throw new Error(`arguments of \`${s}\` must be strings`);let[o,i,l]=n.args.map(p=>this.evaluate(p,r)),c;if(i){let p=r.tests.get(i.value);if(!p)throw new Error(`Unknown test: ${i.value}`);c=p}else c=(...p)=>p[0].__bool__().value;let u=e.value.filter(p=>{let f=p.value.get(o.value),m=f?c(f,l):!1;return a?m:!m});return new _e(u)}case"map":{let[,a]=this.evaluateArguments(n.args,r);if(a.has("attribute")){let o=a.get("attribute");if(!(o instanceof Z))throw new Error("attribute must be a string");let i=a.get("default"),l=e.value.map(c=>{if(!(c instanceof tt))throw new Error("items in map must be an object");let u=Vy(c,o.value);return u instanceof Oe?i??new Oe:u});return new _e(l)}else throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${s}`)}else if(e instanceof Z){switch(s){case"indent":{let[a,o]=this.evaluateArguments(n.args,r),i=a.at(0)??o.get("width")??new de(4);if(!(i instanceof de))throw new Error("width must be a number");let l=a.at(1)??o.get("first")??new ae(!1),c=a.at(2)??o.get("blank")??new ae(!1),u=e.value.split(`
|
|
14
14
|
`),p=" ".repeat(i.value),f=u.map((m,y)=>!l.value&&y===0||!c.value&&m.length===0?m:p+m);return new Z(f.join(`
|
|
15
|
-
`))}case"replace":{let a=e.builtins.get("replace");if(!(a instanceof Le))throw new Error("replace filter not available");let[o,i]=this.evaluateArguments(n.args,r);return a.value([...o,new ua(i)],r)}}throw new Error(`Unknown StringValue filter: ${s}`)}else if(e instanceof tt){let a=e.builtins.get(s);if(a&&a instanceof Le){let[o,i]=this.evaluateArguments(n.args,r);return i.size>0&&o.push(new ua(i)),a.value(o,r)}throw new Error(`Unknown ObjectValue filter: ${s}`)}else throw new Error(`Cannot apply filter "${s}" to type: ${e.type}`)}throw new Error(`Unknown filter: ${t.type}`)}evaluateFilterExpression(e,t){let r=this.evaluate(e.operand,t);return this.applyFilter(r,e.filter,t)}evaluateTestExpression(e,t){let r=this.evaluate(e.operand,t),n=t.tests.get(e.test.value);if(!n)throw new Error(`Unknown test: ${e.test.value}`);let s=n(r);return new ae(e.negate?!s:s)}evaluateSelectExpression(e,t){return this.evaluate(e.test,t).__bool__().value?this.evaluate(e.lhs,t):new Oe}evaluateUnaryExpression(e,t){let r=this.evaluate(e.argument,t);switch(e.operator.value){case"not":return new ae(!r.value);default:throw new SyntaxError(`Unknown operator: ${e.operator.value}`)}}evaluateTernaryExpression(e,t){return this.evaluate(e.condition,t).__bool__().value?this.evaluate(e.trueExpr,t):this.evaluate(e.falseExpr,t)}evalProgram(e,t){return this.evaluateBlock(e.body,t)}evaluateBlock(e,t){let r="";for(let n of e){let s=this.evaluate(n,t);s.type!=="NullValue"&&s.type!=="UndefinedValue"&&(r+=s.toString())}return new Z(r)}evaluateIdentifier(e,t){return t.lookupVariable(e.value)}evaluateCallExpression(e,t){let[r,n]=this.evaluateArguments(e.args,t);n.size>0&&r.push(new ua(n));let s=this.evaluate(e.callee,t);if(s.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${s.type}`);return s.value(r,t)}evaluateSliceExpression(e,t,r){if(!(e instanceof _e||e instanceof Z))throw new Error("Slice object must be an array or string");let n=this.evaluate(t.start,r),s=this.evaluate(t.stop,r),a=this.evaluate(t.step,r);if(!(n instanceof de||n instanceof Oe))throw new Error("Slice start must be numeric or undefined");if(!(s instanceof de||s instanceof Oe))throw new Error("Slice stop must be numeric or undefined");if(!(a instanceof de||a instanceof Oe))throw new Error("Slice step must be numeric or undefined");return e instanceof _e?new _e(
|
|
16
|
-
`,hD="{%- ",fD=" -%}";TD=class{constructor(e){w(this,"parsed");let t=ON(e,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=nD(t)}render(e){let t=new on;if(dD(t),e)for(let[s,a]of Object.entries(e))t.set(s,a);return new pD(t).run(this.parsed).value}format(e){return _D(this.parsed,e?.indent||" ")}},Dt=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}_call(...e){throw Error("Must implement _call method in subclass")}},ED={txt:"text/plain",html:"text/html",css:"text/css",js:"text/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif"},fi=class Sv{constructor(t){if(this.filePath=t,this.headers=new Headers,this.exists=At.existsSync(t),this.exists){this.status=200,this.statusText="OK";let r=At.statSync(t);this.headers.set("content-length",r.size.toString()),this.updateContentType();let n=At.createReadStream(t);this.body=new ReadableStream({start(s){n.on("data",a=>s.enqueue(a)),n.on("end",()=>s.close()),n.on("error",a=>s.error(a))},cancel(){n.destroy()}})}else this.status=404,this.statusText="Not Found",this.body=null}updateContentType(){let t=this.filePath.toString().split(".").pop().toLowerCase();this.headers.set("content-type",ED[t]??"application/octet-stream")}clone(){let t=new Sv(this.filePath);return t.exists=this.exists,t.status=this.status,t.statusText=this.statusText,t.headers=new Headers(this.headers),t}async arrayBuffer(){return(await At.promises.readFile(this.filePath)).buffer}async blob(){let t=await At.promises.readFile(this.filePath);return new Blob([t],{type:this.headers.get("content-type")})}async text(){return await At.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}},Qp=class{constructor(e){this._mt=new Uint32Array(624),this._idx=625,this._gauss_next=null,this._random_fn=this.random.bind(this),this.seed(e)}seed(e){if(e==null)if(pe.IS_CRYPTO_AVAILABLE){let o=new Uint32Array(1);crypto.getRandomValues(o),e=o[0]}else e=Date.now()>>>0;let t=this._mt,r=(o,i)=>Math.imul(o,i)>>>0,n=[];for(let o=e||0;o>0;o=Math.floor(o/4294967296))n.push(o&4294967295);n.length||n.push(0),t[0]=19650218;for(let o=1;o<624;++o)t[o]=r(1812433253,t[o-1]^t[o-1]>>>30)+o>>>0;let s=1,a=0;for(let o=Math.max(624,n.length);o>0;--o,++s,++a)s>=624&&(t[0]=t[623],s=1),a>=n.length&&(a=0),t[s]=(t[s]^r(t[s-1]^t[s-1]>>>30,1664525))+n[a]+a>>>0;for(let o=623;o>0;--o,++s)s>=624&&(t[0]=t[623],s=1),t[s]=(t[s]^r(t[s-1]^t[s-1]>>>30,1566083941))-s>>>0;t[0]=2147483648,this._idx=624,this._gauss_next=null}_int32(){let e=this._mt;if(this._idx>=624){for(let r=0;r<624;++r){let n=e[r]&2147483648|e[(r+1)%624]&2147483647;e[r]=(e[(r+397)%624]^n>>>1^(n&1?2567483615:0))>>>0}this._idx=0}let t=e[this._idx++];return t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0}random(){return((this._int32()>>>5)*67108864+(this._int32()>>>6))/9007199254740992}gauss(e=0,t=1){let r=this._gauss_next;if(this._gauss_next=null,r===null){let n=this.random()*2*Math.PI,s=Math.sqrt(-2*Math.log(1-this.random()));r=Math.cos(n)*s,this._gauss_next=Math.sin(n)*s}return e+r*t}shuffle(e){for(let t=e.length-1;t>0;--t){let r=32-Math.clz32(t+1),n=this._int32()>>>32-r;for(;n>t;)n=this._int32()>>>32-r;let s=e[t];e[t]=e[n],e[n]=s}}choices(e,t){return e[Iv(this._random_fn,t)]}};rr=new Qp,ba=Object.freeze({Random:Qp,seed:rr.seed.bind(rr),random:rr.random.bind(rr),gauss:rr.gauss.bind(rr),shuffle:rr.shuffle.bind(rr),choices:rr.choices.bind(rr)}),kD=e=>Iv(ba.random,e),CD=new Qp,Pv=class{constructor(e){this.path=e}async match(e){let t=ar.join(this.path,e),r=new fi(t);if(r.exists)return r}async put(e,t,r=void 0){let n=ar.join(this.path,e),s=pe.IS_PROCESS_AVAILABLE?process.pid:Date.now(),a=CD._int32().toString(36),o=n+`.tmp.${s}.${a}`;try{let i=t.headers.get("Content-Length"),l=parseInt(i??"0"),c=0;await At.promises.mkdir(ar.dirname(n),{recursive:!0});let u=At.createWriteStream(o),p=t.body.getReader();for(;;){let{done:f,value:m}=await p.read();if(f)break;await new Promise((v,x)=>{u.write(m,M=>{if(M){x(M);return}v()})}),c+=m.length;let y=l?c/l*100:0;r?.({progress:y,loaded:c,total:l})}await new Promise((f,m)=>{u.close(y=>y?m(y):f())}),await At.promises.rename(o,n)}catch(i){try{await At.promises.unlink(o)}catch{}throw i}}async delete(e){let t=ar.join(this.path,e);try{return await At.promises.unlink(t),!0}catch{return!1}}},AD={400:"Bad request error occurred while trying to load file",401:"Unauthorized access to file",403:"Forbidden access to file",404:"Could not locate file",408:"Request timeout error occurred while trying to load file",500:"Internal server error error occurred while trying to load file",502:"Bad gateway error occurred while trying to load file",503:"Service unavailable error occurred while trying to load file",504:"Gateway timeout error occurred while trying to load file"},Vy=100,SD=/^(\b[\w\-.]+\b\/)?\b[\w\-.]{1,96}\b$/;Rv="SHA-256",OD="experimental_transformers-hash-cache",Wy=e=>({algorithm:Rv,value:e}),qy=(Hd=class{constructor(){so(this,ga,null);w(this,"_getHashCache",()=>(ut(this,ga)??ao(this,ga,caches.open(OD)),ut(this,ga)));w(this,"match",async e=>{let t=await this._getFileHash(e);if(t)try{let[r]=await navigator.crossOriginStorage.requestFileHandles([Wy(t)]),n=await r.getFile();return new Response(n,{headers:{"Content-Length":String(n.size)}})}catch{return}});w(this,"put",async(e,t)=>{let r=await this._getFileHash(e);if(r){let n=await t.blob();await this._storeBlobInCOS(n,r)}else this._processAndStore(e,t.body)});w(this,"_storeBlobInCOS",async(e,t)=>{let[r]=await navigator.crossOriginStorage.requestFileHandles([Wy(t)],{create:!0}),n=await r.createWritable();await n.write(e),await n.close()});w(this,"_processAndStore",async(e,t)=>{try{let r=[];for await(let a of t)r.push(a);let n=new Blob(r),s=await this._getBlobHash(n);await this._storeBlobInCOS(n,s);try{await(await this._getHashCache()).put(e,new Response(s))}catch{}}catch{}});w(this,"delete",async e=>{try{return await(await this._getHashCache()).delete(e)}catch{return!1}});w(this,"_getFileHash",async e=>{try{let t=await this._getHashCache(),r=await t.match(e);if(r)return r.text();let n=await this._getLfsFileHash(e);return n?(await t.put(e,new Response(n)),n):null}catch{return null}});w(this,"_getLfsFileHash",async e=>{if(!e.includes("/resolve/"))return null;let t=e.replace("/resolve/","/raw/");try{let n=(await fetch(t).then(s=>s.text())).match(/^oid sha256:([0-9a-f]+)$/m);return n?n[1]:null}catch{return null}});w(this,"_getBlobHash",async e=>{let t=await e.arrayBuffer(),r=await crypto.subtle.digest(Rv,t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")})}},ga=new WeakMap,w(Hd,"isAvailable",()=>typeof navigator<"u"&&"crossOriginStorage"in navigator),Hd);FD=(_v=class{constructor(e){so(this,wa);so(this,ht);ao(this,wa,e),ao(this,ht,new Map)}get(e){if(!ut(this,ht).has(e))return;let t=ut(this,ht).get(e);return ut(this,ht).delete(e),ut(this,ht).set(e,t),t}put(e,t){ut(this,ht).has(e)&&ut(this,ht).delete(e),ut(this,ht).set(e,t),ut(this,ht).size>ut(this,wa)&&ut(this,ht).delete(ut(this,ht).keys().next().value)}delete(e){return ut(this,ht).delete(e)}clear(){ut(this,ht).clear()}},wa=new WeakMap,ht=new WeakMap,_v),ND=100,Ud=new FD(ND);Uv=class{constructor(e){if(this.size=e|0,this.size<=1||!Bv(this.size))throw new Error("FFT size must be a power of two larger than 1");this._csize=e<<1,this.table=new Float64Array(this.size*2);for(let r=0;r<this.table.length;r+=2){let n=Math.PI*r/this.size;this.table[r]=Math.cos(n),this.table[r+1]=-Math.sin(n)}let t=0;for(let r=1;this.size>r;r<<=1)++t;this._width=t%2===0?t-1:t,this._bitrev=new Int32Array(1<<this._width);for(let r=0;r<this._bitrev.length;++r){this._bitrev[r]=0;for(let n=0;n<this._width;n+=2){let s=this._width-n-2;this._bitrev[r]|=(r>>>n&3)<<s}}}createComplexArray(){return new Float64Array(this._csize)}fromComplexArray(e,t){let r=t||new Array(e.length>>>1);for(let n=0;n<e.length;n+=2)r[n>>>1]=e[n];return r}toComplexArray(e,t){let r=t||this.createComplexArray();for(let n=0;n<r.length;n+=2)r[n]=e[n>>>1],r[n+1]=0;return r}transform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._transform4(e,t,1)}realTransform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._realTransform4(e,t,1)}inverseTransform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._transform4(e,t,-1);for(let r=0;r<e.length;++r)e[r]/=this.size}_transform4(e,t,r){let n=this._csize,a=1<<this._width,o=n/a<<1,i,l,c=this._bitrev;if(o===4)for(i=0,l=0;i<n;i+=o,++l){let p=c[l];this._singleTransform2(t,e,i,p,a)}else for(i=0,l=0;i<n;i+=o,++l){let p=c[l];this._singleTransform4(t,e,i,p,a,r)}let u=this.table;for(a>>=2;a>=2;a>>=2){o=n/a<<1;let p=o>>>2;for(i=0;i<n;i+=o){let f=i+p-1;for(let m=i,y=0;m<f;m+=2,y+=a){let v=m,x=v+p,M=x+p,T=M+p,A=e[v],C=e[v+1],S=e[x],O=e[x+1],E=e[M],K=e[M+1],$=e[T],V=e[T+1],Q=u[y],G=r*u[y+1],q=S*Q-O*G,D=S*G+O*Q,R=u[2*y],re=r*u[2*y+1],ie=E*R-K*re,F=E*re+K*R,N=u[3*y],z=r*u[3*y+1],Y=$*N-V*z,fe=$*z+V*N,H=A+ie,Ne=C+F,Xe=A-ie,nt=C-F,We=q+Y,gt=D+fe,Pe=r*(q-Y),ye=r*(D-fe);e[v]=H+We,e[v+1]=Ne+gt,e[x]=Xe+ye,e[x+1]=nt-Pe,e[M]=H-We,e[M+1]=Ne-gt,e[T]=Xe-ye,e[T+1]=nt+Pe}}}}_singleTransform2(e,t,r,n,s){let a=e[n],o=e[n+1],i=e[n+s],l=e[n+s+1];t[r]=a+i,t[r+1]=o+l,t[r+2]=a-i,t[r+3]=o-l}_singleTransform4(e,t,r,n,s,a){let o=s*2,i=s*3,l=e[n],c=e[n+1],u=e[n+s],p=e[n+s+1],f=e[n+o],m=e[n+o+1],y=e[n+i],v=e[n+i+1],x=l+f,M=c+m,T=l-f,A=c-m,C=u+y,S=p+v,O=a*(u-y),E=a*(p-v);t[r]=x+C,t[r+1]=M+S,t[r+2]=T+E,t[r+3]=A-O,t[r+4]=x-C,t[r+5]=M-S,t[r+6]=T-E,t[r+7]=A+O}_realTransform4(e,t,r){let n=this._csize,a=1<<this._width,o=n/a<<1,i,l,c=this._bitrev;if(o===4)for(i=0,l=0;i<n;i+=o,++l){let f=c[l];this._singleRealTransform2(t,e,i,f>>>1,a>>>1)}else for(i=0,l=0;i<n;i+=o,++l){let f=c[l];this._singleRealTransform4(t,e,i,f>>>1,a>>>1,r)}let u=this.table;for(a>>=2;a>=2;a>>=2){o=n/a<<1;let f=o>>>1,m=f>>>1,y=m>>>1;for(i=0;i<n;i+=o)for(let v=0,x=0;v<=y;v+=2,x+=a){let M=i+v,T=M+m,A=T+m,C=A+m,S=e[M],O=e[M+1],E=e[T],K=e[T+1],$=e[A],V=e[A+1],Q=e[C],G=e[C+1],q=S,D=O,R=u[x],re=r*u[x+1],ie=E*R-K*re,F=E*re+K*R,N=u[2*x],z=r*u[2*x+1],Y=$*N-V*z,fe=$*z+V*N,H=u[3*x],Ne=r*u[3*x+1],Xe=Q*H-G*Ne,nt=Q*Ne+G*H,We=q+Y,gt=D+fe,Pe=q-Y,ye=D-fe,qe=ie+Xe,Yt=F+nt,ke=r*(ie-Xe),Ie=r*(F-nt);if(e[M]=We+qe,e[M+1]=gt+Yt,e[T]=Pe+Ie,e[T+1]=ye-ke,v===0){e[A]=We-qe,e[A+1]=gt-Yt;continue}if(v===y)continue;let An=i+m-v,xs=i+f-v;e[An]=Pe-r*Ie,e[An+1]=-ye-r*ke,e[xs]=We-r*qe,e[xs+1]=-gt+r*Yt}}let p=n>>>1;for(let f=2;f<p;f+=2)e[n-f]=e[f],e[n-f+1]=-e[f+1]}_singleRealTransform2(e,t,r,n,s){let a=e[n],o=e[n+s];t[r]=a+o,t[r+1]=0,t[r+2]=a-o,t[r+3]=0}_singleRealTransform4(e,t,r,n,s,a){let o=s*2,i=s*3,l=e[n],c=e[n+s],u=e[n+o],p=e[n+i],f=l+u,m=l-u,y=c+p,v=a*(c-p);t[r]=f+y,t[r+1]=0,t[r+2]=m,t[r+3]=-v,t[r+4]=f-y,t[r+5]=0,t[r+6]=m,t[r+7]=v}},jD=class{constructor(e){let t=2*(e-1),r=2*(2*e-1),n=2**Math.ceil(Math.log2(r));this.bufferSize=n,this._a=t;let s=new Float64Array(r),a=new Float64Array(n);this._chirpBuffer=new Float64Array(n),this._buffer1=new Float64Array(n),this._buffer2=new Float64Array(n),this._outBuffer1=new Float64Array(n),this._outBuffer2=new Float64Array(n);let o=-2*Math.PI/e,i=Math.cos(o),l=Math.sin(o);for(let c=0;c<r>>1;++c){let u=(c+1-e)**2/2,p=Math.sqrt(i**2+l**2)**u,f=u*Math.atan2(l,i),m=2*c;s[m]=p*Math.cos(f),s[m+1]=p*Math.sin(f),a[m]=s[m],a[m+1]=-s[m+1]}this._slicedChirpBuffer=s.subarray(t,r),this._f=new Uv(n>>1),this._f.transform(this._chirpBuffer,a)}_transform(e,t,r){let n=this._buffer1,s=this._buffer2,a=this._outBuffer1,o=this._outBuffer2,i=this._chirpBuffer,l=this._slicedChirpBuffer,c=this._a;if(r)for(let u=0;u<l.length;u+=2){let p=u+1,f=u>>1,m=t[f];n[u]=m*l[u],n[p]=m*l[p]}else for(let u=0;u<l.length;u+=2){let p=u+1;n[u]=t[u]*l[u]-t[p]*l[p],n[p]=t[u]*l[p]+t[p]*l[u]}this._f.transform(a,n);for(let u=0;u<i.length;u+=2){let p=u+1;s[u]=a[u]*i[u]-a[p]*i[p],s[p]=a[u]*i[p]+a[p]*i[u]}this._f.inverseTransform(o,s);for(let u=0;u<o.length;u+=2){let p=o[u+c],f=o[u+c+1],m=l[u],y=l[u+1];e[u]=p*m-f*y,e[u+1]=p*y+f*m}}transform(e,t){this._transform(e,t,!1)}realTransform(e,t){this._transform(e,t,!0)}},WD=class{constructor(e){this.fft_length=e,this.isPowerOfTwo=Bv(e),this.isPowerOfTwo?(this.fft=new Uv(e),this.outputBufferSize=2*e):(this.fft=new jD(e),this.outputBufferSize=this.fft.bufferSize)}realTransform(e,t){this.fft.realTransform(e,t)}transform(e,t){this.fft.transform(e,t)}};QD=function(){let e=null;return function(t){if(!e){e=new Float32Array(65536);let a=new ArrayBuffer(4),o=new Uint32Array(a),i=new Float32Array(a);for(let l=0;l<e.length;++l){let c=0,u=(l&32768)<<16,p=(l&31744)>>10,f=l&1023;if(p===31)c=u|2139095040|f<<13;else if(p===0)if(f===0)c=u;else{let m=113;for(;!(f&1024);)f<<=1,--m;f&=-1025,c=u|m<<23|f<<13}else c=u|p+112<<23|f<<13;o[0]=c,e[l]=i[0]}}let r=t.length,n=e,s=new Float32Array(r);for(let a=0;a<r;++a)s[a]=n[t[a]];return s}}(),zv={};cs(zv,{default:()=>JD});JD={};ZD=Object.freeze({auto:null,gpu:null,cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",coreml:"coreml",webnn:{name:"webnn",deviceType:"cpu"},"webnn-npu":{name:"webnn",deviceType:"npu"},"webnn-gpu":{name:"webnn",deviceType:"gpu"},"webnn-cpu":{name:"webnn",deviceType:"cpu"}});eB={0:"verbose",1:"info",2:"warning",3:"error",4:"fatal"},Lt=[],Ky=Symbol.for("onnxruntime");if(Ky in globalThis)as=globalThis[Ky];else if(pe.IS_NODE_ENV){switch(as=zv,process.platform){case"win32":Lt.push("dml");break;case"linux":process.arch==="x64"&&Lt.push("cuda");break;case"darwin":Lt.push("coreml");break}Lt.push("webgpu"),Lt.push("cpu"),Ip=["cpu"]}else as=Id,pe.IS_WEBNN_AVAILABLE&&Lt.push("webnn-npu","webnn-gpu","webnn-cpu","webnn"),pe.IS_WEBGPU_AVAILABLE&&Lt.push("webgpu"),Lt.push("wasm"),Ip=["wasm"];tB=as.InferenceSession;Qy=Promise.resolve(),Jn=null;Jy=Promise.resolve();He=as?.env;if(He){let e=function(t){let r=Vv(t);He.logLevel=eB[r]};if(He.wasm){if(!(typeof ServiceWorkerGlobalScope<"u"&&self instanceof ServiceWorkerGlobalScope)&&He.versions?.web&&!He.wasm.wasmPaths){let t=`https://cdn.jsdelivr.net/npm/onnxruntime-web@${He.versions.web}/dist/`;He.wasm.wasmPaths=pe.IS_SAFARI?{mjs:`${t}ort-wasm-simd-threaded.mjs`,wasm:`${t}ort-wasm-simd-threaded.wasm`}:{mjs:`${t}ort-wasm-simd-threaded.asyncify.mjs`,wasm:`${t}ort-wasm-simd-threaded.asyncify.wasm`}}He.wasm.proxy=!1}He.webgpu&&(He.webgpu.powerPreference="high-performance"),e(ge.logLevel??Ft.WARNING),ge.backends.onnx={...He,setLogLevel:e}}Rr=async(e,t,r)=>{let n=await Gv(new Uint8Array(e),t);return async s=>{let a=Jp(),o=Object.fromEntries(Object.entries(s).map(([l,c])=>[l,(a?c.clone():c).ort_tensor])),i=await jv(n,o);return Array.isArray(r)?r.map(l=>new W(i[l])):new W(i[r])}},dn=(Kd=class{static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||(this._nearest_interpolate_4d=Rr([8,10,18,0,58,129,1,10,41,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,18,10,4,109,111,100,101,34,7,110,101,97,114,101,115,116,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,21],this.session_options,"y")),this._nearest_interpolate_4d}static get bilinear_interpolate_4d(){return this._bilinear_interpolate_4d||(this._bilinear_interpolate_4d=Rr([8,9,18,0,58,128,1,10,40,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,17,10,4,109,111,100,101,34,6,108,105,110,101,97,114,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bilinear_interpolate_4d}static get bicubic_interpolate_4d(){return this._bicubic_interpolate_4d||(this._bicubic_interpolate_4d=Rr([8,9,18,0,58,127,10,39,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,16,10,4,109,111,100,101,34,5,99,117,98,105,99,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bicubic_interpolate_4d}static get matmul(){return this._matmul||(this._matmul=Rr([8,9,18,0,58,55,10,17,10,1,97,10,1,98,18,1,99,34,6,77,97,116,77,117,108,18,1,114,90,9,10,1,97,18,4,10,2,8,1,90,9,10,1,98,18,4,10,2,8,1,98,9,10,1,99,18,4,10,2,8,1,66,2,16,20],this.session_options,"c")),this._matmul}static get stft(){return this._stft||(this._stft=Rr([8,7,18,0,58,148,1,10,38,10,1,115,10,1,106,10,1,119,10,1,108,18,1,111,34,4,83,84,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,115,90,26,10,1,115,18,21,10,19,8,1,18,15,10,3,18,1,98,10,3,18,1,115,10,3,18,1,99,90,11,10,1,106,18,6,10,4,8,7,18,0,90,16,10,1,119,18,11,10,9,8,1,18,5,10,3,18,1,119,90,11,10,1,108,18,6,10,4,8,7,18,0,98,31,10,1,111,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,102,10,3,18,1,100,10,3,18,1,99,66,2,16,17],this.session_options,"o")),this._stft}static get rfft(){return this._rfft||(this._rfft=Rr([8,9,18,0,58,97,10,33,10,1,120,10,0,10,1,97,18,1,121,34,3,68,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,100,90,21,10,1,120,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,90,11,10,1,97,18,6,10,4,8,7,18,0,98,21,10,1,121,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,66,2,16,20],this.session_options,"y")),this._rfft}static get top_k(){return this._top_k||(this._top_k=Rr([8,10,18,0,58,73,10,18,10,1,120,10,1,107,18,1,118,18,1,105,34,4,84,111,112,75,18,1,116,90,9,10,1,120,18,4,10,2,8,1,90,15,10,1,107,18,10,10,8,8,7,18,4,10,2,8,1,98,9,10,1,118,18,4,10,2,8,1,98,9,10,1,105,18,4,10,2,8,7,66,2,16,21],this.session_options,["v","i"])),this._top_k}static get slice(){return this._slice||(this._slice=Rr([8,7,18,0,58,96,10,25,10,1,120,10,1,115,10,1,101,10,1,97,10,1,116,18,1,121,34,5,83,108,105,99,101,18,1,114,90,9,10,1,120,18,4,10,2,8,1,90,9,10,1,115,18,4,10,2,8,7,90,9,10,1,101,18,4,10,2,8,7,90,9,10,1,97,18,4,10,2,8,7,90,9,10,1,116,18,4,10,2,8,7,98,9,10,1,121,18,4,10,2,8,1,66,2,16,13],this.session_options,"y")),this._slice}},w(Kd,"session_options",{}),Kd),sB=Object.freeze({auto:"auto",gpu:"gpu",cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",coreml:"coreml",webnn:"webnn","webnn-npu":"webnn-npu","webnn-gpu":"webnn-gpu","webnn-cpu":"webnn-cpu"}),zd=pe.IS_NODE_ENV?"cpu":"wasm";aB=function(){let e;return async function(){if(e===void 0)if(!pe.IS_WEBGPU_AVAILABLE)e=!1;else try{e=(await navigator.gpu.requestAdapter()).features.has("shader-f16")}catch{e=!1}return e}}(),ft=Object.freeze({auto:"auto",fp32:"fp32",fp16:"fp16",q8:"q8",int8:"int8",uint8:"uint8",q4:"q4",bnb4:"bnb4",q4f16:"q4f16"}),Xy=ft.fp32,Yy=Object.freeze({[sB.wasm]:ft.q8}),Pp=Object.freeze({[ft.fp32]:"",[ft.fp16]:"_fp16",[ft.int8]:"_int8",[ft.uint8]:"_uint8",[ft.q8]:"_quantized",[ft.q4]:"_q4",[ft.q4f16]:"_q4f16",[ft.bnb4]:"_bnb4"});is=Object.freeze({float32:Float32Array,float16:typeof Float16Array<"u"?Float16Array:Uint16Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array,uint4:Uint8Array,int4:Int8Array}),W=class Ue{constructor(...t){w(this,"ort_tensor");return Wv(t[0])?this.ort_tensor=t[0]:this.ort_tensor=new Fd(t[0],t[1],t[2]),new Proxy(this,{get:(r,n)=>{if(typeof n=="string"){let s=Number(n);if(Number.isInteger(s))return r._getitem(s)}return r[n]},set:(r,n,s)=>r[n]=s})}get dims(){return this.ort_tensor.dims}set dims(t){this.ort_tensor.dims=t}get type(){return this.ort_tensor.type}get data(){return this.ort_tensor.data}get size(){return this.ort_tensor.size}get location(){return this.ort_tensor.location}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){let[t,...r]=this.dims;if(r.length>0){let n=r.reduce((s,a)=>s*a);for(let s=0;s<t;++s)yield this._subarray(s,n,r)}else yield*this.data}_getitem(t){let[r,...n]=this.dims;if(t=sr(t,r),n.length>0){let s=n.reduce((a,o)=>a*o);return this._subarray(t,s,n)}else return new Ue(this.type,[this.data[t]],n)}indexOf(t){let r=this.data;for(let n=0;n<r.length;++n)if(r[n]==t)return n;return-1}_subarray(t,r,n){let s=t*r,a=(t+1)*r,o="subarray"in this.data?this.data.subarray(s,a):this.data.slice(s,a);return new Ue(this.type,o,n)}item(){let t=this.data;if(t.length!==1)throw new Error(`a Tensor with ${t.length} elements cannot be converted to Scalar`);return t[0]}tolist(){return oB(this.data,this.dims)}sigmoid(){return this.clone().sigmoid_()}sigmoid_(){let t=this.data;for(let r=0;r<t.length;++r)t[r]=1/(1+Math.exp(-t[r]));return this}map(t){return this.clone().map_(t)}map_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]=t(r[n],n,r);return this}mul(t){return this.clone().mul_(t)}mul_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]*=t;return this}div(t){return this.clone().div_(t)}div_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]/=t;return this}add(t){return this.clone().add_(t)}add_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]+=t;return this}sub(t){return this.clone().sub_(t)}sub_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]-=t;return this}clone(){return new Ue(this.type,this.data.slice(),this.dims.slice())}slice(...t){let r=[],n=[];for(let u=0;u<this.dims.length;++u){let p=t[u];if(p==null)n.push([0,this.dims[u]]),r.push(this.dims[u]);else if(typeof p=="number")p=sr(p,this.dims[u],u),n.push([p,p+1]);else if(Array.isArray(p)&&p.length===2){let[f,m]=p;if(f=f===null?0:sr(f,this.dims[u],u,!1),m=m===null?this.dims[u]:sr(m,this.dims[u],u,!1),f>m)throw new Error(`Invalid slice: ${p}`);let y=[Math.max(f,0),Math.min(m,this.dims[u])];n.push(y),r.push(y[1]-y[0])}else throw new Error(`Invalid slice: ${p}`)}let s=n.map(([u,p])=>p-u),a=s.reduce((u,p)=>u*p),o=this.data,i=new o.constructor(a),l=this.stride(),c=!0;for(let u=1;u<s.length;++u)if(n[u][0]!==0||n[u][1]!==this.dims[u]){c=!1;break}if(c){let u=n[0][0]*l[0],p=n[0][1]*l[0];if(ArrayBuffer.isView(o))i.set(o.subarray(u,p));else if(Array.isArray(o)){let f=o.slice(u,p);for(let m=0;m<f.length;++m)i[m]=f[m]}else throw new Error("Unsupported data type for slicing")}else for(let u=0;u<a;++u){let p=0;for(let f=s.length-1,m=u;f>=0;--f){let y=s[f];p+=(m%y+n[f][0])*l[f],m=Math.floor(m/y)}i[u]=o[p]}return new Ue(this.type,i,r)}permute(...t){return Kv(this,t)}transpose(...t){return this.permute(...t)}sum(t=null,r=!1){return this.norm(1,t,r)}norm(t="fro",r=null,n=!1){if(t==="fro")t=2;else if(typeof t=="string")throw Error(`Unsupported norm: ${t}`);let s=this.data,a=s instanceof BigInt64Array||s instanceof BigUint64Array;if(a&&t!==1)throw Error(`Expected a floating point tensor as input. Got ${this.type}`);let o,i;if(a?(o=(p,f)=>p+f,i=0n):(o=(p,f)=>p+f**t,i=0),r===null){let p=s.reduce(o,i);return t!==1&&(p=p**(1/t)),new Ue(this.type,[p],[])}let[l,c,u]=pa(o,this,r,n);if(t!==1)for(let p=0;p<c.length;++p)c[p]=c[p]**(1/t);return new Ue(l,c,u)}normalize_(t=2,r=1){r=sr(r,this.dims.length);let n=this.norm(t,r,!0),s=this.data,a=n.data;for(let o=0;o<s.length;++o){let i=0;for(let l=this.dims.length-1,c=o,u=1;l>=0;--l){let p=this.dims[l];if(l!==r){let f=c%p;i+=f*u,u*=this.dims[l]}c=Math.floor(c/p)}s[o]/=a[i]}return this}normalize(t=2,r=1){return this.clone().normalize_(t,r)}stride(){return $d(this.dims)}squeeze(t=null){return new Ue(this.type,this.data,Zy(this.dims,t))}squeeze_(t=null){return this.dims=Zy(this.dims,t),this}unsqueeze(t){return new Ue(this.type,this.data,ev(this.dims,t))}unsqueeze_(t){return this.dims=ev(this.dims,t),this}flatten_(t=0,r=-1){r=(r+this.dims.length)%this.dims.length;let n=this.dims.slice(0,t),s=this.dims.slice(t,r+1),a=this.dims.slice(r+1);return this.dims=[...n,s.reduce((o,i)=>o*i,1),...a],this}flatten(t=0,r=-1){return this.clone().flatten_(t,r)}view(...t){let r=-1;for(let s=0;s<t.length;++s)if(t[s]===-1){if(r!==-1)throw new Error("Only one dimension can be inferred");r=s}let n=this.data;if(r!==-1){let s=t.reduce((a,o,i)=>i!==r?a*o:a,1);t[r]=n.length/s}return new Ue(this.type,n,t)}neg_(){let t=this.data;for(let r=0;r<t.length;++r)t[r]=-t[r];return this}neg(){return this.clone().neg_()}gt(t){let r=new Uint8Array(this.data.length),n=this.data;for(let s=0;s<n.length;++s)r[s]=n[s]>t?1:0;return new Ue("bool",r,this.dims)}lt(t){let r=new Uint8Array(this.data.length),n=this.data;for(let s=0;s<n.length;++s)r[s]=n[s]<t?1:0;return new Ue("bool",r,this.dims)}clamp_(t,r){let n=this.data;for(let s=0;s<n.length;++s)n[s]=Math.min(Math.max(n[s],t),r);return this}clamp(t,r){return this.clone().clamp_(t,r)}round_(){let t=this.data;for(let r=0;r<t.length;++r)t[r]=Math.round(t[r]);return this}round(){return this.clone().round_()}mean(t=null,r=!1){return ki(this,t,r)}min(t=null,r=!1){if(t===null){let o=Sp(this.data)[0];return new Ue(this.type,[o],[])}let[n,s,a]=pa((o,i)=>Math.min(o,i),this,t,r,1/0);return new Ue(n,s,a)}max(t=null,r=!1){if(t===null){let o=Ge(this.data)[0];return new Ue(this.type,[o],[])}let[n,s,a]=pa((o,i)=>Math.max(o,i),this,t,r,-1/0);return new Ue(n,s,a)}argmin(t=null,r=!1){if(t!==null)throw new Error("`dim !== null` not yet implemented.");let n=Sp(this.data)[1];return new Ue("int64",[BigInt(n)],[])}argmax(t=null,r=!1){if(t!==null)throw new Error("`dim !== null` not yet implemented.");let n=Ge(this.data)[1];return new Ue("int64",[BigInt(n)],[])}repeat(...t){if(t.length<this.dims.length)throw new Error(`Number of dimensions of repeat dims (${t.length}) cannot be smaller than number of dimensions of tensor (${this.dims.length})`);if(t.every(u=>u===1)){if(t.length===this.dims.length)return this.clone();let u=t.length-this.dims.length,p=Array(u).fill(1).concat(this.dims);return new Ue(this.type,this.data.slice(),p)}let r=t.length-this.dims.length,n=Array(r).fill(1).concat(this.dims),s=n.map((u,p)=>u*t[p]),a=s.reduce((u,p)=>u*p,1),o=this.data,i=new o.constructor(a),l=$d(n),c=$d(s);for(let u=0;u<a;++u){let p=u,f=0;for(let m=0;m<s.length;++m){let y=Math.floor(p/c[m]);p=p%c[m];let v=y%n[m];f+=v*l[m]}i[u]=o[f]}return new Ue(this.type,i,s)}tile(...t){if(t.length<this.dims.length){let r=this.dims.length-t.length;t=Array(r).fill(1).concat(t)}return this.repeat(...t)}to(t){if(this.type===t)return this;if(!is.hasOwnProperty(t))throw new Error(`Unsupported type: ${t}`);let r,n=["int64","uint64"].includes(this.type),s=["int64","uint64"].includes(t);if(n&&!s)r=Number;else if(!n&&s)["float16","float32","float64"].includes(this.type)?r=a=>BigInt(Math.floor(a)):r=BigInt;else if(this.type==="float16"&&t=="float32"&&this.data instanceof Uint16Array)return new Ue(t,QD(this.data),this.dims);return new Ue(t,is[t].from(this.data,r),this.dims)}};Uo=e=>new W("int64",e,[e.length]);uB=["bos_token","eos_token","unk_token","sep_token","pad_token","cls_token","mask_token"];le=class extends Dt{constructor(t,r){super();w(this,"return_token_type_ids",!1);w(this,"padding_side","right");if(this._tokenizerJSON=t,this._tokenizerConfig=r,this._tokenizer=new SN(t,r),this.config=r,this.padding_side=r.padding_side??this.padding_side,this.mask_token=sn(r,"mask_token"),this.mask_token_id=this._tokenizer.token_to_id(this.mask_token),this.pad_token=sn(r,"pad_token","eos_token"),this.pad_token_id=this._tokenizer.token_to_id(this.pad_token),this.sep_token=sn(r,"sep_token"),this.sep_token_id=this._tokenizer.token_to_id(this.sep_token),this.unk_token=sn(r,"unk_token"),this.unk_token_id=this._tokenizer.token_to_id(this.unk_token),this.bos_token=sn(r,"bos_token"),this.bos_token_id=this._tokenizer.token_to_id(this.bos_token),this.eos_token=sn(r,"eos_token"),this.eos_token_id=this._tokenizer.token_to_id(this.eos_token),this.chat_template=r.chat_template??null,Array.isArray(this.chat_template)){let s=Object.create(null);for(let{name:a,template:o}of this.chat_template){if(typeof a!="string"||typeof o!="string")throw new Error('Chat template must be a list of objects with "name" and "template" properties');s[a]=o}this.chat_template=s}this._compiled_template_cache=new Map;let n=hB(this._tokenizer);this.all_special_ids=n.map(s=>s.id),this.all_special_tokens=n.map(s=>s.content)}static async from_pretrained(t,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main"}={}){let i=await Zv(t,{progress_callback:r,config:n,cache_dir:s,local_files_only:a,revision:o});return new this(...i)}get_vocab(){return this._tokenizer.get_vocab()}get model_max_length(){return this._tokenizerConfig.model_max_length??1/0}get add_eos_token(){return this._tokenizerConfig.add_eos_token}get add_bos_token(){return this._tokenizerConfig.add_bos_token}convert_tokens_to_ids(t){return typeof t=="string"?this._tokenizer.token_to_id(t):t.map(r=>this._tokenizer.token_to_id(r))}_call(t,{text_pair:r=null,add_special_tokens:n=!0,padding:s=!1,truncation:a=null,max_length:o=null,return_tensor:i=!0,return_token_type_ids:l=null}={}){let c=Array.isArray(t),u;if(c){if(t.length===0)throw Error("text array must be non-empty");if(r!==null){if(Array.isArray(r)){if(t.length!==r.length)throw Error("text and text_pair must have the same length")}else throw Error("text_pair must also be an array");u=t.map((f,m)=>this._encode_plus(f,{text_pair:r[m],add_special_tokens:n,return_token_type_ids:l}))}else u=t.map(f=>this._encode_plus(f,{add_special_tokens:n,return_token_type_ids:l}))}else{if(t==null)throw Error("text may not be null or undefined");if(Array.isArray(r))throw Error("When specifying `text_pair`, since `text` is a string, `text_pair` must also be a string (i.e., not an array).");u=[this._encode_plus(t,{text_pair:r,add_special_tokens:n,return_token_type_ids:l})]}if(o===null?o=this.model_max_length:a===null&&(s===!0?(ce.warn("`max_length` is ignored when `padding: true` and there is no truncation strategy. To pad to max length, use `padding: 'max_length'`."),o=this.model_max_length):s===!1&&(ce.warn("Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation: true` to explicitly truncate examples to max length."),a=!0)),s===!0&&(o=Math.min(Ge(u.map(f=>f.input_ids.length))[0],o??1/0)),o=Math.min(o,this.model_max_length??1/0),s||a)for(let f=0;f<u.length;++f)u[f].input_ids.length!==o&&(u[f].input_ids.length>o?a&&pB(u[f],o):s&&dB(u[f],o,m=>m==="input_ids"?this.pad_token_id:0,this.padding_side));let p={};if(i){if(!(s&&a)&&u.some(m=>{for(let y of Object.keys(m))if(m[y].length!==u[0][y]?.length)return!0;return!1}))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=true' and 'truncation=true' to have batched tensors with the same length.");let f=[u.length,u[0].input_ids.length];for(let m of Object.keys(u[0]))p[m]=new W("int64",BigInt64Array.from(u.flatMap(y=>y[m]).map(BigInt)),f)}else{for(let f of Object.keys(u[0]))p[f]=u.map(m=>m[f]);if(!c)for(let f of Object.keys(p))p[f]=p[f][0]}return p}_encode_text(t){return t===null?null:this._tokenizer.encode(t).tokens}_encode_plus(t,{text_pair:r=null,add_special_tokens:n=!0,return_token_type_ids:s=null}={}){let{ids:a,attention_mask:o,token_type_ids:i}=this._tokenizer.encode(t,{text_pair:r,add_special_tokens:n,return_token_type_ids:s??this.return_token_type_ids});return{input_ids:a,attention_mask:o,...i?{token_type_ids:i}:{}}}tokenize(t,{pair:r=null,add_special_tokens:n=!1}={}){return this._tokenizer.tokenize(t,{text_pair:r,add_special_tokens:n})}encode(t,{text_pair:r=null,add_special_tokens:n=!0,return_token_type_ids:s=null}={}){return this._tokenizer.encode(t,{text_pair:r,add_special_tokens:n,return_token_type_ids:s}).ids}batch_decode(t,r={}){return t instanceof W&&(t=t.tolist()),t.map(n=>this.decode(n,r))}decode(t,r={}){if(t instanceof W&&(t=eb(t)),!Array.isArray(t)||t.length===0||!_L(t[0]))throw Error("token_ids must be a non-empty array of integers.");return this.decode_single(t,r)}decode_single(t,{skip_special_tokens:r=!1,clean_up_tokenization_spaces:n=null}){return this._tokenizer.decode(t,{skip_special_tokens:r,clean_up_tokenization_spaces:n})}get_chat_template({chat_template:t=null,tools:r=null}={}){if(this.chat_template&&typeof this.chat_template=="object"){let n=this.chat_template;if(t!==null&&Object.hasOwn(n,t))t=n[t];else if(t===null)if(r!==null&&"tool_use"in n)t=n.tool_use;else if("default"in n)t=n.default;else throw Error(`This model has multiple chat templates with no default specified! Please either pass a chat template or the name of the template you wish to use to the 'chat_template' argument. Available template names are ${Object.keys(n).sort()}.`)}else if(t===null)if(this.chat_template)t=this.chat_template;else throw Error("Cannot use apply_chat_template() because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating");return t}apply_chat_template(t,{tools:r=null,documents:n=null,chat_template:s=null,add_generation_prompt:a=!1,tokenize:o=!0,padding:i=!1,truncation:l=!1,max_length:c=null,return_tensor:u=!0,return_dict:p=!0,tokenizer_kwargs:f={},...m}={}){if(s=this.get_chat_template({chat_template:s,tools:r}),typeof s!="string")throw Error(`chat_template must be a string, but got ${typeof s}`);let y=this._compiled_template_cache.get(s);y===void 0&&(y=new TD(s),this._compiled_template_cache.set(s,y));let v=Object.create(null);for(let M of uB){let T=sn(this.config,M);T&&(v[M]=T)}let x=y.render({messages:t,add_generation_prompt:a,tools:r,documents:n,...v,...m});if(o){let M=this._call(x,{add_special_tokens:!1,padding:i,truncation:l,max_length:c,return_tensor:u,...f});return p?M:M.input_ids}return x}};tb={};cs(tb,{AlbertTokenizer:()=>rb,AutoTokenizer:()=>Ae,BartTokenizer:()=>nb,BertTokenizer:()=>sb,BlenderbotSmallTokenizer:()=>ab,BlenderbotTokenizer:()=>ob,BloomTokenizer:()=>ib,CLIPTokenizer:()=>cb,CamembertTokenizer:()=>lb,CodeGenTokenizer:()=>db,CodeLlamaTokenizer:()=>ub,CohereTokenizer:()=>pb,ConvBertTokenizer:()=>hb,DebertaTokenizer:()=>mb,DebertaV2Tokenizer:()=>fb,DistilBertTokenizer:()=>_b,ElectraTokenizer:()=>gb,EsmTokenizer:()=>wb,FalconTokenizer:()=>yb,GPT2Tokenizer:()=>Mb,GPTNeoXTokenizer:()=>bb,GemmaTokenizer:()=>vb,HerbertTokenizer:()=>xb,LlamaTokenizer:()=>Tb,M2M100Tokenizer:()=>Eb,MBart50Tokenizer:()=>Cb,MBartTokenizer:()=>oh,MPNetTokenizer:()=>Ib,MarianTokenizer:()=>kb,MgpstrTokenizer:()=>Ab,MobileBertTokenizer:()=>Sb,NllbTokenizer:()=>Pb,NougatTokenizer:()=>Rb,PreTrainedTokenizer:()=>le,Qwen2Tokenizer:()=>Ob,RoFormerTokenizer:()=>Fb,RobertaTokenizer:()=>Lb,SiglipTokenizer:()=>Nb,SpeechT5Tokenizer:()=>Db,SqueezeBertTokenizer:()=>Bb,T5Tokenizer:()=>Ub,TokenizersBackend:()=>le,VitsTokenizer:()=>zb,Wav2Vec2CTCTokenizer:()=>$b,WhisperTokenizer:()=>Gb,XLMRobertaTokenizer:()=>jb,XLMTokenizer:()=>Wb});rb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},nb=class extends le{},sb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},ab=class extends le{},ob=class extends le{},ib=class extends le{},lb=class extends le{},cb=class extends le{},ub=class extends le{},db=class extends le{},pb=class extends le{},hb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},fb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},mb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},_b=class extends le{},gb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},wb=class extends le{},yb=class extends le{},vb=class extends le{},bb=class extends le{},Mb=class extends le{},xb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Tb=class extends le{constructor(){super(...arguments);w(this,"padding_side","left")}},Eb=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)).map(r=>r.slice(2,-2)),this.lang_to_token=r=>`__${r}__`}_build_translation_inputs(e,t,r){return ah(this,e,t,r)}},kb=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=Array.from(this.get_vocab().keys()).filter(r=>this.languageRegex.test(r)),ce.warn('WARNING: `MarianTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}_encode_text(e){if(e===null)return null;let[t,...r]=e.trim().split(this.languageRegex);if(r.length===0)return super._encode_text(t);if(r.length===2){let[n,s]=r;return this.supported_language_codes.includes(n)||ce.warn(`Unsupported language code "${n}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),jt([n],super._encode_text(s))}}},oh=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)).map(r=>r),this.lang_to_token=r=>r}_build_translation_inputs(e,t,r){return ah(this,e,t,r)}},Cb=class extends oh{},Ab=class extends le{},Sb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Ib=class extends le{},Pb=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)),this.lang_to_token=r=>r}_build_translation_inputs(e,t,r){return ah(this,e,t,r)}},Rb=class extends le{},Ob=class extends le{},Lb=class extends le{},Fb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Nb=class extends le{},Db=class extends le{},Bb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Ub=class extends le{},fB=class extends Kt{decode_chain(e){let t="";for(let r=1;r<e.length;r+=2)t+=e[r];return[t]}},zb=class extends le{constructor(e,t){super(e,t),this._tokenizer.decoder=new fB({type:"VitsDecoder"})}},$b=class extends le{},Vb=[["en","english"],["zh","chinese"],["de","german"],["es","spanish"],["ru","russian"],["ko","korean"],["fr","french"],["ja","japanese"],["pt","portuguese"],["tr","turkish"],["pl","polish"],["ca","catalan"],["nl","dutch"],["ar","arabic"],["sv","swedish"],["it","italian"],["id","indonesian"],["hi","hindi"],["fi","finnish"],["vi","vietnamese"],["he","hebrew"],["uk","ukrainian"],["el","greek"],["ms","malay"],["cs","czech"],["ro","romanian"],["da","danish"],["hu","hungarian"],["ta","tamil"],["no","norwegian"],["th","thai"],["ur","urdu"],["hr","croatian"],["bg","bulgarian"],["lt","lithuanian"],["la","latin"],["mi","maori"],["ml","malayalam"],["cy","welsh"],["sk","slovak"],["te","telugu"],["fa","persian"],["lv","latvian"],["bn","bengali"],["sr","serbian"],["az","azerbaijani"],["sl","slovenian"],["kn","kannada"],["et","estonian"],["mk","macedonian"],["br","breton"],["eu","basque"],["is","icelandic"],["hy","armenian"],["ne","nepali"],["mn","mongolian"],["bs","bosnian"],["kk","kazakh"],["sq","albanian"],["sw","swahili"],["gl","galician"],["mr","marathi"],["pa","punjabi"],["si","sinhala"],["km","khmer"],["sn","shona"],["yo","yoruba"],["so","somali"],["af","afrikaans"],["oc","occitan"],["ka","georgian"],["be","belarusian"],["tg","tajik"],["sd","sindhi"],["gu","gujarati"],["am","amharic"],["yi","yiddish"],["lo","lao"],["uz","uzbek"],["fo","faroese"],["ht","haitian creole"],["ps","pashto"],["tk","turkmen"],["nn","nynorsk"],["mt","maltese"],["sa","sanskrit"],["lb","luxembourgish"],["my","myanmar"],["bo","tibetan"],["tl","tagalog"],["mg","malagasy"],["as","assamese"],["tt","tatar"],["haw","hawaiian"],["ln","lingala"],["ha","hausa"],["ba","bashkir"],["jw","javanese"],["su","sundanese"]],oi=new Map(Vb),mB=new Map([...Vb.map(([e,t])=>[t,e]),["burmese","my"],["valencian","ca"],["flemish","nl"],["haitian","ht"],["letzeburgesch","lb"],["pushto","ps"],["panjabi","pa"],["moldavian","ro"],["moldovan","ro"],["sinhalese","si"],["castilian","es"]]);gB="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",tv=new RegExp(`^[${gB}]+$`,"gu"),Gb=class extends le{get timestamp_begin(){return this._tokenizer.token_to_id("<|notimestamps|>")+1}_decode_asr(e,{return_timestamps:t=!1,return_language:r=!1,time_precision:n=null,force_full_sequences:s=!0}={}){if(n===null)throw Error("Must specify time_precision");let a=null,o=t==="word";function i(){return{language:a,timestamp:[null,null],text:""}}let l=[],c=i(),u=0,p=this.timestamp_begin,m=p+1500,y=[],v=[],x=!1,M=null,T=new Set(this.all_special_ids);for(let S of e){let O=S.tokens,E=o?S.token_timestamps:null,K=null,$=p;if("stride"in S){let[G,q,D]=S.stride;if(u-=q,M=G-D,q&&($=q/n+p),D)for(let R=O.length-1;R>=0;--R){let re=Number(O[R]);if(re>=p){if(K!==null&&(re-p)*n<M)break;K=re}}}let V=[],Q=[];for(let G=0;G<O.length;++G){let q=Number(O[G]);if(T.has(q)){let D=this.decode([q]),R=oi.get(D.slice(2,-2));if(R!==void 0){if(a!==null&&R!==a&&!t){y.push(V);let re=this.findLongestCommonSequence(y)[0],ie=this.decode(re);c.text=ie,l.push(c),y=[],V=[],c=i()}a=c.language=R}}else if(q>=p&&q<=m){let D=(q-p)*n+u,R=da(D,2);if(K!==null&&q>=K)x=!0;else if(x||y.length>0&&q<$)x=!1;else if(c.timestamp[0]===null)c.timestamp[0]=R;else if(R!==c.timestamp[0]){c.timestamp[1]=R,y.push(V),o&&v.push(Q);let[re,ie]=this.findLongestCommonSequence(y,v),F=this.decode(re);c.text=F,o&&(c.words=this.collateWordTimestamps(re,ie,a)),l.push(c),y=[],V=[],v=[],Q=[],c=i()}}else if(V.push(q),o){let D=da(E[G]+u,2),R;if(G+1<E.length){R=da(E[G+1]+u,2);let re=this.decode([q]);tv.test(re)&&(R=da(Math.min(D+n,R),2))}else R=null;Q.push([D,R])}}if("stride"in S){let[G,q,D]=S.stride;u+=G-D}V.length>0?(y.push(V),o&&v.push(Q)):y.every(G=>G.length===0)&&(c=i(),y=[],V=[],v=[],Q=[])}if(y.length>0){if(s&&t)throw new Error("Whisper did not predict an ending timestamp, which can happen if audio is cut off in the middle of a word. Also make sure WhisperTimeStampLogitsProcessor was used during generation.");let[S,O]=this.findLongestCommonSequence(y,v),E=this.decode(S);c.text=E,o&&(c.words=this.collateWordTimestamps(S,O,a)),l.push(c)}let A=Object.create(null),C=l.map(S=>S.text).join("");if(t||r){for(let S=0;S<l.length;++S){let O=l[S];t||delete O.timestamp,r||delete O.language}if(o){let S=[];for(let O of l)for(let E of O.words)S.push(E);A={chunks:S}}else A={chunks:l}}return[C,A]}findLongestCommonSequence(e,t=null){let r=e[0],n=r.length,s=[],a=Array.isArray(t)&&t.length>0,o=a?[]:null,i=a?t[0]:null;for(let l=1;l<e.length;++l){let c=e[l],u=0,p=[n,n,0,0],f=c.length;for(let A=1;A<n+f;++A){let C=Math.max(0,n-A),S=Math.min(n,n+f-A),O=r.slice(C,S),E=Math.max(0,A-n),K=Math.min(f,A),$=c.slice(E,K);if(O.length!==$.length)throw new Error("There is a bug within whisper `decode_asr` function, please report it. Dropping to prevent bad inference.");let V;a?V=O.filter((q,D)=>q===$[D]&&i[C+D]<=t[l][E+D]).length:V=O.filter((q,D)=>q===$[D]).length;let Q=A/1e4,G=V/A+Q;V>1&&G>u&&(u=G,p=[C,S,E,K])}let[m,y,v,x]=p,M=Math.floor((y+m)/2),T=Math.floor((x+v)/2);s.push(...r.slice(0,M)),r=c.slice(T),n=r.length,a&&(o.push(...i.slice(0,M)),i=t[l].slice(T))}return s.push(...r),a?(o.push(...i),[s,o]):[s,[]]}collateWordTimestamps(e,t,r){let[n,s,a]=this.combineTokensIntoWords(e,r),o=[];for(let i=0;i<n.length;++i){let l=a[i];o.push({text:n[i],timestamp:[t[l.at(0)][0],t[l.at(-1)][1]]})}return o}combineTokensIntoWords(e,t,r=`"'\u201C\xA1\xBF([{-`,n=`"'.\u3002,\uFF0C!\uFF01?\uFF1F:\uFF1A\u201D)]}\u3001`){t=t??"english";let s,a,o;return["chinese","japanese","thai","lao","myanmar"].includes(t)?[s,a,o]=this.splitTokensOnUnicode(e):[s,a,o]=this.splitTokensOnSpaces(e),this.mergePunctuations(s,a,o,r,n)}decode(e,t){let r;return t?.decode_with_timestamps?(e instanceof W&&(e=eb(e)),r=this.decodeWithTimestamps(e,t)):r=super.decode(e,t),r}decodeWithTimestamps(e,t){let r=t?.time_precision??.02,n=this.all_special_ids.at(-1)+1,s=[[]];for(let a of e)if(a=Number(a),a>=n){let o=((a-n)*r).toFixed(2);s.push(`<|${o}|>`),s.push([])}else s[s.length-1].push(a);return s=s.map(a=>typeof a=="string"?a:super.decode(a,t)),s.join("")}splitTokensOnUnicode(e){let t=this.decode(e,{decode_with_timestamps:!0}),r="\uFFFD",n=[],s=[],a=[],o=[],i=[],l=0;for(let c=0;c<e.length;++c){let u=e[c];o.push(u),i.push(c);let p=this.decode(o,{decode_with_timestamps:!0});(!p.includes(r)||t[l+p.indexOf(r)]===r)&&(n.push(p),s.push(o),a.push(i),o=[],i=[],l+=p.length)}return[n,s,a]}splitTokensOnSpaces(e){let[t,r,n]=this.splitTokensOnUnicode(e),s=[],a=[],o=[];for(let i=0;i<t.length;++i){let l=t[i],c=r[i],u=n[i],p=c[0]>=this._tokenizer.token_to_id("<|endoftext|>"),f=l.startsWith(" "),m=l.trim(),y=tv.test(m);if(p||f||y||s.length===0)s.push(l),a.push(c),o.push(u);else{let v=s.length-1;s[v]+=l,a[v].push(...c),o[v].push(...u)}}return[s,a,o]}mergePunctuations(e,t,r,n,s){let a=structuredClone(e),o=structuredClone(t),i=structuredClone(r),l=a.length-2,c=a.length-1;for(;l>=0;)a[l].startsWith(" ")&&n.includes(a[l].trim())?(a[c]=a[l]+a[c],o[c]=jt(o[l],o[c]),i[c]=jt(i[l],i[c]),a[l]="",o[l]=[],i[l]=[]):c=l,--l;for(l=0,c=1;c<a.length;)!a[l].endsWith(" ")&&s.includes(a[c])?(a[l]+=a[c],o[l]=jt(o[l],o[c]),i[l]=jt(i[l],i[c]),a[c]="",o[c]=[],i[c]=[]):l=c,++c;return[a.filter(u=>u),o.filter(u=>u.length>0),i.filter(u=>u.length>0)]}},jb=class extends le{},Wb=class extends le{constructor(t,r){super(t,r);w(this,"return_token_type_ids",!0);ce.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}},Ae=class{static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:n=null,local_files_only:s=!1,revision:a="main"}={}){let[o,i]=await Zv(e,{progress_callback:t,config:r,cache_dir:n,local_files_only:s,revision:a}),l=i.tokenizer_class?.replace(/Fast$/,"")??"PreTrainedTokenizer",c=tb[l];return c||(ce.warn(`Unknown tokenizer class "${l}", attempting to construct from base class.`),c=le),new c(o,i)}},Ci="https://github.com/huggingface/transformers.js/issues/new/choose",ih="preprocessor_config.json",_a=ih,wB="processor_config.json",yB="chat_template.jinja",Se=(Zs=class extends Dt{constructor(e,t,r){super(),this.config=e,this.components=t,this.chat_template=r}get image_processor(){return this.components.image_processor}get tokenizer(){return this.components.tokenizer}get feature_extractor(){return this.components.feature_extractor}apply_chat_template(e,t={}){if(!this.tokenizer)throw new Error("Unable to apply chat template without a tokenizer.");return this.tokenizer.apply_chat_template(e,{tokenize:!1,chat_template:this.chat_template??void 0,...t})}batch_decode(...e){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.batch_decode(...e)}decode(...e){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.decode(...e)}async _call(e,...t){for(let r of[this.image_processor,this.feature_extractor,this.tokenizer])if(r)return r(e,...t);throw new Error("No image processor, feature extractor, or tokenizer found.")}static async from_pretrained(e,t={}){let[r,n,s]=await Promise.all([this.uses_processor_config?yr(e,wB,!0,t):{},Promise.all(this.classes.filter(a=>a in this).map(async a=>{let o=await this[a].from_pretrained(e,t);return[a.replace(/_class$/,""),o]})).then(Object.fromEntries),this.uses_chat_template_file?Fv(e,yB,!0,t):null]);return new this(r,n,s)}},w(Zs,"classes",["image_processor_class","tokenizer_class","feature_extractor_class"]),w(Zs,"uses_processor_config",!1),w(Zs,"uses_chat_template_file",!1),Zs),Rp={};cs(Rp,{ChatterboxProcessor:()=>dM,Florence2Processor:()=>sx,Gemma3nProcessor:()=>ax,Glm46VProcessor:()=>ox,GraniteSpeechProcessor:()=>ix,GroundingDinoProcessor:()=>lx,Idefics3Processor:()=>Fp,JinaCLIPProcessor:()=>ux,Lfm2VlProcessor:()=>dx,LlavaProcessor:()=>px,MgpstrProcessor:()=>hx,MoonshineProcessor:()=>fx,OwlViTProcessor:()=>mx,PaliGemmaProcessor:()=>_x,Phi3VProcessor:()=>gx,PixtralProcessor:()=>wx,Processor:()=>Se,PyAnnoteProcessor:()=>yx,Qwen2VLProcessor:()=>Ri,Qwen2_5_VLProcessor:()=>Ah,Qwen3VLProcessor:()=>vx,Sam2Processor:()=>Ih,Sam2VideoProcessor:()=>bx,SamProcessor:()=>Sh,SmolVLMProcessor:()=>Fp,SpeechT5Processor:()=>Mx,UltravoxProcessor:()=>xx,VLChatProcessor:()=>cx,VoxtralProcessor:()=>Tx,VoxtralRealtimeProcessor:()=>Ex,Wav2Vec2Processor:()=>kx,Wav2Vec2ProcessorWithLM:()=>Cx,WhisperProcessor:()=>Ax});ct=class extends Dt{constructor(e){super(),this.config=e}static async from_pretrained(e,t={}){let r=await yr(e,ih,!0,t);return new this(r)}};lh={};cs(lh,{ASTFeatureExtractor:()=>Xb,ChatterboxFeatureExtractor:()=>Yb,ClapFeatureExtractor:()=>Zb,DacFeatureExtractor:()=>uh,EncodecFeatureExtractor:()=>ch,FeatureExtractor:()=>ct,Gemma3nAudioFeatureExtractor:()=>eM,GraniteSpeechFeatureExtractor:()=>tM,MoonshineFeatureExtractor:()=>rM,ParakeetFeatureExtractor:()=>nM,PyAnnoteFeatureExtractor:()=>dh,SeamlessM4TFeatureExtractor:()=>sM,SnacFeatureExtractor:()=>aM,SpeechT5FeatureExtractor:()=>oM,VoxtralRealtimeFeatureExtractor:()=>cM,Wav2Vec2FeatureExtractor:()=>iM,WeSpeakerFeatureExtractor:()=>lM,WhisperFeatureExtractor:()=>uM});vB=()=>{},bB={fromWeb:vB},MB=()=>{},xB=MB;EB={htk:e=>2595*Math.log10(1+e/700),kaldi:e=>1127*Math.log(1+e/700),slaney:(e,t=1e3,r=15,n=27/Math.log(6.4))=>e>=t?r+Math.log(e/t)*n:3*e/200};kB={htk:e=>700*(10**(e/2595)-1),kaldi:e=>700*(Math.exp(e/1127)-1),slaney:(e,t=1e3,r=15,n=Math.log(6.4)/27)=>e>=r?t*Math.exp(n*(e-r)):200*e/3};Jb=class{constructor(e,t){this.audio=e,this.sampling_rate=t}get data(){if(Array.isArray(this.audio)){if(this.audio.length===0)return new Float32Array(0);if(this.audio.length===1)return this.audio[0];let e=this.audio.reduce((n,s)=>n+s.length,0),t=new Float32Array(e),r=0;for(let n of this.audio)t.set(n,r),r+=n.length;return t}else return this.audio}toBlob(){let e=this.audio;return e instanceof Float32Array&&(e=[e]),RB(e,this.sampling_rate)}async save(e){return qb(e,this.toBlob())}},Xb=class extends ct{constructor(e){super(e);let t=this.config.sampling_rate,r=or(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=br(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(e,t){return vr(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e){bt(e,"ASTFeatureExtractor");let t=await this._extract_fbank_features(e,this.config.max_length);if(this.config.do_normalize){let r=this.std*2,n=t.data;for(let s=0;s<n.length;++s)n[s]=(n[s]-this.mean)/r}return{input_values:t.unsqueeze_(0)}}},ch=class extends ct{async _call(e){bt(e,"EncodecFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=this.config.feature_size;if(e.length%t!==0)throw new Error(`The length of the audio data must be a multiple of the number of channels (${t}).`);let r=[1,t,e.length/t];return{input_values:new W("float32",e,r)}}},Yb=class extends ct{async _call(e){bt(e,"ChatterboxFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=[1,e.length];return{input_values:new W("float32",e,t)}}},Zb=class extends ct{constructor(e){super(e),this.mel_filters=or(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,null,"htk"),this.mel_filters_slaney=or(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,"slaney","slaney"),this.window=br(this.config.fft_window_size,"hann")}async _get_input_mel(e,t,r,n){let s,a=!1,o=e.length-t;if(o>0)if(r==="rand_trunc"){a=!0;let i=Math.floor(ba.random()*(o+1));e=e.subarray(i,i+t),s=await this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)}else throw new Error(`Truncation strategy "${r}" not implemented`);else{if(o<0){let i=new Float64Array(t);if(i.set(e),n==="repeat")for(let l=e.length;l<t;l+=e.length)i.set(e.subarray(0,Math.min(e.length,t-l)),l);else if(n==="repeatpad")for(let l=e.length;l<-o;l+=e.length)i.set(e,l);e=i}if(r==="fusion")throw new Error(`Truncation strategy "${r}" not implemented`);s=await this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)}return s.unsqueeze_(0)}async _extract_fbank_features(e,t,r=null){return vr(e,this.window,this.config.fft_window_size,this.config.hop_length,{power:2,mel_filters:t,log_mel:"dB",max_num_frames:r,do_pad:!1,transpose:!0})}async _call(e,{max_length:t=null}={}){return bt(e,"ClapFeatureExtractor"),{input_features:(await this._get_input_mel(e,t??this.config.nb_max_samples,this.config.truncation,this.config.padding)).unsqueeze_(0)}}},uh=class extends ch{},eM=class extends ct{constructor(e){super(e);let{fft_length:t,feature_size:r,min_frequency:n,max_frequency:s,sampling_rate:a,frame_length:o}=this.config,i=or(Math.floor(1+t/2),r,n,s,a,null,"htk",!1);this.mel_filters=i,this.window=br(o,"hann")}async _extract_fbank_features(e,t){return vr(e,this.window,this.config.frame_length,this.config.hop_length,{fft_length:this.config.fft_length,center:!1,onesided:!0,preemphasis:this.config.preemphasis,preemphasis_htk_flavor:this.config.preemphasis_htk_flavor,mel_filters:this.mel_filters,log_mel:"log",mel_floor:this.config.mel_floor,remove_dc_offset:!1,transpose:!0})}async _call(e,{max_length:t=48e4,truncation:r=!0,padding:n=!0,pad_to_multiple_of:s=128}={}){if(bt(e,"Gemma3nAudioFeatureExtractor"),r&&e.length>t&&(e=e.slice(0,t)),n&&e.length%s!==0){let i=s-e.length%s,l=new Float64Array(e.length+i);l.set(e),this.config.padding_value!==0&&l.fill(this.config.padding_value,e.length),e=l}let a=await this._extract_fbank_features(e,this.config.max_length),o=lt([1,a.dims[0]],!0);return{input_features:a.unsqueeze_(0),input_features_mask:o}}},tM=class extends ct{constructor(e){super(e);let{n_fft:t,win_length:r,n_mels:n,sample_rate:s}=e.melspec_kwargs;this.mel_filters=or(Math.floor(1+t/2),n,0,s/2,s,null,"htk");let a=br(r,"hann");this.window=new Float64Array(t);let o=Math.floor((t-r)/2);this.window.set(a,o)}async _call(e){bt(e,"GraniteSpeechFeatureExtractor");let{n_fft:t,hop_length:r,n_mels:n}=this.config.melspec_kwargs,s=1+Math.floor((e.length-1)/r),a=s-s%2;return{input_features:(await vr(e,this.window,t,r,{power:2,mel_filters:this.mel_filters,log_mel:"log10_max_norm",transpose:!0,max_num_frames:a,do_pad:!1})).view(-1,2*n).unsqueeze_(0)}}},rM=class extends ct{async _call(e){bt(e,"MoonshineFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=[1,e.length];return{input_values:new W("float32",e,t)}}},OB=1e-5,nM=class extends ct{constructor(e){var n;super(e),(n=this.config).mel_filters??(n.mel_filters=or(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,this.config.sampling_rate/2,this.config.sampling_rate,"slaney","slaney"));let t=br(this.config.win_length,"hann",{periodic:!1});this.window=new Float64Array(this.config.n_fft);let r=Math.floor((this.config.n_fft-this.config.win_length)/2);this.window.set(t,r)}async _extract_fbank_features(e){let t=this.config.preemphasis;e=new Float64Array(e);for(let n=e.length-1;n>=1;--n)e[n]-=t*e[n-1];return await vr(e,this.window,this.window.length,this.config.hop_length,{fft_length:this.config.n_fft,power:2,mel_filters:this.config.mel_filters,log_mel:"log",mel_floor:-1/0,pad_mode:"constant",center:!0,transpose:!0,mel_offset:2**-24})}async _call(e){bt(e,"ParakeetFeatureExtractor");let t=await this._extract_fbank_features(e),r=Math.floor((e.length+Math.floor(this.config.n_fft/2)*2-this.config.n_fft)/this.config.hop_length),n=t.data;n.fill(0,r*t.dims[1]);let[s,a]=t.dims,o=new Float64Array(a),i=new Float64Array(a);for(let u=0;u<r;++u){let p=u*a;for(let f=0;f<a;++f){let m=n[p+f];o[f]+=m,i[f]+=m*m}}let l=r>1?r-1:1;for(let u=0;u<a;++u){let p=o[u]/r,f=(i[u]-r*p*p)/l,y=1/(Math.sqrt(f)+OB);for(let v=0;v<r;++v){let x=v*a+u;n[x]=(n[x]-p)*y}}let c=new BigInt64Array(s);return c.fill(1n,0,r),{input_features:t.unsqueeze_(0),attention_mask:new W("int64",c,[1,s])}}},dh=class extends ct{async _call(e){bt(e,"PyAnnoteFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=[1,1,e.length];return{input_values:new W("float32",e,t)}}samples_to_frames(e){return(e-this.config.offset)/this.config.step}post_process_speaker_diarization(e,t){let r=t/this.samples_to_frames(t)/this.config.sampling_rate,n=[];for(let s of e.tolist()){let a=[],o=-1;for(let i=0;i<s.length;++i){let l=rt(s[i]),[c,u]=Ge(l),[p,f]=[i,i+1];u!==o?(o=u,a.push({id:u,start:p,end:f,score:c})):(a.at(-1).end=f,a.at(-1).score+=c)}n.push(a.map(({id:i,start:l,end:c,score:u})=>({id:i,start:l*r,end:c*r,confidence:u/(c-l)})))}return n}},sM=class extends ct{constructor(e){super(e);let t=this.config.sampling_rate,r=or(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=br(400,"povey",{periodic:!1})}async _extract_fbank_features(e,t){return e=e.map(r=>r*32768),vr(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e,{padding:t=!0,pad_to_multiple_of:r=2,do_normalize_per_mel_bins:n=!0,return_attention_mask:s=!0}={}){bt(e,"SeamlessM4TFeatureExtractor");let a=await this._extract_fbank_features(e,this.config.max_length);if(n){let[m,y]=a.dims,v=a.data;for(let x=0;x<y;++x){let M=0;for(let S=0;S<m;++S)M+=v[S*y+x];let T=M/m,A=0;for(let S=0;S<m;++S)A+=(v[S*y+x]-T)**2;A/=m-1;let C=Math.sqrt(A+1e-7);for(let S=0;S<m;++S){let O=S*y+x;v[O]=(v[O]-T)/C}}}let o;if(t){let[m,y]=a.dims,v=a.data,x=m%r;if(x>0){let M=new Float32Array(y*(m+x));M.set(v),M.fill(this.config.padding_value,v.length);let T=m+x;a=new W(a.type,M,[T,y]),s&&(o=new W("int64",new BigInt64Array(T),[1,T]),o.data.fill(1n,0,m))}}let[i,l]=a.dims,c=this.config.stride;if(i%c!==0)throw new Error(`The number of frames (${i}) must be a multiple of the stride (${c}).`);let p=a.view(1,Math.floor(i/c),l*c),f={input_features:p};if(s){let m=p.dims[1],y=new BigInt64Array(m);if(o){let v=o.data;for(let x=1,M=0;x<i;x+=c,++M)y[M]=v[x]}else y.fill(1n);f.attention_mask=new W("int64",y,[1,m])}return f}},aM=class extends uh{},oM=class extends ct{},iM=class extends ct{_zero_mean_unit_var_norm(e){let r=e.reduce((s,a)=>s+a,0)/e.length,n=e.reduce((s,a)=>s+(a-r)**2,0)/e.length;return e.map(s=>(s-r)/Math.sqrt(n+1e-7))}async _call(e){bt(e,"Wav2Vec2FeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=e;this.config.do_normalize&&(t=this._zero_mean_unit_var_norm(t));let r=[1,t.length];return{input_values:new W("float32",t,r),attention_mask:new W("int64",new BigInt64Array(t.length).fill(1n),r)}}},lM=class extends ct{constructor(e){super(e);let t=this.config.sampling_rate,r=or(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=br(400,"hamming",{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(e){return e=e.map(t=>t*32768),vr(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(e){bt(e,"WeSpeakerFeatureExtractor");let t=(await this._extract_fbank_features(e)).unsqueeze_(0);if(this.config.fbank_centering_span===null){let r=t.mean(1).data,n=t.data,[s,a,o]=t.dims;for(let i=0;i<s;++i){let l=i*a*o,c=i*o;for(let u=0;u<a;++u){let p=l+u*o;for(let f=0;f<o;++f)n[p+f]-=r[c+f]}}}return{input_features:t}}},cM=class extends ct{constructor(e){var t;super(e),(t=this.config).mel_filters??(t.mel_filters=or(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=br(this.config.n_fft,"hann")}async _extract_fbank_features(e,{center:t=!0}={}){let{n_fft:r,hop_length:n,mel_filters:s,global_log_mel_max:a}=this.config,o=Math.floor(t?e.length/n:(e.length-r)/n);return await vr(e,this.window,r,n,{power:2,mel_filters:s,log_mel:"log10_max_norm",max_log_mel:a,center:t,max_num_frames:o,do_pad:!1})}async _call(e,{center:t=!0}={}){return bt(e,"VoxtralRealtimeFeatureExtractor"),{input_features:(await this._extract_fbank_features(e,{center:t})).unsqueeze_(0)}}},uM=class extends ct{constructor(e){var t;super(e),(t=this.config).mel_filters??(t.mel_filters=or(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=br(this.config.n_fft,"hann")}async _extract_fbank_features(e){return await vr(e,this.window,this.config.n_fft,this.config.hop_length,{power:2,mel_filters:this.config.mel_filters,log_mel:"log10_max_norm",max_num_frames:Math.min(Math.floor(e.length/this.config.hop_length),this.config.nb_max_frames)})}async _call(e,{max_length:t=null}={}){bt(e,"WhisperFeatureExtractor");let r,n=t??this.config.n_samples;return e.length>n?(e.length>this.config.n_samples&&ce.warn("Attempting to extract features for audio longer than 30 seconds. If using a pipeline to extract transcript from a long audio clip, remember to specify `chunk_length_s` and/or `stride_length_s`."),r=e.slice(0,n)):(r=new Float32Array(n),r.set(e)),{input_features:(await this._extract_fbank_features(r)).unsqueeze_(0)}}},Bt=class{static async from_pretrained(e,t={}){let r=await yr(e,ih,!0,t),n=r.feature_extractor_type,s=lh[n];if(!s)throw new Error(`Unknown feature_extractor_type: '${n}'. Please report this at ${Ci}.`);return new s(r)}},dM=(jo=class extends Se{async _call(e,t=null){let r=this.tokenizer(e),n=t?await this.feature_extractor(t):{};return{...r,...n}}},w(jo,"tokenizer_class",Ae),w(jo,"feature_extractor_class",Bt),jo),Op={};if(pe.IS_WEB_ENV)ln=(e,t)=>{if(!self.OffscreenCanvas)throw new Error("OffscreenCanvas not supported by this environment.");return new self.OffscreenCanvas(e,t)},Or=self.createImageBitmap,pM=self.ImageData;else if(Op)Or=async e=>{let r=(await e.metadata()).channels,{data:n,info:s}=await e.rotate().raw().toBuffer({resolveWithObject:!0}),a=new Mt(new Uint8ClampedArray(n),s.width,s.height,s.channels);return r!==void 0&&r!==s.channels&&a.convert(r),a};else throw new Error("Unable to load image processing library.");LB={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},FB=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]),Mt=class nr{constructor(t,r,n,s){this.data=t,this.width=r,this.height=n,this.channels=s}get size(){return[this.width,this.height]}static async read(t){if(t instanceof nr)return t;if(typeof t=="string"||t instanceof URL)return await this.fromURL(t);if(t instanceof Blob)return await this.fromBlob(t);if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return this.fromCanvas(t);throw new Error(`Unsupported input type: ${typeof t}`)}static fromCanvas(t){if(!pe.IS_WEB_ENV)throw new Error("fromCanvas() is only supported in browser environments.");let n=t.getContext("2d").getImageData(0,0,t.width,t.height).data;return new nr(n,t.width,t.height,4)}static async fromURL(t){let r=await ma(t);if(r.status!==200)throw new Error(`Unable to read image from "${t}" (${r.status} ${r.statusText})`);let n=await r.blob();return this.fromBlob(n)}static async fromBlob(t){if(pe.IS_WEB_ENV){let r=await Or(t),n=ln(r.width,r.height).getContext("2d");return n.drawImage(r,0,0),new this(n.getImageData(0,0,r.width,r.height).data,r.width,r.height,4)}else{let r=Op(await t.arrayBuffer());return await Or(r)}}static fromTensor(t,r="CHW"){if(t.dims.length!==3)throw new Error(`Tensor should have 3 dimensions, but has ${t.dims.length} dimensions.`);if(r==="CHW")t=t.transpose(1,2,0);else if(r!=="HWC")throw new Error(`Unsupported channel format: ${r}`);if(!(t.data instanceof Uint8ClampedArray||t.data instanceof Uint8Array))throw new Error(`Unsupported tensor type: ${t.type}`);switch(t.dims[2]){case 1:case 2:case 3:case 4:return new nr(t.data,t.dims[1],t.dims[0],t.dims[2]);default:throw new Error(`Unsupported number of channels: ${t.dims[2]}`)}}grayscale(){if(this.channels===1)return this;let t=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let r=0,n=0;r<this.data.length;r+=this.channels){let s=this.data[r],a=this.data[r+1],o=this.data[r+2];t[n++]=Math.round(.2989*s+.587*a+.114*o)}break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(t,this.width,this.height,1)}rgb(){if(this.channels===3)return this;let t=new Uint8ClampedArray(this.width*this.height*3);switch(this.channels){case 1:for(let r=0,n=0;r<this.data.length;++r)t[n++]=this.data[r],t[n++]=this.data[r],t[n++]=this.data[r];break;case 4:for(let r=0,n=0;r<this.data.length;r+=4)t[n++]=this.data[r],t[n++]=this.data[r+1],t[n++]=this.data[r+2];break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(t,this.width,this.height,3)}rgba(){if(this.channels===4)return this;let t=new Uint8ClampedArray(this.width*this.height*4);switch(this.channels){case 1:for(let r=0,n=0;r<this.data.length;++r)t[n++]=this.data[r],t[n++]=this.data[r],t[n++]=this.data[r],t[n++]=255;break;case 3:for(let r=0,n=0;r<this.data.length;r+=3)t[n++]=this.data[r],t[n++]=this.data[r+1],t[n++]=this.data[r+2],t[n++]=255;break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(t,this.width,this.height,4)}putAlpha(t){if(t.width!==this.width||t.height!==this.height)throw new Error(`Expected mask size to be ${this.width}x${this.height}, but got ${t.width}x${t.height}`);if(t.channels!==1)throw new Error(`Expected mask to have 1 channel, but got ${t.channels}`);let r=this.data,n=t.data,s=this.width*this.height;if(this.channels===3){let a=new Uint8ClampedArray(s*4);for(let o=0,i=0,l=0;o<s;++o)a[l++]=r[i++],a[l++]=r[i++],a[l++]=r[i++],a[l++]=n[o];return this._update(a,this.width,this.height,4)}else if(this.channels===4){for(let a=0;a<s;++a)r[4*a+3]=n[a];return this}throw new Error(`Expected image to have 3 or 4 channels, but got ${this.channels}`)}async resize(t,r,{resample:n=2}={}){if(this.width===t&&this.height===r)return this;let s=LB[n]??n,a=My(t),o=My(r);if(a&&o)return this;if(a?t=r/this.height*this.width:o&&(r=t/this.width*this.height),pe.IS_WEB_ENV){let i=this.channels,l=this.toCanvas(),c=ln(t,r).getContext("2d");return c.drawImage(l,0,0,t,r),new nr(c.getImageData(0,0,t,r).data,t,r,4).convert(i)}else{let i=this.toSharp();switch(s){case"box":case"hamming":(s==="box"||s==="hamming")&&(ce.warn(`Resampling method ${s} is not yet supported. Using bilinear instead.`),s="bilinear");case"nearest":case"bilinear":case"bicubic":i=i.affine([t/this.width,0,0,r/this.height],{interpolator:s});break;case"lanczos":i=i.resize({width:t,height:r,fit:"fill",kernel:"lanczos3"});break;default:throw new Error(`Resampling method ${s} is not supported.`)}return await Or(i)}}async pad([t,r,n,s]){if(t=Math.max(t,0),r=Math.max(r,0),n=Math.max(n,0),s=Math.max(s,0),t===0&&r===0&&n===0&&s===0)return this;if(pe.IS_WEB_ENV){let a=this.channels,o=this.toCanvas(),i=this.width+t+r,l=this.height+n+s,c=ln(i,l).getContext("2d");return c.drawImage(o,0,0,this.width,this.height,t,n,this.width,this.height),new nr(c.getImageData(0,0,i,l).data,i,l,4).convert(a)}else{let a=this.toSharp().extend({left:t,right:r,top:n,bottom:s});return await Or(a)}}async crop([t,r,n,s]){if(t=Math.max(t,0),r=Math.max(r,0),n=Math.min(n,this.width-1),s=Math.min(s,this.height-1),t===0&&r===0&&n===this.width-1&&s===this.height-1)return this;let a=n-t+1,o=s-r+1;if(pe.IS_WEB_ENV){let i=this.channels,l=this.toCanvas(),c=ln(a,o).getContext("2d");return c.drawImage(l,t,r,a,o,0,0,a,o),new nr(c.getImageData(0,0,a,o).data,a,o,4).convert(i)}else{let i=this.toSharp().extract({left:t,top:r,width:a,height:o});return await Or(i)}}async center_crop(t,r){if(this.width===t&&this.height===r)return this;let n=(this.width-t)/2,s=(this.height-r)/2;if(pe.IS_WEB_ENV){let a=this.channels,o=this.toCanvas(),i=ln(t,r).getContext("2d"),l=0,c=0,u=0,p=0;return n>=0?l=n:u=-n,s>=0?c=s:p=-s,i.drawImage(o,l,c,t,r,u,p,t,r),new nr(i.getImageData(0,0,t,r).data,t,r,4).convert(a)}else{let a=this.toSharp();if(n>=0&&s>=0)a=a.extract({left:Math.floor(n),top:Math.floor(s),width:t,height:r});else if(n<=0&&s<=0){let o=Math.floor(-s),i=Math.floor(-n);a=a.extend({top:o,left:i,right:t-this.width-i,bottom:r-this.height-o})}else{let o=[0,0],i=0;s<0?(o[0]=Math.floor(-s),o[1]=r-this.height-o[0]):i=Math.floor(s);let l=[0,0],c=0;n<0?(l[0]=Math.floor(-n),l[1]=t-this.width-l[0]):c=Math.floor(n),a=a.extend({top:o[0],bottom:o[1],left:l[0],right:l[1]}).extract({left:c,top:i,width:t,height:r})}return await Or(a)}}async toBlob(t="image/png",r=1){if(!pe.IS_WEB_ENV)throw new Error("toBlob() is only supported in browser environments.");return await this.toCanvas().convertToBlob({type:t,quality:r})}toTensor(t="CHW"){let r=new W("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if(t!=="HWC")if(t==="CHW")r=r.permute(2,0,1);else throw new Error(`Unsupported channel format: ${t}`);return r}toCanvas(){if(!pe.IS_WEB_ENV)throw new Error("toCanvas() is only supported in browser environments.");let t=this.clone().rgba(),r=ln(t.width,t.height),n=new pM(t.data,t.width,t.height);return r.getContext("2d").putImageData(n,0,0),r}split(){let{data:t,width:r,height:n,channels:s}=this,a=t.constructor,o=t.length/s,i=Array.from({length:s},()=>new a(o));for(let l=0;l<o;++l){let c=s*l;for(let u=0;u<s;++u)i[u][l]=t[c+u]}return i.map(l=>new nr(l,r,n,1))}_update(t,r,n,s=null){return this.data=t,this.width=r,this.height=n,s!==null&&(this.channels=s),this}clone(){return new nr(this.data.slice(),this.width,this.height,this.channels)}convert(t){if(this.channels===t)return this;switch(t){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(t){if(pe.IS_WEB_ENV){if(pe.IS_WEBWORKER_ENV)throw new Error("Unable to save an image from a Web Worker.");let r=t.split(".").pop().toLowerCase(),n=FB.get(r)??"image/png",s=await this.toBlob(n);return qb(t,s)}else if(pe.IS_FS_AVAILABLE)await this.toSharp().toFile(t);else throw new Error("Unable to save the image because filesystem is disabled in this environment.")}toSharp(){if(pe.IS_WEB_ENV)throw new Error("toSharp() is only supported in server-side environments.");return Op(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}},NB=Mt.read.bind(Mt);ue=class extends Dt{constructor(e){super(),this.image_mean=e.image_mean??e.mean,this.image_std=e.image_std??e.std,this.resample=e.resample??2,this.do_rescale=e.do_rescale??!0,this.rescale_factor=e.rescale_factor??1/255,this.do_normalize=e.do_normalize,this.do_thumbnail=e.do_thumbnail,this.size=e.size??e.image_size,this.do_resize=e.do_resize??this.size!==void 0,this.size_divisibility=e.size_divisibility??e.size_divisor,this.do_center_crop=e.do_center_crop,this.crop_size=e.crop_size,this.do_convert_rgb=e.do_convert_rgb??!0,this.do_crop_margin=e.do_crop_margin,this.pad_size=e.pad_size,this.do_pad=e.do_pad,this.min_pixels=e.min_pixels,this.max_pixels=e.max_pixels,this.do_pad&&!this.pad_size&&!this.size_divisibility&&this.size&&this.size.width!==void 0&&this.size.height!==void 0&&(this.pad_size=this.size),this.do_flip_channel_order=e.do_flip_channel_order??!1,this.config=e}async thumbnail(e,t,r=2){let n=e.height,s=e.width,a=t.height,o=t.width,i=Math.min(n,a),l=Math.min(s,o);return i===n&&l===s?e:(n>s?l=Math.floor(s*i/n):s>n&&(i=Math.floor(n*l/s)),await e.resize(l,i,{resample:r}))}async crop_margin(e,t=200){let r=e.clone().grayscale(),n=Sp(r.data)[0],a=Ge(r.data)[0]-n;if(a===0)return e;let o=t/255,i=r.width,l=r.height,c=0,u=0,p=r.data;for(let f=0;f<r.height;++f){let m=f*r.width;for(let y=0;y<r.width;++y)(p[m+y]-n)/a<o&&(i=Math.min(i,y),l=Math.min(l,f),c=Math.max(c,y),u=Math.max(u,f))}return e=await e.crop([i,l,c,u]),e}pad_image(e,t,r,{mode:n="constant",center:s=!1,constant_values:a=0}={}){let[o,i,l]=t,c,u;if(typeof r=="number"?(c=r,u=r):r==="square"?c=u=Math.max(o,i):(c=r.width,u=r.height),c!==i||u!==o){let p=new Float32Array(c*u*l);if(Array.isArray(a))for(let y=0;y<p.length;++y)p[y]=a[y%l];else a!==0&&p.fill(a);let[f,m]=s?[Math.floor((c-i)/2),Math.floor((u-o)/2)]:[0,0];for(let y=0;y<o;++y){let v=(y+m)*c,x=y*i;for(let M=0;M<i;++M){let T=(v+M+f)*l,A=(x+M)*l;for(let C=0;C<l;++C)p[T+C]=e[A+C]}}if(n==="symmetric"){if(s)throw new Error("`center` padding is not supported when `mode` is set to `symmetric`.");let y=o-1,v=i-1;for(let x=0;x<u;++x){let M=x*c,T=pi(x,y)*i;for(let A=0;A<c;++A){if(x<o&&A<i)continue;let C=(M+A)*l,S=(T+pi(A,v))*l;for(let O=0;O<l;++O)p[C+O]=e[S+O]}}}e=p,t=[u,c,l]}return[e,t]}rescale(e){for(let t=0;t<e.length;++t)e[t]=this.rescale_factor*e[t]}get_resize_output_image_size(e,t){let[r,n]=e.size,s,a;if(this.do_thumbnail){let{height:o,width:i}=t;s=Math.min(o,i)}else Number.isInteger(t)?(s=t,a=this.config.max_size??s):t!==void 0&&(s=t.shortest_edge,a=t.longest_edge);if(s!==void 0||a!==void 0){let o=s===void 0?1:Math.max(s/r,s/n),i=r*o,l=n*o,c=a===void 0?1:Math.min(a/i,a/l),u=Math.floor(Number((i*c).toFixed(2))),p=Math.floor(Number((l*c).toFixed(2)));return this.size_divisibility!==void 0&&([u,p]=av([u,p],this.size_divisibility)),[u,p]}else if(t!==void 0&&t.width!==void 0&&t.height!==void 0){let o=t.width,i=t.height;if(this.config.keep_aspect_ratio&&this.config.ensure_multiple_of){let l=i/n,c=o/r;Math.abs(1-c)<Math.abs(1-l)?l=c:c=l,i=sv(l*n,this.config.ensure_multiple_of),o=sv(c*r,this.config.ensure_multiple_of)}return[o,i]}else{if(this.size_divisibility!==void 0)return av([r,n],this.size_divisibility);throw new Error(`Could not resize image due to unsupported \`this.size\` option in config: ${JSON.stringify(t)}`)}}async resize(e){let[t,r]=this.get_resize_output_image_size(e,this.size);return await e.resize(t,r,{resample:this.resample})}async preprocess(e,{do_normalize:t=null,do_pad:r=null,do_convert_rgb:n=null,do_convert_grayscale:s=null,do_flip_channel_order:a=null}={}){this.do_crop_margin&&(e=await this.crop_margin(e));let[o,i]=e.size;if(n??this.do_convert_rgb?e=e.rgb():s&&(e=e.grayscale()),this.do_resize&&(e=await this.resize(e)),this.do_thumbnail&&(e=await this.thumbnail(e,this.size,this.resample)),this.do_center_crop){let f,m;Number.isInteger(this.crop_size)?(f=this.crop_size,m=this.crop_size):(f=this.crop_size.width,m=this.crop_size.height),e=await e.center_crop(f,m)}let l=[e.height,e.width],c=Float32Array.from(e.data),u=[e.height,e.width,e.channels];if(this.do_rescale&&this.rescale(c),t??this.do_normalize){let f=this.image_mean;Array.isArray(this.image_mean)||(f=new Array(e.channels).fill(f));let m=this.image_std;if(Array.isArray(this.image_std)||(m=new Array(e.channels).fill(m)),f.length!==e.channels||m.length!==e.channels)throw new Error(`When set to arrays, the length of \`image_mean\` (${f.length}) and \`image_std\` (${m.length}) must match the number of channels in the image (${e.channels}).`);for(let y=0;y<c.length;y+=e.channels)for(let v=0;v<e.channels;++v)c[y+v]=(c[y+v]-f[v])/m[v]}if(r??this.do_pad){if(this.pad_size)[c,u]=this.pad_image(c,[e.height,e.width,e.channels],this.pad_size);else if(this.size_divisibility){let f=Math.ceil(u[1]/this.size_divisibility)*this.size_divisibility,m=Math.ceil(u[0]/this.size_divisibility)*this.size_divisibility;[c,u]=this.pad_image(c,u,{width:f,height:m})}}if(a??this.do_flip_channel_order){if(u[2]!==3)throw new Error("Flipping channel order is only supported for RGB images.");for(let f=0;f<c.length;f+=3){let m=c[f];c[f]=c[f+2],c[f+2]=m}}let p=new W("float32",c,u).permute(2,0,1);return{original_size:[i,o],reshaped_input_size:l,pixel_values:p}}async _call(e,...t){Array.isArray(e)||(e=[e]);let r=await Promise.all(e.map(s=>this.preprocess(s)));return{pixel_values:Fr(r.map(s=>s.pixel_values),0),original_sizes:r.map(s=>s.original_size),reshaped_input_sizes:r.map(s=>s.reshaped_input_size)}}static async from_pretrained(e,t={}){let r=await yr(e,_a,!0,t);return new this(r)}},gi={};cs(gi,{BeitFeatureExtractor:()=>gM,BitImageProcessor:()=>wM,CHMv2ImageProcessor:()=>vM,CLIPFeatureExtractor:()=>bM,CLIPImageProcessor:()=>hh,ChineseCLIPFeatureExtractor:()=>yM,ConvNextFeatureExtractor:()=>MM,ConvNextImageProcessor:()=>fh,DINOv3ViTImageProcessor:()=>EM,DPTFeatureExtractor:()=>CM,DPTImageProcessor:()=>gh,DeiTFeatureExtractor:()=>xM,DeiTImageProcessor:()=>mh,DetrFeatureExtractor:()=>TM,DetrImageProcessor:()=>_h,DonutFeatureExtractor:()=>kM,DonutImageProcessor:()=>Si,EfficientNetImageProcessor:()=>AM,GLPNFeatureExtractor:()=>IM,Glm46VImageProcessor:()=>SM,GroundingDinoImageProcessor:()=>PM,Idefics3ImageProcessor:()=>Lp,ImageFeatureExtractor:()=>ue,ImageProcessor:()=>ue,JinaCLIPImageProcessor:()=>OM,Lfm2VlImageProcessor:()=>LM,LlavaOnevisionImageProcessor:()=>FM,Mask2FormerImageProcessor:()=>DM,MaskFormerFeatureExtractor:()=>NM,MaskFormerImageProcessor:()=>Ii,MobileNetV1FeatureExtractor:()=>BM,MobileNetV1ImageProcessor:()=>yh,MobileNetV2FeatureExtractor:()=>UM,MobileNetV2ImageProcessor:()=>vh,MobileNetV3FeatureExtractor:()=>zM,MobileNetV3ImageProcessor:()=>bh,MobileNetV4FeatureExtractor:()=>$M,MobileNetV4ImageProcessor:()=>Mh,MobileViTFeatureExtractor:()=>VM,MobileViTImageProcessor:()=>xh,NougatImageProcessor:()=>GM,OwlViTFeatureExtractor:()=>jM,OwlViTImageProcessor:()=>Pi,Owlv2ImageProcessor:()=>WM,Phi3VImageProcessor:()=>qM,PixtralImageProcessor:()=>HM,PvtImageProcessor:()=>KM,Qwen2VLImageProcessor:()=>wh,RTDetrImageProcessor:()=>QM,Sam2ImageProcessor:()=>ii,Sam3ImageProcessor:()=>ii,SamImageProcessor:()=>ii,SapiensFeatureExtractor:()=>JM,SapiensImageProcessor:()=>Th,SegformerFeatureExtractor:()=>XM,SegformerImageProcessor:()=>Eh,SiglipImageProcessor:()=>YM,SmolVLMImageProcessor:()=>Lp,Swin2SRImageProcessor:()=>ZM,VLMImageProcessor:()=>RM,ViTFeatureExtractor:()=>ex,ViTImageProcessor:()=>kh,VitMatteImageProcessor:()=>tx,VitPoseImageProcessor:()=>rx,YolosFeatureExtractor:()=>nx,YolosImageProcessor:()=>Ch});gM=class extends ue{},wM=class extends ue{},yM=class extends ue{},vM=class extends ue{},hh=class extends ue{},bM=class extends hh{},fh=class extends ue{constructor(e){super(e),this.crop_pct=this.config.crop_pct??224/256}async resize(e){let t=this.size?.shortest_edge;if(t===void 0)throw new Error("Size dictionary must contain 'shortest_edge' key.");if(t<384){let r=Math.floor(t/this.crop_pct),[n,s]=this.get_resize_output_image_size(e,{shortest_edge:r});e=await e.resize(n,s,{resample:this.resample}),e=await e.center_crop(t,t)}else e=await e.resize(t,t,{resample:this.resample});return e}},MM=class extends fh{},mh=class extends ue{},xM=class extends mh{},_h=class extends ue{async _call(e){let t=await super._call(e),r=[t.pixel_values.dims[0],64,64],n=lt(r,1n);return{...t,pixel_mask:n}}post_process_object_detection(...e){return Ai(...e)}post_process_panoptic_segmentation(...e){return mM(...e)}post_process_instance_segmentation(...e){return _M(...e)}},TM=class extends _h{},EM=class extends ue{},Si=class extends ue{pad_image(e,t,r,n={}){let[s,a,o]=t,i=this.image_mean;Array.isArray(this.image_mean)||(i=new Array(o).fill(i));let l=this.image_std;Array.isArray(l)||(l=new Array(o).fill(i));let c=i.map((u,p)=>-u/l[p]);return super.pad_image(e,t,r,{center:!0,constant_values:c,...n})}},kM=class extends Si{},gh=class extends ue{},CM=class extends gh{},AM=class extends ue{constructor(e){super(e),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(t=>t*t))}},wh=class extends ue{constructor(e){super(e),this.min_pixels=e.min_pixels??e.size?.shortest_edge,this.max_pixels=e.max_pixels??e.size?.longest_edge,this.patch_size=e.patch_size,this.merge_size=e.merge_size}get_resize_output_image_size(e,t){let r=this.patch_size*this.merge_size;return ph(e.height,e.width,r,this.min_pixels,this.max_pixels)}async _call(e,...t){let{pixel_values:r,original_sizes:n,reshaped_input_sizes:s}=await super._call(e,...t),a=r,{temporal_patch_size:o,merge_size:i,patch_size:l}=this.config;a.dims[0]===1&&(a=Fe(Array.from({length:o},()=>a),0));let c=a.dims[0]/o,u=a.dims[1],p=Math.floor(a.dims[2]/l),f=Math.floor(a.dims[3]/l),m=a.view(c,o,u,Math.floor(p/i),i,l,Math.floor(f/i),i,l).permute(0,3,6,4,7,2,1,5,8).view(c*p*f,u*o*l*l),y=new W("int64",[c,p,f],[1,3]);return{pixel_values:m,image_grid_thw:y,original_sizes:n,reshaped_input_sizes:s}}},SM=class extends wh{get_resize_output_image_size(e,t){let r=this.patch_size*this.merge_size,n=this.config.temporal_patch_size??2;return ph(e.height,e.width,r,this.min_pixels,this.max_pixels,n)}},IM=class extends ue{},PM=class extends ue{async _call(e){let t=await super._call(e),r=t.pixel_values.dims,n=xt([r[0],r[2],r[3]]);return{...t,pixel_mask:n}}},Lp=class extends ue{constructor(e){super(e),this.do_image_splitting=e.do_image_splitting??!0,this.max_image_size=e.max_image_size}get_resize_for_vision_encoder(e,t){let[r,n]=e.dims.slice(-2),s=n/r;return n>=r?(n=Math.ceil(n/t)*t,r=Math.floor(n/s),r=Math.ceil(r/t)*t):(r=Math.ceil(r/t)*t,n=Math.floor(r*s),n=Math.ceil(n/t)*t),{height:r,width:n}}async _call(e,{do_image_splitting:t=null,return_row_col_info:r=!1}={}){let n;if(!Array.isArray(e))n=[[e]];else{if(e.length===0||!e[0])throw new Error("No images provided.");Array.isArray(e[0])?n=e:n=[e]}let s=[],a=[],o=[],i=[],l=[];for(let x of n){let M=await Promise.all(x.map(C=>this.preprocess(C)));i.push(...M.map(C=>C.original_size)),l.push(...M.map(C=>C.reshaped_input_size)),M.forEach(C=>C.pixel_values.unsqueeze_(0));let{longest_edge:T}=this.max_image_size,A;if(t??this.do_image_splitting){let C=new Array(M.length),S=new Array(M.length);A=await Promise.all(M.map(async(O,E)=>{let K=this.get_resize_for_vision_encoder(O.pixel_values,T),$=await Nt(O.pixel_values,{size:[K.height,K.width]}),{frames:V,num_splits_h:Q,num_splits_w:G}=await this.split_image($,this.max_image_size);return C[E]=Q,S[E]=G,Fe(V,0)})),a.push(C),o.push(S)}else{let C=[T,T];A=await Promise.all(M.map(S=>Nt(S.pixel_values,{size:C}))),a.push(new Array(M.length).fill(0)),o.push(new Array(M.length).fill(0))}s.push(Fe(A,0))}let c=s.length,[u,p,f,m]=s[0].dims,y,v;if(c===1)y=s[0].unsqueeze_(0),v=lt([c,u,f,m],!0);else{let x=Math.max(...s.map(A=>A.dims.at(0)));v=lt([c,x,f,m],!0);let M=v.data,T=x*f*m;for(let A=0;A<c;++A){let C=s[A].dims[0];if(C<x){s[A]=Fe([s[A],lt([x-C,p,f,m],0)],0);let S=A*T+C*f*m,O=(A+1)*T;M.fill(!1,S,O)}}y=Fr(s,0)}return{pixel_values:y,pixel_attention_mask:v,original_sizes:i,reshaped_input_sizes:l,...r?{rows:a,cols:o}:{}}}async split_image(e,{longest_edge:t}){let r=t,n=t,s=[],[a,o]=e.dims.slice(-2),i=0,l=0;if(a>r||o>n){i=Math.ceil(a/r),l=Math.ceil(o/n);let c=Math.ceil(a/i),u=Math.ceil(o/l);for(let m=0;m<i;++m)for(let y=0;y<l;++y){let v,x,M,T;m===i-1?(x=a-c,T=a):(x=m*c,T=(m+1)*c),y===l-1?(v=o-u,M=o):(v=y*u,M=(y+1)*u);let S=await Yp(e,[x,v],[T,M],[2,3]);s.push(S)}let p=r,f=n;(a!==p||o!==f)&&(e=await Nt(e,{size:[p,f]}))}return s.push(e),{frames:s,num_splits_h:i,num_splits_w:l}}},RM=class extends ue{constructor(e){super({do_pad:!0,pad_size:{width:e.image_size,height:e.image_size},...e}),this.constant_values=this.config.background_color.map(t=>t*this.rescale_factor)}pad_image(e,t,r,n){return super.pad_image(e,t,r,{constant_values:this.constant_values,center:!0,...n})}},OM=class extends ue{constructor(e){let{resize_mode:t,fill_color:r,interpolation:n,size:s,...a}=e,o=t==="squash"?{width:s,height:s}:t==="shortest"?{shortest_edge:s}:{longest_edge:s},i=n==="bicubic"?3:2;super({...a,size:o,resample:i,do_center_crop:!0,crop_size:s,do_normalize:!0})}};LM=class extends ue{constructor(e){super(e),this.downsample_factor=e.downsample_factor??2,this.do_image_splitting=e.do_image_splitting??!0,this.min_tiles=e.min_tiles??2,this.max_tiles=e.max_tiles??10,this.use_thumbnail=e.use_thumbnail??!0,this.min_image_tokens=e.min_image_tokens??64,this.max_image_tokens=e.max_image_tokens??256,this.encoder_patch_size=e.encoder_patch_size??e.patch_size??16,this.tile_size=e.tile_size??512,this.max_pixels_tolerance=e.max_pixels_tolerance??2,this.return_row_col_info=e.return_row_col_info??!1;let t=this.max_image_tokens*this.downsample_factor**2,r=this.do_image_splitting?(this.tile_size/this.encoder_patch_size)**2:0;this.max_num_patches=Math.max(t,r)}_is_image_too_large(e,t){let r=this.encoder_patch_size*this.downsample_factor,n=Math.max(this.encoder_patch_size,ov(e,r)),s=Math.max(this.encoder_patch_size,ov(t,r));return n*s>this.max_image_tokens*(this.encoder_patch_size*this.downsample_factor)**2*this.max_pixels_tolerance}_get_grid_layout(e,t){let r=$B(this.min_tiles,this.max_tiles),[n,s]=zB(t/e,r,t,e,this.tile_size);return{grid_width:n,grid_height:s,target_width:this.tile_size*n,target_height:this.tile_size*s}}async _call(e,{return_row_col_info:t=null}={}){let r;Array.isArray(e)?Array.isArray(e[0])?r=e:r=[e]:r=[[e]];let n=[],s=[],a=[],o=[],i=[],l=[];for(let u of r){let p=await Promise.all(u.map(f=>this.preprocess(f,{do_pad:!1})));for(let{pixel_values:f}of p){let[,m,y]=f.dims,v=f.unsqueeze_(0),x=this.encoder_patch_size*this.downsample_factor,M=x**2,[T,A]=ph(Math.max(x,m),Math.max(x,y),x,this.min_image_tokens*M,this.max_image_tokens*M).map($=>Math.max(x,$)),C,S=1,O=1,E=this._is_image_too_large(m,y),K=this.do_image_splitting&&!(this.min_tiles===1&&this.max_tiles===1);if(E&&K){let{grid_width:$,grid_height:V,target_width:Q,target_height:G}=this._get_grid_layout(m,y);S=V,O=$;let q=await Nt(v,{size:[G,Q]});C=[];for(let D=0;D<V;++D)for(let R=0;R<$;++R){let re=D*this.tile_size,ie=R*this.tile_size;C.push(q.slice(null,null,[re,re+this.tile_size],[ie,ie+this.tile_size]))}this.use_thumbnail&&$*V!==1&&C.push(await Nt(v,{size:[A,T]}))}else C=[await Nt(v,{size:[A,T]})];for(let $ of C){let[,,V,Q]=$.dims,G=VB($,this.encoder_patch_size),{padded:q,mask:D}=GB(G,this.max_num_patches);n.push(q),s.push(D),a.push([Math.floor(V/this.encoder_patch_size),Math.floor(Q/this.encoder_patch_size)])}o.push(S),i.push(O),l.push([A,T])}}let c={pixel_values:Fe(n,0),pixel_attention_mask:Fr(s,0),spatial_shapes:new W("int64",BigInt64Array.from(a.flat(),BigInt),[a.length,2])};return(t??this.return_row_col_info)&&(c.image_rows=o,c.image_cols=i,c.image_sizes=l),c}},FM=class extends ue{},Ii=class extends ue{post_process_panoptic_segmentation(...e){return mM(...e)}post_process_instance_segmentation(...e){return _M(...e)}},NM=class extends Ii{},DM=class extends Ii{},yh=class extends ue{},BM=class extends yh{},vh=class extends ue{},UM=class extends vh{},bh=class extends ue{},zM=class extends bh{},Mh=class extends ue{},$M=class extends Mh{},xh=class extends ue{},VM=class extends xh{},GM=class extends Si{},Pi=class extends ue{post_process_object_detection(...e){return Ai(...e)}},jM=class extends Pi{},WM=class extends Pi{},Ct=336,jB=[2,3],{ceil:Gd,floor:Xn,sqrt:jd}=Math,qM=class extends ue{constructor(e){super({...e,do_normalize:!0,do_pad:!0,pad_size:"custom",do_convert_rgb:!0,do_resize:!0}),this._num_crops=e.num_crops}calc_num_image_tokens_from_image_size(e,t){let{num_img_tokens:r}=this.config;return Xn((Xn(t/Ct)*Xn(e/Ct)+1)*r+1+(Xn(t/Ct)+1)*jd(r))}get_resize_output_image_size(e,t){let r=this._num_crops,[n,s]=e.size,a=n/s,o=1;for(;o*Math.ceil(o/a)<=r;)o+=1;o-=1;let i=Math.floor(o*336),l=Math.floor(i/a);return[i,l]}pad_image(e,t,r,n={}){let[s,a]=t,o=Ct*Gd(s/Ct),i=Ct*Gd(a/Ct),l=[1,1,1].map((c,u)=>(c-this.image_mean[u])/this.image_std[u]);return super.pad_image(e,t,{width:i,height:o},{center:!0,constant_values:l,...n})}async _call(e,{num_crops:t=null}={}){if(this._num_crops=t??(t=this.config.num_crops),t<4||jd(t)%1!==0)throw new Error("num_crops must be a square number >= 4");Array.isArray(e)||(e=[e]);let r=e.length,n=await Promise.all(e.map(p=>this.preprocess(p))),s=n.map(p=>p.original_size),a=n.map(p=>p.reshaped_input_size),o=[];for(let{pixel_values:p}of n){p.unsqueeze_(0);let[f,m]=p.dims.slice(-2),y=await Nt(p,{size:[Ct,Ct],mode:"bicubic"});if(t>0){let v=[],x=jd(t),M=Xn(m/x),T=Xn(f/x);for(let C=0;C<x;++C)for(let S=0;S<x;++S){let O,E,K,$;C===x-1?(E=f-T,$=f):(E=C*T,$=(C+1)*T),S===x-1?(O=m-M,K=m):(O=S*M,K=(S+1)*M);let G=await Yp(p,[E,O],[$,K],jB);v.push(G)}let A=await Nt(Fe(v,0),{size:[Ct,Ct],mode:"bicubic"});o.push(Fe([y,A],0))}else o.push(y)}let i=Fr(o,0),l=a.map(p=>p.map(f=>Ct*Gd(f/Ct))),c=new W("int64",l.flat(),[r,2]),u=l.map(([p,f])=>this.calc_num_image_tokens_from_image_size(f,p));return{pixel_values:i,original_sizes:s,reshaped_input_sizes:a,image_sizes:c,num_img_tokens:u}}},HM=class extends ue{get_resize_output_image_size(e,t){let{longest_edge:r}=t;if(r===void 0)throw new Error("size must contain 'longest_edge'");let[n,s]=e.size,a=Math.max(n,s)/r,o=n,i=s;a>1&&(o=Math.floor(n/a),i=Math.floor(s/a));let{patch_size:l,spatial_merge_size:c}=this.config;if(!c)throw new Error("config must contain 'spatial_merge_size'");let u=l*c,p=Math.floor((o-1)/u)+1,f=Math.floor((i-1)/u)+1;return[p*u,f*u]}},KM=class extends ue{},QM=class extends ue{post_process_object_detection(...e){return Ai(...e)}},ii=class extends ue{reshape_input_points(e,t,r,n=!1){e=structuredClone(e);let s=xy(e);if(s.length===3)n||(s=[1,...s]),e=[e];else if(s.length!==4)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let a=0;a<e.length;++a){let[o,i]=t[a],[l,c]=r[a],u=[c/i,l/o];for(let p=0;p<e[a].length;++p)for(let f=0;f<e[a][p].length;++f)for(let m=0;m<e[a][p][f].length;++m)e[a][p][f][m]*=u[m%2]}return new W("float32",Float32Array.from(e.flat(1/0)),s)}add_input_labels(e,t){let r=xy(e);if(r.length===2)r=[1,...r],e=[e];else if(r.length!==3)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");if(r.some((n,s)=>n!==t.dims[s]))throw Error(`The first ${r.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new W("int64",e.flat(1/0).map(BigInt),r)}async _call(e,{input_points:t=null,input_labels:r=null,input_boxes:n=null}={}){let s=await super._call(e);if(t&&(s.input_points=this.reshape_input_points(t,s.original_sizes,s.reshaped_input_sizes)),r){if(!s.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");s.input_labels=this.add_input_labels(r,s.input_points)}return n&&(s.input_boxes=this.reshape_input_points(n,s.original_sizes,s.reshaped_input_sizes,!0)),s}async post_process_masks(e,t,r,{mask_threshold:n=0,binarize:s=!0,pad_size:a=null}={}){let o=[];a=a??this.pad_size??this.size;let i=[a.height,a.width];for(let l=0;l<t.length;++l){let c=t[l],u=r[l],p=await Nt(e[l],{mode:"bilinear",size:i});if(p=p.slice(null,null,[0,u[0]],[0,u[1]]),p=await Nt(p,{mode:"bilinear",size:c}),s){let f=p.data,m=new Uint8Array(f.length);for(let y=0;y<f.length;++y)f[y]>n&&(m[y]=1);p=new W("bool",m,p.dims)}o.push(p)}return o}generate_crop_boxes(e,t,{crop_n_layers:r=0,overlap_ratio:n=512/1500,points_per_crop:s=32,crop_n_points_downscale_factor:a=1}={}){}},Th=class extends ue{post_process_semantic_segmentation(...e){return fM(...e)}},JM=class extends Th{},Eh=class extends ue{post_process_semantic_segmentation(...e){return fM(...e)}},XM=class extends Eh{},YM=class extends ue{},ZM=class extends ue{pad_image(e,t,r,n={}){let[s,a,o]=t;return super.pad_image(e,t,{width:a+(r-a%r)%r,height:s+(r-s%r)%r},{mode:"symmetric",center:!1,constant_values:-1,...n})}},kh=class extends ue{},ex=class extends kh{},tx=class extends ue{async _call(e,t){Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);let r=await Promise.all(e.map(a=>this.preprocess(a))),n=await Promise.all(t.map(a=>this.preprocess(a,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:Fr(r.map((a,o)=>Fe([a.pixel_values,n[o].pixel_values],0)),0),original_sizes:r.map(a=>a.original_size),reshaped_input_sizes:r.map(a=>a.reshaped_input_size)}}},rx=class extends ue{post_process_pose_estimation(e,t,{threshold:r=null}={}){let n=e.tolist(),[s,a,o,i]=e.dims,l=[];for(let c=0;c<s;++c){let u=n[c],p=t[c],f=[];for(let m=0;m<p.length;++m){let y=p[m],v=[],x=[],M=[],T=y.at(-2)/i,A=y.at(-1)/o;for(let C=0;C<u.length;++C){let[S,O]=[0,0],E=0,K=-1/0,$=u[C];for(let Q=0;Q<$.length;++Q){let G=$[Q];for(let q=0;q<G.length;++q){let D=G[q];E+=D,K=Math.max(K,D),S+=(q+.5)*D,O+=Q*D}}if(r!=null&&K<r)continue;let V=[T*S/E,A*O/E];v.push(V),M.push(C),x.push(K)}f.push({bbox:y,scores:x,labels:M,keypoints:v})}l.push(f)}return l}},Ch=class extends ue{post_process_object_detection(...e){return Ai(...e)}},nx=class extends Ch{},mt=class{static async from_pretrained(e,t={}){let r=await yr(e,_a,!0,t),n=r.image_processor_type??r.feature_extractor_type,s=gi[n?.replace(/Fast$/,"")];return s||(n!==void 0&&ce.warn(`Image processor type '${n}' not found, assuming base ImageProcessor. Please report this at ${Ci}.`),s=ue),new s(r)}},sx=(Wo=class extends Se{constructor(e,t,r){super(e,t,r);let{tasks_answer_post_processing_type:n,task_prompts_without_inputs:s,task_prompts_with_input:a}=this.image_processor.config;this.tasks_answer_post_processing_type=new Map(Object.entries(n??{})),this.task_prompts_without_inputs=new Map(Object.entries(s??{})),this.task_prompts_with_input=new Map(Object.entries(a??{})),this.regexes={quad_boxes:/(.+?)<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm,bboxes:/([^<]+)?<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm},this.size_per_bin=1e3}construct_prompts(e){typeof e=="string"&&(e=[e]);let t=[];for(let r of e)if(this.task_prompts_without_inputs.has(r))t.push(this.task_prompts_without_inputs.get(r));else{for(let[n,s]of this.task_prompts_with_input)if(r.includes(n)){t.push(s.replaceAll("{input}",r).replaceAll(n,""));break}t.length!==e.length&&t.push(r)}return t}post_process_generation(e,t,r){let n=this.tasks_answer_post_processing_type.get(t)??"pure_text";e=e.replaceAll("<s>","").replaceAll("</s>","");let s;switch(n){case"pure_text":s=e;break;case"description_with_bboxes":case"bboxes":case"phrase_grounding":case"ocr":let a=n==="ocr"?"quad_boxes":"bboxes",o=e.matchAll(this.regexes[a]),i=[],l=[];for(let[c,u,...p]of o)i.push(u?u.trim():i.at(-1)??""),l.push(p.map((f,m)=>(Number(f)+.5)/this.size_per_bin*r[m%2]));s={labels:i,[a]:l};break;default:throw new Error(`Task "${t}" (of type "${n}") not yet implemented.`)}return{[t]:s}}async _call(e,t=null,r={}){if(!e&&!t)throw new Error("Either text or images must be provided");let n=await this.image_processor(e,r),s=t?this.tokenizer(this.construct_prompts(t),r):{};return{...n,...s}}},w(Wo,"tokenizer_class",Ae),w(Wo,"image_processor_class",mt),Wo),ax=(an=class extends Se{constructor(e,t,r){super(e,t,r),this.audio_seq_length=this.config.audio_seq_length,this.image_seq_length=this.config.image_seq_length;let{audio_token_id:n,boa_token:s,audio_token:a,eoa_token:o,image_token_id:i,boi_token:l,image_token:c,eoi_token:u}=this.tokenizer.config;this.audio_token_id=n,this.boa_token=s,this.audio_token=a;let p=a.repeat(this.audio_seq_length);this.full_audio_sequence=`
|
|
15
|
+
`))}case"replace":{let a=e.builtins.get("replace");if(!(a instanceof Le))throw new Error("replace filter not available");let[o,i]=this.evaluateArguments(n.args,r);return a.value([...o,new ua(i)],r)}}throw new Error(`Unknown StringValue filter: ${s}`)}else if(e instanceof tt){let a=e.builtins.get(s);if(a&&a instanceof Le){let[o,i]=this.evaluateArguments(n.args,r);return i.size>0&&o.push(new ua(i)),a.value(o,r)}throw new Error(`Unknown ObjectValue filter: ${s}`)}else throw new Error(`Cannot apply filter "${s}" to type: ${e.type}`)}throw new Error(`Unknown filter: ${t.type}`)}evaluateFilterExpression(e,t){let r=this.evaluate(e.operand,t);return this.applyFilter(r,e.filter,t)}evaluateTestExpression(e,t){let r=this.evaluate(e.operand,t),n=t.tests.get(e.test.value);if(!n)throw new Error(`Unknown test: ${e.test.value}`);let s=n(r);return new ae(e.negate?!s:s)}evaluateSelectExpression(e,t){return this.evaluate(e.test,t).__bool__().value?this.evaluate(e.lhs,t):new Oe}evaluateUnaryExpression(e,t){let r=this.evaluate(e.argument,t);switch(e.operator.value){case"not":return new ae(!r.value);default:throw new SyntaxError(`Unknown operator: ${e.operator.value}`)}}evaluateTernaryExpression(e,t){return this.evaluate(e.condition,t).__bool__().value?this.evaluate(e.trueExpr,t):this.evaluate(e.falseExpr,t)}evalProgram(e,t){return this.evaluateBlock(e.body,t)}evaluateBlock(e,t){let r="";for(let n of e){let s=this.evaluate(n,t);s.type!=="NullValue"&&s.type!=="UndefinedValue"&&(r+=s.toString())}return new Z(r)}evaluateIdentifier(e,t){return t.lookupVariable(e.value)}evaluateCallExpression(e,t){let[r,n]=this.evaluateArguments(e.args,t);n.size>0&&r.push(new ua(n));let s=this.evaluate(e.callee,t);if(s.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${s.type}`);return s.value(r,t)}evaluateSliceExpression(e,t,r){if(!(e instanceof _e||e instanceof Z))throw new Error("Slice object must be an array or string");let n=this.evaluate(t.start,r),s=this.evaluate(t.stop,r),a=this.evaluate(t.step,r);if(!(n instanceof de||n instanceof Oe))throw new Error("Slice start must be numeric or undefined");if(!(s instanceof de||s instanceof Oe))throw new Error("Slice stop must be numeric or undefined");if(!(a instanceof de||a instanceof Oe))throw new Error("Slice step must be numeric or undefined");return e instanceof _e?new _e(Dy(e.value,n.value,s.value,a.value)):new Z(Dy(Array.from(e.value),n.value,s.value,a.value).join(""))}evaluateMemberExpression(e,t){let r=this.evaluate(e.object,t),n;if(e.computed){if(e.property.type==="SliceExpression")return this.evaluateSliceExpression(r,e.property,t);n=this.evaluate(e.property,t)}else n=new Z(e.property.value);let s;if(r instanceof tt){if(!(n instanceof Z))throw new Error(`Cannot access property with non-string: got ${n.type}`);s=r.value.get(n.value)??r.builtins.get(n.value)}else if(r instanceof _e||r instanceof Z)if(n instanceof de)s=r.value.at(n.value),r instanceof Z&&(s=new Z(r.value.at(n.value)));else if(n instanceof Z)s=r.builtins.get(n.value);else throw new Error(`Cannot access property with non-string/non-number: got ${n.type}`);else{if(!(n instanceof Z))throw new Error(`Cannot access property with non-string: got ${n.type}`);s=r.builtins.get(n.value)}return s instanceof ir?s:new Oe}evaluateSet(e,t){let r=e.value?this.evaluate(e.value,t):this.evaluateBlock(e.body,t);if(e.assignee.type==="Identifier"){let n=e.assignee.value;t.setVariable(n,r)}else if(e.assignee.type==="TupleLiteral"){let n=e.assignee;if(!(r instanceof _e))throw new Error(`Cannot unpack non-iterable type in set: ${r.type}`);let s=r.value;if(s.length!==n.value.length)throw new Error(`Too ${n.value.length>s.length?"few":"many"} items to unpack in set`);for(let a=0;a<n.value.length;++a){let o=n.value[a];if(o.type!=="Identifier")throw new Error(`Cannot unpack to non-identifier in set: ${o.type}`);t.setVariable(o.value,s[a])}}else if(e.assignee.type==="MemberExpression"){let n=e.assignee,s=this.evaluate(n.object,t);if(!(s instanceof tt))throw new Error("Cannot assign to member of non-object");if(n.property.type!=="Identifier")throw new Error("Cannot assign to member with non-identifier property");s.value.set(n.property.value,r)}else throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(e.assignee)}`);return new Be}evaluateIf(e,t){let r=this.evaluate(e.test,t);return this.evaluateBlock(r.__bool__().value?e.body:e.alternate,t)}evaluateFor(e,t){let r=new on(t),n,s;if(e.iterable.type==="SelectExpression"){let c=e.iterable;s=this.evaluate(c.lhs,r),n=c.test}else s=this.evaluate(e.iterable,r);if(!(s instanceof _e||s instanceof tt))throw new Error(`Expected iterable or object type in for loop: got ${s.type}`);s instanceof tt&&(s=s.keys());let a=[],o=[];for(let c=0;c<s.value.length;++c){let u=new on(r),p=s.value[c],f;if(e.loopvar.type==="Identifier")f=m=>m.setVariable(e.loopvar.value,p);else if(e.loopvar.type==="TupleLiteral"){let m=e.loopvar;if(p.type!=="ArrayValue")throw new Error(`Cannot unpack non-iterable type: ${p.type}`);let y=p;if(m.value.length!==y.value.length)throw new Error(`Too ${m.value.length>y.value.length?"few":"many"} items to unpack`);f=v=>{for(let x=0;x<m.value.length;++x){if(m.value[x].type!=="Identifier")throw new Error(`Cannot unpack non-identifier type: ${m.value[x].type}`);v.setVariable(m.value[x].value,y.value[x])}}}else throw new Error(`Invalid loop variable(s): ${e.loopvar.type}`);n&&(f(u),!this.evaluate(n,u).__bool__().value)||(a.push(p),o.push(f))}let i="",l=!0;for(let c=0;c<a.length;++c){let u=new Map([["index",new de(c+1)],["index0",new de(c)],["revindex",new de(a.length-c)],["revindex0",new de(a.length-c-1)],["first",new ae(c===0)],["last",new ae(c===a.length-1)],["length",new de(a.length)],["previtem",c>0?a[c-1]:new Oe],["nextitem",c<a.length-1?a[c+1]:new Oe]]);r.setVariable("loop",new tt(u)),o[c](r);try{let p=this.evaluateBlock(e.body,r);i+=p.value}catch(p){if(p instanceof Uy)continue;if(p instanceof By)break;throw p}l=!1}if(l){let c=this.evaluateBlock(e.defaultBlock,r);i+=c.value}return new Z(i)}evaluateMacro(e,t){return t.setVariable(e.name.value,new Le((r,n)=>{let s=new on(n);r=r.slice();let a;r.at(-1)?.type==="KeywordArgumentsValue"&&(a=r.pop());for(let o=0;o<e.args.length;++o){let i=e.args[o],l=r[o];if(i.type==="Identifier"){let c=i;if(!l)throw new Error(`Missing positional argument: ${c.value}`);s.setVariable(c.value,l)}else if(i.type==="KeywordArgumentExpression"){let c=i,u=l??a?.value.get(c.key.value)??this.evaluate(c.value,s);s.setVariable(c.key.value,u)}else throw new Error(`Unknown argument type: ${i.type}`)}return this.evaluateBlock(e.body,s)})),new Be}evaluateCallStatement(e,t){let r=new Le((i,l)=>{let c=new on(l);if(e.callerArgs)for(let u=0;u<e.callerArgs.length;++u){let p=e.callerArgs[u];if(p.type!=="Identifier")throw new Error(`Caller parameter must be an identifier, got ${p.type}`);c.setVariable(p.value,i[u]??new Oe)}return this.evaluateBlock(e.body,c)}),[n,s]=this.evaluateArguments(e.call.args,t);n.push(new ua(s));let a=this.evaluate(e.call.callee,t);if(a.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${a.type}`);let o=new on(t);return o.setVariable("caller",r),a.value(n,o)}evaluateFilterStatement(e,t){let r=this.evaluateBlock(e.body,t);return this.applyFilter(r,e.filter,t)}evaluate(e,t){if(!e)return new Oe;switch(e.type){case"Program":return this.evalProgram(e,t);case"Set":return this.evaluateSet(e,t);case"If":return this.evaluateIf(e,t);case"For":return this.evaluateFor(e,t);case"Macro":return this.evaluateMacro(e,t);case"CallStatement":return this.evaluateCallStatement(e,t);case"Break":throw new By;case"Continue":throw new Uy;case"IntegerLiteral":return new de(e.value);case"FloatLiteral":return new ze(e.value);case"StringLiteral":return new Z(e.value);case"ArrayLiteral":return new _e(e.value.map(r=>this.evaluate(r,t)));case"TupleLiteral":return new $y(e.value.map(r=>this.evaluate(r,t)));case"ObjectLiteral":{let r=new Map;for(let[n,s]of e.value){let a=this.evaluate(n,t);if(!(a instanceof Z))throw new Error(`Object keys must be strings: got ${a.type}`);r.set(a.value,this.evaluate(s,t))}return new tt(r)}case"Identifier":return this.evaluateIdentifier(e,t);case"CallExpression":return this.evaluateCallExpression(e,t);case"MemberExpression":return this.evaluateMemberExpression(e,t);case"UnaryExpression":return this.evaluateUnaryExpression(e,t);case"BinaryExpression":return this.evaluateBinaryExpression(e,t);case"FilterExpression":return this.evaluateFilterExpression(e,t);case"FilterStatement":return this.evaluateFilterStatement(e,t);case"TestExpression":return this.evaluateTestExpression(e,t);case"SelectExpression":return this.evaluateSelectExpression(e,t);case"Ternary":return this.evaluateTernaryExpression(e,t);case"Comment":return new Be;default:throw new SyntaxError(`Unknown node type: ${e.type}`)}}};Ke=`
|
|
16
|
+
`,hD="{%- ",fD=" -%}";TD=class{constructor(e){w(this,"parsed");let t=ON(e,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=nD(t)}render(e){let t=new on;if(dD(t),e)for(let[s,a]of Object.entries(e))t.set(s,a);return new pD(t).run(this.parsed).value}format(e){return _D(this.parsed,e?.indent||" ")}},Dt=class{constructor(){let e=function(...t){return e._call(...t)};return Object.setPrototypeOf(e,new.target.prototype)}_call(...e){throw Error("Must implement _call method in subclass")}},ED={txt:"text/plain",html:"text/html",css:"text/css",js:"text/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif"},fi=class Iv{constructor(t){if(this.filePath=t,this.headers=new Headers,this.exists=At.existsSync(t),this.exists){this.status=200,this.statusText="OK";let r=At.statSync(t);this.headers.set("content-length",r.size.toString()),this.updateContentType();let n=At.createReadStream(t);this.body=new ReadableStream({start(s){n.on("data",a=>s.enqueue(a)),n.on("end",()=>s.close()),n.on("error",a=>s.error(a))},cancel(){n.destroy()}})}else this.status=404,this.statusText="Not Found",this.body=null}updateContentType(){let t=this.filePath.toString().split(".").pop().toLowerCase();this.headers.set("content-type",ED[t]??"application/octet-stream")}clone(){let t=new Iv(this.filePath);return t.exists=this.exists,t.status=this.status,t.statusText=this.statusText,t.headers=new Headers(this.headers),t}async arrayBuffer(){return(await At.promises.readFile(this.filePath)).buffer}async blob(){let t=await At.promises.readFile(this.filePath);return new Blob([t],{type:this.headers.get("content-type")})}async text(){return await At.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}},Qp=class{constructor(e){this._mt=new Uint32Array(624),this._idx=625,this._gauss_next=null,this._random_fn=this.random.bind(this),this.seed(e)}seed(e){if(e==null)if(pe.IS_CRYPTO_AVAILABLE){let o=new Uint32Array(1);crypto.getRandomValues(o),e=o[0]}else e=Date.now()>>>0;let t=this._mt,r=(o,i)=>Math.imul(o,i)>>>0,n=[];for(let o=e||0;o>0;o=Math.floor(o/4294967296))n.push(o&4294967295);n.length||n.push(0),t[0]=19650218;for(let o=1;o<624;++o)t[o]=r(1812433253,t[o-1]^t[o-1]>>>30)+o>>>0;let s=1,a=0;for(let o=Math.max(624,n.length);o>0;--o,++s,++a)s>=624&&(t[0]=t[623],s=1),a>=n.length&&(a=0),t[s]=(t[s]^r(t[s-1]^t[s-1]>>>30,1664525))+n[a]+a>>>0;for(let o=623;o>0;--o,++s)s>=624&&(t[0]=t[623],s=1),t[s]=(t[s]^r(t[s-1]^t[s-1]>>>30,1566083941))-s>>>0;t[0]=2147483648,this._idx=624,this._gauss_next=null}_int32(){let e=this._mt;if(this._idx>=624){for(let r=0;r<624;++r){let n=e[r]&2147483648|e[(r+1)%624]&2147483647;e[r]=(e[(r+397)%624]^n>>>1^(n&1?2567483615:0))>>>0}this._idx=0}let t=e[this._idx++];return t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0}random(){return((this._int32()>>>5)*67108864+(this._int32()>>>6))/9007199254740992}gauss(e=0,t=1){let r=this._gauss_next;if(this._gauss_next=null,r===null){let n=this.random()*2*Math.PI,s=Math.sqrt(-2*Math.log(1-this.random()));r=Math.cos(n)*s,this._gauss_next=Math.sin(n)*s}return e+r*t}shuffle(e){for(let t=e.length-1;t>0;--t){let r=32-Math.clz32(t+1),n=this._int32()>>>32-r;for(;n>t;)n=this._int32()>>>32-r;let s=e[t];e[t]=e[n],e[n]=s}}choices(e,t){return e[Pv(this._random_fn,t)]}};rr=new Qp,ba=Object.freeze({Random:Qp,seed:rr.seed.bind(rr),random:rr.random.bind(rr),gauss:rr.gauss.bind(rr),shuffle:rr.shuffle.bind(rr),choices:rr.choices.bind(rr)}),kD=e=>Pv(ba.random,e),CD=new Qp,Rv=class{constructor(e){this.path=e}async match(e){let t=ar.join(this.path,e),r=new fi(t);if(r.exists)return r}async put(e,t,r=void 0){let n=ar.join(this.path,e),s=pe.IS_PROCESS_AVAILABLE?process.pid:Date.now(),a=CD._int32().toString(36),o=n+`.tmp.${s}.${a}`;try{let i=t.headers.get("Content-Length"),l=parseInt(i??"0"),c=0;await At.promises.mkdir(ar.dirname(n),{recursive:!0});let u=At.createWriteStream(o),p=t.body.getReader();for(;;){let{done:f,value:m}=await p.read();if(f)break;await new Promise((v,x)=>{u.write(m,M=>{if(M){x(M);return}v()})}),c+=m.length;let y=l?c/l*100:0;r?.({progress:y,loaded:c,total:l})}await new Promise((f,m)=>{u.close(y=>y?m(y):f())}),await At.promises.rename(o,n)}catch(i){try{await At.promises.unlink(o)}catch{}throw i}}async delete(e){let t=ar.join(this.path,e);try{return await At.promises.unlink(t),!0}catch{return!1}}},AD={400:"Bad request error occurred while trying to load file",401:"Unauthorized access to file",403:"Forbidden access to file",404:"Could not locate file",408:"Request timeout error occurred while trying to load file",500:"Internal server error error occurred while trying to load file",502:"Bad gateway error occurred while trying to load file",503:"Service unavailable error occurred while trying to load file",504:"Gateway timeout error occurred while trying to load file"},Gy=100,SD=/^(\b[\w\-.]+\b\/)?\b[\w\-.]{1,96}\b$/;Ov="SHA-256",OD="experimental_transformers-hash-cache",Wy=e=>({algorithm:Ov,value:e}),Hy=(Hd=class{constructor(){so(this,ga,null);w(this,"_getHashCache",()=>(ut(this,ga)??ao(this,ga,caches.open(OD)),ut(this,ga)));w(this,"match",async e=>{let t=await this._getFileHash(e);if(t)try{let[r]=await navigator.crossOriginStorage.requestFileHandles([Wy(t)]),n=await r.getFile();return new Response(n,{headers:{"Content-Length":String(n.size)}})}catch{return}});w(this,"put",async(e,t)=>{let r=await this._getFileHash(e);if(r){let n=await t.blob();await this._storeBlobInCOS(n,r)}else this._processAndStore(e,t.body)});w(this,"_storeBlobInCOS",async(e,t)=>{let[r]=await navigator.crossOriginStorage.requestFileHandles([Wy(t)],{create:!0}),n=await r.createWritable();await n.write(e),await n.close()});w(this,"_processAndStore",async(e,t)=>{try{let r=[];for await(let a of t)r.push(a);let n=new Blob(r),s=await this._getBlobHash(n);await this._storeBlobInCOS(n,s);try{await(await this._getHashCache()).put(e,new Response(s))}catch{}}catch{}});w(this,"delete",async e=>{try{return await(await this._getHashCache()).delete(e)}catch{return!1}});w(this,"_getFileHash",async e=>{try{let t=await this._getHashCache(),r=await t.match(e);if(r)return r.text();let n=await this._getLfsFileHash(e);return n?(await t.put(e,new Response(n)),n):null}catch{return null}});w(this,"_getLfsFileHash",async e=>{if(!e.includes("/resolve/"))return null;let t=e.replace("/resolve/","/raw/");try{let n=(await fetch(t).then(s=>s.text())).match(/^oid sha256:([0-9a-f]+)$/m);return n?n[1]:null}catch{return null}});w(this,"_getBlobHash",async e=>{let t=await e.arrayBuffer(),r=await crypto.subtle.digest(Ov,t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")})}},ga=new WeakMap,w(Hd,"isAvailable",()=>typeof navigator<"u"&&"crossOriginStorage"in navigator),Hd);FD=(gv=class{constructor(e){so(this,wa);so(this,ht);ao(this,wa,e),ao(this,ht,new Map)}get(e){if(!ut(this,ht).has(e))return;let t=ut(this,ht).get(e);return ut(this,ht).delete(e),ut(this,ht).set(e,t),t}put(e,t){ut(this,ht).has(e)&&ut(this,ht).delete(e),ut(this,ht).set(e,t),ut(this,ht).size>ut(this,wa)&&ut(this,ht).delete(ut(this,ht).keys().next().value)}delete(e){return ut(this,ht).delete(e)}clear(){ut(this,ht).clear()}},wa=new WeakMap,ht=new WeakMap,gv),ND=100,Ud=new FD(ND);zv=class{constructor(e){if(this.size=e|0,this.size<=1||!Uv(this.size))throw new Error("FFT size must be a power of two larger than 1");this._csize=e<<1,this.table=new Float64Array(this.size*2);for(let r=0;r<this.table.length;r+=2){let n=Math.PI*r/this.size;this.table[r]=Math.cos(n),this.table[r+1]=-Math.sin(n)}let t=0;for(let r=1;this.size>r;r<<=1)++t;this._width=t%2===0?t-1:t,this._bitrev=new Int32Array(1<<this._width);for(let r=0;r<this._bitrev.length;++r){this._bitrev[r]=0;for(let n=0;n<this._width;n+=2){let s=this._width-n-2;this._bitrev[r]|=(r>>>n&3)<<s}}}createComplexArray(){return new Float64Array(this._csize)}fromComplexArray(e,t){let r=t||new Array(e.length>>>1);for(let n=0;n<e.length;n+=2)r[n>>>1]=e[n];return r}toComplexArray(e,t){let r=t||this.createComplexArray();for(let n=0;n<r.length;n+=2)r[n]=e[n>>>1],r[n+1]=0;return r}transform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._transform4(e,t,1)}realTransform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._realTransform4(e,t,1)}inverseTransform(e,t){if(e===t)throw new Error("Input and output buffers must be different");this._transform4(e,t,-1);for(let r=0;r<e.length;++r)e[r]/=this.size}_transform4(e,t,r){let n=this._csize,a=1<<this._width,o=n/a<<1,i,l,c=this._bitrev;if(o===4)for(i=0,l=0;i<n;i+=o,++l){let p=c[l];this._singleTransform2(t,e,i,p,a)}else for(i=0,l=0;i<n;i+=o,++l){let p=c[l];this._singleTransform4(t,e,i,p,a,r)}let u=this.table;for(a>>=2;a>=2;a>>=2){o=n/a<<1;let p=o>>>2;for(i=0;i<n;i+=o){let f=i+p-1;for(let m=i,y=0;m<f;m+=2,y+=a){let v=m,x=v+p,M=x+p,T=M+p,A=e[v],C=e[v+1],S=e[x],O=e[x+1],E=e[M],K=e[M+1],$=e[T],V=e[T+1],Q=u[y],G=r*u[y+1],W=S*Q-O*G,D=S*G+O*Q,R=u[2*y],re=r*u[2*y+1],ie=E*R-K*re,F=E*re+K*R,N=u[3*y],z=r*u[3*y+1],Y=$*N-V*z,fe=$*z+V*N,H=A+ie,Ne=C+F,Xe=A-ie,nt=C-F,qe=W+Y,gt=D+fe,Pe=r*(W-Y),ye=r*(D-fe);e[v]=H+qe,e[v+1]=Ne+gt,e[x]=Xe+ye,e[x+1]=nt-Pe,e[M]=H-qe,e[M+1]=Ne-gt,e[T]=Xe-ye,e[T+1]=nt+Pe}}}}_singleTransform2(e,t,r,n,s){let a=e[n],o=e[n+1],i=e[n+s],l=e[n+s+1];t[r]=a+i,t[r+1]=o+l,t[r+2]=a-i,t[r+3]=o-l}_singleTransform4(e,t,r,n,s,a){let o=s*2,i=s*3,l=e[n],c=e[n+1],u=e[n+s],p=e[n+s+1],f=e[n+o],m=e[n+o+1],y=e[n+i],v=e[n+i+1],x=l+f,M=c+m,T=l-f,A=c-m,C=u+y,S=p+v,O=a*(u-y),E=a*(p-v);t[r]=x+C,t[r+1]=M+S,t[r+2]=T+E,t[r+3]=A-O,t[r+4]=x-C,t[r+5]=M-S,t[r+6]=T-E,t[r+7]=A+O}_realTransform4(e,t,r){let n=this._csize,a=1<<this._width,o=n/a<<1,i,l,c=this._bitrev;if(o===4)for(i=0,l=0;i<n;i+=o,++l){let f=c[l];this._singleRealTransform2(t,e,i,f>>>1,a>>>1)}else for(i=0,l=0;i<n;i+=o,++l){let f=c[l];this._singleRealTransform4(t,e,i,f>>>1,a>>>1,r)}let u=this.table;for(a>>=2;a>=2;a>>=2){o=n/a<<1;let f=o>>>1,m=f>>>1,y=m>>>1;for(i=0;i<n;i+=o)for(let v=0,x=0;v<=y;v+=2,x+=a){let M=i+v,T=M+m,A=T+m,C=A+m,S=e[M],O=e[M+1],E=e[T],K=e[T+1],$=e[A],V=e[A+1],Q=e[C],G=e[C+1],W=S,D=O,R=u[x],re=r*u[x+1],ie=E*R-K*re,F=E*re+K*R,N=u[2*x],z=r*u[2*x+1],Y=$*N-V*z,fe=$*z+V*N,H=u[3*x],Ne=r*u[3*x+1],Xe=Q*H-G*Ne,nt=Q*Ne+G*H,qe=W+Y,gt=D+fe,Pe=W-Y,ye=D-fe,We=ie+Xe,Yt=F+nt,ke=r*(ie-Xe),Ie=r*(F-nt);if(e[M]=qe+We,e[M+1]=gt+Yt,e[T]=Pe+Ie,e[T+1]=ye-ke,v===0){e[A]=qe-We,e[A+1]=gt-Yt;continue}if(v===y)continue;let An=i+m-v,xs=i+f-v;e[An]=Pe-r*Ie,e[An+1]=-ye-r*ke,e[xs]=qe-r*We,e[xs+1]=-gt+r*Yt}}let p=n>>>1;for(let f=2;f<p;f+=2)e[n-f]=e[f],e[n-f+1]=-e[f+1]}_singleRealTransform2(e,t,r,n,s){let a=e[n],o=e[n+s];t[r]=a+o,t[r+1]=0,t[r+2]=a-o,t[r+3]=0}_singleRealTransform4(e,t,r,n,s,a){let o=s*2,i=s*3,l=e[n],c=e[n+s],u=e[n+o],p=e[n+i],f=l+u,m=l-u,y=c+p,v=a*(c-p);t[r]=f+y,t[r+1]=0,t[r+2]=m,t[r+3]=-v,t[r+4]=f-y,t[r+5]=0,t[r+6]=m,t[r+7]=v}},jD=class{constructor(e){let t=2*(e-1),r=2*(2*e-1),n=2**Math.ceil(Math.log2(r));this.bufferSize=n,this._a=t;let s=new Float64Array(r),a=new Float64Array(n);this._chirpBuffer=new Float64Array(n),this._buffer1=new Float64Array(n),this._buffer2=new Float64Array(n),this._outBuffer1=new Float64Array(n),this._outBuffer2=new Float64Array(n);let o=-2*Math.PI/e,i=Math.cos(o),l=Math.sin(o);for(let c=0;c<r>>1;++c){let u=(c+1-e)**2/2,p=Math.sqrt(i**2+l**2)**u,f=u*Math.atan2(l,i),m=2*c;s[m]=p*Math.cos(f),s[m+1]=p*Math.sin(f),a[m]=s[m],a[m+1]=-s[m+1]}this._slicedChirpBuffer=s.subarray(t,r),this._f=new zv(n>>1),this._f.transform(this._chirpBuffer,a)}_transform(e,t,r){let n=this._buffer1,s=this._buffer2,a=this._outBuffer1,o=this._outBuffer2,i=this._chirpBuffer,l=this._slicedChirpBuffer,c=this._a;if(r)for(let u=0;u<l.length;u+=2){let p=u+1,f=u>>1,m=t[f];n[u]=m*l[u],n[p]=m*l[p]}else for(let u=0;u<l.length;u+=2){let p=u+1;n[u]=t[u]*l[u]-t[p]*l[p],n[p]=t[u]*l[p]+t[p]*l[u]}this._f.transform(a,n);for(let u=0;u<i.length;u+=2){let p=u+1;s[u]=a[u]*i[u]-a[p]*i[p],s[p]=a[u]*i[p]+a[p]*i[u]}this._f.inverseTransform(o,s);for(let u=0;u<o.length;u+=2){let p=o[u+c],f=o[u+c+1],m=l[u],y=l[u+1];e[u]=p*m-f*y,e[u+1]=p*y+f*m}}transform(e,t){this._transform(e,t,!1)}realTransform(e,t){this._transform(e,t,!0)}},qD=class{constructor(e){this.fft_length=e,this.isPowerOfTwo=Uv(e),this.isPowerOfTwo?(this.fft=new zv(e),this.outputBufferSize=2*e):(this.fft=new jD(e),this.outputBufferSize=this.fft.bufferSize)}realTransform(e,t){this.fft.realTransform(e,t)}transform(e,t){this.fft.transform(e,t)}};QD=function(){let e=null;return function(t){if(!e){e=new Float32Array(65536);let a=new ArrayBuffer(4),o=new Uint32Array(a),i=new Float32Array(a);for(let l=0;l<e.length;++l){let c=0,u=(l&32768)<<16,p=(l&31744)>>10,f=l&1023;if(p===31)c=u|2139095040|f<<13;else if(p===0)if(f===0)c=u;else{let m=113;for(;!(f&1024);)f<<=1,--m;f&=-1025,c=u|m<<23|f<<13}else c=u|p+112<<23|f<<13;o[0]=c,e[l]=i[0]}}let r=t.length,n=e,s=new Float32Array(r);for(let a=0;a<r;++a)s[a]=n[t[a]];return s}}(),$v={};cs($v,{default:()=>JD});JD={};ZD=Object.freeze({auto:null,gpu:null,cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",coreml:"coreml",webnn:{name:"webnn",deviceType:"cpu"},"webnn-npu":{name:"webnn",deviceType:"npu"},"webnn-gpu":{name:"webnn",deviceType:"gpu"},"webnn-cpu":{name:"webnn",deviceType:"cpu"}});eB={0:"verbose",1:"info",2:"warning",3:"error",4:"fatal"},Lt=[],Qy=Symbol.for("onnxruntime");if(Qy in globalThis)as=globalThis[Qy];else if(pe.IS_NODE_ENV){switch(as=$v,process.platform){case"win32":Lt.push("dml");break;case"linux":process.arch==="x64"&&Lt.push("cuda");break;case"darwin":Lt.push("coreml");break}Lt.push("webgpu"),Lt.push("cpu"),Ip=["cpu"]}else as=Id,pe.IS_WEBNN_AVAILABLE&&Lt.push("webnn-npu","webnn-gpu","webnn-cpu","webnn"),pe.IS_WEBGPU_AVAILABLE&&Lt.push("webgpu"),Lt.push("wasm"),Ip=["wasm"];tB=as.InferenceSession;Jy=Promise.resolve(),Jn=null;Xy=Promise.resolve();He=as?.env;if(He){let e=function(t){let r=Gv(t);He.logLevel=eB[r]};if(He.wasm){if(!(typeof ServiceWorkerGlobalScope<"u"&&self instanceof ServiceWorkerGlobalScope)&&He.versions?.web&&!He.wasm.wasmPaths){let t=`https://cdn.jsdelivr.net/npm/onnxruntime-web@${He.versions.web}/dist/`;He.wasm.wasmPaths=pe.IS_SAFARI?{mjs:`${t}ort-wasm-simd-threaded.mjs`,wasm:`${t}ort-wasm-simd-threaded.wasm`}:{mjs:`${t}ort-wasm-simd-threaded.asyncify.mjs`,wasm:`${t}ort-wasm-simd-threaded.asyncify.wasm`}}He.wasm.proxy=!1}He.webgpu&&(He.webgpu.powerPreference="high-performance"),e(ge.logLevel??Ft.WARNING),ge.backends.onnx={...He,setLogLevel:e}}Rr=async(e,t,r)=>{let n=await jv(new Uint8Array(e),t);return async s=>{let a=Jp(),o=Object.fromEntries(Object.entries(s).map(([l,c])=>[l,(a?c.clone():c).ort_tensor])),i=await qv(n,o);return Array.isArray(r)?r.map(l=>new q(i[l])):new q(i[r])}},dn=(Kd=class{static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||(this._nearest_interpolate_4d=Rr([8,10,18,0,58,129,1,10,41,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,18,10,4,109,111,100,101,34,7,110,101,97,114,101,115,116,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,21],this.session_options,"y")),this._nearest_interpolate_4d}static get bilinear_interpolate_4d(){return this._bilinear_interpolate_4d||(this._bilinear_interpolate_4d=Rr([8,9,18,0,58,128,1,10,40,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,17,10,4,109,111,100,101,34,6,108,105,110,101,97,114,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bilinear_interpolate_4d}static get bicubic_interpolate_4d(){return this._bicubic_interpolate_4d||(this._bicubic_interpolate_4d=Rr([8,9,18,0,58,127,10,39,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,16,10,4,109,111,100,101,34,5,99,117,98,105,99,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bicubic_interpolate_4d}static get matmul(){return this._matmul||(this._matmul=Rr([8,9,18,0,58,55,10,17,10,1,97,10,1,98,18,1,99,34,6,77,97,116,77,117,108,18,1,114,90,9,10,1,97,18,4,10,2,8,1,90,9,10,1,98,18,4,10,2,8,1,98,9,10,1,99,18,4,10,2,8,1,66,2,16,20],this.session_options,"c")),this._matmul}static get stft(){return this._stft||(this._stft=Rr([8,7,18,0,58,148,1,10,38,10,1,115,10,1,106,10,1,119,10,1,108,18,1,111,34,4,83,84,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,115,90,26,10,1,115,18,21,10,19,8,1,18,15,10,3,18,1,98,10,3,18,1,115,10,3,18,1,99,90,11,10,1,106,18,6,10,4,8,7,18,0,90,16,10,1,119,18,11,10,9,8,1,18,5,10,3,18,1,119,90,11,10,1,108,18,6,10,4,8,7,18,0,98,31,10,1,111,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,102,10,3,18,1,100,10,3,18,1,99,66,2,16,17],this.session_options,"o")),this._stft}static get rfft(){return this._rfft||(this._rfft=Rr([8,9,18,0,58,97,10,33,10,1,120,10,0,10,1,97,18,1,121,34,3,68,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,100,90,21,10,1,120,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,90,11,10,1,97,18,6,10,4,8,7,18,0,98,21,10,1,121,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,66,2,16,20],this.session_options,"y")),this._rfft}static get top_k(){return this._top_k||(this._top_k=Rr([8,10,18,0,58,73,10,18,10,1,120,10,1,107,18,1,118,18,1,105,34,4,84,111,112,75,18,1,116,90,9,10,1,120,18,4,10,2,8,1,90,15,10,1,107,18,10,10,8,8,7,18,4,10,2,8,1,98,9,10,1,118,18,4,10,2,8,1,98,9,10,1,105,18,4,10,2,8,7,66,2,16,21],this.session_options,["v","i"])),this._top_k}static get slice(){return this._slice||(this._slice=Rr([8,7,18,0,58,96,10,25,10,1,120,10,1,115,10,1,101,10,1,97,10,1,116,18,1,121,34,5,83,108,105,99,101,18,1,114,90,9,10,1,120,18,4,10,2,8,1,90,9,10,1,115,18,4,10,2,8,7,90,9,10,1,101,18,4,10,2,8,7,90,9,10,1,97,18,4,10,2,8,7,90,9,10,1,116,18,4,10,2,8,7,98,9,10,1,121,18,4,10,2,8,1,66,2,16,13],this.session_options,"y")),this._slice}},w(Kd,"session_options",{}),Kd),sB=Object.freeze({auto:"auto",gpu:"gpu",cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",coreml:"coreml",webnn:"webnn","webnn-npu":"webnn-npu","webnn-gpu":"webnn-gpu","webnn-cpu":"webnn-cpu"}),zd=pe.IS_NODE_ENV?"cpu":"wasm";aB=function(){let e;return async function(){if(e===void 0)if(!pe.IS_WEBGPU_AVAILABLE)e=!1;else try{e=(await navigator.gpu.requestAdapter()).features.has("shader-f16")}catch{e=!1}return e}}(),ft=Object.freeze({auto:"auto",fp32:"fp32",fp16:"fp16",q8:"q8",int8:"int8",uint8:"uint8",q4:"q4",bnb4:"bnb4",q4f16:"q4f16"}),Yy=ft.fp32,Zy=Object.freeze({[sB.wasm]:ft.q8}),Pp=Object.freeze({[ft.fp32]:"",[ft.fp16]:"_fp16",[ft.int8]:"_int8",[ft.uint8]:"_uint8",[ft.q8]:"_quantized",[ft.q4]:"_q4",[ft.q4f16]:"_q4f16",[ft.bnb4]:"_bnb4"});is=Object.freeze({float32:Float32Array,float16:typeof Float16Array<"u"?Float16Array:Uint16Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array,uint4:Uint8Array,int4:Int8Array}),q=class Ue{constructor(...t){w(this,"ort_tensor");return Wv(t[0])?this.ort_tensor=t[0]:this.ort_tensor=new Fd(t[0],t[1],t[2]),new Proxy(this,{get:(r,n)=>{if(typeof n=="string"){let s=Number(n);if(Number.isInteger(s))return r._getitem(s)}return r[n]},set:(r,n,s)=>r[n]=s})}get dims(){return this.ort_tensor.dims}set dims(t){this.ort_tensor.dims=t}get type(){return this.ort_tensor.type}get data(){return this.ort_tensor.data}get size(){return this.ort_tensor.size}get location(){return this.ort_tensor.location}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){let[t,...r]=this.dims;if(r.length>0){let n=r.reduce((s,a)=>s*a);for(let s=0;s<t;++s)yield this._subarray(s,n,r)}else yield*this.data}_getitem(t){let[r,...n]=this.dims;if(t=sr(t,r),n.length>0){let s=n.reduce((a,o)=>a*o);return this._subarray(t,s,n)}else return new Ue(this.type,[this.data[t]],n)}indexOf(t){let r=this.data;for(let n=0;n<r.length;++n)if(r[n]==t)return n;return-1}_subarray(t,r,n){let s=t*r,a=(t+1)*r,o="subarray"in this.data?this.data.subarray(s,a):this.data.slice(s,a);return new Ue(this.type,o,n)}item(){let t=this.data;if(t.length!==1)throw new Error(`a Tensor with ${t.length} elements cannot be converted to Scalar`);return t[0]}tolist(){return oB(this.data,this.dims)}sigmoid(){return this.clone().sigmoid_()}sigmoid_(){let t=this.data;for(let r=0;r<t.length;++r)t[r]=1/(1+Math.exp(-t[r]));return this}map(t){return this.clone().map_(t)}map_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]=t(r[n],n,r);return this}mul(t){return this.clone().mul_(t)}mul_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]*=t;return this}div(t){return this.clone().div_(t)}div_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]/=t;return this}add(t){return this.clone().add_(t)}add_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]+=t;return this}sub(t){return this.clone().sub_(t)}sub_(t){let r=this.data;for(let n=0;n<r.length;++n)r[n]-=t;return this}clone(){return new Ue(this.type,this.data.slice(),this.dims.slice())}slice(...t){let r=[],n=[];for(let u=0;u<this.dims.length;++u){let p=t[u];if(p==null)n.push([0,this.dims[u]]),r.push(this.dims[u]);else if(typeof p=="number")p=sr(p,this.dims[u],u),n.push([p,p+1]);else if(Array.isArray(p)&&p.length===2){let[f,m]=p;if(f=f===null?0:sr(f,this.dims[u],u,!1),m=m===null?this.dims[u]:sr(m,this.dims[u],u,!1),f>m)throw new Error(`Invalid slice: ${p}`);let y=[Math.max(f,0),Math.min(m,this.dims[u])];n.push(y),r.push(y[1]-y[0])}else throw new Error(`Invalid slice: ${p}`)}let s=n.map(([u,p])=>p-u),a=s.reduce((u,p)=>u*p),o=this.data,i=new o.constructor(a),l=this.stride(),c=!0;for(let u=1;u<s.length;++u)if(n[u][0]!==0||n[u][1]!==this.dims[u]){c=!1;break}if(c){let u=n[0][0]*l[0],p=n[0][1]*l[0];if(ArrayBuffer.isView(o))i.set(o.subarray(u,p));else if(Array.isArray(o)){let f=o.slice(u,p);for(let m=0;m<f.length;++m)i[m]=f[m]}else throw new Error("Unsupported data type for slicing")}else for(let u=0;u<a;++u){let p=0;for(let f=s.length-1,m=u;f>=0;--f){let y=s[f];p+=(m%y+n[f][0])*l[f],m=Math.floor(m/y)}i[u]=o[p]}return new Ue(this.type,i,r)}permute(...t){return Qv(this,t)}transpose(...t){return this.permute(...t)}sum(t=null,r=!1){return this.norm(1,t,r)}norm(t="fro",r=null,n=!1){if(t==="fro")t=2;else if(typeof t=="string")throw Error(`Unsupported norm: ${t}`);let s=this.data,a=s instanceof BigInt64Array||s instanceof BigUint64Array;if(a&&t!==1)throw Error(`Expected a floating point tensor as input. Got ${this.type}`);let o,i;if(a?(o=(p,f)=>p+f,i=0n):(o=(p,f)=>p+f**t,i=0),r===null){let p=s.reduce(o,i);return t!==1&&(p=p**(1/t)),new Ue(this.type,[p],[])}let[l,c,u]=pa(o,this,r,n);if(t!==1)for(let p=0;p<c.length;++p)c[p]=c[p]**(1/t);return new Ue(l,c,u)}normalize_(t=2,r=1){r=sr(r,this.dims.length);let n=this.norm(t,r,!0),s=this.data,a=n.data;for(let o=0;o<s.length;++o){let i=0;for(let l=this.dims.length-1,c=o,u=1;l>=0;--l){let p=this.dims[l];if(l!==r){let f=c%p;i+=f*u,u*=this.dims[l]}c=Math.floor(c/p)}s[o]/=a[i]}return this}normalize(t=2,r=1){return this.clone().normalize_(t,r)}stride(){return $d(this.dims)}squeeze(t=null){return new Ue(this.type,this.data,ev(this.dims,t))}squeeze_(t=null){return this.dims=ev(this.dims,t),this}unsqueeze(t){return new Ue(this.type,this.data,tv(this.dims,t))}unsqueeze_(t){return this.dims=tv(this.dims,t),this}flatten_(t=0,r=-1){r=(r+this.dims.length)%this.dims.length;let n=this.dims.slice(0,t),s=this.dims.slice(t,r+1),a=this.dims.slice(r+1);return this.dims=[...n,s.reduce((o,i)=>o*i,1),...a],this}flatten(t=0,r=-1){return this.clone().flatten_(t,r)}view(...t){let r=-1;for(let s=0;s<t.length;++s)if(t[s]===-1){if(r!==-1)throw new Error("Only one dimension can be inferred");r=s}let n=this.data;if(r!==-1){let s=t.reduce((a,o,i)=>i!==r?a*o:a,1);t[r]=n.length/s}return new Ue(this.type,n,t)}neg_(){let t=this.data;for(let r=0;r<t.length;++r)t[r]=-t[r];return this}neg(){return this.clone().neg_()}gt(t){let r=new Uint8Array(this.data.length),n=this.data;for(let s=0;s<n.length;++s)r[s]=n[s]>t?1:0;return new Ue("bool",r,this.dims)}lt(t){let r=new Uint8Array(this.data.length),n=this.data;for(let s=0;s<n.length;++s)r[s]=n[s]<t?1:0;return new Ue("bool",r,this.dims)}clamp_(t,r){let n=this.data;for(let s=0;s<n.length;++s)n[s]=Math.min(Math.max(n[s],t),r);return this}clamp(t,r){return this.clone().clamp_(t,r)}round_(){let t=this.data;for(let r=0;r<t.length;++r)t[r]=Math.round(t[r]);return this}round(){return this.clone().round_()}mean(t=null,r=!1){return ki(this,t,r)}min(t=null,r=!1){if(t===null){let o=Sp(this.data)[0];return new Ue(this.type,[o],[])}let[n,s,a]=pa((o,i)=>Math.min(o,i),this,t,r,1/0);return new Ue(n,s,a)}max(t=null,r=!1){if(t===null){let o=Ge(this.data)[0];return new Ue(this.type,[o],[])}let[n,s,a]=pa((o,i)=>Math.max(o,i),this,t,r,-1/0);return new Ue(n,s,a)}argmin(t=null,r=!1){if(t!==null)throw new Error("`dim !== null` not yet implemented.");let n=Sp(this.data)[1];return new Ue("int64",[BigInt(n)],[])}argmax(t=null,r=!1){if(t!==null)throw new Error("`dim !== null` not yet implemented.");let n=Ge(this.data)[1];return new Ue("int64",[BigInt(n)],[])}repeat(...t){if(t.length<this.dims.length)throw new Error(`Number of dimensions of repeat dims (${t.length}) cannot be smaller than number of dimensions of tensor (${this.dims.length})`);if(t.every(u=>u===1)){if(t.length===this.dims.length)return this.clone();let u=t.length-this.dims.length,p=Array(u).fill(1).concat(this.dims);return new Ue(this.type,this.data.slice(),p)}let r=t.length-this.dims.length,n=Array(r).fill(1).concat(this.dims),s=n.map((u,p)=>u*t[p]),a=s.reduce((u,p)=>u*p,1),o=this.data,i=new o.constructor(a),l=$d(n),c=$d(s);for(let u=0;u<a;++u){let p=u,f=0;for(let m=0;m<s.length;++m){let y=Math.floor(p/c[m]);p=p%c[m];let v=y%n[m];f+=v*l[m]}i[u]=o[f]}return new Ue(this.type,i,s)}tile(...t){if(t.length<this.dims.length){let r=this.dims.length-t.length;t=Array(r).fill(1).concat(t)}return this.repeat(...t)}to(t){if(this.type===t)return this;if(!is.hasOwnProperty(t))throw new Error(`Unsupported type: ${t}`);let r,n=["int64","uint64"].includes(this.type),s=["int64","uint64"].includes(t);if(n&&!s)r=Number;else if(!n&&s)["float16","float32","float64"].includes(this.type)?r=a=>BigInt(Math.floor(a)):r=BigInt;else if(this.type==="float16"&&t=="float32"&&this.data instanceof Uint16Array)return new Ue(t,QD(this.data),this.dims);return new Ue(t,is[t].from(this.data,r),this.dims)}};Uo=e=>new q("int64",e,[e.length]);uB=["bos_token","eos_token","unk_token","sep_token","pad_token","cls_token","mask_token"];le=class extends Dt{constructor(t,r){super();w(this,"return_token_type_ids",!1);w(this,"padding_side","right");if(this._tokenizerJSON=t,this._tokenizerConfig=r,this._tokenizer=new SN(t,r),this.config=r,this.padding_side=r.padding_side??this.padding_side,this.mask_token=sn(r,"mask_token"),this.mask_token_id=this._tokenizer.token_to_id(this.mask_token),this.pad_token=sn(r,"pad_token","eos_token"),this.pad_token_id=this._tokenizer.token_to_id(this.pad_token),this.sep_token=sn(r,"sep_token"),this.sep_token_id=this._tokenizer.token_to_id(this.sep_token),this.unk_token=sn(r,"unk_token"),this.unk_token_id=this._tokenizer.token_to_id(this.unk_token),this.bos_token=sn(r,"bos_token"),this.bos_token_id=this._tokenizer.token_to_id(this.bos_token),this.eos_token=sn(r,"eos_token"),this.eos_token_id=this._tokenizer.token_to_id(this.eos_token),this.chat_template=r.chat_template??null,Array.isArray(this.chat_template)){let s=Object.create(null);for(let{name:a,template:o}of this.chat_template){if(typeof a!="string"||typeof o!="string")throw new Error('Chat template must be a list of objects with "name" and "template" properties');s[a]=o}this.chat_template=s}this._compiled_template_cache=new Map;let n=hB(this._tokenizer);this.all_special_ids=n.map(s=>s.id),this.all_special_tokens=n.map(s=>s.content)}static async from_pretrained(t,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main"}={}){let i=await eb(t,{progress_callback:r,config:n,cache_dir:s,local_files_only:a,revision:o});return new this(...i)}get_vocab(){return this._tokenizer.get_vocab()}get model_max_length(){return this._tokenizerConfig.model_max_length??1/0}get add_eos_token(){return this._tokenizerConfig.add_eos_token}get add_bos_token(){return this._tokenizerConfig.add_bos_token}convert_tokens_to_ids(t){return typeof t=="string"?this._tokenizer.token_to_id(t):t.map(r=>this._tokenizer.token_to_id(r))}_call(t,{text_pair:r=null,add_special_tokens:n=!0,padding:s=!1,truncation:a=null,max_length:o=null,return_tensor:i=!0,return_token_type_ids:l=null}={}){let c=Array.isArray(t),u;if(c){if(t.length===0)throw Error("text array must be non-empty");if(r!==null){if(Array.isArray(r)){if(t.length!==r.length)throw Error("text and text_pair must have the same length")}else throw Error("text_pair must also be an array");u=t.map((f,m)=>this._encode_plus(f,{text_pair:r[m],add_special_tokens:n,return_token_type_ids:l}))}else u=t.map(f=>this._encode_plus(f,{add_special_tokens:n,return_token_type_ids:l}))}else{if(t==null)throw Error("text may not be null or undefined");if(Array.isArray(r))throw Error("When specifying `text_pair`, since `text` is a string, `text_pair` must also be a string (i.e., not an array).");u=[this._encode_plus(t,{text_pair:r,add_special_tokens:n,return_token_type_ids:l})]}if(o===null?o=this.model_max_length:a===null&&(s===!0?(ce.warn("`max_length` is ignored when `padding: true` and there is no truncation strategy. To pad to max length, use `padding: 'max_length'`."),o=this.model_max_length):s===!1&&(ce.warn("Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation: true` to explicitly truncate examples to max length."),a=!0)),s===!0&&(o=Math.min(Ge(u.map(f=>f.input_ids.length))[0],o??1/0)),o=Math.min(o,this.model_max_length??1/0),s||a)for(let f=0;f<u.length;++f)u[f].input_ids.length!==o&&(u[f].input_ids.length>o?a&&pB(u[f],o):s&&dB(u[f],o,m=>m==="input_ids"?this.pad_token_id:0,this.padding_side));let p={};if(i){if(!(s&&a)&&u.some(m=>{for(let y of Object.keys(m))if(m[y].length!==u[0][y]?.length)return!0;return!1}))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=true' and 'truncation=true' to have batched tensors with the same length.");let f=[u.length,u[0].input_ids.length];for(let m of Object.keys(u[0]))p[m]=new q("int64",BigInt64Array.from(u.flatMap(y=>y[m]).map(BigInt)),f)}else{for(let f of Object.keys(u[0]))p[f]=u.map(m=>m[f]);if(!c)for(let f of Object.keys(p))p[f]=p[f][0]}return p}_encode_text(t){return t===null?null:this._tokenizer.encode(t).tokens}_encode_plus(t,{text_pair:r=null,add_special_tokens:n=!0,return_token_type_ids:s=null}={}){let{ids:a,attention_mask:o,token_type_ids:i}=this._tokenizer.encode(t,{text_pair:r,add_special_tokens:n,return_token_type_ids:s??this.return_token_type_ids});return{input_ids:a,attention_mask:o,...i?{token_type_ids:i}:{}}}tokenize(t,{pair:r=null,add_special_tokens:n=!1}={}){return this._tokenizer.tokenize(t,{text_pair:r,add_special_tokens:n})}encode(t,{text_pair:r=null,add_special_tokens:n=!0,return_token_type_ids:s=null}={}){return this._tokenizer.encode(t,{text_pair:r,add_special_tokens:n,return_token_type_ids:s}).ids}batch_decode(t,r={}){return t instanceof q&&(t=t.tolist()),t.map(n=>this.decode(n,r))}decode(t,r={}){if(t instanceof q&&(t=tb(t)),!Array.isArray(t)||t.length===0||!_L(t[0]))throw Error("token_ids must be a non-empty array of integers.");return this.decode_single(t,r)}decode_single(t,{skip_special_tokens:r=!1,clean_up_tokenization_spaces:n=null}){return this._tokenizer.decode(t,{skip_special_tokens:r,clean_up_tokenization_spaces:n})}get_chat_template({chat_template:t=null,tools:r=null}={}){if(this.chat_template&&typeof this.chat_template=="object"){let n=this.chat_template;if(t!==null&&Object.hasOwn(n,t))t=n[t];else if(t===null)if(r!==null&&"tool_use"in n)t=n.tool_use;else if("default"in n)t=n.default;else throw Error(`This model has multiple chat templates with no default specified! Please either pass a chat template or the name of the template you wish to use to the 'chat_template' argument. Available template names are ${Object.keys(n).sort()}.`)}else if(t===null)if(this.chat_template)t=this.chat_template;else throw Error("Cannot use apply_chat_template() because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating");return t}apply_chat_template(t,{tools:r=null,documents:n=null,chat_template:s=null,add_generation_prompt:a=!1,tokenize:o=!0,padding:i=!1,truncation:l=!1,max_length:c=null,return_tensor:u=!0,return_dict:p=!0,tokenizer_kwargs:f={},...m}={}){if(s=this.get_chat_template({chat_template:s,tools:r}),typeof s!="string")throw Error(`chat_template must be a string, but got ${typeof s}`);let y=this._compiled_template_cache.get(s);y===void 0&&(y=new TD(s),this._compiled_template_cache.set(s,y));let v=Object.create(null);for(let M of uB){let T=sn(this.config,M);T&&(v[M]=T)}let x=y.render({messages:t,add_generation_prompt:a,tools:r,documents:n,...v,...m});if(o){let M=this._call(x,{add_special_tokens:!1,padding:i,truncation:l,max_length:c,return_tensor:u,...f});return p?M:M.input_ids}return x}};rb={};cs(rb,{AlbertTokenizer:()=>nb,AutoTokenizer:()=>Ae,BartTokenizer:()=>sb,BertTokenizer:()=>ab,BlenderbotSmallTokenizer:()=>ob,BlenderbotTokenizer:()=>ib,BloomTokenizer:()=>lb,CLIPTokenizer:()=>ub,CamembertTokenizer:()=>cb,CodeGenTokenizer:()=>pb,CodeLlamaTokenizer:()=>db,CohereTokenizer:()=>hb,ConvBertTokenizer:()=>fb,DebertaTokenizer:()=>_b,DebertaV2Tokenizer:()=>mb,DistilBertTokenizer:()=>gb,ElectraTokenizer:()=>wb,EsmTokenizer:()=>yb,FalconTokenizer:()=>vb,GPT2Tokenizer:()=>xb,GPTNeoXTokenizer:()=>Mb,GemmaTokenizer:()=>bb,HerbertTokenizer:()=>Tb,LlamaTokenizer:()=>Eb,M2M100Tokenizer:()=>kb,MBart50Tokenizer:()=>Ab,MBartTokenizer:()=>oh,MPNetTokenizer:()=>Pb,MarianTokenizer:()=>Cb,MgpstrTokenizer:()=>Sb,MobileBertTokenizer:()=>Ib,NllbTokenizer:()=>Rb,NougatTokenizer:()=>Ob,PreTrainedTokenizer:()=>le,Qwen2Tokenizer:()=>Lb,RoFormerTokenizer:()=>Nb,RobertaTokenizer:()=>Fb,SiglipTokenizer:()=>Db,SpeechT5Tokenizer:()=>Bb,SqueezeBertTokenizer:()=>Ub,T5Tokenizer:()=>zb,TokenizersBackend:()=>le,VitsTokenizer:()=>$b,Wav2Vec2CTCTokenizer:()=>Vb,WhisperTokenizer:()=>jb,XLMRobertaTokenizer:()=>qb,XLMTokenizer:()=>Wb});nb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},sb=class extends le{},ab=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},ob=class extends le{},ib=class extends le{},lb=class extends le{},cb=class extends le{},ub=class extends le{},db=class extends le{},pb=class extends le{},hb=class extends le{},fb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},mb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},_b=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},gb=class extends le{},wb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},yb=class extends le{},vb=class extends le{},bb=class extends le{},Mb=class extends le{},xb=class extends le{},Tb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Eb=class extends le{constructor(){super(...arguments);w(this,"padding_side","left")}},kb=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)).map(r=>r.slice(2,-2)),this.lang_to_token=r=>`__${r}__`}_build_translation_inputs(e,t,r){return ah(this,e,t,r)}},Cb=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=Array.from(this.get_vocab().keys()).filter(r=>this.languageRegex.test(r)),ce.warn('WARNING: `MarianTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}_encode_text(e){if(e===null)return null;let[t,...r]=e.trim().split(this.languageRegex);if(r.length===0)return super._encode_text(t);if(r.length===2){let[n,s]=r;return this.supported_language_codes.includes(n)||ce.warn(`Unsupported language code "${n}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),jt([n],super._encode_text(s))}}},oh=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)).map(r=>r),this.lang_to_token=r=>r}_build_translation_inputs(e,t,r){return ah(this,e,t,r)}},Ab=class extends oh{},Sb=class extends le{},Ib=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Pb=class extends le{},Rb=class extends le{constructor(e,t){super(e,t),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.all_special_tokens.filter(r=>this.languageRegex.test(r)),this.lang_to_token=r=>r}_build_translation_inputs(e,t,r){return ah(this,e,t,r)}},Ob=class extends le{},Lb=class extends le{},Fb=class extends le{},Nb=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},Db=class extends le{},Bb=class extends le{},Ub=class extends le{constructor(){super(...arguments);w(this,"return_token_type_ids",!0)}},zb=class extends le{},fB=class extends Kt{decode_chain(e){let t="";for(let r=1;r<e.length;r+=2)t+=e[r];return[t]}},$b=class extends le{constructor(e,t){super(e,t),this._tokenizer.decoder=new fB({type:"VitsDecoder"})}},Vb=class extends le{},Gb=[["en","english"],["zh","chinese"],["de","german"],["es","spanish"],["ru","russian"],["ko","korean"],["fr","french"],["ja","japanese"],["pt","portuguese"],["tr","turkish"],["pl","polish"],["ca","catalan"],["nl","dutch"],["ar","arabic"],["sv","swedish"],["it","italian"],["id","indonesian"],["hi","hindi"],["fi","finnish"],["vi","vietnamese"],["he","hebrew"],["uk","ukrainian"],["el","greek"],["ms","malay"],["cs","czech"],["ro","romanian"],["da","danish"],["hu","hungarian"],["ta","tamil"],["no","norwegian"],["th","thai"],["ur","urdu"],["hr","croatian"],["bg","bulgarian"],["lt","lithuanian"],["la","latin"],["mi","maori"],["ml","malayalam"],["cy","welsh"],["sk","slovak"],["te","telugu"],["fa","persian"],["lv","latvian"],["bn","bengali"],["sr","serbian"],["az","azerbaijani"],["sl","slovenian"],["kn","kannada"],["et","estonian"],["mk","macedonian"],["br","breton"],["eu","basque"],["is","icelandic"],["hy","armenian"],["ne","nepali"],["mn","mongolian"],["bs","bosnian"],["kk","kazakh"],["sq","albanian"],["sw","swahili"],["gl","galician"],["mr","marathi"],["pa","punjabi"],["si","sinhala"],["km","khmer"],["sn","shona"],["yo","yoruba"],["so","somali"],["af","afrikaans"],["oc","occitan"],["ka","georgian"],["be","belarusian"],["tg","tajik"],["sd","sindhi"],["gu","gujarati"],["am","amharic"],["yi","yiddish"],["lo","lao"],["uz","uzbek"],["fo","faroese"],["ht","haitian creole"],["ps","pashto"],["tk","turkmen"],["nn","nynorsk"],["mt","maltese"],["sa","sanskrit"],["lb","luxembourgish"],["my","myanmar"],["bo","tibetan"],["tl","tagalog"],["mg","malagasy"],["as","assamese"],["tt","tatar"],["haw","hawaiian"],["ln","lingala"],["ha","hausa"],["ba","bashkir"],["jw","javanese"],["su","sundanese"]],oi=new Map(Gb),mB=new Map([...Gb.map(([e,t])=>[t,e]),["burmese","my"],["valencian","ca"],["flemish","nl"],["haitian","ht"],["letzeburgesch","lb"],["pushto","ps"],["panjabi","pa"],["moldavian","ro"],["moldovan","ro"],["sinhalese","si"],["castilian","es"]]);gB="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",rv=new RegExp(`^[${gB}]+$`,"gu"),jb=class extends le{get timestamp_begin(){return this._tokenizer.token_to_id("<|notimestamps|>")+1}_decode_asr(e,{return_timestamps:t=!1,return_language:r=!1,time_precision:n=null,force_full_sequences:s=!0}={}){if(n===null)throw Error("Must specify time_precision");let a=null,o=t==="word";function i(){return{language:a,timestamp:[null,null],text:""}}let l=[],c=i(),u=0,p=this.timestamp_begin,m=p+1500,y=[],v=[],x=!1,M=null,T=new Set(this.all_special_ids);for(let S of e){let O=S.tokens,E=o?S.token_timestamps:null,K=null,$=p;if("stride"in S){let[G,W,D]=S.stride;if(u-=W,M=G-D,W&&($=W/n+p),D)for(let R=O.length-1;R>=0;--R){let re=Number(O[R]);if(re>=p){if(K!==null&&(re-p)*n<M)break;K=re}}}let V=[],Q=[];for(let G=0;G<O.length;++G){let W=Number(O[G]);if(T.has(W)){let D=this.decode([W]),R=oi.get(D.slice(2,-2));if(R!==void 0){if(a!==null&&R!==a&&!t){y.push(V);let re=this.findLongestCommonSequence(y)[0],ie=this.decode(re);c.text=ie,l.push(c),y=[],V=[],c=i()}a=c.language=R}}else if(W>=p&&W<=m){let D=(W-p)*n+u,R=da(D,2);if(K!==null&&W>=K)x=!0;else if(x||y.length>0&&W<$)x=!1;else if(c.timestamp[0]===null)c.timestamp[0]=R;else if(R!==c.timestamp[0]){c.timestamp[1]=R,y.push(V),o&&v.push(Q);let[re,ie]=this.findLongestCommonSequence(y,v),F=this.decode(re);c.text=F,o&&(c.words=this.collateWordTimestamps(re,ie,a)),l.push(c),y=[],V=[],v=[],Q=[],c=i()}}else if(V.push(W),o){let D=da(E[G]+u,2),R;if(G+1<E.length){R=da(E[G+1]+u,2);let re=this.decode([W]);rv.test(re)&&(R=da(Math.min(D+n,R),2))}else R=null;Q.push([D,R])}}if("stride"in S){let[G,W,D]=S.stride;u+=G-D}V.length>0?(y.push(V),o&&v.push(Q)):y.every(G=>G.length===0)&&(c=i(),y=[],V=[],v=[],Q=[])}if(y.length>0){if(s&&t)throw new Error("Whisper did not predict an ending timestamp, which can happen if audio is cut off in the middle of a word. Also make sure WhisperTimeStampLogitsProcessor was used during generation.");let[S,O]=this.findLongestCommonSequence(y,v),E=this.decode(S);c.text=E,o&&(c.words=this.collateWordTimestamps(S,O,a)),l.push(c)}let A=Object.create(null),C=l.map(S=>S.text).join("");if(t||r){for(let S=0;S<l.length;++S){let O=l[S];t||delete O.timestamp,r||delete O.language}if(o){let S=[];for(let O of l)for(let E of O.words)S.push(E);A={chunks:S}}else A={chunks:l}}return[C,A]}findLongestCommonSequence(e,t=null){let r=e[0],n=r.length,s=[],a=Array.isArray(t)&&t.length>0,o=a?[]:null,i=a?t[0]:null;for(let l=1;l<e.length;++l){let c=e[l],u=0,p=[n,n,0,0],f=c.length;for(let A=1;A<n+f;++A){let C=Math.max(0,n-A),S=Math.min(n,n+f-A),O=r.slice(C,S),E=Math.max(0,A-n),K=Math.min(f,A),$=c.slice(E,K);if(O.length!==$.length)throw new Error("There is a bug within whisper `decode_asr` function, please report it. Dropping to prevent bad inference.");let V;a?V=O.filter((W,D)=>W===$[D]&&i[C+D]<=t[l][E+D]).length:V=O.filter((W,D)=>W===$[D]).length;let Q=A/1e4,G=V/A+Q;V>1&&G>u&&(u=G,p=[C,S,E,K])}let[m,y,v,x]=p,M=Math.floor((y+m)/2),T=Math.floor((x+v)/2);s.push(...r.slice(0,M)),r=c.slice(T),n=r.length,a&&(o.push(...i.slice(0,M)),i=t[l].slice(T))}return s.push(...r),a?(o.push(...i),[s,o]):[s,[]]}collateWordTimestamps(e,t,r){let[n,s,a]=this.combineTokensIntoWords(e,r),o=[];for(let i=0;i<n.length;++i){let l=a[i];o.push({text:n[i],timestamp:[t[l.at(0)][0],t[l.at(-1)][1]]})}return o}combineTokensIntoWords(e,t,r=`"'\u201C\xA1\xBF([{-`,n=`"'.\u3002,\uFF0C!\uFF01?\uFF1F:\uFF1A\u201D)]}\u3001`){t=t??"english";let s,a,o;return["chinese","japanese","thai","lao","myanmar"].includes(t)?[s,a,o]=this.splitTokensOnUnicode(e):[s,a,o]=this.splitTokensOnSpaces(e),this.mergePunctuations(s,a,o,r,n)}decode(e,t){let r;return t?.decode_with_timestamps?(e instanceof q&&(e=tb(e)),r=this.decodeWithTimestamps(e,t)):r=super.decode(e,t),r}decodeWithTimestamps(e,t){let r=t?.time_precision??.02,n=this.all_special_ids.at(-1)+1,s=[[]];for(let a of e)if(a=Number(a),a>=n){let o=((a-n)*r).toFixed(2);s.push(`<|${o}|>`),s.push([])}else s[s.length-1].push(a);return s=s.map(a=>typeof a=="string"?a:super.decode(a,t)),s.join("")}splitTokensOnUnicode(e){let t=this.decode(e,{decode_with_timestamps:!0}),r="\uFFFD",n=[],s=[],a=[],o=[],i=[],l=0;for(let c=0;c<e.length;++c){let u=e[c];o.push(u),i.push(c);let p=this.decode(o,{decode_with_timestamps:!0});(!p.includes(r)||t[l+p.indexOf(r)]===r)&&(n.push(p),s.push(o),a.push(i),o=[],i=[],l+=p.length)}return[n,s,a]}splitTokensOnSpaces(e){let[t,r,n]=this.splitTokensOnUnicode(e),s=[],a=[],o=[];for(let i=0;i<t.length;++i){let l=t[i],c=r[i],u=n[i],p=c[0]>=this._tokenizer.token_to_id("<|endoftext|>"),f=l.startsWith(" "),m=l.trim(),y=rv.test(m);if(p||f||y||s.length===0)s.push(l),a.push(c),o.push(u);else{let v=s.length-1;s[v]+=l,a[v].push(...c),o[v].push(...u)}}return[s,a,o]}mergePunctuations(e,t,r,n,s){let a=structuredClone(e),o=structuredClone(t),i=structuredClone(r),l=a.length-2,c=a.length-1;for(;l>=0;)a[l].startsWith(" ")&&n.includes(a[l].trim())?(a[c]=a[l]+a[c],o[c]=jt(o[l],o[c]),i[c]=jt(i[l],i[c]),a[l]="",o[l]=[],i[l]=[]):c=l,--l;for(l=0,c=1;c<a.length;)!a[l].endsWith(" ")&&s.includes(a[c])?(a[l]+=a[c],o[l]=jt(o[l],o[c]),i[l]=jt(i[l],i[c]),a[c]="",o[c]=[],i[c]=[]):l=c,++c;return[a.filter(u=>u),o.filter(u=>u.length>0),i.filter(u=>u.length>0)]}},qb=class extends le{},Wb=class extends le{constructor(t,r){super(t,r);w(this,"return_token_type_ids",!0);ce.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}},Ae=class{static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:n=null,local_files_only:s=!1,revision:a="main"}={}){let[o,i]=await eb(e,{progress_callback:t,config:r,cache_dir:n,local_files_only:s,revision:a}),l=i.tokenizer_class?.replace(/Fast$/,"")??"PreTrainedTokenizer",c=rb[l];return c||(ce.warn(`Unknown tokenizer class "${l}", attempting to construct from base class.`),c=le),new c(o,i)}},Ci="https://github.com/huggingface/transformers.js/issues/new/choose",ih="preprocessor_config.json",_a=ih,wB="processor_config.json",yB="chat_template.jinja",Se=(Zs=class extends Dt{constructor(e,t,r){super(),this.config=e,this.components=t,this.chat_template=r}get image_processor(){return this.components.image_processor}get tokenizer(){return this.components.tokenizer}get feature_extractor(){return this.components.feature_extractor}apply_chat_template(e,t={}){if(!this.tokenizer)throw new Error("Unable to apply chat template without a tokenizer.");return this.tokenizer.apply_chat_template(e,{tokenize:!1,chat_template:this.chat_template??void 0,...t})}batch_decode(...e){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.batch_decode(...e)}decode(...e){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.decode(...e)}async _call(e,...t){for(let r of[this.image_processor,this.feature_extractor,this.tokenizer])if(r)return r(e,...t);throw new Error("No image processor, feature extractor, or tokenizer found.")}static async from_pretrained(e,t={}){let[r,n,s]=await Promise.all([this.uses_processor_config?yr(e,wB,!0,t):{},Promise.all(this.classes.filter(a=>a in this).map(async a=>{let o=await this[a].from_pretrained(e,t);return[a.replace(/_class$/,""),o]})).then(Object.fromEntries),this.uses_chat_template_file?Nv(e,yB,!0,t):null]);return new this(r,n,s)}},w(Zs,"classes",["image_processor_class","tokenizer_class","feature_extractor_class"]),w(Zs,"uses_processor_config",!1),w(Zs,"uses_chat_template_file",!1),Zs),Rp={};cs(Rp,{ChatterboxProcessor:()=>pM,Florence2Processor:()=>ax,Gemma3nProcessor:()=>ox,Glm46VProcessor:()=>ix,GraniteSpeechProcessor:()=>lx,GroundingDinoProcessor:()=>cx,Idefics3Processor:()=>Fp,JinaCLIPProcessor:()=>dx,Lfm2VlProcessor:()=>px,LlavaProcessor:()=>hx,MgpstrProcessor:()=>fx,MoonshineProcessor:()=>mx,OwlViTProcessor:()=>_x,PaliGemmaProcessor:()=>gx,Phi3VProcessor:()=>wx,PixtralProcessor:()=>yx,Processor:()=>Se,PyAnnoteProcessor:()=>vx,Qwen2VLProcessor:()=>Ri,Qwen2_5_VLProcessor:()=>Ah,Qwen3VLProcessor:()=>bx,Sam2Processor:()=>Ih,Sam2VideoProcessor:()=>Mx,SamProcessor:()=>Sh,SmolVLMProcessor:()=>Fp,SpeechT5Processor:()=>xx,UltravoxProcessor:()=>Tx,VLChatProcessor:()=>ux,VoxtralProcessor:()=>Ex,VoxtralRealtimeProcessor:()=>kx,Wav2Vec2Processor:()=>Cx,Wav2Vec2ProcessorWithLM:()=>Ax,WhisperProcessor:()=>Sx});ct=class extends Dt{constructor(e){super(),this.config=e}static async from_pretrained(e,t={}){let r=await yr(e,ih,!0,t);return new this(r)}};lh={};cs(lh,{ASTFeatureExtractor:()=>Yb,ChatterboxFeatureExtractor:()=>Zb,ClapFeatureExtractor:()=>eM,DacFeatureExtractor:()=>uh,EncodecFeatureExtractor:()=>ch,FeatureExtractor:()=>ct,Gemma3nAudioFeatureExtractor:()=>tM,GraniteSpeechFeatureExtractor:()=>rM,MoonshineFeatureExtractor:()=>nM,ParakeetFeatureExtractor:()=>sM,PyAnnoteFeatureExtractor:()=>dh,SeamlessM4TFeatureExtractor:()=>aM,SnacFeatureExtractor:()=>oM,SpeechT5FeatureExtractor:()=>iM,VoxtralRealtimeFeatureExtractor:()=>uM,Wav2Vec2FeatureExtractor:()=>lM,WeSpeakerFeatureExtractor:()=>cM,WhisperFeatureExtractor:()=>dM});vB=()=>{},bB={fromWeb:vB},MB=()=>{},xB=MB;EB={htk:e=>2595*Math.log10(1+e/700),kaldi:e=>1127*Math.log(1+e/700),slaney:(e,t=1e3,r=15,n=27/Math.log(6.4))=>e>=t?r+Math.log(e/t)*n:3*e/200};kB={htk:e=>700*(10**(e/2595)-1),kaldi:e=>700*(Math.exp(e/1127)-1),slaney:(e,t=1e3,r=15,n=Math.log(6.4)/27)=>e>=r?t*Math.exp(n*(e-r)):200*e/3};Xb=class{constructor(e,t){this.audio=e,this.sampling_rate=t}get data(){if(Array.isArray(this.audio)){if(this.audio.length===0)return new Float32Array(0);if(this.audio.length===1)return this.audio[0];let e=this.audio.reduce((n,s)=>n+s.length,0),t=new Float32Array(e),r=0;for(let n of this.audio)t.set(n,r),r+=n.length;return t}else return this.audio}toBlob(){let e=this.audio;return e instanceof Float32Array&&(e=[e]),RB(e,this.sampling_rate)}async save(e){return Hb(e,this.toBlob())}},Yb=class extends ct{constructor(e){super(e);let t=this.config.sampling_rate,r=or(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=br(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(e,t){return vr(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e){bt(e,"ASTFeatureExtractor");let t=await this._extract_fbank_features(e,this.config.max_length);if(this.config.do_normalize){let r=this.std*2,n=t.data;for(let s=0;s<n.length;++s)n[s]=(n[s]-this.mean)/r}return{input_values:t.unsqueeze_(0)}}},ch=class extends ct{async _call(e){bt(e,"EncodecFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=this.config.feature_size;if(e.length%t!==0)throw new Error(`The length of the audio data must be a multiple of the number of channels (${t}).`);let r=[1,t,e.length/t];return{input_values:new q("float32",e,r)}}},Zb=class extends ct{async _call(e){bt(e,"ChatterboxFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=[1,e.length];return{input_values:new q("float32",e,t)}}},eM=class extends ct{constructor(e){super(e),this.mel_filters=or(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,null,"htk"),this.mel_filters_slaney=or(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,"slaney","slaney"),this.window=br(this.config.fft_window_size,"hann")}async _get_input_mel(e,t,r,n){let s,a=!1,o=e.length-t;if(o>0)if(r==="rand_trunc"){a=!0;let i=Math.floor(ba.random()*(o+1));e=e.subarray(i,i+t),s=await this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)}else throw new Error(`Truncation strategy "${r}" not implemented`);else{if(o<0){let i=new Float64Array(t);if(i.set(e),n==="repeat")for(let l=e.length;l<t;l+=e.length)i.set(e.subarray(0,Math.min(e.length,t-l)),l);else if(n==="repeatpad")for(let l=e.length;l<-o;l+=e.length)i.set(e,l);e=i}if(r==="fusion")throw new Error(`Truncation strategy "${r}" not implemented`);s=await this._extract_fbank_features(e,this.mel_filters_slaney,this.config.nb_max_samples)}return s.unsqueeze_(0)}async _extract_fbank_features(e,t,r=null){return vr(e,this.window,this.config.fft_window_size,this.config.hop_length,{power:2,mel_filters:t,log_mel:"dB",max_num_frames:r,do_pad:!1,transpose:!0})}async _call(e,{max_length:t=null}={}){return bt(e,"ClapFeatureExtractor"),{input_features:(await this._get_input_mel(e,t??this.config.nb_max_samples,this.config.truncation,this.config.padding)).unsqueeze_(0)}}},uh=class extends ch{},tM=class extends ct{constructor(e){super(e);let{fft_length:t,feature_size:r,min_frequency:n,max_frequency:s,sampling_rate:a,frame_length:o}=this.config,i=or(Math.floor(1+t/2),r,n,s,a,null,"htk",!1);this.mel_filters=i,this.window=br(o,"hann")}async _extract_fbank_features(e,t){return vr(e,this.window,this.config.frame_length,this.config.hop_length,{fft_length:this.config.fft_length,center:!1,onesided:!0,preemphasis:this.config.preemphasis,preemphasis_htk_flavor:this.config.preemphasis_htk_flavor,mel_filters:this.mel_filters,log_mel:"log",mel_floor:this.config.mel_floor,remove_dc_offset:!1,transpose:!0})}async _call(e,{max_length:t=48e4,truncation:r=!0,padding:n=!0,pad_to_multiple_of:s=128}={}){if(bt(e,"Gemma3nAudioFeatureExtractor"),r&&e.length>t&&(e=e.slice(0,t)),n&&e.length%s!==0){let i=s-e.length%s,l=new Float64Array(e.length+i);l.set(e),this.config.padding_value!==0&&l.fill(this.config.padding_value,e.length),e=l}let a=await this._extract_fbank_features(e,this.config.max_length),o=lt([1,a.dims[0]],!0);return{input_features:a.unsqueeze_(0),input_features_mask:o}}},rM=class extends ct{constructor(e){super(e);let{n_fft:t,win_length:r,n_mels:n,sample_rate:s}=e.melspec_kwargs;this.mel_filters=or(Math.floor(1+t/2),n,0,s/2,s,null,"htk");let a=br(r,"hann");this.window=new Float64Array(t);let o=Math.floor((t-r)/2);this.window.set(a,o)}async _call(e){bt(e,"GraniteSpeechFeatureExtractor");let{n_fft:t,hop_length:r,n_mels:n}=this.config.melspec_kwargs,s=1+Math.floor((e.length-1)/r),a=s-s%2;return{input_features:(await vr(e,this.window,t,r,{power:2,mel_filters:this.mel_filters,log_mel:"log10_max_norm",transpose:!0,max_num_frames:a,do_pad:!1})).view(-1,2*n).unsqueeze_(0)}}},nM=class extends ct{async _call(e){bt(e,"MoonshineFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=[1,e.length];return{input_values:new q("float32",e,t)}}},OB=1e-5,sM=class extends ct{constructor(e){var n;super(e),(n=this.config).mel_filters??(n.mel_filters=or(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,this.config.sampling_rate/2,this.config.sampling_rate,"slaney","slaney"));let t=br(this.config.win_length,"hann",{periodic:!1});this.window=new Float64Array(this.config.n_fft);let r=Math.floor((this.config.n_fft-this.config.win_length)/2);this.window.set(t,r)}async _extract_fbank_features(e){let t=this.config.preemphasis;e=new Float64Array(e);for(let n=e.length-1;n>=1;--n)e[n]-=t*e[n-1];return await vr(e,this.window,this.window.length,this.config.hop_length,{fft_length:this.config.n_fft,power:2,mel_filters:this.config.mel_filters,log_mel:"log",mel_floor:-1/0,pad_mode:"constant",center:!0,transpose:!0,mel_offset:2**-24})}async _call(e){bt(e,"ParakeetFeatureExtractor");let t=await this._extract_fbank_features(e),r=Math.floor((e.length+Math.floor(this.config.n_fft/2)*2-this.config.n_fft)/this.config.hop_length),n=t.data;n.fill(0,r*t.dims[1]);let[s,a]=t.dims,o=new Float64Array(a),i=new Float64Array(a);for(let u=0;u<r;++u){let p=u*a;for(let f=0;f<a;++f){let m=n[p+f];o[f]+=m,i[f]+=m*m}}let l=r>1?r-1:1;for(let u=0;u<a;++u){let p=o[u]/r,f=(i[u]-r*p*p)/l,y=1/(Math.sqrt(f)+OB);for(let v=0;v<r;++v){let x=v*a+u;n[x]=(n[x]-p)*y}}let c=new BigInt64Array(s);return c.fill(1n,0,r),{input_features:t.unsqueeze_(0),attention_mask:new q("int64",c,[1,s])}}},dh=class extends ct{async _call(e){bt(e,"PyAnnoteFeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=[1,1,e.length];return{input_values:new q("float32",e,t)}}samples_to_frames(e){return(e-this.config.offset)/this.config.step}post_process_speaker_diarization(e,t){let r=t/this.samples_to_frames(t)/this.config.sampling_rate,n=[];for(let s of e.tolist()){let a=[],o=-1;for(let i=0;i<s.length;++i){let l=rt(s[i]),[c,u]=Ge(l),[p,f]=[i,i+1];u!==o?(o=u,a.push({id:u,start:p,end:f,score:c})):(a.at(-1).end=f,a.at(-1).score+=c)}n.push(a.map(({id:i,start:l,end:c,score:u})=>({id:i,start:l*r,end:c*r,confidence:u/(c-l)})))}return n}},aM=class extends ct{constructor(e){super(e);let t=this.config.sampling_rate,r=or(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=br(400,"povey",{periodic:!1})}async _extract_fbank_features(e,t){return e=e.map(r=>r*32768),vr(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:t,transpose:!0})}async _call(e,{padding:t=!0,pad_to_multiple_of:r=2,do_normalize_per_mel_bins:n=!0,return_attention_mask:s=!0}={}){bt(e,"SeamlessM4TFeatureExtractor");let a=await this._extract_fbank_features(e,this.config.max_length);if(n){let[m,y]=a.dims,v=a.data;for(let x=0;x<y;++x){let M=0;for(let S=0;S<m;++S)M+=v[S*y+x];let T=M/m,A=0;for(let S=0;S<m;++S)A+=(v[S*y+x]-T)**2;A/=m-1;let C=Math.sqrt(A+1e-7);for(let S=0;S<m;++S){let O=S*y+x;v[O]=(v[O]-T)/C}}}let o;if(t){let[m,y]=a.dims,v=a.data,x=m%r;if(x>0){let M=new Float32Array(y*(m+x));M.set(v),M.fill(this.config.padding_value,v.length);let T=m+x;a=new q(a.type,M,[T,y]),s&&(o=new q("int64",new BigInt64Array(T),[1,T]),o.data.fill(1n,0,m))}}let[i,l]=a.dims,c=this.config.stride;if(i%c!==0)throw new Error(`The number of frames (${i}) must be a multiple of the stride (${c}).`);let p=a.view(1,Math.floor(i/c),l*c),f={input_features:p};if(s){let m=p.dims[1],y=new BigInt64Array(m);if(o){let v=o.data;for(let x=1,M=0;x<i;x+=c,++M)y[M]=v[x]}else y.fill(1n);f.attention_mask=new q("int64",y,[1,m])}return f}},oM=class extends uh{},iM=class extends ct{},lM=class extends ct{_zero_mean_unit_var_norm(e){let r=e.reduce((s,a)=>s+a,0)/e.length,n=e.reduce((s,a)=>s+(a-r)**2,0)/e.length;return e.map(s=>(s-r)/Math.sqrt(n+1e-7))}async _call(e){bt(e,"Wav2Vec2FeatureExtractor"),e instanceof Float64Array&&(e=new Float32Array(e));let t=e;this.config.do_normalize&&(t=this._zero_mean_unit_var_norm(t));let r=[1,t.length];return{input_values:new q("float32",t,r),attention_mask:new q("int64",new BigInt64Array(t.length).fill(1n),r)}}},cM=class extends ct{constructor(e){super(e);let t=this.config.sampling_rate,r=or(257,this.config.num_mel_bins,20,Math.floor(t/2),t,null,"kaldi",!0);this.mel_filters=r,this.window=br(400,"hamming",{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(e){return e=e.map(t=>t*32768),vr(e,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(e){bt(e,"WeSpeakerFeatureExtractor");let t=(await this._extract_fbank_features(e)).unsqueeze_(0);if(this.config.fbank_centering_span===null){let r=t.mean(1).data,n=t.data,[s,a,o]=t.dims;for(let i=0;i<s;++i){let l=i*a*o,c=i*o;for(let u=0;u<a;++u){let p=l+u*o;for(let f=0;f<o;++f)n[p+f]-=r[c+f]}}}return{input_features:t}}},uM=class extends ct{constructor(e){var t;super(e),(t=this.config).mel_filters??(t.mel_filters=or(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=br(this.config.n_fft,"hann")}async _extract_fbank_features(e,{center:t=!0}={}){let{n_fft:r,hop_length:n,mel_filters:s,global_log_mel_max:a}=this.config,o=Math.floor(t?e.length/n:(e.length-r)/n);return await vr(e,this.window,r,n,{power:2,mel_filters:s,log_mel:"log10_max_norm",max_log_mel:a,center:t,max_num_frames:o,do_pad:!1})}async _call(e,{center:t=!0}={}){return bt(e,"VoxtralRealtimeFeatureExtractor"),{input_features:(await this._extract_fbank_features(e,{center:t})).unsqueeze_(0)}}},dM=class extends ct{constructor(e){var t;super(e),(t=this.config).mel_filters??(t.mel_filters=or(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=br(this.config.n_fft,"hann")}async _extract_fbank_features(e){return await vr(e,this.window,this.config.n_fft,this.config.hop_length,{power:2,mel_filters:this.config.mel_filters,log_mel:"log10_max_norm",max_num_frames:Math.min(Math.floor(e.length/this.config.hop_length),this.config.nb_max_frames)})}async _call(e,{max_length:t=null}={}){bt(e,"WhisperFeatureExtractor");let r,n=t??this.config.n_samples;return e.length>n?(e.length>this.config.n_samples&&ce.warn("Attempting to extract features for audio longer than 30 seconds. If using a pipeline to extract transcript from a long audio clip, remember to specify `chunk_length_s` and/or `stride_length_s`."),r=e.slice(0,n)):(r=new Float32Array(n),r.set(e)),{input_features:(await this._extract_fbank_features(r)).unsqueeze_(0)}}},Bt=class{static async from_pretrained(e,t={}){let r=await yr(e,ih,!0,t),n=r.feature_extractor_type,s=lh[n];if(!s)throw new Error(`Unknown feature_extractor_type: '${n}'. Please report this at ${Ci}.`);return new s(r)}},pM=(jo=class extends Se{async _call(e,t=null){let r=this.tokenizer(e),n=t?await this.feature_extractor(t):{};return{...r,...n}}},w(jo,"tokenizer_class",Ae),w(jo,"feature_extractor_class",Bt),jo),Op={};if(pe.IS_WEB_ENV)ln=(e,t)=>{if(!self.OffscreenCanvas)throw new Error("OffscreenCanvas not supported by this environment.");return new self.OffscreenCanvas(e,t)},Or=self.createImageBitmap,hM=self.ImageData;else if(Op)Or=async e=>{let r=(await e.metadata()).channels,{data:n,info:s}=await e.rotate().raw().toBuffer({resolveWithObject:!0}),a=new Mt(new Uint8ClampedArray(n),s.width,s.height,s.channels);return r!==void 0&&r!==s.channels&&a.convert(r),a};else throw new Error("Unable to load image processing library.");LB={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},FB=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]),Mt=class nr{constructor(t,r,n,s){this.data=t,this.width=r,this.height=n,this.channels=s}get size(){return[this.width,this.height]}static async read(t){if(t instanceof nr)return t;if(typeof t=="string"||t instanceof URL)return await this.fromURL(t);if(t instanceof Blob)return await this.fromBlob(t);if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return this.fromCanvas(t);throw new Error(`Unsupported input type: ${typeof t}`)}static fromCanvas(t){if(!pe.IS_WEB_ENV)throw new Error("fromCanvas() is only supported in browser environments.");let n=t.getContext("2d").getImageData(0,0,t.width,t.height).data;return new nr(n,t.width,t.height,4)}static async fromURL(t){let r=await ma(t);if(r.status!==200)throw new Error(`Unable to read image from "${t}" (${r.status} ${r.statusText})`);let n=await r.blob();return this.fromBlob(n)}static async fromBlob(t){if(pe.IS_WEB_ENV){let r=await Or(t),n=ln(r.width,r.height).getContext("2d");return n.drawImage(r,0,0),new this(n.getImageData(0,0,r.width,r.height).data,r.width,r.height,4)}else{let r=Op(await t.arrayBuffer());return await Or(r)}}static fromTensor(t,r="CHW"){if(t.dims.length!==3)throw new Error(`Tensor should have 3 dimensions, but has ${t.dims.length} dimensions.`);if(r==="CHW")t=t.transpose(1,2,0);else if(r!=="HWC")throw new Error(`Unsupported channel format: ${r}`);if(!(t.data instanceof Uint8ClampedArray||t.data instanceof Uint8Array))throw new Error(`Unsupported tensor type: ${t.type}`);switch(t.dims[2]){case 1:case 2:case 3:case 4:return new nr(t.data,t.dims[1],t.dims[0],t.dims[2]);default:throw new Error(`Unsupported number of channels: ${t.dims[2]}`)}}grayscale(){if(this.channels===1)return this;let t=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let r=0,n=0;r<this.data.length;r+=this.channels){let s=this.data[r],a=this.data[r+1],o=this.data[r+2];t[n++]=Math.round(.2989*s+.587*a+.114*o)}break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(t,this.width,this.height,1)}rgb(){if(this.channels===3)return this;let t=new Uint8ClampedArray(this.width*this.height*3);switch(this.channels){case 1:for(let r=0,n=0;r<this.data.length;++r)t[n++]=this.data[r],t[n++]=this.data[r],t[n++]=this.data[r];break;case 4:for(let r=0,n=0;r<this.data.length;r+=4)t[n++]=this.data[r],t[n++]=this.data[r+1],t[n++]=this.data[r+2];break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(t,this.width,this.height,3)}rgba(){if(this.channels===4)return this;let t=new Uint8ClampedArray(this.width*this.height*4);switch(this.channels){case 1:for(let r=0,n=0;r<this.data.length;++r)t[n++]=this.data[r],t[n++]=this.data[r],t[n++]=this.data[r],t[n++]=255;break;case 3:for(let r=0,n=0;r<this.data.length;r+=3)t[n++]=this.data[r],t[n++]=this.data[r+1],t[n++]=this.data[r+2],t[n++]=255;break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(t,this.width,this.height,4)}putAlpha(t){if(t.width!==this.width||t.height!==this.height)throw new Error(`Expected mask size to be ${this.width}x${this.height}, but got ${t.width}x${t.height}`);if(t.channels!==1)throw new Error(`Expected mask to have 1 channel, but got ${t.channels}`);let r=this.data,n=t.data,s=this.width*this.height;if(this.channels===3){let a=new Uint8ClampedArray(s*4);for(let o=0,i=0,l=0;o<s;++o)a[l++]=r[i++],a[l++]=r[i++],a[l++]=r[i++],a[l++]=n[o];return this._update(a,this.width,this.height,4)}else if(this.channels===4){for(let a=0;a<s;++a)r[4*a+3]=n[a];return this}throw new Error(`Expected image to have 3 or 4 channels, but got ${this.channels}`)}async resize(t,r,{resample:n=2}={}){if(this.width===t&&this.height===r)return this;let s=LB[n]??n,a=xy(t),o=xy(r);if(a&&o)return this;if(a?t=r/this.height*this.width:o&&(r=t/this.width*this.height),pe.IS_WEB_ENV){let i=this.channels,l=this.toCanvas(),c=ln(t,r).getContext("2d");return c.drawImage(l,0,0,t,r),new nr(c.getImageData(0,0,t,r).data,t,r,4).convert(i)}else{let i=this.toSharp();switch(s){case"box":case"hamming":(s==="box"||s==="hamming")&&(ce.warn(`Resampling method ${s} is not yet supported. Using bilinear instead.`),s="bilinear");case"nearest":case"bilinear":case"bicubic":i=i.affine([t/this.width,0,0,r/this.height],{interpolator:s});break;case"lanczos":i=i.resize({width:t,height:r,fit:"fill",kernel:"lanczos3"});break;default:throw new Error(`Resampling method ${s} is not supported.`)}return await Or(i)}}async pad([t,r,n,s]){if(t=Math.max(t,0),r=Math.max(r,0),n=Math.max(n,0),s=Math.max(s,0),t===0&&r===0&&n===0&&s===0)return this;if(pe.IS_WEB_ENV){let a=this.channels,o=this.toCanvas(),i=this.width+t+r,l=this.height+n+s,c=ln(i,l).getContext("2d");return c.drawImage(o,0,0,this.width,this.height,t,n,this.width,this.height),new nr(c.getImageData(0,0,i,l).data,i,l,4).convert(a)}else{let a=this.toSharp().extend({left:t,right:r,top:n,bottom:s});return await Or(a)}}async crop([t,r,n,s]){if(t=Math.max(t,0),r=Math.max(r,0),n=Math.min(n,this.width-1),s=Math.min(s,this.height-1),t===0&&r===0&&n===this.width-1&&s===this.height-1)return this;let a=n-t+1,o=s-r+1;if(pe.IS_WEB_ENV){let i=this.channels,l=this.toCanvas(),c=ln(a,o).getContext("2d");return c.drawImage(l,t,r,a,o,0,0,a,o),new nr(c.getImageData(0,0,a,o).data,a,o,4).convert(i)}else{let i=this.toSharp().extract({left:t,top:r,width:a,height:o});return await Or(i)}}async center_crop(t,r){if(this.width===t&&this.height===r)return this;let n=(this.width-t)/2,s=(this.height-r)/2;if(pe.IS_WEB_ENV){let a=this.channels,o=this.toCanvas(),i=ln(t,r).getContext("2d"),l=0,c=0,u=0,p=0;return n>=0?l=n:u=-n,s>=0?c=s:p=-s,i.drawImage(o,l,c,t,r,u,p,t,r),new nr(i.getImageData(0,0,t,r).data,t,r,4).convert(a)}else{let a=this.toSharp();if(n>=0&&s>=0)a=a.extract({left:Math.floor(n),top:Math.floor(s),width:t,height:r});else if(n<=0&&s<=0){let o=Math.floor(-s),i=Math.floor(-n);a=a.extend({top:o,left:i,right:t-this.width-i,bottom:r-this.height-o})}else{let o=[0,0],i=0;s<0?(o[0]=Math.floor(-s),o[1]=r-this.height-o[0]):i=Math.floor(s);let l=[0,0],c=0;n<0?(l[0]=Math.floor(-n),l[1]=t-this.width-l[0]):c=Math.floor(n),a=a.extend({top:o[0],bottom:o[1],left:l[0],right:l[1]}).extract({left:c,top:i,width:t,height:r})}return await Or(a)}}async toBlob(t="image/png",r=1){if(!pe.IS_WEB_ENV)throw new Error("toBlob() is only supported in browser environments.");return await this.toCanvas().convertToBlob({type:t,quality:r})}toTensor(t="CHW"){let r=new q("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if(t!=="HWC")if(t==="CHW")r=r.permute(2,0,1);else throw new Error(`Unsupported channel format: ${t}`);return r}toCanvas(){if(!pe.IS_WEB_ENV)throw new Error("toCanvas() is only supported in browser environments.");let t=this.clone().rgba(),r=ln(t.width,t.height),n=new hM(t.data,t.width,t.height);return r.getContext("2d").putImageData(n,0,0),r}split(){let{data:t,width:r,height:n,channels:s}=this,a=t.constructor,o=t.length/s,i=Array.from({length:s},()=>new a(o));for(let l=0;l<o;++l){let c=s*l;for(let u=0;u<s;++u)i[u][l]=t[c+u]}return i.map(l=>new nr(l,r,n,1))}_update(t,r,n,s=null){return this.data=t,this.width=r,this.height=n,s!==null&&(this.channels=s),this}clone(){return new nr(this.data.slice(),this.width,this.height,this.channels)}convert(t){if(this.channels===t)return this;switch(t){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(t){if(pe.IS_WEB_ENV){if(pe.IS_WEBWORKER_ENV)throw new Error("Unable to save an image from a Web Worker.");let r=t.split(".").pop().toLowerCase(),n=FB.get(r)??"image/png",s=await this.toBlob(n);return Hb(t,s)}else if(pe.IS_FS_AVAILABLE)await this.toSharp().toFile(t);else throw new Error("Unable to save the image because filesystem is disabled in this environment.")}toSharp(){if(pe.IS_WEB_ENV)throw new Error("toSharp() is only supported in server-side environments.");return Op(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}},NB=Mt.read.bind(Mt);ue=class extends Dt{constructor(e){super(),this.image_mean=e.image_mean??e.mean,this.image_std=e.image_std??e.std,this.resample=e.resample??2,this.do_rescale=e.do_rescale??!0,this.rescale_factor=e.rescale_factor??1/255,this.do_normalize=e.do_normalize,this.do_thumbnail=e.do_thumbnail,this.size=e.size??e.image_size,this.do_resize=e.do_resize??this.size!==void 0,this.size_divisibility=e.size_divisibility??e.size_divisor,this.do_center_crop=e.do_center_crop,this.crop_size=e.crop_size,this.do_convert_rgb=e.do_convert_rgb??!0,this.do_crop_margin=e.do_crop_margin,this.pad_size=e.pad_size,this.do_pad=e.do_pad,this.min_pixels=e.min_pixels,this.max_pixels=e.max_pixels,this.do_pad&&!this.pad_size&&!this.size_divisibility&&this.size&&this.size.width!==void 0&&this.size.height!==void 0&&(this.pad_size=this.size),this.do_flip_channel_order=e.do_flip_channel_order??!1,this.config=e}async thumbnail(e,t,r=2){let n=e.height,s=e.width,a=t.height,o=t.width,i=Math.min(n,a),l=Math.min(s,o);return i===n&&l===s?e:(n>s?l=Math.floor(s*i/n):s>n&&(i=Math.floor(n*l/s)),await e.resize(l,i,{resample:r}))}async crop_margin(e,t=200){let r=e.clone().grayscale(),n=Sp(r.data)[0],a=Ge(r.data)[0]-n;if(a===0)return e;let o=t/255,i=r.width,l=r.height,c=0,u=0,p=r.data;for(let f=0;f<r.height;++f){let m=f*r.width;for(let y=0;y<r.width;++y)(p[m+y]-n)/a<o&&(i=Math.min(i,y),l=Math.min(l,f),c=Math.max(c,y),u=Math.max(u,f))}return e=await e.crop([i,l,c,u]),e}pad_image(e,t,r,{mode:n="constant",center:s=!1,constant_values:a=0}={}){let[o,i,l]=t,c,u;if(typeof r=="number"?(c=r,u=r):r==="square"?c=u=Math.max(o,i):(c=r.width,u=r.height),c!==i||u!==o){let p=new Float32Array(c*u*l);if(Array.isArray(a))for(let y=0;y<p.length;++y)p[y]=a[y%l];else a!==0&&p.fill(a);let[f,m]=s?[Math.floor((c-i)/2),Math.floor((u-o)/2)]:[0,0];for(let y=0;y<o;++y){let v=(y+m)*c,x=y*i;for(let M=0;M<i;++M){let T=(v+M+f)*l,A=(x+M)*l;for(let C=0;C<l;++C)p[T+C]=e[A+C]}}if(n==="symmetric"){if(s)throw new Error("`center` padding is not supported when `mode` is set to `symmetric`.");let y=o-1,v=i-1;for(let x=0;x<u;++x){let M=x*c,T=pi(x,y)*i;for(let A=0;A<c;++A){if(x<o&&A<i)continue;let C=(M+A)*l,S=(T+pi(A,v))*l;for(let O=0;O<l;++O)p[C+O]=e[S+O]}}}e=p,t=[u,c,l]}return[e,t]}rescale(e){for(let t=0;t<e.length;++t)e[t]=this.rescale_factor*e[t]}get_resize_output_image_size(e,t){let[r,n]=e.size,s,a;if(this.do_thumbnail){let{height:o,width:i}=t;s=Math.min(o,i)}else Number.isInteger(t)?(s=t,a=this.config.max_size??s):t!==void 0&&(s=t.shortest_edge,a=t.longest_edge);if(s!==void 0||a!==void 0){let o=s===void 0?1:Math.max(s/r,s/n),i=r*o,l=n*o,c=a===void 0?1:Math.min(a/i,a/l),u=Math.floor(Number((i*c).toFixed(2))),p=Math.floor(Number((l*c).toFixed(2)));return this.size_divisibility!==void 0&&([u,p]=ov([u,p],this.size_divisibility)),[u,p]}else if(t!==void 0&&t.width!==void 0&&t.height!==void 0){let o=t.width,i=t.height;if(this.config.keep_aspect_ratio&&this.config.ensure_multiple_of){let l=i/n,c=o/r;Math.abs(1-c)<Math.abs(1-l)?l=c:c=l,i=av(l*n,this.config.ensure_multiple_of),o=av(c*r,this.config.ensure_multiple_of)}return[o,i]}else{if(this.size_divisibility!==void 0)return ov([r,n],this.size_divisibility);throw new Error(`Could not resize image due to unsupported \`this.size\` option in config: ${JSON.stringify(t)}`)}}async resize(e){let[t,r]=this.get_resize_output_image_size(e,this.size);return await e.resize(t,r,{resample:this.resample})}async preprocess(e,{do_normalize:t=null,do_pad:r=null,do_convert_rgb:n=null,do_convert_grayscale:s=null,do_flip_channel_order:a=null}={}){this.do_crop_margin&&(e=await this.crop_margin(e));let[o,i]=e.size;if(n??this.do_convert_rgb?e=e.rgb():s&&(e=e.grayscale()),this.do_resize&&(e=await this.resize(e)),this.do_thumbnail&&(e=await this.thumbnail(e,this.size,this.resample)),this.do_center_crop){let f,m;Number.isInteger(this.crop_size)?(f=this.crop_size,m=this.crop_size):(f=this.crop_size.width,m=this.crop_size.height),e=await e.center_crop(f,m)}let l=[e.height,e.width],c=Float32Array.from(e.data),u=[e.height,e.width,e.channels];if(this.do_rescale&&this.rescale(c),t??this.do_normalize){let f=this.image_mean;Array.isArray(this.image_mean)||(f=new Array(e.channels).fill(f));let m=this.image_std;if(Array.isArray(this.image_std)||(m=new Array(e.channels).fill(m)),f.length!==e.channels||m.length!==e.channels)throw new Error(`When set to arrays, the length of \`image_mean\` (${f.length}) and \`image_std\` (${m.length}) must match the number of channels in the image (${e.channels}).`);for(let y=0;y<c.length;y+=e.channels)for(let v=0;v<e.channels;++v)c[y+v]=(c[y+v]-f[v])/m[v]}if(r??this.do_pad){if(this.pad_size)[c,u]=this.pad_image(c,[e.height,e.width,e.channels],this.pad_size);else if(this.size_divisibility){let f=Math.ceil(u[1]/this.size_divisibility)*this.size_divisibility,m=Math.ceil(u[0]/this.size_divisibility)*this.size_divisibility;[c,u]=this.pad_image(c,u,{width:f,height:m})}}if(a??this.do_flip_channel_order){if(u[2]!==3)throw new Error("Flipping channel order is only supported for RGB images.");for(let f=0;f<c.length;f+=3){let m=c[f];c[f]=c[f+2],c[f+2]=m}}let p=new q("float32",c,u).permute(2,0,1);return{original_size:[i,o],reshaped_input_size:l,pixel_values:p}}async _call(e,...t){Array.isArray(e)||(e=[e]);let r=await Promise.all(e.map(s=>this.preprocess(s)));return{pixel_values:Fr(r.map(s=>s.pixel_values),0),original_sizes:r.map(s=>s.original_size),reshaped_input_sizes:r.map(s=>s.reshaped_input_size)}}static async from_pretrained(e,t={}){let r=await yr(e,_a,!0,t);return new this(r)}},gi={};cs(gi,{BeitFeatureExtractor:()=>wM,BitImageProcessor:()=>yM,CHMv2ImageProcessor:()=>bM,CLIPFeatureExtractor:()=>MM,CLIPImageProcessor:()=>hh,ChineseCLIPFeatureExtractor:()=>vM,ConvNextFeatureExtractor:()=>xM,ConvNextImageProcessor:()=>fh,DINOv3ViTImageProcessor:()=>kM,DPTFeatureExtractor:()=>AM,DPTImageProcessor:()=>gh,DeiTFeatureExtractor:()=>TM,DeiTImageProcessor:()=>mh,DetrFeatureExtractor:()=>EM,DetrImageProcessor:()=>_h,DonutFeatureExtractor:()=>CM,DonutImageProcessor:()=>Si,EfficientNetImageProcessor:()=>SM,GLPNFeatureExtractor:()=>PM,Glm46VImageProcessor:()=>IM,GroundingDinoImageProcessor:()=>RM,Idefics3ImageProcessor:()=>Lp,ImageFeatureExtractor:()=>ue,ImageProcessor:()=>ue,JinaCLIPImageProcessor:()=>LM,Lfm2VlImageProcessor:()=>FM,LlavaOnevisionImageProcessor:()=>NM,Mask2FormerImageProcessor:()=>BM,MaskFormerFeatureExtractor:()=>DM,MaskFormerImageProcessor:()=>Ii,MobileNetV1FeatureExtractor:()=>UM,MobileNetV1ImageProcessor:()=>yh,MobileNetV2FeatureExtractor:()=>zM,MobileNetV2ImageProcessor:()=>vh,MobileNetV3FeatureExtractor:()=>$M,MobileNetV3ImageProcessor:()=>bh,MobileNetV4FeatureExtractor:()=>VM,MobileNetV4ImageProcessor:()=>Mh,MobileViTFeatureExtractor:()=>GM,MobileViTImageProcessor:()=>xh,NougatImageProcessor:()=>jM,OwlViTFeatureExtractor:()=>qM,OwlViTImageProcessor:()=>Pi,Owlv2ImageProcessor:()=>WM,Phi3VImageProcessor:()=>HM,PixtralImageProcessor:()=>KM,PvtImageProcessor:()=>QM,Qwen2VLImageProcessor:()=>wh,RTDetrImageProcessor:()=>JM,Sam2ImageProcessor:()=>ii,Sam3ImageProcessor:()=>ii,SamImageProcessor:()=>ii,SapiensFeatureExtractor:()=>XM,SapiensImageProcessor:()=>Th,SegformerFeatureExtractor:()=>YM,SegformerImageProcessor:()=>Eh,SiglipImageProcessor:()=>ZM,SmolVLMImageProcessor:()=>Lp,Swin2SRImageProcessor:()=>ex,VLMImageProcessor:()=>OM,ViTFeatureExtractor:()=>tx,ViTImageProcessor:()=>kh,VitMatteImageProcessor:()=>rx,VitPoseImageProcessor:()=>nx,YolosFeatureExtractor:()=>sx,YolosImageProcessor:()=>Ch});wM=class extends ue{},yM=class extends ue{},vM=class extends ue{},bM=class extends ue{},hh=class extends ue{},MM=class extends hh{},fh=class extends ue{constructor(e){super(e),this.crop_pct=this.config.crop_pct??224/256}async resize(e){let t=this.size?.shortest_edge;if(t===void 0)throw new Error("Size dictionary must contain 'shortest_edge' key.");if(t<384){let r=Math.floor(t/this.crop_pct),[n,s]=this.get_resize_output_image_size(e,{shortest_edge:r});e=await e.resize(n,s,{resample:this.resample}),e=await e.center_crop(t,t)}else e=await e.resize(t,t,{resample:this.resample});return e}},xM=class extends fh{},mh=class extends ue{},TM=class extends mh{},_h=class extends ue{async _call(e){let t=await super._call(e),r=[t.pixel_values.dims[0],64,64],n=lt(r,1n);return{...t,pixel_mask:n}}post_process_object_detection(...e){return Ai(...e)}post_process_panoptic_segmentation(...e){return _M(...e)}post_process_instance_segmentation(...e){return gM(...e)}},EM=class extends _h{},kM=class extends ue{},Si=class extends ue{pad_image(e,t,r,n={}){let[s,a,o]=t,i=this.image_mean;Array.isArray(this.image_mean)||(i=new Array(o).fill(i));let l=this.image_std;Array.isArray(l)||(l=new Array(o).fill(i));let c=i.map((u,p)=>-u/l[p]);return super.pad_image(e,t,r,{center:!0,constant_values:c,...n})}},CM=class extends Si{},gh=class extends ue{},AM=class extends gh{},SM=class extends ue{constructor(e){super(e),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(t=>t*t))}},wh=class extends ue{constructor(e){super(e),this.min_pixels=e.min_pixels??e.size?.shortest_edge,this.max_pixels=e.max_pixels??e.size?.longest_edge,this.patch_size=e.patch_size,this.merge_size=e.merge_size}get_resize_output_image_size(e,t){let r=this.patch_size*this.merge_size;return ph(e.height,e.width,r,this.min_pixels,this.max_pixels)}async _call(e,...t){let{pixel_values:r,original_sizes:n,reshaped_input_sizes:s}=await super._call(e,...t),a=r,{temporal_patch_size:o,merge_size:i,patch_size:l}=this.config;a.dims[0]===1&&(a=Fe(Array.from({length:o},()=>a),0));let c=a.dims[0]/o,u=a.dims[1],p=Math.floor(a.dims[2]/l),f=Math.floor(a.dims[3]/l),m=a.view(c,o,u,Math.floor(p/i),i,l,Math.floor(f/i),i,l).permute(0,3,6,4,7,2,1,5,8).view(c*p*f,u*o*l*l),y=new q("int64",[c,p,f],[1,3]);return{pixel_values:m,image_grid_thw:y,original_sizes:n,reshaped_input_sizes:s}}},IM=class extends wh{get_resize_output_image_size(e,t){let r=this.patch_size*this.merge_size,n=this.config.temporal_patch_size??2;return ph(e.height,e.width,r,this.min_pixels,this.max_pixels,n)}},PM=class extends ue{},RM=class extends ue{async _call(e){let t=await super._call(e),r=t.pixel_values.dims,n=xt([r[0],r[2],r[3]]);return{...t,pixel_mask:n}}},Lp=class extends ue{constructor(e){super(e),this.do_image_splitting=e.do_image_splitting??!0,this.max_image_size=e.max_image_size}get_resize_for_vision_encoder(e,t){let[r,n]=e.dims.slice(-2),s=n/r;return n>=r?(n=Math.ceil(n/t)*t,r=Math.floor(n/s),r=Math.ceil(r/t)*t):(r=Math.ceil(r/t)*t,n=Math.floor(r*s),n=Math.ceil(n/t)*t),{height:r,width:n}}async _call(e,{do_image_splitting:t=null,return_row_col_info:r=!1}={}){let n;if(!Array.isArray(e))n=[[e]];else{if(e.length===0||!e[0])throw new Error("No images provided.");Array.isArray(e[0])?n=e:n=[e]}let s=[],a=[],o=[],i=[],l=[];for(let x of n){let M=await Promise.all(x.map(C=>this.preprocess(C)));i.push(...M.map(C=>C.original_size)),l.push(...M.map(C=>C.reshaped_input_size)),M.forEach(C=>C.pixel_values.unsqueeze_(0));let{longest_edge:T}=this.max_image_size,A;if(t??this.do_image_splitting){let C=new Array(M.length),S=new Array(M.length);A=await Promise.all(M.map(async(O,E)=>{let K=this.get_resize_for_vision_encoder(O.pixel_values,T),$=await Nt(O.pixel_values,{size:[K.height,K.width]}),{frames:V,num_splits_h:Q,num_splits_w:G}=await this.split_image($,this.max_image_size);return C[E]=Q,S[E]=G,Fe(V,0)})),a.push(C),o.push(S)}else{let C=[T,T];A=await Promise.all(M.map(S=>Nt(S.pixel_values,{size:C}))),a.push(new Array(M.length).fill(0)),o.push(new Array(M.length).fill(0))}s.push(Fe(A,0))}let c=s.length,[u,p,f,m]=s[0].dims,y,v;if(c===1)y=s[0].unsqueeze_(0),v=lt([c,u,f,m],!0);else{let x=Math.max(...s.map(A=>A.dims.at(0)));v=lt([c,x,f,m],!0);let M=v.data,T=x*f*m;for(let A=0;A<c;++A){let C=s[A].dims[0];if(C<x){s[A]=Fe([s[A],lt([x-C,p,f,m],0)],0);let S=A*T+C*f*m,O=(A+1)*T;M.fill(!1,S,O)}}y=Fr(s,0)}return{pixel_values:y,pixel_attention_mask:v,original_sizes:i,reshaped_input_sizes:l,...r?{rows:a,cols:o}:{}}}async split_image(e,{longest_edge:t}){let r=t,n=t,s=[],[a,o]=e.dims.slice(-2),i=0,l=0;if(a>r||o>n){i=Math.ceil(a/r),l=Math.ceil(o/n);let c=Math.ceil(a/i),u=Math.ceil(o/l);for(let m=0;m<i;++m)for(let y=0;y<l;++y){let v,x,M,T;m===i-1?(x=a-c,T=a):(x=m*c,T=(m+1)*c),y===l-1?(v=o-u,M=o):(v=y*u,M=(y+1)*u);let S=await Yp(e,[x,v],[T,M],[2,3]);s.push(S)}let p=r,f=n;(a!==p||o!==f)&&(e=await Nt(e,{size:[p,f]}))}return s.push(e),{frames:s,num_splits_h:i,num_splits_w:l}}},OM=class extends ue{constructor(e){super({do_pad:!0,pad_size:{width:e.image_size,height:e.image_size},...e}),this.constant_values=this.config.background_color.map(t=>t*this.rescale_factor)}pad_image(e,t,r,n){return super.pad_image(e,t,r,{constant_values:this.constant_values,center:!0,...n})}},LM=class extends ue{constructor(e){let{resize_mode:t,fill_color:r,interpolation:n,size:s,...a}=e,o=t==="squash"?{width:s,height:s}:t==="shortest"?{shortest_edge:s}:{longest_edge:s},i=n==="bicubic"?3:2;super({...a,size:o,resample:i,do_center_crop:!0,crop_size:s,do_normalize:!0})}};FM=class extends ue{constructor(e){super(e),this.downsample_factor=e.downsample_factor??2,this.do_image_splitting=e.do_image_splitting??!0,this.min_tiles=e.min_tiles??2,this.max_tiles=e.max_tiles??10,this.use_thumbnail=e.use_thumbnail??!0,this.min_image_tokens=e.min_image_tokens??64,this.max_image_tokens=e.max_image_tokens??256,this.encoder_patch_size=e.encoder_patch_size??e.patch_size??16,this.tile_size=e.tile_size??512,this.max_pixels_tolerance=e.max_pixels_tolerance??2,this.return_row_col_info=e.return_row_col_info??!1;let t=this.max_image_tokens*this.downsample_factor**2,r=this.do_image_splitting?(this.tile_size/this.encoder_patch_size)**2:0;this.max_num_patches=Math.max(t,r)}_is_image_too_large(e,t){let r=this.encoder_patch_size*this.downsample_factor,n=Math.max(this.encoder_patch_size,iv(e,r)),s=Math.max(this.encoder_patch_size,iv(t,r));return n*s>this.max_image_tokens*(this.encoder_patch_size*this.downsample_factor)**2*this.max_pixels_tolerance}_get_grid_layout(e,t){let r=$B(this.min_tiles,this.max_tiles),[n,s]=zB(t/e,r,t,e,this.tile_size);return{grid_width:n,grid_height:s,target_width:this.tile_size*n,target_height:this.tile_size*s}}async _call(e,{return_row_col_info:t=null}={}){let r;Array.isArray(e)?Array.isArray(e[0])?r=e:r=[e]:r=[[e]];let n=[],s=[],a=[],o=[],i=[],l=[];for(let u of r){let p=await Promise.all(u.map(f=>this.preprocess(f,{do_pad:!1})));for(let{pixel_values:f}of p){let[,m,y]=f.dims,v=f.unsqueeze_(0),x=this.encoder_patch_size*this.downsample_factor,M=x**2,[T,A]=ph(Math.max(x,m),Math.max(x,y),x,this.min_image_tokens*M,this.max_image_tokens*M).map($=>Math.max(x,$)),C,S=1,O=1,E=this._is_image_too_large(m,y),K=this.do_image_splitting&&!(this.min_tiles===1&&this.max_tiles===1);if(E&&K){let{grid_width:$,grid_height:V,target_width:Q,target_height:G}=this._get_grid_layout(m,y);S=V,O=$;let W=await Nt(v,{size:[G,Q]});C=[];for(let D=0;D<V;++D)for(let R=0;R<$;++R){let re=D*this.tile_size,ie=R*this.tile_size;C.push(W.slice(null,null,[re,re+this.tile_size],[ie,ie+this.tile_size]))}this.use_thumbnail&&$*V!==1&&C.push(await Nt(v,{size:[A,T]}))}else C=[await Nt(v,{size:[A,T]})];for(let $ of C){let[,,V,Q]=$.dims,G=VB($,this.encoder_patch_size),{padded:W,mask:D}=GB(G,this.max_num_patches);n.push(W),s.push(D),a.push([Math.floor(V/this.encoder_patch_size),Math.floor(Q/this.encoder_patch_size)])}o.push(S),i.push(O),l.push([A,T])}}let c={pixel_values:Fe(n,0),pixel_attention_mask:Fr(s,0),spatial_shapes:new q("int64",BigInt64Array.from(a.flat(),BigInt),[a.length,2])};return(t??this.return_row_col_info)&&(c.image_rows=o,c.image_cols=i,c.image_sizes=l),c}},NM=class extends ue{},Ii=class extends ue{post_process_panoptic_segmentation(...e){return _M(...e)}post_process_instance_segmentation(...e){return gM(...e)}},DM=class extends Ii{},BM=class extends Ii{},yh=class extends ue{},UM=class extends yh{},vh=class extends ue{},zM=class extends vh{},bh=class extends ue{},$M=class extends bh{},Mh=class extends ue{},VM=class extends Mh{},xh=class extends ue{},GM=class extends xh{},jM=class extends Si{},Pi=class extends ue{post_process_object_detection(...e){return Ai(...e)}},qM=class extends Pi{},WM=class extends Pi{},Ct=336,jB=[2,3],{ceil:Gd,floor:Xn,sqrt:jd}=Math,HM=class extends ue{constructor(e){super({...e,do_normalize:!0,do_pad:!0,pad_size:"custom",do_convert_rgb:!0,do_resize:!0}),this._num_crops=e.num_crops}calc_num_image_tokens_from_image_size(e,t){let{num_img_tokens:r}=this.config;return Xn((Xn(t/Ct)*Xn(e/Ct)+1)*r+1+(Xn(t/Ct)+1)*jd(r))}get_resize_output_image_size(e,t){let r=this._num_crops,[n,s]=e.size,a=n/s,o=1;for(;o*Math.ceil(o/a)<=r;)o+=1;o-=1;let i=Math.floor(o*336),l=Math.floor(i/a);return[i,l]}pad_image(e,t,r,n={}){let[s,a]=t,o=Ct*Gd(s/Ct),i=Ct*Gd(a/Ct),l=[1,1,1].map((c,u)=>(c-this.image_mean[u])/this.image_std[u]);return super.pad_image(e,t,{width:i,height:o},{center:!0,constant_values:l,...n})}async _call(e,{num_crops:t=null}={}){if(this._num_crops=t??(t=this.config.num_crops),t<4||jd(t)%1!==0)throw new Error("num_crops must be a square number >= 4");Array.isArray(e)||(e=[e]);let r=e.length,n=await Promise.all(e.map(p=>this.preprocess(p))),s=n.map(p=>p.original_size),a=n.map(p=>p.reshaped_input_size),o=[];for(let{pixel_values:p}of n){p.unsqueeze_(0);let[f,m]=p.dims.slice(-2),y=await Nt(p,{size:[Ct,Ct],mode:"bicubic"});if(t>0){let v=[],x=jd(t),M=Xn(m/x),T=Xn(f/x);for(let C=0;C<x;++C)for(let S=0;S<x;++S){let O,E,K,$;C===x-1?(E=f-T,$=f):(E=C*T,$=(C+1)*T),S===x-1?(O=m-M,K=m):(O=S*M,K=(S+1)*M);let G=await Yp(p,[E,O],[$,K],jB);v.push(G)}let A=await Nt(Fe(v,0),{size:[Ct,Ct],mode:"bicubic"});o.push(Fe([y,A],0))}else o.push(y)}let i=Fr(o,0),l=a.map(p=>p.map(f=>Ct*Gd(f/Ct))),c=new q("int64",l.flat(),[r,2]),u=l.map(([p,f])=>this.calc_num_image_tokens_from_image_size(f,p));return{pixel_values:i,original_sizes:s,reshaped_input_sizes:a,image_sizes:c,num_img_tokens:u}}},KM=class extends ue{get_resize_output_image_size(e,t){let{longest_edge:r}=t;if(r===void 0)throw new Error("size must contain 'longest_edge'");let[n,s]=e.size,a=Math.max(n,s)/r,o=n,i=s;a>1&&(o=Math.floor(n/a),i=Math.floor(s/a));let{patch_size:l,spatial_merge_size:c}=this.config;if(!c)throw new Error("config must contain 'spatial_merge_size'");let u=l*c,p=Math.floor((o-1)/u)+1,f=Math.floor((i-1)/u)+1;return[p*u,f*u]}},QM=class extends ue{},JM=class extends ue{post_process_object_detection(...e){return Ai(...e)}},ii=class extends ue{reshape_input_points(e,t,r,n=!1){e=structuredClone(e);let s=Ty(e);if(s.length===3)n||(s=[1,...s]),e=[e];else if(s.length!==4)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let a=0;a<e.length;++a){let[o,i]=t[a],[l,c]=r[a],u=[c/i,l/o];for(let p=0;p<e[a].length;++p)for(let f=0;f<e[a][p].length;++f)for(let m=0;m<e[a][p][f].length;++m)e[a][p][f][m]*=u[m%2]}return new q("float32",Float32Array.from(e.flat(1/0)),s)}add_input_labels(e,t){let r=Ty(e);if(r.length===2)r=[1,...r],e=[e];else if(r.length!==3)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");if(r.some((n,s)=>n!==t.dims[s]))throw Error(`The first ${r.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new q("int64",e.flat(1/0).map(BigInt),r)}async _call(e,{input_points:t=null,input_labels:r=null,input_boxes:n=null}={}){let s=await super._call(e);if(t&&(s.input_points=this.reshape_input_points(t,s.original_sizes,s.reshaped_input_sizes)),r){if(!s.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");s.input_labels=this.add_input_labels(r,s.input_points)}return n&&(s.input_boxes=this.reshape_input_points(n,s.original_sizes,s.reshaped_input_sizes,!0)),s}async post_process_masks(e,t,r,{mask_threshold:n=0,binarize:s=!0,pad_size:a=null}={}){let o=[];a=a??this.pad_size??this.size;let i=[a.height,a.width];for(let l=0;l<t.length;++l){let c=t[l],u=r[l],p=await Nt(e[l],{mode:"bilinear",size:i});if(p=p.slice(null,null,[0,u[0]],[0,u[1]]),p=await Nt(p,{mode:"bilinear",size:c}),s){let f=p.data,m=new Uint8Array(f.length);for(let y=0;y<f.length;++y)f[y]>n&&(m[y]=1);p=new q("bool",m,p.dims)}o.push(p)}return o}generate_crop_boxes(e,t,{crop_n_layers:r=0,overlap_ratio:n=512/1500,points_per_crop:s=32,crop_n_points_downscale_factor:a=1}={}){}},Th=class extends ue{post_process_semantic_segmentation(...e){return mM(...e)}},XM=class extends Th{},Eh=class extends ue{post_process_semantic_segmentation(...e){return mM(...e)}},YM=class extends Eh{},ZM=class extends ue{},ex=class extends ue{pad_image(e,t,r,n={}){let[s,a,o]=t;return super.pad_image(e,t,{width:a+(r-a%r)%r,height:s+(r-s%r)%r},{mode:"symmetric",center:!1,constant_values:-1,...n})}},kh=class extends ue{},tx=class extends kh{},rx=class extends ue{async _call(e,t){Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);let r=await Promise.all(e.map(a=>this.preprocess(a))),n=await Promise.all(t.map(a=>this.preprocess(a,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:Fr(r.map((a,o)=>Fe([a.pixel_values,n[o].pixel_values],0)),0),original_sizes:r.map(a=>a.original_size),reshaped_input_sizes:r.map(a=>a.reshaped_input_size)}}},nx=class extends ue{post_process_pose_estimation(e,t,{threshold:r=null}={}){let n=e.tolist(),[s,a,o,i]=e.dims,l=[];for(let c=0;c<s;++c){let u=n[c],p=t[c],f=[];for(let m=0;m<p.length;++m){let y=p[m],v=[],x=[],M=[],T=y.at(-2)/i,A=y.at(-1)/o;for(let C=0;C<u.length;++C){let[S,O]=[0,0],E=0,K=-1/0,$=u[C];for(let Q=0;Q<$.length;++Q){let G=$[Q];for(let W=0;W<G.length;++W){let D=G[W];E+=D,K=Math.max(K,D),S+=(W+.5)*D,O+=Q*D}}if(r!=null&&K<r)continue;let V=[T*S/E,A*O/E];v.push(V),M.push(C),x.push(K)}f.push({bbox:y,scores:x,labels:M,keypoints:v})}l.push(f)}return l}},Ch=class extends ue{post_process_object_detection(...e){return Ai(...e)}},sx=class extends Ch{},mt=class{static async from_pretrained(e,t={}){let r=await yr(e,_a,!0,t),n=r.image_processor_type??r.feature_extractor_type,s=gi[n?.replace(/Fast$/,"")];return s||(n!==void 0&&ce.warn(`Image processor type '${n}' not found, assuming base ImageProcessor. Please report this at ${Ci}.`),s=ue),new s(r)}},ax=(qo=class extends Se{constructor(e,t,r){super(e,t,r);let{tasks_answer_post_processing_type:n,task_prompts_without_inputs:s,task_prompts_with_input:a}=this.image_processor.config;this.tasks_answer_post_processing_type=new Map(Object.entries(n??{})),this.task_prompts_without_inputs=new Map(Object.entries(s??{})),this.task_prompts_with_input=new Map(Object.entries(a??{})),this.regexes={quad_boxes:/(.+?)<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm,bboxes:/([^<]+)?<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm},this.size_per_bin=1e3}construct_prompts(e){typeof e=="string"&&(e=[e]);let t=[];for(let r of e)if(this.task_prompts_without_inputs.has(r))t.push(this.task_prompts_without_inputs.get(r));else{for(let[n,s]of this.task_prompts_with_input)if(r.includes(n)){t.push(s.replaceAll("{input}",r).replaceAll(n,""));break}t.length!==e.length&&t.push(r)}return t}post_process_generation(e,t,r){let n=this.tasks_answer_post_processing_type.get(t)??"pure_text";e=e.replaceAll("<s>","").replaceAll("</s>","");let s;switch(n){case"pure_text":s=e;break;case"description_with_bboxes":case"bboxes":case"phrase_grounding":case"ocr":let a=n==="ocr"?"quad_boxes":"bboxes",o=e.matchAll(this.regexes[a]),i=[],l=[];for(let[c,u,...p]of o)i.push(u?u.trim():i.at(-1)??""),l.push(p.map((f,m)=>(Number(f)+.5)/this.size_per_bin*r[m%2]));s={labels:i,[a]:l};break;default:throw new Error(`Task "${t}" (of type "${n}") not yet implemented.`)}return{[t]:s}}async _call(e,t=null,r={}){if(!e&&!t)throw new Error("Either text or images must be provided");let n=await this.image_processor(e,r),s=t?this.tokenizer(this.construct_prompts(t),r):{};return{...n,...s}}},w(qo,"tokenizer_class",Ae),w(qo,"image_processor_class",mt),qo),ox=(an=class extends Se{constructor(e,t,r){super(e,t,r),this.audio_seq_length=this.config.audio_seq_length,this.image_seq_length=this.config.image_seq_length;let{audio_token_id:n,boa_token:s,audio_token:a,eoa_token:o,image_token_id:i,boi_token:l,image_token:c,eoi_token:u}=this.tokenizer.config;this.audio_token_id=n,this.boa_token=s,this.audio_token=a;let p=a.repeat(this.audio_seq_length);this.full_audio_sequence=`
|
|
17
17
|
|
|
18
18
|
${s}${p}${o}
|
|
19
19
|
|
|
@@ -21,10 +21,10 @@ ${s}${p}${o}
|
|
|
21
21
|
|
|
22
22
|
${l}${f}${u}
|
|
23
23
|
|
|
24
|
-
`}async _call(e,t=null,r=null,n={}){typeof e=="string"&&(e=[e]);let s;r&&(s=await this.feature_extractor(r,n),e=e.map(i=>i.replaceAll(this.audio_token,this.full_audio_sequence)));let a;return t&&(a=await this.image_processor(t,n),e=e.map(i=>i.replaceAll(this.image_token,this.full_image_sequence))),{...this.tokenizer(e,n),...a,...s}}},w(an,"image_processor_class",mt),w(an,"feature_extractor_class",Bt),w(an,"tokenizer_class",Ae),w(an,"uses_processor_config",!0),w(an,"uses_chat_template_file",!0),an),Ri=(ea=class extends Se{async _call(e,t=null,...r){Array.isArray(e)||(e=[e]);let n,s;if(t&&(n=await this.image_processor(t),s=n.image_grid_thw),s){let o=this.image_processor.config.merge_size**2,i=0,l=this.constructor.image_token,c=s.tolist();e=e.map(u=>{for(;u.includes(l);){let p=Number(c[i++].reduce((f,m)=>f*m,1n));u=u.replace(l,"<|placeholder|>".repeat(Math.floor(p/o)))}return u.replaceAll("<|placeholder|>",l)})}return{...this.tokenizer(e),...n}}},w(ea,"image_processor_class",mt),w(ea,"tokenizer_class",Ae),w(ea,"image_token","<|image_pad|>"),ea),
|
|
25
|
-
`}):(ce.warn("You are passing both `text` and `images` to `PaliGemmaProcessor`. The processor expects special image tokens in the text, as many tokens as there are images per each text. It is recommended to add `<image>` tokens in the very beginning of your text. For this call, we will infer how many images each text has and add special tokens."),a=t.map(l=>QB(l,n,s,Yn,e.length)));let o=this.tokenizer(a,r);return{...await this.image_processor(e,r),...o}}},w(aa,"tokenizer_class",Ae),w(aa,"image_processor_class",mt),w(aa,"uses_processor_config",!1),aa),lv="<|image|>",JB=/<\|image_\d+\|>/g,gx=(Yo=class extends Se{async _call(e,t=null,{padding:r=!0,truncation:n=!0,num_crops:s=null}={}){Array.isArray(e)||(e=[e]);let a,o;if(t){o=await this.image_processor(t,{num_crops:s});let{num_img_tokens:i}=o,l=e.map((u,p)=>u.split(JB).join(lv.repeat(i[p])));a=this.tokenizer(l,{padding:r,truncation:n});let c=this.tokenizer._tokenizer.token_to_id(lv);a.input_ids.map_(u=>u==c?-u:u)}else a=this.tokenizer(e);return{...a,...o}}},w(Yo,"image_processor_class",mt),w(Yo,"tokenizer_class",Ae),Yo),wx=(oa=class extends Se{async _call(e,t=null,r={}){let n=await this.image_processor(e,r);if(t){let[a,o]=n.pixel_values.dims.slice(-2),{image_token:i,image_break_token:l,image_end_token:c,patch_size:u,spatial_merge_size:p}=this.config,f=u*p,m=Math.floor(a/f),y=Math.floor(o/f);t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let v=0;v<t.length;++v){let x=i.repeat(y),M=x+l,T=x+c,A=M.repeat(m-1)+T;t[v]=t[v].replace(i,A)}}let s=t?this.tokenizer(t,r):{};return{...n,...s}}},w(oa,"tokenizer_class",Ae),w(oa,"image_processor_class",mt),w(oa,"uses_processor_config",!0),oa),yx=(Jd=class extends Se{async _call(e){return await this.feature_extractor(e)}post_process_speaker_diarization(...e){return this.feature_extractor.post_process_speaker_diarization(...e)}get sampling_rate(){return this.feature_extractor.config.sampling_rate}},w(Jd,"feature_extractor_class",dh),Jd),Ah=class extends Ri{},vx=class extends Ah{},Sh=(Xd=class extends Se{async _call(...e){return await this.image_processor(...e)}post_process_masks(...e){return this.image_processor.post_process_masks(...e)}reshape_input_points(...e){return this.image_processor.reshape_input_points(...e)}},w(Xd,"image_processor_class",mt),Xd),Ih=class extends Sh{},bx=class extends Ih{},Mx=(Zo=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(Zo,"tokenizer_class",Ae),w(Zo,"feature_extractor_class",Bt),Zo),xx=(ia=class extends Se{async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let n={};if(t){let a=t.length,{input_features:o}=await this.feature_extractor(t,{...r,max_length:a}),i=Math.round(a/this.config.encoder_ds_factor+1e-4),l=1+Math.ceil(i/this.config.stack_factor);n.audio_token_len=[l],n.audio_values=o;let c=this.config.audio_placeholder;if(!e.includes(c))throw new Error(`The input text does not contain the image token ${c}.`);e=e.replaceAll(c,c.repeat(l))}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...n}}},w(ia,"tokenizer_class",Ae),w(ia,"feature_extractor_class",Bt),w(ia,"uses_processor_config",!0),ia),$o="[AUDIO]",XB="[BEGIN_AUDIO]",YB=375;Tx=(la=class extends Se{async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let n={};if(t){if(!e.includes($o))throw new Error(`The input text does not contain the audio token ${$o}.`);Array.isArray(t)||(t=[t]);let a=e.split($o),o=a.length-1;if(o!==t.length)throw new Error(`The number of audio inputs (${t.length}) does not match the number of audio tokens in the text (${o}).`);let i=this.feature_extractor.config.n_samples,l=t.map(m=>ZB(m,i)),c=l.map(m=>m.length),u=l.flat(),p=(await Promise.all(u.map(m=>this.feature_extractor(m,r)))).map(m=>m.input_features);n.audio_values=p.length>1?Fe(p,0):p[0];let f=a[0];for(let m=0;m<c.length;++m){f+=XB;for(let y=0;y<c[m];++y)f+=$o.repeat(YB);f+=a[m+1]}e=f}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...n}}},w(la,"tokenizer_class",Ae),w(la,"feature_extractor_class",Bt),w(la,"uses_processor_config",!1),la),cv=32,Wd=6,Vo=8,eU=10,tU=32,Ex=(ca=class extends Se{get num_mel_frames_first_audio_chunk(){return(Wd+1)*Vo}get num_samples_first_audio_chunk(){let{hop_length:e,n_fft:t}=this.feature_extractor.config;return(this.num_mel_frames_first_audio_chunk-1)*e+Math.floor(t/2)}get num_samples_per_audio_chunk(){let{hop_length:e,n_fft:t}=this.feature_extractor.config;return Vo*e+t}get num_right_pad_tokens(){return Wd+1+eU}get audio_length_per_tok(){return Vo}get raw_audio_length_per_tok(){return Vo*this.feature_extractor.config.hop_length}async _call(e,{is_streaming:t=!1,is_first_audio_chunk:r=!0}={}){if(bt(e,"VoxtralRealtimeProcessor"),!t&&!r)throw new Error("In non-streaming mode (`is_streaming=false`), `is_first_audio_chunk` must be `true`.");if(r)if(t){let n=cv*this.raw_audio_length_per_tok,s=new Float32Array(n+e.length);s.set(e,n);let a=await this.feature_extractor(s,{center:!0}),i=1+(cv+Wd),l=new BigInt64Array(i).fill(BigInt(tU));return l[0]=1n,{input_ids:new W("int64",l,[1,i]),...a}}else{let n=this.num_right_pad_tokens*this.raw_audio_length_per_tok,s=new Float32Array(e.length+n);return s.set(e),await this.feature_extractor(s,{center:!0})}else return await this.feature_extractor(e,{center:!1})}},w(ca,"tokenizer_class",Ae),w(ca,"feature_extractor_class",Bt),w(ca,"uses_processor_config",!1),ca),kx=(ei=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(ei,"tokenizer_class",Ae),w(ei,"feature_extractor_class",Bt),ei),Cx=(ti=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(ti,"tokenizer_class",Ae),w(ti,"feature_extractor_class",Bt),ti),Ax=(ri=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(ri,"tokenizer_class",Ae),w(ri,"feature_extractor_class",Bt),ri),Sx=class{static async from_pretrained(e,t={}){let r=await yr(e,_a,!0,t),{image_processor_type:n,feature_extractor_type:s,processor_class:a}=r;if(a&&Rp[a])return Rp[a].from_pretrained(e,t);if(!n&&!s)throw new Error("No `image_processor_type` or `feature_extractor_type` found in the config.");let o={};if(n){let l=gi[n.replace(/Fast$/,"")];if(!l)throw new Error(`Unknown image_processor_type: '${n}'.`);o.image_processor=new l(r)}if(s){let l=gi[s];if(l)o.image_processor=new l(r);else{let c=lh[s];if(!c)throw new Error(`Unknown feature_extractor_type: '${s}'.`);o.feature_extractor=new c(r)}}let i={};return new Se(i,o,null)}};wi=class Np{constructor(t){w(this,"model_type",null);w(this,"is_encoder_decoder",!1);w(this,"max_position_embeddings");w(this,"transformers.js_config");Object.assign(this,t),this.normalized_config=Zn(this)}static async from_pretrained(t,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main"}={}){n&&!(n instanceof Np)&&(n=new Np(n));let i=n??await rU(t,{progress_callback:r,config:n,cache_dir:s,local_files_only:a,revision:o});return new this(i)}},ls=class{static async from_pretrained(...e){return wi.from_pretrained(...e)}};Qe=class{},oe=class extends Qe{constructor({logits:e,...t}){super(),this.logits=e;let r=Object.values(t);r.length>0&&(this.attentions=r)}},je=class extends Qe{constructor({logits:e}){super(),this.logits=e}},Je=class extends Qe{constructor({logits:e}){super(),this.logits=e}},_t=class extends Qe{constructor({start_logits:e,end_logits:t}){super(),this.start_logits=e,this.end_logits=t}},hn=class extends Qe{constructor({logits:e}){super(),this.logits=e}},cU=class extends Qe{constructor({alphas:e}){super(),this.alphas=e}},Jt=class extends Dt{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},Li=class extends Dt{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},yi=class extends Dt{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,t){let r=t;for(let n of this.processors)r=n(e,r);return r}[Symbol.iterator](){return this.processors.values()}},Ox=class extends Jt{constructor(e){super(),this.bos_token_id=e}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length===1){let n=t[r].data;n.fill(-1/0),n[this.bos_token_id]=0}return t}},Lx=class extends Jt{constructor(e,t){super(),this.max_length=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length===this.max_length-1){let n=t[r].data;n.fill(-1/0);for(let s of this.eos_token_id)n[s]=0}return t}},Ph=class extends Jt{constructor(e,t){super(),this.begin_suppress_tokens=e,this.begin_index=t}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length===this.begin_index){let n=t[r].data;for(let s of this.begin_suppress_tokens)n[s]=-1/0}return t}},Fx=class extends Jt{constructor(e,t){super(),this.eos_token_id=Array.isArray(e.eos_token_id)?e.eos_token_id[0]:e.eos_token_id,this.no_timestamps_token_id=e.no_timestamps_token_id,this.timestamp_begin=this.no_timestamps_token_id+1,this.begin_index=t.length,t.at(-1)===this.no_timestamps_token_id&&(this.begin_index-=1),this.max_initial_timestamp_index=e.max_initial_timestamp_index}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data;if(n[this.no_timestamps_token_id]=-1/0,e[r].length===this.begin_index-1){n.fill(-1/0),n[this.timestamp_begin]=0;continue}let s=e[r].slice(this.begin_index),a=s.length>=1&&s[s.length-1]>=this.timestamp_begin,o=s.length<2||s[s.length-2]>=this.timestamp_begin;if(a&&(o?n.subarray(this.timestamp_begin).fill(-1/0):n.subarray(0,this.eos_token_id).fill(-1/0)),e[r].length===this.begin_index&&this.max_initial_timestamp_index!==null){let u=this.timestamp_begin+this.max_initial_timestamp_index;n.subarray(u+1).fill(-1/0)}let i=Nv(n),l=Math.log(i.subarray(this.timestamp_begin).map(Math.exp).reduce((u,p)=>u+p)),c=Ge(i.subarray(0,this.timestamp_begin))[0];l>c&&n.subarray(0,this.timestamp_begin).fill(-1/0)}return t}},Nx=class extends Jt{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){let t=e.length,r=[];for(let s=0;s<t+1-this.no_repeat_ngram_size;++s){let a=[];for(let o=0;o<this.no_repeat_ngram_size;++o)a.push(e[s+o]);r.push(a.map(Number))}let n=new Map;for(let s of r){let a=s.slice(0,s.length-1),o=JSON.stringify(a),i=n.get(o)??[];i.push(s[s.length-1]),n.set(o,i)}return n}getGeneratedNgrams(e,t){let r=t.slice(t.length+1-this.no_repeat_ngram_size,t.length);return e.get(JSON.stringify(r.map(Number)))??[]}calcBannedNgramTokens(e){let t=[];if(e.length+1<this.no_repeat_ngram_size)return t;{let r=this.getNgrams(e);return this.getGeneratedNgrams(r,e)}}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data,s=this.calcBannedNgramTokens(e[r]);for(let a of s)n[a]=-1/0}return t}},Dx=class extends Jt{constructor(e){super(),this.penalty=e}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data;for(let s of new Set(e[r])){let a=Number(s);n[a]<0?n[a]*=this.penalty:n[a]/=this.penalty}}return t}},Bx=class extends Jt{constructor(e,t){super(),this.min_length=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length<this.min_length){let n=t[r].data;for(let s of this.eos_token_id)n[s]=-1/0}return t}},Ux=class extends Jt{constructor(e,t,r){super(),this.prompt_length_to_skip=e,this.min_new_tokens=t,this.eos_token_id=Array.isArray(r)?r:[r]}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length-this.prompt_length_to_skip<this.min_new_tokens){let s=t[r].data;for(let a of this.eos_token_id)s[a]=-1/0}return t}},zx=class extends Jt{constructor(e,t){super(),this.bad_words_ids=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data,s=e[r];for(let a of this.bad_words_ids){if(s.length<a.length-1)continue;let o=!0;for(let i=1;i<=a.length-1;++i)if(a.at(-i-1)!=s.at(-i)){o=!1;break}o&&(n[a.at(-1)]=-1/0)}}return t}},$x=class extends Jt{constructor(e){if(super(),e<=1)throw new Error(`Require guidance scale >1 to use the classifier free guidance processor, got guidance scale ${e}.`);this.guidance_scale=e}_call(e,t){if(t.dims[0]!==2*e.length)throw new Error(`Logits should have twice the batch size of the input ids, the first half of batches corresponding to the conditional inputs, and the second half of batches corresponding to the unconditional inputs. Got batch size ${t.dims[0]} for the logits and ${e.length} for the input ids.`);let r=e.length,n=t.slice([0,r],null),s=t.slice([r,t.dims[0]],null);for(let a=0;a<s.data.length;++a)s.data[a]+=(n.data[a]-s.data[a])*this.guidance_scale;return s}},Vx=class extends Li{constructor(e){if(super(),typeof e!="number"||e<=0){let t=`\`temperature\` (=${e}) must be a strictly positive float, otherwise your next token scores will be invalid.`;e===0&&(t+=" If you're looking for greedy decoding strategies, set `do_sample=false`.")}this.temperature=e}_call(e,t){let r=t.data;for(let n=0;n<r.length;++n)r[n]/=this.temperature;return t}},uU=class extends Li{constructor(e,{filter_value:t=-1/0,min_tokens_to_keep:r=1}={}){if(super(),e<0||e>1)throw new Error(`\`top_p\` must be a float > 0 and < 1, but is ${e}`);if(!Number.isInteger(r)||r<1)throw new Error(`\`min_tokens_to_keep\` must be a positive integer, but is ${r}`);this.top_p=e,this.filter_value=t,this.min_tokens_to_keep=r}},dU=class extends Li{constructor(e,{filter_value:t=-1/0,min_tokens_to_keep:r=1}={}){if(super(),!Number.isInteger(e)||e<0)throw new Error(`\`top_k\` must be a positive integer, but is ${e}`);this.top_k=Math.max(e,r),this.filter_value=t}},Gx=class{constructor(e){w(this,"max_length",20);w(this,"max_new_tokens",null);w(this,"min_length",0);w(this,"min_new_tokens",null);w(this,"early_stopping",!1);w(this,"max_time",null);w(this,"do_sample",!1);w(this,"num_beams",1);w(this,"num_beam_groups",1);w(this,"penalty_alpha",null);w(this,"use_cache",!0);w(this,"temperature",1);w(this,"top_k",50);w(this,"top_p",1);w(this,"typical_p",1);w(this,"epsilon_cutoff",0);w(this,"eta_cutoff",0);w(this,"diversity_penalty",0);w(this,"repetition_penalty",1);w(this,"encoder_repetition_penalty",1);w(this,"length_penalty",1);w(this,"no_repeat_ngram_size",0);w(this,"bad_words_ids",null);w(this,"force_words_ids",null);w(this,"renormalize_logits",!1);w(this,"constraints",null);w(this,"forced_bos_token_id",null);w(this,"forced_eos_token_id",null);w(this,"remove_invalid_values",!1);w(this,"exponential_decay_length_penalty",null);w(this,"suppress_tokens",null);w(this,"streamer",null);w(this,"begin_suppress_tokens",null);w(this,"forced_decoder_ids",null);w(this,"guidance_scale",null);w(this,"num_return_sequences",1);w(this,"output_attentions",!1);w(this,"output_hidden_states",!1);w(this,"output_scores",!1);w(this,"return_dict_in_generate",!1);w(this,"pad_token_id",null);w(this,"bos_token_id",null);w(this,"eos_token_id",null);w(this,"encoder_no_repeat_ngram_size",0);w(this,"decoder_start_token_id",null);w(this,"generation_kwargs",{});Object.assign(this,ot(e,Object.getOwnPropertyNames(this)))}},hs=class extends Dt{_call(e,t){throw Error("StoppingCriteria needs to be subclassed")}},Rh=class jx extends Dt{constructor(){super(),this.criteria=[]}push(t){this.criteria.push(t)}extend(t){t instanceof jx?t=t.criteria:t instanceof hs&&(t=[t]),this.criteria.push(...t)}_call(t,r){let n=new Array(t.length).fill(!1);for(let s of this.criteria){let a=s(t,r);for(let o=0;o<n.length;++o)n[o]||(n[o]=a[o])}return n}[Symbol.iterator](){return this.criteria.values()}},Wx=class extends hs{constructor(e,t=null){super(),this.max_length=e,this.max_position_embeddings=t}_call(e){return e.map(t=>t.length>=this.max_length)}},qx=class extends hs{constructor(e){super(),Array.isArray(e)||(e=[e]),this.eos_token_id=e}_call(e,t){return e.map(r=>{let n=r.at(-1);return this.eos_token_id.some(s=>n==s)})}},pU=class extends hs{constructor(){super(),this.interrupted=!1}interrupt(){this.interrupted=!0}reset(){this.interrupted=!1}_call(e,t){return new Array(e.length).fill(this.interrupted)}},Fi=class extends Dt{constructor(e){super(),this.generation_config=e}async _call(e){return this.sample(e)}async sample(e){throw Error("sample should be implemented in subclasses.")}getLogits(e,t){let r=e.dims.at(-1),n=e.data;if(t===-1)n=n.slice(-r);else{let s=t*r;n=n.slice(s,s+r)}return n}randomSelect(e){return kD(e)}static getSampler(e){if(e.do_sample)return new fU(e);if(e.num_beams>1)return new mU(e);if(e.num_return_sequences>1)throw Error(`num_return_sequences has to be 1 when doing greedy search, but is ${e.num_return_sequences}.`);return new hU(e)}},hU=class extends Fi{async sample(e){let t=Ge(e.data)[1];return[[BigInt(t),0]]}},fU=class extends Fi{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));let[r,n]=await pn(e,t),s=rt(r.data);return Array.from({length:this.generation_config.num_beams},()=>{let a=this.randomSelect(s);return[n.data[a],Math.log(s[a])]})}},mU=class extends Fi{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));let[r,n]=await pn(e,t),s=rt(r.data);return Array.from({length:this.generation_config.num_beams},(a,o)=>[n.data[o],Math.log(s[o])])}},_U=class{constructor(e){if(e)for(let t in e){if(t in this)throw new TypeError(`Key "${t}" conflicts with an existing property on DynamicCache`);let r=e[t];if(!(r instanceof W))throw new TypeError(`Expected a Tensor for key "${t}", got ${typeof r}`);this[t]=r}}get_seq_length(){let e=this;for(let t in e)if(t.startsWith("past_key_values."))return e[t].dims.at(-2);throw new Error("Unable to determine sequence length from the cache.")}async dispose(){let e=[];for(let t of Object.values(this))t.location==="gpu-buffer"&&e.push(t.dispose());await Promise.all(e)}},Oh=_U,es=null;J={EncoderOnly:0,EncoderDecoder:1,Seq2Seq:2,Vision2Seq:3,DecoderOnly:4,DecoderOnlyWithoutHead:5,MaskGeneration:6,ImageTextToText:7,Musicgen:8,MultiModality:9,Phi3V:10,AudioTextToText:11,AutoEncoder:12,ImageAudioTextToText:13,Supertonic:14,Chatterbox:15,MultimodalLanguageModelOnly:16,VoxtralRealtime:17},ts={[J.DecoderOnly]:{can_generate:!0,forward:_r,prepare_inputs:ha,sessions:(e,t)=>({model:t.model_file_name??"model"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.DecoderOnlyWithoutHead]:{can_generate:!1,forward:_r,prepare_inputs:ha,sessions:(e,t)=>({model:t.model_file_name??"model"})},[J.Seq2Seq]:{can_generate:!0,forward:Go,prepare_inputs:vi,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.Vision2Seq]:{can_generate:!0,forward:Go,prepare_inputs:vi,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.Musicgen]:{can_generate:!0,forward:Go,sessions:()=>({model:"text_encoder",decoder_model_merged:"decoder_model_merged",encodec_decode:"encodec_decode"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.EncoderDecoder]:{can_generate:!1,forward:Go,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0}},[J.MaskGeneration]:{sessions:()=>({model:"vision_encoder",prompt_encoder_mask_decoder:"prompt_encoder_mask_decoder"})},[J.ImageTextToText]:{can_generate:!0,forward:uv,prepare_inputs:Ys,sessions:e=>{let t={embed_tokens:"embed_tokens",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"};return e.is_encoder_decoder&&(t.model="encoder_model"),t},cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.AudioTextToText]:{can_generate:!0,forward:vU,prepare_inputs:Ys,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.ImageAudioTextToText]:{can_generate:!0,prepare_inputs:Ys,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"}),optional_configs:{generation_config:"generation_config.json"}},[J.Phi3V]:{can_generate:!0,prepare_inputs:Ys,sessions:()=>({prepare_inputs_embeds:"prepare_inputs_embeds",model:"model",vision_encoder:"vision_encoder"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.MultiModality]:{can_generate:!0,sessions:()=>({prepare_inputs_embeds:"prepare_inputs_embeds",model:"language_model",lm_head:"lm_head",gen_head:"gen_head",gen_img_embeds:"gen_img_embeds",image_decode:"image_decode"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.AutoEncoder]:{can_generate:!1,forward:yU,sessions:()=>({encoder_model:"encoder_model",decoder_model:"decoder_model"})},[J.Supertonic]:{sessions:()=>({text_encoder:"text_encoder",latent_denoiser:"latent_denoiser",voice_decoder:"voice_decoder"})},[J.Chatterbox]:{can_generate:!0,forward:Lr,sessions:()=>({embed_tokens:"embed_tokens",speech_encoder:"speech_encoder",model:"language_model",conditional_decoder:"conditional_decoder"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.MultimodalLanguageModelOnly]:{can_generate:!0,forward:uv,prepare_inputs:Ys,sessions:()=>({embed_tokens:"embed_tokens",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.VoxtralRealtime]:{can_generate:!0,prepare_inputs:ha,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0,audio_encoder:!0},optional_configs:{generation_config:"generation_config.json"}},default:{can_generate:!1,forward:Lr,sessions:(e,t)=>({model:t.model_file_name??"model"})}};mr=new Map,Lh=new Map,os=new Map,I=class extends Dt{constructor(t,r,n){super();w(this,"main_input_name","input_ids");w(this,"forward_params",["input_ids","attention_mask"]);w(this,"_return_dict_in_generate_keys",null);this.config=t,this.sessions=r,this.configs=n;let s=os.get(this.constructor),a=mr.get(s),o=ts[a]??ts.default;this.can_generate=o.can_generate,this._forward=o.forward,this._prepare_inputs_for_generation=o.prepare_inputs,this.can_generate&&this.forward_params.push("past_key_values"),this.custom_config=this.config["transformers.js_config"]??{}}async dispose(){let t=[];for(let r of Object.values(this.sessions))t.push(r.release?.());return await Promise.all(t)}static async from_pretrained(t,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main",model_file_name:i=null,subfolder:l="onnx",device:c=null,dtype:u=null,use_external_data_format:p=null,session_options:f={}}={}){let m={progress_callback:r,config:n,cache_dir:s,local_files_only:a,revision:o,model_file_name:i,subfolder:l,device:c,dtype:u,use_external_data_format:p,session_options:f},y=os.get(this),v=mr.get(y);n=m.config=await ls.from_pretrained(t,m);let x=ts[v]??ts.default;if(v===void 0){let C=y??n?.model_type;C!=="custom"&&ce.warn(`Model type for '${C}' not found, assuming encoder-only architecture. Please report this at ${Ci}.`)}let M=x.sessions(n,m),T=[iU(t,M,m,x.cache_sessions)];x.optional_configs&&T.push(MU(t,x.optional_configs,m));let A=await Promise.all(T);return new this(n,...A)}async _call(t){return await this.forward(t)}async forward(t){return await this._forward(this,t)}get generation_config(){return this.configs?.generation_config??null}_get_logits_processor(t,r,n=null){let s=new yi;if(t.repetition_penalty!==null&&t.repetition_penalty!==1&&s.push(new Dx(t.repetition_penalty)),t.no_repeat_ngram_size!==null&&t.no_repeat_ngram_size>0&&s.push(new Nx(t.no_repeat_ngram_size)),t.bad_words_ids!==null&&s.push(new zx(t.bad_words_ids,t.eos_token_id)),t.min_length!==null&&t.eos_token_id!==null&&t.min_length>0&&s.push(new Bx(t.min_length,t.eos_token_id)),t.min_new_tokens!==null&&t.eos_token_id!==null&&t.min_new_tokens>0&&s.push(new Ux(r,t.min_new_tokens,t.eos_token_id)),t.forced_bos_token_id!==null&&s.push(new Ox(t.forced_bos_token_id)),t.forced_eos_token_id!==null&&s.push(new Lx(t.max_length,t.forced_eos_token_id)),t.begin_suppress_tokens!==null){let a=r>1||t.forced_bos_token_id===null?r:r+1;s.push(new Ph(t.begin_suppress_tokens,a))}return t.guidance_scale!==null&&t.guidance_scale>1&&s.push(new $x(t.guidance_scale)),t.temperature===0&&t.do_sample&&(ce.warn("`do_sample` changed to false because `temperature: 0` implies greedy sampling (always selecting the most likely token), which is incompatible with `do_sample: true`."),t.do_sample=!1),t.do_sample&&t.temperature!==null&&t.temperature!==1&&s.push(new Vx(t.temperature)),n!==null&&s.extend(n),s}_prepare_generation_config(t,r,n=Gx){let s={...this.config};for(let o of["decoder","generator","text_config"])o in s&&Object.assign(s,s[o]);let a=new n(s);return Object.assign(a,this.generation_config??{}),t&&Object.assign(a,t),r&&Object.assign(a,ot(r,Object.getOwnPropertyNames(a))),a}_get_stopping_criteria(t,r=null){let n=new Rh;return t.max_length!==null&&n.push(new Wx(t.max_length,this.config.max_position_embeddings??null)),t.eos_token_id!==null&&n.push(new qx(t.eos_token_id)),r&&n.extend(r),n}_validate_model_class(){if(!this.can_generate){let t=[es.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES,es.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES,es.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES,es.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES].filter(Boolean),r=os.get(this.constructor),n=new Set,s=this.config.model_type;for(let o of t){let i=o?.get(s);i&&n.add(i)}let a=`The current model class (${r}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw n.size>0&&(a+=` Please use the following class instead: ${[...n].join(", ")}`),Error(a)}}prepare_inputs_for_generation(...t){if(!this._prepare_inputs_for_generation)throw new Error("prepare_inputs_for_generation is not implemented for this model.");return this._prepare_inputs_for_generation(this,...t)}_update_model_kwargs_for_generation({generated_input_ids:t,outputs:r,model_inputs:n,is_encoder_decoder:s}){return n.past_key_values=this.getPastKeyValues(r,n.past_key_values),n.input_ids=new W("int64",t.flat(),[t.length,1]),s?"decoder_attention_mask"in n:n.attention_mask=Fe([n.attention_mask,xt([n.attention_mask.dims[0],1])],1),n.position_ids=null,n}_prepare_model_inputs({inputs:t,bos_token_id:r,model_kwargs:n}){let s=ot(n,this.forward_params),a=this.main_input_name;if(a in s){if(t)throw new Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else s[a]=t;return{inputs_tensor:s[a],model_inputs:s,model_input_name:a}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:t,model_inputs:r,model_input_name:n,generation_config:s}){if(this.sessions.model.inputNames.includes("inputs_embeds")&&!r.inputs_embeds&&"_prepare_inputs_embeds"in this){let{input_ids:o,pixel_values:i,attention_mask:l,...c}=r,u=await this._prepare_inputs_embeds(r);r={...c,...ot(u,["inputs_embeds","attention_mask"])}}let{last_hidden_state:a}=await Lr(this,r);if(s.guidance_scale!==null&&s.guidance_scale>1)a=Fe([a,_i(a,0)],0),"attention_mask"in r&&(r.attention_mask=Fe([r.attention_mask,nh(r.attention_mask)],0));else if(r.decoder_input_ids){let o=Dp(r.decoder_input_ids).dims[0];if(o!==a.dims[0]){if(a.dims[0]!==1)throw new Error(`The encoder outputs have a different batch size (${a.dims[0]}) than the decoder inputs (${o}).`);a=Fe(Array.from({length:o},()=>a),0)}}return r.encoder_outputs=a,r}_prepare_decoder_input_ids_for_generation({batch_size:t,model_input_name:r,model_kwargs:n,decoder_start_token_id:s,bos_token_id:a,generation_config:o}){let{decoder_input_ids:i,...l}=n;if(!(i instanceof W)){if(i)Array.isArray(i[0])||(i=Array.from({length:t},()=>i));else if(s??(s=a),this.config.model_type==="musicgen")i=Array.from({length:t*this.config.decoder.num_codebooks},()=>[s]);else if(Array.isArray(s)){if(s.length!==t)throw new Error(`\`decoder_start_token_id\` expcted to have length ${t} but got ${s.length}`);i=s}else i=Array.from({length:t},()=>[s]);i=Dp(i)}return n.decoder_attention_mask=th(i),{input_ids:i,model_inputs:l}}async generate({inputs:t=null,generation_config:r=null,logits_processor:n=null,stopping_criteria:s=null,streamer:a=null,...o}){this._validate_model_class(),r=this._prepare_generation_config(r,o);let{inputs_tensor:i,model_inputs:l,model_input_name:c}=this._prepare_model_inputs({inputs:t,model_kwargs:o}),u=this.config.is_encoder_decoder;u&&("encoder_outputs"in l||(l=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:i,model_inputs:l,model_input_name:c,generation_config:r})));let p;u?{input_ids:p,model_inputs:l}=this._prepare_decoder_input_ids_for_generation({batch_size:l[c].dims.at(0),model_input_name:c,model_kwargs:l,decoder_start_token_id:r.decoder_start_token_id,bos_token_id:r.bos_token_id,generation_config:r}):p=l[c];let f=p.dims.at(-1);r.max_new_tokens!==null&&(r.max_length=f+r.max_new_tokens);let m=this._get_logits_processor(r,f,n),y=this._get_stopping_criteria(r,s),v=l[c].dims.at(0),x=Fi.getSampler(r),M=new Array(v).fill(0),T=p.tolist();a&&a.put(T);let A,C={},S={};for(;;){if(l=this.prepare_inputs_for_generation(T,l,r),A=await this.forward(l),r.return_dict_in_generate)if(r.output_attentions){let G=this.getAttentions(A);for(let q in G)q in C||(C[q]=[]),C[q].push(G[q])}else this._return_dict_in_generate_keys&&Object.assign(S,ot(A,this._return_dict_in_generate_keys));let K=A.logits.slice(null,-1,null).to("float32"),$=m(T,K),V=[];for(let G=0;G<$.dims.at(0);++G){let q=$[G],D=await x(q);for(let[R,re]of D){let ie=BigInt(R);M[G]+=re,T[G].push(ie),V.push([ie]);break}}if(a&&a.put(V),y(T).every(G=>G))break;l=this._update_model_kwargs_for_generation({generated_input_ids:V,outputs:A,model_inputs:l,is_encoder_decoder:u})}a&&a.end();let O=this.getPastKeyValues(A,l.past_key_values,!0),E=new W("int64",T.flat(),[T.length,T[0].length]);if(r.return_dict_in_generate)return{sequences:E,past_key_values:O,...C,...S};for(let K of Object.values(A))K.location==="gpu-buffer"&&K.dispose();return E}getPastKeyValues(t,r,n=!1){let s=Object.create(null);for(let a in t)if(a.startsWith("present")){let o=a.replace("present_ssm","past_ssm").replace("present_conv","past_conv").replace("present_recurrent","past_recurrent").replace("present","past_key_values"),i=a.includes("encoder");if(i&&r?s[o]=r[o]:s[o]=t[a],r&&(!i||n)){let l=r[o];l.location==="gpu-buffer"&&l.dispose()}}return new Oh(s)}getAttentions(t){let r={};for(let n of["cross_attentions","encoder_attentions","decoder_attentions"])for(let s in t)s.startsWith(n)&&(n in r||(r[n]=[]),r[n].push(t[s]));return r}addPastKeyValues(t,r){if(r)Object.assign(t,r);else{let n=this.sessions.decoder_model_merged??this.sessions.model,s=(t[this.main_input_name]??t.attention_mask)?.dims?.[0]??1,a=n?.config?.kv_cache_dtype??"float32",o=a==="float16"?is.float16:is.float32,i=Oi(this.config,{batch_size:s});for(let l in i){let c=i[l].reduce((u,p)=>u*p,1);t[l]=new W(a,new o(c),i[l])}}}async _encode_input(t,r,n){if(!Object.hasOwn(this.sessions,t))throw new Error(`Model does not have a ${t} session.`);let s=this.sessions[t];return(await be(s,ot(r,s.inputNames)))[n]}async encode_image(t){return this._encode_input("vision_encoder",t,"image_features")}async encode_text(t){return this._encode_input("embed_tokens",t,"inputs_embeds")}async encode_audio(t){return this._encode_input("audio_encoder",t,"audio_features")}};Nh={};cs(Nh,{ASTForAudioClassification:()=>c0,ASTModel:()=>l0,ASTPreTrainedModel:()=>Ui,AfmoeForCausalLM:()=>a0,AfmoeModel:()=>s0,AfmoePreTrainedModel:()=>Di,AlbertForMaskedLM:()=>t0,AlbertForQuestionAnswering:()=>e0,AlbertForSequenceClassification:()=>Zx,AlbertModel:()=>Yx,AlbertPreTrainedModel:()=>fs,ApertusForCausalLM:()=>n0,ApertusModel:()=>r0,ApertusPreTrainedModel:()=>Ni,ArceeForCausalLM:()=>i0,ArceeModel:()=>o0,ArceePreTrainedModel:()=>Bi,BartForConditionalGeneration:()=>d0,BartForSequenceClassification:()=>p0,BartModel:()=>u0,BartPretrainedModel:()=>Ea,BeitForImageClassification:()=>f0,BeitModel:()=>h0,BeitPreTrainedModel:()=>zi,BertForMaskedLM:()=>_0,BertForQuestionAnswering:()=>y0,BertForSequenceClassification:()=>g0,BertForTokenClassification:()=>w0,BertModel:()=>m0,BertPreTrainedModel:()=>fn,BlenderbotForConditionalGeneration:()=>b0,BlenderbotModel:()=>v0,BlenderbotPreTrainedModel:()=>$i,BlenderbotSmallForConditionalGeneration:()=>x0,BlenderbotSmallModel:()=>M0,BlenderbotSmallPreTrainedModel:()=>Vi,BloomForCausalLM:()=>E0,BloomModel:()=>T0,BloomPreTrainedModel:()=>Gi,CHMv2ForDepthEstimation:()=>R0,CHMv2PreTrainedModel:()=>zh,CLIPModel:()=>L0,CLIPPreTrainedModel:()=>Nr,CLIPSegForImageSegmentation:()=>U0,CLIPSegModel:()=>B0,CLIPSegPreTrainedModel:()=>ji,CLIPTextModel:()=>F0,CLIPTextModelWithProjection:()=>Gh,CLIPVisionModel:()=>N0,CLIPVisionModelWithProjection:()=>D0,CamembertForMaskedLM:()=>C0,CamembertForQuestionAnswering:()=>I0,CamembertForSequenceClassification:()=>A0,CamembertForTokenClassification:()=>S0,CamembertModel:()=>k0,CamembertPreTrainedModel:()=>mn,ChatterboxModel:()=>Bh,ChatterboxPreTrainedModel:()=>Dh,ChineseCLIPModel:()=>P0,ChineseCLIPPreTrainedModel:()=>Uh,ClapAudioModelWithProjection:()=>Vh,ClapModel:()=>O0,ClapPreTrainedModel:()=>ka,ClapTextModelWithProjection:()=>$h,CodeGenForCausalLM:()=>$0,CodeGenModel:()=>z0,CodeGenPreTrainedModel:()=>Wi,Cohere2ForCausalLM:()=>W0,Cohere2Model:()=>j0,Cohere2PreTrainedModel:()=>Hi,CohereForCausalLM:()=>G0,CohereModel:()=>V0,CoherePreTrainedModel:()=>qi,ConvBertForMaskedLM:()=>H0,ConvBertForQuestionAnswering:()=>J0,ConvBertForSequenceClassification:()=>K0,ConvBertForTokenClassification:()=>Q0,ConvBertModel:()=>q0,ConvBertPreTrainedModel:()=>_n,ConvNextForImageClassification:()=>Y0,ConvNextModel:()=>X0,ConvNextPreTrainedModel:()=>Ki,ConvNextV2ForImageClassification:()=>eT,ConvNextV2Model:()=>Z0,ConvNextV2PreTrainedModel:()=>Qi,DFineForObjectDetection:()=>sT,DFineModel:()=>nT,DFinePreTrainedModel:()=>Xi,DINOv3ConvNextModel:()=>IT,DINOv3ConvNextPreTrainedModel:()=>Yh,DINOv3ViTModel:()=>PT,DINOv3ViTPreTrainedModel:()=>Zh,DPTForDepthEstimation:()=>UT,DPTModel:()=>BT,DPTPreTrainedModel:()=>nl,DacDecoderModel:()=>Hh,DacDecoderOutput:()=>Wh,DacEncoderModel:()=>qh,DacEncoderOutput:()=>jh,DacModel:()=>aT,DacPreTrainedModel:()=>Ca,DebertaForMaskedLM:()=>iT,DebertaForQuestionAnswering:()=>uT,DebertaForSequenceClassification:()=>lT,DebertaForTokenClassification:()=>cT,DebertaModel:()=>oT,DebertaPreTrainedModel:()=>gn,DebertaV2ForMaskedLM:()=>fT,DebertaV2ForQuestionAnswering:()=>gT,DebertaV2ForSequenceClassification:()=>mT,DebertaV2ForTokenClassification:()=>_T,DebertaV2Model:()=>hT,DebertaV2PreTrainedModel:()=>wn,DecisionTransformerModel:()=>wT,DecisionTransformerPreTrainedModel:()=>Kh,DeepseekV3ForCausalLM:()=>pT,DeepseekV3Model:()=>dT,DeepseekV3PreTrainedModel:()=>Yi,DeiTForImageClassification:()=>vT,DeiTModel:()=>yT,DeiTPreTrainedModel:()=>Zi,DepthAnythingForDepthEstimation:()=>bT,DepthAnythingPreTrainedModel:()=>Qh,DepthProForDepthEstimation:()=>MT,DepthProPreTrainedModel:()=>Jh,DetrForObjectDetection:()=>TT,DetrForSegmentation:()=>ET,DetrModel:()=>xT,DetrObjectDetectionOutput:()=>el,DetrPreTrainedModel:()=>Aa,DetrSegmentationOutput:()=>Xh,Dinov2ForImageClassification:()=>CT,Dinov2Model:()=>kT,Dinov2PreTrainedModel:()=>tl,Dinov2WithRegistersForImageClassification:()=>ST,Dinov2WithRegistersModel:()=>AT,Dinov2WithRegistersPreTrainedModel:()=>rl,DistilBertForMaskedLM:()=>NT,DistilBertForQuestionAnswering:()=>FT,DistilBertForSequenceClassification:()=>OT,DistilBertForTokenClassification:()=>LT,DistilBertModel:()=>RT,DistilBertPreTrainedModel:()=>yn,DonutSwinModel:()=>DT,DonutSwinPreTrainedModel:()=>ef,EdgeTamModel:()=>WC,EfficientNetForImageClassification:()=>$T,EfficientNetModel:()=>zT,EfficientNetPreTrainedModel:()=>sl,ElectraForMaskedLM:()=>GT,ElectraForQuestionAnswering:()=>qT,ElectraForSequenceClassification:()=>jT,ElectraForTokenClassification:()=>WT,ElectraModel:()=>VT,ElectraPreTrainedModel:()=>vn,Ernie4_5ForCausalLM:()=>KT,Ernie4_5Model:()=>HT,Ernie4_5PretrainedModel:()=>al,EsmForMaskedLM:()=>JT,EsmForSequenceClassification:()=>XT,EsmForTokenClassification:()=>YT,EsmModel:()=>QT,EsmPreTrainedModel:()=>_s,EuroBertForMaskedLM:()=>eE,EuroBertForSequenceClassification:()=>tE,EuroBertForTokenClassification:()=>rE,EuroBertModel:()=>ZT,EuroBertPreTrainedModel:()=>gs,ExaoneForCausalLM:()=>sE,ExaoneModel:()=>nE,ExaonePreTrainedModel:()=>ol,FalconForCausalLM:()=>oE,FalconH1ForCausalLM:()=>lE,FalconH1Model:()=>iE,FalconH1PreTrainedModel:()=>ll,FalconModel:()=>aE,FalconPreTrainedModel:()=>il,FastViTForImageClassification:()=>uE,FastViTModel:()=>cE,FastViTPreTrainedModel:()=>cl,Florence2ForConditionalGeneration:()=>dE,Florence2PreTrainedModel:()=>tf,GLPNForDepthEstimation:()=>TE,GLPNModel:()=>xE,GLPNPreTrainedModel:()=>vl,GPT2LMHeadModel:()=>LE,GPT2Model:()=>OE,GPT2PreTrainedModel:()=>El,GPTBigCodeForCausalLM:()=>kE,GPTBigCodeModel:()=>EE,GPTBigCodePreTrainedModel:()=>bl,GPTJForCausalLM:()=>NE,GPTJModel:()=>FE,GPTJPreTrainedModel:()=>kl,GPTNeoForCausalLM:()=>AE,GPTNeoModel:()=>CE,GPTNeoPreTrainedModel:()=>Ml,GPTNeoXForCausalLM:()=>IE,GPTNeoXModel:()=>SE,GPTNeoXPreTrainedModel:()=>xl,Gemma2ForCausalLM:()=>mE,Gemma2Model:()=>fE,Gemma2PreTrainedModel:()=>dl,Gemma3ForCausalLM:()=>gE,Gemma3Model:()=>_E,Gemma3PreTrainedModel:()=>pl,Gemma3nForCausalLM:()=>nf,Gemma3nForConditionalGeneration:()=>hl,Gemma3nPreTrainedModel:()=>rf,GemmaForCausalLM:()=>hE,GemmaModel:()=>pE,GemmaPreTrainedModel:()=>ul,GlmForCausalLM:()=>yE,GlmModel:()=>wE,GlmMoeDsaForCausalLM:()=>bE,GlmMoeDsaModel:()=>vE,GlmMoeDsaPreTrainedModel:()=>ml,GlmOcrForConditionalGeneration:()=>ME,GlmPreTrainedModel:()=>fl,GptOssForCausalLM:()=>RE,GptOssModel:()=>PE,GptOssPreTrainedModel:()=>Tl,GraniteForCausalLM:()=>BE,GraniteModel:()=>DE,GraniteMoeHybridForCausalLM:()=>zE,GraniteMoeHybridModel:()=>UE,GraniteMoeHybridPreTrainedModel:()=>Al,GranitePreTrainedModel:()=>Cl,GraniteSpeechForConditionalGeneration:()=>$E,GroundingDinoForObjectDetection:()=>VE,GroundingDinoPreTrainedModel:()=>of,GroupViTModel:()=>GE,GroupViTPreTrainedModel:()=>lf,HeliumForCausalLM:()=>WE,HeliumModel:()=>jE,HeliumPreTrainedModel:()=>Il,HieraForImageClassification:()=>HE,HieraModel:()=>qE,HieraPreTrainedModel:()=>Pl,HubertForCTC:()=>ek,HubertForSequenceClassification:()=>tk,HubertModel:()=>ZE,HubertPreTrainedModel:()=>YE,HunYuanDenseV1ForCausalLM:()=>nk,HunYuanDenseV1Model:()=>rk,HunYuanDenseV1PreTrainedModel:()=>Rl,IJepaForImageClassification:()=>lk,IJepaModel:()=>ik,IJepaPreTrainedModel:()=>Ol,Idefics3ForConditionalGeneration:()=>ok,JAISLMHeadModel:()=>uk,JAISModel:()=>ck,JAISPreTrainedModel:()=>Ll,JinaCLIPModel:()=>dk,JinaCLIPPreTrainedModel:()=>Sa,JinaCLIPTextModel:()=>uf,JinaCLIPVisionModel:()=>pk,Lfm2ForCausalLM:()=>fk,Lfm2Model:()=>hk,Lfm2MoeForCausalLM:()=>gk,Lfm2MoeModel:()=>_k,Lfm2MoePreTrainedModel:()=>Nl,Lfm2PreTrainedModel:()=>Fl,Lfm2VlForConditionalGeneration:()=>wk,LightOnOcrForConditionalGeneration:()=>mk,LiteWhisperForConditionalGeneration:()=>sS,Llama4ForCausalLM:()=>bk,Llama4PreTrainedModel:()=>df,LlamaForCausalLM:()=>vk,LlamaModel:()=>yk,LlamaPreTrainedModel:()=>Dl,LlavaForConditionalGeneration:()=>gr,LlavaOnevisionForConditionalGeneration:()=>gr,LlavaPreTrainedModel:()=>cf,LlavaQwen2ForCausalLM:()=>ak,LongT5ForConditionalGeneration:()=>xk,LongT5Model:()=>Mk,LongT5PreTrainedModel:()=>Bl,M2M100ForConditionalGeneration:()=>Ek,M2M100Model:()=>Tk,M2M100PreTrainedModel:()=>Ul,MBartForCausalLM:()=>Ok,MBartForConditionalGeneration:()=>Pk,MBartForSequenceClassification:()=>Rk,MBartModel:()=>Ik,MBartPreTrainedModel:()=>ws,MPNetForMaskedLM:()=>y1,MPNetForQuestionAnswering:()=>M1,MPNetForSequenceClassification:()=>v1,MPNetForTokenClassification:()=>b1,MPNetModel:()=>w1,MPNetPreTrainedModel:()=>bn,MT5ForConditionalGeneration:()=>k1,MT5Model:()=>E1,MT5PreTrainedModel:()=>Jl,MarianMTModel:()=>Ck,MarianModel:()=>kk,MarianPreTrainedModel:()=>zl,MaskFormerForInstanceSegmentation:()=>Sk,MaskFormerModel:()=>Ak,MaskFormerPreTrainedModel:()=>$l,Metric3DForDepthEstimation:()=>Lk,Metric3DPreTrainedModel:()=>pf,Metric3Dv2ForDepthEstimation:()=>Fk,Metric3Dv2PreTrainedModel:()=>hf,MgpstrForSceneTextRecognition:()=>Nk,MgpstrModelOutput:()=>ff,MgpstrPreTrainedModel:()=>mf,MimiDecoderModel:()=>yf,MimiDecoderOutput:()=>gf,MimiEncoderModel:()=>wf,MimiEncoderOutput:()=>_f,MimiModel:()=>Dk,MimiPreTrainedModel:()=>Ia,Mistral4ForCausalLM:()=>$k,Mistral4Model:()=>zk,Mistral4PreTrainedModel:()=>Gl,MistralForCausalLM:()=>Uk,MistralModel:()=>Bk,MistralPreTrainedModel:()=>Vl,MobileBertForMaskedLM:()=>Gk,MobileBertForQuestionAnswering:()=>Wk,MobileBertForSequenceClassification:()=>jk,MobileBertModel:()=>Vk,MobileBertPreTrainedModel:()=>ys,MobileLLMForCausalLM:()=>Hk,MobileLLMModel:()=>qk,MobileLLMPreTrainedModel:()=>jl,MobileNetV1ForImageClassification:()=>Qk,MobileNetV1ForSemanticSegmentation:()=>Jk,MobileNetV1Model:()=>Kk,MobileNetV1PreTrainedModel:()=>Pa,MobileNetV2ForImageClassification:()=>Yk,MobileNetV2ForSemanticSegmentation:()=>Zk,MobileNetV2Model:()=>Xk,MobileNetV2PreTrainedModel:()=>Ra,MobileNetV3ForImageClassification:()=>t1,MobileNetV3ForSemanticSegmentation:()=>r1,MobileNetV3Model:()=>e1,MobileNetV3PreTrainedModel:()=>Oa,MobileNetV4ForImageClassification:()=>s1,MobileNetV4ForSemanticSegmentation:()=>a1,MobileNetV4Model:()=>n1,MobileNetV4PreTrainedModel:()=>La,MobileViTForImageClassification:()=>i1,MobileViTModel:()=>o1,MobileViTPreTrainedModel:()=>Wl,MobileViTV2ForImageClassification:()=>c1,MobileViTV2Model:()=>l1,MobileViTV2PreTrainedModel:()=>ql,ModernBertDecoderForCausalLM:()=>m1,ModernBertDecoderModel:()=>f1,ModernBertDecoderPreTrainedModel:()=>Hl,ModernBertForMaskedLM:()=>d1,ModernBertForSequenceClassification:()=>p1,ModernBertForTokenClassification:()=>h1,ModernBertModel:()=>u1,ModernBertPreTrainedModel:()=>vs,Moondream1ForConditionalGeneration:()=>sk,MoonshineForConditionalGeneration:()=>g1,MoonshineModel:()=>_1,MoonshinePreTrainedModel:()=>Kl,MptForCausalLM:()=>T1,MptModel:()=>x1,MptPreTrainedModel:()=>Ql,MultiModalityCausalLM:()=>C1,MultiModalityPreTrainedModel:()=>vf,MusicgenForCausalLM:()=>S1,MusicgenForConditionalGeneration:()=>bf,MusicgenModel:()=>A1,MusicgenPreTrainedModel:()=>Xl,NanoChatForCausalLM:()=>P1,NanoChatModel:()=>I1,NanoChatPreTrainedModel:()=>Yl,NemotronHForCausalLM:()=>O1,NemotronHModel:()=>R1,NemotronHPreTrainedModel:()=>Zl,NeoBertForMaskedLM:()=>F1,NeoBertForQuestionAnswering:()=>B1,NeoBertForSequenceClassification:()=>N1,NeoBertForTokenClassification:()=>D1,NeoBertModel:()=>L1,NeoBertPreTrainedModel:()=>Mn,NomicBertModel:()=>U1,NomicBertPreTrainedModel:()=>Mf,OPTForCausalLM:()=>X1,OPTModel:()=>J1,OPTPreTrainedModel:()=>ac,Olmo2ForCausalLM:()=>G1,Olmo2Model:()=>V1,Olmo2PreTrainedModel:()=>tc,Olmo3ForCausalLM:()=>W1,Olmo3Model:()=>j1,Olmo3PreTrainedModel:()=>rc,OlmoForCausalLM:()=>$1,OlmoHybridForCausalLM:()=>H1,OlmoHybridModel:()=>q1,OlmoHybridPreTrainedModel:()=>nc,OlmoModel:()=>z1,OlmoPreTrainedModel:()=>ec,OpenELMForCausalLM:()=>Q1,OpenELMModel:()=>K1,OpenELMPreTrainedModel:()=>sc,OwlViTForObjectDetection:()=>tC,OwlViTModel:()=>eC,OwlViTPreTrainedModel:()=>ic,Owlv2ForObjectDetection:()=>Z1,Owlv2Model:()=>Y1,Owlv2PreTrainedModel:()=>oc,PaliGemmaForConditionalGeneration:()=>rC,ParakeetForCTC:()=>nC,ParakeetPreTrainedModel:()=>xf,PatchTSMixerForPrediction:()=>aC,PatchTSMixerModel:()=>sC,PatchTSMixerPreTrainedModel:()=>lc,PatchTSTForPrediction:()=>iC,PatchTSTModel:()=>oC,PatchTSTPreTrainedModel:()=>cc,Phi3ForCausalLM:()=>dC,Phi3Model:()=>uC,Phi3PreTrainedModel:()=>dc,Phi3VForCausalLM:()=>Ef,Phi3VPreTrainedModel:()=>Tf,PhiForCausalLM:()=>cC,PhiModel:()=>lC,PhiPreTrainedModel:()=>uc,PreTrainedModel:()=>I,PvtForImageClassification:()=>hC,PvtModel:()=>pC,PvtPreTrainedModel:()=>pc,PyAnnoteForAudioFrameClassification:()=>mC,PyAnnoteModel:()=>fC,PyAnnotePreTrainedModel:()=>hc,Qwen2ForCausalLM:()=>gC,Qwen2Model:()=>_C,Qwen2MoeForCausalLM:()=>yC,Qwen2MoeModel:()=>wC,Qwen2MoePreTrainedModel:()=>mc,Qwen2PreTrainedModel:()=>fc,Qwen2VLForCausalLM:()=>gl,Qwen2VLForConditionalGeneration:()=>_l,Qwen2VLPreTrainedModel:()=>sf,Qwen2_5_VLForCausalLM:()=>yl,Qwen2_5_VLForConditionalGeneration:()=>wl,Qwen3ForCausalLM:()=>bC,Qwen3Model:()=>vC,Qwen3MoeForCausalLM:()=>xC,Qwen3MoeModel:()=>MC,Qwen3MoePreTrainedModel:()=>gc,Qwen3NextForCausalLM:()=>EC,Qwen3NextModel:()=>TC,Qwen3NextPreTrainedModel:()=>wc,Qwen3PreTrainedModel:()=>_c,Qwen3VLForCausalLM:()=>vc,Qwen3VLForConditionalGeneration:()=>yc,Qwen3VLMoeForCausalLM:()=>kf,Qwen3VLMoeForConditionalGeneration:()=>kC,Qwen3_5ForCausalLM:()=>Mc,Qwen3_5ForConditionalGeneration:()=>bc,Qwen3_5MoeForCausalLM:()=>Cf,Qwen3_5MoeForConditionalGeneration:()=>CC,RFDetrForObjectDetection:()=>PC,RFDetrModel:()=>IC,RFDetrObjectDetectionOutput:()=>Af,RFDetrPreTrainedModel:()=>Tc,RTDetrForObjectDetection:()=>rT,RTDetrModel:()=>tT,RTDetrObjectDetectionOutput:()=>ms,RTDetrPreTrainedModel:()=>Ji,RTDetrV2ForObjectDetection:()=>GC,RTDetrV2Model:()=>VC,RTDetrV2ObjectDetectionOutput:()=>Sf,RTDetrV2PreTrainedModel:()=>Ec,ResNetForImageClassification:()=>SC,ResNetModel:()=>AC,ResNetPreTrainedModel:()=>xc,RoFormerForMaskedLM:()=>BC,RoFormerForQuestionAnswering:()=>$C,RoFormerForSequenceClassification:()=>UC,RoFormerForTokenClassification:()=>zC,RoFormerModel:()=>DC,RoFormerPreTrainedModel:()=>Tn,RobertaForMaskedLM:()=>OC,RobertaForQuestionAnswering:()=>NC,RobertaForSequenceClassification:()=>LC,RobertaForTokenClassification:()=>FC,RobertaModel:()=>RC,RobertaPreTrainedModel:()=>xn,Sam2ImageSegmentationOutput:()=>Rf,Sam2Model:()=>kc,Sam2PreTrainedModel:()=>Of,Sam3TrackerModel:()=>qC,SamImageSegmentationOutput:()=>If,SamModel:()=>jC,SamPreTrainedModel:()=>Pf,SapiensForDepthEstimation:()=>KC,SapiensForNormalEstimation:()=>QC,SapiensForSemanticSegmentation:()=>HC,SapiensPreTrainedModel:()=>Fa,SegformerForImageClassification:()=>XC,SegformerForSemanticSegmentation:()=>YC,SegformerModel:()=>JC,SegformerPreTrainedModel:()=>Na,SiglipModel:()=>ZC,SiglipPreTrainedModel:()=>Cc,SiglipTextModel:()=>Lf,SiglipVisionModel:()=>eA,SmolLM3ForCausalLM:()=>rA,SmolLM3Model:()=>tA,SmolLM3PreTrainedModel:()=>Ac,SnacDecoderModel:()=>Nf,SnacEncoderModel:()=>Ff,SnacModel:()=>nA,SnacPreTrainedModel:()=>Da,SolarOpenForCausalLM:()=>aA,SolarOpenModel:()=>sA,SolarOpenPreTrainedModel:()=>Sc,SpeechT5ForSpeechToText:()=>iA,SpeechT5ForTextToSpeech:()=>lA,SpeechT5HifiGan:()=>cA,SpeechT5Model:()=>oA,SpeechT5PreTrainedModel:()=>Ba,SqueezeBertForMaskedLM:()=>dA,SqueezeBertForQuestionAnswering:()=>hA,SqueezeBertForSequenceClassification:()=>pA,SqueezeBertModel:()=>uA,SqueezeBertPreTrainedModel:()=>bs,StableLmForCausalLM:()=>mA,StableLmModel:()=>fA,StableLmPreTrainedModel:()=>Ic,Starcoder2ForCausalLM:()=>gA,Starcoder2Model:()=>_A,Starcoder2PreTrainedModel:()=>Pc,StyleTextToSpeech2Model:()=>wA,StyleTextToSpeech2PreTrainedModel:()=>Df,SupertonicForConditionalGeneration:()=>Uf,SupertonicPreTrainedModel:()=>Bf,Swin2SRForImageSuperResolution:()=>xA,Swin2SRModel:()=>MA,Swin2SRPreTrainedModel:()=>Rc,SwinForImageClassification:()=>vA,SwinForSemanticSegmentation:()=>bA,SwinModel:()=>yA,SwinPreTrainedModel:()=>Ua,T5ForConditionalGeneration:()=>EA,T5Model:()=>TA,T5PreTrainedModel:()=>Oc,TableTransformerForObjectDetection:()=>CA,TableTransformerModel:()=>kA,TableTransformerObjectDetectionOutput:()=>zf,TableTransformerPreTrainedModel:()=>Lc,TrOCRForCausalLM:()=>AA,TrOCRPreTrainedModel:()=>$f,UltravoxModel:()=>Sl,UltravoxPreTrainedModel:()=>af,UniSpeechForCTC:()=>IA,UniSpeechForSequenceClassification:()=>PA,UniSpeechModel:()=>SA,UniSpeechPreTrainedModel:()=>za,UniSpeechSatForAudioFrameClassification:()=>FA,UniSpeechSatForCTC:()=>OA,UniSpeechSatForSequenceClassification:()=>LA,UniSpeechSatModel:()=>RA,UniSpeechSatPreTrainedModel:()=>Ms,VaultGemmaForCausalLM:()=>DA,VaultGemmaModel:()=>NA,VaultGemmaPreTrainedModel:()=>Fc,ViTForImageClassification:()=>zA,ViTMAEModel:()=>$A,ViTMAEPreTrainedModel:()=>Vf,ViTMSNForImageClassification:()=>GA,ViTMSNModel:()=>VA,ViTMSNPreTrainedModel:()=>Dc,ViTModel:()=>UA,ViTPreTrainedModel:()=>Nc,VisionEncoderDecoderModel:()=>BA,VitMatteForImageMatting:()=>jA,VitMattePreTrainedModel:()=>Gf,VitPoseForPoseEstimation:()=>WA,VitPosePreTrainedModel:()=>jf,VitsModel:()=>qA,VitsModelOutput:()=>Wf,VitsPreTrainedModel:()=>qf,VoxtralForConditionalGeneration:()=>HA,VoxtralRealtimeForConditionalGeneration:()=>Kf,VoxtralRealtimePreTrainedModel:()=>Hf,Wav2Vec2BertForCTC:()=>QA,Wav2Vec2BertForSequenceClassification:()=>JA,Wav2Vec2BertModel:()=>KA,Wav2Vec2BertPreTrainedModel:()=>$a,Wav2Vec2ForAudioFrameClassification:()=>XE,Wav2Vec2ForCTC:()=>QE,Wav2Vec2ForSequenceClassification:()=>JE,Wav2Vec2Model:()=>KE,Wav2Vec2PreTrainedModel:()=>Mr,WavLMForAudioFrameClassification:()=>tS,WavLMForCTC:()=>YA,WavLMForSequenceClassification:()=>ZA,WavLMForXVector:()=>eS,WavLMModel:()=>XA,WavLMPreTrainedModel:()=>En,WeSpeakerResNetModel:()=>rS,WeSpeakerResNetPreTrainedModel:()=>Jf,WhisperForConditionalGeneration:()=>Xf,WhisperModel:()=>nS,WhisperPreTrainedModel:()=>Bc,XLMForQuestionAnswering:()=>cS,XLMForSequenceClassification:()=>iS,XLMForTokenClassification:()=>lS,XLMModel:()=>aS,XLMPreTrainedModel:()=>kn,XLMRobertaForMaskedLM:()=>dS,XLMRobertaForQuestionAnswering:()=>fS,XLMRobertaForSequenceClassification:()=>pS,XLMRobertaForTokenClassification:()=>hS,XLMRobertaModel:()=>uS,XLMRobertaPreTrainedModel:()=>Cn,XLMWithLMHeadModel:()=>oS,XVectorOutput:()=>Qf,YolosForObjectDetection:()=>_S,YolosModel:()=>mS,YolosObjectDetectionOutput:()=>Yf,YolosPreTrainedModel:()=>Uc,YoutuForCausalLM:()=>wS,YoutuModel:()=>gS,YoutuPreTrainedModel:()=>zc});fs=class extends I{},Yx=class extends fs{},Zx=class extends fs{async _call(e){return new oe(await super._call(e))}},e0=class extends fs{async _call(e){return new _t(await super._call(e))}},t0=class extends fs{async _call(e){return new Je(await super._call(e))}},Ni=class extends I{},r0=class extends Ni{},n0=class extends Ni{},Di=class extends I{},s0=class extends Di{},a0=class extends Di{},Bi=class extends I{},o0=class extends Bi{},i0=class extends Bi{},Ui=class extends I{},l0=class extends Ui{},c0=class extends Ui{},Ea=class extends I{},u0=class extends Ea{},d0=class extends Ea{},p0=class extends Ea{async _call(e){return new oe(await super._call(e))}},zi=class extends I{},h0=class extends zi{},f0=class extends zi{async _call(e){return new oe(await super._call(e))}},fn=class extends I{},m0=class extends fn{},_0=class extends fn{async _call(e){return new Je(await super._call(e))}},g0=class extends fn{async _call(e){return new oe(await super._call(e))}},w0=class extends fn{async _call(e){return new je(await super._call(e))}},y0=class extends fn{async _call(e){return new _t(await super._call(e))}},$i=class extends I{},v0=class extends $i{},b0=class extends $i{},Vi=class extends I{},M0=class extends Vi{},x0=class extends Vi{},Gi=class extends I{},T0=class extends Gi{},E0=class extends Gi{},mn=class extends I{},k0=class extends mn{},C0=class extends mn{async _call(e){return new Je(await super._call(e))}},A0=class extends mn{async _call(e){return new oe(await super._call(e))}},S0=class extends mn{async _call(e){return new je(await super._call(e))}},I0=class extends mn{async _call(e){return new _t(await super._call(e))}},xU=4299n,dv=6561n,Dh=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","audio_values","exaggeration","audio_features","audio_tokens","speaker_embeddings","speaker_features","past_key_values"]);w(this,"main_input_name","input_ids");w(this,"_return_dict_in_generate_keys",["audio_tokens","speaker_embeddings","speaker_features"])}},Bh=class extends Dh{async encode_speech(e){return be(this.sessions.speech_encoder,{audio_values:e})}async forward({input_ids:e=null,attention_mask:t=null,audio_values:r=null,exaggeration:n=null,position_ids:s=null,inputs_embeds:a=null,past_key_values:o=null,generation_config:i=null,logits_processor:l=null,audio_features:c=null,audio_tokens:u=null,speaker_embeddings:p=null,speaker_features:f=null,...m}){let y;if(!a){let x=this.sessions.embed_tokens.inputNames,M={input_ids:e};if(x.includes("exaggeration")){if(!(n instanceof W)){let T=e.dims[0];if(n==null)n=lt([T],.5);else if(typeof n=="number")n=lt([T],n);else if(Array.isArray(n))n=new W("float32",n,[T]);else throw new Error("Unsupported type for `exaggeration` input")}M.exaggeration=n}if(x.includes("position_ids")&&(M.position_ids=s),{inputs_embeds:a}=await be(this.sessions.embed_tokens,M),c&&u&&p&&f&&(y={audio_features:c,audio_tokens:u,speaker_embeddings:p,speaker_features:f}),y||r)y??(y=await this.encode_speech(r)),a=Fe([y.audio_features,a],1),t=xt([a.dims[0],a.dims[1]]);else{let T=a.dims[1];if(!o||T!==1)throw new Error("Incorrect state encountered during generation.");let A=o.get_seq_length();t=xt([a.dims[0],A+T])}}return{...await _r(this,{inputs_embeds:a,past_key_values:o,attention_mask:t,generation_config:i,logits_processor:l},!1),...y}}prepare_inputs_for_generation(e,t,r){if(!t.position_ids&&this.sessions.embed_tokens.inputNames.includes("position_ids"))if(t.input_ids.dims[1]===1){let n=Array.from({length:e.length},(s,a)=>e[a].length-e[a].findLastIndex(o=>o==dv)-1);t.position_ids=new W("int64",n,[e.length,1])}else{let s=t.input_ids.tolist().map(a=>{let o=0;return a.map(i=>i>=dv?0:o++)});t.position_ids=new W("int64",s.flat(),t.input_ids.dims)}return t.input_ids.dims[1]===1&&(delete t.audio_values,delete t.audio_features,delete t.audio_tokens,delete t.speaker_embeddings,delete t.speaker_features),ha(this,e,t,r)}async generate(e){let{sequences:t,audio_tokens:r,speaker_embeddings:n,speaker_features:s}=await super.generate({...e,return_dict_in_generate:!0}),a=t.slice(null,[e.input_ids.dims[1],-1]),o=lt([a.dims[0],3],xU),i=Fe([r,a,o],1),{waveform:l}=await be(this.sessions.conditional_decoder,{speech_tokens:i,speaker_features:s,speaker_embeddings:n});return l}},Uh=class extends I{},P0=class extends Uh{},zh=class extends I{},R0=class extends zh{},ka=class extends I{},O0=class extends ka{},$h=class extends ka{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},Vh=class extends ka{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"audio_model"})}},Nr=class extends I{},L0=class extends Nr{},F0=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},Gh=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},N0=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},D0=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},ji=class extends I{},B0=class extends ji{},U0=class extends ji{},Wi=class extends I{},z0=class extends Wi{},$0=class extends Wi{},qi=class extends I{},V0=class extends qi{},G0=class extends qi{},Hi=class extends I{},j0=class extends Hi{},W0=class extends Hi{},_n=class extends I{},q0=class extends _n{},H0=class extends _n{async _call(e){return new Je(await super._call(e))}},K0=class extends _n{async _call(e){return new oe(await super._call(e))}},Q0=class extends _n{async _call(e){return new je(await super._call(e))}},J0=class extends _n{async _call(e){return new _t(await super._call(e))}},Ki=class extends I{},X0=class extends Ki{},Y0=class extends Ki{async _call(e){return new oe(await super._call(e))}},Qi=class extends I{},Z0=class extends Qi{},eT=class extends Qi{async _call(e){return new oe(await super._call(e))}},Ji=class extends I{},tT=class extends Ji{},rT=class extends Ji{async _call(e){return new ms(await super._call(e))}},ms=class extends Qe{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},Xi=class extends I{},nT=class extends Xi{},sT=class extends Xi{async _call(e){return new ms(await super._call(e))}},jh=class extends Qe{constructor({audio_codes:e}){super(),this.audio_codes=e}},Wh=class extends Qe{constructor({audio_values:e}){super(),this.audio_values=e}},Ca=class extends I{constructor(){super(...arguments);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values"])}},aT=class extends Ca{async encode(e){return new jh(await be(this.sessions.encoder_model,e))}async decode(e){return new Wh(await be(this.sessions.decoder_model,e))}},qh=class extends Ca{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},Hh=class extends Ca{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},gn=class extends I{},oT=class extends gn{},iT=class extends gn{async _call(e){return new Je(await super._call(e))}},lT=class extends gn{async _call(e){return new oe(await super._call(e))}},cT=class extends gn{async _call(e){return new je(await super._call(e))}},uT=class extends gn{async _call(e){return new _t(await super._call(e))}},Yi=class extends I{},dT=class extends Yi{},pT=class extends Yi{},wn=class extends I{},hT=class extends wn{},fT=class extends wn{async _call(e){return new Je(await super._call(e))}},mT=class extends wn{async _call(e){return new oe(await super._call(e))}},_T=class extends wn{async _call(e){return new je(await super._call(e))}},gT=class extends wn{async _call(e){return new _t(await super._call(e))}},Kh=class extends I{},wT=class extends Kh{},Zi=class extends I{},yT=class extends Zi{},vT=class extends Zi{async _call(e){return new oe(await super._call(e))}},Qh=class extends I{},bT=class extends Qh{},Jh=class extends I{},MT=class extends Jh{},Aa=class extends I{},xT=class extends Aa{},TT=class extends Aa{async _call(e){return new el(await super._call(e))}},ET=class extends Aa{async _call(e){return new Xh(await super._call(e))}},el=class extends Qe{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},Xh=class extends Qe{constructor({logits:e,pred_boxes:t,pred_masks:r}){super(),this.logits=e,this.pred_boxes=t,this.pred_masks=r}},tl=class extends I{},kT=class extends tl{},CT=class extends tl{async _call(e){return new oe(await super._call(e))}},rl=class extends I{},AT=class extends rl{},ST=class extends rl{async _call(e){return new oe(await super._call(e))}},Yh=class extends I{},IT=class extends Yh{},Zh=class extends I{},PT=class extends Zh{},yn=class extends I{},RT=class extends yn{},OT=class extends yn{async _call(e){return new oe(await super._call(e))}},LT=class extends yn{async _call(e){return new je(await super._call(e))}},FT=class extends yn{async _call(e){return new _t(await super._call(e))}},NT=class extends yn{async _call(e){return new Je(await super._call(e))}},ef=class extends I{},DT=class extends ef{},nl=class extends I{},BT=class extends nl{},UT=class extends nl{},sl=class extends I{},zT=class extends sl{},$T=class extends sl{async _call(e){return new oe(await super._call(e))}},vn=class extends I{},VT=class extends vn{},GT=class extends vn{async _call(e){return new Je(await super._call(e))}},jT=class extends vn{async _call(e){return new oe(await super._call(e))}},WT=class extends vn{async _call(e){return new je(await super._call(e))}},qT=class extends vn{async _call(e){return new _t(await super._call(e))}},al=class extends I{},HT=class extends al{},KT=class extends al{},_s=class extends I{},QT=class extends _s{},JT=class extends _s{async _call(e){return new Je(await super._call(e))}},XT=class extends _s{async _call(e){return new oe(await super._call(e))}},YT=class extends _s{async _call(e){return new je(await super._call(e))}},gs=class extends I{},ZT=class extends gs{},eE=class extends gs{async _call(e){return new Je(await super._call(e))}},tE=class extends gs{async _call(e){return new oe(await super._call(e))}},rE=class extends gs{async _call(e){return new je(await super._call(e))}},ol=class extends I{},nE=class extends ol{},sE=class extends ol{},il=class extends I{},aE=class extends il{},oE=class extends il{},ll=class extends I{},iE=class extends ll{},lE=class extends ll{},cl=class extends I{},cE=class extends cl{},uE=class extends cl{async _call(e){return new oe(await super._call(e))}},tf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","inputs_embeds","attention_mask","pixel_values","encoder_outputs","decoder_input_ids","decoder_inputs_embeds","decoder_attention_mask","past_key_values"]);w(this,"main_input_name","inputs_embeds")}},dE=class extends tf{_merge_input_ids_with_image_features({inputs_embeds:e,image_features:t,input_ids:r,attention_mask:n}){return{inputs_embeds:Fe([t,e],1),attention_mask:Fe([xt(t.dims.slice(0,2)),n],1)}}async _prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:r,attention_mask:n}){if(!e&&!t)throw new Error("Either `input_ids` or `pixel_values` should be provided.");let s,a;return e&&(s=await this.encode_text({input_ids:e})),t&&(a=await this.encode_image({pixel_values:t})),s&&a?{inputs_embeds:r,attention_mask:n}=this._merge_input_ids_with_image_features({inputs_embeds:s,image_features:a,input_ids:e,attention_mask:n}):r=s||a,{inputs_embeds:r,attention_mask:n}}async forward({input_ids:e,pixel_values:t,attention_mask:r,decoder_input_ids:n,decoder_attention_mask:s,encoder_outputs:a,past_key_values:o,inputs_embeds:i,decoder_inputs_embeds:l}){if(i||({inputs_embeds:i,attention_mask:r}=await this._prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:i,attention_mask:r})),!a){let{last_hidden_state:u}=await Lr(this,{inputs_embeds:i,attention_mask:r});a=u}if(!l){if(!n)throw new Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");l=await this.encode_text({input_ids:n})}return await _r(this,{inputs_embeds:l,attention_mask:s,encoder_attention_mask:r,encoder_hidden_states:a,past_key_values:o},!0)}},ul=class extends I{},pE=class extends ul{},hE=class extends ul{},dl=class extends I{},fE=class extends dl{},mE=class extends dl{},pl=class extends I{},_E=class extends pl{},gE=class extends pl{},rf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","inputs_embeds","per_layer_inputs","position_ids","pixel_values","input_features","input_features_mask","past_key_values"])}},hl=class extends rf{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:r=null,input_features:n=null,input_features_mask:s=null,position_ids:a=null,inputs_embeds:o=null,per_layer_inputs:i=null,past_key_values:l=null,generation_config:c=null,logits_processor:u=null,...p}){if((!o||!i)&&({inputs_embeds:o,per_layer_inputs:i}=await be(this.sessions.embed_tokens,{input_ids:e}),e.dims[1]!==1)){if(r){let{image_features:m}=await be(this.sessions.vision_encoder,{pixel_values:r});({inputs_embeds:o,attention_mask:t}=this._merge_input_ids_with_image_features({image_features:m,inputs_embeds:o,input_ids:e,attention_mask:t}))}if(n){let{audio_features:m}=await be(this.sessions.audio_encoder,{input_features:n,input_features_mask:s});({inputs_embeds:o,attention_mask:t}=this._merge_input_ids_with_audio_features({audio_features:m,inputs_embeds:o,input_ids:e,attention_mask:t}))}}return await _r(this,{inputs_embeds:o,per_layer_inputs:i,past_key_values:l,attention_mask:t,position_ids:a,generation_config:c,logits_processor:u},!0)}_merge_input_ids_with_image_features(e){let t=e.image_features.dims.at(-1),r=e.image_features.view(-1,t);return Fh({image_token_id:this.config.image_token_id,...e,image_features:r})}_merge_input_ids_with_audio_features(e){let t=e.audio_features.dims.at(-1),r=e.audio_features.view(-1,t);return Xx({audio_token_id:this.config.audio_token_id,...e,audio_features:r})}},nf=class extends hl{},fl=class extends I{},wE=class extends fl{},yE=class extends fl{},ml=class extends I{},vE=class extends ml{},bE=class extends ml{},sf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values","pixel_values","image_grid_thw"])}},_l=class extends sf{constructor(){super(...arguments);w(this,"image_grid_thw_name","grid_thw")}_get_text_only_rope_index(t,r){if(r){let{data:n,dims:s}=Qx(r),a=BigInt64Array.from({length:3*n.length},(i,l)=>n[l%n.length]),o=Array.from({length:s[0]},(i,l)=>Ge(n.subarray(s[1]*l,s[1]*(l+1)))[0]+1n+BigInt(s[1]));return[new W("int64",a,[3,...s]),new W("int64",o,[o.length,1])]}else{let[n,s]=t.dims,a=BigInt64Array.from({length:3*n*s},(o,i)=>BigInt(Math.floor(i%s/n)));return[new W("int64",a,[3,...t.dims]),rh([n,1])]}}_reorder_and_write_positions(t,r,n,s){let a=t.reduce((c,u)=>c+u.length,0),o=new Array(a),i=0;for(let c=0;c<3;++c)for(let u of t){let p=u.length/3;for(let f=c*p;f<(c+1)*p;++f)o[i++]=u[f]}let l=0;for(let c=0;c<r.length;++c)if(r[c]==1){for(let u=0;u<3;++u)n[u][s][c]=o[u*a/3+l];++l}return o}_get_multimodal_rope_positions({filtered_ids:t,image_grid_thw_list:r,video_grid_thw_list:n,spatial_merge_size:s,state:a}){let{image_token_id:o,video_token_id:i,vision_start_token_id:l}=this.config,c=t,p=c.reduce((T,A,C)=>(A==l&&T.push(C),T),[]).map(T=>c[T+1]),f=p.filter(T=>T==o).length,m=p.filter(T=>T==i).length,y=[],v=0,x=f,M=m;for(let T=0;T<p.length;++T){let A=c.findIndex((Y,fe)=>fe>v&&Y==o),C=c.findIndex((Y,fe)=>fe>v&&Y==i),S=x>0&&A!==-1?A:c.length+1,O=M>0&&C!==-1?C:c.length+1,E,K,$,V;S<O?([K,$,V]=r[a.image_index],++a.image_index,--x,E=S):([K,$,V]=n[a.video_index],++a.video_index,--M,E=O);let[Q,G,q]=[Number(K),Math.floor(Number($)/s),Math.floor(Number(V)/s)],D=E-v,R=y.length>0?Ge(y.at(-1))[0]+1:0;y.push(Array.from({length:3*D},(Y,fe)=>R+fe%D));let re=D+R,ie=Q*G*q,F=Array.from({length:ie},(Y,fe)=>re+Math.floor(fe/(G*q))),N=Array.from({length:ie},(Y,fe)=>re+Math.floor(fe/q)%G),z=Array.from({length:ie},(Y,fe)=>re+fe%q);y.push([F,N,z].flat()),v=E+ie}if(v<c.length){let T=y.length>0?Ge(y.at(-1))[0]+1:0,A=c.length-v;y.push(Array.from({length:3*A},(C,S)=>T+S%A))}return y}get_rope_index(t,r,n,s){let{vision_config:a}=this.config,o=a.spatial_merge_size??2;if(r||n){let i=t.tolist();s||(s=th(t));let l=s.tolist(),c=Array.from({length:3},()=>Array.from({length:t.dims[0]},()=>Array.from({length:t.dims[1]},()=>0))),u=r?r.tolist():[],p=n?n.tolist():[],f={image_index:0,video_index:0},m=[];for(let y=0;y<i.length;++y){let v=i[y].filter((T,A)=>l[y][A]==1),x=this._get_multimodal_rope_positions({filtered_ids:v,image_grid_thw_list:u,video_grid_thw_list:p,spatial_merge_size:o,state:f}),M=this._reorder_and_write_positions(x,l[y],c,y);m.push(Ge(M)[0]+1-i[y].length)}return[new W("int64",c.flat(1/0),[3,t.dims[0],t.dims[1]]),new W("int64",m,[m.length,1])]}else return this._get_text_only_rope_index(t,s)}async encode_image({pixel_values:t,image_grid_thw:r}){return(await be(this.sessions.vision_encoder,{pixel_values:t,[this.image_grid_thw_name]:r})).image_features}_merge_input_ids_with_image_features(t){return Fh({image_token_id:this.config.image_token_id,...t})}prepare_inputs_for_generation(t,r,n){if(r.attention_mask&&!r.position_ids)if(!r.past_key_values)[r.position_ids,r.rope_deltas]=this.get_rope_index(r.input_ids,r.image_grid_thw,r.video_grid_thw,r.attention_mask);else{r.pixel_values=null;let s=r.past_key_values.get_seq_length();if(s<r.input_ids.dims[1]){let[a,o]=this.get_rope_index(r.input_ids,r.image_grid_thw,r.video_grid_thw,r.attention_mask);r.rope_deltas=o,r.position_ids=a.slice(null,null,[s,null]),r.input_ids=r.input_ids.slice(null,[s,null])}else{r.rope_deltas||([,r.rope_deltas]=this.get_rope_index(r.input_ids,r.image_grid_thw,r.video_grid_thw,r.attention_mask));let a=BigInt(s),o=r.rope_deltas.map(i=>a+i);r.position_ids=Fr([o,o,o],0)}}return r}},gl=class extends _l{},wl=class extends _l{constructor(){super(...arguments);w(this,"image_grid_thw_name","image_grid_thw")}},yl=class extends gl{constructor(){super(...arguments);w(this,"image_grid_thw_name","image_grid_thw")}},ME=class extends wl{get_vision_position_ids(e,t,r,n){let s=Math.floor(t[0]/r),a=Math.floor(t[1]/n),o=Math.floor(t[2]/n),i=a*o*s,l=Array.from({length:i},()=>e),c=Array.from({length:i},(p,f)=>e+Math.floor(f/(o*s))),u=Array.from({length:i},(p,f)=>e+f%o);return[...l,...c,...u]}_get_multimodal_rope_positions({filtered_ids:e,image_grid_thw_list:t,video_grid_thw_list:r,spatial_merge_size:n,state:s}){let{image_token_id:a}=this.config,o=[],i=0,l=e[0]==a?1:0;for(let p=1;p<=e.length;++p){let f=p<e.length?e[p]==a?1:0:-1;f!==l&&(o.push([l,i,p]),i=p,l=f)}let c=0,u=[];for(let[p,f,m]of o)if(p===0){let y=m-f;u.push(Array.from({length:3*y},(v,x)=>c+x%y)),c+=y}else{let y=t[s.image_index++].map(Number),v=y[0];u.push(this.get_vision_position_ids(c,y,v,n)),c+=Math.max(y[1],y[2])/n}return u}},vl=class extends I{},xE=class extends vl{},TE=class extends vl{},bl=class extends I{},EE=class extends bl{},kE=class extends bl{},Ml=class extends I{},CE=class extends Ml{},AE=class extends Ml{},xl=class extends I{},SE=class extends xl{},IE=class extends xl{},Tl=class extends I{},PE=class extends Tl{},RE=class extends Tl{},El=class extends I{},OE=class extends El{},LE=class extends El{},kl=class extends I{},FE=class extends kl{},NE=class extends kl{},Cl=class extends I{},DE=class extends Cl{},BE=class extends Cl{},Al=class extends I{},UE=class extends Al{},zE=class extends Al{},af=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","position_ids","audio_values","past_key_values"])}},Sl=class extends af{_merge_input_ids_with_audio_features(e){let t=e.audio_features.dims.at(-1),r=e.audio_features.view(-1,t);return Xx({audio_token_id:this.config.ignore_index??this.config.audio_token_id??this.config.audio_token_index,...e,audio_features:r})}},$E=class extends Sl{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","input_features","past_key_values"])}},of=class extends I{},VE=class extends of{},lf=class extends I{},GE=class extends lf{},Il=class extends I{},jE=class extends Il{},WE=class extends Il{},Pl=class extends I{},qE=class extends Pl{},HE=class extends Pl{async _call(e){return new oe(await super._call(e))}},Mr=class extends I{},KE=class extends Mr{},QE=class extends Mr{async _call(e){return new hn(await super._call(e))}},JE=class extends Mr{async _call(e){return new oe(await super._call(e))}},XE=class extends Mr{async _call(e){return new je(await super._call(e))}},YE=class extends I{},ZE=class extends Mr{},ek=class extends Mr{async _call(e){return new hn(await super._call(e))}},tk=class extends Mr{async _call(e){return new oe(await super._call(e))}},Rl=class extends I{},rk=class extends Rl{},nk=class extends Rl{},cf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}},gr=class extends cf{_merge_input_ids_with_image_features(e){let t=e.image_features.dims.at(-1),r=e.image_features.view(-1,t);return Fh({image_token_id:this.config.image_token_index??this.config.image_token_id,...e,image_features:r})}},sk=class extends gr{},ak=class extends gr{},ok=class extends gr{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","position_ids","past_key_values"])}},Ol=class extends I{},ik=class extends Ol{},lk=class extends Ol{async _call(e){return new oe(await super._call(e))}},Ll=class extends I{},ck=class extends Ll{},uk=class extends Ll{},Sa=class extends I{},dk=class extends Sa{async forward(e){let t=!e.input_ids,r=!e.pixel_values;if(t&&r)throw new Error("Either `input_ids` or `pixel_values` should be provided.");if(t&&(e.input_ids=xt([e.pixel_values.dims[0],1])),r){let{image_size:l}=this.config.vision_config;e.pixel_values=lt([0,3,l,l],0)}let{text_embeddings:n,image_embeddings:s,l2norm_text_embeddings:a,l2norm_image_embeddings:o}=await super.forward(e),i={};return t||(i.text_embeddings=n,i.l2norm_text_embeddings=a),r||(i.image_embeddings=s,i.l2norm_image_embeddings=o),i}},uf=class extends Sa{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},pk=class extends Sa{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},Fl=class extends I{},hk=class extends Fl{},fk=class extends Fl{},mk=class extends gr{},Nl=class extends I{},_k=class extends Nl{},gk=class extends Nl{},wk=class extends gr{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","spatial_shapes","position_ids","past_key_values"])}},Dl=class extends I{},yk=class extends Dl{},vk=class extends Dl{},df=class extends I{},bk=class extends df{},Bl=class extends I{},Mk=class extends Bl{},xk=class extends Bl{},Ul=class extends I{},Tk=class extends Ul{},Ek=class extends Ul{},zl=class extends I{},kk=class extends zl{},Ck=class extends zl{},$l=class extends I{},Ak=class extends $l{},Sk=class extends $l{},ws=class extends I{},Ik=class extends ws{},Pk=class extends ws{},Rk=class extends ws{async _call(e){return new oe(await super._call(e))}},Ok=class extends ws{},pf=class extends I{},Lk=class extends pf{},hf=class extends I{},Fk=class extends hf{},ff=class extends Qe{constructor({char_logits:e,bpe_logits:t,wp_logits:r}){super(),this.char_logits=e,this.bpe_logits=t,this.wp_logits=r}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}},mf=class extends I{},Nk=class extends mf{async _call(e){return new ff(await super._call(e))}},_f=class extends Qe{constructor({audio_codes:e}){super(),this.audio_codes=e}},gf=class extends Qe{constructor({audio_values:e}){super(),this.audio_values=e}},Ia=class extends I{constructor(){super(...arguments);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values"])}},Dk=class extends Ia{async encode(e){return new _f(await be(this.sessions.encoder_model,e))}async decode(e){return new gf(await be(this.sessions.decoder_model,e))}},wf=class extends Ia{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},yf=class extends Ia{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},Vl=class extends I{},Bk=class extends Vl{},Uk=class extends Vl{},Gl=class extends I{},zk=class extends Gl{},$k=class extends Gl{},ys=class extends I{},Vk=class extends ys{},Gk=class extends ys{async _call(e){return new Je(await super._call(e))}},jk=class extends ys{async _call(e){return new oe(await super._call(e))}},Wk=class extends ys{async _call(e){return new _t(await super._call(e))}},jl=class extends I{},qk=class extends jl{},Hk=class extends jl{},Pa=class extends I{},Kk=class extends Pa{},Qk=class extends Pa{async _call(e){return new oe(await super._call(e))}},Jk=class extends Pa{},Ra=class extends I{},Xk=class extends Ra{},Yk=class extends Ra{async _call(e){return new oe(await super._call(e))}},Zk=class extends Ra{},Oa=class extends I{},e1=class extends Oa{},t1=class extends Oa{async _call(e){return new oe(await super._call(e))}},r1=class extends Oa{},La=class extends I{},n1=class extends La{},s1=class extends La{async _call(e){return new oe(await super._call(e))}},a1=class extends La{},Wl=class extends I{},o1=class extends Wl{},i1=class extends Wl{async _call(e){return new oe(await super._call(e))}},ql=class extends I{},l1=class extends ql{},c1=class extends ql{async _call(e){return new oe(await super._call(e))}},vs=class extends I{},u1=class extends vs{},d1=class extends vs{async _call(e){return new Je(await super._call(e))}},p1=class extends vs{async _call(e){return new oe(await super._call(e))}},h1=class extends vs{async _call(e){return new je(await super._call(e))}},Hl=class extends I{},f1=class extends Hl{},m1=class extends Hl{},Kl=class extends I{constructor(){super(...arguments);w(this,"requires_attention_mask",!1);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values","decoder_input_ids","past_key_values"])}},_1=class extends Kl{},g1=class extends Kl{},bn=class extends I{},w1=class extends bn{},y1=class extends bn{async _call(e){return new Je(await super._call(e))}},v1=class extends bn{async _call(e){return new oe(await super._call(e))}},b1=class extends bn{async _call(e){return new je(await super._call(e))}},M1=class extends bn{async _call(e){return new _t(await super._call(e))}},Ql=class extends I{},x1=class extends Ql{},T1=class extends Ql{},Jl=class extends I{},E1=class extends Jl{},k1=class extends Jl{},vf=class extends I{},C1=class extends vf{constructor(...t){super(...t);w(this,"forward_params",["input_ids","pixel_values","images_seq_mask","images_emb_mask","attention_mask","position_ids","past_key_values"]);this._generation_mode="text"}async forward(t){let r=this._generation_mode??"text",n;if(r==="text"||!t.past_key_values){let l=this.sessions.prepare_inputs_embeds,c=ot(t,l.inputNames);n=await be(l,c)}else{let l=this.sessions.gen_img_embeds,c=ot({image_ids:t.input_ids},l.inputNames);n=await be(l,c)}let s={...t,...n},a=await _r(this,s),o=this.sessions[r==="text"?"lm_head":"gen_head"];if(!o)throw new Error(`Unable to find "${o}" generation head`);let i=await be(o,ot(a,o.inputNames));return{...n,...a,...i}}prepare_inputs_for_generation(t,r,n){let s=!!r.past_key_values;return n.guidance_scale!==null&&n.guidance_scale>1&&(s?r.input_ids=Fe([r.input_ids,r.input_ids],0):(r.input_ids=Fe([r.input_ids,_i(r.input_ids,BigInt(n.pad_token_id))],0),r.attention_mask=Fe([r.attention_mask,_i(r.attention_mask,0n)],0))),(s||!r.pixel_values)&&(r.pixel_values=lt([0,0,3,384,384],1)),s&&(r.images_seq_mask=new W("bool",new Array(1).fill(!0).fill(!1,0,1),[1,1]),r.images_emb_mask=new W("bool",new Array(0).fill(!1),[1,1,0])),r}async generate(t){return this._generation_mode="text",super.generate(t)}async generate_images(t){this._generation_mode="image";let r=(t.inputs??t[this.main_input_name]).dims[1],s=(await super.generate(t)).slice(null,[r,null]),a=this.sessions.image_decode,{decoded_image:o}=await be(a,{generated_tokens:s}),i=o.add_(1).mul_(255/2).clamp_(0,255).to("uint8"),l=[];for(let c of i){let u=Mt.fromTensor(c);l.push(u)}return l}},Xl=class extends I{},A1=class extends Xl{},S1=class extends Xl{},bf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}_apply_and_filter_by_delay_pattern_mask(t){let[r,n]=t.dims,s=this.config.decoder.num_codebooks,a=n-s,o=0;for(let c=0;c<t.size;++c){if(t.data[c]==this.config.decoder.pad_token_id)continue;let u=c%n,p=Math.floor(c/n)%s,f=u-p;f>0&&f<=a&&(t.data[o++]=t.data[c])}let i=Math.floor(r/s),l=o/(i*s);return new W(t.type,t.data.slice(0,o),[i,s,l])}prepare_inputs_for_generation(t,r,n){let s=BigInt(this.config.decoder.pad_token_id),a=structuredClone(t);for(let o=0;o<a.length;++o)for(let i=0;i<a[o].length;++i)o%this.config.decoder.num_codebooks>=i&&(a[o][i]=s);return n.guidance_scale!==null&&n.guidance_scale>1&&(a=a.concat(a)),vi(this,a,r,n)}async generate(t){let r=await super.generate(t),n=this._apply_and_filter_by_delay_pattern_mask(r).unsqueeze_(0),{audio_values:s}=await be(this.sessions.encodec_decode,{audio_codes:n});return s}},Yl=class extends I{},I1=class extends Yl{},P1=class extends Yl{},Zl=class extends I{},R1=class extends Zl{},O1=class extends Zl{},Mn=class extends I{},L1=class extends Mn{},F1=class extends Mn{async _call(e){return new Je(await super._call(e))}},N1=class extends Mn{async _call(e){return new oe(await super._call(e))}},D1=class extends Mn{async _call(e){return new je(await super._call(e))}},B1=class extends Mn{async _call(e){return new _t(await super._call(e))}},Mf=class extends I{},U1=class extends Mf{},ec=class extends I{},z1=class extends ec{},$1=class extends ec{},tc=class extends I{},V1=class extends tc{},G1=class extends tc{},rc=class extends I{},j1=class extends rc{},W1=class extends rc{},nc=class extends I{},q1=class extends nc{},H1=class extends nc{},sc=class extends I{},K1=class extends sc{},Q1=class extends sc{},ac=class extends I{},J1=class extends ac{},X1=class extends ac{},oc=class extends I{},Y1=class extends oc{},Z1=class extends oc{},ic=class extends I{},eC=class extends ic{},tC=class extends ic{},rC=class extends gr{},xf=class extends I{},nC=class extends xf{async _call(e){return new hn(await super._call(e))}},lc=class extends I{},sC=class extends lc{},aC=class extends lc{},cc=class extends I{},oC=class extends cc{},iC=class extends cc{},uc=class extends I{},lC=class extends uc{},cC=class extends uc{},dc=class extends I{},uC=class extends dc{},dC=class extends dc{},Tf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","pixel_values","image_sizes","past_key_values"])}},Ef=class extends Tf{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:r=null,image_sizes:n=null,position_ids:s=null,inputs_embeds:a=null,past_key_values:o=null,generation_config:i=null,logits_processor:l=null,...c}){if(!a){let p;if(r&&e.dims[1]!==1){if(!n)throw new Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:p}=await be(this.sessions.vision_encoder,{pixel_values:r,image_sizes:n}))}else{let f=this.config.normalized_config.hidden_size;p=new W("float32",[],[0,f])}({inputs_embeds:a}=await be(this.sessions.prepare_inputs_embeds,{input_ids:e,image_features:p}))}return await _r(this,{inputs_embeds:a,past_key_values:o,attention_mask:t,position_ids:s,generation_config:i,logits_processor:l},!1)}},pc=class extends I{},pC=class extends pc{},hC=class extends pc{async _call(e){return new oe(await super._call(e))}},hc=class extends I{},fC=class extends hc{},mC=class extends hc{async _call(e){return new je(await super._call(e))}},fc=class extends I{},_C=class extends fc{},gC=class extends fc{},mc=class extends I{},wC=class extends mc{},yC=class extends mc{},_c=class extends I{},vC=class extends _c{},bC=class extends _c{},gc=class extends I{},MC=class extends gc{},xC=class extends gc{},wc=class extends I{},TC=class extends wc{},EC=class extends wc{},yc=class extends wl{},vc=class extends yl{},kC=class extends yc{},kf=class extends vc{},bc=class extends yc{},Mc=class extends bc{},CC=class extends bc{},Cf=class extends Mc{},xc=class extends I{},AC=class extends xc{},SC=class extends xc{async _call(e){return new oe(await super._call(e))}},Tc=class extends I{},IC=class extends Tc{},PC=class extends Tc{async _call(e){return new Af(await super._call(e))}},Af=class extends ms{},xn=class extends I{},RC=class extends xn{},OC=class extends xn{async _call(e){return new Je(await super._call(e))}},LC=class extends xn{async _call(e){return new oe(await super._call(e))}},FC=class extends xn{async _call(e){return new je(await super._call(e))}},NC=class extends xn{async _call(e){return new _t(await super._call(e))}},Tn=class extends I{},DC=class extends Tn{},BC=class extends Tn{async _call(e){return new Je(await super._call(e))}},UC=class extends Tn{async _call(e){return new oe(await super._call(e))}},zC=class extends Tn{async _call(e){return new je(await super._call(e))}},$C=class extends Tn{async _call(e){return new _t(await super._call(e))}},Ec=class extends I{},VC=class extends Ec{},GC=class extends Ec{async _call(e){return new Sf(await super._call(e))}},Sf=class extends ms{},If=class extends Qe{constructor({iou_scores:e,pred_masks:t}){super(),this.iou_scores=e,this.pred_masks=t}},Pf=class extends I{},jC=class extends Pf{async get_image_embeddings({pixel_values:e}){return await Lr(this,{pixel_values:e})}async forward(e){!e.image_embeddings||!e.image_positional_embeddings?e={...e,...await this.get_image_embeddings(e)}:e={...e},e.input_labels??(e.input_labels=xt(e.input_points.dims.slice(0,-1)));let t={image_embeddings:e.image_embeddings,image_positional_embeddings:e.image_positional_embeddings};return e.input_points&&(t.input_points=e.input_points),e.input_labels&&(t.input_labels=e.input_labels),e.input_boxes&&(t.input_boxes=e.input_boxes),await be(this.sessions.prompt_encoder_mask_decoder,t)}async _call(e){return new If(await super._call(e))}},Rf=class extends Qe{constructor({iou_scores:e,pred_masks:t,object_score_logits:r}){super(),this.iou_scores=e,this.pred_masks=t,this.object_score_logits=r}},Of=class extends I{},kc=class extends Of{async get_image_embeddings({pixel_values:e}){return await Lr(this,{pixel_values:e})}async forward(e){let{num_feature_levels:t}=this.config.vision_config;if(Array.from({length:t},(a,o)=>`image_embeddings.${o}`).some(a=>!e[a])?e={...e,...await this.get_image_embeddings(e)}:e={...e},e.input_points){if(e.input_boxes&&e.input_boxes.dims[1]!==1)throw new Error("When both `input_points` and `input_boxes` are provided, the number of boxes per image must be 1.");let a=e.input_points.dims;e.input_labels??(e.input_labels=xt(a.slice(0,-1))),e.input_boxes??(e.input_boxes=lt([a[0],0,4],0))}else if(e.input_boxes){let a=e.input_boxes.dims;e.input_labels=lt([a[0],a[1],0],-1n),e.input_points=lt([a[0],1,0,2],0)}else throw new Error("At least one of `input_points` or `input_boxes` must be provided.");let n=this.sessions.prompt_encoder_mask_decoder,s=ot(e,n.inputNames);return await be(n,s)}async _call(e){return new Rf(await super._call(e))}},WC=class extends kc{},qC=class extends kc{},Fa=class extends I{},HC=class extends Fa{},KC=class extends Fa{},QC=class extends Fa{},Na=class extends I{},JC=class extends Na{},XC=class extends Na{},YC=class extends Na{},Cc=class extends I{},ZC=class extends Cc{},Lf=class extends Cc{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},eA=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},Ac=class extends I{},tA=class extends Ac{},rA=class extends Ac{},Da=class extends I{constructor(){super(...arguments);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values"])}},nA=class extends Da{async encode(e){return await be(this.sessions.encoder_model,e)}async decode(e){return await be(this.sessions.decoder_model,e)}},Ff=class extends Da{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},Nf=class extends Da{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},Sc=class extends I{},sA=class extends Sc{},aA=class extends Sc{},Ba=class extends I{},oA=class extends Ba{},iA=class extends Ba{},lA=class extends Ba{async generate_speech(e,t,{threshold:r=.5,minlenratio:n=0,maxlenratio:s=20,vocoder:a=null}={}){let o={input_ids:e},{encoder_outputs:i,encoder_attention_mask:l}=await Lr(this,o),c=i.dims[1]/this.config.reduction_factor,u=Math.floor(c*s),p=Math.floor(c*n),f=this.config.num_mel_bins,m=[],y=null,v=null,x=0;for(;;){++x;let A=Hx(!!v),C;v?C=v.output_sequence_out:C=new W("float32",new Float32Array(f),[1,1,f]);let S={use_cache_branch:A,output_sequence:C,encoder_attention_mask:l,speaker_embeddings:t,encoder_hidden_states:i};this.addPastKeyValues(S,y),v=await be(this.sessions.decoder_model_merged,S),y=this.getPastKeyValues(v,y);let{prob:O,spectrum:E}=v;if(m.push(E),x>=p&&(Array.from(O.data).filter(K=>K>=r).length>0||x>=u))break}let M=Fe(m),{waveform:T}=await be(a.sessions.model,{spectrogram:M});return{spectrogram:M,waveform:T}}},cA=class extends I{constructor(){super(...arguments);w(this,"main_input_name","spectrogram")}},bs=class extends I{},uA=class extends bs{},dA=class extends bs{async _call(e){return new Je(await super._call(e))}},pA=class extends bs{async _call(e){return new oe(await super._call(e))}},hA=class extends bs{async _call(e){return new _t(await super._call(e))}},Ic=class extends I{},fA=class extends Ic{},mA=class extends Ic{},Pc=class extends I{},_A=class extends Pc{},gA=class extends Pc{},Df=class extends I{},wA=class extends Df{},Bf=class extends I{},Uf=class extends Bf{async generate_speech({input_ids:e,attention_mask:t,style:r,num_inference_steps:n=5,speed:s=1.05}){let{sampling_rate:a,chunk_compress_factor:o,base_chunk_size:i,latent_dim:l}=this.config,{last_hidden_state:c,durations:u}=await be(this.sessions.text_encoder,{input_ids:e,attention_mask:t,style:r}),p=u.div(s).mul_(a),f=i*o,m=p.data,y=Int32Array.from(m,$=>Math.ceil($/f)),v=Math.max(...y),x=e.dims[0],M=new BigInt64Array(x*v);for(let $=0;$<x;++$)M.fill(1n,$*v,$*v+y[$]);let T=new W("int64",M,[x,v]),A=l*o,C=A*v,S=Xv([x,A,v]),O=S.data;for(let $=0;$<x;++$)if(y[$]!==v)for(let V=0;V<A;++V)O.fill(0,$*C+V*v+y[$],$*C+(V+1)*v);let E=lt([x],n);for(let $=0;$<n;++$){let V=lt([x],$);({denoised_latents:S}=await be(this.sessions.latent_denoiser,{style:r,noisy_latents:S,latent_mask:T,encoder_outputs:c,attention_mask:t,timestep:V,num_inference_steps:E}))}let{waveform:K}=await be(this.sessions.voice_decoder,{latents:S});return{waveform:K,durations:p}}},Ua=class extends I{},yA=class extends Ua{},vA=class extends Ua{async _call(e){return new oe(await super._call(e))}},bA=class extends Ua{},Rc=class extends I{},MA=class extends Rc{},xA=class extends Rc{},Oc=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}},TA=class extends Oc{},EA=class extends Oc{},Lc=class extends I{},kA=class extends Lc{},CA=class extends Lc{async _call(e){return new zf(await super._call(e))}},zf=class extends el{},$f=class extends I{},AA=class extends $f{},za=class extends I{},SA=class extends za{},IA=class extends za{async _call(e){return new hn(await super._call(e))}},PA=class extends za{async _call(e){return new oe(await super._call(e))}},Ms=class extends I{},RA=class extends Ms{},OA=class extends Ms{async _call(e){return new hn(await super._call(e))}},LA=class extends Ms{async _call(e){return new oe(await super._call(e))}},FA=class extends Ms{async _call(e){return new je(await super._call(e))}},Fc=class extends I{},NA=class extends Fc{},DA=class extends Fc{},BA=class extends I{constructor(){super(...arguments);w(this,"main_input_name","pixel_values");w(this,"forward_params",["pixel_values","decoder_input_ids","encoder_hidden_states","past_key_values"])}},Nc=class extends I{},UA=class extends Nc{},zA=class extends Nc{async _call(e){return new oe(await super._call(e))}},Vf=class extends I{},$A=class extends Vf{},Dc=class extends I{},VA=class extends Dc{},GA=class extends Dc{async _call(e){return new oe(await super._call(e))}},Gf=class extends I{},jA=class extends Gf{async _call(e){return new cU(await super._call(e))}},jf=class extends I{},WA=class extends jf{},Wf=class extends Qe{constructor({waveform:e,spectrogram:t}){super(),this.waveform=e,this.spectrogram=t}},qf=class extends I{},qA=class extends qf{async _call(e){return new Wf(await super._call(e))}},HA=class extends Sl{},pv=2,TU=1,qd=new WeakMap;SU=class extends hs{constructor(e){super(),this._s=e}_call(e){let t=this._s.stream_exhausted&&this._s.audio_embed_queue.length===0;return e.map(()=>t)}},Hf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values"])}},Kf=class extends Hf{async forward({input_ids:e,past_key_values:t,...r}){let n=e.dims[1],s=qd.get(this);s&&await CU(s,s.audio_consumed+n);let{inputs_embeds:a}=await be(this.sessions.embed_tokens,{input_ids:e});s&&AU(s,a,n);let o={inputs_embeds:a,...r};this.addPastKeyValues(o,t);let i=this.sessions.decoder_model_merged,l=ot(o,i.inputNames);return await be(i,l)}async generate({input_features:e,stopping_criteria:t,...r}){if(!e)throw new Error("input_features (generator/iterable) must be provided");let n=EU(this,e);qd.set(this,n);let s=new Rh;s.push(new SU(n)),t&&s.extend(t);try{return await super.generate({...r,stopping_criteria:s})}finally{n.enc_kv_cache.dispose(),qd.delete(this)}}},$a=class extends I{},KA=class extends $a{},QA=class extends $a{async _call(e){return new hn(await super._call(e))}},JA=class extends $a{async _call(e){return new oe(await super._call(e))}},Qf=class extends Qe{constructor({logits:e,embeddings:t}){super(),this.logits=e,this.embeddings=t}},En=class extends I{},XA=class extends En{},YA=class extends En{async _call(e){return new hn(await super._call(e))}},ZA=class extends En{async _call(e){return new oe(await super._call(e))}},eS=class extends En{async _call(e){return new Qf(await super._call(e))}},tS=class extends En{async _call(e){return new je(await super._call(e))}},Jf=class extends I{},rS=class extends Jf{},IU=class extends Gx{constructor(){super(...arguments);w(this,"return_timestamps",null);w(this,"return_token_timestamps",null);w(this,"num_frames",null);w(this,"alignment_heads",null);w(this,"task",null);w(this,"language",null);w(this,"no_timestamps_token_id",null);w(this,"prompt_ids",null);w(this,"is_multilingual",null);w(this,"lang_to_id",null);w(this,"task_to_id",null);w(this,"max_initial_timestamp_index",1)}},Bc=class extends I{constructor(){super(...arguments);w(this,"requires_attention_mask",!1);w(this,"main_input_name","input_features");w(this,"forward_params",["input_features","attention_mask","decoder_input_ids","decoder_attention_mask","past_key_values"])}},nS=class extends Bc{},Xf=class extends Bc{_prepare_generation_config(e,t){return super._prepare_generation_config(e,t,IU)}_retrieve_init_tokens(e){let t=[e.decoder_start_token_id],r=e.language,n=e.task;if(e.is_multilingual){r||(ce.warn("No language specified - defaulting to English (en)."),r="en");let a=`<|${_B(r)}|>`;t.push(e.lang_to_id[a]),t.push(e.task_to_id[n??"transcribe"])}else if(r||n)throw new Error("Cannot specify `task` or `language` for an English-only model. If the model is intended to be multilingual, pass `is_multilingual=true` to generate, or update the generation config.");return!e.return_timestamps&&e.no_timestamps_token_id&&t.at(-1)!==e.no_timestamps_token_id?t.push(e.no_timestamps_token_id):e.return_timestamps&&t.at(-1)===e.no_timestamps_token_id&&(ce.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),t.pop()),t.filter(s=>s!=null)}async generate({inputs:e=null,generation_config:t=null,logits_processor:r=null,stopping_criteria:n=null,...s}){t=this._prepare_generation_config(t,s);let a=s.decoder_input_ids??this._retrieve_init_tokens(t);if(t.return_timestamps&&(r??(r=new yi),r.push(new Fx(t,a))),t.begin_suppress_tokens&&(r??(r=new yi),r.push(new Ph(t.begin_suppress_tokens,a.length))),t.return_token_timestamps){if(!t.alignment_heads)throw new Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");t.task==="translate"&&ce.warn("Token-level timestamps may not be reliable for task 'translate'."),t.output_attentions=!0,t.return_dict_in_generate=!0}let o=await super.generate({inputs:e,generation_config:t,logits_processor:r,decoder_input_ids:a,...s});return t.return_token_timestamps&&(o.token_timestamps=this._extract_token_timestamps(o,t.alignment_heads,t.num_frames)),o}_extract_token_timestamps(e,t,r=null,n=.02){if(!e.cross_attentions)throw new Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");r==null&&ce.warn("`num_frames` has not been set, meaning the entire audio will be analyzed. This may lead to inaccurate token-level timestamps for short audios (< 30 seconds).");let s=this.config.median_filter_width;s===void 0&&(ce.warn("Model config has no `median_filter_width`, using default value of 7."),s=7);let a=e.cross_attentions,o=Array.from({length:this.config.decoder_layers},(y,v)=>Fe(a.map(x=>x[v]),2)),i=Fr(t.map(([y,v])=>{if(y>=o.length)throw new Error(`Layer index ${y} is out of bounds for cross attentions (length ${o.length}).`);return r?o[y].slice(null,v,null,[0,r]):o[y].slice(null,v)})).transpose(1,0,2,3),[l,c]=Zp(i,-2,0,!0),u=i.clone();for(let y=0;y<u.dims[0];++y){let v=u[y];for(let x=0;x<v.dims[0];++x){let M=v[x],T=l[y][x][0].data,A=c[y][x][0].data;for(let C=0;C<M.dims[0];++C){let S=M[C].data;for(let O=0;O<S.length;++O)S[O]=(S[O]-A[O])/T[O];S.set(qD(S,s))}}}let p=[ki(u,1)],f=e.sequences.dims,m=new W("float32",new Float32Array(f[0]*f[1]),f);for(let y=0;y<f[0];++y){let v=p[y].neg().squeeze_(0),[x,M]=KD(v.tolist()),T=Array.from({length:x.length-1},(S,O)=>x[O+1]-x[O]),A=jt([1],T).map(S=>!!S),C=[];for(let S=0;S<A.length;++S)A[S]&&C.push(M[S]*n);m[y].data.set(C,1)}return m}},sS=class extends Xf{},kn=class extends I{},aS=class extends kn{},oS=class extends kn{async _call(e){return new Je(await super._call(e))}},iS=class extends kn{async _call(e){return new oe(await super._call(e))}},lS=class extends kn{async _call(e){return new je(await super._call(e))}},cS=class extends kn{async _call(e){return new _t(await super._call(e))}},Cn=class extends I{},uS=class extends Cn{},dS=class extends Cn{async _call(e){return new Je(await super._call(e))}},pS=class extends Cn{async _call(e){return new oe(await super._call(e))}},hS=class extends Cn{async _call(e){return new je(await super._call(e))}},fS=class extends Cn{async _call(e){return new _t(await super._call(e))}},Uc=class extends I{},mS=class extends Uc{},_S=class extends Uc{async _call(e){return new Yf(await super._call(e))}},Yf=class extends Qe{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},zc=class extends I{},gS=class extends zc{},wS=class extends zc{},PU=new Map([["bert","BertModel"],["eurobert","EuroBertModel"],["neobert","NeoBertModel"],["modernbert","ModernBertModel"],["nomic_bert","NomicBertModel"],["roformer","RoFormerModel"],["electra","ElectraModel"],["esm","EsmModel"],["convbert","ConvBertModel"],["camembert","CamembertModel"],["deberta","DebertaModel"],["deberta-v2","DebertaV2Model"],["mpnet","MPNetModel"],["albert","AlbertModel"],["distilbert","DistilBertModel"],["roberta","RobertaModel"],["xlm","XLMModel"],["xlm-roberta","XLMRobertaModel"],["clap","ClapModel"],["clip","CLIPModel"],["clipseg","CLIPSegModel"],["chinese_clip","ChineseCLIPModel"],["siglip","SiglipModel"],["jina_clip","JinaCLIPModel"],["mobilebert","MobileBertModel"],["squeezebert","SqueezeBertModel"],["wav2vec2","Wav2Vec2Model"],["wav2vec2-bert","Wav2Vec2BertModel"],["unispeech","UniSpeechModel"],["unispeech-sat","UniSpeechSatModel"],["hubert","HubertModel"],["wavlm","WavLMModel"],["audio-spectrogram-transformer","ASTModel"],["vits","VitsModel"],["pyannote","PyAnnoteModel"],["wespeaker-resnet","WeSpeakerResNetModel"],["detr","DetrModel"],["rt_detr","RTDetrModel"],["rt_detr_v2","RTDetrV2Model"],["rf_detr","RFDetrModel"],["d_fine","DFineModel"],["table-transformer","TableTransformerModel"],["vit","ViTModel"],["ijepa","IJepaModel"],["pvt","PvtModel"],["vit_msn","ViTMSNModel"],["vit_mae","ViTMAEModel"],["groupvit","GroupViTModel"],["fastvit","FastViTModel"],["mobilevit","MobileViTModel"],["mobilevitv2","MobileViTV2Model"],["owlvit","OwlViTModel"],["owlv2","Owlv2Model"],["beit","BeitModel"],["deit","DeiTModel"],["hiera","HieraModel"],["convnext","ConvNextModel"],["convnextv2","ConvNextV2Model"],["dinov2","Dinov2Model"],["dinov2_with_registers","Dinov2WithRegistersModel"],["dinov3_vit","DINOv3ViTModel"],["dinov3_convnext","DINOv3ConvNextModel"],["resnet","ResNetModel"],["swin","SwinModel"],["swin2sr","Swin2SRModel"],["donut-swin","DonutSwinModel"],["yolos","YolosModel"],["dpt","DPTModel"],["glpn","GLPNModel"],["hifigan","SpeechT5HifiGan"],["efficientnet","EfficientNetModel"],["decision_transformer","DecisionTransformerModel"],["patchtst","PatchTSTModel"],["patchtsmixer","PatchTSMixerModel"],["mobilenet_v1","MobileNetV1Model"],["mobilenet_v2","MobileNetV2Model"],["mobilenet_v3","MobileNetV3Model"],["mobilenet_v4","MobileNetV4Model"],["maskformer","MaskFormerModel"],["mgp-str","MgpstrForSceneTextRecognition"],["style_text_to_speech_2","StyleTextToSpeech2Model"]]),RU=new Map([["t5","T5Model"],["longt5","LongT5Model"],["mt5","MT5Model"],["bart","BartModel"],["mbart","MBartModel"],["marian","MarianModel"],["whisper","WhisperModel"],["m2m_100","M2M100Model"],["blenderbot","BlenderbotModel"],["blenderbot-small","BlenderbotSmallModel"]]),OU=new Map([["mimi","MimiModel"],["dac","DacModel"],["snac","SnacModel"]]),LU=new Map([["bloom","BloomModel"],["jais","JAISModel"],["gpt2","GPT2Model"],["gpt_oss","GptOssModel"],["gptj","GPTJModel"],["gpt_bigcode","GPTBigCodeModel"],["gpt_neo","GPTNeoModel"],["gpt_neox","GPTNeoXModel"],["codegen","CodeGenModel"],["llama","LlamaModel"],["apertus","ApertusModel"],["nanochat","NanoChatModel"],["arcee","ArceeModel"],["afmoe","AfmoeModel"],["lfm2","Lfm2Model"],["lfm2_moe","Lfm2MoeModel"],["smollm3","SmolLM3Model"],["exaone","ExaoneModel"],["olmo","OlmoModel"],["olmo2","Olmo2Model"],["olmo3","Olmo3Model"],["olmo_hybrid","OlmoHybridModel"],["mobilellm","MobileLLMModel"],["granite","GraniteModel"],["granitemoehybrid","GraniteMoeHybridModel"],["cohere","CohereModel"],["cohere2","Cohere2Model"],["gemma","GemmaModel"],["gemma2","Gemma2Model"],["vaultgemma","VaultGemmaModel"],["gemma3_text","Gemma3Model"],["helium","HeliumModel"],["glm","GlmModel"],["glm_moe_dsa","GlmMoeDsaModel"],["openelm","OpenELMModel"],["qwen2","Qwen2Model"],["qwen2_moe","Qwen2MoeModel"],["qwen3","Qwen3Model"],["qwen3_moe","Qwen3MoeModel"],["qwen3_next","Qwen3NextModel"],["phi","PhiModel"],["phi3","Phi3Model"],["mpt","MptModel"],["opt","OPTModel"],["mistral","MistralModel"],["mistral4","Mistral4Model"],["ministral","MinistralModel"],["ministral3","Ministral3Model"],["ernie4_5","Ernie4_5ForCausalLM"],["starcoder2","Starcoder2Model"],["deepseek_v3","DeepseekV3Model"],["falcon","FalconModel"],["falcon_h1","FalconH1Model"],["nemotron_h","NemotronHModel"],["solar_open","SolarOpenModel"],["stablelm","StableLmModel"],["modernbert-decoder","ModernBertDecoderModel"],["hunyuan_v1_dense","HunYuanDenseV1Model"],["youtu","YoutuModel"]]),yS=new Map([["speecht5","SpeechT5ForSpeechToText"],["whisper","WhisperForConditionalGeneration"],["lite-whisper","LiteWhisperForConditionalGeneration"],["moonshine","MoonshineForConditionalGeneration"]]),vS=new Map([["speecht5","SpeechT5ForTextToSpeech"]]),bS=new Map([["vits","VitsModel"],["musicgen","MusicgenForConditionalGeneration"],["supertonic","SupertonicForConditionalGeneration"]]),MS=new Map([["bert","BertForSequenceClassification"],["eurobert","EuroBertForSequenceClassification"],["neobert","NeoBertForSequenceClassification"],["modernbert","ModernBertForSequenceClassification"],["roformer","RoFormerForSequenceClassification"],["electra","ElectraForSequenceClassification"],["esm","EsmForSequenceClassification"],["convbert","ConvBertForSequenceClassification"],["camembert","CamembertForSequenceClassification"],["deberta","DebertaForSequenceClassification"],["deberta-v2","DebertaV2ForSequenceClassification"],["mpnet","MPNetForSequenceClassification"],["albert","AlbertForSequenceClassification"],["distilbert","DistilBertForSequenceClassification"],["roberta","RobertaForSequenceClassification"],["xlm","XLMForSequenceClassification"],["xlm-roberta","XLMRobertaForSequenceClassification"],["bart","BartForSequenceClassification"],["mbart","MBartForSequenceClassification"],["mobilebert","MobileBertForSequenceClassification"],["squeezebert","SqueezeBertForSequenceClassification"]]),xS=new Map([["bert","BertForTokenClassification"],["eurobert","EuroBertForTokenClassification"],["neobert","NeoBertForTokenClassification"],["modernbert","ModernBertForTokenClassification"],["roformer","RoFormerForTokenClassification"],["electra","ElectraForTokenClassification"],["esm","EsmForTokenClassification"],["convbert","ConvBertForTokenClassification"],["camembert","CamembertForTokenClassification"],["deberta","DebertaForTokenClassification"],["deberta-v2","DebertaV2ForTokenClassification"],["mpnet","MPNetForTokenClassification"],["distilbert","DistilBertForTokenClassification"],["roberta","RobertaForTokenClassification"],["xlm","XLMForTokenClassification"],["xlm-roberta","XLMRobertaForTokenClassification"]]),TS=new Map([["t5","T5ForConditionalGeneration"],["longt5","LongT5ForConditionalGeneration"],["mt5","MT5ForConditionalGeneration"],["bart","BartForConditionalGeneration"],["mbart","MBartForConditionalGeneration"],["marian","MarianMTModel"],["m2m_100","M2M100ForConditionalGeneration"],["blenderbot","BlenderbotForConditionalGeneration"],["blenderbot-small","BlenderbotSmallForConditionalGeneration"]]),ES=new Map([["bloom","BloomForCausalLM"],["gpt2","GPT2LMHeadModel"],["gpt_oss","GptOssForCausalLM"],["jais","JAISLMHeadModel"],["gptj","GPTJForCausalLM"],["gpt_bigcode","GPTBigCodeForCausalLM"],["gpt_neo","GPTNeoForCausalLM"],["gpt_neox","GPTNeoXForCausalLM"],["codegen","CodeGenForCausalLM"],["llama","LlamaForCausalLM"],["nanochat","NanoChatForCausalLM"],["apertus","ApertusForCausalLM"],["llama4_text","Llama4ForCausalLM"],["arcee","ArceeForCausalLM"],["afmoe","AfmoeForCausalLM"],["lfm2","Lfm2ForCausalLM"],["lfm2_moe","Lfm2MoeForCausalLM"],["smollm3","SmolLM3ForCausalLM"],["exaone","ExaoneForCausalLM"],["olmo","OlmoForCausalLM"],["olmo2","Olmo2ForCausalLM"],["olmo3","Olmo3ForCausalLM"],["olmo_hybrid","OlmoHybridForCausalLM"],["mobilellm","MobileLLMForCausalLM"],["granite","GraniteForCausalLM"],["granitemoehybrid","GraniteMoeHybridForCausalLM"],["cohere","CohereForCausalLM"],["cohere2","Cohere2ForCausalLM"],["gemma","GemmaForCausalLM"],["gemma2","Gemma2ForCausalLM"],["vaultgemma","VaultGemmaForCausalLM"],["gemma3_text","Gemma3ForCausalLM"],["gemma3","Gemma3ForCausalLM"],["helium","HeliumForCausalLM"],["glm","GlmForCausalLM"],["glm_moe_dsa","GlmMoeDsaForCausalLM"],["openelm","OpenELMForCausalLM"],["qwen2","Qwen2ForCausalLM"],["qwen2_moe","Qwen2MoeForCausalLM"],["qwen3","Qwen3ForCausalLM"],["qwen3_moe","Qwen3MoeForCausalLM"],["qwen3_next","Qwen3NextForCausalLM"],["qwen2_vl","Qwen2VLForCausalLM"],["qwen2_5_vl","Qwen2_5_VLForCausalLM"],["qwen3_vl","Qwen3VLForCausalLM"],["qwen3_vl_moe","Qwen3VLMoeForCausalLM"],["qwen3_5","Qwen3_5ForCausalLM"],["qwen3_5_moe","Qwen3_5MoeForCausalLM"],["gemma3n","Gemma3nForCausalLM"],["phi","PhiForCausalLM"],["phi3","Phi3ForCausalLM"],["mpt","MptForCausalLM"],["opt","OPTForCausalLM"],["mbart","MBartForCausalLM"],["mistral","MistralForCausalLM"],["mistral4","Mistral4ForCausalLM"],["ministral","MinistralForCausalLM"],["ministral3","Ministral3ForCausalLM"],["ernie4_5","Ernie4_5ForCausalLM"],["starcoder2","Starcoder2ForCausalLM"],["deepseek_v3","DeepseekV3ForCausalLM"],["falcon","FalconForCausalLM"],["falcon_h1","FalconH1ForCausalLM"],["nemotron_h","NemotronHForCausalLM"],["trocr","TrOCRForCausalLM"],["solar_open","SolarOpenForCausalLM"],["stablelm","StableLmForCausalLM"],["modernbert-decoder","ModernBertDecoderForCausalLM"],["hunyuan_v1_dense","HunYuanDenseV1ForCausalLM"],["youtu","YoutuForCausalLM"],["phi3_v","Phi3VForCausalLM"]]),FU=new Map([["multi_modality","MultiModalityCausalLM"]]),kS=new Map([["bert","BertForMaskedLM"],["eurobert","EuroBertForMaskedLM"],["neobert","NeoBertForMaskedLM"],["modernbert","ModernBertForMaskedLM"],["roformer","RoFormerForMaskedLM"],["electra","ElectraForMaskedLM"],["esm","EsmForMaskedLM"],["convbert","ConvBertForMaskedLM"],["camembert","CamembertForMaskedLM"],["deberta","DebertaForMaskedLM"],["deberta-v2","DebertaV2ForMaskedLM"],["mpnet","MPNetForMaskedLM"],["albert","AlbertForMaskedLM"],["distilbert","DistilBertForMaskedLM"],["roberta","RobertaForMaskedLM"],["xlm","XLMWithLMHeadModel"],["xlm-roberta","XLMRobertaForMaskedLM"],["mobilebert","MobileBertForMaskedLM"],["squeezebert","SqueezeBertForMaskedLM"]]),CS=new Map([["bert","BertForQuestionAnswering"],["neobert","NeoBertForQuestionAnswering"],["roformer","RoFormerForQuestionAnswering"],["electra","ElectraForQuestionAnswering"],["convbert","ConvBertForQuestionAnswering"],["camembert","CamembertForQuestionAnswering"],["deberta","DebertaForQuestionAnswering"],["deberta-v2","DebertaV2ForQuestionAnswering"],["mpnet","MPNetForQuestionAnswering"],["albert","AlbertForQuestionAnswering"],["distilbert","DistilBertForQuestionAnswering"],["roberta","RobertaForQuestionAnswering"],["xlm","XLMForQuestionAnswering"],["xlm-roberta","XLMRobertaForQuestionAnswering"],["mobilebert","MobileBertForQuestionAnswering"],["squeezebert","SqueezeBertForQuestionAnswering"]]),AS=new Map([["vision-encoder-decoder","VisionEncoderDecoderModel"],["idefics3","Idefics3ForConditionalGeneration"],["smolvlm","SmolVLMForConditionalGeneration"]]),SS=new Map([["llava","LlavaForConditionalGeneration"],["llava_onevision","LlavaOnevisionForConditionalGeneration"],["moondream1","Moondream1ForConditionalGeneration"],["florence2","Florence2ForConditionalGeneration"],["qwen2_vl","Qwen2VLForConditionalGeneration"],["qwen2_5_vl","Qwen2_5_VLForConditionalGeneration"],["qwen3_vl","Qwen3VLForConditionalGeneration"],["qwen3_vl_moe","Qwen3VLMoeForConditionalGeneration"],["qwen3_5","Qwen3_5ForConditionalGeneration"],["qwen3_5_moe","Qwen3_5MoeForConditionalGeneration"],["lfm2_vl","Lfm2VlForConditionalGeneration"],["idefics3","Idefics3ForConditionalGeneration"],["smolvlm","SmolVLMForConditionalGeneration"],["paligemma","PaliGemmaForConditionalGeneration"],["llava_qwen2","LlavaQwen2ForCausalLM"],["gemma3n","Gemma3nForConditionalGeneration"],["mistral3","Mistral3ForConditionalGeneration"],["lighton_ocr","LightOnOcrForConditionalGeneration"],["glm_ocr","GlmOcrForConditionalGeneration"]]),IS=new Map([["granite_speech","GraniteSpeechForConditionalGeneration"],["ultravox","UltravoxModel"],["voxtral","VoxtralForConditionalGeneration"],["voxtral_realtime","VoxtralRealtimeForConditionalGeneration"]]),NU=new Map([["vision-encoder-decoder","VisionEncoderDecoderModel"]]),PS=new Map([["vit","ViTForImageClassification"],["ijepa","IJepaForImageClassification"],["pvt","PvtForImageClassification"],["vit_msn","ViTMSNForImageClassification"],["fastvit","FastViTForImageClassification"],["mobilevit","MobileViTForImageClassification"],["mobilevitv2","MobileViTV2ForImageClassification"],["beit","BeitForImageClassification"],["deit","DeiTForImageClassification"],["hiera","HieraForImageClassification"],["convnext","ConvNextForImageClassification"],["convnextv2","ConvNextV2ForImageClassification"],["dinov2","Dinov2ForImageClassification"],["dinov2_with_registers","Dinov2WithRegistersForImageClassification"],["resnet","ResNetForImageClassification"],["swin","SwinForImageClassification"],["segformer","SegformerForImageClassification"],["efficientnet","EfficientNetForImageClassification"],["mobilenet_v1","MobileNetV1ForImageClassification"],["mobilenet_v2","MobileNetV2ForImageClassification"],["mobilenet_v3","MobileNetV3ForImageClassification"],["mobilenet_v4","MobileNetV4ForImageClassification"]]),RS=new Map([["detr","DetrForObjectDetection"],["rt_detr","RTDetrForObjectDetection"],["rt_detr_v2","RTDetrV2ForObjectDetection"],["rf_detr","RFDetrForObjectDetection"],["d_fine","DFineForObjectDetection"],["table-transformer","TableTransformerForObjectDetection"],["yolos","YolosForObjectDetection"]]),OS=new Map([["owlvit","OwlViTForObjectDetection"],["owlv2","Owlv2ForObjectDetection"],["grounding-dino","GroundingDinoForObjectDetection"]]),rs=new Map([["detr","DetrForSegmentation"],["clipseg","CLIPSegForImageSegmentation"]]),LS=new Map([["segformer","SegformerForSemanticSegmentation"],["sapiens","SapiensForSemanticSegmentation"],["swin","SwinForSemanticSegmentation"],["mobilenet_v1","MobileNetV1ForSemanticSegmentation"],["mobilenet_v2","MobileNetV2ForSemanticSegmentation"],["mobilenet_v3","MobileNetV3ForSemanticSegmentation"],["mobilenet_v4","MobileNetV4ForSemanticSegmentation"]]),FS=new Map([["detr","DetrForSegmentation"],["maskformer","MaskFormerForInstanceSegmentation"]]),NS=new Map([["sam","SamModel"],["sam2","Sam2Model"],["edgetam","EdgeTamModel"],["sam3_tracker","Sam3TrackerModel"]]),DS=new Map([["wav2vec2","Wav2Vec2ForCTC"],["wav2vec2-bert","Wav2Vec2BertForCTC"],["unispeech","UniSpeechForCTC"],["unispeech-sat","UniSpeechSatForCTC"],["wavlm","WavLMForCTC"],["hubert","HubertForCTC"],["parakeet_ctc","ParakeetForCTC"]]),BS=new Map([["wav2vec2","Wav2Vec2ForSequenceClassification"],["wav2vec2-bert","Wav2Vec2BertForSequenceClassification"],["unispeech","UniSpeechForSequenceClassification"],["unispeech-sat","UniSpeechSatForSequenceClassification"],["wavlm","WavLMForSequenceClassification"],["hubert","HubertForSequenceClassification"],["audio-spectrogram-transformer","ASTForAudioClassification"]]),US=new Map([["wavlm","WavLMForXVector"]]),zS=new Map([["unispeech-sat","UniSpeechSatForAudioFrameClassification"],["wavlm","WavLMForAudioFrameClassification"],["wav2vec2","Wav2Vec2ForAudioFrameClassification"],["pyannote","PyAnnoteForAudioFrameClassification"]]),$S=new Map([["vitmatte","VitMatteForImageMatting"]]),DU=new Map([["patchtst","PatchTSTForPrediction"],["patchtsmixer","PatchTSMixerForPrediction"]]),VS=new Map([["swin2sr","Swin2SRForImageSuperResolution"]]),GS=new Map([["chmv2","CHMv2ForDepthEstimation"],["dpt","DPTForDepthEstimation"],["depth_anything","DepthAnythingForDepthEstimation"],["glpn","GLPNForDepthEstimation"],["sapiens","SapiensForDepthEstimation"],["depth_pro","DepthProForDepthEstimation"],["metric3d","Metric3DForDepthEstimation"],["metric3dv2","Metric3Dv2ForDepthEstimation"]]),jS=new Map([["sapiens","SapiensForNormalEstimation"]]),WS=new Map([["vitpose","VitPoseForPoseEstimation"]]),qS=new Map([["clip","CLIPVisionModelWithProjection"],["siglip","SiglipVisionModel"],["jina_clip","JinaCLIPVisionModel"]]),HS=[[PU,J.EncoderOnly],[RU,J.EncoderDecoder],[LU,J.DecoderOnlyWithoutHead],[OU,J.AutoEncoder],[MS,J.EncoderOnly],[xS,J.EncoderOnly],[TS,J.Seq2Seq],[yS,J.Seq2Seq],[ES,J.DecoderOnly],[FU,J.MultiModality],[kS,J.EncoderOnly],[CS,J.EncoderOnly],[AS,J.Vision2Seq],[SS,J.ImageTextToText],[IS,J.AudioTextToText],[PS,J.EncoderOnly],[rs,J.EncoderOnly],[FS,J.EncoderOnly],[LS,J.EncoderOnly],[$S,J.EncoderOnly],[DU,J.EncoderOnly],[VS,J.EncoderOnly],[GS,J.EncoderOnly],[jS,J.EncoderOnly],[WS,J.EncoderOnly],[RS,J.EncoderOnly],[OS,J.EncoderOnly],[NS,J.MaskGeneration],[DS,J.EncoderOnly],[BS,J.EncoderOnly],[vS,J.Seq2Seq],[bS,J.EncoderOnly],[US,J.EncoderOnly],[zS,J.EncoderOnly],[qS,J.EncoderOnly]];for(let[e,t]of HS)for(let r of e.values()){mr.set(r,t);let n=Nh[r];os.set(n,r),Lh.set(r,n)}BU=[["MusicgenForConditionalGeneration",bf,J.Musicgen],["Phi3VForCausalLM",Ef,J.Phi3V],["CLIPTextModelWithProjection",Gh,J.EncoderOnly],["SiglipTextModel",Lf,J.EncoderOnly],["JinaCLIPTextModel",uf,J.EncoderOnly],["ClapTextModelWithProjection",$h,J.EncoderOnly],["ClapAudioModelWithProjection",Vh,J.EncoderOnly],["DacEncoderModel",qh,J.EncoderOnly],["DacDecoderModel",Hh,J.EncoderOnly],["MimiEncoderModel",wf,J.EncoderOnly],["MimiDecoderModel",yf,J.EncoderOnly],["SnacEncoderModel",Ff,J.EncoderOnly],["SnacDecoderModel",Nf,J.EncoderOnly],["Gemma3nForConditionalGeneration",hl,J.ImageAudioTextToText],["SupertonicForConditionalGeneration",Uf,J.Supertonic],["ChatterboxModel",Bh,J.Chatterbox],["Qwen2VLForCausalLM",gl,J.MultimodalLanguageModelOnly],["Qwen2_5_VLForCausalLM",yl,J.MultimodalLanguageModelOnly],["Qwen3VLForCausalLM",vc,J.MultimodalLanguageModelOnly],["Qwen3VLMoeForCausalLM",kf,J.MultimodalLanguageModelOnly],["Qwen3_5ForCausalLM",Mc,J.MultimodalLanguageModelOnly],["Qwen3_5MoeForCausalLM",Cf,J.MultimodalLanguageModelOnly],["Gemma3nForCausalLM",nf,J.MultimodalLanguageModelOnly],["VoxtralRealtimeForConditionalGeneration",Kf,J.VoxtralRealtime]];for(let[e,t,r]of BU)mr.set(e,r),os.set(t,e),Lh.set(e,t);KS=new Map([["modnet",rs],["birefnet",rs],["isnet",rs],["ben",rs]]);for(let[e,t]of KS.entries())t.set(e,"PreTrainedModel"),mr.set(e,J.EncoderOnly),Lh.set(e,I);UU=new Set(KS.keys());mr.set("PreTrainedModel",J.EncoderOnly);os.set(I,"PreTrainedModel");Te={MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES:MS,MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES:xS,MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES:vS,MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES:bS,MODEL_FOR_MASKED_LM_MAPPING_NAMES:kS,MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES:CS,MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES:PS,MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES:rs,MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES:LS,MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES:FS,MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES:RS,MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES:OS,MODEL_FOR_MASK_GENERATION_MAPPING_NAMES:NS,MODEL_FOR_CTC_MAPPING_NAMES:DS,MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES:BS,MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES:US,MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES:zS,MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES:NU,MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES:$S,MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES:VS,MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES:GS,MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES:jS,MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES:WS,MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES:qS,MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES:SS,MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES:IS,MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES:TS,MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES:yS,MODEL_FOR_CAUSAL_LM_MAPPING_NAMES:ES,MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES:AS};gU(Te);Ee=(ni=class{static supports(e){if(!this.MODEL_CLASS_MAPPINGS)return!1;for(let t of this.MODEL_CLASS_MAPPINGS)if(t.has(e))return!0;return this.BASE_IF_FAIL}static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:n=null,local_files_only:s=!1,revision:a="main",model_file_name:o=null,subfolder:i="onnx",device:l=null,dtype:c=null,use_external_data_format:u=null,session_options:p={}}={}){let f={progress_callback:t,config:r,cache_dir:n,local_files_only:s,revision:a,model_file_name:o,subfolder:i,device:l,dtype:c,use_external_data_format:u,session_options:p};if(f.config=await ls.from_pretrained(e,f),!this.MODEL_CLASS_MAPPINGS)throw new Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);let{model_type:m}=f.config;for(let y of this.MODEL_CLASS_MAPPINGS){let v=y.get(m);if(!v){for(let x of y.values())if(x[0]===m){v=x;break}if(!v)continue}return await Nh[v].from_pretrained(e,f)}if(this.BASE_IF_FAIL)return UU.has(m)||ce.warn(`Unknown model class "${m}", attempting to construct from base class.`),await I.from_pretrained(e,f);throw Error(`Unsupported model type: ${m}`)}},w(ni,"MODEL_CLASS_MAPPINGS",null),w(ni,"BASE_IF_FAIL",!1),ni),ns=(si=class extends Ee{},w(si,"MODEL_CLASS_MAPPINGS",HS.map(e=>e[0])),w(si,"BASE_IF_FAIL",!0),si),Bp=(Yd=class extends Ee{},w(Yd,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES]),Yd),QS=(Zd=class extends Ee{},w(Zd,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES]),Zd),li=(ep=class extends Ee{},w(ep,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES]),ep),JS=(tp=class extends Ee{},w(tp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES]),tp),XS=(rp=class extends Ee{},w(rp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES]),rp),YS=(np=class extends Ee{},w(np,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES]),np),ZS=(sp=class extends Ee{},w(sp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES]),sp),eI=(ap=class extends Ee{},w(ap,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_MASKED_LM_MAPPING_NAMES]),ap),tI=(op=class extends Ee{},w(op,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES]),op),rI=(ip=class extends Ee{},w(ip,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES]),ip),nI=(lp=class extends Ee{},w(lp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES]),lp),Up=(cp=class extends Ee{},w(cp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES]),cp),zp=(up=class extends Ee{},w(up,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES]),up),$p=(dp=class extends Ee{},w(dp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES]),dp),sI=(pp=class extends Ee{},w(pp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES]),pp),aI=(hp=class extends Ee{},w(hp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES]),hp),zU=(fp=class extends Ee{},w(fp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_MASK_GENERATION_MAPPING_NAMES]),fp),oI=(mp=class extends Ee{},w(mp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_CTC_MAPPING_NAMES]),mp),iI=(_p=class extends Ee{},w(_p,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES]),_p),$U=(gp=class extends Ee{},w(gp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES]),gp),VU=(wp=class extends Ee{},w(wp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES]),wp),lI=(yp=class extends Ee{},w(yp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES]),yp),GU=(vp=class extends Ee{},w(vp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES]),vp),cI=(bp=class extends Ee{},w(bp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES]),bp),uI=(Mp=class extends Ee{},w(Mp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES]),Mp),jU=(xp=class extends Ee{},w(xp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES]),xp),WU=(Tp=class extends Ee{},w(Tp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES]),Tp),dI=(Ep=class extends Ee{},w(Ep,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES]),Ep),qU=(kp=class extends Ee{},w(kp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES]),kp),HU=(Cp=class extends Ee{},w(Cp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES]),Cp);$e=class extends Dt{constructor({task:e,model:t,tokenizer:r=null,processor:n=null}){super(),this.task=e,this.model=t,this.tokenizer=r,this.processor=n}async dispose(){await this.model.dispose()}},pI=class extends $e{async _call(e,{top_k:t=1}={}){let r=this.tokenizer(e,{padding:!0,truncation:!0}),n=await this.model(r),{problem_type:s,id2label:a}=this.model.config,o=s==="multi_label_classification"?l=>l.sigmoid():l=>new W("float32",rt(l.data),l.dims),i=[];for(let l of n.logits){let c=o(l),u=await pn(c,t),p=u[0].tolist(),m=u[1].tolist().map((y,v)=>({label:a?a[y]:`LABEL_${y}`,score:p[v]}));t===1?i.push(...m):i.push(m)}return Array.isArray(e)||t===1?i:i[0]}},hI=class extends $e{async _call(e,{ignore_labels:t=["O"]}={}){let r=Array.isArray(e),n=this.tokenizer(r?e:[e],{padding:!0,truncation:!0}),a=(await this.model(n)).logits,o=this.model.config.id2label,i=[];for(let l=0;l<a.dims[0];++l){let c=n.input_ids[l],u=a[l],p=[];for(let f=0;f<u.dims[0];++f){let m=u[f],y=Ge(m.data)[1],v=o?o[y]:`LABEL_${y}`;if(t.includes(v))continue;let x=this.tokenizer.decode([c[f].item()],{skip_special_tokens:!0});if(x==="")continue;let M=rt(m.data);p.push({entity:v,score:M[y],index:f,word:x})}i.push(p)}return r?i:i[0]}},fI=class extends $e{async _call(e,t,{top_k:r=1}={}){let n=this.tokenizer(e,{text_pair:t,padding:!0,truncation:!0}),s=Array.isArray(e),{start_logits:a,end_logits:o}=await this.model(n),i=n.input_ids.tolist(),l=n.attention_mask.tolist(),{all_special_ids:c,sep_token_id:u}=this.tokenizer,p=[];for(let f=0;f<a.dims[0];++f){let m=i[f],y=m.findIndex(S=>S==u),v=a[f].tolist(),x=o[f].tolist();for(let S=1;S<v.length;++S)(l[f]==0||S<=y||c.findIndex(O=>O==m[S])!==-1)&&(v[S]=-1/0,x[S]=-1/0);let M=rt(v).map((S,O)=>[S,O]),T=rt(x).map((S,O)=>[S,O]);M[0][0]=0,T[0][0]=0;let A=gL(M,T).filter(S=>S[0][1]<=S[1][1]).map(S=>[S[0][1],S[1][1],S[0][0]*S[1][0]]).sort((S,O)=>O[2]-S[2]),C=[];for(let S=0;S<Math.min(A.length,r);++S){let[O,E,K]=A[S],$=m.slice(O,E+1),V=this.tokenizer.decode($,{skip_special_tokens:!0});C.push({answer:V,score:K})}r===1?p.push(...C):p.push(C)}return s?p:p[0]}},mI=class extends $e{async _call(e,{top_k:t=5}={}){let{mask_token_id:r,mask_token:n}=this.tokenizer,s=this.tokenizer(e,{padding:!0,truncation:!0}),{logits:a}=await this.model(s),o=[],i=s.input_ids.tolist();for(let l=0;l<i.length;++l){let c=i[l],u=c.findIndex(v=>v==r);if(u===-1)throw Error(`Mask token (${n}) not found in text.`);let p=a[l][u],f=await pn(new W("float32",rt(p.data),p.dims),t),m=f[0].tolist(),y=f[1].tolist();o.push(y.map((v,x)=>{let M=c.slice();return M[u]=v,{score:m[x],token:Number(v),token_str:this.tokenizer.decode([v]),sequence:this.tokenizer.decode(M,{skip_special_tokens:!0})}}))}return Array.isArray(e)?o:o[0]}},$c=class extends $e{constructor(){super(...arguments);w(this,"_key","generated_text")}async _call(t,r={}){Array.isArray(t)||(t=[t]),this.model.config.prefix&&(t=t.map(l=>this.model.config.prefix+l));let n=this.model.config.task_specific_params;n&&n[this.task]&&n[this.task].prefix&&(t=t.map(l=>n[this.task].prefix+l));let s=this.tokenizer,a={padding:!0,truncation:!0},o;this.task==="translation"&&"_build_translation_inputs"in s?o=s._build_translation_inputs(t,a,r):o=s(t,a);let i=await this.model.generate({...o,...r});return s.batch_decode(i,{skip_special_tokens:!0}).map(l=>({[this._key]:l}))}},_I=class extends $c{constructor(){super(...arguments);w(this,"_key","summary_text")}},gI=class extends $c{constructor(){super(...arguments);w(this,"_key","translation_text")}};wI=class extends $e{async _call(e,t={}){let r=!1,n=!1,s=t.add_special_tokens??(this.tokenizer.add_bos_token||this.tokenizer.add_eos_token)??!1,a=t.tokenizer_encode_kwargs,o;if(typeof e=="string")o=e=[e];else if(Array.isArray(e)&&e.every(m=>typeof m=="string"))r=!0,o=e;else{if(hv(e))e=[e];else if(Array.isArray(e)&&e.every(hv))r=!0;else throw new Error("Input must be a string, an array of strings, a Chat, or an array of Chats");n=!0,o=e.map(m=>this.tokenizer.apply_chat_template(m,{tokenize:!1,add_generation_prompt:!0,...a})),s=!1,a=void 0}let i=n?!1:t.return_full_text??!0;this.tokenizer.padding_side="left";let l=this.tokenizer(o,{add_special_tokens:s,padding:!0,truncation:!0,...a}),c=await this.model.generate({...l,...t}),u=this.tokenizer.batch_decode(c,{skip_special_tokens:!0}),p;!i&&l.input_ids.dims.at(-1)>0&&(p=this.tokenizer.batch_decode(l.input_ids,{skip_special_tokens:!0}).map(m=>m.length));let f=Array.from({length:e.length},m=>[]);for(let m=0;m<u.length;++m){let y=Math.floor(m/c.dims[0]*e.length);p&&(u[m]=u[m].slice(p[y])),f[y].push({generated_text:n?[...e[y],{role:"assistant",content:u[m]}]:u[m]})}return!r&&f.length===1?f[0]:f}},yI=class extends $e{constructor(e){super(e),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([t,r])=>[t.toLowerCase(),r])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(ce.warn("Could not find 'entailment' in label2id mapping. Using 2 as entailment_id."),this.entailment_id=2),this.contradiction_id=this.label2id.contradiction??this.label2id.not_entailment,this.contradiction_id===void 0&&(ce.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(e,t,{hypothesis_template:r="This example is {}.",multi_label:n=!1}={}){let s=Array.isArray(e);s||(e=[e]),Array.isArray(t)||(t=[t]);let a=t.map(l=>r.replace("{}",l)),o=n||t.length===1,i=[];for(let l of e){let c=[];for(let f of a){let m=this.tokenizer(l,{text_pair:f,padding:!0,truncation:!0}),y=await this.model(m);o?c.push([y.logits.data[this.contradiction_id],y.logits.data[this.entailment_id]]):c.push(y.logits.data[this.entailment_id])}let p=(o?c.map(f=>rt(f)[1]):rt(c)).map((f,m)=>[f,m]).sort((f,m)=>m[0]-f[0]);i.push({sequence:l,labels:p.map(f=>t[f[1]]),scores:p.map(f=>f[0])})}return s?i:i[0]}},vI=class extends $e{async _call(e,{top_k:t=5}={}){let r=this.processor.feature_extractor.config.sampling_rate,n=await fa(e,r),s=this.model.config.id2label,a=[];for(let o of n){let i=await this.processor(o),c=(await this.model(i)).logits[0],u=await pn(new W("float32",rt(c.data),c.dims),t),p=u[0].tolist(),m=u[1].tolist().map((y,v)=>({label:s?s[y]:`LABEL_${y}`,score:p[v]}));a.push(m)}return Array.isArray(e)?a:a[0]}},bI=class extends $e{async _call(e,t,{hypothesis_template:r="This is a sound of {}."}={}){let n=!Array.isArray(e);n&&(e=[e]);let s=t.map(c=>r.replace("{}",c)),a=this.tokenizer(s,{padding:!0,truncation:!0}),o=this.processor.feature_extractor.config.sampling_rate,i=await fa(e,o),l=[];for(let c of i){let u=await this.processor(c),p=await this.model({...a,...u}),f=rt(p.logits_per_audio.data);l.push([...f].map((m,y)=>({score:m,label:t[y]})))}return n?l[0]:l}},MI=class extends $e{async _call(e,t={}){switch(this.model.config.model_type){case"whisper":case"lite-whisper":return this._call_whisper(e,t);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":case"parakeet_ctc":return this._call_wav2vec2(e,t);case"moonshine":return this._call_moonshine(e,t);default:throw new Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(e,t){t.language&&ce.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),t.task&&ce.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');let r=!Array.isArray(e),n=r?[e]:e,s=this.processor.feature_extractor.config.sampling_rate,a=await fa(n,s),o=[];for(let i of a){let l=await this.processor(i),u=(await this.model(l)).logits[0],p=[];for(let m of u)p.push(Ge(m.data)[1]);let f=this.tokenizer.decode(p,{skip_special_tokens:!0}).trim();o.push({text:f})}return r?o[0]:o}async _call_whisper(e,t){let r=t.return_timestamps??!1,n=t.chunk_length_s??0,s=t.force_full_sequences??!1,a=t.stride_length_s??null,o={...t};r==="word"&&(o.return_token_timestamps=!0,o.return_timestamps=!1);let i=!Array.isArray(e),l=i?[e]:e,c=this.processor.feature_extractor.config,u=c.chunk_length/this.model.config.max_source_positions,p=c.hop_length,f=c.sampling_rate,m=await fa(l,f),y=[];for(let v of m){let x=[];if(n>0){if(a===null)a=n/6;else if(n<=a)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");let A=f*n,C=f*a,S=A-2*C,O=0;for(;;){let E=O+A,K=v.subarray(O,E),$=await this.processor(K),V=O===0,Q=E>=v.length;if(x.push({stride:[K.length,V?0:C,Q?0:C],input_features:$.input_features,is_last:Q}),Q)break;O+=S}}else x=[{stride:[v.length,0,0],input_features:(await this.processor(v)).input_features,is_last:!0}];for(let A of x){o.num_frames=Math.floor(A.stride[0]/p);let C=await this.model.generate({inputs:A.input_features,...o});r==="word"?(A.tokens=C.sequences.tolist()[0],A.token_timestamps=C.token_timestamps.tolist()[0].map(S=>da(S,2))):A.tokens=C[0].tolist(),A.stride=A.stride.map(S=>S/f)}let[M,T]=this.tokenizer._decode_asr(x,{time_precision:u,return_timestamps:r,force_full_sequences:s});y.push({text:M,...T})}return i?y[0]:y}async _call_moonshine(e,t){let r=!Array.isArray(e),n=r?[e]:e,s=this.processor.feature_extractor.config.sampling_rate,a=await fa(n,s),o=[];for(let i of a){let l=await this.processor(i),c=Math.floor(i.length/s)*6,u=await this.model.generate({max_new_tokens:c,...t,...l}),p=this.processor.batch_decode(u,{skip_special_tokens:!0})[0];o.push({text:p})}return r?o[0]:o}},xI=class extends $e{constructor(t){super(t);w(this,"DEFAULT_VOCODER_ID","Xenova/speecht5_hifigan");this.vocoder=t.vocoder??null}async _prepare_speaker_embeddings(t,r){if((typeof t=="string"||t instanceof URL)&&(t=new Float32Array(await(await ge.fetch(t)).arrayBuffer())),t instanceof Float32Array)t=new W("float32",t,[t.length]);else if(!(t instanceof W))throw new Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");if(r>1){if(t.dims[0]===1)t=t.repeat(r,1);else if(t.dims[0]!==r)throw new Error(`Expected speaker embeddings batch size to be 1 or ${r}, but got ${t.dims[0]}.`)}return t}_postprocess_waveform(t,r,n,s=null){let a=r.data,[o,i]=r.dims,l=s?s.data:null,c=[];for(let u=0;u<o;++u){let p=l?Math.min(Math.ceil(l[u]),i):i,f=u*i;c.push(new Jb(a.slice(f,f+p),n))}return Array.isArray(t)?c:c[0]}async _call(t,r){return this.processor?this._call_text_to_spectrogram(t,r):this.model.config.model_type==="supertonic"?this._call_supertonic(t,r):this._call_text_to_waveform(t)}async _call_supertonic(t,{speaker_embeddings:r,num_inference_steps:n,speed:s}){if(!r)throw new Error("Speaker embeddings must be provided for Supertonic models.");let{sampling_rate:a,style_dim:o}=this.model.config,i=this.tokenizer(t,{padding:!0,truncation:!0}),l=i.input_ids.dims[0];r=await this._prepare_speaker_embeddings(r,l),r=r.view(l,-1,o);let{waveform:c,durations:u}=await this.model.generate_speech({...i,style:r,num_inference_steps:n,speed:s});return this._postprocess_waveform(t,c,a,u)}async _call_text_to_waveform(t){let r=this.tokenizer(t,{padding:!0,truncation:!0}),{waveform:n}=await this.model(r),s=this.model.config.sampling_rate;return this._postprocess_waveform(t,n,s)}async _call_text_to_spectrogram(t,{speaker_embeddings:r}){this.vocoder||(ce.info("No vocoder specified, using default HifiGan vocoder."),this.vocoder=await ns.from_pretrained(this.DEFAULT_VOCODER_ID,{dtype:"fp32"}));let{input_ids:n}=this.tokenizer(t,{padding:!0,truncation:!0}),s=n.dims[0];r=await this._prepare_speaker_embeddings(r,s),r=r.view(s,-1);let{waveform:a}=await this.model.generate_speech(n,r,{vocoder:this.vocoder}),o=this.processor.feature_extractor.config.sampling_rate;return this._postprocess_waveform(t,a,o)}},TI=class extends $e{async _call(e,t={}){let r=Array.isArray(e),n=await Xt(e),{pixel_values:s}=await this.processor(n),a=[];for(let o of s){o.dims=[1,...o.dims];let i=await this.model.generate({inputs:o,...t}),l=this.tokenizer.batch_decode(i,{skip_special_tokens:!0}).map(c=>({generated_text:c.trim()}));a.push(l)}return r?a:a[0]}},EI=class extends $e{async _call(e,{top_k:t=5}={}){let r=await Xt(e),{pixel_values:n}=await this.processor(r),s=await this.model({pixel_values:n}),{id2label:a}=this.model.config,o=[];for(let i of s.logits){let l=await pn(new W("float32",rt(i.data),i.dims),t),c=l[0].tolist(),p=l[1].tolist().map((f,m)=>({label:a?a[f]:`LABEL_${f}`,score:c[m]}));o.push(p)}return Array.isArray(e)?o:o[0]}},fv={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"},Zf=class extends $e{async _call(e,{threshold:t=.5,mask_threshold:r=.5,overlap_mask_area_threshold:n=.8,label_ids_to_fuse:s=null,target_sizes:a=null,subtask:o=null}={}){if(Array.isArray(e)&&e.length!==1)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");let l=await Xt(e),c=l.map(M=>[M.height,M.width]),u=await this.processor(l),{inputNames:p,outputNames:f}=this.model.sessions.model;if(!p.includes("pixel_values")){if(p.length!==1)throw Error(`Expected a single input name, but got ${p.length} inputs: ${p}.`);let M=p[0];if(M in u)throw Error(`Input name ${M} already exists in the inputs.`);u[M]=u.pixel_values}let m=await this.model(u),y=null;if(o!==null)y=fv[o];else if(this.processor.image_processor){for(let[M,T]of Object.entries(fv))if(T in this.processor.image_processor){y=this.processor.image_processor[T].bind(this.processor.image_processor),o=M;break}}let v=this.model.config.id2label,x=[];if(o)if(o==="panoptic"||o==="instance"){let M=y(m,t,r,n,s,a??c)[0],T=M.segmentation;for(let A of M.segments_info){let C=new Uint8ClampedArray(T.data.length);for(let O=0;O<T.data.length;++O)T.data[O]===A.id&&(C[O]=255);let S=new Mt(C,T.dims[1],T.dims[0],1);x.push({score:A.score,label:v[A.label_id],mask:S})}}else if(o==="semantic"){let{segmentation:M,labels:T}=y(m,a??c)[0];for(let A of T){let C=new Uint8ClampedArray(M.data.length);for(let O=0;O<M.data.length;++O)M.data[O]===A&&(C[O]=255);let S=new Mt(C,M.dims[1],M.dims[0],1);x.push({score:null,label:v[A],mask:S})}}else throw Error(`Subtask ${o} not supported.`);else{let T=m[f[0]];for(let A=0;A<c.length;++A){let C=c[A],S=T[A];S.data.some(E=>E<-1e-5||E>1+1e-5)&&S.sigmoid_();let O=await Mt.fromTensor(S.mul_(255).to("uint8")).resize(C[1],C[0]);x.push({label:null,score:null,mask:O})}}return x}},kI=class extends Zf{async _call(e,t={}){let r=await Xt(e),n=await super._call(e,t),s=r.map((a,o)=>{let i=a.clone();return i.putAlpha(n[o].mask),i});return Array.isArray(e)?s:s[0]}},CI=class extends $e{async _call(e,t,{hypothesis_template:r="This is a photo of {}"}={}){let n=Array.isArray(e),s=await Xt(e),a=t.map(p=>r.replace("{}",p)),o=this.tokenizer(a,{padding:this.model.config.model_type==="siglip"?"max_length":!0,truncation:!0}),{pixel_values:i}=await this.processor(s),l=await this.model({...o,pixel_values:i}),c=this.model.config.model_type==="siglip"?p=>p.sigmoid().data:p=>rt(p.data),u=[];for(let p of l.logits_per_image){let m=[...c(p)].map((y,v)=>({score:y,label:t[v]}));m.sort((y,v)=>v.score-y.score),u.push(m)}return n?u:u[0]}},AI=class extends $e{async _call(e,{threshold:t=.9,percentage:r=!1}={}){let n=Array.isArray(e);if(n&&e.length!==1)throw Error("Object detection pipeline currently only supports a batch size of 1.");let s=await Xt(e),a=r?null:s.map(f=>[f.height,f.width]),{pixel_values:o,pixel_mask:i}=await this.processor(s),l=await this.model({pixel_values:o,pixel_mask:i}),c=this.processor.image_processor.post_process_object_detection(l,t,a),{id2label:u}=this.model.config,p=c.map(f=>f.boxes.map((m,y)=>({score:f.scores[y],label:u[f.classes[y]],box:Vp(m,!r)})));return n?p:p[0]}},SI=class extends $e{async _call(e,t,{threshold:r=.1,top_k:n=null,percentage:s=!1}={}){let a=Array.isArray(e),o=await Xt(e),i=this.tokenizer(t,{padding:!0,truncation:!0}),l=await this.processor(o),c=[];for(let u=0;u<o.length;++u){let p=o[u],f=s?null:[[p.height,p.width]],m=l.pixel_values[u].unsqueeze_(0),y=await this.model({...i,pixel_values:m}),v;if("post_process_grounded_object_detection"in this.processor){let x=this.processor.post_process_grounded_object_detection(y,i.input_ids,{box_threshold:r,text_threshold:r,target_sizes:f})[0];v=x.boxes.map((M,T)=>({score:x.scores[T],label:x.labels[T],box:Vp(M,!s)}))}else{let x=this.processor.image_processor.post_process_object_detection(y,r,f,!0)[0];v=x.boxes.map((M,T)=>({score:x.scores[T],label:t[x.classes[T]],box:Vp(M,!s)}))}v.sort((x,M)=>M.score-x.score),n!==null&&(v=v.slice(0,n)),c.push(v)}return a?c:c[0]}},II=class extends $e{async _call(e,t,r={}){if(Array.isArray(e)){if(e.length!==1)throw Error("Document Question Answering pipeline currently only supports a batch size of 1.");e=e[0]}let n=(await Xt(e))[0],{pixel_values:s}=await this.processor(n),a=`<s_docvqa><s_question>${t}</s_question><s_answer>`,o=this.tokenizer(a,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,i=await this.model.generate({inputs:s,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:o,...r}),c=this.tokenizer.batch_decode(i)[0].match(/<s_answer>(.*?)<\/s_answer>/),u=null;return c&&c.length>=2&&(u=c[1].trim()),[{answer:u}]}},PI=class extends $e{async _call(e){let t=await Xt(e),r=await this.processor(t),n=await this.model(r),s=[];for(let a of n.reconstruction){let o=a.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");s.push(Mt.fromTensor(o))}return Array.isArray(e)?s:s[0]}},RI=class extends $e{async _call(e){let t=await Xt(e),r=await this.processor(t),{predicted_depth:n}=await this.model(r),s=[];for(let a=0;a<t.length;++a){let o=n[a],[i,l]=o.dims.slice(-2),[c,u]=t[a].size,p=(await Nt(o.view(1,1,i,l),{size:[u,c],mode:"bilinear"})).view(u,c),f=p.min().item(),m=p.max().item(),y=p.sub(f).div_(m-f).mul_(255).to("uint8").unsqueeze(0),v=Mt.fromTensor(y);s.push({predicted_depth:p,depth:v})}return Array.isArray(e)?s:s[0]}},OI=class extends $e{async _call(e,{pooling:t="none",normalize:r=!1,quantize:n=!1,precision:s="binary"}={}){let a=this.tokenizer(e,{padding:!0,truncation:!0}),o=await this.model(a),i=o.last_hidden_state??o.logits??o.token_embeddings;switch(t){case"none":break;case"mean":i=Jv(i,a.attention_mask);break;case"first_token":case"cls":i=i.slice(null,0);break;case"last_token":case"eos":i=i.slice(null,-1);break;default:throw Error(`Pooling method '${t}' not supported.`)}return r&&(i=i.normalize(2,-1)),n&&(i=Yv(i,s)),i}},LI=class extends $e{async _call(e,{pool:t=null}={}){let r=await Xt(e),{pixel_values:n}=await this.processor(r),s=await this.model({pixel_values:n}),a;if(t){if(!("pooler_output"in s))throw Error("No pooled output was returned. Make sure the model has a 'pooler' layer when using the 'pool' option.");a=s.pooler_output}else a=s.last_hidden_state??s.logits??s.image_embeds;return a}},bi=Object.freeze({"text-classification":{pipeline:pI,model:Bp,default:{model:"Xenova/distilbert-base-uncased-finetuned-sst-2-english"},type:"text"},"token-classification":{pipeline:hI,model:QS,default:{model:"Xenova/bert-base-multilingual-cased-ner-hrl"},type:"text"},"question-answering":{pipeline:fI,model:tI,default:{model:"Xenova/distilbert-base-cased-distilled-squad"},type:"text"},"fill-mask":{pipeline:mI,model:eI,default:{model:"onnx-community/ettin-encoder-32m-ONNX",dtype:"fp32"},type:"text"},summarization:{pipeline:_I,model:li,default:{model:"Xenova/distilbart-cnn-6-6"},type:"text"},translation:{pipeline:gI,model:li,default:{model:"Xenova/t5-small"},type:"text"},"text2text-generation":{pipeline:$c,model:li,default:{model:"Xenova/flan-t5-small"},type:"text"},"text-generation":{pipeline:wI,model:ZS,default:{model:"onnx-community/Qwen3-0.6B-ONNX",dtype:"q4"},type:"text"},"zero-shot-classification":{pipeline:yI,model:Bp,default:{model:"Xenova/distilbert-base-uncased-mnli"},type:"text"},"audio-classification":{pipeline:vI,model:iI,default:{model:"Xenova/wav2vec2-base-superb-ks"},type:"audio"},"zero-shot-audio-classification":{pipeline:bI,model:ns,default:{model:"Xenova/clap-htsat-unfused"},type:"multimodal"},"automatic-speech-recognition":{pipeline:MI,model:[JS,oI],default:{model:"Xenova/whisper-tiny.en"},type:"multimodal"},"text-to-audio":{pipeline:xI,model:[YS,XS],default:{model:"onnx-community/Supertonic-TTS-ONNX",dtype:"fp32"},type:"text"},"image-to-text":{pipeline:TI,model:rI,default:{model:"Xenova/vit-gpt2-image-captioning"},type:"multimodal"},"image-classification":{pipeline:EI,model:nI,default:{model:"Xenova/vit-base-patch16-224"},type:"multimodal"},"image-segmentation":{pipeline:Zf,model:[Up,zp,$p],default:{model:"Xenova/detr-resnet-50-panoptic"},type:"multimodal"},"background-removal":{pipeline:kI,model:[Up,zp,$p],default:{model:"Xenova/modnet"},type:"image"},"zero-shot-image-classification":{pipeline:CI,model:ns,default:{model:"Xenova/clip-vit-base-patch32"},type:"multimodal"},"object-detection":{pipeline:AI,model:sI,default:{model:"Xenova/detr-resnet-50"},type:"multimodal"},"zero-shot-object-detection":{pipeline:SI,model:aI,default:{model:"Xenova/owlvit-base-patch32"},type:"multimodal"},"document-question-answering":{pipeline:II,model:lI,default:{model:"Xenova/donut-base-finetuned-docvqa"},type:"multimodal"},"image-to-image":{pipeline:PI,model:cI,default:{model:"Xenova/swin2SR-classical-sr-x2-64"},type:"image"},"depth-estimation":{pipeline:RI,model:uI,default:{model:"onnx-community/depth-anything-v2-small"},type:"image"},"feature-extraction":{pipeline:OI,model:ns,default:{model:"onnx-community/all-MiniLM-L6-v2-ONNX",dtype:"fp32"},type:"text"},"image-feature-extraction":{pipeline:LI,model:[dI,ns],default:{model:"onnx-community/dinov3-vits16-pretrain-lvd1689m-ONNX",dtype:"fp32"},type:"image"}}),FI=Object.freeze({"sentiment-analysis":"text-classification",ner:"token-classification",asr:"automatic-speech-recognition","text-to-speech":"text-to-audio",embeddings:"feature-extraction"});JU=e=>e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=63744&&e<=64255||e>=194560&&e<=195103,BI=class{put(e){throw Error("Not implemented")}end(){throw Error("Not implemented")}},mv=pe.IS_PROCESS_AVAILABLE?e=>process.stdout.write(e):e=>console.log(e),UI=class extends BI{constructor(e,{skip_prompt:t=!1,callback_function:r=null,token_callback_function:n=null,skip_special_tokens:s=!0,decode_kwargs:a={},...o}={}){super(),this.tokenizer=e,this.skip_prompt=t,this.callback_function=r??mv,this.token_callback_function=n,this.decode_kwargs={skip_special_tokens:s,...a,...o},this.token_cache=[],this.print_len=0,this.next_tokens_are_prompt=!0,this.special_ids=new Set(this.tokenizer.all_special_ids.map(BigInt))}put(e){if(e.length>1)throw Error("TextStreamer only supports batch size of 1");let t=this.next_tokens_are_prompt;if(t&&(this.next_tokens_are_prompt=!1,this.skip_prompt))return;let r=e[0];if(this.token_callback_function?.(r),r.length===1&&this.special_ids.has(r[0])){if(this.decode_kwargs.skip_special_tokens)return;if(this.token_cache.length>0){let i=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len);this.on_finalized_text(i,!1),this.token_cache=[],this.print_len=0}let a=this.tokenizer.decode(r,this.decode_kwargs);this.on_finalized_text(a,!1);return}this.token_cache=jt(this.token_cache,r);let n=this.tokenizer.decode(this.token_cache,this.decode_kwargs),s;t||n.endsWith(`
|
|
26
|
-
`)?(s=n.slice(this.print_len),this.token_cache=[],this.print_len=0):n.length>0&&JU(n.charCodeAt(n.length-1))?(s=n.slice(this.print_len),this.print_len+=s.length):(s=n.slice(this.print_len,n.lastIndexOf(" ")+1),this.print_len+=s.length),this.on_finalized_text(s,!1)}end(){let e;this.token_cache.length>0?(e=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len),this.token_cache=[],this.print_len=0):e="",this.next_tokens_are_prompt=!0,this.on_finalized_text(e,!0)}on_finalized_text(e,t){e.length>0&&this.callback_function?.(e),t&&this.callback_function===
|
|
27
|
-
`)}},XU=class extends UI{constructor(e,{skip_prompt:t=!1,callback_function:r=null,token_callback_function:n=null,on_chunk_start:s=null,on_chunk_end:a=null,on_finalize:o=null,time_precision:i=.02,skip_special_tokens:l=!0,decode_kwargs:c={}}={}){super(e,{skip_prompt:t,skip_special_tokens:l,callback_function:r,token_callback_function:n,decode_kwargs:c}),this.timestamp_begin=e.timestamp_begin,this.on_chunk_start=s,this.on_chunk_end=a,this.on_finalize=o,this.time_precision=i,this.waiting_for_timestamp=!1}put(e){if(e.length>1)throw Error("WhisperTextStreamer only supports batch size of 1");let t=e[0];if(t.length===1){let r=Number(t[0])-this.timestamp_begin;if(r>=0){let n=r*this.time_precision;this.waiting_for_timestamp?this.on_chunk_end?.(n):this.on_chunk_start?.(n),this.waiting_for_timestamp=!this.waiting_for_timestamp,this.token_callback_function?.(t);return}}return super.put(e)}end(){super.end(),this.on_finalize?.()}},em=class{constructor(e,t){this.image=e,this.timestamp=t}},zI=class{constructor(e,t){e.length>0&&e[0]instanceof Mt&&(e=e.map((r,n)=>new em(r,(n+1)/(e.length+1)*t))),this.frames=e,this.duration=t}get width(){return this.frames[0].image.width}get height(){return this.frames[0].image.height}get fps(){return this.frames.length/this.duration}};az=class{static async get_files(e,t={}){return Va(e,t)}static async get_pipeline_files(e,t,r={}){return Ga(e,t,r)}static async get_model_files(e,t={}){return NI(e,t)}static async get_tokenizer_files(e){return sh(e)}static async get_processor_files(e){return DI(e)}static async is_cached(e,t={}){return ZU(e,t)}static async is_cached_files(e,t={}){return ez(e,t)}static async is_pipeline_cached(e,t,r={}){return tz(e,t,r)}static async is_pipeline_cached_files(e,t,r={}){return rz(e,t,r)}static async get_file_metadata(e,t,r={}){return Ma(e,t,r)}static async clear_cache(e,t={}){return nz(e,t)}static async clear_pipeline_cache(e,t,r={}){return sz(e,t,r)}}});var Oz={};Au(Oz,{ArtifactsClient:()=>xo,AudioTranscriptions:()=>Fn,AuthType:()=>Is,CapabilitiesClient:()=>Dn,ChatClient:()=>Bn,CompatibilityLevel:()=>Zc,ContractModelStatus:()=>Jc,ControlClient:()=>Un,DeviceAuth:()=>Mo,DeviceClass:()=>Xc,DeviceContext:()=>Gr,DevicesClient:()=>yo,ERROR_CODE_MAP:()=>dt,EVENT_REQUIRED_ATTRIBUTES:()=>Nu,EngineRegistry:()=>ja,ErrorCode:()=>Vr,ExperimentsClient:()=>Qc,FederatedAnalyticsClient:()=>qc,FederatedClient:()=>jc,FinishReason:()=>Yc,GradientCache:()=>Kc,InferenceEngine:()=>zn,ModelManager:()=>$n,ModelsClient:()=>Vn,MonitoringClient:()=>_o,OTLP_RESOURCE_ATTRIBUTES:()=>Ds,OctomilAudio:()=>Nn,OctomilClient:()=>mo,OctomilError:()=>U,OctomilText:()=>Wn,PrincipalType:()=>Ps,ResponsesClient:()=>Gn,RoutingClient:()=>jn,Scope:()=>Rs,SecAggPlus:()=>Hc,SecureAggregation:()=>qa,SettingsClient:()=>go,StreamingInferenceEngine:()=>Gc,SyncManager:()=>bo,TELEMETRY_EVENTS:()=>fr,TelemetryReporter:()=>Hr,TextPredictionsClient:()=>Us,ToolRunner:()=>To,TrainingClient:()=>wo,WeightExtractor:()=>Wa,addGaussianNoise:()=>XI,assertModelIntegrity:()=>Tg,benchmarkResultOk:()=>Rz,clipGradients:()=>JI,closeTelemetry:()=>xg,computeHash:()=>zs,configure:()=>fg,createModelCache:()=>lo,createTransformersJsLocalResponsesRuntime:()=>HI,dequantize:()=>ZI,detectDeviceCapabilities:()=>ho,embed:()=>po,generateResponseId:()=>Wr,getDeviceContext:()=>Ns,getInstallId:()=>fo,getPublishableKeyEnvironment:()=>pg,getTelemetry:()=>Mg,initTelemetry:()=>bg,messagesToResponseInput:()=>co,quantize:()=>YI,resetInstallIdCache:()=>vg,shamirReconstruct:()=>nm,shamirSplit:()=>rm,validatePublishableKey:()=>uo,verifyModelIntegrity:()=>Uu});var Is=(s=>(s.OrgApiKey="org_api_key",s.DeviceToken="device_token",s.ServiceToken="service_token",s.PublishableKey="publishable_key",s))(Is||{});var Ps=(s=>(s.User="user",s.OrgApiClient="org_api_client",s.Device="device",s.ServiceWorker="service_worker",s))(Ps||{});var Rs=(m=>(m.CatalogRead="catalog:read",m.ModelsRead="models:read",m.ModelsWrite="models:write",m.DevicesRegister="devices:register",m.DevicesHeartbeat="devices:heartbeat",m.ControlRefresh="control:refresh",m.TelemetryWrite="telemetry:write",m.RolloutsRead="rollouts:read",m.RolloutsWrite="rollouts:write",m.BenchmarksWrite="benchmarks:write",m.EvalsWrite="evals:write",m.CloudInference="cloud:inference",m.CloudCredentials="cloud:credentials",m))(Rs||{});var Vr=(H=>(H.InvalidApiKey="invalid_api_key",H.AuthenticationFailed="authentication_failed",H.Forbidden="forbidden",H.DeviceNotRegistered="device_not_registered",H.TokenExpired="token_expired",H.DeviceRevoked="device_revoked",H.NetworkUnavailable="network_unavailable",H.RequestTimeout="request_timeout",H.ServerError="server_error",H.RateLimited="rate_limited",H.InvalidInput="invalid_input",H.UnsupportedModality="unsupported_modality",H.ContextTooLarge="context_too_large",H.ModelNotFound="model_not_found",H.ModelDisabled="model_disabled",H.VersionNotFound="version_not_found",H.DownloadFailed="download_failed",H.ChecksumMismatch="checksum_mismatch",H.InsufficientStorage="insufficient_storage",H.InsufficientMemory="insufficient_memory",H.RuntimeUnavailable="runtime_unavailable",H.AcceleratorUnavailable="accelerator_unavailable",H.ModelLoadFailed="model_load_failed",H.InferenceFailed="inference_failed",H.StreamInterrupted="stream_interrupted",H.PolicyDenied="policy_denied",H.CloudFallbackDisallowed="cloud_fallback_disallowed",H.CloudCredentialsMissing="cloud_credentials_missing",H.CloudCredentialsRevoked="cloud_credentials_revoked",H.CloudProviderAuthFailed="cloud_provider_auth_failed",H.MaxToolRoundsExceeded="max_tool_rounds_exceeded",H.TrainingFailed="training_failed",H.TrainingNotSupported="training_not_supported",H.WeightUploadFailed="weight_upload_failed",H.ControlSyncFailed="control_sync_failed",H.AssignmentNotFound="assignment_not_found",H.Cancelled="cancelled",H.AppBackgrounded="app_backgrounded",H.Unknown="unknown",H))(Vr||{}),Ln={invalid_api_key:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},authentication_failed:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"reauthenticate"},forbidden:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_permissions"},device_not_registered:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"register_device"},token_expired:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"reauthenticate"},device_revoked:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"register_device"},network_unavailable:{category:"network",retryClass:"backoff_safe",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},request_timeout:{category:"network",retryClass:"conditional",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},server_error:{category:"network",retryClass:"backoff_safe",fallbackEligible:!0,suggestedAction:"retry"},rate_limited:{category:"network",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"retry_after"},invalid_input:{category:"input",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_request"},unsupported_modality:{category:"input",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_request"},context_too_large:{category:"input",retryClass:"never",fallbackEligible:!0,suggestedAction:"reduce_input_or_fallback"},model_not_found:{category:"catalog",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_model_id"},model_disabled:{category:"catalog",retryClass:"never",fallbackEligible:!0,suggestedAction:"use_alternate_model"},version_not_found:{category:"catalog",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_version"},download_failed:{category:"download",retryClass:"backoff_safe",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},checksum_mismatch:{category:"download",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"redownload"},insufficient_storage:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"free_storage_or_fallback"},insufficient_memory:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"try_smaller_model"},runtime_unavailable:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"try_alternate_runtime"},accelerator_unavailable:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"try_cpu_or_fallback"},model_load_failed:{category:"runtime",retryClass:"conditional",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},inference_failed:{category:"runtime",retryClass:"conditional",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},stream_interrupted:{category:"runtime",retryClass:"immediate_safe",fallbackEligible:!0,suggestedAction:"retry"},policy_denied:{category:"policy",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_policy"},cloud_fallback_disallowed:{category:"policy",retryClass:"never",fallbackEligible:!1,suggestedAction:"change_policy_or_fix_local"},cloud_credentials_missing:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},cloud_credentials_revoked:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},cloud_provider_auth_failed:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},max_tool_rounds_exceeded:{category:"policy",retryClass:"never",fallbackEligible:!1,suggestedAction:"increase_limit_or_simplify"},training_failed:{category:"training",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"retry"},training_not_supported:{category:"training",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_request"},weight_upload_failed:{category:"training",retryClass:"backoff_safe",fallbackEligible:!1,suggestedAction:"retry"},control_sync_failed:{category:"control",retryClass:"backoff_safe",fallbackEligible:!1,suggestedAction:"retry"},assignment_not_found:{category:"control",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_assignment"},cancelled:{category:"lifecycle",retryClass:"never",fallbackEligible:!1,suggestedAction:"none"},app_backgrounded:{category:"lifecycle",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"resume_on_foreground"},unknown:{category:"unknown",retryClass:"never",fallbackEligible:!1,suggestedAction:"report_bug"}};var dt={network_unavailable:"NETWORK_UNAVAILABLE",request_timeout:"REQUEST_TIMEOUT",server_error:"SERVER_ERROR",invalid_api_key:"INVALID_API_KEY",authentication_failed:"AUTHENTICATION_FAILED",forbidden:"FORBIDDEN",model_not_found:"MODEL_NOT_FOUND",model_disabled:"MODEL_DISABLED",download_failed:"DOWNLOAD_FAILED",checksum_mismatch:"CHECKSUM_MISMATCH",insufficient_storage:"INSUFFICIENT_STORAGE",runtime_unavailable:"RUNTIME_UNAVAILABLE",model_load_failed:"MODEL_LOAD_FAILED",inference_failed:"INFERENCE_FAILED",insufficient_memory:"INSUFFICIENT_MEMORY",rate_limited:"RATE_LIMITED",invalid_input:"INVALID_INPUT",cancelled:"CANCELLED",unknown:"UNKNOWN",device_not_registered:"DEVICE_NOT_REGISTERED",unsupported_modality:"UNSUPPORTED_MODALITY",context_too_large:"CONTEXT_TOO_LARGE",version_not_found:"VERSION_NOT_FOUND",accelerator_unavailable:"ACCELERATOR_UNAVAILABLE",stream_interrupted:"STREAM_INTERRUPTED",policy_denied:"POLICY_DENIED",cloud_fallback_disallowed:"CLOUD_FALLBACK_DISALLOWED",cloud_credentials_missing:"CLOUD_CREDENTIALS_MISSING",cloud_credentials_revoked:"CLOUD_CREDENTIALS_REVOKED",cloud_provider_auth_failed:"CLOUD_PROVIDER_AUTH_FAILED",max_tool_rounds_exceeded:"MAX_TOOL_ROUNDS_EXCEEDED",control_sync_failed:"CONTROL_SYNC_FAILED",assignment_not_found:"ASSIGNMENT_NOT_FOUND",app_backgrounded:"APP_BACKGROUNDED",training_failed:"TRAINING_FAILED",training_not_supported:"TRAINING_NOT_SUPPORTED",weight_upload_failed:"WEIGHT_UPLOAD_FAILED",token_expired:"TOKEN_EXPIRED",device_revoked:"DEVICE_REVOKED"},Os=Object.fromEntries(Object.entries(dt).map(([e,t])=>[t,e])),U=class e extends Error{constructor(r,n,s){super(n);w(this,"code");w(this,"cause");this.name="OctomilError",this.code=r,this.cause=s}get retryable(){let r=Os[this.code];return r!=null&&Ln[r].retryClass!=="never"}get category(){let r=Os[this.code];return r!=null?Ln[r].category:void 0}get retryClass(){let r=Os[this.code];return r!=null?Ln[r].retryClass:void 0}get fallbackEligible(){let r=Os[this.code];return r!=null?Ln[r].fallbackEligible:!1}get suggestedAction(){let r=Os[this.code];return r!=null?Ln[r].suggestedAction:void 0}static fromErrorCode(r,n,s){let a=dt[r];return new e(a,n,s)}static fromHttpStatus(r,n){let s=n||`HTTP ${r}`;switch(r){case 400:return new e(dt.invalid_input,s);case 401:return new e(dt.authentication_failed,s);case 403:return new e(dt.forbidden,s);case 404:return new e(dt.model_not_found,s);case 429:return new e(dt.rate_limited,s);case 500:case 502:case 503:case 504:return new e(dt.server_error,s);default:return r>=500?new e(dt.server_error,s):new e(dt.unknown,s)}}static fromServerResponse(r,n){let s=(typeof n?.message=="string"?n.message:null)??(typeof n?.error=="string"?n.error:null)??`HTTP ${r}`;if(typeof n?.code=="string"&&Object.values(Vr).includes(n.code)){let o=dt[n.code];return new e(o,s)}return e.fromHttpStatus(r,s)}};var Fn=class{constructor(t,r){w(this,"serverUrl");w(this,"apiKey");this.serverUrl=t.replace(/\/+$/,""),this.apiKey=r}async create(t){let r=new FormData;if(r.append("file",t.file),t.model&&r.append("model",t.model),t.language&&r.append("language",t.language),t.responseFormat&&r.append("response_format",t.responseFormat),t.timestampGranularities)for(let u of t.timestampGranularities)r.append("timestamp_granularities[]",u);let n=`${this.serverUrl}/v1/audio/transcriptions`,s;try{s=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:r})}catch(u){throw new U("NETWORK_UNAVAILABLE",`audio.transcriptions.create request failed: ${String(u)}`,u)}if(!s.ok)throw U.fromHttpStatus(s.status,`audio.transcriptions.create failed: HTTP ${s.status}`);let a=await s.json(),o=typeof a.text=="string"?a.text:"",i=typeof a.language=="string"?a.language:void 0,l=typeof a.duration_ms=="number"?a.duration_ms:void 0,c=[];return Array.isArray(a.segments)&&(c=a.segments.map(u=>({text:typeof u.text=="string"?u.text:"",startMs:typeof u.start_ms=="number"?u.start_ms:0,endMs:typeof u.end_ms=="number"?u.end_ms:0,confidence:typeof u.confidence=="number"?u.confidence:void 0}))),{text:o,language:i,durationMs:l,segments:c}}};var Nn=class{constructor(t,r){w(this,"transcriptions");this.transcriptions=new Fn(t,r)}};var Dn=class{async current(){let r=(typeof navigator<"u"&&navigator.deviceMemory||0)*1024,n;r>=16384?n="flagship":r>=8192?n="high":r>=4096?n="mid":n="low";let s=["wasm"],a=typeof navigator<"u"&&"gpu"in navigator;a&&s.push("webgpu");let o=0;try{if(typeof navigator<"u"&&navigator.storage&&navigator.storage.estimate){let l=await navigator.storage.estimate();o=Math.round((l.quota||0)/(1024*1024))}}catch{}let i=[];return a&&i.push("webgpu"),{deviceClass:n,availableRuntimes:s,memoryMb:r,storageMb:o,platform:"browser",accelerators:i}}};var cO="octomil-models-v1",uO="octomil-models",oo="blobs",dO=1,Su=class{async open(){return caches.open(cO)}async get(t){let n=await(await this.open()).match(t);return n?n.arrayBuffer():null}async put(t,r){let n=await this.open(),s=new Response(r,{headers:{"x-octomil-cached-at":new Date().toISOString(),"x-octomil-size":String(r.byteLength)}});await n.put(t,s)}async has(t){return await(await this.open()).match(t)!==void 0}async remove(t){await(await this.open()).delete(t)}async info(t){let n=await(await this.open()).match(t);if(!n)return{cached:!1,sizeBytes:0};let s=n.headers.get("x-octomil-size"),a=n.headers.get("x-octomil-cached-at");return{cached:!0,sizeBytes:s?parseInt(s,10):0,cachedAt:a??void 0}}},io=class{constructor(){w(this,"dbPromise",null)}openDB(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,r)=>{let n=indexedDB.open(uO,dO);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(oo)||s.createObjectStore(oo,{keyPath:"key"})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)}),this.dbPromise)}async tx(t){return(await this.openDB()).transaction(oo,t).objectStore(oo)}async get(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.get(t);a.onsuccess=()=>{let o=a.result;n(o?.data??null)},a.onerror=()=>s(a.error)})}async put(t,r){let n=await this.tx("readwrite"),s={key:t,data:r,sizeBytes:r.byteLength,cachedAt:new Date().toISOString()};return new Promise((a,o)=>{let i=n.put(s);i.onsuccess=()=>a(),i.onerror=()=>o(i.error)})}async has(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.count(t);a.onsuccess=()=>n(a.result>0),a.onerror=()=>s(a.error)})}async remove(t){let r=await this.tx("readwrite");return new Promise((n,s)=>{let a=r.delete(t);a.onsuccess=()=>n(),a.onerror=()=>s(a.error)})}async info(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.get(t);a.onsuccess=()=>{let o=a.result;n(o?{cached:!0,sizeBytes:o.sizeBytes,cachedAt:o.cachedAt}:{cached:!1,sizeBytes:0})},a.onerror=()=>s(a.error)})}},Ls=class{async get(t){return null}async put(t,r){}async has(t){return!1}async remove(t){}async info(t){return{cached:!1,sizeBytes:0}}};function lo(e){if(e==="none")return new Ls;if(e==="cache-api")return typeof caches<"u"?new Su:typeof indexedDB<"u"?new io:new Ls;if(e==="indexeddb")return typeof indexedDB<"u"?new io:new Ls;throw new U("INVALID_INPUT",`Unknown cache strategy: ${e}`)}var Pt=class{constructor(t={}){w(this,"serverUrl");w(this,"apiKey");w(this,"orgId");this.serverUrl=(t.serverUrl??"https://api.octomil.com").replace(/\/+$/,""),this.apiKey=t.apiKey,this.orgId=t.orgId}buildUrl(t,r){let n=new URL(t,`${this.serverUrl}/`);for(let[s,a]of Object.entries(r??{}))a==null||a===""||n.searchParams.set(s,String(a));return n.toString()}async requestJson(t,r={},n){let s=await this.request(t,r,n);if(s.status!==204)return await s.json()}async requestVoid(t,r={},n){await this.request(t,r,n)}async request(t,r={},n){let s=new Headers(r.headers);!s.has("Content-Type")&&r.body!==void 0&&s.set("Content-Type","application/json"),this.apiKey&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${this.apiKey}`);let a;try{a=await fetch(this.buildUrl(t,n),{...r,headers:s})}catch(o){throw new U("NETWORK_UNAVAILABLE",`Request failed: ${String(o)}`,o)}if(!a.ok){let o=await a.text().catch(()=>"");throw new U("NETWORK_UNAVAILABLE",`Request failed: HTTP ${a.status}${o?` ${o}`:""}`)}return a}};var Iu=class extends Pt{constructor(t,r){super({serverUrl:t,apiKey:r})}async requestJson(t,r={},n){return super.requestJson(t,r,n)}},Pu=class{constructor(t){this.api=t}async create(t){return this.api.requestJson("/api/v1/chat/threads",{method:"POST",body:JSON.stringify(t)})}async get(t){return this.api.requestJson(`/api/v1/chat/threads/${encodeURIComponent(t)}`,{method:"GET"})}async list(t){return this.api.requestJson("/api/v1/chat/threads",{method:"GET"},t)}},Ru=class{constructor(t,r){this.createTurnInternal=t;this.streamTurnInternal=r}async create(t,r){return this.createTurnInternal(t,r)}async*stream(t,r){yield*this.streamTurnInternal(t,r)}},Bn=class{constructor(t){w(this,"model");w(this,"serverUrl");w(this,"apiKey");w(this,"getResponses");w(this,"ensureReadyFn");w(this,"api");w(this,"threads");w(this,"turn");this.model=t.model,this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.getResponses=t.getResponses,this.ensureReadyFn=t.ensureReady,this.api=new Iu(t.serverUrl,t.apiKey),this.threads=new Pu(this.api),this.turn=new Ru((r,n)=>this.createTurn(r,n),(r,n)=>this.streamTurn(r,n))}async create(t,r={}){this.ensureReadyFn();let n=performance.now(),{instructions:s,input:a}=co(t),o=await this.getResponses().create({model:this.model,input:a,instructions:s,maxOutputTokens:r.maxTokens,temperature:r.temperature,topP:r.topP});return{message:{role:"assistant",content:o.output.filter(l=>l.type==="text"&&l.text).map(l=>l.text).join("")},latencyMs:performance.now()-n,usage:o.usage?{promptTokens:o.usage.promptTokens,completionTokens:o.usage.completionTokens,totalTokens:o.usage.totalTokens}:void 0}}async*stream(t,r={}){this.ensureReadyFn();let{instructions:n,input:s}=co(t),a=0,o=this.getResponses().stream({model:this.model,input:s,instructions:n,maxOutputTokens:r.maxTokens,temperature:r.temperature,topP:r.topP});for await(let i of o)i.type==="text_delta"?yield{index:a++,content:i.delta,done:!1,role:"assistant"}:i.type==="done"&&(yield{index:a,content:"",done:!0,role:"assistant"})}requireServerUrl(t){if(!this.serverUrl)throw new U(dt.invalid_input,`${t} requires serverUrl to be configured.`)}async createTurn(t,r){return this.ensureReadyFn(),this.requireServerUrl("chat.turn.create()"),this.api.requestJson(`/api/v1/chat/threads/${encodeURIComponent(t)}/turns`,{method:"POST",body:JSON.stringify({...r,threadId:t})})}async*streamTurn(t,r){this.ensureReadyFn(),this.requireServerUrl("chat.turn.stream()");let n=await fetch(`${this.serverUrl}/api/v1/chat/threads/${encodeURIComponent(t)}/turns`,{method:"POST",headers:{"Content-Type":"application/json",...this.apiKey?{Authorization:`Bearer ${this.apiKey}`}:{}},body:JSON.stringify({...r,threadId:t,stream:!0})});if(!n.ok||!n.body)throw new U(dt.network_unavailable,`chat.turn.stream() failed: HTTP ${n.status}`);let s=n.body.getReader(),a=new TextDecoder,o="",i=0;for(;;){let{done:l,value:c}=await s.read();o+=a.decode(c??new Uint8Array,{stream:!l});let u=o.indexOf(`
|
|
24
|
+
`}async _call(e,t=null,r=null,n={}){typeof e=="string"&&(e=[e]);let s;r&&(s=await this.feature_extractor(r,n),e=e.map(i=>i.replaceAll(this.audio_token,this.full_audio_sequence)));let a;return t&&(a=await this.image_processor(t,n),e=e.map(i=>i.replaceAll(this.image_token,this.full_image_sequence))),{...this.tokenizer(e,n),...a,...s}}},w(an,"image_processor_class",mt),w(an,"feature_extractor_class",Bt),w(an,"tokenizer_class",Ae),w(an,"uses_processor_config",!0),w(an,"uses_chat_template_file",!0),an),Ri=(ea=class extends Se{async _call(e,t=null,...r){Array.isArray(e)||(e=[e]);let n,s;if(t&&(n=await this.image_processor(t),s=n.image_grid_thw),s){let o=this.image_processor.config.merge_size**2,i=0,l=this.constructor.image_token,c=s.tolist();e=e.map(u=>{for(;u.includes(l);){let p=Number(c[i++].reduce((f,m)=>f*m,1n));u=u.replace(l,"<|placeholder|>".repeat(Math.floor(p/o)))}return u.replaceAll("<|placeholder|>",l)})}return{...this.tokenizer(e),...n}}},w(ea,"image_processor_class",mt),w(ea,"tokenizer_class",Ae),w(ea,"image_token","<|image_pad|>"),ea),ix=(Qd=class extends Ri{},w(Qd,"image_token","<|image|>"),Qd),lx=(ta=class extends Se{_get_num_audio_features(e){let{hop_length:t}=this.feature_extractor.config.melspec_kwargs,{projector_window_size:r,projector_downsample_rate:n}=this.feature_extractor.config,s=Math.floor(r/n),a=Math.floor(e/t)+1,o=Math.floor(a/2);return Math.ceil(o/r)*s}async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let n={};if(t){let{input_features:a}=await this.feature_extractor(t);n.input_features=a;let o=this._get_num_audio_features(t.length),i=new Uint8Array(o).fill(1);n.input_features_mask=new q("bool",i,[1,o]);let l=this.config.audio_token??"<|audio|>";if(!e.includes(l))throw new Error(`The input text does not contain the audio token ${l}.`);e=e.replaceAll(l,l.repeat(o))}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...n}}},w(ta,"tokenizer_class",Ae),w(ta,"feature_extractor_class",Bt),w(ta,"uses_processor_config",!0),ta);cx=(Wo=class extends Se{async _call(e,t,r={}){let n=e?await this.image_processor(e,r):{};return{...t?this.tokenizer(t,r):{},...n}}post_process_grounded_object_detection(e,t,{box_threshold:r=.25,text_threshold:n=.25,target_sizes:s=null}={}){let{logits:a,pred_boxes:o}=e,i=a.dims[0];if(s!==null&&s.length!==i)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let l=a.dims.at(1),c=a.sigmoid(),u=c.max(-1).tolist(),p=o.tolist().map(m=>m.map(y=>fM(y))),f=[];for(let m=0;m<i;++m){let y=s!==null?s[m]:null;y!==null&&(p[m]=p[m].map(A=>A.map((C,S)=>C*y[(S+1)%2])));let v=u[m],x=[],M=[],T=[];for(let A=0;A<l;++A){let C=v[A];if(C<=r)continue;let S=p[m][A],O=c[m][A];x.push(C),T.push(S);let E=qB(O.gt(n),t[m]);M.push(E)}f.push({scores:x,boxes:T,labels:this.batch_decode(M)})}return f}},w(Wo,"tokenizer_class",Ae),w(Wo,"image_processor_class",mt),Wo);Fp=(ra=class extends Se{constructor(){super(...arguments);w(this,"fake_image_token","<fake_token_around_image>");w(this,"image_token","<image>");w(this,"global_img_token","<global-img>")}async _call(t,r=null,n={}){n.return_row_col_info??(n.return_row_col_info=!0);let s;r&&(s=await this.image_processor(r,n)),Array.isArray(t)||(t=[t]);let a=s.rows??[new Array(t.length).fill(0)],o=s.cols??[new Array(t.length).fill(0)],i=this.config.image_seq_len,l=[],c=[];for(let p=0;p<t.length;++p){let f=t[p],m=a[p],y=o[p];l.push(wL(f,this.image_token));let v=m.map((T,A)=>KB(T,y[A],i,this.fake_image_token,this.image_token,this.global_img_token)),x=f.split(this.image_token);if(x.length===0)throw new Error("The image token should be present in the text.");let M=x[0];for(let T=0;T<v.length;++T)M+=v[T]+x[T+1];c.push(M)}return{...this.tokenizer(c),...s}}},w(ra,"image_processor_class",mt),w(ra,"tokenizer_class",Ae),w(ra,"uses_processor_config",!0),ra),ux=(na=class extends Se{constructor(e,t,r){super(e,t,r),this.image_tag=this.config.image_tag,this.image_start_tag=this.config.image_start_tag,this.image_end_tag=this.config.image_end_tag,this.num_image_tokens=this.config.num_image_tokens}async _call(e,{images:t=null,chat_template:r="default"}={}){t?Array.isArray(t)||(t=[t]):t=await Promise.all(e.filter(v=>v.images).flatMap(v=>v.images).map(v=>Mt.read(v)));let n=this.tokenizer,s=n.apply_chat_template(e,{tokenize:!1,add_generation_prompt:!0,chat_template:r}),a=v=>n.encode(v,{add_special_tokens:!1}),o=s.split(this.image_tag),i=o.length-1;if(t.length!==i)throw new Error(`Number of images provided (${t.length}) does not match number of "${this.image_tag}" image tags (${i})`);let[l,c,u]=n.convert_tokens_to_ids([this.image_tag,this.image_start_tag,this.image_end_tag]),p=a(o[0]),f=new Array(p.length).fill(!1);for(let v=1;v<o.length;++v){let x=new Array(this.num_image_tokens).fill(l),M=a(o[v]);p=jt(p,[c],x,[u],M);let T=new Array(this.num_image_tokens).fill(!0);f=jt(f,[!1],T,[!1],new Array(M.length).fill(!1))}let m=[1,p.length],y={input_ids:new q("int64",p,m),attention_mask:new q("int64",new Array(p.length).fill(1),m),images_seq_mask:new q("bool",f,m),images_emb_mask:new q("bool",new Array(i*this.num_image_tokens).fill(!0),[1,i,this.num_image_tokens])};if(t&&t.length>0){let v=await this.image_processor(t);return v.pixel_values.unsqueeze_(0),{...y,...v}}return y}},w(na,"image_processor_class",mt),w(na,"tokenizer_class",Ae),w(na,"uses_processor_config",!0),na),dx=(Ho=class extends Se{async _call(e=null,t=null,r={}){if(!e&&!t)throw new Error("Either text or images must be provided");let n=e?this.tokenizer(e,r):{},s=t?await this.image_processor(t,r):{};return{...n,...s}}},w(Ho,"tokenizer_class",Ae),w(Ho,"image_processor_class",mt),Ho),px=(Ko=class extends Se{async _call(e,t=null,r={}){let{image_rows:n,image_cols:s,image_sizes:a,...o}=await this.image_processor(e,{...r,return_row_col_info:!0});if(t){let i=this.config.image_token??"<image>",{tile_size:l=512,downsample_factor:c=2,encoder_patch_size:u=16,use_thumbnail:p=!0}=this.image_processor.config,f=T=>Math.ceil(Math.floor(T/u)/c),m=f(l)**2,y=this.config.image_start_token??"<|image_start|>",v=this.config.image_end_token??"<|image_end|>",x=this.config.image_thumbnail??"<|img_thumbnail|>";Array.isArray(t)||(t=[t]);let M=0;t=t.map(T=>{let A=T.split(i);return A[0]+A.slice(1).map(C=>{let S=M++,[O,E]=a[S],K=n[S],$=s[S],V=f(O)*f(E),Q=y;if(K>1||$>1){let G=i.repeat(m);for(let W=0;W<K;++W)for(let D=0;D<$;++D)Q+=`<|img_row_${W+1}_col_${D+1}|>`+G;p&&(Q+=x+i.repeat(V))}else Q+=i.repeat(V);return Q+v+C}).join("")})}return{...o,...t?this.tokenizer(t,r):{}}}},w(Ko,"tokenizer_class",Ae),w(Ko,"image_processor_class",mt),Ko),hx=(sa=class extends Se{async _call(e,t=null,r={}){let n=await this.image_processor(e,r);if(t){let[a,o]=n.pixel_values.dims.slice(-2),{image_token:i,patch_size:l,num_additional_image_tokens:c}=this.config,u=Math.floor(a/l)*Math.floor(o/l)+c;t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let p=0;p<t.length;++p)t[p]=t[p].replace(i,i.repeat(u))}let s=t?this.tokenizer(t,r):{};return{...n,...s}}},w(sa,"tokenizer_class",Ae),w(sa,"image_processor_class",mt),w(sa,"uses_processor_config",!0),sa),lv={char:["char_decode",1],bpe:["bpe_decode",2],wp:["wp_decode",102]},fx=(Qo=class extends Se{get char_tokenizer(){return this.components.char_tokenizer}get bpe_tokenizer(){return this.components.bpe_tokenizer}get wp_tokenizer(){return this.components.wp_tokenizer}_decode_helper(e,t){if(!lv.hasOwnProperty(t))throw new Error(`Format ${t} is not supported.`);let[r,n]=lv[t],s=this[r].bind(this),[a,o]=e.dims,i=[],l=[],c=e.tolist();for(let p=0;p<a;++p){let f=c[p],m=[],y=[];for(let x=1;x<o;++x){let[M,T]=Ge(rt(f[x]));if(y.push(M),T==n)break;m.push(T)}let v=y.length>0?y.reduce((x,M)=>x*M,1):0;l.push(m),i.push(v)}return[s(l),i]}char_decode(e){return this.char_tokenizer.batch_decode(e).map(t=>t.replaceAll(" ",""))}bpe_decode(e){return this.bpe_tokenizer.batch_decode(e)}wp_decode(e){return this.wp_tokenizer.batch_decode(e).map(t=>t.replaceAll(" ",""))}batch_decode([e,t,r]){let[n,s]=this._decode_helper(e,"char"),[a,o]=this._decode_helper(t,"bpe"),[i,l]=this._decode_helper(r,"wp"),c=[],u=[];for(let p=0;p<n.length;++p){let[f,m]=Ge([s[p],o[p],l[p]]);c.push([n[p],a[p],i[p]][m]),u.push(f)}return{generated_text:c,scores:u,char_preds:n,bpe_preds:a,wp_preds:i}}static async from_pretrained(...e){let t=await super.from_pretrained(...e),r=await Ae.from_pretrained("Xenova/gpt2"),n=await Ae.from_pretrained("Xenova/bert-base-uncased");return t.components={image_processor:t.image_processor,char_tokenizer:t.tokenizer,bpe_tokenizer:r,wp_tokenizer:n},t}async _call(e,t=null){let r=await this.image_processor(e);return t&&(r.labels=this.tokenizer(t).input_ids),r}},w(Qo,"tokenizer_class",Ae),w(Qo,"image_processor_class",mt),Qo),mx=(Jo=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(Jo,"tokenizer_class",Ae),w(Jo,"feature_extractor_class",Bt),Jo),_x=(Xo=class extends Se{},w(Xo,"tokenizer_class",Ae),w(Xo,"image_processor_class",mt),Xo),Yn="<image>";gx=(aa=class extends Se{async _call(e,t=null,r={}){t||(ce.warn("You are using PaliGemma without a text prefix. It will perform as a picture-captioning model."),t=""),Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]);let n=this.tokenizer.bos_token,s=this.image_processor.config.image_seq_length,a;t.some(l=>l.includes(Yn))?a=t.map(l=>{let c=l.replaceAll(Yn,Yn.repeat(s)),u=c.lastIndexOf(Yn),p=u===-1?0:u+Yn.length;return c.slice(0,p)+n+c.slice(p)+`
|
|
25
|
+
`}):(ce.warn("You are passing both `text` and `images` to `PaliGemmaProcessor`. The processor expects special image tokens in the text, as many tokens as there are images per each text. It is recommended to add `<image>` tokens in the very beginning of your text. For this call, we will infer how many images each text has and add special tokens."),a=t.map(l=>QB(l,n,s,Yn,e.length)));let o=this.tokenizer(a,r);return{...await this.image_processor(e,r),...o}}},w(aa,"tokenizer_class",Ae),w(aa,"image_processor_class",mt),w(aa,"uses_processor_config",!1),aa),cv="<|image|>",JB=/<\|image_\d+\|>/g,wx=(Yo=class extends Se{async _call(e,t=null,{padding:r=!0,truncation:n=!0,num_crops:s=null}={}){Array.isArray(e)||(e=[e]);let a,o;if(t){o=await this.image_processor(t,{num_crops:s});let{num_img_tokens:i}=o,l=e.map((u,p)=>u.split(JB).join(cv.repeat(i[p])));a=this.tokenizer(l,{padding:r,truncation:n});let c=this.tokenizer._tokenizer.token_to_id(cv);a.input_ids.map_(u=>u==c?-u:u)}else a=this.tokenizer(e);return{...a,...o}}},w(Yo,"image_processor_class",mt),w(Yo,"tokenizer_class",Ae),Yo),yx=(oa=class extends Se{async _call(e,t=null,r={}){let n=await this.image_processor(e,r);if(t){let[a,o]=n.pixel_values.dims.slice(-2),{image_token:i,image_break_token:l,image_end_token:c,patch_size:u,spatial_merge_size:p}=this.config,f=u*p,m=Math.floor(a/f),y=Math.floor(o/f);t=structuredClone(t),Array.isArray(t)||(t=[t]);for(let v=0;v<t.length;++v){let x=i.repeat(y),M=x+l,T=x+c,A=M.repeat(m-1)+T;t[v]=t[v].replace(i,A)}}let s=t?this.tokenizer(t,r):{};return{...n,...s}}},w(oa,"tokenizer_class",Ae),w(oa,"image_processor_class",mt),w(oa,"uses_processor_config",!0),oa),vx=(Jd=class extends Se{async _call(e){return await this.feature_extractor(e)}post_process_speaker_diarization(...e){return this.feature_extractor.post_process_speaker_diarization(...e)}get sampling_rate(){return this.feature_extractor.config.sampling_rate}},w(Jd,"feature_extractor_class",dh),Jd),Ah=class extends Ri{},bx=class extends Ah{},Sh=(Xd=class extends Se{async _call(...e){return await this.image_processor(...e)}post_process_masks(...e){return this.image_processor.post_process_masks(...e)}reshape_input_points(...e){return this.image_processor.reshape_input_points(...e)}},w(Xd,"image_processor_class",mt),Xd),Ih=class extends Sh{},Mx=class extends Ih{},xx=(Zo=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(Zo,"tokenizer_class",Ae),w(Zo,"feature_extractor_class",Bt),Zo),Tx=(ia=class extends Se{async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let n={};if(t){let a=t.length,{input_features:o}=await this.feature_extractor(t,{...r,max_length:a}),i=Math.round(a/this.config.encoder_ds_factor+1e-4),l=1+Math.ceil(i/this.config.stack_factor);n.audio_token_len=[l],n.audio_values=o;let c=this.config.audio_placeholder;if(!e.includes(c))throw new Error(`The input text does not contain the image token ${c}.`);e=e.replaceAll(c,c.repeat(l))}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...n}}},w(ia,"tokenizer_class",Ae),w(ia,"feature_extractor_class",Bt),w(ia,"uses_processor_config",!0),ia),$o="[AUDIO]",XB="[BEGIN_AUDIO]",YB=375;Ex=(la=class extends Se{async _call(e,t=null,r={}){if(Array.isArray(e))throw new Error("Batched inputs are not supported yet.");let n={};if(t){if(!e.includes($o))throw new Error(`The input text does not contain the audio token ${$o}.`);Array.isArray(t)||(t=[t]);let a=e.split($o),o=a.length-1;if(o!==t.length)throw new Error(`The number of audio inputs (${t.length}) does not match the number of audio tokens in the text (${o}).`);let i=this.feature_extractor.config.n_samples,l=t.map(m=>ZB(m,i)),c=l.map(m=>m.length),u=l.flat(),p=(await Promise.all(u.map(m=>this.feature_extractor(m,r)))).map(m=>m.input_features);n.audio_values=p.length>1?Fe(p,0):p[0];let f=a[0];for(let m=0;m<c.length;++m){f+=XB;for(let y=0;y<c[m];++y)f+=$o.repeat(YB);f+=a[m+1]}e=f}return{...this.tokenizer(e,{add_special_tokens:!1,...r}),...n}}},w(la,"tokenizer_class",Ae),w(la,"feature_extractor_class",Bt),w(la,"uses_processor_config",!1),la),uv=32,qd=6,Vo=8,eU=10,tU=32,kx=(ca=class extends Se{get num_mel_frames_first_audio_chunk(){return(qd+1)*Vo}get num_samples_first_audio_chunk(){let{hop_length:e,n_fft:t}=this.feature_extractor.config;return(this.num_mel_frames_first_audio_chunk-1)*e+Math.floor(t/2)}get num_samples_per_audio_chunk(){let{hop_length:e,n_fft:t}=this.feature_extractor.config;return Vo*e+t}get num_right_pad_tokens(){return qd+1+eU}get audio_length_per_tok(){return Vo}get raw_audio_length_per_tok(){return Vo*this.feature_extractor.config.hop_length}async _call(e,{is_streaming:t=!1,is_first_audio_chunk:r=!0}={}){if(bt(e,"VoxtralRealtimeProcessor"),!t&&!r)throw new Error("In non-streaming mode (`is_streaming=false`), `is_first_audio_chunk` must be `true`.");if(r)if(t){let n=uv*this.raw_audio_length_per_tok,s=new Float32Array(n+e.length);s.set(e,n);let a=await this.feature_extractor(s,{center:!0}),i=1+(uv+qd),l=new BigInt64Array(i).fill(BigInt(tU));return l[0]=1n,{input_ids:new q("int64",l,[1,i]),...a}}else{let n=this.num_right_pad_tokens*this.raw_audio_length_per_tok,s=new Float32Array(e.length+n);return s.set(e),await this.feature_extractor(s,{center:!0})}else return await this.feature_extractor(e,{center:!1})}},w(ca,"tokenizer_class",Ae),w(ca,"feature_extractor_class",Bt),w(ca,"uses_processor_config",!1),ca),Cx=(ei=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(ei,"tokenizer_class",Ae),w(ei,"feature_extractor_class",Bt),ei),Ax=(ti=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(ti,"tokenizer_class",Ae),w(ti,"feature_extractor_class",Bt),ti),Sx=(ri=class extends Se{async _call(e){return await this.feature_extractor(e)}},w(ri,"tokenizer_class",Ae),w(ri,"feature_extractor_class",Bt),ri),Ix=class{static async from_pretrained(e,t={}){let r=await yr(e,_a,!0,t),{image_processor_type:n,feature_extractor_type:s,processor_class:a}=r;if(a&&Rp[a])return Rp[a].from_pretrained(e,t);if(!n&&!s)throw new Error("No `image_processor_type` or `feature_extractor_type` found in the config.");let o={};if(n){let l=gi[n.replace(/Fast$/,"")];if(!l)throw new Error(`Unknown image_processor_type: '${n}'.`);o.image_processor=new l(r)}if(s){let l=gi[s];if(l)o.image_processor=new l(r);else{let c=lh[s];if(!c)throw new Error(`Unknown feature_extractor_type: '${s}'.`);o.feature_extractor=new c(r)}}let i={};return new Se(i,o,null)}};wi=class Np{constructor(t){w(this,"model_type",null);w(this,"is_encoder_decoder",!1);w(this,"max_position_embeddings");w(this,"transformers.js_config");Object.assign(this,t),this.normalized_config=Zn(this)}static async from_pretrained(t,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main"}={}){n&&!(n instanceof Np)&&(n=new Np(n));let i=n??await rU(t,{progress_callback:r,config:n,cache_dir:s,local_files_only:a,revision:o});return new this(i)}},ls=class{static async from_pretrained(...e){return wi.from_pretrained(...e)}};Qe=class{},oe=class extends Qe{constructor({logits:e,...t}){super(),this.logits=e;let r=Object.values(t);r.length>0&&(this.attentions=r)}},je=class extends Qe{constructor({logits:e}){super(),this.logits=e}},Je=class extends Qe{constructor({logits:e}){super(),this.logits=e}},_t=class extends Qe{constructor({start_logits:e,end_logits:t}){super(),this.start_logits=e,this.end_logits=t}},hn=class extends Qe{constructor({logits:e}){super(),this.logits=e}},cU=class extends Qe{constructor({alphas:e}){super(),this.alphas=e}},Jt=class extends Dt{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},Li=class extends Dt{_call(e,t){throw Error("`_call` should be implemented in a subclass")}},yi=class extends Dt{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,t){let r=t;for(let n of this.processors)r=n(e,r);return r}[Symbol.iterator](){return this.processors.values()}},Lx=class extends Jt{constructor(e){super(),this.bos_token_id=e}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length===1){let n=t[r].data;n.fill(-1/0),n[this.bos_token_id]=0}return t}},Fx=class extends Jt{constructor(e,t){super(),this.max_length=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length===this.max_length-1){let n=t[r].data;n.fill(-1/0);for(let s of this.eos_token_id)n[s]=0}return t}},Ph=class extends Jt{constructor(e,t){super(),this.begin_suppress_tokens=e,this.begin_index=t}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length===this.begin_index){let n=t[r].data;for(let s of this.begin_suppress_tokens)n[s]=-1/0}return t}},Nx=class extends Jt{constructor(e,t){super(),this.eos_token_id=Array.isArray(e.eos_token_id)?e.eos_token_id[0]:e.eos_token_id,this.no_timestamps_token_id=e.no_timestamps_token_id,this.timestamp_begin=this.no_timestamps_token_id+1,this.begin_index=t.length,t.at(-1)===this.no_timestamps_token_id&&(this.begin_index-=1),this.max_initial_timestamp_index=e.max_initial_timestamp_index}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data;if(n[this.no_timestamps_token_id]=-1/0,e[r].length===this.begin_index-1){n.fill(-1/0),n[this.timestamp_begin]=0;continue}let s=e[r].slice(this.begin_index),a=s.length>=1&&s[s.length-1]>=this.timestamp_begin,o=s.length<2||s[s.length-2]>=this.timestamp_begin;if(a&&(o?n.subarray(this.timestamp_begin).fill(-1/0):n.subarray(0,this.eos_token_id).fill(-1/0)),e[r].length===this.begin_index&&this.max_initial_timestamp_index!==null){let u=this.timestamp_begin+this.max_initial_timestamp_index;n.subarray(u+1).fill(-1/0)}let i=Dv(n),l=Math.log(i.subarray(this.timestamp_begin).map(Math.exp).reduce((u,p)=>u+p)),c=Ge(i.subarray(0,this.timestamp_begin))[0];l>c&&n.subarray(0,this.timestamp_begin).fill(-1/0)}return t}},Dx=class extends Jt{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){let t=e.length,r=[];for(let s=0;s<t+1-this.no_repeat_ngram_size;++s){let a=[];for(let o=0;o<this.no_repeat_ngram_size;++o)a.push(e[s+o]);r.push(a.map(Number))}let n=new Map;for(let s of r){let a=s.slice(0,s.length-1),o=JSON.stringify(a),i=n.get(o)??[];i.push(s[s.length-1]),n.set(o,i)}return n}getGeneratedNgrams(e,t){let r=t.slice(t.length+1-this.no_repeat_ngram_size,t.length);return e.get(JSON.stringify(r.map(Number)))??[]}calcBannedNgramTokens(e){let t=[];if(e.length+1<this.no_repeat_ngram_size)return t;{let r=this.getNgrams(e);return this.getGeneratedNgrams(r,e)}}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data,s=this.calcBannedNgramTokens(e[r]);for(let a of s)n[a]=-1/0}return t}},Bx=class extends Jt{constructor(e){super(),this.penalty=e}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data;for(let s of new Set(e[r])){let a=Number(s);n[a]<0?n[a]*=this.penalty:n[a]/=this.penalty}}return t}},Ux=class extends Jt{constructor(e,t){super(),this.min_length=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length<this.min_length){let n=t[r].data;for(let s of this.eos_token_id)n[s]=-1/0}return t}},zx=class extends Jt{constructor(e,t,r){super(),this.prompt_length_to_skip=e,this.min_new_tokens=t,this.eos_token_id=Array.isArray(r)?r:[r]}_call(e,t){for(let r=0;r<e.length;++r)if(e[r].length-this.prompt_length_to_skip<this.min_new_tokens){let s=t[r].data;for(let a of this.eos_token_id)s[a]=-1/0}return t}},$x=class extends Jt{constructor(e,t){super(),this.bad_words_ids=e,this.eos_token_id=Array.isArray(t)?t:[t]}_call(e,t){for(let r=0;r<e.length;++r){let n=t[r].data,s=e[r];for(let a of this.bad_words_ids){if(s.length<a.length-1)continue;let o=!0;for(let i=1;i<=a.length-1;++i)if(a.at(-i-1)!=s.at(-i)){o=!1;break}o&&(n[a.at(-1)]=-1/0)}}return t}},Vx=class extends Jt{constructor(e){if(super(),e<=1)throw new Error(`Require guidance scale >1 to use the classifier free guidance processor, got guidance scale ${e}.`);this.guidance_scale=e}_call(e,t){if(t.dims[0]!==2*e.length)throw new Error(`Logits should have twice the batch size of the input ids, the first half of batches corresponding to the conditional inputs, and the second half of batches corresponding to the unconditional inputs. Got batch size ${t.dims[0]} for the logits and ${e.length} for the input ids.`);let r=e.length,n=t.slice([0,r],null),s=t.slice([r,t.dims[0]],null);for(let a=0;a<s.data.length;++a)s.data[a]+=(n.data[a]-s.data[a])*this.guidance_scale;return s}},Gx=class extends Li{constructor(e){if(super(),typeof e!="number"||e<=0){let t=`\`temperature\` (=${e}) must be a strictly positive float, otherwise your next token scores will be invalid.`;e===0&&(t+=" If you're looking for greedy decoding strategies, set `do_sample=false`.")}this.temperature=e}_call(e,t){let r=t.data;for(let n=0;n<r.length;++n)r[n]/=this.temperature;return t}},uU=class extends Li{constructor(e,{filter_value:t=-1/0,min_tokens_to_keep:r=1}={}){if(super(),e<0||e>1)throw new Error(`\`top_p\` must be a float > 0 and < 1, but is ${e}`);if(!Number.isInteger(r)||r<1)throw new Error(`\`min_tokens_to_keep\` must be a positive integer, but is ${r}`);this.top_p=e,this.filter_value=t,this.min_tokens_to_keep=r}},dU=class extends Li{constructor(e,{filter_value:t=-1/0,min_tokens_to_keep:r=1}={}){if(super(),!Number.isInteger(e)||e<0)throw new Error(`\`top_k\` must be a positive integer, but is ${e}`);this.top_k=Math.max(e,r),this.filter_value=t}},jx=class{constructor(e){w(this,"max_length",20);w(this,"max_new_tokens",null);w(this,"min_length",0);w(this,"min_new_tokens",null);w(this,"early_stopping",!1);w(this,"max_time",null);w(this,"do_sample",!1);w(this,"num_beams",1);w(this,"num_beam_groups",1);w(this,"penalty_alpha",null);w(this,"use_cache",!0);w(this,"temperature",1);w(this,"top_k",50);w(this,"top_p",1);w(this,"typical_p",1);w(this,"epsilon_cutoff",0);w(this,"eta_cutoff",0);w(this,"diversity_penalty",0);w(this,"repetition_penalty",1);w(this,"encoder_repetition_penalty",1);w(this,"length_penalty",1);w(this,"no_repeat_ngram_size",0);w(this,"bad_words_ids",null);w(this,"force_words_ids",null);w(this,"renormalize_logits",!1);w(this,"constraints",null);w(this,"forced_bos_token_id",null);w(this,"forced_eos_token_id",null);w(this,"remove_invalid_values",!1);w(this,"exponential_decay_length_penalty",null);w(this,"suppress_tokens",null);w(this,"streamer",null);w(this,"begin_suppress_tokens",null);w(this,"forced_decoder_ids",null);w(this,"guidance_scale",null);w(this,"num_return_sequences",1);w(this,"output_attentions",!1);w(this,"output_hidden_states",!1);w(this,"output_scores",!1);w(this,"return_dict_in_generate",!1);w(this,"pad_token_id",null);w(this,"bos_token_id",null);w(this,"eos_token_id",null);w(this,"encoder_no_repeat_ngram_size",0);w(this,"decoder_start_token_id",null);w(this,"generation_kwargs",{});Object.assign(this,ot(e,Object.getOwnPropertyNames(this)))}},hs=class extends Dt{_call(e,t){throw Error("StoppingCriteria needs to be subclassed")}},Rh=class qx extends Dt{constructor(){super(),this.criteria=[]}push(t){this.criteria.push(t)}extend(t){t instanceof qx?t=t.criteria:t instanceof hs&&(t=[t]),this.criteria.push(...t)}_call(t,r){let n=new Array(t.length).fill(!1);for(let s of this.criteria){let a=s(t,r);for(let o=0;o<n.length;++o)n[o]||(n[o]=a[o])}return n}[Symbol.iterator](){return this.criteria.values()}},Wx=class extends hs{constructor(e,t=null){super(),this.max_length=e,this.max_position_embeddings=t}_call(e){return e.map(t=>t.length>=this.max_length)}},Hx=class extends hs{constructor(e){super(),Array.isArray(e)||(e=[e]),this.eos_token_id=e}_call(e,t){return e.map(r=>{let n=r.at(-1);return this.eos_token_id.some(s=>n==s)})}},pU=class extends hs{constructor(){super(),this.interrupted=!1}interrupt(){this.interrupted=!0}reset(){this.interrupted=!1}_call(e,t){return new Array(e.length).fill(this.interrupted)}},Fi=class extends Dt{constructor(e){super(),this.generation_config=e}async _call(e){return this.sample(e)}async sample(e){throw Error("sample should be implemented in subclasses.")}getLogits(e,t){let r=e.dims.at(-1),n=e.data;if(t===-1)n=n.slice(-r);else{let s=t*r;n=n.slice(s,s+r)}return n}randomSelect(e){return kD(e)}static getSampler(e){if(e.do_sample)return new fU(e);if(e.num_beams>1)return new mU(e);if(e.num_return_sequences>1)throw Error(`num_return_sequences has to be 1 when doing greedy search, but is ${e.num_return_sequences}.`);return new hU(e)}},hU=class extends Fi{async sample(e){let t=Ge(e.data)[1];return[[BigInt(t),0]]}},fU=class extends Fi{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));let[r,n]=await pn(e,t),s=rt(r.data);return Array.from({length:this.generation_config.num_beams},()=>{let a=this.randomSelect(s);return[n.data[a],Math.log(s[a])]})}},mU=class extends Fi{async sample(e){let t=e.dims.at(-1);this.generation_config.top_k>0&&(t=Math.min(this.generation_config.top_k,t));let[r,n]=await pn(e,t),s=rt(r.data);return Array.from({length:this.generation_config.num_beams},(a,o)=>[n.data[o],Math.log(s[o])])}},_U=class{constructor(e){if(e)for(let t in e){if(t in this)throw new TypeError(`Key "${t}" conflicts with an existing property on DynamicCache`);let r=e[t];if(!(r instanceof q))throw new TypeError(`Expected a Tensor for key "${t}", got ${typeof r}`);this[t]=r}}get_seq_length(){let e=this;for(let t in e)if(t.startsWith("past_key_values."))return e[t].dims.at(-2);throw new Error("Unable to determine sequence length from the cache.")}async dispose(){let e=[];for(let t of Object.values(this))t.location==="gpu-buffer"&&e.push(t.dispose());await Promise.all(e)}},Oh=_U,es=null;J={EncoderOnly:0,EncoderDecoder:1,Seq2Seq:2,Vision2Seq:3,DecoderOnly:4,DecoderOnlyWithoutHead:5,MaskGeneration:6,ImageTextToText:7,Musicgen:8,MultiModality:9,Phi3V:10,AudioTextToText:11,AutoEncoder:12,ImageAudioTextToText:13,Supertonic:14,Chatterbox:15,MultimodalLanguageModelOnly:16,VoxtralRealtime:17},ts={[J.DecoderOnly]:{can_generate:!0,forward:_r,prepare_inputs:ha,sessions:(e,t)=>({model:t.model_file_name??"model"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.DecoderOnlyWithoutHead]:{can_generate:!1,forward:_r,prepare_inputs:ha,sessions:(e,t)=>({model:t.model_file_name??"model"})},[J.Seq2Seq]:{can_generate:!0,forward:Go,prepare_inputs:vi,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.Vision2Seq]:{can_generate:!0,forward:Go,prepare_inputs:vi,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.Musicgen]:{can_generate:!0,forward:Go,sessions:()=>({model:"text_encoder",decoder_model_merged:"decoder_model_merged",encodec_decode:"encodec_decode"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.EncoderDecoder]:{can_generate:!1,forward:Go,sessions:()=>({model:"encoder_model",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0}},[J.MaskGeneration]:{sessions:()=>({model:"vision_encoder",prompt_encoder_mask_decoder:"prompt_encoder_mask_decoder"})},[J.ImageTextToText]:{can_generate:!0,forward:dv,prepare_inputs:Ys,sessions:e=>{let t={embed_tokens:"embed_tokens",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"};return e.is_encoder_decoder&&(t.model="encoder_model"),t},cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.AudioTextToText]:{can_generate:!0,forward:vU,prepare_inputs:Ys,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.ImageAudioTextToText]:{can_generate:!0,prepare_inputs:Ys,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"}),optional_configs:{generation_config:"generation_config.json"}},[J.Phi3V]:{can_generate:!0,prepare_inputs:Ys,sessions:()=>({prepare_inputs_embeds:"prepare_inputs_embeds",model:"model",vision_encoder:"vision_encoder"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.MultiModality]:{can_generate:!0,sessions:()=>({prepare_inputs_embeds:"prepare_inputs_embeds",model:"language_model",lm_head:"lm_head",gen_head:"gen_head",gen_img_embeds:"gen_img_embeds",image_decode:"image_decode"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.AutoEncoder]:{can_generate:!1,forward:yU,sessions:()=>({encoder_model:"encoder_model",decoder_model:"decoder_model"})},[J.Supertonic]:{sessions:()=>({text_encoder:"text_encoder",latent_denoiser:"latent_denoiser",voice_decoder:"voice_decoder"})},[J.Chatterbox]:{can_generate:!0,forward:Lr,sessions:()=>({embed_tokens:"embed_tokens",speech_encoder:"speech_encoder",model:"language_model",conditional_decoder:"conditional_decoder"}),cache_sessions:{model:!0},optional_configs:{generation_config:"generation_config.json"}},[J.MultimodalLanguageModelOnly]:{can_generate:!0,forward:dv,prepare_inputs:Ys,sessions:()=>({embed_tokens:"embed_tokens",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0},optional_configs:{generation_config:"generation_config.json"}},[J.VoxtralRealtime]:{can_generate:!0,prepare_inputs:ha,sessions:()=>({embed_tokens:"embed_tokens",audio_encoder:"audio_encoder",decoder_model_merged:"decoder_model_merged"}),cache_sessions:{decoder_model_merged:!0,audio_encoder:!0},optional_configs:{generation_config:"generation_config.json"}},default:{can_generate:!1,forward:Lr,sessions:(e,t)=>({model:t.model_file_name??"model"})}};mr=new Map,Lh=new Map,os=new Map,I=class extends Dt{constructor(t,r,n){super();w(this,"main_input_name","input_ids");w(this,"forward_params",["input_ids","attention_mask"]);w(this,"_return_dict_in_generate_keys",null);this.config=t,this.sessions=r,this.configs=n;let s=os.get(this.constructor),a=mr.get(s),o=ts[a]??ts.default;this.can_generate=o.can_generate,this._forward=o.forward,this._prepare_inputs_for_generation=o.prepare_inputs,this.can_generate&&this.forward_params.push("past_key_values"),this.custom_config=this.config["transformers.js_config"]??{}}async dispose(){let t=[];for(let r of Object.values(this.sessions))t.push(r.release?.());return await Promise.all(t)}static async from_pretrained(t,{progress_callback:r=null,config:n=null,cache_dir:s=null,local_files_only:a=!1,revision:o="main",model_file_name:i=null,subfolder:l="onnx",device:c=null,dtype:u=null,use_external_data_format:p=null,session_options:f={}}={}){let m={progress_callback:r,config:n,cache_dir:s,local_files_only:a,revision:o,model_file_name:i,subfolder:l,device:c,dtype:u,use_external_data_format:p,session_options:f},y=os.get(this),v=mr.get(y);n=m.config=await ls.from_pretrained(t,m);let x=ts[v]??ts.default;if(v===void 0){let C=y??n?.model_type;C!=="custom"&&ce.warn(`Model type for '${C}' not found, assuming encoder-only architecture. Please report this at ${Ci}.`)}let M=x.sessions(n,m),T=[iU(t,M,m,x.cache_sessions)];x.optional_configs&&T.push(MU(t,x.optional_configs,m));let A=await Promise.all(T);return new this(n,...A)}async _call(t){return await this.forward(t)}async forward(t){return await this._forward(this,t)}get generation_config(){return this.configs?.generation_config??null}_get_logits_processor(t,r,n=null){let s=new yi;if(t.repetition_penalty!==null&&t.repetition_penalty!==1&&s.push(new Bx(t.repetition_penalty)),t.no_repeat_ngram_size!==null&&t.no_repeat_ngram_size>0&&s.push(new Dx(t.no_repeat_ngram_size)),t.bad_words_ids!==null&&s.push(new $x(t.bad_words_ids,t.eos_token_id)),t.min_length!==null&&t.eos_token_id!==null&&t.min_length>0&&s.push(new Ux(t.min_length,t.eos_token_id)),t.min_new_tokens!==null&&t.eos_token_id!==null&&t.min_new_tokens>0&&s.push(new zx(r,t.min_new_tokens,t.eos_token_id)),t.forced_bos_token_id!==null&&s.push(new Lx(t.forced_bos_token_id)),t.forced_eos_token_id!==null&&s.push(new Fx(t.max_length,t.forced_eos_token_id)),t.begin_suppress_tokens!==null){let a=r>1||t.forced_bos_token_id===null?r:r+1;s.push(new Ph(t.begin_suppress_tokens,a))}return t.guidance_scale!==null&&t.guidance_scale>1&&s.push(new Vx(t.guidance_scale)),t.temperature===0&&t.do_sample&&(ce.warn("`do_sample` changed to false because `temperature: 0` implies greedy sampling (always selecting the most likely token), which is incompatible with `do_sample: true`."),t.do_sample=!1),t.do_sample&&t.temperature!==null&&t.temperature!==1&&s.push(new Gx(t.temperature)),n!==null&&s.extend(n),s}_prepare_generation_config(t,r,n=jx){let s={...this.config};for(let o of["decoder","generator","text_config"])o in s&&Object.assign(s,s[o]);let a=new n(s);return Object.assign(a,this.generation_config??{}),t&&Object.assign(a,t),r&&Object.assign(a,ot(r,Object.getOwnPropertyNames(a))),a}_get_stopping_criteria(t,r=null){let n=new Rh;return t.max_length!==null&&n.push(new Wx(t.max_length,this.config.max_position_embeddings??null)),t.eos_token_id!==null&&n.push(new Hx(t.eos_token_id)),r&&n.extend(r),n}_validate_model_class(){if(!this.can_generate){let t=[es.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES,es.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES,es.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES,es.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES].filter(Boolean),r=os.get(this.constructor),n=new Set,s=this.config.model_type;for(let o of t){let i=o?.get(s);i&&n.add(i)}let a=`The current model class (${r}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw n.size>0&&(a+=` Please use the following class instead: ${[...n].join(", ")}`),Error(a)}}prepare_inputs_for_generation(...t){if(!this._prepare_inputs_for_generation)throw new Error("prepare_inputs_for_generation is not implemented for this model.");return this._prepare_inputs_for_generation(this,...t)}_update_model_kwargs_for_generation({generated_input_ids:t,outputs:r,model_inputs:n,is_encoder_decoder:s}){return n.past_key_values=this.getPastKeyValues(r,n.past_key_values),n.input_ids=new q("int64",t.flat(),[t.length,1]),s?"decoder_attention_mask"in n:n.attention_mask=Fe([n.attention_mask,xt([n.attention_mask.dims[0],1])],1),n.position_ids=null,n}_prepare_model_inputs({inputs:t,bos_token_id:r,model_kwargs:n}){let s=ot(n,this.forward_params),a=this.main_input_name;if(a in s){if(t)throw new Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else s[a]=t;return{inputs_tensor:s[a],model_inputs:s,model_input_name:a}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:t,model_inputs:r,model_input_name:n,generation_config:s}){if(this.sessions.model.inputNames.includes("inputs_embeds")&&!r.inputs_embeds&&"_prepare_inputs_embeds"in this){let{input_ids:o,pixel_values:i,attention_mask:l,...c}=r,u=await this._prepare_inputs_embeds(r);r={...c,...ot(u,["inputs_embeds","attention_mask"])}}let{last_hidden_state:a}=await Lr(this,r);if(s.guidance_scale!==null&&s.guidance_scale>1)a=Fe([a,_i(a,0)],0),"attention_mask"in r&&(r.attention_mask=Fe([r.attention_mask,nh(r.attention_mask)],0));else if(r.decoder_input_ids){let o=Dp(r.decoder_input_ids).dims[0];if(o!==a.dims[0]){if(a.dims[0]!==1)throw new Error(`The encoder outputs have a different batch size (${a.dims[0]}) than the decoder inputs (${o}).`);a=Fe(Array.from({length:o},()=>a),0)}}return r.encoder_outputs=a,r}_prepare_decoder_input_ids_for_generation({batch_size:t,model_input_name:r,model_kwargs:n,decoder_start_token_id:s,bos_token_id:a,generation_config:o}){let{decoder_input_ids:i,...l}=n;if(!(i instanceof q)){if(i)Array.isArray(i[0])||(i=Array.from({length:t},()=>i));else if(s??(s=a),this.config.model_type==="musicgen")i=Array.from({length:t*this.config.decoder.num_codebooks},()=>[s]);else if(Array.isArray(s)){if(s.length!==t)throw new Error(`\`decoder_start_token_id\` expcted to have length ${t} but got ${s.length}`);i=s}else i=Array.from({length:t},()=>[s]);i=Dp(i)}return n.decoder_attention_mask=th(i),{input_ids:i,model_inputs:l}}async generate({inputs:t=null,generation_config:r=null,logits_processor:n=null,stopping_criteria:s=null,streamer:a=null,...o}){this._validate_model_class(),r=this._prepare_generation_config(r,o);let{inputs_tensor:i,model_inputs:l,model_input_name:c}=this._prepare_model_inputs({inputs:t,model_kwargs:o}),u=this.config.is_encoder_decoder;u&&("encoder_outputs"in l||(l=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:i,model_inputs:l,model_input_name:c,generation_config:r})));let p;u?{input_ids:p,model_inputs:l}=this._prepare_decoder_input_ids_for_generation({batch_size:l[c].dims.at(0),model_input_name:c,model_kwargs:l,decoder_start_token_id:r.decoder_start_token_id,bos_token_id:r.bos_token_id,generation_config:r}):p=l[c];let f=p.dims.at(-1);r.max_new_tokens!==null&&(r.max_length=f+r.max_new_tokens);let m=this._get_logits_processor(r,f,n),y=this._get_stopping_criteria(r,s),v=l[c].dims.at(0),x=Fi.getSampler(r),M=new Array(v).fill(0),T=p.tolist();a&&a.put(T);let A,C={},S={};for(;;){if(l=this.prepare_inputs_for_generation(T,l,r),A=await this.forward(l),r.return_dict_in_generate)if(r.output_attentions){let G=this.getAttentions(A);for(let W in G)W in C||(C[W]=[]),C[W].push(G[W])}else this._return_dict_in_generate_keys&&Object.assign(S,ot(A,this._return_dict_in_generate_keys));let K=A.logits.slice(null,-1,null).to("float32"),$=m(T,K),V=[];for(let G=0;G<$.dims.at(0);++G){let W=$[G],D=await x(W);for(let[R,re]of D){let ie=BigInt(R);M[G]+=re,T[G].push(ie),V.push([ie]);break}}if(a&&a.put(V),y(T).every(G=>G))break;l=this._update_model_kwargs_for_generation({generated_input_ids:V,outputs:A,model_inputs:l,is_encoder_decoder:u})}a&&a.end();let O=this.getPastKeyValues(A,l.past_key_values,!0),E=new q("int64",T.flat(),[T.length,T[0].length]);if(r.return_dict_in_generate)return{sequences:E,past_key_values:O,...C,...S};for(let K of Object.values(A))K.location==="gpu-buffer"&&K.dispose();return E}getPastKeyValues(t,r,n=!1){let s=Object.create(null);for(let a in t)if(a.startsWith("present")){let o=a.replace("present_ssm","past_ssm").replace("present_conv","past_conv").replace("present_recurrent","past_recurrent").replace("present","past_key_values"),i=a.includes("encoder");if(i&&r?s[o]=r[o]:s[o]=t[a],r&&(!i||n)){let l=r[o];l.location==="gpu-buffer"&&l.dispose()}}return new Oh(s)}getAttentions(t){let r={};for(let n of["cross_attentions","encoder_attentions","decoder_attentions"])for(let s in t)s.startsWith(n)&&(n in r||(r[n]=[]),r[n].push(t[s]));return r}addPastKeyValues(t,r){if(r)Object.assign(t,r);else{let n=this.sessions.decoder_model_merged??this.sessions.model,s=(t[this.main_input_name]??t.attention_mask)?.dims?.[0]??1,a=n?.config?.kv_cache_dtype??"float32",o=a==="float16"?is.float16:is.float32,i=Oi(this.config,{batch_size:s});for(let l in i){let c=i[l].reduce((u,p)=>u*p,1);t[l]=new q(a,new o(c),i[l])}}}async _encode_input(t,r,n){if(!Object.hasOwn(this.sessions,t))throw new Error(`Model does not have a ${t} session.`);let s=this.sessions[t];return(await be(s,ot(r,s.inputNames)))[n]}async encode_image(t){return this._encode_input("vision_encoder",t,"image_features")}async encode_text(t){return this._encode_input("embed_tokens",t,"inputs_embeds")}async encode_audio(t){return this._encode_input("audio_encoder",t,"audio_features")}};Nh={};cs(Nh,{ASTForAudioClassification:()=>u0,ASTModel:()=>c0,ASTPreTrainedModel:()=>Ui,AfmoeForCausalLM:()=>o0,AfmoeModel:()=>a0,AfmoePreTrainedModel:()=>Di,AlbertForMaskedLM:()=>r0,AlbertForQuestionAnswering:()=>t0,AlbertForSequenceClassification:()=>e0,AlbertModel:()=>Zx,AlbertPreTrainedModel:()=>fs,ApertusForCausalLM:()=>s0,ApertusModel:()=>n0,ApertusPreTrainedModel:()=>Ni,ArceeForCausalLM:()=>l0,ArceeModel:()=>i0,ArceePreTrainedModel:()=>Bi,BartForConditionalGeneration:()=>p0,BartForSequenceClassification:()=>h0,BartModel:()=>d0,BartPretrainedModel:()=>Ea,BeitForImageClassification:()=>m0,BeitModel:()=>f0,BeitPreTrainedModel:()=>zi,BertForMaskedLM:()=>g0,BertForQuestionAnswering:()=>v0,BertForSequenceClassification:()=>w0,BertForTokenClassification:()=>y0,BertModel:()=>_0,BertPreTrainedModel:()=>fn,BlenderbotForConditionalGeneration:()=>M0,BlenderbotModel:()=>b0,BlenderbotPreTrainedModel:()=>$i,BlenderbotSmallForConditionalGeneration:()=>T0,BlenderbotSmallModel:()=>x0,BlenderbotSmallPreTrainedModel:()=>Vi,BloomForCausalLM:()=>k0,BloomModel:()=>E0,BloomPreTrainedModel:()=>Gi,CHMv2ForDepthEstimation:()=>O0,CHMv2PreTrainedModel:()=>zh,CLIPModel:()=>F0,CLIPPreTrainedModel:()=>Nr,CLIPSegForImageSegmentation:()=>z0,CLIPSegModel:()=>U0,CLIPSegPreTrainedModel:()=>ji,CLIPTextModel:()=>N0,CLIPTextModelWithProjection:()=>Gh,CLIPVisionModel:()=>D0,CLIPVisionModelWithProjection:()=>B0,CamembertForMaskedLM:()=>A0,CamembertForQuestionAnswering:()=>P0,CamembertForSequenceClassification:()=>S0,CamembertForTokenClassification:()=>I0,CamembertModel:()=>C0,CamembertPreTrainedModel:()=>mn,ChatterboxModel:()=>Bh,ChatterboxPreTrainedModel:()=>Dh,ChineseCLIPModel:()=>R0,ChineseCLIPPreTrainedModel:()=>Uh,ClapAudioModelWithProjection:()=>Vh,ClapModel:()=>L0,ClapPreTrainedModel:()=>ka,ClapTextModelWithProjection:()=>$h,CodeGenForCausalLM:()=>V0,CodeGenModel:()=>$0,CodeGenPreTrainedModel:()=>qi,Cohere2ForCausalLM:()=>W0,Cohere2Model:()=>q0,Cohere2PreTrainedModel:()=>Hi,CohereForCausalLM:()=>j0,CohereModel:()=>G0,CoherePreTrainedModel:()=>Wi,ConvBertForMaskedLM:()=>K0,ConvBertForQuestionAnswering:()=>X0,ConvBertForSequenceClassification:()=>Q0,ConvBertForTokenClassification:()=>J0,ConvBertModel:()=>H0,ConvBertPreTrainedModel:()=>_n,ConvNextForImageClassification:()=>Z0,ConvNextModel:()=>Y0,ConvNextPreTrainedModel:()=>Ki,ConvNextV2ForImageClassification:()=>tT,ConvNextV2Model:()=>eT,ConvNextV2PreTrainedModel:()=>Qi,DFineForObjectDetection:()=>aT,DFineModel:()=>sT,DFinePreTrainedModel:()=>Xi,DINOv3ConvNextModel:()=>PT,DINOv3ConvNextPreTrainedModel:()=>Yh,DINOv3ViTModel:()=>RT,DINOv3ViTPreTrainedModel:()=>Zh,DPTForDepthEstimation:()=>zT,DPTModel:()=>UT,DPTPreTrainedModel:()=>nl,DacDecoderModel:()=>Hh,DacDecoderOutput:()=>qh,DacEncoderModel:()=>Wh,DacEncoderOutput:()=>jh,DacModel:()=>oT,DacPreTrainedModel:()=>Ca,DebertaForMaskedLM:()=>lT,DebertaForQuestionAnswering:()=>dT,DebertaForSequenceClassification:()=>cT,DebertaForTokenClassification:()=>uT,DebertaModel:()=>iT,DebertaPreTrainedModel:()=>gn,DebertaV2ForMaskedLM:()=>mT,DebertaV2ForQuestionAnswering:()=>wT,DebertaV2ForSequenceClassification:()=>_T,DebertaV2ForTokenClassification:()=>gT,DebertaV2Model:()=>fT,DebertaV2PreTrainedModel:()=>wn,DecisionTransformerModel:()=>yT,DecisionTransformerPreTrainedModel:()=>Kh,DeepseekV3ForCausalLM:()=>hT,DeepseekV3Model:()=>pT,DeepseekV3PreTrainedModel:()=>Yi,DeiTForImageClassification:()=>bT,DeiTModel:()=>vT,DeiTPreTrainedModel:()=>Zi,DepthAnythingForDepthEstimation:()=>MT,DepthAnythingPreTrainedModel:()=>Qh,DepthProForDepthEstimation:()=>xT,DepthProPreTrainedModel:()=>Jh,DetrForObjectDetection:()=>ET,DetrForSegmentation:()=>kT,DetrModel:()=>TT,DetrObjectDetectionOutput:()=>el,DetrPreTrainedModel:()=>Aa,DetrSegmentationOutput:()=>Xh,Dinov2ForImageClassification:()=>AT,Dinov2Model:()=>CT,Dinov2PreTrainedModel:()=>tl,Dinov2WithRegistersForImageClassification:()=>IT,Dinov2WithRegistersModel:()=>ST,Dinov2WithRegistersPreTrainedModel:()=>rl,DistilBertForMaskedLM:()=>DT,DistilBertForQuestionAnswering:()=>NT,DistilBertForSequenceClassification:()=>LT,DistilBertForTokenClassification:()=>FT,DistilBertModel:()=>OT,DistilBertPreTrainedModel:()=>yn,DonutSwinModel:()=>BT,DonutSwinPreTrainedModel:()=>ef,EdgeTamModel:()=>WC,EfficientNetForImageClassification:()=>VT,EfficientNetModel:()=>$T,EfficientNetPreTrainedModel:()=>sl,ElectraForMaskedLM:()=>jT,ElectraForQuestionAnswering:()=>HT,ElectraForSequenceClassification:()=>qT,ElectraForTokenClassification:()=>WT,ElectraModel:()=>GT,ElectraPreTrainedModel:()=>vn,Ernie4_5ForCausalLM:()=>QT,Ernie4_5Model:()=>KT,Ernie4_5PretrainedModel:()=>al,EsmForMaskedLM:()=>XT,EsmForSequenceClassification:()=>YT,EsmForTokenClassification:()=>ZT,EsmModel:()=>JT,EsmPreTrainedModel:()=>_s,EuroBertForMaskedLM:()=>tE,EuroBertForSequenceClassification:()=>rE,EuroBertForTokenClassification:()=>nE,EuroBertModel:()=>eE,EuroBertPreTrainedModel:()=>gs,ExaoneForCausalLM:()=>aE,ExaoneModel:()=>sE,ExaonePreTrainedModel:()=>ol,FalconForCausalLM:()=>iE,FalconH1ForCausalLM:()=>cE,FalconH1Model:()=>lE,FalconH1PreTrainedModel:()=>ll,FalconModel:()=>oE,FalconPreTrainedModel:()=>il,FastViTForImageClassification:()=>dE,FastViTModel:()=>uE,FastViTPreTrainedModel:()=>cl,Florence2ForConditionalGeneration:()=>pE,Florence2PreTrainedModel:()=>tf,GLPNForDepthEstimation:()=>EE,GLPNModel:()=>TE,GLPNPreTrainedModel:()=>vl,GPT2LMHeadModel:()=>FE,GPT2Model:()=>LE,GPT2PreTrainedModel:()=>El,GPTBigCodeForCausalLM:()=>CE,GPTBigCodeModel:()=>kE,GPTBigCodePreTrainedModel:()=>bl,GPTJForCausalLM:()=>DE,GPTJModel:()=>NE,GPTJPreTrainedModel:()=>kl,GPTNeoForCausalLM:()=>SE,GPTNeoModel:()=>AE,GPTNeoPreTrainedModel:()=>Ml,GPTNeoXForCausalLM:()=>PE,GPTNeoXModel:()=>IE,GPTNeoXPreTrainedModel:()=>xl,Gemma2ForCausalLM:()=>_E,Gemma2Model:()=>mE,Gemma2PreTrainedModel:()=>dl,Gemma3ForCausalLM:()=>wE,Gemma3Model:()=>gE,Gemma3PreTrainedModel:()=>pl,Gemma3nForCausalLM:()=>nf,Gemma3nForConditionalGeneration:()=>hl,Gemma3nPreTrainedModel:()=>rf,GemmaForCausalLM:()=>fE,GemmaModel:()=>hE,GemmaPreTrainedModel:()=>ul,GlmForCausalLM:()=>vE,GlmModel:()=>yE,GlmMoeDsaForCausalLM:()=>ME,GlmMoeDsaModel:()=>bE,GlmMoeDsaPreTrainedModel:()=>ml,GlmOcrForConditionalGeneration:()=>xE,GlmPreTrainedModel:()=>fl,GptOssForCausalLM:()=>OE,GptOssModel:()=>RE,GptOssPreTrainedModel:()=>Tl,GraniteForCausalLM:()=>UE,GraniteModel:()=>BE,GraniteMoeHybridForCausalLM:()=>$E,GraniteMoeHybridModel:()=>zE,GraniteMoeHybridPreTrainedModel:()=>Al,GranitePreTrainedModel:()=>Cl,GraniteSpeechForConditionalGeneration:()=>VE,GroundingDinoForObjectDetection:()=>GE,GroundingDinoPreTrainedModel:()=>of,GroupViTModel:()=>jE,GroupViTPreTrainedModel:()=>lf,HeliumForCausalLM:()=>WE,HeliumModel:()=>qE,HeliumPreTrainedModel:()=>Il,HieraForImageClassification:()=>KE,HieraModel:()=>HE,HieraPreTrainedModel:()=>Pl,HubertForCTC:()=>tk,HubertForSequenceClassification:()=>rk,HubertModel:()=>ek,HubertPreTrainedModel:()=>ZE,HunYuanDenseV1ForCausalLM:()=>sk,HunYuanDenseV1Model:()=>nk,HunYuanDenseV1PreTrainedModel:()=>Rl,IJepaForImageClassification:()=>ck,IJepaModel:()=>lk,IJepaPreTrainedModel:()=>Ol,Idefics3ForConditionalGeneration:()=>ik,JAISLMHeadModel:()=>dk,JAISModel:()=>uk,JAISPreTrainedModel:()=>Ll,JinaCLIPModel:()=>pk,JinaCLIPPreTrainedModel:()=>Sa,JinaCLIPTextModel:()=>uf,JinaCLIPVisionModel:()=>hk,Lfm2ForCausalLM:()=>mk,Lfm2Model:()=>fk,Lfm2MoeForCausalLM:()=>wk,Lfm2MoeModel:()=>gk,Lfm2MoePreTrainedModel:()=>Nl,Lfm2PreTrainedModel:()=>Fl,Lfm2VlForConditionalGeneration:()=>yk,LightOnOcrForConditionalGeneration:()=>_k,LiteWhisperForConditionalGeneration:()=>aS,Llama4ForCausalLM:()=>Mk,Llama4PreTrainedModel:()=>df,LlamaForCausalLM:()=>bk,LlamaModel:()=>vk,LlamaPreTrainedModel:()=>Dl,LlavaForConditionalGeneration:()=>gr,LlavaOnevisionForConditionalGeneration:()=>gr,LlavaPreTrainedModel:()=>cf,LlavaQwen2ForCausalLM:()=>ok,LongT5ForConditionalGeneration:()=>Tk,LongT5Model:()=>xk,LongT5PreTrainedModel:()=>Bl,M2M100ForConditionalGeneration:()=>kk,M2M100Model:()=>Ek,M2M100PreTrainedModel:()=>Ul,MBartForCausalLM:()=>Lk,MBartForConditionalGeneration:()=>Rk,MBartForSequenceClassification:()=>Ok,MBartModel:()=>Pk,MBartPreTrainedModel:()=>ws,MPNetForMaskedLM:()=>v1,MPNetForQuestionAnswering:()=>x1,MPNetForSequenceClassification:()=>b1,MPNetForTokenClassification:()=>M1,MPNetModel:()=>y1,MPNetPreTrainedModel:()=>bn,MT5ForConditionalGeneration:()=>C1,MT5Model:()=>k1,MT5PreTrainedModel:()=>Jl,MarianMTModel:()=>Ak,MarianModel:()=>Ck,MarianPreTrainedModel:()=>zl,MaskFormerForInstanceSegmentation:()=>Ik,MaskFormerModel:()=>Sk,MaskFormerPreTrainedModel:()=>$l,Metric3DForDepthEstimation:()=>Fk,Metric3DPreTrainedModel:()=>pf,Metric3Dv2ForDepthEstimation:()=>Nk,Metric3Dv2PreTrainedModel:()=>hf,MgpstrForSceneTextRecognition:()=>Dk,MgpstrModelOutput:()=>ff,MgpstrPreTrainedModel:()=>mf,MimiDecoderModel:()=>yf,MimiDecoderOutput:()=>gf,MimiEncoderModel:()=>wf,MimiEncoderOutput:()=>_f,MimiModel:()=>Bk,MimiPreTrainedModel:()=>Ia,Mistral4ForCausalLM:()=>Vk,Mistral4Model:()=>$k,Mistral4PreTrainedModel:()=>Gl,MistralForCausalLM:()=>zk,MistralModel:()=>Uk,MistralPreTrainedModel:()=>Vl,MobileBertForMaskedLM:()=>jk,MobileBertForQuestionAnswering:()=>Wk,MobileBertForSequenceClassification:()=>qk,MobileBertModel:()=>Gk,MobileBertPreTrainedModel:()=>ys,MobileLLMForCausalLM:()=>Kk,MobileLLMModel:()=>Hk,MobileLLMPreTrainedModel:()=>jl,MobileNetV1ForImageClassification:()=>Jk,MobileNetV1ForSemanticSegmentation:()=>Xk,MobileNetV1Model:()=>Qk,MobileNetV1PreTrainedModel:()=>Pa,MobileNetV2ForImageClassification:()=>Zk,MobileNetV2ForSemanticSegmentation:()=>e1,MobileNetV2Model:()=>Yk,MobileNetV2PreTrainedModel:()=>Ra,MobileNetV3ForImageClassification:()=>r1,MobileNetV3ForSemanticSegmentation:()=>n1,MobileNetV3Model:()=>t1,MobileNetV3PreTrainedModel:()=>Oa,MobileNetV4ForImageClassification:()=>a1,MobileNetV4ForSemanticSegmentation:()=>o1,MobileNetV4Model:()=>s1,MobileNetV4PreTrainedModel:()=>La,MobileViTForImageClassification:()=>l1,MobileViTModel:()=>i1,MobileViTPreTrainedModel:()=>ql,MobileViTV2ForImageClassification:()=>u1,MobileViTV2Model:()=>c1,MobileViTV2PreTrainedModel:()=>Wl,ModernBertDecoderForCausalLM:()=>_1,ModernBertDecoderModel:()=>m1,ModernBertDecoderPreTrainedModel:()=>Hl,ModernBertForMaskedLM:()=>p1,ModernBertForSequenceClassification:()=>h1,ModernBertForTokenClassification:()=>f1,ModernBertModel:()=>d1,ModernBertPreTrainedModel:()=>vs,Moondream1ForConditionalGeneration:()=>ak,MoonshineForConditionalGeneration:()=>w1,MoonshineModel:()=>g1,MoonshinePreTrainedModel:()=>Kl,MptForCausalLM:()=>E1,MptModel:()=>T1,MptPreTrainedModel:()=>Ql,MultiModalityCausalLM:()=>A1,MultiModalityPreTrainedModel:()=>vf,MusicgenForCausalLM:()=>I1,MusicgenForConditionalGeneration:()=>bf,MusicgenModel:()=>S1,MusicgenPreTrainedModel:()=>Xl,NanoChatForCausalLM:()=>R1,NanoChatModel:()=>P1,NanoChatPreTrainedModel:()=>Yl,NemotronHForCausalLM:()=>L1,NemotronHModel:()=>O1,NemotronHPreTrainedModel:()=>Zl,NeoBertForMaskedLM:()=>N1,NeoBertForQuestionAnswering:()=>U1,NeoBertForSequenceClassification:()=>D1,NeoBertForTokenClassification:()=>B1,NeoBertModel:()=>F1,NeoBertPreTrainedModel:()=>Mn,NomicBertModel:()=>z1,NomicBertPreTrainedModel:()=>Mf,OPTForCausalLM:()=>Y1,OPTModel:()=>X1,OPTPreTrainedModel:()=>ac,Olmo2ForCausalLM:()=>j1,Olmo2Model:()=>G1,Olmo2PreTrainedModel:()=>tc,Olmo3ForCausalLM:()=>W1,Olmo3Model:()=>q1,Olmo3PreTrainedModel:()=>rc,OlmoForCausalLM:()=>V1,OlmoHybridForCausalLM:()=>K1,OlmoHybridModel:()=>H1,OlmoHybridPreTrainedModel:()=>nc,OlmoModel:()=>$1,OlmoPreTrainedModel:()=>ec,OpenELMForCausalLM:()=>J1,OpenELMModel:()=>Q1,OpenELMPreTrainedModel:()=>sc,OwlViTForObjectDetection:()=>rC,OwlViTModel:()=>tC,OwlViTPreTrainedModel:()=>ic,Owlv2ForObjectDetection:()=>eC,Owlv2Model:()=>Z1,Owlv2PreTrainedModel:()=>oc,PaliGemmaForConditionalGeneration:()=>nC,ParakeetForCTC:()=>sC,ParakeetPreTrainedModel:()=>xf,PatchTSMixerForPrediction:()=>oC,PatchTSMixerModel:()=>aC,PatchTSMixerPreTrainedModel:()=>lc,PatchTSTForPrediction:()=>lC,PatchTSTModel:()=>iC,PatchTSTPreTrainedModel:()=>cc,Phi3ForCausalLM:()=>pC,Phi3Model:()=>dC,Phi3PreTrainedModel:()=>dc,Phi3VForCausalLM:()=>Ef,Phi3VPreTrainedModel:()=>Tf,PhiForCausalLM:()=>uC,PhiModel:()=>cC,PhiPreTrainedModel:()=>uc,PreTrainedModel:()=>I,PvtForImageClassification:()=>fC,PvtModel:()=>hC,PvtPreTrainedModel:()=>pc,PyAnnoteForAudioFrameClassification:()=>_C,PyAnnoteModel:()=>mC,PyAnnotePreTrainedModel:()=>hc,Qwen2ForCausalLM:()=>wC,Qwen2Model:()=>gC,Qwen2MoeForCausalLM:()=>vC,Qwen2MoeModel:()=>yC,Qwen2MoePreTrainedModel:()=>mc,Qwen2PreTrainedModel:()=>fc,Qwen2VLForCausalLM:()=>gl,Qwen2VLForConditionalGeneration:()=>_l,Qwen2VLPreTrainedModel:()=>sf,Qwen2_5_VLForCausalLM:()=>yl,Qwen2_5_VLForConditionalGeneration:()=>wl,Qwen3ForCausalLM:()=>MC,Qwen3Model:()=>bC,Qwen3MoeForCausalLM:()=>TC,Qwen3MoeModel:()=>xC,Qwen3MoePreTrainedModel:()=>gc,Qwen3NextForCausalLM:()=>kC,Qwen3NextModel:()=>EC,Qwen3NextPreTrainedModel:()=>wc,Qwen3PreTrainedModel:()=>_c,Qwen3VLForCausalLM:()=>vc,Qwen3VLForConditionalGeneration:()=>yc,Qwen3VLMoeForCausalLM:()=>kf,Qwen3VLMoeForConditionalGeneration:()=>CC,Qwen3_5ForCausalLM:()=>Mc,Qwen3_5ForConditionalGeneration:()=>bc,Qwen3_5MoeForCausalLM:()=>Cf,Qwen3_5MoeForConditionalGeneration:()=>AC,RFDetrForObjectDetection:()=>RC,RFDetrModel:()=>PC,RFDetrObjectDetectionOutput:()=>Af,RFDetrPreTrainedModel:()=>Tc,RTDetrForObjectDetection:()=>nT,RTDetrModel:()=>rT,RTDetrObjectDetectionOutput:()=>ms,RTDetrPreTrainedModel:()=>Ji,RTDetrV2ForObjectDetection:()=>jC,RTDetrV2Model:()=>GC,RTDetrV2ObjectDetectionOutput:()=>Sf,RTDetrV2PreTrainedModel:()=>Ec,ResNetForImageClassification:()=>IC,ResNetModel:()=>SC,ResNetPreTrainedModel:()=>xc,RoFormerForMaskedLM:()=>UC,RoFormerForQuestionAnswering:()=>VC,RoFormerForSequenceClassification:()=>zC,RoFormerForTokenClassification:()=>$C,RoFormerModel:()=>BC,RoFormerPreTrainedModel:()=>Tn,RobertaForMaskedLM:()=>LC,RobertaForQuestionAnswering:()=>DC,RobertaForSequenceClassification:()=>FC,RobertaForTokenClassification:()=>NC,RobertaModel:()=>OC,RobertaPreTrainedModel:()=>xn,Sam2ImageSegmentationOutput:()=>Rf,Sam2Model:()=>kc,Sam2PreTrainedModel:()=>Of,Sam3TrackerModel:()=>HC,SamImageSegmentationOutput:()=>If,SamModel:()=>qC,SamPreTrainedModel:()=>Pf,SapiensForDepthEstimation:()=>QC,SapiensForNormalEstimation:()=>JC,SapiensForSemanticSegmentation:()=>KC,SapiensPreTrainedModel:()=>Fa,SegformerForImageClassification:()=>YC,SegformerForSemanticSegmentation:()=>ZC,SegformerModel:()=>XC,SegformerPreTrainedModel:()=>Na,SiglipModel:()=>eA,SiglipPreTrainedModel:()=>Cc,SiglipTextModel:()=>Lf,SiglipVisionModel:()=>tA,SmolLM3ForCausalLM:()=>nA,SmolLM3Model:()=>rA,SmolLM3PreTrainedModel:()=>Ac,SnacDecoderModel:()=>Nf,SnacEncoderModel:()=>Ff,SnacModel:()=>sA,SnacPreTrainedModel:()=>Da,SolarOpenForCausalLM:()=>oA,SolarOpenModel:()=>aA,SolarOpenPreTrainedModel:()=>Sc,SpeechT5ForSpeechToText:()=>lA,SpeechT5ForTextToSpeech:()=>cA,SpeechT5HifiGan:()=>uA,SpeechT5Model:()=>iA,SpeechT5PreTrainedModel:()=>Ba,SqueezeBertForMaskedLM:()=>pA,SqueezeBertForQuestionAnswering:()=>fA,SqueezeBertForSequenceClassification:()=>hA,SqueezeBertModel:()=>dA,SqueezeBertPreTrainedModel:()=>bs,StableLmForCausalLM:()=>_A,StableLmModel:()=>mA,StableLmPreTrainedModel:()=>Ic,Starcoder2ForCausalLM:()=>wA,Starcoder2Model:()=>gA,Starcoder2PreTrainedModel:()=>Pc,StyleTextToSpeech2Model:()=>yA,StyleTextToSpeech2PreTrainedModel:()=>Df,SupertonicForConditionalGeneration:()=>Uf,SupertonicPreTrainedModel:()=>Bf,Swin2SRForImageSuperResolution:()=>TA,Swin2SRModel:()=>xA,Swin2SRPreTrainedModel:()=>Rc,SwinForImageClassification:()=>bA,SwinForSemanticSegmentation:()=>MA,SwinModel:()=>vA,SwinPreTrainedModel:()=>Ua,T5ForConditionalGeneration:()=>kA,T5Model:()=>EA,T5PreTrainedModel:()=>Oc,TableTransformerForObjectDetection:()=>AA,TableTransformerModel:()=>CA,TableTransformerObjectDetectionOutput:()=>zf,TableTransformerPreTrainedModel:()=>Lc,TrOCRForCausalLM:()=>SA,TrOCRPreTrainedModel:()=>$f,UltravoxModel:()=>Sl,UltravoxPreTrainedModel:()=>af,UniSpeechForCTC:()=>PA,UniSpeechForSequenceClassification:()=>RA,UniSpeechModel:()=>IA,UniSpeechPreTrainedModel:()=>za,UniSpeechSatForAudioFrameClassification:()=>NA,UniSpeechSatForCTC:()=>LA,UniSpeechSatForSequenceClassification:()=>FA,UniSpeechSatModel:()=>OA,UniSpeechSatPreTrainedModel:()=>Ms,VaultGemmaForCausalLM:()=>BA,VaultGemmaModel:()=>DA,VaultGemmaPreTrainedModel:()=>Fc,ViTForImageClassification:()=>$A,ViTMAEModel:()=>VA,ViTMAEPreTrainedModel:()=>Vf,ViTMSNForImageClassification:()=>jA,ViTMSNModel:()=>GA,ViTMSNPreTrainedModel:()=>Dc,ViTModel:()=>zA,ViTPreTrainedModel:()=>Nc,VisionEncoderDecoderModel:()=>UA,VitMatteForImageMatting:()=>qA,VitMattePreTrainedModel:()=>Gf,VitPoseForPoseEstimation:()=>WA,VitPosePreTrainedModel:()=>jf,VitsModel:()=>HA,VitsModelOutput:()=>qf,VitsPreTrainedModel:()=>Wf,VoxtralForConditionalGeneration:()=>KA,VoxtralRealtimeForConditionalGeneration:()=>Kf,VoxtralRealtimePreTrainedModel:()=>Hf,Wav2Vec2BertForCTC:()=>JA,Wav2Vec2BertForSequenceClassification:()=>XA,Wav2Vec2BertModel:()=>QA,Wav2Vec2BertPreTrainedModel:()=>$a,Wav2Vec2ForAudioFrameClassification:()=>YE,Wav2Vec2ForCTC:()=>JE,Wav2Vec2ForSequenceClassification:()=>XE,Wav2Vec2Model:()=>QE,Wav2Vec2PreTrainedModel:()=>Mr,WavLMForAudioFrameClassification:()=>rS,WavLMForCTC:()=>ZA,WavLMForSequenceClassification:()=>eS,WavLMForXVector:()=>tS,WavLMModel:()=>YA,WavLMPreTrainedModel:()=>En,WeSpeakerResNetModel:()=>nS,WeSpeakerResNetPreTrainedModel:()=>Jf,WhisperForConditionalGeneration:()=>Xf,WhisperModel:()=>sS,WhisperPreTrainedModel:()=>Bc,XLMForQuestionAnswering:()=>uS,XLMForSequenceClassification:()=>lS,XLMForTokenClassification:()=>cS,XLMModel:()=>oS,XLMPreTrainedModel:()=>kn,XLMRobertaForMaskedLM:()=>pS,XLMRobertaForQuestionAnswering:()=>mS,XLMRobertaForSequenceClassification:()=>hS,XLMRobertaForTokenClassification:()=>fS,XLMRobertaModel:()=>dS,XLMRobertaPreTrainedModel:()=>Cn,XLMWithLMHeadModel:()=>iS,XVectorOutput:()=>Qf,YolosForObjectDetection:()=>gS,YolosModel:()=>_S,YolosObjectDetectionOutput:()=>Yf,YolosPreTrainedModel:()=>Uc,YoutuForCausalLM:()=>yS,YoutuModel:()=>wS,YoutuPreTrainedModel:()=>zc});fs=class extends I{},Zx=class extends fs{},e0=class extends fs{async _call(e){return new oe(await super._call(e))}},t0=class extends fs{async _call(e){return new _t(await super._call(e))}},r0=class extends fs{async _call(e){return new Je(await super._call(e))}},Ni=class extends I{},n0=class extends Ni{},s0=class extends Ni{},Di=class extends I{},a0=class extends Di{},o0=class extends Di{},Bi=class extends I{},i0=class extends Bi{},l0=class extends Bi{},Ui=class extends I{},c0=class extends Ui{},u0=class extends Ui{},Ea=class extends I{},d0=class extends Ea{},p0=class extends Ea{},h0=class extends Ea{async _call(e){return new oe(await super._call(e))}},zi=class extends I{},f0=class extends zi{},m0=class extends zi{async _call(e){return new oe(await super._call(e))}},fn=class extends I{},_0=class extends fn{},g0=class extends fn{async _call(e){return new Je(await super._call(e))}},w0=class extends fn{async _call(e){return new oe(await super._call(e))}},y0=class extends fn{async _call(e){return new je(await super._call(e))}},v0=class extends fn{async _call(e){return new _t(await super._call(e))}},$i=class extends I{},b0=class extends $i{},M0=class extends $i{},Vi=class extends I{},x0=class extends Vi{},T0=class extends Vi{},Gi=class extends I{},E0=class extends Gi{},k0=class extends Gi{},mn=class extends I{},C0=class extends mn{},A0=class extends mn{async _call(e){return new Je(await super._call(e))}},S0=class extends mn{async _call(e){return new oe(await super._call(e))}},I0=class extends mn{async _call(e){return new je(await super._call(e))}},P0=class extends mn{async _call(e){return new _t(await super._call(e))}},xU=4299n,pv=6561n,Dh=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","audio_values","exaggeration","audio_features","audio_tokens","speaker_embeddings","speaker_features","past_key_values"]);w(this,"main_input_name","input_ids");w(this,"_return_dict_in_generate_keys",["audio_tokens","speaker_embeddings","speaker_features"])}},Bh=class extends Dh{async encode_speech(e){return be(this.sessions.speech_encoder,{audio_values:e})}async forward({input_ids:e=null,attention_mask:t=null,audio_values:r=null,exaggeration:n=null,position_ids:s=null,inputs_embeds:a=null,past_key_values:o=null,generation_config:i=null,logits_processor:l=null,audio_features:c=null,audio_tokens:u=null,speaker_embeddings:p=null,speaker_features:f=null,...m}){let y;if(!a){let x=this.sessions.embed_tokens.inputNames,M={input_ids:e};if(x.includes("exaggeration")){if(!(n instanceof q)){let T=e.dims[0];if(n==null)n=lt([T],.5);else if(typeof n=="number")n=lt([T],n);else if(Array.isArray(n))n=new q("float32",n,[T]);else throw new Error("Unsupported type for `exaggeration` input")}M.exaggeration=n}if(x.includes("position_ids")&&(M.position_ids=s),{inputs_embeds:a}=await be(this.sessions.embed_tokens,M),c&&u&&p&&f&&(y={audio_features:c,audio_tokens:u,speaker_embeddings:p,speaker_features:f}),y||r)y??(y=await this.encode_speech(r)),a=Fe([y.audio_features,a],1),t=xt([a.dims[0],a.dims[1]]);else{let T=a.dims[1];if(!o||T!==1)throw new Error("Incorrect state encountered during generation.");let A=o.get_seq_length();t=xt([a.dims[0],A+T])}}return{...await _r(this,{inputs_embeds:a,past_key_values:o,attention_mask:t,generation_config:i,logits_processor:l},!1),...y}}prepare_inputs_for_generation(e,t,r){if(!t.position_ids&&this.sessions.embed_tokens.inputNames.includes("position_ids"))if(t.input_ids.dims[1]===1){let n=Array.from({length:e.length},(s,a)=>e[a].length-e[a].findLastIndex(o=>o==pv)-1);t.position_ids=new q("int64",n,[e.length,1])}else{let s=t.input_ids.tolist().map(a=>{let o=0;return a.map(i=>i>=pv?0:o++)});t.position_ids=new q("int64",s.flat(),t.input_ids.dims)}return t.input_ids.dims[1]===1&&(delete t.audio_values,delete t.audio_features,delete t.audio_tokens,delete t.speaker_embeddings,delete t.speaker_features),ha(this,e,t,r)}async generate(e){let{sequences:t,audio_tokens:r,speaker_embeddings:n,speaker_features:s}=await super.generate({...e,return_dict_in_generate:!0}),a=t.slice(null,[e.input_ids.dims[1],-1]),o=lt([a.dims[0],3],xU),i=Fe([r,a,o],1),{waveform:l}=await be(this.sessions.conditional_decoder,{speech_tokens:i,speaker_features:s,speaker_embeddings:n});return l}},Uh=class extends I{},R0=class extends Uh{},zh=class extends I{},O0=class extends zh{},ka=class extends I{},L0=class extends ka{},$h=class extends ka{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},Vh=class extends ka{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"audio_model"})}},Nr=class extends I{},F0=class extends Nr{},N0=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},Gh=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},D0=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},B0=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},ji=class extends I{},U0=class extends ji{},z0=class extends ji{},qi=class extends I{},$0=class extends qi{},V0=class extends qi{},Wi=class extends I{},G0=class extends Wi{},j0=class extends Wi{},Hi=class extends I{},q0=class extends Hi{},W0=class extends Hi{},_n=class extends I{},H0=class extends _n{},K0=class extends _n{async _call(e){return new Je(await super._call(e))}},Q0=class extends _n{async _call(e){return new oe(await super._call(e))}},J0=class extends _n{async _call(e){return new je(await super._call(e))}},X0=class extends _n{async _call(e){return new _t(await super._call(e))}},Ki=class extends I{},Y0=class extends Ki{},Z0=class extends Ki{async _call(e){return new oe(await super._call(e))}},Qi=class extends I{},eT=class extends Qi{},tT=class extends Qi{async _call(e){return new oe(await super._call(e))}},Ji=class extends I{},rT=class extends Ji{},nT=class extends Ji{async _call(e){return new ms(await super._call(e))}},ms=class extends Qe{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},Xi=class extends I{},sT=class extends Xi{},aT=class extends Xi{async _call(e){return new ms(await super._call(e))}},jh=class extends Qe{constructor({audio_codes:e}){super(),this.audio_codes=e}},qh=class extends Qe{constructor({audio_values:e}){super(),this.audio_values=e}},Ca=class extends I{constructor(){super(...arguments);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values"])}},oT=class extends Ca{async encode(e){return new jh(await be(this.sessions.encoder_model,e))}async decode(e){return new qh(await be(this.sessions.decoder_model,e))}},Wh=class extends Ca{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},Hh=class extends Ca{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},gn=class extends I{},iT=class extends gn{},lT=class extends gn{async _call(e){return new Je(await super._call(e))}},cT=class extends gn{async _call(e){return new oe(await super._call(e))}},uT=class extends gn{async _call(e){return new je(await super._call(e))}},dT=class extends gn{async _call(e){return new _t(await super._call(e))}},Yi=class extends I{},pT=class extends Yi{},hT=class extends Yi{},wn=class extends I{},fT=class extends wn{},mT=class extends wn{async _call(e){return new Je(await super._call(e))}},_T=class extends wn{async _call(e){return new oe(await super._call(e))}},gT=class extends wn{async _call(e){return new je(await super._call(e))}},wT=class extends wn{async _call(e){return new _t(await super._call(e))}},Kh=class extends I{},yT=class extends Kh{},Zi=class extends I{},vT=class extends Zi{},bT=class extends Zi{async _call(e){return new oe(await super._call(e))}},Qh=class extends I{},MT=class extends Qh{},Jh=class extends I{},xT=class extends Jh{},Aa=class extends I{},TT=class extends Aa{},ET=class extends Aa{async _call(e){return new el(await super._call(e))}},kT=class extends Aa{async _call(e){return new Xh(await super._call(e))}},el=class extends Qe{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},Xh=class extends Qe{constructor({logits:e,pred_boxes:t,pred_masks:r}){super(),this.logits=e,this.pred_boxes=t,this.pred_masks=r}},tl=class extends I{},CT=class extends tl{},AT=class extends tl{async _call(e){return new oe(await super._call(e))}},rl=class extends I{},ST=class extends rl{},IT=class extends rl{async _call(e){return new oe(await super._call(e))}},Yh=class extends I{},PT=class extends Yh{},Zh=class extends I{},RT=class extends Zh{},yn=class extends I{},OT=class extends yn{},LT=class extends yn{async _call(e){return new oe(await super._call(e))}},FT=class extends yn{async _call(e){return new je(await super._call(e))}},NT=class extends yn{async _call(e){return new _t(await super._call(e))}},DT=class extends yn{async _call(e){return new Je(await super._call(e))}},ef=class extends I{},BT=class extends ef{},nl=class extends I{},UT=class extends nl{},zT=class extends nl{},sl=class extends I{},$T=class extends sl{},VT=class extends sl{async _call(e){return new oe(await super._call(e))}},vn=class extends I{},GT=class extends vn{},jT=class extends vn{async _call(e){return new Je(await super._call(e))}},qT=class extends vn{async _call(e){return new oe(await super._call(e))}},WT=class extends vn{async _call(e){return new je(await super._call(e))}},HT=class extends vn{async _call(e){return new _t(await super._call(e))}},al=class extends I{},KT=class extends al{},QT=class extends al{},_s=class extends I{},JT=class extends _s{},XT=class extends _s{async _call(e){return new Je(await super._call(e))}},YT=class extends _s{async _call(e){return new oe(await super._call(e))}},ZT=class extends _s{async _call(e){return new je(await super._call(e))}},gs=class extends I{},eE=class extends gs{},tE=class extends gs{async _call(e){return new Je(await super._call(e))}},rE=class extends gs{async _call(e){return new oe(await super._call(e))}},nE=class extends gs{async _call(e){return new je(await super._call(e))}},ol=class extends I{},sE=class extends ol{},aE=class extends ol{},il=class extends I{},oE=class extends il{},iE=class extends il{},ll=class extends I{},lE=class extends ll{},cE=class extends ll{},cl=class extends I{},uE=class extends cl{},dE=class extends cl{async _call(e){return new oe(await super._call(e))}},tf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","inputs_embeds","attention_mask","pixel_values","encoder_outputs","decoder_input_ids","decoder_inputs_embeds","decoder_attention_mask","past_key_values"]);w(this,"main_input_name","inputs_embeds")}},pE=class extends tf{_merge_input_ids_with_image_features({inputs_embeds:e,image_features:t,input_ids:r,attention_mask:n}){return{inputs_embeds:Fe([t,e],1),attention_mask:Fe([xt(t.dims.slice(0,2)),n],1)}}async _prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:r,attention_mask:n}){if(!e&&!t)throw new Error("Either `input_ids` or `pixel_values` should be provided.");let s,a;return e&&(s=await this.encode_text({input_ids:e})),t&&(a=await this.encode_image({pixel_values:t})),s&&a?{inputs_embeds:r,attention_mask:n}=this._merge_input_ids_with_image_features({inputs_embeds:s,image_features:a,input_ids:e,attention_mask:n}):r=s||a,{inputs_embeds:r,attention_mask:n}}async forward({input_ids:e,pixel_values:t,attention_mask:r,decoder_input_ids:n,decoder_attention_mask:s,encoder_outputs:a,past_key_values:o,inputs_embeds:i,decoder_inputs_embeds:l}){if(i||({inputs_embeds:i,attention_mask:r}=await this._prepare_inputs_embeds({input_ids:e,pixel_values:t,inputs_embeds:i,attention_mask:r})),!a){let{last_hidden_state:u}=await Lr(this,{inputs_embeds:i,attention_mask:r});a=u}if(!l){if(!n)throw new Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");l=await this.encode_text({input_ids:n})}return await _r(this,{inputs_embeds:l,attention_mask:s,encoder_attention_mask:r,encoder_hidden_states:a,past_key_values:o},!0)}},ul=class extends I{},hE=class extends ul{},fE=class extends ul{},dl=class extends I{},mE=class extends dl{},_E=class extends dl{},pl=class extends I{},gE=class extends pl{},wE=class extends pl{},rf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","inputs_embeds","per_layer_inputs","position_ids","pixel_values","input_features","input_features_mask","past_key_values"])}},hl=class extends rf{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:r=null,input_features:n=null,input_features_mask:s=null,position_ids:a=null,inputs_embeds:o=null,per_layer_inputs:i=null,past_key_values:l=null,generation_config:c=null,logits_processor:u=null,...p}){if((!o||!i)&&({inputs_embeds:o,per_layer_inputs:i}=await be(this.sessions.embed_tokens,{input_ids:e}),e.dims[1]!==1)){if(r){let{image_features:m}=await be(this.sessions.vision_encoder,{pixel_values:r});({inputs_embeds:o,attention_mask:t}=this._merge_input_ids_with_image_features({image_features:m,inputs_embeds:o,input_ids:e,attention_mask:t}))}if(n){let{audio_features:m}=await be(this.sessions.audio_encoder,{input_features:n,input_features_mask:s});({inputs_embeds:o,attention_mask:t}=this._merge_input_ids_with_audio_features({audio_features:m,inputs_embeds:o,input_ids:e,attention_mask:t}))}}return await _r(this,{inputs_embeds:o,per_layer_inputs:i,past_key_values:l,attention_mask:t,position_ids:a,generation_config:c,logits_processor:u},!0)}_merge_input_ids_with_image_features(e){let t=e.image_features.dims.at(-1),r=e.image_features.view(-1,t);return Fh({image_token_id:this.config.image_token_id,...e,image_features:r})}_merge_input_ids_with_audio_features(e){let t=e.audio_features.dims.at(-1),r=e.audio_features.view(-1,t);return Yx({audio_token_id:this.config.audio_token_id,...e,audio_features:r})}},nf=class extends hl{},fl=class extends I{},yE=class extends fl{},vE=class extends fl{},ml=class extends I{},bE=class extends ml{},ME=class extends ml{},sf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values","pixel_values","image_grid_thw"])}},_l=class extends sf{constructor(){super(...arguments);w(this,"image_grid_thw_name","grid_thw")}_get_text_only_rope_index(t,r){if(r){let{data:n,dims:s}=Jx(r),a=BigInt64Array.from({length:3*n.length},(i,l)=>n[l%n.length]),o=Array.from({length:s[0]},(i,l)=>Ge(n.subarray(s[1]*l,s[1]*(l+1)))[0]+1n+BigInt(s[1]));return[new q("int64",a,[3,...s]),new q("int64",o,[o.length,1])]}else{let[n,s]=t.dims,a=BigInt64Array.from({length:3*n*s},(o,i)=>BigInt(Math.floor(i%s/n)));return[new q("int64",a,[3,...t.dims]),rh([n,1])]}}_reorder_and_write_positions(t,r,n,s){let a=t.reduce((c,u)=>c+u.length,0),o=new Array(a),i=0;for(let c=0;c<3;++c)for(let u of t){let p=u.length/3;for(let f=c*p;f<(c+1)*p;++f)o[i++]=u[f]}let l=0;for(let c=0;c<r.length;++c)if(r[c]==1){for(let u=0;u<3;++u)n[u][s][c]=o[u*a/3+l];++l}return o}_get_multimodal_rope_positions({filtered_ids:t,image_grid_thw_list:r,video_grid_thw_list:n,spatial_merge_size:s,state:a}){let{image_token_id:o,video_token_id:i,vision_start_token_id:l}=this.config,c=t,p=c.reduce((T,A,C)=>(A==l&&T.push(C),T),[]).map(T=>c[T+1]),f=p.filter(T=>T==o).length,m=p.filter(T=>T==i).length,y=[],v=0,x=f,M=m;for(let T=0;T<p.length;++T){let A=c.findIndex((Y,fe)=>fe>v&&Y==o),C=c.findIndex((Y,fe)=>fe>v&&Y==i),S=x>0&&A!==-1?A:c.length+1,O=M>0&&C!==-1?C:c.length+1,E,K,$,V;S<O?([K,$,V]=r[a.image_index],++a.image_index,--x,E=S):([K,$,V]=n[a.video_index],++a.video_index,--M,E=O);let[Q,G,W]=[Number(K),Math.floor(Number($)/s),Math.floor(Number(V)/s)],D=E-v,R=y.length>0?Ge(y.at(-1))[0]+1:0;y.push(Array.from({length:3*D},(Y,fe)=>R+fe%D));let re=D+R,ie=Q*G*W,F=Array.from({length:ie},(Y,fe)=>re+Math.floor(fe/(G*W))),N=Array.from({length:ie},(Y,fe)=>re+Math.floor(fe/W)%G),z=Array.from({length:ie},(Y,fe)=>re+fe%W);y.push([F,N,z].flat()),v=E+ie}if(v<c.length){let T=y.length>0?Ge(y.at(-1))[0]+1:0,A=c.length-v;y.push(Array.from({length:3*A},(C,S)=>T+S%A))}return y}get_rope_index(t,r,n,s){let{vision_config:a}=this.config,o=a.spatial_merge_size??2;if(r||n){let i=t.tolist();s||(s=th(t));let l=s.tolist(),c=Array.from({length:3},()=>Array.from({length:t.dims[0]},()=>Array.from({length:t.dims[1]},()=>0))),u=r?r.tolist():[],p=n?n.tolist():[],f={image_index:0,video_index:0},m=[];for(let y=0;y<i.length;++y){let v=i[y].filter((T,A)=>l[y][A]==1),x=this._get_multimodal_rope_positions({filtered_ids:v,image_grid_thw_list:u,video_grid_thw_list:p,spatial_merge_size:o,state:f}),M=this._reorder_and_write_positions(x,l[y],c,y);m.push(Ge(M)[0]+1-i[y].length)}return[new q("int64",c.flat(1/0),[3,t.dims[0],t.dims[1]]),new q("int64",m,[m.length,1])]}else return this._get_text_only_rope_index(t,s)}async encode_image({pixel_values:t,image_grid_thw:r}){return(await be(this.sessions.vision_encoder,{pixel_values:t,[this.image_grid_thw_name]:r})).image_features}_merge_input_ids_with_image_features(t){return Fh({image_token_id:this.config.image_token_id,...t})}prepare_inputs_for_generation(t,r,n){if(r.attention_mask&&!r.position_ids)if(!r.past_key_values)[r.position_ids,r.rope_deltas]=this.get_rope_index(r.input_ids,r.image_grid_thw,r.video_grid_thw,r.attention_mask);else{r.pixel_values=null;let s=r.past_key_values.get_seq_length();if(s<r.input_ids.dims[1]){let[a,o]=this.get_rope_index(r.input_ids,r.image_grid_thw,r.video_grid_thw,r.attention_mask);r.rope_deltas=o,r.position_ids=a.slice(null,null,[s,null]),r.input_ids=r.input_ids.slice(null,[s,null])}else{r.rope_deltas||([,r.rope_deltas]=this.get_rope_index(r.input_ids,r.image_grid_thw,r.video_grid_thw,r.attention_mask));let a=BigInt(s),o=r.rope_deltas.map(i=>a+i);r.position_ids=Fr([o,o,o],0)}}return r}},gl=class extends _l{},wl=class extends _l{constructor(){super(...arguments);w(this,"image_grid_thw_name","image_grid_thw")}},yl=class extends gl{constructor(){super(...arguments);w(this,"image_grid_thw_name","image_grid_thw")}},xE=class extends wl{get_vision_position_ids(e,t,r,n){let s=Math.floor(t[0]/r),a=Math.floor(t[1]/n),o=Math.floor(t[2]/n),i=a*o*s,l=Array.from({length:i},()=>e),c=Array.from({length:i},(p,f)=>e+Math.floor(f/(o*s))),u=Array.from({length:i},(p,f)=>e+f%o);return[...l,...c,...u]}_get_multimodal_rope_positions({filtered_ids:e,image_grid_thw_list:t,video_grid_thw_list:r,spatial_merge_size:n,state:s}){let{image_token_id:a}=this.config,o=[],i=0,l=e[0]==a?1:0;for(let p=1;p<=e.length;++p){let f=p<e.length?e[p]==a?1:0:-1;f!==l&&(o.push([l,i,p]),i=p,l=f)}let c=0,u=[];for(let[p,f,m]of o)if(p===0){let y=m-f;u.push(Array.from({length:3*y},(v,x)=>c+x%y)),c+=y}else{let y=t[s.image_index++].map(Number),v=y[0];u.push(this.get_vision_position_ids(c,y,v,n)),c+=Math.max(y[1],y[2])/n}return u}},vl=class extends I{},TE=class extends vl{},EE=class extends vl{},bl=class extends I{},kE=class extends bl{},CE=class extends bl{},Ml=class extends I{},AE=class extends Ml{},SE=class extends Ml{},xl=class extends I{},IE=class extends xl{},PE=class extends xl{},Tl=class extends I{},RE=class extends Tl{},OE=class extends Tl{},El=class extends I{},LE=class extends El{},FE=class extends El{},kl=class extends I{},NE=class extends kl{},DE=class extends kl{},Cl=class extends I{},BE=class extends Cl{},UE=class extends Cl{},Al=class extends I{},zE=class extends Al{},$E=class extends Al{},af=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","position_ids","audio_values","past_key_values"])}},Sl=class extends af{_merge_input_ids_with_audio_features(e){let t=e.audio_features.dims.at(-1),r=e.audio_features.view(-1,t);return Yx({audio_token_id:this.config.ignore_index??this.config.audio_token_id??this.config.audio_token_index,...e,audio_features:r})}},VE=class extends Sl{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","input_features","past_key_values"])}},of=class extends I{},GE=class extends of{},lf=class extends I{},jE=class extends lf{},Il=class extends I{},qE=class extends Il{},WE=class extends Il{},Pl=class extends I{},HE=class extends Pl{},KE=class extends Pl{async _call(e){return new oe(await super._call(e))}},Mr=class extends I{},QE=class extends Mr{},JE=class extends Mr{async _call(e){return new hn(await super._call(e))}},XE=class extends Mr{async _call(e){return new oe(await super._call(e))}},YE=class extends Mr{async _call(e){return new je(await super._call(e))}},ZE=class extends I{},ek=class extends Mr{},tk=class extends Mr{async _call(e){return new hn(await super._call(e))}},rk=class extends Mr{async _call(e){return new oe(await super._call(e))}},Rl=class extends I{},nk=class extends Rl{},sk=class extends Rl{},cf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}},gr=class extends cf{_merge_input_ids_with_image_features(e){let t=e.image_features.dims.at(-1),r=e.image_features.view(-1,t);return Fh({image_token_id:this.config.image_token_index??this.config.image_token_id,...e,image_features:r})}},ak=class extends gr{},ok=class extends gr{},ik=class extends gr{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","position_ids","past_key_values"])}},Ol=class extends I{},lk=class extends Ol{},ck=class extends Ol{async _call(e){return new oe(await super._call(e))}},Ll=class extends I{},uk=class extends Ll{},dk=class extends Ll{},Sa=class extends I{},pk=class extends Sa{async forward(e){let t=!e.input_ids,r=!e.pixel_values;if(t&&r)throw new Error("Either `input_ids` or `pixel_values` should be provided.");if(t&&(e.input_ids=xt([e.pixel_values.dims[0],1])),r){let{image_size:l}=this.config.vision_config;e.pixel_values=lt([0,3,l,l],0)}let{text_embeddings:n,image_embeddings:s,l2norm_text_embeddings:a,l2norm_image_embeddings:o}=await super.forward(e),i={};return t||(i.text_embeddings=n,i.l2norm_text_embeddings=a),r||(i.image_embeddings=s,i.l2norm_image_embeddings=o),i}},uf=class extends Sa{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},hk=class extends Sa{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},Fl=class extends I{},fk=class extends Fl{},mk=class extends Fl{},_k=class extends gr{},Nl=class extends I{},gk=class extends Nl{},wk=class extends Nl{},yk=class extends gr{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","spatial_shapes","position_ids","past_key_values"])}},Dl=class extends I{},vk=class extends Dl{},bk=class extends Dl{},df=class extends I{},Mk=class extends df{},Bl=class extends I{},xk=class extends Bl{},Tk=class extends Bl{},Ul=class extends I{},Ek=class extends Ul{},kk=class extends Ul{},zl=class extends I{},Ck=class extends zl{},Ak=class extends zl{},$l=class extends I{},Sk=class extends $l{},Ik=class extends $l{},ws=class extends I{},Pk=class extends ws{},Rk=class extends ws{},Ok=class extends ws{async _call(e){return new oe(await super._call(e))}},Lk=class extends ws{},pf=class extends I{},Fk=class extends pf{},hf=class extends I{},Nk=class extends hf{},ff=class extends Qe{constructor({char_logits:e,bpe_logits:t,wp_logits:r}){super(),this.char_logits=e,this.bpe_logits=t,this.wp_logits=r}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}},mf=class extends I{},Dk=class extends mf{async _call(e){return new ff(await super._call(e))}},_f=class extends Qe{constructor({audio_codes:e}){super(),this.audio_codes=e}},gf=class extends Qe{constructor({audio_values:e}){super(),this.audio_values=e}},Ia=class extends I{constructor(){super(...arguments);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values"])}},Bk=class extends Ia{async encode(e){return new _f(await be(this.sessions.encoder_model,e))}async decode(e){return new gf(await be(this.sessions.decoder_model,e))}},wf=class extends Ia{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},yf=class extends Ia{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},Vl=class extends I{},Uk=class extends Vl{},zk=class extends Vl{},Gl=class extends I{},$k=class extends Gl{},Vk=class extends Gl{},ys=class extends I{},Gk=class extends ys{},jk=class extends ys{async _call(e){return new Je(await super._call(e))}},qk=class extends ys{async _call(e){return new oe(await super._call(e))}},Wk=class extends ys{async _call(e){return new _t(await super._call(e))}},jl=class extends I{},Hk=class extends jl{},Kk=class extends jl{},Pa=class extends I{},Qk=class extends Pa{},Jk=class extends Pa{async _call(e){return new oe(await super._call(e))}},Xk=class extends Pa{},Ra=class extends I{},Yk=class extends Ra{},Zk=class extends Ra{async _call(e){return new oe(await super._call(e))}},e1=class extends Ra{},Oa=class extends I{},t1=class extends Oa{},r1=class extends Oa{async _call(e){return new oe(await super._call(e))}},n1=class extends Oa{},La=class extends I{},s1=class extends La{},a1=class extends La{async _call(e){return new oe(await super._call(e))}},o1=class extends La{},ql=class extends I{},i1=class extends ql{},l1=class extends ql{async _call(e){return new oe(await super._call(e))}},Wl=class extends I{},c1=class extends Wl{},u1=class extends Wl{async _call(e){return new oe(await super._call(e))}},vs=class extends I{},d1=class extends vs{},p1=class extends vs{async _call(e){return new Je(await super._call(e))}},h1=class extends vs{async _call(e){return new oe(await super._call(e))}},f1=class extends vs{async _call(e){return new je(await super._call(e))}},Hl=class extends I{},m1=class extends Hl{},_1=class extends Hl{},Kl=class extends I{constructor(){super(...arguments);w(this,"requires_attention_mask",!1);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values","decoder_input_ids","past_key_values"])}},g1=class extends Kl{},w1=class extends Kl{},bn=class extends I{},y1=class extends bn{},v1=class extends bn{async _call(e){return new Je(await super._call(e))}},b1=class extends bn{async _call(e){return new oe(await super._call(e))}},M1=class extends bn{async _call(e){return new je(await super._call(e))}},x1=class extends bn{async _call(e){return new _t(await super._call(e))}},Ql=class extends I{},T1=class extends Ql{},E1=class extends Ql{},Jl=class extends I{},k1=class extends Jl{},C1=class extends Jl{},vf=class extends I{},A1=class extends vf{constructor(...t){super(...t);w(this,"forward_params",["input_ids","pixel_values","images_seq_mask","images_emb_mask","attention_mask","position_ids","past_key_values"]);this._generation_mode="text"}async forward(t){let r=this._generation_mode??"text",n;if(r==="text"||!t.past_key_values){let l=this.sessions.prepare_inputs_embeds,c=ot(t,l.inputNames);n=await be(l,c)}else{let l=this.sessions.gen_img_embeds,c=ot({image_ids:t.input_ids},l.inputNames);n=await be(l,c)}let s={...t,...n},a=await _r(this,s),o=this.sessions[r==="text"?"lm_head":"gen_head"];if(!o)throw new Error(`Unable to find "${o}" generation head`);let i=await be(o,ot(a,o.inputNames));return{...n,...a,...i}}prepare_inputs_for_generation(t,r,n){let s=!!r.past_key_values;return n.guidance_scale!==null&&n.guidance_scale>1&&(s?r.input_ids=Fe([r.input_ids,r.input_ids],0):(r.input_ids=Fe([r.input_ids,_i(r.input_ids,BigInt(n.pad_token_id))],0),r.attention_mask=Fe([r.attention_mask,_i(r.attention_mask,0n)],0))),(s||!r.pixel_values)&&(r.pixel_values=lt([0,0,3,384,384],1)),s&&(r.images_seq_mask=new q("bool",new Array(1).fill(!0).fill(!1,0,1),[1,1]),r.images_emb_mask=new q("bool",new Array(0).fill(!1),[1,1,0])),r}async generate(t){return this._generation_mode="text",super.generate(t)}async generate_images(t){this._generation_mode="image";let r=(t.inputs??t[this.main_input_name]).dims[1],s=(await super.generate(t)).slice(null,[r,null]),a=this.sessions.image_decode,{decoded_image:o}=await be(a,{generated_tokens:s}),i=o.add_(1).mul_(255/2).clamp_(0,255).to("uint8"),l=[];for(let c of i){let u=Mt.fromTensor(c);l.push(u)}return l}},Xl=class extends I{},S1=class extends Xl{},I1=class extends Xl{},bf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}_apply_and_filter_by_delay_pattern_mask(t){let[r,n]=t.dims,s=this.config.decoder.num_codebooks,a=n-s,o=0;for(let c=0;c<t.size;++c){if(t.data[c]==this.config.decoder.pad_token_id)continue;let u=c%n,p=Math.floor(c/n)%s,f=u-p;f>0&&f<=a&&(t.data[o++]=t.data[c])}let i=Math.floor(r/s),l=o/(i*s);return new q(t.type,t.data.slice(0,o),[i,s,l])}prepare_inputs_for_generation(t,r,n){let s=BigInt(this.config.decoder.pad_token_id),a=structuredClone(t);for(let o=0;o<a.length;++o)for(let i=0;i<a[o].length;++i)o%this.config.decoder.num_codebooks>=i&&(a[o][i]=s);return n.guidance_scale!==null&&n.guidance_scale>1&&(a=a.concat(a)),vi(this,a,r,n)}async generate(t){let r=await super.generate(t),n=this._apply_and_filter_by_delay_pattern_mask(r).unsqueeze_(0),{audio_values:s}=await be(this.sessions.encodec_decode,{audio_codes:n});return s}},Yl=class extends I{},P1=class extends Yl{},R1=class extends Yl{},Zl=class extends I{},O1=class extends Zl{},L1=class extends Zl{},Mn=class extends I{},F1=class extends Mn{},N1=class extends Mn{async _call(e){return new Je(await super._call(e))}},D1=class extends Mn{async _call(e){return new oe(await super._call(e))}},B1=class extends Mn{async _call(e){return new je(await super._call(e))}},U1=class extends Mn{async _call(e){return new _t(await super._call(e))}},Mf=class extends I{},z1=class extends Mf{},ec=class extends I{},$1=class extends ec{},V1=class extends ec{},tc=class extends I{},G1=class extends tc{},j1=class extends tc{},rc=class extends I{},q1=class extends rc{},W1=class extends rc{},nc=class extends I{},H1=class extends nc{},K1=class extends nc{},sc=class extends I{},Q1=class extends sc{},J1=class extends sc{},ac=class extends I{},X1=class extends ac{},Y1=class extends ac{},oc=class extends I{},Z1=class extends oc{},eC=class extends oc{},ic=class extends I{},tC=class extends ic{},rC=class extends ic{},nC=class extends gr{},xf=class extends I{},sC=class extends xf{async _call(e){return new hn(await super._call(e))}},lc=class extends I{},aC=class extends lc{},oC=class extends lc{},cc=class extends I{},iC=class extends cc{},lC=class extends cc{},uc=class extends I{},cC=class extends uc{},uC=class extends uc{},dc=class extends I{},dC=class extends dc{},pC=class extends dc{},Tf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","pixel_values","image_sizes","past_key_values"])}},Ef=class extends Tf{async forward({input_ids:e=null,attention_mask:t=null,pixel_values:r=null,image_sizes:n=null,position_ids:s=null,inputs_embeds:a=null,past_key_values:o=null,generation_config:i=null,logits_processor:l=null,...c}){if(!a){let p;if(r&&e.dims[1]!==1){if(!n)throw new Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:p}=await be(this.sessions.vision_encoder,{pixel_values:r,image_sizes:n}))}else{let f=this.config.normalized_config.hidden_size;p=new q("float32",[],[0,f])}({inputs_embeds:a}=await be(this.sessions.prepare_inputs_embeds,{input_ids:e,image_features:p}))}return await _r(this,{inputs_embeds:a,past_key_values:o,attention_mask:t,position_ids:s,generation_config:i,logits_processor:l},!1)}},pc=class extends I{},hC=class extends pc{},fC=class extends pc{async _call(e){return new oe(await super._call(e))}},hc=class extends I{},mC=class extends hc{},_C=class extends hc{async _call(e){return new je(await super._call(e))}},fc=class extends I{},gC=class extends fc{},wC=class extends fc{},mc=class extends I{},yC=class extends mc{},vC=class extends mc{},_c=class extends I{},bC=class extends _c{},MC=class extends _c{},gc=class extends I{},xC=class extends gc{},TC=class extends gc{},wc=class extends I{},EC=class extends wc{},kC=class extends wc{},yc=class extends wl{},vc=class extends yl{},CC=class extends yc{},kf=class extends vc{},bc=class extends yc{},Mc=class extends bc{},AC=class extends bc{},Cf=class extends Mc{},xc=class extends I{},SC=class extends xc{},IC=class extends xc{async _call(e){return new oe(await super._call(e))}},Tc=class extends I{},PC=class extends Tc{},RC=class extends Tc{async _call(e){return new Af(await super._call(e))}},Af=class extends ms{},xn=class extends I{},OC=class extends xn{},LC=class extends xn{async _call(e){return new Je(await super._call(e))}},FC=class extends xn{async _call(e){return new oe(await super._call(e))}},NC=class extends xn{async _call(e){return new je(await super._call(e))}},DC=class extends xn{async _call(e){return new _t(await super._call(e))}},Tn=class extends I{},BC=class extends Tn{},UC=class extends Tn{async _call(e){return new Je(await super._call(e))}},zC=class extends Tn{async _call(e){return new oe(await super._call(e))}},$C=class extends Tn{async _call(e){return new je(await super._call(e))}},VC=class extends Tn{async _call(e){return new _t(await super._call(e))}},Ec=class extends I{},GC=class extends Ec{},jC=class extends Ec{async _call(e){return new Sf(await super._call(e))}},Sf=class extends ms{},If=class extends Qe{constructor({iou_scores:e,pred_masks:t}){super(),this.iou_scores=e,this.pred_masks=t}},Pf=class extends I{},qC=class extends Pf{async get_image_embeddings({pixel_values:e}){return await Lr(this,{pixel_values:e})}async forward(e){!e.image_embeddings||!e.image_positional_embeddings?e={...e,...await this.get_image_embeddings(e)}:e={...e},e.input_labels??(e.input_labels=xt(e.input_points.dims.slice(0,-1)));let t={image_embeddings:e.image_embeddings,image_positional_embeddings:e.image_positional_embeddings};return e.input_points&&(t.input_points=e.input_points),e.input_labels&&(t.input_labels=e.input_labels),e.input_boxes&&(t.input_boxes=e.input_boxes),await be(this.sessions.prompt_encoder_mask_decoder,t)}async _call(e){return new If(await super._call(e))}},Rf=class extends Qe{constructor({iou_scores:e,pred_masks:t,object_score_logits:r}){super(),this.iou_scores=e,this.pred_masks=t,this.object_score_logits=r}},Of=class extends I{},kc=class extends Of{async get_image_embeddings({pixel_values:e}){return await Lr(this,{pixel_values:e})}async forward(e){let{num_feature_levels:t}=this.config.vision_config;if(Array.from({length:t},(a,o)=>`image_embeddings.${o}`).some(a=>!e[a])?e={...e,...await this.get_image_embeddings(e)}:e={...e},e.input_points){if(e.input_boxes&&e.input_boxes.dims[1]!==1)throw new Error("When both `input_points` and `input_boxes` are provided, the number of boxes per image must be 1.");let a=e.input_points.dims;e.input_labels??(e.input_labels=xt(a.slice(0,-1))),e.input_boxes??(e.input_boxes=lt([a[0],0,4],0))}else if(e.input_boxes){let a=e.input_boxes.dims;e.input_labels=lt([a[0],a[1],0],-1n),e.input_points=lt([a[0],1,0,2],0)}else throw new Error("At least one of `input_points` or `input_boxes` must be provided.");let n=this.sessions.prompt_encoder_mask_decoder,s=ot(e,n.inputNames);return await be(n,s)}async _call(e){return new Rf(await super._call(e))}},WC=class extends kc{},HC=class extends kc{},Fa=class extends I{},KC=class extends Fa{},QC=class extends Fa{},JC=class extends Fa{},Na=class extends I{},XC=class extends Na{},YC=class extends Na{},ZC=class extends Na{},Cc=class extends I{},eA=class extends Cc{},Lf=class extends Cc{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"text_model"})}},tA=class extends Nr{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"vision_model"})}},Ac=class extends I{},rA=class extends Ac{},nA=class extends Ac{},Da=class extends I{constructor(){super(...arguments);w(this,"main_input_name","input_values");w(this,"forward_params",["input_values"])}},sA=class extends Da{async encode(e){return await be(this.sessions.encoder_model,e)}async decode(e){return await be(this.sessions.decoder_model,e)}},Ff=class extends Da{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"encoder_model"})}},Nf=class extends Da{static async from_pretrained(e,t={}){return super.from_pretrained(e,{...t,model_file_name:t.model_file_name??"decoder_model"})}},Sc=class extends I{},aA=class extends Sc{},oA=class extends Sc{},Ba=class extends I{},iA=class extends Ba{},lA=class extends Ba{},cA=class extends Ba{async generate_speech(e,t,{threshold:r=.5,minlenratio:n=0,maxlenratio:s=20,vocoder:a=null}={}){let o={input_ids:e},{encoder_outputs:i,encoder_attention_mask:l}=await Lr(this,o),c=i.dims[1]/this.config.reduction_factor,u=Math.floor(c*s),p=Math.floor(c*n),f=this.config.num_mel_bins,m=[],y=null,v=null,x=0;for(;;){++x;let A=Kx(!!v),C;v?C=v.output_sequence_out:C=new q("float32",new Float32Array(f),[1,1,f]);let S={use_cache_branch:A,output_sequence:C,encoder_attention_mask:l,speaker_embeddings:t,encoder_hidden_states:i};this.addPastKeyValues(S,y),v=await be(this.sessions.decoder_model_merged,S),y=this.getPastKeyValues(v,y);let{prob:O,spectrum:E}=v;if(m.push(E),x>=p&&(Array.from(O.data).filter(K=>K>=r).length>0||x>=u))break}let M=Fe(m),{waveform:T}=await be(a.sessions.model,{spectrogram:M});return{spectrogram:M,waveform:T}}},uA=class extends I{constructor(){super(...arguments);w(this,"main_input_name","spectrogram")}},bs=class extends I{},dA=class extends bs{},pA=class extends bs{async _call(e){return new Je(await super._call(e))}},hA=class extends bs{async _call(e){return new oe(await super._call(e))}},fA=class extends bs{async _call(e){return new _t(await super._call(e))}},Ic=class extends I{},mA=class extends Ic{},_A=class extends Ic{},Pc=class extends I{},gA=class extends Pc{},wA=class extends Pc{},Df=class extends I{},yA=class extends Df{},Bf=class extends I{},Uf=class extends Bf{async generate_speech({input_ids:e,attention_mask:t,style:r,num_inference_steps:n=5,speed:s=1.05}){let{sampling_rate:a,chunk_compress_factor:o,base_chunk_size:i,latent_dim:l}=this.config,{last_hidden_state:c,durations:u}=await be(this.sessions.text_encoder,{input_ids:e,attention_mask:t,style:r}),p=u.div(s).mul_(a),f=i*o,m=p.data,y=Int32Array.from(m,$=>Math.ceil($/f)),v=Math.max(...y),x=e.dims[0],M=new BigInt64Array(x*v);for(let $=0;$<x;++$)M.fill(1n,$*v,$*v+y[$]);let T=new q("int64",M,[x,v]),A=l*o,C=A*v,S=Yv([x,A,v]),O=S.data;for(let $=0;$<x;++$)if(y[$]!==v)for(let V=0;V<A;++V)O.fill(0,$*C+V*v+y[$],$*C+(V+1)*v);let E=lt([x],n);for(let $=0;$<n;++$){let V=lt([x],$);({denoised_latents:S}=await be(this.sessions.latent_denoiser,{style:r,noisy_latents:S,latent_mask:T,encoder_outputs:c,attention_mask:t,timestep:V,num_inference_steps:E}))}let{waveform:K}=await be(this.sessions.voice_decoder,{latents:S});return{waveform:K,durations:p}}},Ua=class extends I{},vA=class extends Ua{},bA=class extends Ua{async _call(e){return new oe(await super._call(e))}},MA=class extends Ua{},Rc=class extends I{},xA=class extends Rc{},TA=class extends Rc{},Oc=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}},EA=class extends Oc{},kA=class extends Oc{},Lc=class extends I{},CA=class extends Lc{},AA=class extends Lc{async _call(e){return new zf(await super._call(e))}},zf=class extends el{},$f=class extends I{},SA=class extends $f{},za=class extends I{},IA=class extends za{},PA=class extends za{async _call(e){return new hn(await super._call(e))}},RA=class extends za{async _call(e){return new oe(await super._call(e))}},Ms=class extends I{},OA=class extends Ms{},LA=class extends Ms{async _call(e){return new hn(await super._call(e))}},FA=class extends Ms{async _call(e){return new oe(await super._call(e))}},NA=class extends Ms{async _call(e){return new je(await super._call(e))}},Fc=class extends I{},DA=class extends Fc{},BA=class extends Fc{},UA=class extends I{constructor(){super(...arguments);w(this,"main_input_name","pixel_values");w(this,"forward_params",["pixel_values","decoder_input_ids","encoder_hidden_states","past_key_values"])}},Nc=class extends I{},zA=class extends Nc{},$A=class extends Nc{async _call(e){return new oe(await super._call(e))}},Vf=class extends I{},VA=class extends Vf{},Dc=class extends I{},GA=class extends Dc{},jA=class extends Dc{async _call(e){return new oe(await super._call(e))}},Gf=class extends I{},qA=class extends Gf{async _call(e){return new cU(await super._call(e))}},jf=class extends I{},WA=class extends jf{},qf=class extends Qe{constructor({waveform:e,spectrogram:t}){super(),this.waveform=e,this.spectrogram=t}},Wf=class extends I{},HA=class extends Wf{async _call(e){return new qf(await super._call(e))}},KA=class extends Sl{},hv=2,TU=1,Wd=new WeakMap;SU=class extends hs{constructor(e){super(),this._s=e}_call(e){let t=this._s.stream_exhausted&&this._s.audio_embed_queue.length===0;return e.map(()=>t)}},Hf=class extends I{constructor(){super(...arguments);w(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values"])}},Kf=class extends Hf{async forward({input_ids:e,past_key_values:t,...r}){let n=e.dims[1],s=Wd.get(this);s&&await CU(s,s.audio_consumed+n);let{inputs_embeds:a}=await be(this.sessions.embed_tokens,{input_ids:e});s&&AU(s,a,n);let o={inputs_embeds:a,...r};this.addPastKeyValues(o,t);let i=this.sessions.decoder_model_merged,l=ot(o,i.inputNames);return await be(i,l)}async generate({input_features:e,stopping_criteria:t,...r}){if(!e)throw new Error("input_features (generator/iterable) must be provided");let n=EU(this,e);Wd.set(this,n);let s=new Rh;s.push(new SU(n)),t&&s.extend(t);try{return await super.generate({...r,stopping_criteria:s})}finally{n.enc_kv_cache.dispose(),Wd.delete(this)}}},$a=class extends I{},QA=class extends $a{},JA=class extends $a{async _call(e){return new hn(await super._call(e))}},XA=class extends $a{async _call(e){return new oe(await super._call(e))}},Qf=class extends Qe{constructor({logits:e,embeddings:t}){super(),this.logits=e,this.embeddings=t}},En=class extends I{},YA=class extends En{},ZA=class extends En{async _call(e){return new hn(await super._call(e))}},eS=class extends En{async _call(e){return new oe(await super._call(e))}},tS=class extends En{async _call(e){return new Qf(await super._call(e))}},rS=class extends En{async _call(e){return new je(await super._call(e))}},Jf=class extends I{},nS=class extends Jf{},IU=class extends jx{constructor(){super(...arguments);w(this,"return_timestamps",null);w(this,"return_token_timestamps",null);w(this,"num_frames",null);w(this,"alignment_heads",null);w(this,"task",null);w(this,"language",null);w(this,"no_timestamps_token_id",null);w(this,"prompt_ids",null);w(this,"is_multilingual",null);w(this,"lang_to_id",null);w(this,"task_to_id",null);w(this,"max_initial_timestamp_index",1)}},Bc=class extends I{constructor(){super(...arguments);w(this,"requires_attention_mask",!1);w(this,"main_input_name","input_features");w(this,"forward_params",["input_features","attention_mask","decoder_input_ids","decoder_attention_mask","past_key_values"])}},sS=class extends Bc{},Xf=class extends Bc{_prepare_generation_config(e,t){return super._prepare_generation_config(e,t,IU)}_retrieve_init_tokens(e){let t=[e.decoder_start_token_id],r=e.language,n=e.task;if(e.is_multilingual){r||(ce.warn("No language specified - defaulting to English (en)."),r="en");let a=`<|${_B(r)}|>`;t.push(e.lang_to_id[a]),t.push(e.task_to_id[n??"transcribe"])}else if(r||n)throw new Error("Cannot specify `task` or `language` for an English-only model. If the model is intended to be multilingual, pass `is_multilingual=true` to generate, or update the generation config.");return!e.return_timestamps&&e.no_timestamps_token_id&&t.at(-1)!==e.no_timestamps_token_id?t.push(e.no_timestamps_token_id):e.return_timestamps&&t.at(-1)===e.no_timestamps_token_id&&(ce.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),t.pop()),t.filter(s=>s!=null)}async generate({inputs:e=null,generation_config:t=null,logits_processor:r=null,stopping_criteria:n=null,...s}){t=this._prepare_generation_config(t,s);let a=s.decoder_input_ids??this._retrieve_init_tokens(t);if(t.return_timestamps&&(r??(r=new yi),r.push(new Nx(t,a))),t.begin_suppress_tokens&&(r??(r=new yi),r.push(new Ph(t.begin_suppress_tokens,a.length))),t.return_token_timestamps){if(!t.alignment_heads)throw new Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");t.task==="translate"&&ce.warn("Token-level timestamps may not be reliable for task 'translate'."),t.output_attentions=!0,t.return_dict_in_generate=!0}let o=await super.generate({inputs:e,generation_config:t,logits_processor:r,decoder_input_ids:a,...s});return t.return_token_timestamps&&(o.token_timestamps=this._extract_token_timestamps(o,t.alignment_heads,t.num_frames)),o}_extract_token_timestamps(e,t,r=null,n=.02){if(!e.cross_attentions)throw new Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");r==null&&ce.warn("`num_frames` has not been set, meaning the entire audio will be analyzed. This may lead to inaccurate token-level timestamps for short audios (< 30 seconds).");let s=this.config.median_filter_width;s===void 0&&(ce.warn("Model config has no `median_filter_width`, using default value of 7."),s=7);let a=e.cross_attentions,o=Array.from({length:this.config.decoder_layers},(y,v)=>Fe(a.map(x=>x[v]),2)),i=Fr(t.map(([y,v])=>{if(y>=o.length)throw new Error(`Layer index ${y} is out of bounds for cross attentions (length ${o.length}).`);return r?o[y].slice(null,v,null,[0,r]):o[y].slice(null,v)})).transpose(1,0,2,3),[l,c]=Zp(i,-2,0,!0),u=i.clone();for(let y=0;y<u.dims[0];++y){let v=u[y];for(let x=0;x<v.dims[0];++x){let M=v[x],T=l[y][x][0].data,A=c[y][x][0].data;for(let C=0;C<M.dims[0];++C){let S=M[C].data;for(let O=0;O<S.length;++O)S[O]=(S[O]-A[O])/T[O];S.set(WD(S,s))}}}let p=[ki(u,1)],f=e.sequences.dims,m=new q("float32",new Float32Array(f[0]*f[1]),f);for(let y=0;y<f[0];++y){let v=p[y].neg().squeeze_(0),[x,M]=KD(v.tolist()),T=Array.from({length:x.length-1},(S,O)=>x[O+1]-x[O]),A=jt([1],T).map(S=>!!S),C=[];for(let S=0;S<A.length;++S)A[S]&&C.push(M[S]*n);m[y].data.set(C,1)}return m}},aS=class extends Xf{},kn=class extends I{},oS=class extends kn{},iS=class extends kn{async _call(e){return new Je(await super._call(e))}},lS=class extends kn{async _call(e){return new oe(await super._call(e))}},cS=class extends kn{async _call(e){return new je(await super._call(e))}},uS=class extends kn{async _call(e){return new _t(await super._call(e))}},Cn=class extends I{},dS=class extends Cn{},pS=class extends Cn{async _call(e){return new Je(await super._call(e))}},hS=class extends Cn{async _call(e){return new oe(await super._call(e))}},fS=class extends Cn{async _call(e){return new je(await super._call(e))}},mS=class extends Cn{async _call(e){return new _t(await super._call(e))}},Uc=class extends I{},_S=class extends Uc{},gS=class extends Uc{async _call(e){return new Yf(await super._call(e))}},Yf=class extends Qe{constructor({logits:e,pred_boxes:t}){super(),this.logits=e,this.pred_boxes=t}},zc=class extends I{},wS=class extends zc{},yS=class extends zc{},PU=new Map([["bert","BertModel"],["eurobert","EuroBertModel"],["neobert","NeoBertModel"],["modernbert","ModernBertModel"],["nomic_bert","NomicBertModel"],["roformer","RoFormerModel"],["electra","ElectraModel"],["esm","EsmModel"],["convbert","ConvBertModel"],["camembert","CamembertModel"],["deberta","DebertaModel"],["deberta-v2","DebertaV2Model"],["mpnet","MPNetModel"],["albert","AlbertModel"],["distilbert","DistilBertModel"],["roberta","RobertaModel"],["xlm","XLMModel"],["xlm-roberta","XLMRobertaModel"],["clap","ClapModel"],["clip","CLIPModel"],["clipseg","CLIPSegModel"],["chinese_clip","ChineseCLIPModel"],["siglip","SiglipModel"],["jina_clip","JinaCLIPModel"],["mobilebert","MobileBertModel"],["squeezebert","SqueezeBertModel"],["wav2vec2","Wav2Vec2Model"],["wav2vec2-bert","Wav2Vec2BertModel"],["unispeech","UniSpeechModel"],["unispeech-sat","UniSpeechSatModel"],["hubert","HubertModel"],["wavlm","WavLMModel"],["audio-spectrogram-transformer","ASTModel"],["vits","VitsModel"],["pyannote","PyAnnoteModel"],["wespeaker-resnet","WeSpeakerResNetModel"],["detr","DetrModel"],["rt_detr","RTDetrModel"],["rt_detr_v2","RTDetrV2Model"],["rf_detr","RFDetrModel"],["d_fine","DFineModel"],["table-transformer","TableTransformerModel"],["vit","ViTModel"],["ijepa","IJepaModel"],["pvt","PvtModel"],["vit_msn","ViTMSNModel"],["vit_mae","ViTMAEModel"],["groupvit","GroupViTModel"],["fastvit","FastViTModel"],["mobilevit","MobileViTModel"],["mobilevitv2","MobileViTV2Model"],["owlvit","OwlViTModel"],["owlv2","Owlv2Model"],["beit","BeitModel"],["deit","DeiTModel"],["hiera","HieraModel"],["convnext","ConvNextModel"],["convnextv2","ConvNextV2Model"],["dinov2","Dinov2Model"],["dinov2_with_registers","Dinov2WithRegistersModel"],["dinov3_vit","DINOv3ViTModel"],["dinov3_convnext","DINOv3ConvNextModel"],["resnet","ResNetModel"],["swin","SwinModel"],["swin2sr","Swin2SRModel"],["donut-swin","DonutSwinModel"],["yolos","YolosModel"],["dpt","DPTModel"],["glpn","GLPNModel"],["hifigan","SpeechT5HifiGan"],["efficientnet","EfficientNetModel"],["decision_transformer","DecisionTransformerModel"],["patchtst","PatchTSTModel"],["patchtsmixer","PatchTSMixerModel"],["mobilenet_v1","MobileNetV1Model"],["mobilenet_v2","MobileNetV2Model"],["mobilenet_v3","MobileNetV3Model"],["mobilenet_v4","MobileNetV4Model"],["maskformer","MaskFormerModel"],["mgp-str","MgpstrForSceneTextRecognition"],["style_text_to_speech_2","StyleTextToSpeech2Model"]]),RU=new Map([["t5","T5Model"],["longt5","LongT5Model"],["mt5","MT5Model"],["bart","BartModel"],["mbart","MBartModel"],["marian","MarianModel"],["whisper","WhisperModel"],["m2m_100","M2M100Model"],["blenderbot","BlenderbotModel"],["blenderbot-small","BlenderbotSmallModel"]]),OU=new Map([["mimi","MimiModel"],["dac","DacModel"],["snac","SnacModel"]]),LU=new Map([["bloom","BloomModel"],["jais","JAISModel"],["gpt2","GPT2Model"],["gpt_oss","GptOssModel"],["gptj","GPTJModel"],["gpt_bigcode","GPTBigCodeModel"],["gpt_neo","GPTNeoModel"],["gpt_neox","GPTNeoXModel"],["codegen","CodeGenModel"],["llama","LlamaModel"],["apertus","ApertusModel"],["nanochat","NanoChatModel"],["arcee","ArceeModel"],["afmoe","AfmoeModel"],["lfm2","Lfm2Model"],["lfm2_moe","Lfm2MoeModel"],["smollm3","SmolLM3Model"],["exaone","ExaoneModel"],["olmo","OlmoModel"],["olmo2","Olmo2Model"],["olmo3","Olmo3Model"],["olmo_hybrid","OlmoHybridModel"],["mobilellm","MobileLLMModel"],["granite","GraniteModel"],["granitemoehybrid","GraniteMoeHybridModel"],["cohere","CohereModel"],["cohere2","Cohere2Model"],["gemma","GemmaModel"],["gemma2","Gemma2Model"],["vaultgemma","VaultGemmaModel"],["gemma3_text","Gemma3Model"],["helium","HeliumModel"],["glm","GlmModel"],["glm_moe_dsa","GlmMoeDsaModel"],["openelm","OpenELMModel"],["qwen2","Qwen2Model"],["qwen2_moe","Qwen2MoeModel"],["qwen3","Qwen3Model"],["qwen3_moe","Qwen3MoeModel"],["qwen3_next","Qwen3NextModel"],["phi","PhiModel"],["phi3","Phi3Model"],["mpt","MptModel"],["opt","OPTModel"],["mistral","MistralModel"],["mistral4","Mistral4Model"],["ministral","MinistralModel"],["ministral3","Ministral3Model"],["ernie4_5","Ernie4_5ForCausalLM"],["starcoder2","Starcoder2Model"],["deepseek_v3","DeepseekV3Model"],["falcon","FalconModel"],["falcon_h1","FalconH1Model"],["nemotron_h","NemotronHModel"],["solar_open","SolarOpenModel"],["stablelm","StableLmModel"],["modernbert-decoder","ModernBertDecoderModel"],["hunyuan_v1_dense","HunYuanDenseV1Model"],["youtu","YoutuModel"]]),vS=new Map([["speecht5","SpeechT5ForSpeechToText"],["whisper","WhisperForConditionalGeneration"],["lite-whisper","LiteWhisperForConditionalGeneration"],["moonshine","MoonshineForConditionalGeneration"]]),bS=new Map([["speecht5","SpeechT5ForTextToSpeech"]]),MS=new Map([["vits","VitsModel"],["musicgen","MusicgenForConditionalGeneration"],["supertonic","SupertonicForConditionalGeneration"]]),xS=new Map([["bert","BertForSequenceClassification"],["eurobert","EuroBertForSequenceClassification"],["neobert","NeoBertForSequenceClassification"],["modernbert","ModernBertForSequenceClassification"],["roformer","RoFormerForSequenceClassification"],["electra","ElectraForSequenceClassification"],["esm","EsmForSequenceClassification"],["convbert","ConvBertForSequenceClassification"],["camembert","CamembertForSequenceClassification"],["deberta","DebertaForSequenceClassification"],["deberta-v2","DebertaV2ForSequenceClassification"],["mpnet","MPNetForSequenceClassification"],["albert","AlbertForSequenceClassification"],["distilbert","DistilBertForSequenceClassification"],["roberta","RobertaForSequenceClassification"],["xlm","XLMForSequenceClassification"],["xlm-roberta","XLMRobertaForSequenceClassification"],["bart","BartForSequenceClassification"],["mbart","MBartForSequenceClassification"],["mobilebert","MobileBertForSequenceClassification"],["squeezebert","SqueezeBertForSequenceClassification"]]),TS=new Map([["bert","BertForTokenClassification"],["eurobert","EuroBertForTokenClassification"],["neobert","NeoBertForTokenClassification"],["modernbert","ModernBertForTokenClassification"],["roformer","RoFormerForTokenClassification"],["electra","ElectraForTokenClassification"],["esm","EsmForTokenClassification"],["convbert","ConvBertForTokenClassification"],["camembert","CamembertForTokenClassification"],["deberta","DebertaForTokenClassification"],["deberta-v2","DebertaV2ForTokenClassification"],["mpnet","MPNetForTokenClassification"],["distilbert","DistilBertForTokenClassification"],["roberta","RobertaForTokenClassification"],["xlm","XLMForTokenClassification"],["xlm-roberta","XLMRobertaForTokenClassification"]]),ES=new Map([["t5","T5ForConditionalGeneration"],["longt5","LongT5ForConditionalGeneration"],["mt5","MT5ForConditionalGeneration"],["bart","BartForConditionalGeneration"],["mbart","MBartForConditionalGeneration"],["marian","MarianMTModel"],["m2m_100","M2M100ForConditionalGeneration"],["blenderbot","BlenderbotForConditionalGeneration"],["blenderbot-small","BlenderbotSmallForConditionalGeneration"]]),kS=new Map([["bloom","BloomForCausalLM"],["gpt2","GPT2LMHeadModel"],["gpt_oss","GptOssForCausalLM"],["jais","JAISLMHeadModel"],["gptj","GPTJForCausalLM"],["gpt_bigcode","GPTBigCodeForCausalLM"],["gpt_neo","GPTNeoForCausalLM"],["gpt_neox","GPTNeoXForCausalLM"],["codegen","CodeGenForCausalLM"],["llama","LlamaForCausalLM"],["nanochat","NanoChatForCausalLM"],["apertus","ApertusForCausalLM"],["llama4_text","Llama4ForCausalLM"],["arcee","ArceeForCausalLM"],["afmoe","AfmoeForCausalLM"],["lfm2","Lfm2ForCausalLM"],["lfm2_moe","Lfm2MoeForCausalLM"],["smollm3","SmolLM3ForCausalLM"],["exaone","ExaoneForCausalLM"],["olmo","OlmoForCausalLM"],["olmo2","Olmo2ForCausalLM"],["olmo3","Olmo3ForCausalLM"],["olmo_hybrid","OlmoHybridForCausalLM"],["mobilellm","MobileLLMForCausalLM"],["granite","GraniteForCausalLM"],["granitemoehybrid","GraniteMoeHybridForCausalLM"],["cohere","CohereForCausalLM"],["cohere2","Cohere2ForCausalLM"],["gemma","GemmaForCausalLM"],["gemma2","Gemma2ForCausalLM"],["vaultgemma","VaultGemmaForCausalLM"],["gemma3_text","Gemma3ForCausalLM"],["gemma3","Gemma3ForCausalLM"],["helium","HeliumForCausalLM"],["glm","GlmForCausalLM"],["glm_moe_dsa","GlmMoeDsaForCausalLM"],["openelm","OpenELMForCausalLM"],["qwen2","Qwen2ForCausalLM"],["qwen2_moe","Qwen2MoeForCausalLM"],["qwen3","Qwen3ForCausalLM"],["qwen3_moe","Qwen3MoeForCausalLM"],["qwen3_next","Qwen3NextForCausalLM"],["qwen2_vl","Qwen2VLForCausalLM"],["qwen2_5_vl","Qwen2_5_VLForCausalLM"],["qwen3_vl","Qwen3VLForCausalLM"],["qwen3_vl_moe","Qwen3VLMoeForCausalLM"],["qwen3_5","Qwen3_5ForCausalLM"],["qwen3_5_moe","Qwen3_5MoeForCausalLM"],["gemma3n","Gemma3nForCausalLM"],["phi","PhiForCausalLM"],["phi3","Phi3ForCausalLM"],["mpt","MptForCausalLM"],["opt","OPTForCausalLM"],["mbart","MBartForCausalLM"],["mistral","MistralForCausalLM"],["mistral4","Mistral4ForCausalLM"],["ministral","MinistralForCausalLM"],["ministral3","Ministral3ForCausalLM"],["ernie4_5","Ernie4_5ForCausalLM"],["starcoder2","Starcoder2ForCausalLM"],["deepseek_v3","DeepseekV3ForCausalLM"],["falcon","FalconForCausalLM"],["falcon_h1","FalconH1ForCausalLM"],["nemotron_h","NemotronHForCausalLM"],["trocr","TrOCRForCausalLM"],["solar_open","SolarOpenForCausalLM"],["stablelm","StableLmForCausalLM"],["modernbert-decoder","ModernBertDecoderForCausalLM"],["hunyuan_v1_dense","HunYuanDenseV1ForCausalLM"],["youtu","YoutuForCausalLM"],["phi3_v","Phi3VForCausalLM"]]),FU=new Map([["multi_modality","MultiModalityCausalLM"]]),CS=new Map([["bert","BertForMaskedLM"],["eurobert","EuroBertForMaskedLM"],["neobert","NeoBertForMaskedLM"],["modernbert","ModernBertForMaskedLM"],["roformer","RoFormerForMaskedLM"],["electra","ElectraForMaskedLM"],["esm","EsmForMaskedLM"],["convbert","ConvBertForMaskedLM"],["camembert","CamembertForMaskedLM"],["deberta","DebertaForMaskedLM"],["deberta-v2","DebertaV2ForMaskedLM"],["mpnet","MPNetForMaskedLM"],["albert","AlbertForMaskedLM"],["distilbert","DistilBertForMaskedLM"],["roberta","RobertaForMaskedLM"],["xlm","XLMWithLMHeadModel"],["xlm-roberta","XLMRobertaForMaskedLM"],["mobilebert","MobileBertForMaskedLM"],["squeezebert","SqueezeBertForMaskedLM"]]),AS=new Map([["bert","BertForQuestionAnswering"],["neobert","NeoBertForQuestionAnswering"],["roformer","RoFormerForQuestionAnswering"],["electra","ElectraForQuestionAnswering"],["convbert","ConvBertForQuestionAnswering"],["camembert","CamembertForQuestionAnswering"],["deberta","DebertaForQuestionAnswering"],["deberta-v2","DebertaV2ForQuestionAnswering"],["mpnet","MPNetForQuestionAnswering"],["albert","AlbertForQuestionAnswering"],["distilbert","DistilBertForQuestionAnswering"],["roberta","RobertaForQuestionAnswering"],["xlm","XLMForQuestionAnswering"],["xlm-roberta","XLMRobertaForQuestionAnswering"],["mobilebert","MobileBertForQuestionAnswering"],["squeezebert","SqueezeBertForQuestionAnswering"]]),SS=new Map([["vision-encoder-decoder","VisionEncoderDecoderModel"],["idefics3","Idefics3ForConditionalGeneration"],["smolvlm","SmolVLMForConditionalGeneration"]]),IS=new Map([["llava","LlavaForConditionalGeneration"],["llava_onevision","LlavaOnevisionForConditionalGeneration"],["moondream1","Moondream1ForConditionalGeneration"],["florence2","Florence2ForConditionalGeneration"],["qwen2_vl","Qwen2VLForConditionalGeneration"],["qwen2_5_vl","Qwen2_5_VLForConditionalGeneration"],["qwen3_vl","Qwen3VLForConditionalGeneration"],["qwen3_vl_moe","Qwen3VLMoeForConditionalGeneration"],["qwen3_5","Qwen3_5ForConditionalGeneration"],["qwen3_5_moe","Qwen3_5MoeForConditionalGeneration"],["lfm2_vl","Lfm2VlForConditionalGeneration"],["idefics3","Idefics3ForConditionalGeneration"],["smolvlm","SmolVLMForConditionalGeneration"],["paligemma","PaliGemmaForConditionalGeneration"],["llava_qwen2","LlavaQwen2ForCausalLM"],["gemma3n","Gemma3nForConditionalGeneration"],["mistral3","Mistral3ForConditionalGeneration"],["lighton_ocr","LightOnOcrForConditionalGeneration"],["glm_ocr","GlmOcrForConditionalGeneration"]]),PS=new Map([["granite_speech","GraniteSpeechForConditionalGeneration"],["ultravox","UltravoxModel"],["voxtral","VoxtralForConditionalGeneration"],["voxtral_realtime","VoxtralRealtimeForConditionalGeneration"]]),NU=new Map([["vision-encoder-decoder","VisionEncoderDecoderModel"]]),RS=new Map([["vit","ViTForImageClassification"],["ijepa","IJepaForImageClassification"],["pvt","PvtForImageClassification"],["vit_msn","ViTMSNForImageClassification"],["fastvit","FastViTForImageClassification"],["mobilevit","MobileViTForImageClassification"],["mobilevitv2","MobileViTV2ForImageClassification"],["beit","BeitForImageClassification"],["deit","DeiTForImageClassification"],["hiera","HieraForImageClassification"],["convnext","ConvNextForImageClassification"],["convnextv2","ConvNextV2ForImageClassification"],["dinov2","Dinov2ForImageClassification"],["dinov2_with_registers","Dinov2WithRegistersForImageClassification"],["resnet","ResNetForImageClassification"],["swin","SwinForImageClassification"],["segformer","SegformerForImageClassification"],["efficientnet","EfficientNetForImageClassification"],["mobilenet_v1","MobileNetV1ForImageClassification"],["mobilenet_v2","MobileNetV2ForImageClassification"],["mobilenet_v3","MobileNetV3ForImageClassification"],["mobilenet_v4","MobileNetV4ForImageClassification"]]),OS=new Map([["detr","DetrForObjectDetection"],["rt_detr","RTDetrForObjectDetection"],["rt_detr_v2","RTDetrV2ForObjectDetection"],["rf_detr","RFDetrForObjectDetection"],["d_fine","DFineForObjectDetection"],["table-transformer","TableTransformerForObjectDetection"],["yolos","YolosForObjectDetection"]]),LS=new Map([["owlvit","OwlViTForObjectDetection"],["owlv2","Owlv2ForObjectDetection"],["grounding-dino","GroundingDinoForObjectDetection"]]),rs=new Map([["detr","DetrForSegmentation"],["clipseg","CLIPSegForImageSegmentation"]]),FS=new Map([["segformer","SegformerForSemanticSegmentation"],["sapiens","SapiensForSemanticSegmentation"],["swin","SwinForSemanticSegmentation"],["mobilenet_v1","MobileNetV1ForSemanticSegmentation"],["mobilenet_v2","MobileNetV2ForSemanticSegmentation"],["mobilenet_v3","MobileNetV3ForSemanticSegmentation"],["mobilenet_v4","MobileNetV4ForSemanticSegmentation"]]),NS=new Map([["detr","DetrForSegmentation"],["maskformer","MaskFormerForInstanceSegmentation"]]),DS=new Map([["sam","SamModel"],["sam2","Sam2Model"],["edgetam","EdgeTamModel"],["sam3_tracker","Sam3TrackerModel"]]),BS=new Map([["wav2vec2","Wav2Vec2ForCTC"],["wav2vec2-bert","Wav2Vec2BertForCTC"],["unispeech","UniSpeechForCTC"],["unispeech-sat","UniSpeechSatForCTC"],["wavlm","WavLMForCTC"],["hubert","HubertForCTC"],["parakeet_ctc","ParakeetForCTC"]]),US=new Map([["wav2vec2","Wav2Vec2ForSequenceClassification"],["wav2vec2-bert","Wav2Vec2BertForSequenceClassification"],["unispeech","UniSpeechForSequenceClassification"],["unispeech-sat","UniSpeechSatForSequenceClassification"],["wavlm","WavLMForSequenceClassification"],["hubert","HubertForSequenceClassification"],["audio-spectrogram-transformer","ASTForAudioClassification"]]),zS=new Map([["wavlm","WavLMForXVector"]]),$S=new Map([["unispeech-sat","UniSpeechSatForAudioFrameClassification"],["wavlm","WavLMForAudioFrameClassification"],["wav2vec2","Wav2Vec2ForAudioFrameClassification"],["pyannote","PyAnnoteForAudioFrameClassification"]]),VS=new Map([["vitmatte","VitMatteForImageMatting"]]),DU=new Map([["patchtst","PatchTSTForPrediction"],["patchtsmixer","PatchTSMixerForPrediction"]]),GS=new Map([["swin2sr","Swin2SRForImageSuperResolution"]]),jS=new Map([["chmv2","CHMv2ForDepthEstimation"],["dpt","DPTForDepthEstimation"],["depth_anything","DepthAnythingForDepthEstimation"],["glpn","GLPNForDepthEstimation"],["sapiens","SapiensForDepthEstimation"],["depth_pro","DepthProForDepthEstimation"],["metric3d","Metric3DForDepthEstimation"],["metric3dv2","Metric3Dv2ForDepthEstimation"]]),qS=new Map([["sapiens","SapiensForNormalEstimation"]]),WS=new Map([["vitpose","VitPoseForPoseEstimation"]]),HS=new Map([["clip","CLIPVisionModelWithProjection"],["siglip","SiglipVisionModel"],["jina_clip","JinaCLIPVisionModel"]]),KS=[[PU,J.EncoderOnly],[RU,J.EncoderDecoder],[LU,J.DecoderOnlyWithoutHead],[OU,J.AutoEncoder],[xS,J.EncoderOnly],[TS,J.EncoderOnly],[ES,J.Seq2Seq],[vS,J.Seq2Seq],[kS,J.DecoderOnly],[FU,J.MultiModality],[CS,J.EncoderOnly],[AS,J.EncoderOnly],[SS,J.Vision2Seq],[IS,J.ImageTextToText],[PS,J.AudioTextToText],[RS,J.EncoderOnly],[rs,J.EncoderOnly],[NS,J.EncoderOnly],[FS,J.EncoderOnly],[VS,J.EncoderOnly],[DU,J.EncoderOnly],[GS,J.EncoderOnly],[jS,J.EncoderOnly],[qS,J.EncoderOnly],[WS,J.EncoderOnly],[OS,J.EncoderOnly],[LS,J.EncoderOnly],[DS,J.MaskGeneration],[BS,J.EncoderOnly],[US,J.EncoderOnly],[bS,J.Seq2Seq],[MS,J.EncoderOnly],[zS,J.EncoderOnly],[$S,J.EncoderOnly],[HS,J.EncoderOnly]];for(let[e,t]of KS)for(let r of e.values()){mr.set(r,t);let n=Nh[r];os.set(n,r),Lh.set(r,n)}BU=[["MusicgenForConditionalGeneration",bf,J.Musicgen],["Phi3VForCausalLM",Ef,J.Phi3V],["CLIPTextModelWithProjection",Gh,J.EncoderOnly],["SiglipTextModel",Lf,J.EncoderOnly],["JinaCLIPTextModel",uf,J.EncoderOnly],["ClapTextModelWithProjection",$h,J.EncoderOnly],["ClapAudioModelWithProjection",Vh,J.EncoderOnly],["DacEncoderModel",Wh,J.EncoderOnly],["DacDecoderModel",Hh,J.EncoderOnly],["MimiEncoderModel",wf,J.EncoderOnly],["MimiDecoderModel",yf,J.EncoderOnly],["SnacEncoderModel",Ff,J.EncoderOnly],["SnacDecoderModel",Nf,J.EncoderOnly],["Gemma3nForConditionalGeneration",hl,J.ImageAudioTextToText],["SupertonicForConditionalGeneration",Uf,J.Supertonic],["ChatterboxModel",Bh,J.Chatterbox],["Qwen2VLForCausalLM",gl,J.MultimodalLanguageModelOnly],["Qwen2_5_VLForCausalLM",yl,J.MultimodalLanguageModelOnly],["Qwen3VLForCausalLM",vc,J.MultimodalLanguageModelOnly],["Qwen3VLMoeForCausalLM",kf,J.MultimodalLanguageModelOnly],["Qwen3_5ForCausalLM",Mc,J.MultimodalLanguageModelOnly],["Qwen3_5MoeForCausalLM",Cf,J.MultimodalLanguageModelOnly],["Gemma3nForCausalLM",nf,J.MultimodalLanguageModelOnly],["VoxtralRealtimeForConditionalGeneration",Kf,J.VoxtralRealtime]];for(let[e,t,r]of BU)mr.set(e,r),os.set(t,e),Lh.set(e,t);QS=new Map([["modnet",rs],["birefnet",rs],["isnet",rs],["ben",rs]]);for(let[e,t]of QS.entries())t.set(e,"PreTrainedModel"),mr.set(e,J.EncoderOnly),Lh.set(e,I);UU=new Set(QS.keys());mr.set("PreTrainedModel",J.EncoderOnly);os.set(I,"PreTrainedModel");Te={MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES:xS,MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES:TS,MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES:bS,MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES:MS,MODEL_FOR_MASKED_LM_MAPPING_NAMES:CS,MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES:AS,MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES:RS,MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES:rs,MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES:FS,MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES:NS,MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES:OS,MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES:LS,MODEL_FOR_MASK_GENERATION_MAPPING_NAMES:DS,MODEL_FOR_CTC_MAPPING_NAMES:BS,MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES:US,MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES:zS,MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES:$S,MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES:NU,MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES:VS,MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES:GS,MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES:jS,MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES:qS,MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES:WS,MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES:HS,MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES:IS,MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES:PS,MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES:ES,MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES:vS,MODEL_FOR_CAUSAL_LM_MAPPING_NAMES:kS,MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES:SS};gU(Te);Ee=(ni=class{static supports(e){if(!this.MODEL_CLASS_MAPPINGS)return!1;for(let t of this.MODEL_CLASS_MAPPINGS)if(t.has(e))return!0;return this.BASE_IF_FAIL}static async from_pretrained(e,{progress_callback:t=null,config:r=null,cache_dir:n=null,local_files_only:s=!1,revision:a="main",model_file_name:o=null,subfolder:i="onnx",device:l=null,dtype:c=null,use_external_data_format:u=null,session_options:p={}}={}){let f={progress_callback:t,config:r,cache_dir:n,local_files_only:s,revision:a,model_file_name:o,subfolder:i,device:l,dtype:c,use_external_data_format:u,session_options:p};if(f.config=await ls.from_pretrained(e,f),!this.MODEL_CLASS_MAPPINGS)throw new Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);let{model_type:m}=f.config;for(let y of this.MODEL_CLASS_MAPPINGS){let v=y.get(m);if(!v){for(let x of y.values())if(x[0]===m){v=x;break}if(!v)continue}return await Nh[v].from_pretrained(e,f)}if(this.BASE_IF_FAIL)return UU.has(m)||ce.warn(`Unknown model class "${m}", attempting to construct from base class.`),await I.from_pretrained(e,f);throw Error(`Unsupported model type: ${m}`)}},w(ni,"MODEL_CLASS_MAPPINGS",null),w(ni,"BASE_IF_FAIL",!1),ni),ns=(si=class extends Ee{},w(si,"MODEL_CLASS_MAPPINGS",KS.map(e=>e[0])),w(si,"BASE_IF_FAIL",!0),si),Bp=(Yd=class extends Ee{},w(Yd,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING_NAMES]),Yd),JS=(Zd=class extends Ee{},w(Zd,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING_NAMES]),Zd),li=(ep=class extends Ee{},w(ep,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING_NAMES]),ep),XS=(tp=class extends Ee{},w(tp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING_NAMES]),tp),YS=(rp=class extends Ee{},w(rp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_TEXT_TO_SPECTROGRAM_MAPPING_NAMES]),rp),ZS=(np=class extends Ee{},w(np,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_TEXT_TO_WAVEFORM_MAPPING_NAMES]),np),eI=(sp=class extends Ee{},w(sp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_CAUSAL_LM_MAPPING_NAMES]),sp),tI=(ap=class extends Ee{},w(ap,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_MASKED_LM_MAPPING_NAMES]),ap),rI=(op=class extends Ee{},w(op,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_QUESTION_ANSWERING_MAPPING_NAMES]),op),nI=(ip=class extends Ee{},w(ip,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_VISION_2_SEQ_MAPPING_NAMES]),ip),sI=(lp=class extends Ee{},w(lp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING_NAMES]),lp),Up=(cp=class extends Ee{},w(cp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_SEGMENTATION_MAPPING_NAMES]),cp),zp=(up=class extends Ee{},w(up,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING_NAMES]),up),$p=(dp=class extends Ee{},w(dp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING_NAMES]),dp),aI=(pp=class extends Ee{},w(pp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_OBJECT_DETECTION_MAPPING_NAMES]),pp),oI=(hp=class extends Ee{},w(hp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING_NAMES]),hp),zU=(fp=class extends Ee{},w(fp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_MASK_GENERATION_MAPPING_NAMES]),fp),iI=(mp=class extends Ee{},w(mp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_CTC_MAPPING_NAMES]),mp),lI=(_p=class extends Ee{},w(_p,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING_NAMES]),_p),$U=(gp=class extends Ee{},w(gp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_XVECTOR_MAPPING_NAMES]),gp),VU=(wp=class extends Ee{},w(wp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING_NAMES]),wp),cI=(yp=class extends Ee{},w(yp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING_NAMES]),yp),GU=(vp=class extends Ee{},w(vp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_MATTING_MAPPING_NAMES]),vp),uI=(bp=class extends Ee{},w(bp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_TO_IMAGE_MAPPING_NAMES]),bp),dI=(Mp=class extends Ee{},w(Mp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_DEPTH_ESTIMATION_MAPPING_NAMES]),Mp),jU=(xp=class extends Ee{},w(xp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_NORMAL_ESTIMATION_MAPPING_NAMES]),xp),qU=(Tp=class extends Ee{},w(Tp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_POSE_ESTIMATION_MAPPING_NAMES]),Tp),pI=(Ep=class extends Ee{},w(Ep,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_FEATURE_EXTRACTION_MAPPING_NAMES]),Ep),WU=(kp=class extends Ee{},w(kp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_IMAGE_TEXT_TO_TEXT_MAPPING_NAMES]),kp),HU=(Cp=class extends Ee{},w(Cp,"MODEL_CLASS_MAPPINGS",[Te.MODEL_FOR_AUDIO_TEXT_TO_TEXT_MAPPING_NAMES]),Cp);$e=class extends Dt{constructor({task:e,model:t,tokenizer:r=null,processor:n=null}){super(),this.task=e,this.model=t,this.tokenizer=r,this.processor=n}async dispose(){await this.model.dispose()}},hI=class extends $e{async _call(e,{top_k:t=1}={}){let r=this.tokenizer(e,{padding:!0,truncation:!0}),n=await this.model(r),{problem_type:s,id2label:a}=this.model.config,o=s==="multi_label_classification"?l=>l.sigmoid():l=>new q("float32",rt(l.data),l.dims),i=[];for(let l of n.logits){let c=o(l),u=await pn(c,t),p=u[0].tolist(),m=u[1].tolist().map((y,v)=>({label:a?a[y]:`LABEL_${y}`,score:p[v]}));t===1?i.push(...m):i.push(m)}return Array.isArray(e)||t===1?i:i[0]}},fI=class extends $e{async _call(e,{ignore_labels:t=["O"]}={}){let r=Array.isArray(e),n=this.tokenizer(r?e:[e],{padding:!0,truncation:!0}),a=(await this.model(n)).logits,o=this.model.config.id2label,i=[];for(let l=0;l<a.dims[0];++l){let c=n.input_ids[l],u=a[l],p=[];for(let f=0;f<u.dims[0];++f){let m=u[f],y=Ge(m.data)[1],v=o?o[y]:`LABEL_${y}`;if(t.includes(v))continue;let x=this.tokenizer.decode([c[f].item()],{skip_special_tokens:!0});if(x==="")continue;let M=rt(m.data);p.push({entity:v,score:M[y],index:f,word:x})}i.push(p)}return r?i:i[0]}},mI=class extends $e{async _call(e,t,{top_k:r=1}={}){let n=this.tokenizer(e,{text_pair:t,padding:!0,truncation:!0}),s=Array.isArray(e),{start_logits:a,end_logits:o}=await this.model(n),i=n.input_ids.tolist(),l=n.attention_mask.tolist(),{all_special_ids:c,sep_token_id:u}=this.tokenizer,p=[];for(let f=0;f<a.dims[0];++f){let m=i[f],y=m.findIndex(S=>S==u),v=a[f].tolist(),x=o[f].tolist();for(let S=1;S<v.length;++S)(l[f]==0||S<=y||c.findIndex(O=>O==m[S])!==-1)&&(v[S]=-1/0,x[S]=-1/0);let M=rt(v).map((S,O)=>[S,O]),T=rt(x).map((S,O)=>[S,O]);M[0][0]=0,T[0][0]=0;let A=gL(M,T).filter(S=>S[0][1]<=S[1][1]).map(S=>[S[0][1],S[1][1],S[0][0]*S[1][0]]).sort((S,O)=>O[2]-S[2]),C=[];for(let S=0;S<Math.min(A.length,r);++S){let[O,E,K]=A[S],$=m.slice(O,E+1),V=this.tokenizer.decode($,{skip_special_tokens:!0});C.push({answer:V,score:K})}r===1?p.push(...C):p.push(C)}return s?p:p[0]}},_I=class extends $e{async _call(e,{top_k:t=5}={}){let{mask_token_id:r,mask_token:n}=this.tokenizer,s=this.tokenizer(e,{padding:!0,truncation:!0}),{logits:a}=await this.model(s),o=[],i=s.input_ids.tolist();for(let l=0;l<i.length;++l){let c=i[l],u=c.findIndex(v=>v==r);if(u===-1)throw Error(`Mask token (${n}) not found in text.`);let p=a[l][u],f=await pn(new q("float32",rt(p.data),p.dims),t),m=f[0].tolist(),y=f[1].tolist();o.push(y.map((v,x)=>{let M=c.slice();return M[u]=v,{score:m[x],token:Number(v),token_str:this.tokenizer.decode([v]),sequence:this.tokenizer.decode(M,{skip_special_tokens:!0})}}))}return Array.isArray(e)?o:o[0]}},$c=class extends $e{constructor(){super(...arguments);w(this,"_key","generated_text")}async _call(t,r={}){Array.isArray(t)||(t=[t]),this.model.config.prefix&&(t=t.map(l=>this.model.config.prefix+l));let n=this.model.config.task_specific_params;n&&n[this.task]&&n[this.task].prefix&&(t=t.map(l=>n[this.task].prefix+l));let s=this.tokenizer,a={padding:!0,truncation:!0},o;this.task==="translation"&&"_build_translation_inputs"in s?o=s._build_translation_inputs(t,a,r):o=s(t,a);let i=await this.model.generate({...o,...r});return s.batch_decode(i,{skip_special_tokens:!0}).map(l=>({[this._key]:l}))}},gI=class extends $c{constructor(){super(...arguments);w(this,"_key","summary_text")}},wI=class extends $c{constructor(){super(...arguments);w(this,"_key","translation_text")}};yI=class extends $e{async _call(e,t={}){let r=!1,n=!1,s=t.add_special_tokens??(this.tokenizer.add_bos_token||this.tokenizer.add_eos_token)??!1,a=t.tokenizer_encode_kwargs,o;if(typeof e=="string")o=e=[e];else if(Array.isArray(e)&&e.every(m=>typeof m=="string"))r=!0,o=e;else{if(fv(e))e=[e];else if(Array.isArray(e)&&e.every(fv))r=!0;else throw new Error("Input must be a string, an array of strings, a Chat, or an array of Chats");n=!0,o=e.map(m=>this.tokenizer.apply_chat_template(m,{tokenize:!1,add_generation_prompt:!0,...a})),s=!1,a=void 0}let i=n?!1:t.return_full_text??!0;this.tokenizer.padding_side="left";let l=this.tokenizer(o,{add_special_tokens:s,padding:!0,truncation:!0,...a}),c=await this.model.generate({...l,...t}),u=this.tokenizer.batch_decode(c,{skip_special_tokens:!0}),p;!i&&l.input_ids.dims.at(-1)>0&&(p=this.tokenizer.batch_decode(l.input_ids,{skip_special_tokens:!0}).map(m=>m.length));let f=Array.from({length:e.length},m=>[]);for(let m=0;m<u.length;++m){let y=Math.floor(m/c.dims[0]*e.length);p&&(u[m]=u[m].slice(p[y])),f[y].push({generated_text:n?[...e[y],{role:"assistant",content:u[m]}]:u[m]})}return!r&&f.length===1?f[0]:f}},vI=class extends $e{constructor(e){super(e),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([t,r])=>[t.toLowerCase(),r])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(ce.warn("Could not find 'entailment' in label2id mapping. Using 2 as entailment_id."),this.entailment_id=2),this.contradiction_id=this.label2id.contradiction??this.label2id.not_entailment,this.contradiction_id===void 0&&(ce.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(e,t,{hypothesis_template:r="This example is {}.",multi_label:n=!1}={}){let s=Array.isArray(e);s||(e=[e]),Array.isArray(t)||(t=[t]);let a=t.map(l=>r.replace("{}",l)),o=n||t.length===1,i=[];for(let l of e){let c=[];for(let f of a){let m=this.tokenizer(l,{text_pair:f,padding:!0,truncation:!0}),y=await this.model(m);o?c.push([y.logits.data[this.contradiction_id],y.logits.data[this.entailment_id]]):c.push(y.logits.data[this.entailment_id])}let p=(o?c.map(f=>rt(f)[1]):rt(c)).map((f,m)=>[f,m]).sort((f,m)=>m[0]-f[0]);i.push({sequence:l,labels:p.map(f=>t[f[1]]),scores:p.map(f=>f[0])})}return s?i:i[0]}},bI=class extends $e{async _call(e,{top_k:t=5}={}){let r=this.processor.feature_extractor.config.sampling_rate,n=await fa(e,r),s=this.model.config.id2label,a=[];for(let o of n){let i=await this.processor(o),c=(await this.model(i)).logits[0],u=await pn(new q("float32",rt(c.data),c.dims),t),p=u[0].tolist(),m=u[1].tolist().map((y,v)=>({label:s?s[y]:`LABEL_${y}`,score:p[v]}));a.push(m)}return Array.isArray(e)?a:a[0]}},MI=class extends $e{async _call(e,t,{hypothesis_template:r="This is a sound of {}."}={}){let n=!Array.isArray(e);n&&(e=[e]);let s=t.map(c=>r.replace("{}",c)),a=this.tokenizer(s,{padding:!0,truncation:!0}),o=this.processor.feature_extractor.config.sampling_rate,i=await fa(e,o),l=[];for(let c of i){let u=await this.processor(c),p=await this.model({...a,...u}),f=rt(p.logits_per_audio.data);l.push([...f].map((m,y)=>({score:m,label:t[y]})))}return n?l[0]:l}},xI=class extends $e{async _call(e,t={}){switch(this.model.config.model_type){case"whisper":case"lite-whisper":return this._call_whisper(e,t);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":case"parakeet_ctc":return this._call_wav2vec2(e,t);case"moonshine":return this._call_moonshine(e,t);default:throw new Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(e,t){t.language&&ce.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),t.task&&ce.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');let r=!Array.isArray(e),n=r?[e]:e,s=this.processor.feature_extractor.config.sampling_rate,a=await fa(n,s),o=[];for(let i of a){let l=await this.processor(i),u=(await this.model(l)).logits[0],p=[];for(let m of u)p.push(Ge(m.data)[1]);let f=this.tokenizer.decode(p,{skip_special_tokens:!0}).trim();o.push({text:f})}return r?o[0]:o}async _call_whisper(e,t){let r=t.return_timestamps??!1,n=t.chunk_length_s??0,s=t.force_full_sequences??!1,a=t.stride_length_s??null,o={...t};r==="word"&&(o.return_token_timestamps=!0,o.return_timestamps=!1);let i=!Array.isArray(e),l=i?[e]:e,c=this.processor.feature_extractor.config,u=c.chunk_length/this.model.config.max_source_positions,p=c.hop_length,f=c.sampling_rate,m=await fa(l,f),y=[];for(let v of m){let x=[];if(n>0){if(a===null)a=n/6;else if(n<=a)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");let A=f*n,C=f*a,S=A-2*C,O=0;for(;;){let E=O+A,K=v.subarray(O,E),$=await this.processor(K),V=O===0,Q=E>=v.length;if(x.push({stride:[K.length,V?0:C,Q?0:C],input_features:$.input_features,is_last:Q}),Q)break;O+=S}}else x=[{stride:[v.length,0,0],input_features:(await this.processor(v)).input_features,is_last:!0}];for(let A of x){o.num_frames=Math.floor(A.stride[0]/p);let C=await this.model.generate({inputs:A.input_features,...o});r==="word"?(A.tokens=C.sequences.tolist()[0],A.token_timestamps=C.token_timestamps.tolist()[0].map(S=>da(S,2))):A.tokens=C[0].tolist(),A.stride=A.stride.map(S=>S/f)}let[M,T]=this.tokenizer._decode_asr(x,{time_precision:u,return_timestamps:r,force_full_sequences:s});y.push({text:M,...T})}return i?y[0]:y}async _call_moonshine(e,t){let r=!Array.isArray(e),n=r?[e]:e,s=this.processor.feature_extractor.config.sampling_rate,a=await fa(n,s),o=[];for(let i of a){let l=await this.processor(i),c=Math.floor(i.length/s)*6,u=await this.model.generate({max_new_tokens:c,...t,...l}),p=this.processor.batch_decode(u,{skip_special_tokens:!0})[0];o.push({text:p})}return r?o[0]:o}},TI=class extends $e{constructor(t){super(t);w(this,"DEFAULT_VOCODER_ID","Xenova/speecht5_hifigan");this.vocoder=t.vocoder??null}async _prepare_speaker_embeddings(t,r){if((typeof t=="string"||t instanceof URL)&&(t=new Float32Array(await(await ge.fetch(t)).arrayBuffer())),t instanceof Float32Array)t=new q("float32",t,[t.length]);else if(!(t instanceof q))throw new Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");if(r>1){if(t.dims[0]===1)t=t.repeat(r,1);else if(t.dims[0]!==r)throw new Error(`Expected speaker embeddings batch size to be 1 or ${r}, but got ${t.dims[0]}.`)}return t}_postprocess_waveform(t,r,n,s=null){let a=r.data,[o,i]=r.dims,l=s?s.data:null,c=[];for(let u=0;u<o;++u){let p=l?Math.min(Math.ceil(l[u]),i):i,f=u*i;c.push(new Xb(a.slice(f,f+p),n))}return Array.isArray(t)?c:c[0]}async _call(t,r){return this.processor?this._call_text_to_spectrogram(t,r):this.model.config.model_type==="supertonic"?this._call_supertonic(t,r):this._call_text_to_waveform(t)}async _call_supertonic(t,{speaker_embeddings:r,num_inference_steps:n,speed:s}){if(!r)throw new Error("Speaker embeddings must be provided for Supertonic models.");let{sampling_rate:a,style_dim:o}=this.model.config,i=this.tokenizer(t,{padding:!0,truncation:!0}),l=i.input_ids.dims[0];r=await this._prepare_speaker_embeddings(r,l),r=r.view(l,-1,o);let{waveform:c,durations:u}=await this.model.generate_speech({...i,style:r,num_inference_steps:n,speed:s});return this._postprocess_waveform(t,c,a,u)}async _call_text_to_waveform(t){let r=this.tokenizer(t,{padding:!0,truncation:!0}),{waveform:n}=await this.model(r),s=this.model.config.sampling_rate;return this._postprocess_waveform(t,n,s)}async _call_text_to_spectrogram(t,{speaker_embeddings:r}){this.vocoder||(ce.info("No vocoder specified, using default HifiGan vocoder."),this.vocoder=await ns.from_pretrained(this.DEFAULT_VOCODER_ID,{dtype:"fp32"}));let{input_ids:n}=this.tokenizer(t,{padding:!0,truncation:!0}),s=n.dims[0];r=await this._prepare_speaker_embeddings(r,s),r=r.view(s,-1);let{waveform:a}=await this.model.generate_speech(n,r,{vocoder:this.vocoder}),o=this.processor.feature_extractor.config.sampling_rate;return this._postprocess_waveform(t,a,o)}},EI=class extends $e{async _call(e,t={}){let r=Array.isArray(e),n=await Xt(e),{pixel_values:s}=await this.processor(n),a=[];for(let o of s){o.dims=[1,...o.dims];let i=await this.model.generate({inputs:o,...t}),l=this.tokenizer.batch_decode(i,{skip_special_tokens:!0}).map(c=>({generated_text:c.trim()}));a.push(l)}return r?a:a[0]}},kI=class extends $e{async _call(e,{top_k:t=5}={}){let r=await Xt(e),{pixel_values:n}=await this.processor(r),s=await this.model({pixel_values:n}),{id2label:a}=this.model.config,o=[];for(let i of s.logits){let l=await pn(new q("float32",rt(i.data),i.dims),t),c=l[0].tolist(),p=l[1].tolist().map((f,m)=>({label:a?a[f]:`LABEL_${f}`,score:c[m]}));o.push(p)}return Array.isArray(e)?o:o[0]}},mv={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"},Zf=class extends $e{async _call(e,{threshold:t=.5,mask_threshold:r=.5,overlap_mask_area_threshold:n=.8,label_ids_to_fuse:s=null,target_sizes:a=null,subtask:o=null}={}){if(Array.isArray(e)&&e.length!==1)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");let l=await Xt(e),c=l.map(M=>[M.height,M.width]),u=await this.processor(l),{inputNames:p,outputNames:f}=this.model.sessions.model;if(!p.includes("pixel_values")){if(p.length!==1)throw Error(`Expected a single input name, but got ${p.length} inputs: ${p}.`);let M=p[0];if(M in u)throw Error(`Input name ${M} already exists in the inputs.`);u[M]=u.pixel_values}let m=await this.model(u),y=null;if(o!==null)y=mv[o];else if(this.processor.image_processor){for(let[M,T]of Object.entries(mv))if(T in this.processor.image_processor){y=this.processor.image_processor[T].bind(this.processor.image_processor),o=M;break}}let v=this.model.config.id2label,x=[];if(o)if(o==="panoptic"||o==="instance"){let M=y(m,t,r,n,s,a??c)[0],T=M.segmentation;for(let A of M.segments_info){let C=new Uint8ClampedArray(T.data.length);for(let O=0;O<T.data.length;++O)T.data[O]===A.id&&(C[O]=255);let S=new Mt(C,T.dims[1],T.dims[0],1);x.push({score:A.score,label:v[A.label_id],mask:S})}}else if(o==="semantic"){let{segmentation:M,labels:T}=y(m,a??c)[0];for(let A of T){let C=new Uint8ClampedArray(M.data.length);for(let O=0;O<M.data.length;++O)M.data[O]===A&&(C[O]=255);let S=new Mt(C,M.dims[1],M.dims[0],1);x.push({score:null,label:v[A],mask:S})}}else throw Error(`Subtask ${o} not supported.`);else{let T=m[f[0]];for(let A=0;A<c.length;++A){let C=c[A],S=T[A];S.data.some(E=>E<-1e-5||E>1+1e-5)&&S.sigmoid_();let O=await Mt.fromTensor(S.mul_(255).to("uint8")).resize(C[1],C[0]);x.push({label:null,score:null,mask:O})}}return x}},CI=class extends Zf{async _call(e,t={}){let r=await Xt(e),n=await super._call(e,t),s=r.map((a,o)=>{let i=a.clone();return i.putAlpha(n[o].mask),i});return Array.isArray(e)?s:s[0]}},AI=class extends $e{async _call(e,t,{hypothesis_template:r="This is a photo of {}"}={}){let n=Array.isArray(e),s=await Xt(e),a=t.map(p=>r.replace("{}",p)),o=this.tokenizer(a,{padding:this.model.config.model_type==="siglip"?"max_length":!0,truncation:!0}),{pixel_values:i}=await this.processor(s),l=await this.model({...o,pixel_values:i}),c=this.model.config.model_type==="siglip"?p=>p.sigmoid().data:p=>rt(p.data),u=[];for(let p of l.logits_per_image){let m=[...c(p)].map((y,v)=>({score:y,label:t[v]}));m.sort((y,v)=>v.score-y.score),u.push(m)}return n?u:u[0]}},SI=class extends $e{async _call(e,{threshold:t=.9,percentage:r=!1}={}){let n=Array.isArray(e);if(n&&e.length!==1)throw Error("Object detection pipeline currently only supports a batch size of 1.");let s=await Xt(e),a=r?null:s.map(f=>[f.height,f.width]),{pixel_values:o,pixel_mask:i}=await this.processor(s),l=await this.model({pixel_values:o,pixel_mask:i}),c=this.processor.image_processor.post_process_object_detection(l,t,a),{id2label:u}=this.model.config,p=c.map(f=>f.boxes.map((m,y)=>({score:f.scores[y],label:u[f.classes[y]],box:Vp(m,!r)})));return n?p:p[0]}},II=class extends $e{async _call(e,t,{threshold:r=.1,top_k:n=null,percentage:s=!1}={}){let a=Array.isArray(e),o=await Xt(e),i=this.tokenizer(t,{padding:!0,truncation:!0}),l=await this.processor(o),c=[];for(let u=0;u<o.length;++u){let p=o[u],f=s?null:[[p.height,p.width]],m=l.pixel_values[u].unsqueeze_(0),y=await this.model({...i,pixel_values:m}),v;if("post_process_grounded_object_detection"in this.processor){let x=this.processor.post_process_grounded_object_detection(y,i.input_ids,{box_threshold:r,text_threshold:r,target_sizes:f})[0];v=x.boxes.map((M,T)=>({score:x.scores[T],label:x.labels[T],box:Vp(M,!s)}))}else{let x=this.processor.image_processor.post_process_object_detection(y,r,f,!0)[0];v=x.boxes.map((M,T)=>({score:x.scores[T],label:t[x.classes[T]],box:Vp(M,!s)}))}v.sort((x,M)=>M.score-x.score),n!==null&&(v=v.slice(0,n)),c.push(v)}return a?c:c[0]}},PI=class extends $e{async _call(e,t,r={}){if(Array.isArray(e)){if(e.length!==1)throw Error("Document Question Answering pipeline currently only supports a batch size of 1.");e=e[0]}let n=(await Xt(e))[0],{pixel_values:s}=await this.processor(n),a=`<s_docvqa><s_question>${t}</s_question><s_answer>`,o=this.tokenizer(a,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,i=await this.model.generate({inputs:s,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:o,...r}),c=this.tokenizer.batch_decode(i)[0].match(/<s_answer>(.*?)<\/s_answer>/),u=null;return c&&c.length>=2&&(u=c[1].trim()),[{answer:u}]}},RI=class extends $e{async _call(e){let t=await Xt(e),r=await this.processor(t),n=await this.model(r),s=[];for(let a of n.reconstruction){let o=a.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");s.push(Mt.fromTensor(o))}return Array.isArray(e)?s:s[0]}},OI=class extends $e{async _call(e){let t=await Xt(e),r=await this.processor(t),{predicted_depth:n}=await this.model(r),s=[];for(let a=0;a<t.length;++a){let o=n[a],[i,l]=o.dims.slice(-2),[c,u]=t[a].size,p=(await Nt(o.view(1,1,i,l),{size:[u,c],mode:"bilinear"})).view(u,c),f=p.min().item(),m=p.max().item(),y=p.sub(f).div_(m-f).mul_(255).to("uint8").unsqueeze(0),v=Mt.fromTensor(y);s.push({predicted_depth:p,depth:v})}return Array.isArray(e)?s:s[0]}},LI=class extends $e{async _call(e,{pooling:t="none",normalize:r=!1,quantize:n=!1,precision:s="binary"}={}){let a=this.tokenizer(e,{padding:!0,truncation:!0}),o=await this.model(a),i=o.last_hidden_state??o.logits??o.token_embeddings;switch(t){case"none":break;case"mean":i=Xv(i,a.attention_mask);break;case"first_token":case"cls":i=i.slice(null,0);break;case"last_token":case"eos":i=i.slice(null,-1);break;default:throw Error(`Pooling method '${t}' not supported.`)}return r&&(i=i.normalize(2,-1)),n&&(i=Zv(i,s)),i}},FI=class extends $e{async _call(e,{pool:t=null}={}){let r=await Xt(e),{pixel_values:n}=await this.processor(r),s=await this.model({pixel_values:n}),a;if(t){if(!("pooler_output"in s))throw Error("No pooled output was returned. Make sure the model has a 'pooler' layer when using the 'pool' option.");a=s.pooler_output}else a=s.last_hidden_state??s.logits??s.image_embeds;return a}},bi=Object.freeze({"text-classification":{pipeline:hI,model:Bp,default:{model:"Xenova/distilbert-base-uncased-finetuned-sst-2-english"},type:"text"},"token-classification":{pipeline:fI,model:JS,default:{model:"Xenova/bert-base-multilingual-cased-ner-hrl"},type:"text"},"question-answering":{pipeline:mI,model:rI,default:{model:"Xenova/distilbert-base-cased-distilled-squad"},type:"text"},"fill-mask":{pipeline:_I,model:tI,default:{model:"onnx-community/ettin-encoder-32m-ONNX",dtype:"fp32"},type:"text"},summarization:{pipeline:gI,model:li,default:{model:"Xenova/distilbart-cnn-6-6"},type:"text"},translation:{pipeline:wI,model:li,default:{model:"Xenova/t5-small"},type:"text"},"text2text-generation":{pipeline:$c,model:li,default:{model:"Xenova/flan-t5-small"},type:"text"},"text-generation":{pipeline:yI,model:eI,default:{model:"onnx-community/Qwen3-0.6B-ONNX",dtype:"q4"},type:"text"},"zero-shot-classification":{pipeline:vI,model:Bp,default:{model:"Xenova/distilbert-base-uncased-mnli"},type:"text"},"audio-classification":{pipeline:bI,model:lI,default:{model:"Xenova/wav2vec2-base-superb-ks"},type:"audio"},"zero-shot-audio-classification":{pipeline:MI,model:ns,default:{model:"Xenova/clap-htsat-unfused"},type:"multimodal"},"automatic-speech-recognition":{pipeline:xI,model:[XS,iI],default:{model:"Xenova/whisper-tiny.en"},type:"multimodal"},"text-to-audio":{pipeline:TI,model:[ZS,YS],default:{model:"onnx-community/Supertonic-TTS-ONNX",dtype:"fp32"},type:"text"},"image-to-text":{pipeline:EI,model:nI,default:{model:"Xenova/vit-gpt2-image-captioning"},type:"multimodal"},"image-classification":{pipeline:kI,model:sI,default:{model:"Xenova/vit-base-patch16-224"},type:"multimodal"},"image-segmentation":{pipeline:Zf,model:[Up,zp,$p],default:{model:"Xenova/detr-resnet-50-panoptic"},type:"multimodal"},"background-removal":{pipeline:CI,model:[Up,zp,$p],default:{model:"Xenova/modnet"},type:"image"},"zero-shot-image-classification":{pipeline:AI,model:ns,default:{model:"Xenova/clip-vit-base-patch32"},type:"multimodal"},"object-detection":{pipeline:SI,model:aI,default:{model:"Xenova/detr-resnet-50"},type:"multimodal"},"zero-shot-object-detection":{pipeline:II,model:oI,default:{model:"Xenova/owlvit-base-patch32"},type:"multimodal"},"document-question-answering":{pipeline:PI,model:cI,default:{model:"Xenova/donut-base-finetuned-docvqa"},type:"multimodal"},"image-to-image":{pipeline:RI,model:uI,default:{model:"Xenova/swin2SR-classical-sr-x2-64"},type:"image"},"depth-estimation":{pipeline:OI,model:dI,default:{model:"onnx-community/depth-anything-v2-small"},type:"image"},"feature-extraction":{pipeline:LI,model:ns,default:{model:"onnx-community/all-MiniLM-L6-v2-ONNX",dtype:"fp32"},type:"text"},"image-feature-extraction":{pipeline:FI,model:[pI,ns],default:{model:"onnx-community/dinov3-vits16-pretrain-lvd1689m-ONNX",dtype:"fp32"},type:"image"}}),NI=Object.freeze({"sentiment-analysis":"text-classification",ner:"token-classification",asr:"automatic-speech-recognition","text-to-speech":"text-to-audio",embeddings:"feature-extraction"});JU=e=>e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=63744&&e<=64255||e>=194560&&e<=195103,UI=class{put(e){throw Error("Not implemented")}end(){throw Error("Not implemented")}},_v=pe.IS_PROCESS_AVAILABLE?e=>process.stdout.write(e):e=>console.log(e),zI=class extends UI{constructor(e,{skip_prompt:t=!1,callback_function:r=null,token_callback_function:n=null,skip_special_tokens:s=!0,decode_kwargs:a={},...o}={}){super(),this.tokenizer=e,this.skip_prompt=t,this.callback_function=r??_v,this.token_callback_function=n,this.decode_kwargs={skip_special_tokens:s,...a,...o},this.token_cache=[],this.print_len=0,this.next_tokens_are_prompt=!0,this.special_ids=new Set(this.tokenizer.all_special_ids.map(BigInt))}put(e){if(e.length>1)throw Error("TextStreamer only supports batch size of 1");let t=this.next_tokens_are_prompt;if(t&&(this.next_tokens_are_prompt=!1,this.skip_prompt))return;let r=e[0];if(this.token_callback_function?.(r),r.length===1&&this.special_ids.has(r[0])){if(this.decode_kwargs.skip_special_tokens)return;if(this.token_cache.length>0){let i=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len);this.on_finalized_text(i,!1),this.token_cache=[],this.print_len=0}let a=this.tokenizer.decode(r,this.decode_kwargs);this.on_finalized_text(a,!1);return}this.token_cache=jt(this.token_cache,r);let n=this.tokenizer.decode(this.token_cache,this.decode_kwargs),s;t||n.endsWith(`
|
|
26
|
+
`)?(s=n.slice(this.print_len),this.token_cache=[],this.print_len=0):n.length>0&&JU(n.charCodeAt(n.length-1))?(s=n.slice(this.print_len),this.print_len+=s.length):(s=n.slice(this.print_len,n.lastIndexOf(" ")+1),this.print_len+=s.length),this.on_finalized_text(s,!1)}end(){let e;this.token_cache.length>0?(e=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len),this.token_cache=[],this.print_len=0):e="",this.next_tokens_are_prompt=!0,this.on_finalized_text(e,!0)}on_finalized_text(e,t){e.length>0&&this.callback_function?.(e),t&&this.callback_function===_v&&pe.IS_PROCESS_AVAILABLE&&this.callback_function?.(`
|
|
27
|
+
`)}},XU=class extends zI{constructor(e,{skip_prompt:t=!1,callback_function:r=null,token_callback_function:n=null,on_chunk_start:s=null,on_chunk_end:a=null,on_finalize:o=null,time_precision:i=.02,skip_special_tokens:l=!0,decode_kwargs:c={}}={}){super(e,{skip_prompt:t,skip_special_tokens:l,callback_function:r,token_callback_function:n,decode_kwargs:c}),this.timestamp_begin=e.timestamp_begin,this.on_chunk_start=s,this.on_chunk_end=a,this.on_finalize=o,this.time_precision=i,this.waiting_for_timestamp=!1}put(e){if(e.length>1)throw Error("WhisperTextStreamer only supports batch size of 1");let t=e[0];if(t.length===1){let r=Number(t[0])-this.timestamp_begin;if(r>=0){let n=r*this.time_precision;this.waiting_for_timestamp?this.on_chunk_end?.(n):this.on_chunk_start?.(n),this.waiting_for_timestamp=!this.waiting_for_timestamp,this.token_callback_function?.(t);return}}return super.put(e)}end(){super.end(),this.on_finalize?.()}},em=class{constructor(e,t){this.image=e,this.timestamp=t}},$I=class{constructor(e,t){e.length>0&&e[0]instanceof Mt&&(e=e.map((r,n)=>new em(r,(n+1)/(e.length+1)*t))),this.frames=e,this.duration=t}get width(){return this.frames[0].image.width}get height(){return this.frames[0].image.height}get fps(){return this.frames.length/this.duration}};az=class{static async get_files(e,t={}){return Va(e,t)}static async get_pipeline_files(e,t,r={}){return Ga(e,t,r)}static async get_model_files(e,t={}){return DI(e,t)}static async get_tokenizer_files(e){return sh(e)}static async get_processor_files(e){return BI(e)}static async is_cached(e,t={}){return ZU(e,t)}static async is_cached_files(e,t={}){return ez(e,t)}static async is_pipeline_cached(e,t,r={}){return tz(e,t,r)}static async is_pipeline_cached_files(e,t,r={}){return rz(e,t,r)}static async get_file_metadata(e,t,r={}){return Ma(e,t,r)}static async clear_cache(e,t={}){return nz(e,t)}static async clear_pipeline_cache(e,t,r={}){return sz(e,t,r)}}});var Fz={};Au(Fz,{ArtifactsClient:()=>xo,AudioTranscriptions:()=>Fn,AuthType:()=>Is,CapabilitiesClient:()=>Dn,ChatClient:()=>Bn,CompatibilityLevel:()=>Zc,ContractModelStatus:()=>Jc,ControlClient:()=>Un,DeviceAuth:()=>Mo,DeviceClass:()=>Xc,DeviceContext:()=>Gr,DevicesClient:()=>yo,ERROR_CODE_MAP:()=>dt,EVENT_REQUIRED_ATTRIBUTES:()=>Nu,EngineRegistry:()=>ja,ErrorCode:()=>Vr,ExperimentsClient:()=>Qc,FederatedAnalyticsClient:()=>Wc,FederatedClient:()=>jc,FinishReason:()=>Yc,GradientCache:()=>Kc,InferenceEngine:()=>zn,ModelManager:()=>$n,ModelsClient:()=>Vn,MonitoringClient:()=>_o,OTLP_RESOURCE_ATTRIBUTES:()=>Ds,OctomilAudio:()=>Nn,OctomilClient:()=>mo,OctomilError:()=>U,OctomilText:()=>qn,PrincipalType:()=>Ps,ResponsesClient:()=>Gn,RoutingClient:()=>jn,Scope:()=>Rs,SecAggPlus:()=>Hc,SecureAggregation:()=>Wa,SettingsClient:()=>go,StreamingInferenceEngine:()=>Gc,SyncManager:()=>bo,TELEMETRY_EVENTS:()=>fr,TelemetryReporter:()=>Hr,TextPredictionsClient:()=>Us,ToolRunner:()=>To,TrainingClient:()=>wo,WeightExtractor:()=>qa,addGaussianNoise:()=>XI,assertModelIntegrity:()=>Eg,benchmarkResultOk:()=>Lz,clipGradients:()=>JI,closeTelemetry:()=>Tg,computeHash:()=>zs,configure:()=>mg,createModelCache:()=>lo,createTransformersJsLocalResponsesRuntime:()=>HI,dequantize:()=>ZI,detectDeviceCapabilities:()=>ho,embed:()=>po,generateResponseId:()=>qr,getDeviceContext:()=>Ns,getInstallId:()=>fo,getPublishableKeyEnvironment:()=>hg,getTelemetry:()=>xg,initTelemetry:()=>Mg,messagesToResponseInput:()=>co,quantize:()=>YI,resetInstallIdCache:()=>bg,shamirReconstruct:()=>sm,shamirSplit:()=>nm,validatePublishableKey:()=>uo,verifyModelIntegrity:()=>Uu});var Is=(s=>(s.OrgApiKey="org_api_key",s.DeviceToken="device_token",s.ServiceToken="service_token",s.PublishableKey="publishable_key",s))(Is||{});var Ps=(s=>(s.User="user",s.OrgApiClient="org_api_client",s.Device="device",s.ServiceWorker="service_worker",s))(Ps||{});var Rs=(m=>(m.CatalogRead="catalog:read",m.ModelsRead="models:read",m.ModelsWrite="models:write",m.DevicesRegister="devices:register",m.DevicesHeartbeat="devices:heartbeat",m.ControlRefresh="control:refresh",m.TelemetryWrite="telemetry:write",m.RolloutsRead="rollouts:read",m.RolloutsWrite="rollouts:write",m.BenchmarksWrite="benchmarks:write",m.EvalsWrite="evals:write",m.CloudInference="cloud:inference",m.CloudCredentials="cloud:credentials",m))(Rs||{});var Vr=(H=>(H.InvalidApiKey="invalid_api_key",H.AuthenticationFailed="authentication_failed",H.Forbidden="forbidden",H.DeviceNotRegistered="device_not_registered",H.TokenExpired="token_expired",H.DeviceRevoked="device_revoked",H.NetworkUnavailable="network_unavailable",H.RequestTimeout="request_timeout",H.ServerError="server_error",H.RateLimited="rate_limited",H.InvalidInput="invalid_input",H.UnsupportedModality="unsupported_modality",H.ContextTooLarge="context_too_large",H.ModelNotFound="model_not_found",H.ModelDisabled="model_disabled",H.VersionNotFound="version_not_found",H.DownloadFailed="download_failed",H.ChecksumMismatch="checksum_mismatch",H.InsufficientStorage="insufficient_storage",H.InsufficientMemory="insufficient_memory",H.RuntimeUnavailable="runtime_unavailable",H.AcceleratorUnavailable="accelerator_unavailable",H.ModelLoadFailed="model_load_failed",H.InferenceFailed="inference_failed",H.StreamInterrupted="stream_interrupted",H.PolicyDenied="policy_denied",H.CloudFallbackDisallowed="cloud_fallback_disallowed",H.CloudCredentialsMissing="cloud_credentials_missing",H.CloudCredentialsRevoked="cloud_credentials_revoked",H.CloudProviderAuthFailed="cloud_provider_auth_failed",H.MaxToolRoundsExceeded="max_tool_rounds_exceeded",H.TrainingFailed="training_failed",H.TrainingNotSupported="training_not_supported",H.WeightUploadFailed="weight_upload_failed",H.ControlSyncFailed="control_sync_failed",H.AssignmentNotFound="assignment_not_found",H.Cancelled="cancelled",H.AppBackgrounded="app_backgrounded",H.Unknown="unknown",H))(Vr||{}),Ln={invalid_api_key:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},authentication_failed:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"reauthenticate"},forbidden:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_permissions"},device_not_registered:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"register_device"},token_expired:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"reauthenticate"},device_revoked:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"register_device"},network_unavailable:{category:"network",retryClass:"backoff_safe",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},request_timeout:{category:"network",retryClass:"conditional",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},server_error:{category:"network",retryClass:"backoff_safe",fallbackEligible:!0,suggestedAction:"retry"},rate_limited:{category:"network",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"retry_after"},invalid_input:{category:"input",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_request"},unsupported_modality:{category:"input",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_request"},context_too_large:{category:"input",retryClass:"never",fallbackEligible:!0,suggestedAction:"reduce_input_or_fallback"},model_not_found:{category:"catalog",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_model_id"},model_disabled:{category:"catalog",retryClass:"never",fallbackEligible:!0,suggestedAction:"use_alternate_model"},version_not_found:{category:"catalog",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_version"},download_failed:{category:"download",retryClass:"backoff_safe",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},checksum_mismatch:{category:"download",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"redownload"},insufficient_storage:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"free_storage_or_fallback"},insufficient_memory:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"try_smaller_model"},runtime_unavailable:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"try_alternate_runtime"},accelerator_unavailable:{category:"device",retryClass:"never",fallbackEligible:!0,suggestedAction:"try_cpu_or_fallback"},model_load_failed:{category:"runtime",retryClass:"conditional",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},inference_failed:{category:"runtime",retryClass:"conditional",fallbackEligible:!0,suggestedAction:"retry_or_fallback"},stream_interrupted:{category:"runtime",retryClass:"immediate_safe",fallbackEligible:!0,suggestedAction:"retry"},policy_denied:{category:"policy",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_policy"},cloud_fallback_disallowed:{category:"policy",retryClass:"never",fallbackEligible:!1,suggestedAction:"change_policy_or_fix_local"},cloud_credentials_missing:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},cloud_credentials_revoked:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},cloud_provider_auth_failed:{category:"auth",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_credentials"},max_tool_rounds_exceeded:{category:"policy",retryClass:"never",fallbackEligible:!1,suggestedAction:"increase_limit_or_simplify"},training_failed:{category:"training",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"retry"},training_not_supported:{category:"training",retryClass:"never",fallbackEligible:!1,suggestedAction:"fix_request"},weight_upload_failed:{category:"training",retryClass:"backoff_safe",fallbackEligible:!1,suggestedAction:"retry"},control_sync_failed:{category:"control",retryClass:"backoff_safe",fallbackEligible:!1,suggestedAction:"retry"},assignment_not_found:{category:"control",retryClass:"never",fallbackEligible:!1,suggestedAction:"check_assignment"},cancelled:{category:"lifecycle",retryClass:"never",fallbackEligible:!1,suggestedAction:"none"},app_backgrounded:{category:"lifecycle",retryClass:"conditional",fallbackEligible:!1,suggestedAction:"resume_on_foreground"},unknown:{category:"unknown",retryClass:"never",fallbackEligible:!1,suggestedAction:"report_bug"}};var dt={network_unavailable:"NETWORK_UNAVAILABLE",request_timeout:"REQUEST_TIMEOUT",server_error:"SERVER_ERROR",invalid_api_key:"INVALID_API_KEY",authentication_failed:"AUTHENTICATION_FAILED",forbidden:"FORBIDDEN",model_not_found:"MODEL_NOT_FOUND",model_disabled:"MODEL_DISABLED",download_failed:"DOWNLOAD_FAILED",checksum_mismatch:"CHECKSUM_MISMATCH",insufficient_storage:"INSUFFICIENT_STORAGE",runtime_unavailable:"RUNTIME_UNAVAILABLE",model_load_failed:"MODEL_LOAD_FAILED",inference_failed:"INFERENCE_FAILED",insufficient_memory:"INSUFFICIENT_MEMORY",rate_limited:"RATE_LIMITED",invalid_input:"INVALID_INPUT",cancelled:"CANCELLED",unknown:"UNKNOWN",device_not_registered:"DEVICE_NOT_REGISTERED",unsupported_modality:"UNSUPPORTED_MODALITY",context_too_large:"CONTEXT_TOO_LARGE",version_not_found:"VERSION_NOT_FOUND",accelerator_unavailable:"ACCELERATOR_UNAVAILABLE",stream_interrupted:"STREAM_INTERRUPTED",policy_denied:"POLICY_DENIED",cloud_fallback_disallowed:"CLOUD_FALLBACK_DISALLOWED",cloud_credentials_missing:"CLOUD_CREDENTIALS_MISSING",cloud_credentials_revoked:"CLOUD_CREDENTIALS_REVOKED",cloud_provider_auth_failed:"CLOUD_PROVIDER_AUTH_FAILED",max_tool_rounds_exceeded:"MAX_TOOL_ROUNDS_EXCEEDED",control_sync_failed:"CONTROL_SYNC_FAILED",assignment_not_found:"ASSIGNMENT_NOT_FOUND",app_backgrounded:"APP_BACKGROUNDED",training_failed:"TRAINING_FAILED",training_not_supported:"TRAINING_NOT_SUPPORTED",weight_upload_failed:"WEIGHT_UPLOAD_FAILED",token_expired:"TOKEN_EXPIRED",device_revoked:"DEVICE_REVOKED"},Os=Object.fromEntries(Object.entries(dt).map(([e,t])=>[t,e])),U=class e extends Error{constructor(r,n,s){super(n);w(this,"code");w(this,"cause");this.name="OctomilError",this.code=r,this.cause=s}get retryable(){let r=Os[this.code];return r!=null&&Ln[r].retryClass!=="never"}get category(){let r=Os[this.code];return r!=null?Ln[r].category:void 0}get retryClass(){let r=Os[this.code];return r!=null?Ln[r].retryClass:void 0}get fallbackEligible(){let r=Os[this.code];return r!=null?Ln[r].fallbackEligible:!1}get suggestedAction(){let r=Os[this.code];return r!=null?Ln[r].suggestedAction:void 0}static fromErrorCode(r,n,s){let a=dt[r];return new e(a,n,s)}static fromHttpStatus(r,n){let s=n||`HTTP ${r}`;switch(r){case 400:return new e(dt.invalid_input,s);case 401:return new e(dt.authentication_failed,s);case 403:return new e(dt.forbidden,s);case 404:return new e(dt.model_not_found,s);case 429:return new e(dt.rate_limited,s);case 500:case 502:case 503:case 504:return new e(dt.server_error,s);default:return r>=500?new e(dt.server_error,s):new e(dt.unknown,s)}}static fromServerResponse(r,n){let s=(typeof n?.message=="string"?n.message:null)??(typeof n?.error=="string"?n.error:null)??`HTTP ${r}`;if(typeof n?.code=="string"&&Object.values(Vr).includes(n.code)){let o=dt[n.code];return new e(o,s)}return e.fromHttpStatus(r,s)}};var Fn=class{constructor(t,r){w(this,"serverUrl");w(this,"apiKey");this.serverUrl=t.replace(/\/+$/,""),this.apiKey=r}async create(t){let r=new FormData;if(r.append("file",t.file),t.model&&r.append("model",t.model),t.language&&r.append("language",t.language),t.responseFormat&&r.append("response_format",t.responseFormat),t.timestampGranularities)for(let u of t.timestampGranularities)r.append("timestamp_granularities[]",u);let n=`${this.serverUrl}/v1/audio/transcriptions`,s;try{s=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${this.apiKey}`},body:r})}catch(u){throw new U("NETWORK_UNAVAILABLE",`audio.transcriptions.create request failed: ${String(u)}`,u)}if(!s.ok)throw U.fromHttpStatus(s.status,`audio.transcriptions.create failed: HTTP ${s.status}`);let a=await s.json(),o=typeof a.text=="string"?a.text:"",i=typeof a.language=="string"?a.language:void 0,l=typeof a.duration_ms=="number"?a.duration_ms:void 0,c=[];return Array.isArray(a.segments)&&(c=a.segments.map(u=>({text:typeof u.text=="string"?u.text:"",startMs:typeof u.start_ms=="number"?u.start_ms:0,endMs:typeof u.end_ms=="number"?u.end_ms:0,confidence:typeof u.confidence=="number"?u.confidence:void 0}))),{text:o,language:i,durationMs:l,segments:c}}};var Nn=class{constructor(t,r){w(this,"transcriptions");this.transcriptions=new Fn(t,r)}};var Dn=class{async current(){let r=(typeof navigator<"u"&&navigator.deviceMemory||0)*1024,n;r>=16384?n="flagship":r>=8192?n="high":r>=4096?n="mid":n="low";let s=["wasm"],a=typeof navigator<"u"&&"gpu"in navigator;a&&s.push("webgpu");let o=0;try{if(typeof navigator<"u"&&navigator.storage&&navigator.storage.estimate){let l=await navigator.storage.estimate();o=Math.round((l.quota||0)/(1024*1024))}}catch{}let i=[];return a&&i.push("webgpu"),{deviceClass:n,availableRuntimes:s,memoryMb:r,storageMb:o,platform:"browser",accelerators:i}}};var cO="octomil-models-v1",uO="octomil-models",oo="blobs",dO=1,Su=class{async open(){return caches.open(cO)}async get(t){let n=await(await this.open()).match(t);return n?n.arrayBuffer():null}async put(t,r){let n=await this.open(),s=new Response(r,{headers:{"x-octomil-cached-at":new Date().toISOString(),"x-octomil-size":String(r.byteLength)}});await n.put(t,s)}async has(t){return await(await this.open()).match(t)!==void 0}async remove(t){await(await this.open()).delete(t)}async info(t){let n=await(await this.open()).match(t);if(!n)return{cached:!1,sizeBytes:0};let s=n.headers.get("x-octomil-size"),a=n.headers.get("x-octomil-cached-at");return{cached:!0,sizeBytes:s?parseInt(s,10):0,cachedAt:a??void 0}}},io=class{constructor(){w(this,"dbPromise",null)}openDB(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,r)=>{let n=indexedDB.open(uO,dO);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(oo)||s.createObjectStore(oo,{keyPath:"key"})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)}),this.dbPromise)}async tx(t){return(await this.openDB()).transaction(oo,t).objectStore(oo)}async get(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.get(t);a.onsuccess=()=>{let o=a.result;n(o?.data??null)},a.onerror=()=>s(a.error)})}async put(t,r){let n=await this.tx("readwrite"),s={key:t,data:r,sizeBytes:r.byteLength,cachedAt:new Date().toISOString()};return new Promise((a,o)=>{let i=n.put(s);i.onsuccess=()=>a(),i.onerror=()=>o(i.error)})}async has(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.count(t);a.onsuccess=()=>n(a.result>0),a.onerror=()=>s(a.error)})}async remove(t){let r=await this.tx("readwrite");return new Promise((n,s)=>{let a=r.delete(t);a.onsuccess=()=>n(),a.onerror=()=>s(a.error)})}async info(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.get(t);a.onsuccess=()=>{let o=a.result;n(o?{cached:!0,sizeBytes:o.sizeBytes,cachedAt:o.cachedAt}:{cached:!1,sizeBytes:0})},a.onerror=()=>s(a.error)})}},Ls=class{async get(t){return null}async put(t,r){}async has(t){return!1}async remove(t){}async info(t){return{cached:!1,sizeBytes:0}}};function lo(e){if(e==="none")return new Ls;if(e==="cache-api")return typeof caches<"u"?new Su:typeof indexedDB<"u"?new io:new Ls;if(e==="indexeddb")return typeof indexedDB<"u"?new io:new Ls;throw new U("INVALID_INPUT",`Unknown cache strategy: ${e}`)}var Pt=class{constructor(t={}){w(this,"serverUrl");w(this,"apiKey");w(this,"orgId");this.serverUrl=(t.serverUrl??"https://api.octomil.com").replace(/\/+$/,""),this.apiKey=t.apiKey,this.orgId=t.orgId}buildUrl(t,r){let n=new URL(t,`${this.serverUrl}/`);for(let[s,a]of Object.entries(r??{}))a==null||a===""||n.searchParams.set(s,String(a));return n.toString()}async requestJson(t,r={},n){let s=await this.request(t,r,n);if(s.status!==204)return await s.json()}async requestVoid(t,r={},n){await this.request(t,r,n)}async request(t,r={},n){let s=new Headers(r.headers);!s.has("Content-Type")&&r.body!==void 0&&s.set("Content-Type","application/json"),this.apiKey&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${this.apiKey}`);let a;try{a=await fetch(this.buildUrl(t,n),{...r,headers:s})}catch(o){throw new U("NETWORK_UNAVAILABLE",`Request failed: ${String(o)}`,o)}if(!a.ok){let o=await a.text().catch(()=>"");throw new U("NETWORK_UNAVAILABLE",`Request failed: HTTP ${a.status}${o?` ${o}`:""}`)}return a}};var Iu=class extends Pt{constructor(t,r){super({serverUrl:t,apiKey:r})}async requestJson(t,r={},n){return super.requestJson(t,r,n)}},Pu=class{constructor(t){this.api=t}async create(t){return this.api.requestJson("/api/v1/chat/threads",{method:"POST",body:JSON.stringify(t)})}async get(t){return this.api.requestJson(`/api/v1/chat/threads/${encodeURIComponent(t)}`,{method:"GET"})}async list(t){return this.api.requestJson("/api/v1/chat/threads",{method:"GET"},t)}},Ru=class{constructor(t,r){this.createTurnInternal=t;this.streamTurnInternal=r}async create(t,r){return this.createTurnInternal(t,r)}async*stream(t,r){yield*this.streamTurnInternal(t,r)}},Bn=class{constructor(t){w(this,"model");w(this,"serverUrl");w(this,"apiKey");w(this,"getResponses");w(this,"ensureReadyFn");w(this,"api");w(this,"threads");w(this,"turn");this.model=t.model,this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.getResponses=t.getResponses,this.ensureReadyFn=t.ensureReady,this.api=new Iu(t.serverUrl,t.apiKey),this.threads=new Pu(this.api),this.turn=new Ru((r,n)=>this.createTurn(r,n),(r,n)=>this.streamTurn(r,n))}async create(t,r={}){this.ensureReadyFn();let n=performance.now(),{instructions:s,input:a}=co(t),o=await this.getResponses().create({model:this.model,input:a,instructions:s,maxOutputTokens:r.maxTokens,temperature:r.temperature,topP:r.topP});return{message:{role:"assistant",content:o.output.filter(l=>l.type==="text"&&l.text).map(l=>l.text).join("")},latencyMs:performance.now()-n,usage:o.usage?{promptTokens:o.usage.promptTokens,completionTokens:o.usage.completionTokens,totalTokens:o.usage.totalTokens}:void 0}}async*stream(t,r={}){this.ensureReadyFn();let{instructions:n,input:s}=co(t),a=0,o=this.getResponses().stream({model:this.model,input:s,instructions:n,maxOutputTokens:r.maxTokens,temperature:r.temperature,topP:r.topP});for await(let i of o)i.type==="text_delta"?yield{index:a++,content:i.delta,done:!1,role:"assistant"}:i.type==="done"&&(yield{index:a,content:"",done:!0,role:"assistant"})}requireServerUrl(t){if(!this.serverUrl)throw new U(dt.invalid_input,`${t} requires serverUrl to be configured.`)}async createTurn(t,r){return this.ensureReadyFn(),this.requireServerUrl("chat.turn.create()"),this.api.requestJson(`/api/v1/chat/threads/${encodeURIComponent(t)}/turns`,{method:"POST",body:JSON.stringify({...r,threadId:t})})}async*streamTurn(t,r){this.ensureReadyFn(),this.requireServerUrl("chat.turn.stream()");let n=await fetch(`${this.serverUrl}/api/v1/chat/threads/${encodeURIComponent(t)}/turns`,{method:"POST",headers:{"Content-Type":"application/json",...this.apiKey?{Authorization:`Bearer ${this.apiKey}`}:{}},body:JSON.stringify({...r,threadId:t,stream:!0})});if(!n.ok||!n.body)throw new U(dt.network_unavailable,`chat.turn.stream() failed: HTTP ${n.status}`);let s=n.body.getReader(),a=new TextDecoder,o="",i=0;for(;;){let{done:l,value:c}=await s.read();o+=a.decode(c??new Uint8Array,{stream:!l});let u=o.indexOf(`
|
|
28
28
|
|
|
29
29
|
`);for(;u>=0;){let p=o.slice(0,u);o=o.slice(u+2);let f=p.split(`
|
|
30
30
|
`).filter(m=>m.startsWith("data:")).map(m=>m.slice(5).trim()).join(`
|
|
@@ -32,18 +32,20 @@ ${l}${f}${u}
|
|
|
32
32
|
|
|
33
33
|
`)}if(l)break}}};function co(e){let t=[],r=[];for(let n of e)if(n.role==="system")t.push(n.content);else{let s=n.role==="assistant"?"[assistant] ":"";r.push(s+n.content)}return{instructions:t.length>0?t.join(`
|
|
34
34
|
`):void 0,input:r.join(`
|
|
35
|
-
`)}}var Fs=class Fs{constructor(t){w(this,"installationId");w(this,"orgId");w(this,"appId");w(this,"_registrationState","pending");w(this,"_tokenState",{type:"none"});w(this,"_serverDeviceId",null);this.installationId=t.installationId,this.orgId=t.orgId??null,this.appId=t.appId??null}get registrationState(){return this._registrationState}get tokenState(){return this._tokenState}get serverDeviceId(){return this._serverDeviceId}get isRegistered(){return this._registrationState==="registered"}authHeaders(){return this._tokenState.type==="valid"&&this._tokenState.expiresAt>new Date?{Authorization:`Bearer ${this._tokenState.accessToken}`}:null}telemetryResource(){let t={"device.id":this.installationId,platform:"browser"};return this.orgId&&(t["org.id"]=this.orgId),this.appId&&(t["app.id"]=this.appId),t}_updateRegistered(t,r,n){this._serverDeviceId=t,this._tokenState={type:"valid",accessToken:r,expiresAt:n},this._registrationState="registered"}_updateToken(t,r){this._tokenState={type:"valid",accessToken:t,expiresAt:r}}_markFailed(){this._registrationState="failed"}_markTokenExpired(){this._tokenState={type:"expired"}}static getOrCreateInstallationId(){try{let t=localStorage.getItem(Fs.STORAGE_KEY);if(t)return t;let r=crypto.randomUUID();return localStorage.setItem(Fs.STORAGE_KEY,r),r}catch{return crypto.randomUUID()}}};w(Fs,"STORAGE_KEY","octomil_installation_id");var Gr=Fs;var pO=["oct_pub_test_","oct_pub_live_"];function uo(e){if(!pO.some(t=>e.startsWith(t)))throw new Error("Publishable key must start with 'oct_pub_test_' or 'oct_pub_live_'")}function pg(e){return e.startsWith("oct_pub_test_")?"test":e.startsWith("oct_pub_live_")?"live":null}var hg=null;function Ns(){return hg}async function fg(e={}){e.auth?.type==="publishable_key"&&uo(e.auth.key);let t=Gr.getOrCreateInstallationId(),r=e.auth?.type==="anonymous"?e.auth.appId:e.auth?.appId,n=e.auth?.type==="anonymous"?null:e.auth?.orgId??null,s=new Gr({installationId:t,orgId:n,appId:r??null});return hg=s,e.auth!=null&&e.monitoring?.enabled===!0&&mg(s,e).catch(()=>{}),s}async function mg(e,t,r=0){let a=t.auth?.type==="anonymous"?null:t.auth?.orgId??null;try{let o=t.baseUrl||"https://api.octomil.com",i={"Content-Type":"application/json"};t.auth?.type==="publishable_key"?i.Authorization=`Bearer ${t.auth.key}`:t.auth?.type==="bootstrap_token"&&(i.Authorization=`Bearer ${t.auth.token}`),e.appId&&(i["X-App-Id"]=e.appId);let l=new URL(`${o.replace(/\/+$/,"")}/api/v1/devices/register`);a&&l.searchParams.set("org_id",a);let c=await fetch(l.toString(),{method:"POST",headers:i,body:JSON.stringify({device_identifier:e.installationId,installation_id:e.installationId,platform:"browser",app_id:e.appId})});if(!c.ok){if(c.status===403){console.warn("[Octomil] Registration failed: invalid credentials"),e._markFailed();return}throw new Error(`Registration failed: ${c.status}`)}let u=await c.json(),p=u.device_id??u.id;if(!p||!u.access_token||!u.expires_at)throw new Error("Registration response missing device token fields");e._updateRegistered(p,u.access_token,new Date(u.expires_at)),t.monitoring?.enabled&&hO(e,t)}catch(o){if(console.warn(`[Octomil] Registration attempt ${r+1} failed:`,o),r<10){let i=Math.min(1e3*Math.pow(2,r),3e5),l=i*.1*Math.random(),c=i+l;return await new Promise(u=>setTimeout(u,c)),mg(e,t,r+1)}e._markFailed()}}function hO(e,t){let r=t.monitoring?.heartbeatIntervalMs??3e5;setInterval(async()=>{let n=e.authHeaders();if(n)try{let s=t.baseUrl||"https://api.octomil.com";if(!e.serverDeviceId)return;await fetch(`${s.replace(/\/+$/,"")}/api/v1/devices/${e.serverDeviceId}/heartbeat`,{method:"PUT",headers:{...n,"Content-Type":"application/json"},body:JSON.stringify({device_identifier:e.installationId})})}catch{}},r)}var Ou={octomilResponse:"octomil.response",octomilModelLoad:"octomil.model.load",octomilControlRefresh:"octomil.control.refresh",octomilControlHeartbeat:"octomil.control.heartbeat",octomilToolExecute:"octomil.tool.execute",octomilFallbackCloud:"octomil.fallback.cloud",octomilRolloutSync:"octomil.rollout.sync",octomilArtifactDownload:"octomil.artifact.download",octomilArtifactActivation:"octomil.artifact.activation",octomilFederationRound:"octomil.federation.round",octomilTrainingJob:"octomil.training.job",octomilDeviceSync:"octomil.device.sync",octomilTelemetryUpload:"octomil.telemetry.upload"},m3=Object.values(Ou);var _g={modelId:"model.id",modelVersion:"model.version",runtimeExecutor:"runtime.executor",requestMode:"request.mode",locality:"locality",streaming:"streaming",routePolicy:"route.policy",routeDecision:"route.decision",deviceClass:"device.class",fallbackReason:"fallback.reason",errorType:"error.type",toolCallTier:"tool.call_tier",modelSourceFormat:"model.source_format",modelSizeBytes:"model.size_bytes",toolName:"tool.name",toolRound:"tool.round",fallbackProvider:"fallback.provider",assignmentCount:"assignment_count",heartbeatSequence:"heartbeat.sequence",rolloutId:"rollout.id",modelsSynced:"models_synced"};var Un=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"orgId");w(this,"serverDeviceId",null);w(this,"heartbeatTimer",null);w(this,"heartbeatSequence",0);w(this,"deviceContext");w(this,"telemetry");this.serverUrl=(t.serverUrl||"https://api.octomil.com").replace(/\/+$/,""),this.apiKey=t.apiKey,this.orgId=t.orgId,this.deviceContext=t.deviceContext??null,this.serverDeviceId=this.deviceContext?.serverDeviceId??null,this.telemetry=t.telemetry??null}async refresh(){if(!this.serverDeviceId)return{updated:!1,configVersion:"",assignmentsChanged:!1,fetchedAt:new Date().toISOString()};let t={};Object.assign(t,this.resolveAuthHeaders());let r=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/assignments`,{headers:t});if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Refresh assignments failed: ${r.status}`);let n=await r.json();return{updated:n.updated??!0,configVersion:n.config_version??"",assignmentsChanged:n.assignments_changed??!1,fetchedAt:new Date().toISOString()}}async register(t){let r=t||this.deviceContext?.installationId||await this.generateDeviceId(),n={device_identifier:r,installation_id:this.deviceContext?.installationId??r,app_id:this.deviceContext?.appId??void 0,platform:"browser",os_version:typeof navigator<"u"?navigator.userAgent:"unknown",sdk_version:"1.0.0",locale:typeof navigator<"u"?navigator.language:void 0,timezone:typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:void 0,device_info:this.collectDeviceInfo()},s={"Content-Type":"application/json"};Object.assign(s,this.resolveAuthHeaders()),this.deviceContext?.appId&&(s["X-App-Id"]=this.deviceContext.appId);let a=new URL(`${this.serverUrl}/api/v1/devices/register`);this.orgId&&a.searchParams.set("org_id",this.orgId);let o;try{o=await fetch(a.toString(),{method:"POST",headers:s,body:JSON.stringify(n)})}catch(l){throw new U("NETWORK_UNAVAILABLE",`Registration request failed: ${String(l)}`,l)}if(!o.ok)throw new U("NETWORK_UNAVAILABLE",`Registration failed: ${o.status}`);let i=await o.json();return this.serverDeviceId=i.device_id??i.id??null,this.serverDeviceId&&this.deviceContext&&i.access_token&&i.expires_at&&this.deviceContext._updateRegistered(this.serverDeviceId,i.access_token,new Date(i.expires_at)),{id:this.serverDeviceId??"",deviceIdentifier:r,orgId:this.orgId||"",status:i.status||"active"}}async heartbeat(){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let t=this.heartbeatSequence++;this.telemetry?.track({name:Ou.octomilControlHeartbeat,timestamp:new Date().toISOString(),attributes:{[_g.heartbeatSequence]:t}});let r={sdk_version:"1.0.0",platform:"browser",os_version:typeof navigator<"u"?navigator.userAgent:"unknown"},n={"Content-Type":"application/json"};Object.assign(n,this.resolveAuthHeaders());let s;try{s=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/heartbeat`,{method:"PUT",headers:n,body:JSON.stringify(r)})}catch(o){throw new U("NETWORK_UNAVAILABLE",`Heartbeat request failed: ${String(o)}`,o)}if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Heartbeat failed: ${s.status}`);let a=await s.json();return{status:a.status||"ok",serverTime:a.server_time}}async reportObservedState(t=[]){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let r={schemaVersion:"1.4.0",deviceId:this.serverDeviceId,reportedAt:new Date().toISOString(),models:t,active_bindings:t.filter(a=>a.status==="active").map(a=>({binding_key:a.bindingKey??a.useCase??a.modelId,base_model_id:a.modelId,base_version:a.version??"",use_case:a.useCase,deployment_id:a.deploymentId,deployment_key:a.deploymentKey,model_name:a.modelName,model_ref:a.modelRef})),sdkVersion:"1.0.0",osVersion:typeof navigator<"u"?navigator.userAgent:"unknown"},n={"Content-Type":"application/json"};Object.assign(n,this.resolveAuthHeaders());let s;try{s=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/observed-state`,{method:"POST",headers:n,body:JSON.stringify(r)})}catch(a){throw new U("NETWORK_UNAVAILABLE",`Report observed state failed: ${String(a)}`,a)}if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Report observed state failed: ${s.status}`)}async fetchDesiredState(){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let t={};Object.assign(t,this.resolveAuthHeaders());let r;try{r=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/desired-state`,{headers:t})}catch(n){throw new U("NETWORK_UNAVAILABLE",`Fetch desired state failed: ${String(n)}`,n)}if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Fetch desired state failed: ${r.status}`);return await r.json()}async sync(t={}){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let r={"Content-Type":"application/json"};Object.assign(r,this.resolveAuthHeaders());let n;try{n=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/sync`,{method:"POST",headers:r,body:JSON.stringify({schemaVersion:t.schemaVersion??"1.12.0",deviceId:this.serverDeviceId,requestedAt:t.requestedAt??new Date().toISOString(),knownStateVersion:t.knownStateVersion,sdkVersion:t.sdkVersion,platform:t.platform??"browser",appId:t.appId,appVersion:t.appVersion,modelInventory:t.modelInventory??[],activeVersions:t.activeVersions??[],availableStorageBytes:t.availableStorageBytes})})}catch(s){throw new U("NETWORK_UNAVAILABLE",`Device sync failed: ${String(s)}`,s)}if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Device sync failed: ${n.status}`);return await n.json()}startHeartbeat(t=3e5){this.stopHeartbeat(),this.heartbeatTimer=setInterval(()=>{this.heartbeat().catch(()=>{})},t)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}get registeredDeviceId(){return this.serverDeviceId}async generateDeviceId(){let t=[typeof navigator<"u"?navigator.userAgent:"unknown",typeof screen<"u"?screen.width:0,typeof screen<"u"?screen.height:0,typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC"].join("|"),r=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(t));return Array.from(new Uint8Array(r)).map(n=>n.toString(16).padStart(2,"0")).join("")}collectDeviceInfo(){return{platform:"browser",user_agent:typeof navigator<"u"?navigator.userAgent:"unknown",screen_width:typeof screen<"u"?screen.width:0,screen_height:typeof screen<"u"?screen.height:0,device_memory_gb:typeof navigator<"u"&&navigator.deviceMemory||0,language:typeof navigator<"u"?navigator.language:"unknown"}}resolveAuthHeaders(){return this.deviceContext?.authHeaders()??this.resolveApiKeyHeaders()}resolveApiKeyHeaders(){return this.apiKey?{Authorization:`Bearer ${this.apiKey}`}:{}}};async function po(e,t,r,n,s){if(!e)throw new U("INVALID_INPUT","serverUrl is required for embed()");if(!t)throw new U("INVALID_INPUT","apiKey is required for embed()");let a=`${e.replace(/\/+$/,"")}/api/v1/embeddings`,o;try{o=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({model_id:r,input:n}),signal:s})}catch(l){throw new U("NETWORK_UNAVAILABLE",`embed() request failed: ${String(l)}`,l)}if(!o.ok)throw new U("INFERENCE_FAILED",`embed() failed: HTTP ${o.status}`);let i=await o.json();return{embeddings:i.data.map(l=>l.embedding),model:i.model,usage:{promptTokens:i.usage.prompt_tokens,totalTokens:i.usage.total_tokens}}}var zn=class{constructor(){w(this,"session",null);w(this,"ortModule",null);w(this,"resolvedBackend",null)}async createSession(t,r){let n=await this.loadOrt(),s=await this.resolveProvider(n,r);this.resolvedBackend=s==="webgpu"?"webgpu":"wasm";let a={executionProviders:[s],graphOptimizationLevel:"all"};try{this.session=await n.InferenceSession.create(t,a)}catch(o){if(s==="webgpu")try{this.session=await n.InferenceSession.create(t,{executionProviders:["wasm"],graphOptimizationLevel:"all"}),this.resolvedBackend="wasm"}catch(i){throw new U("MODEL_LOAD_FAILED","Failed to create ONNX session with both WebGPU and WASM backends.",i)}else throw new U("MODEL_LOAD_FAILED",`Failed to create ONNX session: ${String(o)}`,o)}}async run(t){this.ensureSession();let r=this.ortModule,n=this.session,s={};for(let[u,p]of Object.entries(t))s[u]=new r.Tensor(fO(p.data),p.data,p.dims);let a=performance.now(),o;try{o=await n.run(s)}catch(u){throw new U("INFERENCE_FAILED",`Inference run failed: ${String(u)}`,u)}let i=performance.now()-a,l=this.convertOutputs(o),c=this.extractConvenience(l);return{tensors:l,latencyMs:i,...c}}get inputNames(){return this.ensureSession(),this.session.inputNames}get outputNames(){return this.ensureSession(),this.session.outputNames}get activeBackend(){return this.resolvedBackend}dispose(){this.session&&(this.session.release(),this.session=null)}async isAvailable(){try{return await this.loadOrt(),!0}catch{return!1}}async loadOrt(){if(this.ortModule)return this.ortModule;try{return this.ortModule=await Promise.resolve().then(()=>iO(wg(),1)),this.ortModule}catch(t){throw new U("RUNTIME_UNAVAILABLE","Failed to import onnxruntime-web. Make sure the package is installed: npm i onnxruntime-web",t)}}async resolveProvider(t,r){if(r==="wasm")return"wasm";if(r==="webgpu"||r===void 0){if(await this.detectWebGPU())return"webgpu";if(r==="webgpu")throw new U("RUNTIME_UNAVAILABLE","WebGPU was explicitly requested but is not available in this browser.")}return"wasm"}async detectWebGPU(){if(typeof navigator>"u")return!1;try{let t=navigator.gpu;return t?await t.requestAdapter()!==null:!1}catch{return!1}}ensureSession(){if(!this.session)throw new U("CANCELLED","No active session. Call load() before running inference.")}convertOutputs(t){let r={};for(let n of Object.keys(t)){let s=t[n];r[n]={data:s.data,dims:Array.from(s.dims)}}return r}extractConvenience(t){let r=Object.keys(t);if(r.length===0)return{};let s=t[r[0]].data;if(s.length===0)return{};if(s.length===1)return{label:String(Number(s[0])),score:1};if(!(s instanceof Float32Array))return{};let a=Array.from(s),o=0,i=-1/0;for(let l=0;l<a.length;l++)a[l]>i&&(i=a[l],o=l);return{label:String(o),score:i,scores:a}}};function fO(e){return e instanceof Float32Array?"float32":e instanceof Int32Array?"int32":e instanceof BigInt64Array?"int64":e instanceof Uint8Array?"uint8":"float32"}var jr=3,Lu=1e3,$n=class{constructor(t,r){w(this,"modelId");w(this,"serverUrl");w(this,"apiKey");w(this,"onProgress");w(this,"cache");this.modelId=t.model,this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.onProgress=t.onProgress,this.cache=r}async load(){let t=await this.resolveModelUrl(),r=await this.cache.get(t);if(r)return r;let n=await this.download(t);return this.validate(n),await this.cache.put(t,n),n}async isCached(){let t=await this.resolveModelUrl();return this.cache.has(t)}async clearCache(){let t=await this.resolveModelUrl();await this.cache.remove(t)}async getCacheInfo(){let t=await this.resolveModelUrl();return this.cache.info(t)}async resolveModelUrl(){if(this.modelId.startsWith("http://")||this.modelId.startsWith("https://"))return this.modelId;if(!this.serverUrl)throw new U("MODEL_NOT_FOUND",`Cannot resolve model "${this.modelId}": no serverUrl configured.`);return this.fetchResolverUrl(this.modelId)}async fetchResolverUrl(t){let r=`${this.serverUrl}/api/v1/registry/resolve/${encodeURIComponent(t)}`,n={Accept:"application/json"};this.apiKey&&(n.Authorization=`Bearer ${this.apiKey}`);let s;try{s=await fetch(r,{headers:n})}catch(i){throw new U("NETWORK_UNAVAILABLE",`Failed to reach model resolver at ${r}`,i)}if(!s.ok)throw s.status===404?new U("MODEL_NOT_FOUND",`Model "${t}" not found in registry.`):new U("NETWORK_UNAVAILABLE",`Model resolver returned HTTP ${s.status}: ${s.statusText}`);let a=await s.json(),o=a.download_url??a.url;if(!o)throw new U("MODEL_LOAD_FAILED",`Model resolver response for "${t}" did not include a download URL`);return o}buildHeaders(t={}){let r={"Accept-Encoding":"gzip, deflate, br",...t};return this.apiKey&&(r.Authorization=`Bearer ${this.apiKey}`),r}async download(t){let r=[],n=0,s=0,a=0;for(;a<=jr;){let l=this.buildHeaders(n>0?{Range:`bytes=${n}-`}:{}),c;try{c=await fetch(t,{headers:l})}catch(f){if(a++,a>jr)throw new U("NETWORK_UNAVAILABLE",`Failed to download model from ${t} after ${jr} retries`,f);await this.delay(Lu*a);continue}if(c.status===416){if(r.length=0,n=0,a++,a>jr)throw new U("MODEL_LOAD_FAILED",`Model download failed: range request rejected after ${jr} retries`);await this.delay(Lu*a);continue}if(!c.ok&&c.status!==206)throw new U("MODEL_LOAD_FAILED",`Model download failed: HTTP ${c.status} ${c.statusText}`);if(s===0){let f=c.headers.get("Content-Range");if(f){let m=f.match(/\/(\d+)$/);m&&(s=parseInt(m[1],10))}else s=parseInt(c.headers.get("Content-Length")??"0",10)}if(!c.body)return await c.arrayBuffer();let u=c.body.getReader(),p=!1;try{for(;;){let{done:f,value:m}=await u.read();if(f)break;r.push(m),n+=m.byteLength,this.onProgress?.({loaded:n,total:s,percent:s>0?n/s*100:NaN})}}catch(f){if(p=!0,a++,a>jr)throw new U("NETWORK_UNAVAILABLE",`Model download interrupted after ${jr} retries`,f);await this.delay(Lu*a)}finally{u.releaseLock()}if(!p)break}let o=new Uint8Array(n),i=0;for(let l of r)o.set(l,i),i+=l.byteLength;return o.buffer}delay(t){return new Promise(r=>setTimeout(r,t))}validate(t){if(t.byteLength===0)throw new U("MODEL_LOAD_FAILED","Downloaded model is empty (0 bytes).");if(new Uint8Array(t,0,Math.min(4,t.byteLength))[0]!==8)throw new U("MODEL_LOAD_FAILED","Downloaded file does not appear to be a valid ONNX model.")}};var Vn=class{constructor(t,r,n){this.modelId=t;this.manager=r;this.onLoaded=n;w(this,"downloading",new Set);w(this,"errors",new Map)}async status(t){let r=t??this.modelId;return this.downloading.has(r)?"downloading":this.errors.has(r)?"error":await this.manager.isCached()?"ready":"not_cached"}async load(t){let r=t??this.modelId;this.downloading.add(r),this.errors.delete(r);try{await this.manager.load(),this.downloading.delete(r),this.onLoaded()}catch(n){throw this.downloading.delete(r),this.errors.set(r,String(n)),n}}async unload(t){await this.manager.clearCache()}async list(){let t=await this.manager.getCacheInfo();return t.cached?[{modelRef:this.modelId,cachedAt:t.cachedAt,sizeBytes:t.sizeBytes>0?t.sizeBytes:void 0}]:[]}async clearCache(){await this.manager.clearCache(),this.errors.clear()}getError(t){let r=t??this.modelId;return this.errors.get(r)}};var Gn=class{constructor(t={}){w(this,"serverUrl");w(this,"apiKey");w(this,"telemetry");w(this,"deviceContext");w(this,"localRuntime");w(this,"responseCache",new Map);w(this,"MAX_CACHE",100);this.serverUrl=t.serverUrl||"https://api.octomil.com",this.apiKey=t.apiKey,this.telemetry=t.telemetry??null,this.deviceContext=t.deviceContext??null,this.localRuntime=t.localRuntime??null}async create(t){let r=this.resolveLocalRuntime(t.model);if(r)return this.createLocal(t,r);let n=this.buildRequestBody(t,!1),s=`${this.serverUrl}/v1/chat/completions`,a={"Content-Type":"application/json"},o=this.deviceContext?.authHeaders();o?Object.assign(a,o):this.apiKey&&(a.Authorization=`Bearer ${this.apiKey}`),this.telemetry?.reportInferenceStarted(t.model,{target:"cloud",method:"responses.create",locality:"cloud"});let i=performance.now(),l;try{l=await fetch(s,{method:"POST",headers:a,body:JSON.stringify(n)})}catch(f){throw this.telemetry?.reportInferenceFailed(t.model,"network_error",String(f)),new U("NETWORK_UNAVAILABLE",`Request failed: ${String(f)}`,f)}if(!l.ok)throw this.telemetry?.reportInferenceFailed(t.model,"http_error",`HTTP ${l.status}`),new U("NETWORK_UNAVAILABLE",`HTTP ${l.status}`);let c=await l.json(),u=this.parseResponse(t.model,c),p=performance.now()-i;return this.telemetry?.reportInferenceCompleted(t.model,p,{target:"cloud",method:"responses.create",locality:"cloud"}),this.cacheResponse(u),u}async*stream(t){let r=this.resolveLocalRuntime(t.model);if(r){yield*this.streamLocal(t,r);return}let n=this.buildRequestBody(t,!0),s=`${this.serverUrl}/v1/chat/completions`,a={"Content-Type":"application/json"},o=this.deviceContext?.authHeaders();o?Object.assign(a,o):this.apiKey&&(a.Authorization=`Bearer ${this.apiKey}`),this.telemetry?.reportInferenceStarted(t.model,{target:"cloud",method:"responses.stream",locality:"cloud"});let i=performance.now(),l;try{l=await fetch(s,{method:"POST",headers:a,body:JSON.stringify(n)})}catch(C){throw this.telemetry?.reportInferenceFailed(t.model,"network_error",String(C)),new U("NETWORK_UNAVAILABLE",`Request failed: ${String(C)}`,C)}if(!l.ok)throw this.telemetry?.reportInferenceFailed(t.model,"http_error",`HTTP ${l.status}`),new U("NETWORK_UNAVAILABLE",`HTTP ${l.status}`);if(!l.body)throw new U("NETWORK_UNAVAILABLE","No response body");let c=l.body.getReader(),u=new TextDecoder,p="",f=0,m=[],y=new Map,v;try{for(;;){let{done:C,value:S}=await c.read();if(C)break;p+=u.decode(S,{stream:!0});let O=p.split(`
|
|
36
|
-
`);p=O.pop()||"";for(let E of O){let K=E.trim();if(!K.startsWith("data: "))continue;let $=K.slice(6);if($!=="[DONE]")try{let V=JSON.parse($),Q=V.choices?.[0];if(!Q)continue;let G=Q.delta;if(G?.content&&(m.push(G.content),this.telemetry?.reportChunkProduced(t.model,f),f++,yield{type:"text_delta",delta:G.content}),G?.tool_calls)for(let q of G.tool_calls){let D=y.get(q.index)||{arguments:""};q.id&&(D.id=q.id),q.function?.name&&(D.name=q.function.name),q.function?.arguments&&(D.arguments+=q.function.arguments),y.set(q.index,D),this.telemetry?.reportChunkProduced(t.model,f),f++,yield{type:"tool_call_delta",index:q.index,id:q.id,name:q.function?.name,argumentsDelta:q.function?.arguments}}V.usage&&(v={promptTokens:V.usage.prompt_tokens,completionTokens:V.usage.completion_tokens,totalTokens:V.usage.total_tokens})}catch{}}}}finally{c.releaseLock()}let x=[],M=m.join("");M&&x.push({type:"text",text:M});for(let[,C]of[...y.entries()].sort((S,O)=>S[0]-O[0]))x.push({type:"tool_call",toolCall:{id:C.id||Wr(),name:C.name||"",arguments:C.arguments}});let T={id:Wr(),model:t.model,output:x,finishReason:y.size>0?"tool_calls":"stop",usage:v},A=performance.now()-i;this.telemetry?.reportInferenceCompleted(t.model,A,{target:"cloud",method:"responses.stream",locality:"cloud"}),this.cacheResponse(T),yield{type:"done",response:T}}resolveLocalRuntime(t){return this.localRuntime?typeof this.localRuntime=="function"?this.localRuntime(t)??null:this.localRuntime:null}cacheResponse(t){if(this.responseCache.size>=this.MAX_CACHE){let r=this.responseCache.keys().next().value;r&&this.responseCache.delete(r)}this.responseCache.set(t.id,t)}async createLocal(t,r){let n=this.buildEffectiveRequest(t);this.telemetry?.reportInferenceStarted(t.model,{target:"device",method:"responses.create",locality:"local"});let s=performance.now();try{let a=await r.create(n);return this.cacheResponse(a),this.telemetry?.reportInferenceCompleted(t.model,performance.now()-s,{target:"device",method:"responses.create",locality:"local"}),a}catch(a){throw this.telemetry?.reportInferenceFailed(t.model,"local_runtime_error",String(a)),a}}async*streamLocal(t,r){let n=this.buildEffectiveRequest(t);this.telemetry?.reportInferenceStarted(t.model,{target:"device",method:"responses.stream",locality:"local"});let s=performance.now(),a=0;try{for await(let o of r.stream(n))o.type!=="done"?(this.telemetry?.reportChunkProduced(t.model,a),a++):(this.cacheResponse(o.response),this.telemetry?.reportInferenceCompleted(t.model,performance.now()-s,{target:"device",method:"responses.stream",locality:"local"})),yield o}catch(o){throw this.telemetry?.reportInferenceFailed(t.model,"local_runtime_error",String(o)),o}}buildEffectiveRequest(t){let r=this.normalizeInput(t.input);if(t.previousResponseId){let n=this.responseCache.get(t.previousResponseId);n&&r.unshift({role:"assistant",content:n.output})}return t.instructions&&r.unshift({role:"system",content:t.instructions}),{...t,input:r,instructions:void 0,previousResponseId:void 0}}buildRequestBody(t,r){let n=this.buildMessages(this.buildEffectiveRequest(t));return{model:t.model,messages:n,max_tokens:t.maxOutputTokens,temperature:t.temperature,top_p:t.topP,stop:t.stop,stream:r,tools:t.tools?.map(s=>({type:"function",function:s.function}))}}buildMessages(t){return this.normalizeInput(t.input).map(n=>this.inputItemToMessage(n))}normalizeInput(t){return typeof t=="string"?[{role:"user",content:t}]:this.isResponseInputItems(t)?t.map(r=>({...r})):[{role:"user",content:t}]}isResponseInputItems(t){return t.every(r=>"role"in r)}inputItemToMessage(t){switch(t.role){case"system":return{role:"system",content:typeof t.content=="string"?t.content:""};case"user":return{role:"user",content:this.inputContentToMessageContent(t.content)};case"assistant":return this.assistantInputToMessage(t);case"tool":return{role:"tool",content:typeof t.content=="string"?t.content:"",tool_call_id:t.toolCallId};default:return{role:t.role,content:typeof t.content=="string"?t.content:""}}}assistantInputToMessage(t){if(typeof t.content=="string"||t.content==null)return{role:"assistant",content:t.content??""};if(this.isResponseOutputItems(t.content)){let r=t.content.filter(s=>s.type==="text"&&typeof s.text=="string").map(s=>s.text),n=t.content.filter(s=>s.type==="tool_call"&&!!s.toolCall).map(s=>({id:s.toolCall.id,type:"function",function:{name:s.toolCall.name,arguments:s.toolCall.arguments}}));return{role:"assistant",content:r.join(""),...n.length>0?{tool_calls:n}:{}}}return{role:"assistant",content:this.contentBlocksToParts(t.content)}}isResponseOutputItems(t){return t.every(r=>r.type==="text"||r.type==="tool_call")}inputContentToMessageContent(t){return typeof t=="string"||t==null?t??"":this.isResponseOutputItems(t)?t.filter(r=>r.type==="text"&&typeof r.text=="string").map(r=>r.text).join(""):this.contentBlocksToParts(t)}contentBlocksToParts(t){return t.map(r=>this.contentBlockToPart(r))}contentBlockToPart(t){switch(t.type){case"text":return{type:"text",text:t.text??""};case"image":return t.imageUrl?{type:"image_url",image_url:{url:t.imageUrl}}:t.data?{type:"image_url",image_url:{url:`data:${t.mediaType??"image/png"};base64,${t.data}`}}:{type:"text",text:t.text??"[image]"};case"audio":if(t.data){let n=(t.mediaType??"audio/wav").split("/")[1]??"wav";return{type:"input_audio",input_audio:{data:t.data,format:n}}}return{type:"text",text:t.text??"[audio]"};case"video":return t.data?{type:"image_url",image_url:{url:`data:${t.mediaType??"video/mp4"};base64,${t.data}`}}:{type:"text",text:t.text??"[video]"};case"file":{let r=t.mediaType??"";if(t.data&&r.startsWith("image/"))return{type:"image_url",image_url:{url:`data:${r};base64,${t.data}`}};if(t.data&&r.startsWith("audio/")){let n=r.split("/")[1]??"wav";return{type:"input_audio",input_audio:{data:t.data,format:n}}}return t.data&&r.startsWith("video/")?{type:"image_url",image_url:{url:`data:${r};base64,${t.data}`}}:{type:"text",text:t.text??`[file: ${r||"unknown"}]`}}default:return{type:"text",text:t.text??""}}}parseResponse(t,r){let s=r.choices?.[0],a=[],o=s?.message;if(o?.content&&a.push({type:"text",text:o.content}),o?.tool_calls)for(let l of o.tool_calls){let c=l.function;a.push({type:"tool_call",toolCall:{id:l.id,name:c.name,arguments:c.arguments}})}let i=r.usage;return{id:r.id||Wr(),model:t,output:a,finishReason:s?.finish_reason||"stop",usage:i?{promptTokens:i.prompt_tokens,completionTokens:i.completion_tokens,totalTokens:i.total_tokens}:void 0}}};function Wr(){return`resp_${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}var mO=3e5,Fu="octomil_routing_cache",jn=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"cacheTtlMs");w(this,"prefer");w(this,"cache",new Map);w(this,"lastRouteWasOffline",!1);this.serverUrl=t.serverUrl.replace(/\/+$/,""),this.apiKey=t.apiKey,this.cacheTtlMs=t.cacheTtlMs??mO,this.prefer=t.prefer??"fastest"}async route(t,r,n,s){this.lastRouteWasOffline=!1;let a=this.cache.get(t);if(a&&a.expiresAt>Date.now())return a.decision;let o={model_id:t,model_params:r,model_size_mb:n,device_capabilities:s,prefer:this.prefer},i;try{i=await fetch(`${this.serverUrl}/api/v1/route`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify(o)})}catch{return this.offlineFallback(t)}if(!i.ok)return this.offlineFallback(t);let l=await i.json();return this.cache.set(t,{decision:l,expiresAt:Date.now()+this.cacheTtlMs}),this.persistToStorage(t,l),l}async cloudInfer(t,r,n={}){let s={model_id:t,input_data:r,parameters:n},a;try{a=await fetch(`${this.serverUrl}/api/v1/inference`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify(s)})}catch(o){throw new U("NETWORK_UNAVAILABLE",`Cloud inference request failed: ${String(o)}`,o)}if(!a.ok)throw new U("INFERENCE_FAILED",`Cloud inference failed: HTTP ${a.status}`);return await a.json()}clearCache(){this.cache.clear();try{localStorage.removeItem(Fu)}catch{}}invalidate(t){this.cache.delete(t);let r=this.loadPersistentCache();delete r[t],this.savePersistentCache(r)}offlineFallback(t){this.lastRouteWasOffline=!0;let n=this.loadPersistentCache()[t];return n?{...n,cached:!0,offline:!1}:{id:`offline-${t}`,target:"device",format:"onnx",engine:"ort-wasm",fallback_target:null,cached:!1,offline:!0}}persistToStorage(t,r){let n=this.loadPersistentCache();n[t]=r,this.savePersistentCache(n)}loadPersistentCache(){try{let t=localStorage.getItem(Fu);return t?JSON.parse(t):{}}catch{return{}}}savePersistentCache(t){try{localStorage.setItem(Fu,JSON.stringify(t))}catch{}}};async function ho(){let e=await _O(),t=navigator.deviceMemory,r=t?Math.round(t*1024):0,n=["wasm"];return e&&n.push("webgpu"),{platform:"web",model:navigator.userAgent,total_memory_mb:r,gpu_available:e,npu_available:!1,supported_runtimes:n}}async function _O(){if(typeof navigator>"u")return!1;try{let e=navigator.gpu;return e?await e.requestAdapter()!==null:!1}catch{return!1}}var fr={inferenceStarted:"inference.started",inferenceCompleted:"inference.completed",inferenceFailed:"inference.failed",inferenceChunkProduced:"inference.chunk_produced",deployStarted:"deploy.started",deployCompleted:"deploy.completed"},Nu={"inference.started":["model.id"],"inference.completed":["model.id","inference.duration_ms"],"inference.failed":["model.id","error.type","error.message"],"inference.chunk_produced":["model.id","inference.chunk_index"],"deploy.started":["model.id","model.version"],"deploy.completed":["model.id","deploy.duration_ms"]};var Ds={serviceName:"service.name",serviceVersion:"service.version",telemetrySdkName:"telemetry.sdk.name",telemetrySdkLanguage:"telemetry.sdk.language",telemetrySdkVersion:"telemetry.sdk.version",octomilOrgId:"octomil.org.id",octomilDeviceId:"octomil.device.id",octomilPlatform:"octomil.platform",octomilSdkSurface:"octomil.sdk.surface",octomilInstallId:"octomil.install.id",octomilDeviceClass:"octomil.device.class",octomilAvailableRuntimes:"octomil.available_runtimes",octomilAccelerators:"octomil.accelerators"};var yg="octomil_install_id",Bs=null;function fo(){if(Bs!==null)return Bs;try{let t=localStorage.getItem(yg);if(t)return Bs=t,t}catch{}let e=crypto.randomUUID();try{localStorage.setItem(yg,e)}catch{}return Bs=e,e}function vg(){Bs=null}var gO=3e4,wO=50,yO="https://api.octomil.com/v2/telemetry/events",Du="browser",vO="1.0.0",Hr=class{constructor(t={}){w(this,"url");w(this,"flushIntervalMs");w(this,"maxBatchSize");w(this,"apiKey");w(this,"authHeadersProvider");w(this,"resource");w(this,"queue",[]);w(this,"timerId",null);w(this,"disposed",!1);this.url=t.url??yO,this.flushIntervalMs=t.flushIntervalMs??gO,this.maxBatchSize=t.maxBatchSize??wO,this.apiKey=t.apiKey,this.authHeadersProvider=t.authHeadersProvider,this.resource={sdk:Du,sdk_version:t.sdkVersion??vO,device_id:t.deviceId??bO(),platform:Du,org_id:t.orgId??""},this.startAutoFlush()}updateResource(t){for(let[r,n]of Object.entries(t))r==="device.id"?this.resource.device_id=n:r==="org.id"?this.resource.org_id=n:r==="platform"&&(this.resource.platform=n)}track(t){this.disposed||(this.queue.push(t),this.queue.length>=this.maxBatchSize&&this.flush())}async flush(){if(this.queue.length===0)return;let t=this.queue.splice(0,this.maxBatchSize);await this.send(t)}async batch(t){t.length!==0&&await this.send(t)}close(){if(!this.disposed&&(this.disposed=!0,this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null),this.queue.length>0)){let t=this.queue.splice(0),r=this.buildEnvelope(t);this.sendBeaconPayload(r)||this.send(t)}}reportInferenceStarted(t,r){this.track(this.makeEvent(fr.inferenceStarted,{"model.id":t,...r}))}reportInferenceCompleted(t,r,n){this.track(this.makeEvent(fr.inferenceCompleted,{"model.id":t,"inference.duration_ms":r,...n}))}reportInferenceFailed(t,r,n){this.track(this.makeEvent(fr.inferenceFailed,{"model.id":t,"error.type":r,"error.message":n}))}reportInferenceChunk(t,r){this.track(this.makeEvent(fr.inferenceChunkProduced,{"model.id":t,...r}))}reportChunkProduced(t,r,n){this.track(this.makeEvent(fr.inferenceChunkProduced,{"model.id":t,"inference.chunk_index":r,...n}))}reportTrainingStarted(t,r){this.track(this.makeEvent("training.started",{modelId:t,version:r}))}reportTrainingCompleted(t,r,n){this.track(this.makeEvent("training.completed",{modelId:t,version:r,durationMs:n}))}reportTrainingFailed(t,r,n){this.track(this.makeEvent("training.failed",{modelId:t,version:r,errorType:n}))}reportWeightUpload(t,r,n){this.track(this.makeEvent("training.weight_upload",{modelId:t,roundId:r,sampleCount:n}))}reportDeployStarted(t,r){this.track(this.makeEvent("deploy.started",{modelId:t,version:r}))}reportDeployCompleted(t,r,n){this.track(this.makeEvent("deploy.completed",{modelId:t,version:r,durationMs:n}))}reportDeployRollback(t,r,n,s){this.track(this.makeEvent("deploy.rollback",{modelId:t,fromVersion:r,toVersion:n,reason:s}))}reportExperimentAssigned(t,r,n){this.track(this.makeEvent("experiment.assigned",{modelId:t,experimentId:r,variant:n}))}reportExperimentMetric(t,r,n){this.track(this.makeEvent("experiment.metric",{experimentId:t,metricName:r,metricValue:n}))}makeEvent(t,r){return{name:t,timestamp:new Date().toISOString(),traceId:Bu(16),spanId:Bu(8),attributes:r}}startAutoFlush(){typeof setInterval>"u"||(this.timerId=setInterval(()=>{this.flush()},this.flushIntervalMs))}buildEnvelope(t){let r=this.resourceToOtlpAttributes(),n=t.map(s=>this.eventToLogRecord(s));return{resourceLogs:[{resource:{attributes:r},scopeLogs:[{scope:{name:`@octomil/${Du}`,version:this.resource.sdk_version},logRecords:n}]}]}}resourceToOtlpAttributes(){let t=[{key:"sdk",value:{stringValue:this.resource.sdk}},{key:"sdk_version",value:{stringValue:this.resource.sdk_version}},{key:"device_id",value:{stringValue:this.resource.device_id}},{key:"platform",value:{stringValue:this.resource.platform}},{key:"org_id",value:{stringValue:this.resource.org_id}}],r=fo();return r&&t.push({key:Ds.octomilInstallId,value:{stringValue:r}}),t}eventToLogRecord(t){let r=Object.entries(t.attributes).map(([n,s])=>({key:n,value:this.toOtlpValue(s)}));return{timeUnixNano:String(new Date(t.timestamp).getTime()*1e6),severityNumber:9,severityText:"INFO",body:{stringValue:t.name},attributes:r,traceId:t.traceId,spanId:t.spanId}}toOtlpValue(t){return typeof t=="string"?{stringValue:t}:typeof t=="boolean"?{boolValue:t}:Number.isInteger(t)?{intValue:String(t)}:{doubleValue:t}}async send(t){let r=this.buildEnvelope(t),n=JSON.stringify(r),s=this.authHeadersProvider?.()??null;try{if(!s&&this.sendBeaconPayload(r))return;let a={"Content-Type":"application/json"};s?Object.assign(a,s):this.apiKey&&(a.Authorization=`Bearer ${this.apiKey}`),await fetch(this.url,{method:"POST",headers:a,body:n,keepalive:!0})}catch{}}sendBeaconPayload(t){if(typeof navigator>"u"||!navigator.sendBeacon)return!1;try{let r=new Blob([JSON.stringify(t)],{type:"application/json"});return navigator.sendBeacon(this.url,r)}catch{return!1}}};function Bu(e){let t=new Uint8Array(e);if(typeof crypto<"u"&&crypto.getRandomValues)crypto.getRandomValues(t);else for(let r=0;r<e;r++)t[r]=Math.floor(Math.random()*256);return Array.from(t).map(r=>r.toString(16).padStart(2,"0")).join("")}function bO(){return`dev_${Bu(8)}`}var qr=null;function bg(e={}){return qr&&qr.close(),qr=new Hr(e),qr}function Mg(){return qr}function xg(){qr?.close(),qr=null}var Us=class{constructor(t){this.runPrediction=t}async create(t){return{output:await this.runPrediction({text:t.input})}}},Wn=class{constructor(t){w(this,"predictions");this.predictions=new Us(t)}async predict(t){return this.predictions.create({input:t}).then(r=>r.output)}};var mo=class{constructor(t){w(this,"options");w(this,"cache");w(this,"loader");w(this,"engine");w(this,"inferenceEngine");w(this,"routingClient",null);w(this,"deviceContext");w(this,"telemetry",null);w(this,"deviceCaps",null);w(this,"_responses",null);w(this,"_chat",null);w(this,"_control",null);w(this,"_capabilities",null);w(this,"_models",null);w(this,"_audio",null);w(this,"_text",null);w(this,"loaded",!1);w(this,"closed",!1);w(this,"_warmedUp",!1);let r=t.auth,n=r?.serverUrl,s=r?.type==="org_api_key"?r.apiKey:r?.type==="device_token"?r.bootstrapToken:void 0,a=r?.type==="org_api_key"?r.orgId:Ns()?.orgId??void 0;this.deviceContext=Ns(),this.options={telemetry:!1,cacheStrategy:"cache-api",...t,serverUrl:n,apiKey:s},this.cache=lo(this.options.cacheStrategy),this.loader=new $n(this.options,this.cache);let o=t.runtime?null:new zn;this.engine=t.runtime??o,this.inferenceEngine=o,n&&s&&this.options.routing&&(this.routingClient=new jn({serverUrl:n,apiKey:s,cacheTtlMs:this.options.routing.cacheTtlMs,prefer:this.options.routing.prefer})),this.options.telemetry&&(this.telemetry=new Hr({url:this.options.telemetryUrl,apiKey:s,authHeadersProvider:()=>this.deviceContext?.authHeaders()??null,orgId:a,deviceId:this.deviceContext?.installationId}),this.deviceContext&&this.telemetry.updateResource(this.deviceContext.telemetryResource()))}async load(){this.ensureNotClosed();let t=performance.now(),r=await this.loader.load();await this.engine.createSession(r,this.options.backend),this.loaded=!0;let n=performance.now()-t;this.telemetry?.reportDeployStarted(this.options.model,"latest"),this.telemetry?.reportDeployCompleted(this.options.model,"latest",n)}async warmup(){if(this.ensureReady(),this._warmedUp)return;let t=this.inferenceEngine?this.inferenceEngine.inputNames[0]:void 0;if(t){let r={[t]:{data:new Float32Array([0]),dims:[1,1]}};try{await this.engine.run(r)}catch{}}this._warmedUp=!0}get isWarmedUp(){return this._warmedUp}async predict(t){if(this.ensureReady(),this.routingClient){let s=await this.tryCloudInference(t);if(s)return s}let r=this.prepareTensors(t);this.telemetry?.reportInferenceStarted(this.options.model,{target:"device"});let n=await this.engine.run(r);return this.telemetry?.reportInferenceCompleted(this.options.model,n.latencyMs,{backend:this.inferenceEngine?.activeBackend??"unknown",target:"device"}),n}async predictBatch(t){this.ensureReady();let r=performance.now(),n=[];for(let a of t){let o=this.prepareTensors(a),i=await this.engine.run(o);n.push(i)}let s=performance.now()-r;return this.telemetry?.reportInferenceCompleted(this.options.model,s,{backend:this.inferenceEngine?.activeBackend??"unknown",batchSize:t.length}),n}async createChat(t,r={}){return this.chat.create(t,r)}async*createChatStream(t,r={}){yield*this.chat.stream(t,r)}async*predictStream(t,r,n,s){if(!this.options.serverUrl||!this.options.apiKey)throw new U("INFERENCE_FAILED","predictStream() requires serverUrl and apiKey to be configured.");let a=`${this.options.serverUrl.replace(/\/+$/,"")}/api/v1/inference/stream`,o={model_id:t};typeof r=="string"?o.input_data=r:o.messages=r,n&&(o.parameters=n);let i={"Content-Type":"application/json",Accept:"text/event-stream",Authorization:`Bearer ${this.options.apiKey}`},l;try{l=await fetch(a,{method:"POST",headers:i,body:JSON.stringify(o),signal:s})}catch(m){throw new U("NETWORK_UNAVAILABLE",`predictStream request failed: ${String(m)}`,m)}if(!l.ok)throw new U("INFERENCE_FAILED",`predictStream failed: HTTP ${l.status}`);if(!l.body)throw new U("INFERENCE_FAILED","Server did not return a streaming body.");let c=l.body.getReader(),u=new TextDecoder,p="",f=0;try{for(;;){let{done:m,value:y}=await c.read();if(m)break;p+=u.decode(y,{stream:!0});let v=p.split(`
|
|
37
|
-
`);p=v.pop()??"";for(let x of v){if(!x.startsWith("data:"))continue;let M=x.slice(5).trim();if(!M)continue;let T;try{T=JSON.parse(M)}catch{continue}this.telemetry?.reportChunkProduced(t,f),f++,yield{token:T.token??"",done:T.done??!1,provider:T.provider,latencyMs:T.latency_ms,sessionId:T.session_id}}}}finally{c.releaseLock()}}async embed(t,r,n){if(!this.options.serverUrl||!this.options.apiKey)throw new U("NETWORK_UNAVAILABLE","embed() requires serverUrl and apiKey to be configured.");return po(this.options.serverUrl,this.options.apiKey,t,r,n)}async isCached(){return this.ensureNotClosed(),this.loader.isCached()}async clearCache(){return this.ensureNotClosed(),this.loader.clearCache()}async cacheInfo(){return this.ensureNotClosed(),this.loader.getCacheInfo()}get activeBackend(){return this.inferenceEngine?.activeBackend??null}get inputNames(){if(this.ensureReady(),!this.inferenceEngine)throw new U("INVALID_INPUT","inputNames not available with custom runtime");return this.inferenceEngine.inputNames}get outputNames(){if(this.ensureReady(),!this.inferenceEngine)throw new U("INVALID_INPUT","outputNames not available with custom runtime");return this.inferenceEngine.outputNames}get isLoaded(){return this.loaded}get chat(){return this._chat||(this._chat=new Bn({model:this.options.model,serverUrl:this.options.serverUrl,apiKey:this.options.apiKey,getResponses:()=>this.responses,ensureReady:()=>this.ensureReady()})),this._chat}get responses(){return this._responses||(this._responses=new Gn({serverUrl:this.options.serverUrl,apiKey:this.options.apiKey,telemetry:this.telemetry,deviceContext:this.deviceContext,localRuntime:this.options.responsesRuntime})),this._responses}get control(){return this._control||(this._control=new Un({serverUrl:this.options.serverUrl,apiKey:this.options.apiKey,orgId:this.options.auth?.type==="org_api_key"?this.options.auth.orgId:void 0,deviceContext:this.deviceContext,telemetry:this.telemetry})),this._control}get capabilities(){return this._capabilities||(this._capabilities=new Dn),this._capabilities}get models(){return this._models||(this._models=new Vn(this.options.model,this.loader,()=>{})),this._models}get audio(){if(!this._audio){if(!this.options.serverUrl||!this.options.apiKey)throw new U("INVALID_INPUT","audio requires serverUrl and apiKey to be configured.");this._audio=new Nn(this.options.serverUrl,this.options.apiKey)}return this._audio}get text(){return this._text||(this._text=new Wn(t=>this.predict(t))),this._text}close(){this.closed||(this.closed=!0,this.loaded=!1,this.engine.dispose(),this.telemetry?.close(),this.telemetry=null,this._responses=null,this._chat=null,this._control?.stopHeartbeat(),this._control=null,this._capabilities=null,this._models=null,this._audio=null,this._text=null,this._warmedUp=!1)}ensureNotClosed(){if(this.closed)throw new U("CANCELLED","This OctomilClient instance has been closed. Create a new one.")}ensureReady(){if(this.ensureNotClosed(),!this.loaded)throw new U("MODEL_LOAD_FAILED","Model not loaded. Call load() before predict() or chat().")}prepareTensors(t){if(this.isNamedTensors(t))return t;if("raw"in t&&"dims"in t){let r=this.inferenceEngine.inputNames[0];if(!r)throw new U("INVALID_INPUT","Model has no input tensors defined.");return{[r]:{data:t.raw,dims:t.dims}}}if("text"in t){let r=this.inferenceEngine.inputNames[0];if(!r)throw new U("INVALID_INPUT","Model has no input tensors defined.");let n=new Int32Array(Array.from(t.text).map(s=>s.codePointAt(0)??0));return{[r]:{data:n,dims:[1,n.length]}}}if("image"in t)return this.imageToTensors(t.image);throw new U("INVALID_INPUT","Unrecognised PredictInput format. Provide named tensors, { text }, { image }, or { raw, dims }.")}isNamedTensors(t){if("text"in t||"image"in t||"raw"in t)return!1;let r=Object.values(t)[0];return r!==void 0&&typeof r=="object"&&"data"in r&&"dims"in r}imageToTensors(t){let r;if(t instanceof ImageData)r=t;else{let c=t instanceof HTMLCanvasElement?t:(()=>{let p=document.createElement("canvas");return p.width=t.naturalWidth||t.width,p.height=t.naturalHeight||t.height,p.getContext("2d").drawImage(t,0,0),p})(),u=c.getContext("2d");if(!u)throw new U("INVALID_INPUT","Could not get 2D context from canvas.");r=u.getImageData(0,0,c.width,c.height)}let{width:n,height:s,data:a}=r,o=n*s,i=new Float32Array(3*o);for(let c=0;c<o;c++)i[c]=a[c*4]/255,i[o+c]=a[c*4+1]/255,i[2*o+c]=a[c*4+2]/255;let l=this.inferenceEngine?.inputNames[0];if(!l)throw new U("INVALID_INPUT","Model has no input tensors defined.");return{[l]:{data:i,dims:[1,3,s,n]}}}async tryCloudInference(t){try{this.deviceCaps||(this.deviceCaps=await ho());let r=this.options.routing,n=await this.routingClient.route(this.options.model,r.modelParams??0,r.modelSizeMb??0,this.deviceCaps);if(!n||n.target!=="cloud")return null;let s=performance.now(),a=await this.routingClient.cloudInfer(this.options.model,t),o=performance.now()-s;return this.telemetry?.reportInferenceCompleted(this.options.model,o,{target:"cloud",provider:a.provider,routingId:n.id}),{tensors:{},latencyMs:o,...typeof a.output=="object"&&a.output!==null?a.output:{label:String(a.output)}}}catch{return null}}};var _o=class extends Pt{constructor(t={}){super(t)}async getAlertRule(t,r){return this.requestJson(`/api/v1/monitoring/alerts/${encodeURIComponent(t)}`,{method:"GET"},{org_id:r??this.orgId})}async updateAlertRule(t,r,n){return this.requestJson(`/api/v1/monitoring/alerts/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)},{org_id:n??this.orgId})}async deleteAlertRule(t,r){await this.requestVoid(`/api/v1/monitoring/alerts/${encodeURIComponent(t)}`,{method:"DELETE"},{org_id:r??this.orgId})}};var go=class extends Pt{constructor(t={}){super(t)}async createCheckoutSession(t,r){return this.requestJson("/api/v1/settings/billing/checkout",{method:"POST",body:JSON.stringify(t)},{org_id:r??this.orgId})}async createPortalSession(t,r){return this.requestJson("/api/v1/settings/billing/portal",{method:"POST",body:JSON.stringify(t)},{org_id:r??this.orgId})}async updateBilling(t,r){return this.requestJson("/api/v1/settings/billing",{method:"PATCH",body:JSON.stringify(t)},{org_id:r??this.orgId})}async getUsageLimits(t){return this.requestJson("/api/v1/settings/usage-limits",{method:"GET"},{org_id:t??this.orgId})}async updateUsageLimits(t,r){return this.requestJson("/api/v1/settings/usage-limits",{method:"PUT",body:JSON.stringify(t)},{org_id:r??this.orgId})}async getIntegration(t,r){return this.requestJson(`/api/v1/settings/integrations/${encodeURIComponent(t)}`,{method:"GET"},{org_id:r??this.orgId})}async updateIntegration(t,r,n){return this.requestJson(`/api/v1/settings/integrations/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)},{org_id:n??this.orgId})}async deleteIntegration(t,r){await this.requestVoid(`/api/v1/settings/integrations/${encodeURIComponent(t)}`,{method:"DELETE"},{org_id:r??this.orgId})}async validateIntegration(t,r){return this.requestJson(`/api/v1/settings/integrations/${encodeURIComponent(t)}/validate`,{method:"POST",body:JSON.stringify({})},{org_id:r??this.orgId})}};var wo=class extends Pt{constructor(r){super(r);w(this,"getDeviceId");this.getDeviceId=r.getDeviceId}async createJob(r){return this.requestJson(`/api/v1/devices/${encodeURIComponent(this.requireDeviceId())}/training-jobs`,{method:"POST",body:JSON.stringify(r)})}async jobStatus(r,n){return this.requestJson(`/api/v1/devices/${encodeURIComponent(this.requireDeviceId())}/training-jobs/${encodeURIComponent(r)}/status`,{method:"POST",body:JSON.stringify(n)})}async jobComplete(r,n){return this.requestJson(`/api/v1/devices/${encodeURIComponent(this.requireDeviceId())}/training-jobs/${encodeURIComponent(r)}/complete`,{method:"POST",body:JSON.stringify(n)})}requireDeviceId(){let r=this.getDeviceId();if(!r)throw new U("DEVICE_NOT_REGISTERED","This operation requires a registered device ID.");return r}};var yo=class{constructor(t){this.control=t}async desiredState(){return this.control.fetchDesiredState()}async observedState(t=[]){await this.control.reportObservedState(t)}async sync(t={}){return this.control.sync(t)}};async function zs(e){let t=await crypto.subtle.digest("SHA-256",e),r=new Uint8Array(t);return Array.from(r).map(n=>n.toString(16).padStart(2,"0")).join("")}async function Uu(e,t){return await zs(e)===t.toLowerCase()}async function Tg(e,t){if(!await Uu(e,t))throw new U("MODEL_LOAD_FAILED","Model integrity check failed: SHA-256 hash mismatch. The downloaded model may be corrupted or tampered with.")}var MO="octomil-sync-meta",vo="models",xO=1,zu=class{constructor(){w(this,"dbPromise",null)}openDB(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,r)=>{let n=indexedDB.open(MO,xO);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(vo)||s.createObjectStore(vo,{keyPath:"modelId"})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)}),this.dbPromise)}async tx(t){return(await this.openDB()).transaction(vo,t).objectStore(vo)}async get(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.get(t);a.onsuccess=()=>n(a.result??null),a.onerror=()=>s(a.error)})}async put(t){let r=await this.tx("readwrite");return new Promise((n,s)=>{let a=r.put(t);a.onsuccess=()=>n(),a.onerror=()=>s(a.error)})}async getAll(){let t=await this.tx("readonly");return new Promise((r,n)=>{let s=t.getAll();s.onsuccess=()=>r(s.result),s.onerror=()=>n(s.error)})}async remove(t){let r=await this.tx("readwrite");return new Promise((n,s)=>{let a=r.delete(t);a.onsuccess=()=>n(),a.onerror=()=>s(a.error)})}},bo=class{constructor(t){w(this,"control");w(this,"cache");w(this,"intervalMs");w(this,"onEvent");w(this,"meta");w(this,"timer",null);w(this,"syncing",!1);this.control=t.control,this.cache=t.cache,this.intervalMs=t.intervalMs??3e5,this.onEvent=t.onEvent,this.meta=new zu}start(){this.stop(),this.sync(),this.intervalMs>0&&(this.timer=setInterval(()=>{this.sync()},this.intervalMs))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}get isRunning(){return this.timer!==null}async sync(){if(this.syncing)return;this.syncing=!0;let t=0,r=0,n=0;try{this.emit({type:"sync_start"});let s=await this.control.fetchDesiredState(),a=this.parseDesiredEntries(s);for(let o of a)try{let i=await this.reconcileEntry(o);i.downloaded&&t++,i.activated&&r++}catch(i){n++,this.emit({type:"download_error",modelId:o.modelId,error:String(i)})}await this.garbageCollect(s,a),await this.reportState(),this.emit({type:"sync_complete",downloaded:t,activated:r,errors:n})}catch(s){this.emit({type:"error",error:String(s)})}finally{this.syncing=!1}}async getLocalModels(){return this.meta.getAll()}async getModelMeta(t){return this.meta.get(t)}async activate(t){let r=await this.meta.get(t);if(!r)throw new U("MODEL_NOT_FOUND",`No local model found for ${t}`);r.status!=="active"&&(r.status="active",await this.meta.put(r),this.emit({type:"activate",modelId:t,version:r.modelVersion}))}parseDesiredEntries(t){return t.models}async reconcileEntry(t){let r=await this.meta.get(t.modelId);if(r&&r.modelVersion===t.desiredVersion&&r.status==="active")return{downloaded:!1,activated:!1};if(r&&r.modelVersion===t.desiredVersion&&r.status==="staged")return this.shouldActivate(t.activationPolicy)?(r.status="active",await this.meta.put(r),this.emit({type:"activate",modelId:t.modelId,version:t.desiredVersion}),{downloaded:!1,activated:!0}):{downloaded:!1,activated:!1};if(!t.artifactManifest?.downloadUrl)return{downloaded:!1,activated:!1};this.emit({type:"download_start",modelId:t.modelId});let n=await this.downloadArtifact(t.artifactManifest.downloadUrl);if(t.artifactManifest.sha256){let i=await zs(n);if(i!==t.artifactManifest.sha256.toLowerCase())throw new U("MODEL_LOAD_FAILED",`Integrity check failed for ${t.modelId}: expected ${t.artifactManifest.sha256}, got ${i}`)}let s=t.artifactManifest.downloadUrl;await this.cache.put(s,n),this.emit({type:"download_complete",modelId:t.modelId,sizeBytes:n.byteLength});let a=this.shouldActivate(t.activationPolicy),o={modelId:t.modelId,modelVersion:t.desiredVersion,bindingKey:t.bindingKey,useCase:t.useCase,deploymentId:t.deploymentId,deploymentKey:t.deploymentKey,modelName:t.modelName,modelRef:t.modelRef,artifactUrl:s,sha256:t.artifactManifest.sha256,installedAt:new Date().toISOString(),status:a?"active":"staged",sizeBytes:n.byteLength};return await this.meta.put(o),a&&this.emit({type:"activate",modelId:t.modelId,version:t.desiredVersion}),{downloaded:!0,activated:a}}shouldActivate(t){switch(t){case"immediate":case void 0:return!0;case"manual":return!1;case"next_launch":return!1;case"when_idle":return!0;default:return!0}}async downloadArtifact(t){let r;try{r=await fetch(t)}catch(n){throw new U("NETWORK_UNAVAILABLE",`Failed to download artifact from ${t}: ${String(n)}`,n)}if(!r.ok)throw new U("MODEL_LOAD_FAILED",`Artifact download failed: HTTP ${r.status}`);return r.arrayBuffer()}async garbageCollect(t,r){let n=new Set(t.gcEligibleArtifactIds??[]),s=new Set(r.map(o=>o.modelId)),a=await this.meta.getAll();for(let o of a)(n.has(o.modelId)||!s.has(o.modelId))&&(await this.cache.remove(o.artifactUrl),await this.meta.remove(o.modelId))}async reportState(){let r=(await this.meta.getAll()).map(n=>({modelId:n.modelId,status:n.status,version:n.modelVersion,bindingKey:n.bindingKey,useCase:n.useCase,deploymentId:n.deploymentId,deploymentKey:n.deploymentKey,modelName:n.modelName,modelRef:n.modelRef}));try{await this.control.reportObservedState(r)}catch{}}emit(t){this.onEvent?.(t)}};var Eg=3e4,Mo=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"token",null);w(this,"deviceId",null);w(this,"refreshTimer",null);w(this,"disposed",!1);this.serverUrl=t.serverUrl,this.apiKey=t.apiKey}async bootstrap(t){this.ensureNotDisposed(),this.deviceId=await this.generateDeviceId();let r=this.collectDeviceInfo(),n=await this.request("/api/v1/devices/register",{method:"POST",body:JSON.stringify({org_id:t,device_id:this.deviceId,platform:"browser",info:r})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Device registration failed: HTTP ${n.status}`);let s=await n.json();this.token={accessToken:s.token,refreshToken:s.refresh_token,expiresAt:new Date(s.expires_at).getTime()},this.scheduleRefresh()}async getToken(){if(this.ensureNotDisposed(),!this.token)throw new U("NETWORK_UNAVAILABLE","Not authenticated. Call bootstrap() first.");return this.isTokenExpiringSoon()&&await this.refreshToken(),this.token.accessToken}async refreshToken(){if(this.ensureNotDisposed(),!this.token)throw new U("NETWORK_UNAVAILABLE","No token to refresh. Call bootstrap() first.");let t=await this.request("/api/v1/auth/refresh",{method:"POST",body:JSON.stringify({refresh_token:this.token.refreshToken,device_id:this.deviceId})});if(!t.ok)throw this.token=null,new U("NETWORK_UNAVAILABLE",`Token refresh failed: HTTP ${t.status}`);let r=await t.json();this.token={accessToken:r.token,refreshToken:r.refresh_token,expiresAt:new Date(r.expires_at).getTime()},this.scheduleRefresh()}async revokeToken(){if(this.ensureNotDisposed(),!!this.token)try{await this.request("/api/v1/auth/revoke",{method:"POST",body:JSON.stringify({token:this.token.accessToken,device_id:this.deviceId})})}finally{this.clearState()}}get isAuthenticated(){return this.token!==null&&!this.isTokenExpired()}get currentDeviceId(){return this.deviceId}dispose(){this.disposed||(this.disposed=!0,this.clearRefreshTimer())}async request(t,r){let n={"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`};return fetch(`${this.serverUrl}${t}`,{...r,headers:{...n,...r.headers}})}isTokenExpired(){return this.token?Date.now()>=this.token.expiresAt:!0}isTokenExpiringSoon(){return this.token?Date.now()>=this.token.expiresAt-Eg:!0}scheduleRefresh(){if(this.clearRefreshTimer(),!this.token)return;let t=Math.max(0,this.token.expiresAt-Date.now()-Eg);this.refreshTimer=setTimeout(()=>{this.refreshToken().catch(()=>{})},t)}clearRefreshTimer(){this.refreshTimer!==null&&(clearTimeout(this.refreshTimer),this.refreshTimer=null)}clearState(){this.token=null,this.clearRefreshTimer()}async generateDeviceId(){let t=[typeof navigator<"u"?navigator.userAgent:"unknown",typeof screen<"u"?`${screen.width}x${screen.height}`:"0x0",typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",typeof navigator<"u"?navigator.language:"en"].join("|"),r=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",r),s=new Uint8Array(n);return Array.from(s).map(a=>a.toString(16).padStart(2,"0")).join("")}collectDeviceInfo(){return{userAgent:typeof navigator<"u"?navigator.userAgent:"unknown",language:typeof navigator<"u"?navigator.language:"en",screenWidth:typeof screen<"u"?screen.width:0,screenHeight:typeof screen<"u"?screen.height:0,timezone:typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",webgpu:typeof navigator<"u"&&"gpu"in navigator}}ensureNotDisposed(){if(this.disposed)throw new U("CANCELLED","DeviceAuth has been disposed.")}};var xo=class extends Pt{constructor(t={}){super(t)}async manifest(t){return this.requestJson(`/api/v1/artifacts/${encodeURIComponent(t)}/manifest`,{method:"GET"})}async downloadUrls(t,r){return this.requestJson(`/api/v1/artifacts/${encodeURIComponent(t)}/download-urls`,{method:"POST",body:JSON.stringify(r)})}};function TO(e){return e.filter(t=>t.type==="tool_call"&&!!t.toolCall).map(t=>t.toolCall)}function EO(e){return{role:"assistant",content:e.map(t=>({type:"tool_call",toolCall:t}))}}var To=class{constructor(t,r,n=10){w(this,"responses");w(this,"executor");w(this,"maxIterations");this.responses=t,this.executor=r,this.maxIterations=n}async run(t){let r=this.normalizeInput(t.input);for(let n=0;n<this.maxIterations;n++){let s=await this.responses.create({...t,input:r}),a=TO(s.output);if(a.length===0)return s;r.push(EO(a));for(let o of a){let i;try{i=await this.executor.execute(o)}catch(l){i={toolCallId:o.id,content:l instanceof Error?`Error: ${l.message}`:"Error",isError:!0}}r.push({role:"tool",toolCallId:i.toolCallId,content:i.content})}}return this.responses.create({...t,input:r,tools:[]})}normalizeInput(t){return typeof t=="string"?[{role:"user",content:t}]:t.every(r=>"role"in r)?t.map(r=>({...r})):[{role:"user",content:t}]}};var oz="Qwen/Qwen3-0.6B",iz="https://cdn.jsdelivr.net/npm/onnxruntime-web@1.24.2/dist/",WI=new Map;function HI(e={}){let t=lz(e);return{async create(r){let n=await uz(r,t);return vz(r,t.model,n)},async*stream(r){let n=await this.create(r),s=n.output[0];s?.type==="tool_call"?yield{type:"tool_call_delta",index:0,id:s.toolCall?.id,name:s.toolCall?.name,argumentsDelta:s.toolCall?.arguments}:s?.type==="text"&&s.text&&(yield{type:"text_delta",delta:s.text}),yield{type:"done",response:n}}}}function lz(e={}){let t=e.model??oz,r=e.runtimeModel??cz(t);return{model:t,runtimeModel:r,device:e.device??"auto",dtype:e.dtype??"q4",maxNewTokens:e.maxNewTokens??128,maxInputChars:e.maxInputChars??4e3,temperature:e.temperature??0,topP:e.topP??.95,repetitionPenalty:e.repetitionPenalty??1.05,ortWasmBaseUrl:fz(e.ortWasmBaseUrl)??iz,useBrowserCache:e.useBrowserCache??!1}}function cz(e){return e.startsWith("onnx-community/")?e:`onnx-community/${e.replace(/^Qwen\//,"")}-ONNX`}async function uz(e,t){let r=await dz(t),n=mz(e,t.maxInputChars),s=hz(r,n),a=await r(s,{max_new_tokens:e.maxOutputTokens??t.maxNewTokens,temperature:e.temperature??t.temperature,top_p:e.topP??t.topP,repetition_penalty:t.repetitionPenalty,do_sample:(e.temperature??t.temperature)>0,return_full_text:!1});return yz(a)}async function dz(e){let t=JSON.stringify([e.runtimeModel,qI(e.device),e.dtype]),r=WI.get(t);return r||(r=(async()=>{let{pipeline:n}=await pz(e);return n("text-generation",e.runtimeModel,{device:qI(e.device),dtype:e.dtype})})(),WI.set(t,r)),r}async function pz(e){let t=await Promise.resolve().then(()=>(jI(),GI));t.env&&(t.env.useBrowserCache=e.useBrowserCache);let r=t.env?.backends?.onnx?.wasm;return r&&(r.wasmPaths=e.ortWasmBaseUrl,r.proxy=!1),t}function qI(e){return e==="webgpu"||e==="wasm"?e:typeof navigator<"u"&&"gpu"in navigator?"webgpu":"wasm"}function hz(e,t){let r=e.tokenizer?.apply_chat_template;return r?r.call(e.tokenizer,t,{tokenize:!1,add_generation_prompt:!0,enable_thinking:!1}):t}function fz(e){if(e)return e.endsWith("/")?e:`${e}/`}function mz(e,t){let r=_z(e.tools),s=Mz(e.input).flatMap(a=>gz(a)).filter(a=>a!==null);return s[0]?.role==="system"?s[0]={role:"system",content:`${r}
|
|
35
|
+
`)}}var Fs=class Fs{constructor(t){w(this,"installationId");w(this,"orgId");w(this,"appId");w(this,"_registrationState","pending");w(this,"_tokenState",{type:"none"});w(this,"_serverDeviceId",null);this.installationId=t.installationId,this.orgId=t.orgId??null,this.appId=t.appId??null}get registrationState(){return this._registrationState}get tokenState(){return this._tokenState}get serverDeviceId(){return this._serverDeviceId}get isRegistered(){return this._registrationState==="registered"}authHeaders(){return this._tokenState.type==="valid"&&this._tokenState.expiresAt>new Date?{Authorization:`Bearer ${this._tokenState.accessToken}`}:null}telemetryResource(){let t={"device.id":this.installationId,platform:"browser"};return this.orgId&&(t["org.id"]=this.orgId),this.appId&&(t["app.id"]=this.appId),t}_updateRegistered(t,r,n){this._serverDeviceId=t,this._tokenState={type:"valid",accessToken:r,expiresAt:n},this._registrationState="registered"}_updateToken(t,r){this._tokenState={type:"valid",accessToken:t,expiresAt:r}}_markFailed(){this._registrationState="failed"}_markTokenExpired(){this._tokenState={type:"expired"}}static getOrCreateInstallationId(){try{let t=localStorage.getItem(Fs.STORAGE_KEY);if(t)return t;let r=crypto.randomUUID();return localStorage.setItem(Fs.STORAGE_KEY,r),r}catch{return crypto.randomUUID()}}};w(Fs,"STORAGE_KEY","octomil_installation_id");var Gr=Fs;var pO=["oct_pub_test_","oct_pub_live_"];function uo(e){if(!pO.some(t=>e.startsWith(t)))throw new Error("Publishable key must start with 'oct_pub_test_' or 'oct_pub_live_'")}function hg(e){return e.startsWith("oct_pub_test_")?"test":e.startsWith("oct_pub_live_")?"live":null}var fg=null;function Ns(){return fg}async function mg(e={}){e.auth?.type==="publishable_key"&&uo(e.auth.key);let t=Gr.getOrCreateInstallationId(),r=e.auth?.type==="anonymous"?e.auth.appId:e.auth?.appId,n=e.auth?.type==="anonymous"?null:e.auth?.orgId??null,s=new Gr({installationId:t,orgId:n,appId:r??null});return fg=s,e.auth!=null&&e.monitoring?.enabled===!0&&_g(s,e).catch(()=>{}),s}async function _g(e,t,r=0){let a=t.auth?.type==="anonymous"?null:t.auth?.orgId??null;try{let o=t.baseUrl||"https://api.octomil.com",i={"Content-Type":"application/json"};t.auth?.type==="publishable_key"?i.Authorization=`Bearer ${t.auth.key}`:t.auth?.type==="bootstrap_token"&&(i.Authorization=`Bearer ${t.auth.token}`),e.appId&&(i["X-App-Id"]=e.appId);let l=new URL(`${o.replace(/\/+$/,"")}/api/v1/devices/register`);a&&l.searchParams.set("org_id",a);let c=await fetch(l.toString(),{method:"POST",headers:i,body:JSON.stringify({device_identifier:e.installationId,installation_id:e.installationId,platform:"browser",app_id:e.appId})});if(!c.ok){if(c.status===403){console.warn("[Octomil] Registration failed: invalid credentials"),e._markFailed();return}throw new Error(`Registration failed: ${c.status}`)}let u=await c.json(),p=u.device_id??u.id;if(!p||!u.access_token||!u.expires_at)throw new Error("Registration response missing device token fields");e._updateRegistered(p,u.access_token,new Date(u.expires_at)),t.monitoring?.enabled&&hO(e,t)}catch(o){if(console.warn(`[Octomil] Registration attempt ${r+1} failed:`,o),r<10){let i=Math.min(1e3*Math.pow(2,r),3e5),l=i*.1*Math.random(),c=i+l;return await new Promise(u=>setTimeout(u,c)),_g(e,t,r+1)}e._markFailed()}}function hO(e,t){let r=t.monitoring?.heartbeatIntervalMs??3e5;setInterval(async()=>{let n=e.authHeaders();if(n)try{let s=t.baseUrl||"https://api.octomil.com";if(!e.serverDeviceId)return;await fetch(`${s.replace(/\/+$/,"")}/api/v1/devices/${e.serverDeviceId}/heartbeat`,{method:"PUT",headers:{...n,"Content-Type":"application/json"},body:JSON.stringify({device_identifier:e.installationId})})}catch{}},r)}var Ou={octomilResponse:"octomil.response",octomilModelLoad:"octomil.model.load",octomilControlRefresh:"octomil.control.refresh",octomilControlHeartbeat:"octomil.control.heartbeat",octomilToolExecute:"octomil.tool.execute",octomilFallbackCloud:"octomil.fallback.cloud",octomilRolloutSync:"octomil.rollout.sync",octomilArtifactDownload:"octomil.artifact.download",octomilArtifactActivation:"octomil.artifact.activation",octomilFederationRound:"octomil.federation.round",octomilTrainingJob:"octomil.training.job",octomilDeviceSync:"octomil.device.sync",octomilTelemetryUpload:"octomil.telemetry.upload"},g3=Object.values(Ou);var gg={modelId:"model.id",modelVersion:"model.version",runtimeExecutor:"runtime.executor",requestMode:"request.mode",locality:"locality",streaming:"streaming",routePolicy:"route.policy",routeDecision:"route.decision",deviceClass:"device.class",fallbackReason:"fallback.reason",errorType:"error.type",toolCallTier:"tool.call_tier",modelSourceFormat:"model.source_format",modelSizeBytes:"model.size_bytes",toolName:"tool.name",toolRound:"tool.round",fallbackProvider:"fallback.provider",assignmentCount:"assignment_count",heartbeatSequence:"heartbeat.sequence",rolloutId:"rollout.id",modelsSynced:"models_synced"};var Un=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"orgId");w(this,"serverDeviceId",null);w(this,"heartbeatTimer",null);w(this,"heartbeatSequence",0);w(this,"deviceContext");w(this,"telemetry");this.serverUrl=(t.serverUrl||"https://api.octomil.com").replace(/\/+$/,""),this.apiKey=t.apiKey,this.orgId=t.orgId,this.deviceContext=t.deviceContext??null,this.serverDeviceId=this.deviceContext?.serverDeviceId??null,this.telemetry=t.telemetry??null}async refresh(){if(!this.serverDeviceId)return{updated:!1,configVersion:"",assignmentsChanged:!1,fetchedAt:new Date().toISOString()};let t={};Object.assign(t,this.resolveAuthHeaders());let r=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/assignments`,{headers:t});if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Refresh assignments failed: ${r.status}`);let n=await r.json();return{updated:n.updated??!0,configVersion:n.config_version??"",assignmentsChanged:n.assignments_changed??!1,fetchedAt:new Date().toISOString()}}async register(t){let r=t||this.deviceContext?.installationId||await this.generateDeviceId(),n={device_identifier:r,installation_id:this.deviceContext?.installationId??r,app_id:this.deviceContext?.appId??void 0,platform:"browser",os_version:typeof navigator<"u"?navigator.userAgent:"unknown",sdk_version:"1.0.0",locale:typeof navigator<"u"?navigator.language:void 0,timezone:typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:void 0,device_info:this.collectDeviceInfo()},s={"Content-Type":"application/json"};Object.assign(s,this.resolveAuthHeaders()),this.deviceContext?.appId&&(s["X-App-Id"]=this.deviceContext.appId);let a=new URL(`${this.serverUrl}/api/v1/devices/register`);this.orgId&&a.searchParams.set("org_id",this.orgId);let o;try{o=await fetch(a.toString(),{method:"POST",headers:s,body:JSON.stringify(n)})}catch(l){throw new U("NETWORK_UNAVAILABLE",`Registration request failed: ${String(l)}`,l)}if(!o.ok)throw new U("NETWORK_UNAVAILABLE",`Registration failed: ${o.status}`);let i=await o.json();return this.serverDeviceId=i.device_id??i.id??null,this.serverDeviceId&&this.deviceContext&&i.access_token&&i.expires_at&&this.deviceContext._updateRegistered(this.serverDeviceId,i.access_token,new Date(i.expires_at)),{id:this.serverDeviceId??"",deviceIdentifier:r,orgId:this.orgId||"",status:i.status||"active"}}async heartbeat(){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let t=this.heartbeatSequence++;this.telemetry?.track({name:Ou.octomilControlHeartbeat,timestamp:new Date().toISOString(),attributes:{[gg.heartbeatSequence]:t}});let r={sdk_version:"1.0.0",platform:"browser",os_version:typeof navigator<"u"?navigator.userAgent:"unknown"},n={"Content-Type":"application/json"};Object.assign(n,this.resolveAuthHeaders());let s;try{s=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/heartbeat`,{method:"PUT",headers:n,body:JSON.stringify(r)})}catch(o){throw new U("NETWORK_UNAVAILABLE",`Heartbeat request failed: ${String(o)}`,o)}if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Heartbeat failed: ${s.status}`);let a=await s.json();return{status:a.status||"ok",serverTime:a.server_time}}async reportObservedState(t=[]){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let r={schemaVersion:"1.4.0",deviceId:this.serverDeviceId,reportedAt:new Date().toISOString(),models:t,active_bindings:t.filter(a=>a.status==="active").map(a=>({binding_key:a.bindingKey??a.useCase??a.modelId,base_model_id:a.modelId,base_version:a.version??"",use_case:a.useCase,deployment_id:a.deploymentId,deployment_key:a.deploymentKey,model_name:a.modelName,model_ref:a.modelRef})),sdkVersion:"1.0.0",osVersion:typeof navigator<"u"?navigator.userAgent:"unknown"},n={"Content-Type":"application/json"};Object.assign(n,this.resolveAuthHeaders());let s;try{s=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/observed-state`,{method:"POST",headers:n,body:JSON.stringify(r)})}catch(a){throw new U("NETWORK_UNAVAILABLE",`Report observed state failed: ${String(a)}`,a)}if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Report observed state failed: ${s.status}`)}async fetchDesiredState(){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let t={};Object.assign(t,this.resolveAuthHeaders());let r;try{r=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/desired-state`,{headers:t})}catch(n){throw new U("NETWORK_UNAVAILABLE",`Fetch desired state failed: ${String(n)}`,n)}if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Fetch desired state failed: ${r.status}`);return await r.json()}async sync(t={}){if(!this.serverDeviceId)throw new U("INVALID_INPUT","Device not registered");let r={"Content-Type":"application/json"};Object.assign(r,this.resolveAuthHeaders());let n;try{n=await fetch(`${this.serverUrl}/api/v1/devices/${this.serverDeviceId}/sync`,{method:"POST",headers:r,body:JSON.stringify({schemaVersion:t.schemaVersion??"1.12.0",deviceId:this.serverDeviceId,requestedAt:t.requestedAt??new Date().toISOString(),knownStateVersion:t.knownStateVersion,sdkVersion:t.sdkVersion,platform:t.platform??"browser",appId:t.appId,appVersion:t.appVersion,modelInventory:t.modelInventory??[],activeVersions:t.activeVersions??[],availableStorageBytes:t.availableStorageBytes})})}catch(s){throw new U("NETWORK_UNAVAILABLE",`Device sync failed: ${String(s)}`,s)}if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Device sync failed: ${n.status}`);return await n.json()}startHeartbeat(t=3e5){this.stopHeartbeat(),this.heartbeatTimer=setInterval(()=>{this.heartbeat().catch(()=>{})},t)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}get registeredDeviceId(){return this.serverDeviceId}async generateDeviceId(){let t=[typeof navigator<"u"?navigator.userAgent:"unknown",typeof screen<"u"?screen.width:0,typeof screen<"u"?screen.height:0,typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC"].join("|"),r=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(t));return Array.from(new Uint8Array(r)).map(n=>n.toString(16).padStart(2,"0")).join("")}collectDeviceInfo(){return{platform:"browser",user_agent:typeof navigator<"u"?navigator.userAgent:"unknown",screen_width:typeof screen<"u"?screen.width:0,screen_height:typeof screen<"u"?screen.height:0,device_memory_gb:typeof navigator<"u"&&navigator.deviceMemory||0,language:typeof navigator<"u"?navigator.language:"unknown"}}resolveAuthHeaders(){return this.deviceContext?.authHeaders()??this.resolveApiKeyHeaders()}resolveApiKeyHeaders(){return this.apiKey?{Authorization:`Bearer ${this.apiKey}`}:{}}};async function po(e,t,r,n,s){if(!e)throw new U("INVALID_INPUT","serverUrl is required for embed()");if(!t)throw new U("INVALID_INPUT","apiKey is required for embed()");let a=`${e.replace(/\/+$/,"")}/api/v1/embeddings`,o;try{o=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},body:JSON.stringify({model_id:r,input:n}),signal:s})}catch(l){throw new U("NETWORK_UNAVAILABLE",`embed() request failed: ${String(l)}`,l)}if(!o.ok)throw new U("INFERENCE_FAILED",`embed() failed: HTTP ${o.status}`);let i=await o.json();return{embeddings:i.data.map(l=>l.embedding),model:i.model,usage:{promptTokens:i.usage.prompt_tokens,totalTokens:i.usage.total_tokens}}}var zn=class{constructor(){w(this,"session",null);w(this,"ortModule",null);w(this,"resolvedBackend",null)}async createSession(t,r){let n=await this.loadOrt(),s=await this.resolveProvider(n,r);this.resolvedBackend=s==="webgpu"?"webgpu":"wasm";let a={executionProviders:[s],graphOptimizationLevel:"all"};try{this.session=await n.InferenceSession.create(t,a)}catch(o){if(s==="webgpu")try{this.session=await n.InferenceSession.create(t,{executionProviders:["wasm"],graphOptimizationLevel:"all"}),this.resolvedBackend="wasm"}catch(i){throw new U("MODEL_LOAD_FAILED","Failed to create ONNX session with both WebGPU and WASM backends.",i)}else throw new U("MODEL_LOAD_FAILED",`Failed to create ONNX session: ${String(o)}`,o)}}async run(t){this.ensureSession();let r=this.ortModule,n=this.session,s={};for(let[u,p]of Object.entries(t))s[u]=new r.Tensor(fO(p.data),p.data,p.dims);let a=performance.now(),o;try{o=await n.run(s)}catch(u){throw new U("INFERENCE_FAILED",`Inference run failed: ${String(u)}`,u)}let i=performance.now()-a,l=this.convertOutputs(o),c=this.extractConvenience(l);return{tensors:l,latencyMs:i,...c}}get inputNames(){return this.ensureSession(),this.session.inputNames}get outputNames(){return this.ensureSession(),this.session.outputNames}get activeBackend(){return this.resolvedBackend}dispose(){this.session&&(this.session.release(),this.session=null)}async isAvailable(){try{return await this.loadOrt(),!0}catch{return!1}}async loadOrt(){if(this.ortModule)return this.ortModule;try{return this.ortModule=await Promise.resolve().then(()=>iO(yg(),1)),this.ortModule}catch(t){throw new U("RUNTIME_UNAVAILABLE","Failed to import onnxruntime-web. Make sure the package is installed: npm i onnxruntime-web",t)}}async resolveProvider(t,r){if(r==="wasm")return"wasm";if(r==="webgpu"||r===void 0){if(await this.detectWebGPU())return"webgpu";if(r==="webgpu")throw new U("RUNTIME_UNAVAILABLE","WebGPU was explicitly requested but is not available in this browser.")}return"wasm"}async detectWebGPU(){if(typeof navigator>"u")return!1;try{let t=navigator.gpu;return t?await t.requestAdapter()!==null:!1}catch{return!1}}ensureSession(){if(!this.session)throw new U("CANCELLED","No active session. Call load() before running inference.")}convertOutputs(t){let r={};for(let n of Object.keys(t)){let s=t[n];r[n]={data:s.data,dims:Array.from(s.dims)}}return r}extractConvenience(t){let r=Object.keys(t);if(r.length===0)return{};let s=t[r[0]].data;if(s.length===0)return{};if(s.length===1)return{label:String(Number(s[0])),score:1};if(!(s instanceof Float32Array))return{};let a=Array.from(s),o=0,i=-1/0;for(let l=0;l<a.length;l++)a[l]>i&&(i=a[l],o=l);return{label:String(o),score:i,scores:a}}};function fO(e){return e instanceof Float32Array?"float32":e instanceof Int32Array?"int32":e instanceof BigInt64Array?"int64":e instanceof Uint8Array?"uint8":"float32"}var jr=3,Lu=1e3,$n=class{constructor(t,r){w(this,"modelId");w(this,"serverUrl");w(this,"apiKey");w(this,"onProgress");w(this,"cache");this.modelId=t.model,this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.onProgress=t.onProgress,this.cache=r}async load(){let t=await this.resolveModelUrl(),r=await this.cache.get(t);if(r)return r;let n=await this.download(t);return this.validate(n),await this.cache.put(t,n),n}async isCached(){let t=await this.resolveModelUrl();return this.cache.has(t)}async clearCache(){let t=await this.resolveModelUrl();await this.cache.remove(t)}async getCacheInfo(){let t=await this.resolveModelUrl();return this.cache.info(t)}async resolveModelUrl(){if(this.modelId.startsWith("http://")||this.modelId.startsWith("https://"))return this.modelId;if(!this.serverUrl)throw new U("MODEL_NOT_FOUND",`Cannot resolve model "${this.modelId}": no serverUrl configured.`);return this.fetchResolverUrl(this.modelId)}async fetchResolverUrl(t){let r=`${this.serverUrl}/api/v1/registry/resolve/${encodeURIComponent(t)}`,n={Accept:"application/json"};this.apiKey&&(n.Authorization=`Bearer ${this.apiKey}`);let s;try{s=await fetch(r,{headers:n})}catch(i){throw new U("NETWORK_UNAVAILABLE",`Failed to reach model resolver at ${r}`,i)}if(!s.ok)throw s.status===404?new U("MODEL_NOT_FOUND",`Model "${t}" not found in registry.`):new U("NETWORK_UNAVAILABLE",`Model resolver returned HTTP ${s.status}: ${s.statusText}`);let a=await s.json(),o=a.download_url??a.url;if(!o)throw new U("MODEL_LOAD_FAILED",`Model resolver response for "${t}" did not include a download URL`);return o}buildHeaders(t={}){let r={"Accept-Encoding":"gzip, deflate, br",...t};return this.apiKey&&(r.Authorization=`Bearer ${this.apiKey}`),r}async download(t){let r=[],n=0,s=0,a=0;for(;a<=jr;){let l=this.buildHeaders(n>0?{Range:`bytes=${n}-`}:{}),c;try{c=await fetch(t,{headers:l})}catch(f){if(a++,a>jr)throw new U("NETWORK_UNAVAILABLE",`Failed to download model from ${t} after ${jr} retries`,f);await this.delay(Lu*a);continue}if(c.status===416){if(r.length=0,n=0,a++,a>jr)throw new U("MODEL_LOAD_FAILED",`Model download failed: range request rejected after ${jr} retries`);await this.delay(Lu*a);continue}if(!c.ok&&c.status!==206)throw new U("MODEL_LOAD_FAILED",`Model download failed: HTTP ${c.status} ${c.statusText}`);if(s===0){let f=c.headers.get("Content-Range");if(f){let m=f.match(/\/(\d+)$/);m&&(s=parseInt(m[1],10))}else s=parseInt(c.headers.get("Content-Length")??"0",10)}if(!c.body)return await c.arrayBuffer();let u=c.body.getReader(),p=!1;try{for(;;){let{done:f,value:m}=await u.read();if(f)break;r.push(m),n+=m.byteLength,this.onProgress?.({loaded:n,total:s,percent:s>0?n/s*100:NaN})}}catch(f){if(p=!0,a++,a>jr)throw new U("NETWORK_UNAVAILABLE",`Model download interrupted after ${jr} retries`,f);await this.delay(Lu*a)}finally{u.releaseLock()}if(!p)break}let o=new Uint8Array(n),i=0;for(let l of r)o.set(l,i),i+=l.byteLength;return o.buffer}delay(t){return new Promise(r=>setTimeout(r,t))}validate(t){if(t.byteLength===0)throw new U("MODEL_LOAD_FAILED","Downloaded model is empty (0 bytes).");if(new Uint8Array(t,0,Math.min(4,t.byteLength))[0]!==8)throw new U("MODEL_LOAD_FAILED","Downloaded file does not appear to be a valid ONNX model.")}};var Vn=class{constructor(t,r,n){this.modelId=t;this.manager=r;this.onLoaded=n;w(this,"downloading",new Set);w(this,"errors",new Map)}async status(t){let r=t??this.modelId;return this.downloading.has(r)?"downloading":this.errors.has(r)?"error":await this.manager.isCached()?"ready":"not_cached"}async load(t){let r=t??this.modelId;this.downloading.add(r),this.errors.delete(r);try{await this.manager.load(),this.downloading.delete(r),this.onLoaded()}catch(n){throw this.downloading.delete(r),this.errors.set(r,String(n)),n}}async unload(t){await this.manager.clearCache()}async list(){let t=await this.manager.getCacheInfo();return t.cached?[{modelRef:this.modelId,cachedAt:t.cachedAt,sizeBytes:t.sizeBytes>0?t.sizeBytes:void 0}]:[]}async clearCache(){await this.manager.clearCache(),this.errors.clear()}getError(t){let r=t??this.modelId;return this.errors.get(r)}};var Gn=class{constructor(t={}){w(this,"serverUrl");w(this,"apiKey");w(this,"telemetry");w(this,"deviceContext");w(this,"localRuntime");w(this,"responseCache",new Map);w(this,"MAX_CACHE",100);this.serverUrl=t.serverUrl||"https://api.octomil.com",this.apiKey=t.apiKey,this.telemetry=t.telemetry??null,this.deviceContext=t.deviceContext??null,this.localRuntime=t.localRuntime??null}async create(t){let r=this.resolveLocalRuntime(t.model);if(r)return this.createLocal(t,r);let n=this.buildRequestBody(t,!1),s=`${this.serverUrl}/v1/chat/completions`,a={"Content-Type":"application/json"},o=this.deviceContext?.authHeaders();o?Object.assign(a,o):this.apiKey&&(a.Authorization=`Bearer ${this.apiKey}`),this.telemetry?.reportInferenceStarted(t.model,{target:"cloud",method:"responses.create",locality:"cloud"});let i=performance.now(),l;try{l=await fetch(s,{method:"POST",headers:a,body:JSON.stringify(n)})}catch(f){throw this.telemetry?.reportInferenceFailed(t.model,"network_error",String(f)),new U("NETWORK_UNAVAILABLE",`Request failed: ${String(f)}`,f)}if(!l.ok)throw this.telemetry?.reportInferenceFailed(t.model,"http_error",`HTTP ${l.status}`),new U("NETWORK_UNAVAILABLE",`HTTP ${l.status}`);let c=await l.json(),u=this.parseResponse(t.model,c),p=performance.now()-i;return this.telemetry?.reportInferenceCompleted(t.model,p,{target:"cloud",method:"responses.create",locality:"cloud"}),this.cacheResponse(u),u}async*stream(t){let r=this.resolveLocalRuntime(t.model);if(r){yield*this.streamLocal(t,r);return}let n=this.buildRequestBody(t,!0),s=`${this.serverUrl}/v1/chat/completions`,a={"Content-Type":"application/json"},o=this.deviceContext?.authHeaders();o?Object.assign(a,o):this.apiKey&&(a.Authorization=`Bearer ${this.apiKey}`),this.telemetry?.reportInferenceStarted(t.model,{target:"cloud",method:"responses.stream",locality:"cloud"});let i=performance.now(),l;try{l=await fetch(s,{method:"POST",headers:a,body:JSON.stringify(n)})}catch(C){throw this.telemetry?.reportInferenceFailed(t.model,"network_error",String(C)),new U("NETWORK_UNAVAILABLE",`Request failed: ${String(C)}`,C)}if(!l.ok)throw this.telemetry?.reportInferenceFailed(t.model,"http_error",`HTTP ${l.status}`),new U("NETWORK_UNAVAILABLE",`HTTP ${l.status}`);if(!l.body)throw new U("NETWORK_UNAVAILABLE","No response body");let c=l.body.getReader(),u=new TextDecoder,p="",f=0,m=[],y=new Map,v;try{for(;;){let{done:C,value:S}=await c.read();if(C)break;p+=u.decode(S,{stream:!0});let O=p.split(`
|
|
36
|
+
`);p=O.pop()||"";for(let E of O){let K=E.trim();if(!K.startsWith("data: "))continue;let $=K.slice(6);if($!=="[DONE]")try{let V=JSON.parse($),Q=V.choices?.[0];if(!Q)continue;let G=Q.delta;if(G?.content&&(m.push(G.content),this.telemetry?.reportChunkProduced(t.model,f),f++,yield{type:"text_delta",delta:G.content}),G?.tool_calls)for(let W of G.tool_calls){let D=y.get(W.index)||{arguments:""};W.id&&(D.id=W.id),W.function?.name&&(D.name=W.function.name),W.function?.arguments&&(D.arguments+=W.function.arguments),y.set(W.index,D),this.telemetry?.reportChunkProduced(t.model,f),f++,yield{type:"tool_call_delta",index:W.index,id:W.id,name:W.function?.name,argumentsDelta:W.function?.arguments}}V.usage&&(v={promptTokens:V.usage.prompt_tokens,completionTokens:V.usage.completion_tokens,totalTokens:V.usage.total_tokens})}catch{}}}}finally{c.releaseLock()}let x=[],M=m.join("");M&&x.push({type:"text",text:M});for(let[,C]of[...y.entries()].sort((S,O)=>S[0]-O[0]))x.push({type:"tool_call",toolCall:{id:C.id||qr(),name:C.name||"",arguments:C.arguments}});let T={id:qr(),model:t.model,output:x,finishReason:y.size>0?"tool_calls":"stop",usage:v},A=performance.now()-i;this.telemetry?.reportInferenceCompleted(t.model,A,{target:"cloud",method:"responses.stream",locality:"cloud"}),this.cacheResponse(T),yield{type:"done",response:T}}resolveLocalRuntime(t){return this.localRuntime?typeof this.localRuntime=="function"?this.localRuntime(t)??null:this.localRuntime:null}cacheResponse(t){if(this.responseCache.size>=this.MAX_CACHE){let r=this.responseCache.keys().next().value;r&&this.responseCache.delete(r)}this.responseCache.set(t.id,t)}async createLocal(t,r){let n=this.buildEffectiveRequest(t);this.telemetry?.reportInferenceStarted(t.model,{target:"device",method:"responses.create",locality:"local"});let s=performance.now();try{let a=await r.create(n);return this.cacheResponse(a),this.telemetry?.reportInferenceCompleted(t.model,performance.now()-s,{target:"device",method:"responses.create",locality:"local"}),a}catch(a){throw this.telemetry?.reportInferenceFailed(t.model,"local_runtime_error",String(a)),a}}async*streamLocal(t,r){let n=this.buildEffectiveRequest(t);this.telemetry?.reportInferenceStarted(t.model,{target:"device",method:"responses.stream",locality:"local"});let s=performance.now(),a=0;try{for await(let o of r.stream(n))o.type!=="done"?(this.telemetry?.reportChunkProduced(t.model,a),a++):(this.cacheResponse(o.response),this.telemetry?.reportInferenceCompleted(t.model,performance.now()-s,{target:"device",method:"responses.stream",locality:"local"})),yield o}catch(o){throw this.telemetry?.reportInferenceFailed(t.model,"local_runtime_error",String(o)),o}}buildEffectiveRequest(t){let r=this.normalizeInput(t.input);if(t.previousResponseId){let n=this.responseCache.get(t.previousResponseId);n&&r.unshift({role:"assistant",content:n.output})}return t.instructions&&r.unshift({role:"system",content:t.instructions}),{...t,input:r,instructions:void 0,previousResponseId:void 0}}buildRequestBody(t,r){let n=this.buildMessages(this.buildEffectiveRequest(t));return{model:t.model,messages:n,max_tokens:t.maxOutputTokens,temperature:t.temperature,top_p:t.topP,stop:t.stop,stream:r,tools:t.tools?.map(s=>({type:"function",function:s.function}))}}buildMessages(t){return this.normalizeInput(t.input).map(n=>this.inputItemToMessage(n))}normalizeInput(t){return typeof t=="string"?[{role:"user",content:t}]:this.isResponseInputItems(t)?t.map(r=>({...r})):[{role:"user",content:t}]}isResponseInputItems(t){return t.every(r=>"role"in r)}inputItemToMessage(t){switch(t.role){case"system":return{role:"system",content:typeof t.content=="string"?t.content:""};case"user":return{role:"user",content:this.inputContentToMessageContent(t.content)};case"assistant":return this.assistantInputToMessage(t);case"tool":return{role:"tool",content:typeof t.content=="string"?t.content:"",tool_call_id:t.toolCallId};default:return{role:t.role,content:typeof t.content=="string"?t.content:""}}}assistantInputToMessage(t){if(typeof t.content=="string"||t.content==null)return{role:"assistant",content:t.content??""};if(this.isResponseOutputItems(t.content)){let r=t.content.filter(s=>s.type==="text"&&typeof s.text=="string").map(s=>s.text),n=t.content.filter(s=>s.type==="tool_call"&&!!s.toolCall).map(s=>({id:s.toolCall.id,type:"function",function:{name:s.toolCall.name,arguments:s.toolCall.arguments}}));return{role:"assistant",content:r.join(""),...n.length>0?{tool_calls:n}:{}}}return{role:"assistant",content:this.contentBlocksToParts(t.content)}}isResponseOutputItems(t){return t.every(r=>r.type==="text"||r.type==="tool_call")}inputContentToMessageContent(t){return typeof t=="string"||t==null?t??"":this.isResponseOutputItems(t)?t.filter(r=>r.type==="text"&&typeof r.text=="string").map(r=>r.text).join(""):this.contentBlocksToParts(t)}contentBlocksToParts(t){return t.map(r=>this.contentBlockToPart(r))}contentBlockToPart(t){switch(t.type){case"text":return{type:"text",text:t.text??""};case"image":return t.imageUrl?{type:"image_url",image_url:{url:t.imageUrl}}:t.data?{type:"image_url",image_url:{url:`data:${t.mediaType??"image/png"};base64,${t.data}`}}:{type:"text",text:t.text??"[image]"};case"audio":if(t.data){let n=(t.mediaType??"audio/wav").split("/")[1]??"wav";return{type:"input_audio",input_audio:{data:t.data,format:n}}}return{type:"text",text:t.text??"[audio]"};case"video":return t.data?{type:"image_url",image_url:{url:`data:${t.mediaType??"video/mp4"};base64,${t.data}`}}:{type:"text",text:t.text??"[video]"};case"file":{let r=t.mediaType??"";if(t.data&&r.startsWith("image/"))return{type:"image_url",image_url:{url:`data:${r};base64,${t.data}`}};if(t.data&&r.startsWith("audio/")){let n=r.split("/")[1]??"wav";return{type:"input_audio",input_audio:{data:t.data,format:n}}}return t.data&&r.startsWith("video/")?{type:"image_url",image_url:{url:`data:${r};base64,${t.data}`}}:{type:"text",text:t.text??`[file: ${r||"unknown"}]`}}default:return{type:"text",text:t.text??""}}}parseResponse(t,r){let s=r.choices?.[0],a=[],o=s?.message;if(o?.content&&a.push({type:"text",text:o.content}),o?.tool_calls)for(let l of o.tool_calls){let c=l.function;a.push({type:"tool_call",toolCall:{id:l.id,name:c.name,arguments:c.arguments}})}let i=r.usage;return{id:r.id||qr(),model:t,output:a,finishReason:s?.finish_reason||"stop",usage:i?{promptTokens:i.prompt_tokens,completionTokens:i.completion_tokens,totalTokens:i.total_tokens}:void 0}}};function qr(){return`resp_${Date.now().toString(36)}${Math.random().toString(36).slice(2,10)}`}var mO=3e5,Fu="octomil_routing_cache",jn=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"cacheTtlMs");w(this,"prefer");w(this,"cache",new Map);w(this,"lastRouteWasOffline",!1);this.serverUrl=t.serverUrl.replace(/\/+$/,""),this.apiKey=t.apiKey,this.cacheTtlMs=t.cacheTtlMs??mO,this.prefer=t.prefer??"fastest"}async route(t,r,n,s){this.lastRouteWasOffline=!1;let a=this.cache.get(t);if(a&&a.expiresAt>Date.now())return a.decision;let o={model_id:t,model_params:r,model_size_mb:n,device_capabilities:s,prefer:this.prefer},i;try{i=await fetch(`${this.serverUrl}/api/v1/route`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify(o)})}catch{return this.offlineFallback(t)}if(!i.ok)return this.offlineFallback(t);let l=await i.json();return this.cache.set(t,{decision:l,expiresAt:Date.now()+this.cacheTtlMs}),this.persistToStorage(t,l),l}async cloudInfer(t,r,n={}){let s={model_id:t,input_data:r,parameters:n},a;try{a=await fetch(`${this.serverUrl}/api/v1/inference`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`},body:JSON.stringify(s)})}catch(o){throw new U("NETWORK_UNAVAILABLE",`Cloud inference request failed: ${String(o)}`,o)}if(!a.ok)throw new U("INFERENCE_FAILED",`Cloud inference failed: HTTP ${a.status}`);return await a.json()}clearCache(){this.cache.clear();try{localStorage.removeItem(Fu)}catch{}}invalidate(t){this.cache.delete(t);let r=this.loadPersistentCache();delete r[t],this.savePersistentCache(r)}offlineFallback(t){this.lastRouteWasOffline=!0;let n=this.loadPersistentCache()[t];return n?{...n,cached:!0,offline:!1}:{id:`offline-${t}`,target:"device",format:"onnx",engine:"ort-wasm",fallback_target:null,cached:!1,offline:!0}}persistToStorage(t,r){let n=this.loadPersistentCache();n[t]=r,this.savePersistentCache(n)}loadPersistentCache(){try{let t=localStorage.getItem(Fu);return t?JSON.parse(t):{}}catch{return{}}}savePersistentCache(t){try{localStorage.setItem(Fu,JSON.stringify(t))}catch{}}};async function ho(){let e=await _O(),t=navigator.deviceMemory,r=t?Math.round(t*1024):0,n=["wasm"];return e&&n.push("webgpu"),{platform:"web",model:navigator.userAgent,total_memory_mb:r,gpu_available:e,npu_available:!1,supported_runtimes:n}}async function _O(){if(typeof navigator>"u")return!1;try{let e=navigator.gpu;return e?await e.requestAdapter()!==null:!1}catch{return!1}}var fr={inferenceStarted:"inference.started",inferenceCompleted:"inference.completed",inferenceFailed:"inference.failed",inferenceChunkProduced:"inference.chunk_produced",deployStarted:"deploy.started",deployCompleted:"deploy.completed"},Nu={"inference.started":["model.id"],"inference.completed":["model.id","inference.duration_ms"],"inference.failed":["model.id","error.type","error.message"],"inference.chunk_produced":["model.id","inference.chunk_index"],"deploy.started":["model.id","model.version"],"deploy.completed":["model.id","deploy.duration_ms"]};var Ds={serviceName:"service.name",serviceVersion:"service.version",telemetrySdkName:"telemetry.sdk.name",telemetrySdkLanguage:"telemetry.sdk.language",telemetrySdkVersion:"telemetry.sdk.version",octomilOrgId:"octomil.org.id",octomilDeviceId:"octomil.device.id",octomilPlatform:"octomil.platform",octomilSdkSurface:"octomil.sdk.surface",octomilInstallId:"octomil.install.id",octomilDeviceClass:"octomil.device.class",octomilAvailableRuntimes:"octomil.available_runtimes",octomilAccelerators:"octomil.accelerators"};var vg="octomil_install_id",Bs=null;function fo(){if(Bs!==null)return Bs;try{let t=localStorage.getItem(vg);if(t)return Bs=t,t}catch{}let e=crypto.randomUUID();try{localStorage.setItem(vg,e)}catch{}return Bs=e,e}function bg(){Bs=null}var gO=3e4,wO=50,yO="https://api.octomil.com/v2/telemetry/events",Du="browser",vO="1.0.0",Hr=class{constructor(t={}){w(this,"url");w(this,"flushIntervalMs");w(this,"maxBatchSize");w(this,"apiKey");w(this,"authHeadersProvider");w(this,"resource");w(this,"queue",[]);w(this,"timerId",null);w(this,"disposed",!1);this.url=t.url??yO,this.flushIntervalMs=t.flushIntervalMs??gO,this.maxBatchSize=t.maxBatchSize??wO,this.apiKey=t.apiKey,this.authHeadersProvider=t.authHeadersProvider,this.resource={sdk:Du,sdk_version:t.sdkVersion??vO,device_id:t.deviceId??bO(),platform:Du,org_id:t.orgId??""},this.startAutoFlush()}updateResource(t){for(let[r,n]of Object.entries(t))r==="device.id"?this.resource.device_id=n:r==="org.id"?this.resource.org_id=n:r==="platform"&&(this.resource.platform=n)}track(t){this.disposed||(this.queue.push(t),this.queue.length>=this.maxBatchSize&&this.flush())}async flush(){if(this.queue.length===0)return;let t=this.queue.splice(0,this.maxBatchSize);await this.send(t)}async batch(t){t.length!==0&&await this.send(t)}close(){if(!this.disposed&&(this.disposed=!0,this.timerId!==null&&(clearInterval(this.timerId),this.timerId=null),this.queue.length>0)){let t=this.queue.splice(0),r=this.buildEnvelope(t);this.sendBeaconPayload(r)||this.send(t)}}reportInferenceStarted(t,r){this.track(this.makeEvent(fr.inferenceStarted,{"model.id":t,...r}))}reportInferenceCompleted(t,r,n){this.track(this.makeEvent(fr.inferenceCompleted,{"model.id":t,"inference.duration_ms":r,...n}))}reportInferenceFailed(t,r,n){this.track(this.makeEvent(fr.inferenceFailed,{"model.id":t,"error.type":r,"error.message":n}))}reportInferenceChunk(t,r){this.track(this.makeEvent(fr.inferenceChunkProduced,{"model.id":t,...r}))}reportChunkProduced(t,r,n){this.track(this.makeEvent(fr.inferenceChunkProduced,{"model.id":t,"inference.chunk_index":r,...n}))}reportTrainingStarted(t,r){this.track(this.makeEvent("training.started",{modelId:t,version:r}))}reportTrainingCompleted(t,r,n){this.track(this.makeEvent("training.completed",{modelId:t,version:r,durationMs:n}))}reportTrainingFailed(t,r,n){this.track(this.makeEvent("training.failed",{modelId:t,version:r,errorType:n}))}reportWeightUpload(t,r,n){this.track(this.makeEvent("training.weight_upload",{modelId:t,roundId:r,sampleCount:n}))}reportDeployStarted(t,r){this.track(this.makeEvent("deploy.started",{modelId:t,version:r}))}reportDeployCompleted(t,r,n){this.track(this.makeEvent("deploy.completed",{modelId:t,version:r,durationMs:n}))}reportDeployRollback(t,r,n,s){this.track(this.makeEvent("deploy.rollback",{modelId:t,fromVersion:r,toVersion:n,reason:s}))}reportExperimentAssigned(t,r,n){this.track(this.makeEvent("experiment.assigned",{modelId:t,experimentId:r,variant:n}))}reportExperimentMetric(t,r,n){this.track(this.makeEvent("experiment.metric",{experimentId:t,metricName:r,metricValue:n}))}makeEvent(t,r){return{name:t,timestamp:new Date().toISOString(),traceId:Bu(16),spanId:Bu(8),attributes:r}}startAutoFlush(){typeof setInterval>"u"||(this.timerId=setInterval(()=>{this.flush()},this.flushIntervalMs))}buildEnvelope(t){let r=this.resourceToOtlpAttributes(),n=t.map(s=>this.eventToLogRecord(s));return{resourceLogs:[{resource:{attributes:r},scopeLogs:[{scope:{name:`@octomil/${Du}`,version:this.resource.sdk_version},logRecords:n}]}]}}resourceToOtlpAttributes(){let t=[{key:"sdk",value:{stringValue:this.resource.sdk}},{key:"sdk_version",value:{stringValue:this.resource.sdk_version}},{key:"device_id",value:{stringValue:this.resource.device_id}},{key:"platform",value:{stringValue:this.resource.platform}},{key:"org_id",value:{stringValue:this.resource.org_id}}],r=fo();return r&&t.push({key:Ds.octomilInstallId,value:{stringValue:r}}),t}eventToLogRecord(t){let r=Object.entries(t.attributes).map(([n,s])=>({key:n,value:this.toOtlpValue(s)}));return{timeUnixNano:String(new Date(t.timestamp).getTime()*1e6),severityNumber:9,severityText:"INFO",body:{stringValue:t.name},attributes:r,traceId:t.traceId,spanId:t.spanId}}toOtlpValue(t){return typeof t=="string"?{stringValue:t}:typeof t=="boolean"?{boolValue:t}:Number.isInteger(t)?{intValue:String(t)}:{doubleValue:t}}async send(t){let r=this.buildEnvelope(t),n=JSON.stringify(r),s=this.authHeadersProvider?.()??null;try{if(!s&&this.sendBeaconPayload(r))return;let a={"Content-Type":"application/json"};s?Object.assign(a,s):this.apiKey&&(a.Authorization=`Bearer ${this.apiKey}`),await fetch(this.url,{method:"POST",headers:a,body:n,keepalive:!0})}catch{}}sendBeaconPayload(t){if(typeof navigator>"u"||!navigator.sendBeacon)return!1;try{let r=new Blob([JSON.stringify(t)],{type:"application/json"});return navigator.sendBeacon(this.url,r)}catch{return!1}}};function Bu(e){let t=new Uint8Array(e);if(typeof crypto<"u"&&crypto.getRandomValues)crypto.getRandomValues(t);else for(let r=0;r<e;r++)t[r]=Math.floor(Math.random()*256);return Array.from(t).map(r=>r.toString(16).padStart(2,"0")).join("")}function bO(){return`dev_${Bu(8)}`}var Wr=null;function Mg(e={}){return Wr&&Wr.close(),Wr=new Hr(e),Wr}function xg(){return Wr}function Tg(){Wr?.close(),Wr=null}var Us=class{constructor(t){this.runPrediction=t}async create(t){return{output:await this.runPrediction({text:t.input})}}},qn=class{constructor(t){w(this,"predictions");this.predictions=new Us(t)}async predict(t){return this.predictions.create({input:t}).then(r=>r.output)}};var mo=class{constructor(t){w(this,"options");w(this,"cache");w(this,"loader");w(this,"engine");w(this,"inferenceEngine");w(this,"routingClient",null);w(this,"deviceContext");w(this,"telemetry",null);w(this,"deviceCaps",null);w(this,"_responses",null);w(this,"_chat",null);w(this,"_control",null);w(this,"_capabilities",null);w(this,"_models",null);w(this,"_audio",null);w(this,"_text",null);w(this,"loaded",!1);w(this,"closed",!1);w(this,"_warmedUp",!1);let r=t.auth,n=r?.serverUrl,s=r?.type==="org_api_key"?r.apiKey:r?.type==="device_token"?r.bootstrapToken:void 0,a=r?.type==="org_api_key"?r.orgId:Ns()?.orgId??void 0;this.deviceContext=Ns(),this.options={telemetry:!1,cacheStrategy:"cache-api",...t,serverUrl:n,apiKey:s},this.cache=lo(this.options.cacheStrategy),this.loader=new $n(this.options,this.cache);let o=t.runtime?null:new zn;this.engine=t.runtime??o,this.inferenceEngine=o,n&&s&&this.options.routing&&(this.routingClient=new jn({serverUrl:n,apiKey:s,cacheTtlMs:this.options.routing.cacheTtlMs,prefer:this.options.routing.prefer})),this.options.telemetry&&(this.telemetry=new Hr({url:this.options.telemetryUrl,apiKey:s,authHeadersProvider:()=>this.deviceContext?.authHeaders()??null,orgId:a,deviceId:this.deviceContext?.installationId}),this.deviceContext&&this.telemetry.updateResource(this.deviceContext.telemetryResource()))}async load(){this.ensureNotClosed();let t=performance.now(),r=await this.loader.load();await this.engine.createSession(r,this.options.backend),this.loaded=!0;let n=performance.now()-t;this.telemetry?.reportDeployStarted(this.options.model,"latest"),this.telemetry?.reportDeployCompleted(this.options.model,"latest",n)}async warmup(){if(this.ensureReady(),this._warmedUp)return;let t=this.inferenceEngine?this.inferenceEngine.inputNames[0]:void 0;if(t){let r={[t]:{data:new Float32Array([0]),dims:[1,1]}};try{await this.engine.run(r)}catch{}}this._warmedUp=!0}get isWarmedUp(){return this._warmedUp}async predict(t){if(this.ensureReady(),this.routingClient){let s=await this.tryCloudInference(t);if(s)return s}let r=this.prepareTensors(t);this.telemetry?.reportInferenceStarted(this.options.model,{target:"device"});let n=await this.engine.run(r);return this.telemetry?.reportInferenceCompleted(this.options.model,n.latencyMs,{backend:this.inferenceEngine?.activeBackend??"unknown",target:"device"}),n}async predictBatch(t){this.ensureReady();let r=performance.now(),n=[];for(let a of t){let o=this.prepareTensors(a),i=await this.engine.run(o);n.push(i)}let s=performance.now()-r;return this.telemetry?.reportInferenceCompleted(this.options.model,s,{backend:this.inferenceEngine?.activeBackend??"unknown",batchSize:t.length}),n}async createChat(t,r={}){return this.chat.create(t,r)}async*createChatStream(t,r={}){yield*this.chat.stream(t,r)}async*predictStream(t,r,n,s){if(!this.options.serverUrl||!this.options.apiKey)throw new U("INFERENCE_FAILED","predictStream() requires serverUrl and apiKey to be configured.");let a=`${this.options.serverUrl.replace(/\/+$/,"")}/api/v1/inference/stream`,o={model_id:t};typeof r=="string"?o.input_data=r:o.messages=r,n&&(o.parameters=n);let i={"Content-Type":"application/json",Accept:"text/event-stream",Authorization:`Bearer ${this.options.apiKey}`},l;try{l=await fetch(a,{method:"POST",headers:i,body:JSON.stringify(o),signal:s})}catch(m){throw new U("NETWORK_UNAVAILABLE",`predictStream request failed: ${String(m)}`,m)}if(!l.ok)throw new U("INFERENCE_FAILED",`predictStream failed: HTTP ${l.status}`);if(!l.body)throw new U("INFERENCE_FAILED","Server did not return a streaming body.");let c=l.body.getReader(),u=new TextDecoder,p="",f=0;try{for(;;){let{done:m,value:y}=await c.read();if(m)break;p+=u.decode(y,{stream:!0});let v=p.split(`
|
|
37
|
+
`);p=v.pop()??"";for(let x of v){if(!x.startsWith("data:"))continue;let M=x.slice(5).trim();if(!M)continue;let T;try{T=JSON.parse(M)}catch{continue}this.telemetry?.reportChunkProduced(t,f),f++,yield{token:T.token??"",done:T.done??!1,provider:T.provider,latencyMs:T.latency_ms,sessionId:T.session_id}}}}finally{c.releaseLock()}}async embed(t,r,n){if(!this.options.serverUrl||!this.options.apiKey)throw new U("NETWORK_UNAVAILABLE","embed() requires serverUrl and apiKey to be configured.");return po(this.options.serverUrl,this.options.apiKey,t,r,n)}async isCached(){return this.ensureNotClosed(),this.loader.isCached()}async clearCache(){return this.ensureNotClosed(),this.loader.clearCache()}async cacheInfo(){return this.ensureNotClosed(),this.loader.getCacheInfo()}get activeBackend(){return this.inferenceEngine?.activeBackend??null}get inputNames(){if(this.ensureReady(),!this.inferenceEngine)throw new U("INVALID_INPUT","inputNames not available with custom runtime");return this.inferenceEngine.inputNames}get outputNames(){if(this.ensureReady(),!this.inferenceEngine)throw new U("INVALID_INPUT","outputNames not available with custom runtime");return this.inferenceEngine.outputNames}get isLoaded(){return this.loaded}get chat(){return this._chat||(this._chat=new Bn({model:this.options.model,serverUrl:this.options.serverUrl,apiKey:this.options.apiKey,getResponses:()=>this.responses,ensureReady:()=>this.ensureReady()})),this._chat}get responses(){return this._responses||(this._responses=new Gn({serverUrl:this.options.serverUrl,apiKey:this.options.apiKey,telemetry:this.telemetry,deviceContext:this.deviceContext,localRuntime:this.options.responsesRuntime})),this._responses}get control(){return this._control||(this._control=new Un({serverUrl:this.options.serverUrl,apiKey:this.options.apiKey,orgId:this.options.auth?.type==="org_api_key"?this.options.auth.orgId:void 0,deviceContext:this.deviceContext,telemetry:this.telemetry})),this._control}get capabilities(){return this._capabilities||(this._capabilities=new Dn),this._capabilities}get models(){return this._models||(this._models=new Vn(this.options.model,this.loader,()=>{})),this._models}get audio(){if(!this._audio){if(!this.options.serverUrl||!this.options.apiKey)throw new U("INVALID_INPUT","audio requires serverUrl and apiKey to be configured.");this._audio=new Nn(this.options.serverUrl,this.options.apiKey)}return this._audio}get text(){return this._text||(this._text=new qn(t=>this.predict(t))),this._text}close(){this.closed||(this.closed=!0,this.loaded=!1,this.engine.dispose(),this.telemetry?.close(),this.telemetry=null,this._responses=null,this._chat=null,this._control?.stopHeartbeat(),this._control=null,this._capabilities=null,this._models=null,this._audio=null,this._text=null,this._warmedUp=!1)}ensureNotClosed(){if(this.closed)throw new U("CANCELLED","This OctomilClient instance has been closed. Create a new one.")}ensureReady(){if(this.ensureNotClosed(),!this.loaded)throw new U("MODEL_LOAD_FAILED","Model not loaded. Call load() before predict() or chat().")}prepareTensors(t){if(this.isNamedTensors(t))return t;if("raw"in t&&"dims"in t){let r=this.inferenceEngine.inputNames[0];if(!r)throw new U("INVALID_INPUT","Model has no input tensors defined.");return{[r]:{data:t.raw,dims:t.dims}}}if("text"in t){let r=this.inferenceEngine.inputNames[0];if(!r)throw new U("INVALID_INPUT","Model has no input tensors defined.");let n=new Int32Array(Array.from(t.text).map(s=>s.codePointAt(0)??0));return{[r]:{data:n,dims:[1,n.length]}}}if("image"in t)return this.imageToTensors(t.image);throw new U("INVALID_INPUT","Unrecognised PredictInput format. Provide named tensors, { text }, { image }, or { raw, dims }.")}isNamedTensors(t){if("text"in t||"image"in t||"raw"in t)return!1;let r=Object.values(t)[0];return r!==void 0&&typeof r=="object"&&"data"in r&&"dims"in r}imageToTensors(t){let r;if(t instanceof ImageData)r=t;else{let c=t instanceof HTMLCanvasElement?t:(()=>{let p=document.createElement("canvas");return p.width=t.naturalWidth||t.width,p.height=t.naturalHeight||t.height,p.getContext("2d").drawImage(t,0,0),p})(),u=c.getContext("2d");if(!u)throw new U("INVALID_INPUT","Could not get 2D context from canvas.");r=u.getImageData(0,0,c.width,c.height)}let{width:n,height:s,data:a}=r,o=n*s,i=new Float32Array(3*o);for(let c=0;c<o;c++)i[c]=a[c*4]/255,i[o+c]=a[c*4+1]/255,i[2*o+c]=a[c*4+2]/255;let l=this.inferenceEngine?.inputNames[0];if(!l)throw new U("INVALID_INPUT","Model has no input tensors defined.");return{[l]:{data:i,dims:[1,3,s,n]}}}async tryCloudInference(t){try{this.deviceCaps||(this.deviceCaps=await ho());let r=this.options.routing,n=await this.routingClient.route(this.options.model,r.modelParams??0,r.modelSizeMb??0,this.deviceCaps);if(!n||n.target!=="cloud")return null;let s=performance.now(),a=await this.routingClient.cloudInfer(this.options.model,t),o=performance.now()-s;return this.telemetry?.reportInferenceCompleted(this.options.model,o,{target:"cloud",provider:a.provider,routingId:n.id}),{tensors:{},latencyMs:o,...typeof a.output=="object"&&a.output!==null?a.output:{label:String(a.output)}}}catch{return null}}};var _o=class extends Pt{constructor(t={}){super(t)}async getAlertRule(t,r){return this.requestJson(`/api/v1/monitoring/alerts/${encodeURIComponent(t)}`,{method:"GET"},{org_id:r??this.orgId})}async updateAlertRule(t,r,n){return this.requestJson(`/api/v1/monitoring/alerts/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)},{org_id:n??this.orgId})}async deleteAlertRule(t,r){await this.requestVoid(`/api/v1/monitoring/alerts/${encodeURIComponent(t)}`,{method:"DELETE"},{org_id:r??this.orgId})}};var go=class extends Pt{constructor(t={}){super(t)}async createCheckoutSession(t,r){return this.requestJson("/api/v1/settings/billing/checkout",{method:"POST",body:JSON.stringify(t)},{org_id:r??this.orgId})}async createPortalSession(t,r){return this.requestJson("/api/v1/settings/billing/portal",{method:"POST",body:JSON.stringify(t)},{org_id:r??this.orgId})}async updateBilling(t,r){return this.requestJson("/api/v1/settings/billing",{method:"PATCH",body:JSON.stringify(t)},{org_id:r??this.orgId})}async getUsageLimits(t){return this.requestJson("/api/v1/settings/usage-limits",{method:"GET"},{org_id:t??this.orgId})}async updateUsageLimits(t,r){return this.requestJson("/api/v1/settings/usage-limits",{method:"PUT",body:JSON.stringify(t)},{org_id:r??this.orgId})}async getIntegration(t,r){return this.requestJson(`/api/v1/settings/integrations/${encodeURIComponent(t)}`,{method:"GET"},{org_id:r??this.orgId})}async updateIntegration(t,r,n){return this.requestJson(`/api/v1/settings/integrations/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(r)},{org_id:n??this.orgId})}async deleteIntegration(t,r){await this.requestVoid(`/api/v1/settings/integrations/${encodeURIComponent(t)}`,{method:"DELETE"},{org_id:r??this.orgId})}async validateIntegration(t,r){return this.requestJson(`/api/v1/settings/integrations/${encodeURIComponent(t)}/validate`,{method:"POST",body:JSON.stringify({})},{org_id:r??this.orgId})}};var wo=class extends Pt{constructor(r){super(r);w(this,"getDeviceId");this.getDeviceId=r.getDeviceId}async createJob(r){return this.requestJson(`/api/v1/devices/${encodeURIComponent(this.requireDeviceId())}/training-jobs`,{method:"POST",body:JSON.stringify(r)})}async jobStatus(r,n){return this.requestJson(`/api/v1/devices/${encodeURIComponent(this.requireDeviceId())}/training-jobs/${encodeURIComponent(r)}/status`,{method:"POST",body:JSON.stringify(n)})}async jobComplete(r,n){return this.requestJson(`/api/v1/devices/${encodeURIComponent(this.requireDeviceId())}/training-jobs/${encodeURIComponent(r)}/complete`,{method:"POST",body:JSON.stringify(n)})}requireDeviceId(){let r=this.getDeviceId();if(!r)throw new U("DEVICE_NOT_REGISTERED","This operation requires a registered device ID.");return r}};var yo=class{constructor(t){this.control=t}async desiredState(){return this.control.fetchDesiredState()}async observedState(t=[]){await this.control.reportObservedState(t)}async sync(t={}){return this.control.sync(t)}};async function zs(e){let t=await crypto.subtle.digest("SHA-256",e),r=new Uint8Array(t);return Array.from(r).map(n=>n.toString(16).padStart(2,"0")).join("")}async function Uu(e,t){return await zs(e)===t.toLowerCase()}async function Eg(e,t){if(!await Uu(e,t))throw new U("MODEL_LOAD_FAILED","Model integrity check failed: SHA-256 hash mismatch. The downloaded model may be corrupted or tampered with.")}var MO="octomil-sync-meta",vo="models",xO=1,zu=class{constructor(){w(this,"dbPromise",null)}openDB(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,r)=>{let n=indexedDB.open(MO,xO);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(vo)||s.createObjectStore(vo,{keyPath:"modelId"})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)}),this.dbPromise)}async tx(t){return(await this.openDB()).transaction(vo,t).objectStore(vo)}async get(t){let r=await this.tx("readonly");return new Promise((n,s)=>{let a=r.get(t);a.onsuccess=()=>n(a.result??null),a.onerror=()=>s(a.error)})}async put(t){let r=await this.tx("readwrite");return new Promise((n,s)=>{let a=r.put(t);a.onsuccess=()=>n(),a.onerror=()=>s(a.error)})}async getAll(){let t=await this.tx("readonly");return new Promise((r,n)=>{let s=t.getAll();s.onsuccess=()=>r(s.result),s.onerror=()=>n(s.error)})}async remove(t){let r=await this.tx("readwrite");return new Promise((n,s)=>{let a=r.delete(t);a.onsuccess=()=>n(),a.onerror=()=>s(a.error)})}},bo=class{constructor(t){w(this,"control");w(this,"cache");w(this,"intervalMs");w(this,"onEvent");w(this,"meta");w(this,"timer",null);w(this,"syncing",!1);this.control=t.control,this.cache=t.cache,this.intervalMs=t.intervalMs??3e5,this.onEvent=t.onEvent,this.meta=new zu}start(){this.stop(),this.sync(),this.intervalMs>0&&(this.timer=setInterval(()=>{this.sync()},this.intervalMs))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}get isRunning(){return this.timer!==null}async sync(){if(this.syncing)return;this.syncing=!0;let t=0,r=0,n=0;try{this.emit({type:"sync_start"});let s=await this.control.fetchDesiredState(),a=this.parseDesiredEntries(s);for(let o of a)try{let i=await this.reconcileEntry(o);i.downloaded&&t++,i.activated&&r++}catch(i){n++,this.emit({type:"download_error",modelId:o.modelId,error:String(i)})}await this.garbageCollect(s,a),await this.reportState(),this.emit({type:"sync_complete",downloaded:t,activated:r,errors:n})}catch(s){this.emit({type:"error",error:String(s)})}finally{this.syncing=!1}}async getLocalModels(){return this.meta.getAll()}async getModelMeta(t){return this.meta.get(t)}async activate(t){let r=await this.meta.get(t);if(!r)throw new U("MODEL_NOT_FOUND",`No local model found for ${t}`);r.status!=="active"&&(r.status="active",await this.meta.put(r),this.emit({type:"activate",modelId:t,version:r.modelVersion}))}parseDesiredEntries(t){return t.models}async reconcileEntry(t){let r=await this.meta.get(t.modelId);if(r&&r.modelVersion===t.desiredVersion&&r.status==="active")return{downloaded:!1,activated:!1};if(r&&r.modelVersion===t.desiredVersion&&r.status==="staged")return this.shouldActivate(t.activationPolicy)?(r.status="active",await this.meta.put(r),this.emit({type:"activate",modelId:t.modelId,version:t.desiredVersion}),{downloaded:!1,activated:!0}):{downloaded:!1,activated:!1};if(!t.artifactManifest?.downloadUrl)return{downloaded:!1,activated:!1};this.emit({type:"download_start",modelId:t.modelId});let n=await this.downloadArtifact(t.artifactManifest.downloadUrl);if(t.artifactManifest.sha256){let i=await zs(n);if(i!==t.artifactManifest.sha256.toLowerCase())throw new U("MODEL_LOAD_FAILED",`Integrity check failed for ${t.modelId}: expected ${t.artifactManifest.sha256}, got ${i}`)}let s=t.artifactManifest.downloadUrl;await this.cache.put(s,n),this.emit({type:"download_complete",modelId:t.modelId,sizeBytes:n.byteLength});let a=this.shouldActivate(t.activationPolicy),o={modelId:t.modelId,modelVersion:t.desiredVersion,bindingKey:t.bindingKey,useCase:t.useCase,deploymentId:t.deploymentId,deploymentKey:t.deploymentKey,modelName:t.modelName,modelRef:t.modelRef,artifactUrl:s,sha256:t.artifactManifest.sha256,installedAt:new Date().toISOString(),status:a?"active":"staged",sizeBytes:n.byteLength};return await this.meta.put(o),a&&this.emit({type:"activate",modelId:t.modelId,version:t.desiredVersion}),{downloaded:!0,activated:a}}shouldActivate(t){switch(t){case"immediate":case void 0:return!0;case"manual":return!1;case"next_launch":return!1;case"when_idle":return!0;default:return!0}}async downloadArtifact(t){let r;try{r=await fetch(t)}catch(n){throw new U("NETWORK_UNAVAILABLE",`Failed to download artifact from ${t}: ${String(n)}`,n)}if(!r.ok)throw new U("MODEL_LOAD_FAILED",`Artifact download failed: HTTP ${r.status}`);return r.arrayBuffer()}async garbageCollect(t,r){let n=new Set(t.gcEligibleArtifactIds??[]),s=new Set(r.map(o=>o.modelId)),a=await this.meta.getAll();for(let o of a)(n.has(o.modelId)||!s.has(o.modelId))&&(await this.cache.remove(o.artifactUrl),await this.meta.remove(o.modelId))}async reportState(){let r=(await this.meta.getAll()).map(n=>({modelId:n.modelId,status:n.status,version:n.modelVersion,bindingKey:n.bindingKey,useCase:n.useCase,deploymentId:n.deploymentId,deploymentKey:n.deploymentKey,modelName:n.modelName,modelRef:n.modelRef}));try{await this.control.reportObservedState(r)}catch{}}emit(t){this.onEvent?.(t)}};var kg=3e4,Mo=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"token",null);w(this,"deviceId",null);w(this,"refreshTimer",null);w(this,"disposed",!1);this.serverUrl=t.serverUrl,this.apiKey=t.apiKey}async bootstrap(t){this.ensureNotDisposed(),this.deviceId=await this.generateDeviceId();let r=this.collectDeviceInfo(),n=await this.request("/api/v1/devices/register",{method:"POST",body:JSON.stringify({org_id:t,device_id:this.deviceId,platform:"browser",info:r})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Device registration failed: HTTP ${n.status}`);let s=await n.json();this.token={accessToken:s.token,refreshToken:s.refresh_token,expiresAt:new Date(s.expires_at).getTime()},this.scheduleRefresh()}async getToken(){if(this.ensureNotDisposed(),!this.token)throw new U("NETWORK_UNAVAILABLE","Not authenticated. Call bootstrap() first.");return this.isTokenExpiringSoon()&&await this.refreshToken(),this.token.accessToken}async refreshToken(){if(this.ensureNotDisposed(),!this.token)throw new U("NETWORK_UNAVAILABLE","No token to refresh. Call bootstrap() first.");let t=await this.request("/api/v1/auth/refresh",{method:"POST",body:JSON.stringify({refresh_token:this.token.refreshToken,device_id:this.deviceId})});if(!t.ok)throw this.token=null,new U("NETWORK_UNAVAILABLE",`Token refresh failed: HTTP ${t.status}`);let r=await t.json();this.token={accessToken:r.token,refreshToken:r.refresh_token,expiresAt:new Date(r.expires_at).getTime()},this.scheduleRefresh()}async revokeToken(){if(this.ensureNotDisposed(),!!this.token)try{await this.request("/api/v1/auth/revoke",{method:"POST",body:JSON.stringify({token:this.token.accessToken,device_id:this.deviceId})})}finally{this.clearState()}}get isAuthenticated(){return this.token!==null&&!this.isTokenExpired()}get currentDeviceId(){return this.deviceId}dispose(){this.disposed||(this.disposed=!0,this.clearRefreshTimer())}async request(t,r){let n={"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`};return fetch(`${this.serverUrl}${t}`,{...r,headers:{...n,...r.headers}})}isTokenExpired(){return this.token?Date.now()>=this.token.expiresAt:!0}isTokenExpiringSoon(){return this.token?Date.now()>=this.token.expiresAt-kg:!0}scheduleRefresh(){if(this.clearRefreshTimer(),!this.token)return;let t=Math.max(0,this.token.expiresAt-Date.now()-kg);this.refreshTimer=setTimeout(()=>{this.refreshToken().catch(()=>{})},t)}clearRefreshTimer(){this.refreshTimer!==null&&(clearTimeout(this.refreshTimer),this.refreshTimer=null)}clearState(){this.token=null,this.clearRefreshTimer()}async generateDeviceId(){let t=[typeof navigator<"u"?navigator.userAgent:"unknown",typeof screen<"u"?`${screen.width}x${screen.height}`:"0x0",typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",typeof navigator<"u"?navigator.language:"en"].join("|"),r=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",r),s=new Uint8Array(n);return Array.from(s).map(a=>a.toString(16).padStart(2,"0")).join("")}collectDeviceInfo(){return{userAgent:typeof navigator<"u"?navigator.userAgent:"unknown",language:typeof navigator<"u"?navigator.language:"en",screenWidth:typeof screen<"u"?screen.width:0,screenHeight:typeof screen<"u"?screen.height:0,timezone:typeof Intl<"u"?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",webgpu:typeof navigator<"u"&&"gpu"in navigator}}ensureNotDisposed(){if(this.disposed)throw new U("CANCELLED","DeviceAuth has been disposed.")}};var xo=class extends Pt{constructor(t={}){super(t)}async manifest(t){return this.requestJson(`/api/v1/artifacts/${encodeURIComponent(t)}/manifest`,{method:"GET"})}async downloadUrls(t,r){return this.requestJson(`/api/v1/artifacts/${encodeURIComponent(t)}/download-urls`,{method:"POST",body:JSON.stringify(r)})}};function TO(e){return e.filter(t=>t.type==="tool_call"&&!!t.toolCall).map(t=>t.toolCall)}function EO(e){return{role:"assistant",content:e.map(t=>({type:"tool_call",toolCall:t}))}}var To=class{constructor(t,r,n=10){w(this,"responses");w(this,"executor");w(this,"maxIterations");this.responses=t,this.executor=r,this.maxIterations=n}async run(t){let r=this.normalizeInput(t.input);for(let n=0;n<this.maxIterations;n++){let s=await this.responses.create({...t,input:r}),a=TO(s.output);if(a.length===0)return s;r.push(EO(a));for(let o of a){let i;try{i=await this.executor.execute(o)}catch(l){i={toolCallId:o.id,content:l instanceof Error?`Error: ${l.message}`:"Error",isError:!0}}r.push({role:"tool",toolCallId:i.toolCallId,content:i.content})}}return this.responses.create({...t,input:r,tools:[]})}normalizeInput(t){return typeof t=="string"?[{role:"user",content:t}]:t.every(r=>"role"in r)?t.map(r=>({...r})):[{role:"user",content:t}]}};var oz="Qwen/Qwen3-0.6B",iz="https://cdn.jsdelivr.net/npm/onnxruntime-web@1.24.2/dist/",WI=new Map;function HI(e={}){let t=lz(e);return{async create(r){let n=await uz(r,t);return Mz(r,t.model,n)},async*stream(r){let n=await this.create(r),s=n.output[0];s?.type==="tool_call"?yield{type:"tool_call_delta",index:0,id:s.toolCall?.id,name:s.toolCall?.name,argumentsDelta:s.toolCall?.arguments}:s?.type==="text"&&s.text&&(yield{type:"text_delta",delta:s.text}),yield{type:"done",response:n}}}}function lz(e={}){let t=e.model??oz,r=e.runtimeModel??cz(t);return{model:t,runtimeModel:r,device:e.device??"auto",dtype:e.dtype??"q4",maxNewTokens:e.maxNewTokens??128,maxInputChars:e.maxInputChars??4e3,temperature:e.temperature??0,topP:e.topP??.95,repetitionPenalty:e.repetitionPenalty??1.05,ortWasmBaseUrl:_z(e.ortWasmBaseUrl)??iz,useBrowserCache:e.useBrowserCache??!1}}function cz(e){return e.startsWith("onnx-community/")?e:`onnx-community/${e.replace(/^Qwen\//,"")}-ONNX`}async function uz(e,t){let r=await dz(t),n=gz(e,t.maxInputChars),s=mz(r,n),a=await r(s,{max_new_tokens:e.maxOutputTokens??t.maxNewTokens,temperature:e.temperature??t.temperature,top_p:e.topP??t.topP,repetition_penalty:t.repetitionPenalty,do_sample:(e.temperature??t.temperature)>0,return_full_text:!1});return bz(a)}async function dz(e){let t=await hz(e.device),r=JSON.stringify([e.runtimeModel,t,e.dtype]),n=WI.get(r);return n||(n=(async()=>{let{pipeline:s}=await pz(e);return s("text-generation",e.runtimeModel,{device:t,dtype:e.dtype})})(),WI.set(r,n)),n}async function pz(e){let t=await Promise.resolve().then(()=>(qI(),jI));t.env&&(t.env.useBrowserCache=e.useBrowserCache);let r=t.env?.backends?.onnx?.wasm;return r&&(r.wasmPaths=e.ortWasmBaseUrl,r.proxy=!1),t}var tm=null;async function hz(e){if(e==="webgpu"||e==="wasm")return e;if(tm)return tm;let t=await fz();return tm=t,t}async function fz(){try{if(typeof navigator>"u"||!("gpu"in navigator))return"wasm";let t=await navigator.gpu.requestAdapter();if(!t)return"wasm";let r=await t.requestDevice(),n=r.createShaderModule({code:`@group(0) @binding(0) var<storage, read_write> out: array<f32>;
|
|
38
|
+
@compute @workgroup_size(1)
|
|
39
|
+
fn main() { out[0] = 42.0; }`}),s=r.createBuffer({size:4,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC}),a=r.createBuffer({size:4,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),o=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.COMPUTE,buffer:{type:"storage"}}]}),i=r.createPipelineLayout({bindGroupLayouts:[o]}),l=r.createComputePipeline({layout:i,compute:{module:n,entryPoint:"main"}}),c=r.createBindGroup({layout:o,entries:[{binding:0,resource:{buffer:s}}]}),u=r.createCommandEncoder(),p=u.beginComputePass();p.setPipeline(l),p.setBindGroup(0,c),p.dispatchWorkgroups(1),p.end(),u.copyBufferToBuffer(s,0,a,0,4),r.queue.submit([u.finish()]),await a.mapAsync(GPUMapMode.READ);let m=new Float32Array(a.getMappedRange())[0];return a.unmap(),s.destroy(),a.destroy(),r.destroy(),m===42?"webgpu":"wasm"}catch{return"wasm"}}function mz(e,t){let r=e.tokenizer?.apply_chat_template;return r?r.call(e.tokenizer,t,{tokenize:!1,add_generation_prompt:!0,enable_thinking:!1}):t}function _z(e){if(e)return e.endsWith("/")?e:`${e}/`}function gz(e,t){let r=wz(e.tools),s=Tz(e.input).flatMap(a=>yz(a)).filter(a=>a!==null);return s[0]?.role==="system"?s[0]={role:"system",content:`${r}
|
|
38
40
|
|
|
39
|
-
${s[0].content}`.trim()}:s.unshift({role:"system",content:r}),
|
|
41
|
+
${s[0].content}`.trim()}:s.unshift({role:"system",content:r}),Ez(s,t)}function wz(e){let t=["You are Octomil's local browser agent runtime.","Do not reveal chain-of-thought or emit <think> tags.","Answer directly when no tool is needed."];return!e||e.length===0?t.join(`
|
|
40
42
|
`):[...t,"When a tool is required, respond with exactly one XML block in this form and no extra prose:",'<tool_call>{"name":"tool_name","arguments":{}}</tool_call>',"Use one of these tools:",...e.map(r=>`- ${r.function.name}: ${r.function.description??"No description provided"}; parameters=${JSON.stringify(r.function.parameters??{})}`)].join(`
|
|
41
|
-
`)}function
|
|
42
|
-
${
|
|
43
|
-
`):""}function
|
|
44
|
-
`):""}function
|
|
45
|
-
${e.slice(-Math.max(t-32,0)).trim()}`.trim()}function
|
|
46
|
-
`);v=A.pop()??"";for(let C of A){if(!C.startsWith("data: "))continue;let S=C.slice(6).trim();if(S==="[DONE]")break;let O;try{O=JSON.parse(S)}catch{continue}u++,p+=S.length,c===null&&(c=performance.now()-l,this.telemetry?.reportInferenceChunk(t,{chunkIndex:0,ttfc:!0,durationMs:c})),this.telemetry?.reportChunkProduced(t,u-1),yield O}}}finally{m.releaseLock()}let x=performance.now()-l;return this.telemetry?.reportInferenceCompleted(t,x,{chunkCount:u,totalBytes:p,ttfcMs:c??x}),{totalChunks:u,totalBytes:p,durationMs:x,ttfcMs:c??x}}combineSignals(...t){let r=new AbortController;for(let n of t){if(n.aborted)return r.abort(n.reason),r.signal;n.addEventListener("abort",()=>r.abort(n.reason),{once:!0})}return r.signal}};var ja=class{constructor(){w(this,"plugins",new Map)}register(t){this.plugins.set(t.name,t)}remove(t){return this.plugins.delete(t)}get(t){return this.plugins.get(t)}get engines(){return[...this.plugins.keys()]}reset(){this.plugins.clear()}async detectAll(t){let r=[];for(let n of this.sortedPlugins()){let s=await n.detect(),a=t?n.supportsModel(t):!0,o=s?await n.detectInfo():"";r.push({engine:n.name,available:s&&a,info:o})}return r}async benchmarkAll(t,r){let s=(await this.detectAll(t)).filter(o=>o.available),a=[];for(let o of s){let l=await this.plugins.get(o.engine).benchmark(t,r);a.push({engine:o.engine,result:l})}return a.sort((o,i)=>i.result.tokens_per_second-o.result.tokens_per_second),a}selectBest(t){return t.find(r=>r.result.error==null)??null}async autoSelect(t,r){let n=await this.benchmarkAll(t,r);return this.selectBest(n)}sortedPlugins(){return[...this.plugins.values()].sort((t,r)=>t.priority-r.priority)}};var Wa=class{static computeDelta(t,r){let n={};for(let s of Object.keys(t)){let a=t[s],o=r[s];if(!a||!o||a.length!==o.length)throw new U("INVALID_INPUT",`Weight dimension mismatch for "${s}".`);let i=new Float32Array(a.length);for(let l=0;l<a.length;l++)i[l]=o[l]-a[l];n[s]=i}return n}static applyDelta(t,r){let n={};for(let s of Object.keys(t)){let a=t[s],o=r[s];if(!a)continue;if(!o||a.length!==o.length){n[s]=new Float32Array(a);continue}let i=new Float32Array(a.length);for(let l=0;l<a.length;l++)i[l]=a[l]+o[l];n[s]=i}return n}static l2Norm(t){let r=0;for(let n of Object.values(t))if(n)for(let s=0;s<n.length;s++)r+=n[s]*n[s];return Math.sqrt(r)}},jc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"deviceId");w(this,"telemetry");this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.deviceId=t.deviceId,this.telemetry=t.telemetry}async getTrainingRound(t){let r=await this.request(`/api/v1/federations/${encodeURIComponent(t)}/rounds/current`);if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch training round: HTTP ${r.status}`);return await r.json()}async joinRound(t,r){let n=await this.request(`/api/v1/federations/${encodeURIComponent(t)}/rounds/${encodeURIComponent(r)}/join`,{method:"POST",body:JSON.stringify({device_id:this.deviceId})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to join round: HTTP ${n.status}`)}async offers(){let t=await this.request(`/api/v1/federation/rounds/offers?deviceId=${encodeURIComponent(this.deviceId)}`,{method:"GET"});if(!t.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch round offers: HTTP ${t.status}`);return await t.json()}async join(t,r={}){let n=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/join`,{method:"POST",body:JSON.stringify({deviceId:this.deviceId,...r})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to join federation round: HTTP ${n.status}`);return await n.json()}async plan(t){let r=await this.request(`/api/v1/federation/plans/${encodeURIComponent(t)}`,{method:"GET"});if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch federation plan: HTTP ${r.status}`);return await r.json()}async heartbeat(t,r={}){let n=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/heartbeat`,{method:"POST",body:JSON.stringify({deviceId:this.deviceId,...r})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to send federation heartbeat: HTTP ${n.status}`);return await n.json()}async uploadInitiate(t,r){let n=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/updates/initiate`,{method:"POST",body:JSON.stringify(r)});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to initiate upload: HTTP ${n.status}`);return await n.json()}async uploadComplete(t,r,n){let s=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/updates/${encodeURIComponent(r)}/complete`,{method:"POST",body:JSON.stringify(n)});if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to complete upload: HTTP ${s.status}`);return await s.json()}async train(t,r){let n=performance.now(),s=this.cloneWeights(t);for(let l=0;l<r.epochs;l++)s=(await r.onTrainStep(s,{epoch:l,batchSize:r.batchSize,learningRate:r.learningRate})).weights;let a=Wa.computeDelta(t,s),o=performance.now()-n,i=r.modelId??"unknown";return this.telemetry?.reportTrainingStarted(i,"local"),this.telemetry?.reportTrainingCompleted(i,"local",o),{finalWeights:s,delta:a}}async submitUpdate(t,r,n,s){let a={};for(let[i,l]of Object.entries(n))l&&(a[i]={data:Array.from(l),shape:[l.length]});let o=await this.request(`/api/v1/federations/${encodeURIComponent(t)}/rounds/${encodeURIComponent(r)}/submit`,{method:"POST",body:JSON.stringify({device_id:this.deviceId,delta:a,metrics:s})});if(!o.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to submit update: HTTP ${o.status}`)}async request(t,r){let n={"Content-Type":"application/json"};return this.apiKey&&(n.Authorization=`Bearer ${this.apiKey}`),fetch(`${this.serverUrl}${t}`,{...r,headers:{...n,...r?.headers}})}cloneWeights(t){let r={};for(let[n,s]of Object.entries(t))s&&(r[n]=new Float32Array(s));return r}};var qc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");this.serverUrl=t.serverUrl.replace(/\/+$/,""),this.apiKey=t.apiKey}async descriptive(t){return this.post("/api/v1/analytics/descriptive",{variable:t.variable,group_by:t.groupBy??"device_group",group_ids:t.groupIds??null,include_percentiles:t.includePercentiles??!0,filters:t.filters?Wc(t.filters):null})}async tTest(t){return this.post("/api/v1/analytics/t-test",{variable:t.variable,group_a:t.groupA,group_b:t.groupB,confidence_level:t.confidenceLevel??.95,filters:t.filters?Wc(t.filters):null})}async chiSquare(t){return this.post("/api/v1/analytics/chi-square",{variable_1:t.variable1,variable_2:t.variable2,group_ids:t.groupIds??null,confidence_level:t.confidenceLevel??.95,filters:t.filters?Wc(t.filters):null})}async anova(t){return this.post("/api/v1/analytics/anova",{variable:t.variable,group_by:t.groupBy??"device_group",group_ids:t.groupIds??null,confidence_level:t.confidenceLevel??.95,post_hoc:t.postHoc??!0,filters:t.filters?Wc(t.filters):null})}async listQueries(t=50,r=0){let n=new URLSearchParams({limit:String(t),offset:String(r)});return this.get(`/api/v1/analytics/queries?${n.toString()}`)}async getQuery(t){return this.get(`/api/v1/analytics/queries/${encodeURIComponent(t)}`)}buildHeaders(){let t={Accept:"application/json","Content-Type":"application/json"};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}async post(t,r){let n=`${this.serverUrl}${t}`,s=await fetch(n,{method:"POST",headers:this.buildHeaders(),body:JSON.stringify(r)});if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Analytics request failed: HTTP ${s.status}`);return await s.json()}async get(t){let r=`${this.serverUrl}${t}`,n=await fetch(r,{method:"GET",headers:this.buildHeaders()});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Analytics request failed: HTTP ${n.status}`);return await n.json()}};function Wc(e){return{start_time:e.startTime??null,end_time:e.endTime??null,device_platform:e.devicePlatform??null,min_sample_count:e.minSampleCount??null}}var qa=class{constructor(){w(this,"keyPair",null)}async generateKeyPair(){return this.keyPair=await crypto.subtle.generateKey({name:"ECDH",namedCurve:"P-256"},!0,["deriveBits"]),{publicKey:await crypto.subtle.exportKey("jwk",this.keyPair.publicKey)}}async deriveSharedSecret(t){if(!this.keyPair)throw new U("INVALID_INPUT","Call generateKeyPair() first.");let r=await crypto.subtle.importKey("jwk",t,{name:"ECDH",namedCurve:"P-256"},!1,[]);return crypto.subtle.deriveBits({name:"ECDH",public:r},this.keyPair.privateKey,256)}async createMask(t,r){let n=await crypto.subtle.importKey("raw",t,"HKDF",!1,["deriveBits"]),s=r*4*8,a=await crypto.subtle.deriveBits({name:"HKDF",hash:"SHA-256",salt:new Uint8Array(32),info:new TextEncoder().encode("octomil-secagg-mask")},n,Math.min(s,8160)),o=new Float32Array(r),i=new Float32Array(a);for(let l=0;l<r;l++)o[l]=i[l%i.length];return o}maskUpdate(t,r){let n={};for(let[s,a]of Object.entries(t)){if(!a)continue;let o=new Float32Array(a),i=r.get(s);if(i)for(let l=0;l<o.length;l++)o[l]=o[l]+(i[l]??0);n[s]=o}return n}unmask(t,r){let n={};for(let[s,a]of Object.entries(t)){if(!a)continue;let o=new Float32Array(a),i=r.get(s);if(i)for(let l=0;l<o.length;l++)o[l]=o[l]-(i[l]??0);n[s]=o}return n}},Ut=2147483647;function QI(e,t,r){let n=1;for(e=e%r;t>0;)t%2===1&&(n=Number(BigInt(n)*BigInt(e)%BigInt(r))),t=Math.floor(t/2),e=Number(BigInt(e)*BigInt(e)%BigInt(r));return n}function Az(e,t){return QI(e,t-2,t)}function rm(e,t,r){let n=[e%Ut];for(let a=1;a<t;a++){let o=new Uint32Array(1);crypto.getRandomValues(o),n.push(o[0]%Ut)}let s=[];for(let a=1;a<=r;a++){let o=0;for(let i=0;i<n.length;i++)o=Number((BigInt(o)+BigInt(n[i])*BigInt(QI(a,i,Ut)))%BigInt(Ut));s.push({x:a,y:o})}return s}function nm(e){let t=0,r=e.length;for(let n=0;n<r;n++){let s=1,a=1;for(let i=0;i<r;i++)n!==i&&(s=Number(BigInt(s)*BigInt(Ut-e[i].x)%BigInt(Ut)),a=Number(BigInt(a)*BigInt((e[n].x-e[i].x+Ut)%Ut)%BigInt(Ut)));let o=Number(BigInt(s)*BigInt(Az(a,Ut))%BigInt(Ut));t=Number((BigInt(t)+BigInt(e[n].y)*BigInt(o))%BigInt(Ut))}return t}var Hc=class extends qa{constructor(r){super();w(this,"threshold");this.threshold=r}splitSecret(r,n){return rm(r,this.threshold,n)}reconstructSecret(r){if(r.length<this.threshold)throw new U("INVALID_INPUT",`Need at least ${this.threshold} shares, got ${r.length}.`);return nm(r.slice(0,this.threshold))}};function JI(e,t){let r=0;for(let o of Object.values(e))if(o)for(let i=0;i<o.length;i++)r+=o[i]*o[i];let n=Math.sqrt(r);if(n<=t)return e;let s=t/n,a={};for(let[o,i]of Object.entries(e)){if(!i)continue;let l=new Float32Array(i.length);for(let c=0;c<i.length;c++)l[c]=i[c]*s;a[o]=l}return a}function XI(e,t,r,n){let s=r*Math.sqrt(2*Math.log(1.25/n))/t,a={};for(let[o,i]of Object.entries(e)){if(!i)continue;let l=new Float32Array(i.length);for(let c=0;c<i.length;c++)l[c]=i[c]+Sz()*s;a[o]=l}return a}function Sz(){let e,t;do e=Math.random(),t=Math.random();while(e===0);return Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t)}function YI(e,t=8){let r=t===8?127:32767,n={};for(let[s,a]of Object.entries(e)){if(!a)continue;let o=0;for(let c=0;c<a.length;c++){let u=Math.abs(a[c]);u>o&&(o=u)}let i=o>0?o/r:1,l=t===8?new Int8Array(a.length):new Int16Array(a.length);for(let c=0;c<a.length;c++)l[c]=Math.round(a[c]/i);n[s]={data:l,scale:i,zeroPoint:0}}return n}function ZI(e){let t={};for(let[r,n]of Object.entries(e)){if(!n)continue;let s=new Float32Array(n.data.length);for(let a=0;a<n.data.length;a++)s[a]=(n.data[a]-n.zeroPoint)*n.scale;t[r]=s}return t}var Iz="octomil-gradients",Dr="gradients";var Kc=class{constructor(){w(this,"dbPromise",null)}openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,r)=>{let n=indexedDB.open(Iz,1);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(Dr)||s.createObjectStore(Dr,{keyPath:"roundId"}).createIndex("submitted","submitted",{unique:!1})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)}),this.dbPromise)}async store(t){let r=await this.openDb();return new Promise((n,s)=>{let a=r.transaction(Dr,"readwrite");a.objectStore(Dr).put(t),a.oncomplete=()=>n(),a.onerror=()=>s(a.error)})}async get(t){let r=await this.openDb();return new Promise((n,s)=>{let o=r.transaction(Dr,"readonly").objectStore(Dr).get(t);o.onsuccess=()=>n(o.result??null),o.onerror=()=>s(o.error)})}async listPending(){let t=await this.openDb();return new Promise((r,n)=>{let o=t.transaction(Dr,"readonly").objectStore(Dr).index("submitted").getAll(IDBKeyRange.only(!1));o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error)})}async markSubmitted(t){let r=await this.get(t);r&&(r.submitted=!0,await this.store(r))}};var Qc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"cacheTtlMs");w(this,"telemetry");w(this,"experimentsCache",null);this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.cacheTtlMs=t.cacheTtlMs??5*60*1e3,this.telemetry=t.telemetry}async getActiveExperiments(){if(this.experimentsCache&&Date.now()-this.experimentsCache.fetchedAt<this.cacheTtlMs)return this.experimentsCache.experiments;let t=`${this.serverUrl}/api/v1/experiments?status=active`,r={Accept:"application/json"};this.apiKey&&(r.Authorization=`Bearer ${this.apiKey}`);let n=await fetch(t,{headers:r});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch experiments: HTTP ${n.status}`);let s=await n.json();return this.experimentsCache={experiments:s.experiments,fetchedAt:Date.now()},s.experiments}async getExperimentConfig(t){let r=`${this.serverUrl}/api/v1/experiments/${encodeURIComponent(t)}`,n={Accept:"application/json"};this.apiKey&&(n.Authorization=`Bearer ${this.apiKey}`);let s=await fetch(r,{headers:n});if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch experiment: HTTP ${s.status}`);return await s.json()}getVariant(t,r){if(t.variants.length===0)return null;let n=Pz(r+t.id),s=0;for(let a of t.variants)if(s+=a.trafficPercentage,n<s)return a;return t.variants[t.variants.length-1]??null}isEnrolled(t,r){return this.getVariant(t,r)!==null}async resolveModelExperiment(t,r){let n=await this.getActiveExperiments();for(let s of n){if(!s.variants.some(i=>i.modelId===t))continue;let o=this.getVariant(s,r);if(o)return{experiment:s,variant:o}}return null}async trackMetric(t,r,n,s){let a=`${this.serverUrl}/api/v1/experiments/${encodeURIComponent(t)}/metrics`,o={"Content-Type":"application/json"};this.apiKey&&(o.Authorization=`Bearer ${this.apiKey}`),await fetch(a,{method:"POST",headers:o,body:JSON.stringify({metric_name:r,value:n,device_id:s,timestamp:Date.now()})}),this.telemetry?.reportExperimentMetric(t,r,n)}clearCache(){this.experimentsCache=null}};function Pz(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r)|0;return Math.abs(t)%100}var Jc=(s=>(s.NotCached="not_cached",s.Downloading="downloading",s.Ready="ready",s.Error="error",s))(Jc||{});var Xc=(s=>(s.Flagship="flagship",s.High="high",s.Mid="mid",s.Low="low",s))(Xc||{});var Yc=(s=>(s.Stop="stop",s.ToolCalls="tool_calls",s.Length="length",s.ContentFilter="content_filter",s))(Yc||{});var Zc=(s=>(s.Stable="stable",s.Beta="beta",s.Experimental="experimental",s.Compatibility="compatibility",s))(Zc||{});function Rz(e){return e.error==null}return lO(Oz);})();
|
|
43
|
+
`)}function yz(e){if(!e||typeof e!="object"||!("role"in e))return[];switch(e.role){case"system":return[{role:"system",content:rm(e.content)}];case"user":return[{role:"user",content:rm(e.content)}];case"assistant":return[{role:"assistant",content:vz(e.content)}];case"tool":return[{role:"user",content:`Tool result for ${e.toolCallId??"tool"}:
|
|
44
|
+
${rm(e.content)}`}];default:return[]}}function vz(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>!t||typeof t!="object"||!("type"in t)?"":t.type==="text"?typeof t.text=="string"?t.text:"":t.type==="tool_call"&&t.toolCall?`<tool_call>${JSON.stringify({name:t.toolCall.name,arguments:KI(t.toolCall.arguments)??t.toolCall.arguments})}</tool_call>`:"").filter(Boolean).join(`
|
|
45
|
+
`):""}function rm(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>!t||typeof t!="object"||!("type"in t)?"":t.type==="text"?t.text??"":t.type==="image"?"[image omitted]":t.type==="audio"?"[audio omitted]":t.type==="video"?"[video omitted]":t.type==="file"?"[file omitted]":"").filter(Boolean).join(`
|
|
46
|
+
`):""}function bz(e){let t=Array.isArray(e)?e[0]:e,r=t?.generated_text??t;if(typeof r=="string")return r;if(Array.isArray(r)){let n=r.at(-1);if(typeof n=="string")return n;if(n&&typeof n=="object"&&"content"in n)return typeof n.content=="string"?n.content:""}return r&&typeof r=="object"&&"content"in r?typeof r.content=="string"?r.content:"":String(r??"")}function Mz(e,t,r){let n=Az(r).trim(),s=xz(n,e.tools),a=s?[{type:"tool_call",toolCall:{id:Sz(),name:s.name,arguments:JSON.stringify(s.arguments)}}]:[{type:"text",text:n}];return{id:qr(),model:t,output:a,finishReason:s?"tool_calls":"stop"}}function xz(e,t){if(!t||t.length===0)return null;let r=new Set(t.map(s=>s.function.name)),n=[...e.matchAll(/<tool_call>\s*([\s\S]*?)\s*<\/tool_call>/gi),...e.matchAll(/```json\s*([\s\S]*?)\s*```/gi)].map(s=>s[1]?.trim()).filter(Boolean);for(let s of n){let a=KI(s);if(!Cz(a))continue;let o=typeof a.name=="string"?a.name:null;if(!o||!r.has(o))continue;let i=a.arguments&&typeof a.arguments=="object"?a.arguments:{};return{name:o,arguments:i}}return null}function KI(e){try{return JSON.parse(e)}catch{return null}}function Tz(e){return typeof e=="string"?[{role:"user",content:e}]:Array.isArray(e)&&e.every(t=>t&&typeof t=="object"&&"role"in t)?e:[{role:"user",content:e}]}function Ez(e,t){if(e.length<=1||t<=0)return e;let r=e[0]?.role==="system"?e[0]:null,n=Math.max(t-(r?.content.length??0),512),s=r?e.slice(1):e.slice(),a=[],o=0;for(let i=s.length-1;i>=0;i-=1){let l=s[i];if(!l)continue;let c=l.content.length;if(o+c<=n){a.unshift(l),o+=c;continue}a.length===0&&a.unshift({role:l.role,content:kz(l.content,n)});break}return r?[r,...a]:a}function kz(e,t){return e.length<=t?e:`[truncated]
|
|
47
|
+
${e.slice(-Math.max(t-32,0)).trim()}`.trim()}function Cz(e){return!!e&&typeof e=="object"}function Az(e){return e.replace(/<think>[\s\S]*?<\/think>/gi,"").replace(/<think>[\s\S]*$/gi,"").replace(/<thinking>[\s\S]*?<\/thinking>/gi,"").replace(/<thinking>[\s\S]*$/gi,"").trim()}function Sz(){return`call_${Math.random().toString(36).slice(2,10)}`}var Gc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"telemetry");this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.telemetry=t.telemetry}async*stream(t,r,n={}){let s=new AbortController,a=n.signal?this.combineSignals(n.signal,s.signal):s.signal,o=`${this.serverUrl}/api/v1/models/${encodeURIComponent(t)}/stream`,i={"Content-Type":"application/json",Accept:"text/event-stream"};this.apiKey&&(i.Authorization=`Bearer ${this.apiKey}`);let l=performance.now(),c=null,u=0,p=0;this.telemetry?.reportInferenceStarted(t,{modality:n.modality??"text"});let f;try{f=await fetch(o,{method:"POST",headers:i,body:JSON.stringify({input:r,modality:n.modality??"text",...n.params}),signal:a})}catch(M){throw this.telemetry?.reportInferenceFailed(t,"network_error",String(M)),new U("NETWORK_UNAVAILABLE",`Streaming request failed: ${String(M)}`,M)}if(!f.ok)throw new U("INFERENCE_FAILED",`Streaming inference failed: HTTP ${f.status}`);if(!f.body)throw new U("INFERENCE_FAILED","Server did not return a streaming body.");let m=f.body.getReader(),y=new TextDecoder,v="";try{for(;;){let{done:M,value:T}=await m.read();if(M)break;v+=y.decode(T,{stream:!0});let A=v.split(`
|
|
48
|
+
`);v=A.pop()??"";for(let C of A){if(!C.startsWith("data: "))continue;let S=C.slice(6).trim();if(S==="[DONE]")break;let O;try{O=JSON.parse(S)}catch{continue}u++,p+=S.length,c===null&&(c=performance.now()-l,this.telemetry?.reportInferenceChunk(t,{chunkIndex:0,ttfc:!0,durationMs:c})),this.telemetry?.reportChunkProduced(t,u-1),yield O}}}finally{m.releaseLock()}let x=performance.now()-l;return this.telemetry?.reportInferenceCompleted(t,x,{chunkCount:u,totalBytes:p,ttfcMs:c??x}),{totalChunks:u,totalBytes:p,durationMs:x,ttfcMs:c??x}}combineSignals(...t){let r=new AbortController;for(let n of t){if(n.aborted)return r.abort(n.reason),r.signal;n.addEventListener("abort",()=>r.abort(n.reason),{once:!0})}return r.signal}};var ja=class{constructor(){w(this,"plugins",new Map)}register(t){this.plugins.set(t.name,t)}remove(t){return this.plugins.delete(t)}get(t){return this.plugins.get(t)}get engines(){return[...this.plugins.keys()]}reset(){this.plugins.clear()}async detectAll(t){let r=[];for(let n of this.sortedPlugins()){let s=await n.detect(),a=t?n.supportsModel(t):!0,o=s?await n.detectInfo():"";r.push({engine:n.name,available:s&&a,info:o})}return r}async benchmarkAll(t,r){let s=(await this.detectAll(t)).filter(o=>o.available),a=[];for(let o of s){let l=await this.plugins.get(o.engine).benchmark(t,r);a.push({engine:o.engine,result:l})}return a.sort((o,i)=>i.result.tokens_per_second-o.result.tokens_per_second),a}selectBest(t){return t.find(r=>r.result.error==null)??null}async autoSelect(t,r){let n=await this.benchmarkAll(t,r);return this.selectBest(n)}sortedPlugins(){return[...this.plugins.values()].sort((t,r)=>t.priority-r.priority)}};var qa=class{static computeDelta(t,r){let n={};for(let s of Object.keys(t)){let a=t[s],o=r[s];if(!a||!o||a.length!==o.length)throw new U("INVALID_INPUT",`Weight dimension mismatch for "${s}".`);let i=new Float32Array(a.length);for(let l=0;l<a.length;l++)i[l]=o[l]-a[l];n[s]=i}return n}static applyDelta(t,r){let n={};for(let s of Object.keys(t)){let a=t[s],o=r[s];if(!a)continue;if(!o||a.length!==o.length){n[s]=new Float32Array(a);continue}let i=new Float32Array(a.length);for(let l=0;l<a.length;l++)i[l]=a[l]+o[l];n[s]=i}return n}static l2Norm(t){let r=0;for(let n of Object.values(t))if(n)for(let s=0;s<n.length;s++)r+=n[s]*n[s];return Math.sqrt(r)}},jc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"deviceId");w(this,"telemetry");this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.deviceId=t.deviceId,this.telemetry=t.telemetry}async getTrainingRound(t){let r=await this.request(`/api/v1/federations/${encodeURIComponent(t)}/rounds/current`);if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch training round: HTTP ${r.status}`);return await r.json()}async joinRound(t,r){let n=await this.request(`/api/v1/federations/${encodeURIComponent(t)}/rounds/${encodeURIComponent(r)}/join`,{method:"POST",body:JSON.stringify({device_id:this.deviceId})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to join round: HTTP ${n.status}`)}async offers(){let t=await this.request(`/api/v1/federation/rounds/offers?deviceId=${encodeURIComponent(this.deviceId)}`,{method:"GET"});if(!t.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch round offers: HTTP ${t.status}`);return await t.json()}async join(t,r={}){let n=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/join`,{method:"POST",body:JSON.stringify({deviceId:this.deviceId,...r})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to join federation round: HTTP ${n.status}`);return await n.json()}async plan(t){let r=await this.request(`/api/v1/federation/plans/${encodeURIComponent(t)}`,{method:"GET"});if(!r.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch federation plan: HTTP ${r.status}`);return await r.json()}async heartbeat(t,r={}){let n=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/heartbeat`,{method:"POST",body:JSON.stringify({deviceId:this.deviceId,...r})});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to send federation heartbeat: HTTP ${n.status}`);return await n.json()}async uploadInitiate(t,r){let n=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/updates/initiate`,{method:"POST",body:JSON.stringify(r)});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to initiate upload: HTTP ${n.status}`);return await n.json()}async uploadComplete(t,r,n){let s=await this.request(`/api/v1/federation/rounds/${encodeURIComponent(t)}/updates/${encodeURIComponent(r)}/complete`,{method:"POST",body:JSON.stringify(n)});if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to complete upload: HTTP ${s.status}`);return await s.json()}async train(t,r){let n=performance.now(),s=this.cloneWeights(t);for(let l=0;l<r.epochs;l++)s=(await r.onTrainStep(s,{epoch:l,batchSize:r.batchSize,learningRate:r.learningRate})).weights;let a=qa.computeDelta(t,s),o=performance.now()-n,i=r.modelId??"unknown";return this.telemetry?.reportTrainingStarted(i,"local"),this.telemetry?.reportTrainingCompleted(i,"local",o),{finalWeights:s,delta:a}}async submitUpdate(t,r,n,s){let a={};for(let[i,l]of Object.entries(n))l&&(a[i]={data:Array.from(l),shape:[l.length]});let o=await this.request(`/api/v1/federations/${encodeURIComponent(t)}/rounds/${encodeURIComponent(r)}/submit`,{method:"POST",body:JSON.stringify({device_id:this.deviceId,delta:a,metrics:s})});if(!o.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to submit update: HTTP ${o.status}`)}async request(t,r){let n={"Content-Type":"application/json"};return this.apiKey&&(n.Authorization=`Bearer ${this.apiKey}`),fetch(`${this.serverUrl}${t}`,{...r,headers:{...n,...r?.headers}})}cloneWeights(t){let r={};for(let[n,s]of Object.entries(t))s&&(r[n]=new Float32Array(s));return r}};var Wc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");this.serverUrl=t.serverUrl.replace(/\/+$/,""),this.apiKey=t.apiKey}async descriptive(t){return this.post("/api/v1/analytics/descriptive",{variable:t.variable,group_by:t.groupBy??"device_group",group_ids:t.groupIds??null,include_percentiles:t.includePercentiles??!0,filters:t.filters?qc(t.filters):null})}async tTest(t){return this.post("/api/v1/analytics/t-test",{variable:t.variable,group_a:t.groupA,group_b:t.groupB,confidence_level:t.confidenceLevel??.95,filters:t.filters?qc(t.filters):null})}async chiSquare(t){return this.post("/api/v1/analytics/chi-square",{variable_1:t.variable1,variable_2:t.variable2,group_ids:t.groupIds??null,confidence_level:t.confidenceLevel??.95,filters:t.filters?qc(t.filters):null})}async anova(t){return this.post("/api/v1/analytics/anova",{variable:t.variable,group_by:t.groupBy??"device_group",group_ids:t.groupIds??null,confidence_level:t.confidenceLevel??.95,post_hoc:t.postHoc??!0,filters:t.filters?qc(t.filters):null})}async listQueries(t=50,r=0){let n=new URLSearchParams({limit:String(t),offset:String(r)});return this.get(`/api/v1/analytics/queries?${n.toString()}`)}async getQuery(t){return this.get(`/api/v1/analytics/queries/${encodeURIComponent(t)}`)}buildHeaders(){let t={Accept:"application/json","Content-Type":"application/json"};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}async post(t,r){let n=`${this.serverUrl}${t}`,s=await fetch(n,{method:"POST",headers:this.buildHeaders(),body:JSON.stringify(r)});if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Analytics request failed: HTTP ${s.status}`);return await s.json()}async get(t){let r=`${this.serverUrl}${t}`,n=await fetch(r,{method:"GET",headers:this.buildHeaders()});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Analytics request failed: HTTP ${n.status}`);return await n.json()}};function qc(e){return{start_time:e.startTime??null,end_time:e.endTime??null,device_platform:e.devicePlatform??null,min_sample_count:e.minSampleCount??null}}var Wa=class{constructor(){w(this,"keyPair",null)}async generateKeyPair(){return this.keyPair=await crypto.subtle.generateKey({name:"ECDH",namedCurve:"P-256"},!0,["deriveBits"]),{publicKey:await crypto.subtle.exportKey("jwk",this.keyPair.publicKey)}}async deriveSharedSecret(t){if(!this.keyPair)throw new U("INVALID_INPUT","Call generateKeyPair() first.");let r=await crypto.subtle.importKey("jwk",t,{name:"ECDH",namedCurve:"P-256"},!1,[]);return crypto.subtle.deriveBits({name:"ECDH",public:r},this.keyPair.privateKey,256)}async createMask(t,r){let n=await crypto.subtle.importKey("raw",t,"HKDF",!1,["deriveBits"]),s=r*4*8,a=await crypto.subtle.deriveBits({name:"HKDF",hash:"SHA-256",salt:new Uint8Array(32),info:new TextEncoder().encode("octomil-secagg-mask")},n,Math.min(s,8160)),o=new Float32Array(r),i=new Float32Array(a);for(let l=0;l<r;l++)o[l]=i[l%i.length];return o}maskUpdate(t,r){let n={};for(let[s,a]of Object.entries(t)){if(!a)continue;let o=new Float32Array(a),i=r.get(s);if(i)for(let l=0;l<o.length;l++)o[l]=o[l]+(i[l]??0);n[s]=o}return n}unmask(t,r){let n={};for(let[s,a]of Object.entries(t)){if(!a)continue;let o=new Float32Array(a),i=r.get(s);if(i)for(let l=0;l<o.length;l++)o[l]=o[l]-(i[l]??0);n[s]=o}return n}},Ut=2147483647;function QI(e,t,r){let n=1;for(e=e%r;t>0;)t%2===1&&(n=Number(BigInt(n)*BigInt(e)%BigInt(r))),t=Math.floor(t/2),e=Number(BigInt(e)*BigInt(e)%BigInt(r));return n}function Iz(e,t){return QI(e,t-2,t)}function nm(e,t,r){let n=[e%Ut];for(let a=1;a<t;a++){let o=new Uint32Array(1);crypto.getRandomValues(o),n.push(o[0]%Ut)}let s=[];for(let a=1;a<=r;a++){let o=0;for(let i=0;i<n.length;i++)o=Number((BigInt(o)+BigInt(n[i])*BigInt(QI(a,i,Ut)))%BigInt(Ut));s.push({x:a,y:o})}return s}function sm(e){let t=0,r=e.length;for(let n=0;n<r;n++){let s=1,a=1;for(let i=0;i<r;i++)n!==i&&(s=Number(BigInt(s)*BigInt(Ut-e[i].x)%BigInt(Ut)),a=Number(BigInt(a)*BigInt((e[n].x-e[i].x+Ut)%Ut)%BigInt(Ut)));let o=Number(BigInt(s)*BigInt(Iz(a,Ut))%BigInt(Ut));t=Number((BigInt(t)+BigInt(e[n].y)*BigInt(o))%BigInt(Ut))}return t}var Hc=class extends Wa{constructor(r){super();w(this,"threshold");this.threshold=r}splitSecret(r,n){return nm(r,this.threshold,n)}reconstructSecret(r){if(r.length<this.threshold)throw new U("INVALID_INPUT",`Need at least ${this.threshold} shares, got ${r.length}.`);return sm(r.slice(0,this.threshold))}};function JI(e,t){let r=0;for(let o of Object.values(e))if(o)for(let i=0;i<o.length;i++)r+=o[i]*o[i];let n=Math.sqrt(r);if(n<=t)return e;let s=t/n,a={};for(let[o,i]of Object.entries(e)){if(!i)continue;let l=new Float32Array(i.length);for(let c=0;c<i.length;c++)l[c]=i[c]*s;a[o]=l}return a}function XI(e,t,r,n){let s=r*Math.sqrt(2*Math.log(1.25/n))/t,a={};for(let[o,i]of Object.entries(e)){if(!i)continue;let l=new Float32Array(i.length);for(let c=0;c<i.length;c++)l[c]=i[c]+Pz()*s;a[o]=l}return a}function Pz(){let e,t;do e=Math.random(),t=Math.random();while(e===0);return Math.sqrt(-2*Math.log(e))*Math.cos(2*Math.PI*t)}function YI(e,t=8){let r=t===8?127:32767,n={};for(let[s,a]of Object.entries(e)){if(!a)continue;let o=0;for(let c=0;c<a.length;c++){let u=Math.abs(a[c]);u>o&&(o=u)}let i=o>0?o/r:1,l=t===8?new Int8Array(a.length):new Int16Array(a.length);for(let c=0;c<a.length;c++)l[c]=Math.round(a[c]/i);n[s]={data:l,scale:i,zeroPoint:0}}return n}function ZI(e){let t={};for(let[r,n]of Object.entries(e)){if(!n)continue;let s=new Float32Array(n.data.length);for(let a=0;a<n.data.length;a++)s[a]=(n.data[a]-n.zeroPoint)*n.scale;t[r]=s}return t}var Rz="octomil-gradients",Dr="gradients";var Kc=class{constructor(){w(this,"dbPromise",null)}openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,r)=>{let n=indexedDB.open(Rz,1);n.onupgradeneeded=()=>{let s=n.result;s.objectStoreNames.contains(Dr)||s.createObjectStore(Dr,{keyPath:"roundId"}).createIndex("submitted","submitted",{unique:!1})},n.onsuccess=()=>t(n.result),n.onerror=()=>r(n.error)}),this.dbPromise)}async store(t){let r=await this.openDb();return new Promise((n,s)=>{let a=r.transaction(Dr,"readwrite");a.objectStore(Dr).put(t),a.oncomplete=()=>n(),a.onerror=()=>s(a.error)})}async get(t){let r=await this.openDb();return new Promise((n,s)=>{let o=r.transaction(Dr,"readonly").objectStore(Dr).get(t);o.onsuccess=()=>n(o.result??null),o.onerror=()=>s(o.error)})}async listPending(){let t=await this.openDb();return new Promise((r,n)=>{let o=t.transaction(Dr,"readonly").objectStore(Dr).index("submitted").getAll(IDBKeyRange.only(!1));o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error)})}async markSubmitted(t){let r=await this.get(t);r&&(r.submitted=!0,await this.store(r))}};var Qc=class{constructor(t){w(this,"serverUrl");w(this,"apiKey");w(this,"cacheTtlMs");w(this,"telemetry");w(this,"experimentsCache",null);this.serverUrl=t.serverUrl,this.apiKey=t.apiKey,this.cacheTtlMs=t.cacheTtlMs??5*60*1e3,this.telemetry=t.telemetry}async getActiveExperiments(){if(this.experimentsCache&&Date.now()-this.experimentsCache.fetchedAt<this.cacheTtlMs)return this.experimentsCache.experiments;let t=`${this.serverUrl}/api/v1/experiments?status=active`,r={Accept:"application/json"};this.apiKey&&(r.Authorization=`Bearer ${this.apiKey}`);let n=await fetch(t,{headers:r});if(!n.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch experiments: HTTP ${n.status}`);let s=await n.json();return this.experimentsCache={experiments:s.experiments,fetchedAt:Date.now()},s.experiments}async getExperimentConfig(t){let r=`${this.serverUrl}/api/v1/experiments/${encodeURIComponent(t)}`,n={Accept:"application/json"};this.apiKey&&(n.Authorization=`Bearer ${this.apiKey}`);let s=await fetch(r,{headers:n});if(!s.ok)throw new U("NETWORK_UNAVAILABLE",`Failed to fetch experiment: HTTP ${s.status}`);return await s.json()}getVariant(t,r){if(t.variants.length===0)return null;let n=Oz(r+t.id),s=0;for(let a of t.variants)if(s+=a.trafficPercentage,n<s)return a;return t.variants[t.variants.length-1]??null}isEnrolled(t,r){return this.getVariant(t,r)!==null}async resolveModelExperiment(t,r){let n=await this.getActiveExperiments();for(let s of n){if(!s.variants.some(i=>i.modelId===t))continue;let o=this.getVariant(s,r);if(o)return{experiment:s,variant:o}}return null}async trackMetric(t,r,n,s){let a=`${this.serverUrl}/api/v1/experiments/${encodeURIComponent(t)}/metrics`,o={"Content-Type":"application/json"};this.apiKey&&(o.Authorization=`Bearer ${this.apiKey}`),await fetch(a,{method:"POST",headers:o,body:JSON.stringify({metric_name:r,value:n,device_id:s,timestamp:Date.now()})}),this.telemetry?.reportExperimentMetric(t,r,n)}clearCache(){this.experimentsCache=null}};function Oz(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r)|0;return Math.abs(t)%100}var Jc=(s=>(s.NotCached="not_cached",s.Downloading="downloading",s.Ready="ready",s.Error="error",s))(Jc||{});var Xc=(s=>(s.Flagship="flagship",s.High="high",s.Mid="mid",s.Low="low",s))(Xc||{});var Yc=(s=>(s.Stop="stop",s.ToolCalls="tool_calls",s.Length="length",s.ContentFilter="content_filter",s))(Yc||{});var Zc=(s=>(s.Stable="stable",s.Beta="beta",s.Experimental="experimental",s.Compatibility="compatibility",s))(Zc||{});function Lz(e){return e.error==null}return lO(Fz);})();
|
|
47
49
|
/*! Bundled license information:
|
|
48
50
|
|
|
49
51
|
onnxruntime-web/dist/ort.webgpu.bundle.min.mjs:
|