UNPKG

@cobaltx/sdk-v2

Version:

An SDK for building applications on top of CobaltX.

1 lines 64.2 kB
import{PublicKey as jn}from"@solana/web3.js";import Vt,{isBN as qt}from"bn.js";import{bits as no,BitStructure as io,blob as Vn,Blob as ro,cstr as oo,f32 as so,f32be as ao,f64 as uo,f64be as co,greedy as lo,Layout as qn,ns64 as mo,ns64be as po,nu64 as fo,nu64be as bo,offset as yo,s16 as go,s16be as Po,s24 as wo,s24be as Ao,s32 as Gn,s32be as ko,s40 as ho,s40be as To,s48 as Bo,s48be as xo,s8 as Io,seq as Un,struct as So,Structure as Xn,u16 as zn,u16be as Ko,u24 as Co,u24be as No,u32 as Lo,u32be as Ro,u40 as Mo,u40be as Oo,u48 as Fo,u48be as Eo,u8 as Hn,UInt as Zn,union as vo,Union as Wo,unionLayoutDiscriminator as Do,utf8 as _o}from"@solana/buffer-layout";var ct=qn,Wt=Xn;var lt=Zn;var Dt=Hn,ce=zn;var $=Gn;var _t=Un;var q=Vn;var be=class extends ct{constructor(n,i,r){super(n,r);this.blob=q(n),this.signed=i}decode(n,i=0){let r=new Vt(this.blob.decode(n,i),10,"le");return this.signed?r.fromTwos(this.span*8).clone():r}encode(n,i,r=0){return typeof n=="number"&&(n=new Vt(n)),this.signed&&(n=n.toTwos(this.span*8)),this.blob.encode(n.toArrayLike(Buffer,"le",this.span),i,r)}};function E(e){return new lt(1,e)}function ye(e){return new lt(4,e)}function y(e){return new be(8,!1,e)}function F(e){return new be(16,!1,e)}function Gt(e){return new be(8,!0,e)}function Ut(e){return new be(16,!0,e)}var De=class extends ct{constructor(n,i,r,o){super(n.span,o);this.layout=n,this.decoder=i,this.encoder=r}decode(n,i){return this.decoder(this.layout.decode(n,i))}encode(n,i,r){return this.layout.encode(this.encoder(n),i,r)}getSpan(n,i){return this.layout.getSpan(n,i)}};function x(e){return new De(q(32),t=>new jn(t),t=>t.toBuffer(),e)}function le(e){return new De(Dt(),Yn,Qn,e)}function Yn(e){if(e===0)return!1;if(e===1)return!0;throw new Error("Invalid bool: "+e)}function Qn(e){return e?1:0}var mt=class extends Wt{decode(t,n){return super.decode(t,n)}};function C(e,t,n){return new mt(e,t,n)}function N(e,t,n){let i,r=typeof t=="number"?t:qt(t)?t.toNumber():new Proxy(t,{get(o,s){if(!i){let a=Reflect.get(o,"count");i=qt(a)?a.toNumber():a,Reflect.set(o,"count",i)}return Reflect.get(o,s)},set(o,s,a){return s==="count"&&(i=a),Reflect.set(o,s,a)}});return _t(e,r,n)}var ts=C([q(8),E("bump"),le("disableCreatePool"),ce("index"),y("tradeFeeRate"),y("protocolFeeRate"),y("fundFeeRate"),y("createPoolFee"),x("protocolOwner"),x("fundOwner"),N(y(),16)]),ns=C([q(8),x("configId"),x("poolCreator"),x("vaultA"),x("vaultB"),x("mintLp"),x("mintA"),x("mintB"),x("mintProgramA"),x("mintProgramB"),x("observationId"),E("bump"),E("status"),E("lpDecimals"),E("mintDecimalA"),E("mintDecimalB"),y("lpAmount"),y("protocolFeesMintA"),y("protocolFeesMintB"),y("fundFeesMintA"),y("fundFeesMintB"),y("openTime"),N(y(),32)]);import{MINT_SIZE as as,TOKEN_PROGRAM_ID as us,getTransferFeeConfig as cs,unpackMint as ls}from"@solana/spl-token";import{PublicKey as bs}from"@solana/web3.js";import{get as Xt,set as Jn}from"lodash";var dt=class{constructor(t){this.logLevel=t.logLevel!==void 0?t.logLevel:0,this.name=t.name}set level(t){this.logLevel=t}get time(){return Date.now().toString()}get moduleName(){return this.name}isLogLevel(t){return t<=this.logLevel}error(...t){return this.isLogLevel(0)?(console.error(this.time,this.name,"sdk logger error",...t),this):this}logWithError(...t){let n=t.map(i=>typeof i=="object"?JSON.stringify(i):i).join(", ");throw new Error(n)}warning(...t){return this.isLogLevel(1)?(console.warn(this.time,this.name,"sdk logger warning",...t),this):this}info(...t){return this.isLogLevel(2)?(console.info(this.time,this.name,"sdk logger info",...t),this):this}debug(...t){return this.isLogLevel(3)?(console.debug(this.time,this.name,"sdk logger debug",...t),this):this}},zt={},$n={};function W(e){let t=Xt(zt,e);if(!t){let n=Xt($n,e);t=new dt({name:e,logLevel:n}),Jn(zt,e,t)}return t}var Ps=W("CobaltX_accountInfo_util");import te from"bn.js";var ge=9e15,oe=1e9,pt="0123456789abcdef",qe="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Ge="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ft={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-ge,maxE:ge,crypto:!1},Qt,ee,h=!0,Xe="[DecimalError] ",re=Xe+"Invalid argument: ",Jt=Xe+"Precision limit exceeded",$t=Xe+"crypto unavailable",en="[object Decimal]",G=Math.floor,v=Math.pow,ei=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ti=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ni=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,tn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Y=1e7,k=7,ii=9007199254740991,ri=qe.length-1,bt=Ge.length-1,p={toStringTag:en};p.absoluteValue=p.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),g(e)};p.ceil=function(){return g(new this.constructor(this),this.e+1,2)};p.clampedTo=p.clamp=function(e,t){var n,i=this,r=i.constructor;if(e=new r(e),t=new r(t),!e.s||!t.s)return new r(NaN);if(e.gt(t))throw Error(re+t);return n=i.cmp(e),n<0?e:i.cmp(t)>0?t:new r(i)};p.comparedTo=p.cmp=function(e){var t,n,i,r,o=this,s=o.d,a=(e=new o.constructor(e)).d,c=o.s,u=e.s;if(!s||!a)return!c||!u?NaN:c!==u?c:s===a?0:!s^c<0?1:-1;if(!s[0]||!a[0])return s[0]?c:a[0]?-u:0;if(c!==u)return c;if(o.e!==e.e)return o.e>e.e^c<0?1:-1;for(i=s.length,r=a.length,t=0,n=i<r?i:r;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return i===r?0:i>r^c<0?1:-1};p.cosine=p.cos=function(){var e,t,n=this,i=n.constructor;return n.d?n.d[0]?(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+k,i.rounding=1,n=oi(i,an(i,n)),i.precision=e,i.rounding=t,g(ee==2||ee==3?n.neg():n,e,t,!0)):new i(1):new i(NaN)};p.cubeRoot=p.cbrt=function(){var e,t,n,i,r,o,s,a,c,u,l=this,m=l.constructor;if(!l.isFinite()||l.isZero())return new m(l);for(h=!1,o=l.s*v(l.s*l,1/3),!o||Math.abs(o)==1/0?(n=D(l.d),e=l.e,(o=(e-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=v(n,1/3),e=G((e+1)/3)-(e%3==(e<0?-1:2)),o==1/0?n="5e"+e:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),i=new m(n),i.s=l.s):i=new m(o.toString()),s=(e=m.precision)+3;;)if(a=i,c=a.times(a).times(a),u=c.plus(l),i=L(u.plus(l).times(a),u.plus(c),s+2,1),D(a.d).slice(0,s)===(n=D(i.d)).slice(0,s))if(n=n.slice(s-3,s+1),n=="9999"||!r&&n=="4999"){if(!r&&(g(a,e+1,0),a.times(a).times(a).eq(l))){i=a;break}s+=4,r=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(g(i,e+1,1),t=!i.times(i).times(i).eq(l));break}return h=!0,g(i,e,m.rounding,t)};p.decimalPlaces=p.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-G(this.e/k))*k,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};p.dividedBy=p.div=function(e){return L(this,new this.constructor(e))};p.dividedToIntegerBy=p.divToInt=function(e){var t=this,n=t.constructor;return g(L(t,new n(e),0,1,1),n.precision,n.rounding)};p.equals=p.eq=function(e){return this.cmp(e)===0};p.floor=function(){return g(new this.constructor(this),this.e+1,3)};p.greaterThan=p.gt=function(e){return this.cmp(e)>0};p.greaterThanOrEqualTo=p.gte=function(e){var t=this.cmp(e);return t==1||t===0};p.hyperbolicCosine=p.cosh=function(){var e,t,n,i,r,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;n=s.precision,i=s.rounding,s.precision=n+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(e=Math.ceil(r/3),t=(1/He(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),o=Pe(s,1,o.times(t),new s(1),!0);for(var c,u=e,l=new s(8);u--;)c=o.times(o),o=a.minus(c.times(l.minus(c.times(l))));return g(o,s.precision=n,s.rounding=i,!0)};p.hyperbolicSine=p.sinh=function(){var e,t,n,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(t=o.precision,n=o.rounding,o.precision=t+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=Pe(o,2,r,r,!0);else{e=1.4*Math.sqrt(i),e=e>16?16:e|0,r=r.times(1/He(5,e)),r=Pe(o,2,r,r,!0);for(var s,a=new o(5),c=new o(16),u=new o(20);e--;)s=r.times(r),r=r.times(a.plus(s.times(c.times(s).plus(u))))}return o.precision=t,o.rounding=n,g(r,t,n,!0)};p.hyperbolicTangent=p.tanh=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+7,i.rounding=1,L(n.sinh(),n.cosh(),i.precision=e,i.rounding=t)):new i(n.s)};p.inverseCosine=p.acos=function(){var e,t=this,n=t.constructor,i=t.abs().cmp(1),r=n.precision,o=n.rounding;return i!==-1?i===0?t.isNeg()?j(n,r,o):new n(0):new n(NaN):t.isZero()?j(n,r+4,o).times(.5):(n.precision=r+6,n.rounding=1,t=t.asin(),e=j(n,r+4,o).times(.5),n.precision=r,n.rounding=o,e.minus(t))};p.inverseHyperbolicCosine=p.acosh=function(){var e,t,n=this,i=n.constructor;return n.lte(1)?new i(n.eq(1)?0:NaN):n.isFinite()?(e=i.precision,t=i.rounding,i.precision=e+Math.max(Math.abs(n.e),n.sd())+4,i.rounding=1,h=!1,n=n.times(n).minus(1).sqrt().plus(n),h=!0,i.precision=e,i.rounding=t,n.ln()):new i(n)};p.inverseHyperbolicSine=p.asinh=function(){var e,t,n=this,i=n.constructor;return!n.isFinite()||n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,i.rounding=1,h=!1,n=n.times(n).plus(1).sqrt().plus(n),h=!0,i.precision=e,i.rounding=t,n.ln())};p.inverseHyperbolicTangent=p.atanh=function(){var e,t,n,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(e=o.precision,t=o.rounding,i=r.sd(),Math.max(i,e)<2*-r.e-1?g(new o(r),e,t,!0):(o.precision=n=i-r.e,r=L(r.plus(1),new o(1).minus(r),n+e,1),o.precision=e+4,o.rounding=1,r=r.ln(),o.precision=e,o.rounding=t,r.times(.5))):new o(NaN)};p.inverseSine=p.asin=function(){var e,t,n,i,r=this,o=r.constructor;return r.isZero()?new o(r):(t=r.abs().cmp(1),n=o.precision,i=o.rounding,t!==-1?t===0?(e=j(o,n+4,i).times(.5),e.s=r.s,e):new o(NaN):(o.precision=n+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=i,r.times(2)))};p.inverseTangent=p.atan=function(){var e,t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding;if(u.isFinite()){if(u.isZero())return new l(u);if(u.abs().eq(1)&&m+4<=bt)return s=j(l,m+4,d).times(.25),s.s=u.s,s}else{if(!u.s)return new l(NaN);if(m+4<=bt)return s=j(l,m+4,d).times(.5),s.s=u.s,s}for(l.precision=a=m+10,l.rounding=1,n=Math.min(28,a/k+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(h=!1,t=Math.ceil(a/k),i=1,c=u.times(u),s=new l(u),r=u;e!==-1;)if(r=r.times(c),o=s.minus(r.div(i+=2)),r=r.times(c),s=o.plus(r.div(i+=2)),s.d[t]!==void 0)for(e=t;s.d[e]===o.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),h=!0,g(s,l.precision=m,l.rounding=d,!0)};p.isFinite=function(){return!!this.d};p.isInteger=p.isInt=function(){return!!this.d&&G(this.e/k)>this.d.length-2};p.isNaN=function(){return!this.s};p.isNegative=p.isNeg=function(){return this.s<0};p.isPositive=p.isPos=function(){return this.s>0};p.isZero=function(){return!!this.d&&this.d[0]===0};p.lessThan=p.lt=function(e){return this.cmp(e)<0};p.lessThanOrEqualTo=p.lte=function(e){return this.cmp(e)<1};p.logarithm=p.log=function(e){var t,n,i,r,o,s,a,c,u=this,l=u.constructor,m=l.precision,d=l.rounding,f=5;if(e==null)e=new l(10),t=!0;else{if(e=new l(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new l(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)o=!0;else{for(r=n[0];r%10===0;)r/=10;o=r!==1}if(h=!1,a=m+f,s=ie(u,a),i=t?Ue(l,a+10):ie(e,a),c=L(s,i,a,1),Be(c.d,r=m,d))do if(a+=10,s=ie(u,a),i=t?Ue(l,a+10):ie(e,a),c=L(s,i,a,1),!o){+D(c.d).slice(r+1,r+15)+1==1e14&&(c=g(c,m+1,0));break}while(Be(c.d,r+=10,d));return h=!0,g(c,m,d)};p.minus=p.sub=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,f=this,P=f.constructor;if(e=new P(e),!f.d||!e.d)return!f.s||!e.s?e=new P(NaN):f.d?e.s=-e.s:e=new P(e.d||f.s!==e.s?f:NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(u=f.d,d=e.d,a=P.precision,c=P.rounding,!u[0]||!d[0]){if(d[0])e.s=-e.s;else if(u[0])e=new P(f);else return new P(c===3?-0:0);return h?g(e,a,c):e}if(n=G(e.e/k),l=G(f.e/k),u=u.slice(),o=l-n,o){for(m=o<0,m?(t=u,o=-o,s=d.length):(t=d,n=l,s=u.length),i=Math.max(Math.ceil(a/k),s)+2,o>i&&(o=i,t.length=1),t.reverse(),i=o;i--;)t.push(0);t.reverse()}else{for(i=u.length,s=d.length,m=i<s,m&&(s=i),i=0;i<s;i++)if(u[i]!=d[i]){m=u[i]<d[i];break}o=0}for(m&&(t=u,u=d,d=t,e.s=-e.s),s=u.length,i=d.length-s;i>0;--i)u[s++]=0;for(i=d.length;i>o;){if(u[--i]<d[i]){for(r=i;r&&u[--r]===0;)u[r]=Y-1;--u[r],u[i]+=Y}u[i]-=d[i]}for(;u[--s]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=ze(u,n),h?g(e,a,c):e):new P(c===3?-0:0)};p.modulo=p.mod=function(e){var t,n=this,i=n.constructor;return e=new i(e),!n.d||!e.s||e.d&&!e.d[0]?new i(NaN):!e.d||n.d&&!n.d[0]?g(new i(n),i.precision,i.rounding):(h=!1,i.modulo==9?(t=L(n,e.abs(),0,3,1),t.s*=e.s):t=L(n,e,0,i.modulo,1),t=t.times(e),h=!0,n.minus(t))};p.naturalExponential=p.exp=function(){return yt(this)};p.naturalLogarithm=p.ln=function(){return ie(this)};p.negated=p.neg=function(){var e=new this.constructor(this);return e.s=-e.s,g(e)};p.plus=p.add=function(e){var t,n,i,r,o,s,a,c,u,l,m=this,d=m.constructor;if(e=new d(e),!m.d||!e.d)return!m.s||!e.s?e=new d(NaN):m.d||(e=new d(e.d||m.s===e.s?m:NaN)),e;if(m.s!=e.s)return e.s=-e.s,m.minus(e);if(u=m.d,l=e.d,a=d.precision,c=d.rounding,!u[0]||!l[0])return l[0]||(e=new d(m)),h?g(e,a,c):e;if(o=G(m.e/k),i=G(e.e/k),u=u.slice(),r=o-i,r){for(r<0?(n=u,r=-r,s=l.length):(n=l,i=o,s=u.length),o=Math.ceil(a/k),s=o>s?o+1:s+1,r>s&&(r=s,n.length=1),n.reverse();r--;)n.push(0);n.reverse()}for(s=u.length,r=l.length,s-r<0&&(r=s,n=l,l=u,u=n),t=0;r;)t=(u[--r]=u[r]+l[r]+t)/Y|0,u[r]%=Y;for(t&&(u.unshift(t),++i),s=u.length;u[--s]==0;)u.pop();return e.d=u,e.e=ze(u,i),h?g(e,a,c):e};p.precision=p.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(re+e);return n.d?(t=nn(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};p.round=function(){var e=this,t=e.constructor;return g(new t(e),e.e+1,t.rounding)};p.sine=p.sin=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+k,i.rounding=1,n=ai(i,an(i,n)),i.precision=e,i.rounding=t,g(ee>2?n.neg():n,e,t,!0)):new i(NaN)};p.squareRoot=p.sqrt=function(){var e,t,n,i,r,o,s=this,a=s.d,c=s.e,u=s.s,l=s.constructor;if(u!==1||!a||!a[0])return new l(!u||u<0&&(!a||a[0])?NaN:a?s:1/0);for(h=!1,u=Math.sqrt(+s),u==0||u==1/0?(t=D(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=G((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),i=new l(t)):i=new l(u.toString()),n=(c=l.precision)+3;;)if(o=i,i=o.plus(L(s,o,n+2,1)).times(.5),D(o.d).slice(0,n)===(t=D(i.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!r&&t=="4999"){if(!r&&(g(o,c+1,0),o.times(o).eq(s))){i=o;break}n+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(g(i,c+1,1),e=!i.times(i).eq(s));break}return h=!0,g(i,c,l.rounding,e)};p.tangent=p.tan=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+10,i.rounding=1,n=n.sin(),n.s=1,n=L(n,new i(1).minus(n.times(n)).sqrt(),e+10,0),i.precision=e,i.rounding=t,g(ee==2||ee==4?n.neg():n,e,t,!0)):new i(NaN)};p.times=p.mul=function(e){var t,n,i,r,o,s,a,c,u,l=this,m=l.constructor,d=l.d,f=(e=new m(e)).d;if(e.s*=l.s,!d||!d[0]||!f||!f[0])return new m(!e.s||d&&!d[0]&&!f||f&&!f[0]&&!d?NaN:!d||!f?e.s/0:e.s*0);for(n=G(l.e/k)+G(e.e/k),c=d.length,u=f.length,c<u&&(o=d,d=f,f=o,s=c,c=u,u=s),o=[],s=c+u,i=s;i--;)o.push(0);for(i=u;--i>=0;){for(t=0,r=c+i;r>i;)a=o[r]+f[i]*d[r-i-1]+t,o[r--]=a%Y|0,t=a/Y|0;o[r]=(o[r]+t)%Y|0}for(;!o[--s];)o.pop();return t?++n:o.shift(),e.d=o,e.e=ze(o,n),h?g(e,m.precision,m.rounding):e};p.toBinary=function(e,t){return Pt(this,2,e,t)};p.toDecimalPlaces=p.toDP=function(e,t){var n=this,i=n.constructor;return n=new i(n),e===void 0?n:(U(e,0,oe),t===void 0?t=i.rounding:U(t,0,8),g(n,e+n.e+1,t))};p.toExponential=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=Q(i,!0):(U(e,0,oe),t===void 0?t=r.rounding:U(t,0,8),i=g(new r(i),e+1,t),n=Q(i,!0,e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toFixed=function(e,t){var n,i,r=this,o=r.constructor;return e===void 0?n=Q(r):(U(e,0,oe),t===void 0?t=o.rounding:U(t,0,8),i=g(new o(r),e+r.e+1,t),n=Q(i,!1,e+i.e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};p.toFraction=function(e){var t,n,i,r,o,s,a,c,u,l,m,d,f=this,P=f.d,b=f.constructor;if(!P)return new b(f);if(u=n=new b(1),i=c=new b(0),t=new b(i),o=t.e=nn(P)-f.e-1,s=o%k,t.d[0]=v(10,s<0?k+s:s),e==null)e=o>0?t:u;else{if(a=new b(e),!a.isInt()||a.lt(u))throw Error(re+a);e=a.gt(t)?o>0?t:u:a}for(h=!1,a=new b(D(P)),l=b.precision,b.precision=o=P.length*k*2;m=L(a,t,0,1,1),r=n.plus(m.times(i)),r.cmp(e)!=1;)n=i,i=r,r=u,u=c.plus(m.times(r)),c=r,r=t,t=a.minus(m.times(r)),a=r;return r=L(e.minus(n),i,0,1,1),c=c.plus(r.times(u)),n=n.plus(r.times(i)),c.s=u.s=f.s,d=L(u,i,o,1).minus(f).abs().cmp(L(c,n,o,1).minus(f).abs())<1?[u,i]:[c,n],b.precision=l,h=!0,d};p.toHexadecimal=p.toHex=function(e,t){return Pt(this,16,e,t)};p.toNearest=function(e,t){var n=this,i=n.constructor;if(n=new i(n),e==null){if(!n.d)return n;e=new i(1),t=i.rounding}else{if(e=new i(e),t===void 0?t=i.rounding:U(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(h=!1,n=L(n,e,0,t,1).times(e),h=!0,g(n)):(e.s=n.s,n=e),n};p.toNumber=function(){return+this};p.toOctal=function(e,t){return Pt(this,8,e,t)};p.toPower=p.pow=function(e){var t,n,i,r,o,s,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(v(+a,u));if(a=new c(a),a.eq(1))return a;if(i=c.precision,o=c.rounding,e.eq(1))return g(a,i,o);if(t=G(e.e/k),t>=e.d.length-1&&(n=u<0?-u:u)<=ii)return r=rn(c,a,n,i),e.s<0?new c(1).div(r):g(r,i,o);if(s=a.s,s<0){if(t<e.d.length-1)return new c(NaN);if((e.d[t]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return n=v(+a,u),t=n==0||!isFinite(n)?G(u*(Math.log("0."+D(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(h=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),r=yt(e.times(ie(a,i+n)),i),r.d&&(r=g(r,i+5,1),Be(r.d,i,o)&&(t=i+10,r=g(yt(e.times(ie(a,t+n)),t),t+5,1),+D(r.d).slice(i+1,i+15)+1==1e14&&(r=g(r,i+1,0)))),r.s=s,h=!0,c.rounding=o,g(r,i,o))};p.toPrecision=function(e,t){var n,i=this,r=i.constructor;return e===void 0?n=Q(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(U(e,1,oe),t===void 0?t=r.rounding:U(t,0,8),i=g(new r(i),e,t),n=Q(i,e<=i.e||i.e<=r.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+n:n};p.toSignificantDigits=p.toSD=function(e,t){var n=this,i=n.constructor;return e===void 0?(e=i.precision,t=i.rounding):(U(e,1,oe),t===void 0?t=i.rounding:U(t,0,8)),g(new i(n),e,t)};p.toString=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};p.truncated=p.trunc=function(){return g(new this.constructor(this),this.e+1,1)};p.valueOf=p.toJSON=function(){var e=this,t=e.constructor,n=Q(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function D(e){var t,n,i,r=e.length-1,o="",s=e[0];if(r>0){for(o+=s,t=1;t<r;t++)i=e[t]+"",n=k-i.length,n&&(o+=ne(n)),o+=i;s=e[t],i=s+"",n=k-i.length,n&&(o+=ne(n))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function U(e,t,n){if(e!==~~e||e<t||e>n)throw Error(re+e)}function Be(e,t,n,i){var r,o,s,a;for(o=e[0];o>=10;o/=10)--t;return--t<0?(t+=k,r=0):(r=Math.ceil((t+1)/k),t%=k),o=v(10,k-t),a=e[r]%o|0,i==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),s=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):s=(n<4&&a+1==o||n>3&&a+1==o/2)&&(e[r+1]/o/100|0)==v(10,t-2)-1||(a==o/2||a==0)&&(e[r+1]/o/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),s=(i||n<4)&&a==9999||!i&&n>3&&a==4999):s=((i||n<4)&&a+1==o||!i&&n>3&&a+1==o/2)&&(e[r+1]/o/1e3|0)==v(10,t-3)-1,s}function Ve(e,t,n){for(var i,r=[0],o,s=0,a=e.length;s<a;){for(o=r.length;o--;)r[o]*=t;for(r[0]+=pt.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>n-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/n|0,r[i]%=n)}return r.reverse()}function oi(e,t){var n,i,r;if(t.isZero())return t;i=t.d.length,i<32?(n=Math.ceil(i/3),r=(1/He(4,n)).toString()):(n=16,r="2.3283064365386962890625e-10"),e.precision+=n,t=Pe(e,1,t.times(r),new e(1));for(var o=n;o--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}var L=function(){function e(i,r,o){var s,a=0,c=i.length;for(i=i.slice();c--;)s=i[c]*r+a,i[c]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function t(i,r,o,s){var a,c;if(o!=s)c=o>s?1:-1;else for(a=c=0;a<o;a++)if(i[a]!=r[a]){c=i[a]>r[a]?1:-1;break}return c}function n(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,c){var u,l,m,d,f,P,b,I,T,K,S,M,pe,H,fe,Ee,Te,at,Z,ve,We=i.constructor,ut=i.s==r.s?1:-1,V=i.d,R=r.d;if(!V||!V[0]||!R||!R[0])return new We(!i.s||!r.s||(V?R&&V[0]==R[0]:!R)?NaN:V&&V[0]==0||!R?ut*0:ut/0);for(c?(f=1,l=i.e-r.e):(c=Y,f=k,l=G(i.e/f)-G(r.e/f)),Z=R.length,Te=V.length,T=new We(ut),K=T.d=[],m=0;R[m]==(V[m]||0);m++);if(R[m]>(V[m]||0)&&l--,o==null?(H=o=We.precision,s=We.rounding):a?H=o+(i.e-r.e)+1:H=o,H<0)K.push(1),P=!0;else{if(H=H/f+2|0,m=0,Z==1){for(d=0,R=R[0],H++;(m<Te||d)&&H--;m++)fe=d*c+(V[m]||0),K[m]=fe/R|0,d=fe%R|0;P=d||m<Te}else{for(d=c/(R[0]+1)|0,d>1&&(R=e(R,d,c),V=e(V,d,c),Z=R.length,Te=V.length),Ee=Z,S=V.slice(0,Z),M=S.length;M<Z;)S[M++]=0;ve=R.slice(),ve.unshift(0),at=R[0],R[1]>=c/2&&++at;do d=0,u=t(R,S,Z,M),u<0?(pe=S[0],Z!=M&&(pe=pe*c+(S[1]||0)),d=pe/at|0,d>1?(d>=c&&(d=c-1),b=e(R,d,c),I=b.length,M=S.length,u=t(b,S,I,M),u==1&&(d--,n(b,Z<I?ve:R,I,c))):(d==0&&(u=d=1),b=R.slice()),I=b.length,I<M&&b.unshift(0),n(S,b,M,c),u==-1&&(M=S.length,u=t(R,S,Z,M),u<1&&(d++,n(S,Z<M?ve:R,M,c))),M=S.length):u===0&&(d++,S=[0]),K[m++]=d,u&&S[0]?S[M++]=V[Ee]||0:(S=[V[Ee]],M=1);while((Ee++<Te||S[0]!==void 0)&&H--);P=S[0]!==void 0}K[0]||K.shift()}if(f==1)T.e=l,Qt=P;else{for(m=1,d=K[0];d>=10;d/=10)m++;T.e=m+l*f-1,g(T,a?o+T.e+1:o,s,P)}return T}}();function g(e,t,n,i){var r,o,s,a,c,u,l,m,d,f=e.constructor;e:if(t!=null){if(m=e.d,!m)return e;for(r=1,a=m[0];a>=10;a/=10)r++;if(o=t-r,o<0)o+=k,s=t,l=m[d=0],c=l/v(10,r-s-1)%10|0;else if(d=Math.ceil((o+1)/k),a=m.length,d>=a)if(i){for(;a++<=d;)m.push(0);l=c=0,r=1,o%=k,s=o-k+1}else break e;else{for(l=a=m[d],r=1;a>=10;a/=10)r++;o%=k,s=o-k+r,c=s<0?0:l/v(10,r-s-1)%10|0}if(i=i||t<0||m[d+1]!==void 0||(s<0?l:l%v(10,r-s-1)),u=n<4?(c||i)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||i||n==6&&(o>0?s>0?l/v(10,r-s):0:m[d-1])%10&1||n==(e.s<0?8:7)),t<1||!m[0])return m.length=0,u?(t-=e.e+1,m[0]=v(10,(k-t%k)%k),e.e=-t||0):m[0]=e.e=0,e;if(o==0?(m.length=d,a=1,d--):(m.length=d+1,a=v(10,k-o),m[d]=s>0?(l/v(10,r-s)%v(10,s)|0)*a:0),u)for(;;)if(d==0){for(o=1,s=m[0];s>=10;s/=10)o++;for(s=m[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(e.e++,m[0]==Y&&(m[0]=1));break}else{if(m[d]+=a,m[d]!=Y)break;m[d--]=0,a=1}for(o=m.length;m[--o]===0;)m.pop()}return h&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function Q(e,t,n){if(!e.isFinite())return sn(e);var i,r=e.e,o=D(e.d),s=o.length;return t?(n&&(i=n-s)>0?o=o.charAt(0)+"."+o.slice(1)+ne(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(e.e<0?"e":"e+")+e.e):r<0?(o="0."+ne(-r-1)+o,n&&(i=n-s)>0&&(o+=ne(i))):r>=s?(o+=ne(r+1-s),n&&(i=n-r-1)>0&&(o=o+"."+ne(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),n&&(i=n-s)>0&&(r+1===s&&(o+="."),o+=ne(i))),o}function ze(e,t){var n=e[0];for(t*=k;n>=10;n/=10)t++;return t}function Ue(e,t,n){if(t>ri)throw h=!0,n&&(e.precision=n),Error(Jt);return g(new e(qe),t,1,!0)}function j(e,t,n){if(t>bt)throw Error(Jt);return g(new e(Ge),t,n,!0)}function nn(e){var t=e.length-1,n=t*k+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function ne(e){for(var t="";e--;)t+="0";return t}function rn(e,t,n,i){var r,o=new e(1),s=Math.ceil(i/k+4);for(h=!1;;){if(n%2&&(o=o.times(t),jt(o.d,s)&&(r=!0)),n=G(n/2),n===0){n=o.d.length-1,r&&o.d[n]===0&&++o.d[n];break}t=t.times(t),jt(t.d,s)}return h=!0,o}function Zt(e){return e.d[e.d.length-1]&1}function on(e,t,n){for(var i,r=new e(t[0]),o=0;++o<t.length;)if(i=new e(t[o]),i.s)r[n](i)&&(r=i);else{r=i;break}return r}function yt(e,t){var n,i,r,o,s,a,c,u=0,l=0,m=0,d=e.constructor,f=d.rounding,P=d.precision;if(!e.d||!e.d[0]||e.e>17)return new d(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:0/0);for(t==null?(h=!1,c=P):c=t,a=new d(.03125);e.e>-2;)e=e.times(a),m+=5;for(i=Math.log(v(2,m))/Math.LN10*2+5|0,c+=i,n=o=s=new d(1),d.precision=c;;){if(o=g(o.times(e),c,1),n=n.times(++l),a=s.plus(L(o,n,c,1)),D(a.d).slice(0,c)===D(s.d).slice(0,c)){for(r=m;r--;)s=g(s.times(s),c,1);if(t==null)if(u<3&&Be(s.d,c-i,f,u))d.precision=c+=10,n=o=a=new d(1),l=0,u++;else return g(s,d.precision=P,f,h=!0);else return d.precision=P,s}s=a}}function ie(e,t){var n,i,r,o,s,a,c,u,l,m,d,f=1,P=10,b=e,I=b.d,T=b.constructor,K=T.rounding,S=T.precision;if(b.s<0||!I||!I[0]||!b.e&&I[0]==1&&I.length==1)return new T(I&&!I[0]?-1/0:b.s!=1?NaN:I?0:b);if(t==null?(h=!1,l=S):l=t,T.precision=l+=P,n=D(I),i=n.charAt(0),Math.abs(o=b.e)<15e14){for(;i<7&&i!=1||i==1&&n.charAt(1)>3;)b=b.times(e),n=D(b.d),i=n.charAt(0),f++;o=b.e,i>1?(b=new T("0."+n),o++):b=new T(i+"."+n.slice(1))}else return u=Ue(T,l+2,S).times(o+""),b=ie(new T(i+"."+n.slice(1)),l-P).plus(u),T.precision=S,t==null?g(b,S,K,h=!0):b;for(m=b,c=s=b=L(b.minus(1),b.plus(1),l,1),d=g(b.times(b),l,1),r=3;;){if(s=g(s.times(d),l,1),u=c.plus(L(s,new T(r),l,1)),D(u.d).slice(0,l)===D(c.d).slice(0,l))if(c=c.times(2),o!==0&&(c=c.plus(Ue(T,l+2,S).times(o+""))),c=L(c,new T(f),l,1),t==null)if(Be(c.d,l-P,K,a))T.precision=l+=P,u=s=b=L(m.minus(1),m.plus(1),l,1),d=g(b.times(b),l,1),r=a=1;else return g(c,T.precision=S,K,h=!0);else return T.precision=S,c;c=u,r+=2}}function sn(e){return String(e.s*e.s/0)}function gt(e,t){var n,i,r;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(n<0&&(n=i),n+=+t.slice(i+1),t=t.substring(0,i)):n<0&&(n=t.length),i=0;t.charCodeAt(i)===48;i++);for(r=t.length;t.charCodeAt(r-1)===48;--r);if(t=t.slice(i,r),t){if(r-=i,e.e=n=n-i-1,e.d=[],i=(n+1)%k,n<0&&(i+=k),i<r){for(i&&e.d.push(+t.slice(0,i)),r-=k;i<r;)e.d.push(+t.slice(i,i+=k));t=t.slice(i),i=k-t.length}else i-=r;for(;i--;)t+="0";e.d.push(+t),h&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function si(e,t){var n,i,r,o,s,a,c,u,l;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),tn.test(t))return gt(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(ti.test(t))n=16,t=t.toLowerCase();else if(ei.test(t))n=2;else if(ni.test(t))n=8;else throw Error(re+t);for(o=t.search(/p/i),o>0?(c=+t.slice(o+1),t=t.substring(2,o)):t=t.slice(2),o=t.indexOf("."),s=o>=0,i=e.constructor,s&&(t=t.replace(".",""),a=t.length,o=a-o,r=rn(i,new i(n),o,o*2)),u=Ve(t,n,Y),l=u.length-1,o=l;u[o]===0;--o)u.pop();return o<0?new i(e.s*0):(e.e=ze(u,l),e.d=u,h=!1,s&&(e=L(e,r,a*4)),c&&(e=e.times(Math.abs(c)<54?v(2,c):Ze.pow(2,c))),h=!0,e)}function ai(e,t){var n,i=t.d.length;if(i<3)return t.isZero()?t:Pe(e,2,t,t);n=1.4*Math.sqrt(i),n=n>16?16:n|0,t=t.times(1/He(5,n)),t=Pe(e,2,t,t);for(var r,o=new e(5),s=new e(16),a=new e(20);n--;)r=t.times(t),t=t.times(o.plus(r.times(s.times(r).minus(a))));return t}function Pe(e,t,n,i,r){var o,s,a,c,u=1,l=e.precision,m=Math.ceil(l/k);for(h=!1,c=n.times(n),a=new e(i);;){if(s=L(a.times(c),new e(t++*t++),l,1),a=r?i.plus(s):i.minus(s),i=L(s.times(c),new e(t++*t++),l,1),s=a.plus(i),s.d[m]!==void 0){for(o=m;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,u++}return h=!0,s.d.length=m+1,s}function He(e,t){for(var n=e;--t;)n*=e;return n}function an(e,t){var n,i=t.s<0,r=j(e,e.precision,1),o=r.times(.5);if(t=t.abs(),t.lte(o))return ee=i?4:1,t;if(n=t.divToInt(r),n.isZero())ee=i?3:2;else{if(t=t.minus(n.times(r)),t.lte(o))return ee=Zt(n)?i?2:3:i?4:1,t;ee=Zt(n)?i?1:4:i?3:2}return t.minus(r).abs()}function Pt(e,t,n,i){var r,o,s,a,c,u,l,m,d,f=e.constructor,P=n!==void 0;if(P?(U(n,1,oe),i===void 0?i=f.rounding:U(i,0,8)):(n=f.precision,i=f.rounding),!e.isFinite())l=sn(e);else{for(l=Q(e),s=l.indexOf("."),P?(r=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):r=t,s>=0&&(l=l.replace(".",""),d=new f(1),d.e=l.length-s,d.d=Ve(Q(d),10,r),d.e=d.d.length),m=Ve(l,10,r),o=c=m.length;m[--c]==0;)m.pop();if(!m[0])l=P?"0p+0":"0";else{if(s<0?o--:(e=new f(e),e.d=m,e.e=o,e=L(e,d,n,i,0,r),m=e.d,o=e.e,u=Qt),s=m[n],a=r/2,u=u||m[n+1]!==void 0,u=i<4?(s!==void 0||u)&&(i===0||i===(e.s<0?3:2)):s>a||s===a&&(i===4||u||i===6&&m[n-1]&1||i===(e.s<0?8:7)),m.length=n,u)for(;++m[--n]>r-1;)m[n]=0,n||(++o,m.unshift(1));for(c=m.length;!m[c-1];--c);for(s=0,l="";s<c;s++)l+=pt.charAt(m[s]);if(P){if(c>1)if(t==16||t==8){for(s=t==16?4:3,--c;c%s;c++)l+="0";for(m=Ve(l,r,t),c=m.length;!m[c-1];--c);for(s=1,l="1.";s<c;s++)l+=pt.charAt(m[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)l="0"+l;l="0."+l}else if(++o>c)for(o-=c;o--;)l+="0";else o<c&&(l=l.slice(0,o)+"."+l.slice(o))}l=(t==16?"0x":t==2?"0b":t==8?"0o":"")+l}return e.s<0?"-"+l:l}function jt(e,t){if(e.length>t)return e.length=t,!0}function ui(e){return new this(e).abs()}function ci(e){return new this(e).acos()}function li(e){return new this(e).acosh()}function mi(e,t){return new this(e).plus(t)}function di(e){return new this(e).asin()}function pi(e){return new this(e).asinh()}function fi(e){return new this(e).atan()}function bi(e){return new this(e).atanh()}function yi(e,t){e=new this(e),t=new this(t);var n,i=this.precision,r=this.rounding,o=i+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=j(this,o,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?j(this,i,r):new this(0),n.s=e.s):!e.d||t.isZero()?(n=j(this,o,1).times(.5),n.s=e.s):t.s<0?(this.precision=o,this.rounding=1,n=this.atan(L(e,t,o,1)),t=j(this,o,1),this.precision=i,this.rounding=r,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(L(e,t,o,1)),n}function gi(e){return new this(e).cbrt()}function Pi(e){return g(e=new this(e),e.e+1,2)}function wi(e,t,n){return new this(e).clamp(t,n)}function Ai(e){if(!e||typeof e!="object")throw Error(Xe+"Object expected");var t,n,i,r=e.defaults===!0,o=["precision",1,oe,"rounding",0,8,"toExpNeg",-ge,0,"toExpPos",0,ge,"maxE",0,ge,"minE",-ge,0,"modulo",0,9];for(t=0;t<o.length;t+=3)if(n=o[t],r&&(this[n]=ft[n]),(i=e[n])!==void 0)if(G(i)===i&&i>=o[t+1]&&i<=o[t+2])this[n]=i;else throw Error(re+n+": "+i);if(n="crypto",r&&(this[n]=ft[n]),(i=e[n])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error($t);else this[n]=!1;else throw Error(re+n+": "+i);return this}function ki(e){return new this(e).cos()}function hi(e){return new this(e).cosh()}function un(e){var t,n,i;function r(o){var s,a,c,u=this;if(!(u instanceof r))return new r(o);if(u.constructor=r,Yt(o)){u.s=o.s,h?!o.d||o.e>r.maxE?(u.e=NaN,u.d=null):o.e<r.minE?(u.e=0,u.d=[0]):(u.e=o.e,u.d=o.d.slice()):(u.e=o.e,u.d=o.d?o.d.slice():o.d);return}if(c=typeof o,c==="number"){if(o===0){u.s=1/o<0?-1:1,u.e=0,u.d=[0];return}if(o<0?(o=-o,u.s=-1):u.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;h?s>r.maxE?(u.e=NaN,u.d=null):s<r.minE?(u.e=0,u.d=[0]):(u.e=s,u.d=[o]):(u.e=s,u.d=[o]);return}else if(o*0!==0){o||(u.s=NaN),u.e=NaN,u.d=null;return}return gt(u,o.toString())}else if(c!=="string")throw Error(re+o);return(a=o.charCodeAt(0))===45?(o=o.slice(1),u.s=-1):(a===43&&(o=o.slice(1)),u.s=1),tn.test(o)?gt(u,o):si(u,o)}if(r.prototype=p,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Ai,r.clone=un,r.isDecimal=Yt,r.abs=ui,r.acos=ci,r.acosh=li,r.add=mi,r.asin=di,r.asinh=pi,r.atan=fi,r.atanh=bi,r.atan2=yi,r.cbrt=gi,r.ceil=Pi,r.clamp=wi,r.cos=ki,r.cosh=hi,r.div=Ti,r.exp=Bi,r.floor=xi,r.hypot=Ii,r.ln=Si,r.log=Ki,r.log10=Ni,r.log2=Ci,r.max=Li,r.min=Ri,r.mod=Mi,r.mul=Oi,r.pow=Fi,r.random=Ei,r.round=vi,r.sign=Wi,r.sin=Di,r.sinh=_i,r.sqrt=Vi,r.sub=qi,r.sum=Gi,r.tan=Ui,r.tanh=Xi,r.trunc=zi,e===void 0&&(e={}),e&&e.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<i.length;)e.hasOwnProperty(n=i[t++])||(e[n]=this[n]);return r.config(e),r}function Ti(e,t){return new this(e).div(t)}function Bi(e){return new this(e).exp()}function xi(e){return g(e=new this(e),e.e+1,3)}function Ii(){var e,t,n=new this(0);for(h=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return h=!0,new this(1/0);n=t}return h=!0,n.sqrt()}function Yt(e){return e instanceof Ze||e&&e.toStringTag===en||!1}function Si(e){return new this(e).ln()}function Ki(e,t){return new this(e).log(t)}function Ci(e){return new this(e).log(2)}function Ni(e){return new this(e).log(10)}function Li(){return on(this,arguments,"lt")}function Ri(){return on(this,arguments,"gt")}function Mi(e,t){return new this(e).mod(t)}function Oi(e,t){return new this(e).mul(t)}function Fi(e,t){return new this(e).pow(t)}function Ei(e){var t,n,i,r,o=0,s=new this(1),a=[];if(e===void 0?e=this.precision:U(e,1,oe),i=Math.ceil(e/k),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(i));o<i;)r=t[o],r>=429e7?t[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(i*=4);o<i;)r=t[o]+(t[o+1]<<8)+(t[o+2]<<16)+((t[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(t,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error($t);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],e%=k,i&&e&&(r=v(10,k-e),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=k)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<k&&(n-=k-i)}return s.e=n,s.d=a,s}function vi(e){return g(e=new this(e),e.e+1,this.rounding)}function Wi(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function Di(e){return new this(e).sin()}function _i(e){return new this(e).sinh()}function Vi(e){return new this(e).sqrt()}function qi(e,t){return new this(e).sub(t)}function Gi(){var e=0,t=arguments,n=new this(t[e]);for(h=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return h=!0,g(n,this.precision,this.rounding)}function Ui(e){return new this(e).tan()}function Xi(e){return new this(e).tanh()}function zi(e){return g(e=new this(e),e.e+1,1)}p[Symbol.for("nodejs.util.inspect.custom")]=p.toString;p[Symbol.toStringTag]="Decimal";var Ze=p.constructor=un(ft);qe=new Ze(qe);Ge=new Ze(Ge);import er from"big.js";import vs from"bn.js";import Hi from"toformat";var Zi=Hi,xe=Zi;import Ye from"big.js";import Yi from"bn.js";import Qi from"decimal.js-light";import Ie from"bn.js";var cn=9007199254740991;function J(e){let t=W("CobaltX_parseBigNumberish");if(e instanceof Ie)return e;if(typeof e=="string"){if(e.match(/^-?[0-9]+$/))return new Ie(e);t.logWithError(`invalid BigNumberish string: ${e}`)}return typeof e=="number"?(e%1&&t.logWithError(`BigNumberish number underflow: ${e}`),(e>=cn||e<=-cn)&&t.logWithError(`BigNumberish number overflow: ${e}`),new Ie(String(e))):typeof e=="bigint"?new Ie(e.toString()):(t.error(`invalid BigNumberish value: ${e}`),new Ie(0))}var je=W("module/fraction"),wt=xe(Ye),Se=xe(Qi),Ji={[0]:Se.ROUND_DOWN,[1]:Se.ROUND_HALF_UP,[2]:Se.ROUND_UP},$i={[0]:Ye.roundDown,[1]:Ye.roundHalfUp,[2]:Ye.roundUp},O=class{constructor(t,n=new Yi(1)){this.numerator=J(t),this.denominator=J(n)}get quotient(){return this.numerator.div(this.denominator)}invert(){return new O(this.denominator,this.numerator)}add(t){let n=t instanceof O?t:new O(J(t));return this.denominator.eq(n.denominator)?new O(this.numerator.add(n.numerator),this.denominator):new O(this.numerator.mul(n.denominator).add(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}sub(t){let n=t instanceof O?t:new O(J(t));return this.denominator.eq(n.denominator)?new O(this.numerator.sub(n.numerator),this.denominator):new O(this.numerator.mul(n.denominator).sub(n.numerator.mul(this.denominator)),this.denominator.mul(n.denominator))}mul(t){let n=t instanceof O?t:new O(J(t));return new O(this.numerator.mul(n.numerator),this.denominator.mul(n.denominator))}div(t){let n=t instanceof O?t:new O(J(t));return new O(this.numerator.mul(n.denominator),this.denominator.mul(n.numerator))}toSignificant(t,n={groupSeparator:""},i=1){Number.isInteger(t)||je.logWithError(`${t} is not an integer.`),t<=0&&je.logWithError(`${t} is not positive.`),Se.set({precision:t+1,rounding:Ji[i]});let r=new Se(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(t);return r.toFormat(r.decimalPlaces(),n)}toFixed(t,n={groupSeparator:""},i=1){return Number.isInteger(t)||je.logWithError(`${t} is not an integer.`),t<0&&je.logWithError(`${t} is negative.`),wt.DP=t,wt.RM=$i[i]||1,new wt(this.numerator.toString()).div(this.denominator.toString()).toFormat(t,n)}isZero(){return this.numerator.isZero()}};var zs=W("CobaltX_amount"),Hs=xe(er);import{TOKEN_PROGRAM_ID as ln}from"@solana/spl-token";import{PublicKey as nr}from"@solana/web3.js";var At={chainId:101,address:nr.default.toBase58(),programId:ln.toBase58(),decimals:9,symbol:"ETH",name:"Ethereum",logoURI:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}},se={chainId:101,address:"So11111111111111111111111111111111111111112",programId:ln.toBase58(),decimals:9,symbol:"WETH",name:"Wrapped ETH",logoURI:"https://raw.githubusercontent.com/cobaltx-io/tokens/main/logo/So11111111111111111111111111111111111111112.png",tags:[],priority:2,type:"cobaltx",extensions:{coingeckoId:"solana"}};import{PublicKey as ht}from"@solana/web3.js";import{PublicKey as _,SystemProgram as mn,SYSVAR_RENT_PUBKEY as ir}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as rr}from"@solana/spl-token";function kt({pubkey:e,isSigner:t=!1,isWritable:n=!0}){return{pubkey:e,isWritable:n,isSigner:t}}var ta=[kt({pubkey:rr,isWritable:!1}),kt({pubkey:mn.programId,isWritable:!1}),kt({pubkey:ir,isWritable:!1})];function dn({publicKey:e,transformSol:t}){let n=pn(e.toString());if(n instanceof _)return t&&n.equals(Ke)?_e:n;if(t&&n.toString()===Ke.toBase58())return _e;if(typeof n=="string"){if(n===_.default.toBase58())return _.default;try{return new _(n)}catch{throw new Error("invalid public key")}}throw new Error("invalid public key")}function pn(e){try{return new _(e)}catch{return e}}var or=new _("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Qe=new _("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),Je=new _("SysvarRent111111111111111111111111111111111"),na=new _("SysvarC1ock11111111111111111111111111111111"),we=new _("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"),ia=new _("Sysvar1nstructions1111111111111111111111111"),fn=mn.programId,ra=new _("a2Gt18uJC8puJT9JRYQLU6rPi6okxQb4WqCjwtYshZB"),oa=new _("bXSKiFqYrALF9gJy1KqHm8tv4QXk8nCgbLN8WRsGEbh"),_e=new _("So11111111111111111111111111111111111111112"),Ke=_.default,sa=new _("71kRXzJMvSeArtXYNEWa8KAjpRJosdMQ7Dpgy5Jt5zfd"),aa=new _("ERFzpDteGNo8LTDKW1WwVGrkRMmA2y9WZHXNHxMA6BSV");var Tt=class{constructor({mint:t,decimals:n,symbol:i,name:r,skipMint:o=!1,isToken2022:s=!1}){if(t===Ke.toBase58()||t instanceof ht&&Ke.equals(t)){this.decimals=se.decimals,this.symbol=se.symbol,this.name=se.name,this.mint=new ht(se.address),this.isToken2022=!1;return}this.decimals=n,this.symbol=i||t.toString().substring(0,6),this.name=r||t.toString().substring(0,6),this.mint=o?ht.default:dn({publicKey:t}),this.isToken2022=s}equals(t){return this===t?!0:this.mint.equals(t.mint)}},ae=Tt;ae.WSOL=new Tt({...se,mint:se.address});var Bt=class{constructor({decimals:t,symbol:n="UNKNOWN",name:i="UNKNOWN"}){this.decimals=t,this.symbol=n,this.name=i}equals(t){return this===t}},$e=Bt;$e.SOL=new Bt(At);import sr from"bn.js";var wa=new O(new sr(100));var xa=W("CobaltX_price");import{PublicKey as qa}from"@solana/web3.js";import Ua from"bn.js";var ar=new te(0),uu=new te(1),cu=new te(2),lu=new te(3),mu=new te(5),tr=new te(10),du=new te(100),pu=new te(1e3),fu=new te(1e4);import{PublicKey as cr}from"@solana/web3.js";import{TOKEN_PROGRAM_ID as lr}from"@solana/spl-token";import{ComputeBudgetProgram as hu,Keypair as xu,PublicKey as ur,Transaction as Su,TransactionMessage as Cu,VersionedTransaction as Nu}from"@solana/web3.js";var Ne={CreateAccount:"CreateAccount",InitAccount:"InitAccount",CreateATA:"CreateATA",CloseAccount:"CloseAccount",TransferAmount:"TransferAmount",InitMint:"InitMint",MintTo:"MintTo",InitMarket:"InitMarket",Util1216OwnerClaim:"Util1216OwnerClaim",SetComputeUnitPrice:"SetComputeUnitPrice",SetComputeUnitLimit:"SetComputeUnitLimit",ClmmCreatePool:"ClmmCreatePool",ClmmOpenPosition:"ClmmOpenPosition",ClmmIncreasePosition:"ClmmIncreasePosition",ClmmDecreasePosition:"ClmmDecreasePosition",ClmmClosePosition:"ClmmClosePosition",ClmmSwapBaseIn:"ClmmSwapBaseIn",ClmmSwapBaseOut:"ClmmSwapBaseOut",ClmmInitReward:"ClmmInitReward",ClmmSetReward:"ClmmSetReward",ClmmCollectReward:"ClmmCollectReward",ClmmLockPosition:"ClmmLockPosition",ClmmHarvestLockPosition:"ClmmHarvestLockPosition",AmmV4Swap:"AmmV4Swap",AmmV4AddLiquidity:"AmmV4AddLiquidity",AmmV4RemoveLiquidity:"AmmV4RemoveLiquidity",AmmV4SimulatePoolInfo:"AmmV4SimulatePoolInfo",AmmV4SwapBaseIn:"AmmV4SwapBaseIn",AmmV4SwapBaseOut:"AmmV4SwapBaseOut",AmmV4CreatePool:"AmmV4CreatePool",AmmV4InitPool:"AmmV4InitPool",AmmV5AddLiquidity:"AmmV5AddLiquidity",AmmV5RemoveLiquidity:"AmmV5RemoveLiquidity",AmmV5SimulatePoolInfo:"AmmV5SimulatePoolInfo",AmmV5SwapBaseIn:"AmmV5SwapBaseIn",AmmV5SwapBaseOut:"AmmV5SwapBaseOut",RouteSwap:"RouteSwap",RouteSwap1:"RouteSwap1",RouteSwap2:"RouteSwap2",FarmV3Deposit:"FarmV3Deposit",FarmV3Withdraw:"FarmV3Withdraw",FarmV3CreateLedger:"FarmV3CreateLedger",FarmV4Withdraw:"FarmV4Withdraw",FarmV5Deposit:"FarmV5Deposit",FarmV5Withdraw:"FarmV5Withdraw",FarmV5CreateLedger:"FarmV5CreateLedger",FarmV6Deposit:"FarmV6Deposit",FarmV6Withdraw:"FarmV6Withdraw",FarmV6Create:"FarmV6Create",FarmV6Restart:"FarmV6Restart",FarmV6CreatorAddReward:"FarmV6CreatorAddReward",FarmV6CreatorWithdraw:"FarmV6CreatorWithdraw",CpmmCreatePool:"CpmmCreatePool",CpmmAddLiquidity:"CpmmAddLiquidity",CpmmWithdrawLiquidity:"CpmmWithdrawLiquidity",CpmmSwapBaseIn:"CpmmSwapBaseIn",CpmmSwapBaseOut:"CpmmSwapBaseOut",CpmmLockLp:"CpmmLockLp",CpmmCollectLockFee:"CpmmCollectLockFee"};import{TOKEN_PROGRAM_ID as Ou}from"@solana/spl-token";var Fu=W("CobaltX_txUtil");function X(e,t){let[n,i]=ur.findProgramAddressSync(e,t);return{publicKey:n,nonce:i}}function Ae(e,t,n){return X([e.toBuffer(),(n!=null?n:lr).toBuffer(),t.toBuffer()],new cr("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"))}import{PublicKey as B}from"@solana/web3.js";var qu=new B("EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q"),Gu=new B("CBuCnLe26faBpcBP2fktp4rp8abpcAnTWft6ZrP5Q4T"),Uu=new B("9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z"),Xu=new B("FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG"),zu=new B("CLaimxFqjHzgTJtAGHU47NPhg6qrc5sCnpC4tBLyABQS"),Hu=new B("srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX"),Zu=new B("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"),ju=new B("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8"),Yu=new B("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"),Qu=new B("CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"),mr=new B("2TnjBuwqyBB9to5jURagDT7jLmBPefGRiKL2yh1zPZ4V"),dr=new B("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),pr=new B("kN1kEznaF5Xbd8LYuqtEFcxzWSBk5Fv6ygX6SqEGJVy"),Ju=new B("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS"),$u=new B("7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5"),ec=new B("6FJon3QE27qgPVggARueB22hLvoh22VzJpXv4rBEoSLF"),tc=new B("CC12se5To1CdEuw7fDS27B7Geo5jJyL7t5UK2B44NgiH"),nc=new B("9HzJyW1qZsEiSfMUf6L2jo3CcTKAyBmSyKdwQeYisHrC"),ic=new B("DropEU8AvevN3UrXWXTMuz3rqnMczQVNjq3kcSdW2SQi"),bn=new B("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C"),yn=new B("GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL"),rc=new B("DNXgeM9EiiaAbaWvwjHj9fQQLAX5ZsfHyvmYUNRAdNC8"),fr=new B("CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW"),br=new B("7rQ1QFNosMkUCuh7Z7fPbTHvh73b68sQYdirycEzJVuw"),yr=new B("G11FKBRaAkHAKuLCgLM6K6NUc9rTjPAznRCjZifrTQe2"),oc=new B("LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE"),gr=new B("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),sc=new B("3f7GcQFG397GAaEnv51zR6tsTVihYRydnydDD1cXekxH"),Pr=new B("7AFUeLVRjBfzqK3tTGw8hN48KLQWSk6DTE8xprWdPqix");var ac={SERUM_MARKET:B.default,OPENBOOK_MARKET:new B("EoTcMgcDRTJVZDMZWBoU6rhYHZfkNTVEAfz3uUJRcYGj"),UTIL1216:B.default,FarmV3:new B("85BFyr98MbCUU9MVTEgzx1nbhWACbJqLzho6zd6DZcWL"),FarmV5:new B("EcLzTrNg9V7qhcdyXDe2qjtPkiGzDM2UbdRaeaadU5r2"),FarmV6:new B("Farm2hJLcqPtPg8M4rR6DMrsRNc5TPm5Cs4bVQrMe2T7"),AmmV4:new B("HWy1jotHpo6UqeQxx49dpYYdQB8wj9Qk9MdxwjLvDHB8"),AmmStable:new B("DDg4VmQaJV9ogWce7LpcjBA9bv22wRp5uaTPa5pGjijF"),CLMM:new B("devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH"),CLMM_LOCK_PROGRAM_ID:new B("DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC"),CLMM_LOCK_AUTH_ID:new B("8qmHNvu2Kr2C7U8mJL4Vz1vTDxMhVuXKREwU7TNoaVEo"),Router:new B("BVChZ3XFEwTMUk1o9i3HAf91H6mFxSwa5X2wFAWhYPhU"),CREATE_CPMM_POOL_PROGRAM:fr,CREATE_CPMM_POOL_AUTH:br,CREATE_CPMM_POOL_FEE_ACC:yr,FEE_DESTINATION_ID:new B("3XMrhbv989VxAMi3DErLV9eJht1pHppW5LbKxe9fkEFR"),LOCK_CPMM_PROGRAM:gr,LCOK_CPMM_AUTH:Pr};import gn from"bn.js";function St(e,t){let{div:n,mod:i}=e.divmod(t);return i.gt(new gn(0))?n.add(new gn(1)):n}import{PublicKey as wr,AddressLookupTableAccount as Pn}from"@solana/web3.js";var Ar={AiAibtFJts8e4W1FjWYRH34aBJkJqghdmXiJozK7MvTM:new Pn({key:new wr("AiAibtFJts8e4W1FjWYRH34aBJkJqghdmXiJozK7MvTM"),state:Pn.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 xc,sendAndConfirmTransaction as Ic,Transaction as Kc,TransactionMessage as Nc,VersionedTransaction as Lc}from"@solana/web3.js";import Mc from"axios";import{ASSOCIATED_TOKEN_PROGRAM_ID as En,TOKEN_2022_PROGRAM_ID as Ft,TOKEN_PROGRAM_ID as ue}from"@solana/spl-token";import{Keypair as jr,PublicKey as Oe,SystemProgram as Yr,TransactionInstruction as me}from"@solana/web3.js";var hr=Buffer.from("vault_and_lp_mint_auth_seed","utf8"),Tr=Buffer.from("amm_config","utf8"),Br=Buffer.from("pool","utf8"),xr=Buffer.from("pool_lp_mint","utf8"),Ir=Buffer.from("pool_vault","utf8"),Sr=Buffer.from("observation","utf8");function Kr(e){return X([hr],e)}function rl(e,t){return X([Tr,Lr(t)],e)}function Kt(e,t,n,i){return X([Br,t.toBuffer(),n.toBuffer(),i.toBuffer()],e)}function Cr(e,t){return X([xr,t.toBuffer()],e)}function An(e,t,n){return X([Ir,t.toBuffer(),n.toBuffer()],e)}function Nr(e,t){return X([Sr,t.toBuffer()],e)}function Lr(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e,!1),new Uint8Array(t)}function ol({poolId:e,programId:t,configId:n,mintA:i,mintB:r}){let o=Kr(t).publicKey,s=e||Kt(t,n,i,r).publicKey,a=Cr(t,s).publicKey,c=An(t,s,i).publicKey,u=An(t,s,r).publicKey,l=Nr(t,s).publicKey;return{poolId:s,configId:n,authority:o,lpMint:a,vaultA:c,vaultB:u,observationId:l}}var Rr=Buffer.from("locked_liquidity","utf8");function kn(e,t){return X([Rr,t.toBuffer()],e)}import{AccountLayout as op,TOKEN_2022_PROGRAM_ID as sp,TOKEN_PROGRAM_ID as ap}from"@solana/spl-token";import{PublicKey as cp}from"@solana/web3.js";import mp from"bn.js";import{PublicKey as fl}from"@solana/web3.js";import{MintLayout as yl,TOKEN_PROGRAM_ID as Pl}from"@solana/spl-token";import{ASSOCIATED_TOKEN_PROGRAM_ID as Nd,TOKEN_2022_PROGRAM_ID as Ld,TOKEN_PROGRAM_ID as Rd}from"@solana/spl-token";import{Keypair as Fd,PublicKey as Ed,SystemProgram as Wd,TransactionInstruction as Dd}from"@solana/web3.js";import Vd from"bn.js";import