raydium-sdk-v2-custody
Version:
An SDK for building applications on top of Raydium.
1 lines • 65 kB
JavaScript
var Nn=Object.defineProperty,Sn=Object.defineProperties;var Cn=Object.getOwnPropertyDescriptors;var Ot=Object.getOwnPropertySymbols;var Ln=Object.prototype.hasOwnProperty,En=Object.prototype.propertyIsEnumerable;var vt=(n,e,t)=>e in n?Nn(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ee=(n,e)=>{for(var t in e||(e={}))Ln.call(e,t)&&vt(n,t,e[t]);if(Ot)for(var t of Ot(e))En.call(e,t)&&vt(n,t,e[t]);return n},ce=(n,e)=>Sn(n,Cn(e));import Y from"bn.js";var ie=new Y(0),Pe=new Y(1),Dt=new Y(-1),Ve=new Y(1).shln(64),Ue=new Y(1).shln(128),Rn=Ve.sub(Pe),ot=64,Kt=Ue.subn(1),te=-443636,oe=-te,st=new Y("4295048016"),at=new Y("79226673521066979257578248091"),Ii=new Y("4295048017"),Ni=new Y("79226673521066979257578248090"),qt=16,Gt="59543866431248",Vt="184467440737095516",Ut="15793534762490258745",Mn=new Y(10).pow(new Y(6));var Si=new Y("18446744073700000000");import Pi from"bn.js";var ke=9e15,be=1e9,ut="0123456789abcdef",Xe="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",ze="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ct={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ke,maxE:ke,crypto:!1},Ht,me,y=!0,je="[DecimalError] ",he=je+"Invalid argument: ",jt=je+"Precision limit exceeded",Zt=je+"crypto unavailable",Yt="[object Decimal]",W=Math.floor,v=Math.pow,_n=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Fn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,On=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Qt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,re=1e7,h=7,vn=9007199254740991,Dn=Xe.length-1,mt=ze.length-1,f={toStringTag:Yt};f.absoluteValue=f.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),g(n)};f.ceil=function(){return g(new this.constructor(this),this.e+1,2)};f.clampedTo=f.clamp=function(n,e){var t,r=this,i=r.constructor;if(n=new i(n),e=new i(e),!n.s||!e.s)return new i(NaN);if(n.gt(e))throw Error(he+e);return t=r.cmp(n),t<0?n:r.cmp(e)>0?e:new i(r)};f.comparedTo=f.cmp=function(n){var e,t,r,i,o=this,s=o.d,a=(n=new o.constructor(n)).d,c=o.s,u=n.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!==n.e)return o.e>n.e^c<0?1:-1;for(r=s.length,i=a.length,e=0,t=r<i?r:i;e<t;++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 n,e,t=this,r=t.constructor;return t.d?t.d[0]?(n=r.precision,e=r.rounding,r.precision=n+Math.max(t.e,t.sd())+h,r.rounding=1,t=Kn(r,nn(r,t)),r.precision=n,r.rounding=e,g(me==2||me==3?t.neg():t,n,e,!0)):new r(1):new r(NaN)};f.cubeRoot=f.cbrt=function(){var n,e,t,r,i,o,s,a,c,u,m=this,l=m.constructor;if(!m.isFinite()||m.isZero())return new l(m);for(y=!1,o=m.s*v(m.s*m,1/3),!o||Math.abs(o)==1/0?(t=G(m.d),n=m.e,(o=(n-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=v(t,1/3),n=W((n+1)/3)-(n%3==(n<0?-1:2)),o==1/0?t="5e"+n:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+n),r=new l(t),r.s=m.s):r=new l(o.toString()),s=(n=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),G(a.d).slice(0,s)===(t=G(r.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!i&&t=="4999"){if(!i&&(g(a,n+1,0),a.times(a).times(a).eq(m))){r=a;break}s+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(g(r,n+1,1),e=!r.times(r).times(r).eq(m));break}return y=!0,g(r,n,l.rounding,e)};f.decimalPlaces=f.dp=function(){var n,e=this.d,t=NaN;if(e){if(n=e.length-1,t=(n-W(this.e/h))*h,n=e[n],n)for(;n%10==0;n/=10)t--;t<0&&(t=0)}return t};f.dividedBy=f.div=function(n){return N(this,new this.constructor(n))};f.dividedToIntegerBy=f.divToInt=function(n){var e=this,t=e.constructor;return g(N(e,new t(n),0,1,1),t.precision,t.rounding)};f.equals=f.eq=function(n){return this.cmp(n)===0};f.floor=function(){return g(new this.constructor(this),this.e+1,3)};f.greaterThan=f.gt=function(n){return this.cmp(n)>0};f.greaterThanOrEqualTo=f.gte=function(n){var e=this.cmp(n);return e==1||e===0};f.hyperbolicCosine=f.cosh=function(){var n,e,t,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;t=s.precision,r=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(n=Math.ceil(i/3),e=(1/Ye(4,n)).toString()):(n=16,e="2.3283064365386962890625e-10"),o=Be(s,1,o.times(e),new s(1),!0);for(var c,u=n,m=new s(8);u--;)c=o.times(o),o=a.minus(c.times(m.minus(c.times(m))));return g(o,s.precision=t,s.rounding=r,!0)};f.hyperbolicSine=f.sinh=function(){var n,e,t,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,t=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=Be(o,2,i,i,!0);else{n=1.4*Math.sqrt(r),n=n>16?16:n|0,i=i.times(1/Ye(5,n)),i=Be(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);n--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=e,o.rounding=t,g(i,e,t,!0)};f.hyperbolicTangent=f.tanh=function(){var n,e,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+7,r.rounding=1,N(t.sinh(),t.cosh(),r.precision=n,r.rounding=e)):new r(t.s)};f.inverseCosine=f.acos=function(){var n,e=this,t=e.constructor,r=e.abs().cmp(1),i=t.precision,o=t.rounding;return r!==-1?r===0?e.isNeg()?ne(t,i,o):new t(0):new t(NaN):e.isZero()?ne(t,i+4,o).times(.5):(t.precision=i+6,t.rounding=1,e=e.asin(),n=ne(t,i+4,o).times(.5),t.precision=i,t.rounding=o,n.minus(e))};f.inverseHyperbolicCosine=f.acosh=function(){var n,e,t=this,r=t.constructor;return t.lte(1)?new r(t.eq(1)?0:NaN):t.isFinite()?(n=r.precision,e=r.rounding,r.precision=n+Math.max(Math.abs(t.e),t.sd())+4,r.rounding=1,y=!1,t=t.times(t).minus(1).sqrt().plus(t),y=!0,r.precision=n,r.rounding=e,t.ln()):new r(t)};f.inverseHyperbolicSine=f.asinh=function(){var n,e,t=this,r=t.constructor;return!t.isFinite()||t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+2*Math.max(Math.abs(t.e),t.sd())+6,r.rounding=1,y=!1,t=t.times(t).plus(1).sqrt().plus(t),y=!0,r.precision=n,r.rounding=e,t.ln())};f.inverseHyperbolicTangent=f.atanh=function(){var n,e,t,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):(n=o.precision,e=o.rounding,r=i.sd(),Math.max(r,n)<2*-i.e-1?g(new o(i),n,e,!0):(o.precision=t=r-i.e,i=N(i.plus(1),new o(1).minus(i),t+n,1),o.precision=n+4,o.rounding=1,i=i.ln(),o.precision=n,o.rounding=e,i.times(.5))):new o(NaN)};f.inverseSine=f.asin=function(){var n,e,t,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),t=o.precision,r=o.rounding,e!==-1?e===0?(n=ne(o,t+4,r).times(.5),n.s=i.s,n):new o(NaN):(o.precision=t+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=r,i.times(2)))};f.inverseTangent=f.atan=function(){var n,e,t,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<=mt)return s=ne(m,l+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new m(NaN);if(l+4<=mt)return s=ne(m,l+4,d).times(.5),s.s=u.s,s}for(m.precision=a=l+10,m.rounding=1,t=Math.min(28,a/h+2|0),n=t;n;--n)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(y=!1,e=Math.ceil(a/h),r=1,c=u.times(u),s=new m(u),i=u;n!==-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(n=e;s.d[n]===o.d[n]&&n--;);return t&&(s=s.times(2<<t-1)),y=!0,g(s,m.precision=l,m.rounding=d,!0)};f.isFinite=function(){return!!this.d};f.isInteger=f.isInt=function(){return!!this.d&&W(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(n){return this.cmp(n)<0};f.lessThanOrEqualTo=f.lte=function(n){return this.cmp(n)<1};f.logarithm=f.log=function(n){var e,t,r,i,o,s,a,c,u=this,m=u.constructor,l=m.precision,d=m.rounding,p=5;if(n==null)n=new m(10),e=!0;else{if(n=new m(n),t=n.d,n.s<0||!t||!t[0]||n.eq(1))return new m(NaN);e=n.eq(10)}if(t=u.d,u.s<0||!t||!t[0]||u.eq(1))return new m(t&&!t[0]?-1/0:u.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)o=!0;else{for(i=t[0];i%10===0;)i/=10;o=i!==1}if(y=!1,a=l+p,s=ge(u,a),r=e?He(m,a+10):ge(n,a),c=N(s,r,a,1),Le(c.d,i=l,d))do if(a+=10,s=ge(u,a),r=e?He(m,a+10):ge(n,a),c=N(s,r,a,1),!o){+G(c.d).slice(i+1,i+15)+1==1e14&&(c=g(c,l+1,0));break}while(Le(c.d,i+=10,d));return y=!0,g(c,l,d)};f.minus=f.sub=function(n){var e,t,r,i,o,s,a,c,u,m,l,d,p=this,w=p.constructor;if(n=new w(n),!p.d||!n.d)return!p.s||!n.s?n=new w(NaN):p.d?n.s=-n.s:n=new w(n.d||p.s!==n.s?p:NaN),n;if(p.s!=n.s)return n.s=-n.s,p.plus(n);if(u=p.d,d=n.d,a=w.precision,c=w.rounding,!u[0]||!d[0]){if(d[0])n.s=-n.s;else if(u[0])n=new w(p);else return new w(c===3?-0:0);return y?g(n,a,c):n}if(t=W(n.e/h),m=W(p.e/h),u=u.slice(),o=m-t,o){for(l=o<0,l?(e=u,o=-o,s=d.length):(e=d,t=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,n.s=-n.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]=re-1;--u[i],u[r]+=re}u[r]-=d[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--t;return u[0]?(n.d=u,n.e=Ze(u,t),y?g(n,a,c):n):new w(c===3?-0:0)};f.modulo=f.mod=function(n){var e,t=this,r=t.constructor;return n=new r(n),!t.d||!n.s||n.d&&!n.d[0]?new r(NaN):!n.d||t.d&&!t.d[0]?g(new r(t),r.precision,r.rounding):(y=!1,r.modulo==9?(e=N(t,n.abs(),0,3,1),e.s*=n.s):e=N(t,n,0,r.modulo,1),e=e.times(n),y=!0,t.minus(e))};f.naturalExponential=f.exp=function(){return lt(this)};f.naturalLogarithm=f.ln=function(){return ge(this)};f.negated=f.neg=function(){var n=new this.constructor(this);return n.s=-n.s,g(n)};f.plus=f.add=function(n){var e,t,r,i,o,s,a,c,u,m,l=this,d=l.constructor;if(n=new d(n),!l.d||!n.d)return!l.s||!n.s?n=new d(NaN):l.d||(n=new d(n.d||l.s===n.s?l:NaN)),n;if(l.s!=n.s)return n.s=-n.s,l.minus(n);if(u=l.d,m=n.d,a=d.precision,c=d.rounding,!u[0]||!m[0])return m[0]||(n=new d(l)),y?g(n,a,c):n;if(o=W(l.e/h),r=W(n.e/h),u=u.slice(),i=o-r,i){for(i<0?(t=u,i=-i,s=m.length):(t=m,r=o,s=u.length),o=Math.ceil(a/h),s=o>s?o+1:s+1,i>s&&(i=s,t.length=1),t.reverse();i--;)t.push(0);t.reverse()}for(s=u.length,i=m.length,s-i<0&&(i=s,t=m,m=u,u=t),e=0;i;)e=(u[--i]=u[i]+m[i]+e)/re|0,u[i]%=re;for(e&&(u.unshift(e),++r),s=u.length;u[--s]==0;)u.pop();return n.d=u,n.e=Ze(u,r),y?g(n,a,c):n};f.precision=f.sd=function(n){var e,t=this;if(n!==void 0&&n!==!!n&&n!==1&&n!==0)throw Error(he+n);return t.d?(e=Jt(t.d),n&&t.e+1>e&&(e=t.e+1)):e=NaN,e};f.round=function(){var n=this,e=n.constructor;return g(new e(n),n.e+1,e.rounding)};f.sine=f.sin=function(){var n,e,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+Math.max(t.e,t.sd())+h,r.rounding=1,t=Gn(r,nn(r,t)),r.precision=n,r.rounding=e,g(me>2?t.neg():t,n,e,!0)):new r(NaN)};f.squareRoot=f.sqrt=function(){var n,e,t,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(y=!1,u=Math.sqrt(+s),u==0||u==1/0?(e=G(a),(e.length+c)%2==0&&(e+="0"),u=Math.sqrt(e),c=W((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()),t=(c=m.precision)+3;;)if(o=r,r=o.plus(N(s,o,t+2,1)).times(.5),G(o.d).slice(0,t)===(e=G(r.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!i&&e=="4999"){if(!i&&(g(o,c+1,0),o.times(o).eq(s))){r=o;break}t+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(g(r,c+1,1),n=!r.times(r).eq(s));break}return y=!0,g(r,c,m.rounding,n)};f.tangent=f.tan=function(){var n,e,t=this,r=t.constructor;return t.isFinite()?t.isZero()?new r(t):(n=r.precision,e=r.rounding,r.precision=n+10,r.rounding=1,t=t.sin(),t.s=1,t=N(t,new r(1).minus(t.times(t)).sqrt(),n+10,0),r.precision=n,r.rounding=e,g(me==2||me==4?t.neg():t,n,e,!0)):new r(NaN)};f.times=f.mul=function(n){var e,t,r,i,o,s,a,c,u,m=this,l=m.constructor,d=m.d,p=(n=new l(n)).d;if(n.s*=m.s,!d||!d[0]||!p||!p[0])return new l(!n.s||d&&!d[0]&&!p||p&&!p[0]&&!d?NaN:!d||!p?n.s/0:n.s*0);for(t=W(m.e/h)+W(n.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%re|0,e=a/re|0;o[i]=(o[i]+e)%re|0}for(;!o[--s];)o.pop();return e?++t:o.shift(),n.d=o,n.e=Ze(o,t),y?g(n,l.precision,l.rounding):n};f.toBinary=function(n,e){return ft(this,2,n,e)};f.toDecimalPlaces=f.toDP=function(n,e){var t=this,r=t.constructor;return t=new r(t),n===void 0?t:(H(n,0,be),e===void 0?e=r.rounding:H(e,0,8),g(t,n+t.e+1,e))};f.toExponential=function(n,e){var t,r=this,i=r.constructor;return n===void 0?t=se(r,!0):(H(n,0,be),e===void 0?e=i.rounding:H(e,0,8),r=g(new i(r),n+1,e),t=se(r,!0,n+1)),r.isNeg()&&!r.isZero()?"-"+t:t};f.toFixed=function(n,e){var t,r,i=this,o=i.constructor;return n===void 0?t=se(i):(H(n,0,be),e===void 0?e=o.rounding:H(e,0,8),r=g(new o(i),n+i.e+1,e),t=se(r,!1,n+r.e+1)),i.isNeg()&&!i.isZero()?"-"+t:t};f.toFraction=function(n){var e,t,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=t=new b(1),r=c=new b(0),e=new b(r),o=e.e=Jt(w)-p.e-1,s=o%h,e.d[0]=v(10,s<0?h+s:s),n==null)n=o>0?e:u;else{if(a=new b(n),!a.isInt()||a.lt(u))throw Error(he+a);n=a.gt(e)?o>0?e:u:a}for(y=!1,a=new b(G(w)),m=b.precision,b.precision=o=w.length*h*2;l=N(a,e,0,1,1),i=t.plus(l.times(r)),i.cmp(n)!=1;)t=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(n.minus(t),r,0,1,1),c=c.plus(i.times(u)),t=t.plus(i.times(r)),c.s=u.s=p.s,d=N(u,r,o,1).minus(p).abs().cmp(N(c,t,o,1).minus(p).abs())<1?[u,r]:[c,t],b.precision=m,y=!0,d};f.toHexadecimal=f.toHex=function(n,e){return ft(this,16,n,e)};f.toNearest=function(n,e){var t=this,r=t.constructor;if(t=new r(t),n==null){if(!t.d)return t;n=new r(1),e=r.rounding}else{if(n=new r(n),e===void 0?e=r.rounding:H(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(y=!1,t=N(t,n,0,e,1).times(n),y=!0,g(t)):(n.s=t.s,t=n),t};f.toNumber=function(){return+this};f.toOctal=function(n,e){return ft(this,8,n,e)};f.toPower=f.pow=function(n){var e,t,r,i,o,s,a=this,c=a.constructor,u=+(n=new c(n));if(!a.d||!n.d||!a.d[0]||!n.d[0])return new c(v(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,n.eq(1))return g(a,r,o);if(e=W(n.e/h),e>=n.d.length-1&&(t=u<0?-u:u)<=vn)return i=$t(c,a,t,r),n.s<0?new c(1).div(i):g(i,r,o);if(s=a.s,s<0){if(e<n.d.length-1)return new c(NaN);if((n.d[e]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return t=v(+a,u),e=t==0||!isFinite(t)?W(u*(Math.log("0."+G(a.d))/Math.LN10+a.e+1)):new c(t+"").e,e>c.maxE+1||e<c.minE-1?new c(e>0?s/0:0):(y=!1,c.rounding=a.s=1,t=Math.min(12,(e+"").length),i=lt(n.times(ge(a,r+t)),r),i.d&&(i=g(i,r+5,1),Le(i.d,r,o)&&(e=r+10,i=g(lt(n.times(ge(a,e+t)),e),e+5,1),+G(i.d).slice(r+1,r+15)+1==1e14&&(i=g(i,r+1,0)))),i.s=s,y=!0,c.rounding=o,g(i,r,o))};f.toPrecision=function(n,e){var t,r=this,i=r.constructor;return n===void 0?t=se(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(H(n,1,be),e===void 0?e=i.rounding:H(e,0,8),r=g(new i(r),n,e),t=se(r,n<=r.e||r.e<=i.toExpNeg,n)),r.isNeg()&&!r.isZero()?"-"+t:t};f.toSignificantDigits=f.toSD=function(n,e){var t=this,r=t.constructor;return n===void 0?(n=r.precision,e=r.rounding):(H(n,1,be),e===void 0?e=r.rounding:H(e,0,8)),g(new r(t),n,e)};f.toString=function(){var n=this,e=n.constructor,t=se(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+t:t};f.truncated=f.trunc=function(){return g(new this.constructor(this),this.e+1,1)};f.valueOf=f.toJSON=function(){var n=this,e=n.constructor,t=se(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+t:t};function G(n){var e,t,r,i=n.length-1,o="",s=n[0];if(i>0){for(o+=s,e=1;e<i;e++)r=n[e]+"",t=h-r.length,t&&(o+=pe(t)),o+=r;s=n[e],r=s+"",t=h-r.length,t&&(o+=pe(t))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function H(n,e,t){if(n!==~~n||n<e||n>t)throw Error(he+n)}function Le(n,e,t,r){var i,o,s,a;for(o=n[0];o>=10;o/=10)--e;return--e<0?(e+=h,i=0):(i=Math.ceil((e+1)/h),e%=h),o=v(10,h-e),a=n[i]%o|0,r==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(n[i+1]/o/100|0)==v(10,e-2)-1||(a==o/2||a==0)&&(n[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||t<4)&&a==9999||!r&&t>3&&a==4999):s=((r||t<4)&&a+1==o||!r&&t>3&&a+1==o/2)&&(n[i+1]/o/1e3|0)==v(10,e-3)-1,s}function We(n,e,t){for(var r,i=[0],o,s=0,a=n.length;s<a;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=ut.indexOf(n.charAt(s++)),r=0;r<i.length;r++)i[r]>t-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/t|0,i[r]%=t)}return i.reverse()}function Kn(n,e){var t,r,i;if(e.isZero())return e;r=e.d.length,r<32?(t=Math.ceil(r/3),i=(1/Ye(4,t)).toString()):(t=16,i="2.3283064365386962890625e-10"),n.precision+=t,e=Be(n,1,e.times(i),new n(1));for(var o=t;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return n.precision-=t,e}var N=function(){function n(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 t(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,q,L,J,I,V,De,ue,nt,Ke,Ce,rt,$,qe,Ge=r.constructor,it=r.s==i.s?1:-1,U=r.d,S=i.d;if(!U||!U[0]||!S||!S[0])return new Ge(!r.s||!i.s||(U?S&&U[0]==S[0]:!S)?NaN:U&&U[0]==0||!S?it*0:it/0);for(c?(p=1,m=r.e-i.e):(c=re,p=h,m=W(r.e/p)-W(i.e/p)),$=S.length,Ce=U.length,L=new Ge(it),J=L.d=[],l=0;S[l]==(U[l]||0);l++);if(S[l]>(U[l]||0)&&m--,o==null?(ue=o=Ge.precision,s=Ge.rounding):a?ue=o+(r.e-i.e)+1:ue=o,ue<0)J.push(1),w=!0;else{if(ue=ue/p+2|0,l=0,$==1){for(d=0,S=S[0],ue++;(l<Ce||d)&&ue--;l++)nt=d*c+(U[l]||0),J[l]=nt/S|0,d=nt%S|0;w=d||l<Ce}else{for(d=c/(S[0]+1)|0,d>1&&(S=n(S,d,c),U=n(U,d,c),$=S.length,Ce=U.length),Ke=$,I=U.slice(0,$),V=I.length;V<$;)I[V++]=0;qe=S.slice(),qe.unshift(0),rt=S[0],S[1]>=c/2&&++rt;do d=0,u=e(S,I,$,V),u<0?(De=I[0],$!=V&&(De=De*c+(I[1]||0)),d=De/rt|0,d>1?(d>=c&&(d=c-1),b=n(S,d,c),q=b.length,V=I.length,u=e(b,I,q,V),u==1&&(d--,t(b,$<q?qe:S,q,c))):(d==0&&(u=d=1),b=S.slice()),q=b.length,q<V&&b.unshift(0),t(I,b,V,c),u==-1&&(V=I.length,u=e(S,I,$,V),u<1&&(d++,t(I,$<V?qe:S,V,c))),V=I.length):u===0&&(d++,I=[0]),J[l++]=d,u&&I[0]?I[V++]=U[Ke]||0:(I=[U[Ke]],V=1);while((Ke++<Ce||I[0]!==void 0)&&ue--);w=I[0]!==void 0}J[0]||J.shift()}if(p==1)L.e=m,Ht=w;else{for(l=1,d=J[0];d>=10;d/=10)l++;L.e=l+m*p-1,g(L,a?o+L.e+1:o,s,w)}return L}}();function g(n,e,t,r){var i,o,s,a,c,u,m,l,d,p=n.constructor;e:if(e!=null){if(l=n.d,!l)return n;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/v(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/v(10,i-s-1)%10|0}if(r=r||e<0||l[d+1]!==void 0||(s<0?m:m%v(10,i-s-1)),u=t<4?(c||r)&&(t==0||t==(n.s<0?3:2)):c>5||c==5&&(t==4||r||t==6&&(o>0?s>0?m/v(10,i-s):0:l[d-1])%10&1||t==(n.s<0?8:7)),e<1||!l[0])return l.length=0,u?(e-=n.e+1,l[0]=v(10,(h-e%h)%h),n.e=-e||0):l[0]=n.e=0,n;if(o==0?(l.length=d,a=1,d--):(l.length=d+1,a=v(10,h-o),l[d]=s>0?(m/v(10,i-s)%v(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&&(n.e++,l[0]==re&&(l[0]=1));break}else{if(l[d]+=a,l[d]!=re)break;l[d--]=0,a=1}for(o=l.length;l[--o]===0;)l.pop()}return y&&(n.e>p.maxE?(n.d=null,n.e=NaN):n.e<p.minE&&(n.e=0,n.d=[0])),n}function se(n,e,t){if(!n.isFinite())return tn(n);var r,i=n.e,o=G(n.d),s=o.length;return e?(t&&(r=t-s)>0?o=o.charAt(0)+"."+o.slice(1)+pe(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(n.e<0?"e":"e+")+n.e):i<0?(o="0."+pe(-i-1)+o,t&&(r=t-s)>0&&(o+=pe(r))):i>=s?(o+=pe(i+1-s),t&&(r=t-i-1)>0&&(o=o+"."+pe(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),t&&(r=t-s)>0&&(i+1===s&&(o+="."),o+=pe(r))),o}function Ze(n,e){var t=n[0];for(e*=h;t>=10;t/=10)e++;return e}function He(n,e,t){if(e>Dn)throw y=!0,t&&(n.precision=t),Error(jt);return g(new n(Xe),e,1,!0)}function ne(n,e,t){if(e>mt)throw Error(jt);return g(new n(ze),e,t,!0)}function Jt(n){var e=n.length-1,t=e*h+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 pe(n){for(var e="";n--;)e+="0";return e}function $t(n,e,t,r){var i,o=new n(1),s=Math.ceil(r/h+4);for(y=!1;;){if(t%2&&(o=o.times(e),Xt(o.d,s)&&(i=!0)),t=W(t/2),t===0){t=o.d.length-1,i&&o.d[t]===0&&++o.d[t];break}e=e.times(e),Xt(e.d,s)}return y=!0,o}function Wt(n){return n.d[n.d.length-1]&1}function en(n,e,t){for(var r,i=new n(e[0]),o=0;++o<e.length;)if(r=new n(e[o]),r.s)i[t](r)&&(i=r);else{i=r;break}return i}function lt(n,e){var t,r,i,o,s,a,c,u=0,m=0,l=0,d=n.constructor,p=d.rounding,w=d.precision;if(!n.d||!n.d[0]||n.e>17)return new d(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:0/0);for(e==null?(y=!1,c=w):c=e,a=new d(.03125);n.e>-2;)n=n.times(a),l+=5;for(r=Math.log(v(2,l))/Math.LN10*2+5|0,c+=r,t=o=s=new d(1),d.precision=c;;){if(o=g(o.times(n),c,1),t=t.times(++m),a=s.plus(N(o,t,c,1)),G(a.d).slice(0,c)===G(s.d).slice(0,c)){for(i=l;i--;)s=g(s.times(s),c,1);if(e==null)if(u<3&&Le(s.d,c-r,p,u))d.precision=c+=10,t=o=a=new d(1),m=0,u++;else return g(s,d.precision=w,p,y=!0);else return d.precision=w,s}s=a}}function ge(n,e){var t,r,i,o,s,a,c,u,m,l,d,p=1,w=10,b=n,q=b.d,L=b.constructor,J=L.rounding,I=L.precision;if(b.s<0||!q||!q[0]||!b.e&&q[0]==1&&q.length==1)return new L(q&&!q[0]?-1/0:b.s!=1?NaN:q?0:b);if(e==null?(y=!1,m=I):m=e,L.precision=m+=w,t=G(q),r=t.charAt(0),Math.abs(o=b.e)<15e14){for(;r<7&&r!=1||r==1&&t.charAt(1)>3;)b=b.times(n),t=G(b.d),r=t.charAt(0),p++;o=b.e,r>1?(b=new L("0."+t),o++):b=new L(r+"."+t.slice(1))}else return u=He(L,m+2,I).times(o+""),b=ge(new L(r+"."+t.slice(1)),m-w).plus(u),L.precision=I,e==null?g(b,I,J,y=!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 L(i),m,1)),G(u.d).slice(0,m)===G(c.d).slice(0,m))if(c=c.times(2),o!==0&&(c=c.plus(He(L,m+2,I).times(o+""))),c=N(c,new L(p),m,1),e==null)if(Le(c.d,m-w,J,a))L.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,L.precision=I,J,y=!0);else return L.precision=I,c;c=u,i+=2}}function tn(n){return String(n.s*n.s/0)}function dt(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)%h,t<0&&(r+=h),r<i){for(r&&n.d.push(+e.slice(0,r)),i-=h;r<i;)n.d.push(+e.slice(r,r+=h));e=e.slice(r),r=h-e.length}else r-=i;for(;r--;)e+="0";n.d.push(+e),y&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function qn(n,e){var t,r,i,o,s,a,c,u,m;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),Qt.test(e))return dt(n,e)}else if(e==="Infinity"||e==="NaN")return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(Fn.test(e))t=16,e=e.toLowerCase();else if(_n.test(e))t=2;else if(On.test(e))t=8;else throw Error(he+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=n.constructor,s&&(e=e.replace(".",""),a=e.length,o=a-o,i=$t(r,new r(t),o,o*2)),u=We(e,t,re),m=u.length-1,o=m;u[o]===0;--o)u.pop();return o<0?new r(n.s*0):(n.e=Ze(u,m),n.d=u,y=!1,s&&(n=N(n,i,a*4)),c&&(n=n.times(Math.abs(c)<54?v(2,c):Ee.pow(2,c))),y=!0,n)}function Gn(n,e){var t,r=e.d.length;if(r<3)return e.isZero()?e:Be(n,2,e,e);t=1.4*Math.sqrt(r),t=t>16?16:t|0,e=e.times(1/Ye(5,t)),e=Be(n,2,e,e);for(var i,o=new n(5),s=new n(16),a=new n(20);t--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(a))));return e}function Be(n,e,t,r,i){var o,s,a,c,u=1,m=n.precision,l=Math.ceil(m/h);for(y=!1,c=t.times(t),a=new n(r);;){if(s=N(a.times(c),new n(e++*e++),m,1),a=i?r.plus(s):r.minus(s),r=N(s.times(c),new n(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 y=!0,s.d.length=l+1,s}function Ye(n,e){for(var t=n;--e;)t*=n;return t}function nn(n,e){var t,r=e.s<0,i=ne(n,n.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return me=r?4:1,e;if(t=e.divToInt(i),t.isZero())me=r?3:2;else{if(e=e.minus(t.times(i)),e.lte(o))return me=Wt(t)?r?2:3:r?4:1,e;me=Wt(t)?r?1:4:r?3:2}return e.minus(i).abs()}function ft(n,e,t,r){var i,o,s,a,c,u,m,l,d,p=n.constructor,w=t!==void 0;if(w?(H(t,1,be),r===void 0?r=p.rounding:H(r,0,8)):(t=p.precision,r=p.rounding),!n.isFinite())m=tn(n);else{for(m=se(n),s=m.indexOf("."),w?(i=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):i=e,s>=0&&(m=m.replace(".",""),d=new p(1),d.e=m.length-s,d.d=We(se(d),10,i),d.e=d.d.length),l=We(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--:(n=new p(n),n.d=l,n.e=o,n=N(n,d,t,r,0,i),l=n.d,o=n.e,u=Ht),s=l[t],a=i/2,u=u||l[t+1]!==void 0,u=r<4?(s!==void 0||u)&&(r===0||r===(n.s<0?3:2)):s>a||s===a&&(r===4||u||r===6&&l[t-1]&1||r===(n.s<0?8:7)),l.length=t,u)for(;++l[--t]>i-1;)l[t]=0,t||(++o,l.unshift(1));for(c=l.length;!l[c-1];--c);for(s=0,m="";s<c;s++)m+=ut.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=We(m,i,e),c=l.length;!l[c-1];--c);for(s=1,m="1.";s<c;s++)m+=ut.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 n.s<0?"-"+m:m}function Xt(n,e){if(n.length>e)return n.length=e,!0}function Vn(n){return new this(n).abs()}function Un(n){return new this(n).acos()}function Wn(n){return new this(n).acosh()}function Xn(n,e){return new this(n).plus(e)}function zn(n){return new this(n).asin()}function Hn(n){return new this(n).asinh()}function jn(n){return new this(n).atan()}function Zn(n){return new this(n).atanh()}function Yn(n,e){n=new this(n),e=new this(e);var t,r=this.precision,i=this.rounding,o=r+4;return!n.s||!e.s?t=new this(NaN):!n.d&&!e.d?(t=ne(this,o,1).times(e.s>0?.25:.75),t.s=n.s):!e.d||n.isZero()?(t=e.s<0?ne(this,r,i):new this(0),t.s=n.s):!n.d||e.isZero()?(t=ne(this,o,1).times(.5),t.s=n.s):e.s<0?(this.precision=o,this.rounding=1,t=this.atan(N(n,e,o,1)),e=ne(this,o,1),this.precision=r,this.rounding=i,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(N(n,e,o,1)),t}function Qn(n){return new this(n).cbrt()}function Jn(n){return g(n=new this(n),n.e+1,2)}function $n(n,e,t){return new this(n).clamp(e,t)}function er(n){if(!n||typeof n!="object")throw Error(je+"Object expected");var e,t,r,i=n.defaults===!0,o=["precision",1,be,"rounding",0,8,"toExpNeg",-ke,0,"toExpPos",0,ke,"maxE",0,ke,"minE",-ke,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(t=o[e],i&&(this[t]=ct[t]),(r=n[t])!==void 0)if(W(r)===r&&r>=o[e+1]&&r<=o[e+2])this[t]=r;else throw Error(he+t+": "+r);if(t="crypto",i&&(this[t]=ct[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(Zt);else this[t]=!1;else throw Error(he+t+": "+r);return this}function tr(n){return new this(n).cos()}function nr(n){return new this(n).cosh()}function rn(n){var e,t,r;function i(o){var s,a,c,u=this;if(!(u instanceof i))return new i(o);if(u.constructor=i,zt(o)){u.s=o.s,y?!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++;y?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}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return dt(u,o.toString())}else if(c!=="string")throw Error(he+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Qt.test(o)?dt(u,o):qn(u,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=er,i.clone=rn,i.isDecimal=zt,i.abs=Vn,i.acos=Un,i.acosh=Wn,i.add=Xn,i.asin=zn,i.asinh=Hn,i.atan=jn,i.atanh=Zn,i.atan2=Yn,i.cbrt=Qn,i.ceil=Jn,i.clamp=$n,i.cos=tr,i.cosh=nr,i.div=rr,i.exp=ir,i.floor=or,i.hypot=sr,i.ln=ar,i.log=ur,i.log10=mr,i.log2=cr,i.max=lr,i.min=dr,i.mod=fr,i.mul=pr,i.pow=gr,i.random=hr,i.round=br,i.sign=yr,i.sin=wr,i.sinh=Tr,i.sqrt=xr,i.sub=Ar,i.sum=Pr,i.tan=kr,i.tanh=Br,i.trunc=Ir,n===void 0&&(n={}),n&&n.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)n.hasOwnProperty(t=r[e++])||(n[t]=this[t]);return i.config(n),i}function rr(n,e){return new this(n).div(e)}function ir(n){return new this(n).exp()}function or(n){return g(n=new this(n),n.e+1,3)}function sr(){var n,e,t=new this(0);for(y=!1,n=0;n<arguments.length;)if(e=new this(arguments[n++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return y=!0,new this(1/0);t=e}return y=!0,t.sqrt()}function zt(n){return n instanceof Ee||n&&n.toStringTag===Yt||!1}function ar(n){return new this(n).ln()}function ur(n,e){return new this(n).log(e)}function cr(n){return new this(n).log(2)}function mr(n){return new this(n).log(10)}function lr(){return en(this,arguments,"lt")}function dr(){return en(this,arguments,"gt")}function fr(n,e){return new this(n).mod(e)}function pr(n,e){return new this(n).mul(e)}function gr(n,e){return new this(n).pow(e)}function hr(n){var e,t,r,i,o=0,s=new this(1),a=[];if(n===void 0?n=this.precision:H(n,1,be),r=Math.ceil(n/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(Zt);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],n%=h,r&&n&&(i=v(10,h-n),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)t=0,a=[0];else{for(t=-1;a[0]===0;t-=h)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<h&&(t-=h-r)}return s.e=t,s.d=a,s}function br(n){return g(n=new this(n),n.e+1,this.rounding)}function yr(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function wr(n){return new this(n).sin()}function Tr(n){return new this(n).sinh()}function xr(n){return new this(n).sqrt()}function Ar(n,e){return new this(n).sub(e)}function Pr(){var n=0,e=arguments,t=new this(e[n]);for(y=!1;t.s&&++n<e.length;)t=t.plus(e[n]);return y=!0,g(t,this.precision,this.rounding)}function kr(n){return new this(n).tan()}function Br(n){return new this(n).tanh()}function Ir(n){return g(n=new this(n),n.e+1,1)}f[Symbol.for("nodejs.util.inspect.custom")]=f.toString;f[Symbol.toStringTag]="Decimal";var Ee=f.constructor=rn(ct);Xe=new Ee(Xe);ze=new Ee(ze);var X=Ee;import B from"bn.js";import Ri from"bn.js";import{PublicKey as Cr}from"@solana/web3.js";import{get as on,set as Nr}from"lodash";var pt=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 t=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(t)}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}},sn={},Sr={};function Q(n){let e=on(sn,n);if(!e){let t=on(Sr,n);e=new pt({name:n,logLevel:t}),Nr(sn,n,e)}return e}import{MINT_SIZE as Ui,TOKEN_PROGRAM_ID as Wi,getTransferFeeConfig as Xi,unpackMint as zi}from"@solana/spl-token";var gt=Q("Raydium_accountInfo_util");async function Qe(n,e,t){let{batchRequest:r,commitment:i="confirmed",chunkCount:o=100}=ee({batchRequest:!1},t),s=ht(e,o),a=new Array(s.length).fill([]);if(r){let c=s.map(l=>{let d=n._buildArgs([l.map(p=>p.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:d}}),u=ht(c,10);a=(await(await Promise.all(u.map(async l=>await n._rpcBatchRequest(l)))).flat()).map(l=>(l.error&>.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:q,rentEpoch:L}=d;return p.length!==2&&p[1]!=="base64"&>.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(p[0],"base64"),executable:w,lamports:b,owner:new Cr(q),rentEpoch:L}}return null})))}else try{a=await Promise.all(s.map(c=>n.getMultipleAccountsInfo(c,i)))}catch(c){c instanceof Error&>.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${c.message}`)}return a.flat()}import de from"bn.js";import Dr from"big.js";import co from"bn.js";import Er from"toformat";var Rr=Er,Re=Rr;import $e from"big.js";import _r from"bn.js";import Fr from"decimal.js-light";import Me from"bn.js";var an=9007199254740991;function le(n){let e=Q("Raydium_parseBigNumberish");if(n instanceof Me)return n;if(typeof n=="string"){if(n.match(/^-?[0-9]+$/))return new Me(n);e.logWithError(`invalid BigNumberish string: ${n}`)}return typeof n=="number"?(n%1&&e.logWithError(`BigNumberish number underflow: ${n}`),(n>=an||n<=-an)&&e.logWithError(`BigNumberish number overflow: ${n}`),new Me(String(n))):typeof n=="bigint"?new Me(n.toString()):(e.error(`invalid BigNumberish value: ${n}`),new Me(0))}var Je=Q("module/fraction"),yt=Re($e),_e=Re(Fr),Or={[0]:_e.ROUND_DOWN,[1]:_e.ROUND_HALF_UP,[2]:_e.ROUND_UP},vr={[0]:$e.roundDown,[1]:$e.roundHalfUp,[2]:$e.roundUp},E=class{constructor(e,t=new _r(1)){this.numerator=le(e),this.denominator=le(t)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new E(this.denominator,this.numerator)}add(e){let t=e instanceof E?e:new E(le(e));return this.denominator.eq(t.denominator)?new E(this.numerator.add(t.numerator),this.denominator):new E(this.numerator.mul(t.denominator).add(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}sub(e){let t=e instanceof E?e:new E(le(e));return this.denominator.eq(t.denominator)?new E(this.numerator.sub(t.numerator),this.denominator):new E(this.numerator.mul(t.denominator).sub(t.numerator.mul(this.denominator)),this.denominator.mul(t.denominator))}mul(e){let t=e instanceof E?e:new E(le(e));return new E(this.numerator.mul(t.numerator),this.denominator.mul(t.denominator))}div(e){let t=e instanceof E?e:new E(le(e));return new E(this.numerator.mul(t.denominator),this.denominator.mul(t.numerator))}toSignificant(e,t={groupSeparator:""},r=1){Number.isInteger(e)||Je.logWithError(`${e} is not an integer.`),e<=0&&Je.logWithError(`${e} is not positive.`),_e.set({precision:e+1,rounding:Or[r]});let i=new _e(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),t)}toFixed(e,t={groupSeparator:""},r=1){return Number.isInteger(e)||Je.logWithError(`${e} is not an integer.`),e<0&&Je.logWithError(`${e} is negative.`),yt.DP=e,yt.RM=vr[r]||1,new yt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,t)}isZero(){return this.numerator.isZero()}};var wo=Q("Raydium_amount"),To=Re(Dr);import{PublicKey as qr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as un}from"@solana/spl-token";var cn={chainId:101,address:qr.default.toBase58(),programId:un.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},we={chainId:101,address:"So11111111111111111111111111111111111111112",programId:un.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as Tt}from"@solana/web3.js";import{PublicKey as R,SystemProgram as mn,SYSVAR_RENT_PUBKEY as Gr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Vr}from"@solana/spl-token";function wt({pubkey:n,isSigner:e=!1,isWritable:t=!0}){return{pubkey:n,isWritable:t,isSigner:e}}var So=[wt({pubkey:Vr,isWritable:!1}),wt({pubkey:mn.programId,isWritable:!1}),wt({pubkey:Gr,isWritable:!1})];function ln({publicKey:n,transformSol:e}){let t=dn(n.toString());if(t instanceof R)return e&&t.equals(Fe)?bt:t;if(e&&t.toString()===Fe.toBase58())return bt;if(typeof t=="string"){if(t===R.default.toBase58())return R.default;try{return new R(t)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function dn(n){try{return new R(n)}catch{return n}}var Co=new R("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Lo=new R("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Eo=new R("SysvarRent111111111111111111111111111111111"),Ro=new R("SysvarC1ock11111111111111111111111111111111"),Ur=new R("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),Mo=new R("Sysvar1nstructions1111111111111111111111111"),_o=mn.programId,Fo=new R("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Oo=new R("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),vo=new R("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Do=new R("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ko=new R("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),qo=new R("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Go=new R("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Vo=new R("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Uo=new R("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Wo=new R("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Xo=new R("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),bt=new R("So11111111111111111111111111111111111111112"),Fe=R.default;var xt=class{constructor({mint:e,decimals:t,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===Fe.toBase58()||e instanceof Tt&&Fe.equals(e)){this.decimals=we.decimals,this.symbol=we.symbol,this.name=we.name,this.mint=new Tt(we.address),this.isToken2022=!1;return}this.decimals=t,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?Tt.default:ln({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},Te=xt;Te.WSOL=new xt(ce(ee({},we),{mint:we.address}));var At=class{constructor({decimals:e,symbol:t="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=t,this.name=r}equals(e){return this===e}},et=At;et.SOL=new At(cn);import Wr from"bn.js";var rs=new E(new Wr(100));var cs=Q("Raydium_price");import{PublicKey as Is}from"@solana/web3.js";import Ss from"bn.js";var Xr=new de(0),zs=new de(1),Hs=new de(2),js=new de(3),Zs=new de(5),Kr=new de(10),Ys=new de(100),Qs=new de(1e3),Js=new de(1e4);function ht(n,e=1,t=[]){let r=[...n];if(e<=0)return t;for(;r.length;)t.push(r.splice(0,e));return t}import{PublicKey as Aa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ka}from"@solana/spl-token";import{ComputeBudgetProgram as sa,Keypair as ca,PublicKey as Hr,Transaction as la,TransactionMessage as fa,VersionedTransaction as pa}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as ya}from"@solana/spl-token";var wa=Q("Raydium_txUtil");function It(n,e){let[t,r]=Hr.findProgramAddressSync(n,e);return{publicKey:t,nonce:r}}import{PublicKey as T}from"@solana/web3.js";var Sa=new T("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ca=new T("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),La=new T("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Ea=new T("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ra=new T("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ma=new T("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),_a=new T("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Fa=new T("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Oa=new T("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),va=new T("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Da=new T("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Ka=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),qa=new T("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ga=new T("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Va=new T("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ua=new T("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Wa=new T("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Xa=new T("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),za=new T("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Ha=new T("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),ja=new T("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Za=new T("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),jr=new T("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Zr=new T("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Yr=new T("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Ya=new T("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Qr=new T("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),Qa=new T("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Jr=new T("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Ja={SERUM_MARKET:T.default,OPENBOOK_MARKET:new T("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:T.default,FarmV3:new T("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new T("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new T("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new T("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new T("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new T("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new T("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new T("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new T("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:jr,CREATE_CPMM_POOL_AUTH:Zr,CREATE_CPMM_POOL_FEE_ACC:Yr,FEE_DESTINATION_ID:new T("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Qr,LCOK_CPMM_AUTH:Jr};import{PublicKey as $r,AddressLookupTableAccount as fn}from"@solana/web3.js";var ei={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new fn({key:new $r("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:fn.deserialize(Buffer.from("AQAAAP//////////d49+DAAAAAAAAQZMWvw7GUNJdaccNBVnb57OKakxL2BHLYvhRwVILRsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKkG3fbh7nWP3hhCXbzkbM3athr8TYO5DSf+vfko2KGL/AVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49vZigAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZC3BlsePRfEU4nVJ/awTDzVi4bHMaoP21SbbRvAP4KUbIScv+6Yw2LHF/6K0ZjUPibbSWXCirYPGuuVl7zT789IUPLW4CpHr4JNCatp3ELXDLKMv6JJ+37le50lbBJ2LvDQdRqCgtphMF/imcN7mY5YRx2xE1A3MQ+L4QRaYK9u4GRfZP3LsAd00a+IkCpA22UNQMKdq5BFbJuwuOLqc8zxCTDlqxBG8J0HcxtfogQHDK06ukzfaXiNDKAob1MqBHS9lJxDYCwz8gd5DtFqNSTKG5l1zxIaKpDP/sffi2is1H9aKveyXSu5StXElYRl9SD5As0DHE4N0GLnf84/siiKXVyp4Ez121kLcUui/jLLFZEz/BwZK3Ilf9B9OcsEAeDMKAy2vjGSxQODgBz0QwGA+eP4ZjIjrIAQaXENv31QfLlOdXSRCkaybRniDHF4C8YcwhcvsqrOVuTP4B2Na+9wLdtrB31uz2rtlFI5kahdsnp/d1SrASDInYCtTYtdoke4kX+hoKWcEWM4Tle8pTUkUVv4BxS6fje/EzKBE4Qu9N9LMnrw/JNO0hqMVB4rk/2ou4AB1loQ7FZoPwut2o4KZB+0p9xnbrQKw038qjpHar+PyDwvxBRcu5hpHw3dguezeWv+IwvgW5icu8EGkhGa9AkFPPJT7VMSFb8xowveU=","base64"))})};import{PublicKey as hu,sendAndConfirmTransaction as bu,SystemProgram as Tu,Transaction as xu,TransactionMessage as Pu,VersionedTransaction as ku}from"@solana/web3.js";import Iu from"axios";function pn(n){let e=new ArrayBuffer(4);return new DataView(e).setInt32(0,n,!1),new Uint8Array(e)}function Nt(n,e){let t=0;for(let r=n-1;r>=0&&!e.testn(r);r--)t++;return t}function St(n,e){let t=0;for(let r=0;r<n&&!e.testn(r);r++)t++;return t}function Oe(n,e){for(let t=0;t<n;t++)if(e.testn(t))return!1;return!0}function gn(n,e){return Oe(n,e)?null:Nt(n,e)}function hn(n,e){return Oe(n,e)?null:St(n,e)}var ec=Buffer.from("amm_config","utf8"),tc=Buffer.from("pool","utf8"),nc=Buffer.from("pool_vault","utf8"),rc=Buffer.from("pool_reward_vault","utf8"),ic=Buffer.from("position","utf8"),ti=Buffer.from("tick_array","utf8"),oc=Buffer.from("operation","utf8"),sc=Buffer.from("pool_tick_array_bitmap_extension","utf8"),ac=Buffer.from("observation","utf8");function fe(n,e,t){return It([ti,e.toBuffer(),pn(t)],n)}var uc=Buffer.from("locked_position","utf8");var cc=Buffer.from("support_mint","utf8");var mc=Buffer.from("user_state","utf8");import{PublicKey as Gm}from"@solana/web3.js";import{TOKEN_2022_PROGRAM_ID as Um}from"@solana/spl-token";import Xm from"bn.js";import{PublicKey as mi}from"@solana/web3.js";import Tn,{isBN as xn}from"bn.js";import{bits as fc,BitStructure as pc,blob as ni,Blob as gc,cstr as hc,f32 as bc,f32be as yc,f64 as wc,f64be as Tc,greedy as xc,Layout as ri,ns64 as Ac,ns64be as Pc,nu64 as kc,nu64be as Bc,offset as Ic,s16 as Nc,s16be as Sc,s24 as Cc,s24be as Lc,s32 as ii,s32be as Ec,s40 as Rc,s40be as Mc,s48 as _c,s48be as Fc,s8 as Oc,seq as oi,struct as vc,Structure as si,u16 as ai,u16be as Dc,u24 as Kc,u24be as qc,u32 as Gc,u32be as Vc,u40 as Uc,u40be as Wc,u48 as Xc,u48be as zc,u8 as ui,UInt as ci,union as Hc,Union as jc,unionLayoutDiscriminator as Zc,utf8 as Yc}from"@solana/buffer-layout";var Ct=ri,bn=si;var Lt=ci;var yn=ui,ve=ai;var ye=ii;var wn=oi;var Z=ni;var Ie=class extends Ct{constructor(t,r,i){super(t,i);this.blob=Z(t),this.signed=r}decode(t,r=0){let i=new Tn(this.blob.decode(t,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(t,r,i=0){return typeof t=="number"&&(t=new Tn(t)),this.signed&&(t=t.toTwos(this.span*8)),this.blob.encode(t.toArrayLike(Buffer,"le",this.span),r,i)}};function j(n){return new Lt(1,n)}function Ne(n){return new Lt(4,n)}function P(n){return new Ie(8,!1,n)}function _(n){return new Ie(16,!1,n)}function An(n){return new Ie(8,!0,n)}function Pn(n){return new Ie(16,!0,n)}var tt=class extends Ct{constructor(t,r,i,o){super(t.span,o);this.layout=t,this.decoder=r,this.encoder=i}decode(t,r){return this.decoder(this.layout.decode(t,r))}encode(t,r,i){return this.layout.encode(this.encoder(t),r,i)}getSpan(t,r){return this.layout.getSpan(t,r)}};function k(n){return new tt(Z(32),e=>new mi(e),e=>e.toBuffer(),n)}function kn(n){return new tt(yn(),li,di,n)}function li(n){if(n===0)return!1;if(n===1)return!0;throw new Error("Invalid bool: "+n)}function di(n){return n?1:0}var Et=class extends bn{decode(e,t){return super.decode(e,t)}};function z(n,e,t){return new Et(n,e,t)}function M(n,e,t){let r,i=typeof e=="number"?e:xn(e)?e.toNumber():new Proxy(e,{get(o,s){if(!r){let a=Reflect.get(o,"count");r=xn(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 wn(n,i,t)}var dm=z([Z(8),j("bump"),ve("index"),k(""),Ne("protocolFeeRate"),Ne("tradeFeeRate"),ve("tickSpacing"),M(P(),8,"")]),fi=z([Ne("blockTimestamp"),An("tickCumulative"),M(P(),4)]),fm=z([Z(8),kn("initialized"),P("recentEpoch"),ve("observationIndex"),k("poolId"),M(fi,100,"observations"),M(P(),4)]),pi=z([j("rewardState"),P("openTime"),P("endTime"),P("lastUpdateTime"),_("emissionsPerSecondX64"),P("rewardTotalEmissioned"),P("rewardClaimed"),k("tokenMint"),k("tokenVault"),k("creator"),_("rewardGrowthGlobalX64")]),gi=z([Z(8),j("bump"),k("ammConfig"),k("creator"),k("mintA"),k("mintB"),k("vaultA"),k("vaultB"),k("observationId"),j("mintDecimalsA"),j("mintDecimalsB"),ve("tickSpacing"),_("liquidity"),_("sqrtPriceX64"),ye("tickCurrent"),Ne(),_("feeGrowthGlobalX64A"),_("feeGrowthGlobalX64B"),P("protocolFeesTokenA"),P("protocolFeesTokenB"),_("swapInAmountTokenA"),_("swapOutAmountTokenB"),_("swapInAmountTokenB"),_("swapOutAmountTokenA"),j("status"),M(j(),7,""),M(pi,3,"rewardInfos"),M(P(),16,"tickArrayBitmap"),P("totalFeesTokenA"),P("totalFeesClaimedTokenA"),P("totalFeesTokenB"),P("totalFeesC