kokoro-js
Version:
High-quality text-to-speech for the web
1 lines • 2.11 MB
JavaScript
var e,A,t={"./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm":(e,A,t)=>{e.exports=t.p+"ort-wasm-simd-threaded.jsep.wasm"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb":(e,A,t)=>{e.exports=t.p+"ort.bundle.min.mjs"},"?2ce3":()=>{},"?7a2c":()=>{},"?a42a":()=>{},"?2b25":()=>{},"?569f":()=>{},"?3f59":()=>{},"?154a":()=>{},"./node_modules/@huggingface/jinja/dist/index.js":(e,A,t)=>{t.r(A),t.d(A,{Environment:()=>J,Interpreter:()=>_,Template:()=>Ae,parse:()=>S,tokenize:()=>c});var r=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",NullLiteral:"NullLiteral",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",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator",Macro:"Macro",EndMacro:"EndMacro"}),n=Object.freeze({set:r.Set,for:r.For,in:r.In,is:r.Is,if:r.If,else:r.Else,endif:r.EndIf,elif:r.ElseIf,endfor:r.EndFor,and:r.And,or:r.Or,not:r.Not,"not in":r.NotIn,macro:r.Macro,endmacro:r.EndMacro,true:r.BooleanLiteral,false:r.BooleanLiteral,none:r.NullLiteral,True:r.BooleanLiteral,False:r.BooleanLiteral,None:r.NullLiteral}),a=class{constructor(e,A){this.value=e,this.type=A}};function s(e){return/\w/.test(e)}function i(e){return/[0-9]/.test(e)}var o=[["{%",r.OpenStatement],["%}",r.CloseStatement],["{{",r.OpenExpression],["}}",r.CloseExpression],["(",r.OpenParen],[")",r.CloseParen],["{",r.OpenCurlyBracket],["}",r.CloseCurlyBracket],["[",r.OpenSquareBracket],["]",r.CloseSquareBracket],[",",r.Comma],[".",r.Dot],[":",r.Colon],["|",r.Pipe],["<=",r.ComparisonBinaryOperator],[">=",r.ComparisonBinaryOperator],["==",r.ComparisonBinaryOperator],["!=",r.ComparisonBinaryOperator],["<",r.ComparisonBinaryOperator],[">",r.ComparisonBinaryOperator],["+",r.AdditiveBinaryOperator],["-",r.AdditiveBinaryOperator],["*",r.MultiplicativeBinaryOperator],["/",r.MultiplicativeBinaryOperator],["%",r.MultiplicativeBinaryOperator],["=",r.Equals]],l=new Map([["n","\n"],["t","\t"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function c(e,A={}){const t=[],c=function(e,A={}){return e.endsWith("\n")&&(e=e.slice(0,-1)),e=e.replace(/{#.*?#}/gs,"{##}"),A.lstrip_blocks&&(e=e.replace(/^[ \t]*({[#%])/gm,"$1")),A.trim_blocks&&(e=e.replace(/([#%]})\n/g,"$1")),e.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(e,A);let g=0;const u=e=>{let A="";for(;e(c[g]);)if("\\"!==c[g]){if(A+=c[g++],g>=c.length)throw new SyntaxError("Unexpected end of input")}else{if(++g,g>=c.length)throw new SyntaxError("Unexpected end of input");const e=c[g++],t=l.get(e);if(void 0===t)throw new SyntaxError(`Unexpected escaped character: ${e}`);A+=t}return A};e:for(;g<c.length;){const e=t.at(-1)?.type;if(void 0===e||e===r.CloseStatement||e===r.CloseExpression){let e="";for(;g<c.length&&("{"!==c[g]||"%"!==c[g+1]&&"{"!==c[g+1]);)e+=c[g++];if(e.length>0){t.push(new a(e,r.Text));continue}}u((e=>/\s/.test(e)));const A=c[g];if("-"===A||"+"===A){const e=t.at(-1)?.type;if(e===r.Text||void 0===e)throw new SyntaxError(`Unexpected character: ${A}`);switch(e){case r.Identifier:case r.NumericLiteral:case r.BooleanLiteral:case r.NullLiteral:case r.StringLiteral:case r.CloseParen:case r.CloseSquareBracket:break;default:{++g;const e=u(i);t.push(new a(`${A}${e}`,e.length>0?r.NumericLiteral:r.UnaryOperator));continue}}}for(const[e,A]of o){if(c.slice(g,g+e.length)===e){t.push(new a(e,A)),g+=e.length;continue e}}if("'"!==A&&'"'!==A)if(i(A)){const e=u(i);t.push(new a(e,r.NumericLiteral))}else{if(!s(A))throw new SyntaxError(`Unexpected character: ${A}`);{const e=u(s),A=Object.hasOwn(n,e)?n[e]:r.Identifier;A===r.In&&t.at(-1)?.type===r.Not?(t.pop(),t.push(new a("not in",r.NotIn))):t.push(new a(e,A))}}else{++g;const e=u((e=>e!==A));t.push(new a(e,r.StringLiteral)),++g}}return t}var g=class{type="Statement"},u=class extends g{constructor(e){super(),this.body=e}type="Program"},d=class extends g{constructor(e,A,t){super(),this.test=e,this.body=A,this.alternate=t}type="If"},f=class extends g{constructor(e,A,t,r){super(),this.loopvar=e,this.iterable=A,this.body=t,this.defaultBlock=r}type="For"},p=class extends g{constructor(e,A){super(),this.assignee=e,this.value=A}type="Set"},h=class extends g{constructor(e,A,t){super(),this.name=e,this.args=A,this.body=t}type="Macro"},m=class extends g{type="Expression"},C=class extends m{constructor(e,A,t){super(),this.object=e,this.property=A,this.computed=t}type="MemberExpression"},b=class extends m{constructor(e,A){super(),this.callee=e,this.args=A}type="CallExpression"},I=class extends m{constructor(e){super(),this.value=e}type="Identifier"},w=class extends m{constructor(e){super(),this.value=e}type="Literal"},k=class extends w{type="NumericLiteral"},x=class extends w{type="StringLiteral"},B=class extends w{type="BooleanLiteral"},v=class extends w{type="NullLiteral"},y=class extends w{type="ArrayLiteral"},E=class extends w{type="TupleLiteral"},M=class extends w{type="ObjectLiteral"},G=class extends m{constructor(e,A,t){super(),this.operator=e,this.left=A,this.right=t}type="BinaryExpression"},D=class extends m{constructor(e,A){super(),this.operand=e,this.filter=A}type="FilterExpression"},Q=class extends m{constructor(e,A){super(),this.iterable=e,this.test=A}type="SelectExpression"},T=class extends m{constructor(e,A,t){super(),this.operand=e,this.negate=A,this.test=t}type="TestExpression"},P=class extends m{constructor(e,A){super(),this.operator=e,this.argument=A}type="UnaryExpression"},z=class extends m{constructor(e=void 0,A=void 0,t=void 0){super(),this.start=e,this.stop=A,this.step=t}type="SliceExpression"},F=class extends m{constructor(e,A){super(),this.key=e,this.value=A}type="KeywordArgumentExpression"};function S(e){const A=new u([]);let t=0;function n(A,r){const n=e[t++];if(!n||n.type!==A)throw new Error(`Parser Error: ${r}. ${n.type} !== ${A}.`);return n}function a(){switch(e[t].type){case r.Text:return new x(n(r.Text,"Expected text token").value);case r.OpenStatement:return function(){let A;switch(n(r.OpenStatement,"Expected opening statement token"),e[t].type){case r.Set:++t,A=o(),n(r.CloseStatement,"Expected closing statement token");break;case r.If:++t,A=l(),n(r.OpenStatement,"Expected {% token"),n(r.EndIf,"Expected endif token"),n(r.CloseStatement,"Expected %} token");break;case r.Macro:++t,A=function(){const e=V();if("Identifier"!==e.type)throw new SyntaxError("Expected identifier following macro statement");const A=L();n(r.CloseStatement,"Expected closing statement token");const t=[];for(;s(r.OpenStatement,r.EndMacro);)t.push(a());return new h(e,A,t)}(),n(r.OpenStatement,"Expected {% token"),n(r.EndMacro,"Expected endmacro token"),n(r.CloseStatement,"Expected %} token");break;case r.For:++t,A=function(){const e=c(!0);if(!(e instanceof I||e instanceof E))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${e.type} instead`);n(r.In,"Expected `in` keyword following loop variable");const A=g();n(r.CloseStatement,"Expected closing statement token");const o=[];for(;s(r.OpenStatement,r.EndFor)&&s(r.OpenStatement,r.Else);)o.push(a());const l=[];if(i(r.OpenStatement,r.Else))for(++t,++t,n(r.CloseStatement,"Expected closing statement token");s(r.OpenStatement,r.EndFor);)l.push(a());return new f(e,A,o,l)}(),n(r.OpenStatement,"Expected {% token"),n(r.EndFor,"Expected endfor token"),n(r.CloseStatement,"Expected %} token");break;default:throw new SyntaxError(`Unknown statement type: ${e[t].type}`)}return A}();case r.OpenExpression:return function(){n(r.OpenExpression,"Expected opening expression token");const e=g();return n(r.CloseExpression,"Expected closing expression token"),e}();default:throw new SyntaxError(`Unexpected token type: ${e[t].type}`)}}function s(...A){return t+A.length<=e.length&&A.some(((A,r)=>A!==e[t+r].type))}function i(...A){return t+A.length<=e.length&&A.every(((A,r)=>A===e[t+r].type))}function o(){const e=g();if(i(r.Equals)){++t;const A=o();return new p(e,A)}return e}function l(){const A=g();n(r.CloseStatement,"Expected closing statement token");const s=[],o=[];for(;e[t]?.type!==r.OpenStatement||e[t+1]?.type!==r.ElseIf&&e[t+1]?.type!==r.Else&&e[t+1]?.type!==r.EndIf;)s.push(a());if(e[t]?.type===r.OpenStatement&&e[t+1]?.type!==r.EndIf)if(++t,i(r.ElseIf))n(r.ElseIf,"Expected elseif token"),o.push(l());else for(n(r.Else,"Expected else token"),n(r.CloseStatement,"Expected closing statement token");e[t]?.type!==r.OpenStatement||e[t+1]?.type!==r.EndIf;)o.push(a());return new d(A,s,o)}function c(e=!1){const A=e?V:g,n=[A()],a=i(r.Comma);for(;a&&(++t,n.push(A()),i(r.Comma)););return a?new E(n):n[0]}function g(){return function(){const e=m();if(i(r.If)){++t;const A=m();if(i(r.Else)){++t;const r=m();return new d(A,[e],[r])}return new Q(e,A)}return e}()}function m(){let A=w();for(;i(r.Or);){const r=e[t];++t;const n=w();A=new G(r,A,n)}return A}function w(){let A=S();for(;i(r.And);){const r=e[t];++t;const n=S();A=new G(r,A,n)}return A}function S(){let A;for(;i(r.Not);){const r=e[t];++t;const n=S();A=new P(r,n)}return A??function(){let A=N();for(;i(r.ComparisonBinaryOperator)||i(r.In)||i(r.NotIn);){const r=e[t];++t;const n=N();A=new G(r,A,n)}return A}()}function N(){let A=R();for(;i(r.AdditiveBinaryOperator);){const r=e[t];++t;const n=R();A=new G(r,A,n)}return A}function O(e){let A=new b(e,L());return A=H(A),i(r.OpenParen)&&(A=O(A)),A}function L(){n(r.OpenParen,"Expected opening parenthesis for arguments list");const e=function(){const e=[];for(;!i(r.CloseParen);){let A=g();if(i(r.Equals)){if(++t,!(A instanceof I))throw new SyntaxError("Expected identifier for keyword argument");const e=g();A=new F(A,e)}e.push(A),i(r.Comma)&&++t}return e}();return n(r.CloseParen,"Expected closing parenthesis for arguments list"),e}function Y(){const e=[];let A=!1;for(;!i(r.CloseSquareBracket);)i(r.Colon)?(e.push(void 0),++t,A=!0):(e.push(g()),i(r.Colon)&&(++t,A=!0));if(0===e.length)throw new SyntaxError("Expected at least one argument for member/slice expression");if(A){if(e.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new z(...e)}return e[0]}function H(A){for(;i(r.Dot)||i(r.OpenSquareBracket);){const a=e[t];let s;++t;const i=a.type!==r.Dot;if(i)s=Y(),n(r.CloseSquareBracket,"Expected closing square bracket");else if(s=V(),"Identifier"!==s.type)throw new SyntaxError("Expected identifier following dot operator");A=new C(A,s,i)}return A}function R(){let A=W();for(;i(r.MultiplicativeBinaryOperator);){const r=e[t];++t;const n=W();A=new G(r,A,n)}return A}function W(){let e=function(){let e=function(){const e=H(V());return i(r.OpenParen)?O(e):e}();for(;i(r.Pipe);){++t;let A=V();if(!(A instanceof I))throw new SyntaxError("Expected identifier for the filter");i(r.OpenParen)&&(A=O(A)),e=new D(e,A)}return e}();for(;i(r.Is);){++t;const A=i(r.Not);A&&++t;let n=V();if(n instanceof B?n=new I(n.value.toString()):n instanceof v&&(n=new I("none")),!(n instanceof I))throw new SyntaxError("Expected identifier for the test");e=new T(e,A,n)}return e}function V(){const A=e[t];switch(A.type){case r.NumericLiteral:return++t,new k(Number(A.value));case r.StringLiteral:return++t,new x(A.value);case r.BooleanLiteral:return++t,new B("true"===A.value.toLowerCase());case r.NullLiteral:return++t,new v(null);case r.Identifier:return++t,new I(A.value);case r.OpenParen:{++t;const A=c();if(e[t].type!==r.CloseParen)throw new SyntaxError(`Expected closing parenthesis, got ${e[t].type} instead`);return++t,A}case r.OpenSquareBracket:{++t;const e=[];for(;!i(r.CloseSquareBracket);)e.push(g()),i(r.Comma)&&++t;return++t,new y(e)}case r.OpenCurlyBracket:{++t;const e=new Map;for(;!i(r.CloseCurlyBracket);){const A=g();n(r.Colon,"Expected colon between key and value in object literal");const a=g();e.set(A,a),i(r.Comma)&&++t}return++t,new M(e)}default:throw new SyntaxError(`Unexpected token: ${A.type}`)}}for(;t<e.length;)A.body.push(a());return A}function N(e,A,t=1){void 0===A&&(A=e,e=0);const r=[];for(let n=e;n<A;n+=t)r.push(n);return r}function O(e,A,t,r=1){const n=Math.sign(r);n>=0?(A=(A??=0)<0?Math.max(e.length+A,0):Math.min(A,e.length),t=(t??=e.length)<0?Math.max(e.length+t,0):Math.min(t,e.length)):(A=(A??=e.length-1)<0?Math.max(e.length+A,-1):Math.min(A,e.length-1),t=(t??=-1)<-1?Math.max(e.length+t,-1):Math.min(t,e.length-1));const a=[];for(let s=A;n*s<n*t;s+=r)a.push(e[s]);return a}function L(e){return e.replace(/\b\w/g,(e=>e.toUpperCase()))}var Y=class{type="RuntimeValue";value;builtins=new Map;constructor(e=void 0){this.value=e}__bool__(){return new W(!!this.value)}},H=class extends Y{type="NumericValue"},R=class extends Y{type="StringValue";builtins=new Map([["upper",new Z((()=>new R(this.value.toUpperCase())))],["lower",new Z((()=>new R(this.value.toLowerCase())))],["strip",new Z((()=>new R(this.value.trim())))],["title",new Z((()=>new R(L(this.value))))],["length",new H(this.value.length)],["rstrip",new Z((()=>new R(this.value.trimEnd())))],["lstrip",new Z((()=>new R(this.value.trimStart())))],["split",new Z((e=>{const A=e[0]??new X;if(!(A instanceof R||A instanceof X))throw new Error("sep argument must be a string or null");const t=e[1]??new H(-1);if(!(t instanceof H))throw new Error("maxsplit argument must be a number");let r=[];if(A instanceof X){const e=this.value.trimStart();for(const{0:A,index:n}of e.matchAll(/\S+/g)){if(-1!==t.value&&r.length>=t.value&&void 0!==n){r.push(A+e.slice(n+A.length));break}r.push(A)}}else{if(""===A.value)throw new Error("empty separator");r=this.value.split(A.value),-1!==t.value&&r.length>t.value&&r.push(r.splice(t.value).join(A.value))}return new U(r.map((e=>new R(e))))}))]])},W=class extends Y{type="BooleanValue"},V=class extends Y{type="ObjectValue";__bool__(){return new W(this.value.size>0)}builtins=new Map([["get",new Z((([e,A])=>{if(!(e instanceof R))throw new Error(`Object key must be a string: got ${e.type}`);return this.value.get(e.value)??A??new X}))],["items",new Z((()=>new U(Array.from(this.value.entries()).map((([e,A])=>new U([new R(e),A]))))))]])},j=class extends V{type="KeywordArgumentsValue"},U=class extends Y{type="ArrayValue";builtins=new Map([["length",new H(this.value.length)]]);__bool__(){return new W(this.value.length>0)}},K=class extends U{type="TupleValue"},Z=class extends Y{type="FunctionValue"},X=class extends Y{type="NullValue"},q=class extends Y{type="UndefinedValue"},J=class{constructor(e){this.parent=e}variables=new Map([["namespace",new Z((e=>{if(0===e.length)return new V(new Map);if(1!==e.length||!(e[0]instanceof V))throw new Error("`namespace` expects either zero arguments or a single object argument");return e[0]}))]]);tests=new Map([["boolean",e=>"BooleanValue"===e.type],["callable",e=>e instanceof Z],["odd",e=>{if("NumericValue"!==e.type)throw new Error(`Cannot apply test "odd" to type: ${e.type}`);return e.value%2!=0}],["even",e=>{if("NumericValue"!==e.type)throw new Error(`Cannot apply test "even" to type: ${e.type}`);return e.value%2==0}],["false",e=>"BooleanValue"===e.type&&!e.value],["true",e=>"BooleanValue"===e.type&&e.value],["none",e=>"NullValue"===e.type],["string",e=>"StringValue"===e.type],["number",e=>"NumericValue"===e.type],["integer",e=>"NumericValue"===e.type&&Number.isInteger(e.value)],["iterable",e=>"ArrayValue"===e.type||"StringValue"===e.type],["mapping",e=>"ObjectValue"===e.type],["lower",e=>{const A=e.value;return"StringValue"===e.type&&A===A.toLowerCase()}],["upper",e=>{const A=e.value;return"StringValue"===e.type&&A===A.toUpperCase()}],["none",e=>"NullValue"===e.type],["defined",e=>"UndefinedValue"!==e.type],["undefined",e=>"UndefinedValue"===e.type],["equalto",(e,A)=>e.value===A.value],["eq",(e,A)=>e.value===A.value]]);set(e,A){return this.declareVariable(e,$(A))}declareVariable(e,A){if(this.variables.has(e))throw new SyntaxError(`Variable already declared: ${e}`);return this.variables.set(e,A),A}setVariable(e,A){return this.variables.set(e,A),A}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 q}catch{return new q}}},_=class{global;constructor(e){this.global=e??new J}run(e){return this.evaluate(e,this.global)}evaluateBinaryExpression(e,A){const t=this.evaluate(e.left,A);switch(e.operator.value){case"and":return t.__bool__().value?this.evaluate(e.right,A):t;case"or":return t.__bool__().value?t:this.evaluate(e.right,A)}const r=this.evaluate(e.right,A);switch(e.operator.value){case"==":return new W(t.value==r.value);case"!=":return new W(t.value!=r.value)}if(t instanceof q||r instanceof q)throw new Error("Cannot perform operation on undefined values");if(t instanceof X||r instanceof X)throw new Error("Cannot perform operation on null values");if(t instanceof H&&r instanceof H)switch(e.operator.value){case"+":return new H(t.value+r.value);case"-":return new H(t.value-r.value);case"*":return new H(t.value*r.value);case"/":return new H(t.value/r.value);case"%":return new H(t.value%r.value);case"<":return new W(t.value<r.value);case">":return new W(t.value>r.value);case">=":return new W(t.value>=r.value);case"<=":return new W(t.value<=r.value)}else if(t instanceof U&&r instanceof U){if("+"===e.operator.value)return new U(t.value.concat(r.value))}else if(r instanceof U){const A=void 0!==r.value.find((e=>e.value===t.value));switch(e.operator.value){case"in":return new W(A);case"not in":return new W(!A)}}if((t instanceof R||r instanceof R)&&"+"===e.operator.value)return new R(t.value.toString()+r.value.toString());if(t instanceof R&&r instanceof R)switch(e.operator.value){case"in":return new W(r.value.includes(t.value));case"not in":return new W(!r.value.includes(t.value))}if(t instanceof R&&r instanceof V)switch(e.operator.value){case"in":return new W(r.value.has(t.value));case"not in":return new W(!r.value.has(t.value))}throw new SyntaxError(`Unknown operator "${e.operator.value}" between ${t.type} and ${r.type}`)}evaluateArguments(e,A){const t=[],r=new Map;for(const n of e)if("KeywordArgumentExpression"===n.type){const e=n;r.set(e.key.value,this.evaluate(e.value,A))}else{if(r.size>0)throw new Error("Positional arguments must come before keyword arguments");t.push(this.evaluate(n,A))}return[t,r]}evaluateFilterExpression(e,A){const t=this.evaluate(e.operand,A);if("Identifier"===e.filter.type){const A=e.filter;if("tojson"===A.value)return new R(ee(t));if(t instanceof U)switch(A.value){case"list":return t;case"first":return t.value[0];case"last":return t.value[t.value.length-1];case"length":return new H(t.value.length);case"reverse":return new U(t.value.reverse());case"sort":return new U(t.value.sort(((e,A)=>{if(e.type!==A.type)throw new Error(`Cannot compare different types: ${e.type} and ${A.type}`);switch(e.type){case"NumericValue":return e.value-A.value;case"StringValue":return e.value.localeCompare(A.value);default:throw new Error(`Cannot compare type: ${e.type}`)}})));case"join":return new R(t.value.map((e=>e.value)).join(""));default:throw new Error(`Unknown ArrayValue filter: ${A.value}`)}else if(t instanceof R)switch(A.value){case"length":return new H(t.value.length);case"upper":return new R(t.value.toUpperCase());case"lower":return new R(t.value.toLowerCase());case"title":return new R(L(t.value));case"capitalize":return new R(t.value.charAt(0).toUpperCase()+t.value.slice(1));case"trim":return new R(t.value.trim());case"indent":return new R(t.value.split("\n").map(((e,A)=>0===A||0===e.length?e:" "+e)).join("\n"));case"join":case"string":return t;default:throw new Error(`Unknown StringValue filter: ${A.value}`)}else{if(t instanceof H){if("abs"===A.value)return new H(Math.abs(t.value));throw new Error(`Unknown NumericValue filter: ${A.value}`)}if(t instanceof V)switch(A.value){case"items":return new U(Array.from(t.value.entries()).map((([e,A])=>new U([new R(e),A]))));case"length":return new H(t.value.size);default:throw new Error(`Unknown ObjectValue filter: ${A.value}`)}}throw new Error(`Cannot apply filter "${A.value}" to type: ${t.type}`)}if("CallExpression"===e.filter.type){const r=e.filter;if("Identifier"!==r.callee.type)throw new Error(`Unknown filter: ${r.callee.type}`);const n=r.callee.value;if("tojson"===n){const[,e]=this.evaluateArguments(r.args,A),n=e.get("indent")??new X;if(!(n instanceof H||n instanceof X))throw new Error("If set, indent must be a number");return new R(ee(t,n.value))}if("join"===n){let e;if(t instanceof R)e=Array.from(t.value);else{if(!(t instanceof U))throw new Error(`Cannot apply filter "${n}" to type: ${t.type}`);e=t.value.map((e=>e.value))}const[a,s]=this.evaluateArguments(r.args,A),i=a.at(0)??s.get("separator")??new R("");if(!(i instanceof R))throw new Error("separator must be a string");return new R(e.join(i.value))}if(t instanceof U){switch(n){case"selectattr":case"rejectattr":{const e="selectattr"===n;if(t.value.some((e=>!(e instanceof V))))throw new Error(`\`${n}\` can only be applied to array of objects`);if(r.args.some((e=>"StringLiteral"!==e.type)))throw new Error(`arguments of \`${n}\` must be strings`);const[a,s,i]=r.args.map((e=>this.evaluate(e,A)));let o;if(s){const e=A.tests.get(s.value);if(!e)throw new Error(`Unknown test: ${s.value}`);o=e}else o=(...e)=>e[0].__bool__().value;const l=t.value.filter((A=>{const t=A.value.get(a.value),r=!!t&&o(t,i);return e?r:!r}));return new U(l)}case"map":{const[,e]=this.evaluateArguments(r.args,A);if(e.has("attribute")){const A=e.get("attribute");if(!(A instanceof R))throw new Error("attribute must be a string");const r=e.get("default"),n=t.value.map((e=>{if(!(e instanceof V))throw new Error("items in map must be an object");return e.value.get(A.value)??r??new q}));return new U(n)}throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${n}`)}if(t instanceof R){if("indent"===n){const[e,n]=this.evaluateArguments(r.args,A),a=e.at(0)??n.get("width")??new H(4);if(!(a instanceof H))throw new Error("width must be a number");const s=e.at(1)??n.get("first")??new W(!1),i=e.at(2)??n.get("blank")??new W(!1),o=t.value.split("\n"),l=" ".repeat(a.value),c=o.map(((e,A)=>!s.value&&0===A||!i.value&&0===e.length?e:l+e));return new R(c.join("\n"))}throw new Error(`Unknown StringValue filter: ${n}`)}throw new Error(`Cannot apply filter "${n}" to type: ${t.type}`)}throw new Error(`Unknown filter: ${e.filter.type}`)}evaluateTestExpression(e,A){const t=this.evaluate(e.operand,A),r=A.tests.get(e.test.value);if(!r)throw new Error(`Unknown test: ${e.test.value}`);const n=r(t);return new W(e.negate?!n:n)}evaluateUnaryExpression(e,A){const t=this.evaluate(e.argument,A);if("not"===e.operator.value)return new W(!t.value);throw new SyntaxError(`Unknown operator: ${e.operator.value}`)}evalProgram(e,A){return this.evaluateBlock(e.body,A)}evaluateBlock(e,A){let t="";for(const r of e){const e=this.evaluate(r,A);"NullValue"!==e.type&&"UndefinedValue"!==e.type&&(t+=e.value)}return new R(t)}evaluateIdentifier(e,A){return A.lookupVariable(e.value)}evaluateCallExpression(e,A){const[t,r]=this.evaluateArguments(e.args,A);r.size>0&&t.push(new j(r));const n=this.evaluate(e.callee,A);if("FunctionValue"!==n.type)throw new Error(`Cannot call something that is not a function: got ${n.type}`);return n.value(t,A)}evaluateSliceExpression(e,A,t){if(!(e instanceof U||e instanceof R))throw new Error("Slice object must be an array or string");const r=this.evaluate(A.start,t),n=this.evaluate(A.stop,t),a=this.evaluate(A.step,t);if(!(r instanceof H||r instanceof q))throw new Error("Slice start must be numeric or undefined");if(!(n instanceof H||n instanceof q))throw new Error("Slice stop must be numeric or undefined");if(!(a instanceof H||a instanceof q))throw new Error("Slice step must be numeric or undefined");return e instanceof U?new U(O(e.value,r.value,n.value,a.value)):new R(O(Array.from(e.value),r.value,n.value,a.value).join(""))}evaluateMemberExpression(e,A){const t=this.evaluate(e.object,A);let r,n;if(e.computed){if("SliceExpression"===e.property.type)return this.evaluateSliceExpression(t,e.property,A);r=this.evaluate(e.property,A)}else r=new R(e.property.value);if(t instanceof V){if(!(r instanceof R))throw new Error(`Cannot access property with non-string: got ${r.type}`);n=t.value.get(r.value)??t.builtins.get(r.value)}else if(t instanceof U||t instanceof R)if(r instanceof H)n=t.value.at(r.value),t instanceof R&&(n=new R(t.value.at(r.value)));else{if(!(r instanceof R))throw new Error(`Cannot access property with non-string/non-number: got ${r.type}`);n=t.builtins.get(r.value)}else{if(!(r instanceof R))throw new Error(`Cannot access property with non-string: got ${r.type}`);n=t.builtins.get(r.value)}return n instanceof Y?n:new q}evaluateSet(e,A){const t=this.evaluate(e.value,A);if("Identifier"===e.assignee.type){const r=e.assignee.value;A.setVariable(r,t)}else{if("MemberExpression"!==e.assignee.type)throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(e.assignee)}`);{const r=e.assignee,n=this.evaluate(r.object,A);if(!(n instanceof V))throw new Error("Cannot assign to member of non-object");if("Identifier"!==r.property.type)throw new Error("Cannot assign to member with non-identifier property");n.value.set(r.property.value,t)}}return new X}evaluateIf(e,A){const t=this.evaluate(e.test,A);return this.evaluateBlock(t.__bool__().value?e.body:e.alternate,A)}evaluateFor(e,A){const t=new J(A);let r,n;if("SelectExpression"===e.iterable.type){const A=e.iterable;n=this.evaluate(A.iterable,t),r=A.test}else n=this.evaluate(e.iterable,t);if(!(n instanceof U))throw new Error(`Expected iterable type in for loop: got ${n.type}`);const a=[],s=[];for(let A=0;A<n.value.length;++A){const i=new J(t),o=n.value[A];let l;if("Identifier"===e.loopvar.type)l=A=>A.setVariable(e.loopvar.value,o);else{if("TupleLiteral"!==e.loopvar.type)throw new Error(`Invalid loop variable(s): ${e.loopvar.type}`);{const A=e.loopvar;if("ArrayValue"!==o.type)throw new Error(`Cannot unpack non-iterable type: ${o.type}`);const t=o;if(A.value.length!==t.value.length)throw new Error(`Too ${A.value.length>t.value.length?"few":"many"} items to unpack`);l=e=>{for(let r=0;r<A.value.length;++r){if("Identifier"!==A.value[r].type)throw new Error(`Cannot unpack non-identifier type: ${A.value[r].type}`);e.setVariable(A.value[r].value,t.value[r])}}}}if(r){l(i);if(!this.evaluate(r,i).__bool__().value)continue}a.push(o),s.push(l)}let i="",o=!0;for(let A=0;A<a.length;++A){const r=new Map([["index",new H(A+1)],["index0",new H(A)],["revindex",new H(a.length-A)],["revindex0",new H(a.length-A-1)],["first",new W(0===A)],["last",new W(A===a.length-1)],["length",new H(a.length)],["previtem",A>0?a[A-1]:new q],["nextitem",A<a.length-1?a[A+1]:new q]]);t.setVariable("loop",new V(r)),s[A](t);i+=this.evaluateBlock(e.body,t).value,o=!1}if(o){i+=this.evaluateBlock(e.defaultBlock,t).value}return new R(i)}evaluateMacro(e,A){return A.setVariable(e.name.value,new Z(((A,t)=>{const r=new J(t);let n;A=A.slice(),"KeywordArgumentsValue"===A.at(-1)?.type&&(n=A.pop());for(let t=0;t<e.args.length;++t){const a=e.args[t],s=A[t];if("Identifier"===a.type){const e=a;if(!s)throw new Error(`Missing positional argument: ${e.value}`);r.setVariable(e.value,s)}else{if("KeywordArgumentExpression"!==a.type)throw new Error(`Unknown argument type: ${a.type}`);{const e=a,A=s??n?.value.get(e.key.value)??this.evaluate(e.value,r);r.setVariable(e.key.value,A)}}}return this.evaluateBlock(e.body,r)}))),new X}evaluate(e,A){if(void 0===e)return new q;switch(e.type){case"Program":return this.evalProgram(e,A);case"Set":return this.evaluateSet(e,A);case"If":return this.evaluateIf(e,A);case"For":return this.evaluateFor(e,A);case"Macro":return this.evaluateMacro(e,A);case"NumericLiteral":return new H(Number(e.value));case"StringLiteral":return new R(e.value);case"BooleanLiteral":return new W(e.value);case"NullLiteral":return new X(e.value);case"ArrayLiteral":return new U(e.value.map((e=>this.evaluate(e,A))));case"TupleLiteral":return new K(e.value.map((e=>this.evaluate(e,A))));case"ObjectLiteral":{const t=new Map;for(const[r,n]of e.value){const e=this.evaluate(r,A);if(!(e instanceof R))throw new Error(`Object keys must be strings: got ${e.type}`);t.set(e.value,this.evaluate(n,A))}return new V(t)}case"Identifier":return this.evaluateIdentifier(e,A);case"CallExpression":return this.evaluateCallExpression(e,A);case"MemberExpression":return this.evaluateMemberExpression(e,A);case"UnaryExpression":return this.evaluateUnaryExpression(e,A);case"BinaryExpression":return this.evaluateBinaryExpression(e,A);case"FilterExpression":return this.evaluateFilterExpression(e,A);case"TestExpression":return this.evaluateTestExpression(e,A);default:throw new SyntaxError(`Unknown node type: ${e.type}`)}}};function $(e){switch(typeof e){case"number":return new H(e);case"string":return new R(e);case"boolean":return new W(e);case"undefined":return new q;case"object":return null===e?new X:Array.isArray(e)?new U(e.map($)):new V(new Map(Object.entries(e).map((([e,A])=>[e,$(A)]))));case"function":return new Z(((A,t)=>{const r=e(...A.map((e=>e.value)))??null;return $(r)}));default:throw new Error(`Cannot convert to runtime value: ${e}`)}}function ee(e,A,t){const r=t??0;switch(e.type){case"NullValue":case"UndefinedValue":return"null";case"NumericValue":case"StringValue":case"BooleanValue":return JSON.stringify(e.value);case"ArrayValue":case"ObjectValue":{const t=A?" ".repeat(A):"",n="\n"+t.repeat(r),a=n+t;if("ArrayValue"===e.type){const t=e.value.map((e=>ee(e,A,r+1)));return A?`[${a}${t.join(`,${a}`)}${n}]`:`[${t.join(", ")}]`}{const t=Array.from(e.value.entries()).map((([e,t])=>{const n=`"${e}": ${ee(t,A,r+1)}`;return A?`${a}${n}`:n}));return A?`{${t.join(",")}${n}}`:`{${t.join(", ")}}`}}default:throw new Error(`Cannot convert to JSON: ${e.type}`)}}var Ae=class{parsed;constructor(e){const A=c(e,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=S(A)}render(e){const A=new J;if(A.set("false",!1),A.set("true",!0),A.set("raise_exception",(e=>{throw new Error(e)})),A.set("range",N),e)for(const[t,r]of Object.entries(e))A.set(t,r);return new _(A).run(this.parsed).value}}},"./node_modules/onnxruntime-common/dist/esm/backend-impl.js":(e,A,t)=>{t.r(A),t.d(A,{registerBackend:()=>a,resolveBackendAndExecutionProviders:()=>i});const r=new Map,n=[],a=(e,A,t)=>{if(!A||"function"!=typeof A.init||"function"!=typeof A.createInferenceSessionHandler)throw new TypeError("not a valid backend");{const a=r.get(e);if(void 0===a)r.set(e,{backend:A,priority:t});else{if(a.priority>t)return;if(a.priority===t&&a.backend!==A)throw new Error(`cannot register backend "${e}" using priority ${t}`)}if(t>=0){const A=n.indexOf(e);-1!==A&&n.splice(A,1);for(let A=0;A<n.length;A++)if(r.get(n[A]).priority<=t)return void n.splice(A,0,e);n.push(e)}}},s=async e=>{const A=r.get(e);if(!A)return"backend not found.";if(A.initialized)return A.backend;if(A.aborted)return A.error;{const t=!!A.initPromise;try{return t||(A.initPromise=A.backend.init(e)),await A.initPromise,A.initialized=!0,A.backend}catch(e){return t||(A.error=`${e}`,A.aborted=!0),A.error}finally{delete A.initPromise}}},i=async e=>{const A=e.executionProviders||[],t=A.map((e=>"string"==typeof e?e:e.name)),r=0===t.length?n:t;let a;const i=[],o=new Set;for(const e of r){const A=await s(e);"string"==typeof A?i.push({name:e,err:A}):(a||(a=A),a===A&&o.add(e))}if(!a)throw new Error(`no available backend found. ERR: ${i.map((e=>`[${e.name}] ${e.err}`)).join(", ")}`);for(const{name:e,err:A}of i)t.includes(e)&&console.warn(`removing requested execution provider "${e}" from session options because it is not available: ${A}`);const l=A.filter((e=>o.has("string"==typeof e?e:e.name)));return[a,new Proxy(e,{get:(e,A)=>"executionProviders"===A?l:Reflect.get(e,A)})]}},"./node_modules/onnxruntime-common/dist/esm/backend.js":(e,A,t)=>{t.r(A),t.d(A,{registerBackend:()=>r.registerBackend});var r=t("./node_modules/onnxruntime-common/dist/esm/backend-impl.js")},"./node_modules/onnxruntime-common/dist/esm/env-impl.js":(e,A,t)=>{t.r(A),t.d(A,{env:()=>a});var r=t("./node_modules/onnxruntime-common/dist/esm/version.js");let n="warning";const a={wasm:{},webgl:{},webgpu:{},versions:{common:r.version},set logLevel(e){if(void 0!==e){if("string"!=typeof e||-1===["verbose","info","warning","error","fatal"].indexOf(e))throw new Error(`Unsupported logging level: ${e}`);n=e}},get logLevel(){return n}};Object.defineProperty(a,"logLevel",{enumerable:!0})},"./node_modules/onnxruntime-common/dist/esm/env.js":(e,A,t)=>{t.r(A),t.d(A,{env:()=>r});const r=t("./node_modules/onnxruntime-common/dist/esm/env-impl.js").env},"./node_modules/onnxruntime-common/dist/esm/index.js":(e,A,t)=>{t.r(A),t.d(A,{InferenceSession:()=>a.InferenceSession,TRACE:()=>i.TRACE,TRACE_FUNC_BEGIN:()=>i.TRACE_FUNC_BEGIN,TRACE_FUNC_END:()=>i.TRACE_FUNC_END,Tensor:()=>s.Tensor,TrainingSession:()=>o.TrainingSession,env:()=>n.env,registerBackend:()=>r.registerBackend});var r=t("./node_modules/onnxruntime-common/dist/esm/backend.js"),n=t("./node_modules/onnxruntime-common/dist/esm/env.js"),a=t("./node_modules/onnxruntime-common/dist/esm/inference-session.js"),s=t("./node_modules/onnxruntime-common/dist/esm/tensor.js");t("./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js"),t("./node_modules/onnxruntime-common/dist/esm/tensor-factory.js");var i=t("./node_modules/onnxruntime-common/dist/esm/trace.js");t("./node_modules/onnxruntime-common/dist/esm/onnx-model.js"),t("./node_modules/onnxruntime-common/dist/esm/onnx-value.js");var o=t("./node_modules/onnxruntime-common/dist/esm/training-session.js")},"./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js":(e,A,t)=>{t.r(A),t.d(A,{InferenceSession:()=>s});var r=t("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),n=t("./node_modules/onnxruntime-common/dist/esm/tensor.js"),a=t("./node_modules/onnxruntime-common/dist/esm/trace.js");class s{constructor(e){this.handler=e}async run(e,A,t){(0,a.TRACE_FUNC_BEGIN)();const r={};let s={};if("object"!=typeof e||null===e||e instanceof n.Tensor||Array.isArray(e))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let i=!0;if("object"==typeof A){if(null===A)throw new TypeError("Unexpected argument[1]: cannot be null.");if(A instanceof n.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(A)){if(0===A.length)throw new TypeError("'fetches' cannot be an empty array.");i=!1;for(const e of A){if("string"!=typeof e)throw new TypeError("'fetches' must be a string array or an object.");if(-1===this.outputNames.indexOf(e))throw new RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if("object"==typeof t&&null!==t)s=t;else if(void 0!==t)throw new TypeError("'options' must be an object.")}else{let e=!1;const a=Object.getOwnPropertyNames(A);for(const t of this.outputNames)if(-1!==a.indexOf(t)){const a=A[t];(null===a||a instanceof n.Tensor)&&(e=!0,i=!1,r[t]=a)}if(e){if("object"==typeof t&&null!==t)s=t;else if(void 0!==t)throw new TypeError("'options' must be an object.")}else s=A}}else if(void 0!==A)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const A of this.inputNames)if(void 0===e[A])throw new Error(`input '${A}' is missing in 'feeds'.`);if(i)for(const e of this.outputNames)r[e]=null;const o=await this.handler.run(e,r,s),l={};for(const e in o)if(Object.hasOwnProperty.call(o,e)){const A=o[e];A instanceof n.Tensor?l[e]=A:l[e]=new n.Tensor(A.type,A.data,A.dims)}return(0,a.TRACE_FUNC_END)(),l}async release(){return this.handler.dispose()}static async create(e,A,t,n){let i;(0,a.TRACE_FUNC_BEGIN)();let o={};if("string"==typeof e){if(i=e,"object"==typeof A&&null!==A)o=A;else if(void 0!==A)throw new TypeError("'options' must be an object.")}else if(e instanceof Uint8Array){if(i=e,"object"==typeof A&&null!==A)o=A;else if(void 0!==A)throw new TypeError("'options' must be an object.")}else{if(!(e instanceof ArrayBuffer||"undefined"!=typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{const r=e;let a=0,s=e.byteLength;if("object"==typeof A&&null!==A)o=A;else if("number"==typeof A){if(a=A,!Number.isSafeInteger(a))throw new RangeError("'byteOffset' must be an integer.");if(a<0||a>=r.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${r.byteLength}).`);if(s=e.byteLength-a,"number"==typeof t){if(s=t,!Number.isSafeInteger(s))throw new RangeError("'byteLength' must be an integer.");if(s<=0||a+s>r.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${r.byteLength-a}].`);if("object"==typeof n&&null!==n)o=n;else if(void 0!==n)throw new TypeError("'options' must be an object.")}else if(void 0!==t)throw new TypeError("'byteLength' must be a number.")}else if(void 0!==A)throw new TypeError("'options' must be an object.");i=new Uint8Array(r,a,s)}}const[l,c]=await(0,r.resolveBackendAndExecutionProviders)(o),g=await l.createInferenceSessionHandler(i,c);return(0,a.TRACE_FUNC_END)(),new s(g)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}},"./node_modules/onnxruntime-common/dist/esm/inference-session.js":(e,A,t)=>{t.r(A),t.d(A,{InferenceSession:()=>r});const r=t("./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js").InferenceSession},"./node_modules/onnxruntime-common/dist/esm/onnx-model.js":(e,A,t)=>{t.r(A)},"./node_modules/onnxruntime-common/dist/esm/onnx-value.js":(e,A,t)=>{t.r(A)},"./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js":(e,A,t)=>{t.r(A),t.d(A,{tensorToDataURL:()=>r,tensorToImageData:()=>n});const r=(e,A)=>{const t="undefined"!=typeof document?document.createElement("canvas"):new OffscreenCanvas(1,1);t.width=e.dims[3],t.height=e.dims[2];const r=t.getContext("2d");if(null!=r){let n,a;void 0!==A?.tensorLayout&&"NHWC"===A.tensorLayout?(n=e.dims[2],a=e.dims[3]):(n=e.dims[3],a=e.dims[2]);const s=void 0!==A?.format?A.format:"RGB",i=A?.norm;let o,l;void 0===i||void 0===i.mean?o=[255,255,255,255]:"number"==typeof i.mean?o=[i.mean,i.mean,i.mean,i.mean]:(o=[i.mean[0],i.mean[1],i.mean[2],0],void 0!==i.mean[3]&&(o[3]=i.mean[3])),void 0===i||void 0===i.bias?l=[0,0,0,0]:"number"==typeof i.bias?l=[i.bias,i.bias,i.bias,i.bias]:(l=[i.bias[0],i.bias[1],i.bias[2],0],void 0!==i.bias[3]&&(l[3]=i.bias[3]));const c=a*n;let g=0,u=c,d=2*c,f=-1;"RGBA"===s?(g=0,u=c,d=2*c,f=3*c):"RGB"===s?(g=0,u=c,d=2*c):"RBG"===s&&(g=0,d=c,u=2*c);for(let A=0;A<a;A++)for(let t=0;t<n;t++){const n=(e.data[g++]-l[0])*o[0],a=(e.data[u++]-l[1])*o[1],s=(e.data[d++]-l[2])*o[2],i=-1===f?255:(e.data[f++]-l[3])*o[3];r.fillStyle="rgba("+n+","+a+","+s+","+i+")",r.fillRect(t,A,1,1)}if("toDataURL"in t)return t.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},n=(e,A)=>{const t="undefined"!=typeof document?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");let r;if(null==t)throw new Error("Can not access image data");{let n,a,s;void 0!==A?.tensorLayout&&"NHWC"===A.tensorLayout?(n=e.dims[2],a=e.dims[1],s=e.dims[3]):(n=e.dims[3],a=e.dims[2],s=e.dims[1]);const i=void 0!==A&&void 0!==A.format?A.format:"RGB",o=A?.norm;let l,c;void 0===o||void 0===o.mean?l=[255,255,255,255]:"number"==typeof o.mean?l=[o.mean,o.mean,o.mean,o.mean]:(l=[o.mean[0],o.mean[1],o.mean[2],255],void 0!==o.mean[3]&&(l[3]=o.mean[3])),void 0===o||void 0===o.bias?c=[0,0,0,0]:"number"==typeof o.bias?c=[o.bias,o.bias,o.bias,o.bias]:(c=[o.bias[0],o.bias[1],o.bias[2],0],void 0!==o.bias[3]&&(c[3]=o.bias[3]));const g=a*n;if(void 0!==A&&(void 0!==A.format&&4===s&&"RGBA"!==A.format||3===s&&"RGB"!==A.format&&"BGR"!==A.format))throw new Error("Tensor format doesn't match input tensor dims");const u=4;let d=0,f=1,p=2,h=3,m=0,C=g,b=2*g,I=-1;"RGBA"===i?(m=0,C=g,b=2*g,I=3*g):"RGB"===i?(m=0,C=g,b=2*g):"RBG"===i&&(m=0,b=g,C=2*g),r=t.createImageData(n,a);for(let A=0;A<a*n;d+=u,f+=u,p+=u,h+=u,A++)r.data[d]=(e.data[m++]-c[0])*l[0],r.data[f]=(e.data[C++]-c[1])*l[1],r.data[p]=(e.data[b++]-c[2])*l[2],r.data[h]=-1===I?255:(e.data[I++]-c[3])*l[3]}return r}},"./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js":(e,A,t)=>{t.r(A)},"./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js":(e,A,t)=>{t.r(A),t.d(A,{bufferToTensor:()=>n,tensorFromGpuBuffer:()=>i,tensorFromImage:()=>a,tensorFromMLTensor:()=>o,tensorFromPinnedBuffer:()=>l,tensorFromTexture:()=>s});var r=t("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const n=(e,A)=>{if(void 0===e)throw new Error("Image buffer must be defined");if(void 0===A.height||void 0===A.width)throw new Error("Image height and width must be defined");if("NHWC"===A.tensorLayout)throw new Error("NHWC Tensor layout is not supported yet");const{height:t,width:n}=A,a=A.norm??{mean:255,bias:0};let s,i;s="number"==typeof a.mean?[a.mean,a.mean,a.mean,a.mean]:[a.mean[0],a.mean[1],a.mean[2],a.mean[3]??255],i="number"==typeof a.bias?[a.bias,a.bias,a.bias,a.bias]:[a.bias[0],a.bias[1],a.bias[2],a.bias[3]??0];const o=void 0!==A.format?A.format:"RGBA",l=void 0!==A.tensorFormat&&void 0!==A.tensorFormat?A.tensorFormat:"RGB",c=t*n,g="RGBA"===l?new Float32Array(4*c):new Float32Array(3*c);let u=4,d=0,f=1,p=2,h=3,m=0,C=c,b=2*c,I=-1;"RGB"===o&&(u=3,d=0,f=1,p=2,h=-1),"RGBA"===l?I=3*c:"RBG"===l?(m=0,b=c,C=2*c):"BGR"===l&&(b=0,C=c,m=2*c);for(let A=0;A<c;A++,d+=u,p+=u,f+=u,h+=u)g[m++]=(e[d]+i[0])/s[0],g[C++]=(e[f]+i[1])/s[1],g[b++]=(e[p]+i[2])/s[2],-1!==I&&-1!==h&&(g[I++]=(e[h]+i[3])/s[3]);return"RGBA"===l?new r.Tensor("float32",g,[1,4,t,n]):new r.Tensor("float32",g,[1,3,t,n])},a=async(e,A)=>{const t="undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement,r="undefined"!=typeof ImageData&&e instanceof ImageData,a="undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap,s="string"==typeof e;let i,o=A??{};const l=()=>{if("undefined"!=typeof document)return document.createElement("canvas");if("undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},c=e=>"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext("2d"):null;if(t){const t=l();t.width=e.width,t.height=e.height;const r=c(t);if(null==r)throw new Error("Can not access image data");{let t=e.height,n=e.width;if(void 0!==A&&void 0!==A.resizedHeight&&void 0!==A.resizedWidth&&(t=A.resizedHeight,n=A.resizedWidth),void 0!==A){if(o=A,void 0!==A.tensorFormat)throw new Error("Image input config format must be RGBA for HTMLImageElement");o.tensorFormat="RGBA",o.height=t,o.width=n}else o.tensorFormat="RGBA",o.height=t,o.width=n;r.drawImage(e,0,0),i=r.getImageData(0,0,n,t).data}}else{if(!r){if(a){if(void 0===A)throw new Error("Please provide image config with format for Imagebitmap");const t=l();t.width=e.width,t.height=e.height;const r=c(t);if(null!=r){const A=e.height,t=e.width;return r.drawImage(e,0,0,t,A),i=r.getImageData(0,0,t,A).data,o.height=A,o.width=t,n(i,o)}throw new Error("Can not access image data")}if(s)return new Promise(((A,t)=>{const r=l(),a=c(r);if(!e||!a)return t();const s=new Image;s.crossOrigin="Anonymous",s.src=e,s.onload=()=>{r.width=s.width,r.height=s.height,a.drawImage(s,0,0,r.width,r.height);const e=a.getImageData(0,0,r.width,r.height);o.height=r.height,o.width=r.width,A(n(e.data,o))}}));throw new Error("Input data provided is not supported - aborted tensor creation")}{let t,r;if(void 0!==A&&void 0!==A.resizedWidth&&void 0!==A.resizedHeight?(t=A.resizedHeight,r=A.resizedWidth):(t=e.height,r=e.width),void 0!==A&&(o=A),o.format="RGBA",o.height=t,o.width=r,void 0!==A){const A=l();A.width=r,A.height=t;const n=c(A);if(null==n)throw new Error("Can not access image data");n.putImageData(e,0,0),i=n.getImageData(0,0,r,t).data}else i=e.data}}if(void 0!==i)return n(i,o);throw new Error("Input data provided is not supported - aborted tensor creation")},s=(e,A)=>{const{width:t,height:n,download:a,dispose:s}=A,i=[1,n,t,4];return new r.Tensor({location:"texture",type:"float32",texture:e,dims:i,download:a,dispose:s})},i=(e,A)=>{const{dataType:t,dims:n,download:a,dispose:s}=A;return new r.Tensor({location:"gpu-buffer",type:t??"float32",gpuBuffer:e,dims:n,download:a,dispose:s})},o=(e,A)=>{const{dataType:t,dims:n,download:a,dispose:s}=A;return new r.Tensor({location:"ml-tensor",type:t??"float32",mlTensor:e,dims:n,download:a,dispose:s})},l=(e,A,t)=>new r.Tensor({location:"cpu-pinned",type:e,data:A,dims:t??[A.length]})},"./node_modules/onnxruntime-common/dist/esm/tensor-factory.js":(e,A,t)=>{t.r(A)},"./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js":(e,A,t)=>{t.r(A),t.d(A,{NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP:()=>n,NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP:()=>r,checkTypedArray:()=>s});const r=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),n=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);let a=!1;const s=()=>{if(!a){a=!0;const e="undefined"!=typeof BigInt64Array&&BigInt64Array.from,A="undefined"!=typeof BigUint64Array&&BigUint64Array.from,t="undefined"!=typeof Float16Array&&Float16Array.from;e&&(r.set("int64",BigInt64Array),n.set(BigInt64Array,"int64")),A&&(r.set("uint64",BigUint64Array),n.set(BigUint64Array,"uint64")),t?(r.set("float16",Float16Array),n.set(Float16Array,"float16")):r.set("float16",Uint16Array)}}},"./node_modules/onnxruntime-common/dist/esm/tensor-impl.js":(e,A,t)=>{t.r(A),t.d(A,{Tensor:()=>i});var r=t("./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js"),n=t("./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js"),a=t("./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js"),s=t("./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js");class i{constructor(e,A,t){let r,n;if((0,a.checkTypedArray)(),"object"==typeof e&&"location"in e)switch(this.dataLocation=e.location,r=e.type,n=e.dims,e.location){case"cpu-pinned":{const A=a.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(r);if(!A)throw new TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof A))throw new TypeError(`buffer should be of type ${A.name}`);this.cpuData=e.data;break}case"texture":if("float32"!==r)throw new TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case"gpu-buffer":if("float32"!==r&&"float16"!==r&&"int32"!==r&&"int64"!==r&&"uint32"!==r&&"uint8"!==r&&"bool"!==r&&"uint4"!==r&&"int4"!==r)throw new TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case"ml-tensor":if("float32"!==r&&"float16"!==r&&"int32"!==r&&"int64"!==r&&"uint32"!==r&&"uint64"!==r&&"int8"!==r&&"uint8"!==r&&"bool"!==r)throw new TypeError(`unsupported type "${r}" 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 s,i;if("string"==typeof e)if(r=e,i=t,"string"===e){if(!Array.isArray(A))throw new TypeError("A string tensor's data must be a string array.");s=A}else{const t=a.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(e);if(void 0===t)throw new TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(A)){if("float16"===e&&t===Uint16Array||"uint4"===e||"int4"===e)throw new TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${t.name} as data.`);s="uint64"===e||"int64"===e?t.from(A,BigInt):t.from(A)}else if(A instanceof t)s=A;else{if(!(A instanceof Uint8ClampedArray))throw new TypeError(`A ${r} tensor's data must be type of ${t}`);if("uint8"!==e)throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");s=Uint8Array.from(A)}}else if(i=A,Array.isArray(e)){if(0===e.length)throw new TypeError("Tensor type cannot be inferred from an empty array.");const A=typeof e[0];if("string"===A)r="string",s=e;else{if("boolean"!==A)throw new TypeError(`Invalid element type of data array: ${A}.`);r="bool",s=Uint8Array.from(e)}}else if(e instanceof Uint8ClampedArray)r="uint8",s=Uint8Array.from(e);else{const A=a.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.get(e.constructor);if(void 0===A)throw new TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=A,s=e}if(void 0===i)i=[s.length];else if(!Array.isArray(i))throw new TypeError("A tensor's dims must be a number array");n=i,this.cpuData=s,this.dataLocation="cpu"}const i=(0,s.calculateSize)(n);if(this.cpuData&&i!==this.cpuData.length&&("uint4"!==r&&"int4"!==r||Math.ceil(i/2)!==this.cpuData.length))throw new Error(`Tensor's size(${i}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=n,this.size=i}static async fromImage(e,A){return(0,n.tensorFromImage)(e,A)}static fromTexture(e,A){retur