UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

9 lines 65.2 kB
import jr from"bn.js";var we=9e15,pe=1e9,Je="0123456789abcdef",Fe="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",ve="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",$e={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-we,maxE:we,crypto:!1},Nt,oe,T=!0,Ge="[DecimalError] ",fe=Ge+"Invalid argument: ",It=Ge+"Precision limit exceeded",_t=Ge+"crypto unavailable",Et="[object Decimal]",q=Math.floor,M=Math.pow,sn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,an=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,un=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Ct=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,$=1e7,h=7,cn=9007199254740991,mn=Fe.length-1,et=ve.length-1,f={toStringTag:Et};f.absoluteValue=f.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),g(t)};f.ceil=function(){return g(new this.constructor(this),this.e+1,2)};f.clampedTo=f.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(fe+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};f.comparedTo=f.cmp=function(t){var e,n,r,i,o=this,s=o.d,a=(t=new o.constructor(t)).d,c=o.s,u=t.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(o.e!==t.e)return o.e>t.e^c<0?1:-1;for(r=s.length,i=a.length,e=0,n=r<i?r:i;e<n;++e)if(s[e]!==a[e])return s[e]>a[e]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};f.cosine=f.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+h,r.rounding=1,n=ln(r,Dt(r,n)),r.precision=t,r.rounding=e,g(oe==2||oe==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};f.cubeRoot=f.cbrt=function(){var t,e,n,r,i,o,s,a,c,u,m=this,l=m.constructor;if(!m.isFinite()||m.isZero())return new l(m);for(T=!1,o=m.s*M(m.s*m,1/3),!o||Math.abs(o)==1/0?(n=v(m.d),t=m.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=M(n,1/3),t=q((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new l(n),r.s=m.s):r=new l(o.toString()),s=(t=l.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(m),r=N(u.plus(m).times(a),u.plus(c),s+2,1),v(a.d).slice(0,s)===(n=v(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(g(a,t+1,0),a.times(a).times(a).eq(m))){r=a;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(g(r,t+1,1),e=!r.times(r).times(r).eq(m));break}return T=!0,g(r,t,l.rounding,e)};f.decimalPlaces=f.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-q(this.e/h))*h,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};f.dividedBy=f.div=function(t){return N(this,new this.constructor(t))};f.dividedToIntegerBy=f.divToInt=function(t){var e=this,n=e.constructor;return g(N(e,new n(t),0,1,1),n.precision,n.rounding)};f.equals=f.eq=function(t){return this.cmp(t)===0};f.floor=function(){return g(new this.constructor(this),this.e+1,3)};f.greaterThan=f.gt=function(t){return this.cmp(t)>0};f.greaterThanOrEqualTo=f.gte=function(t){var e=this.cmp(t);return e==1||e===0};f.hyperbolicCosine=f.cosh=function(){var t,e,n,r,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(t=Math.ceil(i/3),e=(1/qe(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=ye(s,1,o.times(e),new s(1),!0);for(var c,u=t,m=new s(8);u--;)c=o.times(o),o=a.minus(c.times(m.minus(c.times(m))));return g(o,s.precision=n,s.rounding=r,!0)};f.hyperbolicSine=f.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=ye(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/qe(5,t)),i=ye(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);t--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=e,o.rounding=n,g(i,e,n,!0)};f.hyperbolicTangent=f.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,N(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};f.inverseCosine=f.acos=function(){var t=this,e=t.constructor,n=t.abs().cmp(1),r=e.precision,i=e.rounding;return n!==-1?n===0?t.isNeg()?ee(e,r,i):new e(0):new e(NaN):t.isZero()?ee(e,r+4,i).times(.5):(e.precision=r+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=r,e.rounding=i,t.times(2))};f.inverseHyperbolicCosine=f.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,T=!1,n=n.times(n).minus(1).sqrt().plus(n),T=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};f.inverseHyperbolicSine=f.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,T=!1,n=n.times(n).plus(1).sqrt().plus(n),T=!0,r.precision=t,r.rounding=e,n.ln())};f.inverseHyperbolicTangent=f.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?g(new o(i),t,e,!0):(o.precision=n=r-i.e,i=N(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};f.inverseSine=f.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=ee(o,n+4,r).times(.5),t.s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};f.inverseTangent=f.atan=function(){var t,e,n,r,i,o,s,a,c,u=this,m=u.constructor,l=m.precision,d=m.rounding;if(u.isFinite()){if(u.isZero())return new m(u);if(u.abs().eq(1)&&l+4<=et)return s=ee(m,l+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new m(NaN);if(l+4<=et)return s=ee(m,l+4,d).times(.5),s.s=u.s,s}for(m.precision=a=l+10,m.rounding=1,n=Math.min(28,a/h+2|0),t=n;t;--t)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(T=!1,e=Math.ceil(a/h),r=1,c=u.times(u),s=new m(u),i=u;t!==-1;)if(i=i.times(c),o=s.minus(i.div(r+=2)),i=i.times(c),s=o.plus(i.div(r+=2)),s.d[e]!==void 0)for(t=e;s.d[t]===o.d[t]&&t--;);return n&&(s=s.times(2<<n-1)),T=!0,g(s,m.precision=l,m.rounding=d,!0)};f.isFinite=function(){return!!this.d};f.isInteger=f.isInt=function(){return!!this.d&&q(this.e/h)>this.d.length-2};f.isNaN=function(){return!this.s};f.isNegative=f.isNeg=function(){return this.s<0};f.isPositive=f.isPos=function(){return this.s>0};f.isZero=function(){return!!this.d&&this.d[0]===0};f.lessThan=f.lt=function(t){return this.cmp(t)<0};f.lessThanOrEqualTo=f.lte=function(t){return this.cmp(t)<1};f.logarithm=f.log=function(t){var e,n,r,i,o,s,a,c,u=this,m=u.constructor,l=m.precision,d=m.rounding,p=5;if(t==null)t=new m(10),e=!0;else{if(t=new m(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new m(NaN);e=t.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new m(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(T=!1,a=l+p,s=de(u,a),r=e?Ke(m,a+10):de(t,a),c=N(s,r,a,1),Be(c.d,i=l,d))do if(a+=10,s=de(u,a),r=e?Ke(m,a+10):de(t,a),c=N(s,r,a,1),!o){+v(c.d).slice(i+1,i+15)+1==1e14&&(c=g(c,l+1,0));break}while(Be(c.d,i+=10,d));return T=!0,g(c,l,d)};f.minus=f.sub=function(t){var e,n,r,i,o,s,a,c,u,m,l,d,p=this,w=p.constructor;if(t=new w(t),!p.d||!t.d)return!p.s||!t.s?t=new w(NaN):p.d?t.s=-t.s:t=new w(t.d||p.s!==t.s?p:NaN),t;if(p.s!=t.s)return t.s=-t.s,p.plus(t);if(u=p.d,d=t.d,a=w.precision,c=w.rounding,!u[0]||!d[0]){if(d[0])t.s=-t.s;else if(u[0])t=new w(p);else return new w(c===3?-0:0);return T?g(t,a,c):t}if(n=q(t.e/h),m=q(p.e/h),u=u.slice(),o=m-n,o){for(l=o<0,l?(e=u,o=-o,s=d.length):(e=d,n=m,s=u.length),r=Math.max(Math.ceil(a/h),s)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=u.length,s=d.length,l=r<s,l&&(s=r),r=0;r<s;r++)if(u[r]!=d[r]){l=u[r]<d[r];break}o=0}for(l&&(e=u,u=d,d=e,t.s=-t.s),s=u.length,r=d.length-s;r>0;--r)u[s++]=0;for(r=d.length;r>o;){if(u[--r]<d[r]){for(i=r;i&&u[--i]===0;)u[i]=$-1;--u[i],u[r]+=$}u[r]-=d[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(t.d=u,t.e=Ue(u,n),T?g(t,a,c):t):new w(c===3?-0:0)};f.modulo=f.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?g(new r(n),r.precision,r.rounding):(T=!1,r.modulo==9?(e=N(n,t.abs(),0,3,1),e.s*=t.s):e=N(n,t,0,r.modulo,1),e=e.times(t),T=!0,n.minus(e))};f.naturalExponential=f.exp=function(){return tt(this)};f.naturalLogarithm=f.ln=function(){return de(this)};f.negated=f.neg=function(){var t=new this.constructor(this);return t.s=-t.s,g(t)};f.plus=f.add=function(t){var e,n,r,i,o,s,a,c,u,m,l=this,d=l.constructor;if(t=new d(t),!l.d||!t.d)return!l.s||!t.s?t=new d(NaN):l.d||(t=new d(t.d||l.s===t.s?l:NaN)),t;if(l.s!=t.s)return t.s=-t.s,l.minus(t);if(u=l.d,m=t.d,a=d.precision,c=d.rounding,!u[0]||!m[0])return m[0]||(t=new d(l)),T?g(t,a,c):t;if(o=q(l.e/h),r=q(t.e/h),u=u.slice(),i=o-r,i){for(i<0?(n=u,i=-i,s=m.length):(n=m,r=o,s=u.length),o=Math.ceil(a/h),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=u.length,i=m.length,s-i<0&&(i=s,n=m,m=u,u=n),e=0;i;)e=(u[--i]=u[i]+m[i]+e)/$|0,u[i]%=$;for(e&&(u.unshift(e),++r),s=u.length;u[--s]==0;)u.pop();return t.d=u,t.e=Ue(u,r),T?g(t,a,c):t};f.precision=f.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(fe+t);return n.d?(e=Lt(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};f.round=function(){var t=this,e=t.constructor;return g(new e(t),t.e+1,e.rounding)};f.sine=f.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+h,r.rounding=1,n=fn(r,Dt(r,n)),r.precision=t,r.rounding=e,g(oe>2?n.neg():n,t,e,!0)):new r(NaN)};f.squareRoot=f.sqrt=function(){var t,e,n,r,i,o,s=this,a=s.d,c=s.e,u=s.s,m=s.constructor;if(u!==1||!a||!a[0])return new m(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(T=!1,u=Math.sqrt(+s),u==0||u==1/0?(e=v(a),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=q((c+1)/2)-(c<0||c%2),u==1/0?e="5e"+c:(e=u.toExponential(),e=e.slice(0,e.indexOf("e")+1)+c),r=new m(e)):r=new m(u.toString()),n=(c=m.precision)+3;;)if(o=r,r=o.plus(N(s,o,n+2,1)).times(.5),v(o.d).slice(0,n)===(e=v(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(g(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(g(r,c+1,1),t=!r.times(r).eq(s));break}return T=!0,g(r,c,m.rounding,t)};f.tangent=f.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=N(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,g(oe==2||oe==4?n.neg():n,t,e,!0)):new r(NaN)};f.times=f.mul=function(t){var e,n,r,i,o,s,a,c,u,m=this,l=m.constructor,d=m.d,p=(t=new l(t)).d;if(t.s*=m.s,!d||!d[0]||!p||!p[0])return new l(!t.s||d&&!d[0]&&!p||p&&!p[0]&&!d?NaN:!d||!p?t.s/0:t.s*0);for(n=q(m.e/h)+q(t.e/h),c=d.length,u=p.length,c<u&&(o=d,d=p,p=o,s=c,c=u,u=s),o=[],s=c+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(e=0,i=c+r;i>r;)a=o[i]+p[r]*d[i-r-1]+e,o[i--]=a%$|0,e=a/$|0;o[i]=(o[i]+e)%$|0}for(;!o[--s];)o.pop();return e?++n:o.shift(),t.d=o,t.e=Ue(o,n),T?g(t,l.precision,l.rounding):t};f.toBinary=function(t,e){return nt(this,2,t,e)};f.toDecimalPlaces=f.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(X(t,0,pe),e===void 0?e=r.rounding:X(e,0,8),g(n,t+n.e+1,e))};f.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=te(r,!0):(X(t,0,pe),e===void 0?e=i.rounding:X(e,0,8),r=g(new i(r),t+1,e),n=te(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};f.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=te(i):(X(t,0,pe),e===void 0?e=o.rounding:X(e,0,8),r=g(new o(i),t+i.e+1,e),n=te(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};f.toFraction=function(t){var e,n,r,i,o,s,a,c,u,m,l,d,p=this,w=p.d,b=p.constructor;if(!w)return new b(p);if(u=n=new b(1),r=c=new b(0),e=new b(r),o=e.e=Lt(w)-p.e-1,s=o%h,e.d[0]=M(10,s<0?h+s:s),t==null)t=o>0?e:u;else{if(a=new b(t),!a.isInt()||a.lt(u))throw Error(fe+a);t=a.gt(e)?o>0?e:u:a}for(T=!1,a=new b(v(w)),m=b.precision,b.precision=o=w.length*h*2;l=N(a,e,0,1,1),i=n.plus(l.times(r)),i.cmp(t)!=1;)n=r,r=i,i=u,u=c.plus(l.times(i)),c=i,i=e,e=a.minus(l.times(i)),a=i;return i=N(t.minus(n),r,0,1,1),c=c.plus(i.times(u)),n=n.plus(i.times(r)),c.s=u.s=p.s,d=N(u,r,o,1).minus(p).abs().cmp(N(c,n,o,1).minus(p).abs())<1?[u,r]:[c,n],b.precision=m,T=!0,d};f.toHexadecimal=f.toHex=function(t,e){return nt(this,16,t,e)};f.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:X(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(T=!1,n=N(n,t,0,e,1).times(t),T=!0,g(n)):(t.s=n.s,n=t),n};f.toNumber=function(){return+this};f.toOctal=function(t,e){return nt(this,8,t,e)};f.toPower=f.pow=function(t){var e,n,r,i,o,s,a=this,c=a.constructor,u=+(t=new c(t));if(!a.d||!t.d||!a.d[0]||!t.d[0])return new c(M(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,t.eq(1))return g(a,r,o);if(e=q(t.e/h),e>=t.d.length-1&&(n=u<0?-u:u)<=cn)return i=Rt(c,a,n,r),t.s<0?new c(1).div(i):g(i,r,o);if(s=a.s,s<0){if(e<t.d.length-1)return new c(NaN);if((t.d[e]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=M(+a,u),e=n==0||!isFinite(n)?q(u*(Math.log("0."+v(a.d))/Math.LN10+a.e+1)):new c(n+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?s/0:0):(T=!1,c.rounding=a.s=1,n=Math.min(12,(e+"").length),i=tt(t.times(de(a,r+n)),r),i.d&&(i=g(i,r+5,1),Be(i.d,r,o)&&(e=r+10,i=g(tt(t.times(de(a,e+n)),e),e+5,1),+v(i.d).slice(r+1,r+15)+1==1e14&&(i=g(i,r+1,0)))),i.s=s,T=!0,c.rounding=o,g(i,r,o))};f.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=te(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(X(t,1,pe),e===void 0?e=i.rounding:X(e,0,8),r=g(new i(r),t,e),n=te(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};f.toSignificantDigits=f.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(X(t,1,pe),e===void 0?e=r.rounding:X(e,0,8)),g(new r(n),t,e)};f.toString=function(){var t=this,e=t.constructor,n=te(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};f.truncated=f.trunc=function(){return g(new this.constructor(this),this.e+1,1)};f.valueOf=f.toJSON=function(){var t=this,e=t.constructor,n=te(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function v(t){var e,n,r,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)r=t[e]+"",n=h-r.length,n&&(o+=le(n)),o+=r;s=t[e],r=s+"",n=h-r.length,n&&(o+=le(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function X(t,e,n){if(t!==~~t||t<e||t>n)throw Error(fe+t)}function Be(t,e,n,r){var i,o,s,a;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=h,i=0):(i=Math.ceil((e+1)/h),e%=h),o=M(10,h-e),a=t[i]%o|0,r==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(t[i+1]/o/100|0)==M(10,e-2)-1||(a==o/2||a==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),s=(r||n<4)&&a==9999||!r&&n>3&&a==4999):s=((r||n<4)&&a+1==o||!r&&n>3&&a+1==o/2)&&(t[i+1]/o/1e3|0)==M(10,e-3)-1,s}function Me(t,e,n){for(var r,i=[0],o,s=0,a=t.length;s<a;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=Je.indexOf(t.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function ln(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/qe(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=ye(t,1,e.times(i),new t(1));for(var o=n;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=n,e}var N=function(){function t(r,i,o){var s,a=0,c=r.length;for(r=r.slice();c--;)s=r[c]*i+a,r[c]=s%o|0,a=s/o|0;return a&&r.unshift(a),r}function e(r,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(r[a]!=i[a]){c=r[a]>i[a]?1:-1;break}return c}function n(r,i,o,s){for(var a=0;o--;)r[o]-=a,a=r[o]<i[o]?1:0,r[o]=a*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,a,c){var u,m,l,d,p,w,b,F,_,Z,S,G,Ce,ie,Ye,Le,ke,Qe,J,Re,Oe=r.constructor,Ze=r.s==i.s?1:-1,U=r.d,I=i.d;if(!U||!U[0]||!I||!I[0])return new Oe(!r.s||!i.s||(U?I&&U[0]==I[0]:!I)?NaN:U&&U[0]==0||!I?Ze*0:Ze/0);for(c?(p=1,m=r.e-i.e):(c=$,p=h,m=q(r.e/p)-q(i.e/p)),J=I.length,ke=U.length,_=new Oe(Ze),Z=_.d=[],l=0;I[l]==(U[l]||0);l++);if(I[l]>(U[l]||0)&&m--,o==null?(ie=o=Oe.precision,s=Oe.rounding):a?ie=o+(r.e-i.e)+1:ie=o,ie<0)Z.push(1),w=!0;else{if(ie=ie/p+2|0,l=0,J==1){for(d=0,I=I[0],ie++;(l<ke||d)&&ie--;l++)Ye=d*c+(U[l]||0),Z[l]=Ye/I|0,d=Ye%I|0;w=d||l<ke}else{for(d=c/(I[0]+1)|0,d>1&&(I=t(I,d,c),U=t(U,d,c),J=I.length,ke=U.length),Le=J,S=U.slice(0,J),G=S.length;G<J;)S[G++]=0;Re=I.slice(),Re.unshift(0),Qe=I[0],I[1]>=c/2&&++Qe;do d=0,u=e(I,S,J,G),u<0?(Ce=S[0],J!=G&&(Ce=Ce*c+(S[1]||0)),d=Ce/Qe|0,d>1?(d>=c&&(d=c-1),b=t(I,d,c),F=b.length,G=S.length,u=e(b,S,F,G),u==1&&(d--,n(b,J<F?Re:I,F,c))):(d==0&&(u=d=1),b=I.slice()),F=b.length,F<G&&b.unshift(0),n(S,b,G,c),u==-1&&(G=S.length,u=e(I,S,J,G),u<1&&(d++,n(S,J<G?Re:I,G,c))),G=S.length):u===0&&(d++,S=[0]),Z[l++]=d,u&&S[0]?S[G++]=U[Le]||0:(S=[U[Le]],G=1);while((Le++<ke||S[0]!==void 0)&&ie--);w=S[0]!==void 0}Z[0]||Z.shift()}if(p==1)_.e=m,Nt=w;else{for(l=1,d=Z[0];d>=10;d/=10)l++;_.e=l+m*p-1,g(_,a?o+_.e+1:o,s,w)}return _}}();function g(t,e,n,r){var i,o,s,a,c,u,m,l,d,p=t.constructor;e:if(e!=null){if(l=t.d,!l)return t;for(i=1,a=l[0];a>=10;a/=10)i++;if(o=e-i,o<0)o+=h,s=e,m=l[d=0],c=m/M(10,i-s-1)%10|0;else if(d=Math.ceil((o+1)/h),a=l.length,d>=a)if(r){for(;a++<=d;)l.push(0);m=c=0,i=1,o%=h,s=o-h+1}else break e;else{for(m=a=l[d],i=1;a>=10;a/=10)i++;o%=h,s=o-h+i,c=s<0?0:m/M(10,i-s-1)%10|0}if(r=r||e<0||l[d+1]!==void 0||(s<0?m:m%M(10,i-s-1)),u=n<4?(c||r)&&(n==0||n==(t.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?m/M(10,i-s):0:l[d-1])%10&1||n==(t.s<0?8:7)),e<1||!l[0])return l.length=0,u?(e-=t.e+1,l[0]=M(10,(h-e%h)%h),t.e=-e||0):l[0]=t.e=0,t;if(o==0?(l.length=d,a=1,d--):(l.length=d+1,a=M(10,h-o),l[d]=s>0?(m/M(10,i-s)%M(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(t.e++,l[0]==$&&(l[0]=1));break}else{if(l[d]+=a,l[d]!=$)break;l[d--]=0,a=1}for(o=l.length;l[--o]===0;)l.pop()}return T&&(t.e>p.maxE?(t.d=null,t.e=NaN):t.e<p.minE&&(t.e=0,t.d=[0])),t}function te(t,e,n){if(!t.isFinite())return Mt(t);var r,i=t.e,o=v(t.d),s=o.length;return e?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+le(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+le(-i-1)+o,n&&(r=n-s)>0&&(o+=le(r))):i>=s?(o+=le(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+le(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=le(r))),o}function Ue(t,e){var n=t[0];for(e*=h;n>=10;n/=10)e++;return e}function Ke(t,e,n){if(e>mn)throw T=!0,n&&(t.precision=n),Error(It);return g(new t(Fe),e,1,!0)}function ee(t,e,n){if(e>et)throw Error(It);return g(new t(ve),e,n,!0)}function Lt(t){var e=t.length-1,n=e*h+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function le(t){for(var e="";t--;)e+="0";return e}function Rt(t,e,n,r){var i,o=new t(1),s=Math.ceil(r/h+4);for(T=!1;;){if(n%2&&(o=o.times(e),Bt(o.d,s)&&(i=!0)),n=q(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),Bt(e.d,s)}return T=!0,o}function kt(t){return t.d[t.d.length-1]&1}function Ot(t,e,n){for(var r,i,o=new t(e[0]),s=0;++s<e.length;){if(i=new t(e[s]),!i.s){o=i;break}r=o.cmp(i),(r===n||r===0&&o.s===n)&&(o=i)}return o}function tt(t,e){var n,r,i,o,s,a,c,u=0,m=0,l=0,d=t.constructor,p=d.rounding,w=d.precision;if(!t.d||!t.d[0]||t.e>17)return new d(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:0/0);for(e==null?(T=!1,c=w):c=e,a=new d(.03125);t.e>-2;)t=t.times(a),l+=5;for(r=Math.log(M(2,l))/Math.LN10*2+5|0,c+=r,n=o=s=new d(1),d.precision=c;;){if(o=g(o.times(t),c,1),n=n.times(++m),a=s.plus(N(o,n,c,1)),v(a.d).slice(0,c)===v(s.d).slice(0,c)){for(i=l;i--;)s=g(s.times(s),c,1);if(e==null)if(u<3&&Be(s.d,c-r,p,u))d.precision=c+=10,n=o=a=new d(1),m=0,u++;else return g(s,d.precision=w,p,T=!0);else return d.precision=w,s}s=a}}function de(t,e){var n,r,i,o,s,a,c,u,m,l,d,p=1,w=10,b=t,F=b.d,_=b.constructor,Z=_.rounding,S=_.precision;if(b.s<0||!F||!F[0]||!b.e&&F[0]==1&&F.length==1)return new _(F&&!F[0]?-1/0:b.s!=1?NaN:F?0:b);if(e==null?(T=!1,m=S):m=e,_.precision=m+=w,n=v(F),r=n.charAt(0),Math.abs(o=b.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)b=b.times(t),n=v(b.d),r=n.charAt(0),p++;o=b.e,r>1?(b=new _("0."+n),o++):b=new _(r+"."+n.slice(1))}else return u=Ke(_,m+2,S).times(o+""),b=de(new _(r+"."+n.slice(1)),m-w).plus(u),_.precision=S,e==null?g(b,S,Z,T=!0):b;for(l=b,c=s=b=N(b.minus(1),b.plus(1),m,1),d=g(b.times(b),m,1),i=3;;){if(s=g(s.times(d),m,1),u=c.plus(N(s,new _(i),m,1)),v(u.d).slice(0,m)===v(c.d).slice(0,m))if(c=c.times(2),o!==0&&(c=c.plus(Ke(_,m+2,S).times(o+""))),c=N(c,new _(p),m,1),e==null)if(Be(c.d,m-w,Z,a))_.precision=m+=w,u=s=b=N(l.minus(1),l.plus(1),m,1),d=g(b.times(b),m,1),i=a=1;else return g(c,_.precision=S,Z,T=!0);else return _.precision=S,c;c=u,i+=2}}function Mt(t){return String(t.s*t.s/0)}function De(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=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,t.e=n=n-r-1,t.d=[],r=(n+1)%h,n<0&&(r+=h),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=h;r<i;)t.d.push(+e.slice(r,r+=h));e=e.slice(r),r=h-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),T&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function dn(t,e){var n,r,i,o,s,a,c,u,m;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),Ct.test(e))return De(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(an.test(e))n=16,e=e.toLowerCase();else if(sn.test(e))n=2;else if(un.test(e))n=8;else throw Error(fe+e);for(o=e.search(/p/i),o>0?(c=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=t.constructor,s&&(e=e.replace(".",""),a=e.length,o=a-o,i=Rt(r,new r(n),o,o*2)),u=Me(e,n,$),m=u.length-1,o=m;u[o]===0;--o)u.pop();return o<0?new r(t.s*0):(t.e=Ue(u,m),t.d=u,T=!1,s&&(t=N(t,i,a*4)),c&&(t=t.times(Math.abs(c)<54?M(2,c):Se.pow(2,c))),T=!0,t)}function fn(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:ye(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/qe(5,n)),e=ye(t,2,e,e);for(var i,o=new t(5),s=new t(16),a=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(a))));return e}function ye(t,e,n,r,i){var o,s,a,c,u=1,m=t.precision,l=Math.ceil(m/h);for(T=!1,c=n.times(n),a=new t(r);;){if(s=N(a.times(c),new t(e++*e++),m,1),a=i?r.plus(s):r.minus(s),r=N(s.times(c),new t(e++*e++),m,1),s=a.plus(r),s.d[l]!==void 0){for(o=l;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=r,r=s,s=o,u++}return T=!0,s.d.length=l+1,s}function qe(t,e){for(var n=t;--e;)n*=t;return n}function Dt(t,e){var n,r=e.s<0,i=ee(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return oe=r?4:1,e;if(n=e.divToInt(i),n.isZero())oe=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return oe=kt(n)?r?2:3:r?4:1,e;oe=kt(n)?r?1:4:r?3:2}return e.minus(i).abs()}function nt(t,e,n,r){var i,o,s,a,c,u,m,l,d,p=t.constructor,w=n!==void 0;if(w?(X(n,1,pe),r===void 0?r=p.rounding:X(r,0,8)):(n=p.precision,r=p.rounding),!t.isFinite())m=Mt(t);else{for(m=te(t),s=m.indexOf("."),w?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,s>=0&&(m=m.replace(".",""),d=new p(1),d.e=m.length-s,d.d=Me(te(d),10,i),d.e=d.d.length),l=Me(m,10,i),o=c=l.length;l[--c]==0;)l.pop();if(!l[0])m=w?"0p+0":"0";else{if(s<0?o--:(t=new p(t),t.d=l,t.e=o,t=N(t,d,n,r,0,i),l=t.d,o=t.e,u=Nt),s=l[n],a=i/2,u=u||l[n+1]!==void 0,u=r<4?(s!==void 0||u)&&(r===0||r===(t.s<0?3:2)):s>a||s===a&&(r===4||u||r===6&&l[n-1]&1||r===(t.s<0?8:7)),l.length=n,u)for(;++l[--n]>i-1;)l[n]=0,n||(++o,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,m="";s<c;s++)m+=Je.charAt(l[s]);if(w){if(c>1)if(e==16||e==8){for(s=e==16?4:3,--c;c%s;c++)m+="0";for(l=Me(m,i,e),c=l.length;!l[c-1];--c);for(s=1,m="1.";s<c;s++)m+=Je.charAt(l[s])}else m=m.charAt(0)+"."+m.slice(1);m=m+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)m="0"+m;m="0."+m}else if(++o>c)for(o-=c;o--;)m+="0";else o<c&&(m=m.slice(0,o)+"."+m.slice(o))}m=(e==16?"0x":e==2?"0b":e==8?"0o":"")+m}return t.s<0?"-"+m:m}function Bt(t,e){if(t.length>e)return t.length=e,!0}function pn(t){return new this(t).abs()}function gn(t){return new this(t).acos()}function hn(t){return new this(t).acosh()}function bn(t,e){return new this(t).plus(e)}function Tn(t){return new this(t).asin()}function wn(t){return new this(t).asinh()}function yn(t){return new this(t).atan()}function An(t){return new this(t).atanh()}function xn(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=ee(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?ee(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=ee(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(N(t,e,o,1)),e=ee(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(N(t,e,o,1)),n}function Pn(t){return new this(t).cbrt()}function kn(t){return g(t=new this(t),t.e+1,2)}function Bn(t,e,n){return new this(t).clamp(e,n)}function Sn(t){if(!t||typeof t!="object")throw Error(Ge+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,pe,"rounding",0,8,"toExpNeg",-we,0,"toExpPos",0,we,"maxE",0,we,"minE",-we,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=$e[n]),(r=t[n])!==void 0)if(q(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(fe+n+": "+r);if(n="crypto",i&&(this[n]=$e[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(_t);else this[n]=!1;else throw Error(fe+n+": "+r);return this}function Nn(t){return new this(t).cos()}function In(t){return new this(t).cosh()}function Ft(t){var e,n,r;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,St(o)){u.s=o.s,T?!o.d||o.e>i.maxE?(u.e=NaN,u.d=null):o.e<i.minE?(u.e=0,u.d=[0]):(u.e=o.e,u.d=o.d.slice()):(u.e=o.e,u.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){u.s=1/o<0?-1:1,u.e=0,u.d=[0];return}if(o<0?(o=-o,u.s=-1):u.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;T?s>i.maxE?(u.e=NaN,u.d=null):s<i.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return De(u,o.toString())}if(c==="string")return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Ct.test(o)?De(u,o):dn(u,o);if(c==="bigint")return o<0?(o=-o,u.s=-1):u.s=1,De(u,o.toString());throw Error(fe+o)}if(i.prototype=f,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=Sn,i.clone=Ft,i.isDecimal=St,i.abs=pn,i.acos=gn,i.acosh=hn,i.add=bn,i.asin=Tn,i.asinh=wn,i.atan=yn,i.atanh=An,i.atan2=xn,i.cbrt=Pn,i.ceil=kn,i.clamp=Bn,i.cos=Nn,i.cosh=In,i.div=_n,i.exp=En,i.floor=Cn,i.hypot=Ln,i.ln=Rn,i.log=On,i.log10=Dn,i.log2=Mn,i.max=Fn,i.min=vn,i.mod=Kn,i.mul=Gn,i.pow=Un,i.random=qn,i.round=Vn,i.sign=Wn,i.sin=Xn,i.sinh=Hn,i.sqrt=zn,i.sub=jn,i.sum=Yn,i.tan=Qn,i.tanh=Zn,i.trunc=Jn,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function _n(t,e){return new this(t).div(e)}function En(t){return new this(t).exp()}function Cn(t){return g(t=new this(t),t.e+1,3)}function Ln(){var t,e,n=new this(0);for(T=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return T=!0,new this(1/0);n=e}return T=!0,n.sqrt()}function St(t){return t instanceof Se||t&&t.toStringTag===Et||!1}function Rn(t){return new this(t).ln()}function On(t,e){return new this(t).log(e)}function Mn(t){return new this(t).log(2)}function Dn(t){return new this(t).log(10)}function Fn(){return Ot(this,arguments,-1)}function vn(){return Ot(this,arguments,1)}function Kn(t,e){return new this(t).mod(e)}function Gn(t,e){return new this(t).mul(e)}function Un(t,e){return new this(t).pow(e)}function qn(t){var e,n,r,i,o=0,s=new this(1),a=[];if(t===void 0?t=this.precision:X(t,1,pe),r=Math.ceil(t/h),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(a.push(i%1e7),o+=4);o=r/4}else throw Error(_t);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],t%=h,r&&t&&(i=M(10,h-t),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=h)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<h&&(n-=h-r)}return s.e=n,s.d=a,s}function Vn(t){return g(t=new this(t),t.e+1,this.rounding)}function Wn(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function Xn(t){return new this(t).sin()}function Hn(t){return new this(t).sinh()}function zn(t){return new this(t).sqrt()}function jn(t,e){return new this(t).sub(e)}function Yn(){var t=0,e=arguments,n=new this(e[t]);for(T=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return T=!0,g(n,this.precision,this.rounding)}function Qn(t){return new this(t).tan()}function Zn(t){return new this(t).tanh()}function Jn(t){return g(t=new this(t),t.e+1,1)}f[Symbol.for("nodejs.util.inspect.custom")]=f.toString;f[Symbol.toStringTag]="Decimal";var Se=f.constructor=Ft($e);Fe=new Se(Fe);ve=new Se(ve);var V=Se;import Y from"bn.js";var ne=new Y(0),Ae=new Y(1),vt=new Y(-1),Ve=new Y(1).shln(64),We=new Y(1).shln(128),$n=Ve.sub(Ae),rt=64,Kt=We.subn(1),se=-443636,ge=-se,it=new Y("4295048016"),ot=new Y("79226673521066979257578248091"),Zr=new Y("4295048017"),Jr=new Y("79226673521066979257578248090"),Gt=16,Ut="59543866431248",qt="184467440737095516",Vt="15793534762490258745",er=new Y(10).pow(new Y(6));var $r=new Y("18446744073700000000");import B from"bn.js";import ni from"bn.js";import{MINT_SIZE as ai,TOKEN_PROGRAM_ID as ui,getTransferFeeConfig as ci,unpackMint as mi}from"@solana/spl-token";import{PublicKey as rr}from"@solana/web3.js";import{get as Wt,set as tr}from"lodash";var st=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let n=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},Xt={},nr={};function Q(t){let e=Wt(Xt,t);if(!e){let n=Wt(nr,t);e=new st({name:t,logLevel:n}),tr(Xt,t,e)}return e}var at=Q("CobaltX_accountInfo_util");async function Xe(t,e,n){let{batchRequest:r,commitment:i="confirmed",chunkCount:o=100}={batchRequest:!1,...n},s=ut(e,o),a=new Array(s.length).fill([]);if(r){let c=s.map(l=>{let d=t._buildArgs([l.map(p=>p.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:d}}),u=ut(c,10);a=(await(await Promise.all(u.map(async l=>await t._rpcBatchRequest(l)))).flat()).map(l=>(l.error&&at.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(d=>{if(d){let{data:p,executable:w,lamports:b,owner:F,rentEpoch:_}=d;return p.length!==2&&p[1]!=="base64"&&at.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:w,lamports:b,owner:new rr(F),rentEpoch:_}}return null})))}else try{a=await Promise.all(s.map(c=>t.getMultipleAccountsInfo(c,i)))}catch(c){c instanceof Error&&at.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}import ce from"bn.js";import dr from"big.js";import Oi from"bn.js";import or from"toformat";var sr=or,Ne=sr;import ze from"big.js";import ur from"bn.js";import cr from"decimal.js-light";import Ie from"bn.js";var Ht=9007199254740991;function ae(t){let e=Q("CobaltX_parseBigNumberish");if(t instanceof Ie)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new Ie(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=Ht||t<=-Ht)&&e.logWithError(`BigNumberish number overflow: ${t}`),new Ie(String(t))):typeof t=="bigint"?new Ie(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new Ie(0))}var He=Q("module/fraction"),ct=Ne(ze),_e=Ne(cr),mr={[0]:_e.ROUND_DOWN,[1]:_e.ROUND_HALF_UP,[2]:_e.ROUND_UP},lr={[0]:ze.roundDown,[1]:ze.roundHalfUp,[2]:ze.roundUp},E=class{constructor(e,n=new ur(1)){this.numerator=ae(e),this.denominator=ae(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new E(this.denominator,this.numerator)}add(e){let n=e instanceof E?e:new E(ae(e));return this.denominator.eq(n.denominator)?new E(this.numerator.add(n.numerator),this.denominator):new E(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof E?e:new E(ae(e));return this.denominator.eq(n.denominator)?new E(this.numerator.sub(n.numerator),this.denominator):new E(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof E?e:new E(ae(e));return new E(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof E?e:new E(ae(e));return new E(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||He.logWithError(`${e} is not an integer.`),e<=0&&He.logWithError(`${e} is not positive.`),_e.set({precision:e+1,rounding:mr[r]});let i=new _e(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},r=1){return Number.isInteger(e)||He.logWithError(`${e} is not an integer.`),e<0&&He.logWithError(`${e} is negative.`),ct.DP=e,ct.RM=lr[r]||1,new ct(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};var Vi=Q("CobaltX_amount"),Wi=Ne(dr);import{TOKEN_PROGRAM_ID as Qi}from"@solana/spl-token";import{PublicKey as Ji}from"@solana/web3.js";import{PublicKey as ue}from"@solana/web3.js";var zi={["sooneth"]:{NATIVE_TOKEN_SYMBOL:"ETH",SWAP_HOST:"https://trade-api.cobaltx.io",BASE_HOST:"https://api.cobaltx.io",OWNER_BASE_HOST:"https://api.cobaltx.io",SERVICE_BASE_HOST:"https://api.cobaltx.io",MONITOR_BASE_HOST:"https://api.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",LOOKUP_TABLE_CACHE:"6fa5xTGwoYJPMLMXaQ4tQFKMoYvXuvsJFLigMJ9a5QeB",CLMM_PROGRAMM_ID:"2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V",BONK_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",SOL_MINT_ADDRESS:"ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV",USDC_MINT_ADDRESS:"ExYxyorY2x3h8gLcuypnHFQV3F36rmMkQVn7HHV8mUy9",USDT_MINT_ADDRESS:"742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",FULL_TOKEN_NAME:"Wrapped Ethereum",ETH_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",WRAPPED_TOKEN_SYMBOL:"WETH",INPUT_MINT_ADDRESS:ue.default.toString(),OUTPUT_MINT_ADDRESS:"742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9",POPULAR_TOKENS:{SOL:ue.default.toString(),ETH:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",USDC:"ExYxyorY2x3h8gLcuypnHFQV3F36rmMkQVn7HHV8KjtA",USDT:"742wcXVzkhNuEePAot7L3GvPseh93pvYFPgyHLX8mUy9"},WSOL_DECIMALS:9},["svmbnb"]:{NATIVE_TOKEN_SYMBOL:"BNB",SWAP_HOST:"https://trade-api.svmbnb.cobaltx.io",BASE_HOST:"https://api.svmbnb.cobaltx.io",OWNER_BASE_HOST:"https://api.svmbnb.cobaltx.io",SERVICE_BASE_HOST:"https://api.svmbnb.cobaltx.io",MONITOR_BASE_HOST:"https://api.svmbnb.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.svmbnb.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.svmbnb.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-tokens/main/logo/So11111111111111111111111111111111111111112.svg",LOOKUP_TABLE_CACHE:"GSR5XQGWhpzV9TTduBJR6qPNjYsepMQSGkpaqfrbrW9w",CLMM_PROGRAMM_ID:"6f1b3xyVZbnWMHXBjgW1KPwxmPAgXcRdrvKNn4Nmf1Cn",ETH_MINT_ADDRESS:"H3xpFH1yN5E1zFdAoBrC9Y7m7RfJUeQNLvkHi8kNf9Qu",USDC_MINT_ADDRESS:"5odzAHDpDETYhupMkc6kjiYen3K2nrf8oPmvqmsoNW4L",USDT_MINT_ADDRESS:"s8cRDxnp3VxjB6khRnGDdxv6QbCUPyY9Vn1bgSQQsnG",SOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",FULL_TOKEN_NAME:"Wrapped BNB",WRAPPED_TOKEN_SYMBOL:"WBNB",INPUT_MINT_ADDRESS:ue.default.toBase58(),OUTPUT_MINT_ADDRESS:"ABoT7umUXnx8RtJTeRqKB6myebVjP2wdJGQuV23jVVH3",POPULAR_TOKENS:{SOL:ue.default.toString(),ETH:"H3xpFH1yN5E1zFdAoBrC9Y7m7RfJUeQNLvkHi8kNf9Qu",USDC:"5odzAHDpDETYhupMkc6kjiYen3K2nrf8oPmvqmsoNW4L",USDT:"s8cRDxnp3VxjB6khRnGDdxv6QbCUPyY9Vn1bgSQQsnG"},WSOL_DECIMALS:9},["svmbnb_testnet"]:{NATIVE_TOKEN_SYMBOL:"BNB",SWAP_HOST:"https://trade-api.svmbnb.cobaltx.io",BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",OWNER_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",SERVICE_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",MONITOR_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.testnet.svmbnb.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-testnet-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbnb-testnet-tokens/main/logo/So11111111111111111111111111111111111111112.svg",LOOKUP_TABLE_CACHE:"D79gSiTNV9pyLPJyscW5yZYwdPVDrtKsamL3ZfQi6JiM",CLMM_PROGRAMM_ID:"FgycD57kcCZsjpoTAi2u67GTPxm59bPEhycL2Lw1icm1",ETH_MINT_ADDRESS:"5aLr3sV4UNVcMB6CiA3PZTWbgVBRNyMdEp1s5LNfhR95",USDC_MINT_ADDRESS:"jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",USDT_MINT_ADDRESS:"Ex86C4gmdjvPRNrfyvsyejbjkP6RstNaBC5g3itZw2iv",FULL_TOKEN_NAME:"Wrapped BNB",WRAPPED_TOKEN_SYMBOL:"WBNB",INPUT_MINT_ADDRESS:"bnb",OUTPUT_MINT_ADDRESS:"jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",POPULAR_TOKENS:{SOL:ue.default.toString(),ETH:"5aLr3sV4UNVcMB6CiA3PZTWbgVBRNyMdEp1s5LNfhR95",USDC:"jrhUNRxEDpFmGV3sqaWyveS7bVtRQgtHsfBTCdjfMBw",USDT:"Ex86C4gmdjvPRNrfyvsyejbjkP6RstNaBC5g3itZw2iv"},WSOL_DECIMALS:9},["svmbase_testnet"]:{NATIVE_TOKEN_SYMBOL:"ETH",SWAP_HOST:"https://trade-api.testnet.svmbase.cobaltx.io",BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",OWNER_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",SERVICE_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",MONITOR_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.testnet.svmbase.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbase-testnet-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/svmbase-testnet-tokens/main/logo/So11111111111111111111111111111111111111112.png",LOOKUP_TABLE_CACHE:"AyPMvNmUUY2jwZ75NxhkLYPraQGNk5DssVfP4TnMcPJF",CLMM_PROGRAMM_ID:"DnZnBqJKiGSYHUHYvkXAbQmkMbwrjfgo4orR7jWyMsik",ETH_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",USDC_MINT_ADDRESS:"63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",USDT_MINT_ADDRESS:"4fyX7hSmPetQC2wRS3YVAhWeFzif7WStarKwTvCXrBtD",FULL_TOKEN_NAME:"Wrapped Ethereum",WRAPPED_TOKEN_SYMBOL:"WETH",INPUT_MINT_ADDRESS:ue.default.toString(),OUTPUT_MINT_ADDRESS:"63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",POPULAR_TOKENS:{SOL:ue.default.toString(),ETH:"So11111111111111111111111111111111111111112",USDC:"63tPXWPnYeZ9hA3dJsAY5RcQ8YbwEz8uZ5nKu3uFD1aK",USDT:"4fyX7hSmPetQC2wRS3YVAhWeFzif7WStarKwTvCXrBtD"},WSOL_DECIMALS:9},["soonbase_mainnet"]:{NATIVE_TOKEN_SYMBOL:"ETH",SWAP_HOST:"https://trade-api.soonbase.cobaltx.io",BASE_HOST:"https://api.soonbase.cobaltx.io",OWNER_BASE_HOST:"https://api.soonbase.cobaltx.io",SERVICE_BASE_HOST:"https://api.soonbase.cobaltx.io",MONITOR_BASE_HOST:"https://api.soonbase.cobaltx.io",SERVICE_1_BASE_HOST:"https://api.soonbase.cobaltx.io",ANALYTICS_BASE_HOST:"https://api.soonbase.cobaltx.io",GITHUB_TOKEN_LIST_URL:"https://raw.githubusercontent.com/cobaltx-io/soonbase-tokens/main/tokens.json",WSOL_MINT_ADDRESS:"So11111111111111111111111111111111111111112",GITHUB_LOGO_URL:"https://raw.githubusercontent.com/cobaltx-io/soonbase-tokens/main/logo/So11111111111111111111111111111111111111112.png",LOOKUP_TABLE_CACHE:"FGRusuLycV6nhSPQc9VX55YjT6DCzJFc59mvTTarSTjK",CLMM_PROGRAMM_ID:"6f1b3xyVZbnWMHXBjgW1KPwxmPAgXcRdrvKNn4Nmf1Cn",ETH_MINT_ADDRESS:"71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd",USDC_MINT_ADDRESS:"BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",USDT_MINT_ADDRESS:"J87bysZjwfS3n6KR21cwbdPZVJWNSFcXpWF5kiChAwQH",FULL_TOKEN_NAME:"Wrapped Ethereum",WRAPPED_TOKEN_SYMBOL:"WETH",INPUT_MINT_ADDRESS:ue.default.toString(),OUTPUT_MINT_ADDRESS:"BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",POPULAR_TOKENS:{SOL:ue.default.toString(),ETH:"FkvCG5DcuYCQ1BnPH4ZzTkCdk3VzutgyDAFBec4qAjhh",USDC:"BoYN2f2gLQS4jpvMSV9dAZwfzKJiKGk4NPck5BjXfujo",USDT:"J87bysZjwfS3n6KR21cwbdPZVJWNSFcXpWF5kiChAwQH"},WSOL_DECIMALS:9}};import{PublicKey as To}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as pr}from"@solana/spl-token";import{PublicKey as be,SystemProgram as zt,SYSVAR_RENT_PUBKEY as gr}from"@solana/web3.js";function lt({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var so=[lt({pubkey:pr,isWritable:!1}),lt({pubkey:zt.programId,isWritable:!1}),lt({pubkey:gr,isWritable:!1})];var ao=new be("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),uo=new be("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),co=new be("SysvarRent111111111111111111111111111111111"),mo=new be("SysvarC1ock11111111111111111111111111111111"),hr=new be("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),lo=new be("Sysvar1nstructions1111111111111111111111111"),fo=zt.programId,br=be.default;import Tr from"bn.js";var _o=new E(new Tr(100));var Mo=Q("CobaltX_price");import{PublicKey as $o}from"@solana/web3.js";import ts from"bn.js";var wr=new ce(0),ys=new ce(1),As=new ce(2),xs=new ce(3),Ps=new ce(5),fr=new ce(10),ks=new ce(100),Bs=new ce(1e3),Ss=new ce(1e4);function ut(t,e=1,n=[]){let r=[...t];if(e<=0)return n;for(;r.length;)n.push(r.splice(0,e));return n}import{PublicKey as Zs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as $s}from"@solana/spl-token";import{ComputeBudgetProgram as Ms,Keypair as vs,PublicKey as yr,Transaction as Gs,TransactionMessage as qs,VersionedTransaction as Vs}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as zs}from"@solana/spl-token";var js=Q("CobaltX_txUtil");function ht(t,e){let[n,r]=yr.findProgramAddressSync(t,e);return{publicKey:n,nonce:r}}import{PublicKey as y}from"@solana/web3.js";var ia=new y("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),oa=new y("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),sa=new y("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),aa=new y("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),ua=new y("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),ca=new y("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),ma=new y("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),la=new y("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),da=new y("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),fa=new y("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo");var pa=new y("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ga=new y("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),ha=new y("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),ba=new y("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ta=new y("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),wa=new y("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),ya=new y("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),Aa=new y("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),xa=new y("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),Pa=new y("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),ka=new y("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Ar=new y("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),xr=new y("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Pr=new y("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Ba=new y("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),kr=new y("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),Sa=new y("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Br=new y("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Na={SERUM_MARKET:y.default,OPENBOOK_MARKET:new y("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:y.default,FarmV3:new y("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new y("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new y("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new y("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new y("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new y("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new y("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new y("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new y("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:Ar,CREATE_CPMM_POOL_AUTH:xr,CREATE_CPMM_POOL_FEE_ACC:Pr,FEE_DESTINATION_ID:new y("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:kr,LCOK_CPMM_AUTH:Br};import{PublicKey as Ca,AddressLookupTableAccount as La}from"@solana/web3.js";import{PublicKey as Ya,sendAndConfirmTransaction as Qa,Transaction as Ja,TransactionMessage as eu,VersionedTransaction as tu}from"@solana/web3.js";import ru from"axios";function jt(t){let e=new ArrayBuffer(4);return new DataView(e).setInt32(0,t,!1),new Uint8Array(e)}var Cu=Buffer.from("amm_config","utf8"),Lu=Buffer.from("pool","utf8"),Ru=Buffer.from("pool_vault","utf8"),Ou=Buffer.from("pool_reward_vault","utf8"),Mu=Buffer.from("position","utf8"),Sr=Buffer.from("tick_array","utf8"),Du=Buffer.from("operation","utf8"),Fu=Buffer.from("pool_tick_array_bitmap_extension","utf8"),vu=Buffer.from("observation","utf8");function me(t,e,n){return ht([Sr,e.toBuffer(),jt(n)],t)}var Ku=Buffer.from("locked_position","utf8");import{TOKEN_2022_PROGRAM_ID as Sm}from"@solana/spl-token";import{PublicKey as Em}from"@solana/web3.js";import Lm from"bn.js";import{PublicKey as Mr}from"@solana/web3.js";import Jt,{isBN as $t}from"bn.js";import{bits as qu,BitStructure as Vu,blob as Nr,Blob as Wu,cstr as Xu,f32 as Hu,f32be as zu,f64 as ju,f64be as Yu,greedy as Qu,Layout as Ir,ns64 as Zu,ns64be as Ju,nu64 as $u,nu64be as ec,offset as tc,s16 as nc,s16be as rc,s24 as ic,s24be as oc,s32 as _r,s32be as sc,s40 as ac,s40be as uc,s48 as cc,s48be as mc,s8 as lc,seq as Er,struct as dc,Structure as Cr,u16 as Lr,u16be as fc,u24 as pc,u24be as gc,u32 as hc,u32be as bc,u40 as Tc,u40be as wc,u48 as yc,u48be as Ac,u8 as Rr,UInt as Or,union as xc,Union as Pc,unionLayoutDiscriminator as kc,utf8 as Bc}from"@solana/buffer-layout";var bt=Ir,Yt=Cr;var Tt=Or;var Qt=Rr,Ee=Lr;var he=_r;var Zt=Er;var z=Nr;var xe=class extends bt{constructor(n,r,i){super(n,i);this.blob=z(n),this.signed=r}decode(n,r=0){let i=new Jt(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new Jt(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}};function H(t){return new Tt(1,t)}function Pe(t){return new Tt(4,t)}function P(t){return new xe(8,!1,t)}function L(t){return new xe(16,!1,t)}function en(t){return new xe(8,!0,t)}function tn(t){return new xe(16,!0,t)}var je=class extends bt{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function k(t){return new je(z(32),e=>new Mr(e),e=>e.toBuffer(),t)}function nn(t){return new je(Qt(),Dr,Fr,t)}function Dr(t){if(t===0)return!1;if(t===1)return!0;throw new Error("Invalid bool: "+t)}function Fr(t){return t?1:0}var wt=class extends Yt{decode(e,n){return super.decode(e,n)}};function W(t,e,n){return new wt(t,e,n)}function C(t,e,n){let r,i=typeof e=="number"?e:$t(e)?e.toNumber():new Proxy(e,{get(o,s){if(!r){let a=Reflect.get(o,"count");r=$t(a)?a.toNumber():a,Reflect.set(o,"count",r)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(r=a),Reflect.set(o,s,a)}});return Zt(t,i,n)}var vr=15,j=class{static async getTickArrays(e,n,r,i,o,s,a){let c=[],u=R.getTickArrayStartIndexByTick(i,o),m=R.getInitializedTickArrayInRange(s,a,o,u,Math.floor(vr/2));for(let p=0;p<m.length;p++){let{publicKey:w}=me(n,r,m[p]);c.push(w)}let l=(await Xe(e,c)).map(p=>p!==null?yt.decode(p.data):null),d={};for(let p=0;p<c.length;p++){let w=l[p];w!==null&&(d[w.startTickIndex]={...w,address:c[p]})}return d}static nextInitializedTick(e,n,r,i,o,s){let{initializedTick:a,tickArrayAddress:c,tickArrayStartTickIndex:u}=this.nextInitializedTickInOneArray(e,n,r,i,o,s);for(;a==null||a.liquidityGross.lten(0);){if(u=R.getNextTickArrayStartIndex(u,o,s),this.checkIsValidStartIndex(u,o))throw new Error("No enough initialized tickArray");let m=r[u];if(m===void 0)continue;let{nextTick:l,tickArrayAddress:d,tickArrayStartTickIndex:p}=this.firstInitializedTickInOneArray(e,n,m,s);[a,c,u]=[l,d,p]}if(a==null)throw new Error("No invaild tickArray cache");return{nextTick:a,tickArrayAddress:c,tickArrayStartTickIndex:u}}static nextInitializedTickArray(e,n,r,i,o){let s=Math.floor(e/j.tickCount(n)),a=r?R.searchLowBitFromStart(i,o,s-1,1,n):R.searchHightBitFromStart(i,o,s+1,1,n);return a.length>0?{isExist:!0,nextStartIndex:a[0]}:{isExist:!1,nextStartIndex:0}}static firstInitializedTickInOneArray(e,n,r,i){let o;if(i){let a=K-1;for(;a>=0;){let c=r.ticks[a];if(c.liquidityGross.gtn(0)){o=c;break}a=a-1}}else{let a=0;for(;a<K;){let c=r.ticks[a];if(c.liquidityGross.gtn(0)){o=c;break}a=a+1}}let{publicKey:s}=me(e,n,r.startTickIndex);return{nextTick:o,tickArrayAddress:s,tickArrayStartTickIndex:r.startTickIndex}}static nextInitializedTickInOneArray(e,n,r,i,o,s){let a=R.getTickArrayStartIndexByTick(i,o),c=Math.floor((i-a)/o),u=r[a];if(u==null)return{initializedTick:void 0,tickArrayAddress:void 0,tickArrayStartTickIndex:a};let m;if(s)for(;c>=0;){let d=u.ticks[c];if(d.liquidityGross.gtn(0)){m=d;break}c=c-1}else for(c=c+1;c<K;){let d=u.ticks[c];if(d.liquidityGross.gtn(0)){m=d;break}c=c+1}let{publicKey:l}=me(e,n,a);return{initializedTick:m,tickArrayAddress:l,tickArrayStartTickIndex:u.startTickIndex}}static getArrayStartIndex(e,n){let r=this.tickCount(n);return Math.floor(e/r)*r}static checkIsValidStartIndex(e,n){if(R.checkIsOutOfBoundary(e)){if(e>ge)return!1;let r=R.getTickArrayStartIndexByTick(se,n);return e==r}return e%this.tickCount(n)==0}static tickCount(e){return K*e}};var At=14;var om=W([z(8),H("bump"),Ee("index"),k(""),Pe("protocolFeeRate"),Pe("tradeFeeRate"),Ee("tickSpacing"),C(P(),8,"")]),Kr=W([Pe("blockTimestamp"),en("tickCumulative"),C(P(),4)]),sm=W([z(8),nn("initialized"),P("recentEpoch"),Ee("observationIndex"),k("poolId"),C(Kr,100,"observations"),C(P(),4)]),Gr=W([H("rewardState"),P("openTime"),P("endTime"),P("lastUpdateTime"),L("emissionsPerSecondX64"),P("rewardTotalEmissioned"),P("rewardClaimed"),k("tokenMint"),k("tokenVault"),k("creator"),L("rewardGrowthGlobalX64")]),Ur=W([z(8),H("bump"),k("ammConfig"),k("creator"),k("mintA"),k("mintB"),k("vaultA"),k("vaultB"),k("observationId"),H("mintDecimalsA"),H("mintDecimalsB"),Ee("tickSpacing"),L("liquidity"),L("sqrtPriceX64"),he("tickCurrent"),Pe(),L("feeGrowthGlobalX64A"),L("feeGrowthGlobalX64B"),P("protocolFeesTokenA"),P("protocolFeesTokenB"),L("swapInAmountTokenA"),L("swapOutAmountTokenB"),L("swapInAmountTokenB"),L("swapOutAmountTokenA"),H("status"),C(H(),7,""),C(Gr,3,"rewardInfos"),C(P(),16,"tickArrayBitmap"),P("totalFeesTokenA"),P("totalFeesClaimedTokenA"),P("totalFeesTokenB"),P("totalFeesClaimedTokenB"),P("fundFeesTokenA"),P("fundFeesTokenB"),P("startTime"),C(P(),15*4-3,"padding")]),qr=W([L("growthInsideLastX64"),P("rewardAmountOwed")]),Vr=W([z(8),H("bump"),k("nftMint"),k("poolId"),he("tickLower"),he("tickUpper"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),P("tokenFeesOwedA"),P("tokenFeesOwedB"),C(qr,3,"rewardInfos"),C(P(),8,"")]),am=W([z(8),H("bump"),k("poolId"),he("tickLowerIndex"),he("tickUpperIndex"),L("liquidity"),L("feeGrowthInsideLastX64A"),L("feeGrowthInsideLastX64B"),P("tokenFeesOwedA"),P("tokenFeesOwedB"),C(L(),3,"rewardGrowthInside"),C(P(),8,"")]),Wr=W([he("tick"),tn("liquidityNet"),L("liquidityGross"),L("feeGrowthOutsideX64A"),L("feeGrowthOutsideX64B"),C(L(),3,"rewardGrowthsOutsideX64"),C(Pe(),13,"")]),yt=W([z(8),k("poolId"),he("startTickIndex"),C(Wr,K,"ticks"),H("initializedTickCount"),C(H(),115,"")]),um=W([z(329),C(k(),100,"whitelistMints")]),Xr=W([z(8),k("poolId"),C(C(P(),8),At,"positiveTickArrayBitmap"),C(C(P(),8),At,"negativeTickArrayBitmap")]),cm=W([P(),H("bump"),k("owner"),k("poolId"),k("positionId"),k("nftAccount"),C(P(),8)]),mm=W([z(8),H("bump"),k("lockOwner"),k("poolId"),k("positionId"),k("nftAccount"),k("lockNftMint"),P("recentEpoch"),C(P(),8)]);import fm from"bn.js";var re=class{static mulDivRoundingUp(e,n,r){let i=e.mul(n),o=i.div(r);return i.mod(r).eq(ne)||(o=o.add(Ae)),o}static mulDivFloor(e,n,r){if(r.eq(ne))throw new Error("division by 0");return e.mul(n).div(r)}static mulDivCeil(e,n,r){if(r.eq(ne))throw new Error("division by 0");return e.mul(n).add(r.sub(Ae)).div(r)}static x64ToDecimal(e,n){return new V(e.toString()).div(V.pow(2,64)).toDecimalPlaces(n)}static decimalToX64(e){return new B(e.mul(V.pow(2,64)).floor().toFixed())}static wrappingSubU128(e,n){return e.add(We).sub(n).mod(We)}};function D(t,e){return Pt(t.mul(e),64,256)}function zr(t,e,n){let r=t.toTwos(n).shln(e);return r.imaskn(n+1),r.fromTwos(n)}function Pt(t,e,n){let r=t.toTwos(n).shrn(e);return r.imaskn(n-e+1),r.fromTwos(n-e)}var O=class{static sqrtPriceX64ToPrice(e,n,r){return re.x64ToDecimal(e).pow(2).mul(V.pow(10,n-r))}static priceToSqrtPriceX64(e,n,r){return re.decimalToX64(e.mul(V.pow(10,r-n)).sqrt())}static getNextSqrtPriceX64FromInput(e,n,r,i){if(!e.gt(ne))throw new Error("sqrtPriceX64 must greater than 0");if(!n.gt(ne))throw new Error("liquidity must greater than 0");return i?this.getNextSqrtPriceFromTokenAmountARoundingUp(e,n,r,!0):this.getNextSqrtPriceFromTokenAmountBRoundingDown(e,n,r,!0)}static getNextSqrtPriceX64FromOutput(e,n,r,i){if(!e.gt(ne))throw new Error("sqrtPriceX64 must greater than 0");if(!n.gt(ne))throw new Error("liquidity must greater than 0");return i?this.getNextSqrtPriceFromTokenAmountBRoundingDown(e,n,r,!1):this.getNextSqrtPriceFromTokenAmountARoundingUp(e,n,r,!1)}static getNextSqrtPriceFromTokenAmountARoundingUp(e,n,r,i){if(r.eq(ne))return e;let o=n.shln(rt);if(i){let s=o,a=o.add(r.mul(e));return a.gte(s)?re.mulDivCeil(s,e,a):re.mulDivRoundingUp(s,Ae,s.div(e).add(r))}else{let s=r.mul(e);if(!o.gt(s))throw new Error("getNextSqrtPriceFromTokenAmountARoundingUp,liquidityLeftShift must gt amountMulSqrtPrice");let a=o.sub(s);return re.mulDivCeil(o,e,a)}}static getNextSqrtPriceFromTokenAmountBRoundingDown(e,n,r,i){let o=r.shln(rt);if(i)return e.add(o.div(n));{let s=re.mulDivRoundingUp(o,Ae,n);if(!e.gt(s))throw new Error("getNextSqrtPriceFromTokenAmountBRoundingDown sqrtPriceX64 must gt amountDivLiquidity");return e.sub(s)}}static getSqrtPriceX64FromTick(e){if(!Number.isInteger(e))throw new Error("tick must be integer");if(e<se||e>ge)throw new Error("tick must be in MIN_TICK and MAX_TICK");let n=e<0?e*-1:e,r=(n&1)!=0?new B("18445821805675395072"):new B("18446744073709551616");return(n&2)!=0&&(r=D(r,new B("18444899583751176192"))),(n&4)!=0&&(r=D(r,new B("18443055278223355904"))),(n&8)!=0&&(r=D(r,new B("18439367220385607680"))),(n&16)!=0&&(r=D(r,new B("18431993317065453568"))),(n&32)!=0&&(r=D(r,new B("18417254355718170624"))),(n&64)!=0&&(r=D(r,new B("18387811781193609216"))),(n&128)!=0&&(r=D(r,new B("18329067761203558400"))),(n&256)!=0&&(r=D(r,new B("18212142134806163456"))),(n&512)!=0&&(r=D(r,new B("17980523815641700352"))),(n&1024)!=0&&(r=D(r,new B("17526086738831433728"))),(n&2048)!=0&&(r=D(r,new B("16651378430235570176"))),(n&4096)!=0&&(r=D(r,new B("15030750278694412288"))),(n&8192)!=0&&(r=D(r,new B("12247334978884435968"))),(n&16384)!=0&&(r=D(r,new B("8131365268886854656"))),(n&32768)!=0&&(r=D(r,new B("3584323654725218816"))),(n&65536)!=0&&(r=D(r,new B("696457651848324352"))),(n&131072)!=0&&(r=D(r,new B("26294789957507116"))),(n&262144)!=0&&(r=D(r,new B("37481735321082"))),e>0&&(r=Kt.div(r)),r}static getTickFromPrice(e,n,r){return O.getTickFromSqrtPriceX64(O.priceToSqrtPriceX64(e,n,r))}static getTickFromSqrtPriceX64(e){if(e.gt(ot)||e.lt(it))throw new Error("Provided sqrtPrice is not within the supported sqrtPrice range.");let n=e.bitLength()-1,r=new B(n-64),i=zr(r,32,128),o=new B("8000000000000000","hex"),s=0,a=new B(0),c=n>=64?e.shrn(n-63):e.shln(63-n);for(;o.gt(new B(0))&&s<Gt;){c=c.mul(c);let w=c.shrn(127);c=c.shrn(63+w.toNumber()),a=a.add(o.mul(w)),o=o.shrn(1),s+=1}let u=a.shrn(32),l=i.add(u).mul(new B(Ut)),d=Pt(l.sub(new B(qt)),64,128).toNumber(),p=Pt(l.add(new B(Vt)),64,128).toNumber();return d==p?d:O.getSqrtPriceX64FromTick(p).lte(e)?p:d}},Te=class{static getTickWithPriceAndTickspacing(e,n,r,i){let s=O.getTickFromSqrtPriceX64(O.priceToSqrtPriceX64(e,r,i))/n;return s<0?s=Math.floor(s):s=Math.ceil(s),s*n}static roundPriceWithTickspacing(e,n,r,i){let o=Te.getTickWithPriceAndTickspacing(e,n,r,i),s=O.getSqrtPriceX64FromTick(o);return O.sqrtPriceX64ToPrice(s,r,i)}};var K=60,xt=512,R=class{static getTickArrayAddressByTick(e,n,r,i){let o=R.getTickArrayStartIndexByTick(r,i),{publicKey:s}=me(e,n,o);return s}static getTickOffsetInArray(e,n){if(e%n!=0)throw new Error("tickIndex % tickSpacing not equal 0");let r=R.getTickArrayStartIndexByTick(e,n),i=Math.floor((e-r)/n);if(i<0||i>=K)throw new Error("tick offset in array overflow");return i}static getTickArrayBitIndex(e,n){let r=j.tickCount(n),i=e/r;return e<0&&e%r!=0?i=Math.ceil(i)-1:i=Math.floor(i),i}static getTickArrayStartIndexByTick(e,n){return this.getTickArrayBitIndex(e,n)*j.tickCount(n)}static getTickArrayOffsetInBitmapByTick(e,n){let r=n*K,i=Math.floor(e/r)+512;return Math.abs(i)}static checkTickArrayIsInitialized(e,n,r){let i=r*K,o=Math.floor(n/i)+512,s=Math.abs(o);return{isInitialized:e.testn(s),startIndex:(s-512)*i}}static getNextTickArrayStartIndex(e,n,r){return r?e-n*K:e+n*K}static mergeTickArrayBitmap(e){let n=new jr(0);for(let r=0;r<e.length;r++)n=n.add(e[r].shln(64*r));return n}static getInitializedTickArrayInRange(e,n,r,i,o){let s=Math.floor(i/(r*K));return[...R.searchLowBitFromStart(e,n,s-1,o,r),...R.searchHightBitFromStart(e,n,s,o,r)]}static getAllInitializedTickArrayStartIndex(e,n,r){return R.searchHightBitFromStart(e,n,0,xt,r)}static getAllInitializedTickArrayInfo(e,n,r,i,o){let s=[],a=R.getAllInitializedTickArrayStartIndex(r,i,o);for(let c of a){let{publicKey:u}=me(e,n,c);s.push({tickArrayStartIndex:c,tickArrayAddress:u})}return s}static getAllInitializedTickInTickArray(e){return e.ticks.filter(n=>n.liquidityGross.gtn(0))}static searchLowBitFromStart(e,n,r,i,o){let s=[...[...n.negativeTickArrayBitmap].reverse(),e.slice(0,8),e.slice(8,16),...n.positiveTickArrayBitmap].map(u=>R.mergeTickArrayBitmap(u)),a=[];for(;r>=-7680;){let u=Math.floor((r+7680)/512),m=(r+7680)%512;if(s[u].testn(m)&&a.push(r),r--,a.length===i)break}let c=j.tickCount(o);return a.map(u=>u*c)}static searchHightBitFromStart(e,n,r,i,o){let s=[...[...n.negativeTickArrayBitmap].reverse(),e.slice(0,8),e.slice(8,16),...n.positiveTickArrayBitmap].map(u=>R.mergeTickArrayBitmap(u)),a=[];for(;r<7680;){let u=Math.floor((r+7680)/512),m=(r+7680)%512;if(s[u].testn(m)&&a.push(r),r++,a.length===i)break}let c=j.tickCount(o);return a.map(u=>u*c)}static checkIsOutOfBoundary(e){return e<se||e>ge}static nextInitTick(e,n,r,i,o){if(j.getArrayStartIndex(n,r)!=e.startTickIndex)return null;let a=Math.floor((n-e.startTickIndex)/r);if(i)for(;a>=0;){if(e.ticks[a].liquidityGross.gtn(0))return e.ticks[a];a=a-1}else for(o||(a=a+1);a<K;){if(e.ticks[a].liquidityGross.gtn(0))return e.ticks[a];a=a+1}return null}static firstInitializedTick(e,n){if(n){let r=K-1;for(;r>=0;){if(e.ticks[r].liquidityGross.gtn(0))return e.ticks[r];r=r-1}}else{let r=0;for(;r<K;){if(e.ticks[r].liquidityGross.gtn(0))return e.ticks[r];r=r+1}}throw Error(`firstInitializedTick check error: ${e} - ${n}`)}static _getTickPriceLegacy({poolInfo:e,tick:n,baseIn:r}){let i=O.getSqrtPriceX64FromTick(n),o=O.sqrtPriceX64ToPrice(i,e.mintA.decimals,e.mintB.decimals);return r?{tick:n,price:o,tickSqrtPriceX64:i}:{tick:n,price:new V(1).div(o),tickSqrtPriceX64:i}}static _getPriceAndTickLegacy({poolInfo:e,price:n,baseIn:r}){let i=r?n:new V(1).div(n),o=Te.getTickWithPriceAndTickspacing(i,e.ammConfig.tickSpacing,e.mintA.decimals,e.mintB.decimals),s=O.getSqrtPriceX64FromTick(o),a=O.sqrtPriceX64ToPrice(s,e.mintA.decimals,e.mintB.decimals);return r?{tick:o,price:a}:{tick:o,price:new V(1).div(a)}}static getTickPrice({poolInfo:e,tick:n,baseIn:r}){let i=O.getSqrtPriceX64FromTick(n),o=O.sqrtPriceX64ToPrice(i,e.mintA.decimals,e.mintB.decimals);return r?{tick:n,price:o,tickSqrtPriceX64:i}:{tick:n,price:new V(1).div(o),tickSqrtPriceX64:i}}static getPriceAndTick({poolInfo:e,price:n,baseIn:r}){let i=r?n:new V(1).div(n),o=Te.getTickWithPriceAndTickspacing(i,e.config.tickSpacing,e.mintA.decimals,e.mintB.decimals),s=O.getSqrtPriceX64FromTick(o),a=O.sqrtPriceX64ToPrice(s,e.mintA.decimals,e.mintB.decimals);return r?{tick:o,price:a}:{tick:o,price:new V(1).div(a)}}};export{xt as TICK_ARRAY_BITMAP_SIZE,K as TICK_ARRAY_SIZE,R as TickUtils};
/*!
 *  decimal.js v10.5.0
 *  An arbitrary-precision Decimal type for JavaScript.
 *  https://github.com/MikeMcl/decimal.js
 *  Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
 *  MIT Licence
 */
//# sourceMappingURL=tick.mjs.map