0)if(++u>s)for(u-=s;u--;)c+="0";else u1&&((l[m+1]===null||l[m+1]===void 0)&&(l[m+1]=0),l[m+1]+=l[m]>>1,l[m]&=1)}return l.reverse()}function UP(r,e){if(r.isFinite()&&!r.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitXor");var t=r.constructor;if(r.isNaN()||e.isNaN())return new t(NaN);if(r.isZero())return e;if(e.isZero())return r;if(r.eq(e))return new t(0);var n=new t(-1);return r.eq(n)?af(e):e.eq(n)?af(r):!r.isFinite()||!e.isFinite()?!r.isFinite()&&!e.isFinite()?n:new t(r.isNegative()===e.isNegative()?1/0:-1/0):l_(r,e,function(i,a){return i^a})}function qP(r,e){if(r.isFinite()&&!r.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function leftShift");var t=r.constructor;return r.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new t(NaN):r.isZero()||e.isZero()?r:!r.isFinite()&&!e.isFinite()?new t(NaN):e.lt(55)?r.times(Math.pow(2,e.toNumber())+""):r.times(new t(2).pow(e))}function zP(r,e){if(r.isFinite()&&!r.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function rightArithShift");var t=r.constructor;return r.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new t(NaN):r.isZero()||e.isZero()?r:e.isFinite()?e.lt(55)?r.div(Math.pow(2,e.toNumber())+"").floor():r.div(new t(2).pow(e)).floor():r.isNegative()?new t(-1):r.isFinite()?new t(0):new t(NaN)}var HP="bitAnd",RX=["typed","matrix","equalScalar","concat"],Lp=C(HP,RX,r=>{var{typed:e,matrix:t,equalScalar:n,concat:i}=r,a=Mn({typed:e,equalScalar:n}),o=Pu({typed:e,equalScalar:n}),u=Nr({typed:e,equalScalar:n}),c=Ft({typed:e,matrix:t,concat:i});return e(HP,{"number, number":$0,"BigNumber, BigNumber":LP,"bigint, bigint":(s,l)=>s&l},c({SS:o,DS:a,Ss:u}))});var GP="bitNot",LX=["typed"],c_=C(GP,LX,r=>{var{typed:e}=r;return e(GP,{number:O0,BigNumber:af,bigint:t=>~t,"Array | Matrix":e.referToSelf(t=>n=>rt(n,t))})});var WP="bitOr",VX=["typed","matrix","equalScalar","DenseMatrix","concat"],Vp=C(WP,VX,r=>{var{typed:e,matrix:t,equalScalar:n,DenseMatrix:i,concat:a}=r,o=Mi({typed:e}),u=nf({typed:e,equalScalar:n}),c=pa({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:t,concat:a});return e(WP,{"number, number":R0,"BigNumber, BigNumber":VP,"bigint, bigint":(l,f)=>l|f},s({SS:u,DS:o,Ss:c}))});var UX="matAlgo07xSSf",qX=["typed","DenseMatrix"],Ln=C(UX,qX,r=>{var{typed:e,DenseMatrix:t}=r;return function(a,o,u){var c=a._size,s=a._datatype||a._data===void 0?a._datatype:a.getDataType(),l=o._size,f=o._datatype||o._data===void 0?o._datatype:o.getDataType();if(c.length!==l.length)throw new Mt(c.length,l.length);if(c[0]!==l[0]||c[1]!==l[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+l+")");var p=c[0],m=c[1],d,h=0,x=u;typeof s=="string"&&s===f&&s!=="mixed"&&(d=s,h=e.convert(0,d),x=e.find(u,[d,d]));var b,T,v=[];for(b=0;b{var{typed:e,matrix:t,DenseMatrix:n,concat:i}=r,a=zr({typed:e}),o=Ln({typed:e,DenseMatrix:n}),u=yr({typed:e,DenseMatrix:n}),c=Ft({typed:e,matrix:t,concat:i});return e(YP,{"number, number":L0,"BigNumber, BigNumber":UP,"bigint, bigint":(s,l)=>s^l},c({SS:o,DS:a,Ss:u}))});var jP="arg",HX=["typed"],p_=C(jP,HX,r=>{var{typed:e}=r;return e(jP,{number:function(n){return Math.atan2(0,n)},BigNumber:function(n){return n.constructor.atan2(0,n)},Complex:function(n){return n.arg()},"Array | Matrix":e.referToSelf(t=>n=>rt(n,t))})});var ZP="conj",GX=["typed"],m_=C(ZP,GX,r=>{var{typed:e}=r;return e(ZP,{"number | BigNumber | Fraction":t=>t,Complex:t=>t.conjugate(),"Array | Matrix":e.referToSelf(t=>n=>rt(n,t))})});var JP="im",WX=["typed"],d_=C(JP,WX,r=>{var{typed:e}=r;return e(JP,{number:()=>0,"BigNumber | Fraction":t=>t.mul(0),Complex:t=>t.im,"Array | Matrix":e.referToSelf(t=>n=>rt(n,t))})});var XP="re",YX=["typed"],h_=C(XP,YX,r=>{var{typed:e}=r;return e(XP,{"number | BigNumber | Fraction":t=>t,Complex:t=>t.re,"Array | Matrix":e.referToSelf(t=>n=>rt(n,t))})});var QP="not",jX=["typed"],g_=C(QP,jX,r=>{var{typed:e}=r;return e(QP,{"null | undefined":()=>!0,number:G0,Complex:function(n){return n.re===0&&n.im===0},BigNumber:function(n){return n.isZero()||n.isNaN()},bigint:t=>!t,Unit:e.referToSelf(t=>n=>e.find(t,n.valueType())(n.value)),"Array | Matrix":e.referToSelf(t=>n=>rt(n,t))})});var KP="or",ZX=["typed","matrix","equalScalar","DenseMatrix","concat"],Up=C(KP,ZX,r=>{var{typed:e,matrix:t,equalScalar:n,DenseMatrix:i,concat:a}=r,o=zr({typed:e}),u=Iu({typed:e,equalScalar:n}),c=yr({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:t,concat:a});return e(KP,{"number, number":og,"Complex, Complex":function(f,p){return f.re!==0||f.im!==0||p.re!==0||p.im!==0},"BigNumber, BigNumber":function(f,p){return!f.isZero()&&!f.isNaN()||!p.isZero()&&!p.isNaN()},"bigint, bigint":og,"Unit, Unit":e.referToSelf(l=>(f,p)=>l(f.value||0,p.value||0))},s({SS:u,DS:o,Ss:c}))});var eB="xor",JX=["typed","matrix","DenseMatrix","concat"],v_=C(eB,JX,r=>{var{typed:e,matrix:t,DenseMatrix:n,concat:i}=r,a=zr({typed:e}),o=Ln({typed:e,DenseMatrix:n}),u=yr({typed:e,DenseMatrix:n}),c=Ft({typed:e,matrix:t,concat:i});return e(eB,{"number, number":sg,"Complex, Complex":function(l,f){return(l.re!==0||l.im!==0)!=(f.re!==0||f.im!==0)},"bigint, bigint":sg,"BigNumber, BigNumber":function(l,f){return(!l.isZero()&&!l.isNaN())!=(!f.isZero()&&!f.isNaN())},"Unit, Unit":e.referToSelf(s=>(l,f)=>s(l.value||0,f.value||0))},c({SS:o,DS:a,Ss:u}))});var tB="concat",XX=["typed","matrix","isInteger"],qp=C(tB,XX,r=>{var{typed:e,matrix:t,isInteger:n}=r;return e(tB,{"...Array | Matrix | number | BigNumber":function(a){var o,u=a.length,c=-1,s,l=!1,f=[];for(o=0;o0&&c>s)throw new di(c,s+1)}else{var m=dt(p).valueOf(),d=lt(m);if(f[o]=m,s=c,c=d.length-1,o>0&&c!==s)throw new Mt(s+1,c+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var h=f.shift();f.length;)h=d0(h,f.shift(),c);return l?t(h):h},"...string":function(a){return a.join("")}})});var rB="column",QX=["typed","Index","matrix","range"],zp=C(rB,QX,r=>{var{typed:e,Index:t,matrix:n,range:i}=r;return e(rB,{"Matrix, number":a,"Array, number":function(u,c){return a(n(dt(u)),c).valueOf()}});function a(o,u){if(o.size().length!==2)throw new Error("Only two dimensional matrix is supported");Ir(u,o.size()[1]);var c=i(0,o.size()[0]),s=new t(c,u),l=o.subset(s);return et(l)?l:n([[l]])}});var nB="count",KX=["typed","size","prod"],y_=C(nB,KX,r=>{var{typed:e,size:t,prod:n}=r;return e(nB,{string:function(a){return a.length},"Matrix | Array":function(a){return n(t(a))}})});var iB="cross",eQ=["typed","matrix","subtract","multiply"],x_=C(iB,eQ,r=>{var{typed:e,matrix:t,subtract:n,multiply:i}=r;return e(iB,{"Matrix, Matrix":function(u,c){return t(a(u.toArray(),c.toArray()))},"Matrix, Array":function(u,c){return t(a(u.toArray(),c))},"Array, Matrix":function(u,c){return t(a(u,c.toArray()))},"Array, Array":a});function a(o,u){var c=Math.max(lt(o).length,lt(u).length);o=Xc(o),u=Xc(u);var s=lt(o),l=lt(u);if(s.length!==1||l.length!==1||s[0]!==3||l[0]!==3)throw new RangeError("Vectors with length 3 expected (Size A = ["+s.join(", ")+"], B = ["+l.join(", ")+"])");var f=[n(i(o[1],u[2]),i(o[2],u[1])),n(i(o[2],u[0]),i(o[0],u[2])),n(i(o[0],u[1]),i(o[1],u[0]))];return c>1?[f]:f}});var aB="diag",tQ=["typed","matrix","DenseMatrix","SparseMatrix"],b_=C(aB,tQ,r=>{var{typed:e,matrix:t,DenseMatrix:n,SparseMatrix:i}=r;return e(aB,{Array:function(s){return a(s,0,lt(s),null)},"Array, number":function(s,l){return a(s,l,lt(s),null)},"Array, BigNumber":function(s,l){return a(s,l.toNumber(),lt(s),null)},"Array, string":function(s,l){return a(s,0,lt(s),l)},"Array, number, string":function(s,l,f){return a(s,l,lt(s),f)},"Array, BigNumber, string":function(s,l,f){return a(s,l.toNumber(),lt(s),f)},Matrix:function(s){return a(s,0,s.size(),s.storage())},"Matrix, number":function(s,l){return a(s,l,s.size(),s.storage())},"Matrix, BigNumber":function(s,l){return a(s,l.toNumber(),s.size(),s.storage())},"Matrix, string":function(s,l){return a(s,0,s.size(),l)},"Matrix, number, string":function(s,l,f){return a(s,l,s.size(),f)},"Matrix, BigNumber, string":function(s,l,f){return a(s,l.toNumber(),s.size(),f)}});function a(c,s,l,f){if(!Je(s))throw new TypeError("Second parameter in function diag must be an integer");var p=s>0?s:0,m=s<0?-s:0;switch(l.length){case 1:return o(c,s,f,l[0],m,p);case 2:return u(c,s,f,l,m,p)}throw new RangeError("Matrix for function diag must be 2 dimensional")}function o(c,s,l,f,p,m){var d=[f+p,f+m];if(l&&l!=="sparse"&&l!=="dense")throw new TypeError("Unknown matrix type ".concat(l,'"'));var h=l==="sparse"?i.diagonal(d,c,s):n.diagonal(d,c,s);return l!==null?h:h.valueOf()}function u(c,s,l,f,p,m){if(et(c)){var d=c.diagonal(s);return l!==null?l!==d.storage()?t(d,l):d:d.valueOf()}for(var h=Math.min(f[0]-p,f[1]-m),x=[],b=0;b{var{typed:e}=r;return e("filter",{"Array, function":oB,"Matrix, function":function(n,i){return n.create(oB(n.valueOf(),i),n.datatype())},"Array, RegExp":p0,"Matrix, RegExp":function(n,i){return n.create(p0(n.valueOf(),i),n.datatype())}})});function oB(r,e){var t=lo(e,r,"filter");return U2(r,function(n,i,a){return t(n,[i],a)})}var sB="flatten",iQ=["typed"],w_=C(sB,iQ,r=>{var{typed:e}=r;return e(sB,{Array:function(n){return kt(n)},Matrix:function(n){return n.create(kt(n.toArray()),n.datatype())}})});var __="forEach",aQ=["typed"],Gp=C(__,aQ,r=>{var{typed:e}=r;return e(__,{"Array, function":oQ,"Matrix, function":function(n,i){n.forEach(i)}})});function oQ(r,e){Pp(r,[],r,lo(e,r,__))}var uB="getMatrixDataType",sQ=["typed"],S_=C(uB,sQ,r=>{var{typed:e}=r;return e(uB,{Array:function(n){return Nl(n,ur)},Matrix:function(n){return n.getDataType()}})});var lB="identity",uQ=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],A_=C(lB,uQ,r=>{var{typed:e,config:t,matrix:n,BigNumber:i,DenseMatrix:a,SparseMatrix:o}=r;return e(lB,{"":function(){return t.matrix==="Matrix"?n([]):[]},string:function(l){return n(l)},"number | BigNumber":function(l){return c(l,l,t.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(l,f){return c(l,l,f)},"number | BigNumber, number | BigNumber":function(l,f){return c(l,f,t.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(l,f,p){return c(l,f,p)},Array:function(l){return u(l)},"Array, string":function(l,f){return u(l,f)},Matrix:function(l){return u(l.valueOf(),l.storage())},"Matrix, string":function(l,f){return u(l.valueOf(),f)}});function u(s,l){switch(s.length){case 0:return l?n(l):[];case 1:return c(s[0],s[0],l);case 2:return c(s[0],s[1],l);default:throw new Error("Vector containing two values expected")}}function c(s,l,f){var p=ut(s)||ut(l)?i:null;if(ut(s)&&(s=s.toNumber()),ut(l)&&(l=l.toNumber()),!Je(s)||s<1)throw new Error("Parameters in function identity must be positive integers");if(!Je(l)||l<1)throw new Error("Parameters in function identity must be positive integers");var m=p?new i(1):1,d=p?new p(0):0,h=[s,l];if(f){if(f==="sparse")return o.diagonal(h,m,0,d);if(f==="dense")return a.diagonal(h,m,0,d);throw new TypeError('Unknown matrix type "'.concat(f,'"'))}for(var x=Bo([],h,d),b=s{var{typed:e,matrix:t,multiplyScalar:n}=r;return e(cB,{"Matrix, Matrix":function(o,u){return t(i(o.toArray(),u.toArray()))},"Matrix, Array":function(o,u){return t(i(o.toArray(),u))},"Array, Matrix":function(o,u){return t(i(o,u.toArray()))},"Array, Array":i});function i(a,o){if(lt(a).length===1&&(a=[a]),lt(o).length===1&&(o=[o]),lt(a).length>2||lt(o).length>2)throw new RangeError("Vectors with dimensions greater then 2 are not supported expected (Size x = "+JSON.stringify(a.length)+", y = "+JSON.stringify(o.length)+")");var u=[],c=[];return a.map(function(s){return o.map(function(l){return c=[],u.push(c),s.map(function(f){return l.map(function(p){return c.push(n(f,p))})})})})&&u}});var T_="map",cQ=["typed"],Wp=C(T_,cQ,r=>{var{typed:e}=r;return e(T_,{"Array, function":n,"Matrix, function":function(a,o){return a.map(o)},"Array|Matrix, Array|Matrix, ...Array|Matrix|function":(i,a,o)=>t([i,a,...o.slice(0,o.length-1)],o[o.length-1])});function t(i,a){if(typeof a!="function")throw new Error("Last argument must be a callback function");var o=i[0].isMatrix,u=Ip(...i.map(S=>S.isMatrix?S.size():lt(S))),c=o?(S,_)=>S.get(_):Kc,s=o?i.map(S=>S.isMatrix?S.create(ts(S.toArray(),u),S.datatype()):i[0].create(ts(S.valueOf(),u))):i.map(S=>S.isMatrix?ts(S.toArray(),u):ts(S,u)),l;if(e.isTypedFunction(a)){var f=u.map(()=>0),p=s.map(S=>c(S,f)),m=v(a,p,f,s);l=b(m)}else{var d=i.length,h=T(a,d);l=b(h)}var x=(S,_)=>l([S,...s.slice(1).map(y=>c(y,_))],_);if(o)return s[0].map(x);return n(s[0],x);function b(S){switch(S){case 0:return _=>a(..._);case 1:return(_,y)=>a(..._,y);case 2:return(_,y)=>a(..._,y,...s)}}function T(S,_){return S.length>_+1?2:S.length===_+1?1:0}function v(S,_,y,A){return e.resolve(S,[..._,y,...A])!==null?2:e.resolve(S,[..._,y])!==null?1:(e.resolve(S,_)!==null,0)}}function n(i,a){return Pp(i,[],i,lo(a,i,T_))}});var fB="diff",fQ=["typed","matrix","subtract","number"],Yp=C(fB,fQ,r=>{var{typed:e,matrix:t,subtract:n,number:i}=r;return e(fB,{"Array | Matrix":function(l){return et(l)?t(o(l.toArray())):o(l)},"Array | Matrix, number":function(l,f){if(!Je(f))throw new RangeError("Dimension must be a whole number");return et(l)?t(a(l.toArray(),f)):a(l,f)},"Array, BigNumber":e.referTo("Array,number",s=>(l,f)=>s(l,i(f))),"Matrix, BigNumber":e.referTo("Matrix,number",s=>(l,f)=>s(l,i(f)))});function a(s,l){if(et(s)&&(s=s.toArray()),!Array.isArray(s))throw RangeError("Array/Matrix does not have that many dimensions");if(l>0){var f=[];return s.forEach(p=>{f.push(a(p,l-1))}),f}else{if(l===0)return o(s);throw RangeError("Cannot have negative dimension")}}function o(s){for(var l=[],f=s.length,p=1;p{var{typed:e,config:t,matrix:n,BigNumber:i}=r;return e("ones",{"":function(){return t.matrix==="Array"?a([]):a([],"default")},"...number | BigNumber | string":function(s){var l=s[s.length-1];if(typeof l=="string"){var f=s.pop();return a(s,f)}else return t.matrix==="Array"?a(s):a(s,"default")},Array:a,Matrix:function(s){var l=s.storage();return a(s.valueOf(),l)},"Array | Matrix, string":function(s,l){return a(s.valueOf(),l)}});function a(c,s){var l=o(c),f=l?new i(1):1;if(u(c),s){var p=n(s);return c.length>0?p.resize(c,f):p}else{var m=[];return c.length>0?Bo(m,c,f):m}}function o(c){var s=!1;return c.forEach(function(l,f,p){ut(l)&&(s=!0,p[f]=l.toNumber())}),s}function u(c){c.forEach(function(s){if(typeof s!="number"||!Je(s)||s<0)throw new Error("Parameters in function ones must be positive integers")})}});function of(){throw new Error('No "bignumber" implementation available')}function mg(){throw new Error('No "fraction" implementation available')}function dg(){throw new Error('No "matrix" implementation available')}var pB="range",dQ=["typed","config","?matrix","?bignumber","smaller","smallerEq","larger","largerEq","add","isPositive"],jp=C(pB,dQ,r=>{var{typed:e,config:t,matrix:n,bignumber:i,smaller:a,smallerEq:o,larger:u,largerEq:c,add:s,isPositive:l}=r;return e(pB,{string:p,"string, boolean":p,"number, number":function(x,b){return f(m(x,b,1,!1))},"number, number, number":function(x,b,T){return f(m(x,b,T,!1))},"number, number, boolean":function(x,b,T){return f(m(x,b,1,T))},"number, number, number, boolean":function(x,b,T,v){return f(m(x,b,T,v))},"BigNumber, BigNumber":function(x,b){var T=x.constructor;return f(m(x,b,new T(1),!1))},"BigNumber, BigNumber, BigNumber":function(x,b,T){return f(m(x,b,T,!1))},"BigNumber, BigNumber, boolean":function(x,b,T){var v=x.constructor;return f(m(x,b,new v(1),T))},"BigNumber, BigNumber, BigNumber, boolean":function(x,b,T,v){return f(m(x,b,T,v))},"Unit, Unit, Unit":function(x,b,T){return f(m(x,b,T,!1))},"Unit, Unit, Unit, boolean":function(x,b,T,v){return f(m(x,b,T,v))}});function f(h){return t.matrix==="Matrix"?n?n(h):dg():h}function p(h,x){var b=d(h);if(!b)throw new SyntaxError('String "'+h+'" is no valid range');return t.number==="BigNumber"?(i===void 0&&of(),f(m(i(b.start),i(b.end),i(b.step)),x)):f(m(b.start,b.end,b.step,x))}function m(h,x,b,T){for(var v=[],S=l(b)?T?o:a:T?c:u,_=h;S(_,x);)v.push(_),_=s(_,b);return v}function d(h){var x=h.split(":"),b=x.map(function(v){return Number(v)}),T=b.some(function(v){return isNaN(v)});if(T)return null;switch(b.length){case 2:return{start:b[0],end:b[1],step:1};case 3:return{start:b[0],end:b[2],step:b[1]};default:return null}}});var mB="reshape",hQ=["typed","isInteger","matrix"],D_=C(mB,hQ,r=>{var{typed:e,isInteger:t}=r;return e(mB,{"Matrix, Array":function(i,a){return i.reshape(a,!0)},"Array, Array":function(i,a){return a.forEach(function(o){if(!t(o))throw new TypeError("Invalid size for dimension: "+o)}),Np(i,a)}})});var gQ="resize",vQ=["config","matrix"],C_=C(gQ,vQ,r=>{var{config:e,matrix:t}=r;return function(a,o,u){if(arguments.length!==2&&arguments.length!==3)throw new qs("resize",arguments.length,2,3);if(et(o)&&(o=o.valueOf()),ut(o[0])&&(o=o.map(function(l){return ut(l)?l.toNumber():l})),et(a))return a.resize(o,u,!0);if(typeof a=="string")return n(a,o,u);var c=Array.isArray(a)?!1:e.matrix!=="Array";if(o.length===0){for(;Array.isArray(a);)a=a[0];return dt(a)}else{Array.isArray(a)||(a=[a]),a=dt(a);var s=Bo(a,o,u);return c?t(s):s}};function n(i,a,o){if(o!==void 0){if(typeof o!="string"||o.length!==1)throw new TypeError("Single character expected as defaultValue")}else o=" ";if(a.length!==1)throw new Mt(a.length,1);var u=a[0];if(typeof u!="number"||!Je(u))throw new TypeError("Invalid size, must contain positive integers (size: "+Et(a)+")");if(i.length>u)return i.substring(0,u);if(i.length{var{typed:e,multiply:t,rotationMatrix:n}=r;return e(dB,{"Array , number | BigNumber | Complex | Unit":function(o,u){i(o,2);var c=t(n(u),o);return c.toArray()},"Matrix , number | BigNumber | Complex | Unit":function(o,u){return i(o,2),t(n(u),o)},"Array, number | BigNumber | Complex | Unit, Array | Matrix":function(o,u,c){i(o,3);var s=t(n(u,c),o);return s},"Matrix, number | BigNumber | Complex | Unit, Array | Matrix":function(o,u,c){return i(o,3),t(n(u,c),o)}});function i(a,o){var u=Array.isArray(a)?lt(a):a.size();if(u.length>2)throw new RangeError("Vector must be of dimensions 1x".concat(o));if(u.length===2&&u[1]!==1)throw new RangeError("Vector must be of dimensions 1x".concat(o));if(u[0]!==o)throw new RangeError("Vector must be of dimensions 1x".concat(o))}});var hB="rotationMatrix",xQ=["typed","config","multiplyScalar","addScalar","unaryMinus","norm","matrix","BigNumber","DenseMatrix","SparseMatrix","cos","sin"],F_=C(hB,xQ,r=>{var{typed:e,config:t,multiplyScalar:n,addScalar:i,unaryMinus:a,norm:o,BigNumber:u,matrix:c,DenseMatrix:s,SparseMatrix:l,cos:f,sin:p}=r;return e(hB,{"":function(){return t.matrix==="Matrix"?c([]):[]},string:function(v){return c(v)},"number | BigNumber | Complex | Unit":function(v){return m(v,t.matrix==="Matrix"?"dense":void 0)},"number | BigNumber | Complex | Unit, string":function(v,S){return m(v,S)},"number | BigNumber | Complex | Unit, Array":function(v,S){var _=c(S);return d(_),b(v,_,void 0)},"number | BigNumber | Complex | Unit, Matrix":function(v,S){d(S);var _=S.storage()||(t.matrix==="Matrix"?"dense":void 0);return b(v,S,_)},"number | BigNumber | Complex | Unit, Array, string":function(v,S,_){var y=c(S);return d(y),b(v,y,_)},"number | BigNumber | Complex | Unit, Matrix, string":function(v,S,_){return d(S),b(v,S,_)}});function m(T,v){var S=ut(T),_=S?new u(-1):-1,y=f(T),A=p(T),M=[[y,n(_,A)],[A,y]];return x(M,v)}function d(T){var v=T.size();if(v.length<1||v[0]!==3)throw new RangeError("Vector must be of dimensions 1x3")}function h(T){return T.reduce((v,S)=>n(v,S))}function x(T,v){if(v){if(v==="sparse")return new l(T);if(v==="dense")return new s(T);throw new TypeError('Unknown matrix type "'.concat(v,'"'))}return T}function b(T,v,S){var _=o(v);if(_===0)throw new RangeError("Rotation around zero vector");var y=ut(T)?u:null,A=y?new y(1):1,M=y?new y(-1):-1,w=y?new y(v.get([0])/_):v.get([0])/_,D=y?new y(v.get([1])/_):v.get([1])/_,N=y?new y(v.get([2])/_):v.get([2])/_,B=f(T),R=i(A,a(B)),z=p(T),V=i(B,h([w,w,R])),k=i(h([w,D,R]),h([M,N,z])),P=i(h([w,N,R]),h([D,z])),W=i(h([w,D,R]),h([N,z])),O=i(B,h([D,D,R])),X=i(h([D,N,R]),h([M,w,z])),ne=i(h([w,N,R]),h([M,D,z])),Z=i(h([D,N,R]),h([w,z])),L=i(B,h([N,N,R])),pe=[[V,k,P],[W,O,X],[ne,Z,L]];return x(pe,S)}});var gB="row",bQ=["typed","Index","matrix","range"],Zp=C(gB,bQ,r=>{var{typed:e,Index:t,matrix:n,range:i}=r;return e(gB,{"Matrix, number":a,"Array, number":function(u,c){return a(n(dt(u)),c).valueOf()}});function a(o,u){if(o.size().length!==2)throw new Error("Only two dimensional matrix is supported");Ir(u,o.size()[0]);var c=i(0,o.size()[1]),s=new t(u,c),l=o.subset(s);return et(l)?l:n([[l]])}});var vB="size",wQ=["typed","config","?matrix"],I_=C(vB,wQ,r=>{var{typed:e,config:t,matrix:n}=r;return e(vB,{Matrix:function(a){return a.create(a.size(),"number")},Array:lt,string:function(a){return t.matrix==="Array"?[a.length]:n([a.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(a){return t.matrix==="Array"?[]:n?n([],"dense","number"):dg()}})});var yB="squeeze",_Q=["typed"],P_=C(yB,_Q,r=>{var{typed:e}=r;return e(yB,{Array:function(n){return Xc(dt(n))},Matrix:function(n){var i=Xc(n.toArray());return Array.isArray(i)?n.create(i,n.datatype()):i},any:function(n){return dt(n)}})});var xB="subset",SQ=["typed","matrix","zeros","add"],Jp=C(xB,SQ,r=>{var{typed:e,matrix:t,zeros:n,add:i}=r;return e(xB,{"Matrix, Index":function(u,c){return Cl(c)?t():(Cp(u,c),u.subset(c))},"Array, Index":e.referTo("Matrix, Index",function(o){return function(u,c){var s=o(t(u),c);return c.isScalar()?s:s.valueOf()}}),"Object, Index":EQ,"string, Index":AQ,"Matrix, Index, any, any":function(u,c,s,l){return Cl(c)?u:(Cp(u,c),u.clone().subset(c,a(s,c),l))},"Array, Index, any, any":e.referTo("Matrix, Index, any, any",function(o){return function(u,c,s,l){var f=o(t(u),c,s,l);return f.isMatrix?f.valueOf():f}}),"Array, Index, any":e.referTo("Matrix, Index, any, any",function(o){return function(u,c,s){return o(t(u),c,s,void 0).valueOf()}}),"Matrix, Index, any":e.referTo("Matrix, Index, any, any",function(o){return function(u,c,s){return o(u,c,s,void 0)}}),"string, Index, string":bB,"string, Index, string, string":bB,"Object, Index, any":TQ});function a(o,u){if(typeof o=="string")throw new Error("can't boradcast a string");if(u._isScalar)return o;var c=u.size();if(c.every(s=>s>0))try{return i(o,n(c))}catch{return o}else return o}});function AQ(r,e){if(!Eu(e))throw new TypeError("Index expected");if(Cl(e))return"";if(Cp(Array.from(r),e),e.size().length!==1)throw new Mt(e.size().length,1);var t=r.length;Ir(e.min()[0],t),Ir(e.max()[0],t);var n=e.dimension(0),i="";return n.forEach(function(a){i+=r.charAt(a)}),i}function bB(r,e,t,n){if(!e||e.isIndex!==!0)throw new TypeError("Index expected");if(Cl(e))return r;if(Cp(Array.from(r),e),e.size().length!==1)throw new Mt(e.size().length,1);if(n!==void 0){if(typeof n!="string"||n.length!==1)throw new TypeError("Single character expected as defaultValue")}else n=" ";var i=e.dimension(0),a=i.size()[0];if(a!==t.length)throw new Mt(i.size()[0],t.length);var o=r.length;Ir(e.min()[0]),Ir(e.max()[0]);for(var u=[],c=0;co)for(var s=o-1,l=u.length;s{var{typed:e,matrix:t}=r;return e(wB,{Array:o=>n(t(o)).valueOf(),Matrix:n,any:dt});function n(o){var u=o.size(),c;switch(u.length){case 1:c=o.clone();break;case 2:{var s=u[0],l=u[1];if(l===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+Et(u)+")");switch(o.storage()){case"dense":c=i(o,s,l);break;case"sparse":c=a(o,s,l);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+Et(u)+")")}return c}function i(o,u,c){for(var s=o._data,l=[],f,p=0;p{var{typed:e,transpose:t,conj:n}=r;return e(_B,{any:function(a){return n(t(a))}})});var SB="zeros",CQ=["typed","config","matrix","BigNumber"],$_=C(SB,CQ,r=>{var{typed:e,config:t,matrix:n,BigNumber:i}=r;return e(SB,{"":function(){return t.matrix==="Array"?a([]):a([],"default")},"...number | BigNumber | string":function(s){var l=s[s.length-1];if(typeof l=="string"){var f=s.pop();return a(s,f)}else return t.matrix==="Array"?a(s):a(s,"default")},Array:a,Matrix:function(s){var l=s.storage();return a(s.valueOf(),l)},"Array | Matrix, string":function(s,l){return a(s.valueOf(),l)}});function a(c,s){var l=o(c),f=l?new i(0):0;if(u(c),s){var p=n(s);return c.length>0?p.resize(c,f):p}else{var m=[];return c.length>0?Bo(m,c,f):m}}function o(c){var s=!1;return c.forEach(function(l,f,p){ut(l)&&(s=!0,p[f]=l.toNumber())}),s}function u(c){c.forEach(function(s){if(typeof s!="number"||!Je(s)||s<0)throw new Error("Parameters in function zeros must be positive integers")})}});var AB="fft",NQ=["typed","matrix","addScalar","multiplyScalar","divideScalar","exp","tau","i","dotDivide","conj","pow","ceil","log2"],O_=C(AB,NQ,r=>{var{typed:e,matrix:t,addScalar:n,multiplyScalar:i,divideScalar:a,exp:o,tau:u,i:c,dotDivide:s,conj:l,pow:f,ceil:p,log2:m}=r;return e(AB,{Array:d,Matrix:function(v){return v.create(d(v.valueOf()),v.datatype())}});function d(T){var v=lt(T);return v.length===1?b(T,v[0]):h(T.map(S=>d(S,v.slice(1))),0)}function h(T,v){var S=lt(T);if(v!==0)return new Array(S[0]).fill(0).map((y,A)=>h(T[A],v-1));if(S.length===1)return b(T);function _(y){var A=lt(y);return new Array(A[1]).fill(0).map((M,w)=>new Array(A[0]).fill(0).map((D,N)=>y[N][w]))}return _(h(_(T),1))}function x(T){for(var v=T.length,S=o(a(i(-1,i(c,u)),v)),_=[],y=1-v;yi(T[P],_[v-1+P])),...new Array(A-v).fill(0)],w=[...new Array(v+v-1).fill(0).map((k,P)=>a(1,_[P])),...new Array(A-(v+v-1)).fill(0)],D=b(M),N=b(w),B=new Array(A).fill(0).map((k,P)=>i(D[P],N[P])),R=s(l(d(l(B))),A),z=[],V=v-1;Vw%2===0),v/2),...b(T.filter((M,w)=>w%2===1),v/2)],_=0;_{var{typed:e,fft:t,dotDivide:n,conj:i}=r;return e(EB,{"Array | Matrix":function(o){var u=et(o)?o.size():lt(o);return n(i(t(i(o))),u.reduce((c,s)=>c*s,1))}})});function Pl(r){"@babel/helpers - typeof";return Pl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pl(r)}function TB(r,e){if(Pl(r)!="object"||!r)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(Pl(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function MB(r){var e=TB(r,"string");return Pl(e)=="symbol"?e:e+""}function wr(r,e,t){return(e=MB(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function DB(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function IQ(r){for(var e=1;e{var{typed:e,add:t,subtract:n,multiply:i,divide:a,max:o,map:u,abs:c,isPositive:s,isNegative:l,larger:f,smaller:p,matrix:m,bignumber:d,unaryMinus:h}=r;function x(M){return function(w,D,N,B){var R=!(D.length===2&&(D.every(y)||D.every(ci)));if(R)throw new Error('"tspan" must be an Array of two numeric values or two units [tStart, tEnd]');var z=D[0],V=D[1],k=f(V,z),P=B.firstStep;if(P!==void 0&&!s(P))throw new Error('"firstStep" must be positive');var W=B.maxStep;if(W!==void 0&&!s(W))throw new Error('"maxStep" must be positive');var O=B.minStep;if(O&&l(O))throw new Error('"minStep" must be positive or zero');var X=[z,V,P,O,W].filter(qe=>qe!==void 0);if(!(X.every(y)||X.every(ci)))throw new Error('Inconsistent type of "t" dependant variables');for(var ne=1,Z=B.tol?B.tol:1e-4,L=B.minDelta?B.minDelta:.2,pe=B.maxDelta?B.maxDelta:5,me=B.maxIter?B.maxIter:1e4,oe=[z,V,...N,W,O].some(ut),[ve,_e,ye,be]=oe?[d(M.a),d(M.c),d(M.b),d(M.bp)]:[M.a,M.c,M.b,M.bp],we=P?k?P:h(P):a(n(V,z),ne),Ee=[z],ze=[N],Qe=n(ye,be),Y=0,Q=0,xe=S(k),J=_(k);xe(Ee[Y],V);){var re=[];we=J(Ee[Y],V,we),re.push(w(Ee[Y],ze[Y]));for(var se=1;se<_e.length;++se)re.push(w(t(Ee[Y],i(_e[se],we)),t(ze[Y],i(we,ve[se],re))));var Ae=o(c(u(i(Qe,re),qe=>ci(qe)?qe.value:qe)));Ae1/4&&(Ee.push(t(Ee[Y],we)),ze.push(t(ze[Y],i(we,ye,re))),Y++);var Te=.84*(Z/Ae)**(1/5);if(p(Te,L)?Te=L:f(Te,pe)&&(Te=pe),Te=oe?d(Te):Te,we=i(we,Te),W&&f(c(we),W)?we=k?W:h(W):O&&p(c(we),O)&&(we=k?O:h(O)),Q++,Q>me)throw new Error("Maximum number of iterations reached, try changing options")}return{t:Ee,y:ze}}}function b(M,w,D,N){var B=[[],[.5],[0,.75],[.2222222222222222,.3333333333333333,.4444444444444444]],R=[null,1/2,3/4,1],z=[2/9,1/3,4/9,0],V=[7/24,1/4,1/3,1/8],k={a:B,c:R,b:z,bp:V};return x(k)(M,w,D,N)}function T(M,w,D,N){var B=[[],[.2],[.075,.225],[.9777777777777777,-3.7333333333333334,3.5555555555555554],[2.9525986892242035,-11.595793324188385,9.822892851699436,-.2908093278463649],[2.8462752525252526,-10.757575757575758,8.906422717743473,.2784090909090909,-.2735313036020583],[.09114583333333333,0,.44923629829290207,.6510416666666666,-.322376179245283,.13095238095238096]],R=[null,1/5,3/10,4/5,8/9,1,1],z=[35/384,0,500/1113,125/192,-2187/6784,11/84,0],V=[5179/57600,0,7571/16695,393/640,-92097/339200,187/2100,1/40],k={a:B,c:R,b:z,bp:V};return x(k)(M,w,D,N)}function v(M,w,D,N){var B=N.method?N.method:"RK45",R={RK23:b,RK45:T};if(B.toUpperCase()in R){var z=IQ({},N);return delete z.method,R[B.toUpperCase()](M,w,D,z)}else{var V=Object.keys(R).map(P=>'"'.concat(P,'"')),k="".concat(V.slice(0,-1).join(", ")," and ").concat(V.slice(-1));throw new Error('Unavailable method "'.concat(B,'". Available methods are ').concat(k))}}function S(M){return M?p:f}function _(M){var w=M?f:p;return function(D,N,B){var R=t(D,B);return w(R,N)?n(N,D):B}}function y(M){return ut(M)||xt(M)}function A(M,w,D,N){var B=v(M,w.toArray(),D.toArray(),N);return{t:m(B.t),y:m(B.y)}}return e("solveODE",{"function, Array, Array, Object":v,"function, Matrix, Matrix, Object":A,"function, Array, Array":(M,w,D)=>v(M,w,D,{}),"function, Matrix, Matrix":(M,w,D)=>A(M,w,D,{}),"function, Array, number | BigNumber | Unit":(M,w,D)=>{var N=v(M,w,[D],{});return{t:N.t,y:N.y.map(B=>B[0])}},"function, Matrix, number | BigNumber | Unit":(M,w,D)=>{var N=v(M,w.toArray(),[D],{});return{t:m(N.t),y:m(N.y.map(B=>B[0]))}},"function, Array, number | BigNumber | Unit, Object":(M,w,D,N)=>{var B=v(M,w,[D],N);return{t:B.t,y:B.y.map(R=>R[0])}},"function, Matrix, number | BigNumber | Unit, Object":(M,w,D,N)=>{var B=v(M,w.toArray(),[D],N);return{t:m(B.t),y:m(B.y.map(R=>R[0]))}}})});var kQ="erf",$Q=["typed"],V_=C(kQ,$Q,r=>{var{typed:e}=r;return e("name",{number:function(o){var u=Math.abs(o);return u>=LQ?so(o):u<=OQ?so(o)*t(u):u<=4?so(o)*(1-n(u)):so(o)*(1-i(u))},"Array | Matrix":e.referToSelf(a=>o=>rt(o,a))});function t(a){var o=a*a,u=zs[0][4]*o,c=o,s;for(s=0;s<3;s+=1)u=(u+zs[0][s])*o,c=(c+sf[0][s])*o;return a*(u+zs[0][3])/(c+sf[0][3])}function n(a){var o=zs[1][8]*a,u=a,c;for(c=0;c<7;c+=1)o=(o+zs[1][c])*a,u=(u+sf[1][c])*a;var s=(o+zs[1][7])/(u+sf[1][7]),l=parseInt(a*16)/16,f=(a-l)*(a+l);return Math.exp(-l*l)*Math.exp(-f)*s}function i(a){var o=1/(a*a),u=zs[2][5]*o,c=o,s;for(s=0;s<4;s+=1)u=(u+zs[2][s])*o,c=(c+sf[2][s])*o;var l=o*(u+zs[2][4])/(c+sf[2][4]);l=(RQ-l)/a,o=parseInt(a*16)/16;var f=(a-o)*(a+o);return Math.exp(-o*o)*Math.exp(-f)*l}}),OQ=.46875,RQ=.5641895835477563,zs=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,21531153547440383e-24],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],sf=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]],LQ=Math.pow(2,53);var CB="zeta",VQ=["typed","config","multiply","pow","divide","factorial","equal","smallerEq","isNegative","gamma","sin","subtract","add","?Complex","?BigNumber","pi"],U_=C(CB,VQ,r=>{var{typed:e,config:t,multiply:n,pow:i,divide:a,factorial:o,equal:u,smallerEq:c,isNegative:s,gamma:l,sin:f,subtract:p,add:m,Complex:d,BigNumber:h,pi:x}=r;return e(CB,{number:y=>b(y,A=>A,()=>20),BigNumber:y=>b(y,A=>new h(A),()=>Math.abs(Math.log10(t.relTol))),Complex:T});function b(y,A,M){return u(y,0)?A(-.5):u(y,1)?A(NaN):isFinite(y)?v(y,A,M,w=>w):s(y)?A(NaN):A(1)}function T(y){return y.re===0&&y.im===0?new d(-.5):y.re===1?new d(NaN,NaN):y.re===1/0&&y.im===0?new d(1):y.im===1/0||y.re===-1/0?new d(NaN,NaN):v(y,A=>A,A=>Math.round(1.3*15+.9*Math.abs(A.im)),A=>A.re)}function v(y,A,M,w){var D=M(y);if(w(y)>-(D-1)/2)return _(y,A(D),A);var N=n(i(2,y),i(A(x),p(y,1)));return N=n(N,f(n(a(A(x),2),y))),N=n(N,l(p(1,y))),n(N,v(p(1,y),A,M,w))}function S(y,A){for(var M=y,w=y;c(w,A);w=m(w,1)){var D=a(n(o(m(A,p(w,1))),i(4,w)),n(o(p(A,w)),o(n(2,w))));M=m(M,D)}return n(A,M)}function _(y,A,M){for(var w=a(1,n(S(M(0),A),p(1,i(2,p(1,y))))),D=M(0),N=M(1);c(N,A);N=m(N,1))D=m(D,a(n((-1)**(N-1),S(N,A)),i(N,y)));return n(w,D)}});var NB="mode",UQ=["typed","isNaN","isNumeric"],q_=C(NB,UQ,r=>{var{typed:e,isNaN:t,isNumeric:n}=r;return e(NB,{"Array | Matrix":i,"...":function(o){return i(o)}});function i(a){a=kt(a.valueOf());var o=a.length;if(o===0)throw new Error("Cannot calculate mode of an empty array");for(var u={},c=[],s=0,l=0;ls&&(s=u[f],c=[f])}return c}});function gn(r,e,t){var n;return String(r).includes("Unexpected type")?(n=arguments.length>2?" (type: "+ur(t)+", value: "+JSON.stringify(t)+")":" (type: "+r.data.actual+")",new TypeError("Cannot calculate "+e+", unexpected type of argument"+n)):String(r).includes("complex numbers")?(n=arguments.length>2?" (type: "+ur(t)+", value: "+JSON.stringify(t)+")":"",new TypeError("Cannot calculate "+e+", no ordering relation is defined for complex numbers"+n)):r}var FB="prod",qQ=["typed","config","multiplyScalar","numeric"],z_=C(FB,qQ,r=>{var{typed:e,config:t,multiplyScalar:n,numeric:i}=r;return e(FB,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(u,c){throw new Error("prod(A, dim) is not yet supported")},"...":function(u){return a(u)}});function a(o){var u;if(Ti(o,function(c){try{u=u===void 0?c:n(u,c)}catch(s){throw gn(s,"prod",c)}}),typeof u=="string"&&(u=i(u,Ai(u,t))),u===void 0)throw new Error("Cannot calculate prod of an empty array");return u}});var IB="format",zQ=["typed"],H_=C(IB,zQ,r=>{var{typed:e}=r;return e(IB,{any:Et,"any, Object | function | number | BigNumber":Et})});var PB="bin",HQ=["typed","format"],G_=C(PB,HQ,r=>{var{typed:e,format:t}=r;return e(PB,{"number | BigNumber":function(i){return t(i,{notation:"bin"})},"number | BigNumber, number | BigNumber":function(i,a){return t(i,{notation:"bin",wordSize:a})}})});var BB="oct",GQ=["typed","format"],W_=C(BB,GQ,r=>{var{typed:e,format:t}=r;return e(BB,{"number | BigNumber":function(i){return t(i,{notation:"oct"})},"number | BigNumber, number | BigNumber":function(i,a){return t(i,{notation:"oct",wordSize:a})}})});var kB="hex",WQ=["typed","format"],Y_=C(kB,WQ,r=>{var{typed:e,format:t}=r;return e(kB,{"number | BigNumber":function(i){return t(i,{notation:"hex"})},"number | BigNumber, number | BigNumber":function(i,a){return t(i,{notation:"hex",wordSize:a})}})});var hg=/\$([\w.]+)/g;var $B="print",YQ=["typed"],Xp=C($B,YQ,r=>{var{typed:e}=r;return e($B,{"string, Object | Array":OB,"string, Object | Array, number | Object":OB})});function OB(r,e,t){return r.replace(hg,function(n,i){var a=i.split("."),o=e[a.shift()];for(o!==void 0&&o.isMatrix&&(o=o.toArray());a.length&&o!==void 0;){var u=a.shift();o=u?o[u]:o+"."}return o!==void 0?dn(o)?o:Et(o,t):n})}var RB="to",jQ=["typed","matrix","concat"],j_=C(RB,jQ,r=>{var{typed:e,matrix:t,concat:n}=r,i=Ft({typed:e,matrix:t,concat:n});return e(RB,{"Unit, Unit | string":(a,o)=>a.to(o)},i({Ds:!0}))});var LB="isPrime",ZQ=["typed"],Z_=C(LB,ZQ,r=>{var{typed:e}=r;return e(LB,{number:function(n){if(n<=3)return n>1;if(n%2===0||n%3===0)return!1;for(var i=5;i*i<=n;i+=6)if(n%i===0||n%(i+2)===0)return!1;return!0},bigint:function(n){if(n<=3n)return n>1n;if(n%2n===0n||n%3n===0n)return!1;for(var i=5n;i*i<=n;i+=6n)if(n%i===0n||n%(i+2n)===0n)return!1;return!0},BigNumber:function(n){if(n.lte(3))return n.gt(1);if(n.mod(2).eq(0)||n.mod(3).eq(0))return!1;if(n.lt(Math.pow(2,32))){for(var i=n.toNumber(),a=5;a*a<=i;a+=6)if(i%a===0||i%(a+2)===0)return!1;return!0}function o(T,v,S){for(var _=1;!v.eq(0);)v.mod(2).eq(0)?(v=v.div(2),T=T.mul(T).mod(S)):(v=v.sub(1),_=T.mul(_).mod(S));return _}var u=n.constructor.clone({precision:n.toFixed(0).length*2});n=new u(n);for(var c=0,s=n.sub(1);s.mod(2).eq(0);)s=s.div(2),c+=1;var l=null;if(n.lt("3317044064679887385961981"))l=[2,3,5,7,11,13,17,19,23,29,31,37,41].filter(T=>Tn=>rt(n,t))})});var JQ="numeric",XQ=["number","?bignumber","?fraction"],J_=C(JQ,XQ,r=>{var{number:e,bignumber:t,fraction:n}=r,i={string:!0,number:!0,BigNumber:!0,Fraction:!0},a={number:o=>e(o),BigNumber:t?o=>t(o):of,bigint:o=>BigInt(o),Fraction:n?o=>n(o):mg};return function(u){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",s=arguments.length>2?arguments[2]:void 0;if(s!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var l=ur(u);if(!(l in i))throw new TypeError("Cannot convert "+u+' of type "'+l+'"; valid input types are '+Object.keys(i).join(", "));if(!(c in a))throw new TypeError("Cannot convert "+u+' to type "'+c+'"; valid output types are '+Object.keys(a).join(", "));return c===l?u:a[c](u)}});var VB="divideScalar",QQ=["typed","numeric"],X_=C(VB,QQ,r=>{var{typed:e,numeric:t}=r;return e(VB,{"number, number":function(i,a){return i/a},"Complex, Complex":function(i,a){return i.div(a)},"BigNumber, BigNumber":function(i,a){return i.div(a)},"bigint, bigint":function(i,a){return i/a},"Fraction, Fraction":function(i,a){return i.div(a)},"Unit, number | Complex | Fraction | BigNumber | Unit":(n,i)=>n.divide(i),"number | Fraction | Complex | BigNumber, Unit":(n,i)=>i.divideInto(n)})});var UB="pow",KQ=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],Q_=C(UB,KQ,r=>{var{typed:e,config:t,identity:n,multiply:i,matrix:a,inv:o,number:u,fraction:c,Complex:s}=r;return e(UB,{"number, number":l,"Complex, Complex":function(d,h){return d.pow(h)},"BigNumber, BigNumber":function(d,h){return h.isInteger()||d>=0||t.predictable?d.pow(h):new s(d.toNumber(),0).pow(h.toNumber(),0)},"bigint, bigint":(m,d)=>m**d,"Fraction, Fraction":function(d,h){var x=d.pow(h);if(x!=null)return x;if(t.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return l(d.valueOf(),h.valueOf())},"Array, number":f,"Array, BigNumber":function(d,h){return f(d,h.toNumber())},"Matrix, number":p,"Matrix, BigNumber":function(d,h){return p(d,h.toNumber())},"Unit, number | BigNumber":function(d,h){return d.pow(h)}});function l(m,d){if(t.predictable&&!Je(d)&&m<0)try{var h=c(d),x=u(h);if((d===x||Math.abs((d-x)/d)<1e-14)&&h.d%2===1)return(h.n%2===0?1:-1)*Math.pow(-m,d)}catch{}return t.predictable&&(m<-1&&d===1/0||m>-1&&m<0&&d===-1/0)?NaN:Je(d)||m>=0||t.predictable?k0(m,d):m*m<1&&d===1/0||m*m>1&&d===-1/0?0:new s(m,0).pow(d,0)}function f(m,d){if(!Je(d))throw new TypeError("For A^b, b must be an integer (value is "+d+")");var h=lt(m);if(h.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+h.length+" dimensions)");if(h[0]!==h[1])throw new Error("For A^b, A must be square (size is "+h[0]+"x"+h[1]+")");if(d<0)try{return f(o(m),-d)}catch(T){throw T.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+d+")"):T}for(var x=n(h[0]).valueOf(),b=m;d>=1;)(d&1)===1&&(x=i(b,x)),d>>=1,b=i(b,b);return x}function p(m,d){return a(f(m.valueOf(),d))}});var uf="Number of decimals in function round must be an integer",qB="round",eK=["typed","config","matrix","equalScalar","zeros","BigNumber","DenseMatrix"],K_=C(qB,eK,r=>{var{typed:e,config:t,matrix:n,equalScalar:i,zeros:a,BigNumber:o,DenseMatrix:u}=r,c=Nr({typed:e,equalScalar:i}),s=yr({typed:e,DenseMatrix:u}),l=Tn({typed:e});function f(p){return Math.abs(Yc(p).exponent)}return e(qB,{number:function(m){var d=tf(m,f(t.relTol)),h=Yr(m,d,t.relTol,t.absTol)?d:m;return tf(h)},"number, number":function(m,d){var h=f(t.relTol);if(d>=h)return tf(m,d);var x=tf(m,h),b=Yr(m,x,t.relTol,t.absTol)?x:m;return tf(b,d)},"number, BigNumber":function(m,d){if(!d.isInteger())throw new TypeError(uf);return new o(m).toDecimalPlaces(d.toNumber())},Complex:function(m){return m.round()},"Complex, number":function(m,d){if(d%1)throw new TypeError(uf);return m.round(d)},"Complex, BigNumber":function(m,d){if(!d.isInteger())throw new TypeError(uf);var h=d.toNumber();return m.round(h)},BigNumber:function(m){var d=new o(m).toDecimalPlaces(f(t.relTol)),h=ln(m,d,t.relTol,t.absTol)?d:m;return h.toDecimalPlaces(0)},"BigNumber, BigNumber":function(m,d){if(!d.isInteger())throw new TypeError(uf);var h=f(t.relTol);if(d>=h)return m.toDecimalPlaces(d.toNumber());var x=m.toDecimalPlaces(h),b=ln(m,x,t.relTol,t.absTol)?x:m;return b.toDecimalPlaces(d.toNumber())},Fraction:function(m){return m.round()},"Fraction, number":function(m,d){if(d%1)throw new TypeError(uf);return m.round(d)},"Fraction, BigNumber":function(m,d){if(!d.isInteger())throw new TypeError(uf);return m.round(d.toNumber())},"Unit, number, Unit":e.referToSelf(p=>function(m,d,h){var x=m.toNumeric(h);return h.multiply(p(x,d))}),"Unit, BigNumber, Unit":e.referToSelf(p=>(m,d,h)=>p(m,d.toNumber(),h)),"Unit, Unit":e.referToSelf(p=>(m,d)=>p(m,0,d)),"Array | Matrix, number, Unit":e.referToSelf(p=>(m,d,h)=>rt(m,x=>p(x,d,h),!0)),"Array | Matrix, BigNumber, Unit":e.referToSelf(p=>(m,d,h)=>p(m,d.toNumber(),h)),"Array | Matrix, Unit":e.referToSelf(p=>(m,d)=>p(m,0,d)),"Array | Matrix":e.referToSelf(p=>m=>rt(m,p,!0)),"SparseMatrix, number | BigNumber":e.referToSelf(p=>(m,d)=>c(m,d,p,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(p=>(m,d)=>l(m,d,p,!1)),"Array, number | BigNumber":e.referToSelf(p=>(m,d)=>l(n(m),d,p,!1).valueOf()),"number | Complex | BigNumber | Fraction, SparseMatrix":e.referToSelf(p=>(m,d)=>i(m,0)?a(d.size(),d.storage()):s(d,m,p,!0)),"number | Complex | BigNumber | Fraction, DenseMatrix":e.referToSelf(p=>(m,d)=>i(m,0)?a(d.size(),d.storage()):l(d,m,p,!0)),"number | Complex | BigNumber | Fraction, Array":e.referToSelf(p=>(m,d)=>l(n(d),m,p,!0).valueOf())})});var zB="log",tK=["config","typed","divideScalar","Complex"],e1=C(zB,tK,r=>{var{typed:e,config:t,divideScalar:n,Complex:i}=r;return e(zB,{number:function(o){return o>=0||t.predictable?Y2(o):new i(o,0).log()},Complex:function(o){return o.log()},BigNumber:function(o){return!o.isNegative()||t.predictable?o.ln():new i(o.toNumber(),0).log()},"any, any":e.referToSelf(a=>(o,u)=>n(a(o),a(u)))})});var HB="log1p",rK=["typed","config","divideScalar","log","Complex"],t1=C(HB,rK,r=>{var{typed:e,config:t,divideScalar:n,log:i,Complex:a}=r;return e(HB,{number:function(c){return c>=-1||t.predictable?Lh(c):o(new a(c,0))},Complex:o,BigNumber:function(c){var s=c.plus(1);return!s.isNegative()||t.predictable?s.ln():o(new a(c.toNumber(),0))},"Array | Matrix":e.referToSelf(u=>c=>rt(c,u)),"any, any":e.referToSelf(u=>(c,s)=>n(u(c),i(s)))});function o(u){var c=u.re+1;return new a(Math.log(Math.sqrt(c*c+u.im*u.im)),Math.atan2(u.im,c))}});var GB="nthRoots",nK=["config","typed","divideScalar","Complex"],r1=C(GB,nK,r=>{var{typed:e,config:t,divideScalar:n,Complex:i}=r,a=[function(c){return new i(c,0)},function(c){return new i(0,c)},function(c){return new i(-c,0)},function(c){return new i(0,-c)}];function o(u,c){if(c<0)throw new Error("Root must be greater than zero");if(c===0)throw new Error("Root must be non-zero");if(c%1!==0)throw new Error("Root must be an integer");if(u===0||u.abs()===0)return[new i(0,0)];var s=typeof u=="number",l;(s||u.re===0||u.im===0)&&(s?l=2*+(u<0):u.im===0?l=2*+(u.re<0):l=2*+(u.im<0)+1);for(var f=u.arg(),p=u.abs(),m=[],d=Math.pow(p,1/c),h=0;h{var{typed:e,equalScalar:t,matrix:n,pow:i,DenseMatrix:a,concat:o}=r,u=zr({typed:e}),c=Ln({typed:e,DenseMatrix:a}),s=Nr({typed:e,equalScalar:t}),l=yr({typed:e,DenseMatrix:a}),f=Ft({typed:e,matrix:n,concat:o}),p={};for(var m in i.signatures)Object.prototype.hasOwnProperty.call(i.signatures,m)&&!m.includes("Matrix")&&!m.includes("Array")&&(p[m]=i.signatures[m]);var d=e(p);return e(WB,f({elop:d,SS:c,DS:u,Ss:s,sS:l}))});var YB="dotDivide",aK=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],i1=C(YB,aK,r=>{var{typed:e,matrix:t,equalScalar:n,divideScalar:i,DenseMatrix:a,concat:o}=r,u=Mn({typed:e,equalScalar:n}),c=zr({typed:e}),s=Ln({typed:e,DenseMatrix:a}),l=Nr({typed:e,equalScalar:n}),f=yr({typed:e,DenseMatrix:a}),p=Ft({typed:e,matrix:t,concat:o});return e(YB,p({elop:i,SS:s,DS:c,SD:u,Ss:l,sS:f}))});function rs(r){var{DenseMatrix:e}=r;return function(n,i,a){var o=n.size();if(o.length!==2)throw new RangeError("Matrix must be two dimensional (size: "+Et(o)+")");var u=o[0],c=o[1];if(u!==c)throw new RangeError("Matrix must be square (size: "+Et(o)+")");var s=[];if(et(i)){var l=i.size(),f=i._data;if(l.length===1){if(l[0]!==u)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var p=0;p{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=r,c=rs({DenseMatrix:u});return e(jB,{"SparseMatrix, Array | Matrix":function(p,m){return l(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return s(p,m)},"Array, Array | Matrix":function(p,m){var d=t(p),h=s(d,m);return h.valueOf()}});function s(f,p){p=c(f,p,!0);for(var m=p._data,d=f._size[0],h=f._size[1],x=[],b=f._data,T=0;TS&&(A.push(x[N]),M.push(B))}if(o(y,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var R=n(_,y),z=0,V=M.length;z{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=r,c=rs({DenseMatrix:u});return e(ZB,{"SparseMatrix, Array | Matrix":function(p,m){return l(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return s(p,m)},"Array, Array | Matrix":function(p,m){var d=t(p),h=s(d,m);return h.valueOf()}});function s(f,p){p=c(f,p,!0);for(var m=p._data,d=f._size[0],h=f._size[1],x=[],b=f._data,T=h-1;T>=0;T--){var v=m[T][0]||0,S=void 0;if(o(v,0))S=0;else{var _=b[T][T];if(o(_,0))throw new Error("Linear system cannot be solved since matrix is singular");S=n(v,_);for(var y=T-1;y>=0;y--)m[y]=[a(m[y][0]||0,i(S,b[y][T]))]}x[T]=[S]}return new u({data:x,size:[d,1]})}function l(f,p){p=c(f,p,!0);for(var m=p._data,d=f._size[0],h=f._size[1],x=f._values,b=f._index,T=f._ptr,v=[],S=h-1;S>=0;S--){var _=m[S][0]||0;if(o(_,0))v[S]=[0];else{for(var y=0,A=[],M=[],w=T[S],D=T[S+1],N=D-1;N>=w;N--){var B=b[N];B===S?y=x[N]:B{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=r,c=rs({DenseMatrix:u});return e(JB,{"SparseMatrix, Array | Matrix":function(p,m){return l(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return s(p,m)},"Array, Array | Matrix":function(p,m){var d=t(p),h=s(d,m);return h.map(x=>x.valueOf())}});function s(f,p){for(var m=[c(f,p,!0)._data.map(M=>M[0])],d=f._data,h=f._size[0],x=f._size[1],b=0;bnew u({data:M.map(w=>[w]),size:[h,1]}))}function l(f,p){for(var m=[c(f,p,!0)._data.map(ne=>ne[0])],d=f._size[0],h=f._size[1],x=f._values,b=f._index,T=f._ptr,v=0;vv&&(A.push(x[B]),M.push(R))}if(o(N,0))if(o(y[v],0)){if(_===0){var P=[...y];P[v]=1;for(var W=0,O=M.length;Wnew u({data:ne.map(Z=>[Z]),size:[d,1]}))}});var XB="usolveAll",lK=["typed","matrix","divideScalar","multiplyScalar","subtractScalar","equalScalar","DenseMatrix"],u1=C(XB,lK,r=>{var{typed:e,matrix:t,divideScalar:n,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=r,c=rs({DenseMatrix:u});return e(XB,{"SparseMatrix, Array | Matrix":function(p,m){return l(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return s(p,m)},"Array, Array | Matrix":function(p,m){var d=t(p),h=s(d,m);return h.map(x=>x.valueOf())}});function s(f,p){for(var m=[c(f,p,!0)._data.map(M=>M[0])],d=f._data,h=f._size[0],x=f._size[1],b=x-1;b>=0;b--)for(var T=m.length,v=0;v=0;A--)y[A]=a(y[A],d[A][b]);m.push(y)}}else{if(v===0)return[];m.splice(v,1),v-=1,T-=1}else{S[b]=n(S[b],d[b][b]);for(var _=b-1;_>=0;_--)S[_]=a(S[_],i(S[b],d[_][b]))}}return m.map(M=>new u({data:M.map(w=>[w]),size:[h,1]}))}function l(f,p){for(var m=[c(f,p,!0)._data.map(ne=>ne[0])],d=f._size[0],h=f._size[1],x=f._values,b=f._index,T=f._ptr,v=h-1;v>=0;v--)for(var S=m.length,_=0;_=w;B--){var R=b[B];R===v?N=x[B]:Rnew u({data:ne.map(Z=>[Z]),size:[d,1]}))}});var cK="matAlgo08xS0Sid",fK=["typed","equalScalar"],lf=C(cK,fK,r=>{var{typed:e,equalScalar:t}=r;return function(i,a,o){var u=i._values,c=i._index,s=i._ptr,l=i._size,f=i._datatype||i._data===void 0?i._datatype:i.getDataType(),p=a._values,m=a._index,d=a._ptr,h=a._size,x=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(l.length!==h.length)throw new Mt(l.length,h.length);if(l[0]!==h[0]||l[1]!==h[1])throw new RangeError("Dimension mismatch. Matrix A ("+l+") must match Matrix B ("+h+")");if(!u||!p)throw new Error("Cannot perform operation on Pattern Sparse Matrices");var b=l[0],T=l[1],v,S=t,_=0,y=o;typeof f=="string"&&f===x&&f!=="mixed"&&(v=f,S=e.find(t,[v,v]),_=e.convert(0,v),y=e.find(o,[v,v]));for(var A=[],M=[],w=[],D=[],N=[],B,R,z,V,k=0;k{var{typed:e,matrix:t}=r;return{"Array, number":e.referTo("DenseMatrix, number",n=>(i,a)=>n(t(i),a).valueOf()),"Array, BigNumber":e.referTo("DenseMatrix, BigNumber",n=>(i,a)=>n(t(i),a).valueOf()),"number, Array":e.referTo("number, DenseMatrix",n=>(i,a)=>n(i,t(a)).valueOf()),"BigNumber, Array":e.referTo("BigNumber, DenseMatrix",n=>(i,a)=>n(i,t(a)).valueOf())}});var QB="leftShift",pK=["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],l1=C(QB,pK,r=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,DenseMatrix:a,concat:o}=r,u=Mi({typed:e}),c=Mn({typed:e,equalScalar:n}),s=lf({typed:e,equalScalar:n}),l=pa({typed:e,DenseMatrix:a}),f=Nr({typed:e,equalScalar:n}),p=Tn({typed:e}),m=Ft({typed:e,matrix:t,concat:o}),d=cf({typed:e,matrix:t});return e(QB,{"number, number":V0,"BigNumber, BigNumber":qP,"bigint, bigint":(h,x)=>h<(x,b)=>n(b,0)?x.clone():f(x,b,h,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(h=>(x,b)=>n(b,0)?x.clone():p(x,b,h,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(h=>(x,b)=>n(x,0)?i(b.size(),b.storage()):l(b,x,h,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(h=>(x,b)=>n(x,0)?i(b.size(),b.storage()):p(b,x,h,!0))},d,m({SS:s,DS:u,SD:c}))});var KB="rightArithShift",mK=["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],c1=C(KB,mK,r=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,DenseMatrix:a,concat:o}=r,u=Mi({typed:e}),c=Mn({typed:e,equalScalar:n}),s=lf({typed:e,equalScalar:n}),l=pa({typed:e,DenseMatrix:a}),f=Nr({typed:e,equalScalar:n}),p=Tn({typed:e}),m=Ft({typed:e,matrix:t,concat:o}),d=cf({typed:e,matrix:t});return e(KB,{"number, number":U0,"BigNumber, BigNumber":zP,"bigint, bigint":(h,x)=>h>>x,"SparseMatrix, number | BigNumber":e.referToSelf(h=>(x,b)=>n(b,0)?x.clone():f(x,b,h,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(h=>(x,b)=>n(b,0)?x.clone():p(x,b,h,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(h=>(x,b)=>n(x,0)?i(b.size(),b.storage()):l(b,x,h,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(h=>(x,b)=>n(x,0)?i(b.size(),b.storage()):p(b,x,h,!0))},d,m({SS:s,DS:u,SD:c}))});var ek="rightLogShift",dK=["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],f1=C(ek,dK,r=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,DenseMatrix:a,concat:o}=r,u=Mi({typed:e}),c=Mn({typed:e,equalScalar:n}),s=lf({typed:e,equalScalar:n}),l=pa({typed:e,DenseMatrix:a}),f=Nr({typed:e,equalScalar:n}),p=Tn({typed:e}),m=Ft({typed:e,matrix:t,concat:o}),d=cf({typed:e,matrix:t});return e(ek,{"number, number":q0,"SparseMatrix, number | BigNumber":e.referToSelf(h=>(x,b)=>n(b,0)?x.clone():f(x,b,h,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(h=>(x,b)=>n(b,0)?x.clone():p(x,b,h,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(h=>(x,b)=>n(x,0)?i(b.size(),b.storage()):l(b,x,h,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(h=>(x,b)=>n(x,0)?i(b.size(),b.storage()):p(b,x,h,!0))},d,m({SS:s,DS:u,SD:c}))});var tk="and",hK=["typed","matrix","equalScalar","zeros","not","concat"],Qp=C(tk,hK,r=>{var{typed:e,matrix:t,equalScalar:n,zeros:i,not:a,concat:o}=r,u=Mn({typed:e,equalScalar:n}),c=Pu({typed:e,equalScalar:n}),s=Nr({typed:e,equalScalar:n}),l=Tn({typed:e}),f=Ft({typed:e,matrix:t,concat:o});return e(tk,{"number, number":ug,"Complex, Complex":function(m,d){return(m.re!==0||m.im!==0)&&(d.re!==0||d.im!==0)},"BigNumber, BigNumber":function(m,d){return!m.isZero()&&!d.isZero()&&!m.isNaN()&&!d.isNaN()},"bigint, bigint":ug,"Unit, Unit":e.referToSelf(p=>(m,d)=>p(m.value||0,d.value||0)),"SparseMatrix, any":e.referToSelf(p=>(m,d)=>a(d)?i(m.size(),m.storage()):s(m,d,p,!1)),"DenseMatrix, any":e.referToSelf(p=>(m,d)=>a(d)?i(m.size(),m.storage()):l(m,d,p,!1)),"any, SparseMatrix":e.referToSelf(p=>(m,d)=>a(m)?i(m.size(),m.storage()):s(d,m,p,!0)),"any, DenseMatrix":e.referToSelf(p=>(m,d)=>a(m)?i(m.size(),m.storage()):l(d,m,p,!0)),"Array, any":e.referToSelf(p=>(m,d)=>p(t(m),d).valueOf()),"any, Array":e.referToSelf(p=>(m,d)=>p(m,t(d)).valueOf())},f({SS:c,DS:u}))});var gg="compare",gK=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],p1=C(gg,gK,r=>{var{typed:e,config:t,equalScalar:n,matrix:i,BigNumber:a,Fraction:o,DenseMatrix:u,concat:c}=r,s=zr({typed:e}),l=Iu({typed:e,equalScalar:n}),f=yr({typed:e,DenseMatrix:u}),p=Ft({typed:e,matrix:i,concat:c}),m=fo({typed:e});return e(gg,vK({typed:e,config:t}),{"boolean, boolean":function(h,x){return h===x?0:h>x?1:-1},"BigNumber, BigNumber":function(h,x){return ln(h,x,t.relTol,t.absTol)?new a(0):new a(h.cmp(x))},"bigint, bigint":function(h,x){return h===x?0n:h>x?1n:-1n},"Fraction, Fraction":function(h,x){return new o(h.compare(x))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},m,p({SS:l,DS:s,Ss:f}))}),vK=C(gg,["typed","config"],r=>{var{typed:e,config:t}=r;return e(gg,{"number, number":function(i,a){return Yr(i,a,t.relTol,t.absTol)?0:i>a?1:-1}})});var Bl=Or(nk(),1);var ik="compareNatural",yK=["typed","compare"],m1=C(ik,yK,r=>{var{typed:e,compare:t}=r,n=t.signatures["boolean,boolean"];return e(ik,{"any, any":i});function i(c,s){var l=ur(c),f=ur(s),p;if((l==="number"||l==="BigNumber"||l==="Fraction")&&(f==="number"||f==="BigNumber"||f==="Fraction"))return p=t(c,s),p.toString()!=="0"?p>0?1:-1:(0,Bl.default)(l,f);var m=["Array","DenseMatrix","SparseMatrix"];if(m.includes(l)||m.includes(f))return p=a(i,c,s),p!==0?p:(0,Bl.default)(l,f);if(l!==f)return(0,Bl.default)(l,f);if(l==="Complex")return xK(c,s);if(l==="Unit")return c.equalBase(s)?i(c.value,s.value):o(i,c.formatUnits(),s.formatUnits());if(l==="boolean")return n(c,s);if(l==="string")return(0,Bl.default)(c,s);if(l==="Object")return u(i,c,s);if(l==="null"||l==="undefined")return 0;throw new TypeError('Unsupported type of value "'+l+'"')}function a(c,s,l){return No(s)&&No(l)?o(c,s.toJSON().values,l.toJSON().values):No(s)?a(c,s.toArray(),l):No(l)?a(c,s,l.toArray()):Tl(s)?a(c,s.toJSON().data,l):Tl(l)?a(c,s,l.toJSON().data):Array.isArray(s)?Array.isArray(l)?o(c,s,l):a(c,s,[l]):a(c,[s],l)}function o(c,s,l){for(var f=0,p=Math.min(s.length,l.length);fl.length?1:s.lengthe.re?1:r.ree.im?1:r.im{var{typed:e,matrix:t,concat:n}=r,i=Ft({typed:e,matrix:t,concat:n});return e(ak,eg,i({elop:eg,Ds:!0}))});var vg="equal",wK=["typed","matrix","equalScalar","DenseMatrix","concat"],h1=C(vg,wK,r=>{var{typed:e,matrix:t,equalScalar:n,DenseMatrix:i,concat:a}=r,o=zr({typed:e}),u=Ln({typed:e,DenseMatrix:i}),c=yr({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:t,concat:a});return e(vg,_K({typed:e,equalScalar:n}),s({elop:n,SS:u,DS:o,Ss:c}))}),_K=C(vg,["typed","equalScalar"],r=>{var{typed:e,equalScalar:t}=r;return e(vg,{"any, any":function(i,a){return i===null?a===null:a===null?i===null:i===void 0?a===void 0:a===void 0?i===void 0:t(i,a)}})});var ok="equalText",SK=["typed","compareText","isZero"],g1=C(ok,SK,r=>{var{typed:e,compareText:t,isZero:n}=r;return e(ok,{"any, any":function(a,o){return n(t(a,o))}})});var yg="smaller",AK=["typed","config","matrix","DenseMatrix","concat"],v1=C(yg,AK,r=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:a}=r,o=zr({typed:e}),u=Ln({typed:e,DenseMatrix:i}),c=yr({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:n,concat:a}),l=fo({typed:e});return e(yg,EK({typed:e,config:t}),{"boolean, boolean":(f,p)=>ff
f.compare(p)===-1,"Complex, Complex":function(p,m){throw new TypeError("No ordering relation is defined for complex numbers")}},l,s({SS:u,DS:o,Ss:c}))}),EK=C(yg,["typed","config"],r=>{var{typed:e,config:t}=r;return e(yg,{"number, number":function(i,a){return i{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:a}=r,o=zr({typed:e}),u=Ln({typed:e,DenseMatrix:i}),c=yr({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:n,concat:a}),l=fo({typed:e});return e(xg,MK({typed:e,config:t}),{"boolean, boolean":(f,p)=>f<=p,"BigNumber, BigNumber":function(p,m){return p.lte(m)||ln(p,m,t.relTol,t.absTol)},"bigint, bigint":(f,p)=>f<=p,"Fraction, Fraction":(f,p)=>f.compare(p)!==1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},l,s({SS:u,DS:o,Ss:c}))}),MK=C(xg,["typed","config"],r=>{var{typed:e,config:t}=r;return e(xg,{"number, number":function(i,a){return i<=a||Yr(i,a,t.relTol,t.absTol)}})});var bg="larger",DK=["typed","config","matrix","DenseMatrix","concat"],x1=C(bg,DK,r=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:a}=r,o=zr({typed:e}),u=Ln({typed:e,DenseMatrix:i}),c=yr({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:n,concat:a}),l=fo({typed:e});return e(bg,CK({typed:e,config:t}),{"boolean, boolean":(f,p)=>f>p,"BigNumber, BigNumber":function(p,m){return p.gt(m)&&!ln(p,m,t.relTol,t.absTol)},"bigint, bigint":(f,p)=>f>p,"Fraction, Fraction":(f,p)=>f.compare(p)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},l,s({SS:u,DS:o,Ss:c}))}),CK=C(bg,["typed","config"],r=>{var{typed:e,config:t}=r;return e(bg,{"number, number":function(i,a){return i>a&&!Yr(i,a,t.relTol,t.absTol)}})});var wg="largerEq",NK=["typed","config","matrix","DenseMatrix","concat"],b1=C(wg,NK,r=>{var{typed:e,config:t,matrix:n,DenseMatrix:i,concat:a}=r,o=zr({typed:e}),u=Ln({typed:e,DenseMatrix:i}),c=yr({typed:e,DenseMatrix:i}),s=Ft({typed:e,matrix:n,concat:a}),l=fo({typed:e});return e(wg,FK({typed:e,config:t}),{"boolean, boolean":(f,p)=>f>=p,"BigNumber, BigNumber":function(p,m){return p.gte(m)||ln(p,m,t.relTol,t.absTol)},"bigint, bigint":function(p,m){return p>=m},"Fraction, Fraction":(f,p)=>f.compare(p)!==-1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},l,s({SS:u,DS:o,Ss:c}))}),FK=C(wg,["typed","config"],r=>{var{typed:e,config:t}=r;return e(wg,{"number, number":function(i,a){return i>=a||Yr(i,a,t.relTol,t.absTol)}})});var sk="deepEqual",IK=["typed","equal"],w1=C(sk,IK,r=>{var{typed:e,equal:t}=r;return e(sk,{"any, any":function(a,o){return n(a.valueOf(),o.valueOf())}});function n(i,a){if(Array.isArray(i))if(Array.isArray(a)){var o=i.length;if(o!==a.length)return!1;for(var u=0;u{var{typed:e,config:t,equalScalar:n,matrix:i,DenseMatrix:a,concat:o}=r,u=zr({typed:e}),c=Ln({typed:e,DenseMatrix:a}),s=yr({typed:e,DenseMatrix:a}),l=Ft({typed:e,matrix:i,concat:o});return e(_g,BK({typed:e,equalScalar:n}),l({elop:f,SS:c,DS:u,Ss:s}));function f(p,m){return!n(p,m)}}),BK=C(_g,["typed","equalScalar"],r=>{var{typed:e,equalScalar:t}=r;return e(_g,{"any, any":function(i,a){return i===null?a!==null:a===null?i!==null:i===void 0?a!==void 0:a===void 0?i!==void 0:!t(i,a)}})});var uk="partitionSelect",kK=["typed","isNumeric","isNaN","compare"],S1=C(uk,kK,r=>{var{typed:e,isNumeric:t,isNaN:n,compare:i}=r,a=i,o=(s,l)=>-i(s,l);return e(uk,{"Array | Matrix, number":function(l,f){return u(l,f,a)},"Array | Matrix, number, string":function(l,f,p){if(p==="asc")return u(l,f,a);if(p==="desc")return u(l,f,o);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":u});function u(s,l,f){if(!Je(l)||l<0)throw new Error("k must be a non-negative integer");if(et(s)){var p=s.size();if(p.length>1)throw new Error("Only one dimensional matrices supported");return c(s.valueOf(),l,f)}if(Array.isArray(s))return c(s,l,f)}function c(s,l,f){if(l>=s.length)throw new Error("k out of bounds");for(var p=0;p=0){var T=s[x];s[x]=s[h],s[h]=T,--x}else++h;f(s[h],b)>0&&--h,l<=h?d=h:m=h+1}return s[l]}});var lk="sort",$K=["typed","matrix","compare","compareNatural"],A1=C(lk,$K,r=>{var{typed:e,matrix:t,compare:n,compareNatural:i}=r,a=n,o=(l,f)=>-n(l,f);return e(lk,{Array:function(f){return c(f),f.sort(a)},Matrix:function(f){return s(f),t(f.toArray().sort(a),f.storage())},"Array, function":function(f,p){return c(f),f.sort(p)},"Matrix, function":function(f,p){return s(f),t(f.toArray().sort(p),f.storage())},"Array, string":function(f,p){return c(f),f.sort(u(p))},"Matrix, string":function(f,p){return s(f),t(f.toArray().sort(u(p)),f.storage())}});function u(l){if(l==="asc")return a;if(l==="desc")return o;if(l==="natural")return i;throw new Error('String "asc", "desc", or "natural" expected')}function c(l){if(lt(l).length!==1)throw new Error("One dimensional array expected")}function s(l){if(l.size().length!==1)throw new Error("One dimensional matrix expected")}});var ck="max",OK=["typed","config","numeric","larger"],Kp=C(ck,OK,r=>{var{typed:e,config:t,numeric:n,larger:i}=r;return e(ck,{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(c,s){return Fu(c,s.valueOf(),a)},"...":function(c){if(co(c))throw new TypeError("Scalar values expected in function max");return o(c)}});function a(u,c){try{return i(u,c)?u:c}catch(s){throw gn(s,"max",c)}}function o(u){var c;if(Ti(u,function(s){try{isNaN(s)&&typeof s=="number"?c=NaN:(c===void 0||i(s,c))&&(c=s)}catch(l){throw gn(l,"max",s)}}),c===void 0)throw new Error("Cannot calculate max of an empty array");return typeof c=="string"&&(c=n(c,Ai(c,t))),c}});var fk="min",RK=["typed","config","numeric","smaller"],em=C(fk,RK,r=>{var{typed:e,config:t,numeric:n,smaller:i}=r;return e(fk,{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(c,s){return Fu(c,s.valueOf(),a)},"...":function(c){if(co(c))throw new TypeError("Scalar values expected in function min");return o(c)}});function a(u,c){try{return i(u,c)?u:c}catch(s){throw gn(s,"min",c)}}function o(u){var c;if(Ti(u,function(s){try{isNaN(s)&&typeof s=="number"?c=NaN:(c===void 0||i(s,c))&&(c=s)}catch(l){throw gn(l,"min",s)}}),c===void 0)throw new Error("Cannot calculate min of an empty array");return typeof c=="string"&&(c=n(c,Ai(c,t))),c}});var LK="ImmutableDenseMatrix",VK=["smaller","DenseMatrix"],E1=C(LK,VK,r=>{var{smaller:e,DenseMatrix:t}=r;function n(i,a){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");if(a&&!dn(a))throw new Error("Invalid datatype: "+a);if(et(i)||dr(i)){var o=new t(i,a);this._data=o._data,this._size=o._size,this._datatype=o._datatype,this._min=null,this._max=null}else if(i&&dr(i.data)&&dr(i.size))this._data=i.data,this._size=i.size,this._datatype=i.datatype,this._min=typeof i.min<"u"?i.min:null,this._max=typeof i.max<"u"?i.max:null;else{if(i)throw new TypeError("Unsupported type of data ("+ur(i)+")");this._data=[],this._size=[0],this._datatype=a,this._min=null,this._max=null}}return n.prototype=new t,n.prototype.type="ImmutableDenseMatrix",n.prototype.isImmutableDenseMatrix=!0,n.prototype.subset=function(i){switch(arguments.length){case 1:{var a=t.prototype.subset.call(this,i);return et(a)?new n({data:a._data,size:a._size,datatype:a._datatype}):a}case 2:case 3:throw new Error("Cannot invoke set subset on an Immutable Matrix instance");default:throw new SyntaxError("Wrong number of arguments")}},n.prototype.set=function(){throw new Error("Cannot invoke set on an Immutable Matrix instance")},n.prototype.resize=function(){throw new Error("Cannot invoke resize on an Immutable Matrix instance")},n.prototype.reshape=function(){throw new Error("Cannot invoke reshape on an Immutable Matrix instance")},n.prototype.clone=function(){return new n({data:dt(this._data),size:dt(this._size),datatype:this._datatype})},n.prototype.toJSON=function(){return{mathjs:"ImmutableDenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},n.fromJSON=function(i){return new n(i)},n.prototype.swapRows=function(){throw new Error("Cannot invoke swapRows on an Immutable Matrix instance")},n.prototype.min=function(){if(this._min===null){var i=null;this.forEach(function(a){(i===null||e(a,i))&&(i=a)}),this._min=i!==null?i:void 0}return this._min},n.prototype.max=function(){if(this._max===null){var i=null;this.forEach(function(a){(i===null||e(i,a))&&(i=a)}),this._max=i!==null?i:void 0}return this._max},n},{isClass:!0});var UK="Index",qK=["ImmutableDenseMatrix","getMatrixDataType"],T1=C(UK,qK,r=>{var{ImmutableDenseMatrix:e,getMatrixDataType:t}=r;function n(a){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");this._dimensions=[],this._sourceSize=[],this._isScalar=!0;for(var o=0,u=arguments.length;o{t&&e.push(n)}),e}var zK="FibonacciHeap",HK=["smaller","larger"],M1=C(zK,HK,r=>{var{smaller:e,larger:t}=r,n=1/Math.log((1+Math.sqrt(5))/2);function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._minimum=null,this._size=0}i.prototype.type="FibonacciHeap",i.prototype.isFibonacciHeap=!0,i.prototype.insert=function(l,f){var p={key:l,value:f,degree:0};if(this._minimum){var m=this._minimum;p.left=m,p.right=m.right,m.right=p,p.right.left=p,e(l,m.key)&&(this._minimum=p)}else p.left=p,p.right=p,this._minimum=p;return this._size++,p},i.prototype.size=function(){return this._size},i.prototype.clear=function(){this._minimum=null,this._size=0},i.prototype.isEmpty=function(){return this._size===0},i.prototype.extractMinimum=function(){var l=this._minimum;if(l===null)return l;for(var f=this._minimum,p=l.degree,m=l.child;p>0;){var d=m.right;m.left.right=m.right,m.right.left=m.left,m.left=f,m.right=f.right,f.right=m,m.right.left=m,m.parent=null,m=d,p--}return l.left.right=l.right,l.right.left=l.left,l===l.right?f=null:(f=l.right,f=s(f,this._size)),this._size--,this._minimum=f,l},i.prototype.remove=function(l){this._minimum=a(this._minimum,l,-1),this.extractMinimum()};function a(l,f,p){f.key=p;var m=f.parent;return m&&e(f.key,m.key)&&(o(l,f,m),u(l,m)),e(f.key,l.key)&&(l=f),l}function o(l,f,p){f.left.right=f.right,f.right.left=f.left,p.degree--,p.child===f&&(p.child=f.right),p.degree===0&&(p.child=null),f.left=l,f.right=l.right,l.right=f,f.right.left=f,f.parent=null,f.mark=!1}function u(l,f){var p=f.parent;p&&(f.mark?(o(l,f,p),u(p)):f.mark=!0)}var c=function(f,p){f.left.right=f.right,f.right.left=f.left,f.parent=p,p.child?(f.left=p.child,f.right=p.child.right,p.child.right=f,f.right.left=f):(p.child=f,f.right=f,f.left=f),p.degree++,f.mark=!1};function s(l,f){var p=Math.floor(Math.log(f)*n)+1,m=new Array(p),d=0,h=l;if(h)for(d++,h=h.right;h!==l;)d++,h=h.right;for(var x;d>0;){for(var b=h.degree,T=h.right;x=m[b],!!x;){if(t(h.key,x.key)){var v=x;x=h,h=v}c(x,h),m[b]=null,b++}m[b]=h,h=T,d--}l=null;for(var S=0;S{var{addScalar:e,equalScalar:t,FibonacciHeap:n}=r;function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new n}return i.prototype.type="Spa",i.prototype.isSpa=!0,i.prototype.set=function(a,o){if(this._values[a])this._values[a].value=o;else{var u=this._heap.insert(a,o);this._values[a]=u}},i.prototype.get=function(a){var o=this._values[a];return o?o.value:0},i.prototype.accumulate=function(a,o){var u=this._values[a];u?u.value=e(u.value,o):(u=this._heap.insert(a,o),this._values[a]=u)},i.prototype.forEach=function(a,o,u){var c=this._heap,s=this._values,l=[],f=c.extractMinimum();for(f&&l.push(f);f&&f.key<=o;)f.key>=a&&(t(f.value,0)||u(f.key,f.value,this)),f=c.extractMinimum(),f&&l.push(f);for(var p=0;p1&&arguments[1]!==void 0?arguments[1]:{};return t=t??Number.POSITIVE_INFINITY,e=e??JSON.stringify,function n(){typeof n.cache!="object"&&(n.cache={values:new Map,lru:mk(t||Number.POSITIVE_INFINITY)});for(var i=[],a=0;a{var{on:e,config:t,addScalar:n,subtractScalar:i,multiplyScalar:a,divideScalar:o,pow:u,abs:c,fix:s,round:l,equal:f,isNumeric:p,format:m,number:d,Complex:h,BigNumber:x,Fraction:b}=r,T=d;function v(Y,Q){if(!(this instanceof v))throw new Error("Constructor must be called with the new operator");if(!(Y==null||p(Y)||Hi(Y)))throw new TypeError("First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined");if(this.fixPrefix=!1,this.skipAutomaticSimplification=!0,Q===void 0)this.units=[],this.dimensions=W.map(J=>0);else if(typeof Q=="string"){var xe=v.parse(Q);this.units=xe.units,this.dimensions=xe.dimensions}else if(ci(Q)&&Q.value===null)this.fixPrefix=Q.fixPrefix,this.skipAutomaticSimplification=Q.skipAutomaticSimplification,this.dimensions=Q.dimensions.slice(0),this.units=Q.units.map(J=>rn({},J));else throw new TypeError("Second parameter in Unit constructor must be a string or valueless Unit");this.value=this._normalize(Y)}Object.defineProperty(v,"name",{value:"Unit"}),v.prototype.constructor=v,v.prototype.type="Unit",v.prototype.isUnit=!0;var S,_,y;function A(){for(;y===" "||y===" ";)D()}function M(Y){return Y>="0"&&Y<="9"||Y==="."}function w(Y){return Y>="0"&&Y<="9"}function D(){_++,y=S.charAt(_)}function N(Y){_=Y,y=S.charAt(_)}function B(){var Y="",Q=_;if(y==="+"?D():y==="-"&&(Y+=y,D()),!M(y))return N(Q),null;if(y==="."){if(Y+=y,D(),!w(y))return N(Q),null}else{for(;w(y);)Y+=y,D();y==="."&&(Y+=y,D())}for(;w(y);)Y+=y,D();if(y==="E"||y==="e"){var xe="",J=_;if(xe+=y,D(),(y==="+"||y==="-")&&(xe+=y,D()),!w(y))return N(J),Y;for(Y=Y+xe;w(y);)Y+=y,D()}return Y}function R(){for(var Y="";w(y)||v.isValidAlpha(y);)Y+=y,D();var Q=Y.charAt(0);return v.isValidAlpha(Q)?Y:null}function z(Y){return y===Y?(D(),Y):null}v.parse=function(Y,Q){if(Q=Q||{},S=Y,_=-1,y="",typeof S!="string")throw new TypeError("Invalid argument in Unit.parse, string expected");var xe=new v;xe.units=[];var J=1,re=!1;D(),A();var se=B(),Ae=null;if(se){if(t.number==="BigNumber")Ae=new x(se);else if(t.number==="Fraction")try{Ae=new b(se)}catch{Ae=parseFloat(se)}else Ae=parseFloat(se);A(),z("*")?(J=1,re=!0):z("/")&&(J=-1,re=!0)}for(var Te=[],qe=1;;){for(A();y==="(";)Te.push(J),qe*=J,J=1,D(),A();var Se=void 0;if(y){var wt=y;if(Se=R(),Se===null)throw new SyntaxError('Unexpected "'+wt+'" in "'+S+'" at index '+_.toString())}else break;var Dt=V(Se);if(Dt===null)throw new SyntaxError('Unit "'+Se+'" not found.');var jt=J*qe;if(A(),z("^")){A();var Tt=B();if(Tt===null)throw new SyntaxError('In "'+Y+'", "^" must be followed by a floating-point number');jt*=Tt}xe.units.push({unit:Dt.unit,prefix:Dt.prefix,power:jt});for(var j=0;j1||Math.abs(this.units[0].power-1)>1e-15},v.prototype._normalize=function(Y){if(Y==null||this.units.length===0)return Y;for(var Q=Y,xe=v._getNumberConverter(ur(Y)),J=0;J{if(it(L,Y)){var Q=L[Y],xe=Q.prefixes[""];return{unit:Q,prefix:xe}}for(var J in L)if(it(L,J)&&k2(Y,J)){var re=L[J],se=Y.length-J.length,Ae=Y.substring(0,se),Te=it(re.prefixes,Ae)?re.prefixes[Ae]:void 0;if(Te!==void 0)return{unit:re,prefix:Te}}return null},{hasher:Y=>Y[0],limit:100});v.isValuelessUnit=function(Y){return V(Y)!==null},v.prototype.hasBase=function(Y){if(typeof Y=="string"&&(Y=O[Y]),!Y)return!1;for(var Q=0;Q1e-12)return!1;return!0},v.prototype.equalBase=function(Y){for(var Q=0;Q1e-12)return!1;return!0},v.prototype.equals=function(Y){return this.equalBase(Y)&&f(this.value,Y.value)},v.prototype.multiply=function(Y){for(var Q=this.clone(),xe=ci(Y)?Y:new v(Y),J=0;J0?this.formatUnits():null,fixPrefix:this.fixPrefix}},v.fromJSON=function(Y){var Q,xe=new v(Y.value,(Q=Y.unit)!==null&&Q!==void 0?Q:void 0);return xe.fixPrefix=Y.fixPrefix||!1,xe},v.prototype.valueOf=v.prototype.toString,v.prototype.simplify=function(){var Y=this.clone(),Q=[],xe;for(var J in ve)if(it(ve,J)&&Y.hasBase(O[J])){xe=J;break}if(xe==="NONE")Y.units=[];else{var re;if(xe&&it(ve,xe)&&(re=ve[xe]),re)Y.units=[{unit:re.unit,prefix:re.prefix,power:1}];else{for(var se=!1,Ae=0;Ae1e-12&&(it(ve,Te)?Q.push({unit:ve[Te].unit,prefix:ve[Te].prefix,power:Y.dimensions[Ae]||0}):se=!0)}Q.length1e-12)if(it(oe.si,J))Q.push({unit:oe.si[J].unit,prefix:oe.si[J].prefix,power:Y.dimensions[xe]||0});else throw new Error("Cannot express custom unit "+J+" in SI units")}return Y.units=Q,Y.fixPrefix=!0,Y.skipAutomaticSimplification=!0,this.value!==null?(Y.value=null,this.to(Y)):Y},v.prototype.formatUnits=function(){for(var Y="",Q="",xe=0,J=0,re=0;re0?(xe++,Y+=" "+this.units[re].prefix.name+this.units[re].unit.name,Math.abs(this.units[re].power-1)>1e-15&&(Y+="^"+this.units[re].power)):this.units[re].power<0&&J++;if(J>0)for(var se=0;se0?(Q+=" "+this.units[se].prefix.name+this.units[se].unit.name,Math.abs(this.units[se].power+1)>1e-15&&(Q+="^"+-this.units[se].power)):(Q+=" "+this.units[se].prefix.name+this.units[se].unit.name,Q+="^"+this.units[se].power));Y=Y.substr(1),Q=Q.substr(1),xe>1&&J>0&&(Y="("+Y+")"),J>1&&xe>0&&(Q="("+Q+")");var Ae=Y;return xe>0&&J>0&&(Ae+=" / "),Ae+=Q,Ae},v.prototype.format=function(Y){var Q=this.skipAutomaticSimplification||this.value===null?this.clone():this.simplify(),xe=!1;typeof Q.value<"u"&&Q.value!==null&&Hi(Q.value)&&(xe=Math.abs(Q.value.re)<1e-14);for(var J in Q.units)it(Q.units,J)&&Q.units[J].unit&&(Q.units[J].unit.name==="VA"&&xe?Q.units[J].unit=L.VAR:Q.units[J].unit.name==="VAR"&&!xe&&(Q.units[J].unit=L.VA));Q.units.length===1&&!Q.fixPrefix&&Math.abs(Q.units[0].power-Math.round(Q.units[0].power))<1e-14&&(Q.units[0].prefix=Q._bestPrefix());var re=Q._denormalize(Q.value),se=Q.value!==null?m(re,Y||{}):"",Ae=Q.formatUnits();return Q.value&&Hi(Q.value)&&(se="("+se+")"),Ae.length>0&&se.length>0&&(se+=" "),se+=Ae,se},v.prototype._bestPrefix=function(){if(this.units.length!==1)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");if(Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw new Error("Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!");var Y=this.value!==null?c(this.value):0,Q=c(this.units[0].unit.value),xe=this.units[0].prefix;if(Y===0)return xe;var J=this.units[0].power,re=Math.log(Y/Math.pow(xe.value*Q,J))/Math.LN10-1.2;if(re>-2.200001&&re<1.800001)return xe;re=Math.abs(re);var se=this.units[0].unit.prefixes;for(var Ae in se)if(it(se,Ae)){var Te=se[Ae];if(Te.scientific){var qe=Math.abs(Math.log(Y/Math.pow(Te.value*Q,J))/Math.LN10-1.2);(qe