@coinflowlabs/vue 0.3.0 → 0.3.1

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/README.md CHANGED
@@ -47,6 +47,10 @@ Props:
47
47
 
48
48
  # Changelog
49
49
 
50
+ ## 0.3.1
51
+
52
+ - Added sessionKey authentication mechanism to `CoinflowWithdraw`
53
+
50
54
  ## 0.3.0
51
55
 
52
56
  - Added sessionKey authentication mechanism to `CoinflowPurchase`
@@ -14936,18 +14936,21 @@ class un {
14936
14936
  };
14937
14937
  }
14938
14938
  }
14939
- var eu = /* @__PURE__ */ ((n) => (n.SignMessage = "signMessage", n.SignTransaction = "signTransaction", n.SendTransaction = "sendTransaction", n.HeightChange = "heightChange", n.Success = "success", n.Load = "load", n))(eu || {});
14939
+ var eu = /* @__PURE__ */ ((n) => (n.SignMessage = "signMessage", n.SignTransaction = "signTransaction", n.SendTransaction = "sendTransaction", n.HeightChange = "heightChange", n.Success = "success", n.Loaded = "loaded", n))(eu || {});
14940
14940
  function Bo(n) {
14941
- if ("wallet" in n && n.wallet) {
14942
- const { wallet: t } = n;
14943
- if ("publicKey" in t)
14944
- return t.publicKey.toString();
14945
- if ("address" in t)
14946
- return t.address;
14947
- if ("accountId" in t)
14948
- return t.accountId;
14941
+ let t;
14942
+ if ("signer" in n && typeof n.signer == "object" && n.signer && "wallet" in n.signer ? t = n.signer.wallet : "wallet" in n && n.wallet && (t = n.wallet), !!t) {
14943
+ if (typeof t == "string") return t;
14944
+ if (typeof t == "object") {
14945
+ if ("publicKey" in t)
14946
+ return t.publicKey ? t.publicKey.toString() : void 0;
14947
+ if ("address" in t)
14948
+ return t.address ? t.address : void 0;
14949
+ if ("accountId" in t)
14950
+ return t.accountId ? t.accountId : void 0;
14951
+ }
14952
+ return null;
14949
14953
  }
14950
- return null;
14951
14954
  }
14952
14955
  function Ld(n, t) {
14953
14956
  let e;
@@ -14971,29 +14974,50 @@ function Ld(n, t) {
14971
14974
  if (!t.onSuccess) return;
14972
14975
  t.onSuccess(e.info);
14973
14976
  return;
14977
+ case "loaded":
14978
+ return;
14974
14979
  }
14975
14980
  console.warn(
14976
14981
  `Didn't expect to get here, handleIFrameMessage method:${s} is not one of ${Object.values(eu)}`
14977
14982
  );
14978
14983
  }
14979
14984
  function Ro(n) {
14980
- return n.blockchain ? un.byBlockchain(n.blockchain, {
14981
- solana: () => Cd(n),
14982
- near: () => Ud(n),
14983
- eth: () => Pi(n),
14984
- polygon: () => Pi(n),
14985
- base: () => Pi(n),
14986
- arbitrum: () => Pi(n),
14985
+ let t, e;
14986
+ return "signer" in n && typeof n.signer == "object" && n.signer && "blockchain" in n.signer && "wallet" in n.signer ? (t = n.signer.blockchain, e = n.signer.wallet) : "blockchain" in n && n.blockchain && (t = n.blockchain, e = n.wallet), t ? un.byBlockchain(t, {
14987
+ solana: () => Cd({
14988
+ wallet: e,
14989
+ onSuccess: n.onSuccess
14990
+ }),
14991
+ near: () => Ud({
14992
+ wallet: e,
14993
+ onSuccess: n.onSuccess
14994
+ }),
14995
+ eth: () => Pi({
14996
+ wallet: e,
14997
+ onSuccess: n.onSuccess
14998
+ }),
14999
+ polygon: () => Pi({
15000
+ wallet: e,
15001
+ onSuccess: n.onSuccess
15002
+ }),
15003
+ base: () => Pi({
15004
+ wallet: e,
15005
+ onSuccess: n.onSuccess
15006
+ }),
15007
+ arbitrum: () => Pi({
15008
+ wallet: e,
15009
+ onSuccess: n.onSuccess
15010
+ }),
14987
15011
  user: () => Od(n)
14988
15012
  })() : {
14989
15013
  handleSendTransaction: () => {
14990
- throw new Error("handleSendTransaction Not Implemented for sessionKey");
15014
+ throw new Error("handleSendTransaction Not Implemented");
14991
15015
  },
14992
15016
  handleSignMessage: () => {
14993
- throw new Error("handleSendTransaction Not Implemented for sessionKey");
15017
+ throw new Error("handleSendTransaction Not Implemented");
14994
15018
  },
14995
15019
  handleSignTransaction: () => {
14996
- throw new Error("handleSendTransaction Not Implemented for sessionKey");
15020
+ throw new Error("handleSendTransaction Not Implemented");
14997
15021
  },
14998
15022
  onSuccess: n.onSuccess
14999
15023
  };
@@ -15049,13 +15073,12 @@ function Ud({
15049
15073
  wallet: n,
15050
15074
  onSuccess: t
15051
15075
  }) {
15052
- const e = n;
15053
15076
  return {
15054
- handleSendTransaction: async (r) => {
15055
- const s = JSON.parse(Buffer.from(r, "base64").toString()), i = await e.signAndSendTransaction(s);
15056
- if (!i) throw new Error("Transaction did not send");
15057
- const { transaction: o } = i;
15058
- return o.hash;
15077
+ handleSendTransaction: async (e) => {
15078
+ const r = JSON.parse(Buffer.from(e, "base64").toString()), s = await n.signAndSendTransaction(r);
15079
+ if (!s) throw new Error("Transaction did not send");
15080
+ const { transaction: i } = s;
15081
+ return i.hash;
15059
15082
  },
15060
15083
  onSuccess: t
15061
15084
  };
@@ -15064,13 +15087,12 @@ function Pi({
15064
15087
  wallet: n,
15065
15088
  onSuccess: t
15066
15089
  }) {
15067
- const e = n;
15068
15090
  return {
15069
- handleSendTransaction: async (r) => {
15070
- const s = JSON.parse(Buffer.from(r, "base64").toString()), { hash: i } = await e.sendTransaction(s);
15071
- return i;
15091
+ handleSendTransaction: async (e) => {
15092
+ const r = JSON.parse(Buffer.from(e, "base64").toString()), { hash: s } = await n.sendTransaction(r);
15093
+ return s;
15072
15094
  },
15073
- handleSignMessage: async (r) => e.signMessage(r),
15095
+ handleSignMessage: async (e) => n.signMessage(e),
15074
15096
  onSuccess: t
15075
15097
  };
15076
15098
  }
@@ -10,7 +10,7 @@ ${JSON.stringify(s.slice(-10),null,2)}. `:"",o="\nCatch the `SendTransactionErro
10
10
  ${r}. `+i+o;break;case"simulate":a=`Simulation failed.
11
11
  Message: ${r}.
12
12
  `+i+o;break;default:a=`Unknown action '${(l=>l)(t)}'`}super(a),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=e,this.transactionMessage=r,this.transactionLogs=s||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){const t=this.transactionLogs;if(!(t!=null&&typeof t=="object"&&"then"in t))return t}async getLogs(t){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((e,r)=>{t.getTransaction(this.signature).then(s=>{if(s&&s.meta&&s.meta.logMessages){const i=s.meta.logMessages;this.transactionLogs=i,e(i)}else r(new Error("Log messages not found"))}).catch(r)})),await this.transactionLogs}}const sh={JSON_RPC_SERVER_ERROR_BLOCK_CLEANED_UP:-32001,JSON_RPC_SERVER_ERROR_SEND_TRANSACTION_PREFLIGHT_FAILURE:-32002,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_VERIFICATION_FAILURE:-32003,JSON_RPC_SERVER_ERROR_BLOCK_NOT_AVAILABLE:-32004,JSON_RPC_SERVER_ERROR_NODE_UNHEALTHY:-32005,JSON_RPC_SERVER_ERROR_TRANSACTION_PRECOMPILE_VERIFICATION_FAILURE:-32006,JSON_RPC_SERVER_ERROR_SLOT_SKIPPED:-32007,JSON_RPC_SERVER_ERROR_NO_SNAPSHOT:-32008,JSON_RPC_SERVER_ERROR_LONG_TERM_STORAGE_SLOT_SKIPPED:-32009,JSON_RPC_SERVER_ERROR_KEY_EXCLUDED_FROM_SECONDARY_INDEX:-32010,JSON_RPC_SERVER_ERROR_TRANSACTION_HISTORY_NOT_AVAILABLE:-32011,JSON_RPC_SCAN_ERROR:-32012,JSON_RPC_SERVER_ERROR_TRANSACTION_SIGNATURE_LEN_MISMATCH:-32013,JSON_RPC_SERVER_ERROR_BLOCK_STATUS_NOT_AVAILABLE_YET:-32014,JSON_RPC_SERVER_ERROR_UNSUPPORTED_TRANSACTION_VERSION:-32015,JSON_RPC_SERVER_ERROR_MIN_CONTEXT_SLOT_NOT_REACHED:-32016};class Rt extends Error{constructor({code:t,message:e,data:r},s){super(s!=null?`${s}: ${e}`:e),this.code=void 0,this.data=void 0,this.code=t,this.data=r,this.name="SolanaJSONRPCError"}}async function no(n,t,e,r){const s=r&&{skipPreflight:r.skipPreflight,preflightCommitment:r.preflightCommitment||r.commitment,maxRetries:r.maxRetries,minContextSlot:r.minContextSlot},i=await n.sendTransaction(t,e,s);let o;if(t.recentBlockhash!=null&&t.lastValidBlockHeight!=null)o=(await n.confirmTransaction({abortSignal:r==null?void 0:r.abortSignal,signature:i,blockhash:t.recentBlockhash,lastValidBlockHeight:t.lastValidBlockHeight},r&&r.commitment)).value;else if(t.minNonceContextSlot!=null&&t.nonceInfo!=null){const{nonceInstruction:a}=t.nonceInfo,l=a.keys[0].pubkey;o=(await n.confirmTransaction({abortSignal:r==null?void 0:r.abortSignal,minContextSlot:t.minNonceContextSlot,nonceAccountPubkey:l,nonceValue:t.nonceInfo.nonce,signature:i},r&&r.commitment)).value}else(r==null?void 0:r.abortSignal)!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),o=(await n.confirmTransaction(i,r&&r.commitment)).value;if(o.err)throw i!=null?new yi({action:"send",signature:i,transactionMessage:`Status: (${JSON.stringify(o)})`}):new Error(`Transaction ${i} failed (${JSON.stringify(o)})`);return i}function Mn(n){return new Promise(t=>setTimeout(t,n))}function fe(n,t){const e=n.layout.span>=0?n.layout.span:ac(n,t),r=Ct.Buffer.alloc(e),s=Object.assign({instruction:n.index},t);return n.layout.encode(s,r),r}function Ee(n,t){let e;try{e=n.layout.decode(t)}catch(r){throw new Error("invalid instruction; "+r)}if(e.instruction!==n.index)throw new Error(`invalid instruction; instruction index mismatch ${e.instruction} != ${n.index}`);return e}const fc=hr("lamportsPerSignature"),lc=At([It("version"),It("state"),oe("authorizedPubkey"),oe("nonce"),At([fc],"feeCalculator")]),io=lc.span;class Yi{constructor(t){this.authorizedPubkey=void 0,this.nonce=void 0,this.feeCalculator=void 0,this.authorizedPubkey=t.authorizedPubkey,this.nonce=t.nonce,this.feeCalculator=t.feeCalculator}static fromAccountData(t){const e=lc.decode(te(t),0);return new Yi({authorizedPubkey:new gt(e.authorizedPubkey),nonce:new gt(e.nonce).toString(),feeCalculator:e.feeCalculator})}}const oh=n=>{const t=n.decode.bind(n),e=n.encode.bind(n);return{decode:t,encode:e}},Jn=(n=>t=>{const e=Ke(n,t),{encode:r,decode:s}=oh(e),i=e;return i.decode=(o,a)=>{const l=s(o,a);return Of(Ct.Buffer.from(l))},i.encode=(o,a,l)=>{const y=Ma(o,n);return r(y,a,l)},i})(8);class ah{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(Ne))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a SystemInstruction");return s}static decodeCreateAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e,space:r,programId:s}=Ee(Ne.Create,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,lamports:e,space:r,programId:new gt(s)}}static decodeTransfer(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e}=Ee(Ne.Transfer,t.data);return{fromPubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,lamports:e}}static decodeTransferWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e,seed:r,programId:s}=Ee(Ne.TransferWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,basePubkey:t.keys[1].pubkey,toPubkey:t.keys[2].pubkey,lamports:e,seed:r,programId:new gt(s)}}static decodeAllocate(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{space:e}=Ee(Ne.Allocate,t.data);return{accountPubkey:t.keys[0].pubkey,space:e}}static decodeAllocateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,space:s,programId:i}=Ee(Ne.AllocateWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new gt(e),seed:r,space:s,programId:new gt(i)}}static decodeAssign(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{programId:e}=Ee(Ne.Assign,t.data);return{accountPubkey:t.keys[0].pubkey,programId:new gt(e)}}static decodeAssignWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,programId:s}=Ee(Ne.AssignWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new gt(e),seed:r,programId:new gt(s)}}static decodeCreateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{base:e,seed:r,lamports:s,space:i,programId:o}=Ee(Ne.CreateWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,basePubkey:new gt(e),seed:r,lamports:s,space:i,programId:new gt(o)}}static decodeNonceInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{authorized:e}=Ee(Ne.InitializeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:new gt(e)}}static decodeNonceAdvance(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ee(Ne.AdvanceNonceAccount,t.data),{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static decodeNonceWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=Ee(Ne.WithdrawNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e}}static decodeNonceAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e}=Ee(Ne.AuthorizeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[1].pubkey,newAuthorizedPubkey:new gt(e)}}static checkProgramId(t){if(!t.equals(cr.programId))throw new Error("invalid instruction; programId is not SystemProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const Ne=Object.freeze({Create:{index:0,layout:At([It("instruction"),Tr("lamports"),Tr("space"),oe("programId")])},Assign:{index:1,layout:At([It("instruction"),oe("programId")])},Transfer:{index:2,layout:At([It("instruction"),Jn("lamports")])},CreateWithSeed:{index:3,layout:At([It("instruction"),oe("base"),Rn("seed"),Tr("lamports"),Tr("space"),oe("programId")])},AdvanceNonceAccount:{index:4,layout:At([It("instruction")])},WithdrawNonceAccount:{index:5,layout:At([It("instruction"),Tr("lamports")])},InitializeNonceAccount:{index:6,layout:At([It("instruction"),oe("authorized")])},AuthorizeNonceAccount:{index:7,layout:At([It("instruction"),oe("authorized")])},Allocate:{index:8,layout:At([It("instruction"),Tr("space")])},AllocateWithSeed:{index:9,layout:At([It("instruction"),oe("base"),Rn("seed"),Tr("space"),oe("programId")])},AssignWithSeed:{index:10,layout:At([It("instruction"),oe("base"),Rn("seed"),oe("programId")])},TransferWithSeed:{index:11,layout:At([It("instruction"),Jn("lamports"),Rn("seed"),oe("programId")])},UpgradeNonceAccount:{index:12,layout:At([It("instruction")])}});class cr{constructor(){}static createAccount(t){const e=Ne.Create,r=fe(e,{lamports:t.lamports,space:t.space,programId:te(t.programId.toBuffer())});return new Ue({keys:[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:r})}static transfer(t){let e,r;if("basePubkey"in t){const s=Ne.TransferWithSeed;e=fe(s,{lamports:BigInt(t.lamports),seed:t.seed,programId:te(t.programId.toBuffer())}),r=[{pubkey:t.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}else{const s=Ne.Transfer;e=fe(s,{lamports:BigInt(t.lamports)}),r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}return new Ue({keys:r,programId:this.programId,data:e})}static assign(t){let e,r;if("basePubkey"in t){const s=Ne.AssignWithSeed;e=fe(s,{base:te(t.basePubkey.toBuffer()),seed:t.seed,programId:te(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{const s=Ne.Assign;e=fe(s,{programId:te(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new Ue({keys:r,programId:this.programId,data:e})}static createAccountWithSeed(t){const e=Ne.CreateWithSeed,r=fe(e,{base:te(t.basePubkey.toBuffer()),seed:t.seed,lamports:t.lamports,space:t.space,programId:te(t.programId.toBuffer())});let s=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!1,isWritable:!0}];return t.basePubkey.equals(t.fromPubkey)||s.push({pubkey:t.basePubkey,isSigner:!0,isWritable:!1}),new Ue({keys:s,programId:this.programId,data:r})}static createNonceAccount(t){const e=new ye;"basePubkey"in t&&"seed"in t?e.add(cr.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:io,programId:this.programId})):e.add(cr.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,lamports:t.lamports,space:io,programId:this.programId}));const r={noncePubkey:t.noncePubkey,authorizedPubkey:t.authorizedPubkey};return e.add(this.nonceInitialize(r)),e}static nonceInitialize(t){const e=Ne.InitializeNonceAccount,r=fe(e,{authorized:te(t.authorizedPubkey.toBuffer())}),s={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:ji,isSigner:!1,isWritable:!1},{pubkey:Zn,isSigner:!1,isWritable:!1}],programId:this.programId,data:r};return new Ue(s)}static nonceAdvance(t){const e=Ne.AdvanceNonceAccount,r=fe(e),s={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:ji,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r};return new Ue(s)}static nonceWithdraw(t){const e=Ne.WithdrawNonceAccount,r=fe(e,{lamports:t.lamports});return new Ue({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0},{pubkey:ji,isSigner:!1,isWritable:!1},{pubkey:Zn,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r})}static nonceAuthorize(t){const e=Ne.AuthorizeNonceAccount,r=fe(e,{authorized:te(t.newAuthorizedPubkey.toBuffer())});return new Ue({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:r})}static allocate(t){let e,r;if("basePubkey"in t){const s=Ne.AllocateWithSeed;e=fe(s,{base:te(t.basePubkey.toBuffer()),seed:t.seed,space:t.space,programId:te(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{const s=Ne.Allocate;e=fe(s,{space:t.space}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new Ue({keys:r,programId:this.programId,data:e})}}cr.programId=new gt("11111111111111111111111111111111");const ch=yn-300;class Pn{constructor(){}static getMinNumSignatures(t){return 2*(Math.ceil(t/Pn.chunkSize)+1+1)}static async load(t,e,r,s,i){{const E=await t.getMinimumBalanceForRentExemption(i.length),L=await t.getAccountInfo(r.publicKey,"confirmed");let C=null;if(L!==null){if(L.executable)return console.error("Program load failed, account is already executable"),!1;L.data.length!==i.length&&(C=C||new ye,C.add(cr.allocate({accountPubkey:r.publicKey,space:i.length}))),L.owner.equals(s)||(C=C||new ye,C.add(cr.assign({accountPubkey:r.publicKey,programId:s}))),L.lamports<E&&(C=C||new ye,C.add(cr.transfer({fromPubkey:e.publicKey,toPubkey:r.publicKey,lamports:E-L.lamports})))}else C=new ye().add(cr.createAccount({fromPubkey:e.publicKey,newAccountPubkey:r.publicKey,lamports:E>0?E:1,space:i.length,programId:s}));C!==null&&await no(t,C,[e,r],{commitment:"confirmed"})}const o=At([It("instruction"),It("offset"),It("bytesLength"),It("bytesLengthPadding"),dr(ge("byte"),pn(It(),-8),"bytes")]),a=Pn.chunkSize;let l=0,y=i,x=[];for(;y.length>0;){const E=y.slice(0,a),L=Ct.Buffer.alloc(a+16);o.encode({instruction:0,offset:l,bytes:E,bytesLength:0,bytesLengthPadding:0},L);const C=new ye().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0}],programId:s,data:L});x.push(no(t,C,[e,r],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")&&await Mn(1e3/4),l+=a,y=y.slice(a)}await Promise.all(x);{const E=At([It("instruction")]),L=Ct.Buffer.alloc(E.span);E.encode({instruction:1},L);const C=new ye().add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0},{pubkey:Zn,isSigner:!1,isWritable:!1}],programId:s,data:L}),N="processed",M=await t.sendTransaction(C,[e,r],{preflightCommitment:N}),{context:O,value:K}=await t.confirmTransaction({signature:M,lastValidBlockHeight:C.lastValidBlockHeight,blockhash:C.recentBlockhash},N);if(K.err)throw new Error(`Transaction ${M} failed (${JSON.stringify(K)})`);for(;;){try{if(await t.getSlot({commitment:N})>O.slot)break}catch{}await new Promise(Q=>setTimeout(Q,Math.round(uc/2)))}}return!0}}Pn.chunkSize=ch;const uh=new gt("BPFLoader2111111111111111111111111111111111");class fh{static getMinNumSignatures(t){return Pn.getMinNumSignatures(t)}static load(t,e,r,s,i){return Pn.load(t,e,r,i,s)}}function lh(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var so,hc;function hh(){if(hc)return so;hc=1;var n=Object.prototype.toString,t=Object.keys||function(r){var s=[];for(var i in r)s.push(i);return s};function e(r,s){var i,o,a,l,y,x,E;if(r===!0)return"true";if(r===!1)return"false";switch(typeof r){case"object":if(r===null)return null;if(r.toJSON&&typeof r.toJSON=="function")return e(r.toJSON(),s);if(E=n.call(r),E==="[object Array]"){for(a="[",o=r.length-1,i=0;i<o;i++)a+=e(r[i],!0)+",";return o>-1&&(a+=e(r[i],!0)),a+"]"}else if(E==="[object Object]"){for(l=t(r).sort(),o=l.length,a="",i=0;i<o;)y=l[i],x=e(r[y],!1),x!==void 0&&(a&&(a+=","),a+=JSON.stringify(y)+":"+x),i++;return"{"+a+"}"}else return JSON.stringify(r);case"function":case"undefined":return s?null:void 0;case"string":return JSON.stringify(r);default:return isFinite(r)?r:null}}return so=function(r){var s=e(r,!1);if(s!==void 0)return""+s},so}var dh=hh(),dc=lh(dh);const mi=32;function oo(n){let t=0;for(;n>1;)n/=2,t++;return t}function ph(n){return n===0?1:(n--,n|=n>>1,n|=n>>2,n|=n>>4,n|=n>>8,n|=n>>16,n|=n>>32,n+1)}class pc{constructor(t,e,r,s,i){this.slotsPerEpoch=void 0,this.leaderScheduleSlotOffset=void 0,this.warmup=void 0,this.firstNormalEpoch=void 0,this.firstNormalSlot=void 0,this.slotsPerEpoch=t,this.leaderScheduleSlotOffset=e,this.warmup=r,this.firstNormalEpoch=s,this.firstNormalSlot=i}getEpoch(t){return this.getEpochAndSlotIndex(t)[0]}getEpochAndSlotIndex(t){if(t<this.firstNormalSlot){const e=oo(ph(t+mi+1))-oo(mi)-1,r=this.getSlotsInEpoch(e),s=t-(r-mi);return[e,s]}else{const e=t-this.firstNormalSlot,r=Math.floor(e/this.slotsPerEpoch),s=this.firstNormalEpoch+r,i=e%this.slotsPerEpoch;return[s,i]}}getFirstSlotInEpoch(t){return t<=this.firstNormalEpoch?(Math.pow(2,t)-1)*mi:(t-this.firstNormalEpoch)*this.slotsPerEpoch+this.firstNormalSlot}getLastSlotInEpoch(t){return this.getFirstSlotInEpoch(t)+this.getSlotsInEpoch(t)-1}getSlotsInEpoch(t){return t<this.firstNormalEpoch?Math.pow(2,t+oo(mi)):this.slotsPerEpoch}}var gh=globalThis.fetch;class yh extends Sl{constructor(t,e,r){const s=i=>{const o=vl(i,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...e});return"socket"in o?this.underlyingSocket=o.socket:this.underlyingSocket=o,o};super(s,t,e,r),this.underlyingSocket=void 0}call(...t){var r;const e=(r=this.underlyingSocket)==null?void 0:r.readyState;return e===1?super.call(...t):Promise.reject(new Error("Tried to call a JSON-RPC method `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+e+")"))}notify(...t){var r;const e=(r=this.underlyingSocket)==null?void 0:r.readyState;return e===1?super.notify(...t):Promise.reject(new Error("Tried to send a JSON-RPC notification `"+t[0]+"` but the socket was not `CONNECTING` or `OPEN` (`readyState` was "+e+")"))}}function mh(n,t){let e;try{e=n.layout.decode(t)}catch(r){throw new Error("invalid instruction; "+r)}if(e.typeIndex!==n.index)throw new Error(`invalid account data; account type mismatch ${e.typeIndex} != ${n.index}`);return e}const gc=56;class ao{constructor(t){this.key=void 0,this.state=void 0,this.key=t.key,this.state=t.state}isActive(){const t=BigInt("0xffffffffffffffff");return this.state.deactivationSlot===t}static deserialize(t){const e=mh(wh,t),r=t.length-gc;xe(r>=0,"lookup table is invalid"),xe(r%32===0,"lookup table is invalid");const s=r/32,{addresses:i}=At([dr(oe(),s,"addresses")]).decode(t.slice(gc));return{deactivationSlot:e.deactivationSlot,lastExtendedSlot:e.lastExtendedSlot,lastExtendedSlotStartIndex:e.lastExtendedStartIndex,authority:e.authority.length!==0?new gt(e.authority[0]):void 0,addresses:i.map(o=>new gt(o))}}}const wh={index:1,layout:At([It("typeIndex"),Jn("deactivationSlot"),hr("lastExtendedSlot"),ge("lastExtendedStartIndex"),ge(),dr(oe(),pn(ge(),-1),"authority")])},bh=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;function xh(n){const t=n.match(bh);if(t==null)throw TypeError(`Failed to validate endpoint URL \`${n}\``);const[e,r,s,i]=t,o=n.startsWith("https:")?"wss:":"ws:",a=s==null?null:parseInt(s.slice(1),10),l=a==null?"":`:${a+1}`;return`${o}//${r}${l}${i}`}const Ve=fi(Ks(gt),dt(),n=>new gt(n)),yc=Ws([dt(),He("base64")]),co=fi(Ks(Ct.Buffer),yc,n=>Ct.Buffer.from(n[0],"base64")),mc=30*1e3;function vh(n){if(/^https?:/.test(n)===!1)throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return n}function Fe(n){let t,e;if(typeof n=="string")t=n;else if(n){const{commitment:r,...s}=n;t=r,e=s}return{commitment:t,config:e}}function wc(n){return n.map(t=>"memcmp"in t?{...t,memcmp:{...t.memcmp,encoding:t.memcmp.encoding??"base58"}}:t)}function bc(n){return Sr([at({jsonrpc:He("2.0"),id:dt(),result:n}),at({jsonrpc:He("2.0"),id:dt(),error:at({code:Gn(),message:dt(),data:Ot(Hf())})})])}const kh=bc(Gn());function ee(n){return fi(bc(n),kh,t=>"error"in t?t:{...t,result:yt(t.result,n)})}function Ye(n){return ee(at({context:at({slot:q()}),value:n}))}function Zi(n){return at({context:at({slot:q()}),value:n})}function uo(n,t){return n===0?new Tn({header:t.header,staticAccountKeys:t.accountKeys.map(e=>new gt(e)),recentBlockhash:t.recentBlockhash,compiledInstructions:t.instructions.map(e=>({programIdIndex:e.programIdIndex,accountKeyIndexes:e.accounts,data:ar.decode(e.data)})),addressTableLookups:t.addressTableLookups}):new Wr(t)}const Sh=at({foundation:q(),foundationTerm:q(),initial:q(),taper:q(),terminal:q()}),Eh=ee(wt(bt(at({epoch:q(),effectiveSlot:q(),amount:q(),postBalance:q(),commission:Ot(bt(q()))})))),_h=wt(at({slot:q(),prioritizationFee:q()})),Ih=at({total:q(),validator:q(),foundation:q(),epoch:q()}),Ah=at({epoch:q(),slotIndex:q(),slotsInEpoch:q(),absoluteSlot:q(),blockHeight:Ot(q()),transactionCount:Ot(q())}),Bh=at({slotsPerEpoch:q(),leaderScheduleSlotOffset:q(),warmup:Yr(),firstNormalEpoch:q(),firstNormalSlot:q()}),Rh=Ua(dt(),wt(q())),Cn=bt(Sr([at({}),dt()])),Th=at({err:Cn}),Mh=He("receivedSignature"),Ph=at({"solana-core":dt(),"feature-set":Ot(q())}),Ch=at({program:dt(),programId:Ve,parsed:Gn()}),Lh=at({programId:Ve,accounts:wt(Ve),data:dt()}),xc=Ye(at({err:bt(Sr([at({}),dt()])),logs:bt(wt(dt())),accounts:Ot(bt(wt(bt(at({executable:Yr(),owner:dt(),lamports:q(),data:wt(dt()),rentEpoch:Ot(q())}))))),unitsConsumed:Ot(q()),returnData:Ot(bt(at({programId:dt(),data:Ws([dt(),He("base64")])}))),innerInstructions:Ot(bt(wt(at({index:q(),instructions:wt(Sr([Ch,Lh]))}))))})),Uh=Ye(at({byIdentity:Ua(dt(),wt(q())),range:at({firstSlot:q(),lastSlot:q()})}));function Oh(n,t,e,r,s,i){const o=e||gh;let a;i!=null&&console.warn("You have supplied an `httpAgent` when creating a `Connection` in a browser environment.It has been ignored; `httpAgent` is only used in Node environments.");let l;return r&&(l=async(x,E)=>{const L=await new Promise((C,N)=>{try{r(x,E,(M,O)=>C([M,O]))}catch(M){N(M)}});return await o(...L)}),new wl(async(x,E)=>{const L={method:"POST",body:x,agent:a,headers:Object.assign({"Content-Type":"application/json"},t||{},N0)};try{let C=5,N,M=500;for(;l?N=await l(n,L):N=await o(n,L),!(N.status!==429||s===!0||(C-=1,C===0));)console.error(`Server responded with ${N.status} ${N.statusText}. Retrying after ${M}ms delay...`),await Mn(M),M*=2;const O=await N.text();N.ok?E(null,O):E(new Error(`${N.status} ${N.statusText}: ${O}`))}catch(C){C instanceof Error&&E(C)}},{})}function Nh(n){return(t,e)=>new Promise((r,s)=>{n.request(t,e,(i,o)=>{if(i){s(i);return}r(o)})})}function Fh(n){return t=>new Promise((e,r)=>{t.length===0&&e([]);const s=t.map(i=>n.request(i.methodName,i.args));n.request(s,(i,o)=>{if(i){r(i);return}e(o)})})}const zh=ee(Sh),Kh=ee(Ih),Wh=ee(_h),Dh=ee(Ah),$h=ee(Bh),qh=ee(Rh),Hh=ee(q()),Vh=Ye(at({total:q(),circulating:q(),nonCirculating:q(),nonCirculatingAccounts:wt(Ve)})),fo=at({amount:dt(),uiAmount:bt(q()),decimals:q(),uiAmountString:Ot(dt())}),jh=Ye(wt(at({address:Ve,amount:dt(),uiAmount:bt(q()),decimals:q(),uiAmountString:Ot(dt())}))),Gh=Ye(wt(at({pubkey:Ve,account:at({executable:Yr(),owner:Ve,lamports:q(),data:co,rentEpoch:q()})}))),lo=at({program:dt(),parsed:Gn(),space:q()}),Yh=Ye(wt(at({pubkey:Ve,account:at({executable:Yr(),owner:Ve,lamports:q(),data:lo,rentEpoch:q()})}))),Zh=Ye(wt(at({lamports:q(),address:Ve}))),wi=at({executable:Yr(),owner:Ve,lamports:q(),data:co,rentEpoch:q()}),Jh=at({pubkey:Ve,account:wi}),Xh=fi(Sr([Ks(Ct.Buffer),lo]),Sr([yc,lo]),n=>Array.isArray(n)?yt(n,co):n),ho=at({executable:Yr(),owner:Ve,lamports:q(),data:Xh,rentEpoch:q()}),Qh=at({pubkey:Ve,account:ho}),t0=at({state:Sr([He("active"),He("inactive"),He("activating"),He("deactivating")]),active:q(),inactive:q()}),e0=ee(wt(at({signature:dt(),slot:q(),err:Cn,memo:bt(dt()),blockTime:Ot(bt(q()))}))),r0=ee(wt(at({signature:dt(),slot:q(),err:Cn,memo:bt(dt()),blockTime:Ot(bt(q()))}))),n0=at({subscription:q(),result:Zi(wi)}),i0=at({pubkey:Ve,account:wi}),s0=at({subscription:q(),result:Zi(i0)}),o0=at({parent:q(),slot:q(),root:q()}),a0=at({subscription:q(),result:o0}),c0=Sr([at({type:Sr([He("firstShredReceived"),He("completed"),He("optimisticConfirmation"),He("root")]),slot:q(),timestamp:q()}),at({type:He("createdBank"),parent:q(),slot:q(),timestamp:q()}),at({type:He("frozen"),slot:q(),timestamp:q(),stats:at({numTransactionEntries:q(),numSuccessfulTransactions:q(),numFailedTransactions:q(),maxTransactionsPerEntry:q()})}),at({type:He("dead"),slot:q(),timestamp:q(),err:dt()})]),u0=at({subscription:q(),result:c0}),f0=at({subscription:q(),result:Zi(Sr([Th,Mh]))}),l0=at({subscription:q(),result:q()}),h0=at({pubkey:dt(),gossip:bt(dt()),tpu:bt(dt()),rpc:bt(dt()),version:bt(dt())}),vc=at({votePubkey:dt(),nodePubkey:dt(),activatedStake:q(),epochVoteAccount:Yr(),epochCredits:wt(Ws([q(),q(),q()])),commission:q(),lastVote:q(),rootSlot:bt(q())}),d0=ee(at({current:wt(vc),delinquent:wt(vc)})),p0=Sr([He("processed"),He("confirmed"),He("finalized")]),g0=at({slot:q(),confirmations:bt(q()),err:Cn,confirmationStatus:Ot(p0)}),y0=Ye(wt(bt(g0))),m0=ee(q()),kc=at({accountKey:Ve,writableIndexes:wt(q()),readonlyIndexes:wt(q())}),po=at({signatures:wt(dt()),message:at({accountKeys:wt(dt()),header:at({numRequiredSignatures:q(),numReadonlySignedAccounts:q(),numReadonlyUnsignedAccounts:q()}),instructions:wt(at({accounts:wt(q()),data:dt(),programIdIndex:q()})),recentBlockhash:dt(),addressTableLookups:Ot(wt(kc))})}),Sc=at({pubkey:Ve,signer:Yr(),writable:Yr(),source:Ot(Sr([He("transaction"),He("lookupTable")]))}),Ec=at({accountKeys:wt(Sc),signatures:wt(dt())}),_c=at({parsed:Gn(),program:dt(),programId:Ve}),Ic=at({accounts:wt(Ve),data:dt(),programId:Ve}),w0=Sr([Ic,_c]),b0=Sr([at({parsed:Gn(),program:dt(),programId:dt()}),at({accounts:wt(dt()),data:dt(),programId:dt()})]),Ac=fi(w0,b0,n=>"accounts"in n?yt(n,Ic):yt(n,_c)),Bc=at({signatures:wt(dt()),message:at({accountKeys:wt(Sc),instructions:wt(Ac),recentBlockhash:dt(),addressTableLookups:Ot(bt(wt(kc)))})}),Ji=at({accountIndex:q(),mint:dt(),owner:Ot(dt()),uiTokenAmount:fo}),Rc=at({writable:wt(Ve),readonly:wt(Ve)}),Xi=at({err:Cn,fee:q(),innerInstructions:Ot(bt(wt(at({index:q(),instructions:wt(at({accounts:wt(q()),data:dt(),programIdIndex:q()}))})))),preBalances:wt(q()),postBalances:wt(q()),logMessages:Ot(bt(wt(dt()))),preTokenBalances:Ot(bt(wt(Ji))),postTokenBalances:Ot(bt(wt(Ji))),loadedAddresses:Ot(Rc),computeUnitsConsumed:Ot(q())}),go=at({err:Cn,fee:q(),innerInstructions:Ot(bt(wt(at({index:q(),instructions:wt(Ac)})))),preBalances:wt(q()),postBalances:wt(q()),logMessages:Ot(bt(wt(dt()))),preTokenBalances:Ot(bt(wt(Ji))),postTokenBalances:Ot(bt(wt(Ji))),loadedAddresses:Ot(Rc),computeUnitsConsumed:Ot(q())}),Xn=Sr([He(0),He("legacy")]),Ln=at({pubkey:dt(),lamports:q(),postBalance:bt(q()),rewardType:bt(dt()),commission:Ot(bt(q()))}),x0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),transactions:wt(at({transaction:po,meta:bt(Xi),version:Ot(Xn)})),rewards:Ot(wt(Ln)),blockTime:bt(q()),blockHeight:bt(q())}))),v0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),rewards:Ot(wt(Ln)),blockTime:bt(q()),blockHeight:bt(q())}))),k0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),transactions:wt(at({transaction:Ec,meta:bt(Xi),version:Ot(Xn)})),rewards:Ot(wt(Ln)),blockTime:bt(q()),blockHeight:bt(q())}))),S0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),transactions:wt(at({transaction:Bc,meta:bt(go),version:Ot(Xn)})),rewards:Ot(wt(Ln)),blockTime:bt(q()),blockHeight:bt(q())}))),E0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),transactions:wt(at({transaction:Ec,meta:bt(go),version:Ot(Xn)})),rewards:Ot(wt(Ln)),blockTime:bt(q()),blockHeight:bt(q())}))),_0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),rewards:Ot(wt(Ln)),blockTime:bt(q()),blockHeight:bt(q())}))),I0=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),transactions:wt(at({transaction:po,meta:bt(Xi)})),rewards:Ot(wt(Ln)),blockTime:bt(q())}))),Tc=ee(bt(at({blockhash:dt(),previousBlockhash:dt(),parentSlot:q(),signatures:wt(dt()),blockTime:bt(q())}))),yo=ee(bt(at({slot:q(),meta:bt(Xi),blockTime:Ot(bt(q())),transaction:po,version:Ot(Xn)}))),Qi=ee(bt(at({slot:q(),transaction:Bc,meta:bt(go),blockTime:Ot(bt(q())),version:Ot(Xn)}))),A0=Ye(at({blockhash:dt(),feeCalculator:at({lamportsPerSignature:q()})})),B0=Ye(at({blockhash:dt(),lastValidBlockHeight:q()})),R0=Ye(Yr()),T0=at({slot:q(),numTransactions:q(),numSlots:q(),samplePeriodSecs:q()}),M0=ee(wt(T0)),P0=Ye(bt(at({feeCalculator:at({lamportsPerSignature:q()})}))),C0=ee(dt()),L0=ee(dt()),U0=at({err:Cn,logs:wt(dt()),signature:dt()}),O0=at({result:Zi(U0),subscription:q()}),N0={"solana-client":"js/1.0.0-maintenance"};class F0{constructor(t,e){this._commitment=void 0,this._confirmTransactionInitialTimeout=void 0,this._rpcEndpoint=void 0,this._rpcWsEndpoint=void 0,this._rpcClient=void 0,this._rpcRequest=void 0,this._rpcBatchRequest=void 0,this._rpcWebSocket=void 0,this._rpcWebSocketConnected=!1,this._rpcWebSocketHeartbeat=null,this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketGeneration=0,this._disableBlockhashCaching=!1,this._pollingBlockhash=!1,this._blockhashInfo={latestBlockhash:null,lastFetch:0,transactionSignatures:[],simulatedSignatures:[]},this._nextClientSubscriptionId=0,this._subscriptionDisposeFunctionsByClientSubscriptionId={},this._subscriptionHashByClientSubscriptionId={},this._subscriptionStateChangeCallbacksByHash={},this._subscriptionCallbacksByServerSubscriptionId={},this._subscriptionsByHash={},this._subscriptionsAutoDisposedByRpc=new Set,this.getBlockHeight=(()=>{const y={};return async x=>{const{commitment:E,config:L}=Fe(x),C=this._buildArgs([],E,void 0,L),N=dc(C);return y[N]=y[N]??(async()=>{try{const M=await this._rpcRequest("getBlockHeight",C),O=yt(M,ee(q()));if("error"in O)throw new Rt(O.error,"failed to get block height information");return O.result}finally{delete y[N]}})(),await y[N]}})();let r,s,i,o,a,l;e&&typeof e=="string"?this._commitment=e:e&&(this._commitment=e.commitment,this._confirmTransactionInitialTimeout=e.confirmTransactionInitialTimeout,r=e.wsEndpoint,s=e.httpHeaders,i=e.fetch,o=e.fetchMiddleware,a=e.disableRetryOnRateLimit,l=e.httpAgent),this._rpcEndpoint=vh(t),this._rpcWsEndpoint=r||xh(t),this._rpcClient=Oh(t,s,i,o,a,l),this._rpcRequest=Nh(this._rpcClient),this._rpcBatchRequest=Fh(this._rpcClient),this._rpcWebSocket=new yh(this._rpcWsEndpoint,{autoconnect:!1,max_reconnects:1/0}),this._rpcWebSocket.on("open",this._wsOnOpen.bind(this)),this._rpcWebSocket.on("error",this._wsOnError.bind(this)),this._rpcWebSocket.on("close",this._wsOnClose.bind(this)),this._rpcWebSocket.on("accountNotification",this._wsOnAccountNotification.bind(this)),this._rpcWebSocket.on("programNotification",this._wsOnProgramAccountNotification.bind(this)),this._rpcWebSocket.on("slotNotification",this._wsOnSlotNotification.bind(this)),this._rpcWebSocket.on("slotsUpdatesNotification",this._wsOnSlotUpdatesNotification.bind(this)),this._rpcWebSocket.on("signatureNotification",this._wsOnSignatureNotification.bind(this)),this._rpcWebSocket.on("rootNotification",this._wsOnRootNotification.bind(this)),this._rpcWebSocket.on("logsNotification",this._wsOnLogsNotification.bind(this))}get commitment(){return this._commitment}get rpcEndpoint(){return this._rpcEndpoint}async getBalanceAndContext(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgs([t.toBase58()],r,void 0,s),o=await this._rpcRequest("getBalance",i),a=yt(o,Ye(q()));if("error"in a)throw new Rt(a.error,`failed to get balance for ${t.toBase58()}`);return a.result}async getBalance(t,e){return await this.getBalanceAndContext(t,e).then(r=>r.value).catch(r=>{throw new Error("failed to get balance of account "+t.toBase58()+": "+r)})}async getBlockTime(t){const e=await this._rpcRequest("getBlockTime",[t]),r=yt(e,ee(bt(q())));if("error"in r)throw new Rt(r.error,`failed to get block time for slot ${t}`);return r.result}async getMinimumLedgerSlot(){const t=await this._rpcRequest("minimumLedgerSlot",[]),e=yt(t,ee(q()));if("error"in e)throw new Rt(e.error,"failed to get minimum ledger slot");return e.result}async getFirstAvailableBlock(){const t=await this._rpcRequest("getFirstAvailableBlock",[]),e=yt(t,Hh);if("error"in e)throw new Rt(e.error,"failed to get first available block");return e.result}async getSupply(t){let e={};typeof t=="string"?e={commitment:t}:t?e={...t,commitment:t&&t.commitment||this.commitment}:e={commitment:this.commitment};const r=await this._rpcRequest("getSupply",[e]),s=yt(r,Vh);if("error"in s)throw new Rt(s.error,"failed to get supply");return s.result}async getTokenSupply(t,e){const r=this._buildArgs([t.toBase58()],e),s=await this._rpcRequest("getTokenSupply",r),i=yt(s,Ye(fo));if("error"in i)throw new Rt(i.error,"failed to get token supply");return i.result}async getTokenAccountBalance(t,e){const r=this._buildArgs([t.toBase58()],e),s=await this._rpcRequest("getTokenAccountBalance",r),i=yt(s,Ye(fo));if("error"in i)throw new Rt(i.error,"failed to get token account balance");return i.result}async getTokenAccountsByOwner(t,e,r){const{commitment:s,config:i}=Fe(r);let o=[t.toBase58()];"mint"in e?o.push({mint:e.mint.toBase58()}):o.push({programId:e.programId.toBase58()});const a=this._buildArgs(o,s,"base64",i),l=await this._rpcRequest("getTokenAccountsByOwner",a),y=yt(l,Gh);if("error"in y)throw new Rt(y.error,`failed to get token accounts owned by account ${t.toBase58()}`);return y.result}async getParsedTokenAccountsByOwner(t,e,r){let s=[t.toBase58()];"mint"in e?s.push({mint:e.mint.toBase58()}):s.push({programId:e.programId.toBase58()});const i=this._buildArgs(s,r,"jsonParsed"),o=await this._rpcRequest("getTokenAccountsByOwner",i),a=yt(o,Yh);if("error"in a)throw new Rt(a.error,`failed to get token accounts owned by account ${t.toBase58()}`);return a.result}async getLargestAccounts(t){const e={...t,commitment:t&&t.commitment||this.commitment},r=e.filter||e.commitment?[e]:[],s=await this._rpcRequest("getLargestAccounts",r),i=yt(s,Zh);if("error"in i)throw new Rt(i.error,"failed to get largest accounts");return i.result}async getTokenLargestAccounts(t,e){const r=this._buildArgs([t.toBase58()],e),s=await this._rpcRequest("getTokenLargestAccounts",r),i=yt(s,jh);if("error"in i)throw new Rt(i.error,"failed to get token largest accounts");return i.result}async getAccountInfoAndContext(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgs([t.toBase58()],r,"base64",s),o=await this._rpcRequest("getAccountInfo",i),a=yt(o,Ye(bt(wi)));if("error"in a)throw new Rt(a.error,`failed to get info about account ${t.toBase58()}`);return a.result}async getParsedAccountInfo(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgs([t.toBase58()],r,"jsonParsed",s),o=await this._rpcRequest("getAccountInfo",i),a=yt(o,Ye(bt(ho)));if("error"in a)throw new Rt(a.error,`failed to get info about account ${t.toBase58()}`);return a.result}async getAccountInfo(t,e){try{return(await this.getAccountInfoAndContext(t,e)).value}catch(r){throw new Error("failed to get info about account "+t.toBase58()+": "+r)}}async getMultipleParsedAccounts(t,e){const{commitment:r,config:s}=Fe(e),i=t.map(y=>y.toBase58()),o=this._buildArgs([i],r,"jsonParsed",s),a=await this._rpcRequest("getMultipleAccounts",o),l=yt(a,Ye(wt(bt(ho))));if("error"in l)throw new Rt(l.error,`failed to get info for accounts ${i}`);return l.result}async getMultipleAccountsInfoAndContext(t,e){const{commitment:r,config:s}=Fe(e),i=t.map(y=>y.toBase58()),o=this._buildArgs([i],r,"base64",s),a=await this._rpcRequest("getMultipleAccounts",o),l=yt(a,Ye(wt(bt(wi))));if("error"in l)throw new Rt(l.error,`failed to get info for accounts ${i}`);return l.result}async getMultipleAccountsInfo(t,e){return(await this.getMultipleAccountsInfoAndContext(t,e)).value}async getStakeActivation(t,e,r){const{commitment:s,config:i}=Fe(e),o=this._buildArgs([t.toBase58()],s,void 0,{...i,epoch:r??(i==null?void 0:i.epoch)}),a=await this._rpcRequest("getStakeActivation",o),l=yt(a,ee(t0));if("error"in l)throw new Rt(l.error,`failed to get Stake Activation ${t.toBase58()}`);return l.result}async getProgramAccounts(t,e){const{commitment:r,config:s}=Fe(e),{encoding:i,...o}=s||{},a=this._buildArgs([t.toBase58()],r,i||"base64",{...o,...o.filters?{filters:wc(o.filters)}:null}),l=await this._rpcRequest("getProgramAccounts",a),y=wt(Jh),x=o.withContext===!0?yt(l,Ye(y)):yt(l,ee(y));if("error"in x)throw new Rt(x.error,`failed to get accounts owned by program ${t.toBase58()}`);return x.result}async getParsedProgramAccounts(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgs([t.toBase58()],r,"jsonParsed",s),o=await this._rpcRequest("getProgramAccounts",i),a=yt(o,ee(wt(Qh)));if("error"in a)throw new Rt(a.error,`failed to get accounts owned by program ${t.toBase58()}`);return a.result}async confirmTransaction(t,e){var i;let r;if(typeof t=="string")r=t;else{const o=t;if((i=o.abortSignal)!=null&&i.aborted)return Promise.reject(o.abortSignal.reason);r=o.signature}let s;try{s=ar.decode(r)}catch{throw new Error("signature must be base58 encoded: "+r)}return xe(s.length===64,"signature has invalid length"),typeof t=="string"?await this.confirmTransactionUsingLegacyTimeoutStrategy({commitment:e||this.commitment,signature:r}):"lastValidBlockHeight"in t?await this.confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:e||this.commitment,strategy:t}):await this.confirmTransactionUsingDurableNonceStrategy({commitment:e||this.commitment,strategy:t})}getCancellationPromise(t){return new Promise((e,r)=>{t!=null&&(t.aborted?r(t.reason):t.addEventListener("abort",()=>{r(t.reason)}))})}getTransactionConfirmationPromise({commitment:t,signature:e}){let r,s,i=!1;const o=new Promise((l,y)=>{try{r=this.onSignature(e,(E,L)=>{r=void 0;const C={context:L,value:E};l({__type:on.PROCESSED,response:C})},t);const x=new Promise(E=>{r==null?E():s=this._onSubscriptionStateChange(r,L=>{L==="subscribed"&&E()})});(async()=>{if(await x,i)return;const E=await this.getSignatureStatus(e);if(i||E==null)return;const{context:L,value:C}=E;if(C!=null)if(C!=null&&C.err)y(C.err);else{switch(t){case"confirmed":case"single":case"singleGossip":{if(C.confirmationStatus==="processed")return;break}case"finalized":case"max":case"root":{if(C.confirmationStatus==="processed"||C.confirmationStatus==="confirmed")return;break}case"processed":case"recent":}i=!0,l({__type:on.PROCESSED,response:{context:L,value:C}})}})()}catch(x){y(x)}});return{abortConfirmation:()=>{s&&(s(),s=void 0),r!=null&&(this.removeSignatureListener(r),r=void 0)},confirmationPromise:o}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t,strategy:{abortSignal:e,lastValidBlockHeight:r,signature:s}}){let i=!1;const o=new Promise(E=>{const L=async()=>{try{return await this.getBlockHeight(t)}catch{return-1}};(async()=>{let C=await L();if(!i){for(;C<=r;)if(await Mn(1e3),i||(C=await L(),i))return;E({__type:on.BLOCKHEIGHT_EXCEEDED})}})()}),{abortConfirmation:a,confirmationPromise:l}=this.getTransactionConfirmationPromise({commitment:t,signature:s}),y=this.getCancellationPromise(e);let x;try{const E=await Promise.race([y,l,o]);if(E.__type===on.PROCESSED)x=E.response;else throw new Xs(s)}finally{i=!0,a()}return x}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:e,minContextSlot:r,nonceAccountPubkey:s,nonceValue:i,signature:o}}){let a=!1;const l=new Promise(C=>{let N=i,M=null;const O=async()=>{try{const{context:K,value:Q}=await this.getNonceAndContext(s,{commitment:t,minContextSlot:r});return M=K.slot,Q==null?void 0:Q.nonce}catch{return N}};(async()=>{if(N=await O(),!a)for(;;){if(i!==N){C({__type:on.NONCE_INVALID,slotInWhichNonceDidAdvance:M});return}if(await Mn(2e3),a||(N=await O(),a))return}})()}),{abortConfirmation:y,confirmationPromise:x}=this.getTransactionConfirmationPromise({commitment:t,signature:o}),E=this.getCancellationPromise(e);let L;try{const C=await Promise.race([E,x,l]);if(C.__type===on.PROCESSED)L=C.response;else{let N;for(;;){const M=await this.getSignatureStatus(o);if(M==null)break;if(M.context.slot<(C.slotInWhichNonceDidAdvance??r)){await Mn(400);continue}N=M;break}if(N!=null&&N.value){const M=t||"finalized",{confirmationStatus:O}=N.value;switch(M){case"processed":case"recent":if(O!=="processed"&&O!=="confirmed"&&O!=="finalized")throw new Yn(o);break;case"confirmed":case"single":case"singleGossip":if(O!=="confirmed"&&O!=="finalized")throw new Yn(o);break;case"finalized":case"max":case"root":if(O!=="finalized")throw new Yn(o);break;default:}L={context:N.context,value:{err:N.value.err}}}else throw new Yn(o)}}finally{a=!0,y()}return L}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:t,signature:e}){let r;const s=new Promise(l=>{let y=this._confirmTransactionInitialTimeout||6e4;switch(t){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":{y=this._confirmTransactionInitialTimeout||3e4;break}}r=setTimeout(()=>l({__type:on.TIMED_OUT,timeoutMs:y}),y)}),{abortConfirmation:i,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:t,signature:e});let a;try{const l=await Promise.race([o,s]);if(l.__type===on.PROCESSED)a=l.response;else throw new Qs(e,l.timeoutMs/1e3)}finally{clearTimeout(r),i()}return a}async getClusterNodes(){const t=await this._rpcRequest("getClusterNodes",[]),e=yt(t,ee(wt(h0)));if("error"in e)throw new Rt(e.error,"failed to get cluster nodes");return e.result}async getVoteAccounts(t){const e=this._buildArgs([],t),r=await this._rpcRequest("getVoteAccounts",e),s=yt(r,d0);if("error"in s)throw new Rt(s.error,"failed to get vote accounts");return s.result}async getSlot(t){const{commitment:e,config:r}=Fe(t),s=this._buildArgs([],e,void 0,r),i=await this._rpcRequest("getSlot",s),o=yt(i,ee(q()));if("error"in o)throw new Rt(o.error,"failed to get slot");return o.result}async getSlotLeader(t){const{commitment:e,config:r}=Fe(t),s=this._buildArgs([],e,void 0,r),i=await this._rpcRequest("getSlotLeader",s),o=yt(i,ee(dt()));if("error"in o)throw new Rt(o.error,"failed to get slot leader");return o.result}async getSlotLeaders(t,e){const r=[t,e],s=await this._rpcRequest("getSlotLeaders",r),i=yt(s,ee(wt(Ve)));if("error"in i)throw new Rt(i.error,"failed to get slot leaders");return i.result}async getSignatureStatus(t,e){const{context:r,value:s}=await this.getSignatureStatuses([t],e);xe(s.length===1);const i=s[0];return{context:r,value:i}}async getSignatureStatuses(t,e){const r=[t];e&&r.push(e);const s=await this._rpcRequest("getSignatureStatuses",r),i=yt(s,y0);if("error"in i)throw new Rt(i.error,"failed to get signature status");return i.result}async getTransactionCount(t){const{commitment:e,config:r}=Fe(t),s=this._buildArgs([],e,void 0,r),i=await this._rpcRequest("getTransactionCount",s),o=yt(i,ee(q()));if("error"in o)throw new Rt(o.error,"failed to get transaction count");return o.result}async getTotalSupply(t){return(await this.getSupply({commitment:t,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(t){const e=this._buildArgs([],t),r=await this._rpcRequest("getInflationGovernor",e),s=yt(r,zh);if("error"in s)throw new Rt(s.error,"failed to get inflation");return s.result}async getInflationReward(t,e,r){const{commitment:s,config:i}=Fe(r),o=this._buildArgs([t.map(y=>y.toBase58())],s,void 0,{...i,epoch:e??(i==null?void 0:i.epoch)}),a=await this._rpcRequest("getInflationReward",o),l=yt(a,Eh);if("error"in l)throw new Rt(l.error,"failed to get inflation reward");return l.result}async getInflationRate(){const t=await this._rpcRequest("getInflationRate",[]),e=yt(t,Kh);if("error"in e)throw new Rt(e.error,"failed to get inflation rate");return e.result}async getEpochInfo(t){const{commitment:e,config:r}=Fe(t),s=this._buildArgs([],e,void 0,r),i=await this._rpcRequest("getEpochInfo",s),o=yt(i,Dh);if("error"in o)throw new Rt(o.error,"failed to get epoch info");return o.result}async getEpochSchedule(){const t=await this._rpcRequest("getEpochSchedule",[]),e=yt(t,$h);if("error"in e)throw new Rt(e.error,"failed to get epoch schedule");const r=e.result;return new pc(r.slotsPerEpoch,r.leaderScheduleSlotOffset,r.warmup,r.firstNormalEpoch,r.firstNormalSlot)}async getLeaderSchedule(){const t=await this._rpcRequest("getLeaderSchedule",[]),e=yt(t,qh);if("error"in e)throw new Rt(e.error,"failed to get leader schedule");return e.result}async getMinimumBalanceForRentExemption(t,e){const r=this._buildArgs([t],e),s=await this._rpcRequest("getMinimumBalanceForRentExemption",r),i=yt(s,m0);return"error"in i?(console.warn("Unable to fetch minimum balance for rent exemption"),0):i.result}async getRecentBlockhashAndContext(t){const e=this._buildArgs([],t),r=await this._rpcRequest("getRecentBlockhash",e),s=yt(r,A0);if("error"in s)throw new Rt(s.error,"failed to get recent blockhash");return s.result}async getRecentPerformanceSamples(t){const e=await this._rpcRequest("getRecentPerformanceSamples",t?[t]:[]),r=yt(e,M0);if("error"in r)throw new Rt(r.error,"failed to get recent performance samples");return r.result}async getFeeCalculatorForBlockhash(t,e){const r=this._buildArgs([t],e),s=await this._rpcRequest("getFeeCalculatorForBlockhash",r),i=yt(s,P0);if("error"in i)throw new Rt(i.error,"failed to get fee calculator");const{context:o,value:a}=i.result;return{context:o,value:a!==null?a.feeCalculator:null}}async getFeeForMessage(t,e){const r=te(t.serialize()).toString("base64"),s=this._buildArgs([r],e),i=await this._rpcRequest("getFeeForMessage",s),o=yt(i,Ye(bt(q())));if("error"in o)throw new Rt(o.error,"failed to get fee for message");if(o.result===null)throw new Error("invalid blockhash");return o.result}async getRecentPrioritizationFees(t){var o;const e=(o=t==null?void 0:t.lockedWritableAccounts)==null?void 0:o.map(a=>a.toBase58()),r=e!=null&&e.length?[e]:[],s=await this._rpcRequest("getRecentPrioritizationFees",r),i=yt(s,Wh);if("error"in i)throw new Rt(i.error,"failed to get recent prioritization fees");return i.result}async getRecentBlockhash(t){try{return(await this.getRecentBlockhashAndContext(t)).value}catch(e){throw new Error("failed to get recent blockhash: "+e)}}async getLatestBlockhash(t){try{return(await this.getLatestBlockhashAndContext(t)).value}catch(e){throw new Error("failed to get recent blockhash: "+e)}}async getLatestBlockhashAndContext(t){const{commitment:e,config:r}=Fe(t),s=this._buildArgs([],e,void 0,r),i=await this._rpcRequest("getLatestBlockhash",s),o=yt(i,B0);if("error"in o)throw new Rt(o.error,"failed to get latest blockhash");return o.result}async isBlockhashValid(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgs([t],r,void 0,s),o=await this._rpcRequest("isBlockhashValid",i),a=yt(o,R0);if("error"in a)throw new Rt(a.error,"failed to determine if the blockhash `"+t+"`is valid");return a.result}async getVersion(){const t=await this._rpcRequest("getVersion",[]),e=yt(t,ee(Ph));if("error"in e)throw new Rt(e.error,"failed to get version");return e.result}async getGenesisHash(){const t=await this._rpcRequest("getGenesisHash",[]),e=yt(t,ee(dt()));if("error"in e)throw new Rt(e.error,"failed to get genesis hash");return e.result}async getBlock(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgsAtLeastConfirmed([t],r,void 0,s),o=await this._rpcRequest("getBlock",i);try{switch(s==null?void 0:s.transactionDetails){case"accounts":{const a=yt(o,k0);if("error"in a)throw a.error;return a.result}case"none":{const a=yt(o,v0);if("error"in a)throw a.error;return a.result}default:{const a=yt(o,x0);if("error"in a)throw a.error;const{result:l}=a;return l?{...l,transactions:l.transactions.map(({transaction:y,meta:x,version:E})=>({meta:x,transaction:{...y,message:uo(E,y.message)},version:E}))}:null}}}catch(a){throw new Rt(a,"failed to get confirmed block")}}async getParsedBlock(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",s),o=await this._rpcRequest("getBlock",i);try{switch(s==null?void 0:s.transactionDetails){case"accounts":{const a=yt(o,E0);if("error"in a)throw a.error;return a.result}case"none":{const a=yt(o,_0);if("error"in a)throw a.error;return a.result}default:{const a=yt(o,S0);if("error"in a)throw a.error;return a.result}}}catch(a){throw new Rt(a,"failed to get block")}}async getBlockProduction(t){let e,r;if(typeof t=="string")r=t;else if(t){const{commitment:a,...l}=t;r=a,e=l}const s=this._buildArgs([],r,"base64",e),i=await this._rpcRequest("getBlockProduction",s),o=yt(i,Uh);if("error"in o)throw new Rt(o.error,"failed to get block production information");return o.result}async getTransaction(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgsAtLeastConfirmed([t],r,void 0,s),o=await this._rpcRequest("getTransaction",i),a=yt(o,yo);if("error"in a)throw new Rt(a.error,"failed to get transaction");const l=a.result;return l&&{...l,transaction:{...l.transaction,message:uo(l.version,l.transaction.message)}}}async getParsedTransaction(t,e){const{commitment:r,config:s}=Fe(e),i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",s),o=await this._rpcRequest("getTransaction",i),a=yt(o,Qi);if("error"in a)throw new Rt(a.error,"failed to get transaction");return a.result}async getParsedTransactions(t,e){const{commitment:r,config:s}=Fe(e),i=t.map(l=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([l],r,"jsonParsed",s)}));return(await this._rpcBatchRequest(i)).map(l=>{const y=yt(l,Qi);if("error"in y)throw new Rt(y.error,"failed to get transactions");return y.result})}async getTransactions(t,e){const{commitment:r,config:s}=Fe(e),i=t.map(l=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([l],r,void 0,s)}));return(await this._rpcBatchRequest(i)).map(l=>{const y=yt(l,yo);if("error"in y)throw new Rt(y.error,"failed to get transactions");const x=y.result;return x&&{...x,transaction:{...x.transaction,message:uo(x.version,x.transaction.message)}}})}async getConfirmedBlock(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),s=await this._rpcRequest("getConfirmedBlock",r),i=yt(s,I0);if("error"in i)throw new Rt(i.error,"failed to get confirmed block");const o=i.result;if(!o)throw new Error("Confirmed block "+t+" not found");const a={...o,transactions:o.transactions.map(({transaction:l,meta:y})=>{const x=new Wr(l.message);return{meta:y,transaction:{...l,message:x}}})};return{...a,transactions:a.transactions.map(({transaction:l,meta:y})=>({meta:y,transaction:ye.populate(l.message,l.signatures)}))}}async getBlocks(t,e,r){const s=this._buildArgsAtLeastConfirmed(e!==void 0?[t,e]:[t],r),i=await this._rpcRequest("getBlocks",s),o=yt(i,ee(wt(q())));if("error"in o)throw new Rt(o.error,"failed to get blocks");return o.result}async getBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),s=await this._rpcRequest("getBlock",r),i=yt(s,Tc);if("error"in i)throw new Rt(i.error,"failed to get block");const o=i.result;if(!o)throw new Error("Block "+t+" not found");return o}async getConfirmedBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),s=await this._rpcRequest("getConfirmedBlock",r),i=yt(s,Tc);if("error"in i)throw new Rt(i.error,"failed to get confirmed block");const o=i.result;if(!o)throw new Error("Confirmed block "+t+" not found");return o}async getConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),s=await this._rpcRequest("getConfirmedTransaction",r),i=yt(s,yo);if("error"in i)throw new Rt(i.error,"failed to get transaction");const o=i.result;if(!o)return o;const a=new Wr(o.transaction.message),l=o.transaction.signatures;return{...o,transaction:ye.populate(a,l)}}async getParsedConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,"jsonParsed"),s=await this._rpcRequest("getConfirmedTransaction",r),i=yt(s,Qi);if("error"in i)throw new Rt(i.error,"failed to get confirmed transaction");return i.result}async getParsedConfirmedTransactions(t,e){const r=t.map(o=>({methodName:"getConfirmedTransaction",args:this._buildArgsAtLeastConfirmed([o],e,"jsonParsed")}));return(await this._rpcBatchRequest(r)).map(o=>{const a=yt(o,Qi);if("error"in a)throw new Rt(a.error,"failed to get confirmed transactions");return a.result})}async getConfirmedSignaturesForAddress(t,e,r){let s={},i=await this.getFirstAvailableBlock();for(;!("until"in s)&&(e--,!(e<=0||e<i));)try{const l=await this.getConfirmedBlockSignatures(e,"finalized");l.signatures.length>0&&(s.until=l.signatures[l.signatures.length-1].toString())}catch(l){if(l instanceof Error&&l.message.includes("skipped"))continue;throw l}let o=await this.getSlot("finalized");for(;!("before"in s)&&(r++,!(r>o));)try{const l=await this.getConfirmedBlockSignatures(r);l.signatures.length>0&&(s.before=l.signatures[l.signatures.length-1].toString())}catch(l){if(l instanceof Error&&l.message.includes("skipped"))continue;throw l}return(await this.getConfirmedSignaturesForAddress2(t,s)).map(l=>l.signature)}async getConfirmedSignaturesForAddress2(t,e,r){const s=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),i=await this._rpcRequest("getConfirmedSignaturesForAddress2",s),o=yt(i,e0);if("error"in o)throw new Rt(o.error,"failed to get confirmed signatures for address");return o.result}async getSignaturesForAddress(t,e,r){const s=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),i=await this._rpcRequest("getSignaturesForAddress",s),o=yt(i,r0);if("error"in o)throw new Rt(o.error,"failed to get signatures for address");return o.result}async getAddressLookupTable(t,e){const{context:r,value:s}=await this.getAccountInfoAndContext(t,e);let i=null;return s!==null&&(i=new ao({key:t,state:ao.deserialize(s.data)})),{context:r,value:i}}async getNonceAndContext(t,e){const{context:r,value:s}=await this.getAccountInfoAndContext(t,e);let i=null;return s!==null&&(i=Yi.fromAccountData(s.data)),{context:r,value:i}}async getNonce(t,e){return await this.getNonceAndContext(t,e).then(r=>r.value).catch(r=>{throw new Error("failed to get nonce for account "+t.toBase58()+": "+r)})}async requestAirdrop(t,e){const r=await this._rpcRequest("requestAirdrop",[t.toBase58(),e]),s=yt(r,C0);if("error"in s)throw new Rt(s.error,`airdrop to ${t.toBase58()} failed`);return s.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await Mn(100);const r=Date.now()-this._blockhashInfo.lastFetch>=mc;if(this._blockhashInfo.latestBlockhash!==null&&!r)return this._blockhashInfo.latestBlockhash}return await this._pollNewBlockhash()}async _pollNewBlockhash(){this._pollingBlockhash=!0;try{const t=Date.now(),e=this._blockhashInfo.latestBlockhash,r=e?e.blockhash:null;for(let s=0;s<50;s++){const i=await this.getLatestBlockhash("finalized");if(r!==i.blockhash)return this._blockhashInfo={latestBlockhash:i,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},i;await Mn(uc/2)}throw new Error(`Unable to obtain a new blockhash after ${Date.now()-t}ms`)}finally{this._pollingBlockhash=!1}}async getStakeMinimumDelegation(t){const{commitment:e,config:r}=Fe(t),s=this._buildArgs([],e,"base64",r),i=await this._rpcRequest("getStakeMinimumDelegation",s),o=yt(i,Ye(q()));if("error"in o)throw new Rt(o.error,"failed to get stake minimum delegation");return o.result}async simulateTransaction(t,e,r){if("message"in t){const M=t.serialize(),O=Ct.Buffer.from(M).toString("base64");if(Array.isArray(e)||r!==void 0)throw new Error("Invalid arguments");const K=e||{};K.encoding="base64","commitment"in K||(K.commitment=this.commitment),e&&typeof e=="object"&&"innerInstructions"in e&&(K.innerInstructions=e.innerInstructions);const Q=[O,K],V=await this._rpcRequest("simulateTransaction",Q),st=yt(V,xc);if("error"in st)throw new Error("failed to simulate transaction: "+st.error.message);return st.result}let s;if(t instanceof ye){let N=t;s=new ye,s.feePayer=N.feePayer,s.instructions=t.instructions,s.nonceInfo=N.nonceInfo,s.signatures=N.signatures}else s=ye.populate(t),s._message=s._json=void 0;if(e!==void 0&&!Array.isArray(e))throw new Error("Invalid arguments");const i=e;if(s.nonceInfo&&i)s.sign(...i);else{let N=this._disableBlockhashCaching;for(;;){const M=await this._blockhashWithExpiryBlockHeight(N);if(s.lastValidBlockHeight=M.lastValidBlockHeight,s.recentBlockhash=M.blockhash,!i)break;if(s.sign(...i),!s.signature)throw new Error("!signature");const O=s.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(O)&&!this._blockhashInfo.transactionSignatures.includes(O)){this._blockhashInfo.simulatedSignatures.push(O);break}else N=!0}}const o=s._compile(),a=o.serialize(),y=s._serialize(a).toString("base64"),x={encoding:"base64",commitment:this.commitment};if(r){const N=(Array.isArray(r)?r:o.nonProgramIds()).map(M=>M.toBase58());x.accounts={encoding:"base64",addresses:N}}i&&(x.sigVerify=!0),e&&typeof e=="object"&&"innerInstructions"in e&&(x.innerInstructions=e.innerInstructions);const E=[y,x],L=await this._rpcRequest("simulateTransaction",E),C=yt(L,xc);if("error"in C){let N;if("data"in C.error&&(N=C.error.data.logs,N&&Array.isArray(N))){const M=`
13
- `,O=M+N.join(M);console.error(C.error.message,O)}throw new yi({action:"simulate",signature:"",transactionMessage:C.error.message,logs:N})}return C.result}async sendTransaction(t,e,r){if("version"in t){if(e&&Array.isArray(e))throw new Error("Invalid arguments");const o=t.serialize();return await this.sendRawTransaction(o,e)}if(e===void 0||!Array.isArray(e))throw new Error("Invalid arguments");const s=e;if(t.nonceInfo)t.sign(...s);else{let o=this._disableBlockhashCaching;for(;;){const a=await this._blockhashWithExpiryBlockHeight(o);if(t.lastValidBlockHeight=a.lastValidBlockHeight,t.recentBlockhash=a.blockhash,t.sign(...s),!t.signature)throw new Error("!signature");const l=t.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(l))o=!0;else{this._blockhashInfo.transactionSignatures.push(l);break}}}const i=t.serialize();return await this.sendRawTransaction(i,r)}async sendRawTransaction(t,e){const r=te(t).toString("base64");return await this.sendEncodedTransaction(r,e)}async sendEncodedTransaction(t,e){const r={encoding:"base64"},s=e&&e.skipPreflight,i=s===!0?"processed":e&&e.preflightCommitment||this.commitment;e&&e.maxRetries!=null&&(r.maxRetries=e.maxRetries),e&&e.minContextSlot!=null&&(r.minContextSlot=e.minContextSlot),s&&(r.skipPreflight=s),i&&(r.preflightCommitment=i);const o=[t,r],a=await this._rpcRequest("sendTransaction",o),l=yt(a,L0);if("error"in l){let y;throw"data"in l.error&&(y=l.error.data.logs),new yi({action:s?"send":"simulate",signature:"",transactionMessage:l.error.message,logs:y})}return l.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(t){this._rpcWebSocketConnected=!1,console.error("ws error:",t.message)}_wsOnClose(t){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),t===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([e,r])=>{this._setSubscription(e,{...r,state:"pending"})})}_setSubscription(t,e){var s;const r=(s=this._subscriptionsByHash[t])==null?void 0:s.state;if(this._subscriptionsByHash[t]=e,r!==e.state){const i=this._subscriptionStateChangeCallbacksByHash[t];i&&i.forEach(o=>{try{o(e.state)}catch{}})}}_onSubscriptionStateChange(t,e){var i;const r=this._subscriptionHashByClientSubscriptionId[t];if(r==null)return()=>{};const s=(i=this._subscriptionStateChangeCallbacksByHash)[r]||(i[r]=new Set);return s.add(e),()=>{s.delete(e),s.size===0&&delete this._subscriptionStateChangeCallbacksByHash[r]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(r){r instanceof Error&&console.log(`Error when closing socket connection: ${r.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}const t=this._rpcWebSocketGeneration,e=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async r=>{const s=this._subscriptionsByHash[r];if(s!==void 0)switch(s.state){case"pending":case"unsubscribed":if(s.callbacks.size===0){delete this._subscriptionsByHash[r],s.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[s.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{const{args:i,method:o}=s;try{this._setSubscription(r,{...s,state:"subscribing"});const a=await this._rpcWebSocket.call(o,i);this._setSubscription(r,{...s,serverSubscriptionId:a,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[a]=s.callbacks,await this._updateSubscriptions()}catch(a){if(console.error(`Received ${a instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:i,error:a}),!e())return;this._setSubscription(r,{...s,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":s.callbacks.size===0&&await(async()=>{const{serverSubscriptionId:i,unsubscribeMethod:o}=s;if(this._subscriptionsAutoDisposedByRpc.has(i))this._subscriptionsAutoDisposedByRpc.delete(i);else{this._setSubscription(r,{...s,state:"unsubscribing"}),this._setSubscription(r,{...s,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[i])}catch(a){if(a instanceof Error&&console.error(`${o} error:`,a.message),!e())return;this._setSubscription(r,{...s,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(r,{...s,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(t,e){const r=this._subscriptionCallbacksByServerSubscriptionId[t];r!==void 0&&r.forEach(s=>{try{s(...e)}catch(i){console.error(i)}})}_wsOnAccountNotification(t){const{result:e,subscription:r}=yt(t,n0);this._handleServerNotification(r,[e.value,e.context])}_makeSubscription(t,e){const r=this._nextClientSubscriptionId++,s=dc([t.method,e]),i=this._subscriptionsByHash[s];return i===void 0?this._subscriptionsByHash[s]={...t,args:e,callbacks:new Set([t.callback]),state:"pending"}:i.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[r]=s,this._subscriptionDisposeFunctionsByClientSubscriptionId[r]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[r],delete this._subscriptionHashByClientSubscriptionId[r];const o=this._subscriptionsByHash[s];xe(o!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${r}`),o.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),r}onAccountChange(t,e,r){const{commitment:s,config:i}=Fe(r),o=this._buildArgs([t.toBase58()],s||this._commitment||"finalized","base64",i);return this._makeSubscription({callback:e,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){const{result:e,subscription:r}=yt(t,s0);this._handleServerNotification(r,[{accountId:e.value.pubkey,accountInfo:e.value.account},e.context])}onProgramAccountChange(t,e,r,s){const{commitment:i,config:o}=Fe(r),a=this._buildArgs([t.toBase58()],i||this._commitment||"finalized","base64",o||(s?{filters:wc(s)}:void 0));return this._makeSubscription({callback:e,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},a)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,e,r){const s=this._buildArgs([typeof t=="object"?{mentions:[t.toString()]}:t],r||this._commitment||"finalized");return this._makeSubscription({callback:e,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},s)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){const{result:e,subscription:r}=yt(t,O0);this._handleServerNotification(r,[e.value,e.context])}_wsOnSlotNotification(t){const{result:e,subscription:r}=yt(t,a0);this._handleServerNotification(r,[e])}onSlotChange(t){return this._makeSubscription({callback:t,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(t){await this._unsubscribeClientSubscription(t,"slot change")}_wsOnSlotUpdatesNotification(t){const{result:e,subscription:r}=yt(t,u0);this._handleServerNotification(r,[e])}onSlotUpdate(t){return this._makeSubscription({callback:t,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(t){await this._unsubscribeClientSubscription(t,"slot update")}async _unsubscribeClientSubscription(t,e){const r=this._subscriptionDisposeFunctionsByClientSubscriptionId[t];r?await r():console.warn(`Ignored unsubscribe request because an active subscription with id \`${t}\` for '${e}' events could not be found.`)}_buildArgs(t,e,r,s){const i=e||this._commitment;if(i||r||s){let o={};r&&(o.encoding=r),i&&(o.commitment=i),s&&(o=Object.assign(o,s)),t.push(o)}return t}_buildArgsAtLeastConfirmed(t,e,r,s){const i=e||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(t,e,r,s)}_wsOnSignatureNotification(t){const{result:e,subscription:r}=yt(t,f0);e.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(r),this._handleServerNotification(r,e.value==="receivedSignature"?[{type:"received"},e.context]:[{type:"status",result:e.value},e.context])}onSignature(t,e,r){const s=this._buildArgs([t],r||this._commitment||"finalized"),i=this._makeSubscription({callback:(o,a)=>{if(o.type==="status"){e(o.result,a);try{this.removeSignatureListener(i)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},s);return i}onSignatureWithOptions(t,e,r){const{commitment:s,...i}={...r,commitment:r&&r.commitment||this._commitment||"finalized"},o=this._buildArgs([t],s,void 0,i),a=this._makeSubscription({callback:(l,y)=>{e(l,y);try{this.removeSignatureListener(a)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return a}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){const{result:e,subscription:r}=yt(t,l0);this._handleServerNotification(r,[e])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}}class Un{constructor(t){this._keypair=void 0,this._keypair=t??rc()}static generate(){return new Un(rc())}static fromSecretKey(t,e){if(t.byteLength!==64)throw new Error("bad secret key size");const r=t.slice(32,64);if(!e||!e.skipValidation){const s=t.slice(0,32),i=qi(s);for(let o=0;o<32;o++)if(r[o]!==i[o])throw new Error("provided secretKey is invalid")}return new Un({publicKey:r,secretKey:t})}static fromSeed(t){const e=qi(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),new Un({publicKey:e,secretKey:r})}get publicKey(){return new gt(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const an=Object.freeze({CreateLookupTable:{index:0,layout:At([It("instruction"),Jn("recentSlot"),ge("bumpSeed")])},FreezeLookupTable:{index:1,layout:At([It("instruction")])},ExtendLookupTable:{index:2,layout:At([It("instruction"),Jn(),dr(oe(),pn(It(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:At([It("instruction")])},CloseLookupTable:{index:4,layout:At([It("instruction")])}});class z0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(an))if(o.index==r){s=i;break}if(!s)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return s}static decodeCreateLookupTable(t){this.checkProgramId(t.programId),this.checkKeysLength(t.keys,4);const{recentSlot:e}=Ee(an.CreateLookupTable,t.data);return{authority:t.keys[1].pubkey,payer:t.keys[2].pubkey,recentSlot:Number(e)}}static decodeExtendLookupTable(t){if(this.checkProgramId(t.programId),t.keys.length<2)throw new Error(`invalid instruction; found ${t.keys.length} keys, expected at least 2`);const{addresses:e}=Ee(an.ExtendLookupTable,t.data);return{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,payer:t.keys.length>2?t.keys[2].pubkey:void 0,addresses:e.map(r=>new gt(r))}}static decodeCloseLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,3),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,recipient:t.keys[2].pubkey}}static decodeFreezeLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static decodeDeactivateLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(mo.programId))throw new Error("invalid instruction; programId is not AddressLookupTable Program")}static checkKeysLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}class mo{constructor(){}static createLookupTable(t){const[e,r]=gt.findProgramAddressSync([t.authority.toBuffer(),Ma(BigInt(t.recentSlot),8)],this.programId),s=an.CreateLookupTable,i=fe(s,{recentSlot:BigInt(t.recentSlot),bumpSeed:r}),o=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:cr.programId,isSigner:!1,isWritable:!1}];return[new Ue({programId:this.programId,keys:o,data:i}),e]}static freezeLookupTable(t){const e=an.FreezeLookupTable,r=fe(e),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Ue({programId:this.programId,keys:s,data:r})}static extendLookupTable(t){const e=an.ExtendLookupTable,r=fe(e,{addresses:t.addresses.map(i=>i.toBytes())}),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&s.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:cr.programId,isSigner:!1,isWritable:!1}),new Ue({programId:this.programId,keys:s,data:r})}static deactivateLookupTable(t){const e=an.DeactivateLookupTable,r=fe(e),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Ue({programId:this.programId,keys:s,data:r})}static closeLookupTable(t){const e=an.CloseLookupTable,r=fe(e),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new Ue({programId:this.programId,keys:s,data:r})}}mo.programId=new gt("AddressLookupTab1e1111111111111111111111111");class K0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=ge("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(Qr))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return s}static decodeRequestUnits(t){this.checkProgramId(t.programId);const{units:e,additionalFee:r}=Ee(Qr.RequestUnits,t.data);return{units:e,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);const{bytes:e}=Ee(Qr.RequestHeapFrame,t.data);return{bytes:e}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);const{units:e}=Ee(Qr.SetComputeUnitLimit,t.data);return{units:e}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);const{microLamports:e}=Ee(Qr.SetComputeUnitPrice,t.data);return{microLamports:e}}static checkProgramId(t){if(!t.equals(wo.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}}const Qr=Object.freeze({RequestUnits:{index:0,layout:At([ge("instruction"),It("units"),It("additionalFee")])},RequestHeapFrame:{index:1,layout:At([ge("instruction"),It("bytes")])},SetComputeUnitLimit:{index:2,layout:At([ge("instruction"),It("units")])},SetComputeUnitPrice:{index:3,layout:At([ge("instruction"),Jn("microLamports")])}});class wo{constructor(){}static requestUnits(t){const e=Qr.RequestUnits,r=fe(e,t);return new Ue({keys:[],programId:this.programId,data:r})}static requestHeapFrame(t){const e=Qr.RequestHeapFrame,r=fe(e,t);return new Ue({keys:[],programId:this.programId,data:r})}static setComputeUnitLimit(t){const e=Qr.SetComputeUnitLimit,r=fe(e,t);return new Ue({keys:[],programId:this.programId,data:r})}static setComputeUnitPrice(t){const e=Qr.SetComputeUnitPrice,r=fe(e,{microLamports:BigInt(t.microLamports)});return new Ue({keys:[],programId:this.programId,data:r})}}wo.programId=new gt("ComputeBudget111111111111111111111111111111");const Mc=64,Pc=32,Cc=64,Lc=At([ge("numSignatures"),ge("padding"),Lr("signatureOffset"),Lr("signatureInstructionIndex"),Lr("publicKeyOffset"),Lr("publicKeyInstructionIndex"),Lr("messageDataOffset"),Lr("messageDataSize"),Lr("messageInstructionIndex")]);class ts{constructor(){}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:s,instructionIndex:i}=t;xe(e.length===Pc,`Public Key must be ${Pc} bytes but received ${e.length} bytes`),xe(s.length===Cc,`Signature must be ${Cc} bytes but received ${s.length} bytes`);const o=Lc.span,a=o+e.length,l=a+s.length,y=1,x=Ct.Buffer.alloc(l+r.length),E=i??65535;return Lc.encode({numSignatures:y,padding:0,signatureOffset:a,signatureInstructionIndex:E,publicKeyOffset:o,publicKeyInstructionIndex:E,messageDataOffset:l,messageDataSize:r.length,messageInstructionIndex:E},x),x.fill(e,o),x.fill(s,a),x.fill(r,l),new Ue({keys:[],programId:ts.programId,data:x})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:s}=t;xe(e.length===Mc,`Private key must be ${Mc} bytes but received ${e.length} bytes`);try{const i=Un.fromSecretKey(e),o=i.publicKey.toBytes(),a=Zs(r,i.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:a,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}}ts.programId=new gt("Ed25519SigVerify111111111111111111111111111");const W0=(n,t)=>{const e=$i.sign(n,t);return[e.toCompactRawBytes(),e.recovery]};$i.utils.isValidPrivateKey;const D0=$i.getPublicKey,Uc=32,bo=20,Oc=64,$0=11,xo=At([ge("numSignatures"),Lr("signatureOffset"),ge("signatureInstructionIndex"),Lr("ethAddressOffset"),ge("ethAddressInstructionIndex"),Lr("messageDataOffset"),Lr("messageDataSize"),ge("messageInstructionIndex"),Ke(20,"ethAddress"),Ke(64,"signature"),ge("recoveryId")]);class Qn{constructor(){}static publicKeyToEthAddress(t){xe(t.length===Oc,`Public key must be ${Oc} bytes but received ${t.length} bytes`);try{return Ct.Buffer.from(Ya(te(t))).slice(-bo)}catch(e){throw new Error(`Error constructing Ethereum address: ${e}`)}}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:s,recoveryId:i,instructionIndex:o}=t;return Qn.createInstructionWithEthAddress({ethAddress:Qn.publicKeyToEthAddress(e),message:r,signature:s,recoveryId:i,instructionIndex:o})}static createInstructionWithEthAddress(t){const{ethAddress:e,message:r,signature:s,recoveryId:i,instructionIndex:o=0}=t;let a;typeof e=="string"?e.startsWith("0x")?a=Ct.Buffer.from(e.substr(2),"hex"):a=Ct.Buffer.from(e,"hex"):a=e,xe(a.length===bo,`Address must be ${bo} bytes but received ${a.length} bytes`);const l=1+$0,y=l,x=l+a.length,E=x+s.length+1,L=1,C=Ct.Buffer.alloc(xo.span+r.length);return xo.encode({numSignatures:L,signatureOffset:x,signatureInstructionIndex:o,ethAddressOffset:y,ethAddressInstructionIndex:o,messageDataOffset:E,messageDataSize:r.length,messageInstructionIndex:o,signature:te(s),ethAddress:te(a),recoveryId:i},C),C.fill(te(r),xo.span),new Ue({keys:[],programId:Qn.programId,data:C})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:s}=t;xe(e.length===Uc,`Private key must be ${Uc} bytes but received ${e.length} bytes`);try{const i=te(e),o=D0(i,!1).slice(1),a=Ct.Buffer.from(Ya(te(r))),[l,y]=W0(a,i);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:l,recoveryId:y,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}}Qn.programId=new gt("KeccakSecp256k11111111111111111111111111111");var Nc;const Fc=new gt("StakeConfig11111111111111111111111111111111");class zc{constructor(t,e){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=e}}class bi{constructor(t,e,r){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=t,this.epoch=e,this.custodian=r}}Nc=bi,bi.default=new Nc(0,0,gt.default);class q0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(ur))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a StakeInstruction");return s}static decodeInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e,lockup:r}=Ee(ur.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new zc(new gt(e.staker),new gt(e.withdrawer)),lockup:new bi(r.unixTimestamp,r.epoch,new gt(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),Ee(ur.Delegate,t.data),{stakePubkey:t.keys[0].pubkey,votePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[5].pubkey}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,stakeAuthorizationType:r}=Ee(ur.Authorize,t.data),s={stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new gt(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(s.custodianPubkey=t.keys[3].pubkey),s}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{newAuthorized:e,stakeAuthorizationType:r,authoritySeed:s,authorityOwner:i}=Ee(ur.AuthorizeWithSeed,t.data),o={stakePubkey:t.keys[0].pubkey,authorityBase:t.keys[1].pubkey,authoritySeed:s,authorityOwner:new gt(i),newAuthorizedPubkey:new gt(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(o.custodianPubkey=t.keys[3].pubkey),o}static decodeSplit(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=Ee(ur.Split,t.data);return{stakePubkey:t.keys[0].pubkey,splitStakePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[2].pubkey,lamports:e}}static decodeMerge(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ee(ur.Merge,t.data),{stakePubkey:t.keys[0].pubkey,sourceStakePubKey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=Ee(ur.Withdraw,t.data),r={stakePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e};return t.keys.length>5&&(r.custodianPubkey=t.keys[5].pubkey),r}static decodeDeactivate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ee(ur.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(es.programId))throw new Error("invalid instruction; programId is not StakeProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const ur=Object.freeze({Initialize:{index:0,layout:At([It("instruction"),Yl(),Zl()])},Authorize:{index:1,layout:At([It("instruction"),oe("newAuthorized"),It("stakeAuthorizationType")])},Delegate:{index:2,layout:At([It("instruction")])},Split:{index:3,layout:At([It("instruction"),Tr("lamports")])},Withdraw:{index:4,layout:At([It("instruction"),Tr("lamports")])},Deactivate:{index:5,layout:At([It("instruction")])},Merge:{index:7,layout:At([It("instruction")])},AuthorizeWithSeed:{index:8,layout:At([It("instruction"),oe("newAuthorized"),It("stakeAuthorizationType"),Rn("authoritySeed"),oe("authorityOwner")])}}),H0=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class es{constructor(){}static initialize(t){const{stakePubkey:e,authorized:r,lockup:s}=t,i=s||bi.default,o=ur.Initialize,a=fe(o,{authorized:{staker:te(r.staker.toBuffer()),withdrawer:te(r.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:te(i.custodian.toBuffer())}}),l={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Zn,isSigner:!1,isWritable:!1}],programId:this.programId,data:a};return new Ue(l)}static createAccountWithSeed(t){const e=new ye;e.add(cr.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:s,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:s,lockup:i}))}static createAccount(t){const e=new ye;e.add(cr.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:s,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:s,lockup:i}))}static delegate(t){const{stakePubkey:e,authorizedPubkey:r,votePubkey:s}=t,i=ur.Delegate,o=fe(i);return new ye().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:Gi,isSigner:!1,isWritable:!1},{pubkey:Fc,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(t){const{stakePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:s,stakeAuthorizationType:i,custodianPubkey:o}=t,a=ur.Authorize,l=fe(a,{newAuthorized:te(s.toBuffer()),stakeAuthorizationType:i.index}),y=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&y.push({pubkey:o,isSigner:!0,isWritable:!1}),new ye().add({keys:y,programId:this.programId,data:l})}static authorizeWithSeed(t){const{stakePubkey:e,authorityBase:r,authoritySeed:s,authorityOwner:i,newAuthorizedPubkey:o,stakeAuthorizationType:a,custodianPubkey:l}=t,y=ur.AuthorizeWithSeed,x=fe(y,{newAuthorized:te(o.toBuffer()),stakeAuthorizationType:a.index,authoritySeed:s,authorityOwner:te(i.toBuffer())}),E=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:Xr,isSigner:!1,isWritable:!1}];return l&&E.push({pubkey:l,isSigner:!0,isWritable:!1}),new ye().add({keys:E,programId:this.programId,data:x})}static splitInstruction(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:s,lamports:i}=t,o=ur.Split,a=fe(o,{lamports:i});return new Ue({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:a})}static split(t,e){const r=new ye;return r.add(cr.createAccount({fromPubkey:t.authorizedPubkey,newAccountPubkey:t.splitStakePubkey,lamports:e,space:this.space,programId:this.programId})),r.add(this.splitInstruction(t))}static splitWithSeed(t,e){const{stakePubkey:r,authorizedPubkey:s,splitStakePubkey:i,basePubkey:o,seed:a,lamports:l}=t,y=new ye;return y.add(cr.allocate({accountPubkey:i,basePubkey:o,seed:a,space:this.space,programId:this.programId})),e&&e>0&&y.add(cr.transfer({fromPubkey:t.authorizedPubkey,toPubkey:i,lamports:e})),y.add(this.splitInstruction({stakePubkey:r,authorizedPubkey:s,splitStakePubkey:i,lamports:l}))}static merge(t){const{stakePubkey:e,sourceStakePubKey:r,authorizedPubkey:s}=t,i=ur.Merge,o=fe(i);return new ye().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:Gi,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(t){const{stakePubkey:e,authorizedPubkey:r,toPubkey:s,lamports:i,custodianPubkey:o}=t,a=ur.Withdraw,l=fe(a,{lamports:i}),y=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:Gi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&y.push({pubkey:o,isSigner:!0,isWritable:!1}),new ye().add({keys:y,programId:this.programId,data:l})}static deactivate(t){const{stakePubkey:e,authorizedPubkey:r}=t,s=ur.Deactivate,i=fe(s);return new ye().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}}es.programId=new gt("Stake11111111111111111111111111111111111111"),es.space=200;class Kc{constructor(t,e,r,s){this.nodePubkey=void 0,this.authorizedVoter=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.nodePubkey=t,this.authorizedVoter=e,this.authorizedWithdrawer=r,this.commission=s}}class V0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(tn))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a VoteInstruction");return s}static decodeInitializeAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,4);const{voteInit:e}=Ee(tn.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new Kc(new gt(e.nodePubkey),new gt(e.authorizedVoter),new gt(e.authorizedWithdrawer),e.commission)}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,voteAuthorizationType:r}=Ee(tn.Authorize,t.data);return{votePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new gt(e),voteAuthorizationType:{index:r}}}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:e,currentAuthorityDerivedKeySeed:r,newAuthorized:s,voteAuthorizationType:i}}=Ee(tn.AuthorizeWithSeed,t.data);return{currentAuthorityDerivedKeyBasePubkey:t.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new gt(e),currentAuthorityDerivedKeySeed:r,newAuthorizedPubkey:new gt(s),voteAuthorizationType:{index:i},votePubkey:t.keys[0].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=Ee(tn.Withdraw,t.data);return{votePubkey:t.keys[0].pubkey,authorizedWithdrawerPubkey:t.keys[2].pubkey,lamports:e,toPubkey:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(ti.programId))throw new Error("invalid instruction; programId is not VoteProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const tn=Object.freeze({InitializeAccount:{index:0,layout:At([It("instruction"),Jl()])},Authorize:{index:1,layout:At([It("instruction"),oe("newAuthorized"),It("voteAuthorizationType")])},Withdraw:{index:3,layout:At([It("instruction"),Tr("lamports")])},UpdateValidatorIdentity:{index:4,layout:At([It("instruction")])},AuthorizeWithSeed:{index:10,layout:At([It("instruction"),Xl()])}}),j0=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class ti{constructor(){}static initializeAccount(t){const{votePubkey:e,nodePubkey:r,voteInit:s}=t,i=tn.InitializeAccount,o=fe(i,{voteInit:{nodePubkey:te(s.nodePubkey.toBuffer()),authorizedVoter:te(s.authorizedVoter.toBuffer()),authorizedWithdrawer:te(s.authorizedWithdrawer.toBuffer()),commission:s.commission}}),a={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Zn,isSigner:!1,isWritable:!1},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o};return new Ue(a)}static createAccount(t){const e=new ye;return e.add(cr.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.votePubkey,lamports:t.lamports,space:this.space,programId:this.programId})),e.add(this.initializeAccount({votePubkey:t.votePubkey,nodePubkey:t.voteInit.nodePubkey,voteInit:t.voteInit}))}static authorize(t){const{votePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:s,voteAuthorizationType:i}=t,o=tn.Authorize,a=fe(o,{newAuthorized:te(s.toBuffer()),voteAuthorizationType:i.index}),l=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new ye().add({keys:l,programId:this.programId,data:a})}static authorizeWithSeed(t){const{currentAuthorityDerivedKeyBasePubkey:e,currentAuthorityDerivedKeyOwnerPubkey:r,currentAuthorityDerivedKeySeed:s,newAuthorizedPubkey:i,voteAuthorizationType:o,votePubkey:a}=t,l=tn.AuthorizeWithSeed,y=fe(l,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:te(r.toBuffer()),currentAuthorityDerivedKeySeed:s,newAuthorized:te(i.toBuffer()),voteAuthorizationType:o.index}}),x=[{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1}];return new ye().add({keys:x,programId:this.programId,data:y})}static withdraw(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,lamports:s,toPubkey:i}=t,o=tn.Withdraw,a=fe(o,{lamports:s}),l=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return new ye().add({keys:l,programId:this.programId,data:a})}static safeWithdraw(t,e,r){if(t.lamports>e-r)throw new Error("Withdraw will leave vote account with insufficient funds.");return ti.withdraw(t)}static updateValidatorIdentity(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,nodePubkey:s}=t,i=tn.UpdateValidatorIdentity,o=fe(i),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new ye().add({keys:a,programId:this.programId,data:o})}}ti.programId=new gt("Vote111111111111111111111111111111111111111"),ti.space=3762;const Wc=new gt("Va1idator1nfo111111111111111111111111111111"),G0=at({name:dt(),website:Ot(dt()),details:Ot(dt()),iconUrl:Ot(dt()),keybaseUsername:Ot(dt())});class vo{constructor(t,e){this.key=void 0,this.info=void 0,this.key=t,this.info=e}static fromConfigData(t){let e=[...t];if(_r(e)!==2)return null;const s=[];for(let i=0;i<2;i++){const o=new gt(Ir(e,0,Zr)),a=Jr(e)===1;s.push({publicKey:o,isSigner:a})}if(s[0].publicKey.equals(Wc)&&s[1].isSigner){const i=Rn().decode(Ct.Buffer.from(e)),o=JSON.parse(i);return Ca(o,G0),new vo(s[1].publicKey,o)}return null}}const Y0=new gt("Vote111111111111111111111111111111111111111"),Z0=At([oe("nodePubkey"),oe("authorizedWithdrawer"),ge("commission"),hr(),dr(At([hr("slot"),It("confirmationCount")]),pn(It(),-8),"votes"),ge("rootSlotValid"),hr("rootSlot"),hr(),dr(At([hr("epoch"),oe("authorizedVoter")]),pn(It(),-8),"authorizedVoters"),At([dr(At([oe("authorizedPubkey"),hr("epochOfLastAuthorizedSwitch"),hr("targetEpoch")]),32,"buf"),hr("idx"),ge("isEmpty")],"priorVoters"),hr(),dr(At([hr("epoch"),hr("credits"),hr("prevCredits")]),pn(It(),-8),"epochCredits"),At([hr("slot"),hr("timestamp")],"lastTimestamp")]);class ko{constructor(t){this.nodePubkey=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.rootSlot=void 0,this.votes=void 0,this.authorizedVoters=void 0,this.priorVoters=void 0,this.epochCredits=void 0,this.lastTimestamp=void 0,this.nodePubkey=t.nodePubkey,this.authorizedWithdrawer=t.authorizedWithdrawer,this.commission=t.commission,this.rootSlot=t.rootSlot,this.votes=t.votes,this.authorizedVoters=t.authorizedVoters,this.priorVoters=t.priorVoters,this.epochCredits=t.epochCredits,this.lastTimestamp=t.lastTimestamp}static fromAccountData(t){const r=Z0.decode(te(t),4);let s=r.rootSlot;return r.rootSlotValid||(s=null),new ko({nodePubkey:new gt(r.nodePubkey),authorizedWithdrawer:new gt(r.authorizedWithdrawer),commission:r.commission,votes:r.votes,rootSlot:s,authorizedVoters:r.authorizedVoters.map(J0),priorVoters:X0(r.priorVoters),epochCredits:r.epochCredits,lastTimestamp:r.lastTimestamp})}}function J0({authorizedVoter:n,epoch:t}){return{epoch:t,authorizedVoter:new gt(n)}}function Dc({authorizedPubkey:n,epochOfLastAuthorizedSwitch:t,targetEpoch:e}){return{authorizedPubkey:new gt(n),epochOfLastAuthorizedSwitch:t,targetEpoch:e}}function X0({buf:n,idx:t,isEmpty:e}){return e?[]:[...n.slice(t+1).map(Dc),...n.slice(0,t).map(Dc)]}const $c={http:{devnet:"http://api.devnet.solana.com",testnet:"http://api.testnet.solana.com","mainnet-beta":"http://api.mainnet-beta.solana.com/"},https:{devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com","mainnet-beta":"https://api.mainnet-beta.solana.com/"}};function Q0(n,t){const e=t===!1?"http":"https";if(!n)return $c[e].devnet;const r=$c[e][n];if(!r)throw new Error(`Unknown ${e} cluster: ${n}`);return r}async function td(n,t,e,r){let s,i;e&&Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")||e&&Object.prototype.hasOwnProperty.call(e,"nonceValue")?(s=e,i=r):i=e;const o=i&&{skipPreflight:i.skipPreflight,preflightCommitment:i.preflightCommitment||i.commitment,minContextSlot:i.minContextSlot},a=await n.sendRawTransaction(t,o),l=i&&i.commitment,x=(await(s?n.confirmTransaction(s,l):n.confirmTransaction(a,l))).value;if(x.err)throw a!=null?new yi({action:o!=null&&o.skipPreflight?"send":"simulate",signature:a,transactionMessage:`Status: (${JSON.stringify(x)})`}):new Error(`Raw transaction ${a} failed (${JSON.stringify(x)})`);return a}const rs=Object.freeze(Object.defineProperty({__proto__:null,Account:Vl,AddressLookupTableAccount:ao,AddressLookupTableInstruction:z0,AddressLookupTableProgram:mo,Authorized:zc,BLOCKHASH_CACHE_TIMEOUT_MS:mc,BPF_LOADER_DEPRECATED_PROGRAM_ID:jl,BPF_LOADER_PROGRAM_ID:uh,BpfLoader:fh,COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:Qr,ComputeBudgetInstruction:K0,ComputeBudgetProgram:wo,Connection:F0,Ed25519Program:ts,Enum:ql,EpochSchedule:pc,FeeCalculatorLayout:fc,Keypair:Un,LAMPORTS_PER_SOL:1e9,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:an,Loader:Pn,Lockup:bi,MAX_SEED_LENGTH:sc,Message:Wr,MessageAccountKeys:gi,MessageV0:Tn,NONCE_ACCOUNT_LENGTH:io,NonceAccount:Yi,PACKET_DATA_SIZE:yn,PUBLIC_KEY_LENGTH:Zr,PublicKey:gt,SIGNATURE_LENGTH_IN_BYTES:pi,SOLANA_SCHEMA:di,STAKE_CONFIG_ID:Fc,STAKE_INSTRUCTION_LAYOUTS:ur,SYSTEM_INSTRUCTION_LAYOUTS:Ne,SYSVAR_CLOCK_PUBKEY:Xr,SYSVAR_EPOCH_SCHEDULE_PUBKEY:th,SYSVAR_INSTRUCTIONS_PUBKEY:eh,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:ji,SYSVAR_RENT_PUBKEY:Zn,SYSVAR_REWARDS_PUBKEY:rh,SYSVAR_SLOT_HASHES_PUBKEY:nh,SYSVAR_SLOT_HISTORY_PUBKEY:ih,SYSVAR_STAKE_HISTORY_PUBKEY:Gi,Secp256k1Program:Qn,SendTransactionError:yi,SolanaJSONRPCError:Rt,SolanaJSONRPCErrorCode:sh,StakeAuthorizationLayout:H0,StakeInstruction:q0,StakeProgram:es,Struct:Js,SystemInstruction:ah,SystemProgram:cr,Transaction:ye,TransactionExpiredBlockheightExceededError:Xs,TransactionExpiredNonceInvalidError:Yn,TransactionExpiredTimeoutError:Qs,TransactionInstruction:Ue,TransactionMessage:eo,TransactionStatus:on,VALIDATOR_INFO_KEY:Wc,VERSION_PREFIX_MASK:Hi,VOTE_PROGRAM_ID:Y0,ValidatorInfo:vo,VersionedMessage:to,VersionedTransaction:ro,VoteAccount:ko,VoteAuthorizationLayout:j0,VoteInit:Kc,VoteInstruction:V0,VoteProgram:ti,clusterApiUrl:Q0,sendAndConfirmRawTransaction:td,sendAndConfirmTransaction:no},Symbol.toStringTag,{value:"Module"})),Dr=ar;var So={exports:{}};So.exports,function(n){var t=function(){var e=String.fromCharCode,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function o(l,y){if(!i[l]){i[l]={};for(var x=0;x<l.length;x++)i[l][l.charAt(x)]=x}return i[l][y]}var a={compressToBase64:function(l){if(l==null)return"";var y=a._compress(l,6,function(x){return r.charAt(x)});switch(y.length%4){default:case 0:return y;case 1:return y+"===";case 2:return y+"==";case 3:return y+"="}},decompressFromBase64:function(l){return l==null?"":l==""?null:a._decompress(l.length,32,function(y){return o(r,l.charAt(y))})},compressToUTF16:function(l){return l==null?"":a._compress(l,15,function(y){return e(y+32)})+" "},decompressFromUTF16:function(l){return l==null?"":l==""?null:a._decompress(l.length,16384,function(y){return l.charCodeAt(y)-32})},compressToUint8Array:function(l){for(var y=a.compress(l),x=new Uint8Array(y.length*2),E=0,L=y.length;E<L;E++){var C=y.charCodeAt(E);x[E*2]=C>>>8,x[E*2+1]=C%256}return x},decompressFromUint8Array:function(l){if(l==null)return a.decompress(l);for(var y=new Array(l.length/2),x=0,E=y.length;x<E;x++)y[x]=l[x*2]*256+l[x*2+1];var L=[];return y.forEach(function(C){L.push(e(C))}),a.decompress(L.join(""))},compressToEncodedURIComponent:function(l){return l==null?"":a._compress(l,6,function(y){return s.charAt(y)})},decompressFromEncodedURIComponent:function(l){return l==null?"":l==""?null:(l=l.replace(/ /g,"+"),a._decompress(l.length,32,function(y){return o(s,l.charAt(y))}))},compress:function(l){return a._compress(l,16,function(y){return e(y)})},_compress:function(l,y,x){if(l==null)return"";var E,L,C={},N={},M="",O="",K="",Q=2,V=3,st=2,J=[],D=0,tt=0,nt;for(nt=0;nt<l.length;nt+=1)if(M=l.charAt(nt),Object.prototype.hasOwnProperty.call(C,M)||(C[M]=V++,N[M]=!0),O=K+M,Object.prototype.hasOwnProperty.call(C,O))K=O;else{if(Object.prototype.hasOwnProperty.call(N,K)){if(K.charCodeAt(0)<256){for(E=0;E<st;E++)D=D<<1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++;for(L=K.charCodeAt(0),E=0;E<8;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}else{for(L=1,E=0;E<st;E++)D=D<<1|L,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=0;for(L=K.charCodeAt(0),E=0;E<16;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}Q--,Q==0&&(Q=Math.pow(2,st),st++),delete N[K]}else for(L=C[K],E=0;E<st;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1;Q--,Q==0&&(Q=Math.pow(2,st),st++),C[O]=V++,K=String(M)}if(K!==""){if(Object.prototype.hasOwnProperty.call(N,K)){if(K.charCodeAt(0)<256){for(E=0;E<st;E++)D=D<<1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++;for(L=K.charCodeAt(0),E=0;E<8;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}else{for(L=1,E=0;E<st;E++)D=D<<1|L,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=0;for(L=K.charCodeAt(0),E=0;E<16;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}Q--,Q==0&&(Q=Math.pow(2,st),st++),delete N[K]}else for(L=C[K],E=0;E<st;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1;Q--,Q==0&&(Q=Math.pow(2,st),st++)}for(L=2,E=0;E<st;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1;for(;;)if(D=D<<1,tt==y-1){J.push(x(D));break}else tt++;return J.join("")},decompress:function(l){return l==null?"":l==""?null:a._decompress(l.length,32768,function(y){return l.charCodeAt(y)})},_decompress:function(l,y,x){var E=[],L=4,C=4,N=3,M="",O=[],K,Q,V,st,J,D,tt,nt={val:x(0),position:y,index:1};for(K=0;K<3;K+=1)E[K]=K;for(V=0,J=Math.pow(2,2),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;switch(V){case 0:for(V=0,J=Math.pow(2,8),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;tt=e(V);break;case 1:for(V=0,J=Math.pow(2,16),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;tt=e(V);break;case 2:return""}for(E[3]=tt,Q=tt,O.push(tt);;){if(nt.index>l)return"";for(V=0,J=Math.pow(2,N),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;switch(tt=V){case 0:for(V=0,J=Math.pow(2,8),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;E[C++]=e(V),tt=C-1,L--;break;case 1:for(V=0,J=Math.pow(2,16),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;E[C++]=e(V),tt=C-1,L--;break;case 2:return O.join("")}if(L==0&&(L=Math.pow(2,N),N++),E[tt])M=E[tt];else if(tt===C)M=Q+Q.charAt(0);else return null;O.push(M),E[C++]=Q+M.charAt(0),L--,Q=M,L==0&&(L=Math.pow(2,N),N++)}}};return a}();n!=null?n.exports=t:typeof angular<"u"&&angular!=null&&angular.module("LZString",[]).factory("LZString",function(){return t})}(So);var ed=So.exports;const $r=ni(ed);function rd(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var qc={exports:{}};(function(n){(function(t){var e=function(g){var b,v=new Float64Array(16);if(g)for(b=0;b<g.length;b++)v[b]=g[b];return v},r=function(){throw new Error("no PRNG")},s=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var o=e(),a=e([1]),l=e([56129,1]),y=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),x=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),E=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),L=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),C=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function N(g,b,v,c){g[b]=v>>24&255,g[b+1]=v>>16&255,g[b+2]=v>>8&255,g[b+3]=v&255,g[b+4]=c>>24&255,g[b+5]=c>>16&255,g[b+6]=c>>8&255,g[b+7]=c&255}function M(g,b,v,c,S){var W,z=0;for(W=0;W<S;W++)z|=g[b+W]^v[c+W];return(1&z-1>>>8)-1}function O(g,b,v,c){return M(g,b,v,c,16)}function K(g,b,v,c){return M(g,b,v,c,32)}function Q(g,b,v,c){for(var S=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,W=v[0]&255|(v[1]&255)<<8|(v[2]&255)<<16|(v[3]&255)<<24,z=v[4]&255|(v[5]&255)<<8|(v[6]&255)<<16|(v[7]&255)<<24,X=v[8]&255|(v[9]&255)<<8|(v[10]&255)<<16|(v[11]&255)<<24,lt=v[12]&255|(v[13]&255)<<8|(v[14]&255)<<16|(v[15]&255)<<24,pt=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,ht=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,ae=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,vt=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,Ft=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,Kt=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,Vt=v[16]&255|(v[17]&255)<<8|(v[18]&255)<<16|(v[19]&255)<<24,qt=v[20]&255|(v[21]&255)<<8|(v[22]&255)<<16|(v[23]&255)<<24,Wt=v[24]&255|(v[25]&255)<<8|(v[26]&255)<<16|(v[27]&255)<<24,$t=v[28]&255|(v[29]&255)<<8|(v[30]&255)<<16|(v[31]&255)<<24,Dt=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24,St=S,Bt=W,xt=z,Et=X,_t=lt,mt=pt,j=ht,G=ae,ot=vt,rt=Ft,it=Kt,ut=Vt,Ut=qt,Zt=Wt,Xt=$t,Jt=Dt,P,ie=0;ie<20;ie+=2)P=St+Ut|0,_t^=P<<7|P>>>25,P=_t+St|0,ot^=P<<9|P>>>23,P=ot+_t|0,Ut^=P<<13|P>>>19,P=Ut+ot|0,St^=P<<18|P>>>14,P=mt+Bt|0,rt^=P<<7|P>>>25,P=rt+mt|0,Zt^=P<<9|P>>>23,P=Zt+rt|0,Bt^=P<<13|P>>>19,P=Bt+Zt|0,mt^=P<<18|P>>>14,P=it+j|0,Xt^=P<<7|P>>>25,P=Xt+it|0,xt^=P<<9|P>>>23,P=xt+Xt|0,j^=P<<13|P>>>19,P=j+xt|0,it^=P<<18|P>>>14,P=Jt+ut|0,Et^=P<<7|P>>>25,P=Et+Jt|0,G^=P<<9|P>>>23,P=G+Et|0,ut^=P<<13|P>>>19,P=ut+G|0,Jt^=P<<18|P>>>14,P=St+Et|0,Bt^=P<<7|P>>>25,P=Bt+St|0,xt^=P<<9|P>>>23,P=xt+Bt|0,Et^=P<<13|P>>>19,P=Et+xt|0,St^=P<<18|P>>>14,P=mt+_t|0,j^=P<<7|P>>>25,P=j+mt|0,G^=P<<9|P>>>23,P=G+j|0,_t^=P<<13|P>>>19,P=_t+G|0,mt^=P<<18|P>>>14,P=it+rt|0,ut^=P<<7|P>>>25,P=ut+it|0,ot^=P<<9|P>>>23,P=ot+ut|0,rt^=P<<13|P>>>19,P=rt+ot|0,it^=P<<18|P>>>14,P=Jt+Xt|0,Ut^=P<<7|P>>>25,P=Ut+Jt|0,Zt^=P<<9|P>>>23,P=Zt+Ut|0,Xt^=P<<13|P>>>19,P=Xt+Zt|0,Jt^=P<<18|P>>>14;St=St+S|0,Bt=Bt+W|0,xt=xt+z|0,Et=Et+X|0,_t=_t+lt|0,mt=mt+pt|0,j=j+ht|0,G=G+ae|0,ot=ot+vt|0,rt=rt+Ft|0,it=it+Kt|0,ut=ut+Vt|0,Ut=Ut+qt|0,Zt=Zt+Wt|0,Xt=Xt+$t|0,Jt=Jt+Dt|0,g[0]=St>>>0&255,g[1]=St>>>8&255,g[2]=St>>>16&255,g[3]=St>>>24&255,g[4]=Bt>>>0&255,g[5]=Bt>>>8&255,g[6]=Bt>>>16&255,g[7]=Bt>>>24&255,g[8]=xt>>>0&255,g[9]=xt>>>8&255,g[10]=xt>>>16&255,g[11]=xt>>>24&255,g[12]=Et>>>0&255,g[13]=Et>>>8&255,g[14]=Et>>>16&255,g[15]=Et>>>24&255,g[16]=_t>>>0&255,g[17]=_t>>>8&255,g[18]=_t>>>16&255,g[19]=_t>>>24&255,g[20]=mt>>>0&255,g[21]=mt>>>8&255,g[22]=mt>>>16&255,g[23]=mt>>>24&255,g[24]=j>>>0&255,g[25]=j>>>8&255,g[26]=j>>>16&255,g[27]=j>>>24&255,g[28]=G>>>0&255,g[29]=G>>>8&255,g[30]=G>>>16&255,g[31]=G>>>24&255,g[32]=ot>>>0&255,g[33]=ot>>>8&255,g[34]=ot>>>16&255,g[35]=ot>>>24&255,g[36]=rt>>>0&255,g[37]=rt>>>8&255,g[38]=rt>>>16&255,g[39]=rt>>>24&255,g[40]=it>>>0&255,g[41]=it>>>8&255,g[42]=it>>>16&255,g[43]=it>>>24&255,g[44]=ut>>>0&255,g[45]=ut>>>8&255,g[46]=ut>>>16&255,g[47]=ut>>>24&255,g[48]=Ut>>>0&255,g[49]=Ut>>>8&255,g[50]=Ut>>>16&255,g[51]=Ut>>>24&255,g[52]=Zt>>>0&255,g[53]=Zt>>>8&255,g[54]=Zt>>>16&255,g[55]=Zt>>>24&255,g[56]=Xt>>>0&255,g[57]=Xt>>>8&255,g[58]=Xt>>>16&255,g[59]=Xt>>>24&255,g[60]=Jt>>>0&255,g[61]=Jt>>>8&255,g[62]=Jt>>>16&255,g[63]=Jt>>>24&255}function V(g,b,v,c){for(var S=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,W=v[0]&255|(v[1]&255)<<8|(v[2]&255)<<16|(v[3]&255)<<24,z=v[4]&255|(v[5]&255)<<8|(v[6]&255)<<16|(v[7]&255)<<24,X=v[8]&255|(v[9]&255)<<8|(v[10]&255)<<16|(v[11]&255)<<24,lt=v[12]&255|(v[13]&255)<<8|(v[14]&255)<<16|(v[15]&255)<<24,pt=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,ht=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,ae=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,vt=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,Ft=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,Kt=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,Vt=v[16]&255|(v[17]&255)<<8|(v[18]&255)<<16|(v[19]&255)<<24,qt=v[20]&255|(v[21]&255)<<8|(v[22]&255)<<16|(v[23]&255)<<24,Wt=v[24]&255|(v[25]&255)<<8|(v[26]&255)<<16|(v[27]&255)<<24,$t=v[28]&255|(v[29]&255)<<8|(v[30]&255)<<16|(v[31]&255)<<24,Dt=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24,St=S,Bt=W,xt=z,Et=X,_t=lt,mt=pt,j=ht,G=ae,ot=vt,rt=Ft,it=Kt,ut=Vt,Ut=qt,Zt=Wt,Xt=$t,Jt=Dt,P,ie=0;ie<20;ie+=2)P=St+Ut|0,_t^=P<<7|P>>>25,P=_t+St|0,ot^=P<<9|P>>>23,P=ot+_t|0,Ut^=P<<13|P>>>19,P=Ut+ot|0,St^=P<<18|P>>>14,P=mt+Bt|0,rt^=P<<7|P>>>25,P=rt+mt|0,Zt^=P<<9|P>>>23,P=Zt+rt|0,Bt^=P<<13|P>>>19,P=Bt+Zt|0,mt^=P<<18|P>>>14,P=it+j|0,Xt^=P<<7|P>>>25,P=Xt+it|0,xt^=P<<9|P>>>23,P=xt+Xt|0,j^=P<<13|P>>>19,P=j+xt|0,it^=P<<18|P>>>14,P=Jt+ut|0,Et^=P<<7|P>>>25,P=Et+Jt|0,G^=P<<9|P>>>23,P=G+Et|0,ut^=P<<13|P>>>19,P=ut+G|0,Jt^=P<<18|P>>>14,P=St+Et|0,Bt^=P<<7|P>>>25,P=Bt+St|0,xt^=P<<9|P>>>23,P=xt+Bt|0,Et^=P<<13|P>>>19,P=Et+xt|0,St^=P<<18|P>>>14,P=mt+_t|0,j^=P<<7|P>>>25,P=j+mt|0,G^=P<<9|P>>>23,P=G+j|0,_t^=P<<13|P>>>19,P=_t+G|0,mt^=P<<18|P>>>14,P=it+rt|0,ut^=P<<7|P>>>25,P=ut+it|0,ot^=P<<9|P>>>23,P=ot+ut|0,rt^=P<<13|P>>>19,P=rt+ot|0,it^=P<<18|P>>>14,P=Jt+Xt|0,Ut^=P<<7|P>>>25,P=Ut+Jt|0,Zt^=P<<9|P>>>23,P=Zt+Ut|0,Xt^=P<<13|P>>>19,P=Xt+Zt|0,Jt^=P<<18|P>>>14;g[0]=St>>>0&255,g[1]=St>>>8&255,g[2]=St>>>16&255,g[3]=St>>>24&255,g[4]=mt>>>0&255,g[5]=mt>>>8&255,g[6]=mt>>>16&255,g[7]=mt>>>24&255,g[8]=it>>>0&255,g[9]=it>>>8&255,g[10]=it>>>16&255,g[11]=it>>>24&255,g[12]=Jt>>>0&255,g[13]=Jt>>>8&255,g[14]=Jt>>>16&255,g[15]=Jt>>>24&255,g[16]=j>>>0&255,g[17]=j>>>8&255,g[18]=j>>>16&255,g[19]=j>>>24&255,g[20]=G>>>0&255,g[21]=G>>>8&255,g[22]=G>>>16&255,g[23]=G>>>24&255,g[24]=ot>>>0&255,g[25]=ot>>>8&255,g[26]=ot>>>16&255,g[27]=ot>>>24&255,g[28]=rt>>>0&255,g[29]=rt>>>8&255,g[30]=rt>>>16&255,g[31]=rt>>>24&255}function st(g,b,v,c){Q(g,b,v,c)}function J(g,b,v,c){V(g,b,v,c)}var D=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function tt(g,b,v,c,S,W,z){var X=new Uint8Array(16),lt=new Uint8Array(64),pt,ht;for(ht=0;ht<16;ht++)X[ht]=0;for(ht=0;ht<8;ht++)X[ht]=W[ht];for(;S>=64;){for(st(lt,X,z,D),ht=0;ht<64;ht++)g[b+ht]=v[c+ht]^lt[ht];for(pt=1,ht=8;ht<16;ht++)pt=pt+(X[ht]&255)|0,X[ht]=pt&255,pt>>>=8;S-=64,b+=64,c+=64}if(S>0)for(st(lt,X,z,D),ht=0;ht<S;ht++)g[b+ht]=v[c+ht]^lt[ht];return 0}function nt(g,b,v,c,S){var W=new Uint8Array(16),z=new Uint8Array(64),X,lt;for(lt=0;lt<16;lt++)W[lt]=0;for(lt=0;lt<8;lt++)W[lt]=c[lt];for(;v>=64;){for(st(z,W,S,D),lt=0;lt<64;lt++)g[b+lt]=z[lt];for(X=1,lt=8;lt<16;lt++)X=X+(W[lt]&255)|0,W[lt]=X&255,X>>>=8;v-=64,b+=64}if(v>0)for(st(z,W,S,D),lt=0;lt<v;lt++)g[b+lt]=z[lt];return 0}function ue(g,b,v,c,S){var W=new Uint8Array(32);J(W,c,S,D);for(var z=new Uint8Array(8),X=0;X<8;X++)z[X]=c[X+16];return nt(g,b,v,z,W)}function jt(g,b,v,c,S,W,z){var X=new Uint8Array(32);J(X,W,z,D);for(var lt=new Uint8Array(8),pt=0;pt<8;pt++)lt[pt]=W[pt+16];return tt(g,b,v,c,S,lt,X)}var kt=function(g){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var b,v,c,S,W,z,X,lt;b=g[0]&255|(g[1]&255)<<8,this.r[0]=b&8191,v=g[2]&255|(g[3]&255)<<8,this.r[1]=(b>>>13|v<<3)&8191,c=g[4]&255|(g[5]&255)<<8,this.r[2]=(v>>>10|c<<6)&7939,S=g[6]&255|(g[7]&255)<<8,this.r[3]=(c>>>7|S<<9)&8191,W=g[8]&255|(g[9]&255)<<8,this.r[4]=(S>>>4|W<<12)&255,this.r[5]=W>>>1&8190,z=g[10]&255|(g[11]&255)<<8,this.r[6]=(W>>>14|z<<2)&8191,X=g[12]&255|(g[13]&255)<<8,this.r[7]=(z>>>11|X<<5)&8065,lt=g[14]&255|(g[15]&255)<<8,this.r[8]=(X>>>8|lt<<8)&8191,this.r[9]=lt>>>5&127,this.pad[0]=g[16]&255|(g[17]&255)<<8,this.pad[1]=g[18]&255|(g[19]&255)<<8,this.pad[2]=g[20]&255|(g[21]&255)<<8,this.pad[3]=g[22]&255|(g[23]&255)<<8,this.pad[4]=g[24]&255|(g[25]&255)<<8,this.pad[5]=g[26]&255|(g[27]&255)<<8,this.pad[6]=g[28]&255|(g[29]&255)<<8,this.pad[7]=g[30]&255|(g[31]&255)<<8};kt.prototype.blocks=function(g,b,v){for(var c=this.fin?0:2048,S,W,z,X,lt,pt,ht,ae,vt,Ft,Kt,Vt,qt,Wt,$t,Dt,St,Bt,xt,Et=this.h[0],_t=this.h[1],mt=this.h[2],j=this.h[3],G=this.h[4],ot=this.h[5],rt=this.h[6],it=this.h[7],ut=this.h[8],Ut=this.h[9],Zt=this.r[0],Xt=this.r[1],Jt=this.r[2],P=this.r[3],ie=this.r[4],me=this.r[5],we=this.r[6],ne=this.r[7],de=this.r[8],pe=this.r[9];v>=16;)S=g[b+0]&255|(g[b+1]&255)<<8,Et+=S&8191,W=g[b+2]&255|(g[b+3]&255)<<8,_t+=(S>>>13|W<<3)&8191,z=g[b+4]&255|(g[b+5]&255)<<8,mt+=(W>>>10|z<<6)&8191,X=g[b+6]&255|(g[b+7]&255)<<8,j+=(z>>>7|X<<9)&8191,lt=g[b+8]&255|(g[b+9]&255)<<8,G+=(X>>>4|lt<<12)&8191,ot+=lt>>>1&8191,pt=g[b+10]&255|(g[b+11]&255)<<8,rt+=(lt>>>14|pt<<2)&8191,ht=g[b+12]&255|(g[b+13]&255)<<8,it+=(pt>>>11|ht<<5)&8191,ae=g[b+14]&255|(g[b+15]&255)<<8,ut+=(ht>>>8|ae<<8)&8191,Ut+=ae>>>5|c,vt=0,Ft=vt,Ft+=Et*Zt,Ft+=_t*(5*pe),Ft+=mt*(5*de),Ft+=j*(5*ne),Ft+=G*(5*we),vt=Ft>>>13,Ft&=8191,Ft+=ot*(5*me),Ft+=rt*(5*ie),Ft+=it*(5*P),Ft+=ut*(5*Jt),Ft+=Ut*(5*Xt),vt+=Ft>>>13,Ft&=8191,Kt=vt,Kt+=Et*Xt,Kt+=_t*Zt,Kt+=mt*(5*pe),Kt+=j*(5*de),Kt+=G*(5*ne),vt=Kt>>>13,Kt&=8191,Kt+=ot*(5*we),Kt+=rt*(5*me),Kt+=it*(5*ie),Kt+=ut*(5*P),Kt+=Ut*(5*Jt),vt+=Kt>>>13,Kt&=8191,Vt=vt,Vt+=Et*Jt,Vt+=_t*Xt,Vt+=mt*Zt,Vt+=j*(5*pe),Vt+=G*(5*de),vt=Vt>>>13,Vt&=8191,Vt+=ot*(5*ne),Vt+=rt*(5*we),Vt+=it*(5*me),Vt+=ut*(5*ie),Vt+=Ut*(5*P),vt+=Vt>>>13,Vt&=8191,qt=vt,qt+=Et*P,qt+=_t*Jt,qt+=mt*Xt,qt+=j*Zt,qt+=G*(5*pe),vt=qt>>>13,qt&=8191,qt+=ot*(5*de),qt+=rt*(5*ne),qt+=it*(5*we),qt+=ut*(5*me),qt+=Ut*(5*ie),vt+=qt>>>13,qt&=8191,Wt=vt,Wt+=Et*ie,Wt+=_t*P,Wt+=mt*Jt,Wt+=j*Xt,Wt+=G*Zt,vt=Wt>>>13,Wt&=8191,Wt+=ot*(5*pe),Wt+=rt*(5*de),Wt+=it*(5*ne),Wt+=ut*(5*we),Wt+=Ut*(5*me),vt+=Wt>>>13,Wt&=8191,$t=vt,$t+=Et*me,$t+=_t*ie,$t+=mt*P,$t+=j*Jt,$t+=G*Xt,vt=$t>>>13,$t&=8191,$t+=ot*Zt,$t+=rt*(5*pe),$t+=it*(5*de),$t+=ut*(5*ne),$t+=Ut*(5*we),vt+=$t>>>13,$t&=8191,Dt=vt,Dt+=Et*we,Dt+=_t*me,Dt+=mt*ie,Dt+=j*P,Dt+=G*Jt,vt=Dt>>>13,Dt&=8191,Dt+=ot*Xt,Dt+=rt*Zt,Dt+=it*(5*pe),Dt+=ut*(5*de),Dt+=Ut*(5*ne),vt+=Dt>>>13,Dt&=8191,St=vt,St+=Et*ne,St+=_t*we,St+=mt*me,St+=j*ie,St+=G*P,vt=St>>>13,St&=8191,St+=ot*Jt,St+=rt*Xt,St+=it*Zt,St+=ut*(5*pe),St+=Ut*(5*de),vt+=St>>>13,St&=8191,Bt=vt,Bt+=Et*de,Bt+=_t*ne,Bt+=mt*we,Bt+=j*me,Bt+=G*ie,vt=Bt>>>13,Bt&=8191,Bt+=ot*P,Bt+=rt*Jt,Bt+=it*Xt,Bt+=ut*Zt,Bt+=Ut*(5*pe),vt+=Bt>>>13,Bt&=8191,xt=vt,xt+=Et*pe,xt+=_t*de,xt+=mt*ne,xt+=j*we,xt+=G*me,vt=xt>>>13,xt&=8191,xt+=ot*ie,xt+=rt*P,xt+=it*Jt,xt+=ut*Xt,xt+=Ut*Zt,vt+=xt>>>13,xt&=8191,vt=(vt<<2)+vt|0,vt=vt+Ft|0,Ft=vt&8191,vt=vt>>>13,Kt+=vt,Et=Ft,_t=Kt,mt=Vt,j=qt,G=Wt,ot=$t,rt=Dt,it=St,ut=Bt,Ut=xt,b+=16,v-=16;this.h[0]=Et,this.h[1]=_t,this.h[2]=mt,this.h[3]=j,this.h[4]=G,this.h[5]=ot,this.h[6]=rt,this.h[7]=it,this.h[8]=ut,this.h[9]=Ut},kt.prototype.finish=function(g,b){var v=new Uint16Array(10),c,S,W,z;if(this.leftover){for(z=this.leftover,this.buffer[z++]=1;z<16;z++)this.buffer[z]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(c=this.h[1]>>>13,this.h[1]&=8191,z=2;z<10;z++)this.h[z]+=c,c=this.h[z]>>>13,this.h[z]&=8191;for(this.h[0]+=c*5,c=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=c,c=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=c,v[0]=this.h[0]+5,c=v[0]>>>13,v[0]&=8191,z=1;z<10;z++)v[z]=this.h[z]+c,c=v[z]>>>13,v[z]&=8191;for(v[9]-=8192,S=(c^1)-1,z=0;z<10;z++)v[z]&=S;for(S=~S,z=0;z<10;z++)this.h[z]=this.h[z]&S|v[z];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,W=this.h[0]+this.pad[0],this.h[0]=W&65535,z=1;z<8;z++)W=(this.h[z]+this.pad[z]|0)+(W>>>16)|0,this.h[z]=W&65535;g[b+0]=this.h[0]>>>0&255,g[b+1]=this.h[0]>>>8&255,g[b+2]=this.h[1]>>>0&255,g[b+3]=this.h[1]>>>8&255,g[b+4]=this.h[2]>>>0&255,g[b+5]=this.h[2]>>>8&255,g[b+6]=this.h[3]>>>0&255,g[b+7]=this.h[3]>>>8&255,g[b+8]=this.h[4]>>>0&255,g[b+9]=this.h[4]>>>8&255,g[b+10]=this.h[5]>>>0&255,g[b+11]=this.h[5]>>>8&255,g[b+12]=this.h[6]>>>0&255,g[b+13]=this.h[6]>>>8&255,g[b+14]=this.h[7]>>>0&255,g[b+15]=this.h[7]>>>8&255},kt.prototype.update=function(g,b,v){var c,S;if(this.leftover){for(S=16-this.leftover,S>v&&(S=v),c=0;c<S;c++)this.buffer[this.leftover+c]=g[b+c];if(v-=S,b+=S,this.leftover+=S,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(v>=16&&(S=v-v%16,this.blocks(g,b,S),b+=S,v-=S),v){for(c=0;c<v;c++)this.buffer[this.leftover+c]=g[b+c];this.leftover+=v}};function ce(g,b,v,c,S,W){var z=new kt(W);return z.update(v,c,S),z.finish(g,b),0}function T(g,b,v,c,S,W){var z=new Uint8Array(16);return ce(z,0,v,c,S,W),O(g,b,z,0)}function u(g,b,v,c,S){var W;if(v<32)return-1;for(jt(g,0,b,0,v,c,S),ce(g,16,g,32,v-32,g),W=0;W<16;W++)g[W]=0;return 0}function p(g,b,v,c,S){var W,z=new Uint8Array(32);if(v<32||(ue(z,0,32,c,S),T(b,16,b,32,v-32,z)!==0))return-1;for(jt(g,0,b,0,v,c,S),W=0;W<32;W++)g[W]=0;return 0}function m(g,b){var v;for(v=0;v<16;v++)g[v]=b[v]|0}function R(g){var b,v,c=1;for(b=0;b<16;b++)v=g[b]+c+65535,c=Math.floor(v/65536),g[b]=v-c*65536;g[0]+=c-1+37*(c-1)}function _(g,b,v){for(var c,S=~(v-1),W=0;W<16;W++)c=S&(g[W]^b[W]),g[W]^=c,b[W]^=c}function I(g,b){var v,c,S,W=e(),z=e();for(v=0;v<16;v++)z[v]=b[v];for(R(z),R(z),R(z),c=0;c<2;c++){for(W[0]=z[0]-65517,v=1;v<15;v++)W[v]=z[v]-65535-(W[v-1]>>16&1),W[v-1]&=65535;W[15]=z[15]-32767-(W[14]>>16&1),S=W[15]>>16&1,W[14]&=65535,_(z,W,1-S)}for(v=0;v<16;v++)g[2*v]=z[v]&255,g[2*v+1]=z[v]>>8}function U(g,b){var v=new Uint8Array(32),c=new Uint8Array(32);return I(v,g),I(c,b),K(v,0,c,0)}function k(g){var b=new Uint8Array(32);return I(b,g),b[0]&1}function h(g,b){var v;for(v=0;v<16;v++)g[v]=b[2*v]+(b[2*v+1]<<8);g[15]&=32767}function A(g,b,v){for(var c=0;c<16;c++)g[c]=b[c]+v[c]}function Z(g,b,v){for(var c=0;c<16;c++)g[c]=b[c]-v[c]}function et(g,b,v){var c,S,W=0,z=0,X=0,lt=0,pt=0,ht=0,ae=0,vt=0,Ft=0,Kt=0,Vt=0,qt=0,Wt=0,$t=0,Dt=0,St=0,Bt=0,xt=0,Et=0,_t=0,mt=0,j=0,G=0,ot=0,rt=0,it=0,ut=0,Ut=0,Zt=0,Xt=0,Jt=0,P=v[0],ie=v[1],me=v[2],we=v[3],ne=v[4],de=v[5],pe=v[6],er=v[7],Pe=v[8],Xe=v[9],Qe=v[10],tr=v[11],sr=v[12],br=v[13],xr=v[14],vr=v[15];c=b[0],W+=c*P,z+=c*ie,X+=c*me,lt+=c*we,pt+=c*ne,ht+=c*de,ae+=c*pe,vt+=c*er,Ft+=c*Pe,Kt+=c*Xe,Vt+=c*Qe,qt+=c*tr,Wt+=c*sr,$t+=c*br,Dt+=c*xr,St+=c*vr,c=b[1],z+=c*P,X+=c*ie,lt+=c*me,pt+=c*we,ht+=c*ne,ae+=c*de,vt+=c*pe,Ft+=c*er,Kt+=c*Pe,Vt+=c*Xe,qt+=c*Qe,Wt+=c*tr,$t+=c*sr,Dt+=c*br,St+=c*xr,Bt+=c*vr,c=b[2],X+=c*P,lt+=c*ie,pt+=c*me,ht+=c*we,ae+=c*ne,vt+=c*de,Ft+=c*pe,Kt+=c*er,Vt+=c*Pe,qt+=c*Xe,Wt+=c*Qe,$t+=c*tr,Dt+=c*sr,St+=c*br,Bt+=c*xr,xt+=c*vr,c=b[3],lt+=c*P,pt+=c*ie,ht+=c*me,ae+=c*we,vt+=c*ne,Ft+=c*de,Kt+=c*pe,Vt+=c*er,qt+=c*Pe,Wt+=c*Xe,$t+=c*Qe,Dt+=c*tr,St+=c*sr,Bt+=c*br,xt+=c*xr,Et+=c*vr,c=b[4],pt+=c*P,ht+=c*ie,ae+=c*me,vt+=c*we,Ft+=c*ne,Kt+=c*de,Vt+=c*pe,qt+=c*er,Wt+=c*Pe,$t+=c*Xe,Dt+=c*Qe,St+=c*tr,Bt+=c*sr,xt+=c*br,Et+=c*xr,_t+=c*vr,c=b[5],ht+=c*P,ae+=c*ie,vt+=c*me,Ft+=c*we,Kt+=c*ne,Vt+=c*de,qt+=c*pe,Wt+=c*er,$t+=c*Pe,Dt+=c*Xe,St+=c*Qe,Bt+=c*tr,xt+=c*sr,Et+=c*br,_t+=c*xr,mt+=c*vr,c=b[6],ae+=c*P,vt+=c*ie,Ft+=c*me,Kt+=c*we,Vt+=c*ne,qt+=c*de,Wt+=c*pe,$t+=c*er,Dt+=c*Pe,St+=c*Xe,Bt+=c*Qe,xt+=c*tr,Et+=c*sr,_t+=c*br,mt+=c*xr,j+=c*vr,c=b[7],vt+=c*P,Ft+=c*ie,Kt+=c*me,Vt+=c*we,qt+=c*ne,Wt+=c*de,$t+=c*pe,Dt+=c*er,St+=c*Pe,Bt+=c*Xe,xt+=c*Qe,Et+=c*tr,_t+=c*sr,mt+=c*br,j+=c*xr,G+=c*vr,c=b[8],Ft+=c*P,Kt+=c*ie,Vt+=c*me,qt+=c*we,Wt+=c*ne,$t+=c*de,Dt+=c*pe,St+=c*er,Bt+=c*Pe,xt+=c*Xe,Et+=c*Qe,_t+=c*tr,mt+=c*sr,j+=c*br,G+=c*xr,ot+=c*vr,c=b[9],Kt+=c*P,Vt+=c*ie,qt+=c*me,Wt+=c*we,$t+=c*ne,Dt+=c*de,St+=c*pe,Bt+=c*er,xt+=c*Pe,Et+=c*Xe,_t+=c*Qe,mt+=c*tr,j+=c*sr,G+=c*br,ot+=c*xr,rt+=c*vr,c=b[10],Vt+=c*P,qt+=c*ie,Wt+=c*me,$t+=c*we,Dt+=c*ne,St+=c*de,Bt+=c*pe,xt+=c*er,Et+=c*Pe,_t+=c*Xe,mt+=c*Qe,j+=c*tr,G+=c*sr,ot+=c*br,rt+=c*xr,it+=c*vr,c=b[11],qt+=c*P,Wt+=c*ie,$t+=c*me,Dt+=c*we,St+=c*ne,Bt+=c*de,xt+=c*pe,Et+=c*er,_t+=c*Pe,mt+=c*Xe,j+=c*Qe,G+=c*tr,ot+=c*sr,rt+=c*br,it+=c*xr,ut+=c*vr,c=b[12],Wt+=c*P,$t+=c*ie,Dt+=c*me,St+=c*we,Bt+=c*ne,xt+=c*de,Et+=c*pe,_t+=c*er,mt+=c*Pe,j+=c*Xe,G+=c*Qe,ot+=c*tr,rt+=c*sr,it+=c*br,ut+=c*xr,Ut+=c*vr,c=b[13],$t+=c*P,Dt+=c*ie,St+=c*me,Bt+=c*we,xt+=c*ne,Et+=c*de,_t+=c*pe,mt+=c*er,j+=c*Pe,G+=c*Xe,ot+=c*Qe,rt+=c*tr,it+=c*sr,ut+=c*br,Ut+=c*xr,Zt+=c*vr,c=b[14],Dt+=c*P,St+=c*ie,Bt+=c*me,xt+=c*we,Et+=c*ne,_t+=c*de,mt+=c*pe,j+=c*er,G+=c*Pe,ot+=c*Xe,rt+=c*Qe,it+=c*tr,ut+=c*sr,Ut+=c*br,Zt+=c*xr,Xt+=c*vr,c=b[15],St+=c*P,Bt+=c*ie,xt+=c*me,Et+=c*we,_t+=c*ne,mt+=c*de,j+=c*pe,G+=c*er,ot+=c*Pe,rt+=c*Xe,it+=c*Qe,ut+=c*tr,Ut+=c*sr,Zt+=c*br,Xt+=c*xr,Jt+=c*vr,W+=38*Bt,z+=38*xt,X+=38*Et,lt+=38*_t,pt+=38*mt,ht+=38*j,ae+=38*G,vt+=38*ot,Ft+=38*rt,Kt+=38*it,Vt+=38*ut,qt+=38*Ut,Wt+=38*Zt,$t+=38*Xt,Dt+=38*Jt,S=1,c=W+S+65535,S=Math.floor(c/65536),W=c-S*65536,c=z+S+65535,S=Math.floor(c/65536),z=c-S*65536,c=X+S+65535,S=Math.floor(c/65536),X=c-S*65536,c=lt+S+65535,S=Math.floor(c/65536),lt=c-S*65536,c=pt+S+65535,S=Math.floor(c/65536),pt=c-S*65536,c=ht+S+65535,S=Math.floor(c/65536),ht=c-S*65536,c=ae+S+65535,S=Math.floor(c/65536),ae=c-S*65536,c=vt+S+65535,S=Math.floor(c/65536),vt=c-S*65536,c=Ft+S+65535,S=Math.floor(c/65536),Ft=c-S*65536,c=Kt+S+65535,S=Math.floor(c/65536),Kt=c-S*65536,c=Vt+S+65535,S=Math.floor(c/65536),Vt=c-S*65536,c=qt+S+65535,S=Math.floor(c/65536),qt=c-S*65536,c=Wt+S+65535,S=Math.floor(c/65536),Wt=c-S*65536,c=$t+S+65535,S=Math.floor(c/65536),$t=c-S*65536,c=Dt+S+65535,S=Math.floor(c/65536),Dt=c-S*65536,c=St+S+65535,S=Math.floor(c/65536),St=c-S*65536,W+=S-1+37*(S-1),S=1,c=W+S+65535,S=Math.floor(c/65536),W=c-S*65536,c=z+S+65535,S=Math.floor(c/65536),z=c-S*65536,c=X+S+65535,S=Math.floor(c/65536),X=c-S*65536,c=lt+S+65535,S=Math.floor(c/65536),lt=c-S*65536,c=pt+S+65535,S=Math.floor(c/65536),pt=c-S*65536,c=ht+S+65535,S=Math.floor(c/65536),ht=c-S*65536,c=ae+S+65535,S=Math.floor(c/65536),ae=c-S*65536,c=vt+S+65535,S=Math.floor(c/65536),vt=c-S*65536,c=Ft+S+65535,S=Math.floor(c/65536),Ft=c-S*65536,c=Kt+S+65535,S=Math.floor(c/65536),Kt=c-S*65536,c=Vt+S+65535,S=Math.floor(c/65536),Vt=c-S*65536,c=qt+S+65535,S=Math.floor(c/65536),qt=c-S*65536,c=Wt+S+65535,S=Math.floor(c/65536),Wt=c-S*65536,c=$t+S+65535,S=Math.floor(c/65536),$t=c-S*65536,c=Dt+S+65535,S=Math.floor(c/65536),Dt=c-S*65536,c=St+S+65535,S=Math.floor(c/65536),St=c-S*65536,W+=S-1+37*(S-1),g[0]=W,g[1]=z,g[2]=X,g[3]=lt,g[4]=pt,g[5]=ht,g[6]=ae,g[7]=vt,g[8]=Ft,g[9]=Kt,g[10]=Vt,g[11]=qt,g[12]=Wt,g[13]=$t,g[14]=Dt,g[15]=St}function ct(g,b){et(g,b,b)}function Mt(g,b){var v=e(),c;for(c=0;c<16;c++)v[c]=b[c];for(c=253;c>=0;c--)ct(v,v),c!==2&&c!==4&&et(v,v,b);for(c=0;c<16;c++)g[c]=v[c]}function Tt(g,b){var v=e(),c;for(c=0;c<16;c++)v[c]=b[c];for(c=250;c>=0;c--)ct(v,v),c!==1&&et(v,v,b);for(c=0;c<16;c++)g[c]=v[c]}function Pt(g,b,v){var c=new Uint8Array(32),S=new Float64Array(80),W,z,X=e(),lt=e(),pt=e(),ht=e(),ae=e(),vt=e();for(z=0;z<31;z++)c[z]=b[z];for(c[31]=b[31]&127|64,c[0]&=248,h(S,v),z=0;z<16;z++)lt[z]=S[z],ht[z]=X[z]=pt[z]=0;for(X[0]=ht[0]=1,z=254;z>=0;--z)W=c[z>>>3]>>>(z&7)&1,_(X,lt,W),_(pt,ht,W),A(ae,X,pt),Z(X,X,pt),A(pt,lt,ht),Z(lt,lt,ht),ct(ht,ae),ct(vt,X),et(X,pt,X),et(pt,lt,ae),A(ae,X,pt),Z(X,X,pt),ct(lt,X),Z(pt,ht,vt),et(X,pt,l),A(X,X,ht),et(pt,pt,X),et(X,ht,vt),et(ht,lt,S),ct(lt,ae),_(X,lt,W),_(pt,ht,W);for(z=0;z<16;z++)S[z+16]=X[z],S[z+32]=pt[z],S[z+48]=lt[z],S[z+64]=ht[z];var Ft=S.subarray(32),Kt=S.subarray(16);return Mt(Ft,Ft),et(Kt,Kt,Ft),I(g,Kt),0}function Ce(g,b){return Pt(g,b,i)}function Yt(g,b){return r(b,32),Ce(g,b)}function Gt(g,b,v){var c=new Uint8Array(32);return Pt(c,v,b),J(g,s,c,D)}var le=u,re=p;function ve(g,b,v,c,S,W){var z=new Uint8Array(32);return Gt(z,S,W),le(g,b,v,c,z)}function Or(g,b,v,c,S,W){var z=new Uint8Array(32);return Gt(z,S,W),re(g,b,v,c,z)}var _e=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Oe(g,b,v,c){for(var S=new Int32Array(16),W=new Int32Array(16),z,X,lt,pt,ht,ae,vt,Ft,Kt,Vt,qt,Wt,$t,Dt,St,Bt,xt,Et,_t,mt,j,G,ot,rt,it,ut,Ut=g[0],Zt=g[1],Xt=g[2],Jt=g[3],P=g[4],ie=g[5],me=g[6],we=g[7],ne=b[0],de=b[1],pe=b[2],er=b[3],Pe=b[4],Xe=b[5],Qe=b[6],tr=b[7],sr=0;c>=128;){for(_t=0;_t<16;_t++)mt=8*_t+sr,S[_t]=v[mt+0]<<24|v[mt+1]<<16|v[mt+2]<<8|v[mt+3],W[_t]=v[mt+4]<<24|v[mt+5]<<16|v[mt+6]<<8|v[mt+7];for(_t=0;_t<80;_t++)if(z=Ut,X=Zt,lt=Xt,pt=Jt,ht=P,ae=ie,vt=me,Ft=we,Kt=ne,Vt=de,qt=pe,Wt=er,$t=Pe,Dt=Xe,St=Qe,Bt=tr,j=we,G=tr,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=(P>>>14|Pe<<18)^(P>>>18|Pe<<14)^(Pe>>>9|P<<23),G=(Pe>>>14|P<<18)^(Pe>>>18|P<<14)^(P>>>9|Pe<<23),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=P&ie^~P&me,G=Pe&Xe^~Pe&Qe,ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=_e[_t*2],G=_e[_t*2+1],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=S[_t%16],G=W[_t%16],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,xt=it&65535|ut<<16,Et=ot&65535|rt<<16,j=xt,G=Et,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=(Ut>>>28|ne<<4)^(ne>>>2|Ut<<30)^(ne>>>7|Ut<<25),G=(ne>>>28|Ut<<4)^(Ut>>>2|ne<<30)^(Ut>>>7|ne<<25),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=Ut&Zt^Ut&Xt^Zt&Xt,G=ne&de^ne&pe^de&pe,ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,Ft=it&65535|ut<<16,Bt=ot&65535|rt<<16,j=pt,G=Wt,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=xt,G=Et,ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,pt=it&65535|ut<<16,Wt=ot&65535|rt<<16,Zt=z,Xt=X,Jt=lt,P=pt,ie=ht,me=ae,we=vt,Ut=Ft,de=Kt,pe=Vt,er=qt,Pe=Wt,Xe=$t,Qe=Dt,tr=St,ne=Bt,_t%16===15)for(mt=0;mt<16;mt++)j=S[mt],G=W[mt],ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=S[(mt+9)%16],G=W[(mt+9)%16],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,xt=S[(mt+1)%16],Et=W[(mt+1)%16],j=(xt>>>1|Et<<31)^(xt>>>8|Et<<24)^xt>>>7,G=(Et>>>1|xt<<31)^(Et>>>8|xt<<24)^(Et>>>7|xt<<25),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,xt=S[(mt+14)%16],Et=W[(mt+14)%16],j=(xt>>>19|Et<<13)^(Et>>>29|xt<<3)^xt>>>6,G=(Et>>>19|xt<<13)^(xt>>>29|Et<<3)^(Et>>>6|xt<<26),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,S[mt]=it&65535|ut<<16,W[mt]=ot&65535|rt<<16;j=Ut,G=ne,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[0],G=b[0],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[0]=Ut=it&65535|ut<<16,b[0]=ne=ot&65535|rt<<16,j=Zt,G=de,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[1],G=b[1],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[1]=Zt=it&65535|ut<<16,b[1]=de=ot&65535|rt<<16,j=Xt,G=pe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[2],G=b[2],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[2]=Xt=it&65535|ut<<16,b[2]=pe=ot&65535|rt<<16,j=Jt,G=er,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[3],G=b[3],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[3]=Jt=it&65535|ut<<16,b[3]=er=ot&65535|rt<<16,j=P,G=Pe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[4],G=b[4],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[4]=P=it&65535|ut<<16,b[4]=Pe=ot&65535|rt<<16,j=ie,G=Xe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[5],G=b[5],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[5]=ie=it&65535|ut<<16,b[5]=Xe=ot&65535|rt<<16,j=me,G=Qe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[6],G=b[6],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[6]=me=it&65535|ut<<16,b[6]=Qe=ot&65535|rt<<16,j=we,G=tr,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[7],G=b[7],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[7]=we=it&65535|ut<<16,b[7]=tr=ot&65535|rt<<16,sr+=128,c-=128}return c}function Ar(g,b,v){var c=new Int32Array(8),S=new Int32Array(8),W=new Uint8Array(256),z,X=v;for(c[0]=1779033703,c[1]=3144134277,c[2]=1013904242,c[3]=2773480762,c[4]=1359893119,c[5]=2600822924,c[6]=528734635,c[7]=1541459225,S[0]=4089235720,S[1]=2227873595,S[2]=4271175723,S[3]=1595750129,S[4]=2917565137,S[5]=725511199,S[6]=4215389547,S[7]=327033209,Oe(c,S,b,v),v%=128,z=0;z<v;z++)W[z]=b[X-v+z];for(W[v]=128,v=256-128*(v<112?1:0),W[v-9]=0,N(W,v-8,X/536870912|0,X<<3),Oe(c,S,W,v),z=0;z<8;z++)N(g,8*z,c[z],S[z]);return 0}function Ie(g,b){var v=e(),c=e(),S=e(),W=e(),z=e(),X=e(),lt=e(),pt=e(),ht=e();Z(v,g[1],g[0]),Z(ht,b[1],b[0]),et(v,v,ht),A(c,g[0],g[1]),A(ht,b[0],b[1]),et(c,c,ht),et(S,g[3],b[3]),et(S,S,x),et(W,g[2],b[2]),A(W,W,W),Z(z,c,v),Z(X,W,S),A(lt,W,S),A(pt,c,v),et(g[0],z,X),et(g[1],pt,lt),et(g[2],lt,X),et(g[3],z,pt)}function Ae(g,b,v){var c;for(c=0;c<4;c++)_(g[c],b[c],v)}function rr(g,b){var v=e(),c=e(),S=e();Mt(S,b[2]),et(v,b[0],S),et(c,b[1],S),I(g,c),g[31]^=k(v)<<7}function ke(g,b,v){var c,S;for(m(g[0],o),m(g[1],a),m(g[2],a),m(g[3],o),S=255;S>=0;--S)c=v[S/8|0]>>(S&7)&1,Ae(g,b,c),Ie(b,g),Ie(g,g),Ae(g,b,c)}function Se(g,b){var v=[e(),e(),e(),e()];m(v[0],E),m(v[1],L),m(v[2],a),et(v[3],E,L),ke(g,v,b)}function fr(g,b,v){var c=new Uint8Array(64),S=[e(),e(),e(),e()],W;for(v||r(b,32),Ar(c,b,32),c[0]&=248,c[31]&=127,c[31]|=64,Se(S,c),rr(g,S),W=0;W<32;W++)b[W+32]=g[W];return 0}var Be=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function w(g,b){var v,c,S,W;for(c=63;c>=32;--c){for(v=0,S=c-32,W=c-12;S<W;++S)b[S]+=v-16*b[c]*Be[S-(c-32)],v=Math.floor((b[S]+128)/256),b[S]-=v*256;b[S]+=v,b[c]=0}for(v=0,S=0;S<32;S++)b[S]+=v-(b[31]>>4)*Be[S],v=b[S]>>8,b[S]&=255;for(S=0;S<32;S++)b[S]-=v*Be[S];for(c=0;c<32;c++)b[c+1]+=b[c]>>8,g[c]=b[c]&255}function f(g){var b=new Float64Array(64),v;for(v=0;v<64;v++)b[v]=g[v];for(v=0;v<64;v++)g[v]=0;w(g,b)}function d(g,b,v,c){var S=new Uint8Array(64),W=new Uint8Array(64),z=new Uint8Array(64),X,lt,pt=new Float64Array(64),ht=[e(),e(),e(),e()];Ar(S,c,32),S[0]&=248,S[31]&=127,S[31]|=64;var ae=v+64;for(X=0;X<v;X++)g[64+X]=b[X];for(X=0;X<32;X++)g[32+X]=S[32+X];for(Ar(z,g.subarray(32),v+32),f(z),Se(ht,z),rr(g,ht),X=32;X<64;X++)g[X]=c[X];for(Ar(W,g,v+64),f(W),X=0;X<64;X++)pt[X]=0;for(X=0;X<32;X++)pt[X]=z[X];for(X=0;X<32;X++)for(lt=0;lt<32;lt++)pt[X+lt]+=W[X]*S[lt];return w(g.subarray(32),pt),ae}function B(g,b){var v=e(),c=e(),S=e(),W=e(),z=e(),X=e(),lt=e();return m(g[2],a),h(g[1],b),ct(S,g[1]),et(W,S,y),Z(S,S,g[2]),A(W,g[2],W),ct(z,W),ct(X,z),et(lt,X,z),et(v,lt,S),et(v,v,W),Tt(v,v),et(v,v,S),et(v,v,W),et(v,v,W),et(g[0],v,W),ct(c,g[0]),et(c,c,W),U(c,S)&&et(g[0],g[0],C),ct(c,g[0]),et(c,c,W),U(c,S)?-1:(k(g[0])===b[31]>>7&&Z(g[0],o,g[0]),et(g[3],g[0],g[1]),0)}function F(g,b,v,c){var S,W=new Uint8Array(32),z=new Uint8Array(64),X=[e(),e(),e(),e()],lt=[e(),e(),e(),e()];if(v<64||B(lt,c))return-1;for(S=0;S<v;S++)g[S]=b[S];for(S=0;S<32;S++)g[S+32]=c[S];if(Ar(z,g,v),f(z),ke(X,lt,z),Se(lt,b.subarray(32)),Ie(X,lt),rr(W,X),v-=64,K(b,0,W,0)){for(S=0;S<v;S++)g[S]=0;return-1}for(S=0;S<v;S++)g[S]=b[S+64];return v}var $=32,Y=24,Ht=32,zt=16,Nt=32,Re=32,Lt=32,ze=32,ri=32,je=Y,Ze=Ht,as=zt,Te=64,Le=32,cn=64,De=32,$e=64;t.lowlevel={crypto_core_hsalsa20:J,crypto_stream_xor:jt,crypto_stream:ue,crypto_stream_salsa20_xor:tt,crypto_stream_salsa20:nt,crypto_onetimeauth:ce,crypto_onetimeauth_verify:T,crypto_verify_16:O,crypto_verify_32:K,crypto_secretbox:u,crypto_secretbox_open:p,crypto_scalarmult:Pt,crypto_scalarmult_base:Ce,crypto_box_beforenm:Gt,crypto_box_afternm:le,crypto_box:ve,crypto_box_open:Or,crypto_box_keypair:Yt,crypto_hash:Ar,crypto_sign:d,crypto_sign_keypair:fr,crypto_sign_open:F,crypto_secretbox_KEYBYTES:$,crypto_secretbox_NONCEBYTES:Y,crypto_secretbox_ZEROBYTES:Ht,crypto_secretbox_BOXZEROBYTES:zt,crypto_scalarmult_BYTES:Nt,crypto_scalarmult_SCALARBYTES:Re,crypto_box_PUBLICKEYBYTES:Lt,crypto_box_SECRETKEYBYTES:ze,crypto_box_BEFORENMBYTES:ri,crypto_box_NONCEBYTES:je,crypto_box_ZEROBYTES:Ze,crypto_box_BOXZEROBYTES:as,crypto_sign_BYTES:Te,crypto_sign_PUBLICKEYBYTES:Le,crypto_sign_SECRETKEYBYTES:cn,crypto_sign_SEEDBYTES:De,crypto_hash_BYTES:$e,gf:e,D:y,L:Be,pack25519:I,unpack25519:h,M:et,A,S:ct,Z,pow2523:Tt,add:Ie,set25519:m,modL:w,scalarmult:ke,scalarbase:Se};function vi(g,b){if(g.length!==$)throw new Error("bad key size");if(b.length!==Y)throw new Error("bad nonce size")}function Je(g,b){if(g.length!==Lt)throw new Error("bad public key size");if(b.length!==ze)throw new Error("bad secret key size")}function he(){for(var g=0;g<arguments.length;g++)if(!(arguments[g]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function ki(g){for(var b=0;b<g.length;b++)g[b]=0}t.randomBytes=function(g){var b=new Uint8Array(g);return r(b,g),b},t.secretbox=function(g,b,v){he(g,b,v),vi(v,b);for(var c=new Uint8Array(Ht+g.length),S=new Uint8Array(c.length),W=0;W<g.length;W++)c[W+Ht]=g[W];return u(S,c,c.length,b,v),S.subarray(zt)},t.secretbox.open=function(g,b,v){he(g,b,v),vi(v,b);for(var c=new Uint8Array(zt+g.length),S=new Uint8Array(c.length),W=0;W<g.length;W++)c[W+zt]=g[W];return c.length<32||p(S,c,c.length,b,v)!==0?null:S.subarray(Ht)},t.secretbox.keyLength=$,t.secretbox.nonceLength=Y,t.secretbox.overheadLength=zt,t.scalarMult=function(g,b){if(he(g,b),g.length!==Re)throw new Error("bad n size");if(b.length!==Nt)throw new Error("bad p size");var v=new Uint8Array(Nt);return Pt(v,g,b),v},t.scalarMult.base=function(g){if(he(g),g.length!==Re)throw new Error("bad n size");var b=new Uint8Array(Nt);return Ce(b,g),b},t.scalarMult.scalarLength=Re,t.scalarMult.groupElementLength=Nt,t.box=function(g,b,v,c){var S=t.box.before(v,c);return t.secretbox(g,b,S)},t.box.before=function(g,b){he(g,b),Je(g,b);var v=new Uint8Array(ri);return Gt(v,g,b),v},t.box.after=t.secretbox,t.box.open=function(g,b,v,c){var S=t.box.before(v,c);return t.secretbox.open(g,b,S)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var g=new Uint8Array(Lt),b=new Uint8Array(ze);return Yt(g,b),{publicKey:g,secretKey:b}},t.box.keyPair.fromSecretKey=function(g){if(he(g),g.length!==ze)throw new Error("bad secret key size");var b=new Uint8Array(Lt);return Ce(b,g),{publicKey:b,secretKey:new Uint8Array(g)}},t.box.publicKeyLength=Lt,t.box.secretKeyLength=ze,t.box.sharedKeyLength=ri,t.box.nonceLength=je,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(g,b){if(he(g,b),b.length!==cn)throw new Error("bad secret key size");var v=new Uint8Array(Te+g.length);return d(v,g,g.length,b),v},t.sign.open=function(g,b){if(he(g,b),b.length!==Le)throw new Error("bad public key size");var v=new Uint8Array(g.length),c=F(v,g,g.length,b);if(c<0)return null;for(var S=new Uint8Array(c),W=0;W<S.length;W++)S[W]=v[W];return S},t.sign.detached=function(g,b){for(var v=t.sign(g,b),c=new Uint8Array(Te),S=0;S<c.length;S++)c[S]=v[S];return c},t.sign.detached.verify=function(g,b,v){if(he(g,b,v),b.length!==Te)throw new Error("bad signature size");if(v.length!==Le)throw new Error("bad public key size");var c=new Uint8Array(Te+g.length),S=new Uint8Array(Te+g.length),W;for(W=0;W<Te;W++)c[W]=b[W];for(W=0;W<g.length;W++)c[W+Te]=g[W];return F(S,c,c.length,v)>=0},t.sign.keyPair=function(){var g=new Uint8Array(Le),b=new Uint8Array(cn);return fr(g,b),{publicKey:g,secretKey:b}},t.sign.keyPair.fromSecretKey=function(g){if(he(g),g.length!==cn)throw new Error("bad secret key size");for(var b=new Uint8Array(Le),v=0;v<b.length;v++)b[v]=g[32+v];return{publicKey:b,secretKey:new Uint8Array(g)}},t.sign.keyPair.fromSeed=function(g){if(he(g),g.length!==De)throw new Error("bad seed size");for(var b=new Uint8Array(Le),v=new Uint8Array(cn),c=0;c<32;c++)v[c]=g[c];return fr(b,v,!0),{publicKey:b,secretKey:v}},t.sign.publicKeyLength=Le,t.sign.secretKeyLength=cn,t.sign.seedLength=De,t.sign.signatureLength=Te,t.hash=function(g){he(g);var b=new Uint8Array($e);return Ar(b,g,g.length),b},t.hash.hashLength=$e,t.verify=function(g,b){return he(g,b),g.length===0||b.length===0||g.length!==b.length?!1:M(g,0,b,0,g.length)===0},t.setPRNG=function(g){r=g},function(){var g=typeof self<"u"?self.crypto||self.msCrypto:null;if(g&&g.getRandomValues){var b=65536;t.setPRNG(function(v,c){var S,W=new Uint8Array(c);for(S=0;S<c;S+=b)g.getRandomValues(W.subarray(S,S+Math.min(c-S,b)));for(S=0;S<c;S++)v[S]=W[S];ki(W)})}else typeof rd<"u"&&(g=ra,g&&g.randomBytes&&t.setPRNG(function(v,c){var S,W=g.randomBytes(c);for(S=0;S<c;S++)v[S]=W[S];ki(W)}))}()})(n.exports?n.exports:self.nacl=self.nacl||{})})(qc);var nd=qc.exports;class en{constructor(t){nr(this,"env");nr(this,"url");this.env=t??"prod",this.env==="prod"?this.url="https://api.coinflow.cash":this.env==="local"?this.url="http://localhost:5000":this.url=`https://api-${this.env}.coinflow.cash`}async getNSurePartnerId(t){return fetch(this.url+`/merchant/view/${t}`).then(e=>e.json()).then(e=>{var r;return((r=e.nSureSettings)==null?void 0:r.nSurePartnerId)||e.nSurePartnerId}).catch(e=>{console.error(e)})}async getCreditBalance(t,e,r){const s=await fetch(this.url+`/api/customer/balances/${e}`,{method:"GET",headers:{"x-coinflow-auth-wallet":t,"x-coinflow-auth-blockchain":r}}),{credits:i}=await s.json();return i}static getCoinflowBaseUrl(t){return!t||t==="prod"?"https://coinflow.cash":t==="local"?"http://localhost:3000":`https://${t}.coinflow.cash`}static getCoinflowApiUrl(t){return!t||t==="prod"?"https://api.coinflow.cash":t==="local"?"http://localhost:5000":`https://api-${t}.coinflow.cash`}static getCoinflowUrl({walletPubkey:t,sessionKey:e,route:r,routePrefix:s,env:i,amount:o,transaction:a,blockchain:l="solana",webhookInfo:y,email:x,loaderBackground:E,handleHeightChange:L,bankAccountLinkRedirect:C,additionalWallets:N,nearDeposit:M,chargebackProtectionData:O,merchantCss:K,color:Q,rent:V,lockDefaultToken:st,token:J,tokens:D,planCode:tt,disableApplePay:nt,disableGooglePay:ue,customerInfo:jt,settlementType:kt,lockAmount:ce,nativeSolToConvert:T,theme:u,usePermit:p,transactionSigner:m,authOnly:R,deviceId:_,jwtToken:I,origins:U,threeDsChallengePreference:k,supportEmail:h}){var et;const A=s?`/${s}/${l}`:`/${l}`,Z=new URL(A+r,en.getCoinflowBaseUrl(i));if(t&&Z.searchParams.append("pubkey",t),e&&Z.searchParams.append("sessionKey",e),a&&Z.searchParams.append("transaction",a),o&&Z.searchParams.append("amount",o.toString()),y&&Z.searchParams.append("webhookInfo",$r.compressToEncodedURIComponent(JSON.stringify(y))),u&&Z.searchParams.append("theme",$r.compressToEncodedURIComponent(JSON.stringify(u))),jt&&Z.searchParams.append("customerInfo",$r.compressToEncodedURIComponent(JSON.stringify(jt))),x&&Z.searchParams.append("email",x),h&&Z.searchParams.append("supportEmail",h),J&&Z.searchParams.append("token",J.toString()),D&&Z.searchParams.append("tokens",D.toString()),E&&Z.searchParams.append("loaderBackground",E),L&&Z.searchParams.append("useHeightChange","true"),C&&Z.searchParams.append("bankAccountLinkRedirect",C),N&&Z.searchParams.append("additionalWallets",$r.compressToEncodedURIComponent(JSON.stringify(N))),M&&Z.searchParams.append("nearDeposit",M),O&&Z.searchParams.append("chargebackProtectionData",$r.compressToEncodedURIComponent(JSON.stringify(O))),_)Z.searchParams.append("deviceId",_);else if(typeof window<"u"){const ct=(et=window==null?void 0:window.nSureSDK)==null?void 0:et.getDeviceId();ct&&Z.searchParams.append("deviceId",ct)}return K&&Z.searchParams.append("merchantCss",K),Q&&Z.searchParams.append("color",Q),V&&Z.searchParams.append("rent",V.lamports.toString()),T&&Z.searchParams.append("nativeSolToConvert",T.lamports.toString()),st&&Z.searchParams.append("lockDefaultToken","true"),tt&&Z.searchParams.append("planCode",tt),nt&&Z.searchParams.append("disableApplePay","true"),ue&&Z.searchParams.append("disableGooglePay","true"),kt&&Z.searchParams.append("settlementType",kt),ce&&Z.searchParams.append("lockAmount","true"),p===!1&&Z.searchParams.append("usePermit","false"),m&&Z.searchParams.append("transactionSigner",m),R===!0&&Z.searchParams.append("authOnly","true"),I&&Z.searchParams.append("jwtToken",I),U&&Z.searchParams.append("origins",$r.compressToEncodedURIComponent(JSON.stringify(U))),k&&Z.searchParams.append("threeDsChallengePreference",k),Z.toString()}static getTransaction(t){if(t.blockchain)return this.byBlockchain(t.blockchain,{solana:()=>{if(!("transaction"in t))return;const{transaction:e}=t;if(!rs)throw new Error("@solana/web3.js dependency is required for Solana");if(!Dr)throw new Error("bs58 dependency is required for Solana");if(e)return Dr.encode(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))},polygon:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},eth:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},base:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},arbitrum:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},near:()=>{if(!("action"in t))return;const{action:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},user:()=>{}})()}static byBlockchain(t,e){switch(t){case"solana":return e.solana;case"near":return e.near;case"polygon":return e.polygon;case"eth":return e.eth;case"base":return e.base;case"arbitrum":return e.arbitrum;case"user":return e.user;default:throw new Error("blockchain not supported!")}}static async getWalletFromUserId({userId:t,merchantId:e,env:r}){return this.getWalletFromEmail({email:t,merchantId:e,env:r})}static async getWalletFromEmail({email:t,merchantId:e,env:r}){const s=new TextEncoder().encode(t),o=await window.crypto.subtle.digest("SHA-256",s),a=new Uint8Array(o),l=Un.fromSeed(a);return{publicKey:l.publicKey,signMessage:y=>Promise.resolve(nd.sign.detached(y,l.secretKey)),signTransaction:async y=>y instanceof ye?(y.sign(l),y):(y.sign([l]),y),sendTransaction:async y=>{y instanceof ye?y.sign(l):y.sign([l]);const x=this.getCoinflowApiUrl(r),E={method:"POST",headers:{"content-type":"application/json","x-coinflow-auth-wallet":l.publicKey.toString(),"x-coinflow-auth-blockchain":"solana"},body:JSON.stringify({merchantId:e,signedTransaction:Dr==null?void 0:Dr.encode(y.serialize())})},{signature:L}=await fetch(x+"/api/utils/send-coinflow-tx",E).then(C=>C.json());return L}}}}var Hc=(n=>(n.SignMessage="signMessage",n.SignTransaction="signTransaction",n.SendTransaction="sendTransaction",n.HeightChange="heightChange",n.Success="success",n.Load="load",n))(Hc||{});function ns(n){if("wallet"in n&&n.wallet){const{wallet:t}=n;if("publicKey"in t)return t.publicKey.toString();if("address"in t)return t.address;if("accountId"in t)return t.accountId}return null}function Vc(n,t){let e;try{if(e=JSON.parse(n),!("method"in e)||!("data"in e))return}catch(i){console.error("handleIFrameMessage JSON parse",i);return}const{data:r,method:s}=e;switch(s){case"signMessage":return t.handleSignMessage?t.handleSignMessage(r):void 0;case"signTransaction":return t.handleSignTransaction?t.handleSignTransaction(r):void 0;case"sendTransaction":return t.handleSendTransaction(r);case"heightChange":return t.handleHeightChange?t.handleHeightChange(r):void 0;case"success":if(!t.onSuccess)return;t.onSuccess(e.info);return}console.warn(`Didn't expect to get here, handleIFrameMessage method:${s} is not one of ${Object.values(Hc)}`)}function is(n){return n.blockchain?en.byBlockchain(n.blockchain,{solana:()=>id(n),near:()=>sd(n),eth:()=>ss(n),polygon:()=>ss(n),base:()=>ss(n),arbitrum:()=>ss(n),user:()=>od(n)})():{handleSendTransaction:()=>{throw new Error("handleSendTransaction Not Implemented for sessionKey")},handleSignMessage:()=>{throw new Error("handleSendTransaction Not Implemented for sessionKey")},handleSignTransaction:()=>{throw new Error("handleSendTransaction Not Implemented for sessionKey")},onSuccess:n.onSuccess}}function id({wallet:n,onSuccess:t}){return{handleSendTransaction:async e=>{const r=jc(e);return await n.sendTransaction(r)},handleSignMessage:async e=>{const r=n.signMessage;if(!r)throw new Error("signMessage is not supported by this wallet");const s=await r(new TextEncoder().encode(e));if(!Dr)throw new Error("bs58 dependency is required");return Dr.encode(s)},handleSignTransaction:async e=>{const r=n.signTransaction;if(!r)throw new Error("signTransaction is not supported by this wallet");const s=jc(e),i=await r(s);if(!Dr)throw new Error("bs58 dependency is required");return Dr.encode(i.serialize({requireAllSignatures:!1,verifySignatures:!1}))},onSuccess:t}}function jc(n){if(!rs)throw new Error("@solana/web3.js is not defined. Please install @solana/web3.js into your project");if(!Dr)throw new Error("bs58 is not defined. Please install bs58 into your project");const t=Dr.decode(n),e=rs.VersionedTransaction.deserialize(t);return e.version==="legacy"?rs.Transaction.from(t):e}function sd({wallet:n,onSuccess:t}){const e=n;return{handleSendTransaction:async r=>{const s=JSON.parse(Buffer.from(r,"base64").toString()),i=await e.signAndSendTransaction(s);if(!i)throw new Error("Transaction did not send");const{transaction:o}=i;return o.hash},onSuccess:t}}function ss({wallet:n,onSuccess:t}){const e=n;return{handleSendTransaction:async r=>{const s=JSON.parse(Buffer.from(r,"base64").toString()),{hash:i}=await e.sendTransaction(s);return i},handleSignMessage:async r=>e.signMessage(r),onSuccess:t}}function od({onSuccess:n}){return{handleSendTransaction:async()=>Promise.resolve(""),onSuccess:n}}const xi="tokenExCardNumber",ei="tokenExCardCvv",Gc={[On.VISA]:"visa",[On.MASTERCARD]:"masterCard",[On.AMEX]:"americanExpress",[On.DISCOVER]:"discover"};async function Yc({token:n,origins:t,env:e}){return new Promise((r,s)=>{fetch(new en(e).url+"/api/checkout/authentication-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({origins:[...t??[],window.location.origin],token:n})}).then(async i=>{r(await i.json())}).catch(i=>s(i))})}function Eo({env:n,setTokenExScriptLoaded:t}){const e="tokenex-script";if(document.head.querySelector(`#${e}`))return;const r=document.createElement("script");r.src=n==="prod"?"https://htp.tokenex.com/iframe/iframe-v3.min.js":"https://test-htp.tokenex.com/iframe/iframe-v3.min.js",r.id=e,document.head.appendChild(r),document.getElementById(e).addEventListener("load",()=>{console.log("Setting tokenExScriptLoaded to true!"),t(!0)})}function ad({iframe:n,setCachedToken:t,setLoaded:e}){const r=async()=>(n.tokenize(),await new Promise((s,i)=>{n.on("tokenize",o=>{t(o.token),s(o)}),n.on("validate",o=>{(!o.isValid||o.isCvvValid===!1)&&i(o)})}));return n.on("change",()=>t(void 0)),n.on("cvvChange",()=>t(void 0)),n.on("load",()=>{setTimeout(()=>e(!0),350);const s=document.querySelector("#tx_iframe_tokenExCardNumber");s&&(s.scrolling="no")}),n.on("focus",()=>{n.focus()}),n.on("cvvFocus",()=>{n.cvvFocus()}),e(!1),n.load(),{...n,tokenize:r}}async function Zc(n){const{token:t,cardType:e}=n;return await _o(ei,n,{cvvOnly:!0,cvv:!0,cvvContainerID:ei,placeholder:"CVV",token:t,cardType:Gc[e]})}async function Jc(n){return await _o(xi,n,{cvv:!0,cvvContainerID:ei,cvvPlaceholder:"CVV"})}async function Xc(n){return await _o(xi,n,{cvv:!1})}async function _o(n,{tokenExScriptLoaded:t,origins:e,env:r,css:s,debug:i,font:o,setCachedToken:a,setLoaded:l},y){if(!t&&typeof TokenEx>"u"){console.warn("Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#tokenex-script");return}const x=await Yc({token:y.token,origins:e,env:r}),{styles:E}=cd(s),L={...x,placeholder:"0000 0000 0000 0000",enablePrettyFormat:!0,styles:E,font:o,debug:i??!1,...y},C=TokenEx.Iframe(n,L);return ad({iframe:C,setCachedToken:a,setLoaded:l})}function cd(n){var r,s,i;const t=JSON.parse(n);return{styles:{base:mn(t.base),focus:mn(t.focus),error:mn(t.error),placeholder:mn(t.placeholder),cvv:{base:mn((r=t.cvv)==null?void 0:r.base),focus:mn((s=t.cvv)==null?void 0:s.focus),error:mn((i=t.cvv)==null?void 0:i.error),placeholder:mn(t==null?void 0:t.placeholder)}}}}function mn(n){if(!n)return"";if(typeof n=="string")return n;let t="";for(const[e,r]of Object.entries(n)){let s="";e.split("").forEach(i=>{i.toUpperCase()===i?s+="-"+i.toLowerCase():s+=i}),t+=s+":"+r+";"}return t}const ud=ft.defineComponent({name:"CoinflowIFrame",props:{args:{type:Object,required:!0}},computed:{url(){return en.getCoinflowUrl(this.args)}},emits:{onMessage(n){return!0}},methods:{sendMessage(n){const t=this.$refs.iframeRef;if(!(t!=null&&t.contentWindow))throw new Error("Iframe not defined");t.contentWindow.postMessage(n,"*")},handleIframeMessages({data:n,origin:t}){if(!t.includes(en.getCoinflowBaseUrl(this.args.env)))return;this.$emit("onMessage",{data:n,origin:t});const e=Vc(n,this.args);e&&e.then(this.sendMessage).catch(r=>{console.error(r),this.sendMessage("ERROR "+r.message)})},async listenForMessage(n){let t;return new Promise((e,r)=>{if(t=({data:s,origin:i})=>{if(i.includes(en.getCoinflowBaseUrl(this.args.env))){if(s.startsWith("ERROR")){r(new Error(s.replace("ERROR","")));return}n(s)&&e(s)}},!window)throw new Error("Window not defined");window.addEventListener("message",t)}).finally(()=>{window.removeEventListener("message",t)})},async sendAndReceiveMessage(n,t){return this.sendMessage(n),this.listenForMessage(t)}},mounted(){if(!window)throw new Error("Window not defined");return window.addEventListener("message",this.handleIframeMessages),()=>{window.removeEventListener("message",this.handleIframeMessages)}}}),Io=(n,t)=>{const e=n.__vccOpts||n;for(const[r,s]of t)e[r]=s;return e},fd=["src","scrolling"];function ld(n,t,e,r,s,i){return ft.openBlock(),ft.createElementBlock("iframe",{style:{height:"100%",width:"100%"},ref:"iframeRef",allow:"payment;camera",title:"withdraw",frameBorder:"0",src:n.url,scrolling:n.args.handleHeightChange?"no":"yes",onLoad:t[0]||(t[0]=()=>{const o=n.$refs.iframeRef;o&&(o.style.opacity="1")})},null,40,fd)}const os=Io(ud,[["render",ld]]),hd=ft.defineComponent({name:"CoinflowWithdraw",components:{CoinflowIFrame:os},props:{args:{type:Object,required:!0}},computed:{iframeProps(){const n=ns(this.args);return{...this.args,walletPubkey:n,route:`/withdraw/${this.args.merchantId}`,transaction:void 0}},messageHandlers(){return{...is(this.args),handleHeightChange:this.args.handleHeightChange}}}});function dd(n,t,e,r,s,i){const o=ft.resolveComponent("coinflow-i-frame");return ft.openBlock(),ft.createBlock(o,{args:{...n.iframeProps,...n.messageHandlers}},null,8,["args"])}const pd=Io(hd,[["render",dd]]),gd=ft.defineComponent({name:"CoinflowPurchase",components:{CoinflowIFrame:os},props:{args:{type:Object,required:!0}},computed:{iframeProps(){const n=ns(this.args);return{...this.args,walletPubkey:n,route:`/purchase-v2/${this.args.merchantId}`,transaction:en.getTransaction(this.args)}},messageHandlers(){return{...is(this.args),handleHeightChange:this.args.handleHeightChange}}}});function yd(n,t,e,r,s,i){const o=ft.resolveComponent("coinflow-i-frame");return ft.openBlock(),ft.createBlock(o,{args:{...n.iframeProps,...n.messageHandlers}},null,8,["args"])}const md=Io(gd,[["render",yd]]),Ao=n=>{const t=ft.ref(!1),e=ft.ref(!1),r=ft.ref(void 0),s=ft.ref(void 0);ft.onMounted(()=>{Eo({env:n,setTokenExScriptLoaded:()=>{console.log("tokenExScriptLoaded.value = true"),e.value=!0}})});const i=E=>s.value=E,o=()=>t.value=!0,a=E=>r.value=E,l=async E=>{const L=await Zc({...E,tokenExScriptLoaded:e.value,env:n,setCachedToken:i,setLoaded:o});return a(L),L},y=async E=>{const L=await Jc({...E,tokenExScriptLoaded:e.value,env:n,setCachedToken:i,setLoaded:o});return a(L),L},x=async E=>{const L=await Xc({...E,tokenExScriptLoaded:e.value,env:n,setCachedToken:i,setLoaded:o});return a(L),L};return ft.watchEffect(E=>{r.value&&(r.value.load(),E(()=>{var L;return(L=r.value)==null?void 0:L.remove()}))}),{tokenExIframe:r,initializeTokenExIframe:y,initializeCvvOnlyTokenExIframe:l,initializeTokenExCardOnlyIframe:x,loaded:t,cachedToken:s,setTokenExScriptTag:Eo,tokenExScriptLoaded:e}},wd=["id"],bd=ft.defineComponent({__name:"CoinflowCardNumberInput",props:{args:{type:Object,required:!0}},setup(n,{expose:t}){const{initializeTokenExIframe:e,tokenExIframe:r}=Ao(n.args.env);async function s(){if(!r.value)throw new Error("Unable to get token");return r.value.tokenize()}t({getToken:s});function i(){return JSON.stringify(n.args.css)}return ft.watchEffect(()=>{e({css:i(),debug:n.args.debug,origins:n.args.origins,font:n.args.font})},{}),(o,a)=>(ft.openBlock(),ft.createElementBlock("div",{id:ft.unref(xi)},null,8,wd))}}),xd=["id"],vd=ft.defineComponent({__name:"CoinflowCvvInput",setup(n){return(t,e)=>(ft.openBlock(),ft.createElementBlock("div",{id:ft.unref(ei)},null,8,xd))}}),kd=["id"],Sd=ft.defineComponent({__name:"CoinflowCvvOnlyInput",props:{args:{type:Object,required:!0}},setup(n,{expose:t}){const{initializeCvvOnlyTokenExIframe:e,tokenExIframe:r}=Ao(n.args.env);async function s(){if(!r.value)throw new Error("Unable to get token");return r.value.tokenize()}t({getToken:s});function i(){return JSON.stringify(n.args.css)}return ft.watchEffect(()=>{e({...n.args,origins:n.args.origins??[],css:i(),font:n.args.font})},{}),(o,a)=>(ft.openBlock(),ft.createElementBlock("div",{id:ft.unref(ei)},null,8,kd))}}),Ed=ft.defineComponent({__name:"CoinflowPurchaseProtection",props:{args:{type:Object,required:!0}},setup(n){const t=ft.ref(void 0);ft.onMounted(()=>new en(n.args.env).getNSurePartnerId(n.args.merchantId).then(s=>t.value=s));function e(){return n.args.env==="prod"?"9JBW2RHC7JNJN8ZQ":"SANDBOX_CTCE4XK53ZW0R7V1"}function r(){return n.args.env==="prod"?"https://sdk.nsureapi.com/sdk.js":"https://sdk.nsureapi.com/sdk-sandbox.js"}return ft.watchEffect(s=>{if(!t.value)return;const i=document.createElement("script");i.src=r(),document.head.appendChild(i);const o=`window.nSureAsyncInit = function(deviceId) {
13
+ `,O=M+N.join(M);console.error(C.error.message,O)}throw new yi({action:"simulate",signature:"",transactionMessage:C.error.message,logs:N})}return C.result}async sendTransaction(t,e,r){if("version"in t){if(e&&Array.isArray(e))throw new Error("Invalid arguments");const o=t.serialize();return await this.sendRawTransaction(o,e)}if(e===void 0||!Array.isArray(e))throw new Error("Invalid arguments");const s=e;if(t.nonceInfo)t.sign(...s);else{let o=this._disableBlockhashCaching;for(;;){const a=await this._blockhashWithExpiryBlockHeight(o);if(t.lastValidBlockHeight=a.lastValidBlockHeight,t.recentBlockhash=a.blockhash,t.sign(...s),!t.signature)throw new Error("!signature");const l=t.signature.toString("base64");if(this._blockhashInfo.transactionSignatures.includes(l))o=!0;else{this._blockhashInfo.transactionSignatures.push(l);break}}}const i=t.serialize();return await this.sendRawTransaction(i,r)}async sendRawTransaction(t,e){const r=te(t).toString("base64");return await this.sendEncodedTransaction(r,e)}async sendEncodedTransaction(t,e){const r={encoding:"base64"},s=e&&e.skipPreflight,i=s===!0?"processed":e&&e.preflightCommitment||this.commitment;e&&e.maxRetries!=null&&(r.maxRetries=e.maxRetries),e&&e.minContextSlot!=null&&(r.minContextSlot=e.minContextSlot),s&&(r.skipPreflight=s),i&&(r.preflightCommitment=i);const o=[t,r],a=await this._rpcRequest("sendTransaction",o),l=yt(a,L0);if("error"in l){let y;throw"data"in l.error&&(y=l.error.data.logs),new yi({action:s?"send":"simulate",signature:"",transactionMessage:l.error.message,logs:y})}return l.result}_wsOnOpen(){this._rpcWebSocketConnected=!0,this._rpcWebSocketHeartbeat=setInterval(()=>{(async()=>{try{await this._rpcWebSocket.notify("ping")}catch{}})()},5e3),this._updateSubscriptions()}_wsOnError(t){this._rpcWebSocketConnected=!1,console.error("ws error:",t.message)}_wsOnClose(t){if(this._rpcWebSocketConnected=!1,this._rpcWebSocketGeneration=(this._rpcWebSocketGeneration+1)%Number.MAX_SAFE_INTEGER,this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null),this._rpcWebSocketHeartbeat&&(clearInterval(this._rpcWebSocketHeartbeat),this._rpcWebSocketHeartbeat=null),t===1e3){this._updateSubscriptions();return}this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach(([e,r])=>{this._setSubscription(e,{...r,state:"pending"})})}_setSubscription(t,e){var s;const r=(s=this._subscriptionsByHash[t])==null?void 0:s.state;if(this._subscriptionsByHash[t]=e,r!==e.state){const i=this._subscriptionStateChangeCallbacksByHash[t];i&&i.forEach(o=>{try{o(e.state)}catch{}})}}_onSubscriptionStateChange(t,e){var i;const r=this._subscriptionHashByClientSubscriptionId[t];if(r==null)return()=>{};const s=(i=this._subscriptionStateChangeCallbacksByHash)[r]||(i[r]=new Set);return s.add(e),()=>{s.delete(e),s.size===0&&delete this._subscriptionStateChangeCallbacksByHash[r]}}async _updateSubscriptions(){if(Object.keys(this._subscriptionsByHash).length===0){this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout(()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(r){r instanceof Error&&console.log(`Error when closing socket connection: ${r.message}`)}},500));return}if(this._rpcWebSocketIdleTimeout!==null&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected){this._rpcWebSocket.connect();return}const t=this._rpcWebSocketGeneration,e=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map(async r=>{const s=this._subscriptionsByHash[r];if(s!==void 0)switch(s.state){case"pending":case"unsubscribed":if(s.callbacks.size===0){delete this._subscriptionsByHash[r],s.state==="unsubscribed"&&delete this._subscriptionCallbacksByServerSubscriptionId[s.serverSubscriptionId],await this._updateSubscriptions();return}await(async()=>{const{args:i,method:o}=s;try{this._setSubscription(r,{...s,state:"subscribing"});const a=await this._rpcWebSocket.call(o,i);this._setSubscription(r,{...s,serverSubscriptionId:a,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[a]=s.callbacks,await this._updateSubscriptions()}catch(a){if(console.error(`Received ${a instanceof Error?"":"JSON-RPC "}error calling \`${o}\``,{args:i,error:a}),!e())return;this._setSubscription(r,{...s,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":s.callbacks.size===0&&await(async()=>{const{serverSubscriptionId:i,unsubscribeMethod:o}=s;if(this._subscriptionsAutoDisposedByRpc.has(i))this._subscriptionsAutoDisposedByRpc.delete(i);else{this._setSubscription(r,{...s,state:"unsubscribing"}),this._setSubscription(r,{...s,state:"unsubscribing"});try{await this._rpcWebSocket.call(o,[i])}catch(a){if(a instanceof Error&&console.error(`${o} error:`,a.message),!e())return;this._setSubscription(r,{...s,state:"subscribed"}),await this._updateSubscriptions();return}}this._setSubscription(r,{...s,state:"unsubscribed"}),await this._updateSubscriptions()})();break}}))}_handleServerNotification(t,e){const r=this._subscriptionCallbacksByServerSubscriptionId[t];r!==void 0&&r.forEach(s=>{try{s(...e)}catch(i){console.error(i)}})}_wsOnAccountNotification(t){const{result:e,subscription:r}=yt(t,n0);this._handleServerNotification(r,[e.value,e.context])}_makeSubscription(t,e){const r=this._nextClientSubscriptionId++,s=dc([t.method,e]),i=this._subscriptionsByHash[s];return i===void 0?this._subscriptionsByHash[s]={...t,args:e,callbacks:new Set([t.callback]),state:"pending"}:i.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[r]=s,this._subscriptionDisposeFunctionsByClientSubscriptionId[r]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[r],delete this._subscriptionHashByClientSubscriptionId[r];const o=this._subscriptionsByHash[s];xe(o!==void 0,`Could not find a \`Subscription\` when tearing down client subscription #${r}`),o.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),r}onAccountChange(t,e,r){const{commitment:s,config:i}=Fe(r),o=this._buildArgs([t.toBase58()],s||this._commitment||"finalized","base64",i);return this._makeSubscription({callback:e,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},o)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){const{result:e,subscription:r}=yt(t,s0);this._handleServerNotification(r,[{accountId:e.value.pubkey,accountInfo:e.value.account},e.context])}onProgramAccountChange(t,e,r,s){const{commitment:i,config:o}=Fe(r),a=this._buildArgs([t.toBase58()],i||this._commitment||"finalized","base64",o||(s?{filters:wc(s)}:void 0));return this._makeSubscription({callback:e,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},a)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,e,r){const s=this._buildArgs([typeof t=="object"?{mentions:[t.toString()]}:t],r||this._commitment||"finalized");return this._makeSubscription({callback:e,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},s)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){const{result:e,subscription:r}=yt(t,O0);this._handleServerNotification(r,[e.value,e.context])}_wsOnSlotNotification(t){const{result:e,subscription:r}=yt(t,a0);this._handleServerNotification(r,[e])}onSlotChange(t){return this._makeSubscription({callback:t,method:"slotSubscribe",unsubscribeMethod:"slotUnsubscribe"},[])}async removeSlotChangeListener(t){await this._unsubscribeClientSubscription(t,"slot change")}_wsOnSlotUpdatesNotification(t){const{result:e,subscription:r}=yt(t,u0);this._handleServerNotification(r,[e])}onSlotUpdate(t){return this._makeSubscription({callback:t,method:"slotsUpdatesSubscribe",unsubscribeMethod:"slotsUpdatesUnsubscribe"},[])}async removeSlotUpdateListener(t){await this._unsubscribeClientSubscription(t,"slot update")}async _unsubscribeClientSubscription(t,e){const r=this._subscriptionDisposeFunctionsByClientSubscriptionId[t];r?await r():console.warn(`Ignored unsubscribe request because an active subscription with id \`${t}\` for '${e}' events could not be found.`)}_buildArgs(t,e,r,s){const i=e||this._commitment;if(i||r||s){let o={};r&&(o.encoding=r),i&&(o.commitment=i),s&&(o=Object.assign(o,s)),t.push(o)}return t}_buildArgsAtLeastConfirmed(t,e,r,s){const i=e||this._commitment;if(i&&!["confirmed","finalized"].includes(i))throw new Error("Using Connection with default commitment: `"+this._commitment+"`, but method requires at least `confirmed`");return this._buildArgs(t,e,r,s)}_wsOnSignatureNotification(t){const{result:e,subscription:r}=yt(t,f0);e.value!=="receivedSignature"&&this._subscriptionsAutoDisposedByRpc.add(r),this._handleServerNotification(r,e.value==="receivedSignature"?[{type:"received"},e.context]:[{type:"status",result:e.value},e.context])}onSignature(t,e,r){const s=this._buildArgs([t],r||this._commitment||"finalized"),i=this._makeSubscription({callback:(o,a)=>{if(o.type==="status"){e(o.result,a);try{this.removeSignatureListener(i)}catch{}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},s);return i}onSignatureWithOptions(t,e,r){const{commitment:s,...i}={...r,commitment:r&&r.commitment||this._commitment||"finalized"},o=this._buildArgs([t],s,void 0,i),a=this._makeSubscription({callback:(l,y)=>{e(l,y);try{this.removeSignatureListener(a)}catch{}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return a}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){const{result:e,subscription:r}=yt(t,l0);this._handleServerNotification(r,[e])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}}class Un{constructor(t){this._keypair=void 0,this._keypair=t??rc()}static generate(){return new Un(rc())}static fromSecretKey(t,e){if(t.byteLength!==64)throw new Error("bad secret key size");const r=t.slice(32,64);if(!e||!e.skipValidation){const s=t.slice(0,32),i=qi(s);for(let o=0;o<32;o++)if(r[o]!==i[o])throw new Error("provided secretKey is invalid")}return new Un({publicKey:r,secretKey:t})}static fromSeed(t){const e=qi(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),new Un({publicKey:e,secretKey:r})}get publicKey(){return new gt(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const an=Object.freeze({CreateLookupTable:{index:0,layout:At([It("instruction"),Jn("recentSlot"),ge("bumpSeed")])},FreezeLookupTable:{index:1,layout:At([It("instruction")])},ExtendLookupTable:{index:2,layout:At([It("instruction"),Jn(),dr(oe(),pn(It(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:At([It("instruction")])},CloseLookupTable:{index:4,layout:At([It("instruction")])}});class z0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(an))if(o.index==r){s=i;break}if(!s)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return s}static decodeCreateLookupTable(t){this.checkProgramId(t.programId),this.checkKeysLength(t.keys,4);const{recentSlot:e}=Ee(an.CreateLookupTable,t.data);return{authority:t.keys[1].pubkey,payer:t.keys[2].pubkey,recentSlot:Number(e)}}static decodeExtendLookupTable(t){if(this.checkProgramId(t.programId),t.keys.length<2)throw new Error(`invalid instruction; found ${t.keys.length} keys, expected at least 2`);const{addresses:e}=Ee(an.ExtendLookupTable,t.data);return{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,payer:t.keys.length>2?t.keys[2].pubkey:void 0,addresses:e.map(r=>new gt(r))}}static decodeCloseLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,3),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey,recipient:t.keys[2].pubkey}}static decodeFreezeLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static decodeDeactivateLookupTable(t){return this.checkProgramId(t.programId),this.checkKeysLength(t.keys,2),{lookupTable:t.keys[0].pubkey,authority:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(mo.programId))throw new Error("invalid instruction; programId is not AddressLookupTable Program")}static checkKeysLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}class mo{constructor(){}static createLookupTable(t){const[e,r]=gt.findProgramAddressSync([t.authority.toBuffer(),Ma(BigInt(t.recentSlot),8)],this.programId),s=an.CreateLookupTable,i=fe(s,{recentSlot:BigInt(t.recentSlot),bumpSeed:r}),o=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:cr.programId,isSigner:!1,isWritable:!1}];return[new Ue({programId:this.programId,keys:o,data:i}),e]}static freezeLookupTable(t){const e=an.FreezeLookupTable,r=fe(e),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Ue({programId:this.programId,keys:s,data:r})}static extendLookupTable(t){const e=an.ExtendLookupTable,r=fe(e,{addresses:t.addresses.map(i=>i.toBytes())}),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&s.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:cr.programId,isSigner:!1,isWritable:!1}),new Ue({programId:this.programId,keys:s,data:r})}static deactivateLookupTable(t){const e=an.DeactivateLookupTable,r=fe(e),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new Ue({programId:this.programId,keys:s,data:r})}static closeLookupTable(t){const e=an.CloseLookupTable,r=fe(e),s=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new Ue({programId:this.programId,keys:s,data:r})}}mo.programId=new gt("AddressLookupTab1e1111111111111111111111111");class K0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=ge("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(Qr))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return s}static decodeRequestUnits(t){this.checkProgramId(t.programId);const{units:e,additionalFee:r}=Ee(Qr.RequestUnits,t.data);return{units:e,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);const{bytes:e}=Ee(Qr.RequestHeapFrame,t.data);return{bytes:e}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);const{units:e}=Ee(Qr.SetComputeUnitLimit,t.data);return{units:e}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);const{microLamports:e}=Ee(Qr.SetComputeUnitPrice,t.data);return{microLamports:e}}static checkProgramId(t){if(!t.equals(wo.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}}const Qr=Object.freeze({RequestUnits:{index:0,layout:At([ge("instruction"),It("units"),It("additionalFee")])},RequestHeapFrame:{index:1,layout:At([ge("instruction"),It("bytes")])},SetComputeUnitLimit:{index:2,layout:At([ge("instruction"),It("units")])},SetComputeUnitPrice:{index:3,layout:At([ge("instruction"),Jn("microLamports")])}});class wo{constructor(){}static requestUnits(t){const e=Qr.RequestUnits,r=fe(e,t);return new Ue({keys:[],programId:this.programId,data:r})}static requestHeapFrame(t){const e=Qr.RequestHeapFrame,r=fe(e,t);return new Ue({keys:[],programId:this.programId,data:r})}static setComputeUnitLimit(t){const e=Qr.SetComputeUnitLimit,r=fe(e,t);return new Ue({keys:[],programId:this.programId,data:r})}static setComputeUnitPrice(t){const e=Qr.SetComputeUnitPrice,r=fe(e,{microLamports:BigInt(t.microLamports)});return new Ue({keys:[],programId:this.programId,data:r})}}wo.programId=new gt("ComputeBudget111111111111111111111111111111");const Mc=64,Pc=32,Cc=64,Lc=At([ge("numSignatures"),ge("padding"),Lr("signatureOffset"),Lr("signatureInstructionIndex"),Lr("publicKeyOffset"),Lr("publicKeyInstructionIndex"),Lr("messageDataOffset"),Lr("messageDataSize"),Lr("messageInstructionIndex")]);class ts{constructor(){}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:s,instructionIndex:i}=t;xe(e.length===Pc,`Public Key must be ${Pc} bytes but received ${e.length} bytes`),xe(s.length===Cc,`Signature must be ${Cc} bytes but received ${s.length} bytes`);const o=Lc.span,a=o+e.length,l=a+s.length,y=1,x=Ct.Buffer.alloc(l+r.length),E=i??65535;return Lc.encode({numSignatures:y,padding:0,signatureOffset:a,signatureInstructionIndex:E,publicKeyOffset:o,publicKeyInstructionIndex:E,messageDataOffset:l,messageDataSize:r.length,messageInstructionIndex:E},x),x.fill(e,o),x.fill(s,a),x.fill(r,l),new Ue({keys:[],programId:ts.programId,data:x})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:s}=t;xe(e.length===Mc,`Private key must be ${Mc} bytes but received ${e.length} bytes`);try{const i=Un.fromSecretKey(e),o=i.publicKey.toBytes(),a=Zs(r,i.secretKey);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:a,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}}ts.programId=new gt("Ed25519SigVerify111111111111111111111111111");const W0=(n,t)=>{const e=$i.sign(n,t);return[e.toCompactRawBytes(),e.recovery]};$i.utils.isValidPrivateKey;const D0=$i.getPublicKey,Uc=32,bo=20,Oc=64,$0=11,xo=At([ge("numSignatures"),Lr("signatureOffset"),ge("signatureInstructionIndex"),Lr("ethAddressOffset"),ge("ethAddressInstructionIndex"),Lr("messageDataOffset"),Lr("messageDataSize"),ge("messageInstructionIndex"),Ke(20,"ethAddress"),Ke(64,"signature"),ge("recoveryId")]);class Qn{constructor(){}static publicKeyToEthAddress(t){xe(t.length===Oc,`Public key must be ${Oc} bytes but received ${t.length} bytes`);try{return Ct.Buffer.from(Ya(te(t))).slice(-bo)}catch(e){throw new Error(`Error constructing Ethereum address: ${e}`)}}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:s,recoveryId:i,instructionIndex:o}=t;return Qn.createInstructionWithEthAddress({ethAddress:Qn.publicKeyToEthAddress(e),message:r,signature:s,recoveryId:i,instructionIndex:o})}static createInstructionWithEthAddress(t){const{ethAddress:e,message:r,signature:s,recoveryId:i,instructionIndex:o=0}=t;let a;typeof e=="string"?e.startsWith("0x")?a=Ct.Buffer.from(e.substr(2),"hex"):a=Ct.Buffer.from(e,"hex"):a=e,xe(a.length===bo,`Address must be ${bo} bytes but received ${a.length} bytes`);const l=1+$0,y=l,x=l+a.length,E=x+s.length+1,L=1,C=Ct.Buffer.alloc(xo.span+r.length);return xo.encode({numSignatures:L,signatureOffset:x,signatureInstructionIndex:o,ethAddressOffset:y,ethAddressInstructionIndex:o,messageDataOffset:E,messageDataSize:r.length,messageInstructionIndex:o,signature:te(s),ethAddress:te(a),recoveryId:i},C),C.fill(te(r),xo.span),new Ue({keys:[],programId:Qn.programId,data:C})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:s}=t;xe(e.length===Uc,`Private key must be ${Uc} bytes but received ${e.length} bytes`);try{const i=te(e),o=D0(i,!1).slice(1),a=Ct.Buffer.from(Ya(te(r))),[l,y]=W0(a,i);return this.createInstructionWithPublicKey({publicKey:o,message:r,signature:l,recoveryId:y,instructionIndex:s})}catch(i){throw new Error(`Error creating instruction; ${i}`)}}}Qn.programId=new gt("KeccakSecp256k11111111111111111111111111111");var Nc;const Fc=new gt("StakeConfig11111111111111111111111111111111");class zc{constructor(t,e){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=e}}class bi{constructor(t,e,r){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=t,this.epoch=e,this.custodian=r}}Nc=bi,bi.default=new Nc(0,0,gt.default);class q0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(ur))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a StakeInstruction");return s}static decodeInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e,lockup:r}=Ee(ur.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new zc(new gt(e.staker),new gt(e.withdrawer)),lockup:new bi(r.unixTimestamp,r.epoch,new gt(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),Ee(ur.Delegate,t.data),{stakePubkey:t.keys[0].pubkey,votePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[5].pubkey}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,stakeAuthorizationType:r}=Ee(ur.Authorize,t.data),s={stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new gt(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(s.custodianPubkey=t.keys[3].pubkey),s}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{newAuthorized:e,stakeAuthorizationType:r,authoritySeed:s,authorityOwner:i}=Ee(ur.AuthorizeWithSeed,t.data),o={stakePubkey:t.keys[0].pubkey,authorityBase:t.keys[1].pubkey,authoritySeed:s,authorityOwner:new gt(i),newAuthorizedPubkey:new gt(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(o.custodianPubkey=t.keys[3].pubkey),o}static decodeSplit(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=Ee(ur.Split,t.data);return{stakePubkey:t.keys[0].pubkey,splitStakePubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[2].pubkey,lamports:e}}static decodeMerge(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ee(ur.Merge,t.data),{stakePubkey:t.keys[0].pubkey,sourceStakePubKey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,5);const{lamports:e}=Ee(ur.Withdraw,t.data),r={stakePubkey:t.keys[0].pubkey,toPubkey:t.keys[1].pubkey,authorizedPubkey:t.keys[4].pubkey,lamports:e};return t.keys.length>5&&(r.custodianPubkey=t.keys[5].pubkey),r}static decodeDeactivate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),Ee(ur.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(es.programId))throw new Error("invalid instruction; programId is not StakeProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const ur=Object.freeze({Initialize:{index:0,layout:At([It("instruction"),Yl(),Zl()])},Authorize:{index:1,layout:At([It("instruction"),oe("newAuthorized"),It("stakeAuthorizationType")])},Delegate:{index:2,layout:At([It("instruction")])},Split:{index:3,layout:At([It("instruction"),Tr("lamports")])},Withdraw:{index:4,layout:At([It("instruction"),Tr("lamports")])},Deactivate:{index:5,layout:At([It("instruction")])},Merge:{index:7,layout:At([It("instruction")])},AuthorizeWithSeed:{index:8,layout:At([It("instruction"),oe("newAuthorized"),It("stakeAuthorizationType"),Rn("authoritySeed"),oe("authorityOwner")])}}),H0=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class es{constructor(){}static initialize(t){const{stakePubkey:e,authorized:r,lockup:s}=t,i=s||bi.default,o=ur.Initialize,a=fe(o,{authorized:{staker:te(r.staker.toBuffer()),withdrawer:te(r.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:te(i.custodian.toBuffer())}}),l={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Zn,isSigner:!1,isWritable:!1}],programId:this.programId,data:a};return new Ue(l)}static createAccountWithSeed(t){const e=new ye;e.add(cr.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:s,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:s,lockup:i}))}static createAccount(t){const e=new ye;e.add(cr.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:s,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:s,lockup:i}))}static delegate(t){const{stakePubkey:e,authorizedPubkey:r,votePubkey:s}=t,i=ur.Delegate,o=fe(i);return new ye().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!1},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:Gi,isSigner:!1,isWritable:!1},{pubkey:Fc,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static authorize(t){const{stakePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:s,stakeAuthorizationType:i,custodianPubkey:o}=t,a=ur.Authorize,l=fe(a,{newAuthorized:te(s.toBuffer()),stakeAuthorizationType:i.index}),y=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&y.push({pubkey:o,isSigner:!0,isWritable:!1}),new ye().add({keys:y,programId:this.programId,data:l})}static authorizeWithSeed(t){const{stakePubkey:e,authorityBase:r,authoritySeed:s,authorityOwner:i,newAuthorizedPubkey:o,stakeAuthorizationType:a,custodianPubkey:l}=t,y=ur.AuthorizeWithSeed,x=fe(y,{newAuthorized:te(o.toBuffer()),stakeAuthorizationType:a.index,authoritySeed:s,authorityOwner:te(i.toBuffer())}),E=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:Xr,isSigner:!1,isWritable:!1}];return l&&E.push({pubkey:l,isSigner:!0,isWritable:!1}),new ye().add({keys:E,programId:this.programId,data:x})}static splitInstruction(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:s,lamports:i}=t,o=ur.Split,a=fe(o,{lamports:i});return new Ue({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:a})}static split(t,e){const r=new ye;return r.add(cr.createAccount({fromPubkey:t.authorizedPubkey,newAccountPubkey:t.splitStakePubkey,lamports:e,space:this.space,programId:this.programId})),r.add(this.splitInstruction(t))}static splitWithSeed(t,e){const{stakePubkey:r,authorizedPubkey:s,splitStakePubkey:i,basePubkey:o,seed:a,lamports:l}=t,y=new ye;return y.add(cr.allocate({accountPubkey:i,basePubkey:o,seed:a,space:this.space,programId:this.programId})),e&&e>0&&y.add(cr.transfer({fromPubkey:t.authorizedPubkey,toPubkey:i,lamports:e})),y.add(this.splitInstruction({stakePubkey:r,authorizedPubkey:s,splitStakePubkey:i,lamports:l}))}static merge(t){const{stakePubkey:e,sourceStakePubKey:r,authorizedPubkey:s}=t,i=ur.Merge,o=fe(i);return new ye().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:Gi,isSigner:!1,isWritable:!1},{pubkey:s,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static withdraw(t){const{stakePubkey:e,authorizedPubkey:r,toPubkey:s,lamports:i,custodianPubkey:o}=t,a=ur.Withdraw,l=fe(a,{lamports:i}),y=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:Gi,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&y.push({pubkey:o,isSigner:!0,isWritable:!1}),new ye().add({keys:y,programId:this.programId,data:l})}static deactivate(t){const{stakePubkey:e,authorizedPubkey:r}=t,s=ur.Deactivate,i=fe(s);return new ye().add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}}es.programId=new gt("Stake11111111111111111111111111111111111111"),es.space=200;class Kc{constructor(t,e,r,s){this.nodePubkey=void 0,this.authorizedVoter=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.nodePubkey=t,this.authorizedVoter=e,this.authorizedWithdrawer=r,this.commission=s}}class V0{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const r=It("instruction").decode(t.data);let s;for(const[i,o]of Object.entries(tn))if(o.index==r){s=i;break}if(!s)throw new Error("Instruction type incorrect; not a VoteInstruction");return s}static decodeInitializeAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,4);const{voteInit:e}=Ee(tn.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new Kc(new gt(e.nodePubkey),new gt(e.authorizedVoter),new gt(e.authorizedWithdrawer),e.commission)}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,voteAuthorizationType:r}=Ee(tn.Authorize,t.data);return{votePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new gt(e),voteAuthorizationType:{index:r}}}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:e,currentAuthorityDerivedKeySeed:r,newAuthorized:s,voteAuthorizationType:i}}=Ee(tn.AuthorizeWithSeed,t.data);return{currentAuthorityDerivedKeyBasePubkey:t.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new gt(e),currentAuthorityDerivedKeySeed:r,newAuthorizedPubkey:new gt(s),voteAuthorizationType:{index:i},votePubkey:t.keys[0].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=Ee(tn.Withdraw,t.data);return{votePubkey:t.keys[0].pubkey,authorizedWithdrawerPubkey:t.keys[2].pubkey,lamports:e,toPubkey:t.keys[1].pubkey}}static checkProgramId(t){if(!t.equals(ti.programId))throw new Error("invalid instruction; programId is not VoteProgram")}static checkKeyLength(t,e){if(t.length<e)throw new Error(`invalid instruction; found ${t.length} keys, expected at least ${e}`)}}const tn=Object.freeze({InitializeAccount:{index:0,layout:At([It("instruction"),Jl()])},Authorize:{index:1,layout:At([It("instruction"),oe("newAuthorized"),It("voteAuthorizationType")])},Withdraw:{index:3,layout:At([It("instruction"),Tr("lamports")])},UpdateValidatorIdentity:{index:4,layout:At([It("instruction")])},AuthorizeWithSeed:{index:10,layout:At([It("instruction"),Xl()])}}),j0=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class ti{constructor(){}static initializeAccount(t){const{votePubkey:e,nodePubkey:r,voteInit:s}=t,i=tn.InitializeAccount,o=fe(i,{voteInit:{nodePubkey:te(s.nodePubkey.toBuffer()),authorizedVoter:te(s.authorizedVoter.toBuffer()),authorizedWithdrawer:te(s.authorizedWithdrawer.toBuffer()),commission:s.commission}}),a={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Zn,isSigner:!1,isWritable:!1},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o};return new Ue(a)}static createAccount(t){const e=new ye;return e.add(cr.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.votePubkey,lamports:t.lamports,space:this.space,programId:this.programId})),e.add(this.initializeAccount({votePubkey:t.votePubkey,nodePubkey:t.voteInit.nodePubkey,voteInit:t.voteInit}))}static authorize(t){const{votePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:s,voteAuthorizationType:i}=t,o=tn.Authorize,a=fe(o,{newAuthorized:te(s.toBuffer()),voteAuthorizationType:i.index}),l=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new ye().add({keys:l,programId:this.programId,data:a})}static authorizeWithSeed(t){const{currentAuthorityDerivedKeyBasePubkey:e,currentAuthorityDerivedKeyOwnerPubkey:r,currentAuthorityDerivedKeySeed:s,newAuthorizedPubkey:i,voteAuthorizationType:o,votePubkey:a}=t,l=tn.AuthorizeWithSeed,y=fe(l,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:te(r.toBuffer()),currentAuthorityDerivedKeySeed:s,newAuthorized:te(i.toBuffer()),voteAuthorizationType:o.index}}),x=[{pubkey:a,isSigner:!1,isWritable:!0},{pubkey:Xr,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1}];return new ye().add({keys:x,programId:this.programId,data:y})}static withdraw(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,lamports:s,toPubkey:i}=t,o=tn.Withdraw,a=fe(o,{lamports:s}),l=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return new ye().add({keys:l,programId:this.programId,data:a})}static safeWithdraw(t,e,r){if(t.lamports>e-r)throw new Error("Withdraw will leave vote account with insufficient funds.");return ti.withdraw(t)}static updateValidatorIdentity(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,nodePubkey:s}=t,i=tn.UpdateValidatorIdentity,o=fe(i),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:s,isSigner:!0,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return new ye().add({keys:a,programId:this.programId,data:o})}}ti.programId=new gt("Vote111111111111111111111111111111111111111"),ti.space=3762;const Wc=new gt("Va1idator1nfo111111111111111111111111111111"),G0=at({name:dt(),website:Ot(dt()),details:Ot(dt()),iconUrl:Ot(dt()),keybaseUsername:Ot(dt())});class vo{constructor(t,e){this.key=void 0,this.info=void 0,this.key=t,this.info=e}static fromConfigData(t){let e=[...t];if(_r(e)!==2)return null;const s=[];for(let i=0;i<2;i++){const o=new gt(Ir(e,0,Zr)),a=Jr(e)===1;s.push({publicKey:o,isSigner:a})}if(s[0].publicKey.equals(Wc)&&s[1].isSigner){const i=Rn().decode(Ct.Buffer.from(e)),o=JSON.parse(i);return Ca(o,G0),new vo(s[1].publicKey,o)}return null}}const Y0=new gt("Vote111111111111111111111111111111111111111"),Z0=At([oe("nodePubkey"),oe("authorizedWithdrawer"),ge("commission"),hr(),dr(At([hr("slot"),It("confirmationCount")]),pn(It(),-8),"votes"),ge("rootSlotValid"),hr("rootSlot"),hr(),dr(At([hr("epoch"),oe("authorizedVoter")]),pn(It(),-8),"authorizedVoters"),At([dr(At([oe("authorizedPubkey"),hr("epochOfLastAuthorizedSwitch"),hr("targetEpoch")]),32,"buf"),hr("idx"),ge("isEmpty")],"priorVoters"),hr(),dr(At([hr("epoch"),hr("credits"),hr("prevCredits")]),pn(It(),-8),"epochCredits"),At([hr("slot"),hr("timestamp")],"lastTimestamp")]);class ko{constructor(t){this.nodePubkey=void 0,this.authorizedWithdrawer=void 0,this.commission=void 0,this.rootSlot=void 0,this.votes=void 0,this.authorizedVoters=void 0,this.priorVoters=void 0,this.epochCredits=void 0,this.lastTimestamp=void 0,this.nodePubkey=t.nodePubkey,this.authorizedWithdrawer=t.authorizedWithdrawer,this.commission=t.commission,this.rootSlot=t.rootSlot,this.votes=t.votes,this.authorizedVoters=t.authorizedVoters,this.priorVoters=t.priorVoters,this.epochCredits=t.epochCredits,this.lastTimestamp=t.lastTimestamp}static fromAccountData(t){const r=Z0.decode(te(t),4);let s=r.rootSlot;return r.rootSlotValid||(s=null),new ko({nodePubkey:new gt(r.nodePubkey),authorizedWithdrawer:new gt(r.authorizedWithdrawer),commission:r.commission,votes:r.votes,rootSlot:s,authorizedVoters:r.authorizedVoters.map(J0),priorVoters:X0(r.priorVoters),epochCredits:r.epochCredits,lastTimestamp:r.lastTimestamp})}}function J0({authorizedVoter:n,epoch:t}){return{epoch:t,authorizedVoter:new gt(n)}}function Dc({authorizedPubkey:n,epochOfLastAuthorizedSwitch:t,targetEpoch:e}){return{authorizedPubkey:new gt(n),epochOfLastAuthorizedSwitch:t,targetEpoch:e}}function X0({buf:n,idx:t,isEmpty:e}){return e?[]:[...n.slice(t+1).map(Dc),...n.slice(0,t).map(Dc)]}const $c={http:{devnet:"http://api.devnet.solana.com",testnet:"http://api.testnet.solana.com","mainnet-beta":"http://api.mainnet-beta.solana.com/"},https:{devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com","mainnet-beta":"https://api.mainnet-beta.solana.com/"}};function Q0(n,t){const e=t===!1?"http":"https";if(!n)return $c[e].devnet;const r=$c[e][n];if(!r)throw new Error(`Unknown ${e} cluster: ${n}`);return r}async function td(n,t,e,r){let s,i;e&&Object.prototype.hasOwnProperty.call(e,"lastValidBlockHeight")||e&&Object.prototype.hasOwnProperty.call(e,"nonceValue")?(s=e,i=r):i=e;const o=i&&{skipPreflight:i.skipPreflight,preflightCommitment:i.preflightCommitment||i.commitment,minContextSlot:i.minContextSlot},a=await n.sendRawTransaction(t,o),l=i&&i.commitment,x=(await(s?n.confirmTransaction(s,l):n.confirmTransaction(a,l))).value;if(x.err)throw a!=null?new yi({action:o!=null&&o.skipPreflight?"send":"simulate",signature:a,transactionMessage:`Status: (${JSON.stringify(x)})`}):new Error(`Raw transaction ${a} failed (${JSON.stringify(x)})`);return a}const rs=Object.freeze(Object.defineProperty({__proto__:null,Account:Vl,AddressLookupTableAccount:ao,AddressLookupTableInstruction:z0,AddressLookupTableProgram:mo,Authorized:zc,BLOCKHASH_CACHE_TIMEOUT_MS:mc,BPF_LOADER_DEPRECATED_PROGRAM_ID:jl,BPF_LOADER_PROGRAM_ID:uh,BpfLoader:fh,COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:Qr,ComputeBudgetInstruction:K0,ComputeBudgetProgram:wo,Connection:F0,Ed25519Program:ts,Enum:ql,EpochSchedule:pc,FeeCalculatorLayout:fc,Keypair:Un,LAMPORTS_PER_SOL:1e9,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:an,Loader:Pn,Lockup:bi,MAX_SEED_LENGTH:sc,Message:Wr,MessageAccountKeys:gi,MessageV0:Tn,NONCE_ACCOUNT_LENGTH:io,NonceAccount:Yi,PACKET_DATA_SIZE:yn,PUBLIC_KEY_LENGTH:Zr,PublicKey:gt,SIGNATURE_LENGTH_IN_BYTES:pi,SOLANA_SCHEMA:di,STAKE_CONFIG_ID:Fc,STAKE_INSTRUCTION_LAYOUTS:ur,SYSTEM_INSTRUCTION_LAYOUTS:Ne,SYSVAR_CLOCK_PUBKEY:Xr,SYSVAR_EPOCH_SCHEDULE_PUBKEY:th,SYSVAR_INSTRUCTIONS_PUBKEY:eh,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:ji,SYSVAR_RENT_PUBKEY:Zn,SYSVAR_REWARDS_PUBKEY:rh,SYSVAR_SLOT_HASHES_PUBKEY:nh,SYSVAR_SLOT_HISTORY_PUBKEY:ih,SYSVAR_STAKE_HISTORY_PUBKEY:Gi,Secp256k1Program:Qn,SendTransactionError:yi,SolanaJSONRPCError:Rt,SolanaJSONRPCErrorCode:sh,StakeAuthorizationLayout:H0,StakeInstruction:q0,StakeProgram:es,Struct:Js,SystemInstruction:ah,SystemProgram:cr,Transaction:ye,TransactionExpiredBlockheightExceededError:Xs,TransactionExpiredNonceInvalidError:Yn,TransactionExpiredTimeoutError:Qs,TransactionInstruction:Ue,TransactionMessage:eo,TransactionStatus:on,VALIDATOR_INFO_KEY:Wc,VERSION_PREFIX_MASK:Hi,VOTE_PROGRAM_ID:Y0,ValidatorInfo:vo,VersionedMessage:to,VersionedTransaction:ro,VoteAccount:ko,VoteAuthorizationLayout:j0,VoteInit:Kc,VoteInstruction:V0,VoteProgram:ti,clusterApiUrl:Q0,sendAndConfirmRawTransaction:td,sendAndConfirmTransaction:no},Symbol.toStringTag,{value:"Module"})),Dr=ar;var So={exports:{}};So.exports,function(n){var t=function(){var e=String.fromCharCode,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",i={};function o(l,y){if(!i[l]){i[l]={};for(var x=0;x<l.length;x++)i[l][l.charAt(x)]=x}return i[l][y]}var a={compressToBase64:function(l){if(l==null)return"";var y=a._compress(l,6,function(x){return r.charAt(x)});switch(y.length%4){default:case 0:return y;case 1:return y+"===";case 2:return y+"==";case 3:return y+"="}},decompressFromBase64:function(l){return l==null?"":l==""?null:a._decompress(l.length,32,function(y){return o(r,l.charAt(y))})},compressToUTF16:function(l){return l==null?"":a._compress(l,15,function(y){return e(y+32)})+" "},decompressFromUTF16:function(l){return l==null?"":l==""?null:a._decompress(l.length,16384,function(y){return l.charCodeAt(y)-32})},compressToUint8Array:function(l){for(var y=a.compress(l),x=new Uint8Array(y.length*2),E=0,L=y.length;E<L;E++){var C=y.charCodeAt(E);x[E*2]=C>>>8,x[E*2+1]=C%256}return x},decompressFromUint8Array:function(l){if(l==null)return a.decompress(l);for(var y=new Array(l.length/2),x=0,E=y.length;x<E;x++)y[x]=l[x*2]*256+l[x*2+1];var L=[];return y.forEach(function(C){L.push(e(C))}),a.decompress(L.join(""))},compressToEncodedURIComponent:function(l){return l==null?"":a._compress(l,6,function(y){return s.charAt(y)})},decompressFromEncodedURIComponent:function(l){return l==null?"":l==""?null:(l=l.replace(/ /g,"+"),a._decompress(l.length,32,function(y){return o(s,l.charAt(y))}))},compress:function(l){return a._compress(l,16,function(y){return e(y)})},_compress:function(l,y,x){if(l==null)return"";var E,L,C={},N={},M="",O="",K="",Q=2,V=3,st=2,J=[],D=0,tt=0,nt;for(nt=0;nt<l.length;nt+=1)if(M=l.charAt(nt),Object.prototype.hasOwnProperty.call(C,M)||(C[M]=V++,N[M]=!0),O=K+M,Object.prototype.hasOwnProperty.call(C,O))K=O;else{if(Object.prototype.hasOwnProperty.call(N,K)){if(K.charCodeAt(0)<256){for(E=0;E<st;E++)D=D<<1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++;for(L=K.charCodeAt(0),E=0;E<8;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}else{for(L=1,E=0;E<st;E++)D=D<<1|L,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=0;for(L=K.charCodeAt(0),E=0;E<16;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}Q--,Q==0&&(Q=Math.pow(2,st),st++),delete N[K]}else for(L=C[K],E=0;E<st;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1;Q--,Q==0&&(Q=Math.pow(2,st),st++),C[O]=V++,K=String(M)}if(K!==""){if(Object.prototype.hasOwnProperty.call(N,K)){if(K.charCodeAt(0)<256){for(E=0;E<st;E++)D=D<<1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++;for(L=K.charCodeAt(0),E=0;E<8;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}else{for(L=1,E=0;E<st;E++)D=D<<1|L,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=0;for(L=K.charCodeAt(0),E=0;E<16;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1}Q--,Q==0&&(Q=Math.pow(2,st),st++),delete N[K]}else for(L=C[K],E=0;E<st;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1;Q--,Q==0&&(Q=Math.pow(2,st),st++)}for(L=2,E=0;E<st;E++)D=D<<1|L&1,tt==y-1?(tt=0,J.push(x(D)),D=0):tt++,L=L>>1;for(;;)if(D=D<<1,tt==y-1){J.push(x(D));break}else tt++;return J.join("")},decompress:function(l){return l==null?"":l==""?null:a._decompress(l.length,32768,function(y){return l.charCodeAt(y)})},_decompress:function(l,y,x){var E=[],L=4,C=4,N=3,M="",O=[],K,Q,V,st,J,D,tt,nt={val:x(0),position:y,index:1};for(K=0;K<3;K+=1)E[K]=K;for(V=0,J=Math.pow(2,2),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;switch(V){case 0:for(V=0,J=Math.pow(2,8),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;tt=e(V);break;case 1:for(V=0,J=Math.pow(2,16),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;tt=e(V);break;case 2:return""}for(E[3]=tt,Q=tt,O.push(tt);;){if(nt.index>l)return"";for(V=0,J=Math.pow(2,N),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;switch(tt=V){case 0:for(V=0,J=Math.pow(2,8),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;E[C++]=e(V),tt=C-1,L--;break;case 1:for(V=0,J=Math.pow(2,16),D=1;D!=J;)st=nt.val&nt.position,nt.position>>=1,nt.position==0&&(nt.position=y,nt.val=x(nt.index++)),V|=(st>0?1:0)*D,D<<=1;E[C++]=e(V),tt=C-1,L--;break;case 2:return O.join("")}if(L==0&&(L=Math.pow(2,N),N++),E[tt])M=E[tt];else if(tt===C)M=Q+Q.charAt(0);else return null;O.push(M),E[C++]=Q+M.charAt(0),L--,Q=M,L==0&&(L=Math.pow(2,N),N++)}}};return a}();n!=null?n.exports=t:typeof angular<"u"&&angular!=null&&angular.module("LZString",[]).factory("LZString",function(){return t})}(So);var ed=So.exports;const $r=ni(ed);function rd(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var qc={exports:{}};(function(n){(function(t){var e=function(g){var b,v=new Float64Array(16);if(g)for(b=0;b<g.length;b++)v[b]=g[b];return v},r=function(){throw new Error("no PRNG")},s=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var o=e(),a=e([1]),l=e([56129,1]),y=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),x=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),E=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),L=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),C=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function N(g,b,v,c){g[b]=v>>24&255,g[b+1]=v>>16&255,g[b+2]=v>>8&255,g[b+3]=v&255,g[b+4]=c>>24&255,g[b+5]=c>>16&255,g[b+6]=c>>8&255,g[b+7]=c&255}function M(g,b,v,c,S){var W,z=0;for(W=0;W<S;W++)z|=g[b+W]^v[c+W];return(1&z-1>>>8)-1}function O(g,b,v,c){return M(g,b,v,c,16)}function K(g,b,v,c){return M(g,b,v,c,32)}function Q(g,b,v,c){for(var S=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,W=v[0]&255|(v[1]&255)<<8|(v[2]&255)<<16|(v[3]&255)<<24,z=v[4]&255|(v[5]&255)<<8|(v[6]&255)<<16|(v[7]&255)<<24,X=v[8]&255|(v[9]&255)<<8|(v[10]&255)<<16|(v[11]&255)<<24,lt=v[12]&255|(v[13]&255)<<8|(v[14]&255)<<16|(v[15]&255)<<24,pt=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,ht=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,ae=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,vt=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,Ft=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,Kt=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,Vt=v[16]&255|(v[17]&255)<<8|(v[18]&255)<<16|(v[19]&255)<<24,qt=v[20]&255|(v[21]&255)<<8|(v[22]&255)<<16|(v[23]&255)<<24,Wt=v[24]&255|(v[25]&255)<<8|(v[26]&255)<<16|(v[27]&255)<<24,$t=v[28]&255|(v[29]&255)<<8|(v[30]&255)<<16|(v[31]&255)<<24,Dt=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24,St=S,Bt=W,xt=z,Et=X,_t=lt,mt=pt,j=ht,G=ae,ot=vt,rt=Ft,it=Kt,ut=Vt,Ut=qt,Zt=Wt,Xt=$t,Jt=Dt,P,ie=0;ie<20;ie+=2)P=St+Ut|0,_t^=P<<7|P>>>25,P=_t+St|0,ot^=P<<9|P>>>23,P=ot+_t|0,Ut^=P<<13|P>>>19,P=Ut+ot|0,St^=P<<18|P>>>14,P=mt+Bt|0,rt^=P<<7|P>>>25,P=rt+mt|0,Zt^=P<<9|P>>>23,P=Zt+rt|0,Bt^=P<<13|P>>>19,P=Bt+Zt|0,mt^=P<<18|P>>>14,P=it+j|0,Xt^=P<<7|P>>>25,P=Xt+it|0,xt^=P<<9|P>>>23,P=xt+Xt|0,j^=P<<13|P>>>19,P=j+xt|0,it^=P<<18|P>>>14,P=Jt+ut|0,Et^=P<<7|P>>>25,P=Et+Jt|0,G^=P<<9|P>>>23,P=G+Et|0,ut^=P<<13|P>>>19,P=ut+G|0,Jt^=P<<18|P>>>14,P=St+Et|0,Bt^=P<<7|P>>>25,P=Bt+St|0,xt^=P<<9|P>>>23,P=xt+Bt|0,Et^=P<<13|P>>>19,P=Et+xt|0,St^=P<<18|P>>>14,P=mt+_t|0,j^=P<<7|P>>>25,P=j+mt|0,G^=P<<9|P>>>23,P=G+j|0,_t^=P<<13|P>>>19,P=_t+G|0,mt^=P<<18|P>>>14,P=it+rt|0,ut^=P<<7|P>>>25,P=ut+it|0,ot^=P<<9|P>>>23,P=ot+ut|0,rt^=P<<13|P>>>19,P=rt+ot|0,it^=P<<18|P>>>14,P=Jt+Xt|0,Ut^=P<<7|P>>>25,P=Ut+Jt|0,Zt^=P<<9|P>>>23,P=Zt+Ut|0,Xt^=P<<13|P>>>19,P=Xt+Zt|0,Jt^=P<<18|P>>>14;St=St+S|0,Bt=Bt+W|0,xt=xt+z|0,Et=Et+X|0,_t=_t+lt|0,mt=mt+pt|0,j=j+ht|0,G=G+ae|0,ot=ot+vt|0,rt=rt+Ft|0,it=it+Kt|0,ut=ut+Vt|0,Ut=Ut+qt|0,Zt=Zt+Wt|0,Xt=Xt+$t|0,Jt=Jt+Dt|0,g[0]=St>>>0&255,g[1]=St>>>8&255,g[2]=St>>>16&255,g[3]=St>>>24&255,g[4]=Bt>>>0&255,g[5]=Bt>>>8&255,g[6]=Bt>>>16&255,g[7]=Bt>>>24&255,g[8]=xt>>>0&255,g[9]=xt>>>8&255,g[10]=xt>>>16&255,g[11]=xt>>>24&255,g[12]=Et>>>0&255,g[13]=Et>>>8&255,g[14]=Et>>>16&255,g[15]=Et>>>24&255,g[16]=_t>>>0&255,g[17]=_t>>>8&255,g[18]=_t>>>16&255,g[19]=_t>>>24&255,g[20]=mt>>>0&255,g[21]=mt>>>8&255,g[22]=mt>>>16&255,g[23]=mt>>>24&255,g[24]=j>>>0&255,g[25]=j>>>8&255,g[26]=j>>>16&255,g[27]=j>>>24&255,g[28]=G>>>0&255,g[29]=G>>>8&255,g[30]=G>>>16&255,g[31]=G>>>24&255,g[32]=ot>>>0&255,g[33]=ot>>>8&255,g[34]=ot>>>16&255,g[35]=ot>>>24&255,g[36]=rt>>>0&255,g[37]=rt>>>8&255,g[38]=rt>>>16&255,g[39]=rt>>>24&255,g[40]=it>>>0&255,g[41]=it>>>8&255,g[42]=it>>>16&255,g[43]=it>>>24&255,g[44]=ut>>>0&255,g[45]=ut>>>8&255,g[46]=ut>>>16&255,g[47]=ut>>>24&255,g[48]=Ut>>>0&255,g[49]=Ut>>>8&255,g[50]=Ut>>>16&255,g[51]=Ut>>>24&255,g[52]=Zt>>>0&255,g[53]=Zt>>>8&255,g[54]=Zt>>>16&255,g[55]=Zt>>>24&255,g[56]=Xt>>>0&255,g[57]=Xt>>>8&255,g[58]=Xt>>>16&255,g[59]=Xt>>>24&255,g[60]=Jt>>>0&255,g[61]=Jt>>>8&255,g[62]=Jt>>>16&255,g[63]=Jt>>>24&255}function V(g,b,v,c){for(var S=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,W=v[0]&255|(v[1]&255)<<8|(v[2]&255)<<16|(v[3]&255)<<24,z=v[4]&255|(v[5]&255)<<8|(v[6]&255)<<16|(v[7]&255)<<24,X=v[8]&255|(v[9]&255)<<8|(v[10]&255)<<16|(v[11]&255)<<24,lt=v[12]&255|(v[13]&255)<<8|(v[14]&255)<<16|(v[15]&255)<<24,pt=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,ht=b[0]&255|(b[1]&255)<<8|(b[2]&255)<<16|(b[3]&255)<<24,ae=b[4]&255|(b[5]&255)<<8|(b[6]&255)<<16|(b[7]&255)<<24,vt=b[8]&255|(b[9]&255)<<8|(b[10]&255)<<16|(b[11]&255)<<24,Ft=b[12]&255|(b[13]&255)<<8|(b[14]&255)<<16|(b[15]&255)<<24,Kt=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,Vt=v[16]&255|(v[17]&255)<<8|(v[18]&255)<<16|(v[19]&255)<<24,qt=v[20]&255|(v[21]&255)<<8|(v[22]&255)<<16|(v[23]&255)<<24,Wt=v[24]&255|(v[25]&255)<<8|(v[26]&255)<<16|(v[27]&255)<<24,$t=v[28]&255|(v[29]&255)<<8|(v[30]&255)<<16|(v[31]&255)<<24,Dt=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24,St=S,Bt=W,xt=z,Et=X,_t=lt,mt=pt,j=ht,G=ae,ot=vt,rt=Ft,it=Kt,ut=Vt,Ut=qt,Zt=Wt,Xt=$t,Jt=Dt,P,ie=0;ie<20;ie+=2)P=St+Ut|0,_t^=P<<7|P>>>25,P=_t+St|0,ot^=P<<9|P>>>23,P=ot+_t|0,Ut^=P<<13|P>>>19,P=Ut+ot|0,St^=P<<18|P>>>14,P=mt+Bt|0,rt^=P<<7|P>>>25,P=rt+mt|0,Zt^=P<<9|P>>>23,P=Zt+rt|0,Bt^=P<<13|P>>>19,P=Bt+Zt|0,mt^=P<<18|P>>>14,P=it+j|0,Xt^=P<<7|P>>>25,P=Xt+it|0,xt^=P<<9|P>>>23,P=xt+Xt|0,j^=P<<13|P>>>19,P=j+xt|0,it^=P<<18|P>>>14,P=Jt+ut|0,Et^=P<<7|P>>>25,P=Et+Jt|0,G^=P<<9|P>>>23,P=G+Et|0,ut^=P<<13|P>>>19,P=ut+G|0,Jt^=P<<18|P>>>14,P=St+Et|0,Bt^=P<<7|P>>>25,P=Bt+St|0,xt^=P<<9|P>>>23,P=xt+Bt|0,Et^=P<<13|P>>>19,P=Et+xt|0,St^=P<<18|P>>>14,P=mt+_t|0,j^=P<<7|P>>>25,P=j+mt|0,G^=P<<9|P>>>23,P=G+j|0,_t^=P<<13|P>>>19,P=_t+G|0,mt^=P<<18|P>>>14,P=it+rt|0,ut^=P<<7|P>>>25,P=ut+it|0,ot^=P<<9|P>>>23,P=ot+ut|0,rt^=P<<13|P>>>19,P=rt+ot|0,it^=P<<18|P>>>14,P=Jt+Xt|0,Ut^=P<<7|P>>>25,P=Ut+Jt|0,Zt^=P<<9|P>>>23,P=Zt+Ut|0,Xt^=P<<13|P>>>19,P=Xt+Zt|0,Jt^=P<<18|P>>>14;g[0]=St>>>0&255,g[1]=St>>>8&255,g[2]=St>>>16&255,g[3]=St>>>24&255,g[4]=mt>>>0&255,g[5]=mt>>>8&255,g[6]=mt>>>16&255,g[7]=mt>>>24&255,g[8]=it>>>0&255,g[9]=it>>>8&255,g[10]=it>>>16&255,g[11]=it>>>24&255,g[12]=Jt>>>0&255,g[13]=Jt>>>8&255,g[14]=Jt>>>16&255,g[15]=Jt>>>24&255,g[16]=j>>>0&255,g[17]=j>>>8&255,g[18]=j>>>16&255,g[19]=j>>>24&255,g[20]=G>>>0&255,g[21]=G>>>8&255,g[22]=G>>>16&255,g[23]=G>>>24&255,g[24]=ot>>>0&255,g[25]=ot>>>8&255,g[26]=ot>>>16&255,g[27]=ot>>>24&255,g[28]=rt>>>0&255,g[29]=rt>>>8&255,g[30]=rt>>>16&255,g[31]=rt>>>24&255}function st(g,b,v,c){Q(g,b,v,c)}function J(g,b,v,c){V(g,b,v,c)}var D=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function tt(g,b,v,c,S,W,z){var X=new Uint8Array(16),lt=new Uint8Array(64),pt,ht;for(ht=0;ht<16;ht++)X[ht]=0;for(ht=0;ht<8;ht++)X[ht]=W[ht];for(;S>=64;){for(st(lt,X,z,D),ht=0;ht<64;ht++)g[b+ht]=v[c+ht]^lt[ht];for(pt=1,ht=8;ht<16;ht++)pt=pt+(X[ht]&255)|0,X[ht]=pt&255,pt>>>=8;S-=64,b+=64,c+=64}if(S>0)for(st(lt,X,z,D),ht=0;ht<S;ht++)g[b+ht]=v[c+ht]^lt[ht];return 0}function nt(g,b,v,c,S){var W=new Uint8Array(16),z=new Uint8Array(64),X,lt;for(lt=0;lt<16;lt++)W[lt]=0;for(lt=0;lt<8;lt++)W[lt]=c[lt];for(;v>=64;){for(st(z,W,S,D),lt=0;lt<64;lt++)g[b+lt]=z[lt];for(X=1,lt=8;lt<16;lt++)X=X+(W[lt]&255)|0,W[lt]=X&255,X>>>=8;v-=64,b+=64}if(v>0)for(st(z,W,S,D),lt=0;lt<v;lt++)g[b+lt]=z[lt];return 0}function ue(g,b,v,c,S){var W=new Uint8Array(32);J(W,c,S,D);for(var z=new Uint8Array(8),X=0;X<8;X++)z[X]=c[X+16];return nt(g,b,v,z,W)}function jt(g,b,v,c,S,W,z){var X=new Uint8Array(32);J(X,W,z,D);for(var lt=new Uint8Array(8),pt=0;pt<8;pt++)lt[pt]=W[pt+16];return tt(g,b,v,c,S,lt,X)}var kt=function(g){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var b,v,c,S,W,z,X,lt;b=g[0]&255|(g[1]&255)<<8,this.r[0]=b&8191,v=g[2]&255|(g[3]&255)<<8,this.r[1]=(b>>>13|v<<3)&8191,c=g[4]&255|(g[5]&255)<<8,this.r[2]=(v>>>10|c<<6)&7939,S=g[6]&255|(g[7]&255)<<8,this.r[3]=(c>>>7|S<<9)&8191,W=g[8]&255|(g[9]&255)<<8,this.r[4]=(S>>>4|W<<12)&255,this.r[5]=W>>>1&8190,z=g[10]&255|(g[11]&255)<<8,this.r[6]=(W>>>14|z<<2)&8191,X=g[12]&255|(g[13]&255)<<8,this.r[7]=(z>>>11|X<<5)&8065,lt=g[14]&255|(g[15]&255)<<8,this.r[8]=(X>>>8|lt<<8)&8191,this.r[9]=lt>>>5&127,this.pad[0]=g[16]&255|(g[17]&255)<<8,this.pad[1]=g[18]&255|(g[19]&255)<<8,this.pad[2]=g[20]&255|(g[21]&255)<<8,this.pad[3]=g[22]&255|(g[23]&255)<<8,this.pad[4]=g[24]&255|(g[25]&255)<<8,this.pad[5]=g[26]&255|(g[27]&255)<<8,this.pad[6]=g[28]&255|(g[29]&255)<<8,this.pad[7]=g[30]&255|(g[31]&255)<<8};kt.prototype.blocks=function(g,b,v){for(var c=this.fin?0:2048,S,W,z,X,lt,pt,ht,ae,vt,Ft,Kt,Vt,qt,Wt,$t,Dt,St,Bt,xt,Et=this.h[0],_t=this.h[1],mt=this.h[2],j=this.h[3],G=this.h[4],ot=this.h[5],rt=this.h[6],it=this.h[7],ut=this.h[8],Ut=this.h[9],Zt=this.r[0],Xt=this.r[1],Jt=this.r[2],P=this.r[3],ie=this.r[4],me=this.r[5],we=this.r[6],ne=this.r[7],de=this.r[8],pe=this.r[9];v>=16;)S=g[b+0]&255|(g[b+1]&255)<<8,Et+=S&8191,W=g[b+2]&255|(g[b+3]&255)<<8,_t+=(S>>>13|W<<3)&8191,z=g[b+4]&255|(g[b+5]&255)<<8,mt+=(W>>>10|z<<6)&8191,X=g[b+6]&255|(g[b+7]&255)<<8,j+=(z>>>7|X<<9)&8191,lt=g[b+8]&255|(g[b+9]&255)<<8,G+=(X>>>4|lt<<12)&8191,ot+=lt>>>1&8191,pt=g[b+10]&255|(g[b+11]&255)<<8,rt+=(lt>>>14|pt<<2)&8191,ht=g[b+12]&255|(g[b+13]&255)<<8,it+=(pt>>>11|ht<<5)&8191,ae=g[b+14]&255|(g[b+15]&255)<<8,ut+=(ht>>>8|ae<<8)&8191,Ut+=ae>>>5|c,vt=0,Ft=vt,Ft+=Et*Zt,Ft+=_t*(5*pe),Ft+=mt*(5*de),Ft+=j*(5*ne),Ft+=G*(5*we),vt=Ft>>>13,Ft&=8191,Ft+=ot*(5*me),Ft+=rt*(5*ie),Ft+=it*(5*P),Ft+=ut*(5*Jt),Ft+=Ut*(5*Xt),vt+=Ft>>>13,Ft&=8191,Kt=vt,Kt+=Et*Xt,Kt+=_t*Zt,Kt+=mt*(5*pe),Kt+=j*(5*de),Kt+=G*(5*ne),vt=Kt>>>13,Kt&=8191,Kt+=ot*(5*we),Kt+=rt*(5*me),Kt+=it*(5*ie),Kt+=ut*(5*P),Kt+=Ut*(5*Jt),vt+=Kt>>>13,Kt&=8191,Vt=vt,Vt+=Et*Jt,Vt+=_t*Xt,Vt+=mt*Zt,Vt+=j*(5*pe),Vt+=G*(5*de),vt=Vt>>>13,Vt&=8191,Vt+=ot*(5*ne),Vt+=rt*(5*we),Vt+=it*(5*me),Vt+=ut*(5*ie),Vt+=Ut*(5*P),vt+=Vt>>>13,Vt&=8191,qt=vt,qt+=Et*P,qt+=_t*Jt,qt+=mt*Xt,qt+=j*Zt,qt+=G*(5*pe),vt=qt>>>13,qt&=8191,qt+=ot*(5*de),qt+=rt*(5*ne),qt+=it*(5*we),qt+=ut*(5*me),qt+=Ut*(5*ie),vt+=qt>>>13,qt&=8191,Wt=vt,Wt+=Et*ie,Wt+=_t*P,Wt+=mt*Jt,Wt+=j*Xt,Wt+=G*Zt,vt=Wt>>>13,Wt&=8191,Wt+=ot*(5*pe),Wt+=rt*(5*de),Wt+=it*(5*ne),Wt+=ut*(5*we),Wt+=Ut*(5*me),vt+=Wt>>>13,Wt&=8191,$t=vt,$t+=Et*me,$t+=_t*ie,$t+=mt*P,$t+=j*Jt,$t+=G*Xt,vt=$t>>>13,$t&=8191,$t+=ot*Zt,$t+=rt*(5*pe),$t+=it*(5*de),$t+=ut*(5*ne),$t+=Ut*(5*we),vt+=$t>>>13,$t&=8191,Dt=vt,Dt+=Et*we,Dt+=_t*me,Dt+=mt*ie,Dt+=j*P,Dt+=G*Jt,vt=Dt>>>13,Dt&=8191,Dt+=ot*Xt,Dt+=rt*Zt,Dt+=it*(5*pe),Dt+=ut*(5*de),Dt+=Ut*(5*ne),vt+=Dt>>>13,Dt&=8191,St=vt,St+=Et*ne,St+=_t*we,St+=mt*me,St+=j*ie,St+=G*P,vt=St>>>13,St&=8191,St+=ot*Jt,St+=rt*Xt,St+=it*Zt,St+=ut*(5*pe),St+=Ut*(5*de),vt+=St>>>13,St&=8191,Bt=vt,Bt+=Et*de,Bt+=_t*ne,Bt+=mt*we,Bt+=j*me,Bt+=G*ie,vt=Bt>>>13,Bt&=8191,Bt+=ot*P,Bt+=rt*Jt,Bt+=it*Xt,Bt+=ut*Zt,Bt+=Ut*(5*pe),vt+=Bt>>>13,Bt&=8191,xt=vt,xt+=Et*pe,xt+=_t*de,xt+=mt*ne,xt+=j*we,xt+=G*me,vt=xt>>>13,xt&=8191,xt+=ot*ie,xt+=rt*P,xt+=it*Jt,xt+=ut*Xt,xt+=Ut*Zt,vt+=xt>>>13,xt&=8191,vt=(vt<<2)+vt|0,vt=vt+Ft|0,Ft=vt&8191,vt=vt>>>13,Kt+=vt,Et=Ft,_t=Kt,mt=Vt,j=qt,G=Wt,ot=$t,rt=Dt,it=St,ut=Bt,Ut=xt,b+=16,v-=16;this.h[0]=Et,this.h[1]=_t,this.h[2]=mt,this.h[3]=j,this.h[4]=G,this.h[5]=ot,this.h[6]=rt,this.h[7]=it,this.h[8]=ut,this.h[9]=Ut},kt.prototype.finish=function(g,b){var v=new Uint16Array(10),c,S,W,z;if(this.leftover){for(z=this.leftover,this.buffer[z++]=1;z<16;z++)this.buffer[z]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(c=this.h[1]>>>13,this.h[1]&=8191,z=2;z<10;z++)this.h[z]+=c,c=this.h[z]>>>13,this.h[z]&=8191;for(this.h[0]+=c*5,c=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=c,c=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=c,v[0]=this.h[0]+5,c=v[0]>>>13,v[0]&=8191,z=1;z<10;z++)v[z]=this.h[z]+c,c=v[z]>>>13,v[z]&=8191;for(v[9]-=8192,S=(c^1)-1,z=0;z<10;z++)v[z]&=S;for(S=~S,z=0;z<10;z++)this.h[z]=this.h[z]&S|v[z];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,W=this.h[0]+this.pad[0],this.h[0]=W&65535,z=1;z<8;z++)W=(this.h[z]+this.pad[z]|0)+(W>>>16)|0,this.h[z]=W&65535;g[b+0]=this.h[0]>>>0&255,g[b+1]=this.h[0]>>>8&255,g[b+2]=this.h[1]>>>0&255,g[b+3]=this.h[1]>>>8&255,g[b+4]=this.h[2]>>>0&255,g[b+5]=this.h[2]>>>8&255,g[b+6]=this.h[3]>>>0&255,g[b+7]=this.h[3]>>>8&255,g[b+8]=this.h[4]>>>0&255,g[b+9]=this.h[4]>>>8&255,g[b+10]=this.h[5]>>>0&255,g[b+11]=this.h[5]>>>8&255,g[b+12]=this.h[6]>>>0&255,g[b+13]=this.h[6]>>>8&255,g[b+14]=this.h[7]>>>0&255,g[b+15]=this.h[7]>>>8&255},kt.prototype.update=function(g,b,v){var c,S;if(this.leftover){for(S=16-this.leftover,S>v&&(S=v),c=0;c<S;c++)this.buffer[this.leftover+c]=g[b+c];if(v-=S,b+=S,this.leftover+=S,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(v>=16&&(S=v-v%16,this.blocks(g,b,S),b+=S,v-=S),v){for(c=0;c<v;c++)this.buffer[this.leftover+c]=g[b+c];this.leftover+=v}};function ce(g,b,v,c,S,W){var z=new kt(W);return z.update(v,c,S),z.finish(g,b),0}function T(g,b,v,c,S,W){var z=new Uint8Array(16);return ce(z,0,v,c,S,W),O(g,b,z,0)}function u(g,b,v,c,S){var W;if(v<32)return-1;for(jt(g,0,b,0,v,c,S),ce(g,16,g,32,v-32,g),W=0;W<16;W++)g[W]=0;return 0}function p(g,b,v,c,S){var W,z=new Uint8Array(32);if(v<32||(ue(z,0,32,c,S),T(b,16,b,32,v-32,z)!==0))return-1;for(jt(g,0,b,0,v,c,S),W=0;W<32;W++)g[W]=0;return 0}function m(g,b){var v;for(v=0;v<16;v++)g[v]=b[v]|0}function R(g){var b,v,c=1;for(b=0;b<16;b++)v=g[b]+c+65535,c=Math.floor(v/65536),g[b]=v-c*65536;g[0]+=c-1+37*(c-1)}function _(g,b,v){for(var c,S=~(v-1),W=0;W<16;W++)c=S&(g[W]^b[W]),g[W]^=c,b[W]^=c}function I(g,b){var v,c,S,W=e(),z=e();for(v=0;v<16;v++)z[v]=b[v];for(R(z),R(z),R(z),c=0;c<2;c++){for(W[0]=z[0]-65517,v=1;v<15;v++)W[v]=z[v]-65535-(W[v-1]>>16&1),W[v-1]&=65535;W[15]=z[15]-32767-(W[14]>>16&1),S=W[15]>>16&1,W[14]&=65535,_(z,W,1-S)}for(v=0;v<16;v++)g[2*v]=z[v]&255,g[2*v+1]=z[v]>>8}function U(g,b){var v=new Uint8Array(32),c=new Uint8Array(32);return I(v,g),I(c,b),K(v,0,c,0)}function k(g){var b=new Uint8Array(32);return I(b,g),b[0]&1}function h(g,b){var v;for(v=0;v<16;v++)g[v]=b[2*v]+(b[2*v+1]<<8);g[15]&=32767}function A(g,b,v){for(var c=0;c<16;c++)g[c]=b[c]+v[c]}function Z(g,b,v){for(var c=0;c<16;c++)g[c]=b[c]-v[c]}function et(g,b,v){var c,S,W=0,z=0,X=0,lt=0,pt=0,ht=0,ae=0,vt=0,Ft=0,Kt=0,Vt=0,qt=0,Wt=0,$t=0,Dt=0,St=0,Bt=0,xt=0,Et=0,_t=0,mt=0,j=0,G=0,ot=0,rt=0,it=0,ut=0,Ut=0,Zt=0,Xt=0,Jt=0,P=v[0],ie=v[1],me=v[2],we=v[3],ne=v[4],de=v[5],pe=v[6],er=v[7],Pe=v[8],Xe=v[9],Qe=v[10],tr=v[11],sr=v[12],br=v[13],xr=v[14],vr=v[15];c=b[0],W+=c*P,z+=c*ie,X+=c*me,lt+=c*we,pt+=c*ne,ht+=c*de,ae+=c*pe,vt+=c*er,Ft+=c*Pe,Kt+=c*Xe,Vt+=c*Qe,qt+=c*tr,Wt+=c*sr,$t+=c*br,Dt+=c*xr,St+=c*vr,c=b[1],z+=c*P,X+=c*ie,lt+=c*me,pt+=c*we,ht+=c*ne,ae+=c*de,vt+=c*pe,Ft+=c*er,Kt+=c*Pe,Vt+=c*Xe,qt+=c*Qe,Wt+=c*tr,$t+=c*sr,Dt+=c*br,St+=c*xr,Bt+=c*vr,c=b[2],X+=c*P,lt+=c*ie,pt+=c*me,ht+=c*we,ae+=c*ne,vt+=c*de,Ft+=c*pe,Kt+=c*er,Vt+=c*Pe,qt+=c*Xe,Wt+=c*Qe,$t+=c*tr,Dt+=c*sr,St+=c*br,Bt+=c*xr,xt+=c*vr,c=b[3],lt+=c*P,pt+=c*ie,ht+=c*me,ae+=c*we,vt+=c*ne,Ft+=c*de,Kt+=c*pe,Vt+=c*er,qt+=c*Pe,Wt+=c*Xe,$t+=c*Qe,Dt+=c*tr,St+=c*sr,Bt+=c*br,xt+=c*xr,Et+=c*vr,c=b[4],pt+=c*P,ht+=c*ie,ae+=c*me,vt+=c*we,Ft+=c*ne,Kt+=c*de,Vt+=c*pe,qt+=c*er,Wt+=c*Pe,$t+=c*Xe,Dt+=c*Qe,St+=c*tr,Bt+=c*sr,xt+=c*br,Et+=c*xr,_t+=c*vr,c=b[5],ht+=c*P,ae+=c*ie,vt+=c*me,Ft+=c*we,Kt+=c*ne,Vt+=c*de,qt+=c*pe,Wt+=c*er,$t+=c*Pe,Dt+=c*Xe,St+=c*Qe,Bt+=c*tr,xt+=c*sr,Et+=c*br,_t+=c*xr,mt+=c*vr,c=b[6],ae+=c*P,vt+=c*ie,Ft+=c*me,Kt+=c*we,Vt+=c*ne,qt+=c*de,Wt+=c*pe,$t+=c*er,Dt+=c*Pe,St+=c*Xe,Bt+=c*Qe,xt+=c*tr,Et+=c*sr,_t+=c*br,mt+=c*xr,j+=c*vr,c=b[7],vt+=c*P,Ft+=c*ie,Kt+=c*me,Vt+=c*we,qt+=c*ne,Wt+=c*de,$t+=c*pe,Dt+=c*er,St+=c*Pe,Bt+=c*Xe,xt+=c*Qe,Et+=c*tr,_t+=c*sr,mt+=c*br,j+=c*xr,G+=c*vr,c=b[8],Ft+=c*P,Kt+=c*ie,Vt+=c*me,qt+=c*we,Wt+=c*ne,$t+=c*de,Dt+=c*pe,St+=c*er,Bt+=c*Pe,xt+=c*Xe,Et+=c*Qe,_t+=c*tr,mt+=c*sr,j+=c*br,G+=c*xr,ot+=c*vr,c=b[9],Kt+=c*P,Vt+=c*ie,qt+=c*me,Wt+=c*we,$t+=c*ne,Dt+=c*de,St+=c*pe,Bt+=c*er,xt+=c*Pe,Et+=c*Xe,_t+=c*Qe,mt+=c*tr,j+=c*sr,G+=c*br,ot+=c*xr,rt+=c*vr,c=b[10],Vt+=c*P,qt+=c*ie,Wt+=c*me,$t+=c*we,Dt+=c*ne,St+=c*de,Bt+=c*pe,xt+=c*er,Et+=c*Pe,_t+=c*Xe,mt+=c*Qe,j+=c*tr,G+=c*sr,ot+=c*br,rt+=c*xr,it+=c*vr,c=b[11],qt+=c*P,Wt+=c*ie,$t+=c*me,Dt+=c*we,St+=c*ne,Bt+=c*de,xt+=c*pe,Et+=c*er,_t+=c*Pe,mt+=c*Xe,j+=c*Qe,G+=c*tr,ot+=c*sr,rt+=c*br,it+=c*xr,ut+=c*vr,c=b[12],Wt+=c*P,$t+=c*ie,Dt+=c*me,St+=c*we,Bt+=c*ne,xt+=c*de,Et+=c*pe,_t+=c*er,mt+=c*Pe,j+=c*Xe,G+=c*Qe,ot+=c*tr,rt+=c*sr,it+=c*br,ut+=c*xr,Ut+=c*vr,c=b[13],$t+=c*P,Dt+=c*ie,St+=c*me,Bt+=c*we,xt+=c*ne,Et+=c*de,_t+=c*pe,mt+=c*er,j+=c*Pe,G+=c*Xe,ot+=c*Qe,rt+=c*tr,it+=c*sr,ut+=c*br,Ut+=c*xr,Zt+=c*vr,c=b[14],Dt+=c*P,St+=c*ie,Bt+=c*me,xt+=c*we,Et+=c*ne,_t+=c*de,mt+=c*pe,j+=c*er,G+=c*Pe,ot+=c*Xe,rt+=c*Qe,it+=c*tr,ut+=c*sr,Ut+=c*br,Zt+=c*xr,Xt+=c*vr,c=b[15],St+=c*P,Bt+=c*ie,xt+=c*me,Et+=c*we,_t+=c*ne,mt+=c*de,j+=c*pe,G+=c*er,ot+=c*Pe,rt+=c*Xe,it+=c*Qe,ut+=c*tr,Ut+=c*sr,Zt+=c*br,Xt+=c*xr,Jt+=c*vr,W+=38*Bt,z+=38*xt,X+=38*Et,lt+=38*_t,pt+=38*mt,ht+=38*j,ae+=38*G,vt+=38*ot,Ft+=38*rt,Kt+=38*it,Vt+=38*ut,qt+=38*Ut,Wt+=38*Zt,$t+=38*Xt,Dt+=38*Jt,S=1,c=W+S+65535,S=Math.floor(c/65536),W=c-S*65536,c=z+S+65535,S=Math.floor(c/65536),z=c-S*65536,c=X+S+65535,S=Math.floor(c/65536),X=c-S*65536,c=lt+S+65535,S=Math.floor(c/65536),lt=c-S*65536,c=pt+S+65535,S=Math.floor(c/65536),pt=c-S*65536,c=ht+S+65535,S=Math.floor(c/65536),ht=c-S*65536,c=ae+S+65535,S=Math.floor(c/65536),ae=c-S*65536,c=vt+S+65535,S=Math.floor(c/65536),vt=c-S*65536,c=Ft+S+65535,S=Math.floor(c/65536),Ft=c-S*65536,c=Kt+S+65535,S=Math.floor(c/65536),Kt=c-S*65536,c=Vt+S+65535,S=Math.floor(c/65536),Vt=c-S*65536,c=qt+S+65535,S=Math.floor(c/65536),qt=c-S*65536,c=Wt+S+65535,S=Math.floor(c/65536),Wt=c-S*65536,c=$t+S+65535,S=Math.floor(c/65536),$t=c-S*65536,c=Dt+S+65535,S=Math.floor(c/65536),Dt=c-S*65536,c=St+S+65535,S=Math.floor(c/65536),St=c-S*65536,W+=S-1+37*(S-1),S=1,c=W+S+65535,S=Math.floor(c/65536),W=c-S*65536,c=z+S+65535,S=Math.floor(c/65536),z=c-S*65536,c=X+S+65535,S=Math.floor(c/65536),X=c-S*65536,c=lt+S+65535,S=Math.floor(c/65536),lt=c-S*65536,c=pt+S+65535,S=Math.floor(c/65536),pt=c-S*65536,c=ht+S+65535,S=Math.floor(c/65536),ht=c-S*65536,c=ae+S+65535,S=Math.floor(c/65536),ae=c-S*65536,c=vt+S+65535,S=Math.floor(c/65536),vt=c-S*65536,c=Ft+S+65535,S=Math.floor(c/65536),Ft=c-S*65536,c=Kt+S+65535,S=Math.floor(c/65536),Kt=c-S*65536,c=Vt+S+65535,S=Math.floor(c/65536),Vt=c-S*65536,c=qt+S+65535,S=Math.floor(c/65536),qt=c-S*65536,c=Wt+S+65535,S=Math.floor(c/65536),Wt=c-S*65536,c=$t+S+65535,S=Math.floor(c/65536),$t=c-S*65536,c=Dt+S+65535,S=Math.floor(c/65536),Dt=c-S*65536,c=St+S+65535,S=Math.floor(c/65536),St=c-S*65536,W+=S-1+37*(S-1),g[0]=W,g[1]=z,g[2]=X,g[3]=lt,g[4]=pt,g[5]=ht,g[6]=ae,g[7]=vt,g[8]=Ft,g[9]=Kt,g[10]=Vt,g[11]=qt,g[12]=Wt,g[13]=$t,g[14]=Dt,g[15]=St}function ct(g,b){et(g,b,b)}function Mt(g,b){var v=e(),c;for(c=0;c<16;c++)v[c]=b[c];for(c=253;c>=0;c--)ct(v,v),c!==2&&c!==4&&et(v,v,b);for(c=0;c<16;c++)g[c]=v[c]}function Tt(g,b){var v=e(),c;for(c=0;c<16;c++)v[c]=b[c];for(c=250;c>=0;c--)ct(v,v),c!==1&&et(v,v,b);for(c=0;c<16;c++)g[c]=v[c]}function Pt(g,b,v){var c=new Uint8Array(32),S=new Float64Array(80),W,z,X=e(),lt=e(),pt=e(),ht=e(),ae=e(),vt=e();for(z=0;z<31;z++)c[z]=b[z];for(c[31]=b[31]&127|64,c[0]&=248,h(S,v),z=0;z<16;z++)lt[z]=S[z],ht[z]=X[z]=pt[z]=0;for(X[0]=ht[0]=1,z=254;z>=0;--z)W=c[z>>>3]>>>(z&7)&1,_(X,lt,W),_(pt,ht,W),A(ae,X,pt),Z(X,X,pt),A(pt,lt,ht),Z(lt,lt,ht),ct(ht,ae),ct(vt,X),et(X,pt,X),et(pt,lt,ae),A(ae,X,pt),Z(X,X,pt),ct(lt,X),Z(pt,ht,vt),et(X,pt,l),A(X,X,ht),et(pt,pt,X),et(X,ht,vt),et(ht,lt,S),ct(lt,ae),_(X,lt,W),_(pt,ht,W);for(z=0;z<16;z++)S[z+16]=X[z],S[z+32]=pt[z],S[z+48]=lt[z],S[z+64]=ht[z];var Ft=S.subarray(32),Kt=S.subarray(16);return Mt(Ft,Ft),et(Kt,Kt,Ft),I(g,Kt),0}function Ce(g,b){return Pt(g,b,i)}function Yt(g,b){return r(b,32),Ce(g,b)}function Gt(g,b,v){var c=new Uint8Array(32);return Pt(c,v,b),J(g,s,c,D)}var le=u,re=p;function ve(g,b,v,c,S,W){var z=new Uint8Array(32);return Gt(z,S,W),le(g,b,v,c,z)}function Or(g,b,v,c,S,W){var z=new Uint8Array(32);return Gt(z,S,W),re(g,b,v,c,z)}var _e=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Oe(g,b,v,c){for(var S=new Int32Array(16),W=new Int32Array(16),z,X,lt,pt,ht,ae,vt,Ft,Kt,Vt,qt,Wt,$t,Dt,St,Bt,xt,Et,_t,mt,j,G,ot,rt,it,ut,Ut=g[0],Zt=g[1],Xt=g[2],Jt=g[3],P=g[4],ie=g[5],me=g[6],we=g[7],ne=b[0],de=b[1],pe=b[2],er=b[3],Pe=b[4],Xe=b[5],Qe=b[6],tr=b[7],sr=0;c>=128;){for(_t=0;_t<16;_t++)mt=8*_t+sr,S[_t]=v[mt+0]<<24|v[mt+1]<<16|v[mt+2]<<8|v[mt+3],W[_t]=v[mt+4]<<24|v[mt+5]<<16|v[mt+6]<<8|v[mt+7];for(_t=0;_t<80;_t++)if(z=Ut,X=Zt,lt=Xt,pt=Jt,ht=P,ae=ie,vt=me,Ft=we,Kt=ne,Vt=de,qt=pe,Wt=er,$t=Pe,Dt=Xe,St=Qe,Bt=tr,j=we,G=tr,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=(P>>>14|Pe<<18)^(P>>>18|Pe<<14)^(Pe>>>9|P<<23),G=(Pe>>>14|P<<18)^(Pe>>>18|P<<14)^(P>>>9|Pe<<23),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=P&ie^~P&me,G=Pe&Xe^~Pe&Qe,ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=_e[_t*2],G=_e[_t*2+1],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=S[_t%16],G=W[_t%16],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,xt=it&65535|ut<<16,Et=ot&65535|rt<<16,j=xt,G=Et,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=(Ut>>>28|ne<<4)^(ne>>>2|Ut<<30)^(ne>>>7|Ut<<25),G=(ne>>>28|Ut<<4)^(Ut>>>2|ne<<30)^(Ut>>>7|ne<<25),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,j=Ut&Zt^Ut&Xt^Zt&Xt,G=ne&de^ne&pe^de&pe,ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,Ft=it&65535|ut<<16,Bt=ot&65535|rt<<16,j=pt,G=Wt,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=xt,G=Et,ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,pt=it&65535|ut<<16,Wt=ot&65535|rt<<16,Zt=z,Xt=X,Jt=lt,P=pt,ie=ht,me=ae,we=vt,Ut=Ft,de=Kt,pe=Vt,er=qt,Pe=Wt,Xe=$t,Qe=Dt,tr=St,ne=Bt,_t%16===15)for(mt=0;mt<16;mt++)j=S[mt],G=W[mt],ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=S[(mt+9)%16],G=W[(mt+9)%16],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,xt=S[(mt+1)%16],Et=W[(mt+1)%16],j=(xt>>>1|Et<<31)^(xt>>>8|Et<<24)^xt>>>7,G=(Et>>>1|xt<<31)^(Et>>>8|xt<<24)^(Et>>>7|xt<<25),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,xt=S[(mt+14)%16],Et=W[(mt+14)%16],j=(xt>>>19|Et<<13)^(Et>>>29|xt<<3)^xt>>>6,G=(Et>>>19|xt<<13)^(xt>>>29|Et<<3)^(Et>>>6|xt<<26),ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,S[mt]=it&65535|ut<<16,W[mt]=ot&65535|rt<<16;j=Ut,G=ne,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[0],G=b[0],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[0]=Ut=it&65535|ut<<16,b[0]=ne=ot&65535|rt<<16,j=Zt,G=de,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[1],G=b[1],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[1]=Zt=it&65535|ut<<16,b[1]=de=ot&65535|rt<<16,j=Xt,G=pe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[2],G=b[2],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[2]=Xt=it&65535|ut<<16,b[2]=pe=ot&65535|rt<<16,j=Jt,G=er,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[3],G=b[3],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[3]=Jt=it&65535|ut<<16,b[3]=er=ot&65535|rt<<16,j=P,G=Pe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[4],G=b[4],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[4]=P=it&65535|ut<<16,b[4]=Pe=ot&65535|rt<<16,j=ie,G=Xe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[5],G=b[5],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[5]=ie=it&65535|ut<<16,b[5]=Xe=ot&65535|rt<<16,j=me,G=Qe,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[6],G=b[6],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[6]=me=it&65535|ut<<16,b[6]=Qe=ot&65535|rt<<16,j=we,G=tr,ot=G&65535,rt=G>>>16,it=j&65535,ut=j>>>16,j=g[7],G=b[7],ot+=G&65535,rt+=G>>>16,it+=j&65535,ut+=j>>>16,rt+=ot>>>16,it+=rt>>>16,ut+=it>>>16,g[7]=we=it&65535|ut<<16,b[7]=tr=ot&65535|rt<<16,sr+=128,c-=128}return c}function Ar(g,b,v){var c=new Int32Array(8),S=new Int32Array(8),W=new Uint8Array(256),z,X=v;for(c[0]=1779033703,c[1]=3144134277,c[2]=1013904242,c[3]=2773480762,c[4]=1359893119,c[5]=2600822924,c[6]=528734635,c[7]=1541459225,S[0]=4089235720,S[1]=2227873595,S[2]=4271175723,S[3]=1595750129,S[4]=2917565137,S[5]=725511199,S[6]=4215389547,S[7]=327033209,Oe(c,S,b,v),v%=128,z=0;z<v;z++)W[z]=b[X-v+z];for(W[v]=128,v=256-128*(v<112?1:0),W[v-9]=0,N(W,v-8,X/536870912|0,X<<3),Oe(c,S,W,v),z=0;z<8;z++)N(g,8*z,c[z],S[z]);return 0}function Ie(g,b){var v=e(),c=e(),S=e(),W=e(),z=e(),X=e(),lt=e(),pt=e(),ht=e();Z(v,g[1],g[0]),Z(ht,b[1],b[0]),et(v,v,ht),A(c,g[0],g[1]),A(ht,b[0],b[1]),et(c,c,ht),et(S,g[3],b[3]),et(S,S,x),et(W,g[2],b[2]),A(W,W,W),Z(z,c,v),Z(X,W,S),A(lt,W,S),A(pt,c,v),et(g[0],z,X),et(g[1],pt,lt),et(g[2],lt,X),et(g[3],z,pt)}function Ae(g,b,v){var c;for(c=0;c<4;c++)_(g[c],b[c],v)}function rr(g,b){var v=e(),c=e(),S=e();Mt(S,b[2]),et(v,b[0],S),et(c,b[1],S),I(g,c),g[31]^=k(v)<<7}function ke(g,b,v){var c,S;for(m(g[0],o),m(g[1],a),m(g[2],a),m(g[3],o),S=255;S>=0;--S)c=v[S/8|0]>>(S&7)&1,Ae(g,b,c),Ie(b,g),Ie(g,g),Ae(g,b,c)}function Se(g,b){var v=[e(),e(),e(),e()];m(v[0],E),m(v[1],L),m(v[2],a),et(v[3],E,L),ke(g,v,b)}function fr(g,b,v){var c=new Uint8Array(64),S=[e(),e(),e(),e()],W;for(v||r(b,32),Ar(c,b,32),c[0]&=248,c[31]&=127,c[31]|=64,Se(S,c),rr(g,S),W=0;W<32;W++)b[W+32]=g[W];return 0}var Be=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function w(g,b){var v,c,S,W;for(c=63;c>=32;--c){for(v=0,S=c-32,W=c-12;S<W;++S)b[S]+=v-16*b[c]*Be[S-(c-32)],v=Math.floor((b[S]+128)/256),b[S]-=v*256;b[S]+=v,b[c]=0}for(v=0,S=0;S<32;S++)b[S]+=v-(b[31]>>4)*Be[S],v=b[S]>>8,b[S]&=255;for(S=0;S<32;S++)b[S]-=v*Be[S];for(c=0;c<32;c++)b[c+1]+=b[c]>>8,g[c]=b[c]&255}function f(g){var b=new Float64Array(64),v;for(v=0;v<64;v++)b[v]=g[v];for(v=0;v<64;v++)g[v]=0;w(g,b)}function d(g,b,v,c){var S=new Uint8Array(64),W=new Uint8Array(64),z=new Uint8Array(64),X,lt,pt=new Float64Array(64),ht=[e(),e(),e(),e()];Ar(S,c,32),S[0]&=248,S[31]&=127,S[31]|=64;var ae=v+64;for(X=0;X<v;X++)g[64+X]=b[X];for(X=0;X<32;X++)g[32+X]=S[32+X];for(Ar(z,g.subarray(32),v+32),f(z),Se(ht,z),rr(g,ht),X=32;X<64;X++)g[X]=c[X];for(Ar(W,g,v+64),f(W),X=0;X<64;X++)pt[X]=0;for(X=0;X<32;X++)pt[X]=z[X];for(X=0;X<32;X++)for(lt=0;lt<32;lt++)pt[X+lt]+=W[X]*S[lt];return w(g.subarray(32),pt),ae}function B(g,b){var v=e(),c=e(),S=e(),W=e(),z=e(),X=e(),lt=e();return m(g[2],a),h(g[1],b),ct(S,g[1]),et(W,S,y),Z(S,S,g[2]),A(W,g[2],W),ct(z,W),ct(X,z),et(lt,X,z),et(v,lt,S),et(v,v,W),Tt(v,v),et(v,v,S),et(v,v,W),et(v,v,W),et(g[0],v,W),ct(c,g[0]),et(c,c,W),U(c,S)&&et(g[0],g[0],C),ct(c,g[0]),et(c,c,W),U(c,S)?-1:(k(g[0])===b[31]>>7&&Z(g[0],o,g[0]),et(g[3],g[0],g[1]),0)}function F(g,b,v,c){var S,W=new Uint8Array(32),z=new Uint8Array(64),X=[e(),e(),e(),e()],lt=[e(),e(),e(),e()];if(v<64||B(lt,c))return-1;for(S=0;S<v;S++)g[S]=b[S];for(S=0;S<32;S++)g[S+32]=c[S];if(Ar(z,g,v),f(z),ke(X,lt,z),Se(lt,b.subarray(32)),Ie(X,lt),rr(W,X),v-=64,K(b,0,W,0)){for(S=0;S<v;S++)g[S]=0;return-1}for(S=0;S<v;S++)g[S]=b[S+64];return v}var $=32,Y=24,Ht=32,zt=16,Nt=32,Re=32,Lt=32,ze=32,ri=32,je=Y,Ze=Ht,as=zt,Te=64,Le=32,cn=64,De=32,$e=64;t.lowlevel={crypto_core_hsalsa20:J,crypto_stream_xor:jt,crypto_stream:ue,crypto_stream_salsa20_xor:tt,crypto_stream_salsa20:nt,crypto_onetimeauth:ce,crypto_onetimeauth_verify:T,crypto_verify_16:O,crypto_verify_32:K,crypto_secretbox:u,crypto_secretbox_open:p,crypto_scalarmult:Pt,crypto_scalarmult_base:Ce,crypto_box_beforenm:Gt,crypto_box_afternm:le,crypto_box:ve,crypto_box_open:Or,crypto_box_keypair:Yt,crypto_hash:Ar,crypto_sign:d,crypto_sign_keypair:fr,crypto_sign_open:F,crypto_secretbox_KEYBYTES:$,crypto_secretbox_NONCEBYTES:Y,crypto_secretbox_ZEROBYTES:Ht,crypto_secretbox_BOXZEROBYTES:zt,crypto_scalarmult_BYTES:Nt,crypto_scalarmult_SCALARBYTES:Re,crypto_box_PUBLICKEYBYTES:Lt,crypto_box_SECRETKEYBYTES:ze,crypto_box_BEFORENMBYTES:ri,crypto_box_NONCEBYTES:je,crypto_box_ZEROBYTES:Ze,crypto_box_BOXZEROBYTES:as,crypto_sign_BYTES:Te,crypto_sign_PUBLICKEYBYTES:Le,crypto_sign_SECRETKEYBYTES:cn,crypto_sign_SEEDBYTES:De,crypto_hash_BYTES:$e,gf:e,D:y,L:Be,pack25519:I,unpack25519:h,M:et,A,S:ct,Z,pow2523:Tt,add:Ie,set25519:m,modL:w,scalarmult:ke,scalarbase:Se};function vi(g,b){if(g.length!==$)throw new Error("bad key size");if(b.length!==Y)throw new Error("bad nonce size")}function Je(g,b){if(g.length!==Lt)throw new Error("bad public key size");if(b.length!==ze)throw new Error("bad secret key size")}function he(){for(var g=0;g<arguments.length;g++)if(!(arguments[g]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function ki(g){for(var b=0;b<g.length;b++)g[b]=0}t.randomBytes=function(g){var b=new Uint8Array(g);return r(b,g),b},t.secretbox=function(g,b,v){he(g,b,v),vi(v,b);for(var c=new Uint8Array(Ht+g.length),S=new Uint8Array(c.length),W=0;W<g.length;W++)c[W+Ht]=g[W];return u(S,c,c.length,b,v),S.subarray(zt)},t.secretbox.open=function(g,b,v){he(g,b,v),vi(v,b);for(var c=new Uint8Array(zt+g.length),S=new Uint8Array(c.length),W=0;W<g.length;W++)c[W+zt]=g[W];return c.length<32||p(S,c,c.length,b,v)!==0?null:S.subarray(Ht)},t.secretbox.keyLength=$,t.secretbox.nonceLength=Y,t.secretbox.overheadLength=zt,t.scalarMult=function(g,b){if(he(g,b),g.length!==Re)throw new Error("bad n size");if(b.length!==Nt)throw new Error("bad p size");var v=new Uint8Array(Nt);return Pt(v,g,b),v},t.scalarMult.base=function(g){if(he(g),g.length!==Re)throw new Error("bad n size");var b=new Uint8Array(Nt);return Ce(b,g),b},t.scalarMult.scalarLength=Re,t.scalarMult.groupElementLength=Nt,t.box=function(g,b,v,c){var S=t.box.before(v,c);return t.secretbox(g,b,S)},t.box.before=function(g,b){he(g,b),Je(g,b);var v=new Uint8Array(ri);return Gt(v,g,b),v},t.box.after=t.secretbox,t.box.open=function(g,b,v,c){var S=t.box.before(v,c);return t.secretbox.open(g,b,S)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var g=new Uint8Array(Lt),b=new Uint8Array(ze);return Yt(g,b),{publicKey:g,secretKey:b}},t.box.keyPair.fromSecretKey=function(g){if(he(g),g.length!==ze)throw new Error("bad secret key size");var b=new Uint8Array(Lt);return Ce(b,g),{publicKey:b,secretKey:new Uint8Array(g)}},t.box.publicKeyLength=Lt,t.box.secretKeyLength=ze,t.box.sharedKeyLength=ri,t.box.nonceLength=je,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(g,b){if(he(g,b),b.length!==cn)throw new Error("bad secret key size");var v=new Uint8Array(Te+g.length);return d(v,g,g.length,b),v},t.sign.open=function(g,b){if(he(g,b),b.length!==Le)throw new Error("bad public key size");var v=new Uint8Array(g.length),c=F(v,g,g.length,b);if(c<0)return null;for(var S=new Uint8Array(c),W=0;W<S.length;W++)S[W]=v[W];return S},t.sign.detached=function(g,b){for(var v=t.sign(g,b),c=new Uint8Array(Te),S=0;S<c.length;S++)c[S]=v[S];return c},t.sign.detached.verify=function(g,b,v){if(he(g,b,v),b.length!==Te)throw new Error("bad signature size");if(v.length!==Le)throw new Error("bad public key size");var c=new Uint8Array(Te+g.length),S=new Uint8Array(Te+g.length),W;for(W=0;W<Te;W++)c[W]=b[W];for(W=0;W<g.length;W++)c[W+Te]=g[W];return F(S,c,c.length,v)>=0},t.sign.keyPair=function(){var g=new Uint8Array(Le),b=new Uint8Array(cn);return fr(g,b),{publicKey:g,secretKey:b}},t.sign.keyPair.fromSecretKey=function(g){if(he(g),g.length!==cn)throw new Error("bad secret key size");for(var b=new Uint8Array(Le),v=0;v<b.length;v++)b[v]=g[32+v];return{publicKey:b,secretKey:new Uint8Array(g)}},t.sign.keyPair.fromSeed=function(g){if(he(g),g.length!==De)throw new Error("bad seed size");for(var b=new Uint8Array(Le),v=new Uint8Array(cn),c=0;c<32;c++)v[c]=g[c];return fr(b,v,!0),{publicKey:b,secretKey:v}},t.sign.publicKeyLength=Le,t.sign.secretKeyLength=cn,t.sign.seedLength=De,t.sign.signatureLength=Te,t.hash=function(g){he(g);var b=new Uint8Array($e);return Ar(b,g,g.length),b},t.hash.hashLength=$e,t.verify=function(g,b){return he(g,b),g.length===0||b.length===0||g.length!==b.length?!1:M(g,0,b,0,g.length)===0},t.setPRNG=function(g){r=g},function(){var g=typeof self<"u"?self.crypto||self.msCrypto:null;if(g&&g.getRandomValues){var b=65536;t.setPRNG(function(v,c){var S,W=new Uint8Array(c);for(S=0;S<c;S+=b)g.getRandomValues(W.subarray(S,S+Math.min(c-S,b)));for(S=0;S<c;S++)v[S]=W[S];ki(W)})}else typeof rd<"u"&&(g=ra,g&&g.randomBytes&&t.setPRNG(function(v,c){var S,W=g.randomBytes(c);for(S=0;S<c;S++)v[S]=W[S];ki(W)}))}()})(n.exports?n.exports:self.nacl=self.nacl||{})})(qc);var nd=qc.exports;class en{constructor(t){nr(this,"env");nr(this,"url");this.env=t??"prod",this.env==="prod"?this.url="https://api.coinflow.cash":this.env==="local"?this.url="http://localhost:5000":this.url=`https://api-${this.env}.coinflow.cash`}async getNSurePartnerId(t){return fetch(this.url+`/merchant/view/${t}`).then(e=>e.json()).then(e=>{var r;return((r=e.nSureSettings)==null?void 0:r.nSurePartnerId)||e.nSurePartnerId}).catch(e=>{console.error(e)})}async getCreditBalance(t,e,r){const s=await fetch(this.url+`/api/customer/balances/${e}`,{method:"GET",headers:{"x-coinflow-auth-wallet":t,"x-coinflow-auth-blockchain":r}}),{credits:i}=await s.json();return i}static getCoinflowBaseUrl(t){return!t||t==="prod"?"https://coinflow.cash":t==="local"?"http://localhost:3000":`https://${t}.coinflow.cash`}static getCoinflowApiUrl(t){return!t||t==="prod"?"https://api.coinflow.cash":t==="local"?"http://localhost:5000":`https://api-${t}.coinflow.cash`}static getCoinflowUrl({walletPubkey:t,sessionKey:e,route:r,routePrefix:s,env:i,amount:o,transaction:a,blockchain:l="solana",webhookInfo:y,email:x,loaderBackground:E,handleHeightChange:L,bankAccountLinkRedirect:C,additionalWallets:N,nearDeposit:M,chargebackProtectionData:O,merchantCss:K,color:Q,rent:V,lockDefaultToken:st,token:J,tokens:D,planCode:tt,disableApplePay:nt,disableGooglePay:ue,customerInfo:jt,settlementType:kt,lockAmount:ce,nativeSolToConvert:T,theme:u,usePermit:p,transactionSigner:m,authOnly:R,deviceId:_,jwtToken:I,origins:U,threeDsChallengePreference:k,supportEmail:h}){var et;const A=s?`/${s}/${l}`:`/${l}`,Z=new URL(A+r,en.getCoinflowBaseUrl(i));if(t&&Z.searchParams.append("pubkey",t),e&&Z.searchParams.append("sessionKey",e),a&&Z.searchParams.append("transaction",a),o&&Z.searchParams.append("amount",o.toString()),y&&Z.searchParams.append("webhookInfo",$r.compressToEncodedURIComponent(JSON.stringify(y))),u&&Z.searchParams.append("theme",$r.compressToEncodedURIComponent(JSON.stringify(u))),jt&&Z.searchParams.append("customerInfo",$r.compressToEncodedURIComponent(JSON.stringify(jt))),x&&Z.searchParams.append("email",x),h&&Z.searchParams.append("supportEmail",h),J&&Z.searchParams.append("token",J.toString()),D&&Z.searchParams.append("tokens",D.toString()),E&&Z.searchParams.append("loaderBackground",E),L&&Z.searchParams.append("useHeightChange","true"),C&&Z.searchParams.append("bankAccountLinkRedirect",C),N&&Z.searchParams.append("additionalWallets",$r.compressToEncodedURIComponent(JSON.stringify(N))),M&&Z.searchParams.append("nearDeposit",M),O&&Z.searchParams.append("chargebackProtectionData",$r.compressToEncodedURIComponent(JSON.stringify(O))),_)Z.searchParams.append("deviceId",_);else if(typeof window<"u"){const ct=(et=window==null?void 0:window.nSureSDK)==null?void 0:et.getDeviceId();ct&&Z.searchParams.append("deviceId",ct)}return K&&Z.searchParams.append("merchantCss",K),Q&&Z.searchParams.append("color",Q),V&&Z.searchParams.append("rent",V.lamports.toString()),T&&Z.searchParams.append("nativeSolToConvert",T.lamports.toString()),st&&Z.searchParams.append("lockDefaultToken","true"),tt&&Z.searchParams.append("planCode",tt),nt&&Z.searchParams.append("disableApplePay","true"),ue&&Z.searchParams.append("disableGooglePay","true"),kt&&Z.searchParams.append("settlementType",kt),ce&&Z.searchParams.append("lockAmount","true"),p===!1&&Z.searchParams.append("usePermit","false"),m&&Z.searchParams.append("transactionSigner",m),R===!0&&Z.searchParams.append("authOnly","true"),I&&Z.searchParams.append("jwtToken",I),U&&Z.searchParams.append("origins",$r.compressToEncodedURIComponent(JSON.stringify(U))),k&&Z.searchParams.append("threeDsChallengePreference",k),Z.toString()}static getTransaction(t){if(t.blockchain)return this.byBlockchain(t.blockchain,{solana:()=>{if(!("transaction"in t))return;const{transaction:e}=t;if(!rs)throw new Error("@solana/web3.js dependency is required for Solana");if(!Dr)throw new Error("bs58 dependency is required for Solana");if(e)return Dr.encode(e.serialize({requireAllSignatures:!1,verifySignatures:!1}))},polygon:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},eth:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},base:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},arbitrum:()=>{if(!("transaction"in t))return;const{transaction:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},near:()=>{if(!("action"in t))return;const{action:e}=t;return $r.compressToEncodedURIComponent(JSON.stringify(e))},user:()=>{}})()}static byBlockchain(t,e){switch(t){case"solana":return e.solana;case"near":return e.near;case"polygon":return e.polygon;case"eth":return e.eth;case"base":return e.base;case"arbitrum":return e.arbitrum;case"user":return e.user;default:throw new Error("blockchain not supported!")}}static async getWalletFromUserId({userId:t,merchantId:e,env:r}){return this.getWalletFromEmail({email:t,merchantId:e,env:r})}static async getWalletFromEmail({email:t,merchantId:e,env:r}){const s=new TextEncoder().encode(t),o=await window.crypto.subtle.digest("SHA-256",s),a=new Uint8Array(o),l=Un.fromSeed(a);return{publicKey:l.publicKey,signMessage:y=>Promise.resolve(nd.sign.detached(y,l.secretKey)),signTransaction:async y=>y instanceof ye?(y.sign(l),y):(y.sign([l]),y),sendTransaction:async y=>{y instanceof ye?y.sign(l):y.sign([l]);const x=this.getCoinflowApiUrl(r),E={method:"POST",headers:{"content-type":"application/json","x-coinflow-auth-wallet":l.publicKey.toString(),"x-coinflow-auth-blockchain":"solana"},body:JSON.stringify({merchantId:e,signedTransaction:Dr==null?void 0:Dr.encode(y.serialize())})},{signature:L}=await fetch(x+"/api/utils/send-coinflow-tx",E).then(C=>C.json());return L}}}}var Hc=(n=>(n.SignMessage="signMessage",n.SignTransaction="signTransaction",n.SendTransaction="sendTransaction",n.HeightChange="heightChange",n.Success="success",n.Loaded="loaded",n))(Hc||{});function ns(n){let t;if("signer"in n&&typeof n.signer=="object"&&n.signer&&"wallet"in n.signer?t=n.signer.wallet:"wallet"in n&&n.wallet&&(t=n.wallet),!!t){if(typeof t=="string")return t;if(typeof t=="object"){if("publicKey"in t)return t.publicKey?t.publicKey.toString():void 0;if("address"in t)return t.address?t.address:void 0;if("accountId"in t)return t.accountId?t.accountId:void 0}return null}}function Vc(n,t){let e;try{if(e=JSON.parse(n),!("method"in e)||!("data"in e))return}catch(i){console.error("handleIFrameMessage JSON parse",i);return}const{data:r,method:s}=e;switch(s){case"signMessage":return t.handleSignMessage?t.handleSignMessage(r):void 0;case"signTransaction":return t.handleSignTransaction?t.handleSignTransaction(r):void 0;case"sendTransaction":return t.handleSendTransaction(r);case"heightChange":return t.handleHeightChange?t.handleHeightChange(r):void 0;case"success":if(!t.onSuccess)return;t.onSuccess(e.info);return;case"loaded":return}console.warn(`Didn't expect to get here, handleIFrameMessage method:${s} is not one of ${Object.values(Hc)}`)}function is(n){let t,e;return"signer"in n&&typeof n.signer=="object"&&n.signer&&"blockchain"in n.signer&&"wallet"in n.signer?(t=n.signer.blockchain,e=n.signer.wallet):"blockchain"in n&&n.blockchain&&(t=n.blockchain,e=n.wallet),t?en.byBlockchain(t,{solana:()=>id({wallet:e,onSuccess:n.onSuccess}),near:()=>sd({wallet:e,onSuccess:n.onSuccess}),eth:()=>ss({wallet:e,onSuccess:n.onSuccess}),polygon:()=>ss({wallet:e,onSuccess:n.onSuccess}),base:()=>ss({wallet:e,onSuccess:n.onSuccess}),arbitrum:()=>ss({wallet:e,onSuccess:n.onSuccess}),user:()=>od(n)})():{handleSendTransaction:()=>{throw new Error("handleSendTransaction Not Implemented")},handleSignMessage:()=>{throw new Error("handleSendTransaction Not Implemented")},handleSignTransaction:()=>{throw new Error("handleSendTransaction Not Implemented")},onSuccess:n.onSuccess}}function id({wallet:n,onSuccess:t}){return{handleSendTransaction:async e=>{const r=jc(e);return await n.sendTransaction(r)},handleSignMessage:async e=>{const r=n.signMessage;if(!r)throw new Error("signMessage is not supported by this wallet");const s=await r(new TextEncoder().encode(e));if(!Dr)throw new Error("bs58 dependency is required");return Dr.encode(s)},handleSignTransaction:async e=>{const r=n.signTransaction;if(!r)throw new Error("signTransaction is not supported by this wallet");const s=jc(e),i=await r(s);if(!Dr)throw new Error("bs58 dependency is required");return Dr.encode(i.serialize({requireAllSignatures:!1,verifySignatures:!1}))},onSuccess:t}}function jc(n){if(!rs)throw new Error("@solana/web3.js is not defined. Please install @solana/web3.js into your project");if(!Dr)throw new Error("bs58 is not defined. Please install bs58 into your project");const t=Dr.decode(n),e=rs.VersionedTransaction.deserialize(t);return e.version==="legacy"?rs.Transaction.from(t):e}function sd({wallet:n,onSuccess:t}){return{handleSendTransaction:async e=>{const r=JSON.parse(Buffer.from(e,"base64").toString()),s=await n.signAndSendTransaction(r);if(!s)throw new Error("Transaction did not send");const{transaction:i}=s;return i.hash},onSuccess:t}}function ss({wallet:n,onSuccess:t}){return{handleSendTransaction:async e=>{const r=JSON.parse(Buffer.from(e,"base64").toString()),{hash:s}=await n.sendTransaction(r);return s},handleSignMessage:async e=>n.signMessage(e),onSuccess:t}}function od({onSuccess:n}){return{handleSendTransaction:async()=>Promise.resolve(""),onSuccess:n}}const xi="tokenExCardNumber",ei="tokenExCardCvv",Gc={[On.VISA]:"visa",[On.MASTERCARD]:"masterCard",[On.AMEX]:"americanExpress",[On.DISCOVER]:"discover"};async function Yc({token:n,origins:t,env:e}){return new Promise((r,s)=>{fetch(new en(e).url+"/api/checkout/authentication-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({origins:[...t??[],window.location.origin],token:n})}).then(async i=>{r(await i.json())}).catch(i=>s(i))})}function Eo({env:n,setTokenExScriptLoaded:t}){const e="tokenex-script";if(document.head.querySelector(`#${e}`))return;const r=document.createElement("script");r.src=n==="prod"?"https://htp.tokenex.com/iframe/iframe-v3.min.js":"https://test-htp.tokenex.com/iframe/iframe-v3.min.js",r.id=e,document.head.appendChild(r),document.getElementById(e).addEventListener("load",()=>{console.log("Setting tokenExScriptLoaded to true!"),t(!0)})}function ad({iframe:n,setCachedToken:t,setLoaded:e}){const r=async()=>(n.tokenize(),await new Promise((s,i)=>{n.on("tokenize",o=>{t(o.token),s(o)}),n.on("validate",o=>{(!o.isValid||o.isCvvValid===!1)&&i(o)})}));return n.on("change",()=>t(void 0)),n.on("cvvChange",()=>t(void 0)),n.on("load",()=>{setTimeout(()=>e(!0),350);const s=document.querySelector("#tx_iframe_tokenExCardNumber");s&&(s.scrolling="no")}),n.on("focus",()=>{n.focus()}),n.on("cvvFocus",()=>{n.cvvFocus()}),e(!1),n.load(),{...n,tokenize:r}}async function Zc(n){const{token:t,cardType:e}=n;return await _o(ei,n,{cvvOnly:!0,cvv:!0,cvvContainerID:ei,placeholder:"CVV",token:t,cardType:Gc[e]})}async function Jc(n){return await _o(xi,n,{cvv:!0,cvvContainerID:ei,cvvPlaceholder:"CVV"})}async function Xc(n){return await _o(xi,n,{cvv:!1})}async function _o(n,{tokenExScriptLoaded:t,origins:e,env:r,css:s,debug:i,font:o,setCachedToken:a,setLoaded:l},y){if(!t&&typeof TokenEx>"u"){console.warn("Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#tokenex-script");return}const x=await Yc({token:y.token,origins:e,env:r}),{styles:E}=cd(s),L={...x,placeholder:"0000 0000 0000 0000",enablePrettyFormat:!0,styles:E,font:o,debug:i??!1,...y},C=TokenEx.Iframe(n,L);return ad({iframe:C,setCachedToken:a,setLoaded:l})}function cd(n){var r,s,i;const t=JSON.parse(n);return{styles:{base:mn(t.base),focus:mn(t.focus),error:mn(t.error),placeholder:mn(t.placeholder),cvv:{base:mn((r=t.cvv)==null?void 0:r.base),focus:mn((s=t.cvv)==null?void 0:s.focus),error:mn((i=t.cvv)==null?void 0:i.error),placeholder:mn(t==null?void 0:t.placeholder)}}}}function mn(n){if(!n)return"";if(typeof n=="string")return n;let t="";for(const[e,r]of Object.entries(n)){let s="";e.split("").forEach(i=>{i.toUpperCase()===i?s+="-"+i.toLowerCase():s+=i}),t+=s+":"+r+";"}return t}const ud=ft.defineComponent({name:"CoinflowIFrame",props:{args:{type:Object,required:!0}},computed:{url(){return en.getCoinflowUrl(this.args)}},emits:{onMessage(n){return!0}},methods:{sendMessage(n){const t=this.$refs.iframeRef;if(!(t!=null&&t.contentWindow))throw new Error("Iframe not defined");t.contentWindow.postMessage(n,"*")},handleIframeMessages({data:n,origin:t}){if(!t.includes(en.getCoinflowBaseUrl(this.args.env)))return;this.$emit("onMessage",{data:n,origin:t});const e=Vc(n,this.args);e&&e.then(this.sendMessage).catch(r=>{console.error(r),this.sendMessage("ERROR "+r.message)})},async listenForMessage(n){let t;return new Promise((e,r)=>{if(t=({data:s,origin:i})=>{if(i.includes(en.getCoinflowBaseUrl(this.args.env))){if(s.startsWith("ERROR")){r(new Error(s.replace("ERROR","")));return}n(s)&&e(s)}},!window)throw new Error("Window not defined");window.addEventListener("message",t)}).finally(()=>{window.removeEventListener("message",t)})},async sendAndReceiveMessage(n,t){return this.sendMessage(n),this.listenForMessage(t)}},mounted(){if(!window)throw new Error("Window not defined");return window.addEventListener("message",this.handleIframeMessages),()=>{window.removeEventListener("message",this.handleIframeMessages)}}}),Io=(n,t)=>{const e=n.__vccOpts||n;for(const[r,s]of t)e[r]=s;return e},fd=["src","scrolling"];function ld(n,t,e,r,s,i){return ft.openBlock(),ft.createElementBlock("iframe",{style:{height:"100%",width:"100%"},ref:"iframeRef",allow:"payment;camera",title:"withdraw",frameBorder:"0",src:n.url,scrolling:n.args.handleHeightChange?"no":"yes",onLoad:t[0]||(t[0]=()=>{const o=n.$refs.iframeRef;o&&(o.style.opacity="1")})},null,40,fd)}const os=Io(ud,[["render",ld]]),hd=ft.defineComponent({name:"CoinflowWithdraw",components:{CoinflowIFrame:os},props:{args:{type:Object,required:!0}},computed:{iframeProps(){const n=ns(this.args);return{...this.args,walletPubkey:n,route:`/withdraw/${this.args.merchantId}`,transaction:void 0}},messageHandlers(){return{...is(this.args),handleHeightChange:this.args.handleHeightChange}}}});function dd(n,t,e,r,s,i){const o=ft.resolveComponent("coinflow-i-frame");return ft.openBlock(),ft.createBlock(o,{args:{...n.iframeProps,...n.messageHandlers}},null,8,["args"])}const pd=Io(hd,[["render",dd]]),gd=ft.defineComponent({name:"CoinflowPurchase",components:{CoinflowIFrame:os},props:{args:{type:Object,required:!0}},computed:{iframeProps(){const n=ns(this.args);return{...this.args,walletPubkey:n,route:`/purchase-v2/${this.args.merchantId}`,transaction:en.getTransaction(this.args)}},messageHandlers(){return{...is(this.args),handleHeightChange:this.args.handleHeightChange}}}});function yd(n,t,e,r,s,i){const o=ft.resolveComponent("coinflow-i-frame");return ft.openBlock(),ft.createBlock(o,{args:{...n.iframeProps,...n.messageHandlers}},null,8,["args"])}const md=Io(gd,[["render",yd]]),Ao=n=>{const t=ft.ref(!1),e=ft.ref(!1),r=ft.ref(void 0),s=ft.ref(void 0);ft.onMounted(()=>{Eo({env:n,setTokenExScriptLoaded:()=>{console.log("tokenExScriptLoaded.value = true"),e.value=!0}})});const i=E=>s.value=E,o=()=>t.value=!0,a=E=>r.value=E,l=async E=>{const L=await Zc({...E,tokenExScriptLoaded:e.value,env:n,setCachedToken:i,setLoaded:o});return a(L),L},y=async E=>{const L=await Jc({...E,tokenExScriptLoaded:e.value,env:n,setCachedToken:i,setLoaded:o});return a(L),L},x=async E=>{const L=await Xc({...E,tokenExScriptLoaded:e.value,env:n,setCachedToken:i,setLoaded:o});return a(L),L};return ft.watchEffect(E=>{r.value&&(r.value.load(),E(()=>{var L;return(L=r.value)==null?void 0:L.remove()}))}),{tokenExIframe:r,initializeTokenExIframe:y,initializeCvvOnlyTokenExIframe:l,initializeTokenExCardOnlyIframe:x,loaded:t,cachedToken:s,setTokenExScriptTag:Eo,tokenExScriptLoaded:e}},wd=["id"],bd=ft.defineComponent({__name:"CoinflowCardNumberInput",props:{args:{type:Object,required:!0}},setup(n,{expose:t}){const{initializeTokenExIframe:e,tokenExIframe:r}=Ao(n.args.env);async function s(){if(!r.value)throw new Error("Unable to get token");return r.value.tokenize()}t({getToken:s});function i(){return JSON.stringify(n.args.css)}return ft.watchEffect(()=>{e({css:i(),debug:n.args.debug,origins:n.args.origins,font:n.args.font})},{}),(o,a)=>(ft.openBlock(),ft.createElementBlock("div",{id:ft.unref(xi)},null,8,wd))}}),xd=["id"],vd=ft.defineComponent({__name:"CoinflowCvvInput",setup(n){return(t,e)=>(ft.openBlock(),ft.createElementBlock("div",{id:ft.unref(ei)},null,8,xd))}}),kd=["id"],Sd=ft.defineComponent({__name:"CoinflowCvvOnlyInput",props:{args:{type:Object,required:!0}},setup(n,{expose:t}){const{initializeCvvOnlyTokenExIframe:e,tokenExIframe:r}=Ao(n.args.env);async function s(){if(!r.value)throw new Error("Unable to get token");return r.value.tokenize()}t({getToken:s});function i(){return JSON.stringify(n.args.css)}return ft.watchEffect(()=>{e({...n.args,origins:n.args.origins??[],css:i(),font:n.args.font})},{}),(o,a)=>(ft.openBlock(),ft.createElementBlock("div",{id:ft.unref(ei)},null,8,kd))}}),Ed=ft.defineComponent({__name:"CoinflowPurchaseProtection",props:{args:{type:Object,required:!0}},setup(n){const t=ft.ref(void 0);ft.onMounted(()=>new en(n.args.env).getNSurePartnerId(n.args.merchantId).then(s=>t.value=s));function e(){return n.args.env==="prod"?"9JBW2RHC7JNJN8ZQ":"SANDBOX_CTCE4XK53ZW0R7V1"}function r(){return n.args.env==="prod"?"https://sdk.nsureapi.com/sdk.js":"https://sdk.nsureapi.com/sdk-sandbox.js"}return ft.watchEffect(s=>{if(!t.value)return;const i=document.createElement("script");i.src=r(),document.head.appendChild(i);const o=`window.nSureAsyncInit = function(deviceId) {
14
14
  window.nSureSDK.init({
15
15
  appId: '${e()}',
16
16
  partnerId: '${t.value}',
@@ -10,9 +10,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
10
10
  walletPubkey: string | null | undefined;
11
11
  route: string;
12
12
  transaction: undefined;
13
- wallet: import('../lib/common').SolanaWallet;
14
- connection: import('@solana/web3.js').Connection;
15
- blockchain: "solana";
16
13
  onSuccess?: import('../lib/common').OnSuccessMethod;
17
14
  tokens?: string[];
18
15
  lockDefaultToken?: boolean;
@@ -29,14 +26,15 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
29
26
  merchantId: string;
30
27
  env?: import('../lib/common').CoinflowEnvs;
31
28
  loaderBackground?: string;
29
+ blockchain: "solana";
32
30
  handleHeightChange?: (height: string) => void;
33
31
  theme?: import('../lib/common').MerchantTheme;
32
+ wallet: import('../lib/common').SolanaWallet;
33
+ connection: import('@solana/web3.js').Connection;
34
34
  } | {
35
35
  walletPubkey: string | null | undefined;
36
36
  route: string;
37
37
  transaction: undefined;
38
- wallet: import('../lib/common').NearWallet;
39
- blockchain: "near";
40
38
  onSuccess?: import('../lib/common').OnSuccessMethod;
41
39
  tokens?: string[];
42
40
  lockDefaultToken?: boolean;
@@ -53,15 +51,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
53
51
  merchantId: string;
54
52
  env?: import('../lib/common').CoinflowEnvs;
55
53
  loaderBackground?: string;
54
+ blockchain: "near";
56
55
  handleHeightChange?: (height: string) => void;
57
56
  theme?: import('../lib/common').MerchantTheme;
57
+ wallet: import('../lib/common').NearWallet;
58
58
  } | {
59
59
  walletPubkey: string | null | undefined;
60
60
  route: string;
61
61
  transaction: undefined;
62
- blockchain: "eth";
63
- usePermit?: boolean;
64
- wallet: import('../lib/common').EthWallet;
65
62
  onSuccess?: import('../lib/common').OnSuccessMethod;
66
63
  tokens?: string[];
67
64
  lockDefaultToken?: boolean;
@@ -78,15 +75,15 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
78
75
  merchantId: string;
79
76
  env?: import('../lib/common').CoinflowEnvs;
80
77
  loaderBackground?: string;
78
+ blockchain: "eth";
81
79
  handleHeightChange?: (height: string) => void;
82
80
  theme?: import('../lib/common').MerchantTheme;
81
+ wallet: import('../lib/common').EthWallet;
82
+ usePermit?: boolean;
83
83
  } | {
84
84
  walletPubkey: string | null | undefined;
85
85
  route: string;
86
86
  transaction: undefined;
87
- blockchain: "polygon";
88
- wallet: import('../lib/common').EthWallet;
89
- usePermit?: boolean;
90
87
  onSuccess?: import('../lib/common').OnSuccessMethod;
91
88
  tokens?: string[];
92
89
  lockDefaultToken?: boolean;
@@ -103,15 +100,15 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
103
100
  merchantId: string;
104
101
  env?: import('../lib/common').CoinflowEnvs;
105
102
  loaderBackground?: string;
103
+ blockchain: "polygon";
106
104
  handleHeightChange?: (height: string) => void;
107
105
  theme?: import('../lib/common').MerchantTheme;
106
+ wallet: import('../lib/common').EthWallet;
107
+ usePermit?: boolean;
108
108
  } | {
109
109
  walletPubkey: string | null | undefined;
110
110
  route: string;
111
111
  transaction: undefined;
112
- blockchain: "base";
113
- wallet: import('../lib/common').EthWallet;
114
- usePermit?: boolean;
115
112
  onSuccess?: import('../lib/common').OnSuccessMethod;
116
113
  tokens?: string[];
117
114
  lockDefaultToken?: boolean;
@@ -128,15 +125,43 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
128
125
  merchantId: string;
129
126
  env?: import('../lib/common').CoinflowEnvs;
130
127
  loaderBackground?: string;
128
+ blockchain: "base";
131
129
  handleHeightChange?: (height: string) => void;
132
130
  theme?: import('../lib/common').MerchantTheme;
131
+ wallet: import('../lib/common').EthWallet;
132
+ usePermit?: boolean;
133
133
  } | {
134
134
  walletPubkey: string | null | undefined;
135
135
  route: string;
136
136
  transaction: undefined;
137
+ onSuccess?: import('../lib/common').OnSuccessMethod;
138
+ tokens?: string[];
139
+ lockDefaultToken?: boolean;
140
+ amount?: number;
141
+ email?: string;
142
+ bankAccountLinkRedirect?: string;
143
+ additionalWallets?: {
144
+ wallet: string;
145
+ blockchain: "solana" | "eth" | "near" | "polygon" | "base" | "arbitrum";
146
+ }[];
147
+ lockAmount?: boolean;
148
+ transactionSigner?: string;
149
+ origins?: string[];
150
+ merchantId: string;
151
+ env?: import('../lib/common').CoinflowEnvs;
152
+ loaderBackground?: string;
137
153
  blockchain: "arbitrum";
154
+ handleHeightChange?: (height: string) => void;
155
+ theme?: import('../lib/common').MerchantTheme;
138
156
  wallet: import('../lib/common').EthWallet;
139
157
  usePermit?: boolean;
158
+ } | {
159
+ walletPubkey: string | null | undefined;
160
+ route: string;
161
+ transaction: undefined;
162
+ sessionKey: string;
163
+ signer: import('../lib/common').SolanaWalletProps | import('../lib/common').NearWalletProps | import('../lib/common').EthWalletProps | import('../lib/common').PolygonWalletProps | import('../lib/common').BaseWalletProps | import('../lib/common').ArbitrumWalletProps;
164
+ blockchain?: undefined;
140
165
  onSuccess?: import('../lib/common').OnSuccessMethod;
141
166
  tokens?: string[];
142
167
  lockDefaultToken?: boolean;
@@ -1,4 +1,4 @@
1
- import { CoinflowPurchaseProps, CoinflowSessionKeyPurchaseProps, OnSuccessMethod } from './CoinflowTypes';
1
+ import { CoinflowPurchaseProps, OnSuccessMethod } from './CoinflowTypes';
2
2
  export type WalletCall = {
3
3
  method: IFrameMessageMethods;
4
4
  data: string;
@@ -24,9 +24,9 @@ declare enum IFrameMessageMethods {
24
24
  SendTransaction = "sendTransaction",
25
25
  HeightChange = "heightChange",
26
26
  Success = "success",
27
- Load = "load"
27
+ Loaded = "loaded"
28
28
  }
29
- export declare function getWalletPubkey(input: Pick<CoinflowPurchaseProps, 'wallet'> | Pick<CoinflowSessionKeyPurchaseProps, 'sessionKey'>): string | null | undefined;
29
+ export declare function getWalletPubkey(input: CoinflowPurchaseProps): string | null | undefined;
30
30
  export declare function handleIFrameMessage(rawMessage: string, handlers: IFrameMessageHandlers): Promise<string> | void;
31
- export declare function getHandlers(props: Pick<CoinflowPurchaseProps, 'wallet' | 'blockchain' | 'onSuccess'>): Omit<IFrameMessageHandlers, 'handleHeightChange'>;
31
+ export declare function getHandlers(props: CoinflowPurchaseProps): Omit<IFrameMessageHandlers, 'handleHeightChange'>;
32
32
  export {};
@@ -97,12 +97,17 @@ export interface CoinflowSolanaHistoryProps extends CoinflowTypes {
97
97
  connection: Connection;
98
98
  blockchain: 'solana';
99
99
  }
100
+ export interface CoinflowSessionKeyHistoryProps extends CoinflowTypes {
101
+ sessionKey: string;
102
+ blockchain?: undefined;
103
+ }
100
104
  export interface CoinflowNearHistoryProps extends CoinflowTypes {
101
105
  wallet: NearWallet;
102
106
  blockchain: 'near';
103
107
  }
104
108
  export interface CoinflowEvmHistoryProps extends CoinflowTypes {
105
109
  wallet: EthWallet;
110
+ blockchain: 'eth' | 'polygon' | 'base' | 'arbitrum';
106
111
  }
107
112
  export interface CoinflowEthHistoryProps extends CoinflowEvmHistoryProps {
108
113
  blockchain: 'eth';
@@ -116,7 +121,7 @@ export interface CoinflowBaseHistoryProps extends CoinflowEvmHistoryProps {
116
121
  export interface CoinflowArbitrumHistoryProps extends CoinflowEvmHistoryProps {
117
122
  blockchain: 'arbitrum';
118
123
  }
119
- export type CoinflowHistoryProps = CoinflowSolanaHistoryProps | CoinflowNearHistoryProps | CoinflowPolygonHistoryProps | CoinflowEthHistoryProps | CoinflowBaseHistoryProps | CoinflowArbitrumHistoryProps;
124
+ export type CoinflowHistoryProps = CoinflowSolanaHistoryProps | CoinflowNearHistoryProps | CoinflowPolygonHistoryProps | CoinflowEthHistoryProps | CoinflowBaseHistoryProps | CoinflowArbitrumHistoryProps | CoinflowSessionKeyHistoryProps;
120
125
  /** Transactions **/
121
126
  export type NearFtTransferCallAction = {
122
127
  methodName: 'ft_transfer_call';
@@ -252,33 +257,45 @@ export interface CoinflowCommonWithdrawProps extends CoinflowTypes {
252
257
  */
253
258
  origins?: string[];
254
259
  }
255
- export interface CoinflowSolanaWithdrawProps extends CoinflowCommonWithdrawProps {
260
+ export type WalletTypes = SolanaWallet | NearWallet | EthWallet;
261
+ export interface SolanaWalletProps {
256
262
  wallet: SolanaWallet;
257
263
  connection: Connection;
258
264
  blockchain: 'solana';
259
265
  }
260
- export interface CoinflowNearWithdrawProps extends CoinflowCommonWithdrawProps {
266
+ export type CoinflowSolanaWithdrawProps = CoinflowCommonWithdrawProps & SolanaWalletProps;
267
+ export interface NearWalletProps {
261
268
  wallet: NearWallet;
262
269
  blockchain: 'near';
263
270
  }
264
- export interface CoinflowEvmWithdrawProps extends CoinflowCommonWithdrawProps {
271
+ export type CoinflowNearWithdrawProps = CoinflowCommonWithdrawProps & NearWalletProps;
272
+ interface EvmWalletProps {
265
273
  wallet: EthWallet;
266
274
  usePermit?: boolean;
267
275
  }
268
- export interface CoinflowEthWithdrawProps extends CoinflowEvmWithdrawProps {
276
+ type CoinflowEvmWithdrawProps = CoinflowCommonWithdrawProps & EvmWalletProps;
277
+ export interface EthWalletProps {
269
278
  blockchain: 'eth';
270
- usePermit?: boolean;
271
279
  }
272
- export interface CoinflowPolygonWithdrawProps extends CoinflowEvmWithdrawProps {
280
+ export type CoinflowEthWithdrawProps = CoinflowEvmWithdrawProps & EthWalletProps;
281
+ export interface PolygonWalletProps {
273
282
  blockchain: 'polygon';
274
283
  }
275
- export interface CoinflowBaseWithdrawProps extends CoinflowEvmWithdrawProps {
284
+ export type CoinflowPolygonWithdrawProps = CoinflowEvmWithdrawProps & PolygonWalletProps;
285
+ export interface BaseWalletProps {
276
286
  blockchain: 'base';
277
287
  }
278
- export interface CoinflowArbitrumWithdrawProps extends CoinflowEvmWithdrawProps {
288
+ export type CoinflowBaseWithdrawProps = CoinflowEvmWithdrawProps & BaseWalletProps;
289
+ export interface ArbitrumWalletProps {
279
290
  blockchain: 'arbitrum';
280
291
  }
281
- export type CoinflowWithdrawProps = CoinflowSolanaWithdrawProps | CoinflowNearWithdrawProps | CoinflowEthWithdrawProps | CoinflowPolygonWithdrawProps | CoinflowBaseWithdrawProps | CoinflowArbitrumWithdrawProps;
292
+ export type CoinflowArbitrumWithdrawProps = CoinflowEvmWithdrawProps & ArbitrumWalletProps;
293
+ export interface CoinflowSessionKeyWithdrawProps extends CoinflowCommonWithdrawProps {
294
+ sessionKey: string;
295
+ signer: SolanaWalletProps | NearWalletProps | EthWalletProps | PolygonWalletProps | BaseWalletProps | ArbitrumWalletProps;
296
+ blockchain?: undefined;
297
+ }
298
+ export type CoinflowWithdrawProps = CoinflowSolanaWithdrawProps | CoinflowNearWithdrawProps | CoinflowEthWithdrawProps | CoinflowPolygonWithdrawProps | CoinflowBaseWithdrawProps | CoinflowArbitrumWithdrawProps | CoinflowSessionKeyWithdrawProps;
282
299
  export interface CommonEvmRedeem {
283
300
  waitForHash?: boolean;
284
301
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coinflowlabs/vue",
3
3
  "private": false,
4
- "version": "0.3.0",
4
+ "version": "0.3.1",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -33,20 +33,20 @@
33
33
  "devDependencies": {
34
34
  "@types/bs58": "^4.0.4",
35
35
  "@rushstack/eslint-patch": "^1.10.4",
36
- "@types/node": "^22.7.7",
36
+ "@types/node": "^22.8.1",
37
37
  "@vitejs/plugin-vue": "^5.1.4",
38
- "@vue/eslint-config-prettier": "^10.0.0",
38
+ "@vue/eslint-config-prettier": "^10.1.0",
39
39
  "@vue/eslint-config-typescript": "^13.0.0",
40
40
  "copyfiles": "^2.4.1",
41
41
  "eslint": "^8.57.1",
42
42
  "eslint-plugin-vue": "^9.29.1",
43
43
  "prettier": "^3.3.3",
44
- "typescript": "^5.5.4",
45
- "vite": "^5.4.9",
46
- "vite-plugin-dts": "^4.2.4",
44
+ "typescript": "^5.6.3",
45
+ "vite": "^5.4.10",
46
+ "vite-plugin-dts": "^4.3.0",
47
47
  "vitepress": "^1.4.1",
48
48
  "vue": "^3.5.11",
49
- "vue-tsc": "^2.1.6"
49
+ "vue-tsc": "^2.1.8"
50
50
  },
51
51
  "dependencies": {
52
52
  "lz-string": "^1.5.0"