UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

1 lines 76.2 kB
var Cn=Object.defineProperty,Mn=Object.defineProperties;var Kn=Object.getOwnPropertyDescriptors;var qe=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable;var Vt=(e,t,n)=>t in e?Cn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t)=>{for(var n in t||(t={}))Ft.call(t,n)&&Vt(e,n,t[n]);if(qe)for(var n of qe(t))Wt.call(t,n)&&Vt(e,n,t[n]);return e},Y=(e,t)=>Mn(e,Kn(t));var it=(e,t)=>{var n={};for(var r in e)Ft.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&qe)for(var r of qe(e))t.indexOf(r)<0&&Wt.call(e,r)&&(n[r]=e[r]);return n};import qt from"bn.js";var vi=new qt(25),Di=new qt(1e4),En={4:3,5:3};import{PublicKey as Vn}from"@solana/web3.js";import Ht,{isBN as jt}from"bn.js";import{bits as Vi,BitStructure as Fi,blob as Rn,Blob as Wi,cstr as qi,f32 as Ui,f32be as Gi,f64 as Hi,f64be as ji,greedy as Qi,Layout as vn,ns64 as Zi,ns64be as zi,nu64 as Yi,nu64be as Xi,offset as Ji,s16 as $i,s16be as eo,s24 as to,s24be as no,s32 as ro,s32be as io,s40 as oo,s40be as so,s48 as ao,s48be as uo,s8 as co,seq as Dn,struct as lo,Structure as _n,u16 as mo,u16be as po,u24 as fo,u24be as go,u32 as bo,u32be as ho,u40 as yo,u40be as wo,u48 as To,u48be as Po,u8 as xo,UInt as On,union as Ao,Union as ko,unionLayoutDiscriminator as So,utf8 as Io}from"@solana/buffer-layout";var ot=vn,Ut=_n;var st=On;var Gt=Dn;var at=Rn;var Ue=class extends ot{constructor(n,r,i){super(n,i);this.blob=at(n),this.signed=r}decode(n,r=0){let i=new Ht(this.blob.decode(n,r),10,"le");return this.signed?i.fromTwos(this.span*8).clone():i}encode(n,r,i=0){return typeof n=="number"&&(n=new Ht(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}};function v(e){return new st(1,e)}function de(e){return new st(4,e)}function d(e){return new Ue(8,!1,e)}function $(e){return new Ue(16,!1,e)}var ut=class extends ot{constructor(n,r,i,o){super(n.span,o);this.layout=n,this.decoder=r,this.encoder=i}decode(n,r){return this.decoder(this.layout.decode(n,r))}encode(n,r,i){return this.layout.encode(this.encoder(n),r,i)}getSpan(n,r){return this.layout.getSpan(n,r)}};function S(e){return new ut(at(32),t=>new Vn(t),t=>t.toBuffer(),e)}var ct=class extends Ut{decode(t,n){return super.decode(t,n)}};function D(e,t,n){return new ct(e,t,n)}function Ne(e,t,n){let r,i=typeof t=="number"?t:jt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!r){let a=Reflect.get(o,"count");r=jt(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 Gt(e,i,n)}var lt=D([v("instruction"),d("amountIn"),d("minAmountOut")]),mt=D([v("instruction"),d("maxAmountIn"),d("amountOut")]),qo=D([v("instruction"),v("nonce")]),pt=D([v("instruction"),v("nonce"),d("startTime")]),ft=D([d("status"),d("nonce"),d("maxOrder"),d("depth"),d("baseDecimal"),d("quoteDecimal"),d("state"),d("resetFlag"),d("minSize"),d("volMaxCutRatio"),d("amountWaveRatio"),d("baseLotSize"),d("quoteLotSize"),d("minPriceMultiplier"),d("maxPriceMultiplier"),d("systemDecimalValue"),d("minSeparateNumerator"),d("minSeparateDenominator"),d("tradeFeeNumerator"),d("tradeFeeDenominator"),d("pnlNumerator"),d("pnlDenominator"),d("swapFeeNumerator"),d("swapFeeDenominator"),d("baseNeedTakePnl"),d("quoteNeedTakePnl"),d("quoteTotalPnl"),d("baseTotalPnl"),d("poolOpenTime"),d("punishPcAmount"),d("punishCoinAmount"),d("orderbookToInitTime"),$("swapBaseInAmount"),$("swapQuoteOutAmount"),d("swapBase2QuoteFee"),$("swapQuoteInAmount"),$("swapBaseOutAmount"),d("swapQuote2BaseFee"),S("baseVault"),S("quoteVault"),S("baseMint"),S("quoteMint"),S("lpMint"),S("openOrders"),S("marketId"),S("marketProgramId"),S("targetOrders"),S("withdrawQueue"),S("lpVault"),S("owner"),d("lpReserve"),Ne(d(),3,"padding")]),Fn=D([d("accountType"),d("status"),d("nonce"),d("maxOrder"),d("depth"),d("baseDecimal"),d("quoteDecimal"),d("state"),d("resetFlag"),d("minSize"),d("volMaxCutRatio"),d("amountWaveRatio"),d("baseLotSize"),d("quoteLotSize"),d("minPriceMultiplier"),d("maxPriceMultiplier"),d("systemDecimalsValue"),d("abortTradeFactor"),d("priceTickMultiplier"),d("priceTick"),d("minSeparateNumerator"),d("minSeparateDenominator"),d("tradeFeeNumerator"),d("tradeFeeDenominator"),d("pnlNumerator"),d("pnlDenominator"),d("swapFeeNumerator"),d("swapFeeDenominator"),d("baseNeedTakePnl"),d("quoteNeedTakePnl"),d("quoteTotalPnl"),d("baseTotalPnl"),d("poolOpenTime"),d("punishPcAmount"),d("punishCoinAmount"),d("orderbookToInitTime"),$("swapBaseInAmount"),$("swapQuoteOutAmount"),$("swapQuoteInAmount"),$("swapBaseOutAmount"),d("swapQuote2BaseFee"),d("swapBase2QuoteFee"),S("baseVault"),S("quoteVault"),S("baseMint"),S("quoteMint"),S("lpMint"),S("modelDataAccount"),S("openOrders"),S("marketId"),S("marketProgramId"),S("targetOrders"),S("owner"),Ne(d(),64,"padding")]),dt=D([v("instruction"),d("baseAmountIn"),d("quoteAmountIn"),d("fixedSide"),d("otherAmountMin")]),gt=D([v("instruction"),d("lpAmount"),d("baseAmountMin"),d("quoteAmountMin")]),Uo={4:ft,5:Fn},Go=D([d("fee")]);import{PublicKey as Ve}from"@solana/web3.js";import Oe from"bn.js";var Pe=9e15,le=1e9,bt="0123456789abcdef",He="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",je="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ht={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Pe,maxE:Pe,crypto:!1},Yt,ee,A=!0,Ze="[DecimalError] ",ce=Ze+"Invalid argument: ",Xt=Ze+"Precision limit exceeded",Jt=Ze+"crypto unavailable",$t="[object Decimal]",U=Math.floor,_=Math.pow,Wn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,qn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Un=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,en=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,z=1e7,w=7,Gn=9007199254740991,Hn=He.length-1,yt=je.length-1,g={toStringTag:$t};g.absoluteValue=g.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),y(e)};g.ceil=function(){return y(new this.constructor(this),this.e+1,2)};g.clampedTo=g.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(ce+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)};g.comparedTo=g.cmp=function(e){var t,n,r,i,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(r=s.length,i=a.length,t=0,n=r<i?r:i;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1};g.cosine=g.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+w,r.rounding=1,n=jn(r,sn(r,n)),r.precision=e,r.rounding=t,y(ee==2||ee==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};g.cubeRoot=g.cbrt=function(){var e,t,n,r,i,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(A=!1,o=l.s*_(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=F(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=_(n,1/3),e=U((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),r=new m(n),r.s=l.s):r=new m(o.toString()),s=(e=m.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(l),r=C(u.plus(l).times(a),u.plus(c),s+2,1),F(a.d).slice(0,s)===(n=F(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(y(a,e+1,0),a.times(a).times(a).eq(l))){r=a;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(y(r,e+1,1),t=!r.times(r).times(r).eq(l));break}return A=!0,y(r,e,m.rounding,t)};g.decimalPlaces=g.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-U(this.e/w))*w,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};g.dividedBy=g.div=function(e){return C(this,new this.constructor(e))};g.dividedToIntegerBy=g.divToInt=function(e){var t=this,n=t.constructor;return y(C(t,new n(e),0,1,1),n.precision,n.rounding)};g.equals=g.eq=function(e){return this.cmp(e)===0};g.floor=function(){return y(new this.constructor(this),this.e+1,3)};g.greaterThan=g.gt=function(e){return this.cmp(e)>0};g.greaterThanOrEqualTo=g.gte=function(e){var t=this.cmp(e);return t==1||t===0};g.hyperbolicCosine=g.cosh=function(){var e,t,n,r,i,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(e=Math.ceil(i/3),t=(1/Ye(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=xe(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=r,!0)};g.hyperbolicSine=g.sinh=function(){var e,t,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=xe(o,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/Ye(5,e)),i=xe(o,2,i,i,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=i.times(i),i=i.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,y(i,t,n,!0)};g.hyperbolicTangent=g.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,C(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};g.inverseCosine=g.acos=function(){var e,t=this,n=t.constructor,r=t.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?t.isNeg()?Z(n,i,o):new n(0):new n(NaN):t.isZero()?Z(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,t=t.asin(),e=Z(n,i+4,o).times(.5),n.precision=i,n.rounding=o,e.minus(t))};g.inverseHyperbolicCosine=g.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,A=!1,n=n.times(n).minus(1).sqrt().plus(n),A=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};g.inverseHyperbolicSine=g.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,A=!1,n=n.times(n).plus(1).sqrt().plus(n),A=!0,r.precision=e,r.rounding=t,n.ln())};g.inverseHyperbolicTangent=g.atanh=function(){var e,t,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=o.precision,t=o.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?y(new o(i),e,t,!0):(o.precision=n=r-i.e,i=C(i.plus(1),new o(1).minus(i),n+e,1),o.precision=e+4,o.rounding=1,i=i.ln(),o.precision=e,o.rounding=t,i.times(.5))):new o(NaN)};g.inverseSine=g.asin=function(){var e,t,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(t=i.abs().cmp(1),n=o.precision,r=o.rounding,t!==-1?t===0?(e=Z(o,n+4,r).times(.5),e.s=i.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};g.inverseTangent=g.atan=function(){var e,t,n,r,i,o,s,a,c,u=this,l=u.constructor,m=l.precision,p=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=yt)return s=Z(l,m+4,p).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=yt)return s=Z(l,m+4,p).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/w+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(A=!1,t=Math.ceil(a/w),r=1,c=u.times(u),s=new l(u),i=u;e!==-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[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),A=!0,y(s,l.precision=m,l.rounding=p,!0)};g.isFinite=function(){return!!this.d};g.isInteger=g.isInt=function(){return!!this.d&&U(this.e/w)>this.d.length-2};g.isNaN=function(){return!this.s};g.isNegative=g.isNeg=function(){return this.s<0};g.isPositive=g.isPos=function(){return this.s>0};g.isZero=function(){return!!this.d&&this.d[0]===0};g.lessThan=g.lt=function(e){return this.cmp(e)<0};g.lessThanOrEqualTo=g.lte=function(e){return this.cmp(e)<1};g.logarithm=g.log=function(e){var t,n,r,i,o,s,a,c,u=this,l=u.constructor,m=l.precision,p=l.rounding,b=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(i=n[0];i%10===0;)i/=10;o=i!==1}if(A=!1,a=m+b,s=ue(u,a),r=t?Qe(l,a+10):ue(e,a),c=C(s,r,a,1),Ce(c.d,i=m,p))do if(a+=10,s=ue(u,a),r=t?Qe(l,a+10):ue(e,a),c=C(s,r,a,1),!o){+F(c.d).slice(i+1,i+15)+1==1e14&&(c=y(c,m+1,0));break}while(Ce(c.d,i+=10,p));return A=!0,y(c,m,p)};g.minus=g.sub=function(e){var t,n,r,i,o,s,a,c,u,l,m,p,b=this,T=b.constructor;if(e=new T(e),!b.d||!e.d)return!b.s||!e.s?e=new T(NaN):b.d?e.s=-e.s:e=new T(e.d||b.s!==e.s?b:NaN),e;if(b.s!=e.s)return e.s=-e.s,b.plus(e);if(u=b.d,p=e.d,a=T.precision,c=T.rounding,!u[0]||!p[0]){if(p[0])e.s=-e.s;else if(u[0])e=new T(b);else return new T(c===3?-0:0);return A?y(e,a,c):e}if(n=U(e.e/w),l=U(b.e/w),u=u.slice(),o=l-n,o){for(m=o<0,m?(t=u,o=-o,s=p.length):(t=p,n=l,s=u.length),r=Math.max(Math.ceil(a/w),s)+2,o>r&&(o=r,t.length=1),t.reverse(),r=o;r--;)t.push(0);t.reverse()}else{for(r=u.length,s=p.length,m=r<s,m&&(s=r),r=0;r<s;r++)if(u[r]!=p[r]){m=u[r]<p[r];break}o=0}for(m&&(t=u,u=p,p=t,e.s=-e.s),s=u.length,r=p.length-s;r>0;--r)u[s++]=0;for(r=p.length;r>o;){if(u[--r]<p[r]){for(i=r;i&&u[--i]===0;)u[i]=z-1;--u[i],u[r]+=z}u[r]-=p[r]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=ze(u,n),A?y(e,a,c):e):new T(c===3?-0:0)};g.modulo=g.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?y(new r(n),r.precision,r.rounding):(A=!1,r.modulo==9?(t=C(n,e.abs(),0,3,1),t.s*=e.s):t=C(n,e,0,r.modulo,1),t=t.times(e),A=!0,n.minus(t))};g.naturalExponential=g.exp=function(){return wt(this)};g.naturalLogarithm=g.ln=function(){return ue(this)};g.negated=g.neg=function(){var e=new this.constructor(this);return e.s=-e.s,y(e)};g.plus=g.add=function(e){var t,n,r,i,o,s,a,c,u,l,m=this,p=m.constructor;if(e=new p(e),!m.d||!e.d)return!m.s||!e.s?e=new p(NaN):m.d||(e=new p(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=p.precision,c=p.rounding,!u[0]||!l[0])return l[0]||(e=new p(m)),A?y(e,a,c):e;if(o=U(m.e/w),r=U(e.e/w),u=u.slice(),i=o-r,i){for(i<0?(n=u,i=-i,s=l.length):(n=l,r=o,s=u.length),o=Math.ceil(a/w),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=u.length,i=l.length,s-i<0&&(i=s,n=l,l=u,u=n),t=0;i;)t=(u[--i]=u[i]+l[i]+t)/z|0,u[i]%=z;for(t&&(u.unshift(t),++r),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=ze(u,r),A?y(e,a,c):e};g.precision=g.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ce+e);return n.d?(t=tn(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};g.round=function(){var e=this,t=e.constructor;return y(new t(e),e.e+1,t.rounding)};g.sine=g.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+w,r.rounding=1,n=Zn(r,sn(r,n)),r.precision=e,r.rounding=t,y(ee>2?n.neg():n,e,t,!0)):new r(NaN)};g.squareRoot=g.sqrt=function(){var e,t,n,r,i,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(A=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=F(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=U((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),r=new l(t)):r=new l(u.toString()),n=(c=l.precision)+3;;)if(o=r,r=o.plus(C(s,o,n+2,1)).times(.5),F(o.d).slice(0,n)===(t=F(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!i&&t=="4999"){if(!i&&(y(o,c+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(y(r,c+1,1),e=!r.times(r).eq(s));break}return A=!0,y(r,c,l.rounding,e)};g.tangent=g.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=C(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,y(ee==2||ee==4?n.neg():n,e,t,!0)):new r(NaN)};g.times=g.mul=function(e){var t,n,r,i,o,s,a,c,u,l=this,m=l.constructor,p=l.d,b=(e=new m(e)).d;if(e.s*=l.s,!p||!p[0]||!b||!b[0])return new m(!e.s||p&&!p[0]&&!b||b&&!b[0]&&!p?NaN:!p||!b?e.s/0:e.s*0);for(n=U(l.e/w)+U(e.e/w),c=p.length,u=b.length,c<u&&(o=p,p=b,b=o,s=c,c=u,u=s),o=[],s=c+u,r=s;r--;)o.push(0);for(r=u;--r>=0;){for(t=0,i=c+r;i>r;)a=o[i]+b[r]*p[i-r-1]+t,o[i--]=a%z|0,t=a/z|0;o[i]=(o[i]+t)%z|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=ze(o,n),A?y(e,m.precision,m.rounding):e};g.toBinary=function(e,t){return Pt(this,2,e,t)};g.toDecimalPlaces=g.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(G(e,0,le),t===void 0?t=r.rounding:G(t,0,8),y(n,e+n.e+1,t))};g.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=X(r,!0):(G(e,0,le),t===void 0?t=i.rounding:G(t,0,8),r=y(new i(r),e+1,t),n=X(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};g.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?n=X(i):(G(e,0,le),t===void 0?t=o.rounding:G(t,0,8),r=y(new o(i),e+i.e+1,t),n=X(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};g.toFraction=function(e){var t,n,r,i,o,s,a,c,u,l,m,p,b=this,T=b.d,h=b.constructor;if(!T)return new h(b);if(u=n=new h(1),r=c=new h(0),t=new h(r),o=t.e=tn(T)-b.e-1,s=o%w,t.d[0]=_(10,s<0?w+s:s),e==null)e=o>0?t:u;else{if(a=new h(e),!a.isInt()||a.lt(u))throw Error(ce+a);e=a.gt(t)?o>0?t:u:a}for(A=!1,a=new h(F(T)),l=h.precision,h.precision=o=T.length*w*2;m=C(a,t,0,1,1),i=n.plus(m.times(r)),i.cmp(e)!=1;)n=r,r=i,i=u,u=c.plus(m.times(i)),c=i,i=t,t=a.minus(m.times(i)),a=i;return i=C(e.minus(n),r,0,1,1),c=c.plus(i.times(u)),n=n.plus(i.times(r)),c.s=u.s=b.s,p=C(u,r,o,1).minus(b).abs().cmp(C(c,n,o,1).minus(b).abs())<1?[u,r]:[c,n],h.precision=l,A=!0,p};g.toHexadecimal=g.toHex=function(e,t){return Pt(this,16,e,t)};g.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.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]?(A=!1,n=C(n,e,0,t,1).times(e),A=!0,y(n)):(e.s=n.s,n=e),n};g.toNumber=function(){return+this};g.toOctal=function(e,t){return Pt(this,8,e,t)};g.toPower=g.pow=function(e){var t,n,r,i,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(_(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,o=c.rounding,e.eq(1))return y(a,r,o);if(t=U(e.e/w),t>=e.d.length-1&&(n=u<0?-u:u)<=Gn)return i=nn(c,a,n,r),e.s<0?new c(1).div(i):y(i,r,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=_(+a,u),t=n==0||!isFinite(n)?U(u*(Math.log("0."+F(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):(A=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),i=wt(e.times(ue(a,r+n)),r),i.d&&(i=y(i,r+5,1),Ce(i.d,r,o)&&(t=r+10,i=y(wt(e.times(ue(a,t+n)),t),t+5,1),+F(i.d).slice(r+1,r+15)+1==1e14&&(i=y(i,r+1,0)))),i.s=s,A=!0,c.rounding=o,y(i,r,o))};g.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=X(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(G(e,1,le),t===void 0?t=i.rounding:G(t,0,8),r=y(new i(r),e,t),n=X(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};g.toSignificantDigits=g.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(G(e,1,le),t===void 0?t=r.rounding:G(t,0,8)),y(new r(n),e,t)};g.toString=function(){var e=this,t=e.constructor,n=X(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};g.truncated=g.trunc=function(){return y(new this.constructor(this),this.e+1,1)};g.valueOf=g.toJSON=function(){var e=this,t=e.constructor,n=X(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function F(e){var t,n,r,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;t<i;t++)r=e[t]+"",n=w-r.length,n&&(o+=ae(n)),o+=r;s=e[t],r=s+"",n=w-r.length,n&&(o+=ae(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(ce+e)}function Ce(e,t,n,r){var i,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=w,i=0):(i=Math.ceil((t+1)/w),t%=w),o=_(10,w-t),a=e[i]%o|0,r==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[i+1]/o/100|0)==_(10,t-2)-1||(a==o/2||a==0)&&(e[i+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=(r||n<4)&&a==9999||!r&&n>3&&a==4999):s=((r||n<4)&&a+1==o||!r&&n>3&&a+1==o/2)&&(e[i+1]/o/1e3|0)==_(10,t-3)-1,s}function Ge(e,t,n){for(var r,i=[0],o,s=0,a=e.length;s<a;){for(o=i.length;o--;)i[o]*=t;for(i[0]+=bt.indexOf(e.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function jn(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/Ye(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),e.precision+=n,t=xe(e,1,t.times(i),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 C=function(){function e(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 t(r,i,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(r[a]!=i[a]){c=r[a]>i[a]?1:-1;break}return c}function n(r,i,o,s){for(var a=0;o--;)r[o]-=a,a=r[o]<i[o]?1:0,r[o]=a*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,a,c){var u,l,m,p,b,T,h,R,L,W,I,V,we,j,Le,pe,fe,Te,Q,Fe,We=r.constructor,rt=r.s==i.s?1:-1,q=r.d,M=i.d;if(!q||!q[0]||!M||!M[0])return new We(!r.s||!i.s||(q?M&&q[0]==M[0]:!M)?NaN:q&&q[0]==0||!M?rt*0:rt/0);for(c?(b=1,l=r.e-i.e):(c=z,b=w,l=U(r.e/b)-U(i.e/b)),Q=M.length,fe=q.length,L=new We(rt),W=L.d=[],m=0;M[m]==(q[m]||0);m++);if(M[m]>(q[m]||0)&&l--,o==null?(j=o=We.precision,s=We.rounding):a?j=o+(r.e-i.e)+1:j=o,j<0)W.push(1),T=!0;else{if(j=j/b+2|0,m=0,Q==1){for(p=0,M=M[0],j++;(m<fe||p)&&j--;m++)Le=p*c+(q[m]||0),W[m]=Le/M|0,p=Le%M|0;T=p||m<fe}else{for(p=c/(M[0]+1)|0,p>1&&(M=e(M,p,c),q=e(q,p,c),Q=M.length,fe=q.length),pe=Q,I=q.slice(0,Q),V=I.length;V<Q;)I[V++]=0;Fe=M.slice(),Fe.unshift(0),Te=M[0],M[1]>=c/2&&++Te;do p=0,u=t(M,I,Q,V),u<0?(we=I[0],Q!=V&&(we=we*c+(I[1]||0)),p=we/Te|0,p>1?(p>=c&&(p=c-1),h=e(M,p,c),R=h.length,V=I.length,u=t(h,I,R,V),u==1&&(p--,n(h,Q<R?Fe:M,R,c))):(p==0&&(u=p=1),h=M.slice()),R=h.length,R<V&&h.unshift(0),n(I,h,V,c),u==-1&&(V=I.length,u=t(M,I,Q,V),u<1&&(p++,n(I,Q<V?Fe:M,V,c))),V=I.length):u===0&&(p++,I=[0]),W[m++]=p,u&&I[0]?I[V++]=q[pe]||0:(I=[q[pe]],V=1);while((pe++<fe||I[0]!==void 0)&&j--);T=I[0]!==void 0}W[0]||W.shift()}if(b==1)L.e=l,Yt=T;else{for(m=1,p=W[0];p>=10;p/=10)m++;L.e=m+l*b-1,y(L,a?o+L.e+1:o,s,T)}return L}}();function y(e,t,n,r){var i,o,s,a,c,u,l,m,p,b=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(i=1,a=m[0];a>=10;a/=10)i++;if(o=t-i,o<0)o+=w,s=t,l=m[p=0],c=l/_(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/w),a=m.length,p>=a)if(r){for(;a++<=p;)m.push(0);l=c=0,i=1,o%=w,s=o-w+1}else break e;else{for(l=a=m[p],i=1;a>=10;a/=10)i++;o%=w,s=o-w+i,c=s<0?0:l/_(10,i-s-1)%10|0}if(r=r||t<0||m[p+1]!==void 0||(s<0?l:l%_(10,i-s-1)),u=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(o>0?s>0?l/_(10,i-s):0:m[p-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,u?(t-=e.e+1,m[0]=_(10,(w-t%w)%w),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=p,a=1,p--):(m.length=p+1,a=_(10,w-o),m[p]=s>0?(l/_(10,i-s)%_(10,s)|0)*a:0),u)for(;;)if(p==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]==z&&(m[0]=1));break}else{if(m[p]+=a,m[p]!=z)break;m[p--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return A&&(e.e>b.maxE?(e.d=null,e.e=NaN):e.e<b.minE&&(e.e=0,e.d=[0])),e}function X(e,t,n){if(!e.isFinite())return on(e);var r,i=e.e,o=F(e.d),s=o.length;return t?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ae(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):i<0?(o="0."+ae(-i-1)+o,n&&(r=n-s)>0&&(o+=ae(r))):i>=s?(o+=ae(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+ae(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=ae(r))),o}function ze(e,t){var n=e[0];for(t*=w;n>=10;n/=10)t++;return t}function Qe(e,t,n){if(t>Hn)throw A=!0,n&&(e.precision=n),Error(Xt);return y(new e(He),t,1,!0)}function Z(e,t,n){if(t>yt)throw Error(Xt);return y(new e(je),t,n,!0)}function tn(e){var t=e.length-1,n=t*w+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 ae(e){for(var t="";e--;)t+="0";return t}function nn(e,t,n,r){var i,o=new e(1),s=Math.ceil(r/w+4);for(A=!1;;){if(n%2&&(o=o.times(t),Zt(o.d,s)&&(i=!0)),n=U(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}t=t.times(t),Zt(t.d,s)}return A=!0,o}function Qt(e){return e.d[e.d.length-1]&1}function rn(e,t,n){for(var r,i=new e(t[0]),o=0;++o<t.length;)if(r=new e(t[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function wt(e,t){var n,r,i,o,s,a,c,u=0,l=0,m=0,p=e.constructor,b=p.rounding,T=p.precision;if(!e.d||!e.d[0]||e.e>17)return new p(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(A=!1,c=T):c=t,a=new p(.03125);e.e>-2;)e=e.times(a),m+=5;for(r=Math.log(_(2,m))/Math.LN10*2+5|0,c+=r,n=o=s=new p(1),p.precision=c;;){if(o=y(o.times(e),c,1),n=n.times(++l),a=s.plus(C(o,n,c,1)),F(a.d).slice(0,c)===F(s.d).slice(0,c)){for(i=m;i--;)s=y(s.times(s),c,1);if(t==null)if(u<3&&Ce(s.d,c-r,b,u))p.precision=c+=10,n=o=a=new p(1),l=0,u++;else return y(s,p.precision=T,b,A=!0);else return p.precision=T,s}s=a}}function ue(e,t){var n,r,i,o,s,a,c,u,l,m,p,b=1,T=10,h=e,R=h.d,L=h.constructor,W=L.rounding,I=L.precision;if(h.s<0||!R||!R[0]||!h.e&&R[0]==1&&R.length==1)return new L(R&&!R[0]?-1/0:h.s!=1?NaN:R?0:h);if(t==null?(A=!1,l=I):l=t,L.precision=l+=T,n=F(R),r=n.charAt(0),Math.abs(o=h.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)h=h.times(e),n=F(h.d),r=n.charAt(0),b++;o=h.e,r>1?(h=new L("0."+n),o++):h=new L(r+"."+n.slice(1))}else return u=Qe(L,l+2,I).times(o+""),h=ue(new L(r+"."+n.slice(1)),l-T).plus(u),L.precision=I,t==null?y(h,I,W,A=!0):h;for(m=h,c=s=h=C(h.minus(1),h.plus(1),l,1),p=y(h.times(h),l,1),i=3;;){if(s=y(s.times(p),l,1),u=c.plus(C(s,new L(i),l,1)),F(u.d).slice(0,l)===F(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Qe(L,l+2,I).times(o+""))),c=C(c,new L(b),l,1),t==null)if(Ce(c.d,l-T,W,a))L.precision=l+=T,u=s=h=C(m.minus(1),m.plus(1),l,1),p=y(h.times(h),l,1),i=a=1;else return y(c,L.precision=I,W,A=!0);else return L.precision=I,c;c=u,i+=2}}function on(e){return String(e.s*e.s/0)}function Tt(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%w,n<0&&(r+=w),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=w;r<i;)e.d.push(+t.slice(r,r+=w));t=t.slice(r),r=w-t.length}else r-=i;for(;r--;)t+="0";e.d.push(+t),A&&(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 Qn(e,t){var n,r,i,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),en.test(t))return Tt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(qn.test(t))n=16,t=t.toLowerCase();else if(Wn.test(t))n=2;else if(Un.test(t))n=8;else throw Error(ce+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,r=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,i=nn(r,new r(n),o,o*2)),u=Ge(t,n,z),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new r(e.s*0):(e.e=ze(u,l),e.d=u,A=!1,s&&(e=C(e,i,a*4)),c&&(e=e.times(Math.abs(c)<54?_(2,c):Me.pow(2,c))),A=!0,e)}function Zn(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:xe(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Ye(5,n)),t=xe(e,2,t,t);for(var i,o=new e(5),s=new e(16),a=new e(20);n--;)i=t.times(t),t=t.times(o.plus(i.times(s.times(i).minus(a))));return t}function xe(e,t,n,r,i){var o,s,a,c,u=1,l=e.precision,m=Math.ceil(l/w);for(A=!1,c=n.times(n),a=new e(r);;){if(s=C(a.times(c),new e(t++*t++),l,1),a=i?r.plus(s):r.minus(s),r=C(s.times(c),new e(t++*t++),l,1),s=a.plus(r),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=r,r=s,s=o,u++}return A=!0,s.d.length=m+1,s}function Ye(e,t){for(var n=e;--t;)n*=e;return n}function sn(e,t){var n,r=t.s<0,i=Z(e,e.precision,1),o=i.times(.5);if(t=t.abs(),t.lte(o))return ee=r?4:1,t;if(n=t.divToInt(i),n.isZero())ee=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(o))return ee=Qt(n)?r?2:3:r?4:1,t;ee=Qt(n)?r?1:4:r?3:2}return t.minus(i).abs()}function Pt(e,t,n,r){var i,o,s,a,c,u,l,m,p,b=e.constructor,T=n!==void 0;if(T?(G(n,1,le),r===void 0?r=b.rounding:G(r,0,8)):(n=b.precision,r=b.rounding),!e.isFinite())l=on(e);else{for(l=X(e),s=l.indexOf("."),T?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,s>=0&&(l=l.replace(".",""),p=new b(1),p.e=l.length-s,p.d=Ge(X(p),10,i),p.e=p.d.length),m=Ge(l,10,i),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=T?"0p+0":"0";else{if(s<0?o--:(e=new b(e),e.d=m,e.e=o,e=C(e,p,n,r,0,i),m=e.d,o=e.e,u=Yt),s=m[n],a=i/2,u=u||m[n+1]!==void 0,u=r<4?(s!==void 0||u)&&(r===0||r===(e.s<0?3:2)):s>a||s===a&&(r===4||u||r===6&&m[n-1]&1||r===(e.s<0?8:7)),m.length=n,u)for(;++m[--n]>i-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+=bt.charAt(m[s]);if(T){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=Ge(l,i,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=bt.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 Zt(e,t){if(e.length>t)return e.length=t,!0}function zn(e){return new this(e).abs()}function Yn(e){return new this(e).acos()}function Xn(e){return new this(e).acosh()}function Jn(e,t){return new this(e).plus(t)}function $n(e){return new this(e).asin()}function er(e){return new this(e).asinh()}function tr(e){return new this(e).atan()}function nr(e){return new this(e).atanh()}function rr(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,o=r+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,r,i):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(C(e,t,o,1)),t=Z(this,o,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(C(e,t,o,1)),n}function ir(e){return new this(e).cbrt()}function or(e){return y(e=new this(e),e.e+1,2)}function sr(e,t,n){return new this(e).clamp(t,n)}function ar(e){if(!e||typeof e!="object")throw Error(Ze+"Object expected");var t,n,r,i=e.defaults===!0,o=["precision",1,le,"rounding",0,8,"toExpNeg",-Pe,0,"toExpPos",0,Pe,"maxE",0,Pe,"minE",-Pe,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],i&&(this[n]=ht[n]),(r=e[n])!==void 0)if(U(r)===r&&r>=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(ce+n+": "+r);if(n="crypto",i&&(this[n]=ht[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Jt);else this[n]=!1;else throw Error(ce+n+": "+r);return this}function ur(e){return new this(e).cos()}function cr(e){return new this(e).cosh()}function an(e){var t,n,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,A?!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++;A?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 Tt(u,o.toString())}else if(c!=="string")throw Error(ce+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),en.test(o)?Tt(u,o):Qn(u,o)}if(i.prototype=g,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=ar,i.clone=an,i.isDecimal=zt,i.abs=zn,i.acos=Yn,i.acosh=Xn,i.add=Jn,i.asin=$n,i.asinh=er,i.atan=tr,i.atanh=nr,i.atan2=rr,i.cbrt=ir,i.ceil=or,i.clamp=sr,i.cos=ur,i.cosh=cr,i.div=lr,i.exp=mr,i.floor=pr,i.hypot=fr,i.ln=dr,i.log=gr,i.log10=hr,i.log2=br,i.max=yr,i.min=wr,i.mod=Tr,i.mul=Pr,i.pow=xr,i.random=Ar,i.round=kr,i.sign=Sr,i.sin=Ir,i.sinh=Br,i.sqrt=Lr,i.sub=Nr,i.sum=Cr,i.tan=Mr,i.tanh=Kr,i.trunc=Er,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function lr(e,t){return new this(e).div(t)}function mr(e){return new this(e).exp()}function pr(e){return y(e=new this(e),e.e+1,3)}function fr(){var e,t,n=new this(0);for(A=!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 A=!0,new this(1/0);n=t}return A=!0,n.sqrt()}function zt(e){return e instanceof Me||e&&e.toStringTag===$t||!1}function dr(e){return new this(e).ln()}function gr(e,t){return new this(e).log(t)}function br(e){return new this(e).log(2)}function hr(e){return new this(e).log(10)}function yr(){return rn(this,arguments,"lt")}function wr(){return rn(this,arguments,"gt")}function Tr(e,t){return new this(e).mod(t)}function Pr(e,t){return new this(e).mul(t)}function xr(e,t){return new this(e).pow(t)}function Ar(e){var t,n,r,i,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:G(e,1,le),r=Math.ceil(e/w),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));o<r;)i=t[o],i>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);o<r;)i=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(i%1e7),o+=4);o=r/4}else throw Error(Jt);else for(;o<r;)a[o++]=Math.random()*1e7|0;for(r=a[--o],e%=w,r&&e&&(i=_(10,w-e),a[o]=(r/i|0)*i);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=w)a.shift();for(r=1,i=a[0];i>=10;i/=10)r++;r<w&&(n-=w-r)}return s.e=n,s.d=a,s}function kr(e){return y(e=new this(e),e.e+1,this.rounding)}function Sr(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Ir(e){return new this(e).sin()}function Br(e){return new this(e).sinh()}function Lr(e){return new this(e).sqrt()}function Nr(e,t){return new this(e).sub(t)}function Cr(){var e=0,t=arguments,n=new this(t[e]);for(A=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return A=!0,y(n,this.precision,this.rounding)}function Mr(e){return new this(e).tan()}function Kr(e){return new this(e).tanh()}function Er(e){return y(e=new this(e),e.e+1,1)}g[Symbol.for("nodejs.util.inspect.custom")]=g.toString;g[Symbol.toStringTag]="Decimal";var Me=g.constructor=an(ht);He=new Me(He);je=new Me(je);var Ae=Me;import{TOKEN_PROGRAM_ID as Ci}from"@solana/spl-token";import{ComputeBudgetProgram as Jo,Keypair as ts,PublicKey as ln,Transaction as At,TransactionMessage as is,VersionedTransaction as os}from"@solana/web3.js";import{get as un,set as Rr}from"lodash";var xt=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(r=>typeof r=="object"?JSON.stringify(r):r).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}},cn={},vr={};function O(e){let t=un(cn,e);if(!t){let n=un(vr,e);t=new xt({name:e,logLevel:n}),Rr(cn,e,t)}return t}var Ke={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 cs}from"@solana/spl-token";var te=O("Raydium_txUtil"),Dr=1644;function _r(e,t){e.length<1&&te.logWithError(`no instructions provided: ${e.toString()}`),t.length<1&&te.logWithError(`no signers provided:, ${t.toString()}`);let n=new At;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=t[0],n.add(...e);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<Dr}catch{return!1}}async function mn(e,t,n,r=!0){let i=new ln("RaydiumSimuLateTransaction11111111111111111"),o=[],s=new At;s.feePayer=i;for(let u of t)_r([...s.instructions,u],[i])||(o.push(s),s=new At,s.feePayer=i),s.add(u);s.instructions.length>0&&o.push(s);let a=[];try{if(a=await Or(e,o,r),a.find(u=>u.err!==null))throw Error("rpc simulateTransaction error")}catch(u){u instanceof Error&&te.logWithError("failed to simulate for instructions","RPC_ERROR",{message:u.message})}let c=[];for(let u of a)if(te.debug("simulate result:",u),u.logs){let l=u.logs.filter(m=>m&&m.includes(n));te.debug("filteredLog:",c),l.length||te.logWithError("simulate log not match keyword","keyword",n),c.push(...l)}return c}function pn(e,t){let n=e.match(/{["\w:,]+}/g);return!n||n.length!==1?te.logWithError(`simulate log fail to match json, keyword: ${t}`):n[0]}function ne(e,t){let r=new RegExp(`"${t}":(\\d+)`,"g").exec(e);return!r||r.length!==2?te.logWithError(`simulate log fail to match key", key: ${t}`):r[1]}function ke(e,t){let[n,r]=ln.findProgramAddressSync(e,t);return{publicKey:n,nonce:r}}async function Or(e,t,n){let r=[];if(n){let i=await e.getLatestBlockhash(),o=[];for(let u of t){u.recentBlockhash=i.blockhash,u.lastValidBlockHeight=i.lastValidBlockHeight;let m=u._compile().serialize(),b=u._serialize(m).toString("base64");o.push(b)}let s=o.map(u=>{let l=e._buildArgs([u],void 0,"base64");return{methodName:"simulateTransaction",args:l}}),a=[],c=20;for(let u=0;u<Math.ceil(s.length/c);u++)a.push(s.slice(u*c,(u+1)*c));r=await(await Promise.all(a.map(async u=>(await e._rpcBatchRequest(u)).map(l=>l.result.value)))).flat()}else try{r=await Promise.all(t.map(async i=>await(await e.simulateTransaction(i)).value))}catch(i){i instanceof Error&&te.logWithError("failed to get info for multiple accounts","RPC_ERROR",{message:i.message})}return r}import{PublicKey as ll}from"@solana/web3.js";import{MintLayout as pl,TOKEN_PROGRAM_ID as dl}from"@solana/spl-token";import ci from"big.js";import et from"bn.js";import oe from"bn.js";import{PublicKey as Vr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as fn}from"@solana/spl-token";var kt={chainId:101,address:Vr.default.toBase58(),programId:fn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img-v1.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},re={chainId:101,address:"So11111111111111111111111111111111111111112",programId:fn.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 Nt}from"@solana/web3.js";import{PublicKey as E,SystemProgram as dn,SYSVAR_RENT_PUBKEY as Fr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Wr}from"@solana/spl-token";function f({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var hs=[f({pubkey:Wr,isWritable:!1}),f({pubkey:dn.programId,isWritable:!1}),f({pubkey:Fr,isWritable:!1})];function It({publicKey:e,transformSol:t}){let n=Bt(e.toString());if(n instanceof E)return t&&n.equals(Ee)?St:n;if(t&&n.toString()===Ee.toBase58())return St;if(typeof n=="string"){if(n===E.default.toBase58())return E.default;try{return new E(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function Bt(e){try{return new E(e)}catch{return e}}var ys=new E("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),ws=new E("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),gn=new E("SysvarRent111111111111111111111111111111111"),Ts=new E("SysvarC1ock11111111111111111111111111111111"),Ps=new E("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),xs=new E("Sysvar1nstructions1111111111111111111111111"),As=dn.programId,ks=new E("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),Ss=new E("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),Is=new E("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),Bs=new E("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),Ls=new E("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),Ns=new E("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),Cs=new E("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),Ms=new E("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),Ks=new E("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),Es=new E("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),Rs=new E("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),St=new E("So11111111111111111111111111111111111111112"),Ee=E.default;function Lt(e){return It({publicKey:e,transformSol:!0})}var Ct=class{constructor({mint:t,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(t===Ee.toBase58()||t instanceof Nt&&Ee.equals(t)){this.decimals=re.decimals,this.symbol=re.symbol,this.name=re.name,this.mint=new Nt(re.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||t.toString().substring(0,6),this.name=i||t.toString().substring(0,6),this.mint=o?Nt.default:It({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},me=Ct;me.WSOL=new Ct(Y(H({},re),{mint:re.address}));var Mt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=r}equals(t){return this===t}},Xe=Mt;Xe.SOL=new Mt(kt);import $e from"big.js";import Hr from"bn.js";import jr from"decimal.js-light";import Re from"bn.js";var bn=9007199254740991;function K(e){let t=O("Raydium_parseBigNumberish");if(e instanceof Re)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Re(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=bn||e<=-bn)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Re(String(e))):typeof e=="bigint"?new Re(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Re(0))}import qr from"toformat";var Ur=qr,ve=Ur;var Je=O("module/fraction"),Kt=ve($e),De=ve(jr),Qr={[0]:De.ROUND_DOWN,[1]:De.ROUND_HALF_UP,[2]:De.ROUND_UP},Zr={[0]:$e.roundDown,[1]:$e.roundHalfUp,[2]:$e.roundUp},B=class{constructor(t,n=new Hr(1)){this.numerator=K(t),this.denominator=K(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new B(this.denominator,this.numerator)}add(t){let n=t instanceof B?t:new B(K(t));return this.denominator.eq(n.denominator)?new B(this.numerator.add(n.numerator),this.denominator):new B(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof B?t:new B(K(t));return this.denominator.eq(n.denominator)?new B(this.numerator.sub(n.numerator),this.denominator):new B(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof B?t:new B(K(t));return new B(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof B?t:new B(K(t));return new B(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},r=1){Number.isInteger(t)||Je.logWithError(`${t} is not an integer.`),t<=0&&Je.logWithError(`${t} is not positive.`),De.set({precision:t+1,rounding:Qr[r]});let i=new De(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return i.toFormat(i.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},r=1){return Number.isInteger(t)||Je.logWithError(`${t} is not an integer.`),t<0&&Je.logWithError(`${t} is negative.`),Kt.DP=t,Kt.RM=Zr[r]||1,new Kt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};import zr from"bn.js";var hn=new B(new zr(100)),Se=class extends B{toSignificant(t=5,n,r){return this.mul(hn).toSignificant(t,n,r)}toFixed(t=2,n,r){return this.mul(hn).toFixed(t,n,r)}};var Yr=O("Raydium_price"),ie=class extends B{constructor(n){let{baseToken:r,quoteToken:i,numerator:o,denominator:s}=n;super(o,s);this.baseToken=r,this.quoteToken=i,this.scalar=new B(Et(r.decimals),Et(i.decimals))}get raw(){return new B(this.numerator,this.denominator)}get adjusted(){return super.mul(this.scalar)}invert(){return new ie({baseToken:this.quoteToken,quoteToken:this.baseToken,denominator:this.numerator,numerator:this.denominator})}mul(n){this.quoteToken!==n.baseToken&&Yr.logWithError("mul token not equals");let r=super.mul(n);return new ie({baseToken:this.baseToken,quoteToken:n.quoteToken,denominator:r.denominator,numerator:r.numerator})}toSignificant(n=this.quoteToken.decimals,r,i){return this.adjusted.toSignificant(n,r,i)}toFixed(n=this.quoteToken.decimals,r,i){return this.adjusted.toFixed(n,r,i)}};import{PublicKey as Xr}from"@solana/web3.js";import Jr from"bn.js";function yn(e){return typeof e=="object"&&e!==null&&![me,J,Xr,B,Jr,ie,Se].some(t=>typeof t=="object"&&e instanceof t)}function ge(e){return typeof e=="string"?Bt(e):Array.isArray(e)?e.map(t=>ge(t)):yn(e)?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,ge(n)])):e}var Rt=new oe(0),wn=new oe(1),Ea=new oe(2),Ra=new oe(3),va=new oe(5),vt=new oe(10),Da=new oe(100),_a=new oe(1e3),Oa=new oe(1e4);function Et(e){return vt.pow(K(e))}import{PublicKey as Ha}from"@solana/web3.js";import{MINT_SIZE as za,TOKEN_PROGRAM_ID as Ya,getTransferFeeConfig