@raydium-io/raydium-sdk-v2 0.1.73-alpha → 0.1.74-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api.d.ts +1 -1
- package/lib/api/index.d.ts +1 -1
- package/lib/api/type.d.ts +1 -1
- package/lib/common/accountInfo.d.ts +1 -1
- package/lib/common/bignumber.d.ts +1 -1
- package/lib/common/constant.d.ts +1 -1
- package/lib/common/fractionUtil.d.ts +1 -1
- package/lib/common/index.d.ts +1 -1
- package/lib/common/transfer.d.ts +1 -1
- package/lib/common/txTool/txTool.d.ts +1 -1
- package/lib/common/txTool/txUtils.d.ts +1 -1
- package/lib/common/utility.d.ts +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/module/amount.d.ts +1 -1
- package/lib/module/fraction.d.ts +1 -1
- package/lib/module/index.d.ts +1 -1
- package/lib/module/percent.d.ts +1 -1
- package/lib/module/price.d.ts +1 -1
- package/lib/raydium/account/account.d.ts +3 -3
- package/lib/raydium/account/index.d.ts +1 -1
- package/lib/raydium/account/instruction.d.ts +1 -1
- package/lib/raydium/account/types.d.ts +1 -1
- package/lib/raydium/account/util.d.ts +1 -1
- package/lib/raydium/clmm/clmm.d.ts +3 -3
- package/lib/raydium/clmm/index.d.ts +3 -3
- package/lib/raydium/clmm/instrument.d.ts +2 -2
- package/lib/raydium/clmm/layout.d.ts +1 -1
- package/lib/raydium/clmm/type.d.ts +2 -2
- package/lib/raydium/clmm/utils/math.d.ts +2 -2
- package/lib/raydium/clmm/utils/pool.d.ts +2 -2
- package/lib/raydium/clmm/utils/position.d.ts +2 -2
- package/lib/raydium/clmm/utils/tick.d.ts +2 -2
- package/lib/raydium/clmm/utils/tickQuery.d.ts +2 -2
- package/lib/raydium/clmm/utils/tickarrayBitmap.d.ts +2 -2
- package/lib/raydium/cpmm/cpmm.d.ts +3 -3
- package/lib/raydium/cpmm/curve/calculator.d.ts +1 -1
- package/lib/raydium/cpmm/curve/constantProduct.d.ts +1 -1
- package/lib/raydium/cpmm/index.d.ts +1 -1
- package/lib/raydium/cpmm/instruction.d.ts +1 -1
- package/lib/raydium/cpmm/layout.d.ts +1 -1
- package/lib/raydium/cpmm/type.d.ts +1 -1
- package/lib/raydium/farm/config.d.ts +1 -1
- package/lib/raydium/farm/farm.d.ts +3 -3
- package/lib/raydium/farm/index.d.ts +1 -1
- package/lib/raydium/farm/instruction.d.ts +1 -1
- package/lib/raydium/farm/layout.d.ts +1 -1
- package/lib/raydium/farm/type.d.ts +1 -1
- package/lib/raydium/farm/util.d.ts +1 -1
- package/lib/raydium/ido/ido.d.ts +3 -3
- package/lib/raydium/ido/index.d.ts +3 -3
- package/lib/raydium/ido/instruction.d.ts +1 -1
- package/lib/raydium/ido/type.d.ts +1 -1
- package/lib/raydium/index.d.ts +3 -3
- package/lib/raydium/index.js +1 -1
- package/lib/raydium/index.js.map +1 -1
- package/lib/raydium/index.mjs +1 -1
- package/lib/raydium/index.mjs.map +1 -1
- package/lib/raydium/liquidity/index.d.ts +1 -1
- package/lib/raydium/liquidity/instruction.d.ts +1 -1
- package/lib/raydium/liquidity/layout.d.ts +6 -6
- package/lib/raydium/liquidity/liquidity.d.ts +3 -3
- package/lib/raydium/liquidity/type.d.ts +1 -1
- package/lib/raydium/liquidity/utils.d.ts +1 -1
- package/lib/raydium/marketV2/createMarket.d.ts +3 -3
- package/lib/raydium/marketV2/createMarket.js +1 -1
- package/lib/raydium/marketV2/createMarket.js.map +1 -1
- package/lib/raydium/marketV2/createMarket.mjs +1 -1
- package/lib/raydium/marketV2/createMarket.mjs.map +1 -1
- package/lib/raydium/marketV2/index.d.ts +3 -3
- package/lib/raydium/marketV2/index.js +1 -1
- package/lib/raydium/marketV2/index.js.map +1 -1
- package/lib/raydium/marketV2/index.mjs +1 -1
- package/lib/raydium/marketV2/index.mjs.map +1 -1
- package/lib/raydium/marketV2/instrument.d.ts +1 -0
- package/lib/raydium/marketV2/instrument.js +1 -1
- package/lib/raydium/marketV2/instrument.js.map +1 -1
- package/lib/raydium/marketV2/instrument.mjs +1 -1
- package/lib/raydium/marketV2/instrument.mjs.map +1 -1
- package/lib/raydium/moduleBase.d.ts +3 -3
- package/lib/raydium/raydium.d.ts +3 -3
- package/lib/raydium/raydium.js +1 -1
- package/lib/raydium/raydium.js.map +1 -1
- package/lib/raydium/raydium.mjs +1 -1
- package/lib/raydium/raydium.mjs.map +1 -1
- package/lib/raydium/token/constant.d.ts +1 -1
- package/lib/raydium/token/index.d.ts +1 -1
- package/lib/raydium/token/token.d.ts +3 -3
- package/lib/raydium/token/type.d.ts +1 -1
- package/lib/raydium/token/utils.d.ts +1 -1
- package/lib/raydium/tradeV2/index.d.ts +2 -2
- package/lib/raydium/tradeV2/instrument.d.ts +2 -2
- package/lib/raydium/tradeV2/trade.d.ts +3 -3
- package/lib/raydium/tradeV2/type.d.ts +2 -2
- package/lib/raydium/type.d.ts +1 -1
- package/lib/raydium/utils1216/index.d.ts +3 -3
- package/lib/raydium/utils1216/utils1216.d.ts +3 -3
- package/lib/{raydium-94d49791.d.ts → raydium-87764c35.d.ts} +5 -4
- package/lib/{type-11af28b1.d.ts → type-91ebce1b.d.ts} +1 -1
- package/package.json +1 -1
- package/src/raydium/marketV2/createMarket.ts +4 -0
- package/src/raydium/marketV2/instrument.ts +14 -4
- package/lib/{api-f6d3edc7.d.ts → api-fd862469.d.ts} +5 -5
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var _n=Object.defineProperty,Kn=Object.defineProperties;var vn=Object.getOwnPropertyDescriptors;var Ie=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var Ot=(t,e,n)=>e in t?_n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,U=(t,e)=>{for(var n in e||(e={}))Ft.call(e,n)&&Ot(t,n,e[n]);if(Ie)for(var n of Ie(e))Vt.call(e,n)&&Ot(t,n,e[n]);return t},ie=(t,e)=>Kn(t,vn(e));var Oe=(t,e)=>{var n={};for(var r in t)Ft.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Ie)for(var r of Ie(t))e.indexOf(r)<0&&Vt.call(t,r)&&(n[r]=t[r]);return n};import{PublicKey as Ke}from"@solana/web3.js";import ve from"bn.js";import{TOKEN_PROGRAM_ID as Dn}from"@solana/spl-token";import re from"bn.js";var he=9e15,ae=1e9,at="0123456789abcdef",Ve="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",qe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ct={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-he,maxE:he,crypto:!1},Gt,te,B=!0,Ue="[DecimalError] ",ue=Ue+"Invalid argument: ",Ht=Ue+"Precision limit exceeded",zt=Ue+"crypto unavailable",Qt="[object Decimal]",H=Math.floor,V=Math.pow,In=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,On=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Fn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,jt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,X=1e7,A=7,Vn=9007199254740991,qn=Ve.length-1,lt=qe.length-1,m={toStringTag:Qt};m.absoluteValue=m.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),P(t)};m.ceil=function(){return P(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(ue+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};m.comparedTo=m.cmp=function(t){var e,n,r,i,o=this,s=o.d,u=(t=new o.constructor(t)).d,a=o.s,c=t.s;if(!s||!u)return!a||!c?NaN:a!==c?a:s===u?0:!s^a<0?1:-1;if(!s[0]||!u[0])return s[0]?a:u[0]?-c:0;if(a!==c)return a;if(o.e!==t.e)return o.e>t.e^a<0?1:-1;for(r=s.length,i=u.length,e=0,n=r<i?r:i;e<n;++e)if(s[e]!==u[e])return s[e]>u[e]^a<0?1:-1;return r===i?0:r>i^a<0?1:-1};m.cosine=m.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+A,r.rounding=1,n=Wn(r,$t(r,n)),r.precision=t,r.rounding=e,P(te==2||te==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};m.cubeRoot=m.cbrt=function(){var t,e,n,r,i,o,s,u,a,c,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(B=!1,o=f.s*V(f.s*f,1/3),!o||Math.abs(o)==1/0?(n=G(f.d),t=f.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=V(n,1/3),t=H((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new l(n),r.s=f.s):r=new l(o.toString()),s=(t=l.precision)+3;;)if(u=r,a=u.times(u).times(u),c=a.plus(f),r=E(c.plus(f).times(u),c.plus(a),s+2,1),G(u.d).slice(0,s)===(n=G(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(P(u,t+1,0),u.times(u).times(u).eq(f))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(P(r,t+1,1),e=!r.times(r).times(r).eq(f));break}return B=!0,P(r,t,l.rounding,e)};m.decimalPlaces=m.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-H(this.e/A))*A,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};m.dividedBy=m.div=function(t){return E(this,new this.constructor(t))};m.dividedToIntegerBy=m.divToInt=function(t){var e=this,n=e.constructor;return P(E(e,new n(t),0,1,1),n.precision,n.rounding)};m.equals=m.eq=function(t){return this.cmp(t)===0};m.floor=function(){return P(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(t){return this.cmp(t)>0};m.greaterThanOrEqualTo=m.gte=function(t){var e=this.cmp(t);return e==1||e===0};m.hyperbolicCosine=m.cosh=function(){var t,e,n,r,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(t=Math.ceil(i/3),e=(1/He(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=be(s,1,o.times(e),new s(1),!0);for(var a,c=t,f=new s(8);c--;)a=o.times(o),o=u.minus(a.times(f.minus(a.times(f))));return P(o,s.precision=n,s.rounding=r,!0)};m.hyperbolicSine=m.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=be(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/He(5,t)),i=be(o,2,i,i,!0);for(var s,u=new o(5),a=new o(16),c=new o(20);t--;)s=i.times(i),i=i.times(u.plus(s.times(a.times(s).plus(c))))}return o.precision=e,o.rounding=n,P(i,e,n,!0)};m.hyperbolicTangent=m.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,E(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};m.inverseCosine=m.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?e.isNeg()?Z(n,i,o):new n(0):new n(NaN):e.isZero()?Z(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=Z(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))};m.inverseHyperbolicCosine=m.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,B=!1,n=n.times(n).minus(1).sqrt().plus(n),B=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};m.inverseHyperbolicSine=m.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,B=!1,n=n.times(n).plus(1).sqrt().plus(n),B=!0,r.precision=t,r.rounding=e,n.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?P(new o(i),t,e,!0):(o.precision=n=r-i.e,i=E(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=Z(o,n+4,r).times(.5),t.s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};m.inverseTangent=m.atan=function(){var t,e,n,r,i,o,s,u,a,c=this,f=c.constructor,l=f.precision,p=f.rounding;if(c.isFinite()){if(c.isZero())return new f(c);if(c.abs().eq(1)&&l+4<=lt)return s=Z(f,l+4,p).times(.25),s.s=c.s,s}else{if(!c.s)return new f(NaN);if(l+4<=lt)return s=Z(f,l+4,p).times(.5),s.s=c.s,s}for(f.precision=u=l+10,f.rounding=1,n=Math.min(28,u/A+2|0),t=n;t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(B=!1,e=Math.ceil(u/A),r=1,a=c.times(c),s=new f(c),i=c;t!==-1;)if(i=i.times(a),o=s.minus(i.div(r+=2)),i=i.times(a),s=o.plus(i.div(r+=2)),s.d[e]!==void 0)for(t=e;s.d[t]===o.d[t]&&t--;);return n&&(s=s.times(2<<n-1)),B=!0,P(s,f.precision=l,f.rounding=p,!0)};m.isFinite=function(){return!!this.d};m.isInteger=m.isInt=function(){return!!this.d&&H(this.e/A)>this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(t){return this.cmp(t)<0};m.lessThanOrEqualTo=m.lte=function(t){return this.cmp(t)<1};m.logarithm=m.log=function(t){var e,n,r,i,o,s,u,a,c=this,f=c.constructor,l=f.precision,p=f.rounding,d=5;if(t==null)t=new f(10),e=!0;else{if(t=new f(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new f(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new f(n&&!n[0]?-1/0:c.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(B=!1,u=l+d,s=se(c,u),r=e?We(f,u+10):se(t,u),a=E(s,r,u,1),Ae(a.d,i=l,p))do if(u+=10,s=se(c,u),r=e?We(f,u+10):se(t,u),a=E(s,r,u,1),!o){+G(a.d).slice(i+1,i+15)+1==1e14&&(a=P(a,l+1,0));break}while(Ae(a.d,i+=10,p));return B=!0,P(a,l,p)};m.minus=m.sub=function(t){var e,n,r,i,o,s,u,a,c,f,l,p,d=this,w=d.constructor;if(t=new w(t),!d.d||!t.d)return!d.s||!t.s?t=new w(NaN):d.d?t.s=-t.s:t=new w(t.d||d.s!==t.s?d:NaN),t;if(d.s!=t.s)return t.s=-t.s,d.plus(t);if(c=d.d,p=t.d,u=w.precision,a=w.rounding,!c[0]||!p[0]){if(p[0])t.s=-t.s;else if(c[0])t=new w(d);else return new w(a===3?-0:0);return B?P(t,u,a):t}if(n=H(t.e/A),f=H(d.e/A),c=c.slice(),o=f-n,o){for(l=o<0,l?(e=c,o=-o,s=p.length):(e=p,n=f,s=c.length),r=Math.max(Math.ceil(u/A),s)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=c.length,s=p.length,l=r<s,l&&(s=r),r=0;r<s;r++)if(c[r]!=p[r]){l=c[r]<p[r];break}o=0}for(l&&(e=c,c=p,p=e,t.s=-t.s),s=c.length,r=p.length-s;r>0;--r)c[s++]=0;for(r=p.length;r>o;){if(c[--r]<p[r]){for(i=r;i&&c[--i]===0;)c[i]=X-1;--c[i],c[r]+=X}c[r]-=p[r]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--n;return c[0]?(t.d=c,t.e=Ge(c,n),B?P(t,u,a):t):new w(a===3?-0:0)};m.modulo=m.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?P(new r(n),r.precision,r.rounding):(B=!1,r.modulo==9?(e=E(n,t.abs(),0,3,1),e.s*=t.s):e=E(n,t,0,r.modulo,1),e=e.times(t),B=!0,n.minus(e))};m.naturalExponential=m.exp=function(){return ft(this)};m.naturalLogarithm=m.ln=function(){return se(this)};m.negated=m.neg=function(){var t=new this.constructor(this);return t.s=-t.s,P(t)};m.plus=m.add=function(t){var e,n,r,i,o,s,u,a,c,f,l=this,p=l.constructor;if(t=new p(t),!l.d||!t.d)return!l.s||!t.s?t=new p(NaN):l.d||(t=new p(t.d||l.s===t.s?l:NaN)),t;if(l.s!=t.s)return t.s=-t.s,l.minus(t);if(c=l.d,f=t.d,u=p.precision,a=p.rounding,!c[0]||!f[0])return f[0]||(t=new p(l)),B?P(t,u,a):t;if(o=H(l.e/A),r=H(t.e/A),c=c.slice(),i=o-r,i){for(i<0?(n=c,i=-i,s=f.length):(n=f,r=o,s=c.length),o=Math.ceil(u/A),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=c.length,i=f.length,s-i<0&&(i=s,n=f,f=c,c=n),e=0;i;)e=(c[--i]=c[i]+f[i]+e)/X|0,c[i]%=X;for(e&&(c.unshift(e),++r),s=c.length;c[--s]==0;)c.pop();return t.d=c,t.e=Ge(c,r),B?P(t,u,a):t};m.precision=m.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(ue+t);return n.d?(e=Yt(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};m.round=function(){var t=this,e=t.constructor;return P(new e(t),t.e+1,e.rounding)};m.sine=m.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+A,r.rounding=1,n=Gn(r,$t(r,n)),r.precision=t,r.rounding=e,P(te>2?n.neg():n,t,e,!0)):new r(NaN)};m.squareRoot=m.sqrt=function(){var t,e,n,r,i,o,s=this,u=s.d,a=s.e,c=s.s,f=s.constructor;if(c!==1||!u||!u[0])return new f(!c||c<0&&(!u||u[0])?NaN:u?s:1/0);for(B=!1,c=Math.sqrt(+s),c==0||c==1/0?(e=G(u),(e.length+a)%2==0&&(e+="0"),c=Math.sqrt(e),a=H((a+1)/2)-(a<0||a%2),c==1/0?e="5e"+a:(e=c.toExponential(),e=e.slice(0,e.indexOf("e")+1)+a),r=new f(e)):r=new f(c.toString()),n=(a=f.precision)+3;;)if(o=r,r=o.plus(E(s,o,n+2,1)).times(.5),G(o.d).slice(0,n)===(e=G(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(P(o,a+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(P(r,a+1,1),t=!r.times(r).eq(s));break}return B=!0,P(r,a,f.rounding,t)};m.tangent=m.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=E(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,P(te==2||te==4?n.neg():n,t,e,!0)):new r(NaN)};m.times=m.mul=function(t){var e,n,r,i,o,s,u,a,c,f=this,l=f.constructor,p=f.d,d=(t=new l(t)).d;if(t.s*=f.s,!p||!p[0]||!d||!d[0])return new l(!t.s||p&&!p[0]&&!d||d&&!d[0]&&!p?NaN:!p||!d?t.s/0:t.s*0);for(n=H(f.e/A)+H(t.e/A),a=p.length,c=d.length,a<c&&(o=p,p=d,d=o,s=a,a=c,c=s),o=[],s=a+c,r=s;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=a+r;i>r;)u=o[i]+d[r]*p[i-r-1]+e,o[i--]=u%X|0,e=u/X|0;o[i]=(o[i]+e)%X|0}for(;!o[--s];)o.pop();return e?++n:o.shift(),t.d=o,t.e=Ge(o,n),B?P(t,l.precision,l.rounding):t};m.toBinary=function(t,e){return dt(this,2,t,e)};m.toDecimalPlaces=m.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(j(t,0,ae),e===void 0?e=r.rounding:j(e,0,8),P(n,t+n.e+1,e))};m.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=$(r,!0):(j(t,0,ae),e===void 0?e=i.rounding:j(e,0,8),r=P(new i(r),t+1,e),n=$(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};m.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=$(i):(j(t,0,ae),e===void 0?e=o.rounding:j(e,0,8),r=P(new o(i),t+i.e+1,e),n=$(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};m.toFraction=function(t){var e,n,r,i,o,s,u,a,c,f,l,p,d=this,w=d.d,g=d.constructor;if(!w)return new g(d);if(c=n=new g(1),r=a=new g(0),e=new g(r),o=e.e=Yt(w)-d.e-1,s=o%A,e.d[0]=V(10,s<0?A+s:s),t==null)t=o>0?e:c;else{if(u=new g(t),!u.isInt()||u.lt(c))throw Error(ue+u);t=u.gt(e)?o>0?e:c:u}for(B=!1,u=new g(G(w)),f=g.precision,g.precision=o=w.length*A*2;l=E(u,e,0,1,1),i=n.plus(l.times(r)),i.cmp(t)!=1;)n=r,r=i,i=c,c=a.plus(l.times(i)),a=i,i=e,e=u.minus(l.times(i)),u=i;return i=E(t.minus(n),r,0,1,1),a=a.plus(i.times(c)),n=n.plus(i.times(r)),a.s=c.s=d.s,p=E(c,r,o,1).minus(d).abs().cmp(E(a,n,o,1).minus(d).abs())<1?[c,r]:[a,n],g.precision=f,B=!0,p};m.toHexadecimal=m.toHex=function(t,e){return dt(this,16,t,e)};m.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:j(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(B=!1,n=E(n,t,0,e,1).times(t),B=!0,P(n)):(t.s=n.s,n=t),n};m.toNumber=function(){return+this};m.toOctal=function(t,e){return dt(this,8,t,e)};m.toPower=m.pow=function(t){var e,n,r,i,o,s,u=this,a=u.constructor,c=+(t=new a(t));if(!u.d||!t.d||!u.d[0]||!t.d[0])return new a(V(+u,c));if(u=new a(u),u.eq(1))return u;if(r=a.precision,o=a.rounding,t.eq(1))return P(u,r,o);if(e=H(t.e/A),e>=t.d.length-1&&(n=c<0?-c:c)<=Vn)return i=Zt(a,u,n,r),t.s<0?new a(1).div(i):P(i,r,o);if(s=u.s,s<0){if(e<t.d.length-1)return new a(NaN);if((t.d[e]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return n=V(+u,c),e=n==0||!isFinite(n)?H(c*(Math.log("0."+G(u.d))/Math.LN10+u.e+1)):new a(n+"").e,e>a.maxE+1||e<a.minE-1?new a(e>0?s/0:0):(B=!1,a.rounding=u.s=1,n=Math.min(12,(e+"").length),i=ft(t.times(se(u,r+n)),r),i.d&&(i=P(i,r+5,1),Ae(i.d,r,o)&&(e=r+10,i=P(ft(t.times(se(u,e+n)),e),e+5,1),+G(i.d).slice(r+1,r+15)+1==1e14&&(i=P(i,r+1,0)))),i.s=s,B=!0,a.rounding=o,P(i,r,o))};m.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=$(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(j(t,1,ae),e===void 0?e=i.rounding:j(e,0,8),r=P(new i(r),t,e),n=$(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};m.toSignificantDigits=m.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(j(t,1,ae),e===void 0?e=r.rounding:j(e,0,8)),P(new r(n),t,e)};m.toString=function(){var t=this,e=t.constructor,n=$(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};m.truncated=m.trunc=function(){return P(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var t=this,e=t.constructor,n=$(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function G(t){var e,n,r,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)r=t[e]+"",n=A-r.length,n&&(o+=oe(n)),o+=r;s=t[e],r=s+"",n=A-r.length,n&&(o+=oe(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function j(t,e,n){if(t!==~~t||t<e||t>n)throw Error(ue+t)}function Ae(t,e,n,r){var i,o,s,u;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=A,i=0):(i=Math.ceil((e+1)/A),e%=A),o=V(10,A-e),u=t[i]%o|0,r==null?e<3?(e==0?u=u/100|0:e==1&&(u=u/10|0),s=n<4&&u==99999||n>3&&u==49999||u==5e4||u==0):s=(n<4&&u+1==o||n>3&&u+1==o/2)&&(t[i+1]/o/100|0)==V(10,e-2)-1||(u==o/2||u==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?u=u/1e3|0:e==1?u=u/100|0:e==2&&(u=u/10|0),s=(r||n<4)&&u==9999||!r&&n>3&&u==4999):s=((r||n<4)&&u+1==o||!r&&n>3&&u+1==o/2)&&(t[i+1]/o/1e3|0)==V(10,e-3)-1,s}function Fe(t,e,n){for(var r,i=[0],o,s=0,u=t.length;s<u;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=at.indexOf(t.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function Wn(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/He(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=be(t,1,e.times(i),new t(1));for(var o=n;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=n,e}var E=function(){function t(r,i,o){var s,u=0,a=r.length;for(r=r.slice();a--;)s=r[a]*i+u,r[a]=s%o|0,u=s/o|0;return u&&r.unshift(u),r}function e(r,i,o,s){var u,a;if(o!=s)a=o>s?1:-1;else for(u=a=0;u<o;u++)if(r[u]!=i[u]){a=r[u]>i[u]?1:-1;break}return a}function n(r,i,o,s){for(var u=0;o--;)r[o]-=u,u=r[o]<i[o]?1:0,r[o]=u*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,u,a){var c,f,l,p,d,w,g,T,x,y,h,b,N,S,O,M,D,v,I,q,ee=r.constructor,ge=r.s==i.s?1:-1,W=r.d,R=i.d;if(!W||!W[0]||!R||!R[0])return new ee(!r.s||!i.s||(W?R&&W[0]==R[0]:!R)?NaN:W&&W[0]==0||!R?ge*0:ge/0);for(a?(d=1,f=r.e-i.e):(a=X,d=A,f=H(r.e/d)-H(i.e/d)),I=R.length,D=W.length,x=new ee(ge),y=x.d=[],l=0;R[l]==(W[l]||0);l++);if(R[l]>(W[l]||0)&&f--,o==null?(S=o=ee.precision,s=ee.rounding):u?S=o+(r.e-i.e)+1:S=o,S<0)y.push(1),w=!0;else{if(S=S/d+2|0,l=0,I==1){for(p=0,R=R[0],S++;(l<D||p)&&S--;l++)O=p*a+(W[l]||0),y[l]=O/R|0,p=O%R|0;w=p||l<D}else{for(p=a/(R[0]+1)|0,p>1&&(R=t(R,p,a),W=t(W,p,a),I=R.length,D=W.length),M=I,h=W.slice(0,I),b=h.length;b<I;)h[b++]=0;q=R.slice(),q.unshift(0),v=R[0],R[1]>=a/2&&++v;do p=0,c=e(R,h,I,b),c<0?(N=h[0],I!=b&&(N=N*a+(h[1]||0)),p=N/v|0,p>1?(p>=a&&(p=a-1),g=t(R,p,a),T=g.length,b=h.length,c=e(g,h,T,b),c==1&&(p--,n(g,I<T?q:R,T,a))):(p==0&&(c=p=1),g=R.slice()),T=g.length,T<b&&g.unshift(0),n(h,g,b,a),c==-1&&(b=h.length,c=e(R,h,I,b),c<1&&(p++,n(h,I<b?q:R,b,a))),b=h.length):c===0&&(p++,h=[0]),y[l++]=p,c&&h[0]?h[b++]=W[M]||0:(h=[W[M]],b=1);while((M++<D||h[0]!==void 0)&&S--);w=h[0]!==void 0}y[0]||y.shift()}if(d==1)x.e=f,Gt=w;else{for(l=1,p=y[0];p>=10;p/=10)l++;x.e=l+f*d-1,P(x,u?o+x.e+1:o,s,w)}return x}}();function P(t,e,n,r){var i,o,s,u,a,c,f,l,p,d=t.constructor;e:if(e!=null){if(l=t.d,!l)return t;for(i=1,u=l[0];u>=10;u/=10)i++;if(o=e-i,o<0)o+=A,s=e,f=l[p=0],a=f/V(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/A),u=l.length,p>=u)if(r){for(;u++<=p;)l.push(0);f=a=0,i=1,o%=A,s=o-A+1}else break e;else{for(f=u=l[p],i=1;u>=10;u/=10)i++;o%=A,s=o-A+i,a=s<0?0:f/V(10,i-s-1)%10|0}if(r=r||e<0||l[p+1]!==void 0||(s<0?f:f%V(10,i-s-1)),c=n<4?(a||r)&&(n==0||n==(t.s<0?3:2)):a>5||a==5&&(n==4||r||n==6&&(o>0?s>0?f/V(10,i-s):0:l[p-1])%10&1||n==(t.s<0?8:7)),e<1||!l[0])return l.length=0,c?(e-=t.e+1,l[0]=V(10,(A-e%A)%A),t.e=-e||0):l[0]=t.e=0,t;if(o==0?(l.length=p,u=1,p--):(l.length=p+1,u=V(10,A-o),l[p]=s>0?(f/V(10,i-s)%V(10,s)|0)*u:0),c)for(;;)if(p==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(t.e++,l[0]==X&&(l[0]=1));break}else{if(l[p]+=u,l[p]!=X)break;l[p--]=0,u=1}for(o=l.length;l[--o]===0;)l.pop()}return B&&(t.e>d.maxE?(t.d=null,t.e=NaN):t.e<d.minE&&(t.e=0,t.d=[0])),t}function $(t,e,n){if(!t.isFinite())return Jt(t);var r,i=t.e,o=G(t.d),s=o.length;return e?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+oe(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+oe(-i-1)+o,n&&(r=n-s)>0&&(o+=oe(r))):i>=s?(o+=oe(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+oe(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=oe(r))),o}function Ge(t,e){var n=t[0];for(e*=A;n>=10;n/=10)e++;return e}function We(t,e,n){if(e>qn)throw B=!0,n&&(t.precision=n),Error(Ht);return P(new t(Ve),e,1,!0)}function Z(t,e,n){if(e>lt)throw Error(Ht);return P(new t(qe),e,n,!0)}function Yt(t){var e=t.length-1,n=e*A+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function oe(t){for(var e="";t--;)e+="0";return e}function Zt(t,e,n,r){var i,o=new t(1),s=Math.ceil(r/A+4);for(B=!1;;){if(n%2&&(o=o.times(e),Wt(o.d,s)&&(i=!0)),n=H(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),Wt(e.d,s)}return B=!0,o}function qt(t){return t.d[t.d.length-1]&1}function Xt(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;)if(r=new t(e[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function ft(t,e){var n,r,i,o,s,u,a,c=0,f=0,l=0,p=t.constructor,d=p.rounding,w=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:0/0);for(e==null?(B=!1,a=w):a=e,u=new p(.03125);t.e>-2;)t=t.times(u),l+=5;for(r=Math.log(V(2,l))/Math.LN10*2+5|0,a+=r,n=o=s=new p(1),p.precision=a;;){if(o=P(o.times(t),a,1),n=n.times(++f),u=s.plus(E(o,n,a,1)),G(u.d).slice(0,a)===G(s.d).slice(0,a)){for(i=l;i--;)s=P(s.times(s),a,1);if(e==null)if(c<3&&Ae(s.d,a-r,d,c))p.precision=a+=10,n=o=u=new p(1),f=0,c++;else return P(s,p.precision=w,d,B=!0);else return p.precision=w,s}s=u}}function se(t,e){var n,r,i,o,s,u,a,c,f,l,p,d=1,w=10,g=t,T=g.d,x=g.constructor,y=x.rounding,h=x.precision;if(g.s<0||!T||!T[0]||!g.e&&T[0]==1&&T.length==1)return new x(T&&!T[0]?-1/0:g.s!=1?NaN:T?0:g);if(e==null?(B=!1,f=h):f=e,x.precision=f+=w,n=G(T),r=n.charAt(0),Math.abs(o=g.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(t),n=G(g.d),r=n.charAt(0),d++;o=g.e,r>1?(g=new x("0."+n),o++):g=new x(r+"."+n.slice(1))}else return c=We(x,f+2,h).times(o+""),g=se(new x(r+"."+n.slice(1)),f-w).plus(c),x.precision=h,e==null?P(g,h,y,B=!0):g;for(l=g,a=s=g=E(g.minus(1),g.plus(1),f,1),p=P(g.times(g),f,1),i=3;;){if(s=P(s.times(p),f,1),c=a.plus(E(s,new x(i),f,1)),G(c.d).slice(0,f)===G(a.d).slice(0,f))if(a=a.times(2),o!==0&&(a=a.plus(We(x,f+2,h).times(o+""))),a=E(a,new x(d),f,1),e==null)if(Ae(a.d,f-w,y,u))x.precision=f+=w,c=s=g=E(l.minus(1),l.plus(1),f,1),p=P(g.times(g),f,1),i=u=1;else return P(a,x.precision=h,y,B=!0);else return x.precision=h,a;a=c,i+=2}}function Jt(t){return String(t.s*t.s/0)}function pt(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%A,n<0&&(r+=A),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=A;r<i;)t.d.push(+e.slice(r,r+=A));e=e.slice(r),r=A-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),B&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function Un(t,e){var n,r,i,o,s,u,a,c,f;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),jt.test(e))return pt(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(On.test(e))n=16,e=e.toLowerCase();else if(In.test(e))n=2;else if(Fn.test(e))n=8;else throw Error(ue+e);for(o=e.search(/p/i),o>0?(a=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=t.constructor,s&&(e=e.replace(".",""),u=e.length,o=u-o,i=Zt(r,new r(n),o,o*2)),c=Fe(e,n,X),f=c.length-1,o=f;c[o]===0;--o)c.pop();return o<0?new r(t.s*0):(t.e=Ge(c,f),t.d=c,B=!1,s&&(t=E(t,i,u*4)),a&&(t=t.times(Math.abs(a)<54?V(2,a):ze.pow(2,a))),B=!0,t)}function Gn(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:be(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/He(5,n)),e=be(t,2,e,e);for(var i,o=new t(5),s=new t(16),u=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(u))));return e}function be(t,e,n,r,i){var o,s,u,a,c=1,f=t.precision,l=Math.ceil(f/A);for(B=!1,a=n.times(n),u=new t(r);;){if(s=E(u.times(a),new t(e++*e++),f,1),u=i?r.plus(s):r.minus(s),r=E(s.times(a),new t(e++*e++),f,1),s=u.plus(r),s.d[l]!==void 0){for(o=l;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,c++}return B=!0,s.d.length=l+1,s}function He(t,e){for(var n=t;--e;)n*=t;return n}function $t(t,e){var n,r=e.s<0,i=Z(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return te=r?4:1,e;if(n=e.divToInt(i),n.isZero())te=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return te=qt(n)?r?2:3:r?4:1,e;te=qt(n)?r?1:4:r?3:2}return e.minus(i).abs()}function dt(t,e,n,r){var i,o,s,u,a,c,f,l,p,d=t.constructor,w=n!==void 0;if(w?(j(n,1,ae),r===void 0?r=d.rounding:j(r,0,8)):(n=d.precision,r=d.rounding),!t.isFinite())f=Jt(t);else{for(f=$(t),s=f.indexOf("."),w?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,s>=0&&(f=f.replace(".",""),p=new d(1),p.e=f.length-s,p.d=Fe($(p),10,i),p.e=p.d.length),l=Fe(f,10,i),o=a=l.length;l[--a]==0;)l.pop();if(!l[0])f=w?"0p+0":"0";else{if(s<0?o--:(t=new d(t),t.d=l,t.e=o,t=E(t,p,n,r,0,i),l=t.d,o=t.e,c=Gt),s=l[n],u=i/2,c=c||l[n+1]!==void 0,c=r<4?(s!==void 0||c)&&(r===0||r===(t.s<0?3:2)):s>u||s===u&&(r===4||c||r===6&&l[n-1]&1||r===(t.s<0?8:7)),l.length=n,c)for(;++l[--n]>i-1;)l[n]=0,n||(++o,l.unshift(1));for(a=l.length;!l[a-1];--a);for(s=0,f="";s<a;s++)f+=at.charAt(l[s]);if(w){if(a>1)if(e==16||e==8){for(s=e==16?4:3,--a;a%s;a++)f+="0";for(l=Fe(f,i,e),a=l.length;!l[a-1];--a);for(s=1,f="1.";s<a;s++)f+=at.charAt(l[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>a)for(o-=a;o--;)f+="0";else o<a&&(f=f.slice(0,o)+"."+f.slice(o))}f=(e==16?"0x":e==2?"0b":e==8?"0o":"")+f}return t.s<0?"-"+f:f}function Wt(t,e){if(t.length>e)return t.length=e,!0}function Hn(t){return new this(t).abs()}function zn(t){return new this(t).acos()}function Qn(t){return new this(t).acosh()}function jn(t,e){return new this(t).plus(e)}function Yn(t){return new this(t).asin()}function Zn(t){return new this(t).asinh()}function Xn(t){return new this(t).atan()}function Jn(t){return new this(t).atanh()}function $n(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=Z(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?Z(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=Z(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(E(t,e,o,1)),e=Z(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(E(t,e,o,1)),n}function er(t){return new this(t).cbrt()}function tr(t){return P(t=new this(t),t.e+1,2)}function nr(t,e,n){return new this(t).clamp(e,n)}function rr(t){if(!t||typeof t!="object")throw Error(Ue+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,ae,"rounding",0,8,"toExpNeg",-he,0,"toExpPos",0,he,"maxE",0,he,"minE",-he,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=ct[n]),(r=t[n])!==void 0)if(H(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(ue+n+": "+r);if(n="crypto",i&&(this[n]=ct[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(zt);else this[n]=!1;else throw Error(ue+n+": "+r);return this}function ir(t){return new this(t).cos()}function or(t){return new this(t).cosh()}function en(t){var e,n,r;function i(o){var s,u,a,c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,Ut(o)){c.s=o.s,B?!o.d||o.e>i.maxE?(c.e=NaN,c.d=null):o.e<i.minE?(c.e=0,c.d=[0]):(c.e=o.e,c.d=o.d.slice()):(c.e=o.e,c.d=o.d?o.d.slice():o.d);return}if(a=typeof o,a==="number"){if(o===0){c.s=1/o<0?-1:1,c.e=0,c.d=[0];return}if(o<0?(o=-o,c.s=-1):c.s=1,o===~~o&&o<1e7){for(s=0,u=o;u>=10;u/=10)s++;B?s>i.maxE?(c.e=NaN,c.d=null):s<i.minE?(c.e=0,c.d=[0]):(c.e=s,c.d=[o]):(c.e=s,c.d=[o]);return}else if(o*0!==0){o||(c.s=NaN),c.e=NaN,c.d=null;return}return pt(c,o.toString())}else if(a!=="string")throw Error(ue+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(u===43&&(o=o.slice(1)),c.s=1),jt.test(o)?pt(c,o):Un(c,o)}if(i.prototype=m,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=rr,i.clone=en,i.isDecimal=Ut,i.abs=Hn,i.acos=zn,i.acosh=Qn,i.add=jn,i.asin=Yn,i.asinh=Zn,i.atan=Xn,i.atanh=Jn,i.atan2=$n,i.cbrt=er,i.ceil=tr,i.clamp=nr,i.cos=ir,i.cosh=or,i.div=sr,i.exp=ur,i.floor=ar,i.hypot=cr,i.ln=lr,i.log=fr,i.log10=dr,i.log2=pr,i.max=mr,i.min=gr,i.mod=hr,i.mul=br,i.pow=yr,i.random=wr,i.round=xr,i.sign=Tr,i.sin=Pr,i.sinh=Ar,i.sqrt=Sr,i.sub=Br,i.sum=Lr,i.tan=kr,i.tanh=Cr,i.trunc=Nr,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function sr(t,e){return new this(t).div(e)}function ur(t){return new this(t).exp()}function ar(t){return P(t=new this(t),t.e+1,3)}function cr(){var t,e,n=new this(0);for(B=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return B=!0,new this(1/0);n=e}return B=!0,n.sqrt()}function Ut(t){return t instanceof ze||t&&t.toStringTag===Qt||!1}function lr(t){return new this(t).ln()}function fr(t,e){return new this(t).log(e)}function pr(t){return new this(t).log(2)}function dr(t){return new this(t).log(10)}function mr(){return Xt(this,arguments,"lt")}function gr(){return Xt(this,arguments,"gt")}function hr(t,e){return new this(t).mod(e)}function br(t,e){return new this(t).mul(e)}function yr(t,e){return new this(t).pow(e)}function wr(t){var e,n,r,i,o=0,s=new this(1),u=[];if(t===void 0?t=this.precision:j(t,1,ae),r=Math.ceil(t/A),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(zt);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],t%=A,r&&t&&(i=V(10,A-t),u[o]=(r/i|0)*i);u[o]===0;o--)u.pop();if(o<0)n=0,u=[0];else{for(n=-1;u[0]===0;n-=A)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<A&&(n-=A-r)}return s.e=n,s.d=u,s}function xr(t){return P(t=new this(t),t.e+1,this.rounding)}function Tr(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function Pr(t){return new this(t).sin()}function Ar(t){return new this(t).sinh()}function Sr(t){return new this(t).sqrt()}function Br(t,e){return new this(t).sub(e)}function Lr(){var t=0,e=arguments,n=new this(e[t]);for(B=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return B=!0,P(n,this.precision,this.rounding)}function kr(t){return new this(t).tan()}function Cr(t){return new this(t).tanh()}function Nr(t){return P(t=new this(t),t.e+1,1)}m[Symbol.for("nodejs.util.inspect.custom")]=m.toString;m[Symbol.toStringTag]="Decimal";var ze=m.constructor=en(ct);Ve=new ze(Ve);qe=new ze(qe);import ni from"big.js";import Hu from"bn.js";import{get as tn,set as Mr}from"lodash";var mt=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let n=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},nn={},Er={};function z(t){let e=tn(nn,t);if(!e){let n=tn(Er,t);e=new mt({name:t,logLevel:n}),Mr(nn,t,e)}return e}import{PublicKey as Rr}from"@solana/web3.js";import{MINT_SIZE as vi,TOKEN_PROGRAM_ID as Ii,getTransferFeeConfig as Oi,unpackMint as Fi}from"@solana/spl-token";var gt=z("Raydium_accountInfo_util");async function rn(t,e,n){let{batchRequest:r,commitment:i="confirmed",chunkCount:o=100}=U({batchRequest:!1},n),s=ht(e,o),u=new Array(s.length).fill([]);if(r){let a=s.map(l=>{let p=t._buildArgs([l.map(d=>d.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:p}}),c=ht(a,10);u=(await(await Promise.all(c.map(async l=>await t._rpcBatchRequest(l)))).flat()).map(l=>(l.error&>.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(p=>{if(p){let{data:d,executable:w,lamports:g,owner:T,rentEpoch:x}=p;return d.length!==2&&d[1]!=="base64"&>.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(d[0],"base64"),executable:w,lamports:g,owner:new Rr(T),rentEpoch:x}}return null})))}else try{u=await Promise.all(s.map(a=>t.getMultipleAccountsInfo(a,i)))}catch(a){a instanceof Error&>.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${a.message}`)}return u.flat()}import Se from"bn.js";var on=9007199254740991;function ne(t){let e=z("Raydium_parseBigNumberish");if(t instanceof Se)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new Se(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=on||t<=-on)&&e.logWithError(`BigNumberish number overflow: ${t}`),new Se(String(t))):typeof t=="bigint"?new Se(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new Se(0))}import{PublicKey as Dr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as sn}from"@solana/spl-token";var un={chainId:101,address:Dr.default.toBase58(),programId:sn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},pe={chainId:101,address:"So11111111111111111111111111111111111111112",programId:sn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as wt}from"@solana/web3.js";import{PublicKey as K,SystemProgram as an,SYSVAR_RENT_PUBKEY as _r}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Kr}from"@solana/spl-token";function yt({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var Ji=[yt({pubkey:Kr,isWritable:!1}),yt({pubkey:an.programId,isWritable:!1}),yt({pubkey:_r,isWritable:!1})];function cn({publicKey:t,transformSol:e}){let n=ln(t.toString());if(n instanceof K)return e&&n.equals(Be)?bt:n;if(e&&n.toString()===Be.toBase58())return bt;if(typeof n=="string"){if(n===K.default.toBase58())return K.default;try{return new K(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function ln(t){try{return new K(t)}catch{return t}}var $i=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),eo=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),to=new K("SysvarRent111111111111111111111111111111111"),no=new K("SysvarC1ock11111111111111111111111111111111"),ro=new K("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),io=new K("Sysvar1nstructions1111111111111111111111111"),oo=an.programId,so=new K("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),uo=new K("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ao=new K("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),co=new K("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),lo=new K("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),fo=new K("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),po=new K("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),mo=new K("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),go=new K("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ho=new K("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),bo=new K("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),bt=new K("So11111111111111111111111111111111111111112"),Be=K.default;var xt=class{constructor({mint:e,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===Be.toBase58()||e instanceof wt&&Be.equals(e)){this.decimals=pe.decimals,this.symbol=pe.symbol,this.name=pe.name,this.mint=new wt(pe.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?wt.default:cn({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ye=xt;ye.WSOL=new xt(ie(U({},pe),{mint:pe.address}));var Tt=class{constructor({decimals:e,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=r}equals(e){return this===e}},Qe=Tt;Qe.SOL=new Tt(un);import vr from"toformat";var Ir=vr,Le=Ir;import Ye from"big.js";import Fr from"bn.js";import Vr from"decimal.js-light";var je=z("module/fraction"),Pt=Le(Ye),ke=Le(Vr),qr={[0]:ke.ROUND_DOWN,[1]:ke.ROUND_HALF_UP,[2]:ke.ROUND_UP},Wr={[0]:Ye.roundDown,[1]:Ye.roundHalfUp,[2]:Ye.roundUp},_=class{constructor(e,n=new Fr(1)){this.numerator=ne(e),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new _(this.denominator,this.numerator)}add(e){let n=e instanceof _?e:new _(ne(e));return this.denominator.eq(n.denominator)?new _(this.numerator.add(n.numerator),this.denominator):new _(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof _?e:new _(ne(e));return this.denominator.eq(n.denominator)?new _(this.numerator.sub(n.numerator),this.denominator):new _(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof _?e:new _(ne(e));return new _(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof _?e:new _(ne(e));return new _(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||je.logWithError(`${e} is not an integer.`),e<=0&&je.logWithError(`${e} is not positive.`),ke.set({precision:e+1,rounding:qr[r]});let i=new ke(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},r=1){return Number.isInteger(e)||je.logWithError(`${e} is not an integer.`),e<0&&je.logWithError(`${e} is negative.`),Pt.DP=e,Pt.RM=Wr[r]||1,new Pt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};import Ur from"bn.js";var Fo=new _(new Ur(100));var Ho=z("Raydium_price");function ht(t,e=1,n=[]){let r=[...t];if(e<=0)return n;for(;r.length;)n.push(r.splice(0,e));return n}import{PublicKey as As}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Bs}from"@solana/spl-token";import{ComputeBudgetProgram as mn,Keypair as hn,PublicKey as ms,Transaction as bn,TransactionMessage as Gr,VersionedTransaction as yn}from"@solana/web3.js";var Y={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",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"};import{TOKEN_PROGRAM_ID as Hr}from"@solana/spl-token";var gn=z("Raydium_txUtil"),wn=1644;function Xe(t){let e=[],n=[];return t.microLamports&&(e.push(mn.setComputeUnitPrice({microLamports:t.microLamports})),n.push(Y.SetComputeUnitPrice)),t.units&&(e.push(mn.setComputeUnitLimit({units:t.units})),n.push(Y.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}async function we(t,e){var r,i;let n=e!=null?e:"confirmed";return(i=await((r=t.getLatestBlockhash)==null?void 0:r.call(t,{commitment:n})))==null?void 0:i.blockhash}async function Je(t,e){return t.getSignatureStatuses([e]),new Promise((n,r)=>{let i=setTimeout(r,6e4);t.onSignature(e,o=>{if(clearTimeout(i),!o.err){n("");return}r(o.err.toString())},"confirmed")})}function zr(t,e){t.length<1&&gn.logWithError(`no instructions provided: ${t.toString()}`),e.length<1&&gn.logWithError(`no signers provided:, ${e.toString()}`);let n=new bn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...t);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<wn}catch{return!1}}function Ce({instructions:t,payer:e,signers:n}){return zr(t,[e,...n])}function Ne({instructions:t,payer:e,lookupTableAddressAccount:n,recentBlockhash:r=hn.generate().publicKey.toString()}){let o=new Gr({payerKey:e,recentBlockhash:r,instructions:t}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new yn(o).serialize()).toString("base64").length<wn}catch{return!1}}var Qr=t=>Buffer.isBuffer(t)?t:t instanceof Uint8Array?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t),jr=t=>{let e=t.serialize({requireAllSignatures:!1,verifySignatures:!1});t instanceof yn&&(e=Qr(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function de(t){let e=[];return t.forEach(n=>{n instanceof bn&&(n.recentBlockhash||(n.recentBlockhash=Hr.toBase58()),n.feePayer||(n.feePayer=hn.generate().publicKey)),e.push(jr(n))}),console.log("simulate tx string:",e),e}import{PublicKey as L}from"@solana/web3.js";var Ns=new L("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ms=new L("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Es=new L("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Rs=new L("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ds=new L("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),_s=new L("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ks=new L("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),vs=new L("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Is=new L("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Os=new L("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Fs=new L("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Vs=new L("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),qs=new L("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ws=new L("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Us=new L("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Gs=new L("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Hs=new L("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),zs=new L("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Qs=new L("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),js=new L("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Ys=new L("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Yr=new L("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Zr=new L("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Xr=new L("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Zs=new L("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jr=new L("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),Xs=new L("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),$r=new L("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Js={SERUM_MARKET:L.default,OPENBOOK_MARKET:new L("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:L.default,FarmV3:new L("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new L("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new L("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new L("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new L("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new L("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new L("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new L("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new L("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:Yr,CREATE_CPMM_POOL_AUTH:Zr,CREATE_CPMM_POOL_FEE_ACC:Xr,FEE_DESTINATION_ID:new L("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Jr,LCOK_CPMM_AUTH:$r};import tu from"bn.js";import{PublicKey as xn,AddressLookupTableAccount as $e}from"@solana/web3.js";async function At({connection:t,address:e}){let n=await rn(t,[...new Set(e.map(i=>i.toString()))].map(i=>new xn(i))),r={};for(let i=0;i<e.length;i++){let o=n[i],s=e[i];if(!o)continue;let u=new $e({key:s,state:$e.deserialize(o.data)});r[s.toString()]=u,et[s.toString()]=u}return r}var et={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new $e({key:new xn("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:$e.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 Me,sendAndConfirmTransaction as St,Transaction as Ee,TransactionMessage as Re,VersionedTransaction as De}from"@solana/web3.js";import ti from"axios";var tt=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.cluster,this.blockhashCommitment=e.blockhashCommitment,this.api=e.api}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let e=(await ti.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=e==null?void 0:e[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:n,instructionTypes:r}=Xe(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}async calComputeBudget({config:e,defaultIns:n}){try{let r=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:e=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...e),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(u=>u!==Me.default.toString())),this}async versionBuild({txVersion:e,extInfo:n}){return e===0?await this.buildV0(U({},n||{})):this.build(n)}build(e){var r;let n=new Ee;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(i=>i.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async i=>{var c;let{recentBlockHash:o,skipPreflight:s=!0,sendAndConfirm:u}=i||{},a=o!=null?o:await we(this.connection,this.blockhashCommitment);if(n.recentBlockhash=a,this.signers.length&&n.sign(...this.signers),de([n]),(c=this.owner)!=null&&c.isKeyPair)return{txId:u?await St(this.connection,n,this.signers.find(l=>l.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:s}),signedTx:n};if(this.signAllTransactions){let f=await this.signAllTransactions([n]);return{txId:await this.connection.sendRawTransaction(f[0].serialize(),{skipPreflight:s}),signedTx:f[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var c;let{extraPreBuildData:n=[],extInfo:r}=e,{transaction:i}=this.build(r),o=n.filter(f=>f.transaction.instructions.length>0),s=[i,...o.map(f=>f.transaction)],u=[this.signers,...o.map(f=>f.signers)],a=[...this.instructionTypes,...o.map(f=>f.instructionTypes).flat()];return(c=this.owner)!=null&&c.signer&&u.forEach(f=>{f.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:u,instructionTypes:a,execute:async f=>{var T;let{sequentially:l,onTxUpdate:p,recentBlockHash:d,skipPreflight:w=!0}=f||{},g=d!=null?d:await we(this.connection,this.blockhashCommitment);if((T=this.owner)!=null&&T.isKeyPair){if(l){let x=[];for(let y of s){let h=await St(this.connection,y,this.signers.find(b=>b.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:w});x.push(h)}return{txIds:x,signedTxs:s}}return{txIds:await await Promise.all(s.map(async x=>(x.recentBlockhash=g,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:w})))),signedTxs:s}}if(this.signAllTransactions){let x=s.map((h,b)=>(h.recentBlockhash=g,u[b].length&&h.sign(...u[b]),h));de(x);let y=await this.signAllTransactions(x);if(l){let h=0,b=[],N=async()=>{if(!y[h])return;let S=await this.connection.sendRawTransaction(y[h].serialize(),{skipPreflight:w});b.push({txId:S,status:"sent",signedTx:y[h]}),p==null||p([...b]),h++,this.connection.onSignature(S,O=>{let M=b.findIndex(D=>D.txId===S);M>-1&&(b[M].status=O.err?"error":"success"),p==null||p([...b]),O.err||N()},"processed"),this.connection.getSignatureStatus(S)};return await N(),{txIds:b.map(S=>S.txId),signedTxs:y}}else{let h=[];for(let b=0;b<y.length;b+=1){let N=await this.connection.sendRawTransaction(y[b].serialize(),{skipPreflight:w});h.push(N)}return{txIds:h,signedTxs:y}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:r})}async buildV0(e){var g;let w=e||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i,recentBlockhash:o}=w,s=Oe(w,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),u=U(U({},this.cluster==="devnet"?{}:et),n),a=Array.from(new Set([...r,...this.lookupTableAddress])),c=[];for(let T of a)u[T]===void 0&&c.push(new Me(T));let f=await At({connection:this.connection,address:c});for(let[T,x]of Object.entries(f))u[T]=x;let l=i?Me.default.toBase58():o!=null?o:await we(this.connection,this.blockhashCommitment),p=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(u));((g=this.owner)==null?void 0:g.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let d=new De(p);return d.sign(this.signers),{builder:this,transaction:d,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var h;let{skipPreflight:x=!0,sendAndConfirm:y}=T||{};if(de([d]),(h=this.owner)!=null&&h.isKeyPair){let b=await this.connection.sendTransaction(d,{skipPreflight:x});return y&&await Je(this.connection,b),{txId:b,signedTx:d}}if(this.signAllTransactions){let b=await this.signAllTransactions([d]);return{txId:await this.connection.sendTransaction(b[0],{skipPreflight:x}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}async buildV0MultiTx(e){var c;let{extraPreBuildData:n=[],buildProps:r}=e,{transaction:i}=await this.buildV0(r),o=n.filter(f=>f.builder.instructions.length>0),s=[i,...o.map(f=>f.transaction)],u=[this.signers,...o.map(f=>f.signers)],a=[...this.instructionTypes,...o.map(f=>f.instructionTypes).flat()];return(c=this.owner)!=null&&c.signer&&u.forEach(f=>{f.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach(async(f,l)=>{f.sign(u[l])}),{builder:this,transactions:s,signers:u,instructionTypes:a,buildProps:r,execute:async f=>{var g;let{sequentially:l,onTxUpdate:p,recentBlockHash:d,skipPreflight:w=!0}=f||{};if(d&&s.forEach(T=>T.message.recentBlockhash=d),de(s),(g=this.owner)!=null&&g.isKeyPair){if(l){let T=[];for(let x of s){let y=await this.connection.sendTransaction(x,{skipPreflight:w});await Je(this.connection,y),T.push(y)}return{txIds:T,signedTxs:s}}return{txIds:await Promise.all(s.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:w}))),signedTxs:s}}if(this.signAllTransactions){let T=await this.signAllTransactions(s);if(l){let x=0,y=[],h=async()=>{if(!T[x])return;let b=await this.connection.sendTransaction(T[x],{skipPreflight:w});y.push({txId:b,status:"sent",signedTx:T[x]}),p==null||p([...y]),x++,this.connection.onSignature(b,N=>{let S=y.findIndex(O=>O.txId===b);S>-1&&(y[S].status=N.err?"error":"success"),p==null||p([...y]),N.err||h()},"processed"),this.connection.getSignatureStatus(b)};return h(),{txIds:[],signedTxs:T}}else{let x=[];for(let y=0;y<T.length;y+=1){let h=await this.connection.sendTransaction(T[y],{skipPreflight:w});x.push(h)}return{txIds:x,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(e){var f;let c=e||{},{computeBudgetConfig:n}=c,r=Oe(c,["computeBudgetConfig"]),i=n?Xe(n):{instructions:[],instructionTypes:[]},o=this.signers.reduce((l,p)=>ie(U({},l),{[p.publicKey.toBase58()]:p}),{}),s=[],u=[],a=[];if(this.allInstructions.forEach(l=>{let p=[...a,l],d=n?[...i.instructions,...p]:p,g=[...new Set(p.map(T=>T.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(T=>new Me(T));if(a.length<12&&Ce({instructions:d,payer:this.feePayer,signers:g})||Ce({instructions:p,payer:this.feePayer,signers:g}))a.push(l);else{if(a.length===0)throw Error("item ins too big");Ce({instructions:n?[...i.instructions,...a]:[...a],payer:this.feePayer,signers:g})?s.push(new Ee().add(...i.instructions,...a)):s.push(new Ee().add(...a)),u.push(Array.from(new Set(a.map(T=>T.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat())).map(T=>o[T]).filter(T=>T!==void 0)),a=[l]}}),a.length>0){let p=[...new Set(a.map(d=>d.keys.filter(w=>w.isSigner).map(w=>w.pubkey.toString())).flat()).values()].map(d=>o[d]).filter(d=>d!==void 0);Ce({instructions:n?[...i.instructions,...a]:[...a],payer:this.feePayer,signers:p.map(d=>d.publicKey)})?s.push(new Ee().add(...i.instructions,...a)):s.push(new Ee().add(...a)),u.push(p)}return s.forEach(l=>l.feePayer=this.feePayer),(f=this.owner)!=null&&f.signer&&u.forEach(l=>{l.some(p=>p.publicKey.equals(this.owner.publicKey))||l.push(this.owner.signer)}),{builder:this,transactions:s,signers:u,instructionTypes:this.instructionTypes,execute:async l=>{var x;let{sequentially:p,onTxUpdate:d,recentBlockHash:w,skipPreflight:g=!0}=l||{},T=w!=null?w:await we(this.connection,this.blockhashCommitment);if(s.forEach(async(y,h)=>{y.recentBlockhash=T,u[h].length&&y.sign(...u[h])}),de(s),(x=this.owner)!=null&&x.isKeyPair){if(p){let y=[];for(let h of s){let b=await St(this.connection,h,this.signers.find(N=>N.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:g});y.push(b)}return{txIds:y,signedTxs:s}}return{txIds:await Promise.all(s.map(async y=>await this.connection.sendRawTransaction(y.serialize(),{skipPreflight:g}))),signedTxs:s}}if(this.signAllTransactions){let y=await this.signAllTransactions(s);if(p){let h=0,b=[],N=async()=>{if(!y[h])return;let S=await this.connection.sendRawTransaction(y[h].serialize(),{skipPreflight:g});b.push({txId:S,status:"sent",signedTx:y[h]}),d==null||d([...b]),h++,this.connection.onSignature(S,O=>{let M=b.findIndex(D=>D.txId===S);M>-1&&(b[M].status=O.err?"error":"success"),d==null||d([...b]),O.err||N()},"processed"),this.connection.getSignatureStatus(S)};return await N(),{txIds:b.map(S=>S.txId),signedTxs:y}}else{let h=[];for(let b=0;b<y.length;b+=1){let N=await this.connection.sendRawTransaction(y[b].serialize(),{skipPreflight:g});h.push(N)}return{txIds:h,signedTxs:y}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(e){var x;let T=e||{},{computeBudgetConfig:n,lookupTableCache:r={},lookupTableAddress:i=[]}=T,o=Oe(T,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]),s=U(U({},this.cluster==="devnet"?{}:et),r),u=Array.from(new Set([...this.lookupTableAddress,...i])),a=[];for(let y of u)s[y]===void 0&&a.push(new Me(y));let c=await At({connection:this.connection,address:a});for(let[y,h]of Object.entries(c))s[y]=h;let f=n?Xe(n):{instructions:[],instructionTypes:[]},l=await we(this.connection,this.blockhashCommitment),p=this.signers.reduce((y,h)=>ie(U({},y),{[h.publicKey.toBase58()]:h}),{}),d=[],w=[],g=[];if(this.allInstructions.forEach(y=>{let h=[...g,y],b=n?[...f.instructions,...h]:h;if(g.length<12&&Ne({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s})||Ne({instructions:h,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(y);else{if(g.length===0)throw Error("item ins too big");let N={};for(let S of[...new Set(u)])s[S]!==void 0&&(N[S]=s[S]);if(n&&Ne({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let S=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new De(S))}else{let S=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new De(S))}w.push(Array.from(new Set(g.map(S=>S.keys.filter(O=>O.isSigner).map(O=>O.pubkey.toString())).flat())).map(S=>p[S]).filter(S=>S!==void 0)),g=[y]}}),g.length>0){let h=[...new Set(g.map(b=>b.keys.filter(N=>N.isSigner).map(N=>N.pubkey.toString())).flat()).values()].map(b=>p[b]).filter(b=>b!==void 0);if(n&&Ne({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let b=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new De(b))}else{let b=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new De(b))}w.push(h)}return(x=this.owner)!=null&&x.signer&&w.forEach(y=>{y.some(h=>h.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),{builder:this,transactions:d,buildProps:e,signers:w,instructionTypes:this.instructionTypes,execute:async y=>{var O;let{sequentially:h,onTxUpdate:b,recentBlockHash:N,skipPreflight:S=!0}=y||{};if(d.map(async(M,D)=>{w[D].length&&M.sign(w[D]),N&&(M.message.recentBlockhash=N)}),de(d),(O=this.owner)!=null&&O.isKeyPair){if(h){let M=[];for(let D of d){let v=await this.connection.sendTransaction(D,{skipPreflight:S});await Je(this.connection,v),M.push(v)}return{txIds:M,signedTxs:d}}return{txIds:await Promise.all(d.map(async M=>await this.connection.sendTransaction(M,{skipPreflight:S}))),signedTxs:d}}if(this.signAllTransactions){let M=await this.signAllTransactions(d);if(h){let D=0,v=[],I=async()=>{if(!M[D])return;let q=await this.connection.sendTransaction(M[D],{skipPreflight:S});v.push({txId:q,status:"sent",signedTx:M[D]}),b==null||b([...v]),D++,this.connection.onSignature(q,ee=>{let ge=v.findIndex(W=>W.txId===q);ge>-1&&(v[ge].status=ee.err?"error":"success"),b==null||b([...v]),ee.err||I()},"processed"),this.connection.getSignatureStatus(q)};return I(),{txIds:[],signedTxs:M}}else{let D=[];for(let v=0;v<M.length;v+=1){let I=await this.connection.sendTransaction(M[v],{skipPreflight:S});D.push(I)}return{txIds:D,signedTxs:M}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}};import{PublicKey as wu}from"@solana/web3.js";import Tu from"bn.js";var ea=z("Raydium_amount"),ta=Le(ni);var Ze=new re(0),ya=new re(1),wa=new re(2),xa=new re(3),Ta=new re(5),ri=new re(10),Pa=new re(100),Aa=new re(1e3),Sa=new re(1e4);import{Keypair as bi,PublicKey as yi}from"@solana/web3.js";import Gc from"bn.js";import{TOKEN_PROGRAM_ID as wi}from"@solana/spl-token";function ii(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Bt(t,...e){if(!ii(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function Lt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Tn(t,e){Bt(t);let n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var rt=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),J=(t,e)=>t<<32-e|t>>>e;var Ca=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function oi(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function kt(t){return typeof t=="string"&&(t=oi(t)),Bt(t),t}var nt=class{clone(){return this._cloneInto()}},Na={}.toString;function Pn(t){let e=r=>t().update(kt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function si(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);let i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),u=Number(n&o),a=r?4:0,c=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+c,u,r)}var An=(t,e,n)=>t&e^~t&n,Sn=(t,e,n)=>t&e^t&n^e&n,it=class extends nt{constructor(e,n,r,i){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=rt(this.buffer)}update(e){Lt(this);let{view:n,buffer:r,blockLen:i}=this;e=kt(e);let o=e.length;for(let s=0;s<o;){let u=Math.min(i-this.pos,o-s);if(u===i){let a=rt(e);for(;i<=o-s;s+=i)this.process(a,s);continue}r.set(e.subarray(s,s+u),this.pos),this.pos+=u,s+=u,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Lt(this),Tn(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:i,isLE:o}=this,{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(r,0),s=0);for(let l=s;l<i;l++)n[l]=0;si(r,i-8,BigInt(this.length*8),o),this.process(r,0);let u=rt(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,f=this.get();if(c>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<c;l++)u.setUint32(4*l,f[l],o)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:n,buffer:r,length:i,finished:o,destroyed:s,pos:u}=this;return e.length=i,e.pos=u,e.finished=o,e.destroyed=s,i%n&&e.buffer.set(r),e}};var ui=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ce=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),le=new Uint32Array(64),Ct=class extends it{constructor(){super(64,32,8,!1),this.A=ce[0]|0,this.B=ce[1]|0,this.C=ce[2]|0,this.D=ce[3]|0,this.E=ce[4]|0,this.F=ce[5]|0,this.G=ce[6]|0,this.H=ce[7]|0}get(){let{A:e,B:n,C:r,D:i,E:o,F:s,G:u,H:a}=this;return[e,n,r,i,o,s,u,a]}set(e,n,r,i,o,s,u,a){this.A=e|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=u|0,this.H=a|0}process(e,n){for(let l=0;l<16;l++,n+=4)le[l]=e.getUint32(n,!1);for(let l=16;l<64;l++){let p=le[l-15],d=le[l-2],w=J(p,7)^J(p,18)^p>>>3,g=J(d,17)^J(d,19)^d>>>10;le[l]=g+le[l-7]+w+le[l-16]|0}let{A:r,B:i,C:o,D:s,E:u,F:a,G:c,H:f}=this;for(let l=0;l<64;l++){let p=J(u,6)^J(u,11)^J(u,25),d=f+p+An(u,a,c)+ui[l]+le[l]|0,g=(J(r,2)^J(r,13)^J(r,22))+Sn(r,i,o)|0;f=c,c=a,a=u,u=s+d|0,s=o,o=i,i=r,r=d+g|0}r=r+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,u=u+this.E|0,a=a+this.F|0,c=c+this.G|0,f=f+this.H|0,this.set(r,i,o,s,u,a,c,f)}roundClean(){le.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Bn=Pn(()=>new Ct);import{PublicKey as gi}from"@solana/web3.js";import Cn,{isBN as Rc}from"bn.js";import{bits as ai,BitStructure as Oa,blob as ci,Blob as Fa,cstr as Va,f32 as qa,f32be as Wa,f64 as Ua,f64be as Ga,greedy as Ha,Layout as li,ns64 as za,ns64be as Qa,nu64 as ja,nu64be as Ya,offset as Za,s16 as Xa,s16be as Ja,s24 as $a,s24be as ec,s32 as tc,s32be as nc,s40 as rc,s40be as ic,s48 as oc,s48be as sc,s8 as uc,seq as ac,struct as cc,Structure as fi,u16 as pi,u16be as lc,u24 as fc,u24be as pc,u32 as di,u32be as dc,u40 as mc,u40be as gc,u48 as hc,u48be as bc,u8 as yc,UInt as mi,union as wc,Union as xc,unionLayoutDiscriminator as Tc,utf8 as Pc}from"@solana/buffer-layout";var ot=li,Ln=fi;var Nt=mi;var kn=pi;var Mt=di;var xe=ci;var Et=ai;var Rt=class extends ot{constructor(n,r,i){super(n,i);this.blob=xe(n),this.signed=r}decode(n,r=0){let i=new Cn(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 Cn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}},st=class extends ot{constructor(n){super(8,n);this._lower=Et(Mt(),!1),this._upper=Et(Mt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let i=this._lower.decode(n,r),o=this._upper.decode(n,r+this._lower.span);return U(U({},i),o)}encode(n,r,i=0){return this._lower.encode(n,r,i)+this._upper.encode(n,r,i+this._lower.span)}};function ut(t){return new Nt(1,t)}function Te(t){return new Nt(4,t)}function F(t){return new Rt(8,!1,t)}var Dt=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 Q(t){return new Dt(xe(32),e=>new gi(e),e=>e.toBuffer(),t)}var _t=class extends Ln{decode(e,n){return super.decode(e,n)}};function Pe(t,e,n){return new _t(t,e,n)}var hi=Pe([Q("mint"),Q("owner"),F("amount"),Te("delegateOption"),Q("delegate"),ut("state"),Te("isNativeOption"),F("isNative"),F("delegatedAmount"),Te("closeAuthorityOption"),Q("closeAuthority")]);var Yc=z("Raydium_Util");function fe({fromPublicKey:t,programId:e=wi}){let n=bi.generate().publicKey.toBase58().slice(0,32);return{publicKey:xi(t,n,e),seed:n}}function xi(t,e,n){let r=Buffer.concat([t.toBuffer(),Buffer.from(e),n.toBuffer()]),i=Bn(r);return new yi(i)}var Kt=(...t)=>t.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),_e=class{constructor({scope:e,moduleName:n}){this.disabled=!1;this.scope=e,this.logger=z(n)}createTxBuilder(e){return this.scope.checkOwner(),new tt({connection:this.scope.connection,feePayer:e||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...e){this.logger.debug(Kt(e))}logInfo(...e){this.logger.info(Kt(e))}logAndCreateError(...e){let n=Kt(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{SystemProgram as me,SYSVAR_RENT_PUBKEY as Pi,Transaction as Nn,TransactionInstruction as Ai}from"@solana/web3.js";import{createInitializeAccountInstruction as Mn,TOKEN_PROGRAM_ID as En}from"@solana/spl-token";function Ti(t="accountFlags"){let e=new st(t);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var vt=Pe([xe(5),Ti("accountFlags"),Q("ownAddress"),F("vaultSignerNonce"),Q("baseMint"),Q("quoteMint"),Q("baseVault"),F("baseDepositsTotal"),F("baseFeesAccrued"),Q("quoteVault"),F("quoteDepositsTotal"),F("quoteFeesAccrued"),F("quoteDustThreshold"),Q("requestQueue"),Q("eventQueue"),Q("bids"),Q("asks"),F("baseLotSize"),F("quoteLotSize"),F("feeRateBps"),F("referrerRebatesAccrued"),xe(7)]);function Si({programId:t,marketInfo:e}){let n=Pe([ut("version"),Te("instruction"),F("baseLotSize"),F("quoteLotSize"),kn("feeRateBps"),F("vaultSignerNonce"),F("quoteDustThreshold")]),r=[{pubkey:e.id,isSigner:!1,isWritable:!0},{pubkey:e.requestQueue,isSigner:!1,isWritable:!0},{pubkey:e.eventQueue,isSigner:!1,isWritable:!0},{pubkey:e.bids,isSigner:!1,isWritable:!0},{pubkey:e.asks,isSigner:!1,isWritable:!0},{pubkey:e.baseVault,isSigner:!1,isWritable:!0},{pubkey:e.quoteVault,isSigner:!1,isWritable:!0},{pubkey:e.baseMint,isSigner:!1,isWritable:!1},{pubkey:e.quoteMint,isSigner:!1,isWritable:!1},{pubkey:e.authority?e.quoteMint:Pi,isSigner:!1,isWritable:!1}].concat(e.authority?{pubkey:e.authority,isSigner:!1,isWritable:!1}:[]).concat(e.authority&&e.pruneAuthority?{pubkey:e.pruneAuthority,isSigner:!1,isWritable:!1}:[]),i=Buffer.alloc(n.span);return n.encode({version:0,instruction:0,baseLotSize:e.baseLotSize,quoteLotSize:e.quoteLotSize,feeRateBps:e.feeRateBps,vaultSignerNonce:e.vaultSignerNonce,quoteDustThreshold:e.quoteDustThreshold},i),new Ai({keys:r,programId:t,data:i})}async function Rn({connection:t,wallet:e,marketInfo:n}){var s,u,a,c,f,l,p,d;let r=new Nn,i=await t.getMinimumBalanceForRentExemption(165);r.add(me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.baseVault.seed,newAccountPubkey:n.baseVault.publicKey,lamports:i,space:165,programId:En}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.quoteVault.seed,newAccountPubkey:n.quoteVault.publicKey,lamports:i,space:165,programId:En}),Mn(n.baseVault.publicKey,n.baseMint,n.vaultOwner),Mn(n.quoteVault.publicKey,n.quoteMint,n.vaultOwner));let o=new Nn;return o.add(me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.id.seed,newAccountPubkey:n.id.publicKey,lamports:await t.getMinimumBalanceForRentExemption(vt.span),space:vt.span,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.requestQueue.seed,newAccountPubkey:n.requestQueue.publicKey,lamports:await t.getMinimumBalanceForRentExemption((s=n.requestQueueSpace)!=null?s:5120+12),space:(u=n.requestQueueSpace)!=null?u:5120+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.eventQueue.seed,newAccountPubkey:n.eventQueue.publicKey,lamports:await t.getMinimumBalanceForRentExemption((a=n.eventQueueSpace)!=null?a:262144+12),space:(c=n.eventQueueSpace)!=null?c:262144+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.bids.seed,newAccountPubkey:n.bids.publicKey,lamports:await t.getMinimumBalanceForRentExemption((f=n.orderbookQueueSpace)!=null?f:65536+12),space:(l=n.orderbookQueueSpace)!=null?l:65536+12,programId:n.programId}),me.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.asks.seed,newAccountPubkey:n.asks.publicKey,lamports:await t.getMinimumBalanceForRentExemption((p=n.orderbookQueueSpace)!=null?p:65536+12),space:(d=n.orderbookQueueSpace)!=null?d:65536+12,programId:n.programId}),Si({programId:n.programId,marketInfo:{id:n.id.publicKey,requestQueue:n.requestQueue.publicKey,eventQueue:n.eventQueue.publicKey,bids:n.bids.publicKey,asks:n.asks.publicKey,baseVault:n.baseVault.publicKey,quoteVault:n.quoteVault.publicKey,baseMint:n.baseMint,quoteMint:n.quoteMint,baseLotSize:n.baseLotSize,quoteLotSize:n.quoteLotSize,feeRateBps:n.feeRateBps,vaultSignerNonce:n.vaultSignerNonce,quoteDustThreshold:n.quoteDustThreshold}})),[{transaction:r,signer:[],instructionTypes:[Y.CreateAccount,Y.CreateAccount,Y.InitAccount,Y.InitAccount]},{transaction:o,signer:[],instructionTypes:[Y.CreateAccount,Y.CreateAccount,Y.CreateAccount,Y.CreateAccount,Y.CreateAccount,Y.InitMarket]}]}var It=class extends _e{async create({baseInfo:e,quoteInfo:n,lotSize:r,tickSize:i,dexProgramId:o,requestQueueSpace:s,eventQueueSpace:u,orderbookQueueSpace:a,txVersion:c,computeBudgetConfig:f}){let l=this.scope.ownerPubKey,p=fe({fromPublicKey:l,programId:o}),d=fe({fromPublicKey:l,programId:o}),w=fe({fromPublicKey:l,programId:o}),g=fe({fromPublicKey:l,programId:o}),T=fe({fromPublicKey:l,programId:o}),x=fe({fromPublicKey:l,programId:Dn}),y=fe({fromPublicKey:l,programId:Dn}),h=0,b=new ve(100);function N(){let q=new ve(0);for(;;)try{return{vaultOwner:Ke.createProgramAddressSync([p.publicKey.toBuffer(),q.toArrayLike(Buffer,"le",8)],o),vaultSignerNonce:q}}catch{if(q.iaddn(1),q.gt(new ve(25555)))throw Error("find vault owner error")}}let{vaultOwner:S,vaultSignerNonce:O}=N(),M=new ve(Math.round(10**e.decimals*r)),D=new ve(Math.round(r*10**n.decimals*i));if(M.eq(Ze))throw Error("lot size is too small");if(D.eq(Ze))throw Error("tick size or lot size is too small");let v=await Rn({connection:this.scope.connection,wallet:this.scope.ownerPubKey,marketInfo:{programId:o,id:p,baseMint:e.mint,quoteMint:n.mint,baseVault:x,quoteVault:y,vaultOwner:S,requestQueue:d,eventQueue:w,bids:g,asks:T,feeRateBps:h,quoteDustThreshold:b,vaultSignerNonce:O,baseLotSize:M,quoteLotSize:D,requestQueueSpace:s,eventQueueSpace:u,orderbookQueueSpace:a}}),I=this.createTxBuilder();I.addInstruction({instructions:v[0].transaction.instructions,signers:v[0].signer});for await(let q of v.slice(1,v.length))I.addInstruction({instructions:q.transaction.instructions,signers:q.signer,instructionTypes:q.instructionTypes});return c===0?I.sizeCheckBuildV0({computeBudgetConfig:f,address:{marketId:p.publicKey,requestQueue:d.publicKey,eventQueue:w.publicKey,bids:g.publicKey,asks:T.publicKey,baseVault:x.publicKey,quoteVault:y.publicKey,baseMint:new Ke(e.mint),quoteMin:new Ke(n.mint)}}):I.sizeCheckBuild({computeBudgetConfig:f,address:{marketId:p.publicKey,requestQueue:d.publicKey,eventQueue:w.publicKey,bids:g.publicKey,asks:T.publicKey,baseVault:x.publicKey,quoteVault:y.publicKey,baseMint:new Ke(e.mint),quoteMin:new Ke(n.mint)}})}};export{It as default};
|
|
1
|
+
var _n=Object.defineProperty,Kn=Object.defineProperties;var vn=Object.getOwnPropertyDescriptors;var Ie=Object.getOwnPropertySymbols;var Ft=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var Ot=(t,e,n)=>e in t?_n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,W=(t,e)=>{for(var n in e||(e={}))Ft.call(e,n)&&Ot(t,n,e[n]);if(Ie)for(var n of Ie(e))Vt.call(e,n)&&Ot(t,n,e[n]);return t},oe=(t,e)=>Kn(t,vn(e));var Oe=(t,e)=>{var n={};for(var r in t)Ft.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Ie)for(var r of Ie(t))e.indexOf(r)<0&&Vt.call(t,r)&&(n[r]=t[r]);return n};import{PublicKey as Ke}from"@solana/web3.js";import ve from"bn.js";import{TOKEN_PROGRAM_ID as Dn}from"@solana/spl-token";import re from"bn.js";var he=9e15,ce=1e9,at="0123456789abcdef",Ve="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",qe="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ct={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-he,maxE:he,crypto:!1},Gt,te,B=!0,Ue="[DecimalError] ",ae=Ue+"Invalid argument: ",Ht=Ue+"Precision limit exceeded",zt=Ue+"crypto unavailable",Qt="[object Decimal]",H=Math.floor,V=Math.pow,In=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,On=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Fn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,jt=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,J=1e7,A=7,Vn=9007199254740991,qn=Ve.length-1,lt=qe.length-1,m={toStringTag:Qt};m.absoluteValue=m.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),P(t)};m.ceil=function(){return P(new this.constructor(this),this.e+1,2)};m.clampedTo=m.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(ae+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};m.comparedTo=m.cmp=function(t){var e,n,r,i,o=this,s=o.d,u=(t=new o.constructor(t)).d,a=o.s,c=t.s;if(!s||!u)return!a||!c?NaN:a!==c?a:s===u?0:!s^a<0?1:-1;if(!s[0]||!u[0])return s[0]?a:u[0]?-c:0;if(a!==c)return a;if(o.e!==t.e)return o.e>t.e^a<0?1:-1;for(r=s.length,i=u.length,e=0,n=r<i?r:i;e<n;++e)if(s[e]!==u[e])return s[e]>u[e]^a<0?1:-1;return r===i?0:r>i^a<0?1:-1};m.cosine=m.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+A,r.rounding=1,n=Wn(r,$t(r,n)),r.precision=t,r.rounding=e,P(te==2||te==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};m.cubeRoot=m.cbrt=function(){var t,e,n,r,i,o,s,u,a,c,f=this,l=f.constructor;if(!f.isFinite()||f.isZero())return new l(f);for(B=!1,o=f.s*V(f.s*f,1/3),!o||Math.abs(o)==1/0?(n=U(f.d),t=f.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=V(n,1/3),t=H((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new l(n),r.s=f.s):r=new l(o.toString()),s=(t=l.precision)+3;;)if(u=r,a=u.times(u).times(u),c=a.plus(f),r=E(c.plus(f).times(u),c.plus(a),s+2,1),U(u.d).slice(0,s)===(n=U(r.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!i&&n=="4999"){if(!i&&(P(u,t+1,0),u.times(u).times(u).eq(f))){r=u;break}s+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(P(r,t+1,1),e=!r.times(r).times(r).eq(f));break}return B=!0,P(r,t,l.rounding,e)};m.decimalPlaces=m.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-H(this.e/A))*A,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};m.dividedBy=m.div=function(t){return E(this,new this.constructor(t))};m.dividedToIntegerBy=m.divToInt=function(t){var e=this,n=e.constructor;return P(E(e,new n(t),0,1,1),n.precision,n.rounding)};m.equals=m.eq=function(t){return this.cmp(t)===0};m.floor=function(){return P(new this.constructor(this),this.e+1,3)};m.greaterThan=m.gt=function(t){return this.cmp(t)>0};m.greaterThanOrEqualTo=m.gte=function(t){var e=this.cmp(t);return e==1||e===0};m.hyperbolicCosine=m.cosh=function(){var t,e,n,r,i,o=this,s=o.constructor,u=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return u;n=s.precision,r=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,i=o.d.length,i<32?(t=Math.ceil(i/3),e=(1/He(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=be(s,1,o.times(e),new s(1),!0);for(var a,c=t,f=new s(8);c--;)a=o.times(o),o=u.minus(a.times(f.minus(a.times(f))));return P(o,s.precision=n,s.rounding=r,!0)};m.hyperbolicSine=m.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=be(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/He(5,t)),i=be(o,2,i,i,!0);for(var s,u=new o(5),a=new o(16),c=new o(20);t--;)s=i.times(i),i=i.times(u.plus(s.times(a.times(s).plus(c))))}return o.precision=e,o.rounding=n,P(i,e,n,!0)};m.hyperbolicTangent=m.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,E(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};m.inverseCosine=m.acos=function(){var t,e=this,n=e.constructor,r=e.abs().cmp(1),i=n.precision,o=n.rounding;return r!==-1?r===0?e.isNeg()?X(n,i,o):new n(0):new n(NaN):e.isZero()?X(n,i+4,o).times(.5):(n.precision=i+6,n.rounding=1,e=e.asin(),t=X(n,i+4,o).times(.5),n.precision=i,n.rounding=o,t.minus(e))};m.inverseHyperbolicCosine=m.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,B=!1,n=n.times(n).minus(1).sqrt().plus(n),B=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};m.inverseHyperbolicSine=m.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,B=!1,n=n.times(n).plus(1).sqrt().plus(n),B=!0,r.precision=t,r.rounding=e,n.ln())};m.inverseHyperbolicTangent=m.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?P(new o(i),t,e,!0):(o.precision=n=r-i.e,i=E(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};m.inverseSine=m.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=X(o,n+4,r).times(.5),t.s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};m.inverseTangent=m.atan=function(){var t,e,n,r,i,o,s,u,a,c=this,f=c.constructor,l=f.precision,p=f.rounding;if(c.isFinite()){if(c.isZero())return new f(c);if(c.abs().eq(1)&&l+4<=lt)return s=X(f,l+4,p).times(.25),s.s=c.s,s}else{if(!c.s)return new f(NaN);if(l+4<=lt)return s=X(f,l+4,p).times(.5),s.s=c.s,s}for(f.precision=u=l+10,f.rounding=1,n=Math.min(28,u/A+2|0),t=n;t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(B=!1,e=Math.ceil(u/A),r=1,a=c.times(c),s=new f(c),i=c;t!==-1;)if(i=i.times(a),o=s.minus(i.div(r+=2)),i=i.times(a),s=o.plus(i.div(r+=2)),s.d[e]!==void 0)for(t=e;s.d[t]===o.d[t]&&t--;);return n&&(s=s.times(2<<n-1)),B=!0,P(s,f.precision=l,f.rounding=p,!0)};m.isFinite=function(){return!!this.d};m.isInteger=m.isInt=function(){return!!this.d&&H(this.e/A)>this.d.length-2};m.isNaN=function(){return!this.s};m.isNegative=m.isNeg=function(){return this.s<0};m.isPositive=m.isPos=function(){return this.s>0};m.isZero=function(){return!!this.d&&this.d[0]===0};m.lessThan=m.lt=function(t){return this.cmp(t)<0};m.lessThanOrEqualTo=m.lte=function(t){return this.cmp(t)<1};m.logarithm=m.log=function(t){var e,n,r,i,o,s,u,a,c=this,f=c.constructor,l=f.precision,p=f.rounding,d=5;if(t==null)t=new f(10),e=!0;else{if(t=new f(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new f(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new f(n&&!n[0]?-1/0:c.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(B=!1,u=l+d,s=ue(c,u),r=e?We(f,u+10):ue(t,u),a=E(s,r,u,1),Ae(a.d,i=l,p))do if(u+=10,s=ue(c,u),r=e?We(f,u+10):ue(t,u),a=E(s,r,u,1),!o){+U(a.d).slice(i+1,i+15)+1==1e14&&(a=P(a,l+1,0));break}while(Ae(a.d,i+=10,p));return B=!0,P(a,l,p)};m.minus=m.sub=function(t){var e,n,r,i,o,s,u,a,c,f,l,p,d=this,w=d.constructor;if(t=new w(t),!d.d||!t.d)return!d.s||!t.s?t=new w(NaN):d.d?t.s=-t.s:t=new w(t.d||d.s!==t.s?d:NaN),t;if(d.s!=t.s)return t.s=-t.s,d.plus(t);if(c=d.d,p=t.d,u=w.precision,a=w.rounding,!c[0]||!p[0]){if(p[0])t.s=-t.s;else if(c[0])t=new w(d);else return new w(a===3?-0:0);return B?P(t,u,a):t}if(n=H(t.e/A),f=H(d.e/A),c=c.slice(),o=f-n,o){for(l=o<0,l?(e=c,o=-o,s=p.length):(e=p,n=f,s=c.length),r=Math.max(Math.ceil(u/A),s)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=c.length,s=p.length,l=r<s,l&&(s=r),r=0;r<s;r++)if(c[r]!=p[r]){l=c[r]<p[r];break}o=0}for(l&&(e=c,c=p,p=e,t.s=-t.s),s=c.length,r=p.length-s;r>0;--r)c[s++]=0;for(r=p.length;r>o;){if(c[--r]<p[r]){for(i=r;i&&c[--i]===0;)c[i]=J-1;--c[i],c[r]+=J}c[r]-=p[r]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--n;return c[0]?(t.d=c,t.e=Ge(c,n),B?P(t,u,a):t):new w(a===3?-0:0)};m.modulo=m.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?P(new r(n),r.precision,r.rounding):(B=!1,r.modulo==9?(e=E(n,t.abs(),0,3,1),e.s*=t.s):e=E(n,t,0,r.modulo,1),e=e.times(t),B=!0,n.minus(e))};m.naturalExponential=m.exp=function(){return ft(this)};m.naturalLogarithm=m.ln=function(){return ue(this)};m.negated=m.neg=function(){var t=new this.constructor(this);return t.s=-t.s,P(t)};m.plus=m.add=function(t){var e,n,r,i,o,s,u,a,c,f,l=this,p=l.constructor;if(t=new p(t),!l.d||!t.d)return!l.s||!t.s?t=new p(NaN):l.d||(t=new p(t.d||l.s===t.s?l:NaN)),t;if(l.s!=t.s)return t.s=-t.s,l.minus(t);if(c=l.d,f=t.d,u=p.precision,a=p.rounding,!c[0]||!f[0])return f[0]||(t=new p(l)),B?P(t,u,a):t;if(o=H(l.e/A),r=H(t.e/A),c=c.slice(),i=o-r,i){for(i<0?(n=c,i=-i,s=f.length):(n=f,r=o,s=c.length),o=Math.ceil(u/A),s=o>s?o+1:s+1,i>s&&(i=s,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(s=c.length,i=f.length,s-i<0&&(i=s,n=f,f=c,c=n),e=0;i;)e=(c[--i]=c[i]+f[i]+e)/J|0,c[i]%=J;for(e&&(c.unshift(e),++r),s=c.length;c[--s]==0;)c.pop();return t.d=c,t.e=Ge(c,r),B?P(t,u,a):t};m.precision=m.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(ae+t);return n.d?(e=Yt(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};m.round=function(){var t=this,e=t.constructor;return P(new e(t),t.e+1,e.rounding)};m.sine=m.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+A,r.rounding=1,n=Gn(r,$t(r,n)),r.precision=t,r.rounding=e,P(te>2?n.neg():n,t,e,!0)):new r(NaN)};m.squareRoot=m.sqrt=function(){var t,e,n,r,i,o,s=this,u=s.d,a=s.e,c=s.s,f=s.constructor;if(c!==1||!u||!u[0])return new f(!c||c<0&&(!u||u[0])?NaN:u?s:1/0);for(B=!1,c=Math.sqrt(+s),c==0||c==1/0?(e=U(u),(e.length+a)%2==0&&(e+="0"),c=Math.sqrt(e),a=H((a+1)/2)-(a<0||a%2),c==1/0?e="5e"+a:(e=c.toExponential(),e=e.slice(0,e.indexOf("e")+1)+a),r=new f(e)):r=new f(c.toString()),n=(a=f.precision)+3;;)if(o=r,r=o.plus(E(s,o,n+2,1)).times(.5),U(o.d).slice(0,n)===(e=U(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(P(o,a+1,0),o.times(o).eq(s))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(P(r,a+1,1),t=!r.times(r).eq(s));break}return B=!0,P(r,a,f.rounding,t)};m.tangent=m.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=E(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,P(te==2||te==4?n.neg():n,t,e,!0)):new r(NaN)};m.times=m.mul=function(t){var e,n,r,i,o,s,u,a,c,f=this,l=f.constructor,p=f.d,d=(t=new l(t)).d;if(t.s*=f.s,!p||!p[0]||!d||!d[0])return new l(!t.s||p&&!p[0]&&!d||d&&!d[0]&&!p?NaN:!p||!d?t.s/0:t.s*0);for(n=H(f.e/A)+H(t.e/A),a=p.length,c=d.length,a<c&&(o=p,p=d,d=o,s=a,a=c,c=s),o=[],s=a+c,r=s;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=a+r;i>r;)u=o[i]+d[r]*p[i-r-1]+e,o[i--]=u%J|0,e=u/J|0;o[i]=(o[i]+e)%J|0}for(;!o[--s];)o.pop();return e?++n:o.shift(),t.d=o,t.e=Ge(o,n),B?P(t,l.precision,l.rounding):t};m.toBinary=function(t,e){return dt(this,2,t,e)};m.toDecimalPlaces=m.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(Y(t,0,ce),e===void 0?e=r.rounding:Y(e,0,8),P(n,t+n.e+1,e))};m.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=ee(r,!0):(Y(t,0,ce),e===void 0?e=i.rounding:Y(e,0,8),r=P(new i(r),t+1,e),n=ee(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};m.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=ee(i):(Y(t,0,ce),e===void 0?e=o.rounding:Y(e,0,8),r=P(new o(i),t+i.e+1,e),n=ee(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};m.toFraction=function(t){var e,n,r,i,o,s,u,a,c,f,l,p,d=this,w=d.d,g=d.constructor;if(!w)return new g(d);if(c=n=new g(1),r=a=new g(0),e=new g(r),o=e.e=Yt(w)-d.e-1,s=o%A,e.d[0]=V(10,s<0?A+s:s),t==null)t=o>0?e:c;else{if(u=new g(t),!u.isInt()||u.lt(c))throw Error(ae+u);t=u.gt(e)?o>0?e:c:u}for(B=!1,u=new g(U(w)),f=g.precision,g.precision=o=w.length*A*2;l=E(u,e,0,1,1),i=n.plus(l.times(r)),i.cmp(t)!=1;)n=r,r=i,i=c,c=a.plus(l.times(i)),a=i,i=e,e=u.minus(l.times(i)),u=i;return i=E(t.minus(n),r,0,1,1),a=a.plus(i.times(c)),n=n.plus(i.times(r)),a.s=c.s=d.s,p=E(c,r,o,1).minus(d).abs().cmp(E(a,n,o,1).minus(d).abs())<1?[c,r]:[a,n],g.precision=f,B=!0,p};m.toHexadecimal=m.toHex=function(t,e){return dt(this,16,t,e)};m.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:Y(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(B=!1,n=E(n,t,0,e,1).times(t),B=!0,P(n)):(t.s=n.s,n=t),n};m.toNumber=function(){return+this};m.toOctal=function(t,e){return dt(this,8,t,e)};m.toPower=m.pow=function(t){var e,n,r,i,o,s,u=this,a=u.constructor,c=+(t=new a(t));if(!u.d||!t.d||!u.d[0]||!t.d[0])return new a(V(+u,c));if(u=new a(u),u.eq(1))return u;if(r=a.precision,o=a.rounding,t.eq(1))return P(u,r,o);if(e=H(t.e/A),e>=t.d.length-1&&(n=c<0?-c:c)<=Vn)return i=Zt(a,u,n,r),t.s<0?new a(1).div(i):P(i,r,o);if(s=u.s,s<0){if(e<t.d.length-1)return new a(NaN);if((t.d[e]&1)==0&&(s=1),u.e==0&&u.d[0]==1&&u.d.length==1)return u.s=s,u}return n=V(+u,c),e=n==0||!isFinite(n)?H(c*(Math.log("0."+U(u.d))/Math.LN10+u.e+1)):new a(n+"").e,e>a.maxE+1||e<a.minE-1?new a(e>0?s/0:0):(B=!1,a.rounding=u.s=1,n=Math.min(12,(e+"").length),i=ft(t.times(ue(u,r+n)),r),i.d&&(i=P(i,r+5,1),Ae(i.d,r,o)&&(e=r+10,i=P(ft(t.times(ue(u,e+n)),e),e+5,1),+U(i.d).slice(r+1,r+15)+1==1e14&&(i=P(i,r+1,0)))),i.s=s,B=!0,a.rounding=o,P(i,r,o))};m.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=ee(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(Y(t,1,ce),e===void 0?e=i.rounding:Y(e,0,8),r=P(new i(r),t,e),n=ee(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};m.toSignificantDigits=m.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(Y(t,1,ce),e===void 0?e=r.rounding:Y(e,0,8)),P(new r(n),t,e)};m.toString=function(){var t=this,e=t.constructor,n=ee(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};m.truncated=m.trunc=function(){return P(new this.constructor(this),this.e+1,1)};m.valueOf=m.toJSON=function(){var t=this,e=t.constructor,n=ee(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function U(t){var e,n,r,i=t.length-1,o="",s=t[0];if(i>0){for(o+=s,e=1;e<i;e++)r=t[e]+"",n=A-r.length,n&&(o+=se(n)),o+=r;s=t[e],r=s+"",n=A-r.length,n&&(o+=se(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function Y(t,e,n){if(t!==~~t||t<e||t>n)throw Error(ae+t)}function Ae(t,e,n,r){var i,o,s,u;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=A,i=0):(i=Math.ceil((e+1)/A),e%=A),o=V(10,A-e),u=t[i]%o|0,r==null?e<3?(e==0?u=u/100|0:e==1&&(u=u/10|0),s=n<4&&u==99999||n>3&&u==49999||u==5e4||u==0):s=(n<4&&u+1==o||n>3&&u+1==o/2)&&(t[i+1]/o/100|0)==V(10,e-2)-1||(u==o/2||u==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?u=u/1e3|0:e==1?u=u/100|0:e==2&&(u=u/10|0),s=(r||n<4)&&u==9999||!r&&n>3&&u==4999):s=((r||n<4)&&u+1==o||!r&&n>3&&u+1==o/2)&&(t[i+1]/o/1e3|0)==V(10,e-3)-1,s}function Fe(t,e,n){for(var r,i=[0],o,s=0,u=t.length;s<u;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=at.indexOf(t.charAt(s++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function Wn(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/He(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=be(t,1,e.times(i),new t(1));for(var o=n;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return t.precision-=n,e}var E=function(){function t(r,i,o){var s,u=0,a=r.length;for(r=r.slice();a--;)s=r[a]*i+u,r[a]=s%o|0,u=s/o|0;return u&&r.unshift(u),r}function e(r,i,o,s){var u,a;if(o!=s)a=o>s?1:-1;else for(u=a=0;u<o;u++)if(r[u]!=i[u]){a=r[u]>i[u]?1:-1;break}return a}function n(r,i,o,s){for(var u=0;o--;)r[o]-=u,u=r[o]<i[o]?1:0,r[o]=u*s+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,s,u,a){var c,f,l,p,d,w,g,T,x,y,h,b,N,S,I,M,D,F,v,j,G=r.constructor,ie=r.s==i.s?1:-1,q=r.d,R=i.d;if(!q||!q[0]||!R||!R[0])return new G(!r.s||!i.s||(q?R&&q[0]==R[0]:!R)?NaN:q&&q[0]==0||!R?ie*0:ie/0);for(a?(d=1,f=r.e-i.e):(a=J,d=A,f=H(r.e/d)-H(i.e/d)),v=R.length,D=q.length,x=new G(ie),y=x.d=[],l=0;R[l]==(q[l]||0);l++);if(R[l]>(q[l]||0)&&f--,o==null?(S=o=G.precision,s=G.rounding):u?S=o+(r.e-i.e)+1:S=o,S<0)y.push(1),w=!0;else{if(S=S/d+2|0,l=0,v==1){for(p=0,R=R[0],S++;(l<D||p)&&S--;l++)I=p*a+(q[l]||0),y[l]=I/R|0,p=I%R|0;w=p||l<D}else{for(p=a/(R[0]+1)|0,p>1&&(R=t(R,p,a),q=t(q,p,a),v=R.length,D=q.length),M=v,h=q.slice(0,v),b=h.length;b<v;)h[b++]=0;j=R.slice(),j.unshift(0),F=R[0],R[1]>=a/2&&++F;do p=0,c=e(R,h,v,b),c<0?(N=h[0],v!=b&&(N=N*a+(h[1]||0)),p=N/F|0,p>1?(p>=a&&(p=a-1),g=t(R,p,a),T=g.length,b=h.length,c=e(g,h,T,b),c==1&&(p--,n(g,v<T?j:R,T,a))):(p==0&&(c=p=1),g=R.slice()),T=g.length,T<b&&g.unshift(0),n(h,g,b,a),c==-1&&(b=h.length,c=e(R,h,v,b),c<1&&(p++,n(h,v<b?j:R,b,a))),b=h.length):c===0&&(p++,h=[0]),y[l++]=p,c&&h[0]?h[b++]=q[M]||0:(h=[q[M]],b=1);while((M++<D||h[0]!==void 0)&&S--);w=h[0]!==void 0}y[0]||y.shift()}if(d==1)x.e=f,Gt=w;else{for(l=1,p=y[0];p>=10;p/=10)l++;x.e=l+f*d-1,P(x,u?o+x.e+1:o,s,w)}return x}}();function P(t,e,n,r){var i,o,s,u,a,c,f,l,p,d=t.constructor;e:if(e!=null){if(l=t.d,!l)return t;for(i=1,u=l[0];u>=10;u/=10)i++;if(o=e-i,o<0)o+=A,s=e,f=l[p=0],a=f/V(10,i-s-1)%10|0;else if(p=Math.ceil((o+1)/A),u=l.length,p>=u)if(r){for(;u++<=p;)l.push(0);f=a=0,i=1,o%=A,s=o-A+1}else break e;else{for(f=u=l[p],i=1;u>=10;u/=10)i++;o%=A,s=o-A+i,a=s<0?0:f/V(10,i-s-1)%10|0}if(r=r||e<0||l[p+1]!==void 0||(s<0?f:f%V(10,i-s-1)),c=n<4?(a||r)&&(n==0||n==(t.s<0?3:2)):a>5||a==5&&(n==4||r||n==6&&(o>0?s>0?f/V(10,i-s):0:l[p-1])%10&1||n==(t.s<0?8:7)),e<1||!l[0])return l.length=0,c?(e-=t.e+1,l[0]=V(10,(A-e%A)%A),t.e=-e||0):l[0]=t.e=0,t;if(o==0?(l.length=p,u=1,p--):(l.length=p+1,u=V(10,A-o),l[p]=s>0?(f/V(10,i-s)%V(10,s)|0)*u:0),c)for(;;)if(p==0){for(o=1,s=l[0];s>=10;s/=10)o++;for(s=l[0]+=u,u=1;s>=10;s/=10)u++;o!=u&&(t.e++,l[0]==J&&(l[0]=1));break}else{if(l[p]+=u,l[p]!=J)break;l[p--]=0,u=1}for(o=l.length;l[--o]===0;)l.pop()}return B&&(t.e>d.maxE?(t.d=null,t.e=NaN):t.e<d.minE&&(t.e=0,t.d=[0])),t}function ee(t,e,n){if(!t.isFinite())return Jt(t);var r,i=t.e,o=U(t.d),s=o.length;return e?(n&&(r=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+se(r):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+se(-i-1)+o,n&&(r=n-s)>0&&(o+=se(r))):i>=s?(o+=se(i+1-s),n&&(r=n-i-1)>0&&(o=o+"."+se(r))):((r=i+1)<s&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-s)>0&&(i+1===s&&(o+="."),o+=se(r))),o}function Ge(t,e){var n=t[0];for(e*=A;n>=10;n/=10)e++;return e}function We(t,e,n){if(e>qn)throw B=!0,n&&(t.precision=n),Error(Ht);return P(new t(Ve),e,1,!0)}function X(t,e,n){if(e>lt)throw Error(Ht);return P(new t(qe),e,n,!0)}function Yt(t){var e=t.length-1,n=e*A+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function se(t){for(var e="";t--;)e+="0";return e}function Zt(t,e,n,r){var i,o=new t(1),s=Math.ceil(r/A+4);for(B=!1;;){if(n%2&&(o=o.times(e),Wt(o.d,s)&&(i=!0)),n=H(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),Wt(e.d,s)}return B=!0,o}function qt(t){return t.d[t.d.length-1]&1}function Xt(t,e,n){for(var r,i=new t(e[0]),o=0;++o<e.length;)if(r=new t(e[o]),r.s)i[n](r)&&(i=r);else{i=r;break}return i}function ft(t,e){var n,r,i,o,s,u,a,c=0,f=0,l=0,p=t.constructor,d=p.rounding,w=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:0/0);for(e==null?(B=!1,a=w):a=e,u=new p(.03125);t.e>-2;)t=t.times(u),l+=5;for(r=Math.log(V(2,l))/Math.LN10*2+5|0,a+=r,n=o=s=new p(1),p.precision=a;;){if(o=P(o.times(t),a,1),n=n.times(++f),u=s.plus(E(o,n,a,1)),U(u.d).slice(0,a)===U(s.d).slice(0,a)){for(i=l;i--;)s=P(s.times(s),a,1);if(e==null)if(c<3&&Ae(s.d,a-r,d,c))p.precision=a+=10,n=o=u=new p(1),f=0,c++;else return P(s,p.precision=w,d,B=!0);else return p.precision=w,s}s=u}}function ue(t,e){var n,r,i,o,s,u,a,c,f,l,p,d=1,w=10,g=t,T=g.d,x=g.constructor,y=x.rounding,h=x.precision;if(g.s<0||!T||!T[0]||!g.e&&T[0]==1&&T.length==1)return new x(T&&!T[0]?-1/0:g.s!=1?NaN:T?0:g);if(e==null?(B=!1,f=h):f=e,x.precision=f+=w,n=U(T),r=n.charAt(0),Math.abs(o=g.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)g=g.times(t),n=U(g.d),r=n.charAt(0),d++;o=g.e,r>1?(g=new x("0."+n),o++):g=new x(r+"."+n.slice(1))}else return c=We(x,f+2,h).times(o+""),g=ue(new x(r+"."+n.slice(1)),f-w).plus(c),x.precision=h,e==null?P(g,h,y,B=!0):g;for(l=g,a=s=g=E(g.minus(1),g.plus(1),f,1),p=P(g.times(g),f,1),i=3;;){if(s=P(s.times(p),f,1),c=a.plus(E(s,new x(i),f,1)),U(c.d).slice(0,f)===U(a.d).slice(0,f))if(a=a.times(2),o!==0&&(a=a.plus(We(x,f+2,h).times(o+""))),a=E(a,new x(d),f,1),e==null)if(Ae(a.d,f-w,y,u))x.precision=f+=w,c=s=g=E(l.minus(1),l.plus(1),f,1),p=P(g.times(g),f,1),i=u=1;else return P(a,x.precision=h,y,B=!0);else return x.precision=h,a;a=c,i+=2}}function Jt(t){return String(t.s*t.s/0)}function pt(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%A,n<0&&(r+=A),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=A;r<i;)t.d.push(+e.slice(r,r+=A));e=e.slice(r),r=A-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),B&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function Un(t,e){var n,r,i,o,s,u,a,c,f;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),jt.test(e))return pt(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(On.test(e))n=16,e=e.toLowerCase();else if(In.test(e))n=2;else if(Fn.test(e))n=8;else throw Error(ae+e);for(o=e.search(/p/i),o>0?(a=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,r=t.constructor,s&&(e=e.replace(".",""),u=e.length,o=u-o,i=Zt(r,new r(n),o,o*2)),c=Fe(e,n,J),f=c.length-1,o=f;c[o]===0;--o)c.pop();return o<0?new r(t.s*0):(t.e=Ge(c,f),t.d=c,B=!1,s&&(t=E(t,i,u*4)),a&&(t=t.times(Math.abs(a)<54?V(2,a):ze.pow(2,a))),B=!0,t)}function Gn(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:be(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/He(5,n)),e=be(t,2,e,e);for(var i,o=new t(5),s=new t(16),u=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(s.times(i).minus(u))));return e}function be(t,e,n,r,i){var o,s,u,a,c=1,f=t.precision,l=Math.ceil(f/A);for(B=!1,a=n.times(n),u=new t(r);;){if(s=E(u.times(a),new t(e++*e++),f,1),u=i?r.plus(s):r.minus(s),r=E(s.times(a),new t(e++*e++),f,1),s=u.plus(r),s.d[l]!==void 0){for(o=l;s.d[o]===u.d[o]&&o--;);if(o==-1)break}o=u,u=r,r=s,s=o,c++}return B=!0,s.d.length=l+1,s}function He(t,e){for(var n=t;--e;)n*=t;return n}function $t(t,e){var n,r=e.s<0,i=X(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return te=r?4:1,e;if(n=e.divToInt(i),n.isZero())te=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return te=qt(n)?r?2:3:r?4:1,e;te=qt(n)?r?1:4:r?3:2}return e.minus(i).abs()}function dt(t,e,n,r){var i,o,s,u,a,c,f,l,p,d=t.constructor,w=n!==void 0;if(w?(Y(n,1,ce),r===void 0?r=d.rounding:Y(r,0,8)):(n=d.precision,r=d.rounding),!t.isFinite())f=Jt(t);else{for(f=ee(t),s=f.indexOf("."),w?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,s>=0&&(f=f.replace(".",""),p=new d(1),p.e=f.length-s,p.d=Fe(ee(p),10,i),p.e=p.d.length),l=Fe(f,10,i),o=a=l.length;l[--a]==0;)l.pop();if(!l[0])f=w?"0p+0":"0";else{if(s<0?o--:(t=new d(t),t.d=l,t.e=o,t=E(t,p,n,r,0,i),l=t.d,o=t.e,c=Gt),s=l[n],u=i/2,c=c||l[n+1]!==void 0,c=r<4?(s!==void 0||c)&&(r===0||r===(t.s<0?3:2)):s>u||s===u&&(r===4||c||r===6&&l[n-1]&1||r===(t.s<0?8:7)),l.length=n,c)for(;++l[--n]>i-1;)l[n]=0,n||(++o,l.unshift(1));for(a=l.length;!l[a-1];--a);for(s=0,f="";s<a;s++)f+=at.charAt(l[s]);if(w){if(a>1)if(e==16||e==8){for(s=e==16?4:3,--a;a%s;a++)f+="0";for(l=Fe(f,i,e),a=l.length;!l[a-1];--a);for(s=1,f="1.";s<a;s++)f+=at.charAt(l[s])}else f=f.charAt(0)+"."+f.slice(1);f=f+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)f="0"+f;f="0."+f}else if(++o>a)for(o-=a;o--;)f+="0";else o<a&&(f=f.slice(0,o)+"."+f.slice(o))}f=(e==16?"0x":e==2?"0b":e==8?"0o":"")+f}return t.s<0?"-"+f:f}function Wt(t,e){if(t.length>e)return t.length=e,!0}function Hn(t){return new this(t).abs()}function zn(t){return new this(t).acos()}function Qn(t){return new this(t).acosh()}function jn(t,e){return new this(t).plus(e)}function Yn(t){return new this(t).asin()}function Zn(t){return new this(t).asinh()}function Xn(t){return new this(t).atan()}function Jn(t){return new this(t).atanh()}function $n(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=X(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?X(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=X(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(E(t,e,o,1)),e=X(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(E(t,e,o,1)),n}function er(t){return new this(t).cbrt()}function tr(t){return P(t=new this(t),t.e+1,2)}function nr(t,e,n){return new this(t).clamp(e,n)}function rr(t){if(!t||typeof t!="object")throw Error(Ue+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,ce,"rounding",0,8,"toExpNeg",-he,0,"toExpPos",0,he,"maxE",0,he,"minE",-he,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=ct[n]),(r=t[n])!==void 0)if(H(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(ae+n+": "+r);if(n="crypto",i&&(this[n]=ct[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(zt);else this[n]=!1;else throw Error(ae+n+": "+r);return this}function ir(t){return new this(t).cos()}function or(t){return new this(t).cosh()}function en(t){var e,n,r;function i(o){var s,u,a,c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,Ut(o)){c.s=o.s,B?!o.d||o.e>i.maxE?(c.e=NaN,c.d=null):o.e<i.minE?(c.e=0,c.d=[0]):(c.e=o.e,c.d=o.d.slice()):(c.e=o.e,c.d=o.d?o.d.slice():o.d);return}if(a=typeof o,a==="number"){if(o===0){c.s=1/o<0?-1:1,c.e=0,c.d=[0];return}if(o<0?(o=-o,c.s=-1):c.s=1,o===~~o&&o<1e7){for(s=0,u=o;u>=10;u/=10)s++;B?s>i.maxE?(c.e=NaN,c.d=null):s<i.minE?(c.e=0,c.d=[0]):(c.e=s,c.d=[o]):(c.e=s,c.d=[o]);return}else if(o*0!==0){o||(c.s=NaN),c.e=NaN,c.d=null;return}return pt(c,o.toString())}else if(a!=="string")throw Error(ae+o);return(u=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(u===43&&(o=o.slice(1)),c.s=1),jt.test(o)?pt(c,o):Un(c,o)}if(i.prototype=m,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=rr,i.clone=en,i.isDecimal=Ut,i.abs=Hn,i.acos=zn,i.acosh=Qn,i.add=jn,i.asin=Yn,i.asinh=Zn,i.atan=Xn,i.atanh=Jn,i.atan2=$n,i.cbrt=er,i.ceil=tr,i.clamp=nr,i.cos=ir,i.cosh=or,i.div=sr,i.exp=ur,i.floor=ar,i.hypot=cr,i.ln=lr,i.log=fr,i.log10=dr,i.log2=pr,i.max=mr,i.min=gr,i.mod=hr,i.mul=br,i.pow=yr,i.random=wr,i.round=xr,i.sign=Tr,i.sin=Pr,i.sinh=Ar,i.sqrt=Sr,i.sub=Br,i.sum=Lr,i.tan=kr,i.tanh=Cr,i.trunc=Nr,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function sr(t,e){return new this(t).div(e)}function ur(t){return new this(t).exp()}function ar(t){return P(t=new this(t),t.e+1,3)}function cr(){var t,e,n=new this(0);for(B=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return B=!0,new this(1/0);n=e}return B=!0,n.sqrt()}function Ut(t){return t instanceof ze||t&&t.toStringTag===Qt||!1}function lr(t){return new this(t).ln()}function fr(t,e){return new this(t).log(e)}function pr(t){return new this(t).log(2)}function dr(t){return new this(t).log(10)}function mr(){return Xt(this,arguments,"lt")}function gr(){return Xt(this,arguments,"gt")}function hr(t,e){return new this(t).mod(e)}function br(t,e){return new this(t).mul(e)}function yr(t,e){return new this(t).pow(e)}function wr(t){var e,n,r,i,o=0,s=new this(1),u=[];if(t===void 0?t=this.precision:Y(t,1,ce),r=Math.ceil(t/A),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:u[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(u.push(i%1e7),o+=4);o=r/4}else throw Error(zt);else for(;o<r;)u[o++]=Math.random()*1e7|0;for(r=u[--o],t%=A,r&&t&&(i=V(10,A-t),u[o]=(r/i|0)*i);u[o]===0;o--)u.pop();if(o<0)n=0,u=[0];else{for(n=-1;u[0]===0;n-=A)u.shift();for(r=1,i=u[0];i>=10;i/=10)r++;r<A&&(n-=A-r)}return s.e=n,s.d=u,s}function xr(t){return P(t=new this(t),t.e+1,this.rounding)}function Tr(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function Pr(t){return new this(t).sin()}function Ar(t){return new this(t).sinh()}function Sr(t){return new this(t).sqrt()}function Br(t,e){return new this(t).sub(e)}function Lr(){var t=0,e=arguments,n=new this(e[t]);for(B=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return B=!0,P(n,this.precision,this.rounding)}function kr(t){return new this(t).tan()}function Cr(t){return new this(t).tanh()}function Nr(t){return P(t=new this(t),t.e+1,1)}m[Symbol.for("nodejs.util.inspect.custom")]=m.toString;m[Symbol.toStringTag]="Decimal";var ze=m.constructor=en(ct);Ve=new ze(Ve);qe=new ze(qe);import ni from"big.js";import Hu from"bn.js";import{get as tn,set as Mr}from"lodash";var mt=class{constructor(e){this.logLevel=e.logLevel!==void 0?e.logLevel:0,this.name=e.name}set level(e){this.logLevel=e}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(e){return e<=this.logLevel}error(...e){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...e),this):this}logWithError(...e){let n=e.map(r=>typeof r=="object"?JSON.stringify(r):r).join(", ");throw new Error(n)}warning(...e){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...e),this):this}info(...e){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...e),this):this}debug(...e){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...e),this):this}},nn={},Er={};function z(t){let e=tn(nn,t);if(!e){let n=tn(Er,t);e=new mt({name:t,logLevel:n}),Mr(nn,t,e)}return e}import{PublicKey as Rr}from"@solana/web3.js";import{MINT_SIZE as vi,TOKEN_PROGRAM_ID as Ii,getTransferFeeConfig as Oi,unpackMint as Fi}from"@solana/spl-token";var gt=z("Raydium_accountInfo_util");async function rn(t,e,n){let{batchRequest:r,commitment:i="confirmed",chunkCount:o=100}=W({batchRequest:!1},n),s=ht(e,o),u=new Array(s.length).fill([]);if(r){let a=s.map(l=>{let p=t._buildArgs([l.map(d=>d.toBase58())],i,"base64");return{methodName:"getMultipleAccounts",args:p}}),c=ht(a,10);u=(await(await Promise.all(c.map(async l=>await t._rpcBatchRequest(l)))).flat()).map(l=>(l.error&>.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${l.error.message}`),l.result.value.map(p=>{if(p){let{data:d,executable:w,lamports:g,owner:T,rentEpoch:x}=p;return d.length!==2&&d[1]!=="base64"&>.logWithError("info must be base64 encoded, RPC_ERROR"),{data:Buffer.from(d[0],"base64"),executable:w,lamports:g,owner:new Rr(T),rentEpoch:x}}return null})))}else try{u=await Promise.all(s.map(a=>t.getMultipleAccountsInfo(a,i)))}catch(a){a instanceof Error&>.logWithError(`failed to get info for multiple accounts, RPC_ERROR, ${a.message}`)}return u.flat()}import Se from"bn.js";var on=9007199254740991;function ne(t){let e=z("Raydium_parseBigNumberish");if(t instanceof Se)return t;if(typeof t=="string"){if(t.match(/^-?[0-9]+$/))return new Se(t);e.logWithError(`invalid BigNumberish string: ${t}`)}return typeof t=="number"?(t%1&&e.logWithError(`BigNumberish number underflow: ${t}`),(t>=on||t<=-on)&&e.logWithError(`BigNumberish number overflow: ${t}`),new Se(String(t))):typeof t=="bigint"?new Se(t.toString()):(e.error(`invalid BigNumberish value: ${t}`),new Se(0))}import{PublicKey as Dr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as sn}from"@solana/spl-token";var un={chainId:101,address:Dr.default.toBase58(),programId:sn.toBase58(),decimals:9,symbol:"SOL",name:"solana",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}},de={chainId:101,address:"So11111111111111111111111111111111111111112",programId:sn.toBase58(),decimals:9,symbol:"WSOL",name:"Wrapped SOL",logoURI:"https://img.raydium.io/icon/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"raydium",extensions:{coingeckoId:"solana"}};import{PublicKey as wt}from"@solana/web3.js";import{PublicKey as K,SystemProgram as an,SYSVAR_RENT_PUBKEY as _r}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Kr}from"@solana/spl-token";function yt({pubkey:t,isSigner:e=!1,isWritable:n=!0}){return{pubkey:t,isWritable:n,isSigner:e}}var Ji=[yt({pubkey:Kr,isWritable:!1}),yt({pubkey:an.programId,isWritable:!1}),yt({pubkey:_r,isWritable:!1})];function cn({publicKey:t,transformSol:e}){let n=ln(t.toString());if(n instanceof K)return e&&n.equals(Be)?bt:n;if(e&&n.toString()===Be.toBase58())return bt;if(typeof n=="string"){if(n===K.default.toBase58())return K.default;try{return new K(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function ln(t){try{return new K(t)}catch{return t}}var $i=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),eo=new K("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),to=new K("SysvarRent111111111111111111111111111111111"),no=new K("SysvarC1ock11111111111111111111111111111111"),ro=new K("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),io=new K("Sysvar1nstructions1111111111111111111111111"),oo=an.programId,so=new K("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"),uo=new K("Ea5SjE2Y6yvCeW5dYTn7PYMuW5ikXkvbGdcmSnXeaLjS"),ao=new K("SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt"),co=new K("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),lo=new K("Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"),fo=new K("mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So"),po=new K("7dHbWXmci3dT8UFYWYZweBLXgycu7Y3iL6trKn1Y7ARj"),mo=new K("USDH1SM1ojwWUga67PGrgFWUHibbjqMvuMaDkRJTgkX"),go=new K("NRVwhjBQiUPYtfDT5zRBVJajzFQHaBUNtC7SNVvqRFa"),ho=new K("ANAxByE6G2WjFp7A4NqtWYXb3mgruyzZYg3spfxe6Lbo"),bo=new K("7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs"),bt=new K("So11111111111111111111111111111111111111112"),Be=K.default;var xt=class{constructor({mint:e,decimals:n,symbol:r,name:i,skipMint:o=!1,isToken2022:s=!1}){if(e===Be.toBase58()||e instanceof wt&&Be.equals(e)){this.decimals=de.decimals,this.symbol=de.symbol,this.name=de.name,this.mint=new wt(de.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=r||e.toString().substring(0,6),this.name=i||e.toString().substring(0,6),this.mint=o?wt.default:cn({publicKey:e}),this.isToken2022=s}equals(e){return this===e?!0:this.mint.equals(e.mint)}},ye=xt;ye.WSOL=new xt(oe(W({},de),{mint:de.address}));var Tt=class{constructor({decimals:e,symbol:n="UNKNOWN",name:r="UNKNOWN"}){this.decimals=e,this.symbol=n,this.name=r}equals(e){return this===e}},Qe=Tt;Qe.SOL=new Tt(un);import vr from"toformat";var Ir=vr,Le=Ir;import Ye from"big.js";import Fr from"bn.js";import Vr from"decimal.js-light";var je=z("module/fraction"),Pt=Le(Ye),ke=Le(Vr),qr={[0]:ke.ROUND_DOWN,[1]:ke.ROUND_HALF_UP,[2]:ke.ROUND_UP},Wr={[0]:Ye.roundDown,[1]:Ye.roundHalfUp,[2]:Ye.roundUp},_=class{constructor(e,n=new Fr(1)){this.numerator=ne(e),this.denominator=ne(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new _(this.denominator,this.numerator)}add(e){let n=e instanceof _?e:new _(ne(e));return this.denominator.eq(n.denominator)?new _(this.numerator.add(n.numerator),this.denominator):new _(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(e){let n=e instanceof _?e:new _(ne(e));return this.denominator.eq(n.denominator)?new _(this.numerator.sub(n.numerator),this.denominator):new _(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(e){let n=e instanceof _?e:new _(ne(e));return new _(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(e){let n=e instanceof _?e:new _(ne(e));return new _(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(e,n={groupSeparator:""},r=1){Number.isInteger(e)||je.logWithError(`${e} is not an integer.`),e<=0&&je.logWithError(`${e} is not positive.`),ke.set({precision:e+1,rounding:qr[r]});let i=new ke(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(e);return i.toFormat(i.decimalPlaces(),n)}toFixed(e,n={groupSeparator:""},r=1){return Number.isInteger(e)||je.logWithError(`${e} is not an integer.`),e<0&&je.logWithError(`${e} is negative.`),Pt.DP=e,Pt.RM=Wr[r]||1,new Pt(this.numerator.toString()).div(this.denominator.toString()).toFormat(e,n)}isZero(){return this.numerator.isZero()}};import Ur from"bn.js";var Fo=new _(new Ur(100));var Ho=z("Raydium_price");function ht(t,e=1,n=[]){let r=[...t];if(e<=0)return n;for(;r.length;)n.push(r.splice(0,e));return n}import{PublicKey as As}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as Bs}from"@solana/spl-token";import{ComputeBudgetProgram as mn,Keypair as hn,PublicKey as ms,Transaction as bn,TransactionMessage as Gr,VersionedTransaction as yn}from"@solana/web3.js";var Z={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",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"};import{TOKEN_PROGRAM_ID as Hr}from"@solana/spl-token";var gn=z("Raydium_txUtil"),wn=1644;function Xe(t){let e=[],n=[];return t.microLamports&&(e.push(mn.setComputeUnitPrice({microLamports:t.microLamports})),n.push(Z.SetComputeUnitPrice)),t.units&&(e.push(mn.setComputeUnitLimit({units:t.units})),n.push(Z.SetComputeUnitLimit)),{instructions:e,instructionTypes:n}}async function we(t,e){var r,i;let n=e!=null?e:"confirmed";return(i=await((r=t.getLatestBlockhash)==null?void 0:r.call(t,{commitment:n})))==null?void 0:i.blockhash}async function Je(t,e){return t.getSignatureStatuses([e]),new Promise((n,r)=>{let i=setTimeout(r,6e4);t.onSignature(e,o=>{if(clearTimeout(i),!o.err){n("");return}r(o.err.toString())},"confirmed")})}function zr(t,e){t.length<1&&gn.logWithError(`no instructions provided: ${t.toString()}`),e.length<1&&gn.logWithError(`no signers provided:, ${e.toString()}`);let n=new bn;n.recentBlockhash="11111111111111111111111111111111",n.feePayer=e[0],n.add(...t);try{return Buffer.from(n.serialize({verifySignatures:!1})).toString("base64").length<wn}catch{return!1}}function Ce({instructions:t,payer:e,signers:n}){return zr(t,[e,...n])}function Ne({instructions:t,payer:e,lookupTableAddressAccount:n,recentBlockhash:r=hn.generate().publicKey.toString()}){let o=new Gr({payerKey:e,recentBlockhash:r,instructions:t}).compileToV0Message(Object.values(n!=null?n:{}));try{return Buffer.from(new yn(o).serialize()).toString("base64").length<wn}catch{return!1}}var Qr=t=>Buffer.isBuffer(t)?t:t instanceof Uint8Array?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t),jr=t=>{let e=t.serialize({requireAllSignatures:!1,verifySignatures:!1});t instanceof yn&&(e=Qr(e));try{return e instanceof Buffer?e.toString("base64"):Buffer.from(e).toString("base64")}catch{return e.toString("base64")}};function me(t){let e=[];return t.forEach(n=>{n instanceof bn&&(n.recentBlockhash||(n.recentBlockhash=Hr.toBase58()),n.feePayer||(n.feePayer=hn.generate().publicKey)),e.push(jr(n))}),console.log("simulate tx string:",e),e}import{PublicKey as L}from"@solana/web3.js";var Ns=new L("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Ms=new L("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Es=new L("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),Rs=new L("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Ds=new L("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),_s=new L("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),Ks=new L("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),vs=new L("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Is=new L("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),Os=new L("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK"),Fs=new L("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Vs=new L("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),qs=new L("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),Ws=new L("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),Us=new L("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),Gs=new L("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),Hs=new L("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),zs=new L("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),Qs=new L("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),js=new L("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),Ys=new L("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),Yr=new L("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),Zr=new L("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),Xr=new L("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),Zs=new L("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),Jr=new L("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),Xs=new L("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),$r=new L("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var Js={SERUM_MARKET:L.default,OPENBOOK_MARKET:new L("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:L.default,FarmV3:new L("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new L("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new L("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new L("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new L("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new L("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new L("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new L("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new L("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:Yr,CREATE_CPMM_POOL_AUTH:Zr,CREATE_CPMM_POOL_FEE_ACC:Xr,FEE_DESTINATION_ID:new L("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:Jr,LCOK_CPMM_AUTH:$r};import tu from"bn.js";import{PublicKey as xn,AddressLookupTableAccount as $e}from"@solana/web3.js";async function At({connection:t,address:e}){let n=await rn(t,[...new Set(e.map(i=>i.toString()))].map(i=>new xn(i))),r={};for(let i=0;i<e.length;i++){let o=n[i],s=e[i];if(!o)continue;let u=new $e({key:s,state:$e.deserialize(o.data)});r[s.toString()]=u,et[s.toString()]=u}return r}var et={"2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17":new $e({key:new xn("2immgwYNHBbyVQKVGCEkgWpi53bLwWNRMB5G2nbgYV17"),state:$e.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 Me,sendAndConfirmTransaction as St,Transaction as Ee,TransactionMessage as Re,VersionedTransaction as De}from"@solana/web3.js";import ti from"axios";var tt=class{constructor(e){this.instructions=[];this.endInstructions=[];this.lookupTableAddress=[];this.signers=[];this.instructionTypes=[];this.endInstructionTypes=[];this.connection=e.connection,this.feePayer=e.feePayer,this.signAllTransactions=e.signAllTransactions,this.owner=e.owner,this.cluster=e.cluster,this.blockhashCommitment=e.blockhashCommitment,this.api=e.api}get AllTxData(){return{instructions:this.instructions,endInstructions:this.endInstructions,signers:this.signers,instructionTypes:this.instructionTypes,endInstructionTypes:this.endInstructionTypes,lookupTableAddress:this.lookupTableAddress}}get allInstructions(){return[...this.instructions,...this.endInstructions]}async getComputeBudgetConfig(){var r;let e=(await ti.get(`https://solanacompass.com/api/fees?cacheFreshTime=${3e5}`)).data,{avg:n}=(r=e==null?void 0:e[15])!=null?r:{};if(!!n)return{units:6e5,microLamports:Math.min(Math.ceil(n*1e6/6e5),25e3)}}addCustomComputeBudget(e){if(e){let{instructions:n,instructionTypes:r}=Xe(e);return this.instructions.unshift(...n),this.instructionTypes.unshift(...r),!0}return!1}async calComputeBudget({config:e,defaultIns:n}){try{let r=e||await this.getComputeBudgetConfig();if(this.addCustomComputeBudget(r))return;n&&this.instructions.unshift(...n)}catch{n&&this.instructions.unshift(...n)}}addInstruction({instructions:e=[],endInstructions:n=[],signers:r=[],instructionTypes:i=[],endInstructionTypes:o=[],lookupTableAddress:s=[]}){return this.instructions.push(...e),this.endInstructions.push(...n),this.signers.push(...r),this.instructionTypes.push(...i),this.endInstructionTypes.push(...o),this.lookupTableAddress.push(...s.filter(u=>u!==Me.default.toString())),this}async versionBuild({txVersion:e,extInfo:n}){return e===0?await this.buildV0(W({},n||{})):this.build(n)}build(e){var r;let n=new Ee;return this.allInstructions.length&&n.add(...this.allInstructions),n.feePayer=this.feePayer,((r=this.owner)==null?void 0:r.signer)&&!this.signers.some(i=>i.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer),{builder:this,transaction:n,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async i=>{var c;let{recentBlockHash:o,skipPreflight:s=!0,sendAndConfirm:u}=i||{},a=o!=null?o:await we(this.connection,this.blockhashCommitment);if(n.recentBlockhash=a,this.signers.length&&n.sign(...this.signers),me([n]),(c=this.owner)!=null&&c.isKeyPair)return{txId:u?await St(this.connection,n,this.signers.find(l=>l.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:s}):await this.connection.sendRawTransaction(n.serialize(),{skipPreflight:s}),signedTx:n};if(this.signAllTransactions){let f=await this.signAllTransactions([n]);return{txId:await this.connection.sendRawTransaction(f[0].serialize(),{skipPreflight:s}),signedTx:f[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:e||{}}}buildMultiTx(e){var c;let{extraPreBuildData:n=[],extInfo:r}=e,{transaction:i}=this.build(r),o=n.filter(f=>f.transaction.instructions.length>0),s=[i,...o.map(f=>f.transaction)],u=[this.signers,...o.map(f=>f.signers)],a=[...this.instructionTypes,...o.map(f=>f.instructionTypes).flat()];return(c=this.owner)!=null&&c.signer&&u.forEach(f=>{f.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),{builder:this,transactions:s,signers:u,instructionTypes:a,execute:async f=>{var T;let{sequentially:l,onTxUpdate:p,recentBlockHash:d,skipPreflight:w=!0}=f||{},g=d!=null?d:await we(this.connection,this.blockhashCommitment);if((T=this.owner)!=null&&T.isKeyPair){if(l){let x=[];for(let y of s){let h=await St(this.connection,y,this.signers.find(b=>b.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:w});x.push(h)}return{txIds:x,signedTxs:s}}return{txIds:await await Promise.all(s.map(async x=>(x.recentBlockhash=g,await this.connection.sendRawTransaction(x.serialize(),{skipPreflight:w})))),signedTxs:s}}if(this.signAllTransactions){let x=s.map((h,b)=>(h.recentBlockhash=g,u[b].length&&h.sign(...u[b]),h));me(x);let y=await this.signAllTransactions(x);if(l){let h=0,b=[],N=async()=>{if(!y[h])return;let S=await this.connection.sendRawTransaction(y[h].serialize(),{skipPreflight:w});b.push({txId:S,status:"sent",signedTx:y[h]}),p==null||p([...b]),h++,this.connection.onSignature(S,I=>{let M=b.findIndex(D=>D.txId===S);M>-1&&(b[M].status=I.err?"error":"success"),p==null||p([...b]),I.err||N()},"processed"),this.connection.getSignatureStatus(S)};return await N(),{txIds:b.map(S=>S.txId),signedTxs:y}}else{let h=[];for(let b=0;b<y.length;b+=1){let N=await this.connection.sendRawTransaction(y[b].serialize(),{skipPreflight:w});h.push(N)}return{txIds:h,signedTxs:y}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async versionMultiBuild({extraPreBuildData:e,txVersion:n,extInfo:r}){return n===0?await this.buildV0MultiTx({extraPreBuildData:e,buildProps:r||{}}):this.buildMultiTx({extraPreBuildData:e,extInfo:r})}async buildV0(e){var g;let w=e||{},{lookupTableCache:n={},lookupTableAddress:r=[],forerunCreate:i,recentBlockhash:o}=w,s=Oe(w,["lookupTableCache","lookupTableAddress","forerunCreate","recentBlockhash"]),u=W(W({},this.cluster==="devnet"?{}:et),n),a=Array.from(new Set([...r,...this.lookupTableAddress])),c=[];for(let T of a)u[T]===void 0&&c.push(new Me(T));let f=await At({connection:this.connection,address:c});for(let[T,x]of Object.entries(f))u[T]=x;let l=i?Me.default.toBase58():o!=null?o:await we(this.connection,this.blockhashCommitment),p=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...this.allInstructions]}).compileToV0Message(Object.values(u));((g=this.owner)==null?void 0:g.signer)&&!this.signers.some(T=>T.publicKey.equals(this.owner.publicKey))&&this.signers.push(this.owner.signer);let d=new De(p);return d.sign(this.signers),{builder:this,transaction:d,signers:this.signers,instructionTypes:[...this.instructionTypes,...this.endInstructionTypes],execute:async T=>{var h;let{skipPreflight:x=!0,sendAndConfirm:y}=T||{};if(me([d]),(h=this.owner)!=null&&h.isKeyPair){let b=await this.connection.sendTransaction(d,{skipPreflight:x});return y&&await Je(this.connection,b),{txId:b,signedTx:d}}if(this.signAllTransactions){let b=await this.signAllTransactions([d]);return{txId:await this.connection.sendTransaction(b[0],{skipPreflight:x}),signedTx:b[0]}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:s||{}}}async buildV0MultiTx(e){var c;let{extraPreBuildData:n=[],buildProps:r}=e,{transaction:i}=await this.buildV0(r),o=n.filter(f=>f.builder.instructions.length>0),s=[i,...o.map(f=>f.transaction)],u=[this.signers,...o.map(f=>f.signers)],a=[...this.instructionTypes,...o.map(f=>f.instructionTypes).flat()];return(c=this.owner)!=null&&c.signer&&u.forEach(f=>{f.some(l=>l.publicKey.equals(this.owner.publicKey))||this.signers.push(this.owner.signer)}),s.forEach(async(f,l)=>{f.sign(u[l])}),{builder:this,transactions:s,signers:u,instructionTypes:a,buildProps:r,execute:async f=>{var g;let{sequentially:l,onTxUpdate:p,recentBlockHash:d,skipPreflight:w=!0}=f||{};if(d&&s.forEach(T=>T.message.recentBlockhash=d),me(s),(g=this.owner)!=null&&g.isKeyPair){if(l){let T=[];for(let x of s){let y=await this.connection.sendTransaction(x,{skipPreflight:w});await Je(this.connection,y),T.push(y)}return{txIds:T,signedTxs:s}}return{txIds:await Promise.all(s.map(async T=>await this.connection.sendTransaction(T,{skipPreflight:w}))),signedTxs:s}}if(this.signAllTransactions){let T=await this.signAllTransactions(s);if(l){let x=0,y=[],h=async()=>{if(!T[x])return;let b=await this.connection.sendTransaction(T[x],{skipPreflight:w});y.push({txId:b,status:"sent",signedTx:T[x]}),p==null||p([...y]),x++,this.connection.onSignature(b,N=>{let S=y.findIndex(I=>I.txId===b);S>-1&&(y[S].status=N.err?"error":"success"),p==null||p([...y]),N.err||h()},"processed"),this.connection.getSignatureStatus(b)};return h(),{txIds:[],signedTxs:T}}else{let x=[];for(let y=0;y<T.length;y+=1){let h=await this.connection.sendTransaction(T[y],{skipPreflight:w});x.push(h)}return{txIds:x,signedTxs:T}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuild(e){var f;let c=e||{},{computeBudgetConfig:n}=c,r=Oe(c,["computeBudgetConfig"]),i=n?Xe(n):{instructions:[],instructionTypes:[]},o=this.signers.reduce((l,p)=>oe(W({},l),{[p.publicKey.toBase58()]:p}),{}),s=[],u=[],a=[];if(this.allInstructions.forEach(l=>{let p=[...a,l],d=n?[...i.instructions,...p]:p,g=[...new Set(p.map(T=>T.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat()).values()].map(T=>new Me(T));if(a.length<12&&Ce({instructions:d,payer:this.feePayer,signers:g})||Ce({instructions:p,payer:this.feePayer,signers:g}))a.push(l);else{if(a.length===0)throw Error("item ins too big");Ce({instructions:n?[...i.instructions,...a]:[...a],payer:this.feePayer,signers:g})?s.push(new Ee().add(...i.instructions,...a)):s.push(new Ee().add(...a)),u.push(Array.from(new Set(a.map(T=>T.keys.filter(x=>x.isSigner).map(x=>x.pubkey.toString())).flat())).map(T=>o[T]).filter(T=>T!==void 0)),a=[l]}}),a.length>0){let p=[...new Set(a.map(d=>d.keys.filter(w=>w.isSigner).map(w=>w.pubkey.toString())).flat()).values()].map(d=>o[d]).filter(d=>d!==void 0);Ce({instructions:n?[...i.instructions,...a]:[...a],payer:this.feePayer,signers:p.map(d=>d.publicKey)})?s.push(new Ee().add(...i.instructions,...a)):s.push(new Ee().add(...a)),u.push(p)}return s.forEach(l=>l.feePayer=this.feePayer),(f=this.owner)!=null&&f.signer&&u.forEach(l=>{l.some(p=>p.publicKey.equals(this.owner.publicKey))||l.push(this.owner.signer)}),{builder:this,transactions:s,signers:u,instructionTypes:this.instructionTypes,execute:async l=>{var x;let{sequentially:p,onTxUpdate:d,recentBlockHash:w,skipPreflight:g=!0}=l||{},T=w!=null?w:await we(this.connection,this.blockhashCommitment);if(s.forEach(async(y,h)=>{y.recentBlockhash=T,u[h].length&&y.sign(...u[h])}),me(s),(x=this.owner)!=null&&x.isKeyPair){if(p){let y=[];for(let h of s){let b=await St(this.connection,h,this.signers.find(N=>N.publicKey.equals(this.owner.publicKey))?this.signers:[...this.signers,this.owner.signer],{skipPreflight:g});y.push(b)}return{txIds:y,signedTxs:s}}return{txIds:await Promise.all(s.map(async y=>await this.connection.sendRawTransaction(y.serialize(),{skipPreflight:g}))),signedTxs:s}}if(this.signAllTransactions){let y=await this.signAllTransactions(s);if(p){let h=0,b=[],N=async()=>{if(!y[h])return;let S=await this.connection.sendRawTransaction(y[h].serialize(),{skipPreflight:g});b.push({txId:S,status:"sent",signedTx:y[h]}),d==null||d([...b]),h++,this.connection.onSignature(S,I=>{let M=b.findIndex(D=>D.txId===S);M>-1&&(b[M].status=I.err?"error":"success"),d==null||d([...b]),I.err||N()},"processed"),this.connection.getSignatureStatus(S)};return await N(),{txIds:b.map(S=>S.txId),signedTxs:y}}else{let h=[];for(let b=0;b<y.length;b+=1){let N=await this.connection.sendRawTransaction(y[b].serialize(),{skipPreflight:g});h.push(N)}return{txIds:h,signedTxs:y}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:r||{}}}async sizeCheckBuildV0(e){var x;let T=e||{},{computeBudgetConfig:n,lookupTableCache:r={},lookupTableAddress:i=[]}=T,o=Oe(T,["computeBudgetConfig","lookupTableCache","lookupTableAddress"]),s=W(W({},this.cluster==="devnet"?{}:et),r),u=Array.from(new Set([...this.lookupTableAddress,...i])),a=[];for(let y of u)s[y]===void 0&&a.push(new Me(y));let c=await At({connection:this.connection,address:a});for(let[y,h]of Object.entries(c))s[y]=h;let f=n?Xe(n):{instructions:[],instructionTypes:[]},l=await we(this.connection,this.blockhashCommitment),p=this.signers.reduce((y,h)=>oe(W({},y),{[h.publicKey.toBase58()]:h}),{}),d=[],w=[],g=[];if(this.allInstructions.forEach(y=>{let h=[...g,y],b=n?[...f.instructions,...h]:h;if(g.length<12&&Ne({instructions:b,payer:this.feePayer,lookupTableAddressAccount:s})||Ne({instructions:h,payer:this.feePayer,lookupTableAddressAccount:s}))g.push(y);else{if(g.length===0)throw Error("item ins too big");let N={};for(let S of[...new Set(u)])s[S]!==void 0&&(N[S]=s[S]);if(n&&Ne({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let S=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new De(S))}else{let S=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new De(S))}w.push(Array.from(new Set(g.map(S=>S.keys.filter(I=>I.isSigner).map(I=>I.pubkey.toString())).flat())).map(S=>p[S]).filter(S=>S!==void 0)),g=[y]}}),g.length>0){let h=[...new Set(g.map(b=>b.keys.filter(N=>N.isSigner).map(N=>N.pubkey.toString())).flat()).values()].map(b=>p[b]).filter(b=>b!==void 0);if(n&&Ne({instructions:[...f.instructions,...g],payer:this.feePayer,lookupTableAddressAccount:s,recentBlockhash:l})){let b=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...f.instructions,...g]}).compileToV0Message(Object.values(s));d.push(new De(b))}else{let b=new Re({payerKey:this.feePayer,recentBlockhash:l,instructions:[...g]}).compileToV0Message(Object.values(s));d.push(new De(b))}w.push(h)}return(x=this.owner)!=null&&x.signer&&w.forEach(y=>{y.some(h=>h.publicKey.equals(this.owner.publicKey))||y.push(this.owner.signer)}),{builder:this,transactions:d,buildProps:e,signers:w,instructionTypes:this.instructionTypes,execute:async y=>{var I;let{sequentially:h,onTxUpdate:b,recentBlockHash:N,skipPreflight:S=!0}=y||{};if(d.map(async(M,D)=>{w[D].length&&M.sign(w[D]),N&&(M.message.recentBlockhash=N)}),me(d),(I=this.owner)!=null&&I.isKeyPair){if(h){let M=[];for(let D of d){let F=await this.connection.sendTransaction(D,{skipPreflight:S});await Je(this.connection,F),M.push(F)}return{txIds:M,signedTxs:d}}return{txIds:await Promise.all(d.map(async M=>await this.connection.sendTransaction(M,{skipPreflight:S}))),signedTxs:d}}if(this.signAllTransactions){let M=await this.signAllTransactions(d);if(h){let D=0,F=[],v=async()=>{if(!M[D])return;let j=await this.connection.sendTransaction(M[D],{skipPreflight:S});F.push({txId:j,status:"sent",signedTx:M[D]}),b==null||b([...F]),D++,this.connection.onSignature(j,G=>{let ie=F.findIndex(q=>q.txId===j);ie>-1&&(F[ie].status=G.err?"error":"success"),b==null||b([...F]),G.err||v()},"processed"),this.connection.getSignatureStatus(j)};return v(),{txIds:[],signedTxs:M}}else{let D=[];for(let F=0;F<M.length;F+=1){let v=await this.connection.sendTransaction(M[F],{skipPreflight:S});D.push(v)}return{txIds:D,signedTxs:M}}}throw new Error("please provide owner in keypair format or signAllTransactions function")},extInfo:o||{}}}};import{PublicKey as wu}from"@solana/web3.js";import Tu from"bn.js";var ea=z("Raydium_amount"),ta=Le(ni);var Ze=new re(0),ya=new re(1),wa=new re(2),xa=new re(3),Ta=new re(5),ri=new re(10),Pa=new re(100),Aa=new re(1e3),Sa=new re(1e4);import{Keypair as bi,PublicKey as yi}from"@solana/web3.js";import Gc from"bn.js";import{TOKEN_PROGRAM_ID as wi}from"@solana/spl-token";function ii(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Bt(t,...e){if(!ii(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function Lt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Tn(t,e){Bt(t);let n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}var rt=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),$=(t,e)=>t<<32-e|t>>>e;var Ca=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function oi(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function kt(t){return typeof t=="string"&&(t=oi(t)),Bt(t),t}var nt=class{clone(){return this._cloneInto()}},Na={}.toString;function Pn(t){let e=r=>t().update(kt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function si(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);let i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),u=Number(n&o),a=r?4:0,c=r?0:4;t.setUint32(e+a,s,r),t.setUint32(e+c,u,r)}var An=(t,e,n)=>t&e^~t&n,Sn=(t,e,n)=>t&e^t&n^e&n,it=class extends nt{constructor(e,n,r,i){super(),this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=rt(this.buffer)}update(e){Lt(this);let{view:n,buffer:r,blockLen:i}=this;e=kt(e);let o=e.length;for(let s=0;s<o;){let u=Math.min(i-this.pos,o-s);if(u===i){let a=rt(e);for(;i<=o-s;s+=i)this.process(a,s);continue}r.set(e.subarray(s,s+u),this.pos),this.pos+=u,s+=u,this.pos===i&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Lt(this),Tn(e,this),this.finished=!0;let{buffer:n,view:r,blockLen:i,isLE:o}=this,{pos:s}=this;n[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(r,0),s=0);for(let l=s;l<i;l++)n[l]=0;si(r,i-8,BigInt(this.length*8),o),this.process(r,0);let u=rt(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,f=this.get();if(c>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<c;l++)u.setUint32(4*l,f[l],o)}digest(){let{buffer:e,outputLen:n}=this;this.digestInto(e);let r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:n,buffer:r,length:i,finished:o,destroyed:s,pos:u}=this;return e.length=i,e.pos=u,e.finished=o,e.destroyed=s,i%n&&e.buffer.set(r),e}};var ui=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),le=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),fe=new Uint32Array(64),Ct=class extends it{constructor(){super(64,32,8,!1),this.A=le[0]|0,this.B=le[1]|0,this.C=le[2]|0,this.D=le[3]|0,this.E=le[4]|0,this.F=le[5]|0,this.G=le[6]|0,this.H=le[7]|0}get(){let{A:e,B:n,C:r,D:i,E:o,F:s,G:u,H:a}=this;return[e,n,r,i,o,s,u,a]}set(e,n,r,i,o,s,u,a){this.A=e|0,this.B=n|0,this.C=r|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=u|0,this.H=a|0}process(e,n){for(let l=0;l<16;l++,n+=4)fe[l]=e.getUint32(n,!1);for(let l=16;l<64;l++){let p=fe[l-15],d=fe[l-2],w=$(p,7)^$(p,18)^p>>>3,g=$(d,17)^$(d,19)^d>>>10;fe[l]=g+fe[l-7]+w+fe[l-16]|0}let{A:r,B:i,C:o,D:s,E:u,F:a,G:c,H:f}=this;for(let l=0;l<64;l++){let p=$(u,6)^$(u,11)^$(u,25),d=f+p+An(u,a,c)+ui[l]+fe[l]|0,g=($(r,2)^$(r,13)^$(r,22))+Sn(r,i,o)|0;f=c,c=a,a=u,u=s+d|0,s=o,o=i,i=r,r=d+g|0}r=r+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,u=u+this.E|0,a=a+this.F|0,c=c+this.G|0,f=f+this.H|0,this.set(r,i,o,s,u,a,c,f)}roundClean(){fe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Bn=Pn(()=>new Ct);import{PublicKey as gi}from"@solana/web3.js";import Cn,{isBN as Rc}from"bn.js";import{bits as ai,BitStructure as Oa,blob as ci,Blob as Fa,cstr as Va,f32 as qa,f32be as Wa,f64 as Ua,f64be as Ga,greedy as Ha,Layout as li,ns64 as za,ns64be as Qa,nu64 as ja,nu64be as Ya,offset as Za,s16 as Xa,s16be as Ja,s24 as $a,s24be as ec,s32 as tc,s32be as nc,s40 as rc,s40be as ic,s48 as oc,s48be as sc,s8 as uc,seq as ac,struct as cc,Structure as fi,u16 as pi,u16be as lc,u24 as fc,u24be as pc,u32 as di,u32be as dc,u40 as mc,u40be as gc,u48 as hc,u48be as bc,u8 as yc,UInt as mi,union as wc,Union as xc,unionLayoutDiscriminator as Tc,utf8 as Pc}from"@solana/buffer-layout";var ot=li,Ln=fi;var Nt=mi;var kn=pi;var Mt=di;var xe=ci;var Et=ai;var Rt=class extends ot{constructor(n,r,i){super(n,i);this.blob=xe(n),this.signed=r}decode(n,r=0){let i=new Cn(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 Cn(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),r,i)}},st=class extends ot{constructor(n){super(8,n);this._lower=Et(Mt(),!1),this._upper=Et(Mt(),!1)}addBoolean(n){this._lower.fields.length<32?this._lower.addBoolean(n):this._upper.addBoolean(n)}decode(n,r=0){let i=this._lower.decode(n,r),o=this._upper.decode(n,r+this._lower.span);return W(W({},i),o)}encode(n,r,i=0){return this._lower.encode(n,r,i)+this._upper.encode(n,r,i+this._lower.span)}};function ut(t){return new Nt(1,t)}function Te(t){return new Nt(4,t)}function O(t){return new Rt(8,!1,t)}var Dt=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 Q(t){return new Dt(xe(32),e=>new gi(e),e=>e.toBuffer(),t)}var _t=class extends Ln{decode(e,n){return super.decode(e,n)}};function Pe(t,e,n){return new _t(t,e,n)}var hi=Pe([Q("mint"),Q("owner"),O("amount"),Te("delegateOption"),Q("delegate"),ut("state"),Te("isNativeOption"),O("isNative"),O("delegatedAmount"),Te("closeAuthorityOption"),Q("closeAuthority")]);var Yc=z("Raydium_Util");function pe({fromPublicKey:t,programId:e=wi}){let n=bi.generate().publicKey.toBase58().slice(0,32);return{publicKey:xi(t,n,e),seed:n}}function xi(t,e,n){let r=Buffer.concat([t.toBuffer(),Buffer.from(e),n.toBuffer()]),i=Bn(r);return new yi(i)}var Kt=(...t)=>t.map(e=>{try{return typeof e=="object"?JSON.stringify(e):e}catch{return e}}).join(", "),_e=class{constructor({scope:e,moduleName:n}){this.disabled=!1;this.scope=e,this.logger=z(n)}createTxBuilder(e){return this.scope.checkOwner(),new tt({connection:this.scope.connection,feePayer:e||this.scope.ownerPubKey,cluster:this.scope.cluster,owner:this.scope.owner,blockhashCommitment:this.scope.blockhashCommitment,api:this.scope.api,signAllTransactions:this.scope.signAllTransactions})}logDebug(...e){this.logger.debug(Kt(e))}logInfo(...e){this.logger.info(Kt(e))}logAndCreateError(...e){let n=Kt(e);throw new Error(n)}checkDisabled(){(this.disabled||!this.scope)&&this.logAndCreateError("module not working")}};import{SystemProgram as ge,SYSVAR_RENT_PUBKEY as Pi,Transaction as Nn,TransactionInstruction as Ai}from"@solana/web3.js";import{createInitializeAccountInstruction as Mn,TOKEN_PROGRAM_ID as En}from"@solana/spl-token";function Ti(t="accountFlags"){let e=new st(t);return e.addBoolean("initialized"),e.addBoolean("market"),e.addBoolean("openOrders"),e.addBoolean("requestQueue"),e.addBoolean("eventQueue"),e.addBoolean("bids"),e.addBoolean("asks"),e}var vt=Pe([xe(5),Ti("accountFlags"),Q("ownAddress"),O("vaultSignerNonce"),Q("baseMint"),Q("quoteMint"),Q("baseVault"),O("baseDepositsTotal"),O("baseFeesAccrued"),Q("quoteVault"),O("quoteDepositsTotal"),O("quoteFeesAccrued"),O("quoteDustThreshold"),Q("requestQueue"),Q("eventQueue"),Q("bids"),Q("asks"),O("baseLotSize"),O("quoteLotSize"),O("feeRateBps"),O("referrerRebatesAccrued"),xe(7)]);function Si({programId:t,marketInfo:e}){let n=Pe([ut("version"),Te("instruction"),O("baseLotSize"),O("quoteLotSize"),kn("feeRateBps"),O("vaultSignerNonce"),O("quoteDustThreshold")]),r=[{pubkey:e.id,isSigner:!1,isWritable:!0},{pubkey:e.requestQueue,isSigner:!1,isWritable:!0},{pubkey:e.eventQueue,isSigner:!1,isWritable:!0},{pubkey:e.bids,isSigner:!1,isWritable:!0},{pubkey:e.asks,isSigner:!1,isWritable:!0},{pubkey:e.baseVault,isSigner:!1,isWritable:!0},{pubkey:e.quoteVault,isSigner:!1,isWritable:!0},{pubkey:e.baseMint,isSigner:!1,isWritable:!1},{pubkey:e.quoteMint,isSigner:!1,isWritable:!1},{pubkey:e.authority?e.quoteMint:Pi,isSigner:!1,isWritable:!1}].concat(e.authority?{pubkey:e.authority,isSigner:!1,isWritable:!1}:[]).concat(e.authority&&e.pruneAuthority?{pubkey:e.pruneAuthority,isSigner:!1,isWritable:!1}:[]),i=Buffer.alloc(n.span);return n.encode({version:0,instruction:0,baseLotSize:e.baseLotSize,quoteLotSize:e.quoteLotSize,feeRateBps:e.feeRateBps,vaultSignerNonce:e.vaultSignerNonce,quoteDustThreshold:e.quoteDustThreshold},i),new Ai({keys:r,programId:t,data:i})}async function Rn({connection:t,wallet:e,marketInfo:n}){var s,u,a,c,f,l,p,d;let r=new Nn,i=await t.getMinimumBalanceForRentExemption(165);r.add(ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.baseVault.seed,newAccountPubkey:n.baseVault.publicKey,lamports:i,space:165,programId:En}),ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.quoteVault.seed,newAccountPubkey:n.quoteVault.publicKey,lamports:i,space:165,programId:En}),Mn(n.baseVault.publicKey,n.baseMint,n.vaultOwner),Mn(n.quoteVault.publicKey,n.quoteMint,n.vaultOwner));let o=new Nn;return o.add(ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.id.seed,newAccountPubkey:n.id.publicKey,lamports:await t.getMinimumBalanceForRentExemption(vt.span),space:vt.span,programId:n.programId}),ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.requestQueue.seed,newAccountPubkey:n.requestQueue.publicKey,lamports:n.lowestFeeMarket?6208320:await t.getMinimumBalanceForRentExemption((s=n.requestQueueSpace)!=null?s:5120+12),space:(u=n.requestQueueSpace)!=null?u:5120+12,programId:n.programId}),ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.eventQueue.seed,newAccountPubkey:n.eventQueue.publicKey,lamports:n.lowestFeeMarket?79594560:await t.getMinimumBalanceForRentExemption((a=n.eventQueueSpace)!=null?a:262144+12),space:(c=n.eventQueueSpace)!=null?c:262144+12,programId:n.programId}),ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.bids.seed,newAccountPubkey:n.bids.publicKey,lamports:n.lowestFeeMarket?101977920:await t.getMinimumBalanceForRentExemption((f=n.orderbookQueueSpace)!=null?f:65536+12),space:(l=n.orderbookQueueSpace)!=null?l:65536+12,programId:n.programId}),ge.createAccountWithSeed({fromPubkey:e,basePubkey:e,seed:n.asks.seed,newAccountPubkey:n.asks.publicKey,lamports:n.lowestFeeMarket?101977920:await t.getMinimumBalanceForRentExemption((p=n.orderbookQueueSpace)!=null?p:65536+12),space:(d=n.orderbookQueueSpace)!=null?d:65536+12,programId:n.programId}),Si({programId:n.programId,marketInfo:{id:n.id.publicKey,requestQueue:n.requestQueue.publicKey,eventQueue:n.eventQueue.publicKey,bids:n.bids.publicKey,asks:n.asks.publicKey,baseVault:n.baseVault.publicKey,quoteVault:n.quoteVault.publicKey,baseMint:n.baseMint,quoteMint:n.quoteMint,baseLotSize:n.baseLotSize,quoteLotSize:n.quoteLotSize,feeRateBps:n.feeRateBps,vaultSignerNonce:n.vaultSignerNonce,quoteDustThreshold:n.quoteDustThreshold}})),[{transaction:r,signer:[],instructionTypes:[Z.CreateAccount,Z.CreateAccount,Z.InitAccount,Z.InitAccount]},{transaction:o,signer:[],instructionTypes:[Z.CreateAccount,Z.CreateAccount,Z.CreateAccount,Z.CreateAccount,Z.CreateAccount,Z.InitMarket]}]}var It=class extends _e{async create({baseInfo:e,quoteInfo:n,lotSize:r,tickSize:i,dexProgramId:o,requestQueueSpace:s,eventQueueSpace:u,orderbookQueueSpace:a,lowestFeeMarket:c,txVersion:f,computeBudgetConfig:l}){let p=this.scope.ownerPubKey,d=pe({fromPublicKey:p,programId:o}),w=pe({fromPublicKey:p,programId:o}),g=pe({fromPublicKey:p,programId:o}),T=pe({fromPublicKey:p,programId:o}),x=pe({fromPublicKey:p,programId:o}),y=pe({fromPublicKey:p,programId:Dn}),h=pe({fromPublicKey:p,programId:Dn}),b=0,N=new ve(100);function S(){let G=new ve(0);for(;;)try{return{vaultOwner:Ke.createProgramAddressSync([d.publicKey.toBuffer(),G.toArrayLike(Buffer,"le",8)],o),vaultSignerNonce:G}}catch{if(G.iaddn(1),G.gt(new ve(25555)))throw Error("find vault owner error")}}let{vaultOwner:I,vaultSignerNonce:M}=S(),D=new ve(Math.round(10**e.decimals*r)),F=new ve(Math.round(r*10**n.decimals*i));if(D.eq(Ze))throw Error("lot size is too small");if(F.eq(Ze))throw Error("tick size or lot size is too small");let v=await Rn({connection:this.scope.connection,wallet:this.scope.ownerPubKey,marketInfo:{programId:o,id:d,baseMint:e.mint,quoteMint:n.mint,baseVault:y,quoteVault:h,vaultOwner:I,requestQueue:w,eventQueue:g,bids:T,asks:x,feeRateBps:b,quoteDustThreshold:N,vaultSignerNonce:M,baseLotSize:D,quoteLotSize:F,requestQueueSpace:s,eventQueueSpace:u,orderbookQueueSpace:a,lowestFeeMarket:c}}),j=this.createTxBuilder();j.addInstruction({instructions:v[0].transaction.instructions,signers:v[0].signer});for await(let G of v.slice(1,v.length))j.addInstruction({instructions:G.transaction.instructions,signers:G.signer,instructionTypes:G.instructionTypes});return f===0?j.sizeCheckBuildV0({computeBudgetConfig:l,address:{marketId:d.publicKey,requestQueue:w.publicKey,eventQueue:g.publicKey,bids:T.publicKey,asks:x.publicKey,baseVault:y.publicKey,quoteVault:h.publicKey,baseMint:new Ke(e.mint),quoteMin:new Ke(n.mint)}}):j.sizeCheckBuild({computeBudgetConfig:l,address:{marketId:d.publicKey,requestQueue:w.publicKey,eventQueue:g.publicKey,bids:T.publicKey,asks:x.publicKey,baseVault:y.publicKey,quoteVault:h.publicKey,baseMint:new Ke(e.mint),quoteMin:new Ke(n.mint)}})}};export{It as default};
|
|
2
2
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
3
3
|
//# sourceMappingURL=createMarket.mjs.map
|