i[u]?1:-1;break}return s}function t(r,i,a,o){for(var u=0;a--;)r[a]-=u,u=r[a]1;)r.shift()}return function(r,i,a,o,u,s){var l,c,f,p,m,h,d,g,y,S,b,w,A,x,D,E,_,N,P,B,V=r.constructor,z=r.s==i.s?1:-1,L=r.d,k=i.d;if(!L||!L[0]||!k||!k[0])return new V(!r.s||!i.s||(L?k&&L[0]==k[0]:!k)?NaN:L&&L[0]==0||!k?z*0:z/0);for(s?(m=1,c=r.e-i.e):(s=ka,m=Ot,c=Kn(r.e/m)-Kn(i.e/m)),P=k.length,_=L.length,y=new V(z),S=y.d=[],f=0;k[f]==(L[f]||0);f++);if(k[f]>(L[f]||0)&&c--,a==null?(x=a=V.precision,o=V.rounding):u?x=a+(r.e-i.e)+1:x=a,x<0)S.push(1),h=!0;else{if(x=x/m+2|0,f=0,P==1){for(p=0,k=k[0],x++;(f<_||p)&&x--;f++)D=p*s+(L[f]||0),S[f]=D/k|0,p=D%k|0;h=p||f<_}else{for(p=s/(k[0]+1)|0,p>1&&(k=n(k,p,s),L=n(L,p,s),P=k.length,_=L.length),E=P,b=L.slice(0,P),w=b.length;w=s/2&&++N;do p=0,l=e(k,b,P,w),l<0?(A=b[0],P!=w&&(A=A*s+(b[1]||0)),p=A/N|0,p>1?(p>=s&&(p=s-1),d=n(k,p,s),g=d.length,w=b.length,l=e(d,b,g,w),l==1&&(p--,t(d,P=10;p/=10)f++;y.e=f+c*m-1,Tt(y,u?a+y.e+1:a,o,h)}return y}}();function Tt(n,e,t,r){var i,a,o,u,s,l,c,f,p,m=n.constructor;e:if(e!=null){if(f=n.d,!f)return n;for(i=1,u=f[0];u>=10;u/=10)i++;if(a=e-i,a<0)a+=Ot,o=e,c=f[p=0],s=c/Fn(10,i-o-1)%10|0;else if(p=Math.ceil((a+1)/Ot),u=f.length,p>=u)if(r){for(;u++<=p;)f.push(0);c=s=0,i=1,a%=Ot,o=a-Ot+1}else break e;else{for(c=u=f[p],i=1;u>=10;u/=10)i++;a%=Ot,o=a-Ot+i,s=o<0?0:c/Fn(10,i-o-1)%10|0}if(r=r||e<0||f[p+1]!==void 0||(o<0?c:c%Fn(10,i-o-1)),l=t<4?(s||r)&&(t==0||t==(n.s<0?3:2)):s>5||s==5&&(t==4||r||t==6&&(a>0?o>0?c/Fn(10,i-o):0:f[p-1])%10&1||t==(n.s<0?8:7)),e<1||!f[0])return f.length=0,l?(e-=n.e+1,f[0]=Fn(10,(Ot-e%Ot)%Ot),n.e=-e||0):f[0]=n.e=0,n;if(a==0?(f.length=p,u=1,p--):(f.length=p+1,u=Fn(10,Ot-a),f[p]=o>0?(c/Fn(10,i-o)%Fn(10,o)|0)*u:0),l)for(;;)if(p==0){for(a=1,o=f[0];o>=10;o/=10)a++;for(o=f[0]+=u,u=1;o>=10;o/=10)u++;a!=u&&(n.e++,f[0]==ka&&(f[0]=1));break}else{if(f[p]+=u,f[p]!=ka)break;f[p--]=0,u=1}for(a=f.length;f[--a]===0;)f.pop()}return Zt&&(n.e>m.maxE?(n.d=null,n.e=NaN):n.e0?a=a.charAt(0)+"."+a.slice(1)+us(r):o>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(n.e<0?"e":"e+")+n.e):i<0?(a="0."+us(-i-1)+a,t&&(r=t-o)>0&&(a+=us(r))):i>=o?(a+=us(i+1-o),t&&(r=t-i-1)>0&&(a=a+"."+us(r))):((r=i+1)0&&(i+1===o&&(a+="."),a+=us(r))),a}function Tm(n,e){var t=n[0];for(e*=Ot;t>=10;t/=10)e++;return e}function Dm(n,e,t){if(e>sG)throw Zt=!0,t&&(n.precision=t),Error(dT);return Tt(new n(Mm),e,1,!0)}function Pa(n,e,t){if(e>ny)throw Error(dT);return Tt(new n(Em),e,t,!0)}function yT(n){var e=n.length-1,t=e*Ot+1;if(e=n[e],e){for(;e%10==0;e/=10)t--;for(e=n[0];e>=10;e/=10)t++}return t}function us(n){for(var e="";n--;)e+="0";return e}function bT(n,e,t,r){var i,a=new n(1),o=Math.ceil(r/Ot+4);for(Zt=!1;;){if(t%2&&(a=a.times(e),fT(a.d,o)&&(i=!0)),t=Kn(t/2),t===0){t=a.d.length-1,i&&a.d[t]===0&&++a.d[t];break}e=e.times(e),fT(e.d,o)}return Zt=!0,a}function cT(n){return n.d[n.d.length-1]&1}function xT(n,e,t){for(var r,i=new n(e[0]),a=0;++a17)return new p(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:NaN);for(e==null?(Zt=!1,s=h):s=e,u=new p(.03125);n.e>-2;)n=n.times(u),f+=5;for(r=Math.log(Fn(2,f))/Math.LN10*2+5|0,s+=r,t=a=o=new p(1),p.precision=s;;){if(a=Tt(a.times(n),s,1),t=t.times(++c),u=o.plus(Hr(a,t,s,1)),Hn(u.d).slice(0,s)===Hn(o.d).slice(0,s)){for(i=f;i--;)o=Tt(o.times(o),s,1);if(e==null)if(l<3&&Ec(o.d,s-r,m,l))p.precision=s+=10,t=a=u=new p(1),c=0,l++;else return Tt(o,p.precision=h,m,Zt=!0);else return p.precision=h,o}o=u}}function ls(n,e){var t,r,i,a,o,u,s,l,c,f,p,m=1,h=10,d=n,g=d.d,y=d.constructor,S=y.rounding,b=y.precision;if(d.s<0||!g||!g[0]||!d.e&&g[0]==1&&g.length==1)return new y(g&&!g[0]?-1/0:d.s!=1?NaN:g?0:d);if(e==null?(Zt=!1,c=b):c=e,y.precision=c+=h,t=Hn(g),r=t.charAt(0),Math.abs(a=d.e)<15e14){for(;r<7&&r!=1||r==1&&t.charAt(1)>3;)d=d.times(n),t=Hn(d.d),r=t.charAt(0),m++;a=d.e,r>1?(d=new y("0."+t),a++):d=new y(r+"."+t.slice(1))}else return l=Dm(y,c+2,b).times(a+""),d=ls(new y(r+"."+t.slice(1)),c-h).plus(l),y.precision=b,e==null?Tt(d,b,S,Zt=!0):d;for(f=d,s=o=d=Hr(d.minus(1),d.plus(1),c,1),p=Tt(d.times(d),c,1),i=3;;){if(o=Tt(o.times(p),c,1),l=s.plus(Hr(o,new y(i),c,1)),Hn(l.d).slice(0,c)===Hn(s.d).slice(0,c))if(s=s.times(2),a!==0&&(s=s.plus(Dm(y,c+2,b).times(a+""))),s=Hr(s,new y(m),c,1),e==null)if(Ec(s.d,c-h,S,u))y.precision=c+=h,l=o=d=Hr(f.minus(1),f.plus(1),c,1),p=Tt(d.times(d),c,1),i=u=1;else return Tt(s,y.precision=b,S,Zt=!0);else return y.precision=b,s;s=l,i+=2}}function wT(n){return String(n.s*n.s/0)}function ay(n,e){var t,r,i;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(t<0&&(t=r),t+=+e.slice(r+1),e=e.substring(0,r)):t<0&&(t=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,n.e=t=t-r-1,n.d=[],r=(t+1)%Ot,t<0&&(r+=Ot),rn.constructor.maxE?(n.d=null,n.e=NaN):n.e-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),vT.test(e))return ay(n,e)}else if(e==="Infinity"||e==="NaN")return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(iG.test(e))t=16,e=e.toLowerCase();else if(nG.test(e))t=2;else if(aG.test(e))t=8;else throw Error(cs+e);for(a=e.search(/p/i),a>0?(s=+e.slice(a+1),e=e.substring(2,a)):e=e.slice(2),a=e.indexOf("."),o=a>=0,r=n.constructor,o&&(e=e.replace(".",""),u=e.length,a=u-a,i=bT(r,new r(t),a,a*2)),l=Am(e,t,ka),c=l.length-1,a=c;l[a]===0;--a)l.pop();return a<0?new r(n.s*0):(n.e=Tm(l,c),n.d=l,Zt=!1,o&&(n=Hr(n,i,u*4)),s&&(n=n.times(Math.abs(s)<54?Fn(2,s):Dc.pow(2,s))),Zt=!0,n)}function cG(n,e){var t,r=e.d.length;if(r<3)return e.isZero()?e:pl(n,2,e,e);t=1.4*Math.sqrt(r),t=t>16?16:t|0,e=e.times(1/Cm(5,t)),e=pl(n,2,e,e);for(var i,a=new n(5),o=new n(16),u=new n(20);t--;)i=e.times(e),e=e.times(a.plus(i.times(o.times(i).minus(u))));return e}function pl(n,e,t,r,i){var a,o,u,s,l=1,c=n.precision,f=Math.ceil(c/Ot);for(Zt=!1,s=t.times(t),u=new n(r);;){if(o=Hr(u.times(s),new n(e++*e++),c,1),u=i?r.plus(o):r.minus(o),r=Hr(o.times(s),new n(e++*e++),c,1),o=u.plus(r),o.d[f]!==void 0){for(a=f;o.d[a]===u.d[a]&&a--;);if(a==-1)break}a=u,u=r,r=o,o=a,l++}return Zt=!0,o.d.length=f+1,o}function Cm(n,e){for(var t=n;--e;)t*=n;return t}function _T(n,e){var t,r=e.s<0,i=Pa(n,n.precision,1),a=i.times(.5);if(e=e.abs(),e.lte(a))return Do=r?4:1,e;if(t=e.divToInt(i),t.isZero())Do=r?3:2;else{if(e=e.minus(t.times(i)),e.lte(a))return Do=cT(t)?r?2:3:r?4:1,e;Do=cT(t)?r?1:4:r?3:2}return e.minus(i).abs()}function oy(n,e,t,r){var i,a,o,u,s,l,c,f,p,m=n.constructor,h=t!==void 0;if(h?(Di(t,1,fs),r===void 0?r=m.rounding:Di(r,0,8)):(t=m.precision,r=m.rounding),!n.isFinite())c=wT(n);else{for(c=Ja(n),o=c.indexOf("."),h?(i=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):i=e,o>=0&&(c=c.replace(".",""),p=new m(1),p.e=c.length-o,p.d=Am(Ja(p),10,i),p.e=p.d.length),f=Am(c,10,i),a=s=f.length;f[--s]==0;)f.pop();if(!f[0])c=h?"0p+0":"0";else{if(o<0?a--:(n=new m(n),n.d=f,n.e=a,n=Hr(n,p,t,r,0,i),f=n.d,a=n.e,l=mT),o=f[t],u=i/2,l=l||f[t+1]!==void 0,l=r<4?(o!==void 0||l)&&(r===0||r===(n.s<0?3:2)):o>u||o===u&&(r===4||l||r===6&&f[t-1]&1||r===(n.s<0?8:7)),f.length=t,l)for(;++f[--t]>i-1;)f[t]=0,t||(++a,f.unshift(1));for(s=f.length;!f[s-1];--s);for(o=0,c="";o1)if(e==16||e==8){for(o=e==16?4:3,--s;s%o;s++)c+="0";for(f=Am(c,i,e),s=f.length;!f[s-1];--s);for(o=1,c="1.";os)for(a-=s;a--;)c+="0";else ae)return n.length=e,!0}function fG(n){return new this(n).abs()}function pG(n){return new this(n).acos()}function mG(n){return new this(n).acosh()}function dG(n,e){return new this(n).plus(e)}function hG(n){return new this(n).asin()}function gG(n){return new this(n).asinh()}function vG(n){return new this(n).atan()}function yG(n){return new this(n).atanh()}function bG(n,e){n=new this(n),e=new this(e);var t,r=this.precision,i=this.rounding,a=r+4;return!n.s||!e.s?t=new this(NaN):!n.d&&!e.d?(t=Pa(this,a,1).times(e.s>0?.25:.75),t.s=n.s):!e.d||n.isZero()?(t=e.s<0?Pa(this,r,i):new this(0),t.s=n.s):!n.d||e.isZero()?(t=Pa(this,a,1).times(.5),t.s=n.s):e.s<0?(this.precision=a,this.rounding=1,t=this.atan(Hr(n,e,a,1)),e=Pa(this,a,1),this.precision=r,this.rounding=i,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(Hr(n,e,a,1)),t}function xG(n){return new this(n).cbrt()}function wG(n){return Tt(n=new this(n),n.e+1,2)}function _G(n,e,t){return new this(n).clamp(e,t)}function SG(n){if(!n||typeof n!="object")throw Error(Nm+"Object expected");var e,t,r,i=n.defaults===!0,a=["precision",1,fs,"rounding",0,8,"toExpNeg",-fl,0,"toExpPos",0,fl,"maxE",0,fl,"minE",-fl,0,"modulo",0,9];for(e=0;e=a[e+1]&&r<=a[e+2])this[t]=r;else throw Error(cs+t+": "+r);if(t="crypto",i&&(this[t]=ry[t]),(r=n[t])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(hT);else this[t]=!1;else throw Error(cs+t+": "+r);return this}function AG(n){return new this(n).cos()}function MG(n){return new this(n).cosh()}function ST(n){var e,t,r;function i(a){var o,u,s,l=this;if(!(l instanceof i))return new i(a);if(l.constructor=i,pT(a)){l.s=a.s,Zt?!a.d||a.e>i.maxE?(l.e=NaN,l.d=null):a.e=10;u/=10)o++;Zt?o>i.maxE?(l.e=NaN,l.d=null):o=429e7?e[a]=crypto.getRandomValues(new Uint32Array(1))[0]:u[a++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);a=214e7?crypto.randomBytes(4).copy(e,a):(u.push(i%1e7),a+=4);a=r/4}else throw Error(hT);else for(;a=10;i/=10)r++;r{var{on:e,config:t}=n,r=tu.clone({precision:t.precision,modulo:tu.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type="BigNumber",r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},r.fromJSON=function(i){return new r(i.value)},e&&e("config",function(i,a){i.precision!==a.precision&&r.config({precision:i.precision})}),r},{isClass:!0});var On=wr(MT(),1);var QG="Complex",KG=[],ly=T(QG,KG,()=>(Object.defineProperty(On.default,"name",{value:"Complex"}),On.default.prototype.constructor=On.default,On.default.prototype.type="Complex",On.default.prototype.isComplex=!0,On.default.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},On.default.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},On.default.prototype.format=function(n){var e="",t=this.im,r=this.re,i=Fa(this.re,n),a=Fa(this.im,n),o=At(n)?n:n?n.precision:null;if(o!==null){var u=Math.pow(10,-o);Math.abs(r/t)e.re?1:n.ree.im?1:n.im(Object.defineProperty(Xa.default,"name",{value:"Fraction"}),Xa.default.prototype.constructor=Xa.default,Xa.default.prototype.type="Fraction",Xa.default.prototype.isFraction=!0,Xa.default.prototype.toJSON=function(){return{mathjs:"Fraction",n:this.s*this.n,d:this.d}},Xa.default.fromJSON=function(n){return new Xa.default(n)},Xa.default),{isClass:!0});var rW="Range",nW=[],py=T(rW,nW,()=>{function n(e,t,r){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator");var i=e!=null,a=t!=null,o=r!=null;if(i){if(pt(e))e=e.toNumber();else if(typeof e!="number")throw new TypeError("Parameter start must be a number")}if(a){if(pt(t))t=t.toNumber();else if(typeof t!="number")throw new TypeError("Parameter end must be a number")}if(o){if(pt(r))r=r.toNumber();else if(typeof r!="number")throw new TypeError("Parameter step must be a number")}this.start=i?parseFloat(e):0,this.end=a?parseFloat(t):0,this.step=o?parseFloat(r):1}return n.prototype.type="Range",n.prototype.isRange=!0,n.parse=function(e){if(typeof e!="string")return null;var t=e.split(":"),r=t.map(function(a){return parseFloat(a)}),i=r.some(function(a){return isNaN(a)});if(i)return null;switch(r.length){case 2:return new n(r[0],r[1]);case 3:return new n(r[0],r[2],r[1]);default:return null}},n.prototype.clone=function(){return new n(this.start,this.end,this.step)},n.prototype.size=function(){var e=0,t=this.start,r=this.step,i=this.end,a=i-t;return ua(r)===ua(a)?e=Math.ceil(a/r):a===0&&(e=0),isNaN(e)&&(e=0),[e]},n.prototype.min=function(){var e=this.size()[0];if(e>0)return this.step>0?this.start:this.start+(e-1)*this.step},n.prototype.max=function(){var e=this.size()[0];if(e>0)return this.step>0?this.start+(e-1)*this.step:this.start},n.prototype.forEach=function(e){var t=this.start,r=this.step,i=this.end,a=0;if(r>0)for(;ti;)e(t,[a],this),t+=r,a++},n.prototype.map=function(e){var t=[];return this.forEach(function(r,i,a){t[i[0]]=e(r,i,a)}),t},n.prototype.toArray=function(){var e=[];return this.forEach(function(t,r){e[r[0]]=t}),e},n.prototype.valueOf=function(){return this.toArray()},n.prototype.format=function(e){var t=Fa(this.start,e);return this.step!==1&&(t+=":"+Fa(this.step,e)),t+=":"+Fa(this.end,e),t},n.prototype.toString=function(){return this.format()},n.prototype.toJSON=function(){return{mathjs:"Range",start:this.start,end:this.end,step:this.step}},n.fromJSON=function(e){return new n(e.start,e.end,e.step)},n},{isClass:!0});var iW="Matrix",aW=[],my=T(iW,aW,()=>{function n(){if(!(this instanceof n))throw new SyntaxError("Constructor must be called with the new operator")}return n.prototype.type="Matrix",n.prototype.isMatrix=!0,n.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},n.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},n.prototype.create=function(e,t){throw new Error("Cannot invoke create on a Matrix interface")},n.prototype.subset=function(e,t,r){throw new Error("Cannot invoke subset on a Matrix interface")},n.prototype.get=function(e){throw new Error("Cannot invoke get on a Matrix interface")},n.prototype.set=function(e,t,r){throw new Error("Cannot invoke set on a Matrix interface")},n.prototype.resize=function(e,t){throw new Error("Cannot invoke resize on a Matrix interface")},n.prototype.reshape=function(e,t){throw new Error("Cannot invoke reshape on a Matrix interface")},n.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},n.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},n.prototype.map=function(e,t){throw new Error("Cannot invoke map on a Matrix interface")},n.prototype.forEach=function(e){throw new Error("Cannot invoke forEach on a Matrix interface")},n.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},n.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},n.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},n.prototype.format=function(e){throw new Error("Cannot invoke format on a Matrix interface")},n.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},n},{isClass:!0});function NT(n){var e=0,t=1,r=Object.create(null),i=Object.create(null),a=0,o=function(s){var l=i[s];if(l&&(delete r[l],delete i[s],--e,t===l)){if(!e){a=0,t=1;return}for(;!Object.prototype.hasOwnProperty.call(r,++t););}};return n=Math.abs(n),{hit:function(s){var l=i[s],c=++a;if(r[c]=s,i[s]=c,!l)return++e,e<=n?void 0:(s=r[t],o(s),s);if(delete r[l],t===l)for(;!Object.prototype.hasOwnProperty.call(r,++t););},delete:o,clear:function(){e=a=0,t=1,r=Object.create(null),i=Object.create(null)}}}function ru(n){var{hasher:e,limit:t}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return t=t??Number.POSITIVE_INFINITY,e=e??JSON.stringify,function r(){typeof r.cache!="object"&&(r.cache={values:new Map,lru:NT(t||Number.POSITIVE_INFINITY)});for(var i=[],a=0;a{var{Matrix:e}=n;function t(c,f){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if(f&&!rn(f))throw new Error("Invalid datatype: "+f);if(ot(c))c.type==="DenseMatrix"?(this._data=vt(c._data),this._size=vt(c._size),this._datatype=f||c._datatype):(this._data=c.toArray(),this._size=c.size(),this._datatype=f||c._datatype);else if(c&&nr(c.data)&&nr(c.size))this._data=c.data,this._size=c.size,Gv(this._data,this._size),this._datatype=f||c.datatype;else if(nr(c))this._data=l(c),this._size=_t(this._data),Gv(this._data,this._size),this._datatype=f;else{if(c)throw new TypeError("Unsupported type of data ("+Kt(c)+")");this._data=[],this._size=[0],this._datatype=f}}t.prototype=new e,t.prototype.createDenseMatrix=function(c,f){return new t(c,f)},Object.defineProperty(t,"name",{value:"DenseMatrix"}),t.prototype.constructor=t,t.prototype.type="DenseMatrix",t.prototype.isDenseMatrix=!0,t.prototype.getDataType=function(){return os(this._data,Kt)},t.prototype.storage=function(){return"dense"},t.prototype.datatype=function(){return this._datatype},t.prototype.create=function(c,f){return new t(c,f)},t.prototype.subset=function(c,f,p){switch(arguments.length){case 1:return r(this,c);case 2:case 3:return a(this,c,f,p);default:throw new SyntaxError("Wrong number of arguments")}},t.prototype.get=function(c){if(!nr(c))throw new TypeError("Array expected");if(c.length!==this._size.length)throw new Dt(c.length,this._size.length);for(var f=0;f");var b=f.max().map(function(x){return x+1});s(c,b,m);var w=h.length,A=0;o(c._data,f,p,w,A)}return c}function o(c,f,p,m,h){var d=h===m-1,g=f.dimension(h);d?g.forEach(function(y,S){br(y),c[y]=p[S[0]]}):g.forEach(function(y,S){br(y),o(c[y],f,p[S[0]],m,h+1)})}t.prototype.resize=function(c,f,p){if(!ln(c))throw new TypeError("Array or Matrix expected");var m=c.valueOf().map(d=>Array.isArray(d)&&d.length===1?d[0]:d),h=p?this.clone():this;return u(h,m,f)};function u(c,f,p){if(f.length===0){for(var m=c._data;nr(m);)m=m[0];return m}return c._size=f.slice(0),c._data=Ia(c._data,c._size,p),c}t.prototype.reshape=function(c,f){var p=f?this.clone():this;p._data=Sc(p._data,c);var m=p._size.reduce((h,d)=>h*d);return p._size=Ac(c,m),p};function s(c,f,p){for(var m=c._size.slice(0),h=!1;m.lengthm[d]&&(m[d]=f[d],h=!0);h&&u(c,m,p)}t.prototype.clone=function(){var c=new t({data:vt(this._data),size:vt(this._size),datatype:this._datatype});return c},t.prototype.size=function(){return this._size.slice(0)},t.prototype.map=function(c){var f=this,p=Fm(c),m=function g(y,S){return nr(y)?y.map(function(b,w){return g(b,S.concat(w))}):p===1?c(y):p===2?c(y,S):c(y,S,f)},h=m(this._data,[]),d=this._datatype!==void 0?os(h,Kt):void 0;return new t(h,d)},t.prototype.forEach=function(c){var f=this,p=function m(h,d){nr(h)?h.forEach(function(g,y){m(g,d.concat(y))}):c(h,d,f)};p(this._data,[])},t.prototype[Symbol.iterator]=function*(){var c=function*f(p,m){if(nr(p))for(var h=0;h[b[y]]);f.push(new t(S,c._datatype))},d=0;d0?c:0,p=c<0?-c:0,m=this._size[0],h=this._size[1],d=Math.min(m-p,h-f),g=[],y=0;y0?p:0,d=p<0?-p:0,g=c[0],y=c[1],S=Math.min(g-d,y-h),b;if(nr(f)){if(f.length!==S)throw new Error("Invalid value array length");b=function(E){return f[E]}}else if(ot(f)){var w=f.size();if(w.length!==1||w[0]!==S)throw new Error("Invalid matrix length");b=function(E){return f.get([E])}}else b=function(){return f};m||(m=pt(b(0))?b(0).mul(0):0);var A=[];if(c.length>0){A=Ia(A,c,m);for(var x=0;x{var{typed:e}=n;return e(TT,{any:vt})});function Im(n){var e=n.length,t=n[0].length,r,i,a=[];for(i=0;i=r.length)throw new $n(e,r.length);return ot(n)?n.create(Pm(n.valueOf(),e,t)):Pm(n,e,t)}function Pm(n,e,t){var r,i,a,o;if(e<=0)if(Array.isArray(n[0])){for(o=Im(n),i=[],r=0;r{var{typed:e}=n;return e(CT,{number:nt,BigNumber:function(r){return r.isInt()},Fraction:function(r){return r.d===1&&isFinite(r.n)},"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var Ni="number",No="number, number";function yy(n){return Math.abs(n)}yy.signature=Ni;function by(n,e){return n+e}by.signature=No;function xy(n,e){return n-e}xy.signature=No;function wy(n,e){return n*e}wy.signature=No;function cW(n,e){return n/e}cW.signature=No;function _y(n){return-n}_y.signature=Ni;function Sy(n){return n}Sy.signature=Ni;function ml(n){return RN(n)}ml.signature=Ni;function Ay(n){return n*n*n}Ay.signature=Ni;function My(n){return Math.exp(n)}My.signature=Ni;function Ey(n){return LN(n)}Ey.signature=Ni;function fW(n,e){if(!nt(n)||!nt(e))throw new Error("Parameters in function gcd must be integer numbers");for(var t;e!==0;)t=n%e,n=e,e=t;return n<0?-n:n}fW.signature=No;function Dy(n,e){if(!nt(n)||!nt(e))throw new Error("Parameters in function lcm must be integer numbers");if(n===0||e===0)return 0;for(var t,r=n*e;e!==0;)t=e,e=n%t,n=t;return Math.abs(r/n)}Dy.signature=No;function FT(n,e){return e?Math.log(n)/Math.log(e):Math.log(n)}function Ny(n){return ON(n)}Ny.signature=Ni;function Ty(n){return BN(n)}Ty.signature=Ni;function pW(n){return hm(n)}pW.signature=Ni;function mW(n,e){return e===0?n:n-e*Math.floor(n/e)}mW.signature=No;function Cy(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,t=e<0;if(t&&(e=-e),e===0)throw new Error("Root must be non-zero");if(n<0&&Math.abs(e)%2!==1)throw new Error("Root must be odd when a is negative.");if(n===0)return t?1/0:0;if(!isFinite(n))return t?0:n;var r=Math.pow(Math.abs(n),1/e);return r=n<0?-r:r,t?1/r:r}function km(n){return ua(n)}km.signature=Ni;function dW(n){return Math.sqrt(n)}dW.signature=Ni;function Fy(n){return n*n}Fy.signature=Ni;function Iy(n,e){var t,r,i,a=0,o=1,u=1,s=0;if(!nt(n)||!nt(e))throw new Error("Parameters in function xgcd must be integer numbers");for(;e;)r=Math.floor(n/e),i=n-r*e,t=a,a=o-r*a,o=t,t=u,u=s-r*u,s=t,n=e,e=i;var l;return n<0?l=[-n,-o,-s]:l=[n,n?o:0,s],l}Iy.signature=No;function Py(n,e){return n*n<1&&e===1/0||n*n>1&&e===-1/0?0:Math.pow(n,e)}Py.signature=No;function dl(n){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!nt(e)||e<0||e>15)throw new Error("Number of decimals in function round must be an integer from 0 to 15 inclusive");return parseFloat(zv(n,e))}function hW(n){return Math.abs(n)}hW.signature=Ni;var gW="number",hl="number, number";function ky(n,e){if(!nt(n)||!nt(e))throw new Error("Integers expected in function bitAnd");return n&e}ky.signature=hl;function By(n){if(!nt(n))throw new Error("Integer expected in function bitNot");return~n}By.signature=gW;function Oy(n,e){if(!nt(n)||!nt(e))throw new Error("Integers expected in function bitOr");return n|e}Oy.signature=hl;function Ry(n,e){if(!nt(n)||!nt(e))throw new Error("Integers expected in function bitXor");return n^e}Ry.signature=hl;function Ly(n,e){if(!nt(n)||!nt(e))throw new Error("Integers expected in function leftShift");return n<>e}Vy.signature=hl;function Uy(n,e){if(!nt(n)||!nt(e))throw new Error("Integers expected in function rightLogShift");return n>>>e}Uy.signature=hl;function Hi(n,e){if(e>1;return Hi(n,t)*Hi(t+1,e)}function qy(n,e){if(!nt(n)||n<0)throw new TypeError("Positive integer value expected in function combinations");if(!nt(e)||e<0)throw new TypeError("Positive integer value expected in function combinations");if(e>n)throw new TypeError("k must be less than or equal to n");for(var t=n-e,r=1,i=e171?1/0:Hi(1,n-1);if(n<.5)return Math.PI/(Math.sin(Math.PI*n)*Nc(1-n));if(n>=171.35)return 1/0;if(n>85){var t=n*n,r=t*n,i=r*n,a=i*n;return Math.sqrt(2*Math.PI/n)*Math.pow(n/Math.E,n)*(1+1/(12*n)+1/(288*t)-139/(51840*r)-571/(2488320*i)+163879/(209018880*a)+5246819/(75246796800*a*n))}--n,e=nu[0];for(var o=1;o=1;r--)t+=OT[r]/(n+r);return jy+(n+.5)*Math.log(e)-e+Math.log(t)}Tc.signature="number";var nn="number",xW="number, number";function wW(n){return Math.acos(n)}wW.signature=nn;function Zy(n){return qN(n)}Zy.signature=nn;function Jy(n){return Math.atan(1/n)}Jy.signature=nn;function Xy(n){return isFinite(n)?(Math.log((n+1)/n)+Math.log(n/(n-1)))/2:0}Xy.signature=nn;function Qy(n){return Math.asin(1/n)}Qy.signature=nn;function Ky(n){var e=1/n;return Math.log(e+Math.sqrt(e*e+1))}Ky.signature=nn;function e0(n){return Math.acos(1/n)}e0.signature=nn;function t0(n){var e=1/n,t=Math.sqrt(e*e-1);return Math.log(t+e)}t0.signature=nn;function _W(n){return Math.asin(n)}_W.signature=nn;function r0(n){return zN(n)}r0.signature=nn;function SW(n){return Math.atan(n)}SW.signature=nn;function AW(n,e){return Math.atan2(n,e)}AW.signature=xW;function n0(n){return $N(n)}n0.signature=nn;function MW(n){return Math.cos(n)}MW.signature=nn;function EW(n){return vm(n)}EW.signature=nn;function i0(n){return 1/Math.tan(n)}i0.signature=nn;function a0(n){var e=Math.exp(2*n);return(e+1)/(e-1)}a0.signature=nn;function o0(n){return 1/Math.sin(n)}o0.signature=nn;function s0(n){return n===0?Number.POSITIVE_INFINITY:Math.abs(2/(Math.exp(n)-Math.exp(-n)))*ua(n)}s0.signature=nn;function u0(n){return 1/Math.cos(n)}u0.signature=nn;function l0(n){return 2/(Math.exp(n)+Math.exp(-n))}l0.signature=nn;function DW(n){return Math.sin(n)}DW.signature=nn;function c0(n){return HN(n)}c0.signature=nn;function NW(n){return Math.tan(n)}NW.signature=nn;function TW(n){return ym(n)}TW.signature=nn;var Cc="number";function CW(n){return nt(n)}CW.signature=Cc;function f0(n){return n<0}f0.signature=Cc;function p0(n){return n>0}p0.signature=Cc;function m0(n){return n===0}m0.signature=Cc;function d0(n){return Number.isNaN(n)}d0.signature=Cc;var RT="isNegative",FW=["typed"],h0=T(RT,FW,n=>{var{typed:e}=n;return e(RT,{number:f0,BigNumber:function(r){return r.isNeg()&&!r.isZero()&&!r.isNaN()},Fraction:function(r){return r.s<0},Unit:e.referToSelf(t=>r=>e.find(t,r.valueType())(r.value)),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var LT="isNumeric",IW=["typed"],g0=T(LT,IW,n=>{var{typed:e}=n;return e(LT,{"number | BigNumber | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var VT="hasNumericValue",PW=["typed","isNumeric"],v0=T(VT,PW,n=>{var{typed:e,isNumeric:t}=n;return e(VT,{boolean:()=>!0,string:function(i){return i.trim().length>0&&!isNaN(Number(i))},any:function(i){return t(i)}})});var UT="isPositive",kW=["typed"],y0=T(UT,kW,n=>{var{typed:e}=n;return e(UT,{number:p0,BigNumber:function(r){return!r.isNeg()&&!r.isZero()&&!r.isNaN()},Fraction:function(r){return r.s>0&&r.n>0},Unit:e.referToSelf(t=>r=>e.find(t,r.valueType())(r.value)),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var qT="isZero",BW=["typed"],b0=T(qT,BW,n=>{var{typed:e}=n;return e(qT,{number:m0,BigNumber:function(r){return r.isZero()},Complex:function(r){return r.re===0&&r.im===0},Fraction:function(r){return r.d===1&&r.n===0},Unit:e.referToSelf(t=>r=>e.find(t,r.valueType())(r.value)),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var zT="isNaN",OW=["typed"],x0=T(zT,OW,n=>{var{typed:e}=n;return e(zT,{number:d0,BigNumber:function(r){return r.isNaN()},Fraction:function(r){return!1},Complex:function(r){return r.isNaN()},Unit:function(r){return Number.isNaN(r.value)},"Array | Matrix":function(r){return lt(r,Number.isNaN)}})});var $T="typeOf",RW=["typed"],w0=T($T,RW,n=>{var{typed:e}=n;return e($T,{any:Kt})});function gn(n,e,t){if(t==null)return n.eq(e);if(n.eq(e))return!0;if(n.isNaN()||e.isNaN())return!1;if(n.isFinite()&&e.isFinite()){var r=n.minus(e).abs();if(r.isZero())return!0;var i=n.constructor.max(n.abs(),e.abs());return r.lte(i.times(t))}return!1}function HT(n,e,t){return Jr(n.re,e.re,t)&&Jr(n.im,e.im,t)}var ca=T("compareUnits",["typed"],n=>{var{typed:e}=n;return{"Unit, Unit":e.referToSelf(t=>(r,i)=>{if(!r.equalBase(i))throw new Error("Cannot compare units with different base");return e.find(t,[r.valueType(),i.valueType()])(r.value,i.value)})}});var Bm="equalScalar",LW=["typed","config"],_0=T(Bm,LW,n=>{var{typed:e,config:t}=n,r=ca({typed:e});return e(Bm,{"boolean, boolean":function(a,o){return a===o},"number, number":function(a,o){return Jr(a,o,t.epsilon)},"BigNumber, BigNumber":function(a,o){return a.eq(o)||gn(a,o,t.epsilon)},"Fraction, Fraction":function(a,o){return a.equals(o)},"Complex, Complex":function(a,o){return HT(a,o,t.epsilon)}},r)}),uve=T(Bm,["typed","config"],n=>{var{typed:e,config:t}=n;return e(Bm,{"number, number":function(i,a){return Jr(i,a,t.epsilon)}})});var VW="SparseMatrix",UW=["typed","equalScalar","Matrix"],S0=T(VW,UW,n=>{var{typed:e,equalScalar:t,Matrix:r}=n;function i(d,g){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");if(g&&!rn(g))throw new Error("Invalid datatype: "+g);if(ot(d))a(this,d,g);else if(d&&nr(d.index)&&nr(d.ptr)&&nr(d.size))this._values=d.values,this._index=d.index,this._ptr=d.ptr,this._size=d.size,this._datatype=g||d.datatype;else if(nr(d))o(this,d,g);else{if(d)throw new TypeError("Unsupported type of data ("+Kt(d)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=g}}function a(d,g,y){g.type==="SparseMatrix"?(d._values=g._values?vt(g._values):void 0,d._index=vt(g._index),d._ptr=vt(g._ptr),d._size=vt(g._size),d._datatype=y||g._datatype):o(d,g.valueOf(),y||g._datatype)}function o(d,g,y){d._values=[],d._index=[],d._ptr=[],d._datatype=y;var S=g.length,b=0,w=t,A=0;if(rn(y)&&(w=e.find(t,[y,y])||t,A=e.convert(0,y)),S>0){var x=0;do{d._ptr.push(d._index.length);for(var D=0;D");if(b.length===1){var E=g.dimension(0);E.forEach(function(P,B){br(P),d.set([P,0],y[B[0]],S)})}else{var _=g.dimension(0),N=g.dimension(1);_.forEach(function(P,B){br(P),N.forEach(function(V,z){br(V),d.set([P,V],y[B[0]][z[0]],S)})})}}return d}i.prototype.get=function(d){if(!nr(d))throw new TypeError("Array expected");if(d.length!==this._size.length)throw new Dt(d.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var g=d[0],y=d[1];br(g,this._size[0]),br(y,this._size[1]);var S=l(g,this._ptr[y],this._ptr[y+1],this._index);return Sw-1||b>A-1)&&(p(this,Math.max(S+1,w),Math.max(b+1,A),y),w=this._size[0],A=this._size[1]),br(S,w),br(b,A);var E=l(S,this._ptr[b],this._ptr[b+1],this._index);return EArray.isArray(w)&&w.length===1?w[0]:w);if(S.length!==2)throw new Error("Only two dimensions matrix are supported");S.forEach(function(w){if(!At(w)||!nt(w)||w<0)throw new TypeError("Invalid size, must contain positive integers (size: "+Mt(S)+")")});var b=y?this.clone():this;return p(b,S[0],S[1],g)};function p(d,g,y,S){var b=S||0,w=t,A=0;rn(d._datatype)&&(w=e.find(t,[d._datatype,d._datatype])||t,A=e.convert(0,d._datatype),b=e.convert(b,d._datatype));var x=!w(b,A),D=d._size[0],E=d._size[1],_,N,P;if(y>E){for(N=E;ND){if(x){var B=0;for(N=0;Ng-1&&(d._values.splice(P,1),d._index.splice(P,1),z++)}d._ptr[N]=d._values.length}return d._size[0]=g,d._size[1]=y,d}i.prototype.reshape=function(d,g){if(!nr(d))throw new TypeError("Array expected");if(d.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");d.forEach(function(O){if(!At(O)||!nt(O)||O<=-2||O===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+Mt(d)+")")});var y=this._size[0]*this._size[1];d=Ac(d,y);var S=d[0]*d[1];if(y!==S)throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var b=g?this.clone():this;if(this._size[0]===d[0]&&this._size[1]===d[1])return b;for(var w=[],A=0;A=g&&k<=y&&P(d._values[L],k-g,B-S)}else{for(var C={},W=V;W "+(this._values?Mt(this._values[D],d):"X")}return b},i.prototype.toString=function(){return Mt(this.toArray())},i.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},i.prototype.diagonal=function(d){if(d){if(pt(d)&&(d=d.toNumber()),!At(d)||!nt(d))throw new TypeError("The parameter k must be an integer number")}else d=0;var g=d>0?d:0,y=d<0?-d:0,S=this._size[0],b=this._size[1],w=Math.min(S-y,b-g),A=[],x=[],D=[];D[0]=0;for(var E=g;E0?y:0,D=y<0?-y:0,E=d[0],_=d[1],N=Math.min(E-D,_-x),P;if(nr(g)){if(g.length!==N)throw new Error("Invalid value array length");P=function(H){return g[H]}}else if(ot(g)){var B=g.size();if(B.length!==1||B[0]!==N)throw new Error("Invalid matrix length");P=function(H){return g.get([H])}}else P=function(){return g};for(var V=[],z=[],L=[],k=0;k<_;k++){L.push(V.length);var C=k-x;if(C>=0&&C=D||b[_]!==g)){var P=S?S[E]:void 0;b.splice(_,0,g),S&&S.splice(_,0,P),b.splice(_<=E?E+1:E,1),S&&S.splice(_<=E?E+1:E,1);continue}if(_=D||b[E]!==d)){var B=S?S[_]:void 0;b.splice(E,0,d),S&&S.splice(E,0,B),b.splice(E<=_?_+1:_,1),S&&S.splice(E<=_?_+1:_,1)}}},i},{isClass:!0});var qW="number",zW=["typed"];function $W(n){var e=n.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);if(e){var t={"0b":2,"0o":8,"0x":16}[e[1]],r=e[2],i=e[3];return{input:n,radix:t,integerPart:r,fractionalPart:i}}else return null}function HW(n){for(var e=parseInt(n.integerPart,n.radix),t=0,r=0;r{var{typed:e}=n,t=e("number",{"":function(){return 0},number:function(i){return i},string:function(i){if(i==="NaN")return NaN;var a=$W(i);if(a)return HW(a);var o=0,u=i.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);u&&(o=Number(u[2]),i=u[1]);var s=Number(i);if(isNaN(s))throw new SyntaxError('String "'+i+'" is not a valid number');if(u){if(s>2**o-1)throw new SyntaxError('String "'.concat(i,'" is out of range'));s>=2**(o-1)&&(s=s-2**o)}return s},BigNumber:function(i){return i.toNumber()},Fraction:function(i){return i.valueOf()},Unit:e.referToSelf(r=>i=>{var a=i.clone();return a.value=r(i.value),a}),null:function(i){return 0},"Unit, string | Unit":function(i,a){return i.toNumber(a)},"Array | Matrix":e.referToSelf(r=>i=>lt(i,r))});return t.fromJSON=function(r){return parseFloat(r.value)},t});var GT="string",GW=["typed"],M0=T(GT,GW,n=>{var{typed:e}=n;return e(GT,{"":function(){return""},number:Fa,null:function(r){return"null"},boolean:function(r){return r+""},string:function(r){return r},"Array | Matrix":e.referToSelf(t=>r=>lt(r,t)),any:function(r){return String(r)}})});var WT="boolean",WW=["typed"],E0=T(WT,WW,n=>{var{typed:e}=n;return e(WT,{"":function(){return!1},boolean:function(r){return r},number:function(r){return!!r},null:function(r){return!1},BigNumber:function(r){return!r.isZero()},string:function(r){var i=r.toLowerCase();if(i==="true")return!0;if(i==="false")return!1;var a=Number(r);if(r!==""&&!isNaN(a))return!!a;throw new Error('Cannot convert "'+r+'" to a boolean')},"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var YW="bignumber",jW=["typed","BigNumber"],D0=T(YW,jW,n=>{var{typed:e,BigNumber:t}=n;return e("bignumber",{"":function(){return new t(0)},number:function(i){return new t(i+"")},string:function(i){var a=i.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(a){var o=a[2],u=t(a[1]),s=new t(2).pow(Number(o));if(u.gt(s.sub(1)))throw new SyntaxError('String "'.concat(i,'" is out of range'));var l=new t(2).pow(Number(o)-1);return u.gte(l)?u.sub(s):u}return new t(i)},BigNumber:function(i){return i},Unit:e.referToSelf(r=>i=>{var a=i.clone();return a.value=r(i.value),a}),Fraction:function(i){return new t(i.n).div(i.d).times(i.s)},null:function(i){return new t(0)},"Array | Matrix":e.referToSelf(r=>i=>lt(i,r))})});var ZW="complex",JW=["typed","Complex"],N0=T(ZW,JW,n=>{var{typed:e,Complex:t}=n;return e("complex",{"":function(){return t.ZERO},number:function(i){return new t(i,0)},"number, number":function(i,a){return new t(i,a)},"BigNumber, BigNumber":function(i,a){return new t(i.toNumber(),a.toNumber())},Fraction:function(i){return new t(i.valueOf(),0)},Complex:function(i){return i.clone()},string:function(i){return t(i)},null:function(i){return t(0)},Object:function(i){if("re"in i&&"im"in i)return new t(i.re,i.im);if("r"in i&&"phi"in i||"abs"in i&&"arg"in i)return new t(i);throw new Error("Expected object with properties (re and im) or (r and phi) or (abs and arg)")},"Array | Matrix":e.referToSelf(r=>i=>lt(i,r))})});var XW="fraction",QW=["typed","Fraction"],T0=T(XW,QW,n=>{var{typed:e,Fraction:t}=n;return e("fraction",{number:function(i){if(!isFinite(i)||isNaN(i))throw new Error(i+" cannot be represented as a fraction");return new t(i)},string:function(i){return new t(i)},"number, number":function(i,a){return new t(i,a)},null:function(i){return new t(0)},BigNumber:function(i){return new t(i.toString())},Fraction:function(i){return i},Unit:e.referToSelf(r=>i=>{var a=i.clone();return a.value=r(i.value),a}),Object:function(i){return new t(i)},"Array | Matrix":e.referToSelf(r=>i=>lt(i,r))})});var YT="matrix",KW=["typed","Matrix","DenseMatrix","SparseMatrix"],C0=T(YT,KW,n=>{var{typed:e,Matrix:t,DenseMatrix:r,SparseMatrix:i}=n;return e(YT,{"":function(){return a([])},string:function(u){return a([],u)},"string, string":function(u,s){return a([],u,s)},Array:function(u){return a(u)},Matrix:function(u){return a(u,u.storage())},"Array | Matrix, string":a,"Array | Matrix, string, string":a});function a(o,u,s){if(u==="dense"||u==="default"||u===void 0)return new r(o,s);if(u==="sparse")return new i(o,s);throw new TypeError("Unknown matrix type "+JSON.stringify(u)+".")}});var jT="matrixFromFunction",eY=["typed","matrix","isZero"],F0=T(jT,eY,n=>{var{typed:e,matrix:t,isZero:r}=n;return e(jT,{"Array | Matrix, function, string, string":function(o,u,s,l){return i(o,u,s,l)},"Array | Matrix, function, string":function(o,u,s){return i(o,u,s)},"Matrix, function":function(o,u){return i(o,u,"dense")},"Array, function":function(o,u){return i(o,u,"dense").toArray()},"Array | Matrix, string, function":function(o,u,s){return i(o,s,u)},"Array | Matrix, string, string, function":function(o,u,s,l){return i(o,l,u,s)}});function i(a,o,u,s){var l;return s!==void 0?l=t(u,s):l=t(u),l.resize(a),l.forEach(function(c,f){var p=o(f);r(p)||l.set(f,p)}),l}});var ZT="matrixFromRows",tY=["typed","matrix","flatten","size"],I0=T(ZT,tY,n=>{var{typed:e,matrix:t,flatten:r,size:i}=n;return e(ZT,{"...Array":function(s){return a(s)},"...Matrix":function(s){return t(a(s.map(l=>l.toArray())))}});function a(u){if(u.length===0)throw new TypeError("At least one row is needed to construct a matrix.");var s=o(u[0]),l=[];for(var c of u){var f=o(c);if(f!==s)throw new TypeError("The vectors had different length: "+(s|0)+" \u2260 "+(f|0));l.push(r(c))}return l}function o(u){var s=i(u);if(s.length===1)return s[0];if(s.length===2){if(s[0]===1)return s[1];if(s[1]===1)return s[0];throw new TypeError("At least one of the arguments is not a vector.")}else throw new TypeError("Only one- or two-dimensional vectors are supported.")}});var JT="matrixFromColumns",rY=["typed","matrix","flatten","size"],P0=T(JT,rY,n=>{var{typed:e,matrix:t,flatten:r,size:i}=n;return e(JT,{"...Array":function(s){return a(s)},"...Matrix":function(s){return t(a(s.map(l=>l.toArray())))}});function a(u){if(u.length===0)throw new TypeError("At least one column is needed to construct a matrix.");for(var s=o(u[0]),l=[],c=0;c{var{typed:e}=n;return e(XT,{"Unit, Array":function(r,i){return r.splitUnit(i)}})});var QT="unaryMinus",iY=["typed"],B0=T(QT,iY,n=>{var{typed:e}=n;return e(QT,{number:_y,"Complex | BigNumber | Fraction":t=>t.neg(),Unit:e.referToSelf(t=>r=>{var i=r.clone();return i.value=e.find(t,i.valueType())(r.value),i}),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t,!0))})});var KT="unaryPlus",aY=["typed","config","BigNumber"],O0=T(KT,aY,n=>{var{typed:e,config:t,BigNumber:r}=n;return e(KT,{number:Sy,Complex:function(a){return a},BigNumber:function(a){return a},Fraction:function(a){return a},Unit:function(a){return a.clone()},"Array | Matrix":e.referToSelf(i=>a=>lt(a,i,!0)),"boolean | string":function(a){return t.number==="BigNumber"?new r(+a):+a}})});var eC="abs",oY=["typed"],R0=T(eC,oY,n=>{var{typed:e}=n;return e(eC,{number:yy,"Complex | BigNumber | Fraction | Unit":t=>t.abs(),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t,!0))})});var tC="apply",sY=["typed","isInteger"],iu=T(tC,sY,n=>{var{typed:e,isInteger:t}=n;return e(tC,{"Array | Matrix, number | BigNumber, function":function(i,a,o){if(!t(a))throw new TypeError("Integer number expected for dimension");var u=Array.isArray(i)?_t(i):i.size();if(a<0||a>=u.length)throw new $n(a,u.length);return ot(i)?i.create(Om(i.valueOf(),a,o)):Om(i,a,o)}})});function Om(n,e,t){var r,i,a;if(e<=0)if(Array.isArray(n[0])){for(a=uY(n),i=[],r=0;r{var{typed:e}=n;return e(rC,{"number, number":by,"Complex, Complex":function(r,i){return r.add(i)},"BigNumber, BigNumber":function(r,i){return r.plus(i)},"Fraction, Fraction":function(r,i){return r.add(i)},"Unit, Unit":e.referToSelf(t=>(r,i)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(i.value===null||i.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(i))throw new Error("Units do not match");var a=r.clone();return a.value=e.find(t,[a.valueType(),i.valueType()])(a.value,i.value),a.fixPrefix=!1,a})})});var nC="subtractScalar",cY=["typed"],V0=T(nC,cY,n=>{var{typed:e}=n;return e(nC,{"number, number":xy,"Complex, Complex":function(r,i){return r.sub(i)},"BigNumber, BigNumber":function(r,i){return r.minus(i)},"Fraction, Fraction":function(r,i){return r.sub(i)},"Unit, Unit":e.referToSelf(t=>(r,i)=>{if(r.value===null||r.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(i.value===null||i.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!r.equalBase(i))throw new Error("Units do not match");var a=r.clone();return a.value=e.find(t,[a.valueType(),i.valueType()])(a.value,i.value),a.fixPrefix=!1,a})})});var iC="cbrt",fY=["config","typed","isNegative","unaryMinus","matrix","Complex","BigNumber","Fraction"],U0=T(iC,fY,n=>{var{config:e,typed:t,isNegative:r,unaryMinus:i,matrix:a,Complex:o,BigNumber:u,Fraction:s}=n;return t(iC,{number:ml,Complex:l,"Complex, boolean":l,BigNumber:function(p){return p.cbrt()},Unit:c});function l(f,p){var m=f.arg()/3,h=f.abs(),d=new o(ml(h),0).mul(new o(0,m).exp());if(p){var g=[d,new o(ml(h),0).mul(new o(0,m+Math.PI*2/3).exp()),new o(ml(h),0).mul(new o(0,m-Math.PI*2/3).exp())];return e.matrix==="Array"?g:a(g)}else return d}function c(f){if(f.value&&gi(f.value)){var p=f.clone();return p.value=1,p=p.pow(1/3),p.value=l(f.value),p}else{var m=r(f.value);m&&(f.value=i(f.value));var h;pt(f.value)?h=new u(1).div(3):Ao(f.value)?h=new s(1,3):h=1/3;var d=f.pow(h);return m&&(d.value=i(d.value)),d}}});var pY="matAlgo11xS0s",mY=["typed","equalScalar"],xr=T(pY,mY,n=>{var{typed:e,equalScalar:t}=n;return function(i,a,o,u){var s=i._values,l=i._index,c=i._ptr,f=i._size,p=i._datatype;if(!s)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var m=f[0],h=f[1],d,g=t,y=0,S=o;typeof p=="string"&&(d=p,g=e.find(t,[d,d]),y=e.convert(0,d),a=e.convert(a,d),S=e.find(o,[d,d]));for(var b=[],w=[],A=[],x=0;x{var{typed:e,DenseMatrix:t}=n;return function(i,a,o,u){var s=i._values,l=i._index,c=i._ptr,f=i._size,p=i._datatype;if(!s)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var m=f[0],h=f[1],d,g=o;typeof p=="string"&&(d=p,a=e.convert(a,d),g=e.find(o,[d,d]));for(var y=[],S=[],b=[],w=0;w{var{typed:e}=n;return function(i,a,o,u){var s=i._data,l=i._size,c=i._datatype,f,p=o;typeof c=="string"&&(f=c,a=e.convert(a,f),p=e.find(o,[f,f]));var m=l.length>0?t(p,0,l,l[0],s,a,u):[];return i.createDenseMatrix({data:m,size:vt(l),datatype:f})};function t(r,i,a,o,u,s,l){var c=[];if(i===a.length-1)for(var f=0;f{var{typed:e,config:t,round:r}=n;return e(q0,{number:function(a){return Jr(a,r(a),t.epsilon)?r(a):Math.ceil(a)},"number, number":function(a,o){if(Jr(a,r(a,o),t.epsilon))return r(a,o);var[u,s]="".concat(a,"e").split("e"),l=Math.ceil(Number("".concat(u,"e").concat(Number(s)+o)));return[u,s]="".concat(l,"e").split("e"),Number("".concat(u,"e").concat(Number(s)-o))}})}),z0=T(q0,yY,n=>{var{typed:e,config:t,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:u}=n,s=xr({typed:e,equalScalar:a}),l=cr({typed:e,DenseMatrix:u}),c=pn({typed:e}),f=bY({typed:e,config:t,round:r});return e("ceil",{number:f.signatures.number,"number,number":f.signatures["number,number"],Complex:function(m){return m.ceil()},"Complex, number":function(m,h){return m.ceil(h)},"Complex, BigNumber":function(m,h){return m.ceil(h.toNumber())},BigNumber:function(m){return gn(m,r(m),t.epsilon)?r(m):m.ceil()},"BigNumber, BigNumber":function(m,h){return gn(m,r(m,h),t.epsilon)?r(m,h):m.toDecimalPlaces(h.toNumber(),tu.ROUND_CEIL)},Fraction:function(m){return m.ceil()},"Fraction, number":function(m,h){return m.ceil(h)},"Fraction, BigNumber":function(m,h){return m.ceil(h.toNumber())},"Array | Matrix":e.referToSelf(p=>m=>lt(m,p,!0)),"Array, number | BigNumber":e.referToSelf(p=>(m,h)=>lt(m,d=>p(d,h),!0)),"SparseMatrix, number | BigNumber":e.referToSelf(p=>(m,h)=>s(m,h,p,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(p=>(m,h)=>c(m,h,p,!1)),"number | Complex | Fraction | BigNumber, Array":e.referToSelf(p=>(m,h)=>c(i(h),m,p,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":e.referToSelf(p=>(m,h)=>a(m,0)?o(h.size(),h.storage()):h.storage()==="dense"?c(h,m,p,!0):l(h,m,p,!0))})});var aC="cube",xY=["typed"],$0=T(aC,xY,n=>{var{typed:e}=n;return e(aC,{number:Ay,Complex:function(r){return r.mul(r).mul(r)},BigNumber:function(r){return r.times(r).times(r)},Fraction:function(r){return r.pow(3)},Unit:function(r){return r.pow(3)}})});var oC="exp",wY=["typed"],H0=T(oC,wY,n=>{var{typed:e}=n;return e(oC,{number:My,Complex:function(r){return r.exp()},BigNumber:function(r){return r.exp()}})});var sC="expm1",_Y=["typed","Complex"],G0=T(sC,_Y,n=>{var{typed:e,Complex:t}=n;return e(sC,{number:Ey,Complex:function(i){var a=Math.exp(i.re);return new t(a*Math.cos(i.im)-1,a*Math.sin(i.im))},BigNumber:function(i){return i.exp().minus(1)}})});var W0="fix",SY=["typed","Complex","matrix","ceil","floor","equalScalar","zeros","DenseMatrix"],AY=T(W0,["typed","ceil","floor"],n=>{var{typed:e,ceil:t,floor:r}=n;return e(W0,{number:function(a){return a>0?r(a):t(a)},"number, number":function(a,o){return a>0?r(a,o):t(a,o)}})}),Y0=T(W0,SY,n=>{var{typed:e,Complex:t,matrix:r,ceil:i,floor:a,equalScalar:o,zeros:u,DenseMatrix:s}=n,l=cr({typed:e,DenseMatrix:s}),c=pn({typed:e}),f=AY({typed:e,ceil:i,floor:a});return e("fix",{number:f.signatures.number,"number, number | BigNumber":f.signatures["number,number"],Complex:function(m){return new t(m.re>0?Math.floor(m.re):Math.ceil(m.re),m.im>0?Math.floor(m.im):Math.ceil(m.im))},"Complex, number":function(m,h){return new t(m.re>0?a(m.re,h):i(m.re,h),m.im>0?a(m.im,h):i(m.im,h))},"Complex, BigNumber":function(m,h){var d=h.toNumber();return new t(m.re>0?a(m.re,d):i(m.re,d),m.im>0?a(m.im,d):i(m.im,d))},BigNumber:function(m){return m.isNegative()?i(m):a(m)},"BigNumber, number | BigNumber":function(m,h){return m.isNegative()?i(m,h):a(m,h)},Fraction:function(m){return m.s<0?m.ceil():m.floor()},"Fraction, number | BigNumber":function(m,h){return m.s<0?i(m,h):a(m,h)},"Array | Matrix":e.referToSelf(p=>m=>lt(m,p,!0)),"Array | Matrix, number | BigNumber":e.referToSelf(p=>(m,h)=>lt(m,d=>p(d,h),!0)),"number | Complex | Fraction | BigNumber, Array":e.referToSelf(p=>(m,h)=>c(r(h),m,p,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":e.referToSelf(p=>(m,h)=>o(m,0)?u(h.size(),h.storage()):h.storage()==="dense"?c(h,m,p,!0):l(h,m,p,!0))})});var j0="floor",MY=["typed","config","round","matrix","equalScalar","zeros","DenseMatrix"],EY=T(j0,["typed","config","round"],n=>{var{typed:e,config:t,round:r}=n;return e(j0,{number:function(a){return Jr(a,r(a),t.epsilon)?r(a):Math.floor(a)},"number, number":function(a,o){if(Jr(a,r(a,o),t.epsilon))return r(a,o);var[u,s]="".concat(a,"e").split("e"),l=Math.floor(Number("".concat(u,"e").concat(Number(s)+o)));return[u,s]="".concat(l,"e").split("e"),Number("".concat(u,"e").concat(Number(s)-o))}})}),Fc=T(j0,MY,n=>{var{typed:e,config:t,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:u}=n,s=xr({typed:e,equalScalar:a}),l=cr({typed:e,DenseMatrix:u}),c=pn({typed:e}),f=EY({typed:e,config:t,round:r});return e("floor",{number:f.signatures.number,"number,number":f.signatures["number,number"],Complex:function(m){return m.floor()},"Complex, number":function(m,h){return m.floor(h)},"Complex, BigNumber":function(m,h){return m.floor(h.toNumber())},BigNumber:function(m){return gn(m,r(m),t.epsilon)?r(m):m.floor()},"BigNumber, BigNumber":function(m,h){return gn(m,r(m,h),t.epsilon)?r(m,h):m.toDecimalPlaces(h.toNumber(),tu.ROUND_FLOOR)},Fraction:function(m){return m.floor()},"Fraction, number":function(m,h){return m.floor(h)},"Fraction, BigNumber":function(m,h){return m.floor(h.toNumber())},"Array | Matrix":e.referToSelf(p=>m=>lt(m,p,!0)),"Array, number | BigNumber":e.referToSelf(p=>(m,h)=>lt(m,d=>p(d,h),!0)),"SparseMatrix, number | BigNumber":e.referToSelf(p=>(m,h)=>s(m,h,p,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(p=>(m,h)=>c(m,h,p,!1)),"number | Complex | Fraction | BigNumber, Array":e.referToSelf(p=>(m,h)=>c(i(h),m,p,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":e.referToSelf(p=>(m,h)=>a(m,0)?o(h.size(),h.storage()):h.storage()==="dense"?c(h,m,p,!0):l(h,m,p,!0))})});var DY="matAlgo02xDS0",NY=["typed","equalScalar"],mn=T(DY,NY,n=>{var{typed:e,equalScalar:t}=n;return function(i,a,o,u){var s=i._data,l=i._size,c=i._datatype||i.getDataType(),f=a._values,p=a._index,m=a._ptr,h=a._size,d=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(l.length!==h.length)throw new Dt(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(!f)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var g=l[0],y=l[1],S,b=t,w=0,A=o;typeof c=="string"&&c===d&&c!=="mixed"&&(S=c,b=e.find(t,[S,S]),w=e.convert(0,S),A=e.find(o,[S,S]));for(var x=[],D=[],E=[],_=0;_{var{typed:e}=n;return function(r,i,a,o){var u=r._data,s=r._size,l=r._datatype||r.getDataType(),c=i._values,f=i._index,p=i._ptr,m=i._size,h=i._datatype||i._data===void 0?i._datatype:i.getDataType();if(s.length!==m.length)throw new Dt(s.length,m.length);if(s[0]!==m[0]||s[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+m+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var d=s[0],g=s[1],y,S=0,b=a;typeof l=="string"&&l===h&&l!=="mixed"&&(y=l,S=e.convert(0,y),b=e.find(a,[y,y]));for(var w=[],A=0;A{var{typed:e,equalScalar:t}=n;return function(i,a,o){var u=i._values,s=i._index,l=i._ptr,c=i._size,f=i._datatype||i._data===void 0?i._datatype:i.getDataType(),p=a._values,m=a._index,h=a._ptr,d=a._size,g=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==d.length)throw new Dt(c.length,d.length);if(c[0]!==d[0]||c[1]!==d[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+d+")");var y=c[0],S=c[1],b,w=t,A=0,x=o;typeof f=="string"&&f===g&&f!=="mixed"&&(b=f,w=e.find(t,[b,b]),A=e.convert(0,b),x=e.find(o,[b,b]));var D=u&&p?[]:void 0,E=[],_=[],N=D?[]:void 0,P=D?[]:void 0,B=[],V=[],z,L,k,C;for(L=0;L{var{typed:e}=n;return function(i,a,o){var u=i._data,s=i._size,l=i._datatype,c=a._data,f=a._size,p=a._datatype,m=[];if(s.length!==f.length)throw new Dt(s.length,f.length);for(var h=0;h0?t(g,0,m,m[0],u,c):[];return i.createDenseMatrix({data:y,size:m,datatype:d})};function t(r,i,a,o,u,s){var l=[];if(i===a.length-1)for(var c=0;c{var{concat:e}=n;return function(i,a){var o=Math.max(i._size.length,a._size.length);if(i._size.length===a._size.length&&i._size.every((h,d)=>h===a._size[d]))return[i,a];for(var u=t(i._size,o,0),s=t(a._size,o,0),l=[],c=0;c{var{typed:e,matrix:t,concat:r}=n,i=uC({typed:e}),a=pn({typed:e}),o=lC({concat:r});return function(s){var l=s.elop,c=s.SD||s.DS,f;l?(f={"DenseMatrix, DenseMatrix":(d,g)=>i(...o(d,g),l),"Array, Array":(d,g)=>i(...o(t(d),t(g)),l).valueOf(),"Array, DenseMatrix":(d,g)=>i(...o(t(d),g),l),"DenseMatrix, Array":(d,g)=>i(...o(d,t(g)),l)},s.SS&&(f["SparseMatrix, SparseMatrix"]=(d,g)=>s.SS(...o(d,g),l,!1)),s.DS&&(f["DenseMatrix, SparseMatrix"]=(d,g)=>s.DS(...o(d,g),l,!1),f["Array, SparseMatrix"]=(d,g)=>s.DS(...o(t(d),g),l,!1)),c&&(f["SparseMatrix, DenseMatrix"]=(d,g)=>c(...o(g,d),l,!0),f["SparseMatrix, Array"]=(d,g)=>c(...o(t(g),d),l,!0))):(f={"DenseMatrix, DenseMatrix":e.referToSelf(d=>(g,y)=>i(...o(g,y),d)),"Array, Array":e.referToSelf(d=>(g,y)=>i(...o(t(g),t(y)),d).valueOf()),"Array, DenseMatrix":e.referToSelf(d=>(g,y)=>i(...o(t(g),y),d)),"DenseMatrix, Array":e.referToSelf(d=>(g,y)=>i(...o(g,t(y)),d))},s.SS&&(f["SparseMatrix, SparseMatrix"]=e.referToSelf(d=>(g,y)=>s.SS(...o(g,y),d,!1))),s.DS&&(f["DenseMatrix, SparseMatrix"]=e.referToSelf(d=>(g,y)=>s.DS(...o(g,y),d,!1)),f["Array, SparseMatrix"]=e.referToSelf(d=>(g,y)=>s.DS(...o(t(g),y),d,!1))),c&&(f["SparseMatrix, DenseMatrix"]=e.referToSelf(d=>(g,y)=>c(...o(y,g),d,!0)),f["SparseMatrix, Array"]=e.referToSelf(d=>(g,y)=>c(...o(t(y),g),d,!0))));var p=s.scalar||"any",m=s.Ds||s.Ss;m&&(l?(f["DenseMatrix,"+p]=(d,g)=>a(d,g,l,!1),f[p+", DenseMatrix"]=(d,g)=>a(g,d,l,!0),f["Array,"+p]=(d,g)=>a(t(d),g,l,!1).valueOf(),f[p+", Array"]=(d,g)=>a(t(g),d,l,!0).valueOf()):(f["DenseMatrix,"+p]=e.referToSelf(d=>(g,y)=>a(g,y,d,!1)),f[p+", DenseMatrix"]=e.referToSelf(d=>(g,y)=>a(y,g,d,!0)),f["Array,"+p]=e.referToSelf(d=>(g,y)=>a(t(g),y,d,!1).valueOf()),f[p+", Array"]=e.referToSelf(d=>(g,y)=>a(t(y),g,d,!0).valueOf())));var h=s.sS!==void 0?s.sS:s.Ss;return l?(s.Ss&&(f["SparseMatrix,"+p]=(d,g)=>s.Ss(d,g,l,!1)),h&&(f[p+", SparseMatrix"]=(d,g)=>h(g,d,l,!0))):(s.Ss&&(f["SparseMatrix,"+p]=e.referToSelf(d=>(g,y)=>s.Ss(g,y,d,!1))),h&&(f[p+", SparseMatrix"]=e.referToSelf(d=>(g,y)=>h(y,g,d,!0)))),l&&l.signatures&&dm(f,l.signatures),f}});var cC="mod",VY=["typed","config","round","matrix","equalScalar","zeros","DenseMatrix","concat"],Ic=T(cC,VY,n=>{var{typed:e,config:t,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:u,concat:s}=n,l=Fc({typed:e,config:t,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:u}),c=mn({typed:e,equalScalar:a}),f=kr({typed:e}),p=ms({typed:e,equalScalar:a}),m=xr({typed:e,equalScalar:a}),h=cr({typed:e,DenseMatrix:u}),d=Ct({typed:e,matrix:i,concat:s});return e(cC,{"number, number":g,"BigNumber, BigNumber":function(S,b){return b.isZero()?S:S.sub(b.mul(l(S.div(b))))},"Fraction, Fraction":function(S,b){return b.equals(0)?S:S.sub(b.mul(l(S.div(b))))}},d({SS:p,DS:f,SD:c,Ss:m,sS:h}));function g(y,S){return S===0?y:y-S*l(y/S)}});var UY="matAlgo01xDSid",qY=["typed"],ti=T(UY,qY,n=>{var{typed:e}=n;return function(r,i,a,o){var u=r._data,s=r._size,l=r._datatype||r.getDataType(),c=i._values,f=i._index,p=i._ptr,m=i._size,h=i._datatype||i._data===void 0?i._datatype:i.getDataType();if(s.length!==m.length)throw new Dt(s.length,m.length);if(s[0]!==m[0]||s[1]!==m[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+m+")");if(!c)throw new Error("Cannot perform operation on Dense Matrix and Pattern Sparse Matrix");var d=s[0],g=s[1],y=typeof l=="string"&&l!=="mixed"&&l===h?l:void 0,S=y?e.find(a,[y,y]):a,b,w,A=[];for(b=0;b{var{typed:e,equalScalar:t}=n;return function(i,a,o){var u=i._values,s=i._index,l=i._ptr,c=i._size,f=i._datatype||i._data===void 0?i._datatype:i.getDataType(),p=a._values,m=a._index,h=a._ptr,d=a._size,g=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==d.length)throw new Dt(c.length,d.length);if(c[0]!==d[0]||c[1]!==d[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+d+")");var y=c[0],S=c[1],b,w=t,A=0,x=o;typeof f=="string"&&f===g&&f!=="mixed"&&(b=f,w=e.find(t,[b,b]),A=e.convert(0,b),x=e.find(o,[b,b]));var D=u&&p?[]:void 0,E=[],_=[],N=u&&p?[]:void 0,P=u&&p?[]:void 0,B=[],V=[],z,L,k,C,W;for(L=0;L{var{typed:e,DenseMatrix:t}=n;return function(i,a,o,u){var s=i._values,l=i._index,c=i._ptr,f=i._size,p=i._datatype;if(!s)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var m=f[0],h=f[1],d,g=o;typeof p=="string"&&(d=p,a=e.convert(a,d),g=e.find(o,[d,d]));for(var y=[],S=[],b=[],w=0;wArray.isArray(e))}var J0=T(fC,WY,n=>{var{typed:e,matrix:t,config:r,round:i,equalScalar:a,zeros:o,BigNumber:u,DenseMatrix:s,concat:l}=n,c=Ic({typed:e,config:r,round:i,matrix:t,equalScalar:a,zeros:o,DenseMatrix:s,concat:l}),f=ti({typed:e}),p=gl({typed:e,equalScalar:a}),m=Ti({typed:e,DenseMatrix:s}),h=Ct({typed:e,matrix:t,concat:l});return e(fC,{"number, number":d,"BigNumber, BigNumber":g,"Fraction, Fraction":(y,S)=>y.gcd(S)},h({SS:p,DS:f,Ss:m}),{[YY]:e.referToSelf(y=>(S,b,w)=>{for(var A=y(S,b),x=0;xS=>{if(S.length===1&&Array.isArray(S[0])&&pC(S[0]))return y(...S[0]);if(pC(S))return y(...S);throw new To("gcd() supports only 1d matrices!")}),Matrix:e.referToSelf(y=>S=>y(S.toArray()))});function d(y,S){if(!nt(y)||!nt(S))throw new Error("Parameters in function gcd must be integer numbers");for(var b;S!==0;)b=c(y,S),y=S,S=b;return y<0?-y:y}function g(y,S){if(!y.isInt()||!S.isInt())throw new Error("Parameters in function gcd must be integer numbers");for(var b=new u(0);!S.isZero();){var w=c(y,S);y=S,S=w}return y.lt(b)?y.neg():y}});var jY="matAlgo06xS0S0",ZY=["typed","equalScalar"],ds=T(jY,ZY,n=>{var{typed:e,equalScalar:t}=n;return function(i,a,o){var u=i._values,s=i._size,l=i._datatype||i._data===void 0?i._datatype:i.getDataType(),c=a._values,f=a._size,p=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(s.length!==f.length)throw new Dt(s.length,f.length);if(s[0]!==f[0]||s[1]!==f[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+f+")");var m=s[0],h=s[1],d,g=t,y=0,S=o;typeof l=="string"&&l===p&&l!=="mixed"&&(d=l,g=e.find(t,[d,d]),y=e.convert(0,d),S=e.find(o,[d,d]));for(var b=u&&c?[]:void 0,w=[],A=[],x=b?[]:void 0,D=[],E=[],_=0;_{var{typed:e,matrix:t,equalScalar:r,concat:i}=n,a=mn({typed:e,equalScalar:r}),o=ds({typed:e,equalScalar:r}),u=xr({typed:e,equalScalar:r}),s=Ct({typed:e,matrix:t,concat:i}),l="number | BigNumber | Fraction | Matrix | Array",c={};return c["".concat(l,", ").concat(l,", ...").concat(l)]=e.referToSelf(p=>(m,h,d)=>{for(var g=p(m,h),y=0;yp.lcm(m)},s({SS:o,DS:a,Ss:u}),c);function f(p,m){if(!p.isInt()||!m.isInt())throw new Error("Parameters in function lcm must be integer numbers");if(p.isZero())return p;if(m.isZero())return m;for(var h=p.times(m);!m.isZero();){var d=m;m=p.mod(d),p=d}return h.div(p).abs()}});var dC="log10",XY=["typed","config","Complex"],Q0=T(dC,XY,n=>{var{typed:e,config:t,Complex:r}=n;return e(dC,{number:function(a){return a>=0||t.predictable?Ny(a):new r(a,0).log().div(Math.LN10)},Complex:function(a){return new r(a).log().div(Math.LN10)},BigNumber:function(a){return!a.isNegative()||t.predictable?a.log():new r(a.toNumber(),0).log().div(Math.LN10)},"Array | Matrix":e.referToSelf(i=>a=>lt(a,i))})});var hC="log2",QY=["typed","config","Complex"],K0=T(hC,QY,n=>{var{typed:e,config:t,Complex:r}=n;return e(hC,{number:function(o){return o>=0||t.predictable?Ty(o):i(new r(o,0))},Complex:i,BigNumber:function(o){return!o.isNegative()||t.predictable?o.log(2):i(new r(o.toNumber(),0))},"Array | Matrix":e.referToSelf(a=>o=>lt(o,a))});function i(a){var o=Math.sqrt(a.re*a.re+a.im*a.im);return new r(Math.log2?Math.log2(o):Math.log(o)/Math.LN2,Math.atan2(a.im,a.re)/Math.LN2)}});var KY="multiplyScalar",ej=["typed"],eb=T(KY,ej,n=>{var{typed:e}=n;return e("multiplyScalar",{"number, number":wy,"Complex, Complex":function(r,i){return r.mul(i)},"BigNumber, BigNumber":function(r,i){return r.times(i)},"Fraction, Fraction":function(r,i){return r.mul(i)},"number | Fraction | BigNumber | Complex, Unit":(t,r)=>r.multiply(t),"Unit, number | Fraction | BigNumber | Complex | Unit":(t,r)=>t.multiply(r)})});var gC="multiply",tj=["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],tb=T(gC,tj,n=>{var{typed:e,matrix:t,addScalar:r,multiplyScalar:i,equalScalar:a,dot:o}=n,u=xr({typed:e,equalScalar:a}),s=pn({typed:e});function l(A,x){switch(A.length){case 1:switch(x.length){case 1:if(A[0]!==x[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(A[0]!==x[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+A[0]+") must match Matrix rows ("+x[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+x.length+" dimensions)")}break;case 2:switch(x.length){case 1:if(A[1]!==x[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+A[1]+") must match Vector length ("+x[0]+")");break;case 2:if(A[1]!==x[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+A[1]+") must match Matrix B rows ("+x[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+x.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+A.length+" dimensions)")}}function c(A,x,D){if(D===0)throw new Error("Cannot multiply two empty vectors");return o(A,x)}function f(A,x){if(x.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return p(A,x)}function p(A,x){var D=A._data,E=A._size,_=A._datatype||A.getDataType(),N=x._data,P=x._size,B=x._datatype||x.getDataType(),V=E[0],z=P[1],L,k=r,C=i;_&&B&&_===B&&typeof _=="string"&&_!=="mixed"&&(L=_,k=e.find(r,[L,L]),C=e.find(i,[L,L]));for(var W=[],O=0;O_e)for(var Se=0,Me=0;Me(x,D)=>{l(_t(x),_t(D));var E=A(t(x),t(D));return ot(E)?E.valueOf():E}),"Matrix, Matrix":function(x,D){var E=x.size(),_=D.size();return l(E,_),E.length===1?_.length===1?c(x,D,E[0]):f(x,D):_.length===1?m(x,D):h(x,D)},"Matrix, Array":e.referTo("Matrix,Matrix",A=>(x,D)=>A(x,t(D))),"Array, Matrix":e.referToSelf(A=>(x,D)=>A(t(x,D.storage()),D)),"SparseMatrix, any":function(x,D){return u(x,D,i,!1)},"DenseMatrix, any":function(x,D){return s(x,D,i,!1)},"any, SparseMatrix":function(x,D){return u(D,x,i,!0)},"any, DenseMatrix":function(x,D){return s(D,x,i,!0)},"Array, any":function(x,D){return s(t(x),D,i,!1).valueOf()},"any, Array":function(x,D){return s(t(D),x,i,!0).valueOf()},"any, any":i,"any, any, ...any":e.referToSelf(A=>(x,D,E)=>{for(var _=A(x,D),N=0;N{var{typed:e,matrix:t,equalScalar:r,BigNumber:i,concat:a}=n,o=ti({typed:e}),u=mn({typed:e,equalScalar:r}),s=ds({typed:e,equalScalar:r}),l=xr({typed:e,equalScalar:r}),c=Ct({typed:e,matrix:t,concat:a});function f(){throw new Error("Complex number not supported in function nthRoot. Use nthRoots instead.")}return e(vC,{number:Cy,"number, number":Cy,BigNumber:m=>p(m,new i(2)),"BigNumber, BigNumber":p,Complex:f,"Complex, number":f,Array:e.referTo("DenseMatrix,number",m=>h=>m(t(h),2).valueOf()),DenseMatrix:e.referTo("DenseMatrix,number",m=>h=>m(h,2)),SparseMatrix:e.referTo("SparseMatrix,number",m=>h=>m(h,2)),"SparseMatrix, SparseMatrix":e.referToSelf(m=>(h,d)=>{if(d.density()===1)return s(h,d,m);throw new Error("Root must be non-zero")}),"DenseMatrix, SparseMatrix":e.referToSelf(m=>(h,d)=>{if(d.density()===1)return o(h,d,m,!1);throw new Error("Root must be non-zero")}),"Array, SparseMatrix":e.referTo("DenseMatrix,SparseMatrix",m=>(h,d)=>m(t(h),d)),"number | BigNumber, SparseMatrix":e.referToSelf(m=>(h,d)=>{if(d.density()===1)return l(d,h,m,!0);throw new Error("Root must be non-zero")})},c({scalar:"number | BigNumber",SD:u,Ss:l,sS:!1}));function p(m,h){var d=i.precision,g=i.clone({precision:d+2}),y=new i(0),S=new g(1),b=h.isNegative();if(b&&(h=h.neg()),h.isZero())throw new Error("Root must be non-zero");if(m.isNegative()&&!h.abs().mod(2).equals(1))throw new Error("Root must be odd when a is negative.");if(m.isZero())return b?new g(1/0):0;if(!m.isFinite())return b?y:m;var w=m.abs().pow(S.div(h));return w=m.isNeg()?w.neg():w,new i((b?S.div(w):w).toPrecision(d))}});var yC="sign",nj=["typed","BigNumber","Fraction","complex"],nb=T(yC,nj,n=>{var{typed:e,BigNumber:t,complex:r,Fraction:i}=n;return e(yC,{number:km,Complex:function(o){return o.im===0?r(km(o.re)):o.sign()},BigNumber:function(o){return new t(o.cmp(0))},Fraction:function(o){return new i(o.s,1)},"Array | Matrix":e.referToSelf(a=>o=>lt(o,a,!0)),Unit:e.referToSelf(a=>o=>{if(!o._isDerived()&&o.units[0].unit.offset!==0)throw new TypeError("sign is ambiguous for units with offset");return e.find(a,o.valueType())(o.value)})})});var ij="sqrt",aj=["config","typed","Complex"],ib=T(ij,aj,n=>{var{config:e,typed:t,Complex:r}=n;return t("sqrt",{number:i,Complex:function(o){return o.sqrt()},BigNumber:function(o){return!o.isNegative()||e.predictable?o.sqrt():i(o.toNumber())},Unit:function(o){return o.pow(.5)}});function i(a){return isNaN(a)?NaN:a>=0||e.predictable?Math.sqrt(a):new r(a,0).sqrt()}});var bC="square",oj=["typed"],ab=T(bC,oj,n=>{var{typed:e}=n;return e(bC,{number:Fy,Complex:function(r){return r.mul(r)},BigNumber:function(r){return r.times(r)},Fraction:function(r){return r.mul(r)},Unit:function(r){return r.pow(2)}})});var xC="subtract",sj=["typed","matrix","equalScalar","subtractScalar","unaryMinus","DenseMatrix","concat"],ob=T(xC,sj,n=>{var{typed:e,matrix:t,equalScalar:r,subtractScalar:i,unaryMinus:a,DenseMatrix:o,concat:u}=n,s=ti({typed:e}),l=kr({typed:e}),c=ms({typed:e,equalScalar:r}),f=Ti({typed:e,DenseMatrix:o}),p=cr({typed:e,DenseMatrix:o}),m=Ct({typed:e,matrix:t,concat:u});return e(xC,{"any, any":i},m({elop:i,SS:c,DS:s,SD:l,Ss:p,sS:f}))});var wC="xgcd",uj=["typed","config","matrix","BigNumber"],sb=T(wC,uj,n=>{var{typed:e,config:t,matrix:r,BigNumber:i}=n;return e(wC,{"number, number":function(u,s){var l=Iy(u,s);return t.matrix==="Array"?l:r(l)},"BigNumber, BigNumber":a});function a(o,u){var s,l,c,f=new i(0),p=new i(1),m=f,h=p,d=p,g=f;if(!o.isInt()||!u.isInt())throw new Error("Parameters in function xgcd must be integer numbers");for(;!u.isZero();)l=o.div(u).floor(),c=o.mod(u),s=m,m=h.minus(l.times(m)),h=s,s=d,d=g.minus(l.times(d)),g=s,o=u,u=c;var y;return o.lt(f)?y=[o.neg(),h.neg(),g.neg()]:y=[o,o.isZero()?0:h,g],t.matrix==="Array"?y:r(y)}});var _C="invmod",lj=["typed","config","BigNumber","xgcd","equal","smaller","mod","add","isInteger"],ub=T(_C,lj,n=>{var{typed:e,config:t,BigNumber:r,xgcd:i,equal:a,smaller:o,mod:u,add:s,isInteger:l}=n;return e(_C,{"number, number":c,"BigNumber, BigNumber":c});function c(f,p){if(!l(f)||!l(p))throw new Error("Parameters in function invmod must be integer numbers");if(f=u(f,p),a(p,0))throw new Error("Divisor must be non zero");var m=i(f,p);m=m.valueOf();var[h,d]=m;return a(h,r(1))?(d=u(d,p),o(d,r(0))&&(d=s(d,p)),d):NaN}});var cj="matAlgo09xS0Sf",fj=["typed","equalScalar"],Rm=T(cj,fj,n=>{var{typed:e,equalScalar:t}=n;return function(i,a,o){var u=i._values,s=i._index,l=i._ptr,c=i._size,f=i._datatype||i._data===void 0?i._datatype:i.getDataType(),p=a._values,m=a._index,h=a._ptr,d=a._size,g=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==d.length)throw new Dt(c.length,d.length);if(c[0]!==d[0]||c[1]!==d[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+d+")");var y=c[0],S=c[1],b,w=t,A=0,x=o;typeof f=="string"&&f===g&&f!=="mixed"&&(b=f,w=e.find(t,[b,b]),A=e.convert(0,b),x=e.find(o,[b,b]));var D=u&&p?[]:void 0,E=[],_=[],N=D?[]:void 0,P=[],B,V,z,L,k;for(V=0;V{var{typed:e,matrix:t,equalScalar:r,multiplyScalar:i,concat:a}=n,o=mn({typed:e,equalScalar:r}),u=Rm({typed:e,equalScalar:r}),s=xr({typed:e,equalScalar:r}),l=Ct({typed:e,matrix:t,concat:a});return e(SC,l({elop:i,SS:u,DS:o,Ss:s}))});function AC(n,e){if(n.isFinite()&&!n.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitAnd");var t=n.constructor;if(n.isNaN()||e.isNaN())return new t(NaN);if(n.isZero()||e.eq(-1)||n.eq(e))return n;if(e.isZero()||n.eq(-1))return e;if(!n.isFinite()||!e.isFinite()){if(!n.isFinite()&&!e.isFinite())return n.isNegative()===e.isNegative()?n:new t(0);if(!n.isFinite())return e.isNegative()?n:n.isNegative()?new t(0):e;if(!e.isFinite())return n.isNegative()?e:e.isNegative()?new t(0):n}return cb(n,e,function(r,i){return r&i})}function vl(n){if(n.isFinite()&&!n.isInteger())throw new Error("Integer expected in function bitNot");var e=n.constructor,t=e.precision;e.config({precision:1e9});var r=n.plus(new e(1));return r.s=-r.s||null,e.config({precision:t}),r}function MC(n,e){if(n.isFinite()&&!n.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitOr");var t=n.constructor;if(n.isNaN()||e.isNaN())return new t(NaN);var r=new t(-1);return n.isZero()||e.eq(r)||n.eq(e)?e:e.isZero()||n.eq(r)?n:!n.isFinite()||!e.isFinite()?!n.isFinite()&&!n.isNegative()&&e.isNegative()||n.isNegative()&&!e.isNegative()&&!e.isFinite()?r:n.isNegative()&&e.isNegative()?n.isFinite()?n:e:n.isFinite()?e:n:cb(n,e,function(i,a){return i|a})}function cb(n,e,t){var r=n.constructor,i,a,o=+(n.s<0),u=+(e.s<0);if(o){i=Lm(vl(n));for(var s=0;s0;)t(c[--m],f[--h])===d&&(g=g.plus(y)),y=y.times(S);for(;h>0;)t(p,f[--h])===d&&(g=g.plus(y)),y=y.times(S);return r.config({precision:b}),d===0&&(g.s=-g.s),g}function Lm(n){for(var e=n.d,t=e[0]+"",r=1;r0)if(++u>l)for(u-=l;u--;)s+="0";else u1&&((c[m+1]===null||c[m+1]===void 0)&&(c[m+1]=0),c[m+1]+=c[m]>>1,c[m]&=1)}return c.reverse()}function EC(n,e){if(n.isFinite()&&!n.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function bitXor");var t=n.constructor;if(n.isNaN()||e.isNaN())return new t(NaN);if(n.isZero())return e;if(e.isZero())return n;if(n.eq(e))return new t(0);var r=new t(-1);return n.eq(r)?vl(e):e.eq(r)?vl(n):!n.isFinite()||!e.isFinite()?!n.isFinite()&&!e.isFinite()?r:new t(n.isNegative()===e.isNegative()?1/0:-1/0):cb(n,e,function(i,a){return i^a})}function DC(n,e){if(n.isFinite()&&!n.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function leftShift");var t=n.constructor;return n.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new t(NaN):n.isZero()||e.isZero()?n:!n.isFinite()&&!e.isFinite()?new t(NaN):e.lt(55)?n.times(Math.pow(2,e.toNumber())+""):n.times(new t(2).pow(e))}function NC(n,e){if(n.isFinite()&&!n.isInteger()||e.isFinite()&&!e.isInteger())throw new Error("Integers expected in function rightArithShift");var t=n.constructor;return n.isNaN()||e.isNaN()||e.isNegative()&&!e.isZero()?new t(NaN):n.isZero()||e.isZero()?n:e.isFinite()?e.lt(55)?n.div(Math.pow(2,e.toNumber())+"").floor():n.div(new t(2).pow(e)).floor():n.isNegative()?new t(-1):n.isFinite()?new t(0):new t(NaN)}var TC="bitAnd",mj=["typed","matrix","equalScalar","concat"],Pc=T(TC,mj,n=>{var{typed:e,matrix:t,equalScalar:r,concat:i}=n,a=mn({typed:e,equalScalar:r}),o=ds({typed:e,equalScalar:r}),u=xr({typed:e,equalScalar:r}),s=Ct({typed:e,matrix:t,concat:i});return e(TC,{"number, number":ky,"BigNumber, BigNumber":AC},s({SS:o,DS:a,Ss:u}))});var CC="bitNot",dj=["typed"],fb=T(CC,dj,n=>{var{typed:e}=n;return e(CC,{number:By,BigNumber:vl,"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var FC="bitOr",hj=["typed","matrix","equalScalar","DenseMatrix","concat"],kc=T(FC,hj,n=>{var{typed:e,matrix:t,equalScalar:r,DenseMatrix:i,concat:a}=n,o=ti({typed:e}),u=gl({typed:e,equalScalar:r}),s=Ti({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:t,concat:a});return e(FC,{"number, number":Oy,"BigNumber, BigNumber":MC},l({SS:u,DS:o,Ss:s}))});var gj="matAlgo07xSSf",vj=["typed","DenseMatrix"],Mn=T(gj,vj,n=>{var{typed:e,DenseMatrix:t}=n;return function(a,o,u){var s=a._size,l=a._datatype||a._data===void 0?a._datatype:a.getDataType(),c=o._size,f=o._datatype||o._data===void 0?o._datatype:o.getDataType();if(s.length!==c.length)throw new Dt(s.length,c.length);if(s[0]!==c[0]||s[1]!==c[1])throw new RangeError("Dimension mismatch. Matrix A ("+s+") must match Matrix B ("+c+")");var p=s[0],m=s[1],h,d=0,g=u;typeof l=="string"&&l===f&&l!=="mixed"&&(h=l,d=e.convert(0,h),g=e.find(u,[h,h]));var y,S,b=[];for(y=0;y{var{typed:e,matrix:t,DenseMatrix:r,concat:i}=n,a=kr({typed:e}),o=Mn({typed:e,DenseMatrix:r}),u=cr({typed:e,DenseMatrix:r}),s=Ct({typed:e,matrix:t,concat:i});return e(IC,{"number, number":Ry,"BigNumber, BigNumber":EC},s({SS:o,DS:a,Ss:u}))});var PC="arg",bj=["typed"],mb=T(PC,bj,n=>{var{typed:e}=n;return e(PC,{number:function(r){return Math.atan2(0,r)},BigNumber:function(r){return r.constructor.atan2(0,r)},Complex:function(r){return r.arg()},"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var kC="conj",xj=["typed"],db=T(kC,xj,n=>{var{typed:e}=n;return e(kC,{"number | BigNumber | Fraction":t=>t,Complex:t=>t.conjugate(),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var BC="im",wj=["typed"],hb=T(BC,wj,n=>{var{typed:e}=n;return e(BC,{number:()=>0,"BigNumber | Fraction":t=>t.mul(0),Complex:t=>t.im,"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var OC="re",_j=["typed"],gb=T(OC,_j,n=>{var{typed:e}=n;return e(OC,{"number | BigNumber | Fraction":t=>t,Complex:t=>t.re,"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var RC="not",Sj=["typed"],vb=T(RC,Sj,n=>{var{typed:e}=n;return e(RC,{"null | undefined":()=>!0,number:$y,Complex:function(r){return r.re===0&&r.im===0},BigNumber:function(r){return r.isZero()||r.isNaN()},Unit:e.referToSelf(t=>r=>e.find(t,r.valueType())(r.value)),"Array | Matrix":e.referToSelf(t=>r=>lt(r,t))})});var LC="or",Aj=["typed","matrix","equalScalar","DenseMatrix","concat"],Bc=T(LC,Aj,n=>{var{typed:e,matrix:t,equalScalar:r,DenseMatrix:i,concat:a}=n,o=kr({typed:e}),u=ms({typed:e,equalScalar:r}),s=cr({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:t,concat:a});return e(LC,{"number, number":Hy,"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()},"Unit, Unit":e.referToSelf(c=>(f,p)=>c(f.value||0,p.value||0))},l({SS:u,DS:o,Ss:s}))});var VC="xor",Mj=["typed","matrix","DenseMatrix","concat"],yb=T(VC,Mj,n=>{var{typed:e,matrix:t,DenseMatrix:r,concat:i}=n,a=kr({typed:e}),o=Mn({typed:e,DenseMatrix:r}),u=cr({typed:e,DenseMatrix:r}),s=Ct({typed:e,matrix:t,concat:i});return e(VC,{"number, number":Gy,"Complex, Complex":function(c,f){return(c.re!==0||c.im!==0)!=(f.re!==0||f.im!==0)},"BigNumber, BigNumber":function(c,f){return(!c.isZero()&&!c.isNaN())!=(!f.isZero()&&!f.isNaN())},"Unit, Unit":e.referToSelf(l=>(c,f)=>l(c.value||0,f.value||0))},s({SS:o,DS:a,Ss:u}))});var UC="concat",Ej=["typed","matrix","isInteger"],Oc=T(UC,Ej,n=>{var{typed:e,matrix:t,isInteger:r}=n;return e(UC,{"...Array | Matrix | number | BigNumber":function(a){var o,u=a.length,s=-1,l,c=!1,f=[];for(o=0;o0&&s>l)throw new $n(s,l+1)}else{var m=vt(p).valueOf(),h=_t(m);if(f[o]=m,l=s,s=h.length-1,o>0&&s!==l)throw new Dt(l+1,s+1)}}if(f.length===0)throw new SyntaxError("At least one matrix expected");for(var d=f.shift();f.length;)d=Yv(d,f.shift(),s);return c?t(d):d},"...string":function(a){return a.join("")}})});var qC="column",Dj=["typed","Index","matrix","range"],Rc=T(qC,Dj,n=>{var{typed:e,Index:t,matrix:r,range:i}=n;return e(qC,{"Matrix, number":a,"Array, number":function(u,s){return a(r(vt(u)),s).valueOf()}});function a(o,u){if(o.size().length!==2)throw new Error("Only two dimensional matrix is supported");br(u,o.size()[1]);var s=i(0,o.size()[0]),l=new t(s,u),c=o.subset(l);return ot(c)?c:r([[c]])}});var zC="count",Nj=["typed","size","prod"],bb=T(zC,Nj,n=>{var{typed:e,size:t,prod:r}=n;return e(zC,{string:function(a){return a.length},"Matrix | Array":function(a){return r(t(a))}})});var $C="cross",Tj=["typed","matrix","subtract","multiply"],xb=T($C,Tj,n=>{var{typed:e,matrix:t,subtract:r,multiply:i}=n;return e($C,{"Matrix, Matrix":function(u,s){return t(a(u.toArray(),s.toArray()))},"Matrix, Array":function(u,s){return t(a(u.toArray(),s))},"Array, Matrix":function(u,s){return t(a(u,s.toArray()))},"Array, Array":a});function a(o,u){var s=Math.max(_t(o).length,_t(u).length);o=sl(o),u=sl(u);var l=_t(o),c=_t(u);if(l.length!==1||c.length!==1||l[0]!==3||c[0]!==3)throw new RangeError("Vectors with length 3 expected (Size A = ["+l.join(", ")+"], B = ["+c.join(", ")+"])");var f=[r(i(o[1],u[2]),i(o[2],u[1])),r(i(o[2],u[0]),i(o[0],u[2])),r(i(o[0],u[1]),i(o[1],u[0]))];return s>1?[f]:f}});var HC="diag",Cj=["typed","matrix","DenseMatrix","SparseMatrix"],wb=T(HC,Cj,n=>{var{typed:e,matrix:t,DenseMatrix:r,SparseMatrix:i}=n;return e(HC,{Array:function(l){return a(l,0,_t(l),null)},"Array, number":function(l,c){return a(l,c,_t(l),null)},"Array, BigNumber":function(l,c){return a(l,c.toNumber(),_t(l),null)},"Array, string":function(l,c){return a(l,0,_t(l),c)},"Array, number, string":function(l,c,f){return a(l,c,_t(l),f)},"Array, BigNumber, string":function(l,c,f){return a(l,c.toNumber(),_t(l),f)},Matrix:function(l){return a(l,0,l.size(),l.storage())},"Matrix, number":function(l,c){return a(l,c,l.size(),l.storage())},"Matrix, BigNumber":function(l,c){return a(l,c.toNumber(),l.size(),l.storage())},"Matrix, string":function(l,c){return a(l,0,l.size(),c)},"Matrix, number, string":function(l,c,f){return a(l,c,l.size(),f)},"Matrix, BigNumber, string":function(l,c,f){return a(l,c.toNumber(),l.size(),f)}});function a(s,l,c,f){if(!nt(l))throw new TypeError("Second parameter in function diag must be an integer");var p=l>0?l:0,m=l<0?-l:0;switch(c.length){case 1:return o(s,l,f,c[0],m,p);case 2:return u(s,l,f,c,m,p)}throw new RangeError("Matrix for function diag must be 2 dimensional")}function o(s,l,c,f,p,m){var h=[f+p,f+m];if(c&&c!=="sparse"&&c!=="dense")throw new TypeError("Unknown matrix type ".concat(c,'"'));var d=c==="sparse"?i.diagonal(h,s,l):r.diagonal(h,s,l);return c!==null?d:d.valueOf()}function u(s,l,c,f,p,m){if(ot(s)){var h=s.diagonal(l);return c!==null?c!==h.storage()?t(h,c):h:h.valueOf()}for(var d=Math.min(f[0]-p,f[1]-m),g=[],y=0;y=2&&d.push("index: ".concat(Kt(t))),m.length>=3&&d.push("array: ".concat(Kt(r))),new TypeError("Function ".concat(i," cannot apply callback arguments ")+"".concat(n.name,"(").concat(d.join(", "),") at index ").concat(JSON.stringify(t)))}else throw new TypeError("Function ".concat(i," cannot apply callback arguments ")+"to function ".concat(n.name,": ").concat(g.message))}}}var Fj="filter",Ij=["typed"],_b=T(Fj,Ij,n=>{var{typed:e}=n;return e("filter",{"Array, function":GC,"Matrix, function":function(r,i){return r.create(GC(r.toArray(),i))},"Array, RegExp":ul,"Matrix, RegExp":function(r,i){return r.create(ul(r.toArray(),i))}})});function GC(n,e){return wm(n,function(t,r,i){return fa(e,t,[r],i,"filter")})}var WC="flatten",Pj=["typed","matrix"],Sb=T(WC,Pj,n=>{var{typed:e,matrix:t}=n;return e(WC,{Array:function(i){return kt(i)},Matrix:function(i){var a=kt(i.toArray());return t(a)}})});var YC="forEach",kj=["typed"],Ab=T(YC,kj,n=>{var{typed:e}=n;return e(YC,{"Array, function":Bj,"Matrix, function":function(r,i){r.forEach(i)}})});function Bj(n,e){var t=function r(i,a){if(Array.isArray(i))as(i,function(o,u){r(o,a.concat(u))});else return fa(e,i,a,n,"forEach")};t(n,[])}var jC="getMatrixDataType",Oj=["typed"],Mb=T(jC,Oj,n=>{var{typed:e}=n;return e(jC,{Array:function(r){return os(r,Kt)},Matrix:function(r){return r.getDataType()}})});var ZC="identity",Rj=["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],Eb=T(ZC,Rj,n=>{var{typed:e,config:t,matrix:r,BigNumber:i,DenseMatrix:a,SparseMatrix:o}=n;return e(ZC,{"":function(){return t.matrix==="Matrix"?r([]):[]},string:function(c){return r(c)},"number | BigNumber":function(c){return s(c,c,t.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(c,f){return s(c,c,f)},"number | BigNumber, number | BigNumber":function(c,f){return s(c,f,t.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(c,f,p){return s(c,f,p)},Array:function(c){return u(c)},"Array, string":function(c,f){return u(c,f)},Matrix:function(c){return u(c.valueOf(),c.storage())},"Matrix, string":function(c,f){return u(c.valueOf(),f)}});function u(l,c){switch(l.length){case 0:return c?r(c):[];case 1:return s(l[0],l[0],c);case 2:return s(l[0],l[1],c);default:throw new Error("Vector containing two values expected")}}function s(l,c,f){var p=pt(l)||pt(c)?i:null;if(pt(l)&&(l=l.toNumber()),pt(c)&&(c=c.toNumber()),!nt(l)||l<1)throw new Error("Parameters in function identity must be positive integers");if(!nt(c)||c<1)throw new Error("Parameters in function identity must be positive integers");var m=p?new i(1):1,h=p?new p(0):0,d=[l,c];if(f){if(f==="sparse")return o.diagonal(d,m,0,h);if(f==="dense")return a.diagonal(d,m,0,h);throw new TypeError('Unknown matrix type "'.concat(f,'"'))}for(var g=Ia([],d,h),y=l{var{typed:e,matrix:t,multiplyScalar:r}=n;return e(JC,{"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(_t(a).length===1&&(a=[a]),_t(o).length===1&&(o=[o]),_t(a).length>2||_t(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=[],s=[];return a.map(function(l){return o.map(function(c){return s=[],u.push(s),l.map(function(f){return c.map(function(p){return s.push(r(f,p))})})})})&&u}});var XC="map",Vj=["typed"],Nb=T(XC,Vj,n=>{var{typed:e}=n;return e(XC,{"Array, function":Uj,"Matrix, function":function(r,i){return r.map(i)}})});function Uj(n,e){var t=function r(i,a){return Array.isArray(i)?i.map(function(o,u){return r(o,a.concat(u))}):fa(e,i,a,n,"map")};return t(n,[])}var QC="diff",qj=["typed","matrix","subtract","number"],Vc=T(QC,qj,n=>{var{typed:e,matrix:t,subtract:r,number:i}=n;return e(QC,{"Array | Matrix":function(c){return ot(c)?t(o(c.toArray())):o(c)},"Array | Matrix, number":function(c,f){if(!nt(f))throw new RangeError("Dimension must be a whole number");return ot(c)?t(a(c.toArray(),f)):a(c,f)},"Array, BigNumber":e.referTo("Array,number",l=>(c,f)=>l(c,i(f))),"Matrix, BigNumber":e.referTo("Matrix,number",l=>(c,f)=>l(c,i(f)))});function a(l,c){if(ot(l)&&(l=l.toArray()),!Array.isArray(l))throw RangeError("Array/Matrix does not have that many dimensions");if(c>0){var f=[];return l.forEach(p=>{f.push(a(p,c-1))}),f}else{if(c===0)return o(l);throw RangeError("Cannot have negative dimension")}}function o(l){for(var c=[],f=l.length,p=1;p{var{typed:e,config:t,matrix:r,BigNumber:i}=n;return e("ones",{"":function(){return t.matrix==="Array"?a([]):a([],"default")},"...number | BigNumber | string":function(l){var c=l[l.length-1];if(typeof c=="string"){var f=l.pop();return a(l,f)}else return t.matrix==="Array"?a(l):a(l,"default")},Array:a,Matrix:function(l){var c=l.storage();return a(l.valueOf(),c)},"Array | Matrix, string":function(l,c){return a(l.valueOf(),c)}});function a(s,l){var c=o(s),f=c?new i(1):1;if(u(s),l){var p=r(l);return s.length>0?p.resize(s,f):p}else{var m=[];return s.length>0?Ia(m,s,f):m}}function o(s){var l=!1;return s.forEach(function(c,f,p){pt(c)&&(l=!0,p[f]=c.toNumber())}),l}function u(s){s.forEach(function(l){if(typeof l!="number"||!nt(l)||l<0)throw new Error("Parameters in function ones must be positive integers")})}});function yl(){throw new Error('No "bignumber" implementation available')}function Vm(){throw new Error('No "fraction" implementation available')}function Um(){throw new Error('No "matrix" implementation available')}var KC="range",Hj=["typed","config","?matrix","?bignumber","smaller","smallerEq","larger","largerEq","add","isPositive"],Uc=T(KC,Hj,n=>{var{typed:e,config:t,matrix:r,bignumber:i,smaller:a,smallerEq:o,larger:u,largerEq:s,add:l,isPositive:c}=n;return e(KC,{string:p,"string, boolean":p,"number, number":function(g,y){return f(m(g,y,1,!1))},"number, number, number":function(g,y,S){return f(m(g,y,S,!1))},"number, number, boolean":function(g,y,S){return f(m(g,y,1,S))},"number, number, number, boolean":function(g,y,S,b){return f(m(g,y,S,b))},"BigNumber, BigNumber":function(g,y){var S=g.constructor;return f(m(g,y,new S(1),!1))},"BigNumber, BigNumber, BigNumber":function(g,y,S){return f(m(g,y,S,!1))},"BigNumber, BigNumber, boolean":function(g,y,S){var b=g.constructor;return f(m(g,y,new b(1),S))},"BigNumber, BigNumber, BigNumber, boolean":function(g,y,S,b){return f(m(g,y,S,b))},"Unit, Unit, Unit":function(g,y,S){return f(m(g,y,S,!1))},"Unit, Unit, Unit, boolean":function(g,y,S,b){return f(m(g,y,S,b))}});function f(d){return t.matrix==="Matrix"?r?r(d):Um():d}function p(d,g){var y=h(d);if(!y)throw new SyntaxError('String "'+d+'" is no valid range');return t.number==="BigNumber"?(i===void 0&&yl(),f(m(i(y.start),i(y.end),i(y.step)),g)):f(m(y.start,y.end,y.step,g))}function m(d,g,y,S){for(var b=[],w=c(y)?S?o:a:S?s:u,A=d;w(A,g);)b.push(A),A=l(A,y);return b}function h(d){var g=d.split(":"),y=g.map(function(b){return Number(b)}),S=y.some(function(b){return isNaN(b)});if(S)return null;switch(y.length){case 2:return{start:y[0],end:y[1],step:1};case 3:return{start:y[0],end:y[2],step:y[1]};default:return null}}});var eF="reshape",Gj=["typed","isInteger","matrix"],Cb=T(eF,Gj,n=>{var{typed:e,isInteger:t}=n;return e(eF,{"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)}),Sc(i,a)}})});var Wj="resize",Yj=["config","matrix"],Fb=T(Wj,Yj,n=>{var{config:e,matrix:t}=n;return function(a,o,u){if(arguments.length!==2&&arguments.length!==3)throw new To("resize",arguments.length,2,3);if(ot(o)&&(o=o.valueOf()),pt(o[0])&&(o=o.map(function(c){return pt(c)?c.toNumber():c})),ot(a))return a.resize(o,u,!0);if(typeof a=="string")return r(a,o,u);var s=Array.isArray(a)?!1:e.matrix!=="Array";if(o.length===0){for(;Array.isArray(a);)a=a[0];return vt(a)}else{Array.isArray(a)||(a=[a]),a=vt(a);var l=Ia(a,o,u);return s?t(l):l}};function r(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 Dt(a.length,1);var u=a[0];if(typeof u!="number"||!nt(u))throw new TypeError("Invalid size, must contain positive integers (size: "+Mt(a)+")");if(i.length>u)return i.substring(0,u);if(i.length{var{typed:e,multiply:t,rotationMatrix:r}=n;return e(tF,{"Array , number | BigNumber | Complex | Unit":function(o,u){i(o,2);var s=t(r(u),o);return s.toArray()},"Matrix , number | BigNumber | Complex | Unit":function(o,u){return i(o,2),t(r(u),o)},"Array, number | BigNumber | Complex | Unit, Array | Matrix":function(o,u,s){i(o,3);var l=t(r(u,s),o);return l},"Matrix, number | BigNumber | Complex | Unit, Array | Matrix":function(o,u,s){return i(o,3),t(r(u,s),o)}});function i(a,o){var u=Array.isArray(a)?_t(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 rF="rotationMatrix",Zj=["typed","config","multiplyScalar","addScalar","unaryMinus","norm","matrix","BigNumber","DenseMatrix","SparseMatrix","cos","sin"],Pb=T(rF,Zj,n=>{var{typed:e,config:t,multiplyScalar:r,addScalar:i,unaryMinus:a,norm:o,BigNumber:u,matrix:s,DenseMatrix:l,SparseMatrix:c,cos:f,sin:p}=n;return e(rF,{"":function(){return t.matrix==="Matrix"?s([]):[]},string:function(b){return s(b)},"number | BigNumber | Complex | Unit":function(b){return m(b,t.matrix==="Matrix"?"dense":void 0)},"number | BigNumber | Complex | Unit, string":function(b,w){return m(b,w)},"number | BigNumber | Complex | Unit, Array":function(b,w){var A=s(w);return h(A),y(b,A,void 0)},"number | BigNumber | Complex | Unit, Matrix":function(b,w){h(w);var A=w.storage()||(t.matrix==="Matrix"?"dense":void 0);return y(b,w,A)},"number | BigNumber | Complex | Unit, Array, string":function(b,w,A){var x=s(w);return h(x),y(b,x,A)},"number | BigNumber | Complex | Unit, Matrix, string":function(b,w,A){return h(w),y(b,w,A)}});function m(S,b){var w=pt(S),A=w?new u(-1):-1,x=f(S),D=p(S),E=[[x,r(A,D)],[D,x]];return g(E,b)}function h(S){var b=S.size();if(b.length<1||b[0]!==3)throw new RangeError("Vector must be of dimensions 1x3")}function d(S){return S.reduce((b,w)=>r(b,w))}function g(S,b){if(b){if(b==="sparse")return new c(S);if(b==="dense")return new l(S);throw new TypeError('Unknown matrix type "'.concat(b,'"'))}return S}function y(S,b,w){var A=o(b);if(A===0)throw new RangeError("Rotation around zero vector");var x=pt(S)?u:null,D=x?new x(1):1,E=x?new x(-1):-1,_=x?new x(b.get([0])/A):b.get([0])/A,N=x?new x(b.get([1])/A):b.get([1])/A,P=x?new x(b.get([2])/A):b.get([2])/A,B=f(S),V=i(D,a(B)),z=p(S),L=i(B,d([_,_,V])),k=i(d([_,N,V]),d([E,P,z])),C=i(d([_,P,V]),d([N,z])),W=i(d([_,N,V]),d([P,z])),O=i(B,d([N,N,V])),H=i(d([N,P,V]),d([E,_,z])),Z=i(d([_,P,V]),d([E,N,z])),Q=i(d([N,P,V]),d([_,z])),U=i(B,d([P,P,V])),me=[[L,k,C],[W,O,H],[Z,Q,U]];return g(me,w)}});var nF="row",Jj=["typed","Index","matrix","range"],qc=T(nF,Jj,n=>{var{typed:e,Index:t,matrix:r,range:i}=n;return e(nF,{"Matrix, number":a,"Array, number":function(u,s){return a(r(vt(u)),s).valueOf()}});function a(o,u){if(o.size().length!==2)throw new Error("Only two dimensional matrix is supported");br(u,o.size()[0]);var s=i(0,o.size()[1]),l=new t(u,s),c=o.subset(l);return ot(c)?c:r([[c]])}});var iF="size",Xj=["typed","config","?matrix"],kb=T(iF,Xj,n=>{var{typed:e,config:t,matrix:r}=n;return e(iF,{Matrix:function(a){return a.create(a.size())},Array:_t,string:function(a){return t.matrix==="Array"?[a.length]:r([a.length])},"number | Complex | BigNumber | Unit | boolean | null":function(a){return t.matrix==="Array"?[]:r?r([]):Um()}})});var aF="squeeze",Qj=["typed","matrix"],Bb=T(aF,Qj,n=>{var{typed:e,matrix:t}=n;return e(aF,{Array:function(i){return sl(vt(i))},Matrix:function(i){var a=sl(i.toArray());return Array.isArray(a)?t(a):a},any:function(i){return vt(i)}})});var oF="subset",Kj=["typed","matrix","zeros","add"],zc=T(oF,Kj,n=>{var{typed:e,matrix:t,zeros:r,add:i}=n;return e(oF,{"Matrix, Index":function(u,s){return Ks(s)?t():(_c(u,s),u.subset(s))},"Array, Index":e.referTo("Matrix, Index",function(o){return function(u,s){var l=o(t(u),s);return s.isScalar()?l:l.valueOf()}}),"Object, Index":tZ,"string, Index":eZ,"Matrix, Index, any, any":function(u,s,l,c){return Ks(s)?u:(_c(u,s),u.clone().subset(s,a(l,s),c))},"Array, Index, any, any":e.referTo("Matrix, Index, any, any",function(o){return function(u,s,l,c){var f=o(t(u),s,l,c);return f.isMatrix?f.valueOf():f}}),"Array, Index, any":e.referTo("Matrix, Index, any, any",function(o){return function(u,s,l){return o(t(u),s,l,void 0).valueOf()}}),"Matrix, Index, any":e.referTo("Matrix, Index, any, any",function(o){return function(u,s,l){return o(u,s,l,void 0)}}),"string, Index, string":sF,"string, Index, string, string":sF,"Object, Index, any":rZ});function a(o,u){if(typeof o=="string")throw new Error("can't boradcast a string");if(u._isScalar)return o;var s=u.size();if(s.every(l=>l>0))try{return i(o,r(s))}catch{return o}else return o}});function eZ(n,e){if(!rs(e))throw new TypeError("Index expected");if(Ks(e))return"";if(_c(Array.from(n),e),e.size().length!==1)throw new Dt(e.size().length,1);var t=n.length;br(e.min()[0],t),br(e.max()[0],t);var r=e.dimension(0),i="";return r.forEach(function(a){i+=n.charAt(a)}),i}function sF(n,e,t,r){if(!e||e.isIndex!==!0)throw new TypeError("Index expected");if(Ks(e))return n;if(_c(Array.from(n),e),e.size().length!==1)throw new Dt(e.size().length,1);if(r!==void 0){if(typeof r!="string"||r.length!==1)throw new TypeError("Single character expected as defaultValue")}else r=" ";var i=e.dimension(0),a=i.size()[0];if(a!==t.length)throw new Dt(i.size()[0],t.length);var o=n.length;br(e.min()[0]),br(e.max()[0]);for(var u=[],s=0;so)for(var l=o-1,c=u.length;l{var{typed:e,matrix:t}=n;return e(uF,{Array:o=>r(t(o)).valueOf(),Matrix:r,any:vt});function r(o){var u=o.size(),s;switch(u.length){case 1:s=o.clone();break;case 2:{var l=u[0],c=u[1];if(c===0)throw new RangeError("Cannot transpose a 2D matrix with no columns (size: "+Mt(u)+")");switch(o.storage()){case"dense":s=i(o,l,c);break;case"sparse":s=a(o,l,c);break}}break;default:throw new RangeError("Matrix must be a vector or two dimensional (size: "+Mt(u)+")")}return s}function i(o,u,s){for(var l=o._data,c=[],f,p=0;p{var{typed:e,transpose:t,conj:r}=n;return e(lF,{any:function(a){return r(t(a))}})});var cF="zeros",aZ=["typed","config","matrix","BigNumber"],Lb=T(cF,aZ,n=>{var{typed:e,config:t,matrix:r,BigNumber:i}=n;return e(cF,{"":function(){return t.matrix==="Array"?a([]):a([],"default")},"...number | BigNumber | string":function(l){var c=l[l.length-1];if(typeof c=="string"){var f=l.pop();return a(l,f)}else return t.matrix==="Array"?a(l):a(l,"default")},Array:a,Matrix:function(l){var c=l.storage();return a(l.valueOf(),c)},"Array | Matrix, string":function(l,c){return a(l.valueOf(),c)}});function a(s,l){var c=o(s),f=c?new i(0):0;if(u(s),l){var p=r(l);return s.length>0?p.resize(s,f):p}else{var m=[];return s.length>0?Ia(m,s,f):m}}function o(s){var l=!1;return s.forEach(function(c,f,p){pt(c)&&(l=!0,p[f]=c.toNumber())}),l}function u(s){s.forEach(function(l){if(typeof l!="number"||!nt(l)||l<0)throw new Error("Parameters in function zeros must be positive integers")})}});var fF="fft",oZ=["typed","matrix","addScalar","multiplyScalar","divideScalar","exp","tau","i","dotDivide","conj","pow","ceil","log2"],Vb=T(fF,oZ,n=>{var{typed:e,matrix:t,addScalar:r,multiplyScalar:i,divideScalar:a,exp:o,tau:u,i:s,dotDivide:l,conj:c,pow:f,ceil:p,log2:m}=n;return e(fF,{Array:h,Matrix:function(b){return b.create(h(b.toArray()))}});function h(S){var b=_t(S);return b.length===1?y(S,b[0]):d(S.map(w=>h(w,b.slice(1))),0)}function d(S,b){var w=_t(S);if(b!==0)return new Array(w[0]).fill(0).map((x,D)=>d(S[D],b-1));if(w.length===1)return y(S);function A(x){var D=_t(x);return new Array(D[1]).fill(0).map((E,_)=>new Array(D[0]).fill(0).map((N,P)=>x[P][_]))}return A(d(A(S),1))}function g(S){for(var b=S.length,w=o(a(i(-1,i(s,u)),b)),A=[],x=1-b;xi(S[C],A[b-1+C])),...new Array(D-b).fill(0)],_=[...new Array(b+b-1).fill(0).map((k,C)=>a(1,A[C])),...new Array(D-(b+b-1)).fill(0)],N=y(E),P=y(_),B=new Array(D).fill(0).map((k,C)=>i(N[C],P[C])),V=l(c(h(c(B))),D),z=[],L=b-1;L_%2===0),b/2),...y(S.filter((E,_)=>_%2===1),b/2)],A=0;A{var{typed:e,fft:t,dotDivide:r,conj:i}=n;return e(pF,{"Array | Matrix":function(o){var u=ot(o)?o.size():_t(o);return r(i(t(i(o))),u.reduce((s,l)=>s*l,1))}})});function hs(n){"@babel/helpers - typeof";return hs=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},hs(n)}function qb(n,e){if(hs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e||"default");if(hs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function zb(n){var e=qb(n,"string");return hs(e)=="symbol"?e:e+""}function fr(n,e,t){return e=zb(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mF(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function uZ(n){for(var e=1;e{var{typed:e,add:t,subtract:r,multiply:i,divide:a,max:o,map:u,abs:s,isPositive:l,isNegative:c,larger:f,smaller:p,matrix:m,bignumber:h,unaryMinus:d}=n;function g(E){return function(_,N,P,B){var V=!(N.length===2&&(N.every(x)||N.every(Un)));if(V)throw new Error('"tspan" must be an Array of two numeric values or two units [tStart, tEnd]');var z=N[0],L=N[1],k=f(L,z),C=B.firstStep;if(C!==void 0&&!l(C))throw new Error('"firstStep" must be positive');var W=B.maxStep;if(W!==void 0&&!l(W))throw new Error('"maxStep" must be positive');var O=B.minStep;if(O&&c(O))throw new Error('"minStep" must be positive or zero');var H=[z,L,C,O,W].filter(Ze=>Ze!==void 0);if(!(H.every(x)||H.every(Un)))throw new Error('Inconsistent type of "t" dependant variables');for(var Z=1,Q=B.tol?B.tol:1e-4,U=B.minDelta?B.minDelta:.2,me=B.maxDelta?B.maxDelta:5,De=B.maxIter?B.maxIter:1e4,pe=[z,L,...P,W,O].some(pt),[_e,Ne,Se,Me]=pe?[h(E.a),h(E.c),h(E.b),h(E.bp)]:[E.a,E.c,E.b,E.bp],Ee=C?k?C:d(C):a(r(L,z),Z),Ce=[z],Ge=[P],We=r(Se,Me),te=0,oe=0,he=w(k),ie=A(k);he(Ce[te],L);){var re=[];Ee=ie(Ce[te],L,Ee),re.push(_(Ce[te],Ge[te]));for(var le=1;leUn(Ze)?Ze.value:Ze)));Te1/4&&(Ce.push(t(Ce[te],Ee)),Ge.push(t(Ge[te],i(Ee,Se,re))),te++);var Ie=.84*(Q/Te)**(1/5);if(p(Ie,U)?Ie=U:f(Ie,me)&&(Ie=me),Ie=pe?h(Ie):Ie,Ee=i(Ee,Ie),W&&f(s(Ee),W)?Ee=k?W:d(W):O&&p(s(Ee),O)&&(Ee=k?O:d(O)),oe++,oe>De)throw new Error("Maximum number of iterations reached, try changing options")}return{t:Ce,y:Ge}}}function y(E,_,N,P){var B=[[],[.5],[0,.75],[.2222222222222222,.3333333333333333,.4444444444444444]],V=[null,1/2,3/4,1],z=[2/9,1/3,4/9,0],L=[7/24,1/4,1/3,1/8],k={a:B,c:V,b:z,bp:L};return g(k)(E,_,N,P)}function S(E,_,N,P){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]],V=[null,1/5,3/10,4/5,8/9,1,1],z=[35/384,0,500/1113,125/192,-2187/6784,11/84,0],L=[5179/57600,0,7571/16695,393/640,-92097/339200,187/2100,1/40],k={a:B,c:V,b:z,bp:L};return g(k)(E,_,N,P)}function b(E,_,N,P){var B=P.method?P.method:"RK45",V={RK23:y,RK45:S};if(B.toUpperCase()in V){var z=uZ({},P);return delete z.method,V[B.toUpperCase()](E,_,N,z)}else{var L=Object.keys(V).map(C=>'"'.concat(C,'"')),k="".concat(L.slice(0,-1).join(", ")," and ").concat(L.slice(-1));throw new Error('Unavailable method "'.concat(B,'". Available methods are ').concat(k))}}function w(E){return E?p:f}function A(E){var _=E?f:p;return function(N,P,B){var V=t(N,B);return _(V,P)?r(P,N):B}}function x(E){return pt(E)||At(E)}function D(E,_,N,P){var B=b(E,_.toArray(),N.toArray(),P);return{t:m(B.t),y:m(B.y)}}return e("solveODE",{"function, Array, Array, Object":b,"function, Matrix, Matrix, Object":D,"function, Array, Array":(E,_,N)=>b(E,_,N,{}),"function, Matrix, Matrix":(E,_,N)=>D(E,_,N,{}),"function, Array, number | BigNumber | Unit":(E,_,N)=>{var P=b(E,_,[N],{});return{t:P.t,y:P.y.map(B=>B[0])}},"function, Matrix, number | BigNumber | Unit":(E,_,N)=>{var P=b(E,_.toArray(),[N],{});return{t:m(P.t),y:m(P.y.map(B=>B[0]))}},"function, Array, number | BigNumber | Unit, Object":(E,_,N,P)=>{var B=b(E,_,[N],P);return{t:B.t,y:B.y.map(V=>V[0])}},"function, Matrix, number | BigNumber | Unit, Object":(E,_,N,P)=>{var B=b(E,_.toArray(),[N],P);return{t:m(B.t),y:m(B.y.map(V=>V[0]))}}})});var fZ="erf",pZ=["typed"],Hb=T(fZ,pZ,n=>{var{typed:e}=n;return e("name",{number:function(o){var u=Math.abs(o);return u>=hZ?ua(o):u<=mZ?ua(o)*t(u):u<=4?ua(o)*(1-r(u)):ua(o)*(1-i(u))},"Array | Matrix":e.referToSelf(a=>o=>lt(o,a))});function t(a){var o=a*a,u=Co[0][4]*o,s=o,l;for(l=0;l<3;l+=1)u=(u+Co[0][l])*o,s=(s+bl[0][l])*o;return a*(u+Co[0][3])/(s+bl[0][3])}function r(a){var o=Co[1][8]*a,u=a,s;for(s=0;s<7;s+=1)o=(o+Co[1][s])*a,u=(u+bl[1][s])*a;var l=(o+Co[1][7])/(u+bl[1][7]),c=parseInt(a*16)/16,f=(a-c)*(a+c);return Math.exp(-c*c)*Math.exp(-f)*l}function i(a){var o=1/(a*a),u=Co[2][5]*o,s=o,l;for(l=0;l<4;l+=1)u=(u+Co[2][l])*o,s=(s+bl[2][l])*o;var c=o*(u+Co[2][4])/(s+bl[2][4]);c=(dZ-c)/a,o=parseInt(a*16)/16;var f=(a-o)*(a+o);return Math.exp(-o*o)*Math.exp(-f)*c}}),mZ=.46875,dZ=.5641895835477563,Co=[[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]],bl=[[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]],hZ=Math.pow(2,53);var dF="zeta",gZ=["typed","config","multiply","pow","divide","factorial","equal","smallerEq","isNegative","gamma","sin","subtract","add","?Complex","?BigNumber","pi"],Gb=T(dF,gZ,n=>{var{typed:e,config:t,multiply:r,pow:i,divide:a,factorial:o,equal:u,smallerEq:s,isNegative:l,gamma:c,sin:f,subtract:p,add:m,Complex:h,BigNumber:d,pi:g}=n;return e(dF,{number:x=>y(x,D=>D,()=>20),BigNumber:x=>y(x,D=>new d(D),()=>Math.abs(Math.log10(t.epsilon))),Complex:S});function y(x,D,E){return u(x,0)?D(-.5):u(x,1)?D(NaN):isFinite(x)?b(x,D,E,_=>_):l(x)?D(NaN):D(1)}function S(x){return x.re===0&&x.im===0?new h(-.5):x.re===1?new h(NaN,NaN):x.re===1/0&&x.im===0?new h(1):x.im===1/0||x.re===-1/0?new h(NaN,NaN):b(x,D=>D,D=>Math.round(1.3*15+.9*Math.abs(D.im)),D=>D.re)}function b(x,D,E,_){var N=E(x);if(_(x)>-(N-1)/2)return A(x,D(N),D);var P=r(i(2,x),i(D(g),p(x,1)));return P=r(P,f(r(a(D(g),2),x))),P=r(P,c(p(1,x))),r(P,b(p(1,x),D,E,_))}function w(x,D){for(var E=x,_=x;s(_,D);_=m(_,1)){var N=a(r(o(m(D,p(_,1))),i(4,_)),r(o(p(D,_)),o(r(2,_))));E=m(E,N)}return r(D,E)}function A(x,D,E){for(var _=a(1,r(w(E(0),D),p(1,i(2,p(1,x))))),N=E(0),P=E(1);s(P,D);P=m(P,1))N=m(N,a(r((-1)**(P-1),w(P,D)),i(P,x)));return r(_,N)}});var hF="mode",vZ=["typed","isNaN","isNumeric"],Wb=T(hF,vZ,n=>{var{typed:e,isNaN:t,isNumeric:r}=n;return e(hF,{"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={},s=[],l=0,c=0;cl&&(l=u[f],s=[f])}return s}});function an(n,e,t){var r;return String(n).indexOf("Unexpected type")!==-1?(r=arguments.length>2?" (type: "+Kt(t)+", value: "+JSON.stringify(t)+")":" (type: "+n.data.actual+")",new TypeError("Cannot calculate "+e+", unexpected type of argument"+r)):String(n).indexOf("complex numbers")!==-1?(r=arguments.length>2?" (type: "+Kt(t)+", value: "+JSON.stringify(t)+")":"",new TypeError("Cannot calculate "+e+", no ordering relation is defined for complex numbers"+r)):n}var gF="prod",yZ=["typed","config","multiplyScalar","numeric"],Yb=T(gF,yZ,n=>{var{typed:e,config:t,multiplyScalar:r,numeric:i}=n;return e(gF,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(u,s){throw new Error("prod(A, dim) is not yet supported")},"...":function(u){return a(u)}});function a(o){var u;if(ei(o,function(s){try{u=u===void 0?s:r(u,s)}catch(l){throw an(l,"prod",s)}}),typeof u=="string"&&(u=i(u,t.number)),u===void 0)throw new Error("Cannot calculate prod of an empty array");return u}});var vF="format",bZ=["typed"],jb=T(vF,bZ,n=>{var{typed:e}=n;return e(vF,{any:Mt,"any, Object | function | number | BigNumber":Mt})});var yF="bin",xZ=["typed","format"],Zb=T(yF,xZ,n=>{var{typed:e,format:t}=n;return e(yF,{"number | BigNumber":function(i){return t(i,{notation:"bin"})},"number | BigNumber, number | BigNumber":function(i,a){return t(i,{notation:"bin",wordSize:a})}})});var bF="oct",wZ=["typed","format"],Jb=T(bF,wZ,n=>{var{typed:e,format:t}=n;return e(bF,{"number | BigNumber":function(i){return t(i,{notation:"oct"})},"number | BigNumber, number | BigNumber":function(i,a){return t(i,{notation:"oct",wordSize:a})}})});var xF="hex",_Z=["typed","format"],Xb=T(xF,_Z,n=>{var{typed:e,format:t}=n;return e(xF,{"number | BigNumber":function(i){return t(i,{notation:"hex"})},"number | BigNumber, number | BigNumber":function(i,a){return t(i,{notation:"hex",wordSize:a})}})});var qm=/\$([\w.]+)/g;var wF="print",SZ=["typed"],$c=T(wF,SZ,n=>{var{typed:e}=n;return e(wF,{"string, Object | Array":_F,"string, Object | Array, number | Object":_F})});function _F(n,e,t){return n.replace(qm,function(r,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?rn(o)?o:Mt(o,t):r})}var SF="to",AZ=["typed","matrix","concat"],Qb=T(SF,AZ,n=>{var{typed:e,matrix:t,concat:r}=n,i=Ct({typed:e,matrix:t,concat:r});return e(SF,{"Unit, Unit | string":(a,o)=>a.to(o)},i({Ds:!0}))});var AF="isPrime",MZ=["typed"],Kb=T(AF,MZ,n=>{var{typed:e}=n;return e(AF,{number:function(r){if(r*0!==0)return!1;if(r<=3)return r>1;if(r%2===0||r%3===0)return!1;for(var i=5;i*i<=r;i+=6)if(r%i===0||r%(i+2)===0)return!1;return!0},BigNumber:function(r){if(r.toNumber()*0!==0)return!1;if(r.lte(3))return r.gt(1);if(r.mod(2).eq(0)||r.mod(3).eq(0))return!1;if(r.lt(Math.pow(2,32))){for(var i=r.toNumber(),a=5;a*a<=i;a+=6)if(i%a===0||i%(a+2)===0)return!1;return!0}function o(S,b,w){for(var A=1;!b.eq(0);)b.mod(2).eq(0)?(b=b.div(2),S=S.mul(S).mod(w)):(b=b.sub(1),A=S.mul(A).mod(w));return A}var u=r.constructor.clone({precision:r.toFixed(0).length*2});r=new u(r);for(var s=0,l=r.sub(1);l.mod(2).eq(0);)l=l.div(2),s+=1;var c=null;if(r.lt("3317044064679887385961981"))c=[2,3,5,7,11,13,17,19,23,29,31,37,41].filter(S=>Sr=>lt(r,t))})});var EZ="numeric",DZ=["number","?bignumber","?fraction"],ex=T(EZ,DZ,n=>{var{number:e,bignumber:t,fraction:r}=n,i={string:!0,number:!0,BigNumber:!0,Fraction:!0},a={number:o=>e(o),BigNumber:t?o=>t(o):yl,Fraction:r?o=>r(o):Vm};return function(u){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number",l=arguments.length>2?arguments[2]:void 0;if(l!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var c=Kt(u);if(!(c in i))throw new TypeError("Cannot convert "+u+' of type "'+c+'"; valid input types are '+Object.keys(i).join(", "));if(!(s in a))throw new TypeError("Cannot convert "+u+' to type "'+s+'"; valid output types are '+Object.keys(a).join(", "));return s===c?u:a[s](u)}});var MF="divideScalar",NZ=["typed","numeric"],tx=T(MF,NZ,n=>{var{typed:e,numeric:t}=n;return e(MF,{"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)},"Fraction, Fraction":function(i,a){return i.div(a)},"Unit, number | Complex | Fraction | BigNumber | Unit":(r,i)=>r.divide(i),"number | Fraction | Complex | BigNumber, Unit":(r,i)=>i.divideInto(r)})});var EF="pow",TZ=["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],rx=T(EF,TZ,n=>{var{typed:e,config:t,identity:r,multiply:i,matrix:a,inv:o,number:u,fraction:s,Complex:l}=n;return e(EF,{"number, number":c,"Complex, Complex":function(h,d){return h.pow(d)},"BigNumber, BigNumber":function(h,d){return d.isInteger()||h>=0||t.predictable?h.pow(d):new l(h.toNumber(),0).pow(d.toNumber(),0)},"Fraction, Fraction":function(h,d){var g=h.pow(d);if(g!=null)return g;if(t.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return c(h.valueOf(),d.valueOf())},"Array, number":f,"Array, BigNumber":function(h,d){return f(h,d.toNumber())},"Matrix, number":p,"Matrix, BigNumber":function(h,d){return p(h,d.toNumber())},"Unit, number | BigNumber":function(h,d){return h.pow(d)}});function c(m,h){if(t.predictable&&!nt(h)&&m<0)try{var d=s(h),g=u(d);if((h===g||Math.abs((h-g)/h)<1e-14)&&d.d%2===1)return(d.n%2===0?1:-1)*Math.pow(-m,h)}catch{}return t.predictable&&(m<-1&&h===1/0||m>-1&&m<0&&h===-1/0)?NaN:nt(h)||m>=0||t.predictable?Py(m,h):m*m<1&&h===1/0||m*m>1&&h===-1/0?0:new l(m,0).pow(h,0)}function f(m,h){if(!nt(h))throw new TypeError("For A^b, b must be an integer (value is "+h+")");var d=_t(m);if(d.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+d.length+" dimensions)");if(d[0]!==d[1])throw new Error("For A^b, A must be square (size is "+d[0]+"x"+d[1]+")");if(h<0)try{return f(o(m),-h)}catch(S){throw S.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 "+h+")"):S}for(var g=r(d[0]).valueOf(),y=m;h>=1;)(h&1)===1&&(g=i(y,g)),h>>=1,y=i(y,y);return g}function p(m,h){return a(f(m.valueOf(),h))}});var xl="Number of decimals in function round must be an integer",DF="round",CZ=["typed","config","matrix","equalScalar","zeros","BigNumber","DenseMatrix"],nx=T(DF,CZ,n=>{var{typed:e,config:t,matrix:r,equalScalar:i,zeros:a,BigNumber:o,DenseMatrix:u}=n,s=xr({typed:e,equalScalar:i}),l=cr({typed:e,DenseMatrix:u}),c=pn({typed:e});function f(p){return Math.abs(ol(p).exponent)}return e(DF,{number:function(m){var h=dl(m,f(t.epsilon)),d=Jr(m,h,t.epsilon)?h:m;return dl(d)},"number, number":function(m,h){var d=f(t.epsilon);if(h>=d)return dl(m,h);var g=dl(m,d),y=Jr(m,g,t.epsilon)?g:m;return dl(y,h)},"number, BigNumber":function(m,h){if(!h.isInteger())throw new TypeError(xl);return new o(m).toDecimalPlaces(h.toNumber())},Complex:function(m){return m.round()},"Complex, number":function(m,h){if(h%1)throw new TypeError(xl);return m.round(h)},"Complex, BigNumber":function(m,h){if(!h.isInteger())throw new TypeError(xl);var d=h.toNumber();return m.round(d)},BigNumber:function(m){var h=new o(m).toDecimalPlaces(f(t.epsilon)),d=gn(m,h,t.epsilon)?h:m;return d.toDecimalPlaces(0)},"BigNumber, BigNumber":function(m,h){if(!h.isInteger())throw new TypeError(xl);var d=f(t.epsilon);if(h>=d)return m.toDecimalPlaces(h.toNumber());var g=m.toDecimalPlaces(d),y=gn(m,g,t.epsilon)?g:m;return y.toDecimalPlaces(h.toNumber())},Fraction:function(m){return m.round()},"Fraction, number":function(m,h){if(h%1)throw new TypeError(xl);return m.round(h)},"Fraction, BigNumber":function(m,h){if(!h.isInteger())throw new TypeError(xl);return m.round(h.toNumber())},"Unit, number, Unit":e.referToSelf(p=>function(m,h,d){var g=m.toNumeric(d);return d.multiply(p(g,h))}),"Unit, BigNumber, Unit":e.referToSelf(p=>(m,h,d)=>p(m,h.toNumber(),d)),"Unit, Unit":e.referToSelf(p=>(m,h)=>p(m,0,h)),"Array | Matrix, number, Unit":e.referToSelf(p=>(m,h,d)=>lt(m,g=>p(g,h,d),!0)),"Array | Matrix, BigNumber, Unit":e.referToSelf(p=>(m,h,d)=>p(m,h.toNumber(),d)),"Array | Matrix, Unit":e.referToSelf(p=>(m,h)=>p(m,0,h)),"Array | Matrix":e.referToSelf(p=>m=>lt(m,p,!0)),"SparseMatrix, number | BigNumber":e.referToSelf(p=>(m,h)=>s(m,h,p,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(p=>(m,h)=>c(m,h,p,!1)),"Array, number | BigNumber":e.referToSelf(p=>(m,h)=>c(r(m),h,p,!1).valueOf()),"number | Complex | BigNumber | Fraction, SparseMatrix":e.referToSelf(p=>(m,h)=>i(m,0)?a(h.size(),h.storage()):l(h,m,p,!0)),"number | Complex | BigNumber | Fraction, DenseMatrix":e.referToSelf(p=>(m,h)=>i(m,0)?a(h.size(),h.storage()):c(h,m,p,!0)),"number | Complex | BigNumber | Fraction, Array":e.referToSelf(p=>(m,h)=>c(r(h),m,p,!0).valueOf())})});var NF="log",FZ=["config","typed","divideScalar","Complex"],ix=T(NF,FZ,n=>{var{typed:e,config:t,divideScalar:r,Complex:i}=n;return e(NF,{number:function(o){return o>=0||t.predictable?FT(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)=>r(a(o),a(u)))})});var TF="log1p",IZ=["typed","config","divideScalar","log","Complex"],ax=T(TF,IZ,n=>{var{typed:e,config:t,divideScalar:r,log:i,Complex:a}=n;return e(TF,{number:function(s){return s>=-1||t.predictable?hm(s):o(new a(s,0))},Complex:o,BigNumber:function(s){var l=s.plus(1);return!l.isNegative()||t.predictable?l.ln():o(new a(s.toNumber(),0))},"Array | Matrix":e.referToSelf(u=>s=>lt(s,u)),"any, any":e.referToSelf(u=>(s,l)=>r(u(s),i(l)))});function o(u){var s=u.re+1;return new a(Math.log(Math.sqrt(s*s+u.im*u.im)),Math.atan2(u.im,s))}});var CF="nthRoots",PZ=["config","typed","divideScalar","Complex"],ox=T(CF,PZ,n=>{var{typed:e,config:t,divideScalar:r,Complex:i}=n,a=[function(s){return new i(s,0)},function(s){return new i(0,s)},function(s){return new i(-s,0)},function(s){return new i(0,-s)}];function o(u,s){if(s<0)throw new Error("Root must be greater than zero");if(s===0)throw new Error("Root must be non-zero");if(s%1!==0)throw new Error("Root must be an integer");if(u===0||u.abs()===0)return[new i(0,0)];var l=typeof u=="number",c;(l||u.re===0||u.im===0)&&(l?c=2*+(u<0):u.im===0?c=2*+(u.re<0):c=2*+(u.im<0)+1);for(var f=u.arg(),p=u.abs(),m=[],h=Math.pow(p,1/s),d=0;d{var{typed:e,equalScalar:t,matrix:r,pow:i,DenseMatrix:a,concat:o}=n,u=kr({typed:e}),s=Mn({typed:e,DenseMatrix:a}),l=xr({typed:e,equalScalar:t}),c=cr({typed:e,DenseMatrix:a}),f=Ct({typed:e,matrix:r,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 h=e(p);return e(FF,f({elop:h,SS:s,DS:u,Ss:l,sS:c}))});var IF="dotDivide",BZ=["typed","matrix","equalScalar","divideScalar","DenseMatrix","concat"],ux=T(IF,BZ,n=>{var{typed:e,matrix:t,equalScalar:r,divideScalar:i,DenseMatrix:a,concat:o}=n,u=mn({typed:e,equalScalar:r}),s=kr({typed:e}),l=Mn({typed:e,DenseMatrix:a}),c=xr({typed:e,equalScalar:r}),f=cr({typed:e,DenseMatrix:a}),p=Ct({typed:e,matrix:t,concat:o});return e(IF,p({elop:i,SS:l,DS:s,SD:u,Ss:c,sS:f}))});function Qa(n){var{DenseMatrix:e}=n;return function(r,i,a){var o=r.size();if(o.length!==2)throw new RangeError("Matrix must be two dimensional (size: "+Mt(o)+")");var u=o[0],s=o[1];if(u!==s)throw new RangeError("Matrix must be square (size: "+Mt(o)+")");var l=[];if(ot(i)){var c=i.size(),f=i._data;if(c.length===1){if(c[0]!==u)throw new RangeError("Dimension mismatch. Matrix columns must match vector length.");for(var p=0;p{var{typed:e,matrix:t,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=n,s=Qa({DenseMatrix:u});return e(PF,{"SparseMatrix, Array | Matrix":function(p,m){return c(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return l(p,m)},"Array, Array | Matrix":function(p,m){var h=t(p),d=l(h,m);return d.valueOf()}});function l(f,p){p=s(f,p,!0);for(var m=p._data,h=f._size[0],d=f._size[1],g=[],y=f._data,S=0;Sw&&(D.push(g[P]),E.push(B))}if(o(x,0))throw new Error("Linear system cannot be solved since matrix is singular");for(var V=r(A,x),z=0,L=E.length;z{var{typed:e,matrix:t,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=n,s=Qa({DenseMatrix:u});return e(kF,{"SparseMatrix, Array | Matrix":function(p,m){return c(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return l(p,m)},"Array, Array | Matrix":function(p,m){var h=t(p),d=l(h,m);return d.valueOf()}});function l(f,p){p=s(f,p,!0);for(var m=p._data,h=f._size[0],d=f._size[1],g=[],y=f._data,S=d-1;S>=0;S--){var b=m[S][0]||0,w=void 0;if(o(b,0))w=0;else{var A=y[S][S];if(o(A,0))throw new Error("Linear system cannot be solved since matrix is singular");w=r(b,A);for(var x=S-1;x>=0;x--)m[x]=[a(m[x][0]||0,i(w,y[x][S]))]}g[S]=[w]}return new u({data:g,size:[h,1]})}function c(f,p){p=s(f,p,!0);for(var m=p._data,h=f._size[0],d=f._size[1],g=f._values,y=f._index,S=f._ptr,b=[],w=d-1;w>=0;w--){var A=m[w][0]||0;if(o(A,0))b[w]=[0];else{for(var x=0,D=[],E=[],_=S[w],N=S[w+1],P=N-1;P>=_;P--){var B=y[P];B===w?x=g[P]:B{var{typed:e,matrix:t,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=n,s=Qa({DenseMatrix:u});return e(BF,{"SparseMatrix, Array | Matrix":function(p,m){return c(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return l(p,m)},"Array, Array | Matrix":function(p,m){var h=t(p),d=l(h,m);return d.map(g=>g.valueOf())}});function l(f,p){for(var m=[s(f,p,!0)._data.map(E=>E[0])],h=f._data,d=f._size[0],g=f._size[1],y=0;ynew u({data:E.map(_=>[_]),size:[d,1]}))}function c(f,p){for(var m=[s(f,p,!0)._data.map(Z=>Z[0])],h=f._size[0],d=f._size[1],g=f._values,y=f._index,S=f._ptr,b=0;bb&&(D.push(g[B]),E.push(V))}if(o(P,0))if(o(x[b],0)){if(A===0){var C=[...x];C[b]=1;for(var W=0,O=E.length;Wnew u({data:Z.map(Q=>[Q]),size:[h,1]}))}});var OF="usolveAll",VZ=["typed","matrix","divideScalar","multiplyScalar","subtractScalar","equalScalar","DenseMatrix"],px=T(OF,VZ,n=>{var{typed:e,matrix:t,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:u}=n,s=Qa({DenseMatrix:u});return e(OF,{"SparseMatrix, Array | Matrix":function(p,m){return c(p,m)},"DenseMatrix, Array | Matrix":function(p,m){return l(p,m)},"Array, Array | Matrix":function(p,m){var h=t(p),d=l(h,m);return d.map(g=>g.valueOf())}});function l(f,p){for(var m=[s(f,p,!0)._data.map(E=>E[0])],h=f._data,d=f._size[0],g=f._size[1],y=g-1;y>=0;y--)for(var S=m.length,b=0;b=0;D--)x[D]=a(x[D],h[D][y]);m.push(x)}}else{if(b===0)return[];m.splice(b,1),b-=1,S-=1}else{w[y]=r(w[y],h[y][y]);for(var A=y-1;A>=0;A--)w[A]=a(w[A],i(w[y],h[A][y]))}}return m.map(E=>new u({data:E.map(_=>[_]),size:[d,1]}))}function c(f,p){for(var m=[s(f,p,!0)._data.map(Z=>Z[0])],h=f._size[0],d=f._size[1],g=f._values,y=f._index,S=f._ptr,b=d-1;b>=0;b--)for(var w=m.length,A=0;A=_;B--){var V=y[B];V===b?P=g[B]:Vnew u({data:Z.map(Q=>[Q]),size:[h,1]}))}});var UZ="matAlgo08xS0Sid",qZ=["typed","equalScalar"],wl=T(UZ,qZ,n=>{var{typed:e,equalScalar:t}=n;return function(i,a,o){var u=i._values,s=i._index,l=i._ptr,c=i._size,f=i._datatype||i._data===void 0?i._datatype:i.getDataType(),p=a._values,m=a._index,h=a._ptr,d=a._size,g=a._datatype||a._data===void 0?a._datatype:a.getDataType();if(c.length!==d.length)throw new Dt(c.length,d.length);if(c[0]!==d[0]||c[1]!==d[1])throw new RangeError("Dimension mismatch. Matrix A ("+c+") must match Matrix B ("+d+")");if(!u||!p)throw new Error("Cannot perform operation on Pattern Sparse Matrices");var y=c[0],S=c[1],b,w=t,A=0,x=o;typeof f=="string"&&f===g&&f!=="mixed"&&(b=f,w=e.find(t,[b,b]),A=e.convert(0,b),x=e.find(o,[b,b]));for(var D=[],E=[],_=[],N=[],P=[],B,V,z,L,k=0;k{var{typed:e,matrix:t}=n;return{"Array, number":e.referTo("DenseMatrix, number",r=>(i,a)=>r(t(i),a).valueOf()),"Array, BigNumber":e.referTo("DenseMatrix, BigNumber",r=>(i,a)=>r(t(i),a).valueOf()),"number, Array":e.referTo("number, DenseMatrix",r=>(i,a)=>r(i,t(a)).valueOf()),"BigNumber, Array":e.referTo("BigNumber, DenseMatrix",r=>(i,a)=>r(i,t(a)).valueOf())}});var RF="leftShift",zZ=["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],mx=T(RF,zZ,n=>{var{typed:e,matrix:t,equalScalar:r,zeros:i,DenseMatrix:a,concat:o}=n,u=ti({typed:e}),s=mn({typed:e,equalScalar:r}),l=wl({typed:e,equalScalar:r}),c=Ti({typed:e,DenseMatrix:a}),f=xr({typed:e,equalScalar:r}),p=pn({typed:e}),m=Ct({typed:e,matrix:t,concat:o}),h=_l({typed:e,matrix:t});return e(RF,{"number, number":Ly,"BigNumber, BigNumber":DC,"SparseMatrix, number | BigNumber":e.referToSelf(d=>(g,y)=>r(y,0)?g.clone():f(g,y,d,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(d=>(g,y)=>r(y,0)?g.clone():p(g,y,d,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(d=>(g,y)=>r(g,0)?i(y.size(),y.storage()):c(y,g,d,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(d=>(g,y)=>r(g,0)?i(y.size(),y.storage()):p(y,g,d,!0))},h,m({SS:l,DS:u,SD:s}))});var LF="rightArithShift",$Z=["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],dx=T(LF,$Z,n=>{var{typed:e,matrix:t,equalScalar:r,zeros:i,DenseMatrix:a,concat:o}=n,u=ti({typed:e}),s=mn({typed:e,equalScalar:r}),l=wl({typed:e,equalScalar:r}),c=Ti({typed:e,DenseMatrix:a}),f=xr({typed:e,equalScalar:r}),p=pn({typed:e}),m=Ct({typed:e,matrix:t,concat:o}),h=_l({typed:e,matrix:t});return e(LF,{"number, number":Vy,"BigNumber, BigNumber":NC,"SparseMatrix, number | BigNumber":e.referToSelf(d=>(g,y)=>r(y,0)?g.clone():f(g,y,d,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(d=>(g,y)=>r(y,0)?g.clone():p(g,y,d,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(d=>(g,y)=>r(g,0)?i(y.size(),y.storage()):c(y,g,d,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(d=>(g,y)=>r(g,0)?i(y.size(),y.storage()):p(y,g,d,!0))},h,m({SS:l,DS:u,SD:s}))});var VF="rightLogShift",HZ=["typed","matrix","equalScalar","zeros","DenseMatrix","concat"],hx=T(VF,HZ,n=>{var{typed:e,matrix:t,equalScalar:r,zeros:i,DenseMatrix:a,concat:o}=n,u=ti({typed:e}),s=mn({typed:e,equalScalar:r}),l=wl({typed:e,equalScalar:r}),c=Ti({typed:e,DenseMatrix:a}),f=xr({typed:e,equalScalar:r}),p=pn({typed:e}),m=Ct({typed:e,matrix:t,concat:o}),h=_l({typed:e,matrix:t});return e(VF,{"number, number":Uy,"SparseMatrix, number | BigNumber":e.referToSelf(d=>(g,y)=>r(y,0)?g.clone():f(g,y,d,!1)),"DenseMatrix, number | BigNumber":e.referToSelf(d=>(g,y)=>r(y,0)?g.clone():p(g,y,d,!1)),"number | BigNumber, SparseMatrix":e.referToSelf(d=>(g,y)=>r(g,0)?i(y.size(),y.storage()):c(y,g,d,!0)),"number | BigNumber, DenseMatrix":e.referToSelf(d=>(g,y)=>r(g,0)?i(y.size(),y.storage()):p(y,g,d,!0))},h,m({SS:l,DS:u,SD:s}))});var UF="and",GZ=["typed","matrix","equalScalar","zeros","not","concat"],Hc=T(UF,GZ,n=>{var{typed:e,matrix:t,equalScalar:r,zeros:i,not:a,concat:o}=n,u=mn({typed:e,equalScalar:r}),s=ds({typed:e,equalScalar:r}),l=xr({typed:e,equalScalar:r}),c=pn({typed:e}),f=Ct({typed:e,matrix:t,concat:o});return e(UF,{"number, number":Wy,"Complex, Complex":function(m,h){return(m.re!==0||m.im!==0)&&(h.re!==0||h.im!==0)},"BigNumber, BigNumber":function(m,h){return!m.isZero()&&!h.isZero()&&!m.isNaN()&&!h.isNaN()},"Unit, Unit":e.referToSelf(p=>(m,h)=>p(m.value||0,h.value||0)),"SparseMatrix, any":e.referToSelf(p=>(m,h)=>a(h)?i(m.size(),m.storage()):l(m,h,p,!1)),"DenseMatrix, any":e.referToSelf(p=>(m,h)=>a(h)?i(m.size(),m.storage()):c(m,h,p,!1)),"any, SparseMatrix":e.referToSelf(p=>(m,h)=>a(m)?i(m.size(),m.storage()):l(h,m,p,!0)),"any, DenseMatrix":e.referToSelf(p=>(m,h)=>a(m)?i(m.size(),m.storage()):c(h,m,p,!0)),"Array, any":e.referToSelf(p=>(m,h)=>p(t(m),h).valueOf()),"any, Array":e.referToSelf(p=>(m,h)=>p(m,t(h)).valueOf())},f({SS:s,DS:u}))});var zm="compare",WZ=["typed","config","matrix","equalScalar","BigNumber","Fraction","DenseMatrix","concat"],gx=T(zm,WZ,n=>{var{typed:e,config:t,equalScalar:r,matrix:i,BigNumber:a,Fraction:o,DenseMatrix:u,concat:s}=n,l=kr({typed:e}),c=ms({typed:e,equalScalar:r}),f=cr({typed:e,DenseMatrix:u}),p=Ct({typed:e,matrix:i,concat:s}),m=ca({typed:e});return e(zm,YZ({typed:e,config:t}),{"boolean, boolean":function(d,g){return d===g?0:d>g?1:-1},"BigNumber, BigNumber":function(d,g){return gn(d,g,t.epsilon)?new a(0):new a(d.cmp(g))},"Fraction, Fraction":function(d,g){return new o(d.compare(g))},"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},m,p({SS:c,DS:l,Ss:f}))}),YZ=T(zm,["typed","config"],n=>{var{typed:e,config:t}=n;return e(zm,{"number, number":function(i,a){return Jr(i,a,t.epsilon)?0:i>a?1:-1}})});var au=wr(zF(),1);var $F="compareNatural",jZ=["typed","compare"],vx=T($F,jZ,n=>{var{typed:e,compare:t}=n,r=t.signatures["boolean,boolean"];return e($F,{"any, any":i});function i(s,l){var c=Kt(s),f=Kt(l),p;if((c==="number"||c==="BigNumber"||c==="Fraction")&&(f==="number"||f==="BigNumber"||f==="Fraction"))return p=t(s,l),p.toString()!=="0"?p>0?1:-1:(0,au.default)(c,f);var m=["Array","DenseMatrix","SparseMatrix"];if(m.includes(c)||m.includes(f))return p=a(i,s,l),p!==0?p:(0,au.default)(c,f);if(c!==f)return(0,au.default)(c,f);if(c==="Complex")return ZZ(s,l);if(c==="Unit")return s.equalBase(l)?i(s.value,l.value):o(i,s.formatUnits(),l.formatUnits());if(c==="boolean")return r(s,l);if(c==="string")return(0,au.default)(s,l);if(c==="Object")return u(i,s,l);if(c==="null"||c==="undefined")return 0;throw new TypeError('Unsupported type of value "'+c+'"')}function a(s,l,c){return Ta(l)&&Ta(c)?o(s,l.toJSON().values,c.toJSON().values):Ta(l)?a(s,l.toArray(),c):Ta(c)?a(s,l,c.toArray()):Xs(l)?a(s,l.toJSON().data,c):Xs(c)?a(s,l,c.toJSON().data):Array.isArray(l)?Array.isArray(c)?o(s,l,c):a(s,l,[c]):a(s,[l],c)}function o(s,l,c){for(var f=0,p=Math.min(l.length,c.length);fc.length?1:l.lengthe.re?1:n.ree.im?1:n.im{var{typed:e,matrix:t,concat:r}=n,i=Ct({typed:e,matrix:t,concat:r});return e(HF,bm,i({elop:bm,Ds:!0}))});var $m="equal",XZ=["typed","matrix","equalScalar","DenseMatrix","concat"],bx=T($m,XZ,n=>{var{typed:e,matrix:t,equalScalar:r,DenseMatrix:i,concat:a}=n,o=kr({typed:e}),u=Mn({typed:e,DenseMatrix:i}),s=cr({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:t,concat:a});return e($m,QZ({typed:e,equalScalar:r}),l({elop:r,SS:u,DS:o,Ss:s}))}),QZ=T($m,["typed","equalScalar"],n=>{var{typed:e,equalScalar:t}=n;return e($m,{"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 GF="equalText",KZ=["typed","compareText","isZero"],xx=T(GF,KZ,n=>{var{typed:e,compareText:t,isZero:r}=n;return e(GF,{"any, any":function(a,o){return r(t(a,o))}})});var Hm="smaller",eJ=["typed","config","matrix","DenseMatrix","concat"],wx=T(Hm,eJ,n=>{var{typed:e,config:t,matrix:r,DenseMatrix:i,concat:a}=n,o=kr({typed:e}),u=Mn({typed:e,DenseMatrix:i}),s=cr({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:r,concat:a}),c=ca({typed:e});return e(Hm,tJ({typed:e,config:t}),{"boolean, boolean":(f,p)=>ff.compare(p)===-1,"Complex, Complex":function(p,m){throw new TypeError("No ordering relation is defined for complex numbers")}},c,l({SS:u,DS:o,Ss:s}))}),tJ=T(Hm,["typed","config"],n=>{var{typed:e,config:t}=n;return e(Hm,{"number, number":function(i,a){return i{var{typed:e,config:t,matrix:r,DenseMatrix:i,concat:a}=n,o=kr({typed:e}),u=Mn({typed:e,DenseMatrix:i}),s=cr({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:r,concat:a}),c=ca({typed:e});return e(Gm,nJ({typed:e,config:t}),{"boolean, boolean":(f,p)=>f<=p,"BigNumber, BigNumber":function(p,m){return p.lte(m)||gn(p,m,t.epsilon)},"Fraction, Fraction":(f,p)=>f.compare(p)!==1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},c,l({SS:u,DS:o,Ss:s}))}),nJ=T(Gm,["typed","config"],n=>{var{typed:e,config:t}=n;return e(Gm,{"number, number":function(i,a){return i<=a||Jr(i,a,t.epsilon)}})});var Wm="larger",iJ=["typed","config","matrix","DenseMatrix","concat"],Sx=T(Wm,iJ,n=>{var{typed:e,config:t,matrix:r,DenseMatrix:i,concat:a}=n,o=kr({typed:e}),u=Mn({typed:e,DenseMatrix:i}),s=cr({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:r,concat:a}),c=ca({typed:e});return e(Wm,aJ({typed:e,config:t}),{"boolean, boolean":(f,p)=>f>p,"BigNumber, BigNumber":function(p,m){return p.gt(m)&&!gn(p,m,t.epsilon)},"Fraction, Fraction":(f,p)=>f.compare(p)===1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},c,l({SS:u,DS:o,Ss:s}))}),aJ=T(Wm,["typed","config"],n=>{var{typed:e,config:t}=n;return e(Wm,{"number, number":function(i,a){return i>a&&!Jr(i,a,t.epsilon)}})});var Ym="largerEq",oJ=["typed","config","matrix","DenseMatrix","concat"],Ax=T(Ym,oJ,n=>{var{typed:e,config:t,matrix:r,DenseMatrix:i,concat:a}=n,o=kr({typed:e}),u=Mn({typed:e,DenseMatrix:i}),s=cr({typed:e,DenseMatrix:i}),l=Ct({typed:e,matrix:r,concat:a}),c=ca({typed:e});return e(Ym,sJ({typed:e,config:t}),{"boolean, boolean":(f,p)=>f>=p,"BigNumber, BigNumber":function(p,m){return p.gte(m)||gn(p,m,t.epsilon)},"Fraction, Fraction":(f,p)=>f.compare(p)!==-1,"Complex, Complex":function(){throw new TypeError("No ordering relation is defined for complex numbers")}},c,l({SS:u,DS:o,Ss:s}))}),sJ=T(Ym,["typed","config"],n=>{var{typed:e,config:t}=n;return e(Ym,{"number, number":function(i,a){return i>=a||Jr(i,a,t.epsilon)}})});var WF="deepEqual",uJ=["typed","equal"],Mx=T(WF,uJ,n=>{var{typed:e,equal:t}=n;return e(WF,{"any, any":function(a,o){return r(a.valueOf(),o.valueOf())}});function r(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:r,matrix:i,DenseMatrix:a,concat:o}=n,u=kr({typed:e}),s=Mn({typed:e,DenseMatrix:a}),l=cr({typed:e,DenseMatrix:a}),c=Ct({typed:e,matrix:i,concat:o});return e(jm,cJ({typed:e,equalScalar:r}),c({elop:f,SS:s,DS:u,Ss:l}));function f(p,m){return!r(p,m)}}),cJ=T(jm,["typed","equalScalar"],n=>{var{typed:e,equalScalar:t}=n;return e(jm,{"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 YF="partitionSelect",fJ=["typed","isNumeric","isNaN","compare"],Dx=T(YF,fJ,n=>{var{typed:e,isNumeric:t,isNaN:r,compare:i}=n,a=i,o=(l,c)=>-i(l,c);return e(YF,{"Array | Matrix, number":function(c,f){return u(c,f,a)},"Array | Matrix, number, string":function(c,f,p){if(p==="asc")return u(c,f,a);if(p==="desc")return u(c,f,o);throw new Error('Compare string must be "asc" or "desc"')},"Array | Matrix, number, function":u});function u(l,c,f){if(!nt(c)||c<0)throw new Error("k must be a non-negative integer");if(ot(l)){var p=l.size();if(p.length>1)throw new Error("Only one dimensional matrices supported");return s(l.valueOf(),c,f)}if(Array.isArray(l))return s(l,c,f)}function s(l,c,f){if(c>=l.length)throw new Error("k out of bounds");for(var p=0;p=0){var S=l[g];l[g]=l[d],l[d]=S,--g}else++d;f(l[d],y)>0&&--d,c<=d?h=d:m=d+1}return l[c]}});var jF="sort",pJ=["typed","matrix","compare","compareNatural"],Nx=T(jF,pJ,n=>{var{typed:e,matrix:t,compare:r,compareNatural:i}=n,a=r,o=(c,f)=>-r(c,f);return e(jF,{Array:function(f){return s(f),f.sort(a)},Matrix:function(f){return l(f),t(f.toArray().sort(a),f.storage())},"Array, function":function(f,p){return s(f),f.sort(p)},"Matrix, function":function(f,p){return l(f),t(f.toArray().sort(p),f.storage())},"Array, string":function(f,p){return s(f),f.sort(u(p))},"Matrix, string":function(f,p){return l(f),t(f.toArray().sort(u(p)),f.storage())}});function u(c){if(c==="asc")return a;if(c==="desc")return o;if(c==="natural")return i;throw new Error('String "asc", "desc", or "natural" expected')}function s(c){if(_t(c).length!==1)throw new Error("One dimensional array expected")}function l(c){if(c.size().length!==1)throw new Error("One dimensional matrix expected")}});var ZF="max",mJ=["typed","config","numeric","larger"],Gc=T(ZF,mJ,n=>{var{typed:e,config:t,numeric:r,larger:i}=n;return e(ZF,{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(s,l){return ps(s,l.valueOf(),a)},"...":function(s){if(la(s))throw new TypeError("Scalar values expected in function max");return o(s)}});function a(u,s){try{return i(u,s)?u:s}catch(l){throw an(l,"max",s)}}function o(u){var s;if(ei(u,function(l){try{isNaN(l)&&typeof l=="number"?s=NaN:(s===void 0||i(l,s))&&(s=l)}catch(c){throw an(c,"max",l)}}),s===void 0)throw new Error("Cannot calculate max of an empty array");return typeof s=="string"&&(s=r(s,t.number)),s}});var JF="min",dJ=["typed","config","numeric","smaller"],Wc=T(JF,dJ,n=>{var{typed:e,config:t,numeric:r,smaller:i}=n;return e(JF,{"Array | Matrix":o,"Array | Matrix, number | BigNumber":function(s,l){return ps(s,l.valueOf(),a)},"...":function(s){if(la(s))throw new TypeError("Scalar values expected in function min");return o(s)}});function a(u,s){try{return i(u,s)?u:s}catch(l){throw an(l,"min",s)}}function o(u){var s;if(ei(u,function(l){try{isNaN(l)&&typeof l=="number"?s=NaN:(s===void 0||i(l,s))&&(s=l)}catch(c){throw an(c,"min",l)}}),s===void 0)throw new Error("Cannot calculate min of an empty array");return typeof s=="string"&&(s=r(s,t.number)),s}});var hJ="ImmutableDenseMatrix",gJ=["smaller","DenseMatrix"],Tx=T(hJ,gJ,n=>{var{smaller:e,DenseMatrix:t}=n;function r(i,a){if(!(this instanceof r))throw new SyntaxError("Constructor must be called with the new operator");if(a&&!rn(a))throw new Error("Invalid datatype: "+a);if(ot(i)||nr(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&&nr(i.data)&&nr(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 ("+Kt(i)+")");this._data=[],this._size=[0],this._datatype=a,this._min=null,this._max=null}}return r.prototype=new t,r.prototype.type="ImmutableDenseMatrix",r.prototype.isImmutableDenseMatrix=!0,r.prototype.subset=function(i){switch(arguments.length){case 1:{var a=t.prototype.subset.call(this,i);return ot(a)?new r({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")}},r.prototype.set=function(){throw new Error("Cannot invoke set on an Immutable Matrix instance")},r.prototype.resize=function(){throw new Error("Cannot invoke resize on an Immutable Matrix instance")},r.prototype.reshape=function(){throw new Error("Cannot invoke reshape on an Immutable Matrix instance")},r.prototype.clone=function(){return new r({data:vt(this._data),size:vt(this._size),datatype:this._datatype})},r.prototype.toJSON=function(){return{mathjs:"ImmutableDenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},r.fromJSON=function(i){return new r(i)},r.prototype.swapRows=function(){throw new Error("Cannot invoke swapRows on an Immutable Matrix instance")},r.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},r.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},r},{isClass:!0});var vJ="Index",yJ=["ImmutableDenseMatrix","getMatrixDataType"],Cx=T(vJ,yJ,n=>{var{ImmutableDenseMatrix:e,getMatrixDataType:t}=n;function r(a){if(!(this instanceof r))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(r)}),e}var bJ="FibonacciHeap",xJ=["smaller","larger"],Fx=T(bJ,xJ,n=>{var{smaller:e,larger:t}=n,r=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(c,f){var p={key:c,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(c,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 c=this._minimum;if(c===null)return c;for(var f=this._minimum,p=c.degree,m=c.child;p>0;){var h=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=h,p--}return c.left.right=c.right,c.right.left=c.left,c===c.right?f=null:(f=c.right,f=l(f,this._size)),this._size--,this._minimum=f,c},i.prototype.remove=function(c){this._minimum=a(this._minimum,c,-1),this.extractMinimum()};function a(c,f,p){f.key=p;var m=f.parent;return m&&e(f.key,m.key)&&(o(c,f,m),u(c,m)),e(f.key,c.key)&&(c=f),c}function o(c,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=c,f.right=c.right,c.right=f,f.right.left=f,f.parent=null,f.mark=!1}function u(c,f){var p=f.parent;p&&(f.mark?(o(c,f,p),u(p)):f.mark=!0)}var s=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 l(c,f){var p=Math.floor(Math.log(f)*r)+1,m=new Array(p),h=0,d=c;if(d)for(h++,d=d.right;d!==c;)h++,d=d.right;for(var g;h>0;){for(var y=d.degree,S=d.right;g=m[y],!!g;){if(t(d.key,g.key)){var b=g;g=d,d=b}s(g,d),m[y]=null,y++}m[y]=d,d=S,h--}c=null;for(var w=0;w{var{addScalar:e,equalScalar:t,FibonacciHeap:r}=n;function i(){if(!(this instanceof i))throw new SyntaxError("Constructor must be called with the new operator");this._values=[],this._heap=new r}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 s=this._heap,l=this._values,c=[],f=s.extractMinimum();for(f&&c.push(f);f&&f.key<=o;)f.key>=a&&(t(f.value,0)||u(f.key,f.value,this)),f=s.extractMinimum(),f&&c.push(f);for(var p=0;p{var{on:e,config:t,addScalar:r,subtractScalar:i,multiplyScalar:a,divideScalar:o,pow:u,abs:s,fix:l,round:c,equal:f,isNumeric:p,format:m,number:h,Complex:d,BigNumber:g,Fraction:y}=n,S=h;function b(te,oe){if(!(this instanceof b))throw new Error("Constructor must be called with the new operator");if(!(te==null||p(te)||gi(te)))throw new TypeError("First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined");if(this.fixPrefix=!1,this.skipAutomaticSimplification=!0,oe===void 0)this.units=[],this.dimensions=W.map(ie=>0);else if(typeof oe=="string"){var he=b.parse(oe);this.units=he.units,this.dimensions=he.dimensions}else if(Un(oe)&&oe.value===null)this.fixPrefix=oe.fixPrefix,this.skipAutomaticSimplification=oe.skipAutomaticSimplification,this.dimensions=oe.dimensions.slice(0),this.units=oe.units.map(ie=>zr({},ie));else throw new TypeError("Second parameter in Unit constructor must be a string or valueless Unit");this.value=this._normalize(te)}Object.defineProperty(b,"name",{value:"Unit"}),b.prototype.constructor=b,b.prototype.type="Unit",b.prototype.isUnit=!0;var w,A,x;function D(){for(;x===" "||x===" ";)N()}function E(te){return te>="0"&&te<="9"||te==="."}function _(te){return te>="0"&&te<="9"}function N(){A++,x=w.charAt(A)}function P(te){A=te,x=w.charAt(A)}function B(){var te="",oe=A;if(x==="+"?N():x==="-"&&(te+=x,N()),!E(x))return P(oe),null;if(x==="."){if(te+=x,N(),!_(x))return P(oe),null}else{for(;_(x);)te+=x,N();x==="."&&(te+=x,N())}for(;_(x);)te+=x,N();if(x==="E"||x==="e"){var he="",ie=A;if(he+=x,N(),(x==="+"||x==="-")&&(he+=x,N()),!_(x))return P(ie),te;for(te=te+he;_(x);)te+=x,N()}return te}function V(){for(var te="";_(x)||b.isValidAlpha(x);)te+=x,N();var oe=te.charAt(0);return b.isValidAlpha(oe)?te:null}function z(te){return x===te?(N(),te):null}b.parse=function(te,oe){if(oe=oe||{},w=te,A=-1,x="",typeof w!="string")throw new TypeError("Invalid argument in Unit.parse, string expected");var he=new b;he.units=[];var ie=1,re=!1;N(),D();var le=B(),Te=null;if(le){if(t.number==="BigNumber")Te=new g(le);else if(t.number==="Fraction")try{Te=new y(le)}catch{Te=parseFloat(le)}else Te=parseFloat(le);D(),z("*")?(ie=1,re=!0):z("/")&&(ie=-1,re=!0)}for(var Ie=[],Ze=1;;){for(D();x==="(";)Ie.push(ie),Ze*=ie,ie=1,N(),D();var xe=void 0;if(x){var ht=x;if(xe=V(),xe===null)throw new SyntaxError('Unexpected "'+ht+'" in "'+w+'" at index '+A.toString())}else break;var Nt=L(xe);if(Nt===null)throw new SyntaxError('Unit "'+xe+'" not found.');var Ht=ie*Ze;if(D(),z("^")){D();var Et=B();if(Et===null)throw new SyntaxError('In "'+te+'", "^" must be followed by a floating-point number');Ht*=Et}he.units.push({unit:Nt.unit,prefix:Nt.prefix,power:Ht});for(var ae=0;ae1||Math.abs(this.units[0].power-1)>1e-15},b.prototype._normalize=function(te){if(te==null||this.units.length===0)return te;for(var oe=te,he=b._getNumberConverter(Kt(te)),ie=0;ie{if(ut(U,te)){var oe=U[te],he=oe.prefixes[""];return{unit:oe,prefix:he}}for(var ie in U)if(ut(U,ie)&&JN(te,ie)){var re=U[ie],le=te.length-ie.length,Te=te.substring(0,le),Ie=ut(re.prefixes,Te)?re.prefixes[Te]:void 0;if(Ie!==void 0)return{unit:re,prefix:Ie}}return null},{hasher:te=>te[0],limit:100});b.isValuelessUnit=function(te){return L(te)!==null},b.prototype.hasBase=function(te){if(typeof te=="string"&&(te=O[te]),!te)return!1;for(var oe=0;oe1e-12)return!1;return!0},b.prototype.equalBase=function(te){for(var oe=0;oe1e-12)return!1;return!0},b.prototype.equals=function(te){return this.equalBase(te)&&f(this.value,te.value)},b.prototype.multiply=function(te){for(var oe=this.clone(),he=Un(te)?te:new b(te),ie=0;ie1e-12&&(ut(_e,Ie)?oe.push({unit:_e[Ie].unit,prefix:_e[Ie].prefix,power:te.dimensions[Te]||0}):le=!0)}oe.length1e-12)if(ut(pe.si,ie))oe.push({unit:pe.si[ie].unit,prefix:pe.si[ie].prefix,power:te.dimensions[he]||0});else throw new Error("Cannot express custom unit "+ie+" in SI units")}return te.units=oe,te.fixPrefix=!0,te.skipAutomaticSimplification=!0,this.value!==null?(te.value=null,this.to(te)):te},b.prototype.formatUnits=function(){for(var te="",oe="",he=0,ie=0,re=0;re0?(he++,te+=" "+this.units[re].prefix.name+this.units[re].unit.name,Math.abs(this.units[re].power-1)>1e-15&&(te+="^"+this.units[re].power)):this.units[re].power<0&&ie++;if(ie>0)for(var le=0;le0?(oe+=" "+this.units[le].prefix.name+this.units[le].unit.name,Math.abs(this.units[le].power+1)>1e-15&&(oe+="^"+-this.units[le].power)):(oe+=" "+this.units[le].prefix.name+this.units[le].unit.name,oe+="^"+this.units[le].power));te=te.substr(1),oe=oe.substr(1),he>1&&ie>0&&(te="("+te+")"),ie>1&&he>0&&(oe="("+oe+")");var Te=te;return he>0&&ie>0&&(Te+=" / "),Te+=oe,Te},b.prototype.format=function(te){var oe=this.skipAutomaticSimplification||this.value===null?this.clone():this.simplify(),he=!1;typeof oe.value<"u"&&oe.value!==null&&gi(oe.value)&&(he=Math.abs(oe.value.re)<1e-14);for(var ie in oe.units)ut(oe.units,ie)&&oe.units[ie].unit&&(oe.units[ie].unit.name==="VA"&&he?oe.units[ie].unit=U.VAR:oe.units[ie].unit.name==="VAR"&&!he&&(oe.units[ie].unit=U.VA));oe.units.length===1&&!oe.fixPrefix&&Math.abs(oe.units[0].power-Math.round(oe.units[0].power))<1e-14&&(oe.units[0].prefix=oe._bestPrefix());var re=oe._denormalize(oe.value),le=oe.value!==null?m(re,te||{}):"",Te=oe.formatUnits();return oe.value&&gi(oe.value)&&(le="("+le+")"),Te.length>0&&le.length>0&&(le+=" "),le+=Te,le},b.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 te=this.value!==null?s(this.value):0,oe=s(this.units[0].unit.value),he=this.units[0].prefix;if(te===0)return he;var ie=this.units[0].power,re=Math.log(te/Math.pow(he.value*oe,ie))/Math.LN10-1.2;if(re>-2.200001&&re<1.800001)return he;re=Math.abs(re);var le=this.units[0].unit.prefixes;for(var Te in le)if(ut(le,Te)){var Ie=le[Te];if(Ie.scientific){var Ze=Math.abs(Math.log(te/Math.pow(Ie.value*oe,ie))/Math.LN10-1.2);(Ze0)},U={meter:{name:"meter",base:O.LENGTH,prefixes:C.LONG,value:1,offset:0},inch:{name:"inch",base:O.LENGTH,prefixes:C.NONE,value:.0254,offset:0},foot:{name:"foot",base:O.LENGTH,prefixes:C.NONE,value:.3048,offset:0},yard:{name:"yard",base:O.LENGTH,prefixes:C.NONE,value:.9144,offset:0},mile:{name:"mile",base:O.LENGTH,prefixes:C.NONE,value:1609.344,offset:0},link:{name:"link",base:O.LENGTH,prefixes:C.NONE,value:.201168,offset:0},rod:{name:"rod",base:O.LENGTH,prefixes:C.NONE,value:5.0292,offset:0},chain:{name:"chain",base:O.LENGTH,prefixes:C.NONE,value:20.1168,offset:0},angstrom:{name:"angstrom",base:O.LENGTH,prefixes:C.NONE,value:1e-10,offset:0},m:{name:"m",base:O.LENGTH,prefixes:C.SHORT,value:1,offset:0},in:{name:"in",base:O.LENGTH,prefixes:C.NONE,value:.0254,offset:0},ft:{name:"ft",base:O.LENGTH,prefixes:C.NONE,value:.3048,offset:0},yd:{name:"yd",base:O.LENGTH,prefixes:C.NONE,value:.9144,offset:0},mi:{name:"mi",base:O.LENGTH,prefixes:C.NONE,value:1609.344,offset:0},li:{name:"li",base:O.LENGTH,prefixes:C.NONE,value:.201168,offset:0},rd:{name:"rd",base:O.LENGTH,prefixes:C.NONE,value:5.02921,offset:0},ch:{name:"ch",base:O.LENGTH,prefixes:C.NONE,value:20.1168,offset:0},mil:{name:"mil",base:O.LENGTH,prefixes:C.NONE,value:254e-7,offset:0},m2:{name:"m2",base:O.SURFACE,prefixes:C.SQUARED,value:1,offset:0},sqin:{name:"sqin",base:O.SURFACE,prefixes:C.NONE,value:64516e-8,offset:0},sqft:{name:"sqft",base:O.SURFACE,prefixes:C.NONE,value:.09290304,offset:0},sqyd:{name:"sqyd",base:O.SURFACE,prefixes:C.NONE,value:.83612736,offset:0},sqmi:{name:"sqmi",base:O.SURFACE,prefixes:C.NONE,value:2589988110336e-6,offset:0},sqrd:{name:"sqrd",base:O.SURFACE,prefixes:C.NONE,value:25.29295,offset:0},sqch:{name:"sqch",base:O.SURFACE,prefixes:C.NONE,value:404.6873,offset:0},sqmil:{name:"sqmil",base:O.SURFACE,prefixes:C.NONE,value:64516e-14,offset:0},acre:{name:"acre",base:O.SURFACE,prefixes:C.NONE,value:4046.86,offset:0},hectare:{name:"hectare",base:O.SURFACE,prefixes:C.NONE,value:1e4,offset:0},m3:{name:"m3",base:O.VOLUME,prefixes:C.CUBIC,value:1,offset:0},L:{name:"L",base:O.VOLUME,prefixes:C.SHORT,value:.001,offset:0},l:{name:"l",base:O.VOLUME,prefixes:C.SHORT,value:.001,offset:0},litre:{name:"litre",base:O.VOLUME,prefixes:C.LONG,value:.001,offset:0},cuin:{name:"cuin",base:O.VOLUME,prefixes:C.NONE,value:16387064e-12,offset:0},cuft:{name:"cuft",base:O.VOLUME,prefixes:C.NONE,value:.028316846592,offset:0},cuyd:{name:"cuyd",base:O.VOLUME,prefixes:C.NONE,value:.764554857984,offset:0},teaspoon:{name:"teaspoon",base:O.VOLUME,prefixes:C.NONE,value:5e-6,offset:0},tablespoon:{name:"tablespoon",base:O.VOLUME,prefixes:C.NONE,value:15e-6,offset:0},drop:{name:"drop",base:O.VOLUME,prefixes:C.NONE,value:5e-8,offset:0},gtt:{name:"gtt",base:O.VOLUME,prefixes:C.NONE,value:5e-8,offset:0},minim:{name:"minim",base:O.VOLUME,prefixes:C.NONE,value:6161152e-14,offset:0},fluiddram:{name:"fluiddram",base:O.VOLUME,prefixes:C.NONE,value:36966911e-13,offset:0},fluidounce:{name:"fluidounce",base:O.VOLUME,prefixes:C.NONE,value:2957353e-11,offset:0},gill:{name:"gill",base:O.VOLUME,prefixes:C.NONE,value:.0001182941,offset:0},cc:{name:"cc",base:O.VOLUME,prefixes:C.NONE,value:1e-6,offset:0},cup:{name:"cup",base:O.VOLUME,prefixes:C.NONE,value:.0002365882,offset:0},pint:{name:"pint",base:O.VOLUME,prefixes:C.NONE,value:.0004731765,offset:0},quart:{name:"quart",base:O.VOLUME,prefixes:C.NONE,value:.0009463529,offset:0},gallon:{name:"gallon",base:O.VOLUME,prefixes:C.NONE,value:.003785412,offset:0},beerbarrel:{name:"beerbarrel",base:O.VOLUME,prefixes:C.NONE,value:.1173478,offset:0},oilbarrel:{name:"oilbarrel",base:O.VOLUME,prefixes:C.NONE,value:.1589873,offset:0},hogshead:{name:"hogshead",base:O.VOLUME,prefixes:C.NONE,value:.238481,offset:0},fldr:{name:"fldr",base:O.VOLUME,prefixes:C.NONE,value:36966911e-13,offset:0},floz:{name:"floz",base:O.VOLUME,prefixes:C.NONE,value:2957353e-11,offset:0},gi:{name:"gi",base:O.VOLUME,prefixes:C.NONE,value:.0001182941,offset:0},cp:{name:"cp",base:O.VOLUME,prefixes:C.NONE,value:.0002365882,offset:0},pt:{name:"pt",base:O.VOLUME,prefixes:C.NONE,value:.0004731765,offset:0},qt:{name:"qt",base:O.VOLUME,prefixes:C.NONE,value:.0009463529,offset:0},gal:{name:"gal",base:O.VOLUME,prefixes:C.NONE,value:.003785412,offset:0},bbl:{name:"bbl",base:O.VOLUME,prefixes:C.NONE,value:.1173478,offset:0},obl:{name:"obl",base:O.VOLUME,prefixes:C.NONE,value:.1589873,offset:0},g:{name:"g",base:O.MASS,prefixes:C.SHORT,value:.001,offset:0},gram:{name:"gram",base:O.MASS,prefixes:C.LONG,value:.001,offset:0},ton:{name:"ton",base:O.MASS,prefixes:C.SHORT,value:907.18474,offset:0},t:{name:"t",base:O.MASS,prefixes:C.SHORT,value:1e3,offset:0},tonne:{name:"tonne",base:O.MASS,prefixes:C.LONG,value:1e3,offset:0},grain:{name:"grain",base:O.MASS,prefixes:C.NONE,value:6479891e-11,offset:0},dram:{name:"dram",base:O.MASS,prefixes:C.NONE,value:.0017718451953125,offset:0},ounce:{name:"ounce",base:O.MASS,prefixes:C.NONE,value:.028349523125,offset:0},poundmass:{name:"poundmass",base:O.MASS,prefixes:C.NONE,value:.45359237,offset:0},hundredweight:{name:"hundredweight",base:O.MASS,prefixes:C.NONE,value:45.359237,offset:0},stick:{name:"stick",base:O.MASS,prefixes:C.NONE,value:.115,offset:0},stone:{name:"stone",base:O.MASS,prefixes:C.NONE,value:6.35029318,offset:0},gr:{name:"gr",base:O.MASS,prefixes:C.NONE,value:6479891e-11,offset:0},dr:{name:"dr",base:O.MASS,prefixes:C.NONE,value:.0017718451953125,offset:0},oz:{name:"oz",base:O.MASS,prefixes:C.NONE,value:.028349523125,offset:0},lbm:{name:"lbm",base:O.MASS,prefixes:C.NONE,value:.45359237,offset:0},cwt:{name:"cwt",base:O.MASS,prefixes:C.NONE,value:45.359237,offset:0},s:{name:"s",base:O.TIME,prefixes:C.SHORT,value:1,offset:0},min:{name:"min",base:O.TIME,prefixes:C.NONE,value:60,offset:0},h:{name:"h",base:O.TIME,prefixes:C.NONE,value:3600,offset:0},second:{name:"second",base:O.TIME,prefixes:C.LONG,value:1,offset:0},sec:{name:"sec",base:O.TIME,prefixes:C.LONG,value:1,offset:0},minute:{name:"minute",base:O.TIME,prefixes:C.NONE,value:60,offset:0},hour:{name:"hour",base:O.TIME,prefixes:C.NONE,value:3600,offset:0},day:{name:"day",base:O.TIME,prefixes:C.NONE,value:86400,offset:0},week:{name:"week",base:O.TIME,prefixes:C.NONE,value:7*86400,offset:0},month:{name:"month",base:O.TIME,prefixes:C.NONE,value:2629800,offset:0},year:{name:"year",base:O.TIME,prefixes:C.NONE,value:31557600,offset:0},decade:{name:"decade",base:O.TIME,prefixes:C.NONE,value:315576e3,offset:0},century:{name:"century",base:O.TIME,prefixes:C.NONE,value:315576e4,offset:0},millennium:{name:"millennium",base:O.TIME,prefixes:C.NONE,value:315576e5,offset:0},hertz:{name:"Hertz",base:O.FREQUENCY,prefixes:C.LONG,value:1,offset:0,reciprocal:!0},Hz:{name:"Hz",base:O.FREQUENCY,prefixes:C.SHORT,value:1,offset:0,reciprocal:!0},rad:{name:"rad",base:O.ANGLE,prefixes:C.SHORT,value:1,offset:0},radian:{name:"radian",base:O.ANGLE,prefixes:C.LONG,value:1,offset:0},deg:{name:"deg",base:O.ANGLE,prefixes:C.SHORT,value:null,offset:0},degree:{name:"degree",base:O.ANGLE,prefixes:C.LONG,value:null,offset:0},grad:{name:"grad",base:O.ANGLE,prefixes:C.SHORT,value:null,offset:0},gradian:{name:"gradian",base:O.ANGLE,prefixes:C.LONG,value:null,offset:0},cycle:{name:"cycle",base:O.ANGLE,prefixes:C.NONE,value:null,offset:0},arcsec:{name:"arcsec",base:O.ANGLE,prefixes:C.NONE,value:null,offset:0},arcmin:{name:"arcmin",base:O.ANGLE,prefixes:C.NONE,value:null,offset:0},A:{name:"A",base:O.CURRENT,prefixes:C.SHORT,value:1,offset:0},ampere:{name:"ampere",base:O.CURRENT,prefixes:C.LONG,value:1,offset:0},K:{name:"K",base:O.TEMPERATURE,prefixes:C.SHORT,value:1,offset:0},degC:{name:"degC",base:O.TEMPERATURE,prefixes:C.SHORT,value:1,offset:273.15},degF:{name:"degF",base:O.TEMPERATURE,prefixes:C.SHORT,value:new y(5,9),offset:459.67},degR:{name:"degR",base:O.TEMPERATURE,prefixes:C.SHORT,value:new y(5,9),offset:0},kelvin:{name:"kelvin",base:O.TEMPERATURE,prefixes:C.LONG,value:1,offset:0},celsius:{name:"celsius",base:O.TEMPERATURE,prefixes:C.LONG,value:1,offset:273.15},fahrenheit:{name:"fahrenheit",base:O.TEMPERATURE,prefixes:C.LONG,value:new y(5,9),offset:459.67},rankine:{name:"rankine",base:O.TEMPERATURE,prefixes:C.LONG,value:new y(5,9),offset:0},mol:{name:"mol",base:O.AMOUNT_OF_SUBSTANCE,prefixes:C.SHORT,value:1,offset:0},mole:{name:"mole",base:O.AMOUNT_OF_SUBSTANCE,prefixes:C.LONG,value:1,offset:0},cd:{name:"cd",base:O.LUMINOUS_INTENSITY,prefixes:C.SHORT,value:1,offset:0},candela:{name:"candela",base:O.LUMINOUS_INTENSITY,prefixes:C.LONG,value:1,offset:0},N:{name:"N",base:O.FORCE,prefixes:C.SHORT,value:1,offset:0},newton:{name:"newton",base:O.FORCE,prefixes:C.LONG,value:1,offset:0},dyn:{name:"dyn",base:O.FORCE,prefixes:C.SHORT,value:1e-5,offset:0},dyne:{name:"dyne",base:O.FORCE,prefixes:C.LONG,value:1e-5,offset:0},lbf:{name:"lbf",base:O.FORCE,prefixes:C.NONE,value:4.4482216152605,offset:0},poundforce:{name:"poundforce",base:O.FORCE,prefixes:C.NONE,value:4.4482216152605,offset:0},kip:{name:"kip",base:O.FORCE,prefixes:C.LONG,value:4448.2216,offset:0},kilogramforce:{name:"kilogramforce",base:O.FORCE,prefixes:C.NONE,value:9.80665,offset:0},J:{name:"J",base:O.ENERGY,prefixes:C.SHORT,value:1,offset:0},joule:{name:"joule",base:O.ENERGY,prefixes:C.LONG,value:1,offset:0},erg:{name:"erg",base:O.ENERGY,prefixes:C.SHORTLONG,value:1e-7,offset:0},Wh:{name:"Wh",base:O.ENERGY,prefixes:C.SHORT,value:3600,offset:0},BTU:{name:"BTU",base:O.ENERGY,prefixes:C.BTU,value:1055.05585262,offset:0},eV:{name:"eV",base:O.ENERGY,prefixes:C.SHORT,value:1602176565e-28,offset:0},electronvolt:{name:"electronvolt",base:O.ENERGY,prefixes:C.LONG,value:1602176565e-28,offset:0},W:{name:"W",base:O.POWER,prefixes:C.SHORT,value:1,offset:0},watt:{name:"watt",base:O.POWER,prefixes:C.LONG,value:1,offset:0},hp:{name:"hp",base:O.POWER,prefixes:C.NONE,value:745.6998715386,offset:0},VAR:{name:"VAR",base:O.POWER,prefixes:C.SHORT,value:d.I,offset:0},VA:{name:"VA",base:O.POWER,prefixes:C.SHORT,value:1,offset:0},Pa:{name:"Pa",base:O.PRESSURE,prefixes:C.SHORT,value:1,offset:0},psi:{name:"psi",base:O.PRESSURE,prefixes:C.NONE,value:6894.75729276459,offset:0},atm:{name:"atm",base:O.PRESSURE,prefixes:C.NONE,value:101325,offset:0},bar:{name:"bar",base:O.PRESSURE,prefixes:C.SHORTLONG,value:1e5,offset:0},torr:{name:"torr",base:O.PRESSURE,prefixes:C.NONE,value:133.322,offset:0},mmHg:{name:"mmHg",base:O.PRESSURE,prefixes:C.NONE,value:133.322,offset:0},mmH2O:{name:"mmH2O",base:O.PRESSURE,prefixes:C.NONE,value:9.80665,offset:0},cmH2O:{name:"cmH2O",base:O.PRESSURE,prefixes:C.NONE,value:98.0665,offset:0},coulomb:{name:"coulomb",base:O.ELECTRIC_CHARGE,prefixes:C.LONG,value:1,offset:0},C:{name:"C",base:O.ELECTRIC_CHARGE,prefixes:C.SHORT,value:1,offset:0},farad:{name:"farad",base:O.ELECTRIC_CAPACITANCE,prefixes:C.LONG,value:1,offset:0},F:{name:"F",base:O.ELECTRIC_CAPACITANCE,prefixes:C.SHORT,value:1,offset:0},volt:{name:"volt",base:O.ELECTRIC_POTENTIAL,prefixes:C.LONG,value:1,offset:0},V:{name:"V",base:O.ELECTRIC_POTENTIAL,prefixes:C.SHORT,value:1,offset:0},ohm:{name:"ohm",base:O.ELECTRIC_RESISTANCE,prefixes:C.SHORTLONG,value:1,offset:0},henry:{name:"henry",base:O.ELECTRIC_INDUCTANCE,prefixes:C.LONG,value:1,offset:0},H:{name:"H",base:O.ELECTRIC_INDUCTANCE,prefixes:C.SHORT,value:1,offset:0},siemens:{name:"siemens",base:O.ELECTRIC_CONDUCTANCE,prefixes:C.LONG,value:1,offset:0},S:{name:"S",base:O.ELECTRIC_CONDUCTANCE,prefixes:C.SHORT,value:1,offset:0},weber:{name:"weber",base:O.MAGNETIC_FLUX,prefixes:C.LONG,value:1,offset:0},Wb:{name:"Wb",base:O.MAGNETIC_FLUX,prefixes:C.SHORT,value:1,offset:0},tesla:{name:"tesla",base:O.MAGNETIC_FLUX_DENSITY,prefixes:C.LONG,value:1,offset:0},T:{name:"T",base:O.MAGNETIC_FLUX_DENSITY,prefixes:C.SHORT,value:1,offset:0},b:{name:"b",base:O.BIT,prefixes:C.BINARY_SHORT,value:1,offset:0},bits:{name:"bits",base:O.BIT,prefixes:C.BINARY_LONG,value:1,offset:0},B:{name:"B",base:O.BIT,prefixes:C.BINARY_SHORT,value:8,offset:0},bytes:{name:"bytes",base:O.BIT,prefixes:C.BINARY_LONG,value:8,offset:0}},me={meters:"meter",inches:"inch",feet:"foot",yards:"yard",miles:"mile",links:"link",rods:"rod",chains:"chain",angstroms:"angstrom",lt:"l",litres:"litre",liter:"litre",liters:"litre",teaspoons:"teaspoon",tablespoons:"tablespoon",minims:"minim",fluiddrams:"fluiddram",fluidounces:"fluidounce",gills:"gill",cups:"cup",pints:"pint",quarts:"quart",gallons:"gallon",beerbarrels:"beerbarrel",oilbarrels:"oilbarrel",hogsheads:"hogshead",gtts:"gtt",grams:"gram",tons:"ton",tonnes:"tonne",grains:"grain",drams:"dram",ounces:"ounce",poundmasses:"poundmass",hundredweights:"hundredweight",sticks:"stick",lb:"lbm",lbs:"lbm",kips:"kip",kgf:"kilogramforce",acres:"acre",hectares:"hectare",sqfeet:"sqft",sqyard:"sqyd",sqmile:"sqmi",sqmiles:"sqmi",mmhg:"mmHg",mmh2o:"mmH2O",cmh2o:"cmH2O",seconds:"second",secs:"second",minutes:"minute",mins:"minute",hours:"hour",hr:"hour",hrs:"hour",days:"day",weeks:"week",months:"month",years:"year",decades:"decade",centuries:"century",millennia:"millennium",hertz:"hertz",radians:"radian",degrees:"degree",gradians:"gradian",cycles:"cycle",arcsecond:"arcsec",arcseconds:"arcsec",arcminute:"arcmin",arcminutes:"arcmin",BTUs:"BTU",watts:"watt",joules:"joule",amperes:"ampere",amps:"ampere",amp:"ampere",coulombs:"coulomb",volts:"volt",ohms:"ohm",farads:"farad",webers:"weber",teslas:"tesla",electronvolts:"electronvolt",moles:"mole",bit:"bits",byte:"bytes"};function De(te){if(te.number==="BigNumber"){var oe=Yc(g);U.rad.value=new g(1),U.deg.value=oe.div(180),U.grad.value=oe.div(200),U.cycle.value=oe.times(2),U.arcsec.value=oe.div(648e3),U.arcmin.value=oe.div(10800)}else U.rad.value=1,U.deg.value=Math.PI/180,U.grad.value=Math.PI/200,U.cycle.value=Math.PI*2,U.arcsec.value=Math.PI/648e3,U.arcmin.value=Math.PI/10800;U.radian.value=U.rad.value,U.degree.value=U.deg.value,U.gradian.value=U.grad.value}De(t),e&&e("config",function(te,oe){te.number!==oe.number&&De(te)});var pe={si:{NONE:{unit:Q,prefix:C.NONE[""]},LENGTH:{unit:U.m,prefix:C.SHORT[""]},MASS:{unit:U.g,prefix:C.SHORT.k},TIME:{unit:U.s,prefix:C.SHORT[""]},CURRENT:{unit:U.A,prefix:C.SHORT[""]},TEMPERATURE:{unit:U.K,prefix:C.SHORT[""]},LUMINOUS_INTENSITY:{unit:U.cd,prefix:C.SHORT[""]},AMOUNT_OF_SUBSTANCE:{unit:U.mol,prefix:C.SHORT[""]},ANGLE:{unit:U.rad,prefix:C.SHORT[""]},BIT:{unit:U.bits,prefix:C.SHORT[""]},FORCE:{unit:U.N,prefix:C.SHORT[""]},ENERGY:{unit:U.J,prefix:C.SHORT[""]},POWER:{unit:U.W,prefix:C.SHORT[""]},PRESSURE:{unit:U.Pa,prefix:C.SHORT[""]},ELECTRIC_CHARGE:{unit:U.C,prefix:C.SHORT[""]},ELECTRIC_CAPACITANCE:{unit:U.F,prefix:C.SHORT[""]},ELECTRIC_POTENTIAL:{unit:U.V,prefix:C.SHORT[""]},ELECTRIC_RESISTANCE:{unit:U.ohm,prefix:C.SHORT[""]},ELECTRIC_INDUCTANCE:{unit:U.H,prefix:C.SHORT[""]},ELECTRIC_CONDUCTANCE:{unit:U.S,prefix:C.SHORT[""]},MAGNETIC_FLUX:{unit:U.Wb,prefix:C.SHORT[""]},MAGNETIC_FLUX_DENSITY:{unit:U.T,prefix:C.SHORT[""]},FREQUENCY:{unit:U.Hz,prefix:C.SHORT[""]}}};pe.cgs=JSON.parse(JSON.stringify(pe.si)),pe.cgs.LENGTH={unit:U.m,prefix:C.SHORT.c},pe.cgs.MASS={unit:U.g,prefix:C.SHORT[""]},pe.cgs.FORCE={unit:U.dyn,prefix:C.SHORT[""]},pe.cgs.ENERGY={unit:U.erg,prefix:C.NONE[""]},pe.us=JSON.parse(JSON.stringify(pe.si)),pe.us.LENGTH={unit:U.ft,prefix:C.NONE[""]},pe.us.MASS={unit:U.lbm,prefix:C.NONE[""]},pe.us.TEMPERATURE={unit:U.degF,prefix:C.NONE[""]},pe.us.FORCE={unit:U.lbf,prefix:C.NONE[""]},pe.us.ENERGY={unit:U.BTU,prefix:C.BTU[""]},pe.us.POWER={unit:U.hp,prefix:C.NONE[""]},pe.us.PRESSURE={unit:U.psi,prefix:C.NONE[""]},pe.auto=JSON.parse(JSON.stringify(pe.si));var _e=pe.auto;b.setUnitSystem=function(te){if(ut(pe,te))_e=pe[te];else throw new Error("Unit system "+te+" does not exist. Choices are: "+Object.keys(pe).join(", "))},b.getUnitSystem=function(){for(var te in pe)if(ut(pe,te)&&pe[te]===_e)return te},b.typeConverters={BigNumber:function(oe){return oe!=null&&oe.isFraction?new g(oe.n).div(oe.d).times(oe.s):new g(oe+"")},Fraction:function(oe){return new y(oe)},Complex:function(oe){return oe},number:function(oe){return oe!=null&&oe.isFraction?h(oe):oe}},b.prototype._numberConverter=function(){var te=b.typeConverters[this.valueType()];if(te)return te;throw new TypeError('Unsupported Unit value type "'+this.valueType()+'"')},b._getNumberConverter=function(te){if(!b.typeConverters[te])throw new TypeError('Unsupported type "'+te+'"');return b.typeConverters[te]};for(var Ne in U)if(ut(U,Ne)){var Se=U[Ne];Se.dimensions=Se.base.dimensions}for(var Me in me)if(ut(me,Me)){var Ee=U[me[Me]],Ce={};for(var Ge in Ee)ut(Ee,Ge)&&(Ce[Ge]=Ee[Ge]);Ce.name=Me,U[Me]=Ce}b.isValidAlpha=function(oe){return/^[a-zA-Z]$/.test(oe)};function We(te){for(var oe=0;oe0&&!(b.isValidAlpha(x)||_(x)))throw new Error('Invalid unit name (only alphanumeric characters are allowed): "'+te+'"')}}return b.createUnit=function(te,oe){if(typeof te!="object")throw new TypeError("createUnit expects first parameter to be of type 'Object'");if(oe&&oe.override){for(var he in te)if(ut(te,he)&&b.deleteUnit(he),te[he].aliases)for(var ie=0;ie"u"||oe===null)&&(oe={}),typeof te!="string")throw new TypeError("createUnitSingle expects first parameter to be of type 'string'");if(ut(U,te))throw new Error('Cannot create unit "'+te+'": a unit with that name already exists');We(te);var he=null,ie=[],re=0,le,Te,Ie;if(oe&&oe.type==="Unit")he=oe.clone();else if(typeof oe=="string")oe!==""&&(le=oe);else if(typeof oe=="object")le=oe.definition,Te=oe.prefixes,re=oe.offset,Ie=oe.baseName,oe.aliases&&(ie=oe.aliases.valueOf());else throw new TypeError('Cannot create unit "'+te+'" from "'+oe.toString()+'": expecting "string" or "Unit" or "Object"');if(ie){for(var Ze=0;Ze1e-12){de=!1;break}if(de){Et=!0,xe.base=O[ae];break}}if(!Et){Ie=Ie||te+"_STUFF";var qe={dimensions:he.dimensions.slice(0)};qe.key=Ie,O[Ie]=qe,_e[Ie]={unit:xe,prefix:C.NONE[""]},xe.base=O[Ie]}}else{if(Ie=Ie||te+"_STUFF",W.indexOf(Ie)>=0)throw new Error('Cannot create new base unit "'+te+'": a base unit with that name already exists (and cannot be overridden)');W.push(Ie);for(var ht in O)ut(O,ht)&&(O[ht].dimensions[W.length-1]=0);for(var Nt={dimensions:[]},Ht=0;Ht{var{typed:e,Unit:t}=n;return e(r2,{Unit:function(i){return i.clone()},string:function(i){return t.isValuelessUnit(i)?new t(null,i):t.parse(i,{allowNoUnits:!0})},"number | BigNumber | Fraction | Complex, string | Unit":function(i,a){return new t(i,a)},"number | BigNumber | Fraction":function(i){return new t(i)},"Array | Matrix":e.referToSelf(r=>i=>lt(i,r))})});var n2="sparse",EJ=["typed","SparseMatrix"],Ox=T(n2,EJ,n=>{var{typed:e,SparseMatrix:t}=n;return e(n2,{"":function(){return new t([])},string:function(i){return new t([],i)},"Array | Matrix":function(i){return new t(i)},"Array | Matrix, string":function(i,a){return new t(i,a)}})});var i2="createUnit",DJ=["typed","Unit"],Rx=T(i2,DJ,n=>{var{typed:e,Unit:t}=n;return e(i2,{"Object, Object":function(i,a){return t.createUnit(i,a)},Object:function(i){return t.createUnit(i,{})},"string, Unit | string | Object, Object":function(i,a,o){var u={};return u[i]=a,t.createUnit(u,o)},"string, Unit | string | Object":function(i,a){var o={};return o[i]=a,t.createUnit(o,{})},string:function(i){var a={};return a[i]={},t.createUnit(a,{})}})});var a2="acos",NJ=["typed","config","Complex"],Lx=T(a2,NJ,n=>{var{typed:e,config:t,Complex:r}=n;return e(a2,{number:function(a){return a>=-1&&a<=1||t.predictable?Math.acos(a):new r(a,0).acos()},Complex:function(a){return a.acos()},BigNumber:function(a){return a.acos()}})});var o2="acosh",TJ=["typed","config","Complex"],Vx=T(o2,TJ,n=>{var{typed:e,config:t,Complex:r}=n;return e(o2,{number:function(a){return a>=1||t.predictable?Zy(a):a<=-1?new r(Math.log(Math.sqrt(a*a-1)-a),Math.PI):new r(a,0).acosh()},Complex:function(a){return a.acosh()},BigNumber:function(a){return a.acosh()}})});var s2="acot",CJ=["typed","BigNumber"],Ux=T(s2,CJ,n=>{var{typed:e,BigNumber:t}=n;return e(s2,{number:Jy,Complex:function(i){return i.acot()},BigNumber:function(i){return new t(1).div(i).atan()}})});var u2="acoth",FJ=["typed","config","Complex","BigNumber"],qx=T(u2,FJ,n=>{var{typed:e,config:t,Complex:r,BigNumber:i}=n;return e(u2,{number:function(o){return o>=1||o<=-1||t.predictable?Xy(o):new r(o,0).acoth()},Complex:function(o){return o.acoth()},BigNumber:function(o){return new i(1).div(o).atanh()}})});var l2="acsc",IJ=["typed","config","Complex","BigNumber"],zx=T(l2,IJ,n=>{var{typed:e,config:t,Complex:r,BigNumber:i}=n;return e(l2,{number:function(o){return o<=-1||o>=1||t.predictable?Qy(o):new r(o,0).acsc()},Complex:function(o){return o.acsc()},BigNumber:function(o){return new i(1).div(o).asin()}})});var c2="acsch",PJ=["typed","BigNumber"],$x=T(c2,PJ,n=>{var{typed:e,BigNumber:t}=n;return e(c2,{number:Ky,Complex:function(i){return i.acsch()},BigNumber:function(i){return new t(1).div(i).asinh()}})});var f2="asec",kJ=["typed","config","Complex","BigNumber"],Hx=T(f2,kJ,n=>{var{typed:e,config:t,Complex:r,BigNumber:i}=n;return e(f2,{number:function(o){return o<=-1||o>=1||t.predictable?e0(o):new r(o,0).asec()},Complex:function(o){return o.asec()},BigNumber:function(o){return new i(1).div(o).acos()}})});var p2="asech",BJ=["typed","config","Complex","BigNumber"],Gx=T(p2,BJ,n=>{var{typed:e,config:t,Complex:r,BigNumber:i}=n;return e(p2,{number:function(o){if(o<=1&&o>=-1||t.predictable){var u=1/o;if(u>0||t.predictable)return t0(o);var s=Math.sqrt(u*u-1);return new r(Math.log(s-u),Math.PI)}return new r(o,0).asech()},Complex:function(o){return o.asech()},BigNumber:function(o){return new i(1).div(o).acosh()}})});var m2="asin",OJ=["typed","config","Complex"],Wx=T(m2,OJ,n=>{var{typed:e,config:t,Complex:r}=n;return e(m2,{number:function(a){return a>=-1&&a<=1||t.predictable?Math.asin(a):new r(a,0).asin()},Complex:function(a){return a.asin()},BigNumber:function(a){return a.asin()}})});var RJ="asinh",LJ=["typed"],Yx=T(RJ,LJ,n=>{var{typed:e}=n;return e("asinh",{number:r0,Complex:function(r){return r.asinh()},BigNumber:function(r){return r.asinh()}})});var VJ="atan",UJ=["typed"],jx=T(VJ,UJ,n=>{var{typed:e}=n;return e("atan",{number:function(r){return Math.atan(r)},Complex:function(r){return r.atan()},BigNumber:function(r){return r.atan()}})});var d2="atan2",qJ=["typed","matrix","equalScalar","BigNumber","DenseMatrix","concat"],Zx=T(d2,qJ,n=>{var{typed:e,matrix:t,equalScalar:r,BigNumber:i,DenseMatrix:a,concat:o}=n,u=mn({typed:e,equalScalar:r}),s=kr({typed:e}),l=Rm({typed:e,equalScalar:r}),c=xr({typed:e,equalScalar:r}),f=cr({typed:e,DenseMatrix:a}),p=Ct({typed:e,matrix:t,concat:o});return e(d2,{"number, number":Math.atan2,"BigNumber, BigNumber":(m,h)=>i.atan2(m,h)},p({scalar:"number | BigNumber",SS:l,DS:s,SD:u,Ss:c,sS:f}))});var h2="atanh",zJ=["typed","config","Complex"],Jx=T(h2,zJ,n=>{var{typed:e,config:t,Complex:r}=n;return e(h2,{number:function(a){return a<=1&&a>=-1||t.predictable?n0(a):new r(a,0).atanh()},Complex:function(a){return a.atanh()},BigNumber:function(a){return a.atanh()}})});var pa=T("trigUnit",["typed"],n=>{var{typed:e}=n;return{Unit:e.referToSelf(t=>r=>{if(!r.hasBase(r.constructor.BASE_UNITS.ANGLE))throw new TypeError("Unit in function cot is no angle");return e.find(t,r.valueType())(r.value)})}});var g2="cos",$J=["typed"],Xx=T(g2,$J,n=>{var{typed:e}=n,t=pa({typed:e});return e(g2,{number:Math.cos,"Complex | BigNumber":r=>r.cos()},t)});var v2="cosh",HJ=["typed"],Qx=T(v2,HJ,n=>{var{typed:e}=n;return e(v2,{number:vm,"Complex | BigNumber":t=>t.cosh()})});var y2="cot",GJ=["typed","BigNumber"],Kx=T(y2,GJ,n=>{var{typed:e,BigNumber:t}=n,r=pa({typed:e});return e(y2,{number:i0,Complex:i=>i.cot(),BigNumber:i=>new t(1).div(i.tan())},r)});var b2="coth",WJ=["typed","BigNumber"],e1=T(b2,WJ,n=>{var{typed:e,BigNumber:t}=n;return e(b2,{number:a0,Complex:r=>r.coth(),BigNumber:r=>new t(1).div(r.tanh())})});var x2="csc",YJ=["typed","BigNumber"],t1=T(x2,YJ,n=>{var{typed:e,BigNumber:t}=n,r=pa({typed:e});return e(x2,{number:o0,Complex:i=>i.csc(),BigNumber:i=>new t(1).div(i.sin())},r)});var w2="csch",jJ=["typed","BigNumber"],r1=T(w2,jJ,n=>{var{typed:e,BigNumber:t}=n;return e(w2,{number:s0,Complex:r=>r.csch(),BigNumber:r=>new t(1).div(r.sinh())})});var _2="sec",ZJ=["typed","BigNumber"],n1=T(_2,ZJ,n=>{var{typed:e,BigNumber:t}=n,r=pa({typed:e});return e(_2,{number:u0,Complex:i=>i.sec(),BigNumber:i=>new t(1).div(i.cos())},r)});var S2="sech",JJ=["typed","BigNumber"],i1=T(S2,JJ,n=>{var{typed:e,BigNumber:t}=n;return e(S2,{number:l0,Complex:r=>r.sech(),BigNumber:r=>new t(1).div(r.cosh())})});var A2="sin",XJ=["typed"],a1=T(A2,XJ,n=>{var{typed:e}=n,t=pa({typed:e});return e(A2,{number:Math.sin,"Complex | BigNumber":r=>r.sin()},t)});var M2="sinh",QJ=["typed"],o1=T(M2,QJ,n=>{var{typed:e}=n;return e(M2,{number:c0,"Complex | BigNumber":t=>t.sinh()})});var E2="tan",KJ=["typed"],s1=T(E2,KJ,n=>{var{typed:e}=n,t=pa({typed:e});return e(E2,{number:Math.tan,"Complex | BigNumber":r=>r.tan()},t)});var eX="tanh",tX=["typed"],u1=T(eX,tX,n=>{var{typed:e}=n;return e("tanh",{number:ym,"Complex | BigNumber":t=>t.tanh()})});var D2="setCartesian",rX=["typed","size","subset","compareNatural","Index","DenseMatrix"],l1=T(D2,rX,n=>{var{typed:e,size:t,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=n;return e(D2,{"Array | Matrix, Array | Matrix":function(s,l){var c=[];if(r(t(s),new a(0))!==0&&r(t(l),new a(0))!==0){var f=kt(Array.isArray(s)?s:s.toArray()).sort(i),p=kt(Array.isArray(l)?l:l.toArray()).sort(i);c=[];for(var m=0;m{var{typed:e,size:t,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=n;return e(N2,{"Array | Matrix, Array | Matrix":function(s,l){var c;if(r(t(s),new a(0))===0)c=[];else{if(r(t(l),new a(0))===0)return kt(s.toArray());var f=Mo(kt(Array.isArray(s)?s:s.toArray()).sort(i)),p=Mo(kt(Array.isArray(l)?l:l.toArray()).sort(i));c=[];for(var m,h=0;h{var{typed:e,size:t,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=n;return e(T2,{"Array | Matrix":function(s){var l;if(r(t(s),new a(0))===0)l=[];else{var c=kt(Array.isArray(s)?s:s.toArray()).sort(i);l=[],l.push(c[0]);for(var f=1;f{var{typed:e,size:t,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=n;return e(C2,{"Array | Matrix, Array | Matrix":function(s,l){var c;if(r(t(s),new a(0))===0||r(t(l),new a(0))===0)c=[];else{var f=Mo(kt(Array.isArray(s)?s:s.toArray()).sort(i)),p=Mo(kt(Array.isArray(l)?l:l.toArray()).sort(i));c=[];for(var m=0;m{var{typed:e,size:t,subset:r,compareNatural:i,Index:a}=n;return e(F2,{"Array | Matrix, Array | Matrix":function(u,s){if(r(t(u),new a(0))===0)return!0;if(r(t(s),new a(0))===0)return!1;for(var l=Mo(kt(Array.isArray(u)?u:u.toArray()).sort(i)),c=Mo(kt(Array.isArray(s)?s:s.toArray()).sort(i)),f,p=0;p{var{typed:e,size:t,subset:r,compareNatural:i,Index:a}=n;return e(I2,{"number | BigNumber | Fraction | Complex, Array | Matrix":function(u,s){if(r(t(s),new a(0))===0)return 0;for(var l=kt(Array.isArray(s)?s:s.toArray()),c=0,f=0;f{var{typed:e,size:t,subset:r,compareNatural:i,Index:a}=n;return e(P2,{"Array | Matrix":function(l){if(r(t(l),new a(0))===0)return[];for(var c=kt(Array.isArray(l)?l:l.toArray()).sort(i),f=[],p=0;p.toString(2).length<=c.length;)f.push(o(c,p.toString(2).split("").reverse())),p++;return u(f)}});function o(s,l){for(var c=[],f=0;f0;c--)for(var f=0;fs[f+1].length&&(l=s[f],s[f]=s[f+1],s[f+1]=l);return s}});var k2="setSize",lX=["typed","compareNatural"],g1=T(k2,lX,n=>{var{typed:e,compareNatural:t}=n;return e(k2,{"Array | Matrix":function(i){return Array.isArray(i)?kt(i).length:kt(i.toArray()).length},"Array | Matrix, boolean":function(i,a){if(a===!1||i.length===0)return Array.isArray(i)?kt(i).length:kt(i.toArray()).length;for(var o=kt(Array.isArray(i)?i:i.toArray()).sort(t),u=1,s=1;s{var{typed:e,size:t,concat:r,subset:i,setDifference:a,Index:o}=n;return e(B2,{"Array | Matrix, Array | Matrix":function(s,l){if(i(t(s),new o(0))===0)return kt(l);if(i(t(l),new o(0))===0)return kt(s);var c=kt(s),f=kt(l);return r(a(c,f),a(f,c))}})});var O2="setUnion",fX=["typed","size","concat","subset","setIntersect","setSymDifference","Index"],y1=T(O2,fX,n=>{var{typed:e,size:t,concat:r,subset:i,setIntersect:a,setSymDifference:o,Index:u}=n;return e(O2,{"Array | Matrix, Array | Matrix":function(l,c){if(i(t(l),new u(0))===0)return kt(c);if(i(t(c),new u(0))===0)return kt(l);var f=kt(l),p=kt(c);return r(o(f,p),a(f,p))}})});var R2="add",pX=["typed","matrix","addScalar","equalScalar","DenseMatrix","SparseMatrix","concat"],b1=T(R2,pX,n=>{var{typed:e,matrix:t,addScalar:r,equalScalar:i,DenseMatrix:a,SparseMatrix:o,concat:u}=n,s=ti({typed:e}),l=gl({typed:e,equalScalar:i}),c=Ti({typed:e,DenseMatrix:a}),f=Ct({typed:e,matrix:t,concat:u});return e(R2,{"any, any":r,"any, any, ...any":e.referToSelf(p=>(m,h,d)=>{for(var g=p(m,h),y=0;y{var{typed:e,abs:t,addScalar:r,divideScalar:i,multiplyScalar:a,sqrt:o,smaller:u,isPositive:s}=n;return e(L2,{"... number | BigNumber":l,Array:l,Matrix:c=>l(kt(c.toArray()))});function l(c){for(var f=0,p=0,m=0;m{var{typed:e,abs:t,add:r,pow:i,conj:a,sqrt:o,multiply:u,equalScalar:s,larger:l,smaller:c,matrix:f,ctranspose:p,eigs:m}=n;return e(V2,{number:Math.abs,Complex:function(E){return E.abs()},BigNumber:function(E){return E.abs()},boolean:function(E){return Math.abs(E)},Array:function(E){return x(f(E),2)},Matrix:function(E){return x(E,2)},"Array, number | BigNumber | string":function(E,_){return x(f(E),_)},"Matrix, number | BigNumber | string":function(E,_){return x(E,_)}});function h(D){var E=0;return D.forEach(function(_){var N=t(_);l(N,E)&&(E=N)},!0),E}function d(D){var E;return D.forEach(function(_){var N=t(_);(!E||c(N,E))&&(E=N)},!0),E||0}function g(D,E){if(E===Number.POSITIVE_INFINITY||E==="inf")return h(D);if(E===Number.NEGATIVE_INFINITY||E==="-inf")return d(D);if(E==="fro")return x(D,2);if(typeof E=="number"&&!isNaN(E)){if(!s(E,0)){var _=0;return D.forEach(function(N){_=r(i(t(N),E),_)},!0),i(_,1/E)}return Number.POSITIVE_INFINITY}throw new Error("Unsupported parameter value")}function y(D){var E=0;return D.forEach(function(_,N){E=r(E,u(_,a(_)))}),t(o(E))}function S(D){var E=[],_=0;return D.forEach(function(N,P){var B=P[1],V=r(E[B]||0,t(N));l(V,_)&&(_=V),E[B]=V},!0),_}function b(D){var E=D.size();if(E[0]!==E[1])throw new RangeError("Invalid matrix dimensions");var _=p(D),N=u(_,D),P=m(N).values.toArray(),B=P[P.length-1];return t(o(B))}function w(D){var E=[],_=0;return D.forEach(function(N,P){var B=P[0],V=r(E[B]||0,t(N));l(V,_)&&(_=V),E[B]=V},!0),_}function A(D,E){if(E===1)return S(D);if(E===Number.POSITIVE_INFINITY||E==="inf")return w(D);if(E==="fro")return y(D);if(E===2)return b(D);throw new Error("Unsupported parameter value "+E)}function x(D,E){var _=D.size();if(_.length===1)return g(D,E);if(_.length===2){if(_[0]&&_[1])return A(D,E);throw new RangeError("Invalid matrix dimensions")}}});var U2="dot",hX=["typed","addScalar","multiplyScalar","conj","size"],_1=T(U2,hX,n=>{var{typed:e,addScalar:t,multiplyScalar:r,conj:i,size:a}=n;return e(U2,{"Array | DenseMatrix, Array | DenseMatrix":u,"SparseMatrix, SparseMatrix":s});function o(c,f){var p=l(c),m=l(f),h,d;if(p.length===1)h=p[0];else if(p.length===2&&p[1]===1)h=p[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+p.join(", ")+")");if(m.length===1)d=m[0];else if(m.length===2&&m[1]===1)d=m[0];else throw new RangeError("Expected a column vector, instead got a matrix of size ("+m.join(", ")+")");if(h!==d)throw new RangeError("Vectors must have equal length ("+h+" != "+d+")");if(h===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return h}function u(c,f){var p=o(c,f),m=ot(c)?c._data:c,h=ot(c)?c._datatype||c.getDataType():void 0,d=ot(f)?f._data:f,g=ot(f)?f._datatype||f.getDataType():void 0,y=l(c).length===2,S=l(f).length===2,b=t,w=r;if(h&&g&&h===g&&typeof h=="string"&&h!=="mixed"){var A=h;b=e.find(t,[A,A]),w=e.find(r,[A,A])}if(!y&&!S){for(var x=w(i(m[0]),d[0]),D=1;Dx){w++;continue}A===x&&(g=y(g,S(m[b],d[w])),b++,w++)}return g}function l(c){return ot(c)?c.size():a(c)}});var gX="trace",vX=["typed","matrix","add"],S1=T(gX,vX,n=>{var{typed:e,matrix:t,add:r}=n;return e("trace",{Array:function(u){return i(t(u))},SparseMatrix:a,DenseMatrix:i,any:vt});function i(o){var u=o._size,s=o._data;switch(u.length){case 1:if(u[0]===1)return vt(s[0]);throw new RangeError("Matrix must be square (size: "+Mt(u)+")");case 2:{var l=u[0],c=u[1];if(l===c){for(var f=0,p=0;p0)for(var h=0;hh)break}return m}throw new RangeError("Matrix must be square (size: "+Mt(c)+")")}});var q2="index",yX=["typed","Index"],A1=T(q2,yX,n=>{var{typed:e,Index:t}=n;return e(q2,{"...number | string | BigNumber | Range | Array | Matrix":function(i){var a=i.map(function(u){return pt(u)?u.toNumber():nr(u)||ot(u)?u.map(function(s){return pt(s)?s.toNumber():s}):u}),o=new t;return t.apply(o,a),o}})});var Jm=new Set(["end"]);var bX="Node",xX=["mathWithTransform"],M1=T(bX,xX,n=>{var{mathWithTransform:e}=n;function t(i){for(var a of[...Jm])if(i.has(a))throw new Error('Scope contains an illegal symbol, "'+a+'" is a reserved keyword')}class r{get type(){return"Node"}get isNode(){return!0}evaluate(a){return this.compile().evaluate(a)}compile(){var a=this._compile(e,{}),o={},u=null;function s(l){var c=Eo(l);return t(c),a(c,o,u)}return{evaluate:s}}_compile(a,o){throw new Error("Method _compile must be implemented by type "+this.type)}forEach(a){throw new Error("Cannot run forEach on a Node interface")}map(a){throw new Error("Cannot run map on a Node interface")}_ifNode(a){if(!jt(a))throw new TypeError("Callback function must return a Node");return a}traverse(a){a(this,null,null);function o(u,s){u.forEach(function(l,c,f){s(l,c,f),o(l,s)})}o(this,a)}transform(a){function o(u,s,l){var c=a(u,s,l);return c!==u?c:u.map(o)}return o(this,null,null)}filter(a){var o=[];return this.traverse(function(u,s,l){a(u,s,l)&&o.push(u)}),o}clone(){throw new Error("Cannot clone a Node interface")}cloneDeep(){return this.map(function(a){return a.cloneDeep()})}equals(a){return a?this.type===a.type&&Ca(this,a):!1}toString(a){var o=this._getCustomString(a);return typeof o<"u"?o:this._toString(a)}_toString(){throw new Error("_toString not implemented for "+this.type)}toJSON(){throw new Error("Cannot serialize object: toJSON not implemented by "+this.type)}toHTML(a){var o=this._getCustomString(a);return typeof o<"u"?o:this._toHTML(a)}_toHTML(){throw new Error("_toHTML not implemented for "+this.type)}toTex(a){var o=this._getCustomString(a);return typeof o<"u"?o:this._toTex(a)}_toTex(a){throw new Error("_toTex not implemented for "+this.type)}_getCustomString(a){if(a&&typeof a=="object")switch(typeof a.handler){case"object":case"undefined":return;case"function":return a.handler(this,a);default:throw new TypeError("Object or function expected as callback")}}getIdentifier(){return this.type}getContent(){return this}}return r},{isClass:!0,isNode:!0});function Br(n){return n&&n.isIndexError?new $n(n.index+1,n.min+1,n.max!==void 0?n.max+1:void 0):n}function Xm(n){var{subset:e}=n;return function(r,i){try{if(Array.isArray(r))return e(r,i);if(r&&typeof r.subset=="function")return r.subset(i);if(typeof r=="string")return e(r,i);if(typeof r=="object"){if(!i.isObjectProperty())throw new TypeError("Cannot apply a numeric index as object property");return $r(r,i.getObjectProperty())}else throw new TypeError("Cannot apply index: unsupported type of object")}catch(a){throw Br(a)}}}var Qm="AccessorNode",wX=["subset","Node"],E1=T(Qm,wX,n=>{var{subset:e,Node:t}=n,r=Xm({subset:e});function i(o){return!($i(o)||qn(o)||zt(o)||vi(o)||is(o)||zn(o)||Fr(o))}class a extends t{constructor(u,s){if(super(),!jt(u))throw new TypeError('Node expected for parameter "object"');if(!sa(s))throw new TypeError('IndexNode expected for parameter "index"');this.object=u,this.index=s}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}get type(){return Qm}get isAccessorNode(){return!0}_compile(u,s){var l=this.object._compile(u,s),c=this.index._compile(u,s);if(this.index.isObjectProperty()){var f=this.index.getObjectProperty();return function(m,h,d){return $r(l(m,h,d),f)}}else return function(m,h,d){var g=l(m,h,d),y=c(m,h,g);return r(g,y)}}forEach(u){u(this.object,"object",this),u(this.index,"index",this)}map(u){return new a(this._ifNode(u(this.object,"object",this)),this._ifNode(u(this.index,"index",this)))}clone(){return new a(this.object,this.index)}_toString(u){var s=this.object.toString(u);return i(this.object)&&(s="("+s+")"),s+this.index.toString(u)}_toHTML(u){var s=this.object.toHTML(u);return i(this.object)&&(s='('+s+')'),s+this.index.toHTML(u)}_toTex(u){var s=this.object.toTex(u);return i(this.object)&&(s="\\left(' + object + '\\right)"),s+this.index.toTex(u)}toJSON(){return{mathjs:Qm,object:this.object,index:this.index}}static fromJSON(u){return new a(u.object,u.index)}}return fr(a,"name",Qm),a},{isClass:!0,isNode:!0});var Km="ArrayNode",_X=["Node"],D1=T(Km,_X,n=>{var{Node:e}=n;class t extends e{constructor(i){if(super(),this.items=i||[],!Array.isArray(this.items)||!this.items.every(jt))throw new TypeError("Array containing Nodes expected")}get type(){return Km}get isArrayNode(){return!0}_compile(i,a){var o=Ei(this.items,function(l){return l._compile(i,a)}),u=i.config.matrix!=="Array";if(u){var s=i.matrix;return function(c,f,p){return s(Ei(o,function(m){return m(c,f,p)}))}}else return function(c,f,p){return Ei(o,function(m){return m(c,f,p)})}}forEach(i){for(var a=0;a['+a.join(',')+']'}_toTex(i){function a(o,u){var s=o.some(qn)&&!o.every(qn),l=u||s,c=l?"&":"\\\\",f=o.map(function(p){return p.items?a(p.items,!u):p.toTex(i)}).join(c);return s||!l||l&&!u?"\\begin{bmatrix}"+f+"\\end{bmatrix}":f}return a(this.items,!1)}}return fr(t,"name",Km),t},{isClass:!0,isNode:!0});function z2(n){var{subset:e,matrix:t}=n;return function(i,a,o){try{if(Array.isArray(i)){var u=t(i).subset(a,o).valueOf();return u.forEach((s,l)=>{i[l]=s}),i}else{if(i&&typeof i.subset=="function")return i.subset(a,o);if(typeof i=="string")return e(i,a,o);if(typeof i=="object"){if(!a.isObjectProperty())throw TypeError("Cannot apply a numeric index as object property");return Za(i,a.getObjectProperty(),o),i}else throw new TypeError("Cannot apply index: unsupported type of object")}}catch(s){throw Br(s)}}}var ma=[{AssignmentNode:{},FunctionAssignmentNode:{}},{ConditionalNode:{latexLeftParens:!1,latexRightParens:!1,latexParens:!1}},{"OperatorNode:or":{op:"or",associativity:"left",associativeWith:[]}},{"OperatorNode:xor":{op:"xor",associativity:"left",associativeWith:[]}},{"OperatorNode:and":{op:"and",associativity:"left",associativeWith:[]}},{"OperatorNode:bitOr":{op:"|",associativity:"left",associativeWith:[]}},{"OperatorNode:bitXor":{op:"^|",associativity:"left",associativeWith:[]}},{"OperatorNode:bitAnd":{op:"&",associativity:"left",associativeWith:[]}},{"OperatorNode:equal":{op:"==",associativity:"left",associativeWith:[]},"OperatorNode:unequal":{op:"!=",associativity:"left",associativeWith:[]},"OperatorNode:smaller":{op:"<",associativity:"left",associativeWith:[]},"OperatorNode:larger":{op:">",associativity:"left",associativeWith:[]},"OperatorNode:smallerEq":{op:"<=",associativity:"left",associativeWith:[]},"OperatorNode:largerEq":{op:">=",associativity:"left",associativeWith:[]},RelationalNode:{associativity:"left",associativeWith:[]}},{"OperatorNode:leftShift":{op:"<<",associativity:"left",associativeWith:[]},"OperatorNode:rightArithShift":{op:">>",associativity:"left",associativeWith:[]},"OperatorNode:rightLogShift":{op:">>>",associativity:"left",associativeWith:[]}},{"OperatorNode:to":{op:"to",associativity:"left",associativeWith:[]}},{RangeNode:{}},{"OperatorNode:add":{op:"+",associativity:"left",associativeWith:["OperatorNode:add","OperatorNode:subtract"]},"OperatorNode:subtract":{op:"-",associativity:"left",associativeWith:[]}},{"OperatorNode:multiply":{op:"*",associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","Operator:dotMultiply","Operator:dotDivide"]},"OperatorNode:divide":{op:"/",associativity:"left",associativeWith:[],latexLeftParens:!1,latexRightParens:!1,latexParens:!1},"OperatorNode:dotMultiply":{op:".*",associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","OperatorNode:dotMultiply","OperatorNode:doDivide"]},"OperatorNode:dotDivide":{op:"./",associativity:"left",associativeWith:[]},"OperatorNode:mod":{op:"mod",associativity:"left",associativeWith:[]}},{"OperatorNode:multiply":{associativity:"left",associativeWith:["OperatorNode:multiply","OperatorNode:divide","Operator:dotMultiply","Operator:dotDivide"]}},{"OperatorNode:unaryPlus":{op:"+",associativity:"right"},"OperatorNode:unaryMinus":{op:"-",associativity:"right"},"OperatorNode:bitNot":{op:"~",associativity:"right"},"OperatorNode:not":{op:"not",associativity:"right"}},{"OperatorNode:pow":{op:"^",associativity:"right",associativeWith:[],latexRightParens:!1},"OperatorNode:dotPow":{op:".^",associativity:"right",associativeWith:[]}},{"OperatorNode:factorial":{op:"!",associativity:"left"}},{"OperatorNode:ctranspose":{op:"'",associativity:"left"}}];function ed(n,e){if(!e||e!=="auto")return n;for(var t=n;zn(t);)t=t.content;return t}function gr(n,e,t,r){var i=n;e!=="keep"&&(i=n.getContent());for(var a=i.getIdentifier(),o=null,u=0;u{var{subset:e,matrix:t,Node:r}=n,i=Xm({subset:e}),a=z2({subset:e,matrix:t});function o(s,l,c){l||(l="keep");var f=gr(s,l,c),p=gr(s.value,l,c);return l==="all"||p!==null&&p<=f}class u extends r{constructor(l,c,f){if(super(),this.object=l,this.index=f?c:null,this.value=f||c,!Fr(l)&&!$i(l))throw new TypeError('SymbolNode or AccessorNode expected as "object"');if(Fr(l)&&l.name==="end")throw new Error('Cannot assign to symbol "end"');if(this.index&&!sa(this.index))throw new TypeError('IndexNode expected as "index"');if(!jt(this.value))throw new TypeError('Node expected as "value"')}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():"":this.object.name||""}get type(){return rd}get isAssignmentNode(){return!0}_compile(l,c){var f=this.object._compile(l,c),p=this.index?this.index._compile(l,c):null,m=this.value._compile(l,c),h=this.object.name;if(this.index)if(this.index.isObjectProperty()){var d=this.index.getObjectProperty();return function(w,A,x){var D=f(w,A,x),E=m(w,A,x);return Za(D,d,E),E}}else{if(Fr(this.object))return function(w,A,x){var D=f(w,A,x),E=m(w,A,x),_=p(w,A,D);return w.set(h,a(D,_,E)),E};var g=this.object.object._compile(l,c);if(this.object.index.isObjectProperty()){var y=this.object.index.getObjectProperty();return function(w,A,x){var D=g(w,A,x),E=$r(D,y),_=p(w,A,E),N=m(w,A,x);return Za(D,y,a(E,_,N)),N}}else{var S=this.object.index._compile(l,c);return function(w,A,x){var D=g(w,A,x),E=S(w,A,D),_=i(D,E),N=p(w,A,_),P=m(w,A,x);return a(D,E,a(_,N,P)),P}}}else{if(!Fr(this.object))throw new TypeError("SymbolNode expected as object");return function(w,A,x){var D=m(w,A,x);return w.set(h,D),D}}}forEach(l){l(this.object,"object",this),this.index&&l(this.index,"index",this),l(this.value,"value",this)}map(l){var c=this._ifNode(l(this.object,"object",this)),f=this.index?this._ifNode(l(this.index,"index",this)):null,p=this._ifNode(l(this.value,"value",this));return new u(c,f,p)}clone(){return new u(this.object,this.index,this.value)}_toString(l){var c=this.object.toString(l),f=this.index?this.index.toString(l):"",p=this.value.toString(l);return o(this,l&&l.parenthesis,l&&l.implicit)&&(p="("+p+")"),c+f+" = "+p}toJSON(){return{mathjs:rd,object:this.object,index:this.index,value:this.value}}static fromJSON(l){return new u(l.object,l.index,l.value)}_toHTML(l){var c=this.object.toHTML(l),f=this.index?this.index.toHTML(l):"",p=this.value.toHTML(l);return o(this,l&&l.parenthesis,l&&l.implicit)&&(p='