@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
2 lines • 60.9 kB
JavaScript
var Nn=Object.defineProperty,Ln=Object.defineProperties;var Rn=Object.getOwnPropertyDescriptors;var Lt=Object.getOwnPropertySymbols;var Mn=Object.prototype.hasOwnProperty,On=Object.prototype.propertyIsEnumerable;var Rt=(e,t,n)=>t in e?Nn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t)=>{for(var n in t||(t={}))Mn.call(t,n)&&Rt(e,n,t[n]);if(Lt)for(var n of Lt(t))On.call(t,n)&&Rt(e,n,t[n]);return e},Q=(e,t)=>Ln(e,Rn(t));import{PublicKey as Fe,TransactionInstruction as me,Keypair as Fr,SystemProgram as Er}from"@solana/web3.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Cn,TOKEN_2022_PROGRAM_ID as Nt,TOKEN_PROGRAM_ID as ce}from"@solana/spl-token";import{PublicKey as Hr}from"@solana/web3.js";import{get as Mt,set as Fn}from"lodash";var ot=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},Ot={},En={};function W(e){let t=Mt(Ot,e);if(!t){let n=Mt(En,e);t=new ot({name:e,logLevel:n}),Fn(Ot,e,t)}return t}import{MINT_SIZE as jr,TOKEN_PROGRAM_ID as Qr,getTransferFeeConfig as Jr,unpackMint as $r}from"@solana/spl-token";var eo=W("Raydium_accountInfo_util");import te from"bn.js";var be=9e15,se=1e9,st="0123456789abcdef",Ve="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",qe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",at={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-be,maxE:be,crypto:!1},Dt,ee,T=!0,Ue="[DecimalError] ",oe=Ue+"Invalid argument: ",_t=Ue+"Precision limit exceeded",Vt=Ue+"crypto unavailable",qt="[object Decimal]",V=Math.floor,v=Math.pow,vn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Wn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Dn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Gt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,j=1e7,g=7,_n=9007199254740991,Vn=Ve.length-1,ut=qe.length-1,p={toStringTag:qt};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};p.ceil=function(){return y(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,i=this,r=i.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(oe+t);return n=i.cmp(e),n<0?e:i.cmp(t)>0?t:new r(i)};p.comparedTo=p.cmp=function(e){var t,n,i,r,o=this,s=o.d,a=(e=new o.constructor(e)).d,c=o.s,u=e.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!==e.e)return o.e>e.e^c<0?1:-1;for(i=s.length,r=a.length,t=0,n=i<r?i:r;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return i===r?0:i>r^c<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,i=n.constructor;return n.d?n.d[0]?(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+g,i.rounding=1,n=qn(i,Yt(i,n)),i.precision=e,i.rounding=t,y(ee==2||ee==3?n.neg():n,e,t,!0)):new i(1):new i(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,i,r,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(T=!1,o=l.s*v(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=D(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=v(n,1/3),e=V((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),i=new m(n),i.s=l.s):i=new m(o.toString()),s=(e=m.precision)+3;;)if(a=i,c=a.times(a).times(a),u=c.plus(l),i=K(u.plus(l).times(a),u.plus(c),s+2,1),D(a.d).slice(0,s)===(n=D(i.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!r&&n=="4999"){if(!r&&(y(a,e+1,0),a.times(a).times(a).eq(l))){i=a;break}s+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(y(i,e+1,1),t=!i.times(i).times(i).eq(l));break}return T=!0,y(i,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-V(this.e/g))*g,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return K(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return y(K(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return y(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,i,r,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,i=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(e=Math.ceil(r/3),t=(1/He(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=ye(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return y(o,s.precision=n,s.rounding=i,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=ye(o,2,r,r,!0);else{e=1.4*Math.sqrt(i),e=e>16?16:e|0,r=r.times(1/He(5,e)),r=ye(o,2,r,r,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=r.times(r),r=r.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,y(r,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+7,i.rounding=1,K(n.sinh(),n.cosh(),i.precision=e,i.rounding=t)):new i(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,i=t.abs().cmp(1),r=n.precision,o=n.rounding;return i!==-1?i===0?t.isNeg()?Z(n,r,o):new n(0):new n(NaN):t.isZero()?Z(n,r+4,o).times(.5):(n.precision=r+6,n.rounding=1,t=t.asin(),e=Z(n,r+4,o).times(.5),n.precision=r,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,i=n.constructor;return n.lte(1)?new i(n.eq(1)?0:NaN):n.isFinite()?(e=i.precision,t=i.rounding,i.precision=e+Math.max(Math.abs(n.e),n.sd())+4,i.rounding=1,T=!1,n=n.times(n).minus(1).sqrt().plus(n),T=!0,i.precision=e,i.rounding=t,n.ln()):new i(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,i=n.constructor;return!n.isFinite()||n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,i.rounding=1,T=!1,n=n.times(n).plus(1).sqrt().plus(n),T=!0,i.precision=e,i.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=o.precision,t=o.rounding,i=r.sd(),Math.max(i,e)<2*-r.e-1?y(new o(r),e,t,!0):(o.precision=n=i-r.e,r=K(r.plus(1),new o(1).minus(r),n+e,1),o.precision=e+4,o.rounding=1,r=r.ln(),o.precision=e,o.rounding=t,r.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,i,r=this,o=r.constructor;return r.isZero()?new o(r):(t=r.abs().cmp(1),n=o.precision,i=o.rounding,t!==-1?t===0?(e=Z(o,n+4,i).times(.5),e.s=r.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=i,r.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=ut)return s=Z(l,m+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=ut)return s=Z(l,m+4,d).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/g+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(T=!1,t=Math.ceil(a/g),i=1,c=u.times(u),s=new l(u),r=u;e!==-1;)if(r=r.times(c),o=s.minus(r.div(i+=2)),r=r.times(c),s=o.plus(r.div(i+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),T=!0,y(s,l.precision=m,l.rounding=d,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&V(this.e/g)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding,f=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(r=n[0];r%10===0;)r/=10;o=r!==1}if(T=!1,a=m+f,s=re(u,a),i=t?Ge(l,a+10):re(e,a),c=K(s,i,a,1),xe(c.d,r=m,d))do if(a+=10,s=re(u,a),i=t?Ge(l,a+10):re(e,a),c=K(s,i,a,1),!o){+D(c.d).slice(r+1,r+15)+1==1e14&&(c=y(c,m+1,0));break}while(xe(c.d,r+=10,d));return T=!0,y(c,m,d)};p.minus=p.sub=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,f=this,w=f.constructor;if(e=new w(e),!f.d||!e.d)return!f.s||!e.s?e=new w(NaN):f.d?e.s=-e.s:e=new w(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=w.precision,c=w.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new w(f);else return new w(c===3?-0:0);return T?y(e,a,c):e}if(n=V(e.e/g),l=V(f.e/g),u=u.slice(),o=l-n,o){for(m=o<0,m?(t=u,o=-o,s=d.length):(t=d,n=l,s=u.length),i=Math.max(Math.ceil(a/g),s)+2,o>i&&(o=i,t.length=1),t.reverse(),i=o;i--;)t.push(0);t.reverse()}else{for(i=u.length,s=d.length,m=i<s,m&&(s=i),i=0;i<s;i++)if(u[i]!=d[i]){m=u[i]<d[i];break}o=0}for(m&&(t=u,u=d,d=t,e.s=-e.s),s=u.length,i=d.length-s;i>0;--i)u[s++]=0;for(i=d.length;i>o;){if(u[--i]<d[i]){for(r=i;r&&u[--r]===0;)u[r]=j-1;--u[r],u[i]+=j}u[i]-=d[i]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=Xe(u,n),T?y(e,a,c):e):new w(c===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,i=n.constructor;return e=new i(e),!n.d||!e.s||e.d&&!e.d[0]?new i(NaN):!e.d||n.d&&!n.d[0]?y(new i(n),i.precision,i.rounding):(T=!1,i.modulo==9?(t=K(n,e.abs(),0,3,1),t.s*=e.s):t=K(n,e,0,i.modulo,1),t=t.times(e),T=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return ct(this)};p.naturalLogarithm=p.ln=function(){return re(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,y(e)};p.plus=p.add=function(e){var t,n,i,r,o,s,a,c,u,l,m=this,d=m.constructor;if(e=new d(e),!m.d||!e.d)return!m.s||!e.s?e=new d(NaN):m.d||(e=new d(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(u=m.d,l=e.d,a=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(e=new d(m)),T?y(e,a,c):e;if(o=V(m.e/g),i=V(e.e/g),u=u.slice(),r=o-i,r){for(r<0?(n=u,r=-r,s=l.length):(n=l,i=o,s=u.length),o=Math.ceil(a/g),s=o>s?o+1:s+1,r>s&&(r=s,n.length=1),n.reverse();r--;)n.push(0);n.reverse()}for(s=u.length,r=l.length,s-r<0&&(r=s,n=l,l=u,u=n),t=0;r;)t=(u[--r]=u[r]+l[r]+t)/j|0,u[r]%=j;for(t&&(u.unshift(t),++i),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=Xe(u,i),T?y(e,a,c):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(oe+e);return n.d?(t=Ut(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return y(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+g,i.rounding=1,n=Un(i,Yt(i,n)),i.precision=e,i.rounding=t,y(ee>2?n.neg():n,e,t,!0)):new i(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,i,r,o,s=this,a=s.d,c=s.e,u=s.s,l=s.constructor;if(u!==1||!a||!a[0])return new l(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(T=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=D(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=V((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),i=new l(t)):i=new l(u.toString()),n=(c=l.precision)+3;;)if(o=i,i=o.plus(K(s,o,n+2,1)).times(.5),D(o.d).slice(0,n)===(t=D(i.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!r&&t=="4999"){if(!r&&(y(o,c+1,0),o.times(o).eq(s))){i=o;break}n+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(i,c+1,1),e=!i.times(i).eq(s));break}return T=!0,y(i,c,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+10,i.rounding=1,n=n.sin(),n.s=1,n=K(n,new i(1).minus(n.times(n)).sqrt(),e+10,0),i.precision=e,i.rounding=t,y(ee==2||ee==4?n.neg():n,e,t,!0)):new i(NaN)};p.times=p.mul=function(e){var t,n,i,r,o,s,a,c,u,l=this,m=l.constructor,d=l.d,f=(e=new m(e)).d;if(e.s*=l.s,!d||!d[0]||!f||!f[0])return new m(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(n=V(l.e/g)+V(e.e/g),c=d.length,u=f.length,c<u&&(o=d,d=f,f=o,s=c,c=u,u=s),o=[],s=c+u,i=s;i--;)o.push(0);for(i=u;--i>=0;){for(t=0,r=c+i;r>i;)a=o[r]+f[i]*d[r-i-1]+t,o[r--]=a%j|0,t=a/j|0;o[r]=(o[r]+t)%j|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=Xe(o,n),T?y(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return mt(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,i=n.constructor;return n=new i(n),e===void 0?n:(G(e,0,se),t===void 0?t=i.rounding:G(t,0,8),y(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=J(i,!0):(G(e,0,se),t===void 0?t=r.rounding:G(t,0,8),i=y(new r(i),e+1,t),n=J(i,!0,e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,i,r=this,o=r.constructor;return e===void 0?n=J(r):(G(e,0,se),t===void 0?t=o.rounding:G(t,0,8),i=y(new o(r),e+r.e+1,t),n=J(i,!1,e+i.e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,f=this,w=f.d,b=f.constructor;if(!w)return new b(f);if(u=n=new b(1),i=c=new b(0),t=new b(i),o=t.e=Ut(w)-f.e-1,s=o%g,t.d[0]=v(10,s<0?g+s:s),e==null)e=o>0?t:u;else{if(a=new b(e),!a.isInt()||a.lt(u))throw Error(oe+a);e=a.gt(t)?o>0?t:u:a}for(T=!1,a=new b(D(w)),l=b.precision,b.precision=o=w.length*g*2;m=K(a,t,0,1,1),r=n.plus(m.times(i)),r.cmp(e)!=1;)n=i,i=r,r=u,u=c.plus(m.times(r)),c=r,r=t,t=a.minus(m.times(r)),a=r;return r=K(e.minus(n),i,0,1,1),c=c.plus(r.times(u)),n=n.plus(r.times(i)),c.s=u.s=f.s,d=K(u,i,o,1).minus(f).abs().cmp(K(c,n,o,1).minus(f).abs())<1?[u,i]:[c,n],b.precision=l,T=!0,d};p.toHexadecimal=p.toHex=function(e,t){return mt(this,16,e,t)};p.toNearest=function(e,t){var n=this,i=n.constructor;if(n=new i(n),e==null){if(!n.d)return n;e=new i(1),t=i.rounding}else{if(e=new i(e),t===void 0?t=i.rounding:G(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(T=!1,n=K(n,e,0,t,1).times(e),T=!0,y(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return mt(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,i,r,o,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(v(+a,u));if(a=new c(a),a.eq(1))return a;if(i=c.precision,o=c.rounding,e.eq(1))return y(a,i,o);if(t=V(e.e/g),t>=e.d.length-1&&(n=u<0?-u:u)<=_n)return r=Xt(c,a,n,i),e.s<0?new c(1).div(r):y(r,i,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=v(+a,u),t=n==0||!isFinite(n)?V(u*(Math.log("0."+D(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(T=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),r=ct(e.times(re(a,i+n)),i),r.d&&(r=y(r,i+5,1),xe(r.d,i,o)&&(t=i+10,r=y(ct(e.times(re(a,t+n)),t),t+5,1),+D(r.d).slice(i+1,i+15)+1==1e14&&(r=y(r,i+1,0)))),r.s=s,T=!0,c.rounding=o,y(r,i,o))};p.toPrecision=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=J(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(G(e,1,se),t===void 0?t=r.rounding:G(t,0,8),i=y(new r(i),e,t),n=J(i,e<=i.e||i.e<=r.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,i=n.constructor;return e===void 0?(e=i.precision,t=i.rounding):(G(e,1,se),t===void 0?t=i.rounding:G(t,0,8)),y(new i(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=J(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return y(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=J(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function D(e){var t,n,i,r=e.length-1,o="",s=e[0];if(r>0){for(o+=s,t=1;t<r;t++)i=e[t]+"",n=g-i.length,n&&(o+=ie(n)),o+=i;s=e[t],i=s+"",n=g-i.length,n&&(o+=ie(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function G(e,t,n){if(e!==~~e||e<t||e>n)throw Error(oe+e)}function xe(e,t,n,i){var r,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=g,r=0):(r=Math.ceil((t+1)/g),t%=g),o=v(10,g-t),a=e[r]%o|0,i==null?t<3?(t==0?a=a/100|0:t==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)&&(e[r+1]/o/100|0)==v(10,t-2)-1||(a==o/2||a==0)&&(e[r+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(i||n<4)&&a==9999||!i&&n>3&&a==4999):s=((i||n<4)&&a+1==o||!i&&n>3&&a+1==o/2)&&(e[r+1]/o/1e3|0)==v(10,t-3)-1,s}function _e(e,t,n){for(var i,r=[0],o,s=0,a=e.length;s<a;){for(o=r.length;o--;)r[o]*=t;for(r[0]+=st.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>n-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/n|0,r[i]%=n)}return r.reverse()}function qn(e,t){var n,i,r;if(t.isZero())return t;i=t.d.length,i<32?(n=Math.ceil(i/3),r=(1/He(4,n)).toString()):(n=16,r="2.3283064365386962890625e-10"),e.precision+=n,t=ye(e,1,t.times(r),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var K=function(){function e(i,r,o){var s,a=0,c=i.length;for(i=i.slice();c--;)s=i[c]*r+a,i[c]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function t(i,r,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(i[a]!=r[a]){c=i[a]>r[a]?1:-1;break}return c}function n(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,c){var u,l,m,d,f,w,b,B,x,N,I,E,pe,H,fe,Ee,he,it,z,ve,We=i.constructor,rt=i.s==r.s?1:-1,_=i.d,C=r.d;if(!_||!_[0]||!C||!C[0])return new We(!i.s||!r.s||(_?C&&_[0]==C[0]:!C)?NaN:_&&_[0]==0||!C?rt*0:rt/0);for(c?(f=1,l=i.e-r.e):(c=j,f=g,l=V(i.e/f)-V(r.e/f)),z=C.length,he=_.length,x=new We(rt),N=x.d=[],m=0;C[m]==(_[m]||0);m++);if(C[m]>(_[m]||0)&&l--,o==null?(H=o=We.precision,s=We.rounding):a?H=o+(i.e-r.e)+1:H=o,H<0)N.push(1),w=!0;else{if(H=H/f+2|0,m=0,z==1){for(d=0,C=C[0],H++;(m<he||d)&&H--;m++)fe=d*c+(_[m]||0),N[m]=fe/C|0,d=fe%C|0;w=d||m<he}else{for(d=c/(C[0]+1)|0,d>1&&(C=e(C,d,c),_=e(_,d,c),z=C.length,he=_.length),Ee=z,I=_.slice(0,z),E=I.length;E<z;)I[E++]=0;ve=C.slice(),ve.unshift(0),it=C[0],C[1]>=c/2&&++it;do d=0,u=t(C,I,z,E),u<0?(pe=I[0],z!=E&&(pe=pe*c+(I[1]||0)),d=pe/it|0,d>1?(d>=c&&(d=c-1),b=e(C,d,c),B=b.length,E=I.length,u=t(b,I,B,E),u==1&&(d--,n(b,z<B?ve:C,B,c))):(d==0&&(u=d=1),b=C.slice()),B=b.length,B<E&&b.unshift(0),n(I,b,E,c),u==-1&&(E=I.length,u=t(C,I,z,E),u<1&&(d++,n(I,z<E?ve:C,E,c))),E=I.length):u===0&&(d++,I=[0]),N[m++]=d,u&&I[0]?I[E++]=_[Ee]||0:(I=[_[Ee]],E=1);while((Ee++<he||I[0]!==void 0)&&H--);w=I[0]!==void 0}N[0]||N.shift()}if(f==1)x.e=l,Dt=w;else{for(m=1,d=N[0];d>=10;d/=10)m++;x.e=m+l*f-1,y(x,a?o+x.e+1:o,s,w)}return x}}();function y(e,t,n,i){var r,o,s,a,c,u,l,m,d,f=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(r=1,a=m[0];a>=10;a/=10)r++;if(o=t-r,o<0)o+=g,s=t,l=m[d=0],c=l/v(10,r-s-1)%10|0;else if(d=Math.ceil((o+1)/g),a=m.length,d>=a)if(i){for(;a++<=d;)m.push(0);l=c=0,r=1,o%=g,s=o-g+1}else break e;else{for(l=a=m[d],r=1;a>=10;a/=10)r++;o%=g,s=o-g+r,c=s<0?0:l/v(10,r-s-1)%10|0}if(i=i||t<0||m[d+1]!==void 0||(s<0?l:l%v(10,r-s-1)),u=n<4?(c||i)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||i||n==6&&(o>0?s>0?l/v(10,r-s):0:m[d-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,u?(t-=e.e+1,m[0]=v(10,(g-t%g)%g),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=v(10,g-o),m[d]=s>0?(l/v(10,r-s)%v(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==j&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=j)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return T&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function J(e,t,n){if(!e.isFinite())return zt(e);var i,r=e.e,o=D(e.d),s=o.length;return t?(n&&(i=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ie(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):r<0?(o="0."+ie(-r-1)+o,n&&(i=n-s)>0&&(o+=ie(i))):r>=s?(o+=ie(r+1-s),n&&(i=n-r-1)>0&&(o=o+"."+ie(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),n&&(i=n-s)>0&&(r+1===s&&(o+="."),o+=ie(i))),o}function Xe(e,t){var n=e[0];for(t*=g;n>=10;n/=10)t++;return t}function Ge(e,t,n){if(t>Vn)throw T=!0,n&&(e.precision=n),Error(_t);return y(new e(Ve),t,1,!0)}function Z(e,t,n){if(t>ut)throw Error(_t);return y(new e(qe),t,n,!0)}function Ut(e){var t=e.length-1,n=t*g+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function ie(e){for(var t="";e--;)t+="0";return t}function Xt(e,t,n,i){var r,o=new e(1),s=Math.ceil(i/g+4);for(T=!1;;){if(n%2&&(o=o.times(t),vt(o.d,s)&&(r=!0)),n=V(n/2),n===0){n=o.d.length-1,r&&o.d[n]===0&&++o.d[n];break}t=t.times(t),vt(t.d,s)}return T=!0,o}function Et(e){return e.d[e.d.length-1]&1}function Ht(e,t,n){for(var i,r=new e(t[0]),o=0;++o<t.length;)if(i=new e(t[o]),i.s)r[n](i)&&(r=i);else{r=i;break}return r}function ct(e,t){var n,i,r,o,s,a,c,u=0,l=0,m=0,d=e.constructor,f=d.rounding,w=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(T=!1,c=w):c=t,a=new d(.03125);e.e>-2;)e=e.times(a),m+=5;for(i=Math.log(v(2,m))/Math.LN10*2+5|0,c+=i,n=o=s=new d(1),d.precision=c;;){if(o=y(o.times(e),c,1),n=n.times(++l),a=s.plus(K(o,n,c,1)),D(a.d).slice(0,c)===D(s.d).slice(0,c)){for(r=m;r--;)s=y(s.times(s),c,1);if(t==null)if(u<3&&xe(s.d,c-i,f,u))d.precision=c+=10,n=o=a=new d(1),l=0,u++;else return y(s,d.precision=w,f,T=!0);else return d.precision=w,s}s=a}}function re(e,t){var n,i,r,o,s,a,c,u,l,m,d,f=1,w=10,b=e,B=b.d,x=b.constructor,N=x.rounding,I=x.precision;if(b.s<0||!B||!B[0]||!b.e&&B[0]==1&&B.length==1)return new x(B&&!B[0]?-1/0:b.s!=1?NaN:B?0:b);if(t==null?(T=!1,l=I):l=t,x.precision=l+=w,n=D(B),i=n.charAt(0),Math.abs(o=b.e)<15e14){for(;i<7&&i!=1||i==1&&n.charAt(1)>3;)b=b.times(e),n=D(b.d),i=n.charAt(0),f++;o=b.e,i>1?(b=new x("0."+n),o++):b=new x(i+"."+n.slice(1))}else return u=Ge(x,l+2,I).times(o+""),b=re(new x(i+"."+n.slice(1)),l-w).plus(u),x.precision=I,t==null?y(b,I,N,T=!0):b;for(m=b,c=s=b=K(b.minus(1),b.plus(1),l,1),d=y(b.times(b),l,1),r=3;;){if(s=y(s.times(d),l,1),u=c.plus(K(s,new x(r),l,1)),D(u.d).slice(0,l)===D(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ge(x,l+2,I).times(o+""))),c=K(c,new x(f),l,1),t==null)if(xe(c.d,l-w,N,a))x.precision=l+=w,u=s=b=K(m.minus(1),m.plus(1),l,1),d=y(b.times(b),l,1),r=a=1;else return y(c,x.precision=I,N,T=!0);else return x.precision=I,c;c=u,r+=2}}function zt(e){return String(e.s*e.s/0)}function lt(e,t){var n,i,r;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(n<0&&(n=i),n+=+t.slice(i+1),t=t.substring(0,i)):n<0&&(n=t.length),i=0;t.charCodeAt(i)===48;i++);for(r=t.length;t.charCodeAt(r-1)===48;--r);if(t=t.slice(i,r),t){if(r-=i,e.e=n=n-i-1,e.d=[],i=(n+1)%g,n<0&&(i+=g),i<r){for(i&&e.d.push(+t.slice(0,i)),r-=g;i<r;)e.d.push(+t.slice(i,i+=g));t=t.slice(i),i=g-t.length}else i-=r;for(;i--;)t+="0";e.d.push(+t),T&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Gn(e,t){var n,i,r,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),Gt.test(t))return lt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Wn.test(t))n=16,t=t.toLowerCase();else if(vn.test(t))n=2;else if(Dn.test(t))n=8;else throw Error(oe+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,i=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,r=Xt(i,new i(n),o,o*2)),u=_e(t,n,j),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new i(e.s*0):(e.e=Xe(u,l),e.d=u,T=!1,s&&(e=K(e,r,a*4)),c&&(e=e.times(Math.abs(c)<54?v(2,c):ze.pow(2,c))),T=!0,e)}function Un(e,t){var n,i=t.d.length;if(i<3)return t.isZero()?t:ye(e,2,t,t);n=1.4*Math.sqrt(i),n=n>16?16:n|0,t=t.times(1/He(5,n)),t=ye(e,2,t,t);for(var r,o=new e(5),s=new e(16),a=new e(20);n--;)r=t.times(t),t=t.times(o.plus(r.times(s.times(r).minus(a))));return t}function ye(e,t,n,i,r){var o,s,a,c,u=1,l=e.precision,m=Math.ceil(l/g);for(T=!1,c=n.times(n),a=new e(i);;){if(s=K(a.times(c),new e(t++*t++),l,1),a=r?i.plus(s):i.minus(s),i=K(s.times(c),new e(t++*t++),l,1),s=a.plus(i),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,u++}return T=!0,s.d.length=m+1,s}function He(e,t){for(var n=e;--t;)n*=e;return n}function Yt(e,t){var n,i=t.s<0,r=Z(e,e.precision,1),o=r.times(.5);if(t=t.abs(),t.lte(o))return ee=i?4:1,t;if(n=t.divToInt(r),n.isZero())ee=i?3:2;else{if(t=t.minus(n.times(r)),t.lte(o))return ee=Et(n)?i?2:3:i?4:1,t;ee=Et(n)?i?1:4:i?3:2}return t.minus(r).abs()}function mt(e,t,n,i){var r,o,s,a,c,u,l,m,d,f=e.constructor,w=n!==void 0;if(w?(G(n,1,se),i===void 0?i=f.rounding:G(i,0,8)):(n=f.precision,i=f.rounding),!e.isFinite())l=zt(e);else{for(l=J(e),s=l.indexOf("."),w?(r=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):r=t,s>=0&&(l=l.replace(".",""),d=new f(1),d.e=l.length-s,d.d=_e(J(d),10,r),d.e=d.d.length),m=_e(l,10,r),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=w?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=m,e.e=o,e=K(e,d,n,i,0,r),m=e.d,o=e.e,u=Dt),s=m[n],a=r/2,u=u||m[n+1]!==void 0,u=i<4?(s!==void 0||u)&&(i===0||i===(e.s<0?3:2)):s>a||s===a&&(i===4||u||i===6&&m[n-1]&1||i===(e.s<0?8:7)),m.length=n,u)for(;++m[--n]>r-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=st.charAt(m[s]);if(w){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=_e(l,r,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=st.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function vt(e,t){if(e.length>t)return e.length=t,!0}function Xn(e){return new this(e).abs()}function Hn(e){return new this(e).acos()}function zn(e){return new this(e).acosh()}function Yn(e,t){return new this(e).plus(t)}function Zn(e){return new this(e).asin()}function jn(e){return new this(e).asinh()}function Qn(e){return new this(e).atan()}function Jn(e){return new this(e).atanh()}function $n(e,t){e=new this(e),t=new this(t);var n,i=this.precision,r=this.rounding,o=i+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Z(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Z(this,i,r):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Z(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(K(e,t,o,1)),t=Z(this,o,1),this.precision=i,this.rounding=r,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(K(e,t,o,1)),n}function ei(e){return new this(e).cbrt()}function ti(e){return y(e=new this(e),e.e+1,2)}function ni(e,t,n){return new this(e).clamp(t,n)}function ii(e){if(!e||typeof e!="object")throw Error(Ue+"Object expected");var t,n,i,r=e.defaults===!0,o=["precision",1,se,"rounding",0,8,"toExpNeg",-be,0,"toExpPos",0,be,"maxE",0,be,"minE",-be,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],r&&(this[n]=at[n]),(i=e[n])!==void 0)if(V(i)===i&&i>=o[t+1]&&i<=o[t+2])this[n]=i;else throw Error(oe+n+": "+i);if(n="crypto",r&&(this[n]=at[n]),(i=e[n])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Vt);else this[n]=!1;else throw Error(oe+n+": "+i);return this}function ri(e){return new this(e).cos()}function oi(e){return new this(e).cosh()}function Zt(e){var t,n,i;function r(o){var s,a,c,u=this;if(!(u instanceof r))return new r(o);if(u.constructor=r,Wt(o)){u.s=o.s,T?!o.d||o.e>r.maxE?(u.e=NaN,u.d=null):o.e<r.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>r.maxE?(u.e=NaN,u.d=null):s<r.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 lt(u,o.toString())}else if(c!=="string")throw Error(oe+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),Gt.test(o)?lt(u,o):Gn(u,o)}if(r.prototype=p,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=ii,r.clone=Zt,r.isDecimal=Wt,r.abs=Xn,r.acos=Hn,r.acosh=zn,r.add=Yn,r.asin=Zn,r.asinh=jn,r.atan=Qn,r.atanh=Jn,r.atan2=$n,r.cbrt=ei,r.ceil=ti,r.clamp=ni,r.cos=ri,r.cosh=oi,r.div=si,r.exp=ai,r.floor=ui,r.hypot=ci,r.ln=li,r.log=mi,r.log10=pi,r.log2=di,r.max=fi,r.min=bi,r.mod=yi,r.mul=gi,r.pow=Pi,r.random=wi,r.round=ki,r.sign=Ai,r.sin=Ti,r.sinh=hi,r.sqrt=xi,r.sub=Bi,r.sum=Ii,r.tan=Si,r.tanh=Ki,r.trunc=Ci,e===void 0&&(e={}),e&&e.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<i.length;)e.hasOwnProperty(n=i[t++])||(e[n]=this[n]);return r.config(e),r}function si(e,t){return new this(e).div(t)}function ai(e){return new this(e).exp()}function ui(e){return y(e=new this(e),e.e+1,3)}function ci(){var e,t,n=new this(0);for(T=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return T=!0,new this(1/0);n=t}return T=!0,n.sqrt()}function Wt(e){return e instanceof ze||e&&e.toStringTag===qt||!1}function li(e){return new this(e).ln()}function mi(e,t){return new this(e).log(t)}function di(e){return new this(e).log(2)}function pi(e){return new this(e).log(10)}function fi(){return Ht(this,arguments,"lt")}function bi(){return Ht(this,arguments,"gt")}function yi(e,t){return new this(e).mod(t)}function gi(e,t){return new this(e).mul(t)}function Pi(e,t){return new this(e).pow(t)}function wi(e){var t,n,i,r,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:G(e,1,se),i=Math.ceil(e/g),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(i));o<i;)r=t[o],r>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(i*=4);o<i;)r=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error(Vt);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],e%=g,i&&e&&(r=v(10,g-e),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=g)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<g&&(n-=g-i)}return s.e=n,s.d=a,s}function ki(e){return y(e=new this(e),e.e+1,this.rounding)}function Ai(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Ti(e){return new this(e).sin()}function hi(e){return new this(e).sinh()}function xi(e){return new this(e).sqrt()}function Bi(e,t){return new this(e).sub(t)}function Ii(){var e=0,t=arguments,n=new this(t[e]);for(T=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return T=!0,y(n,this.precision,this.rounding)}function Si(e){return new this(e).tan()}function Ki(e){return new this(e).tanh()}function Ci(e){return y(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var ze=p.constructor=Zt(at);Ve=new ze(Ve);qe=new ze(qe);import vi from"big.js";import ko from"bn.js";import Ni from"toformat";var Li=Ni,Be=Li;import Ze from"big.js";import Mi from"bn.js";import Oi from"decimal.js-light";import Ie from"bn.js";var jt=9007199254740991;function $(e){let t=W("Raydium_parseBigNumberish");if(e instanceof Ie)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Ie(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=jt||e<=-jt)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Ie(String(e))):typeof e=="bigint"?new Ie(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Ie(0))}var Ye=W("module/fraction"),dt=Be(Ze),Se=Be(Oi),Fi={[0]:Se.ROUND_DOWN,[1]:Se.ROUND_HALF_UP,[2]:Se.ROUND_UP},Ei={[0]:Ze.roundDown,[1]:Ze.roundHalfUp,[2]:Ze.roundUp},L=class{constructor(t,n=new Mi(1)){this.numerator=$(t),this.denominator=$(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new L(this.denominator,this.numerator)}add(t){let n=t instanceof L?t:new L($(t));return this.denominator.eq(n.denominator)?new L(this.numerator.add(n.numerator),this.denominator):new L(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof L?t:new L($(t));return this.denominator.eq(n.denominator)?new L(this.numerator.sub(n.numerator),this.denominator):new L(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof L?t:new L($(t));return new L(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof L?t:new L($(t));return new L(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||Ye.logWithError(`${t} is not an integer.`),t<=0&&Ye.logWithError(`${t} is not positive.`),Se.set({precision:t+1,rounding:Fi[i]});let r=new Se(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return r.toFormat(r.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||Ye.logWithError(`${t} is not an integer.`),t<0&&Ye.logWithError(`${t} is negative.`),dt.DP=t,dt.RM=Ei[i]||1,new dt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var Co=W("Raydium_amount"),No=Be(vi);import{PublicKey as Di}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Qt}from"@solana/spl-token";var pt={chainId:101,address:Di.default.toBase58(),programId:Qt.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},ae={chainId:101,address:"So11111111111111111111111111111111111111112",programId:Qt.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 bt}from"@solana/web3.js";import{PublicKey as R,SystemProgram as Jt,SYSVAR_RENT_PUBKEY as _i}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Vi}from"@solana/spl-token";function ft({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var Wo=[ft({pubkey:Vi,isWritable:!1}),ft({pubkey:Jt.programId,isWritable:!1}),ft({pubkey:_i,isWritable:!1})];function $t({publicKey:e,transformSol:t}){let n=en(e.toString());if(n instanceof R)return t&&n.equals(Ke)?De:n;if(t&&n.toString()===Ke.toBase58())return De;if(typeof n=="string"){if(n===R.default.toBase58())return R.default;try{return new R(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function en(e){try{return new R(e)}catch{return e}}var qi=new R("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),je=new R("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Qe=new R("SysvarRent111111111111111111111111111111111"),Do=new R("SysvarC1ock11111111111111111111111111111111"),ge=new R("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),_o=new R("Sysvar1nstructions1111111111111111111111111"),tn=Jt.programId,Vo=new R("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),qo=new R("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Go=new R("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Uo=new R("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Xo=new R("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ho=new R("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),zo=new R("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Yo=new R("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Zo=new R("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),jo=new R("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Qo=new R("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),De=new R("So11111111111111111111111111111111111111112"),Ke=R.default;var yt=class{constructor({mint:t,decimals:n,symbol:i,name:r,skipMint:o=!1,isToken2022:s=!1}){if(t===Ke.toBase58()||t instanceof bt&&Ke.equals(t)){this.decimals=ae.decimals,this.symbol=ae.symbol,this.name=ae.name,this.mint=new bt(ae.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=r||t.toString().substring(0,6),this.mint=o?bt.default:$t({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ue=yt;ue.WSOL=new yt(Q(Y({},ae),{mint:ae.address}));var gt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},Je=gt;Je.SOL=new gt(pt);import Gi from"bn.js";var cs=new L(new Gi(100));var bs=W("Raydium_price");import{PublicKey as Rs}from"@solana/web3.js";import Os from"bn.js";var Ui=new te(0),Js=new te(1),$s=new te(2),ea=new te(3),ta=new te(5),Wi=new te(10),na=new te(100),ia=new te(1e3),ra=new te(1e4);import{PublicKey as Hi}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as zi}from"@solana/spl-token";import{ComputeBudgetProgram as da,Keypair as ba,PublicKey as Xi,Transaction as ga,TransactionMessage as wa,VersionedTransaction as ka}from"@solana/web3.js";var Pe={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee",TransferTip:"TransferTip"};import{TOKEN_PROGRAM_ID as xa}from"@solana/spl-token";var Ba=W("Raydium_txUtil");function le(e,t){let[n,i]=Xi.findProgramAddressSync(e,t);return{publicKey:n,nonce:i}}function we(e,t,n){return le([e.toBuffer(),(n!=null?n:zi).toBuffer(),t.toBuffer()],new Hi("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as h}from"@solana/web3.js";var Ra=new h("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ma=new h("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Oa=new h("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Fa=new h("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Ea=new h("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),va=new h("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Wa=new h("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Da=new h("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),_a=new h("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Va=new h("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Yi=new h("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Zi=new h("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),ji=new h("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),qa=new h("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ga=new h("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Ua=new h("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Xa=new h("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Ha=new h("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),za=new h("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),nn=new h("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),rn=new h("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Ya=new h("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Qi=new h("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Ji=new h("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),$i=new h("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Za=new h("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),er=new h("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),ja=new h("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),tr=new h("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Qa={SERUM_MARKET:h.default,OPENBOOK_MARKET:new h("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:h.default,FarmV3:new h("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new h("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new h("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new h("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new h("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new h("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new h("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new h("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new h("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:Qi,CREATE_CPMM_POOL_AUTH:Ji,CREATE_CPMM_POOL_FEE_ACC:$i,FEE_DESTINATION_ID:new h("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:er,LCOK_CPMM_AUTH:tr};import eu from"bn.js";import{PublicKey as nr,AddressLookupTableAccount as on}from"@solana/web3.js";var ir={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new on({key:new nr("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:on.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 yu,sendAndConfirmTransaction as gu,SystemProgram as ku,Transaction as Au,TransactionMessage as hu,VersionedTransaction as xu}from"@solana/web3.js";import Iu from"axios";var Qu=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Ju=Buffer.from("amm_config","utf8"),sr=Buffer.from("pool","utf8"),$u=Buffer.from("pool_lp_mint","utf8"),ec=Buffer.from("pool_vault","utf8"),tc=Buffer.from("observation","utf8");function an(e,t,n,i){return le([sr,t.toBuffer(),n.toBuffer(),i.toBuffer()],e)}var ar=Buffer.from("locked_liquidity","utf8");function un(e,t){return le([ar,t.toBuffer()],e)}import{PublicKey as yr}from"@solana/web3.js";import dn,{isBN as pn}from"bn.js";import{bits as rc,BitStructure as oc,blob as ur,Blob as sc,cstr as ac,f32 as uc,f32be as cc,f64 as lc,f64be as mc,greedy as dc,Layout as cr,ns64 as pc,ns64be as fc,nu64 as bc,nu64be as yc,offset as gc,s16 as Pc,s16be as wc,s24 as kc,s24be as Ac,s32 as lr,s32be as Tc,s40 as hc,s40be as xc,s48 as Bc,s48be as Ic,s8 as Sc,seq as mr,struct as Kc,Structure as dr,u16 as pr,u16be as Cc,u24 as Nc,u24be as Lc,u32 as Rc,u32be as Mc,u40 as Oc,u40be as Fc,u48 as Ec,u48be as vc,u8 as fr,UInt as br,union as Wc,Union as Dc,unionLayoutDiscriminator as _c,utf8 as Vc}from"@solana/buffer-layout";var kt=cr,cn=dr;var At=br;var ln=fr,Ne=pr;var ne=lr;var mn=mr;var U=ur;var ke=class extends kt{constructor(n,i,r){super(n,r);this.blob=U(n),this.signed=i}decode(n,i=0){let r=new dn(this.blob.decode(n,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(n,i,r=0){return typeof n=="number"&&(n=new dn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,r)}};function q(e){return new At(1,e)}function Ae(e){return new At(4,e)}function P(e){return new ke(8,!1,e)}function M(e){return new ke(16,!1,e)}function fn(e){return new ke(8,!0,e)}function bn(e){return new ke(16,!0,e)}var et=class extends kt{constructor(n,i,r,o){super(n.span,o);this.layout=n,this.decoder=i,this.encoder=r}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,r){return this.layout.encode(this.encoder(n),i,r)}getSpan(n,i){return this.layout.getSpan(n,i)}};function S(e){return new et(U(32),t=>new yr(t),t=>t.toBuffer(),e)}function Le(e){return new et(ln(),gr,Pr,e)}function gr(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Pr(e){return e?1:0}var Tt=class extends cn{decode(t,n){return super.decode(t,n)}};function O(e,t,n){return new Tt(e,t,n)}function F(e,t,n){let i,r=typeof t=="number"?t:pn(t)?t.toNumber():new Proxy(t,{get(o,s){if(!i){let a=Reflect.get(o,"count");i=pn(a)?a.toNumber():a,Reflect.set(o,"count",i)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(i=a),Reflect.set(o,s,a)}});return mn(e,r,n)}import{PublicKey as Qd}from"@solana/web3.js";import $d from"bn.js";import{AccountLayout as ip,TOKEN_2022_PROGRAM_ID as rp,TOKEN_PROGRAM_ID as op}from"@solana/spl-token";import{PublicKey as nl}from"@solana/web3.js";import{MintLayout as rl,TOKEN_PROGRAM_ID as sl}from"@solana/spl-token";import{Keypair as Td,PublicKey as hd,SystemProgram as Bd,TransactionInstruction as Id}from"@solana/web3.js";import Kd from"bn.js";import{ASSOCIATED_TOKEN_PROGRAM_ID as Ld,TOKEN_2022_PROGRAM_ID as Rd,TOKEN_PROGRAM_ID as Md}from"@solana/spl-token";import td from"bn.js";import X from"bn.js";var ht=new X(0),yn=new X(1),gn=new X(-1),tt=new X(1).shln(64),Pn=new X(1).shln(128),wr=tt.sub(yn);var kr=Pn.subn(1),Te=-443636,Re=-Te,xt=new X("4295048016"),Bt=new X("79226673521066979257578248091"),Pl=new X("4295048017"),wl=new X("79226673521066979257578248090");var Ar=new X(10).pow(new X(6));var kl=new X("18446744073700000000");import Vm from"bn.js";var Sl=Buffer.from("amm_config","utf8"),Kl=Buffer.from("pool","utf8"),Cl=Buffer.from("pool_vault","utf8"),Nl=Buffer.from("pool_reward_vault","utf8"),Ll=Buffer.from("position","utf8"),Rl=Buffer.from("tick_array","utf8"),Ml=Buffer.from("operation","utf8"),Ol=Buffer.from("pool_tick_array_bitmap_extension","utf8"),Fl=Buffer.from("observation","utf8");function It(e){return le([Buffer.from("metadata","utf8"),ge.toBuffer(),e.toBuffer()],ge)}var El=Buffer.from("locked_position","utf8");import{PublicKey as bm}from"@solana/web3.js";import{TOKEN_2022_PROGRAM_ID as gm}from"@solana/spl-token";import wm from"bn.js";import Dl from"bn.js";var Ct=14;var nt=60;var Ir=O([U(8),q("bump"),Ne("index"),S(""),Ae("protocolFeeRate"),Ae("tradeFeeRate"),Ne("tickSpacing"),F(P(),8,"")]),Sr=O([Ae("blockTimestamp"),fn("tickCumulative"),F(P(),4)]),Kn=O([U(8),Le("initialized"),P("recentEpoch"),Ne("observationIndex"),S("poolId"),F(Sr,100,"observations"),F(P(),4)]),Kr=O([q("rewardState"),P("openTime"),P("endTime"),P("lastUpdateTime"),M("emissionsPerSecondX64"),P("rewardTotalEmissioned"),P("rewardClaimed"),S("tokenMint"),S("tokenVault"),S("creator"),M("rewardGrowthGlobalX64")]),Bn=O([U(8),q("bump"),S("ammConfig"),S("creator"),S("mintA"),S("mintB"),S("vaultA"),S("vaultB"),S("observationId"),q("mintDecimalsA"),q("mintDecimalsB"),Ne("tickSpacing"),M("liquidity"),M("sqrtPriceX64"),ne("tickCurrent"),Ae(),M("feeGrowthGlobalX64A"),M("feeGrowthGlobalX64B"),P("protocolFeesTokenA"),P("protocolFeesTokenB"),M("swapInAmountTokenA"),M("swapOutAmountTokenB"),M("swapInAmountTokenB"),M("swapOutAmountTokenA"),q("status"),F(q(),7,""),F(Kr,3,"rewardInfos"),F(P(),16,"tickArrayBitmap"),P("totalFeesTokenA"),P("totalFeesClaimedTokenA"),P("totalFeesTokenB"),P("totalFeesClaimedTokenB"),P("fundFeesTokenA"),P("fundFeesTokenB"),P("startTime"),F(P(),15*4-3,"padding")]),Cr=O([M("growthInsideLastX64"),P("rewardAmountOwed")]),In=O([U(8),q("bump"),S("nftMint"),S("poolId"),ne("tickLower"),ne("tickUpper"),M("liquidity"),M("feeGrowthInsideLastX64A"),M("feeGrowthInsideLastX64B"),P("tokenFeesOwedA"),P("tokenFeesOwedB"),F(Cr,3,"rewardInfos"),F(P(),8,"")]),md=O([U(8),q("bump"),S("poolId"),ne("tickLowerIndex"),ne("tickUpperIndex"),M("liquidity"),M("feeGrowthInsideLastX64A"),M("feeGrowthInsideLastX64B"),P("tokenFeesOwedA"),P("tokenFeesOwedB"),F(M(),3,"rewardGrowthInside"),F(P(),8,"")]),Nr=O([ne("tick"),bn("liquidityNet"),M("liquidityGross"),M("feeGrowthOutsideX64A"),M("feeGrowthOutsideX64B"),F(M(),3,"rewardGrowthsOutsideX64"),F(Ae(),13,"")]),Tn=O([U(8),S("poolId"),ne("startTickIndex"),F(Nr,nt,"ticks"),q("initializedTickCount"),F(q(),115,"")]),Lr=O([U(329),F(S(),100,"whitelistMints")]),Br=O([U(8),S("poolId"),F(F(P(),8),Ct,"positiveTickArrayBitmap"),F(F(P(),8),Ct,"negativeTickArrayBitmap")]),dd=O([P(),q("bump"),S("owner"),S("poolId"),S("positionId"),S("nftAccount"),F(P(),8)]),pd=O([U(8),q("bump"),S("lockOwner"),S("poolId"),S("positionId"),S("nftAccount"),S("lockNftMint"),P("recentEpoch"),F(P(),8)]);Kn.span;var Vd=W("Raydium_Clmm");var vr=W("Raydium_cpmm"),de={initialize:[175,175,109,31,13,152,155,237],deposit:[242,35,198,137,82,225,242,182],withdraw:[183,18,70,156,148,109,161,34],swapBaseInput:[143,190,90,218,196,30,51,222],swapBaseOutput:[55,217,98,86,163,74,180,173],lockCpLiquidity:[216,157,29,78,38,51,31,26],collectCpFee:[8,30,51,199,209,184,247,133]};function jp(e,t,n,i,r,o,s,a,c,u,l,m,d,f,w,b,B,x,N,I){let E=O([P("amountMaxA"),P("amountMaxB"),P("openTime")]),pe=an(e,n,o,s).publicKey,H=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!r.equals(pe),isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:B,isSigner:!1,isWritable:!0},{pubkey:ce,isSigner:!1,isWritable:!1},{pubkey:w,isSigner:!1,isWritable:!1},{pubkey:b,isSigner:!1,isWritable:!1},{pubkey:Cn,isSigner:!1,isWritable:!1},{pubkey:tn,isSigner:!1,isWritable:!1},{pubkey:Qe,isSigner:!1,isWritable:!1}],fe=Buffer.alloc(E.span);return E.encode({amountMaxA:x,amountMaxB:N,openTime:I},fe),new me({keys:H,programId:e,data:Buffer.from([...de.initialize,...fe])})}function Qp(e,t,n,i,r,o,s,a,c,u,l,m,d,f,w){let b=O([P("lpAmount"),P("amountMaxA"),P("amountMaxB")]),B=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:ce,isSigner:!1,isWritable:!1},{pubkey:Nt,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0}],x=Buffer.alloc(b.span);return vr.debug("cpmm deposit data",{lpAmount:d.toString(),amountMaxA:f.toString(),amountMaxB:w.toString()}),b.encode({lpAmount:d,amountMaxA:f,amountMaxB:w},x),new me({keys:B,programId:e,data:Buffer.from([...de.deposit,...x])})}function Jp(e,t,n,i,r,o,s,a,c,u,l,m,d,f,w){let b=O([P("lpAmount"),P("amountMinA"),P("amountMinB")]),B=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:ce,isSigner:!1,isWritable:!1},{pubkey:Nt,isSigner:!1,isWritable:!1},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:je,isSigner:!1,isWritable:!1}],x=Buffer.alloc(b.span);return b.encode({lpAmount:d,amountMinA:f,amountMinB:w},x),new me({keys:B,programId:e,data:Buffer.from([...de.withdraw,...x])})}function $p(e,t,n,i,r,o,s,a,c,u,l,m,d,f,w,b){let B=O([P("amountIn"),P("amounOutMin")]),x=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!0}],N=Buffer.alloc(B.span);return B.encode({amountIn:w,amounOutMin:b},N),new me({keys:x,programId:e,data:Buffer.from([...de.swapBaseInput,...N])})}function ef(e,t,n,i,r,o,s,a,c,u,l,m,d,f,w,b){let B=O([P("amountInMax"),P("amountOut")]),x=[{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:l,isSigner:!1,isWritable:!1},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!0}],N=Buffer.alloc(B.span);return B.encode({amountInMax:w,amountOut:b},N),new me({keys:x,programId:e,data:Buffer.from([...de.swapBaseOutput,...N])})}async function tf(e){var b;let{ownerInfo:t,poolInfo:n,poolKeys:i,getEphemeralSigners:r}=e,o=[],[s,a]=[new Fe(n.id),new Fe(n.lpMint.address)],c;if(r)c=new Fe((await r(1))[0]);else{let B=Fr.generate();o.push(B),c=B.publicKey}let{publicKey:u}=we(t.feePayer,c,ce),{publicKey:l}=It(c),{publicKey:m}=un(e.lockProgram,c),{publicKey:d}=we(t.feePayer,a,ce),{publicKey:f}=we(e.lockAuthProgram,a,ce),w=Wr({programId:e.lockProgram,auth:e.lockAuthProgram,payer:t.feePayer,nftOwner:t.feePayer,liquidityOwner:t.feePayer,nftMint:c,nftAccount:u,poolId:s,lockPda:m,mintLp:a,userLpVault:d,lockLpVault:f,poolVaultA:new Fe(i.vault.A),poolVaultB:new Fe(i.vault.B),metadataAccount:l,lpAmount:e.lpAmount,withMetadata:(b=e.withMetadata)!=null?b:!0});return{address:{nftMint:c,nftAccount:u,metadataAccount:l,lockPda:m,userLpVault:d,lockLpVault:f},instructions:[w],signers:o,instructionTypes:[Pe.CpmmLockLp],lookupTableAddress:[]}}function Wr({programId:e,auth:t,payer:n,liquidityOwner:i,nftOwner:r,nftMint:o,nftAccount:s,poolId:a,lockPda:c,mintLp:u,userLpVault:l,lockLpVault:m,poolVaultA:d,poolVaultB:f,metadataAccount:w,lpAmount:b,withMetadata:B}){let x=[{pubkey:t,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!0},{pubkey:i,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!0,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!1},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!1},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!0},{pubkey:d,isSigner:!1,isWritable:!0},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:w,isSigner:!1,isWritable:!0},{pubkey:Qe,isSigner:!1,isWritable:!1},{pubkey:Er.programId,isSigner:!1,isWritable:!1},{pubkey:ce,isSigner:!1,isWritable:!1},{pubkey:Cn,isSigner:!1,isWritable:!1},{pubkey:ge,isSigner:!1,isWritable:!1}],N=O([P("lpAmount"),Le("withMetadata")]),I=Buffer.alloc(N.span);N.encode({lpAmount:b,withMetadata:B},I);let E=Buffer.from([...de.lockCpLiquidity,...I]);return new me({keys:x,programId:e,data:E})}function nf({programId:e,nftOwner:t,auth:n,nftAccount:i,lockPda:r,poolId:o,mintLp:s,userVaultA:a,userVaultB:c,poolVaultA:u,poolVaultB:l,mintA:m,mintB:d,lockLpVault:f,lpFeeAmount:w,cpmmProgram:b,cpmmAuthProgram:B}){let x=[{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:t,isSigner:!0,isWritable:!1},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:b!=null?b:nn,isSigner:!1,isWritable:!1},{pubkey:B!=null?B:rn,isSigner:!1,isWritable:!1},{pubkey:o,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:c,isSigner:!1,isWritable:!0},{pubkey:u,isSigner:!1,isWritable:!0},{pubkey:l,isSigner:!1,isWritable:!0},{pubkey:m,isSigner:!1,isWritable:!1},{pubkey:d,isSigner:!1,isWritable:!1},{pubkey:f,isSigner:!1,isWritable:!0},{pubkey:ce,isSigner:!1,isWritable:!1},{pubkey:Nt,isSigner:!1,isWritable:!1},{pubkey:je,isSigner:!1,isWritable:!1}],N=O([P("lpFeeAmount")]),I=Buffer.alloc(N.span);N.encode({lpFeeAmount:w},I);let E=Buffer.from([...de.collectCpFee,...I]);return new me({keys:x,programId:e,data:E})}export{nf as collectCpFeeInstruction,Wr as cpmmLockPositionInstruction,tf as makeCpmmLockInstruction,jp as makeCreateCpmmPoolInInstruction,Qp as makeDepositCpmmInInstruction,$p as makeSwapCpmmBaseInInstruction,ef as makeSwapCpmmBaseOutInstruction,Jp as makeWithdrawCpmmInInstruction};
//# sourceMappingURL=instruction.mjs.map