@dodoex/wallet-web3 0.0.29-9 → 0.0.30-0

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.
Files changed (105) hide show
  1. package/dist/__node-resolve_empty-3e741f9d.js +1 -0
  2. package/dist/__tslib-470afd02.js +1 -0
  3. package/dist/blocto-12a77399.js +7 -0
  4. package/dist/bn-e5737c91.js +1 -0
  5. package/dist/{browser-ponyfill-2b89ba5a.js → browser-ponyfill-30587718.js} +1 -1
  6. package/dist/cjs/__node-resolve_empty-a0cbc09a.cjs +1 -0
  7. package/dist/cjs/__tslib-23965bc1.cjs +1 -0
  8. package/dist/cjs/blocto-49e140ff.cjs +7 -0
  9. package/dist/cjs/bn-789c2be6.cjs +1 -0
  10. package/dist/cjs/{browser-ponyfill-a2fe110e.cjs → browser-ponyfill-34262ce7.cjs} +1 -1
  11. package/dist/cjs/draggabilly-ad97ed53.cjs +12 -0
  12. package/dist/cjs/{ethers-0cbd9a94.cjs → ethers-2d3c8d93.cjs} +1 -1
  13. package/dist/cjs/{id-c1f8ef21.cjs → id-4b4752dc.cjs} +1 -1
  14. package/dist/cjs/index-0de21c4e.cjs +1 -0
  15. package/dist/cjs/{index-851bfb86.cjs → index-1abefdbf.cjs} +1 -1
  16. package/dist/cjs/{index-3da4db03.cjs → index-1d8b8f1c.cjs} +1 -1
  17. package/dist/cjs/{index-d018e2ad.cjs → index-1e606be3.cjs} +1 -1
  18. package/dist/cjs/index-25a0268f.cjs +9 -0
  19. package/dist/cjs/{index-7153e6ba.cjs → index-565bca0f.cjs} +1 -1
  20. package/dist/cjs/{index-bcd299f4.cjs → index-6253ce12.cjs} +1 -1
  21. package/dist/cjs/{index-390f74d4.cjs → index-a486f293.cjs} +1 -1
  22. package/dist/cjs/index-a8d33cfb.cjs +15 -0
  23. package/dist/cjs/{index-41e51f13.cjs → index-beb3b0f2.cjs} +1 -1
  24. package/dist/cjs/index-f789c360.cjs +15 -0
  25. package/dist/cjs/index.cjs +1 -1
  26. package/dist/cjs/index.es-bfd28bbe.cjs +9 -0
  27. package/dist/cjs/{interface-1b3e558c.cjs → interface-e0df2618.cjs} +1 -1
  28. package/dist/cjs/lib-typedarrays-d05cf01f.cjs +1 -0
  29. package/dist/cjs/{portis-413df2bf.cjs → portis-5727290f.cjs} +1 -1
  30. package/dist/cjs/{provider-db635447.cjs → provider-f2a8d807.cjs} +1 -1
  31. package/dist/cjs/providers/connector/index.d.ts +2 -0
  32. package/dist/cjs/providers/connector/socialLogin/index.d.ts +7 -0
  33. package/dist/cjs/providers/connector/socialLogin/provider.d.ts +7 -0
  34. package/dist/cjs/providers/connector/types.d.ts +8 -0
  35. package/dist/cjs/providers/wallets/index.d.ts +1 -0
  36. package/dist/cjs/providers/wallets/standalone.d.ts +1 -0
  37. package/dist/cjs/providers/wallets/types.d.ts +2 -1
  38. package/dist/cjs/rainbow-2c1e233f.cjs +1 -0
  39. package/dist/cjs/sha224-5e808855.cjs +1 -0
  40. package/dist/cjs/sha256-efad4d00.cjs +1 -0
  41. package/dist/cjs/state.d.ts +6 -0
  42. package/dist/cjs/{typed-data-7f7e9b45.cjs → typed-data-3135d89d.cjs} +1 -1
  43. package/dist/cjs/uAuth-bbfdcae9.cjs +1 -0
  44. package/dist/cjs/v4-a8141ae2.cjs +1 -0
  45. package/dist/cjs/walletConnect-ad5b90e8.cjs +1 -0
  46. package/dist/cjs/{walletLink-27c00203.cjs → walletLink-c2fddf9f.cjs} +1 -1
  47. package/dist/draggabilly-65ce0a91.js +12 -0
  48. package/dist/{ethers-74dad587.js → ethers-eefa35f7.js} +1 -1
  49. package/dist/{id-d7d5f03e.js → id-fcd21368.js} +1 -1
  50. package/dist/index-3cd8e009.js +9 -0
  51. package/dist/{index-be6f7624.js → index-502aa5bd.js} +1 -1
  52. package/dist/{index-493779ab.js → index-614f5c3e.js} +1 -1
  53. package/dist/{index-cc5641ed.js → index-7c96bebb.js} +1 -1
  54. package/dist/{index-85bfd871.js → index-85646ff0.js} +1 -1
  55. package/dist/index-944df233.js +15 -0
  56. package/dist/{index-d427f2bf.js → index-a1c7f913.js} +1 -1
  57. package/dist/index-c6e5a811.js +15 -0
  58. package/dist/{index-4dce94d5.js → index-d491a088.js} +1 -1
  59. package/dist/index-efd7e09c.js +1 -0
  60. package/dist/{index-74bba30f.js → index-f77dc630.js} +1 -1
  61. package/dist/index.es-ebfb23eb.js +9 -0
  62. package/dist/index.js +1 -1
  63. package/dist/{interface-768e3325.js → interface-f9439acf.js} +1 -1
  64. package/dist/lib-typedarrays-0bf66dd4.js +1 -0
  65. package/dist/{portis-ce1ca3cf.js → portis-65fddc6a.js} +1 -1
  66. package/dist/{provider-7f913f49.js → provider-5512f8a9.js} +1 -1
  67. package/dist/providers/connector/index.d.ts +2 -0
  68. package/dist/providers/connector/socialLogin/index.d.ts +7 -0
  69. package/dist/providers/connector/socialLogin/provider.d.ts +7 -0
  70. package/dist/providers/connector/types.d.ts +8 -0
  71. package/dist/providers/wallets/index.d.ts +1 -0
  72. package/dist/providers/wallets/standalone.d.ts +1 -0
  73. package/dist/providers/wallets/types.d.ts +2 -1
  74. package/dist/rainbow-cc851b7a.js +1 -0
  75. package/dist/sha224-dd1012ce.js +1 -0
  76. package/dist/sha256-5cb46634.js +1 -0
  77. package/dist/state.d.ts +6 -0
  78. package/dist/{typed-data-dbd0df56.js → typed-data-0d0e63b5.js} +1 -1
  79. package/dist/uAuth-934d6b61.js +1 -0
  80. package/dist/v4-4a316775.js +1 -0
  81. package/dist/walletConnect-781bce02.js +1 -0
  82. package/dist/{walletLink-23f3e292.js → walletLink-975cc13a.js} +1 -1
  83. package/package.json +4 -1
  84. package/dist/__node-resolve_empty-791ff599.js +0 -1
  85. package/dist/__tslib-f57b178c.js +0 -1
  86. package/dist/blocto-afa3bd2f.js +0 -7
  87. package/dist/bn-0d54f183.js +0 -1
  88. package/dist/cjs/__node-resolve_empty-8d047230.cjs +0 -1
  89. package/dist/cjs/__tslib-ba3a83a3.cjs +0 -1
  90. package/dist/cjs/blocto-c82f60fd.cjs +0 -7
  91. package/dist/cjs/bn-7519dfb9.cjs +0 -1
  92. package/dist/cjs/index-1438cc4a.cjs +0 -1
  93. package/dist/cjs/index-b6307a36.cjs +0 -15
  94. package/dist/cjs/index-bd265b4f.cjs +0 -9
  95. package/dist/cjs/index.es-40aefdd1.cjs +0 -9
  96. package/dist/cjs/rainbow-bd266faf.cjs +0 -1
  97. package/dist/cjs/uAuth-a1275c54.cjs +0 -1
  98. package/dist/cjs/walletConnect-d9d188f0.cjs +0 -1
  99. package/dist/index-6ecf854b.js +0 -15
  100. package/dist/index-876d4980.js +0 -1
  101. package/dist/index-d0eabf14.js +0 -9
  102. package/dist/index.es-b66a38fc.js +0 -9
  103. package/dist/rainbow-5b082b7d.js +0 -1
  104. package/dist/uAuth-09917ec4.js +0 -1
  105. package/dist/walletConnect-a0a95dd7.js +0 -1
@@ -0,0 +1,7 @@
1
+ import{c as t,g as e,b as r,_ as n,d as i}from"./index-3cd8e009.js";import o,{Buffer as s}from"buffer";import{n as a,r as u}from"./__node-resolve_empty-3e741f9d.js";import{s as c}from"./index-5a901c0e.js";import{r as h,s as l,v as d,a as f}from"./v4-4a316775.js";import"@ethersproject/providers";import"zustand";import"events";import"@ethersproject/address";import"@ethersproject/constants";import"@ethersproject/contracts";import"@ethersproject/properties";import"@ethersproject/transactions";import"@ethersproject/bytes";var p={exports:{}};function m(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function g(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const y={number:m,bool:function(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:g,hash:function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");m(t.outputLen),m(t.blockLen)},exists:function(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function(t,e){g(t);const r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}},w=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),b=(t,e)=>t<<32-e|t>>>e;
2
+ /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function v(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));class k{clone(){return this._cloneInto()}}function S(t){const e=e=>t().update(v(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}class _ extends k{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=w(this.buffer)}update(t){y.exists(this);const{view:e,buffer:r,blockLen:n}=this,i=(t=v(t)).length;for(let o=0;o<i;){const s=Math.min(n-this.pos,i-o);if(s!==n)r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(e,0),this.pos=0);else{const e=w(t);for(;n<=i-o;o+=n)this.process(e,o)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){y.exists(this),y.output(t,this),this.finished=!0;const{buffer:e,view:r,blockLen:n,isLE:i}=this;let{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(r,0),o=0);for(let t=o;t<n;t++)e[t]=0;!function(t,e,r,n){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,r,n);const i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),u=n?4:0,c=n?0:4;t.setUint32(e+u,s,n),t.setUint32(e+c,a,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const s=w(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=a/4,c=this.get();if(u>c.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<u;t++)s.setUint32(4*t,c[t],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:r,length:n,finished:i,destroyed:o,pos:s}=this;return t.length=n,t.pos=s,t.finished=i,t.destroyed=o,n%e&&t.buffer.set(r),t}}const A=BigInt(2**32-1),M=BigInt(32);function I(t,e=!1){return e?{h:Number(t&A),l:Number(t>>M&A)}:{h:0|Number(t>>M&A),l:0|Number(t&A)}}const E={fromBig:I,split:function(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:o,l:s}=I(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]},toBig:(t,e)=>BigInt(t>>>0)<<M|BigInt(e>>>0),shrSH:(t,e,r)=>t>>>r,shrSL:(t,e,r)=>t<<32-r|e>>>r,rotrSH:(t,e,r)=>t>>>r|e<<32-r,rotrSL:(t,e,r)=>t<<32-r|e>>>r,rotrBH:(t,e,r)=>t<<64-r|e>>>r-32,rotrBL:(t,e,r)=>t>>>r-32|e<<64-r,rotr32H:(t,e)=>e,rotr32L:(t,e)=>t,rotlSH:(t,e,r)=>t<<r|e>>>32-r,rotlSL:(t,e,r)=>e<<r|t>>>32-r,rotlBH:(t,e,r)=>e<<r-32|t>>>64-r,rotlBL:(t,e,r)=>t<<r-32|e>>>64-r,add:function(t,e,r,n){const i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:0|i}},add3L:(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),add3H:(t,e,r,n)=>e+r+n+(t/2**32|0)|0,add4L:(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),add4H:(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,add5H:(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0,add5L:(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0)},[x,B]=E.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((t=>BigInt(t)))),P=new Uint32Array(80),T=new Uint32Array(80);class R extends _{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:r,Bl:n,Ch:i,Cl:o,Dh:s,Dl:a,Eh:u,El:c,Fh:h,Fl:l,Gh:d,Gl:f,Hh:p,Hl:m}=this;return[t,e,r,n,i,o,s,a,u,c,h,l,d,f,p,m]}set(t,e,r,n,i,o,s,a,u,c,h,l,d,f,p,m){this.Ah=0|t,this.Al=0|e,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|u,this.El=0|c,this.Fh=0|h,this.Fl=0|l,this.Gh=0|d,this.Gl=0|f,this.Hh=0|p,this.Hl=0|m}process(t,e){for(let r=0;r<16;r++,e+=4)P[r]=t.getUint32(e),T[r]=t.getUint32(e+=4);for(let t=16;t<80;t++){const e=0|P[t-15],r=0|T[t-15],n=E.rotrSH(e,r,1)^E.rotrSH(e,r,8)^E.shrSH(e,r,7),i=E.rotrSL(e,r,1)^E.rotrSL(e,r,8)^E.shrSL(e,r,7),o=0|P[t-2],s=0|T[t-2],a=E.rotrSH(o,s,19)^E.rotrBH(o,s,61)^E.shrSH(o,s,6),u=E.rotrSL(o,s,19)^E.rotrBL(o,s,61)^E.shrSL(o,s,6),c=E.add4L(i,u,T[t-7],T[t-16]),h=E.add4H(c,n,a,P[t-7],P[t-16]);P[t]=0|h,T[t]=0|c}let{Ah:r,Al:n,Bh:i,Bl:o,Ch:s,Cl:a,Dh:u,Dl:c,Eh:h,El:l,Fh:d,Fl:f,Gh:p,Gl:m,Hh:g,Hl:y}=this;for(let t=0;t<80;t++){const e=E.rotrSH(h,l,14)^E.rotrSH(h,l,18)^E.rotrBH(h,l,41),w=E.rotrSL(h,l,14)^E.rotrSL(h,l,18)^E.rotrBL(h,l,41),b=h&d^~h&p,v=l&f^~l&m,k=E.add5L(y,w,v,B[t],T[t]),S=E.add5H(k,g,e,b,x[t],P[t]),_=0|k,A=E.rotrSH(r,n,28)^E.rotrBH(r,n,34)^E.rotrBH(r,n,39),M=E.rotrSL(r,n,28)^E.rotrBL(r,n,34)^E.rotrBL(r,n,39),I=r&i^r&s^i&s,R=n&o^n&a^o&a;g=0|p,y=0|m,p=0|d,m=0|f,d=0|h,f=0|l,({h:h,l:l}=E.add(0|u,0|c,0|S,0|_)),u=0|s,c=0|a,s=0|i,a=0|o,i=0|r,o=0|n;const L=E.add3L(_,M,R);r=E.add3H(L,S,A,I),n=0|L}({h:r,l:n}=E.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:o}=E.add(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=E.add(0|this.Ch,0|this.Cl,0|s,0|a)),({h:u,l:c}=E.add(0|this.Dh,0|this.Dl,0|u,0|c)),({h:h,l:l}=E.add(0|this.Eh,0|this.El,0|h,0|l)),({h:d,l:f}=E.add(0|this.Fh,0|this.Fl,0|d,0|f)),({h:p,l:m}=E.add(0|this.Gh,0|this.Gl,0|p,0|m)),({h:g,l:y}=E.add(0|this.Hh,0|this.Hl,0|g,0|y)),this.set(r,n,i,o,s,a,u,c,h,l,d,f,p,m,g,y)}roundClean(){P.fill(0),T.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class L extends R{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class O extends R{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class C extends R{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}const U=S((()=>new R));S((()=>new L)),S((()=>new O)),S((()=>new C));
3
+ /*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) */
4
+ const N=BigInt(0),z=BigInt(1),K=BigInt(2),W=BigInt(8),q=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),D=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:q,n:q,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")}),j=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),H=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742");const F=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),$=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),V=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),G=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");class Z{constructor(t,e,r,n){this.x=t,this.y=e,this.z=r,this.t=n}static fromAffine(t){if(!(t instanceof rt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(rt.ZERO)?Z.ZERO:new Z(t.x,t.y,z,pt(t.x*t.y))}static toAffineBatch(t){const e=function(t,e=D.P){const r=new Array(t.length),n=mt(t.reduce(((t,n,i)=>n===N?t:(r[i]=t,pt(t*n,e))),z),e);return t.reduceRight(((t,n,i)=>n===N?t:(r[i]=pt(t*r[i],e),pt(t*n,e))),n),r}(t.map((t=>t.z)));return t.map(((t,r)=>t.toAffine(e[r])))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){J(t);const{x:e,y:r,z:n}=this,{x:i,y:o,z:s}=t,a=pt(e*s),u=pt(i*n),c=pt(r*s),h=pt(o*n);return a===u&&c===h}negate(){return new Z(pt(-this.x),this.y,this.z,pt(-this.t))}double(){const{x:t,y:e,z:r}=this,{a:n}=D,i=pt(t*t),o=pt(e*e),s=pt(K*pt(r*r)),a=pt(n*i),u=t+e,c=pt(pt(u*u)-i-o),h=a+o,l=h-s,d=a-o,f=pt(c*l),p=pt(h*d),m=pt(c*d),g=pt(l*h);return new Z(f,p,g,m)}add(t){J(t);const{x:e,y:r,z:n,t:i}=this,{x:o,y:s,z:a,t:u}=t,c=pt((r-e)*(s+o)),h=pt((r+e)*(s-o)),l=pt(h-c);if(l===N)return this.double();const d=pt(n*K*u),f=pt(i*K*a),p=f+d,m=h+c,g=f-d,y=pt(p*l),w=pt(m*g),b=pt(p*g),v=pt(l*m);return new Z(y,w,v,b)}subtract(t){return this.add(t.negate())}precomputeWindow(t){const e=1+256/t,r=[];let n=this,i=n;for(let o=0;o<e;o++){i=n,r.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(t,e){!e&&this.equals(Z.BASE)&&(e=rt.BASE);const r=e&&e._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=e&&et.get(e);n||(n=this.precomputeWindow(r),e&&1!==r&&(n=Z.normalizeZ(n),et.set(e,n)));let i=Z.ZERO,o=Z.BASE;const s=1+256/r,a=2**(r-1),u=BigInt(2**r-1),c=2**r,h=BigInt(r);for(let e=0;e<s;e++){const r=e*a;let s=Number(t&u);t>>=h,s>a&&(s-=c,t+=z);const l=r,d=r+Math.abs(s)-1,f=e%2!=0,p=s<0;0===s?o=o.add(Y(f,n[l])):i=i.add(Y(p,n[d]))}return Z.normalizeZ([i,o])[0]}multiply(t,e){return this.wNAF(kt(t,D.l),e)}multiplyUnsafe(t){let e=kt(t,D.l,!1);const r=Z.BASE,n=Z.ZERO;if(e===N)return n;if(this.equals(n)||e===z)return this;if(this.equals(r))return this.wNAF(e);let i=n,o=this;for(;e>N;)e&z&&(i=i.add(o)),o=o.double(),e>>=z;return i}isSmallOrder(){return this.multiplyUnsafe(D.h).equals(Z.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(D.l/K).double();return D.l%K&&(t=t.add(this)),t.equals(Z.ZERO)}toAffine(t){const{x:e,y:r,z:n}=this,i=this.equals(Z.ZERO);null==t&&(t=i?W:mt(n));const o=pt(e*t),s=pt(r*t),a=pt(n*t);if(i)return rt.ZERO;if(a!==z)throw new Error("invZ was invalid");return new rt(o,s)}fromRistrettoBytes(){Q()}toRistrettoBytes(){Q()}fromRistrettoHash(){Q()}}function Y(t,e){const r=e.negate();return t?r:e}function J(t){if(!(t instanceof Z))throw new TypeError("ExtendedPoint expected")}function X(t){if(!(t instanceof tt))throw new TypeError("RistrettoPoint expected")}function Q(){throw new Error("Legacy method: switch to RistrettoPoint")}Z.BASE=new Z(D.Gx,D.Gy,z,pt(D.Gx*D.Gy)),Z.ZERO=new Z(N,z,z,N);class tt{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){const{d:e}=D,r=pt(H*t*t),n=pt((r+z)*V);let i=BigInt(-1);const o=pt((i-e*r)*pt(r+e));let{isValid:s,value:a}=yt(n,o),u=pt(a*t);ht(u)||(u=pt(-u)),s||(a=u),s||(i=r);const c=pt(i*(r-z)*G-o),h=a*a,l=pt((a+a)*o),d=pt(c*F),f=pt(z-h),p=pt(z+h);return new Z(pt(l*p),pt(f*d),pt(d*p),pt(l*f))}static hashToCurve(t){const e=ft((t=vt(t,64)).slice(0,32)),r=this.calcElligatorRistrettoMap(e),n=ft(t.slice(32,64)),i=this.calcElligatorRistrettoMap(n);return new tt(r.add(i))}static fromHex(t){t=vt(t,32);const{a:e,d:r}=D,n="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",i=ft(t);if(!function(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}(ct(i),t)||ht(i))throw new Error(n);const o=pt(i*i),s=pt(z+e*o),a=pt(z-e*o),u=pt(s*s),c=pt(a*a),h=pt(e*r*u-c),{isValid:l,value:d}=wt(pt(h*c)),f=pt(d*a),p=pt(d*f*h);let m=pt((i+i)*f);ht(m)&&(m=pt(-m));const g=pt(s*p),y=pt(m*g);if(!l||ht(y)||g===N)throw new Error(n);return new tt(new Z(m,g,z,y))}toRawBytes(){let{x:t,y:e,z:r,t:n}=this.ep;const i=pt(pt(r+e)*pt(r-e)),o=pt(t*e),s=pt(o*o),{value:a}=wt(pt(i*s)),u=pt(a*i),c=pt(a*o),h=pt(u*c*n);let l;if(ht(n*h)){let r=pt(e*H),n=pt(t*H);t=r,e=n,l=pt(u*$)}else l=c;ht(t*h)&&(e=pt(-e));let d=pt((r-e)*l);return ht(d)&&(d=pt(-d)),ct(d)}toHex(){return st(this.toRawBytes())}toString(){return this.toHex()}equals(t){X(t);const e=this.ep,r=t.ep,n=pt(e.x*r.y)===pt(e.y*r.x),i=pt(e.y*r.y)===pt(e.x*r.x);return n||i}add(t){return X(t),new tt(this.ep.add(t.ep))}subtract(t){return X(t),new tt(this.ep.subtract(t.ep))}multiply(t){return new tt(this.ep.multiply(t))}multiplyUnsafe(t){return new tt(this.ep.multiplyUnsafe(t))}}tt.BASE=new tt(Z.BASE),tt.ZERO=new tt(Z.ZERO);const et=new WeakMap;class rt{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,et.delete(this)}static fromHex(t,e=!0){const{d:r,P:n}=D,i=(t=vt(t,32)).slice();i[31]=-129&t[31];const o=lt(i);if(e&&o>=n)throw new Error("Expected 0 < hex < P");if(!e&&o>=j)throw new Error("Expected 0 < hex < 2**256");const s=pt(o*o),a=pt(s-z),u=pt(r*s+z);let{isValid:c,value:h}=yt(a,u);if(!c)throw new Error("Point.fromHex: invalid y coordinate");const l=(h&z)===z;return 0!=(128&t[31])!==l&&(h=pt(-h)),new rt(h,o)}static async fromPrivateKey(t){return(await It(t)).point}toRawBytes(){const t=ct(this.y);return t[31]|=this.x&z?128:0,t}toHex(){return st(this.toRawBytes())}toX25519(){const{y:t}=this;return ct(pt((z+t)*mt(z-t)))}isTorsionFree(){return Z.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new rt(pt(-this.x),this.y)}add(t){return Z.fromAffine(this).add(Z.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Z.fromAffine(this).multiply(t,this).toAffine()}}rt.BASE=new rt(D.Gx,D.Gy),rt.ZERO=new rt(N,z);class nt{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){const e=vt(t,64),r=rt.fromHex(e.slice(0,32),!1),n=lt(e.slice(32,64));return new nt(r,n)}assertValidity(){const{r:t,s:e}=this;if(!(t instanceof rt))throw new Error("Expected Point instance");return kt(e,D.l,!1),this}toRawBytes(){const t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(ct(this.s),32),t}toHex(){return st(this.toRawBytes())}}function it(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Expected Uint8Array list");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),r=new Uint8Array(e);for(let e=0,n=0;e<t.length;e++){const i=t[e];r.set(i,n),n+=i.length}return r}const ot=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function st(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=ot[t[r]];return e}function at(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){const n=2*r,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function ut(t){return at(t.toString(16).padStart(64,"0"))}function ct(t){return ut(t).reverse()}function ht(t){return(pt(t)&z)===z}function lt(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+st(Uint8Array.from(t).reverse()))}const dt=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function ft(t){return pt(lt(t)&dt)}function pt(t,e=D.P){const r=t%e;return r>=N?r:e+r}function mt(t,e=D.P){if(t===N||e<=N)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=pt(t,e),n=e,i=N,o=z;for(;r!==N;){const t=n%r,e=i-o*(n/r);n=r,r=t,i=o,o=e}if(n!==z)throw new Error("invert: does not exist");return pt(i,e)}function gt(t,e){const{P:r}=D;let n=t;for(;e-- >N;)n*=n,n%=r;return n}function yt(t,e){const r=pt(e*e*e),n=function(t){const{P:e}=D,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),a=t*t%e*t%e,u=gt(a,K)*a%e,c=gt(u,z)*t%e,h=gt(c,r)*c%e,l=gt(h,n)*h%e,d=gt(l,i)*l%e,f=gt(d,o)*d%e,p=gt(f,s)*f%e,m=gt(p,s)*f%e,g=gt(m,n)*h%e;return{pow_p_5_8:gt(g,K)*t%e,b2:a}}(t*pt(r*r*e)).pow_p_5_8;let i=pt(t*r*n);const o=pt(e*i*i),s=i,a=pt(i*H),u=o===t,c=o===pt(-t),h=o===pt(-t*H);return u&&(i=s),(c||h)&&(i=a),ht(i)&&(i=pt(-i)),{isValid:u||c,value:i}}function wt(t){return yt(z,t)}function bt(t){return pt(lt(t),D.l)}function vt(t,e){const r=t instanceof Uint8Array?Uint8Array.from(t):at(t);if("number"==typeof e&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function kt(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if("number"==typeof t&&Number.isSafeInteger(t)&&(t=BigInt(t)),"bigint"==typeof t&&t<e)if(r){if(N<t)return t}else if(N<=t)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function St(t){if(32!==(t="bigint"==typeof t||"number"==typeof t?ut(kt(t,j)):vt(t)).length)throw new Error("Expected 32 bytes");return t}function _t(t){const e=function(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}(t.slice(0,32)),r=t.slice(32,64),n=bt(e),i=rt.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}let At;function Mt(...t){if("function"!=typeof At)throw new Error("utils.sha512Sync must be set to use sync methods");return At(...t)}async function It(t){return _t(await Pt.sha512(St(t)))}function Et(t){return _t(Mt(St(t)))}const xt={getExtendedPublicKey:Et,getPublicKey:function(t){return Et(t).pointBytes},sign:function(t,e){t=vt(t);const{prefix:r,scalar:n,pointBytes:i}=Et(e),o=bt(Mt(r,t)),s=rt.BASE.multiply(o),a=pt(o+bt(Mt(s.toRawBytes(),i,t))*n,D.l);return new nt(s,a).toRawBytes()},verify:function(t,e,r){const{r:n,SB:i,msg:o,pub:s}=function(t,e,r){e=vt(e),r instanceof rt||(r=rt.fromHex(r,!1));const{r:n,s:i}=t instanceof nt?t.assertValidity():nt.fromHex(t);return{r:n,s:i,SB:Z.BASE.multiplyUnsafe(i),pub:r,msg:e}}(t,e,r),a=Mt(n.toRawBytes(),s.toRawBytes(),o);return function(t,e,r,n){const i=bt(n),o=Z.fromAffine(t).multiplyUnsafe(i);return Z.fromAffine(e).add(o).subtract(r).multiplyUnsafe(D.h).equals(Z.ZERO)}(s,n,i,a)}};rt.BASE._setWindowSize(8);const Bt={node:a,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Pt={bytesToHex:st,hexToBytes:at,concatBytes:it,getExtendedPublicKey:It,mod:pt,invert:mt,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if((t=vt(t)).length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return pt(lt(t),D.l-z)+z},randomBytes:(t=32)=>{if(Bt.web)return Bt.web.getRandomValues(new Uint8Array(t));if(Bt.node){const{randomBytes:e}=Bt.node;return new Uint8Array(e(t).buffer)}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Pt.randomBytes(32),sha512:async(...t)=>{const e=it(...t);if(Bt.web){const t=await Bt.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(t)}if(Bt.node)return Uint8Array.from(Bt.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")},precompute(t=8,e=rt.BASE){const r=e.equals(rt.BASE)?e:new rt(e.x,e.y);return r._setWindowSize(t),r.multiply(K),r},sha512Sync:void 0};Object.defineProperties(Pt,{sha512Sync:{configurable:!1,get:()=>At,set(t){At||(At=t)}}});var Tt={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:u.Buffer}catch(t){}function s(t,e){var n=t.charCodeAt(e);return n>=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,n,i){for(var o=0,s=0,a=Math.min(t.length,n),u=e;u<a;u++){var c=t.charCodeAt(u)-48;o*=i,s=c>=49?c-49+10:c>=17?c-17+10:c,r(c>=0&&s<i,"Invalid character"),o+=s}return o}function h(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,n):(this._parseBase(t,e,i),"le"===n&&this._initArray(this.toArray(),e,n)))},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===n)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=a(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=a(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,u=0,h=r;h<a;h+=n)u=c(t,h,h+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=c(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype._move=function(t){h(t,this)},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){i.prototype.inspect=l}else i.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var c=1;c<n;c++){for(var h=u>>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}r.words[c]=0|l,u=0|h}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),n=0!==o||s!==this.length-1?d[6-u.length]+u+n:u+n}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];n="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(h).toString(t);n=(l=l.idivn(h)).isZero()?m+n:d[c-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,i),s},i.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},i.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},i.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},i.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this._strip()},i.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this._strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var g=function(t,e,r){var n,i,o,s=t.words,a=e.words,u=r.words,c=0,h=0|s[0],l=8191&h,d=h>>>13,f=0|s[1],p=8191&f,m=f>>>13,g=0|s[2],y=8191&g,w=g>>>13,b=0|s[3],v=8191&b,k=b>>>13,S=0|s[4],_=8191&S,A=S>>>13,M=0|s[5],I=8191&M,E=M>>>13,x=0|s[6],B=8191&x,P=x>>>13,T=0|s[7],R=8191&T,L=T>>>13,O=0|s[8],C=8191&O,U=O>>>13,N=0|s[9],z=8191&N,K=N>>>13,W=0|a[0],q=8191&W,D=W>>>13,j=0|a[1],H=8191&j,F=j>>>13,$=0|a[2],V=8191&$,G=$>>>13,Z=0|a[3],Y=8191&Z,J=Z>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(l,q))|0)+((8191&(i=(i=Math.imul(l,D))+Math.imul(d,q)|0))<<13)|0;c=((o=Math.imul(d,D))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,D))+Math.imul(m,q)|0,o=Math.imul(m,D);var yt=(c+(n=n+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,F)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,F)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),i=(i=Math.imul(y,D))+Math.imul(w,q)|0,o=Math.imul(w,D),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,F)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,F)|0;var wt=(c+(n=n+Math.imul(l,V)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(d,V)|0))<<13)|0;c=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,D))+Math.imul(k,q)|0,o=Math.imul(k,D),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,F)|0)+Math.imul(w,H)|0,o=o+Math.imul(w,F)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,J)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),i=(i=Math.imul(_,D))+Math.imul(A,q)|0,o=Math.imul(A,D),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,F)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,F)|0,n=n+Math.imul(y,V)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(w,V)|0,o=o+Math.imul(w,G)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,J)|0;var vt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,D))+Math.imul(E,q)|0,o=Math.imul(E,D),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,F)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,F)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(w,Y)|0,o=o+Math.imul(w,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var kt=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(d,rt)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,D))+Math.imul(P,q)|0,o=Math.imul(P,D),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,F)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,F)|0,n=n+Math.imul(_,V)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var St=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,D))+Math.imul(L,q)|0,o=Math.imul(L,D),n=n+Math.imul(B,H)|0,i=(i=i+Math.imul(B,F)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,F)|0,n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(E,V)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(w,rt)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var _t=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,q),i=(i=Math.imul(C,D))+Math.imul(U,q)|0,o=Math.imul(U,D),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,F)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,F)|0,n=n+Math.imul(B,V)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,G)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(z,q),i=(i=Math.imul(z,D))+Math.imul(K,q)|0,o=Math.imul(K,D),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,F)|0)+Math.imul(U,H)|0,o=o+Math.imul(U,F)|0,n=n+Math.imul(R,V)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(L,V)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var Mt=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(z,H),i=(i=Math.imul(z,F))+Math.imul(K,H)|0,o=Math.imul(K,F),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(U,V)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(L,Y)|0,o=o+Math.imul(L,J)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var It=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(z,V),i=(i=Math.imul(z,G))+Math.imul(K,V)|0,o=Math.imul(K,G),n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(U,Y)|0,o=o+Math.imul(U,J)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,n=n+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(z,Y),i=(i=Math.imul(z,J))+Math.imul(K,Y)|0,o=Math.imul(K,J),n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(A,lt)|0,o=o+Math.imul(A,dt)|0;var xt=(c+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(z,Q),i=(i=Math.imul(z,tt))+Math.imul(K,Q)|0,o=Math.imul(K,tt),n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,st)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ct)|0)+Math.imul(P,ut)|0,o=o+Math.imul(P,ct)|0,n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Bt=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(z,rt),i=(i=Math.imul(z,nt))+Math.imul(K,rt)|0,o=Math.imul(K,nt),n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ct)|0)+Math.imul(L,ut)|0,o=o+Math.imul(L,ct)|0,n=n+Math.imul(B,lt)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var Pt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(z,ot),i=(i=Math.imul(z,st))+Math.imul(K,ot)|0,o=Math.imul(K,st),n=n+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ct)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(L,lt)|0,o=o+Math.imul(L,dt)|0;var Tt=(c+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(P,pt)|0))<<13)|0;c=((o=o+Math.imul(P,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,ut),i=(i=Math.imul(z,ct))+Math.imul(K,ut)|0,o=Math.imul(K,ct),n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,dt)|0;var Rt=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(z,lt),i=(i=Math.imul(z,dt))+Math.imul(K,lt)|0,o=Math.imul(K,dt);var Lt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(U,pt)|0))<<13)|0;c=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863;var Ot=(c+(n=Math.imul(z,pt))|0)+((8191&(i=(i=Math.imul(z,mt))+Math.imul(K,pt)|0))<<13)|0;return c=((o=Math.imul(K,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=wt,u[3]=bt,u[4]=vt,u[5]=kt,u[6]=St,u[7]=_t,u[8]=At,u[9]=Mt,u[10]=It,u[11]=Et,u[12]=xt,u[13]=Bt,u[14]=Pt,u[15]=Tt,u[16]=Rt,u[17]=Lt,u[18]=Ot,0!==c&&(u[19]=c,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var h=o-c,l=(0|t.words[h])*(0|e.words[c]),d=67108863&l;a=67108863&(d=d+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function w(t,e,r){return y(t,e,r)}Math.imul||(g=m),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):r<63?m(this,t,e):r<1024?y(this,t,e):w(this,t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),w(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var n=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,s=(67108863&o)+(67108863&n);n>>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=t.words[n]>>>i&1}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var o=r.sqr();n<e.length;n++,o=o.sqr())0!==e[n]&&(r=r.mul(o));return r},i.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,u=(0|this.words[e])-a<<n;this.words[e]=u|s,s=a>>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,u=n;if(i-=s,i=Math.max(0,i),u){for(var c=0;c<s;c++)u.words[c]=this.words[c];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,c=0;c<this.length;c++)this.words[c]=this.words[c+s];else this.words[0]=0,this.length=1;var h=0;for(c=this.length-1;c>=0&&(0!==h||c>=i);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n||!(this.words[n]&i))},i.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,o,s=t.length+n;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+n])+a;var u=(0|t.words[i])*e;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),n.iushln(r),s=0|o.words[o.length-1]);var a,u=n.length-o.length;if("mod"!==e){(a=new i(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var h=n.clone()._ishlnsubmul(o,1,u);0===h.negative&&(n=h,a&&(a.words[u]=1));for(var l=u-1;l>=0;l--){var d=67108864*(0|n.words[o.length+l])+(0|n.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(o,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),s=new i(0),a=new i(0),u=new i(1),c=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++c;for(var h=n.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(h),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(a),s.isub(u)):(n.isub(e),a.isub(o),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new i(1),a=new i(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new M(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function I(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(k,v),k.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(S,v),n(_,v),n(A,v),A.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new A}return b[t]=e,e},M.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new i(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),f=this.pow(t,o),p=s;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new i(1).iushln(p-g-1));d=d.redMul(y),l=y.redSqr(),f=f.redMul(l),p=g}return d},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var o=r[0],s=0,a=0,u=e.bitLength()%26;for(0===u&&(u=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}u=26}return o},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new I(t)},n(I,M),I.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},I.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},I.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(Tt,t);var Rt=Tt.exports,Lt=c.exports.Buffer;var Ot=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var n=0;n<t.length;n++){var i=t.charAt(n),o=i.charCodeAt(0);if(255!==e[o])throw new TypeError(i+" is ambiguous");e[o]=n}var s=t.length,a=t.charAt(0),u=Math.log(s)/Math.log(256),c=Math.log(256)/Math.log(s);function h(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return Lt.alloc(0);for(var r=0,n=0,i=0;t[r]===a;)n++,r++;for(var o=(t.length-r)*u+1>>>0,c=new Uint8Array(o);t[r];){var h=e[t.charCodeAt(r)];if(255===h)return;for(var l=0,d=o-1;(0!==h||l<i)&&-1!==d;d--,l++)h+=s*c[d]>>>0,c[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw new Error("Non-zero carry");i=l,r++}for(var f=o-i;f!==o&&0===c[f];)f++;var p=Lt.allocUnsafe(n+(o-f));p.fill(0,0,n);for(var m=n;f!==o;)p[m++]=c[f++];return p}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=Lt.from(e)),!Lt.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,n=0,i=0,o=e.length;i!==o&&0===e[i];)i++,r++;for(var u=(o-i)*c+1>>>0,h=new Uint8Array(u);i!==o;){for(var l=e[i],d=0,f=u-1;(0!==l||d<n)&&-1!==f;f--,d++)l+=256*h[f]>>>0,h[f]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");n=d,i++}for(var p=u-n;p!==u&&0===h[p];)p++;for(var m=a.repeat(r);p<u;++p)m+=t.charAt(h[p]);return m},decodeUnsafe:h,decode:function(t){var e=h(t);if(e)return e;throw new Error("Non-base"+s+" character")}}},Ct=Ot("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");const Ut=(t,e,r)=>t&e^t&r^e&r,Nt=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Kt=new Uint32Array(64);class Wt extends _{constructor(){super(64,32,8,!1),this.A=0|zt[0],this.B=0|zt[1],this.C=0|zt[2],this.D=0|zt[3],this.E=0|zt[4],this.F=0|zt[5],this.G=0|zt[6],this.H=0|zt[7]}get(){const{A:t,B:e,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[t,e,r,n,i,o,s,a]}set(t,e,r,n,i,o,s,a){this.A=0|t,this.B=0|e,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(t,e){for(let r=0;r<16;r++,e+=4)Kt[r]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=Kt[t-15],r=Kt[t-2],n=b(e,7)^b(e,18)^e>>>3,i=b(r,17)^b(r,19)^r>>>10;Kt[t]=i+Kt[t-7]+n+Kt[t-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:u,H:c}=this;for(let t=0;t<64;t++){const e=c+(b(s,6)^b(s,11)^b(s,25))+((h=s)&a^~h&u)+Nt[t]+Kt[t]|0,l=(b(r,2)^b(r,13)^b(r,22))+Ut(r,n,i)|0;c=u,u=a,a=s,s=o+e|0,o=i,i=n,n=r,r=e+l|0}var h;r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,u=u+this.G|0,c=c+this.H|0,this.set(r,n,i,o,s,a,u,c)}roundClean(){Kt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class qt extends Wt{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const Dt=S((()=>new Wt));S((()=>new qt));var jt={},Ht={exports:{}};function Ft(t,e,r){return e<=t&&t<=r}function $t(t){if(void 0===t)return{};if(t===Object(t))return t;throw TypeError("Could not convert argument to dictionary")}!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:u.Buffer}catch(t){}function s(t,e){var n=t.charCodeAt(e);return n>=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,n,i){for(var o=0,s=0,a=Math.min(t.length,n),u=e;u<a;u++){var c=t.charCodeAt(u)-48;o*=i,s=c>=49?c-49+10:c>=17?c-17+10:c,r(c>=0&&s<i,"Invalid character"),o+=s}return o}function h(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,n):(this._parseBase(t,e,i),"le"===n&&this._initArray(this.toArray(),e,n)))},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===n)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},i.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,s=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=a(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=a(t,e,n)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this._strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,u=0,h=r;h<a;h+=n)u=c(t,h,h+n,e),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=c(t,h,t.length,e),h=0;h<s;h++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype._move=function(t){h(t,this)},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){i.prototype.inspect=l}else i.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function m(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var c=1;c<n;c++){for(var h=u>>>26,l=67108863&u,d=Math.min(c,e.length-1),f=Math.max(0,c-t.length+1);f<=d;f++){var p=c-f|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[f])+l)/67108864|0,l=67108863&s}r.words[c]=0|l,u=0|h}return 0!==u?r.words[c]=0|u:r.length--,r._strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],u=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),n=0!==o||s!==this.length-1?d[6-u.length]+u+n:u+n}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],h=p[t];n="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modrn(h).toString(t);n=(l=l.idivn(h)).isZero()?m+n:d[c-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16,2)},o&&(i.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,i),s},i.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},i.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,n=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|n;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),n=0,o=0):(n=s>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},i.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},i.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this._strip()},i.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this._strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s<n.length;s++)o=(e=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var g=function(t,e,r){var n,i,o,s=t.words,a=e.words,u=r.words,c=0,h=0|s[0],l=8191&h,d=h>>>13,f=0|s[1],p=8191&f,m=f>>>13,g=0|s[2],y=8191&g,w=g>>>13,b=0|s[3],v=8191&b,k=b>>>13,S=0|s[4],_=8191&S,A=S>>>13,M=0|s[5],I=8191&M,E=M>>>13,x=0|s[6],B=8191&x,P=x>>>13,T=0|s[7],R=8191&T,L=T>>>13,O=0|s[8],C=8191&O,U=O>>>13,N=0|s[9],z=8191&N,K=N>>>13,W=0|a[0],q=8191&W,D=W>>>13,j=0|a[1],H=8191&j,F=j>>>13,$=0|a[2],V=8191&$,G=$>>>13,Z=0|a[3],Y=8191&Z,J=Z>>>13,X=0|a[4],Q=8191&X,tt=X>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,ct=at>>>13,ht=0|a[8],lt=8191&ht,dt=ht>>>13,ft=0|a[9],pt=8191&ft,mt=ft>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(l,q))|0)+((8191&(i=(i=Math.imul(l,D))+Math.imul(d,q)|0))<<13)|0;c=((o=Math.imul(d,D))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,D))+Math.imul(m,q)|0,o=Math.imul(m,D);var yt=(c+(n=n+Math.imul(l,H)|0)|0)+((8191&(i=(i=i+Math.imul(l,F)|0)+Math.imul(d,H)|0))<<13)|0;c=((o=o+Math.imul(d,F)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,q),i=(i=Math.imul(y,D))+Math.imul(w,q)|0,o=Math.imul(w,D),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,F)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,F)|0;var wt=(c+(n=n+Math.imul(l,V)|0)|0)+((8191&(i=(i=i+Math.imul(l,G)|0)+Math.imul(d,V)|0))<<13)|0;c=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(v,q),i=(i=Math.imul(v,D))+Math.imul(k,q)|0,o=Math.imul(k,D),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,F)|0)+Math.imul(w,H)|0,o=o+Math.imul(w,F)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,G)|0;var bt=(c+(n=n+Math.imul(l,Y)|0)|0)+((8191&(i=(i=i+Math.imul(l,J)|0)+Math.imul(d,Y)|0))<<13)|0;c=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(_,q),i=(i=Math.imul(_,D))+Math.imul(A,q)|0,o=Math.imul(A,D),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,F)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,F)|0,n=n+Math.imul(y,V)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(w,V)|0,o=o+Math.imul(w,G)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,J)|0;var vt=(c+(n=n+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,tt)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,D))+Math.imul(E,q)|0,o=Math.imul(E,D),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,F)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,F)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(w,Y)|0,o=o+Math.imul(w,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var kt=(c+(n=n+Math.imul(l,rt)|0)|0)+((8191&(i=(i=i+Math.imul(l,nt)|0)+Math.imul(d,rt)|0))<<13)|0;c=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,D))+Math.imul(P,q)|0,o=Math.imul(P,D),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,F)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,F)|0,n=n+Math.imul(_,V)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var St=(c+(n=n+Math.imul(l,ot)|0)|0)+((8191&(i=(i=i+Math.imul(l,st)|0)+Math.imul(d,ot)|0))<<13)|0;c=((o=o+Math.imul(d,st)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(R,q),i=(i=Math.imul(R,D))+Math.imul(L,q)|0,o=Math.imul(L,D),n=n+Math.imul(B,H)|0,i=(i=i+Math.imul(B,F)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,F)|0,n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(E,V)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(_,Y)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(w,rt)|0,o=o+Math.imul(w,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var _t=(c+(n=n+Math.imul(l,ut)|0)|0)+((8191&(i=(i=i+Math.imul(l,ct)|0)+Math.imul(d,ut)|0))<<13)|0;c=((o=o+Math.imul(d,ct)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,q),i=(i=Math.imul(C,D))+Math.imul(U,q)|0,o=Math.imul(U,D),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,F)|0)+Math.imul(L,H)|0,o=o+Math.imul(L,F)|0,n=n+Math.imul(B,V)|0,i=(i=i+Math.imul(B,G)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,G)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,st)|0)+Math.imul(w,ot)|0,o=o+Math.imul(w,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,ct)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,ct)|0;var At=(c+(n=n+Math.imul(l,lt)|0)|0)+((8191&(i=(i=i+Math.imul(l,dt)|0)+Math.imul(d,lt)|0))<<13)|0;c=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(z,q),i=(i=Math.imul(z,D))+Math.imul(K,q)|0,o=Math.imul(K,D),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,F)|0)+Math.imul(U,H)|0,o=o+Math.imul(U,F)|0,n=n+Math.imul(R,V)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(L,V)|0,o=o+Math.imul(L,G)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(y,ut)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(w,ut)|0,o=o+Math.imul(w,ct)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,dt)|0;var Mt=(c+(n=n+Math.imul(l,pt)|0)|0)+((8191&(i=(i=i+Math.imul(l,mt)|0)+Math.imul(d,pt)|0))<<13)|0;c=((o=o+Math.imul(d,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(z,H),i=(i=Math.imul(z,F))+Math.imul(K,H)|0,o=Math.imul(K,F),n=n+Math.imul(C,V)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(U,V)|0,o=o+Math.imul(U,G)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(L,Y)|0,o=o+Math.imul(L,J)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(_,ot)|0,i=(i=i+Math.imul(_,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,ct)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(w,lt)|0,o=o+Math.imul(w,dt)|0;var It=(c+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;c=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(z,V),i=(i=Math.imul(z,G))+Math.imul(K,V)|0,o=Math.imul(K,G),n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(U,Y)|0,o=o+Math.imul(U,J)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,tt)|0,n=n+Math.imul(B,rt)|0,i=(i=i+Math.imul(B,nt)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,n=n+Math.imul(_,ut)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,ct)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(k,lt)|0,o=o+Math.imul(k,dt)|0;var Et=(c+(n=n+Math.imul(y,pt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(w,pt)|0))<<13)|0;c=((o=o+Math.imul(w,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(z,Y),i=(i=Math.imul(z,J))+Math.imul(K,Y)|0,o=Math.imul(K,J),n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(U,Q)|0,o=o+Math.imul(U,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(L,rt)|0,o=o+Math.imul(L,nt)|0,n=n+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,ct)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,ct)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,dt)|0)+Math.imul(A,lt)|0,o=o+Math.imul(A,dt)|0;var xt=(c+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(k,pt)|0))<<13)|0;c=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(z,Q),i=(i=Math.imul(z,tt))+Math.imul(K,Q)|0,o=Math.imul(K,tt),n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(U,rt)|0,o=o+Math.imul(U,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(L,ot)|0,o=o+Math.imul(L,st)|0,n=n+Math.imul(B,ut)|0,i=(i=i+Math.imul(B,ct)|0)+Math.imul(P,ut)|0,o=o+Math.imul(P,ct)|0,n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,dt)|0;var Bt=(c+(n=n+Math.imul(_,pt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(A,pt)|0))<<13)|0;c=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(z,rt),i=(i=Math.imul(z,nt))+Math.imul(K,rt)|0,o=Math.imul(K,nt),n=n+Math.imul(C,ot)|0,i=(i=i+Math.imul(C,st)|0)+Math.imul(U,ot)|0,o=o+Math.imul(U,st)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,ct)|0)+Math.imul(L,ut)|0,o=o+Math.imul(L,ct)|0,n=n+Math.imul(B,lt)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,dt)|0;var Pt=(c+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(E,pt)|0))<<13)|0;c=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(z,ot),i=(i=Math.imul(z,st))+Math.imul(K,ot)|0,o=Math.imul(K,st),n=n+Math.imul(C,ut)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(U,ut)|0,o=o+Math.imul(U,ct)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,dt)|0)+Math.imul(L,lt)|0,o=o+Math.imul(L,dt)|0;var Tt=(c+(n=n+Math.imul(B,pt)|0)|0)+((8191&(i=(i=i+Math.imul(B,mt)|0)+Math.imul(P,pt)|0))<<13)|0;c=((o=o+Math.imul(P,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,ut),i=(i=Math.imul(z,ct))+Math.imul(K,ut)|0,o=Math.imul(K,ct),n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,dt)|0)+Math.imul(U,lt)|0,o=o+Math.imul(U,dt)|0;var Rt=(c+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(L,pt)|0))<<13)|0;c=((o=o+Math.imul(L,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(z,lt),i=(i=Math.imul(z,dt))+Math.imul(K,lt)|0,o=Math.imul(K,dt);var Lt=(c+(n=n+Math.imul(C,pt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(U,pt)|0))<<13)|0;c=((o=o+Math.imul(U,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863;var Ot=(c+(n=Math.imul(z,pt))|0)+((8191&(i=(i=Math.imul(z,mt))+Math.imul(K,pt)|0))<<13)|0;return c=((o=Math.imul(K,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,u[0]=gt,u[1]=yt,u[2]=wt,u[3]=bt,u[4]=vt,u[5]=kt,u[6]=St,u[7]=_t,u[8]=At,u[9]=Mt,u[10]=It,u[11]=Et,u[12]=xt,u[13]=Bt,u[14]=Pt,u[15]=Tt,u[16]=Rt,u[17]=Lt,u[18]=Ot,0!==c&&(u[19]=c,r.length++),r};function y(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,u=Math.min(o,e.length-1),c=Math.max(0,o-t.length+1);c<=u;c++){var h=o-c,l=(0|t.words[h])*(0|e.words[c]),d=67108863&l;a=67108863&(d=d+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function w(t,e,r){return y(t,e,r)}Math.imul||(g=m),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):r<63?m(this,t,e):r<1024?y(this,t,e):w(this,t,e)},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),w(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var n=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,s=(67108863&o)+(67108863&n);n>>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),e?this.ineg():this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=t.words[n]>>>i&1}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var o=r.sqr();n<e.length;n++,o=o.sqr())0!==e[n]&&(r=r.mul(o));return r},i.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,u=(0|this.words[e])-a<<n;this.words[e]=u|s,s=a>>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,n){var i;r("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,u=n;if(i-=s,i=Math.max(0,i),u){for(var c=0;c<s;c++)u.words[c]=this.words[c];u.length=s}if(0===s);else if(this.length>s)for(this.length-=s,c=0;c<this.length;c++)this.words[c]=this.words[c+s];else this.words[0]=0,this.length=1;var h=0;for(c=this.length-1;c>=0&&(0!==h||c>=i);c--){var l=0|this.words[c];this.words[c]=h<<26-o|l>>>o,h=l&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n||!(this.words[n]&i))},i.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,n){var i,o,s=t.length+n;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+n])+a;var u=(0|t.words[i])*e;a=((o-=67108863&u)>>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),n.iushln(r),s=0|o.words[o.length-1]);var a,u=n.length-o.length;if("mod"!==e){(a=new i(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var h=n.clone()._ishlnsubmul(o,1,u);0===h.negative&&(n=h,a&&(a.words[u]=1));for(var l=u-1;l>=0;l--){var d=67108864*(0|n.words[o.length+l])+(0|n.words[o.length+l-1]);for(d=Math.min(d/s|0,67108863),n._ishlnsubmul(o,d,l);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(o,1,l),n.isZero()||(n.negative^=1);a&&(a.words[l]=d)}return a&&a._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},i.prototype.modn=function(t){return this.modrn(t)},i.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),s=new i(0),a=new i(0),u=new i(1),c=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++c;for(var h=n.clone(),l=e.clone();!e.isZero();){for(var d=0,f=1;0==(e.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(h),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(l)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(a),s.isub(u)):(n.isub(e),a.isub(o),u.isub(s))}return{a:a,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new i(1),a=new i(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,h=1;0==(e.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(e.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new M(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var b={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function k(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function S(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function I(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(k,v),k.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},k.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},n(S,v),n(_,v),n(A,v),A.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(b[t])return b[t];var e;if("k256"===t)e=new k;else if("p224"===t)e=new S;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new A}return b[t]=e,e},M.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(h(t,t.umod(this.m)._forceRed(this)),t)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new i(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var l=this.pow(h,o),d=this.pow(t,o.addn(1).iushrn(1)),f=this.pow(t,o),p=s;0!==f.cmp(a);){for(var m=f,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new i(1).iushln(p-g-1));d=d.redMul(y),l=y.redSqr(),f=f.redMul(l),p=g}return d},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var o=r[0],s=0,a=0,u=e.bitLength()%26;for(0===u&&(u=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],h=u-1;h>=0;h--){var l=c>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++a||0===n&&0===h)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}u=26}return o},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new I(t)},n(I,M),I.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},I.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},I.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},I.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},I.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(Ht,t);var Vt=-1;function Gt(t){this.tokens=[].slice.call(t)}Gt.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():Vt},prepend:function(t){if(Array.isArray(t))for(var e=t;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(t)},push:function(t){if(Array.isArray(t))for(var e=t;e.length;)this.tokens.push(e.shift());else this.tokens.push(t)}};var Zt=-1;function Yt(t,e){if(t)throw TypeError("Decoder error");return e||65533}var Jt="utf-8";function Xt(t,e){if(!(this instanceof Xt))return new Xt(t,e);if((t=void 0!==t?String(t).toLowerCase():Jt)!==Jt)throw new Error("Encoding not supported. Only utf-8 is supported");e=$t(e),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=Boolean(e.fatal),this._ignoreBOM=Boolean(e.ignoreBOM),Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}function Qt(t,e){if(!(this instanceof Qt))return new Qt(t,e);if((t=void 0!==t?String(t).toLowerCase():Jt)!==Jt)throw new Error("Encoding not supported. Only utf-8 is supported");e=$t(e),this._streaming=!1,this._encoder=null,this._options={fatal:Boolean(e.fatal)},Object.defineProperty(this,"encoding",{value:"utf-8"})}function te(t){var e=t.fatal,r=0,n=0,i=0,o=128,s=191;this.handler=function(t,a){if(a===Vt&&0!==i)return i=0,Yt(e);if(a===Vt)return Zt;if(0===i){if(Ft(a,0,127))return a;if(Ft(a,194,223))i=1,r=a-192;else if(Ft(a,224,239))224===a&&(o=160),237===a&&(s=159),i=2,r=a-224;else{if(!Ft(a,240,244))return Yt(e);240===a&&(o=144),244===a&&(s=143),i=3,r=a-240}return r<<=6*i,null}if(!Ft(a,o,s))return r=i=n=0,o=128,s=191,t.prepend(a),Yt(e);if(o=128,s=191,r+=a-128<<6*(i-(n+=1)),n!==i)return null;var u=r;return r=i=n=0,u}}function ee(t){t.fatal,this.handler=function(t,e){if(e===Vt)return Zt;if(Ft(e,0,127))return e;var r,n;Ft(e,128,2047)?(r=1,n=192):Ft(e,2048,65535)?(r=2,n=224):Ft(e,65536,1114111)&&(r=3,n=240);for(var i=[(e>>6*r)+n];r>0;){var o=e>>6*(r-1);i.push(128|63&o),r-=1}return i}}Xt.prototype={decode:function(t,e){var r;r="object"==typeof t&&t instanceof ArrayBuffer?new Uint8Array(t):"object"==typeof t&&"buffer"in t&&t.buffer instanceof ArrayBuffer?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(0),e=$t(e),this._streaming||(this._decoder=new te({fatal:this._fatal}),this._BOMseen=!1),this._streaming=Boolean(e.stream);for(var n,i=new Gt(r),o=[];!i.endOfStream()&&(n=this._decoder.handler(i,i.read()))!==Zt;)null!==n&&(Array.isArray(n)?o.push.apply(o,n):o.push(n));if(!this._streaming){do{if((n=this._decoder.handler(i,i.read()))===Zt)break;null!==n&&(Array.isArray(n)?o.push.apply(o,n):o.push(n))}while(!i.endOfStream());this._decoder=null}return o.length&&(-1===["utf-8"].indexOf(this.encoding)||this._ignoreBOM||this._BOMseen||(65279===o[0]?(this._BOMseen=!0,o.shift()):this._BOMseen=!0)),function(t){for(var e="",r=0;r<t.length;++r){var n=t[r];n<=65535?e+=String.fromCharCode(n):(n-=65536,e+=String.fromCharCode(55296+(n>>10),56320+(1023&n)))}return e}(o)}},Qt.prototype={encode:function(t,e){t=t?String(t):"",e=$t(e),this._streaming||(this._encoder=new ee(this._options)),this._streaming=Boolean(e.stream);for(var r,n=[],i=new Gt(function(t){for(var e=String(t),r=e.length,n=0,i=[];n<r;){var o=e.charCodeAt(n);if(o<55296||o>57343)i.push(o);else if(56320<=o&&o<=57343)i.push(65533);else if(55296<=o&&o<=56319)if(n===r-1)i.push(65533);else{var s=t.charCodeAt(n+1);if(56320<=s&&s<=57343){var a=1023&o,u=1023&s;i.push(65536+(a<<10)+u),n+=1}else i.push(65533)}n+=1}return i}(t));!i.endOfStream()&&(r=this._encoder.handler(i,i.read()))!==Zt;)Array.isArray(r)?n.push.apply(n,r):n.push(r);if(!this._streaming){for(;(r=this._encoder.handler(i,i.read()))!==Zt;)Array.isArray(r)?n.push.apply(n,r):n.push(r);this._encoder=null}return new Uint8Array(n)}};var re=e(Object.freeze({__proto__:null,TextEncoder:Qt,TextDecoder:Xt})),ne=t&&t.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),ie=t&&t.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),oe=t&&t.__decorate||function(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s},se=t&&t.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.hasOwnProperty.call(t,r)&&ne(e,t,r);return ie(e,t),e},ae=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jt,"__esModule",{value:!0});var ue=jt.deserializeUnchecked=Ae=jt.deserialize=ke=jt.serialize=jt.BinaryReader=jt.BinaryWriter=jt.BorshError=jt.baseDecode=jt.baseEncode=void 0;const ce=ae(Ht.exports),he=ae(Ct),le=se(re),de=new("function"!=typeof TextDecoder?le.TextDecoder:TextDecoder)("utf-8",{fatal:!0});jt.baseEncode=function(t){return"string"==typeof t&&(t=Buffer.from(t,"utf8")),he.default.encode(Buffer.from(t))},jt.baseDecode=function(t){return Buffer.from(he.default.decode(t))};const fe=1024;class pe extends Error{constructor(t){super(t),this.fieldPath=[],this.originalMessage=t}addToFieldPath(t){this.fieldPath.splice(0,0,t),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}jt.BorshError=pe;class me{constructor(){this.buf=Buffer.alloc(fe),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(fe)]))}writeU8(t){this.maybeResize(),this.buf.writeUInt8(t,this.length),this.length+=1}writeU16(t){this.maybeResize(),this.buf.writeUInt16LE(t,this.length),this.length+=2}writeU32(t){this.maybeResize(),this.buf.writeUInt32LE(t,this.length),this.length+=4}writeU64(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ce.default(t).toArray("le",8)))}writeU128(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ce.default(t).toArray("le",16)))}writeU256(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ce.default(t).toArray("le",32)))}writeU512(t){this.maybeResize(),this.writeBuffer(Buffer.from(new ce.default(t).toArray("le",64)))}writeBuffer(t){this.buf=Buffer.concat([Buffer.from(this.buf.subarray(0,this.length)),t,Buffer.alloc(fe)]),this.length+=t.length}writeString(t){this.maybeResize();const e=Buffer.from(t,"utf8");this.writeU32(e.length),this.writeBuffer(e)}writeFixedArray(t){this.writeBuffer(Buffer.from(t))}writeArray(t,e){this.maybeResize(),this.writeU32(t.length);for(const r of t)this.maybeResize(),e(r)}toArray(){return this.buf.subarray(0,this.length)}}function ge(t,e,r){const n=r.value;r.value=function(...t){try{return n.apply(this,t)}catch(t){if(t instanceof RangeError){const e=t.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(e)>=0)throw new pe("Reached the end of buffer when deserializing")}throw t}}}jt.BinaryWriter=me;class ye{constructor(t){this.buf=t,this.offset=0}readU8(){const t=this.buf.readUInt8(this.offset);return this.offset+=1,t}readU16(){const t=this.buf.readUInt16LE(this.offset);return this.offset+=2,t}readU32(){const t=this.buf.readUInt32LE(this.offset);return this.offset+=4,t}readU64(){const t=this.readBuffer(8);return new ce.default(t,"le")}readU128(){const t=this.readBuffer(16);return new ce.default(t,"le")}readU256(){const t=this.readBuffer(32);return new ce.default(t,"le")}readU512(){const t=this.readBuffer(64);return new ce.default(t,"le")}readBuffer(t){if(this.offset+t>this.buf.length)throw new pe(`Expected buffer length ${t} isn't within bounds`);const e=this.buf.slice(this.offset,this.offset+t);return this.offset+=t,e}readString(){const t=this.readU32(),e=this.readBuffer(t);try{return de.decode(e)}catch(t){throw new pe(`Error decoding UTF-8 string: ${t}`)}}readFixedArray(t){return new Uint8Array(this.readBuffer(t))}readArray(t){const e=this.readU32(),r=Array();for(let n=0;n<e;++n)r.push(t());return r}}function we(t){return t.charAt(0).toUpperCase()+t.slice(1)}function be(t,e,r,n,i){try{if("string"==typeof n)i[`write${we(n)}`](r);else if(n instanceof Array)if("number"==typeof n[0]){if(r.length!==n[0])throw new pe(`Expecting byte array of length ${n[0]}, but got ${r.length} bytes`);i.writeFixedArray(r)}else if(2===n.length&&"number"==typeof n[1]){if(r.length!==n[1])throw new pe(`Expecting byte array of length ${n[1]}, but got ${r.length} bytes`);for(let e=0;e<n[1];e++)be(t,null,r[e],n[0],i)}else i.writeArray(r,(r=>{be(t,e,r,n[0],i)}));else if(void 0!==n.kind)switch(n.kind){case"option":null==r?i.writeU8(0):(i.writeU8(1),be(t,e,r,n.type,i));break;case"map":i.writeU32(r.size),r.forEach(((r,o)=>{be(t,e,o,n.key,i),be(t,e,r,n.value,i)}));break;default:throw new pe(`FieldType ${n} unrecognized`)}else ve(t,r,i)}catch(t){throw t instanceof pe&&t.addToFieldPath(e),t}}function ve(t,e,r){if("function"==typeof e.borshSerialize)return void e.borshSerialize(r);const n=t.get(e.constructor);if(!n)throw new pe(`Class ${e.constructor.name} is missing in schema`);if("struct"===n.kind)n.fields.map((([n,i])=>{be(t,n,e[n],i,r)}));else{if("enum"!==n.kind)throw new pe(`Unexpected schema kind: ${n.kind} for ${e.constructor.name}`);{const i=e[n.field];for(let o=0;o<n.values.length;++o){const[s,a]=n.values[o];if(s===i){r.writeU8(o),be(t,s,e[s],a,r);break}}}}}oe([ge],ye.prototype,"readU8",null),oe([ge],ye.prototype,"readU16",null),oe([ge],ye.prototype,"readU32",null),oe([ge],ye.prototype,"readU64",null),oe([ge],ye.prototype,"readU128",null),oe([ge],ye.prototype,"readU256",null),oe([ge],ye.prototype,"readU512",null),oe([ge],ye.prototype,"readString",null),oe([ge],ye.prototype,"readFixedArray",null),oe([ge],ye.prototype,"readArray",null),jt.BinaryReader=ye;var ke=jt.serialize=function(t,e,r=me){const n=new r;return ve(t,e,n),n.toArray()};function Se(t,e,r,n){try{if("string"==typeof r)return n[`read${we(r)}`]();if(r instanceof Array){if("number"==typeof r[0])return n.readFixedArray(r[0]);if("number"==typeof r[1]){const e=[];for(let i=0;i<r[1];i++)e.push(Se(t,null,r[0],n));return e}return n.readArray((()=>Se(t,e,r[0],n)))}if("option"===r.kind){return n.readU8()?Se(t,e,r.type,n):void 0}if("map"===r.kind){let i=new Map;const o=n.readU32();for(let s=0;s<o;s++){const o=Se(t,e,r.key,n),s=Se(t,e,r.value,n);i.set(o,s)}return i}return _e(t,r,n)}catch(t){throw t instanceof pe&&t.addToFieldPath(e),t}}function _e(t,e,r){if("function"==typeof e.borshDeserialize)return e.borshDeserialize(r);const n=t.get(e);if(!n)throw new pe(`Class ${e.name} is missing in schema`);if("struct"===n.kind){const n={};for(const[i,o]of t.get(e).fields)n[i]=Se(t,i,o,r);return new e(n)}if("enum"===n.kind){const i=r.readU8();if(i>=n.values.length)throw new pe(`Enum index: ${i} is out of range`);const[o,s]=n.values[i];return new e({[o]:Se(t,o,s,r)})}throw new pe(`Unexpected schema kind: ${n.kind} for ${e.constructor.name}`)}var Ae=jt.deserialize=function(t,e,r,n=ye){const i=new n(r),o=_e(t,e,i);if(i.offset<r.length)throw new pe(`Unexpected ${r.length-i.offset} bytes after deserialized data`);return o};ue=jt.deserializeUnchecked=function(t,e,r,n=ye){return _e(t,e,new n(r))};var Me={};Object.defineProperty(Me,"__esModule",{value:!0}),Me.s16=Me.s8=Me.nu64be=Me.u48be=Me.u40be=Me.u32be=Me.u24be=Me.u16be=fr=Me.nu64=Me.u48=Me.u40=dr=Me.u32=Me.u24=lr=Me.u16=hr=Me.u8=cr=Me.offset=Me.greedy=Me.Constant=Me.UTF8=Me.CString=Me.Blob=Me.Boolean=Me.BitField=Me.BitStructure=Me.VariantLayout=Me.Union=Me.UnionLayoutDiscriminator=Me.UnionDiscriminator=Me.Structure=Me.Sequence=Me.DoubleBE=Me.Double=Me.FloatBE=Me.Float=Me.NearInt64BE=Me.NearInt64=Me.NearUInt64BE=Me.NearUInt64=Me.IntBE=Me.Int=Me.UIntBE=Me.UInt=Me.OffsetLayout=Me.GreedyCount=Me.ExternalLayout=Me.bindConstructorLayout=Me.nameWithProperty=Me.Layout=Me.uint8ArrayToBuffer=Me.checkUint8Array=void 0,Me.constant=Me.utf8=Me.cstr=yr=Me.blob=Me.unionLayoutDiscriminator=Me.union=gr=Me.seq=Me.bits=mr=Me.struct=Me.f64be=Me.f64=Me.f32be=Me.f32=Me.ns64be=Me.s48be=Me.s40be=Me.s32be=Me.s24be=Me.s16be=pr=Me.ns64=Me.s48=Me.s40=Me.s32=Me.s24=void 0;const Ie=o;function Ee(t){if(!(t instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}function xe(t){return Ee(t),Ie.Buffer.from(t.buffer,t.byteOffset,t.length)}Me.checkUint8Array=Ee,Me.uint8ArrayToBuffer=xe;class Be{constructor(t,e){if(!Number.isInteger(t))throw new TypeError("span must be an integer");this.span=t,this.property=e}makeDestinationObject(){return{}}getSpan(t,e){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(t){const e=Object.create(this.constructor.prototype);return Object.assign(e,this),e.property=t,e}fromArray(t){}}function Pe(t,e){return e.property?t+"["+e.property+"]":t}Me.Layout=Be,Me.nameWithProperty=Pe,Me.bindConstructorLayout=function(t,e){if("function"!=typeof t)throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(t,"layout_"))throw new Error("Class is already bound to a layout");if(!(e&&e instanceof Be))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(e,"boundConstructor_"))throw new Error("layout is already bound to a constructor");t.layout_=e,e.boundConstructor_=t,e.makeDestinationObject=()=>new t,Object.defineProperty(t.prototype,"encode",{value(t,r){return e.encode(this,t,r)},writable:!0}),Object.defineProperty(t,"decode",{value:(t,r)=>e.decode(t,r),writable:!0})};class Te extends Be{isCount(){throw new Error("ExternalLayout is abstract")}}Me.ExternalLayout=Te;class Re extends Te{constructor(t=1,e){if(!Number.isInteger(t)||0>=t)throw new TypeError("elementSpan must be a (positive) integer");super(-1,e),this.elementSpan=t}isCount(){return!0}decode(t,e=0){Ee(t);const r=t.length-e;return Math.floor(r/this.elementSpan)}encode(t,e,r){return 0}}Me.GreedyCount=Re;class Le extends Te{constructor(t,e=0,r){if(!(t instanceof Be))throw new TypeError("layout must be a Layout");if(!Number.isInteger(e))throw new TypeError("offset must be integer or undefined");super(t.span,r||t.property),this.layout=t,this.offset=e}isCount(){return this.layout instanceof Oe||this.layout instanceof Ce}decode(t,e=0){return this.layout.decode(t,e+this.offset)}encode(t,e,r=0){return this.layout.encode(t,e,r+this.offset)}}Me.OffsetLayout=Le;class Oe extends Be{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return xe(t).readUIntLE(e,this.span)}encode(t,e,r=0){return xe(e).writeUIntLE(t,r,this.span),this.span}}Me.UInt=Oe;class Ce extends Be{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return xe(t).readUIntBE(e,this.span)}encode(t,e,r=0){return xe(e).writeUIntBE(t,r,this.span),this.span}}Me.UIntBE=Ce;class Ue extends Be{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return xe(t).readIntLE(e,this.span)}encode(t,e,r=0){return xe(e).writeIntLE(t,r,this.span),this.span}}Me.Int=Ue;class Ne extends Be{constructor(t,e){if(super(t,e),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(t,e=0){return xe(t).readIntBE(e,this.span)}encode(t,e,r=0){return xe(e).writeIntBE(t,r,this.span),this.span}}Me.IntBE=Ne;const ze=Math.pow(2,32);function Ke(t){const e=Math.floor(t/ze);return{hi32:e,lo32:t-e*ze}}function We(t,e){return t*ze+e}class qe extends Be{constructor(t){super(8,t)}decode(t,e=0){const r=xe(t),n=r.readUInt32LE(e);return We(r.readUInt32LE(e+4),n)}encode(t,e,r=0){const n=Ke(t),i=xe(e);return i.writeUInt32LE(n.lo32,r),i.writeUInt32LE(n.hi32,r+4),8}}Me.NearUInt64=qe;class De extends Be{constructor(t){super(8,t)}decode(t,e=0){const r=xe(t);return We(r.readUInt32BE(e),r.readUInt32BE(e+4))}encode(t,e,r=0){const n=Ke(t),i=xe(e);return i.writeUInt32BE(n.hi32,r),i.writeUInt32BE(n.lo32,r+4),8}}Me.NearUInt64BE=De;class je extends Be{constructor(t){super(8,t)}decode(t,e=0){const r=xe(t),n=r.readUInt32LE(e);return We(r.readInt32LE(e+4),n)}encode(t,e,r=0){const n=Ke(t),i=xe(e);return i.writeUInt32LE(n.lo32,r),i.writeInt32LE(n.hi32,r+4),8}}Me.NearInt64=je;class He extends Be{constructor(t){super(8,t)}decode(t,e=0){const r=xe(t);return We(r.readInt32BE(e),r.readUInt32BE(e+4))}encode(t,e,r=0){const n=Ke(t),i=xe(e);return i.writeInt32BE(n.hi32,r),i.writeUInt32BE(n.lo32,r+4),8}}Me.NearInt64BE=He;class Fe extends Be{constructor(t){super(4,t)}decode(t,e=0){return xe(t).readFloatLE(e)}encode(t,e,r=0){return xe(e).writeFloatLE(t,r),4}}Me.Float=Fe;class $e extends Be{constructor(t){super(4,t)}decode(t,e=0){return xe(t).readFloatBE(e)}encode(t,e,r=0){return xe(e).writeFloatBE(t,r),4}}Me.FloatBE=$e;class Ve extends Be{constructor(t){super(8,t)}decode(t,e=0){return xe(t).readDoubleLE(e)}encode(t,e,r=0){return xe(e).writeDoubleLE(t,r),8}}Me.Double=Ve;class Ge extends Be{constructor(t){super(8,t)}decode(t,e=0){return xe(t).readDoubleBE(e)}encode(t,e,r=0){return xe(e).writeDoubleBE(t,r),8}}Me.DoubleBE=Ge;class Ze extends Be{constructor(t,e,r){if(!(t instanceof Be))throw new TypeError("elementLayout must be a Layout");if(!(e instanceof Te&&e.isCount()||Number.isInteger(e)&&0<=e))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let n=-1;!(e instanceof Te)&&0<t.span&&(n=e*t.span),super(n,r),this.elementLayout=t,this.count=e}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0,n=this.count;if(n instanceof Te&&(n=n.decode(t,e)),0<this.elementLayout.span)r=n*this.elementLayout.span;else{let i=0;for(;i<n;)r+=this.elementLayout.getSpan(t,e+r),++i}return r}decode(t,e=0){const r=[];let n=0,i=this.count;for(i instanceof Te&&(i=i.decode(t,e));n<i;)r.push(this.elementLayout.decode(t,e)),e+=this.elementLayout.getSpan(t,e),n+=1;return r}encode(t,e,r=0){const n=this.elementLayout,i=t.reduce(((t,i)=>t+n.encode(i,e,r+t)),0);return this.count instanceof Te&&this.count.encode(t.length,e,r),i}}Me.Sequence=Ze;class Ye extends Be{constructor(t,e,r){if(!Array.isArray(t)||!t.reduce(((t,e)=>t&&e instanceof Be),!0))throw new TypeError("fields must be array of Layout instances");"boolean"==typeof e&&void 0===r&&(r=e,e=void 0);for(const e of t)if(0>e.span&&void 0===e.property)throw new Error("fields cannot contain unnamed variable-length layout");let n=-1;try{n=t.reduce(((t,e)=>t+e.getSpan()),0)}catch(t){}super(n,e),this.fields=t,this.decodePrefixes=!!r}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0;try{r=this.fields.reduce(((r,n)=>{const i=n.getSpan(t,e);return e+=i,r+i}),0)}catch(t){throw new RangeError("indeterminate span")}return r}decode(t,e=0){Ee(t);const r=this.makeDestinationObject();for(const n of this.fields)if(void 0!==n.property&&(r[n.property]=n.decode(t,e)),e+=n.getSpan(t,e),this.decodePrefixes&&t.length===e)break;return r}encode(t,e,r=0){const n=r;let i=0,o=0;for(const n of this.fields){let s=n.span;if(o=0<s?s:0,void 0!==n.property){const i=t[n.property];void 0!==i&&(o=n.encode(i,e,r),0>s&&(s=n.getSpan(e,r)))}i=r,r+=s}return i+o-n}fromArray(t){const e=this.makeDestinationObject();for(const r of this.fields)void 0!==r.property&&0<t.length&&(e[r.property]=t.shift());return e}layoutFor(t){if("string"!=typeof t)throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}offsetOf(t){if("string"!=typeof t)throw new TypeError("property must be string");let e=0;for(const r of this.fields){if(r.property===t)return e;0>r.span?e=-1:0<=e&&(e+=r.span)}}}Me.Structure=Ye;class Je{constructor(t){this.property=t}decode(t,e){throw new Error("UnionDiscriminator is abstract")}encode(t,e,r){throw new Error("UnionDiscriminator is abstract")}}Me.UnionDiscriminator=Je;class Xe extends Je{constructor(t,e){if(!(t instanceof Te&&t.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(e||t.property||"variant"),this.layout=t}decode(t,e){return this.layout.decode(t,e)}encode(t,e,r){return this.layout.encode(t,e,r)}}Me.UnionLayoutDiscriminator=Xe;class Qe extends Be{constructor(t,e,r){let n;if(t instanceof Oe||t instanceof Ce)n=new Xe(new Le(t));else if(t instanceof Te&&t.isCount())n=new Xe(t);else{if(!(t instanceof Je))throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");n=t}if(void 0===e&&(e=null),!(null===e||e instanceof Be))throw new TypeError("defaultLayout must be null or a Layout");if(null!==e){if(0>e.span)throw new Error("defaultLayout must have constant span");void 0===e.property&&(e=e.replicate("content"))}let i=-1;e&&(i=e.span,0<=i&&(t instanceof Oe||t instanceof Ce)&&(i+=n.layout.span)),super(i,r),this.discriminator=n,this.usesPrefixDiscriminator=t instanceof Oe||t instanceof Ce,this.defaultLayout=e,this.registry={};let o=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(t){return o(t)},this.configGetSourceVariant=function(t){o=t.bind(this)}}getSpan(t,e=0){if(0<=this.span)return this.span;const r=this.getVariant(t,e);if(!r)throw new Error("unable to determine span for unrecognized variant");return r.getSpan(t,e)}defaultGetSourceVariant(t){if(Object.prototype.hasOwnProperty.call(t,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(t,this.defaultLayout.property))return;const e=this.registry[t[this.discriminator.property]];if(e&&(!e.layout||e.property&&Object.prototype.hasOwnProperty.call(t,e.property)))return e}else for(const e in this.registry){const r=this.registry[e];if(r.property&&Object.prototype.hasOwnProperty.call(t,r.property))return r}throw new Error("unable to infer src variant")}decode(t,e=0){let r;const n=this.discriminator,i=n.decode(t,e),o=this.registry[i];if(void 0===o){const o=this.defaultLayout;let s=0;this.usesPrefixDiscriminator&&(s=n.layout.span),r=this.makeDestinationObject(),r[n.property]=i,r[o.property]=o.decode(t,e+s)}else r=o.decode(t,e);return r}encode(t,e,r=0){const n=this.getSourceVariant(t);if(void 0===n){const n=this.discriminator,i=this.defaultLayout;let o=0;return this.usesPrefixDiscriminator&&(o=n.layout.span),n.encode(t[n.property],e,r),o+i.encode(t[i.property],e,r+o)}return n.encode(t,e,r)}addVariant(t,e,r){const n=new tr(this,t,e,r);return this.registry[t]=n,n}getVariant(t,e=0){let r;return r=t instanceof Uint8Array?this.discriminator.decode(t,e):t,this.registry[r]}}Me.Union=Qe;class tr extends Be{constructor(t,e,r,n){if(!(t instanceof Qe))throw new TypeError("union must be a Union");if(!Number.isInteger(e)||0>e)throw new TypeError("variant must be a (non-negative) integer");if("string"==typeof r&&void 0===n&&(n=r,r=null),r){if(!(r instanceof Be))throw new TypeError("layout must be a Layout");if(null!==t.defaultLayout&&0<=r.span&&r.span>t.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if("string"!=typeof n)throw new TypeError("variant must have a String property")}let i=t.span;0>t.span&&(i=r?r.span:0,0<=i&&t.usesPrefixDiscriminator&&(i+=t.discriminator.layout.span)),super(i,n),this.union=t,this.variant=e,this.layout=r||null}getSpan(t,e=0){if(0<=this.span)return this.span;let r=0;this.union.usesPrefixDiscriminator&&(r=this.union.discriminator.layout.span);let n=0;return this.layout&&(n=this.layout.getSpan(t,e+r)),r+n}decode(t,e=0){const r=this.makeDestinationObject();if(this!==this.union.getVariant(t,e))throw new Error("variant mismatch");let n=0;return this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),this.layout?r[this.property]=this.layout.decode(t,e+n):this.property?r[this.property]=!0:this.union.usesPrefixDiscriminator&&(r[this.union.discriminator.property]=this.variant),r}encode(t,e,r=0){let n=0;if(this.union.usesPrefixDiscriminator&&(n=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(t,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,e,r);let i=n;if(this.layout&&(this.layout.encode(t[this.property],e,r+n),i+=this.layout.getSpan(e,r+n),0<=this.union.span&&i>this.union.span))throw new Error("encoded variant overruns containing union");return i}fromArray(t){if(this.layout)return this.layout.fromArray(t)}}function er(t){return 0>t&&(t+=4294967296),t}Me.VariantLayout=tr;class rr extends Be{constructor(t,e,r){if(!(t instanceof Oe||t instanceof Ce))throw new TypeError("word must be a UInt or UIntBE layout");if("string"==typeof e&&void 0===r&&(r=e,e=!1),4<t.span)throw new RangeError("word cannot exceed 32 bits");super(t.span,r),this.word=t,this.msb=!!e,this.fields=[];let n=0;this._packedSetValue=function(t){return n=er(t),this},this._packedGetValue=function(){return n}}decode(t,e=0){const r=this.makeDestinationObject(),n=this.word.decode(t,e);this._packedSetValue(n);for(const e of this.fields)void 0!==e.property&&(r[e.property]=e.decode(t));return r}encode(t,e,r=0){const n=this.word.decode(e,r);this._packedSetValue(n);for(const e of this.fields)if(void 0!==e.property){const r=t[e.property];void 0!==r&&e.encode(r)}return this.word.encode(this._packedGetValue(),e,r)}addField(t,e){const r=new nr(this,t,e);return this.fields.push(r),r}addBoolean(t){const e=new ir(this,t);return this.fields.push(e),e}fieldFor(t){if("string"!=typeof t)throw new TypeError("property must be string");for(const e of this.fields)if(e.property===t)return e}}Me.BitStructure=rr;class nr{constructor(t,e,r){if(!(t instanceof rr))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(e)||0>=e)throw new TypeError("bits must be positive integer");const n=8*t.span,i=t.fields.reduce(((t,e)=>t+e.bits),0);if(e+i>n)throw new Error("bits too long for span remainder ("+(n-i)+" of "+n+" remain)");this.container=t,this.bits=e,this.valueMask=(1<<e)-1,32===e&&(this.valueMask=4294967295),this.start=i,this.container.msb&&(this.start=n-i-e),this.wordMask=er(this.valueMask<<this.start),this.property=r}decode(t,e){return er(this.container._packedGetValue()&this.wordMask)>>>this.start}encode(t){if("number"!=typeof t||!Number.isInteger(t)||t!==er(t&this.valueMask))throw new TypeError(Pe("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const e=this.container._packedGetValue(),r=er(t<<this.start);this.container._packedSetValue(er(e&~this.wordMask)|r)}}Me.BitField=nr;class ir extends nr{constructor(t,e){super(t,1,e)}decode(t,e){return!!super.decode(t,e)}encode(t){"boolean"==typeof t&&(t=+t),super.encode(t)}}Me.Boolean=ir;class or extends Be{constructor(t,e){if(!(t instanceof Te&&t.isCount()||Number.isInteger(t)&&0<=t))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let r=-1;t instanceof Te||(r=t),super(r,e),this.length=t}getSpan(t,e){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),r}decode(t,e=0){let r=this.span;return 0>r&&(r=this.length.decode(t,e)),xe(t).slice(e,e+r)}encode(t,e,r){let n=this.length;if(this.length instanceof Te&&(n=t.length),!(t instanceof Uint8Array&&n===t.length))throw new TypeError(Pe("Blob.encode",this)+" requires (length "+n+") Uint8Array as src");if(r+n>e.length)throw new RangeError("encoding overruns Uint8Array");const i=xe(t);return xe(e).write(i.toString("hex"),r,n,"hex"),this.length instanceof Te&&this.length.encode(n,e,r),n}}Me.Blob=or;class sr extends Be{constructor(t){super(-1,t)}getSpan(t,e=0){Ee(t);let r=e;for(;r<t.length&&0!==t[r];)r+=1;return 1+r-e}decode(t,e=0){const r=this.getSpan(t,e);return xe(t).slice(e,e+r-1).toString("utf-8")}encode(t,e,r=0){"string"!=typeof t&&(t=String(t));const n=Ie.Buffer.from(t,"utf8"),i=n.length;if(r+i>e.length)throw new RangeError("encoding overruns Buffer");const o=xe(e);return n.copy(o,r),o[r+i]=0,i+1}}Me.CString=sr;class ar extends Be{constructor(t,e){if("string"==typeof t&&void 0===e&&(e=t,t=void 0),void 0===t)t=-1;else if(!Number.isInteger(t))throw new TypeError("maxSpan must be an integer");super(-1,e),this.maxSpan=t}getSpan(t,e=0){return Ee(t),t.length-e}decode(t,e=0){const r=this.getSpan(t,e);if(0<=this.maxSpan&&this.maxSpan<r)throw new RangeError("text length exceeds maxSpan");return xe(t).slice(e,e+r).toString("utf-8")}encode(t,e,r=0){"string"!=typeof t&&(t=String(t));const n=Ie.Buffer.from(t,"utf8"),i=n.length;if(0<=this.maxSpan&&this.maxSpan<i)throw new RangeError("text length exceeds maxSpan");if(r+i>e.length)throw new RangeError("encoding overruns Buffer");return n.copy(xe(e),r),i}}Me.UTF8=ar;class ur extends Be{constructor(t,e){super(0,e),this.value=t}decode(t,e){return this.value}encode(t,e,r){return 0}}Me.Constant=ur,Me.greedy=(t,e)=>new Re(t,e);var cr=Me.offset=(t,e,r)=>new Le(t,e,r),hr=Me.u8=t=>new Oe(1,t),lr=Me.u16=t=>new Oe(2,t);Me.u24=t=>new Oe(3,t);var dr=Me.u32=t=>new Oe(4,t);Me.u40=t=>new Oe(5,t),Me.u48=t=>new Oe(6,t);var fr=Me.nu64=t=>new qe(t);Me.u16be=t=>new Ce(2,t),Me.u24be=t=>new Ce(3,t),Me.u32be=t=>new Ce(4,t),Me.u40be=t=>new Ce(5,t),Me.u48be=t=>new Ce(6,t),Me.nu64be=t=>new De(t),Me.s8=t=>new Ue(1,t),Me.s16=t=>new Ue(2,t),Me.s24=t=>new Ue(3,t),Me.s32=t=>new Ue(4,t),Me.s40=t=>new Ue(5,t),Me.s48=t=>new Ue(6,t);var pr=Me.ns64=t=>new je(t);Me.s16be=t=>new Ne(2,t),Me.s24be=t=>new Ne(3,t),Me.s32be=t=>new Ne(4,t),Me.s40be=t=>new Ne(5,t),Me.s48be=t=>new Ne(6,t),Me.ns64be=t=>new He(t),Me.f32=t=>new Fe(t),Me.f32be=t=>new $e(t),Me.f64=t=>new Ve(t),Me.f64be=t=>new Ge(t);var mr=Me.struct=(t,e,r)=>new Ye(t,e,r);Me.bits=(t,e,r)=>new rr(t,e,r);var gr=Me.seq=(t,e,r)=>new Ze(t,e,r);Me.union=(t,e,r)=>new Qe(t,e,r),Me.unionLayoutDiscriminator=(t,e)=>new Xe(t,e);var yr=Me.blob=(t,e)=>new or(t,e);Me.cstr=t=>new sr(t),Me.utf8=(t,e)=>new ar(t,e),Me.constant=(t,e)=>new ur(t,e);var wr={};Object.defineProperty(wr,"__esModule",{value:!0});var br=wr.toBigIntLE=function(t){{const e=Buffer.from(t);e.reverse();const r=e.toString("hex");return 0===r.length?BigInt(0):BigInt(`0x${r}`)}};wr.toBigIntBE=function(t){{const e=t.toString("hex");return 0===e.length?BigInt(0):BigInt(`0x${e}`)}};var vr,kr,Sr=wr.toBufferLE=function(t,e){{const r=t.toString(16),n=Buffer.from(r.padStart(2*e,"0").slice(0,2*e),"hex");return n.reverse(),n}};wr.toBufferBE=function(t,e){{const r=t.toString(16);return Buffer.from(r.padStart(2*e,"0").slice(0,2*e),"hex")}};class _r extends TypeError{constructor(t,e){let r;const{message:n,...i}=t,{path:o}=t;super(0===o.length?n:"At path: "+o.join(".")+" -- "+n),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>{var n;return null!=(n=r)?n:r=[t,...e()]}}}function Ar(t){return"object"==typeof t&&null!=t}function Mr(t){return"string"==typeof t?JSON.stringify(t):""+t}function Ir(t,e,r,n){if(!0===t)return;!1===t?t={}:"string"==typeof t&&(t={message:t});const{path:i,branch:o}=e,{type:s}=r,{refinement:a,message:u="Expected a value of type `"+s+"`"+(a?" with refinement `"+a+"`":"")+", but received: `"+Mr(n)+"`"}=t;return{value:n,type:s,refinement:a,key:i[i.length-1],path:i,branch:o,...t,message:u}}function*Er(t,e,r,n){var i;Ar(i=t)&&"function"==typeof i[Symbol.iterator]||(t=[t]);for(const i of t){const t=Ir(i,e,r,n);t&&(yield t)}}function*xr(t,e,r={}){const{path:n=[],branch:i=[t],coerce:o=!1,mask:s=!1}=r,a={path:n,branch:i};if(o&&(t=e.coercer(t,a),s&&"type"!==e.type&&Ar(e.schema)&&Ar(t)&&!Array.isArray(t)))for(const r in t)void 0===e.schema[r]&&delete t[r];let u=!0;for(const r of e.validator(t,a))u=!1,yield[r,void 0];for(let[r,c,h]of e.entries(t,a)){const e=xr(c,h,{path:void 0===r?n:[...n,r],branch:void 0===r?i:[...i,c],coerce:o,mask:s});for(const n of e)n[0]?(u=!1,yield[n[0],void 0]):o&&(c=n[1],void 0===r?t=c:t instanceof Map?t.set(r,c):t instanceof Set?t.add(c):Ar(t)&&(t[r]=c))}if(u)for(const r of e.refiner(t,a))u=!1,yield[r,void 0];u&&(yield[void 0,t])}class Br{constructor(t){const{type:e,schema:r,validator:n,refiner:i,coercer:o=(t=>t),entries:s=function*(){}}=t;this.type=e,this.schema=r,this.entries=s,this.coercer=o,this.validator=n?(t,e)=>Er(n(t,e),e,this,t):()=>[],this.refiner=i?(t,e)=>Er(i(t,e),e,this,t):()=>[]}assert(t){return Pr(t,this)}create(t){return Tr(t,this)}is(t){return Rr(t,this)}mask(t){return function(t,e){const r=Lr(t,e,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}(t,this)}validate(t,e={}){return Lr(t,this,e)}}function Pr(t,e){const r=Lr(t,e);if(r[0])throw r[0]}function Tr(t,e){const r=Lr(t,e,{coerce:!0});if(r[0])throw r[0];return r[1]}function Rr(t,e){return!Lr(t,e)[0]}function Lr(t,e,r={}){const n=xr(t,e,r),i=function(t){const{done:e,value:r}=t.next();return e?void 0:r}(n);if(i[0]){return[new _r(i[0],(function*(){for(const t of n)t[0]&&(yield t[0])})),void 0]}return[void 0,i[1]]}function Or(t,e){return new Br({type:t,schema:null,validator:e})}function Cr(t){return new Br({type:"array",schema:t,*entries(e){if(t&&Array.isArray(e))for(const[r,n]of e.entries())yield[r,n,t]},coercer:t=>Array.isArray(t)?t.slice():t,validator:t=>Array.isArray(t)||"Expected an array value, but received: "+Mr(t)})}function Ur(){return Or("boolean",(t=>"boolean"==typeof t))}function Nr(t){return Or("instance",(e=>e instanceof t||"Expected a `"+t.name+"` instance, but received: "+Mr(e)))}function zr(t){const e=Mr(t),r=typeof t;return new Br({type:"literal",schema:"string"===r||"number"===r||"boolean"===r?t:null,validator:r=>r===t||"Expected the literal `"+e+"`, but received: "+Mr(r)})}function Kr(t){return new Br({...t,validator:(e,r)=>null===e||t.validator(e,r),refiner:(e,r)=>null===e||t.refiner(e,r)})}function Wr(){return Or("number",(t=>"number"==typeof t&&!isNaN(t)||"Expected a number, but received: "+Mr(t)))}function qr(t){return new Br({...t,validator:(e,r)=>void 0===e||t.validator(e,r),refiner:(e,r)=>void 0===e||t.refiner(e,r)})}function Dr(t,e){return new Br({type:"record",schema:null,*entries(r){if(Ar(r))for(const n in r){const i=r[n];yield[n,n,t],yield[n,i,e]}},validator:t=>Ar(t)||"Expected an object, but received: "+Mr(t)})}function jr(){return Or("string",(t=>"string"==typeof t||"Expected a string, but received: "+Mr(t)))}function Hr(t){const e=Or("never",(()=>!1));return new Br({type:"tuple",schema:null,*entries(r){if(Array.isArray(r)){const n=Math.max(t.length,r.length);for(let i=0;i<n;i++)yield[i,r[i],t[i]||e]}},validator:t=>Array.isArray(t)||"Expected an array, but received: "+Mr(t)})}function Fr(t){const e=Object.keys(t);return new Br({type:"type",schema:t,*entries(r){if(Ar(r))for(const n of e)yield[n,r[n],t[n]]},validator:t=>Ar(t)||"Expected an object, but received: "+Mr(t)})}function $r(t){const e=t.map((t=>t.type)).join(" | ");return new Br({type:"union",schema:null,validator(r,n){const i=[];for(const e of t){const[...t]=xr(r,e,n),[o]=t;if(!o[0])return[];for(const[e]of t)e&&i.push(e)}return["Expected the value to satisfy a union of `"+e+"`, but received: "+Mr(r),...i]}})}function Vr(){return Or("unknown",(()=>!0))}function Gr(t,e,r){return new Br({...t,coercer:(n,i)=>Rr(n,e)?t.coercer(r(n,i),i):t.coercer(n,i)})}var Zr=0,Yr=0;function Jr(t){if(!d(t))throw TypeError("Invalid UUID");var e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r}function Xr(t,e,r){function n(t,n,i,o){if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e}(t)),"string"==typeof n&&(n=Jr(n)),16!==n.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var s=new Uint8Array(16+t.length);if(s.set(n),s.set(t,n.length),(s=r(s))[6]=15&s[6]|e,s[8]=63&s[8]|128,i){o=o||0;for(var a=0;a<16;++a)i[o+a]=s[a];return i}return l(s)}try{n.name=t}catch(t){}return n.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",n.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",n}function Qr(t){return 14+(t+64>>>9<<4)+1}function tn(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function en(t,e,r,n,i,o){return tn((s=tn(tn(e,t),tn(n,o)))<<(a=i)|s>>>32-a,r);var s,a}function rn(t,e,r,n,i,o,s){return en(e&r|~e&n,t,e,i,o,s)}function nn(t,e,r,n,i,o,s){return en(e&n|r&~n,t,e,i,o,s)}function on(t,e,r,n,i,o,s){return en(e^r^n,t,e,i,o,s)}function sn(t,e,r,n,i,o,s){return en(r^(e|~n),t,e,i,o,s)}var an=Xr("v3",48,(function(t){if("string"==typeof t){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var r=0;r<e.length;++r)t[r]=e.charCodeAt(r)}return function(t){for(var e=[],r=32*t.length,n="0123456789abcdef",i=0;i<r;i+=8){var o=t[i>>5]>>>i%32&255,s=parseInt(n.charAt(o>>>4&15)+n.charAt(15&o),16);e.push(s)}return e}(function(t,e){t[e>>5]|=128<<e%32,t[Qr(e)-1]=e;for(var r=1732584193,n=-271733879,i=-1732584194,o=271733878,s=0;s<t.length;s+=16){var a=r,u=n,c=i,h=o;r=rn(r,n,i,o,t[s],7,-680876936),o=rn(o,r,n,i,t[s+1],12,-389564586),i=rn(i,o,r,n,t[s+2],17,606105819),n=rn(n,i,o,r,t[s+3],22,-1044525330),r=rn(r,n,i,o,t[s+4],7,-176418897),o=rn(o,r,n,i,t[s+5],12,1200080426),i=rn(i,o,r,n,t[s+6],17,-1473231341),n=rn(n,i,o,r,t[s+7],22,-45705983),r=rn(r,n,i,o,t[s+8],7,1770035416),o=rn(o,r,n,i,t[s+9],12,-1958414417),i=rn(i,o,r,n,t[s+10],17,-42063),n=rn(n,i,o,r,t[s+11],22,-1990404162),r=rn(r,n,i,o,t[s+12],7,1804603682),o=rn(o,r,n,i,t[s+13],12,-40341101),i=rn(i,o,r,n,t[s+14],17,-1502002290),r=nn(r,n=rn(n,i,o,r,t[s+15],22,1236535329),i,o,t[s+1],5,-165796510),o=nn(o,r,n,i,t[s+6],9,-1069501632),i=nn(i,o,r,n,t[s+11],14,643717713),n=nn(n,i,o,r,t[s],20,-373897302),r=nn(r,n,i,o,t[s+5],5,-701558691),o=nn(o,r,n,i,t[s+10],9,38016083),i=nn(i,o,r,n,t[s+15],14,-660478335),n=nn(n,i,o,r,t[s+4],20,-405537848),r=nn(r,n,i,o,t[s+9],5,568446438),o=nn(o,r,n,i,t[s+14],9,-1019803690),i=nn(i,o,r,n,t[s+3],14,-187363961),n=nn(n,i,o,r,t[s+8],20,1163531501),r=nn(r,n,i,o,t[s+13],5,-1444681467),o=nn(o,r,n,i,t[s+2],9,-51403784),i=nn(i,o,r,n,t[s+7],14,1735328473),r=on(r,n=nn(n,i,o,r,t[s+12],20,-1926607734),i,o,t[s+5],4,-378558),o=on(o,r,n,i,t[s+8],11,-2022574463),i=on(i,o,r,n,t[s+11],16,1839030562),n=on(n,i,o,r,t[s+14],23,-35309556),r=on(r,n,i,o,t[s+1],4,-1530992060),o=on(o,r,n,i,t[s+4],11,1272893353),i=on(i,o,r,n,t[s+7],16,-155497632),n=on(n,i,o,r,t[s+10],23,-1094730640),r=on(r,n,i,o,t[s+13],4,681279174),o=on(o,r,n,i,t[s],11,-358537222),i=on(i,o,r,n,t[s+3],16,-722521979),n=on(n,i,o,r,t[s+6],23,76029189),r=on(r,n,i,o,t[s+9],4,-640364487),o=on(o,r,n,i,t[s+12],11,-421815835),i=on(i,o,r,n,t[s+15],16,530742520),r=sn(r,n=on(n,i,o,r,t[s+2],23,-995338651),i,o,t[s],6,-198630844),o=sn(o,r,n,i,t[s+7],10,1126891415),i=sn(i,o,r,n,t[s+14],15,-1416354905),n=sn(n,i,o,r,t[s+5],21,-57434055),r=sn(r,n,i,o,t[s+12],6,1700485571),o=sn(o,r,n,i,t[s+3],10,-1894986606),i=sn(i,o,r,n,t[s+10],15,-1051523),n=sn(n,i,o,r,t[s+1],21,-2054922799),r=sn(r,n,i,o,t[s+8],6,1873313359),o=sn(o,r,n,i,t[s+15],10,-30611744),i=sn(i,o,r,n,t[s+6],15,-1560198380),n=sn(n,i,o,r,t[s+13],21,1309151649),r=sn(r,n,i,o,t[s+4],6,-145523070),o=sn(o,r,n,i,t[s+11],10,-1120210379),i=sn(i,o,r,n,t[s+2],15,718787259),n=sn(n,i,o,r,t[s+9],21,-343485551),r=tn(r,a),n=tn(n,u),i=tn(i,c),o=tn(o,h)}return[r,n,i,o]}(function(t){if(0===t.length)return[];for(var e=8*t.length,r=new Uint32Array(Qr(e)),n=0;n<e;n+=8)r[n>>5]|=(255&t[n/8])<<n%32;return r}(t),8*t.length))})),un=an;function cn(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:case 3:return e^r^n;case 2:return e&r^e&n^r&n}}function hn(t,e){return t<<e|t>>>32-e}var ln=Xr("v5",80,(function(t){var e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){var n=unescape(encodeURIComponent(t));t=[];for(var i=0;i<n.length;++i)t.push(n.charCodeAt(i))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);for(var o=t.length/4+2,s=Math.ceil(o/16),a=new Array(s),u=0;u<s;++u){for(var c=new Uint32Array(16),h=0;h<16;++h)c[h]=t[64*u+4*h]<<24|t[64*u+4*h+1]<<16|t[64*u+4*h+2]<<8|t[64*u+4*h+3];a[u]=c}a[s-1][14]=8*(t.length-1)/Math.pow(2,32),a[s-1][14]=Math.floor(a[s-1][14]),a[s-1][15]=8*(t.length-1)&4294967295;for(var l=0;l<s;++l){for(var d=new Uint32Array(80),f=0;f<16;++f)d[f]=a[l][f];for(var p=16;p<80;++p)d[p]=hn(d[p-3]^d[p-8]^d[p-14]^d[p-16],1);for(var m=r[0],g=r[1],y=r[2],w=r[3],b=r[4],v=0;v<80;++v){var k=Math.floor(v/20),S=hn(m,5)+cn(k,g,y,w)+b+e[k]+d[v]>>>0;b=w,w=y,y=hn(g,30)>>>0,g=m,m=S}r[0]=r[0]+m>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+y>>>0,r[3]=r[3]+w>>>0,r[4]=r[4]+b>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]})),dn=ln;var fn=Object.freeze({__proto__:null,v1:function(t,e,r){var n=e&&r||0,i=e||new Array(16),o=(t=t||{}).node||vr,s=void 0!==t.clockseq?t.clockseq:kr;if(null==o||null==s){var a=t.random||(t.rng||h)();null==o&&(o=vr=[1|a[0],a[1],a[2],a[3],a[4],a[5]]),null==s&&(s=kr=16383&(a[6]<<8|a[7]))}var u=void 0!==t.msecs?t.msecs:Date.now(),c=void 0!==t.nsecs?t.nsecs:Yr+1,d=u-Zr+(c-Yr)/1e4;if(d<0&&void 0===t.clockseq&&(s=s+1&16383),(d<0||u>Zr)&&void 0===t.nsecs&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Zr=u,Yr=c,kr=s;var f=(1e4*(268435455&(u+=122192928e5))+c)%4294967296;i[n++]=f>>>24&255,i[n++]=f>>>16&255,i[n++]=f>>>8&255,i[n++]=255&f;var p=u/4294967296*1e4&268435455;i[n++]=p>>>8&255,i[n++]=255&p,i[n++]=p>>>24&15|16,i[n++]=p>>>16&255,i[n++]=s>>>8|128,i[n++]=255&s;for(var m=0;m<6;++m)i[n+m]=o[m];return e||l(i)},v3:un,v4:f,v5:dn,NIL:"00000000-0000-0000-0000-000000000000",version:function(t){if(!d(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)},validate:d,stringify:l,parse:Jr}),pn=e(fn);const mn=pn.v4;var gn=function(t,e,r,n){if("string"!=typeof t)throw new TypeError(t+" must be a string");const i="number"==typeof(n=n||{}).version?n.version:2;if(1!==i&&2!==i)throw new TypeError(i+" must be 1 or 2");const o={method:t};if(2===i&&(o.jsonrpc="2.0"),e){if("object"!=typeof e&&!Array.isArray(e))throw new TypeError(e+" must be an object, array or omitted");o.params=e}if(void 0===r){const t="function"==typeof n.generator?n.generator:function(){return mn()};o.id=t(o,n)}else 2===i&&null===r?n.notificationIdNull&&(o.id=null):o.id=r;return o};const yn=pn.v4,wn=gn,bn=function(t,e){if(!(this instanceof bn))return new bn(t,e);e||(e={}),this.options={reviver:void 0!==e.reviver?e.reviver:null,replacer:void 0!==e.replacer?e.replacer:null,generator:void 0!==e.generator?e.generator:function(){return yn()},version:void 0!==e.version?e.version:2,notificationIdNull:"boolean"==typeof e.notificationIdNull&&e.notificationIdNull},this.callServer=t};var vn=bn;bn.prototype.request=function(t,e,r,n){const i=this;let o=null;const s=Array.isArray(t)&&"function"==typeof e;if(1===this.options.version&&s)throw new TypeError("JSON-RPC 1.0 does not support batching");if(s||!s&&t&&"object"==typeof t&&"function"==typeof e)n=e,o=t;else{"function"==typeof r&&(n=r,r=void 0);const i="function"==typeof n;try{o=wn(t,e,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(t){if(i)return n(t);throw t}if(!i)return o}let a;try{a=JSON.stringify(o,this.options.replacer)}catch(t){return n(t)}return this.callServer(a,(function(t,e){i._parseResponse(t,e,n)})),o},bn.prototype._parseResponse=function(t,e,r){if(t)return void r(t);if(!e)return r();let n;try{n=JSON.parse(e,this.options.reviver)}catch(t){return r(t)}if(3===r.length){if(Array.isArray(n)){const t=function(t){return void 0!==t.error},e=function(e){return!t(e)};return r(null,n.filter(t),n.filter(e))}return r(null,n.error,n.result)}r(null,n)};var kn,Sn={},_n={exports:{}};(kn=_n).exports=function(t){return t&&t.__esModule?t:{default:t}},kn.exports.__esModule=!0,kn.exports.default=kn.exports;var An,Mn,In,En,xn={exports:{}},Bn={exports:{}};function Pn(){return An||(An=1,function(t){function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(Bn)),Bn.exports}function Tn(){return Mn||(Mn=1,function(t){var e=Pn().default;function r(){
5
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
6
+ t.exports=r=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var n={},i=Object.prototype,o=i.hasOwnProperty,s=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},u=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function d(t,e,r,n){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),a=new x(n||[]);return s(o,"_invoke",{value:A(t,r,a)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}n.wrap=d;var p={};function m(){}function g(){}function y(){}var w={};l(w,u,(function(){return this}));var b=Object.getPrototypeOf,v=b&&b(b(B([])));v&&v!==i&&o.call(v,u)&&(w=v);var k=y.prototype=m.prototype=Object.create(w);function S(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,r){function n(i,s,a,u){var c=f(t[i],t,s);if("throw"!==c.type){var h=c.arg,l=h.value;return l&&"object"==e(l)&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):r.resolve(l).then((function(t){h.value=t,a(h)}),(function(t){return n("throw",t,a,u)}))}u(c.arg)}var i;s(this,"_invoke",{value:function(t,e){function o(){return new r((function(r,i){n(t,e,r,i)}))}return i=i?i.then(o,o):o()}})}function A(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var s=r.delegate;if(s){var a=M(s,r);if(a){if(a===p)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===p)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function M(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,M(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),p;var i=f(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,p;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,p):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,p)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function B(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r<t.length;)if(o.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:P}}function P(){return{value:void 0,done:!0}}return g.prototype=y,s(k,"constructor",{value:y,configurable:!0}),s(y,"constructor",{value:g,configurable:!0}),g.displayName=l(y,h,"GeneratorFunction"),n.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,l(t,h,"GeneratorFunction")),t.prototype=Object.create(k),t},n.awrap=function(t){return{__await:t}},S(_.prototype),l(_.prototype,c,(function(){return this})),n.AsyncIterator=_,n.async=function(t,e,r,i,o){void 0===o&&(o=Promise);var s=new _(d(t,e,r,i),o);return n.isGeneratorFunction(e)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},S(k),l(k,h,"Generator"),l(k,u,(function(){return this})),l(k,"toString",(function(){return"[object Generator]"})),n.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},n.values=B,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!t)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return s.type="throw",s.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var a=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(a&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=t,s.arg=e,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),p},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),p}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;E(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:B(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},n}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}(xn)),xn.exports}var Rn,Ln={exports:{}};var On,Cn={exports:{}};function Un(){return On||(On=1,function(t){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.__esModule=!0,t.exports.default=t.exports}(Cn)),Cn.exports}var Nn,zn,Kn,Wn={exports:{}},qn={exports:{}},Dn={exports:{}};function jn(){return Nn||(Nn=1,function(t){var e=Pn().default;t.exports=function(t,r){if("object"!==e(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,r||"default");if("object"!==e(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports}(Dn)),Dn.exports}function Hn(){return zn||(zn=1,function(t){var e=Pn().default,r=jn();t.exports=function(t){var n=r(t,"string");return"symbol"===e(n)?n:String(n)},t.exports.__esModule=!0,t.exports.default=t.exports}(qn)),qn.exports}function Fn(){return Kn||(Kn=1,function(t){var e=Hn();function r(t,r){for(var n=0;n<r.length;n++){var i=r[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,e(i.key),i)}}t.exports=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t},t.exports.__esModule=!0,t.exports.default=t.exports}(Wn)),Wn.exports}var $n,Vn,Gn={exports:{}},Zn={exports:{}};function Yn(){return $n||($n=1,function(t){function e(r,n){return t.exports=e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r,n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(Zn)),Zn.exports}function Jn(){return Vn||(Vn=1,function(t){var e=Yn();t.exports=function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&e(t,r)},t.exports.__esModule=!0,t.exports.default=t.exports}(Gn)),Gn.exports}var Xn,Qn,ti={exports:{}},ei={exports:{}};function ri(){return Xn||(Xn=1,function(t){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t},t.exports.__esModule=!0,t.exports.default=t.exports}(ei)),ei.exports}function ni(){return Qn||(Qn=1,function(t){var e=Pn().default,r=ri();t.exports=function(t,n){if(n&&("object"===e(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return r(t)},t.exports.__esModule=!0,t.exports.default=t.exports}(ti)),ti.exports}var ii,oi={exports:{}};function si(){return ii||(ii=1,function(t){function e(r){return t.exports=e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports}(oi)),oi.exports}var ai,ui={exports:{}};function ci(){return ai||(ai=1,function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function i(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function o(t,e,n,o,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var a=new i(n,o||t,s),u=r?r+e:e;return t._events[u]?t._events[u].fn?t._events[u]=[t._events[u],a]:t._events[u].push(a):(t._events[u]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new n:delete t._events[e]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var t,n,i=[];if(0===this._eventsCount)return i;for(n in t=this._events)e.call(t,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s},a.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},a.prototype.emit=function(t,e,n,i,o,s){var a=r?r+t:t;if(!this._events[a])return!1;var u,c,h=this._events[a],l=arguments.length;if(h.fn){switch(h.once&&this.removeListener(t,h.fn,void 0,!0),l){case 1:return h.fn.call(h.context),!0;case 2:return h.fn.call(h.context,e),!0;case 3:return h.fn.call(h.context,e,n),!0;case 4:return h.fn.call(h.context,e,n,i),!0;case 5:return h.fn.call(h.context,e,n,i,o),!0;case 6:return h.fn.call(h.context,e,n,i,o,s),!0}for(c=1,u=new Array(l-1);c<l;c++)u[c-1]=arguments[c];h.fn.apply(h.context,u)}else{var d,f=h.length;for(c=0;c<f;c++)switch(h[c].once&&this.removeListener(t,h[c].fn,void 0,!0),l){case 1:h[c].fn.call(h[c].context);break;case 2:h[c].fn.call(h[c].context,e);break;case 3:h[c].fn.call(h[c].context,e,n);break;case 4:h[c].fn.call(h[c].context,e,n,i);break;default:if(!u)for(d=1,u=new Array(l-1);d<l;d++)u[d-1]=arguments[d];h[c].fn.apply(h[c].context,u)}}return!0},a.prototype.on=function(t,e,r){return o(this,t,e,r,!1)},a.prototype.once=function(t,e,r){return o(this,t,e,r,!0)},a.prototype.removeListener=function(t,e,n,i){var o=r?r+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||i&&!a.once||n&&a.context!==n||s(this,o);else{for(var u=0,c=[],h=a.length;u<h;u++)(a[u].fn!==e||i&&!a[u].once||n&&a[u].context!==n)&&c.push(a[u]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=r?r+t:t,this._events[e]&&s(this,e)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,t.exports=a}(ui)),ui.exports}!function(t){var e=_n.exports;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=e(function(){if(En)return In;En=1;var t=Tn()();In=t;try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}return In}()),n=e((Rn||(Rn=1,function(t){function e(t,e,r,n,i,o,s){try{var a=t[o](s),u=a.value}catch(t){return void r(t)}a.done?e(u):Promise.resolve(u).then(n,i)}t.exports=function(t){return function(){var r=this,n=arguments;return new Promise((function(i,o){var s=t.apply(r,n);function a(t){e(s,i,o,a,u,"next",t)}function u(t){e(s,i,o,a,u,"throw",t)}a(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports}(Ln)),Ln.exports)),i=e(Pn()),o=e(Un()),s=e(Fn()),a=e(Jn()),u=e(ni()),c=e(si()),h=ci();function l(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,c.default)(t);if(e){var i=(0,c.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,u.default)(this,r)}}var d=function(t){(0,a.default)(f,t);var e,u,c,h,d=l(f);function f(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ws://localhost:8080",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;(0,o.default)(this,f);var s=n.autoconnect,a=void 0===s||s,u=n.reconnect,c=void 0===u||u,h=n.reconnect_interval,l=void 0===h?1e3:h,p=n.max_reconnects,m=void 0===p?5:p,g=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]])}return r}(n,["autoconnect","reconnect","reconnect_interval","max_reconnects"]);return(e=d.call(this)).webSocketFactory=t,e.queue={},e.rpc_id=0,e.address=r,e.autoconnect=a,e.ready=!1,e.reconnect=c,e.reconnect_timer_id=void 0,e.reconnect_interval=l,e.max_reconnects=m,e.rest_options=g,e.current_reconnects=0,e.generate_request_id=i||function(){return++e.rpc_id},e.autoconnect&&e._connect(e.address,Object.assign({autoconnect:e.autoconnect,reconnect:e.reconnect,reconnect_interval:e.reconnect_interval,max_reconnects:e.max_reconnects},e.rest_options)),e}return(0,s.default)(f,[{key:"connect",value:function(){this.socket||this._connect(this.address,Object.assign({autoconnect:this.autoconnect,reconnect:this.reconnect,reconnect_interval:this.reconnect_interval,max_reconnects:this.max_reconnects},this.rest_options))}},{key:"call",value:function(t,e,r,n){var o=this;return n||"object"!==(0,i.default)(r)||(n=r,r=null),new Promise((function(i,s){if(!o.ready)return s(new Error("socket not ready"));var a=o.generate_request_id(t,e),u={jsonrpc:"2.0",method:t,params:e||null,id:a};o.socket.send(JSON.stringify(u),n,(function(t){if(t)return s(t);o.queue[a]={promise:[i,s]},r&&(o.queue[a].timeout=setTimeout((function(){delete o.queue[a],s(new Error("reply timeout"))}),r))}))}))}},{key:"login",value:(h=(0,n.default)(r.default.mark((function t(e){var n;return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.call("rpc.login",e);case 2:if(n=t.sent){t.next=5;break}throw new Error("authentication failed");case 5:return t.abrupt("return",n);case 6:case"end":return t.stop()}}),t,this)}))),function(t){return h.apply(this,arguments)})},{key:"listMethods",value:(c=(0,n.default)(r.default.mark((function t(){return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.call("__listMethods");case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t,this)}))),function(){return c.apply(this,arguments)})},{key:"notify",value:function(t,e){var r=this;return new Promise((function(n,i){if(!r.ready)return i(new Error("socket not ready"));var o={jsonrpc:"2.0",method:t,params:e||null};r.socket.send(JSON.stringify(o),(function(t){if(t)return i(t);n()}))}))}},{key:"subscribe",value:(u=(0,n.default)(r.default.mark((function t(e){var n;return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"string"==typeof e&&(e=[e]),t.next=3,this.call("rpc.on",e);case 3:if(n=t.sent,"string"!=typeof e||"ok"===n[e]){t.next=6;break}throw new Error("Failed subscribing to an event '"+e+"' with: "+n[e]);case 6:return t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return u.apply(this,arguments)})},{key:"unsubscribe",value:(e=(0,n.default)(r.default.mark((function t(e){var n;return r.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"string"==typeof e&&(e=[e]),t.next=3,this.call("rpc.off",e);case 3:if(n=t.sent,"string"!=typeof e||"ok"===n[e]){t.next=6;break}throw new Error("Failed unsubscribing from an event with: "+n);case 6:return t.abrupt("return",n);case 7:case"end":return t.stop()}}),t,this)}))),function(t){return e.apply(this,arguments)})},{key:"close",value:function(t,e){this.socket.close(t||1e3,e)}},{key:"_connect",value:function(t,e){var r=this;clearTimeout(this.reconnect_timer_id),this.socket=this.webSocketFactory(t,e),this.socket.addEventListener("open",(function(){r.ready=!0,r.emit("open"),r.current_reconnects=0})),this.socket.addEventListener("message",(function(t){var e=t.data;e instanceof ArrayBuffer&&(e=Buffer.from(e).toString());try{e=JSON.parse(e)}catch(t){return}if(e.notification&&r.listeners(e.notification).length){if(!Object.keys(e.params).length)return r.emit(e.notification);var n=[e.notification];if(e.params.constructor===Object)n.push(e.params);else for(var i=0;i<e.params.length;i++)n.push(e.params[i]);return Promise.resolve().then((function(){r.emit.apply(r,n)}))}if(!r.queue[e.id])return e.method&&e.params?Promise.resolve().then((function(){r.emit(e.method,e.params)})):void 0;"error"in e=="result"in e&&r.queue[e.id].promise[1](new Error('Server response malformed. Response must include either "result" or "error", but not both.')),r.queue[e.id].timeout&&clearTimeout(r.queue[e.id].timeout),e.error?r.queue[e.id].promise[1](e.error):r.queue[e.id].promise[0](e.result),delete r.queue[e.id]})),this.socket.addEventListener("error",(function(t){return r.emit("error",t)})),this.socket.addEventListener("close",(function(n){var i=n.code,o=n.reason;r.ready&&setTimeout((function(){return r.emit("close",i,o)}),0),r.ready=!1,r.socket=void 0,1e3!==i&&(r.current_reconnects++,r.reconnect&&(r.max_reconnects>r.current_reconnects||0===r.max_reconnects)&&(r.reconnect_timer_id=setTimeout((function(){return r._connect(t,e)}),r.reconnect_interval)))}))}}]),f}(h.EventEmitter);t.default=d}(Sn);var hi=r(Sn),li={};!function(t){var e=_n.exports;Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(t,e){return new u(t,e)};var r=e(Un()),n=e(Fn()),i=e(Jn()),o=e(ni()),s=e(si());function a(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=(0,s.default)(t);if(e){var i=(0,s.default)(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return(0,o.default)(this,r)}}var u=function(t){(0,i.default)(o,t);var e=a(o);function o(t,n,i){var s;return(0,r.default)(this,o),(s=e.call(this)).socket=new window.WebSocket(t,i),s.socket.onopen=function(){return s.emit("open")},s.socket.onmessage=function(t){return s.emit("message",t.data)},s.socket.onerror=function(t){return s.emit("error",t)},s.socket.onclose=function(t){s.emit("close",t.code,t.reason)},s}return(0,n.default)(o,[{key:"send",value:function(t,e,r){var n=r||e;try{this.socket.send(t),n()}catch(t){n(t)}}},{key:"close",value:function(t,e){this.socket.close(t,e)}},{key:"addEventListener",value:function(t,e,r){this.socket.addEventListener(t,e,r)}}]),o}(ci().EventEmitter)}(li);var di=r(li);const[fi,pi,mi]=[[],[],[]],gi=BigInt(0),yi=BigInt(1),wi=BigInt(2),bi=BigInt(7),vi=BigInt(256),ki=BigInt(113);for(let t=0,e=yi,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],fi.push(2*(5*n+r)),pi.push((t+1)*(t+2)/2%64);let i=gi;for(let t=0;t<7;t++)e=(e<<yi^(e>>bi)*ki)%vi,e&wi&&(i^=yi<<(yi<<BigInt(t))-yi);mi.push(i)}const[Si,_i]=E.split(mi,!0),Ai=(t,e,r)=>r>32?E.rotlBH(t,e,r):E.rotlSH(t,e,r),Mi=(t,e,r)=>r>32?E.rotlBL(t,e,r):E.rotlSL(t,e,r);class Ii extends k{constructor(t,e,r,n=!1,i=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=n,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,y.number(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");var o;this.state=new Uint8Array(200),this.state32=(o=this.state,new Uint32Array(o.buffer,o.byteOffset,Math.floor(o.byteLength/4)))}keccak(){!function(t,e=24){const r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let e=0;e<10;e++)r[e]=t[e]^t[e+10]^t[e+20]^t[e+30]^t[e+40];for(let e=0;e<10;e+=2){const n=(e+8)%10,i=(e+2)%10,o=r[i],s=r[i+1],a=Ai(o,s,1)^r[n],u=Mi(o,s,1)^r[n+1];for(let r=0;r<50;r+=10)t[e+r]^=a,t[e+r+1]^=u}let e=t[2],i=t[3];for(let r=0;r<24;r++){const n=pi[r],o=Ai(e,i,n),s=Mi(e,i,n),a=fi[r];e=t[a],i=t[a+1],t[a]=o,t[a+1]=s}for(let e=0;e<50;e+=10){for(let n=0;n<10;n++)r[n]=t[e+n];for(let n=0;n<10;n++)t[e+n]^=~r[(n+2)%10]&r[(n+4)%10]}t[0]^=Si[n],t[1]^=_i[n]}r.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){y.exists(this);const{blockLen:e,state:r}=this,n=(t=v(t)).length;for(let i=0;i<n;){const o=Math.min(e-this.pos,n-i);for(let e=0;e<o;e++)r[this.pos++]^=t[i++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:e,pos:r,blockLen:n}=this;t[r]^=e,0!=(128&e)&&r===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){y.exists(this,!1),y.bytes(t),this.finish();const e=this.state,{blockLen:r}=this;for(let n=0,i=t.length;n<i;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,i-n);t.set(e.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return y.number(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(y.output(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:e,suffix:r,outputLen:n,rounds:i,enableXOF:o}=this;return t||(t=new Ii(e,r,n,o,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=n,t.enableXOF=o,t.destroyed=this.destroyed,t}}const Ei=(t,e,r)=>S((()=>new Ii(e,t,r)));Ei(6,144,28),Ei(6,136,32),Ei(6,104,48),Ei(6,72,64),Ei(1,144,28);const xi=Ei(1,136,32);Ei(1,104,48),Ei(1,72,64);const Bi=(t,e,r)=>function(t){const e=(e,r)=>t(r).update(v(e)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=e=>t(e),e}(((n={})=>new Ii(e,t,void 0===n.dkLen?r:n.dkLen,!0)));Bi(31,168,16),Bi(31,136,32);class Pi extends k{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,y.hash(t);const r=v(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?t.create().update(r).digest():r);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return y.exists(this),this.iHash.update(t),this}digestInto(t){y.exists(this),y.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=n,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Ti=(t,e,r)=>new Pi(t,e).update(r).digest();Ti.create=(t,e)=>new Pi(t,e)
7
+ /*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */;const Ri=BigInt(0),Li=BigInt(1),Oi=BigInt(2),Ci=BigInt(3),Ui=BigInt(8),Ni=Object.freeze({a:Ri,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Li,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),zi=(t,e)=>(t+e/Oi)/e,Ki={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=Ni,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Li*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=zi(o*t,e),u=zi(-n*t,e);let c=po(t-a*r-u*i,e),h=po(-a*n-u*o,e);const l=c>s,d=h>s;if(l&&(c=e-c),d&&(h=e-h),c>s||h>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:l,k1:c,k2neg:d,k2:h}}},Wi=32,qi=32,Di=Wi+1,ji=2*Wi+1;function Hi(t){const{a:e,b:r}=Ni,n=po(t*t),i=po(n*t);return po(i+e*t+r)}const Fi=Ni.a===Ri;class $i extends Error{constructor(t){super(t)}}function Vi(t){if(!(t instanceof Gi))throw new TypeError("JacobianPoint expected")}class Gi{constructor(t,e,r){this.x=t,this.y=e,this.z=r}static fromAffine(t){if(!(t instanceof Ji))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(Ji.ZERO)?Gi.ZERO:new Gi(t.x,t.y,Li)}static toAffineBatch(t){const e=function(t,e=Ni.P){const r=new Array(t.length),n=go(t.reduce(((t,n,i)=>n===Ri?t:(r[i]=t,po(t*n,e))),Li),e);return t.reduceRight(((t,n,i)=>n===Ri?t:(r[i]=po(t*r[i],e),po(t*n,e))),n),r}(t.map((t=>t.z)));return t.map(((t,r)=>t.toAffine(e[r])))}static normalizeZ(t){return Gi.toAffineBatch(t).map(Gi.fromAffine)}equals(t){Vi(t);const{x:e,y:r,z:n}=this,{x:i,y:o,z:s}=t,a=po(n*n),u=po(s*s),c=po(e*u),h=po(i*a),l=po(po(r*s)*u),d=po(po(o*n)*a);return c===h&&l===d}negate(){return new Gi(this.x,po(-this.y),this.z)}double(){const{x:t,y:e,z:r}=this,n=po(t*t),i=po(e*e),o=po(i*i),s=t+i,a=po(Oi*(po(s*s)-n-o)),u=po(Ci*n),c=po(u*u),h=po(c-Oi*a),l=po(u*(a-h)-Ui*o),d=po(Oi*e*r);return new Gi(h,l,d)}add(t){Vi(t);const{x:e,y:r,z:n}=this,{x:i,y:o,z:s}=t;if(i===Ri||o===Ri)return this;if(e===Ri||r===Ri)return t;const a=po(n*n),u=po(s*s),c=po(e*u),h=po(i*a),l=po(po(r*s)*u),d=po(po(o*n)*a),f=po(h-c),p=po(d-l);if(f===Ri)return p===Ri?this.double():Gi.ZERO;const m=po(f*f),g=po(f*m),y=po(c*m),w=po(p*p-g-Oi*y),b=po(p*(y-w)-l*g),v=po(n*s*f);return new Gi(w,b,v)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=Gi.ZERO;if("bigint"==typeof t&&t===Ri)return e;let r=fo(t);if(r===Li)return this;if(!Fi){let t=e,n=this;for(;r>Ri;)r&Li&&(t=t.add(n)),n=n.double(),r>>=Li;return t}let{k1neg:n,k1:i,k2neg:o,k2:s}=Ki.splitScalar(r),a=e,u=e,c=this;for(;i>Ri||s>Ri;)i&Li&&(a=a.add(c)),s&Li&&(u=u.add(c)),c=c.double(),i>>=Li,s>>=Li;return n&&(a=a.negate()),o&&(u=u.negate()),u=new Gi(po(u.x*Ki.beta),u.y,u.z),a.add(u)}precomputeWindow(t){const e=Fi?128/t+1:256/t+1,r=[];let n=this,i=n;for(let o=0;o<e;o++){i=n,r.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(t,e){!e&&this.equals(Gi.BASE)&&(e=Ji.BASE);const r=e&&e._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=e&&Yi.get(e);n||(n=this.precomputeWindow(r),e&&1!==r&&(n=Gi.normalizeZ(n),Yi.set(e,n)));let i=Gi.ZERO,o=Gi.BASE;const s=1+(Fi?128/r:256/r),a=2**(r-1),u=BigInt(2**r-1),c=2**r,h=BigInt(r);for(let e=0;e<s;e++){const r=e*a;let s=Number(t&u);t>>=h,s>a&&(s-=c,t+=Li);const l=r,d=r+Math.abs(s)-1,f=e%2!=0,p=s<0;0===s?o=o.add(Zi(f,n[l])):i=i.add(Zi(p,n[d]))}return{p:i,f:o}}multiply(t,e){let r,n,i=fo(t);if(Fi){const{k1neg:t,k1:o,k2neg:s,k2:a}=Ki.splitScalar(i);let{p:u,f:c}=this.wNAF(o,e),{p:h,f:l}=this.wNAF(a,e);u=Zi(t,u),h=Zi(s,h),h=new Gi(po(h.x*Ki.beta),h.y,h.z),r=u.add(h),n=c.add(l)}else{const{p:t,f:o}=this.wNAF(i,e);r=t,n=o}return Gi.normalizeZ([r,n])[0]}toAffine(t){const{x:e,y:r,z:n}=this,i=this.equals(Gi.ZERO);null==t&&(t=i?Ui:go(n));const o=t,s=po(o*o),a=po(s*o),u=po(e*s),c=po(r*a),h=po(n*o);if(i)return Ji.ZERO;if(h!==Li)throw new Error("invZ was invalid");return new Ji(u,c)}}function Zi(t,e){const r=e.negate();return t?r:e}Gi.BASE=new Gi(Ni.Gx,Ni.Gy,Li),Gi.ZERO=new Gi(Ri,Li,Ri);const Yi=new WeakMap;class Ji{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Yi.delete(this)}hasEvenY(){return this.y%Oi===Ri}static fromCompressedHex(t){const e=32===t.length,r=ho(e?t:t.subarray(1));if(!So(r))throw new Error("Point is not on curve");let n=function(t){const{P:e}=Ni,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),u=t*t*t%e,c=u*u*t%e,h=mo(c,Ci)*c%e,l=mo(h,Ci)*c%e,d=mo(l,Oi)*u%e,f=mo(d,n)*d%e,p=mo(f,i)*f%e,m=mo(p,s)*p%e,g=mo(m,a)*m%e,y=mo(g,s)*p%e,w=mo(y,Ci)*c%e,b=mo(w,o)*f%e,v=mo(b,r)*u%e,k=mo(v,Oi);if(k*k%e!==t)throw new Error("Cannot find square root");return k}(Hi(r));const i=(n&Li)===Li;if(e)i&&(n=po(-n));else{1==(1&t[0])!==i&&(n=po(-n))}const o=new Ji(r,n);return o.assertValidity(),o}static fromUncompressedHex(t){const e=ho(t.subarray(1,Wi+1)),r=ho(t.subarray(Wi+1,2*Wi+1)),n=new Ji(e,r);return n.assertValidity(),n}static fromHex(t){const e=lo(t),r=e.length,n=e[0];if(r===Wi)return this.fromCompressedHex(e);if(r===Di&&(2===n||3===n))return this.fromCompressedHex(e);if(r===ji&&4===n)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Di} compressed bytes or ${ji} uncompressed bytes, not ${r}`)}static fromPrivateKey(t){return Ji.BASE.multiply(Ao(t))}static fromSignature(t,e,r){const{r:n,s:i}=function(t){if(t instanceof to)return t.assertValidity(),t;try{return to.fromDER(t)}catch(e){return to.fromCompact(t)}}(e);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const o=yo(lo(t)),{n:s}=Ni,a=2===r||3===r?n+s:n,u=go(a,s),c=po(-o*u,s),h=po(i*u,s),l=1&r?"03":"02",d=Ji.fromHex(l+oo(a)),f=Ji.BASE.multiplyAndAddUnsafe(d,c,h);if(!f)throw new Error("Cannot recover signature: point at infinify");return f.assertValidity(),f}toRawBytes(t=!1){return co(this.toHex(t))}toHex(t=!1){const e=oo(this.x);if(t){return`${this.hasEvenY()?"02":"03"}${e}`}return`04${e}${oo(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:r}=this;if(!So(e)||!So(r))throw new Error(t);const n=po(r*r);if(po(n-Hi(e))!==Ri)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Ji(this.x,po(-this.y))}double(){return Gi.fromAffine(this).double().toAffine()}add(t){return Gi.fromAffine(this).add(Gi.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Gi.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,r){const n=Gi.fromAffine(this),i=e===Ri||e===Li||this!==Ji.BASE?n.multiplyUnsafe(e):n.multiply(e),o=Gi.fromAffine(t).multiplyUnsafe(r),s=i.add(o);return s.equals(Gi.ZERO)?void 0:s.toAffine()}}function Xi(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Qi(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${no(t)}`);const e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===r[0]&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:ho(r),left:t.subarray(e+2)}}Ji.BASE=new Ji(Ni.Gx,Ni.Gy),Ji.ZERO=new Ji(Ri,Ri);class to{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=t instanceof Uint8Array,r="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${r}: Expected string or Uint8Array`);const n=e?no(t):t;if(128!==n.length)throw new Error(`${r}: Expected 64-byte hex`);return new to(uo(n.slice(0,64)),uo(n.slice(64,128)))}static fromDER(t){const e=t instanceof Uint8Array;if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:r,s:n}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${no(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:r}=Qi(t.subarray(2)),{data:n,left:i}=Qi(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${no(i)}`);return{r:e,s:n}}(e?t:co(t));return new to(r,n)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!ko(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!ko(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=Ni.n>>Li;return this.s>t}normalizeS(){return this.hasHighS()?new to(this.r,po(-this.s,Ni.n)):this}toDERRawBytes(){return co(this.toDERHex())}toDERHex(){const t=Xi(ao(this.s)),e=Xi(ao(this.r)),r=t.length/2,n=e.length/2,i=ao(r),o=ao(n);return`30${ao(n+r+4)}02${o}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return co(this.toCompactHex())}toCompactHex(){return oo(this.r)+oo(this.s)}}function eo(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),r=new Uint8Array(e);for(let e=0,n=0;e<t.length;e++){const i=t[e];r.set(i,n),n+=i.length}return r}const ro=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function no(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=ro[t[r]];return e}const io=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function oo(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(Ri<=t&&t<io))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function so(t){const e=co(oo(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function ao(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function uo(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function co(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){const n=2*r,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function ho(t){return uo(no(t))}function lo(t){return t instanceof Uint8Array?Uint8Array.from(t):co(t)}function fo(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&ko(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function po(t,e=Ni.P){const r=t%e;return r>=Ri?r:e+r}function mo(t,e){const{P:r}=Ni;let n=t;for(;e-- >Ri;)n*=n,n%=r;return n}function go(t,e=Ni.P){if(t===Ri||e<=Ri)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=po(t,e),n=e,i=Ri,o=Li;for(;r!==Ri;){const t=n%r,e=i-o*(n/r);n=r,r=t,i=o,o=e}if(n!==Li)throw new Error("invert: does not exist");return po(i,e)}function yo(t,e=!1){const r=function(t){const e=8*t.length-8*qi,r=ho(t);return e>0?r>>BigInt(e):r}(t);if(e)return r;const{n:n}=Ni;return r>=n?r-n:r}let wo,bo;class vo{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,"number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return To.hmacSha256(this.k,...t)}hmacSync(...t){return bo(this.k,...t)}checkSync(){if("function"!=typeof bo)throw new $i("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),0!==t.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),0!==t.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const r=this.v.slice();e.push(r),t+=this.v.length}return eo(...e)}generateSync(){this.checkSync(),this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const r=this.v.slice();e.push(r),t+=this.v.length}return eo(...e)}}function ko(t){return Ri<t&&t<Ni.n}function So(t){return Ri<t&&t<Ni.P}function _o(t,e,r,n=!0){const{n:i}=Ni,o=yo(t,!0);if(!ko(o))return;const s=go(o,i),a=Ji.BASE.multiply(o),u=po(a.x,i);if(u===Ri)return;const c=po(s*po(e+r*u,i),i);if(c===Ri)return;let h=new to(u,c),l=(a.x===h.r?0:2)|Number(a.y&Li);return n&&h.hasHighS()&&(h=h.normalizeS(),l^=1),{sig:h,recovery:l}}function Ao(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*qi)throw new Error("Expected 32 bytes of private key");e=uo(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==qi)throw new Error("Expected 32 bytes of private key");e=ho(t)}if(!ko(e))throw new Error("Expected private key: 0 < key < n");return e}function Mo(t){return ho(t.length>Wi?t.slice(0,Wi):t)}function Io(t){const e=Mo(t),r=po(e,Ni.n);return Eo(r<Ri?e:r)}function Eo(t){return so(t)}function xo(t,e,r={}){const{seed:n,m:i,d:o}=function(t,e,r){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const n=lo(t),i=Ao(e),o=[Eo(i),Io(n)];if(null!=r){!0===r&&(r=To.randomBytes(Wi));const t=lo(r);if(t.length!==Wi)throw new Error(`sign: Expected ${Wi} bytes of extra data`);o.push(t)}return{seed:eo(...o),m:Mo(n),d:i}}(t,e,r.extraEntropy),s=new vo(32,qi);let a;for(s.reseedSync(n);!(a=_o(s.generateSync(),i,o,r.canonical));)s.reseedSync();return function(t,e){const{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}(a,r)}Ji.BASE._setWindowSize(8);const Bo={node:a,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Po={},To={bytesToHex:no,hexToBytes:co,concatBytes:eo,mod:po,invert:go,isValidPrivateKey(t){try{return Ao(t),!0}catch(t){return!1}},_bigintTo32Bytes:so,_normalizePrivateKey:Ao,hashToPrivateKey:t=>{t=lo(t);const e=qi+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return so(po(ho(t),Ni.n-Li)+Li)},randomBytes:(t=32)=>{if(Bo.web)return Bo.web.getRandomValues(new Uint8Array(t));if(Bo.node){const{randomBytes:e}=Bo.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>To.hashToPrivateKey(To.randomBytes(qi+8)),precompute(t=8,e=Ji.BASE){const r=e===Ji.BASE?e:new Ji(e.x,e.y);return r._setWindowSize(t),r.multiply(Ci),r},sha256:async(...t)=>{if(Bo.web){const e=await Bo.web.subtle.digest("SHA-256",eo(...t));return new Uint8Array(e)}if(Bo.node){const{createHash:e}=Bo.node,r=e("sha256");return t.forEach((t=>r.update(t))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(Bo.web){const r=await Bo.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=eo(...e),i=await Bo.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}if(Bo.node){const{createHmac:r}=Bo.node,n=r("sha256",t);return e.forEach((t=>n.update(t))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=Po[t];if(void 0===r){const e=await To.sha256(Uint8Array.from(t,(t=>t.charCodeAt(0))));r=eo(e,e),Po[t]=r}return To.sha256(r,...e)},taggedHashSync:(t,...e)=>{if("function"!=typeof wo)throw new $i("sha256Sync is undefined, you need to set it");let r=Po[t];if(void 0===r){const e=wo(Uint8Array.from(t,(t=>t.charCodeAt(0))));r=eo(e,e),Po[t]=r}return wo(r,...e)},_JacobianPoint:Gi};Object.defineProperties(To,{sha256Sync:{configurable:!1,get:()=>wo,set(t){wo||(wo=t)}},hmacSha256Sync:{configurable:!1,get:()=>bo,set(t){bo||(bo=t)}}}),Pt.sha512Sync=(...t)=>U(Pt.concatBytes(...t));const Ro=Pt.randomPrivateKey,Lo=()=>{const t=Pt.randomPrivateKey(),e=Oo(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),{publicKey:e,secretKey:r}},Oo=xt.getPublicKey;function Co(t){try{return rt.fromHex(t,!0),!0}catch{return!1}}const Uo=(t,e)=>xt.sign(t,e.slice(0,32)),No=xt.verify,zo=t=>s.isBuffer(t)?t:t instanceof Uint8Array?s.from(t.buffer,t.byteOffset,t.byteLength):s.from(t);class Ko{constructor(t){Object.assign(this,t)}encode(){return s.from(ke(Wo,this))}static decode(t){return Ae(Wo,this,t)}static decodeUnchecked(t){return ue(Wo,this,t)}}const Wo=new Map;let qo;const Do=32;let jo=1;qo=Symbol.toStringTag;class Ho extends Ko{constructor(t){if(super({}),this._bn=void 0,function(t){return void 0!==t._bn}(t))this._bn=t._bn;else{if("string"==typeof t){const e=Ct.decode(t);if(e.length!=Do)throw new Error("Invalid public key input");this._bn=new Rt(e)}else this._bn=new Rt(t);if(this._bn.byteLength()>Do)throw new Error("Invalid public key input")}}static unique(){const t=new Ho(jo);return jo+=1,new Ho(t.toBuffer())}equals(t){return this._bn.eq(t._bn)}toBase58(){return Ct.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const t=this.toBuffer();return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}toBuffer(){const t=this._bn.toArrayLike(s);if(t.length===Do)return t;const e=s.alloc(32);return t.copy(e,32-t.length),e}get[qo](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(t,e,r){const n=s.concat([t.toBuffer(),s.from(e),r.toBuffer()]),i=Dt(n);return new Ho(i)}static createProgramAddressSync(t,e){let r=s.alloc(0);t.forEach((function(t){if(t.length>32)throw new TypeError("Max seed length exceeded");r=s.concat([r,zo(t)])})),r=s.concat([r,e.toBuffer(),s.from("ProgramDerivedAddress")]);const n=Dt(r);if(Co(n))throw new Error("Invalid seeds, address must fall off the curve");return new Ho(n)}static async createProgramAddress(t,e){return this.createProgramAddressSync(t,e)}static findProgramAddressSync(t,e){let r,n=255;for(;0!=n;){try{const i=t.concat(s.from([n]));r=this.createProgramAddressSync(i,e)}catch(t){if(t instanceof TypeError)throw t;n--;continue}return[r,n]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(t,e){return this.findProgramAddressSync(t,e)}static isOnCurve(t){return Co(new Ho(t).toBytes())}}Ho.default=new Ho("11111111111111111111111111111111"),Wo.set(Ho,{kind:"struct",fields:[["_bn","u256"]]});const Fo=new Ho("BPFLoader1111111111111111111111111111111111"),$o=1232,Vo=127,Go=64;class Zo extends Error{constructor(t){super(`Signature ${t} has expired: block height exceeded.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Zo.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class Yo extends Error{constructor(t,e){super(`Transaction was not confirmed in ${e.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${t} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Yo.prototype,"name",{value:"TransactionExpiredTimeoutError"});class Jo extends Error{constructor(t){super(`Signature ${t} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=t}}Object.defineProperty(Jo.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class Xo{constructor(t,e){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=t,this.accountKeysFromLookups=e}keySegments(){const t=[this.staticAccountKeys];return this.accountKeysFromLookups&&(t.push(this.accountKeysFromLookups.writable),t.push(this.accountKeysFromLookups.readonly)),t}get(t){for(const e of this.keySegments()){if(t<e.length)return e[t];t-=e.length}}get length(){return this.keySegments().flat().length}compileInstructions(t){if(this.length>256)throw new Error("Account index overflow encountered during compilation");const e=new Map;this.keySegments().flat().forEach(((t,r)=>{e.set(t.toBase58(),r)}));const r=t=>{const r=e.get(t.toBase58());if(void 0===r)throw new Error("Encountered an unknown instruction account key during compilation");return r};return t.map((t=>({programIdIndex:r(t.programId),accountKeyIndexes:t.keys.map((t=>r(t.pubkey))),data:t.data})))}}const Qo=(t="publicKey")=>yr(32,t),ts=(t="signature")=>yr(64,t),es=(t="string")=>{const e=mr([dr("length"),dr("lengthPadding"),yr(cr(dr(),-8),"chars")],t),r=e.decode.bind(e),n=e.encode.bind(e),i=e;return i.decode=(t,e)=>r(t,e).chars.toString(),i.encode=(t,e,r)=>{const i={chars:s.from(t,"utf8")};return n(i,e,r)},i.alloc=t=>dr().span+dr().span+s.from(t,"utf8").length,i};function rs(t,e){const r=t=>{if(t.span>=0)return t.span;if("function"==typeof t.alloc)return t.alloc(e[t.property]);if("count"in t&&"elementLayout"in t){const n=e[t.property];if(Array.isArray(n))return n.length*r(t.elementLayout)}else if("fields"in t)return rs({layout:t},e[t.property]);return 0};let n=0;return t.layout.fields.forEach((t=>{n+=r(t)})),n}function ns(t){let e=0,r=0;for(;;){let n=t.shift();if(e|=(127&n)<<7*r,r+=1,0==(128&n))break}return e}function is(t,e){let r=e;for(;;){let e=127&r;if(r>>=7,0==r){t.push(e);break}e|=128,t.push(e)}}function os(t,e){if(!t)throw new Error(e||"Assertion failed")}class ss{constructor(t,e){this.payer=void 0,this.keyMetaMap=void 0,this.payer=t,this.keyMetaMap=e}static compile(t,e){const r=new Map,n=t=>{const e=t.toBase58();let n=r.get(e);return void 0===n&&(n={isSigner:!1,isWritable:!1,isInvoked:!1},r.set(e,n)),n},i=n(e);i.isSigner=!0,i.isWritable=!0;for(const e of t){n(e.programId).isInvoked=!0;for(const t of e.keys){const e=n(t.pubkey);e.isSigner||(e.isSigner=t.isSigner),e.isWritable||(e.isWritable=t.isWritable)}}return new ss(e,r)}getMessageComponents(){const t=[...this.keyMetaMap.entries()];os(t.length<=256,"Max static account keys length exceeded");const e=t.filter((([,t])=>t.isSigner&&t.isWritable)),r=t.filter((([,t])=>t.isSigner&&!t.isWritable)),n=t.filter((([,t])=>!t.isSigner&&t.isWritable)),i=t.filter((([,t])=>!t.isSigner&&!t.isWritable)),o={numRequiredSignatures:e.length+r.length,numReadonlySignedAccounts:r.length,numReadonlyUnsignedAccounts:i.length};{os(e.length>0,"Expected at least one writable signer key");const[t]=e[0];os(t===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}return[o,[...e.map((([t])=>new Ho(t))),...r.map((([t])=>new Ho(t))),...n.map((([t])=>new Ho(t))),...i.map((([t])=>new Ho(t)))]]}extractTableLookup(t){const[e,r]=this.drainKeysFoundInLookupTable(t.state.addresses,(t=>!t.isSigner&&!t.isInvoked&&t.isWritable)),[n,i]=this.drainKeysFoundInLookupTable(t.state.addresses,(t=>!t.isSigner&&!t.isInvoked&&!t.isWritable));if(0!==e.length||0!==n.length)return[{accountKey:t.key,writableIndexes:e,readonlyIndexes:n},{writable:r,readonly:i}]}drainKeysFoundInLookupTable(t,e){const r=new Array,n=new Array;for(const[i,o]of this.keyMetaMap.entries())if(e(o)){const e=new Ho(i),o=t.findIndex((t=>t.equals(e)));o>=0&&(os(o<256,"Max lookup table index exceeded"),r.push(o),n.push(e),this.keyMetaMap.delete(i))}return[r,n]}}class as{constructor(t){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=t.header,this.accountKeys=t.accountKeys.map((t=>new Ho(t))),this.recentBlockhash=t.recentBlockhash,this.instructions=t.instructions,this.instructions.forEach((t=>this.indexToProgramIds.set(t.programIdIndex,this.accountKeys[t.programIdIndex])))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map((t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:Ct.decode(t.data)})))}get addressTableLookups(){return[]}getAccountKeys(){return new Xo(this.staticAccountKeys)}static compile(t){const e=ss.compile(t.instructions,t.payerKey),[r,n]=e.getMessageComponents(),i=new Xo(n).compileInstructions(t.instructions).map((t=>({programIdIndex:t.programIdIndex,accounts:t.accountKeyIndexes,data:Ct.encode(t.data)})));return new as({header:r,accountKeys:n,recentBlockhash:t.recentBlockhash,instructions:i})}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){const e=this.header.numRequiredSignatures;if(t>=this.header.numRequiredSignatures){return t-e<this.accountKeys.length-e-this.header.numReadonlyUnsignedAccounts}return t<e-this.header.numReadonlySignedAccounts}isProgramId(t){return this.indexToProgramIds.has(t)}programIds(){return[...this.indexToProgramIds.values()]}nonProgramIds(){return this.accountKeys.filter(((t,e)=>!this.isProgramId(e)))}serialize(){const t=this.accountKeys.length;let e=[];is(e,t);const r=this.instructions.map((t=>{const{accounts:e,programIdIndex:r}=t,n=Array.from(Ct.decode(t.data));let i=[];is(i,e.length);let o=[];return is(o,n.length),{programIdIndex:r,keyIndicesCount:s.from(i),keyIndices:e,dataLength:s.from(o),data:n}}));let n=[];is(n,r.length);let i=s.alloc($o);s.from(n).copy(i);let o=n.length;r.forEach((t=>{const e=mr([hr("programIdIndex"),yr(t.keyIndicesCount.length,"keyIndicesCount"),gr(hr("keyIndex"),t.keyIndices.length,"keyIndices"),yr(t.dataLength.length,"dataLength"),gr(hr("userdatum"),t.data.length,"data")]).encode(t,i,o);o+=e})),i=i.slice(0,o);const a=mr([yr(1,"numRequiredSignatures"),yr(1,"numReadonlySignedAccounts"),yr(1,"numReadonlyUnsignedAccounts"),yr(e.length,"keyCount"),gr(Qo("key"),t,"keys"),Qo("recentBlockhash")]),u={numRequiredSignatures:s.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:s.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:s.from([this.header.numReadonlyUnsignedAccounts]),keyCount:s.from(e),keys:this.accountKeys.map((t=>zo(t.toBytes()))),recentBlockhash:Ct.decode(this.recentBlockhash)};let c=s.alloc(2048);const h=a.encode(u,c);return i.copy(c,h),c.slice(0,h+i.length)}static from(t){let e=[...t];const r=e.shift();if(r!==(r&Vo))throw new Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");const n=e.shift(),i=e.shift(),o=ns(e);let a=[];for(let t=0;t<o;t++){const t=e.slice(0,Do);e=e.slice(Do),a.push(new Ho(s.from(t)))}const u=e.slice(0,Do);e=e.slice(Do);const c=ns(e);let h=[];for(let t=0;t<c;t++){const t=e.shift(),r=ns(e),n=e.slice(0,r);e=e.slice(r);const i=ns(e),o=e.slice(0,i),a=Ct.encode(s.from(o));e=e.slice(i),h.push({programIdIndex:t,accounts:n,data:a})}const l={header:{numRequiredSignatures:r,numReadonlySignedAccounts:n,numReadonlyUnsignedAccounts:i},recentBlockhash:Ct.encode(s.from(u)),accountKeys:a,instructions:h};return new as(l)}}class us{constructor(t){this.header=void 0,this.staticAccountKeys=void 0,this.recentBlockhash=void 0,this.compiledInstructions=void 0,this.addressTableLookups=void 0,this.header=t.header,this.staticAccountKeys=t.staticAccountKeys,this.recentBlockhash=t.recentBlockhash,this.compiledInstructions=t.compiledInstructions,this.addressTableLookups=t.addressTableLookups}get version(){return 0}get numAccountKeysFromLookups(){let t=0;for(const e of this.addressTableLookups)t+=e.readonlyIndexes.length+e.writableIndexes.length;return t}getAccountKeys(t){let e;if(t&&"accountKeysFromLookups"in t&&t.accountKeysFromLookups){if(this.numAccountKeysFromLookups!=t.accountKeysFromLookups.writable.length+t.accountKeysFromLookups.readonly.length)throw new Error("Failed to get account keys because of a mismatch in the number of account keys from lookups");e=t.accountKeysFromLookups}else if(t&&"addressLookupTableAccounts"in t&&t.addressLookupTableAccounts)e=this.resolveAddressTableLookups(t.addressLookupTableAccounts);else if(this.addressTableLookups.length>0)throw new Error("Failed to get account keys because address table lookups were not resolved");return new Xo(this.staticAccountKeys,e)}isAccountSigner(t){return t<this.header.numRequiredSignatures}isAccountWritable(t){const e=this.header.numRequiredSignatures,r=this.staticAccountKeys.length;if(t>=r){return t-r<this.addressTableLookups.reduce(((t,e)=>t+e.writableIndexes.length),0)}if(t>=this.header.numRequiredSignatures){return t-e<r-e-this.header.numReadonlyUnsignedAccounts}return t<e-this.header.numReadonlySignedAccounts}resolveAddressTableLookups(t){const e={writable:[],readonly:[]};for(const r of this.addressTableLookups){const n=t.find((t=>t.key.equals(r.accountKey)));if(!n)throw new Error(`Failed to find address lookup table account for table key ${r.accountKey.toBase58()}`);for(const t of r.writableIndexes){if(!(t<n.state.addresses.length))throw new Error(`Failed to find address for index ${t} in address lookup table ${r.accountKey.toBase58()}`);e.writable.push(n.state.addresses[t])}for(const t of r.readonlyIndexes){if(!(t<n.state.addresses.length))throw new Error(`Failed to find address for index ${t} in address lookup table ${r.accountKey.toBase58()}`);e.readonly.push(n.state.addresses[t])}}return e}static compile(t){const e=ss.compile(t.instructions,t.payerKey),r=new Array,n={writable:new Array,readonly:new Array},i=t.addressLookupTableAccounts||[];for(const t of i){const i=e.extractTableLookup(t);if(void 0!==i){const[t,{writable:e,readonly:o}]=i;r.push(t),n.writable.push(...e),n.readonly.push(...o)}}const[o,s]=e.getMessageComponents(),a=new Xo(s,n).compileInstructions(t.instructions);return new us({header:o,staticAccountKeys:s,recentBlockhash:t.recentBlockhash,compiledInstructions:a,addressTableLookups:r})}serialize(){const t=Array();is(t,this.staticAccountKeys.length);const e=this.serializeInstructions(),r=Array();is(r,this.compiledInstructions.length);const n=this.serializeAddressTableLookups(),i=Array();is(i,this.addressTableLookups.length);const o=mr([hr("prefix"),mr([hr("numRequiredSignatures"),hr("numReadonlySignedAccounts"),hr("numReadonlyUnsignedAccounts")],"header"),yr(t.length,"staticAccountKeysLength"),gr(Qo(),this.staticAccountKeys.length,"staticAccountKeys"),Qo("recentBlockhash"),yr(r.length,"instructionsLength"),yr(e.length,"serializedInstructions"),yr(i.length,"addressTableLookupsLength"),yr(n.length,"serializedAddressTableLookups")]),s=new Uint8Array($o),a=o.encode({prefix:128,header:this.header,staticAccountKeysLength:new Uint8Array(t),staticAccountKeys:this.staticAccountKeys.map((t=>t.toBytes())),recentBlockhash:Ct.decode(this.recentBlockhash),instructionsLength:new Uint8Array(r),serializedInstructions:e,addressTableLookupsLength:new Uint8Array(i),serializedAddressTableLookups:n},s);return s.slice(0,a)}serializeInstructions(){let t=0;const e=new Uint8Array($o);for(const r of this.compiledInstructions){const n=Array();is(n,r.accountKeyIndexes.length);const i=Array();is(i,r.data.length);t+=mr([hr("programIdIndex"),yr(n.length,"encodedAccountKeyIndexesLength"),gr(hr(),r.accountKeyIndexes.length,"accountKeyIndexes"),yr(i.length,"encodedDataLength"),yr(r.data.length,"data")]).encode({programIdIndex:r.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(n),accountKeyIndexes:r.accountKeyIndexes,encodedDataLength:new Uint8Array(i),data:r.data},e,t)}return e.slice(0,t)}serializeAddressTableLookups(){let t=0;const e=new Uint8Array($o);for(const r of this.addressTableLookups){const n=Array();is(n,r.writableIndexes.length);const i=Array();is(i,r.readonlyIndexes.length);t+=mr([Qo("accountKey"),yr(n.length,"encodedWritableIndexesLength"),gr(hr(),r.writableIndexes.length,"writableIndexes"),yr(i.length,"encodedReadonlyIndexesLength"),gr(hr(),r.readonlyIndexes.length,"readonlyIndexes")]).encode({accountKey:r.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(n),writableIndexes:r.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(i),readonlyIndexes:r.readonlyIndexes},e,t)}return e.slice(0,t)}static deserialize(t){let e=[...t];const r=e.shift(),n=r&Vo;os(r!==n,"Expected versioned message but received legacy message");os(0===n,`Expected versioned message with version 0 but found version ${n}`);const i={numRequiredSignatures:e.shift(),numReadonlySignedAccounts:e.shift(),numReadonlyUnsignedAccounts:e.shift()},o=[],s=ns(e);for(let t=0;t<s;t++)o.push(new Ho(e.splice(0,Do)));const a=Ct.encode(e.splice(0,Do)),u=ns(e),c=[];for(let t=0;t<u;t++){const t=e.shift(),r=ns(e),n=e.splice(0,r),i=ns(e),o=new Uint8Array(e.splice(0,i));c.push({programIdIndex:t,accountKeyIndexes:n,data:o})}const h=ns(e),l=[];for(let t=0;t<h;t++){const t=new Ho(e.splice(0,Do)),r=ns(e),n=e.splice(0,r),i=ns(e),o=e.splice(0,i);l.push({accountKey:t,writableIndexes:n,readonlyIndexes:o})}return new us({header:i,staticAccountKeys:o,recentBlockhash:a,compiledInstructions:c,addressTableLookups:l})}}const cs={deserializeMessageVersion(t){const e=t[0],r=e&Vo;return r===e?"legacy":r},deserialize:t=>{const e=cs.deserializeMessageVersion(t);if("legacy"===e)return as.from(t);if(0===e)return us.deserialize(t);throw new Error(`Transaction message version ${e} deserialization is not supported`)}};let hs;!function(t){t[t.BLOCKHEIGHT_EXCEEDED=0]="BLOCKHEIGHT_EXCEEDED",t[t.PROCESSED=1]="PROCESSED",t[t.TIMED_OUT=2]="TIMED_OUT",t[t.NONCE_INVALID=3]="NONCE_INVALID"}(hs||(hs={}));const ls=s.alloc(Go).fill(0);class ds{constructor(t){this.keys=void 0,this.programId=void 0,this.data=s.alloc(0),this.programId=t.programId,this.keys=t.keys,t.data&&(this.data=t.data)}toJSON(){return{keys:this.keys.map((({pubkey:t,isSigner:e,isWritable:r})=>({pubkey:t.toJSON(),isSigner:e,isWritable:r}))),programId:this.programId.toJSON(),data:[...this.data]}}}class fs{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(t){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,t)if(t.feePayer&&(this.feePayer=t.feePayer),t.signatures&&(this.signatures=t.signatures),Object.prototype.hasOwnProperty.call(t,"nonceInfo")){const{minContextSlot:e,nonceInfo:r}=t;this.minNonceContextSlot=e,this.nonceInfo=r}else if(Object.prototype.hasOwnProperty.call(t,"lastValidBlockHeight")){const{blockhash:e,lastValidBlockHeight:r}=t;this.recentBlockhash=e,this.lastValidBlockHeight=r}else{const{recentBlockhash:e,nonceInfo:r}=t;r&&(this.nonceInfo=r),this.recentBlockhash=e}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map((t=>t.toJSON())),signers:this.signatures.map((({publicKey:t})=>t.toJSON()))}}add(...t){if(0===t.length)throw new Error("No instructions");return t.forEach((t=>{"instructions"in t?this.instructions=this.instructions.concat(t.instructions):"data"in t&&"programId"in t&&"keys"in t?this.instructions.push(t):this.instructions.push(new ds(t))})),this}compileMessage(){if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;let t,e,r;if(this.nonceInfo?(t=this.nonceInfo.nonce,e=this.instructions[0]!=this.nonceInfo.nonceInstruction?[this.nonceInfo.nonceInstruction,...this.instructions]:this.instructions):(t=this.recentBlockhash,e=this.instructions),!t)throw new Error("Transaction recentBlockhash required");if(e.length<1&&console.warn("No instructions provided"),this.feePayer)r=this.feePayer;else{if(!(this.signatures.length>0&&this.signatures[0].publicKey))throw new Error("Transaction fee payer required");r=this.signatures[0].publicKey}for(let t=0;t<e.length;t++)if(void 0===e[t].programId)throw new Error(`Transaction instruction index ${t} has undefined program id`);const n=[],i=[];e.forEach((t=>{t.keys.forEach((t=>{i.push({...t})}));const e=t.programId.toString();n.includes(e)||n.push(e)})),n.forEach((t=>{i.push({pubkey:new Ho(t),isSigner:!1,isWritable:!1})}));const o=[];i.forEach((t=>{const e=t.pubkey.toString(),r=o.findIndex((t=>t.pubkey.toString()===e));r>-1?(o[r].isWritable=o[r].isWritable||t.isWritable,o[r].isSigner=o[r].isSigner||t.isSigner):o.push(t)})),o.sort((function(t,e){return t.isSigner!==e.isSigner?t.isSigner?-1:1:t.isWritable!==e.isWritable?t.isWritable?-1:1:t.pubkey.toBase58().localeCompare(e.pubkey.toBase58())}));const s=o.findIndex((t=>t.pubkey.equals(r)));if(s>-1){const[t]=o.splice(s,1);t.isSigner=!0,t.isWritable=!0,o.unshift(t)}else o.unshift({pubkey:r,isSigner:!0,isWritable:!0});for(const t of this.signatures){const e=o.findIndex((e=>e.pubkey.equals(t.publicKey)));if(!(e>-1))throw new Error(`unknown signer: ${t.publicKey.toString()}`);o[e].isSigner||(o[e].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."))}let a=0,u=0,c=0;const h=[],l=[];o.forEach((({pubkey:t,isSigner:e,isWritable:r})=>{e?(h.push(t.toString()),a+=1,r||(u+=1)):(l.push(t.toString()),r||(c+=1))}));const d=h.concat(l),f=e.map((t=>{const{data:e,programId:r}=t;return{programIdIndex:d.indexOf(r.toString()),accounts:t.keys.map((t=>d.indexOf(t.pubkey.toString()))),data:Ct.encode(e)}}));return f.forEach((t=>{os(t.programIdIndex>=0),t.accounts.forEach((t=>os(t>=0)))})),new as({header:{numRequiredSignatures:a,numReadonlySignedAccounts:u,numReadonlyUnsignedAccounts:c},accountKeys:d,recentBlockhash:t,instructions:f})}_compile(){const t=this.compileMessage(),e=t.accountKeys.slice(0,t.header.numRequiredSignatures);if(this.signatures.length===e.length){if(this.signatures.every(((t,r)=>e[r].equals(t.publicKey))))return t}return this.signatures=e.map((t=>({signature:null,publicKey:t}))),t}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(t){return(await t.getFeeForMessage(this.compileMessage())).value}setSigners(...t){if(0===t.length)throw new Error("No signers");const e=new Set;this.signatures=t.filter((t=>{const r=t.toString();return!e.has(r)&&(e.add(r),!0)})).map((t=>({signature:null,publicKey:t})))}sign(...t){if(0===t.length)throw new Error("No signers");const e=new Set,r=[];for(const n of t){const t=n.publicKey.toString();e.has(t)||(e.add(t),r.push(n))}this.signatures=r.map((t=>({signature:null,publicKey:t.publicKey})));const n=this._compile();this._partialSign(n,...r)}partialSign(...t){if(0===t.length)throw new Error("No signers");const e=new Set,r=[];for(const n of t){const t=n.publicKey.toString();e.has(t)||(e.add(t),r.push(n))}const n=this._compile();this._partialSign(n,...r)}_partialSign(t,...e){const r=t.serialize();e.forEach((t=>{const e=Uo(r,t.secretKey);this._addSignature(t.publicKey,zo(e))}))}addSignature(t,e){this._compile(),this._addSignature(t,e)}_addSignature(t,e){os(64===e.length);const r=this.signatures.findIndex((e=>t.equals(e.publicKey)));if(r<0)throw new Error(`unknown signer: ${t.toString()}`);this.signatures[r].signature=s.from(e)}verifySignatures(t){return this._verifySignatures(this.serializeMessage(),void 0===t||t)}_verifySignatures(t,e){for(const{signature:r,publicKey:n}of this.signatures)if(null===r){if(e)return!1}else if(!No(r,t,n.toBytes()))return!1;return!0}serialize(t){const{requireAllSignatures:e,verifySignatures:r}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},t),n=this.serializeMessage();if(r&&!this._verifySignatures(n,e))throw new Error("Signature verification failed");return this._serialize(n)}_serialize(t){const{signatures:e}=this,r=[];is(r,e.length);const n=r.length+64*e.length+t.length,i=s.alloc(n);return os(e.length<256),s.from(r).copy(i,0),e.forEach((({signature:t},e)=>{null!==t&&(os(64===t.length,"signature has invalid length"),s.from(t).copy(i,r.length+64*e))})),t.copy(i,r.length+64*e.length),os(i.length<=$o,`Transaction too large: ${i.length} > 1232`),i}get keys(){return os(1===this.instructions.length),this.instructions[0].keys.map((t=>t.pubkey))}get programId(){return os(1===this.instructions.length),this.instructions[0].programId}get data(){return os(1===this.instructions.length),this.instructions[0].data}static from(t){let e=[...t];const r=ns(e);let n=[];for(let t=0;t<r;t++){const t=e.slice(0,Go);e=e.slice(Go),n.push(Ct.encode(s.from(t)))}return fs.populate(as.from(e),n)}static populate(t,e=[]){const r=new fs;return r.recentBlockhash=t.recentBlockhash,t.header.numRequiredSignatures>0&&(r.feePayer=t.accountKeys[0]),e.forEach(((e,n)=>{const i={signature:e==Ct.encode(ls)?null:Ct.decode(e),publicKey:t.accountKeys[n]};r.signatures.push(i)})),t.instructions.forEach((e=>{const n=e.accounts.map((e=>{const n=t.accountKeys[e];return{pubkey:n,isSigner:r.signatures.some((t=>t.publicKey.toString()===n.toString()))||t.isAccountSigner(e),isWritable:t.isAccountWritable(e)}}));r.instructions.push(new ds({keys:n,programId:t.accountKeys[e.programIdIndex],data:Ct.decode(e.data)}))})),r._message=t,r._json=r.toJSON(),r}}class ps{constructor(t){this.payerKey=void 0,this.instructions=void 0,this.recentBlockhash=void 0,this.payerKey=t.payerKey,this.instructions=t.instructions,this.recentBlockhash=t.recentBlockhash}static decompile(t,e){const{header:r,compiledInstructions:n,recentBlockhash:i}=t,{numRequiredSignatures:o,numReadonlySignedAccounts:s,numReadonlyUnsignedAccounts:a}=r,u=o-s;os(u>0,"Message header is invalid");const c=t.staticAccountKeys.length-o-a;os(c>=0,"Message header is invalid");const h=t.getAccountKeys(e),l=h.get(0);if(void 0===l)throw new Error("Failed to decompile message because no account keys were found");const d=[];for(const t of n){const e=[];for(const n of t.accountKeyIndexes){const t=h.get(n);if(void 0===t)throw new Error(`Failed to find key for account key index ${n}`);let i;i=n<o?n<u:n<h.staticAccountKeys.length?n-o<c:n-h.staticAccountKeys.length<h.accountKeysFromLookups.writable.length,e.push({pubkey:t,isSigner:n<r.numRequiredSignatures,isWritable:i})}const n=h.get(t.programIdIndex);if(void 0===n)throw new Error(`Failed to find program id for program id index ${t.programIdIndex}`);d.push(new ds({programId:n,data:zo(t.data),keys:e}))}return new ps({payerKey:l,instructions:d,recentBlockhash:i})}compileToLegacyMessage(){return as.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions})}compileToV0Message(t){return us.compile({payerKey:this.payerKey,recentBlockhash:this.recentBlockhash,instructions:this.instructions,addressLookupTableAccounts:t})}}class ms{get version(){return this.message.version}constructor(t,e){if(this.signatures=void 0,this.message=void 0,void 0!==e)os(e.length===t.header.numRequiredSignatures,"Expected signatures length to be equal to the number of required signatures"),this.signatures=e;else{const e=[];for(let r=0;r<t.header.numRequiredSignatures;r++)e.push(new Uint8Array(Go));this.signatures=e}this.message=t}serialize(){const t=this.message.serialize(),e=Array();is(e,this.signatures.length);const r=mr([yr(e.length,"encodedSignaturesLength"),gr(ts(),this.signatures.length,"signatures"),yr(t.length,"serializedMessage")]),n=new Uint8Array(2048),i=r.encode({encodedSignaturesLength:new Uint8Array(e),signatures:this.signatures,serializedMessage:t},n);return n.slice(0,i)}static deserialize(t){let e=[...t];const r=[],n=ns(e);for(let t=0;t<n;t++)r.push(new Uint8Array(e.splice(0,Go)));const i=cs.deserialize(new Uint8Array(e));return new ms(i,r)}sign(t){const e=this.message.serialize(),r=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures);for(const n of t){const t=r.findIndex((t=>t.equals(n.publicKey)));os(t>=0,`Cannot sign with non signer key ${n.publicKey.toBase58()}`),this.signatures[t]=Uo(e,n.secretKey)}}addSignature(t,e){os(64===e.byteLength,"Signature must be 64 bytes long");const r=this.message.staticAccountKeys.slice(0,this.message.header.numRequiredSignatures).findIndex((e=>e.equals(t)));os(r>=0,`Can not add signature; \`${t.toBase58()}\` is not required to sign this transaction`),this.signatures[r]=e}}const gs=new Ho("SysvarC1ock11111111111111111111111111111111"),ys=new Ho("SysvarEpochSchedu1e111111111111111111111111"),ws=new Ho("Sysvar1nstructions1111111111111111111111111"),bs=new Ho("SysvarRecentB1ockHashes11111111111111111111"),vs=new Ho("SysvarRent111111111111111111111111111111111"),ks=new Ho("SysvarRewards111111111111111111111111111111"),Ss=new Ho("SysvarS1otHashes111111111111111111111111111"),_s=new Ho("SysvarS1otHistory11111111111111111111111111"),As=new Ho("SysvarStakeHistory1111111111111111111111111");async function Ms(t,e,r,n){const i=n&&{skipPreflight:n.skipPreflight,preflightCommitment:n.preflightCommitment||n.commitment,maxRetries:n.maxRetries,minContextSlot:n.minContextSlot},o=await t.sendTransaction(e,r,i);let s;if(null!=e.recentBlockhash&&null!=e.lastValidBlockHeight)s=(await t.confirmTransaction({abortSignal:n?.abortSignal,signature:o,blockhash:e.recentBlockhash,lastValidBlockHeight:e.lastValidBlockHeight},n&&n.commitment)).value;else if(null!=e.minNonceContextSlot&&null!=e.nonceInfo){const{nonceInstruction:r}=e.nonceInfo,i=r.keys[0].pubkey;s=(await t.confirmTransaction({abortSignal:n?.abortSignal,minContextSlot:e.minNonceContextSlot,nonceAccountPubkey:i,nonceValue:e.nonceInfo.nonce,signature:o},n&&n.commitment)).value}else null!=n?.abortSignal&&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."),s=(await t.confirmTransaction(o,n&&n.commitment)).value;if(s.err)throw new Error(`Transaction ${o} failed (${JSON.stringify(s)})`);return o}function Is(t){return new Promise((e=>setTimeout(e,t)))}function Es(t,e){const r=t.layout.span>=0?t.layout.span:rs(t,e),n=s.alloc(r),i=Object.assign({instruction:t.index},e);return t.layout.encode(i,n),n}function xs(t,e){let r;try{r=t.layout.decode(e)}catch(t){throw new Error("invalid instruction; "+t)}if(r.instruction!==t.index)throw new Error(`invalid instruction; instruction index mismatch ${r.instruction} != ${t.index}`);return r}const Bs=fr("lamportsPerSignature"),Ps=mr([dr("version"),dr("state"),Qo("authorizedPubkey"),Qo("nonce"),mr([Bs],"feeCalculator")]),Ts=Ps.span;class Rs{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=Ps.decode(zo(t),0);return new Rs({authorizedPubkey:new Ho(e.authorizedPubkey),nonce:new Ho(e.nonce).toString(),feeCalculator:e.feeCalculator})}}const Ls=(Os=8,t=>{const e=yr(Os,t),{encode:r,decode:n}=(t=>({decode:t.decode.bind(t),encode:t.encode.bind(t)}))(e),i=e;return i.decode=(t,e)=>{const r=n(t,e);return br(s.from(r))},i.encode=(t,e,n)=>{const i=Sr(t,Os);return r(i,e,n)},i});var Os;const Cs=Object.freeze({Create:{index:0,layout:mr([dr("instruction"),pr("lamports"),pr("space"),Qo("programId")])},Assign:{index:1,layout:mr([dr("instruction"),Qo("programId")])},Transfer:{index:2,layout:mr([dr("instruction"),Ls("lamports")])},CreateWithSeed:{index:3,layout:mr([dr("instruction"),Qo("base"),es("seed"),pr("lamports"),pr("space"),Qo("programId")])},AdvanceNonceAccount:{index:4,layout:mr([dr("instruction")])},WithdrawNonceAccount:{index:5,layout:mr([dr("instruction"),pr("lamports")])},InitializeNonceAccount:{index:6,layout:mr([dr("instruction"),Qo("authorized")])},AuthorizeNonceAccount:{index:7,layout:mr([dr("instruction"),Qo("authorized")])},Allocate:{index:8,layout:mr([dr("instruction"),pr("space")])},AllocateWithSeed:{index:9,layout:mr([dr("instruction"),Qo("base"),es("seed"),pr("space"),Qo("programId")])},AssignWithSeed:{index:10,layout:mr([dr("instruction"),Qo("base"),es("seed"),Qo("programId")])},TransferWithSeed:{index:11,layout:mr([dr("instruction"),Ls("lamports"),es("seed"),Qo("programId")])},UpgradeNonceAccount:{index:12,layout:mr([dr("instruction")])}});class Us{constructor(){}static createAccount(t){const e=Es(Cs.Create,{lamports:t.lamports,space:t.space,programId:zo(t.programId.toBuffer())});return new ds({keys:[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:e})}static transfer(t){let e,r;if("basePubkey"in t){e=Es(Cs.TransferWithSeed,{lamports:BigInt(t.lamports),seed:t.seed,programId:zo(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{e=Es(Cs.Transfer,{lamports:BigInt(t.lamports)}),r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0}]}return new ds({keys:r,programId:this.programId,data:e})}static assign(t){let e,r;if("basePubkey"in t){e=Es(Cs.AssignWithSeed,{base:zo(t.basePubkey.toBuffer()),seed:t.seed,programId:zo(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{e=Es(Cs.Assign,{programId:zo(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new ds({keys:r,programId:this.programId,data:e})}static createAccountWithSeed(t){const e=Es(Cs.CreateWithSeed,{base:zo(t.basePubkey.toBuffer()),seed:t.seed,lamports:t.lamports,space:t.space,programId:zo(t.programId.toBuffer())});let r=[{pubkey:t.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:t.newAccountPubkey,isSigner:!1,isWritable:!0}];return t.basePubkey!=t.fromPubkey&&r.push({pubkey:t.basePubkey,isSigner:!0,isWritable:!1}),new ds({keys:r,programId:this.programId,data:e})}static createNonceAccount(t){const e=new fs;"basePubkey"in t&&"seed"in t?e.add(Us.createAccountWithSeed({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,basePubkey:t.basePubkey,seed:t.seed,lamports:t.lamports,space:Ts,programId:this.programId})):e.add(Us.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.noncePubkey,lamports:t.lamports,space:Ts,programId:this.programId}));const r={noncePubkey:t.noncePubkey,authorizedPubkey:t.authorizedPubkey};return e.add(this.nonceInitialize(r)),e}static nonceInitialize(t){const e=Es(Cs.InitializeNonceAccount,{authorized:zo(t.authorizedPubkey.toBuffer())}),r={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:bs,isSigner:!1,isWritable:!1},{pubkey:vs,isSigner:!1,isWritable:!1}],programId:this.programId,data:e};return new ds(r)}static nonceAdvance(t){const e=Es(Cs.AdvanceNonceAccount),r={keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:bs,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:e};return new ds(r)}static nonceWithdraw(t){const e=Es(Cs.WithdrawNonceAccount,{lamports:t.lamports});return new ds({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.toPubkey,isSigner:!1,isWritable:!0},{pubkey:bs,isSigner:!1,isWritable:!1},{pubkey:vs,isSigner:!1,isWritable:!1},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:e})}static nonceAuthorize(t){const e=Es(Cs.AuthorizeNonceAccount,{authorized:zo(t.newAuthorizedPubkey.toBuffer())});return new ds({keys:[{pubkey:t.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:t.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:e})}static allocate(t){let e,r;if("basePubkey"in t){e=Es(Cs.AllocateWithSeed,{base:zo(t.basePubkey.toBuffer()),seed:t.seed,space:t.space,programId:zo(t.programId.toBuffer())}),r=[{pubkey:t.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:t.basePubkey,isSigner:!0,isWritable:!1}]}else{e=Es(Cs.Allocate,{space:t.space}),r=[{pubkey:t.accountPubkey,isSigner:!0,isWritable:!0}]}return new ds({keys:r,programId:this.programId,data:e})}}Us.programId=new Ho("11111111111111111111111111111111");class Ns{constructor(){}static getMinNumSignatures(t){return 2*(Math.ceil(t/Ns.chunkSize)+1+1)}static async load(t,e,r,n,i){{const o=await t.getMinimumBalanceForRentExemption(i.length),s=await t.getAccountInfo(r.publicKey,"confirmed");let a=null;if(null!==s){if(s.executable)return console.error("Program load failed, account is already executable"),!1;s.data.length!==i.length&&(a=a||new fs,a.add(Us.allocate({accountPubkey:r.publicKey,space:i.length}))),s.owner.equals(n)||(a=a||new fs,a.add(Us.assign({accountPubkey:r.publicKey,programId:n}))),s.lamports<o&&(a=a||new fs,a.add(Us.transfer({fromPubkey:e.publicKey,toPubkey:r.publicKey,lamports:o-s.lamports})))}else a=(new fs).add(Us.createAccount({fromPubkey:e.publicKey,newAccountPubkey:r.publicKey,lamports:o>0?o:1,space:i.length,programId:n}));null!==a&&await Ms(t,a,[e,r],{commitment:"confirmed"})}const o=mr([dr("instruction"),dr("offset"),dr("bytesLength"),dr("bytesLengthPadding"),gr(hr("byte"),cr(dr(),-8),"bytes")]),a=Ns.chunkSize;let u=0,c=i,h=[];for(;c.length>0;){const i=c.slice(0,a),l=s.alloc(a+16);o.encode({instruction:0,offset:u,bytes:i,bytesLength:0,bytesLengthPadding:0},l);const d=(new fs).add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0}],programId:n,data:l});if(h.push(Ms(t,d,[e,r],{commitment:"confirmed"})),t._rpcEndpoint.includes("solana.com")){const t=4;await Is(1e3/t)}u+=a,c=c.slice(a)}await Promise.all(h);{const i=mr([dr("instruction")]),o=s.alloc(i.span);i.encode({instruction:1},o);const a=(new fs).add({keys:[{pubkey:r.publicKey,isSigner:!0,isWritable:!0},{pubkey:vs,isSigner:!1,isWritable:!1}],programId:n,data:o});await Ms(t,a,[e,r],{commitment:"confirmed"})}return!0}}Ns.chunkSize=932;const zs=new Ho("BPFLoader2111111111111111111111111111111111");var Ks=Object.prototype.toString,Ws=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};function qs(t,e){var r,n,i,o,s,a,u;if(!0===t)return"true";if(!1===t)return"false";switch(typeof t){case"object":if(null===t)return null;if(t.toJSON&&"function"==typeof t.toJSON)return qs(t.toJSON(),e);if("[object Array]"===(u=Ks.call(t))){for(i="[",n=t.length-1,r=0;r<n;r++)i+=qs(t[r],!0)+",";return n>-1&&(i+=qs(t[r],!0)),i+"]"}if("[object Object]"===u){for(n=(o=Ws(t).sort()).length,i="",r=0;r<n;)void 0!==(a=qs(t[s=o[r]],!1))&&(i&&(i+=","),i+=JSON.stringify(s)+":"+a),r++;return"{"+i+"}"}return JSON.stringify(t);case"function":case"undefined":return e?null:void 0;case"string":return JSON.stringify(t);default:return isFinite(t)?t:null}}var Ds=function(t){var e=qs(t,!1);if(void 0!==e)return""+e};function js(t){let e=0;for(;t>1;)t/=2,e++;return e}class Hs{constructor(t,e,r,n,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=n,this.firstNormalSlot=i}getEpoch(t){return this.getEpochAndSlotIndex(t)[0]}getEpochAndSlotIndex(t){if(t<this.firstNormalSlot){const r=js(0===(e=t+32+1)?1:(e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,1+(e|=e>>32)))-js(32)-1;return[r,t-(this.getSlotsInEpoch(r)-32)]}{const e=t-this.firstNormalSlot,r=Math.floor(e/this.slotsPerEpoch);return[this.firstNormalEpoch+r,e%this.slotsPerEpoch]}var e}getFirstSlotInEpoch(t){return t<=this.firstNormalEpoch?32*(Math.pow(2,t)-1):(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+js(32)):this.slotsPerEpoch}}class Fs extends Error{constructor(t,e){super(t),this.logs=void 0,this.logs=e}}class $s extends Error{constructor({code:t,message:e,data:r},n){super(null!=n?`${n}: ${e}`:e),this.code=void 0,this.data=void 0,this.code=t,this.data=r,this.name="SolanaJSONRPCError"}}var Vs=globalThis.fetch;class Gs extends hi{constructor(t,e,r){super((t=>{const r=di(t,{autoconnect:!0,max_reconnects:5,reconnect:!0,reconnect_interval:1e3,...e});return this.underlyingSocket="socket"in r?r.socket:r,r}),t,e,r),this.underlyingSocket=void 0}call(...t){const e=this.underlyingSocket?.readyState;return 1===e?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){const e=this.underlyingSocket?.readyState;return 1===e?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+")"))}}class Zs{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=function(t,e){let r;try{r=t.layout.decode(e)}catch(t){throw new Error("invalid instruction; "+t)}if(r.typeIndex!==t.index)throw new Error(`invalid account data; account type mismatch ${r.typeIndex} != ${t.index}`);return r}(Ys,t),r=t.length-56;os(r>=0,"lookup table is invalid"),os(r%32==0,"lookup table is invalid");const n=r/32,{addresses:i}=mr([gr(Qo(),n,"addresses")]).decode(t.slice(56));return{deactivationSlot:e.deactivationSlot,lastExtendedSlot:e.lastExtendedSlot,lastExtendedSlotStartIndex:e.lastExtendedStartIndex,authority:0!==e.authority.length?new Ho(e.authority[0]):void 0,addresses:i.map((t=>new Ho(t)))}}}const Ys={index:1,layout:mr([dr("typeIndex"),Ls("deactivationSlot"),fr("lastExtendedSlot"),hr("lastExtendedStartIndex"),hr(),gr(Qo(),cr(hr(),-1),"authority")])},Js=/^[^:]+:\/\/([^:[]+|\[[^\]]+\])(:\d+)?(.*)/i;const Xs=Gr(Nr(Ho),jr(),(t=>new Ho(t))),Qs=Hr([jr(),zr("base64")]),ta=Gr(Nr(s),Qs,(t=>s.from(t[0],"base64")));function ea(t){let e,r;if("string"==typeof t)e=t;else if(t){const{commitment:n,...i}=t;e=n,r=i}return{commitment:e,config:r}}function ra(t){return $r([Fr({jsonrpc:zr("2.0"),id:jr(),result:t}),Fr({jsonrpc:zr("2.0"),id:jr(),error:Fr({code:Vr(),message:jr(),data:qr(Or("any",(()=>!0)))})})])}const na=ra(Vr());function ia(t){return Gr(ra(t),na,(e=>"error"in e?e:{...e,result:Tr(e.result,t)}))}function oa(t){return ia(Fr({context:Fr({slot:Wr()}),value:t}))}function sa(t){return Fr({context:Fr({slot:Wr()}),value:t})}function aa(t,e){return 0===t?new us({header:e.header,staticAccountKeys:e.accountKeys.map((t=>new Ho(t))),recentBlockhash:e.recentBlockhash,compiledInstructions:e.instructions.map((t=>({programIdIndex:t.programIdIndex,accountKeyIndexes:t.accounts,data:Ct.decode(t.data)}))),addressTableLookups:e.addressTableLookups}):new as(e)}const ua=Fr({foundation:Wr(),foundationTerm:Wr(),initial:Wr(),taper:Wr(),terminal:Wr()}),ca=ia(Cr(Kr(Fr({epoch:Wr(),effectiveSlot:Wr(),amount:Wr(),postBalance:Wr(),commission:qr(Kr(Wr()))})))),ha=Cr(Fr({slot:Wr(),prioritizationFee:Wr()})),la=Fr({total:Wr(),validator:Wr(),foundation:Wr(),epoch:Wr()}),da=Fr({epoch:Wr(),slotIndex:Wr(),slotsInEpoch:Wr(),absoluteSlot:Wr(),blockHeight:qr(Wr()),transactionCount:qr(Wr())}),fa=Fr({slotsPerEpoch:Wr(),leaderScheduleSlotOffset:Wr(),warmup:Ur(),firstNormalEpoch:Wr(),firstNormalSlot:Wr()}),pa=Dr(jr(),Cr(Wr())),ma=Kr($r([Fr({}),jr()])),ga=Fr({err:ma}),ya=zr("receivedSignature"),wa=Fr({"solana-core":jr(),"feature-set":qr(Wr())}),ba=oa(Fr({err:Kr($r([Fr({}),jr()])),logs:Kr(Cr(jr())),accounts:qr(Kr(Cr(Kr(Fr({executable:Ur(),owner:jr(),lamports:Wr(),data:Cr(jr()),rentEpoch:qr(Wr())}))))),unitsConsumed:qr(Wr()),returnData:qr(Kr(Fr({programId:jr(),data:Hr([jr(),zr("base64")])})))})),va=oa(Fr({byIdentity:Dr(jr(),Cr(Wr())),range:Fr({firstSlot:Wr(),lastSlot:Wr()})}));const ka=ia(ua),Sa=ia(la),_a=ia(ha),Aa=ia(da),Ma=ia(fa),Ia=ia(pa),Ea=ia(Wr()),xa=oa(Fr({total:Wr(),circulating:Wr(),nonCirculating:Wr(),nonCirculatingAccounts:Cr(Xs)})),Ba=Fr({amount:jr(),uiAmount:Kr(Wr()),decimals:Wr(),uiAmountString:qr(jr())}),Pa=oa(Cr(Fr({address:Xs,amount:jr(),uiAmount:Kr(Wr()),decimals:Wr(),uiAmountString:qr(jr())}))),Ta=oa(Cr(Fr({pubkey:Xs,account:Fr({executable:Ur(),owner:Xs,lamports:Wr(),data:ta,rentEpoch:Wr()})}))),Ra=Fr({program:jr(),parsed:Vr(),space:Wr()}),La=oa(Cr(Fr({pubkey:Xs,account:Fr({executable:Ur(),owner:Xs,lamports:Wr(),data:Ra,rentEpoch:Wr()})}))),Oa=oa(Cr(Fr({lamports:Wr(),address:Xs}))),Ca=Fr({executable:Ur(),owner:Xs,lamports:Wr(),data:ta,rentEpoch:Wr()}),Ua=Fr({pubkey:Xs,account:Ca}),Na=Gr($r([Nr(s),Ra]),$r([Qs,Ra]),(t=>Array.isArray(t)?Tr(t,ta):t)),za=Fr({executable:Ur(),owner:Xs,lamports:Wr(),data:Na,rentEpoch:Wr()}),Ka=Fr({pubkey:Xs,account:za}),Wa=Fr({state:$r([zr("active"),zr("inactive"),zr("activating"),zr("deactivating")]),active:Wr(),inactive:Wr()}),qa=ia(Cr(Fr({signature:jr(),slot:Wr(),err:ma,memo:Kr(jr()),blockTime:qr(Kr(Wr()))}))),Da=ia(Cr(Fr({signature:jr(),slot:Wr(),err:ma,memo:Kr(jr()),blockTime:qr(Kr(Wr()))}))),ja=Fr({subscription:Wr(),result:sa(Ca)}),Ha=Fr({pubkey:Xs,account:Ca}),Fa=Fr({subscription:Wr(),result:sa(Ha)}),$a=Fr({parent:Wr(),slot:Wr(),root:Wr()}),Va=Fr({subscription:Wr(),result:$a}),Ga=$r([Fr({type:$r([zr("firstShredReceived"),zr("completed"),zr("optimisticConfirmation"),zr("root")]),slot:Wr(),timestamp:Wr()}),Fr({type:zr("createdBank"),parent:Wr(),slot:Wr(),timestamp:Wr()}),Fr({type:zr("frozen"),slot:Wr(),timestamp:Wr(),stats:Fr({numTransactionEntries:Wr(),numSuccessfulTransactions:Wr(),numFailedTransactions:Wr(),maxTransactionsPerEntry:Wr()})}),Fr({type:zr("dead"),slot:Wr(),timestamp:Wr(),err:jr()})]),Za=Fr({subscription:Wr(),result:Ga}),Ya=Fr({subscription:Wr(),result:sa($r([ga,ya]))}),Ja=Fr({subscription:Wr(),result:Wr()}),Xa=Fr({pubkey:jr(),gossip:Kr(jr()),tpu:Kr(jr()),rpc:Kr(jr()),version:Kr(jr())}),Qa=Fr({votePubkey:jr(),nodePubkey:jr(),activatedStake:Wr(),epochVoteAccount:Ur(),epochCredits:Cr(Hr([Wr(),Wr(),Wr()])),commission:Wr(),lastVote:Wr(),rootSlot:Kr(Wr())}),tu=ia(Fr({current:Cr(Qa),delinquent:Cr(Qa)})),eu=$r([zr("processed"),zr("confirmed"),zr("finalized")]),ru=Fr({slot:Wr(),confirmations:Kr(Wr()),err:ma,confirmationStatus:qr(eu)}),nu=oa(Cr(Kr(ru))),iu=ia(Wr()),ou=Fr({accountKey:Xs,writableIndexes:Cr(Wr()),readonlyIndexes:Cr(Wr())}),su=Fr({signatures:Cr(jr()),message:Fr({accountKeys:Cr(jr()),header:Fr({numRequiredSignatures:Wr(),numReadonlySignedAccounts:Wr(),numReadonlyUnsignedAccounts:Wr()}),instructions:Cr(Fr({accounts:Cr(Wr()),data:jr(),programIdIndex:Wr()})),recentBlockhash:jr(),addressTableLookups:qr(Cr(ou))})}),au=Fr({pubkey:Xs,signer:Ur(),writable:Ur(),source:qr($r([zr("transaction"),zr("lookupTable")]))}),uu=Fr({accountKeys:Cr(au),signatures:Cr(jr())}),cu=Fr({parsed:Vr(),program:jr(),programId:Xs}),hu=Fr({accounts:Cr(Xs),data:jr(),programId:Xs}),lu=Gr($r([hu,cu]),$r([Fr({parsed:Vr(),program:jr(),programId:jr()}),Fr({accounts:Cr(jr()),data:jr(),programId:jr()})]),(t=>Tr(t,"accounts"in t?hu:cu))),du=Fr({signatures:Cr(jr()),message:Fr({accountKeys:Cr(au),instructions:Cr(lu),recentBlockhash:jr(),addressTableLookups:qr(Kr(Cr(ou)))})}),fu=Fr({accountIndex:Wr(),mint:jr(),owner:qr(jr()),uiTokenAmount:Ba}),pu=Fr({writable:Cr(Xs),readonly:Cr(Xs)}),mu=Fr({err:ma,fee:Wr(),innerInstructions:qr(Kr(Cr(Fr({index:Wr(),instructions:Cr(Fr({accounts:Cr(Wr()),data:jr(),programIdIndex:Wr()}))})))),preBalances:Cr(Wr()),postBalances:Cr(Wr()),logMessages:qr(Kr(Cr(jr()))),preTokenBalances:qr(Kr(Cr(fu))),postTokenBalances:qr(Kr(Cr(fu))),loadedAddresses:qr(pu),computeUnitsConsumed:qr(Wr())}),gu=Fr({err:ma,fee:Wr(),innerInstructions:qr(Kr(Cr(Fr({index:Wr(),instructions:Cr(lu)})))),preBalances:Cr(Wr()),postBalances:Cr(Wr()),logMessages:qr(Kr(Cr(jr()))),preTokenBalances:qr(Kr(Cr(fu))),postTokenBalances:qr(Kr(Cr(fu))),loadedAddresses:qr(pu),computeUnitsConsumed:qr(Wr())}),yu=$r([zr(0),zr("legacy")]),wu=Fr({pubkey:jr(),lamports:Wr(),postBalance:Kr(Wr()),rewardType:Kr(jr()),commission:qr(Kr(Wr()))}),bu=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),transactions:Cr(Fr({transaction:su,meta:Kr(mu),version:qr(yu)})),rewards:qr(Cr(wu)),blockTime:Kr(Wr()),blockHeight:Kr(Wr())}))),vu=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),rewards:qr(Cr(wu)),blockTime:Kr(Wr()),blockHeight:Kr(Wr())}))),ku=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),transactions:Cr(Fr({transaction:uu,meta:Kr(mu),version:qr(yu)})),rewards:qr(Cr(wu)),blockTime:Kr(Wr()),blockHeight:Kr(Wr())}))),Su=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),transactions:Cr(Fr({transaction:du,meta:Kr(gu),version:qr(yu)})),rewards:qr(Cr(wu)),blockTime:Kr(Wr()),blockHeight:Kr(Wr())}))),_u=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),transactions:Cr(Fr({transaction:uu,meta:Kr(gu),version:qr(yu)})),rewards:qr(Cr(wu)),blockTime:Kr(Wr()),blockHeight:Kr(Wr())}))),Au=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),rewards:qr(Cr(wu)),blockTime:Kr(Wr()),blockHeight:Kr(Wr())}))),Mu=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),transactions:Cr(Fr({transaction:su,meta:Kr(mu)})),rewards:qr(Cr(wu)),blockTime:Kr(Wr())}))),Iu=ia(Kr(Fr({blockhash:jr(),previousBlockhash:jr(),parentSlot:Wr(),signatures:Cr(jr()),blockTime:Kr(Wr())}))),Eu=ia(Kr(Fr({slot:Wr(),meta:mu,blockTime:qr(Kr(Wr())),transaction:su,version:qr(yu)}))),xu=ia(Kr(Fr({slot:Wr(),transaction:du,meta:Kr(gu),blockTime:qr(Kr(Wr())),version:qr(yu)}))),Bu=oa(Fr({blockhash:jr(),feeCalculator:Fr({lamportsPerSignature:Wr()})})),Pu=oa(Fr({blockhash:jr(),lastValidBlockHeight:Wr()})),Tu=ia(Cr(Fr({slot:Wr(),numTransactions:Wr(),numSlots:Wr(),samplePeriodSecs:Wr()}))),Ru=oa(Kr(Fr({feeCalculator:Fr({lamportsPerSignature:Wr()})}))),Lu=ia(jr()),Ou=ia(jr()),Cu=Fr({err:ma,logs:Cr(jr()),signature:jr()}),Uu=Fr({result:sa(Cu),subscription:Wr()}),Nu={"solana-client":"js/0.0.0-development"};class zu{constructor(t){this._keypair=void 0,this._keypair=t??Lo()}static generate(){return new zu(Lo())}static fromSecretKey(t,e){if(64!==t.byteLength)throw new Error("bad secret key size");const r=t.slice(32,64);if(!e||!e.skipValidation){const e=t.slice(0,32),n=Oo(e);for(let t=0;t<32;t++)if(r[t]!==n[t])throw new Error("provided secretKey is invalid")}return new zu({publicKey:r,secretKey:t})}static fromSeed(t){const e=Oo(t),r=new Uint8Array(64);return r.set(t),r.set(e,32),new zu({publicKey:e,secretKey:r})}get publicKey(){return new Ho(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}const Ku=Object.freeze({CreateLookupTable:{index:0,layout:mr([dr("instruction"),Ls("recentSlot"),hr("bumpSeed")])},FreezeLookupTable:{index:1,layout:mr([dr("instruction")])},ExtendLookupTable:{index:2,layout:mr([dr("instruction"),Ls(),gr(Qo(),cr(dr(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:mr([dr("instruction")])},CloseLookupTable:{index:4,layout:mr([dr("instruction")])}});class Wu{constructor(){}static createLookupTable(t){const[e,r]=Ho.findProgramAddressSync([t.authority.toBuffer(),Sr(BigInt(t.recentSlot),8)],this.programId),n=Es(Ku.CreateLookupTable,{recentSlot:BigInt(t.recentSlot),bumpSeed:r}),i=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Us.programId,isSigner:!1,isWritable:!1}];return[new ds({programId:this.programId,keys:i,data:n}),e]}static freezeLookupTable(t){const e=Es(Ku.FreezeLookupTable),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new ds({programId:this.programId,keys:r,data:e})}static extendLookupTable(t){const e=Es(Ku.ExtendLookupTable,{addresses:t.addresses.map((t=>t.toBytes()))}),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return t.payer&&r.push({pubkey:t.payer,isSigner:!0,isWritable:!0},{pubkey:Us.programId,isSigner:!1,isWritable:!1}),new ds({programId:this.programId,keys:r,data:e})}static deactivateLookupTable(t){const e=Es(Ku.DeactivateLookupTable),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1}];return new ds({programId:this.programId,keys:r,data:e})}static closeLookupTable(t){const e=Es(Ku.CloseLookupTable),r=[{pubkey:t.lookupTable,isSigner:!1,isWritable:!0},{pubkey:t.authority,isSigner:!0,isWritable:!1},{pubkey:t.recipient,isSigner:!1,isWritable:!0}];return new ds({programId:this.programId,keys:r,data:e})}}Wu.programId=new Ho("AddressLookupTab1e1111111111111111111111111");const qu=Object.freeze({RequestUnits:{index:0,layout:mr([hr("instruction"),dr("units"),dr("additionalFee")])},RequestHeapFrame:{index:1,layout:mr([hr("instruction"),dr("bytes")])},SetComputeUnitLimit:{index:2,layout:mr([hr("instruction"),dr("units")])},SetComputeUnitPrice:{index:3,layout:mr([hr("instruction"),Ls("microLamports")])}});class Du{constructor(){}static requestUnits(t){const e=Es(qu.RequestUnits,t);return new ds({keys:[],programId:this.programId,data:e})}static requestHeapFrame(t){const e=Es(qu.RequestHeapFrame,t);return new ds({keys:[],programId:this.programId,data:e})}static setComputeUnitLimit(t){const e=Es(qu.SetComputeUnitLimit,t);return new ds({keys:[],programId:this.programId,data:e})}static setComputeUnitPrice(t){const e=Es(qu.SetComputeUnitPrice,{microLamports:BigInt(t.microLamports)});return new ds({keys:[],programId:this.programId,data:e})}}Du.programId=new Ho("ComputeBudget111111111111111111111111111111");const ju=mr([hr("numSignatures"),hr("padding"),lr("signatureOffset"),lr("signatureInstructionIndex"),lr("publicKeyOffset"),lr("publicKeyInstructionIndex"),lr("messageDataOffset"),lr("messageDataSize"),lr("messageInstructionIndex")]);class Hu{constructor(){}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:n,instructionIndex:i}=t;os(32===e.length,`Public Key must be 32 bytes but received ${e.length} bytes`),os(64===n.length,`Signature must be 64 bytes but received ${n.length} bytes`);const o=ju.span,a=o+e.length,u=a+n.length,c=s.alloc(u+r.length),h=null==i?65535:i;return ju.encode({numSignatures:1,padding:0,signatureOffset:a,signatureInstructionIndex:h,publicKeyOffset:o,publicKeyInstructionIndex:h,messageDataOffset:u,messageDataSize:r.length,messageInstructionIndex:h},c),c.fill(e,o),c.fill(n,a),c.fill(r,u),new ds({keys:[],programId:Hu.programId,data:c})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:n}=t;os(64===e.length,`Private key must be 64 bytes but received ${e.length} bytes`);try{const t=zu.fromSecretKey(e),i=t.publicKey.toBytes(),o=Uo(r,t.secretKey);return this.createInstructionWithPublicKey({publicKey:i,message:r,signature:o,instructionIndex:n})}catch(t){throw new Error(`Error creating instruction; ${t}`)}}}Hu.programId=new Ho("Ed25519SigVerify111111111111111111111111111"),To.hmacSha256Sync=(t,...e)=>{const r=Ti.create(Dt,t);return e.forEach((t=>r.update(t))),r.digest()};To.isValidPrivateKey;const Fu=function(t,e=!1){return Ji.fromPrivateKey(t).toRawBytes(e)},$u=mr([hr("numSignatures"),lr("signatureOffset"),hr("signatureInstructionIndex"),lr("ethAddressOffset"),hr("ethAddressInstructionIndex"),lr("messageDataOffset"),lr("messageDataSize"),hr("messageInstructionIndex"),yr(20,"ethAddress"),yr(64,"signature"),hr("recoveryId")]);class Vu{constructor(){}static publicKeyToEthAddress(t){os(64===t.length,`Public key must be 64 bytes but received ${t.length} bytes`);try{return s.from(xi(zo(t))).slice(-20)}catch(t){throw new Error(`Error constructing Ethereum address: ${t}`)}}static createInstructionWithPublicKey(t){const{publicKey:e,message:r,signature:n,recoveryId:i,instructionIndex:o}=t;return Vu.createInstructionWithEthAddress({ethAddress:Vu.publicKeyToEthAddress(e),message:r,signature:n,recoveryId:i,instructionIndex:o})}static createInstructionWithEthAddress(t){const{ethAddress:e,message:r,signature:n,recoveryId:i,instructionIndex:o=0}=t;let a;a="string"==typeof e?e.startsWith("0x")?s.from(e.substr(2),"hex"):s.from(e,"hex"):e,os(20===a.length,`Address must be 20 bytes but received ${a.length} bytes`);const u=12+a.length,c=u+n.length+1,h=s.alloc($u.span+r.length);return $u.encode({numSignatures:1,signatureOffset:u,signatureInstructionIndex:o,ethAddressOffset:12,ethAddressInstructionIndex:o,messageDataOffset:c,messageDataSize:r.length,messageInstructionIndex:o,signature:zo(n),ethAddress:zo(a),recoveryId:i},h),h.fill(zo(r),$u.span),new ds({keys:[],programId:Vu.programId,data:h})}static createInstructionWithPrivateKey(t){const{privateKey:e,message:r,instructionIndex:n}=t;os(32===e.length,`Private key must be 32 bytes but received ${e.length} bytes`);try{const t=zo(e),i=Fu(t,!1).slice(1),o=s.from(xi(zo(r))),[a,u]=xo(o,t,{der:!1,recovered:!0});return this.createInstructionWithPublicKey({publicKey:i,message:r,signature:a,recoveryId:u,instructionIndex:n})}catch(t){throw new Error(`Error creating instruction; ${t}`)}}}Vu.programId=new Ho("KeccakSecp256k11111111111111111111111111111");const Gu=new Ho("StakeConfig11111111111111111111111111111111");class Zu{constructor(t,e){this.staker=void 0,this.withdrawer=void 0,this.staker=t,this.withdrawer=e}}class Yu{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}}Yu.default=new Yu(0,0,Ho.default);const Ju=Object.freeze({Initialize:{index:0,layout:mr([dr("instruction"),((t="authorized")=>mr([Qo("staker"),Qo("withdrawer")],t))(),((t="lockup")=>mr([pr("unixTimestamp"),pr("epoch"),Qo("custodian")],t))()])},Authorize:{index:1,layout:mr([dr("instruction"),Qo("newAuthorized"),dr("stakeAuthorizationType")])},Delegate:{index:2,layout:mr([dr("instruction")])},Split:{index:3,layout:mr([dr("instruction"),pr("lamports")])},Withdraw:{index:4,layout:mr([dr("instruction"),pr("lamports")])},Deactivate:{index:5,layout:mr([dr("instruction")])},Merge:{index:7,layout:mr([dr("instruction")])},AuthorizeWithSeed:{index:8,layout:mr([dr("instruction"),Qo("newAuthorized"),dr("stakeAuthorizationType"),es("authoritySeed"),Qo("authorityOwner")])}}),Xu=Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class Qu{constructor(){}static initialize(t){const{stakePubkey:e,authorized:r,lockup:n}=t,i=n||Yu.default,o=Es(Ju.Initialize,{authorized:{staker:zo(r.staker.toBuffer()),withdrawer:zo(r.withdrawer.toBuffer())},lockup:{unixTimestamp:i.unixTimestamp,epoch:i.epoch,custodian:zo(i.custodian.toBuffer())}}),s={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:vs,isSigner:!1,isWritable:!1}],programId:this.programId,data:o};return new ds(s)}static createAccountWithSeed(t){const e=new fs;e.add(Us.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:n,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:n,lockup:i}))}static createAccount(t){const e=new fs;e.add(Us.createAccount({fromPubkey:t.fromPubkey,newAccountPubkey:t.stakePubkey,lamports:t.lamports,space:this.space,programId:this.programId}));const{stakePubkey:r,authorized:n,lockup:i}=t;return e.add(this.initialize({stakePubkey:r,authorized:n,lockup:i}))}static delegate(t){const{stakePubkey:e,authorizedPubkey:r,votePubkey:n}=t,i=Es(Ju.Delegate);return(new fs).add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!1},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:As,isSigner:!1,isWritable:!1},{pubkey:Gu,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static authorize(t){const{stakePubkey:e,authorizedPubkey:r,newAuthorizedPubkey:n,stakeAuthorizationType:i,custodianPubkey:o}=t,s=Es(Ju.Authorize,{newAuthorized:zo(n.toBuffer()),stakeAuthorizationType:i.index}),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:gs,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&a.push({pubkey:o,isSigner:!1,isWritable:!1}),(new fs).add({keys:a,programId:this.programId,data:s})}static authorizeWithSeed(t){const{stakePubkey:e,authorityBase:r,authoritySeed:n,authorityOwner:i,newAuthorizedPubkey:o,stakeAuthorizationType:s,custodianPubkey:a}=t,u=Es(Ju.AuthorizeWithSeed,{newAuthorized:zo(o.toBuffer()),stakeAuthorizationType:s.index,authoritySeed:n,authorityOwner:zo(i.toBuffer())}),c=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1},{pubkey:gs,isSigner:!1,isWritable:!1}];return a&&c.push({pubkey:a,isSigner:!1,isWritable:!1}),(new fs).add({keys:c,programId:this.programId,data:u})}static splitInstruction(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:n,lamports:i}=t,o=Es(Ju.Split,{lamports:i});return new ds({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:o})}static split(t){const e=new fs;return e.add(Us.createAccount({fromPubkey:t.authorizedPubkey,newAccountPubkey:t.splitStakePubkey,lamports:0,space:this.space,programId:this.programId})),e.add(this.splitInstruction(t))}static splitWithSeed(t){const{stakePubkey:e,authorizedPubkey:r,splitStakePubkey:n,basePubkey:i,seed:o,lamports:s}=t,a=new fs;return a.add(Us.allocate({accountPubkey:n,basePubkey:i,seed:o,space:this.space,programId:this.programId})),a.add(this.splitInstruction({stakePubkey:e,authorizedPubkey:r,splitStakePubkey:n,lamports:s}))}static merge(t){const{stakePubkey:e,sourceStakePubKey:r,authorizedPubkey:n}=t,i=Es(Ju.Merge);return(new fs).add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!1,isWritable:!0},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:As,isSigner:!1,isWritable:!1},{pubkey:n,isSigner:!0,isWritable:!1}],programId:this.programId,data:i})}static withdraw(t){const{stakePubkey:e,authorizedPubkey:r,toPubkey:n,lamports:i,custodianPubkey:o}=t,s=Es(Ju.Withdraw,{lamports:i}),a=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:n,isSigner:!1,isWritable:!0},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:As,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return o&&a.push({pubkey:o,isSigner:!1,isWritable:!1}),(new fs).add({keys:a,programId:this.programId,data:s})}static deactivate(t){const{stakePubkey:e,authorizedPubkey:r}=t,n=Es(Ju.Deactivate);return(new fs).add({keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:n})}}Qu.programId=new Ho("Stake11111111111111111111111111111111111111"),Qu.space=200;class tc{constructor(t,e,r,n){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=n}}const ec=Object.freeze({InitializeAccount:{index:0,layout:mr([dr("instruction"),((t="voteInit")=>mr([Qo("nodePubkey"),Qo("authorizedVoter"),Qo("authorizedWithdrawer"),hr("commission")],t))()])},Authorize:{index:1,layout:mr([dr("instruction"),Qo("newAuthorized"),dr("voteAuthorizationType")])},Withdraw:{index:3,layout:mr([dr("instruction"),pr("lamports")])},AuthorizeWithSeed:{index:10,layout:mr([dr("instruction"),((t="voteAuthorizeWithSeedArgs")=>mr([dr("voteAuthorizationType"),Qo("currentAuthorityDerivedKeyOwnerPubkey"),es("currentAuthorityDerivedKeySeed"),Qo("newAuthorized")],t))()])}}),rc=Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class nc{constructor(){}static initializeAccount(t){const{votePubkey:e,nodePubkey:r,voteInit:n}=t,i=Es(ec.InitializeAccount,{voteInit:{nodePubkey:zo(n.nodePubkey.toBuffer()),authorizedVoter:zo(n.authorizedVoter.toBuffer()),authorizedWithdrawer:zo(n.authorizedWithdrawer.toBuffer()),commission:n.commission}}),o={keys:[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:vs,isSigner:!1,isWritable:!1},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}],programId:this.programId,data:i};return new ds(o)}static createAccount(t){const e=new fs;return e.add(Us.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:n,voteAuthorizationType:i}=t,o=Es(ec.Authorize,{newAuthorized:zo(n.toBuffer()),voteAuthorizationType:i.index}),s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:r,isSigner:!0,isWritable:!1}];return(new fs).add({keys:s,programId:this.programId,data:o})}static authorizeWithSeed(t){const{currentAuthorityDerivedKeyBasePubkey:e,currentAuthorityDerivedKeyOwnerPubkey:r,currentAuthorityDerivedKeySeed:n,newAuthorizedPubkey:i,voteAuthorizationType:o,votePubkey:s}=t,a=Es(ec.AuthorizeWithSeed,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:zo(r.toBuffer()),currentAuthorityDerivedKeySeed:n,newAuthorized:zo(i.toBuffer()),voteAuthorizationType:o.index}}),u=[{pubkey:s,isSigner:!1,isWritable:!0},{pubkey:gs,isSigner:!1,isWritable:!1},{pubkey:e,isSigner:!0,isWritable:!1}];return(new fs).add({keys:u,programId:this.programId,data:a})}static withdraw(t){const{votePubkey:e,authorizedWithdrawerPubkey:r,lamports:n,toPubkey:i}=t,o=Es(ec.Withdraw,{lamports:n}),s=[{pubkey:e,isSigner:!1,isWritable:!0},{pubkey:i,isSigner:!1,isWritable:!0},{pubkey:r,isSigner:!0,isWritable:!1}];return(new fs).add({keys:s,programId:this.programId,data:o})}static safeWithdraw(t,e,r){if(t.lamports>e-r)throw new Error("Withdraw will leave vote account with insuffcient funds.");return nc.withdraw(t)}}nc.programId=new Ho("Vote111111111111111111111111111111111111111"),nc.space=3731;const ic=new Ho("Va1idator1nfo111111111111111111111111111111"),oc=Fr({name:jr(),website:qr(jr()),details:qr(jr()),keybaseUsername:qr(jr())});class sc{constructor(t,e){this.key=void 0,this.info=void 0,this.key=t,this.info=e}static fromConfigData(t){let e=[...t];if(2!==ns(e))return null;const r=[];for(let t=0;t<2;t++){const t=new Ho(e.slice(0,Do));e=e.slice(Do);const n=1===e.slice(0,1)[0];e=e.slice(1),r.push({publicKey:t,isSigner:n})}if(r[0].publicKey.equals(ic)&&r[1].isSigner){const t=es().decode(s.from(e)),n=JSON.parse(t);return Pr(n,oc),new sc(r[1].publicKey,n)}return null}}const ac=new Ho("Vote111111111111111111111111111111111111111"),uc=mr([Qo("nodePubkey"),Qo("authorizedWithdrawer"),hr("commission"),fr(),gr(mr([fr("slot"),dr("confirmationCount")]),cr(dr(),-8),"votes"),hr("rootSlotValid"),fr("rootSlot"),fr(),gr(mr([fr("epoch"),Qo("authorizedVoter")]),cr(dr(),-8),"authorizedVoters"),mr([gr(mr([Qo("authorizedPubkey"),fr("epochOfLastAuthorizedSwitch"),fr("targetEpoch")]),32,"buf"),fr("idx"),hr("isEmpty")],"priorVoters"),fr(),gr(mr([fr("epoch"),fr("credits"),fr("prevCredits")]),cr(dr(),-8),"epochCredits"),mr([fr("slot"),fr("timestamp")],"lastTimestamp")]);class cc{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 e=uc.decode(zo(t),4);let r=e.rootSlot;return e.rootSlotValid||(r=null),new cc({nodePubkey:new Ho(e.nodePubkey),authorizedWithdrawer:new Ho(e.authorizedWithdrawer),commission:e.commission,votes:e.votes,rootSlot:r,authorizedVoters:e.authorizedVoters.map(hc),priorVoters:dc(e.priorVoters),epochCredits:e.epochCredits,lastTimestamp:e.lastTimestamp})}}function hc({authorizedVoter:t,epoch:e}){return{epoch:e,authorizedVoter:new Ho(t)}}function lc({authorizedPubkey:t,epochOfLastAuthorizedSwitch:e,targetEpoch:r}){return{authorizedPubkey:new Ho(t),epochOfLastAuthorizedSwitch:e,targetEpoch:r}}function dc({buf:t,idx:e,isEmpty:r}){return r?[]:[...t.slice(e+1).map(lc),...t.slice(0,e).map(lc)]}const fc={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/"}};var pc=Object.freeze({__proto__:null,Account:class{constructor(t){if(this._publicKey=void 0,this._secretKey=void 0,t){const e=zo(t);if(64!==t.length)throw new Error("bad secret key size");this._publicKey=e.slice(32,64),this._secretKey=e.slice(0,32)}else this._secretKey=zo(Ro()),this._publicKey=zo(Oo(this._secretKey))}get publicKey(){return new Ho(this._publicKey)}get secretKey(){return s.concat([this._secretKey,this._publicKey],64)}},AddressLookupTableAccount:Zs,AddressLookupTableInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=dr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Ku))if(n.index==e){r=t;break}if(!r)throw new Error("Invalid Instruction. Should be a LookupTable Instruction");return r}static decodeCreateLookupTable(t){this.checkProgramId(t.programId),this.checkKeysLength(t.keys,4);const{recentSlot:e}=xs(Ku.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}=xs(Ku.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((t=>new Ho(t)))}}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(Wu.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}`)}},AddressLookupTableProgram:Wu,Authorized:Zu,BLOCKHASH_CACHE_TIMEOUT_MS:3e4,BPF_LOADER_DEPRECATED_PROGRAM_ID:Fo,BPF_LOADER_PROGRAM_ID:zs,BpfLoader:class{static getMinNumSignatures(t){return Ns.getMinNumSignatures(t)}static load(t,e,r,n,i){return Ns.load(t,e,r,i,n)}},COMPUTE_BUDGET_INSTRUCTION_LAYOUTS:qu,ComputeBudgetInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=hr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(qu))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a ComputeBudgetInstruction");return r}static decodeRequestUnits(t){this.checkProgramId(t.programId);const{units:e,additionalFee:r}=xs(qu.RequestUnits,t.data);return{units:e,additionalFee:r}}static decodeRequestHeapFrame(t){this.checkProgramId(t.programId);const{bytes:e}=xs(qu.RequestHeapFrame,t.data);return{bytes:e}}static decodeSetComputeUnitLimit(t){this.checkProgramId(t.programId);const{units:e}=xs(qu.SetComputeUnitLimit,t.data);return{units:e}}static decodeSetComputeUnitPrice(t){this.checkProgramId(t.programId);const{microLamports:e}=xs(qu.SetComputeUnitPrice,t.data);return{microLamports:e}}static checkProgramId(t){if(!t.equals(Du.programId))throw new Error("invalid instruction; programId is not ComputeBudgetProgram")}},ComputeBudgetProgram:Du,Connection:class{constructor(t,e){let r,n,i,o,s,a;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 t={};return async e=>{const{commitment:r,config:n}=ea(e),i=this._buildArgs([],r,void 0,n),o=Ds(i);return t[o]=t[o]??(async()=>{try{const t=Tr(await this._rpcRequest("getBlockHeight",i),ia(Wr()));if("error"in t)throw new $s(t.error,"failed to get block height information");return t.result}finally{delete t[o]}})(),await t[o]}})(),e&&"string"==typeof e?this._commitment=e:e&&(this._commitment=e.commitment,this._confirmTransactionInitialTimeout=e.confirmTransactionInitialTimeout,r=e.wsEndpoint,n=e.httpHeaders,i=e.fetch,o=e.fetchMiddleware,s=e.disableRetryOnRateLimit,a=e.httpAgent),this._rpcEndpoint=function(t){if(!1===/^https?:/.test(t))throw new TypeError("Endpoint URL must start with `http:` or `https:`.");return t}(t),this._rpcWsEndpoint=r||function(t){const e=t.match(Js);if(null==e)throw TypeError(`Failed to validate endpoint URL \`${t}\``);const[r,n,i,o]=e,s=t.startsWith("https:")?"wss:":"ws:",a=null==i?null:parseInt(i.slice(1),10);return`${s}//${n}${null==a?"":`:${a+1}`}${o}`}(t),this._rpcClient=function(t,e,r,n,i,o){const s=r||Vs;let a;return null!=o&&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."),n&&(a=async(t,e)=>{const r=await new Promise(((r,i)=>{try{n(t,e,((t,e)=>r([t,e])))}catch(t){i(t)}}));return await s(...r)}),new vn((async(r,n)=>{const o={method:"POST",body:r,agent:void 0,headers:Object.assign({"Content-Type":"application/json"},e||{},Nu)};try{let e,r=5,u=500;for(;e=a?await a(t,o):await s(t,o),429===e.status&&!0!==i&&(r-=1,0!==r);)console.log(`Server responded with ${e.status} ${e.statusText}. Retrying after ${u}ms delay...`),await Is(u),u*=2;const c=await e.text();e.ok?n(null,c):n(new Error(`${e.status} ${e.statusText}: ${c}`))}catch(t){t instanceof Error&&n(t)}}),{})}(t,n,i,o,s,a),this._rpcRequest=function(t){return(e,r)=>new Promise(((n,i)=>{t.request(e,r,((t,e)=>{t?i(t):n(e)}))}))}(this._rpcClient),this._rpcBatchRequest=function(t){return e=>new Promise(((r,n)=>{0===e.length&&r([]);const i=e.map((e=>t.request(e.methodName,e.args)));t.request(i,((t,e)=>{t?n(t):r(e)}))}))}(this._rpcClient),this._rpcWebSocket=new Gs(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:n}=ea(e),i=this._buildArgs([t.toBase58()],r,void 0,n),o=Tr(await this._rpcRequest("getBalance",i),oa(Wr()));if("error"in o)throw new $s(o.error,`failed to get balance for ${t.toBase58()}`);return o.result}async getBalance(t,e){return await this.getBalanceAndContext(t,e).then((t=>t.value)).catch((e=>{throw new Error("failed to get balance of account "+t.toBase58()+": "+e)}))}async getBlockTime(t){const e=Tr(await this._rpcRequest("getBlockTime",[t]),ia(Kr(Wr())));if("error"in e)throw new $s(e.error,`failed to get block time for slot ${t}`);return e.result}async getMinimumLedgerSlot(){const t=Tr(await this._rpcRequest("minimumLedgerSlot",[]),ia(Wr()));if("error"in t)throw new $s(t.error,"failed to get minimum ledger slot");return t.result}async getFirstAvailableBlock(){const t=Tr(await this._rpcRequest("getFirstAvailableBlock",[]),Ea);if("error"in t)throw new $s(t.error,"failed to get first available block");return t.result}async getSupply(t){let e={};e="string"==typeof t?{commitment:t}:t?{...t,commitment:t&&t.commitment||this.commitment}:{commitment:this.commitment};const r=Tr(await this._rpcRequest("getSupply",[e]),xa);if("error"in r)throw new $s(r.error,"failed to get supply");return r.result}async getTokenSupply(t,e){const r=this._buildArgs([t.toBase58()],e),n=Tr(await this._rpcRequest("getTokenSupply",r),oa(Ba));if("error"in n)throw new $s(n.error,"failed to get token supply");return n.result}async getTokenAccountBalance(t,e){const r=this._buildArgs([t.toBase58()],e),n=Tr(await this._rpcRequest("getTokenAccountBalance",r),oa(Ba));if("error"in n)throw new $s(n.error,"failed to get token account balance");return n.result}async getTokenAccountsByOwner(t,e,r){const{commitment:n,config:i}=ea(r);let o=[t.toBase58()];"mint"in e?o.push({mint:e.mint.toBase58()}):o.push({programId:e.programId.toBase58()});const s=this._buildArgs(o,n,"base64",i),a=Tr(await this._rpcRequest("getTokenAccountsByOwner",s),Ta);if("error"in a)throw new $s(a.error,`failed to get token accounts owned by account ${t.toBase58()}`);return a.result}async getParsedTokenAccountsByOwner(t,e,r){let n=[t.toBase58()];"mint"in e?n.push({mint:e.mint.toBase58()}):n.push({programId:e.programId.toBase58()});const i=this._buildArgs(n,r,"jsonParsed"),o=Tr(await this._rpcRequest("getTokenAccountsByOwner",i),La);if("error"in o)throw new $s(o.error,`failed to get token accounts owned by account ${t.toBase58()}`);return o.result}async getLargestAccounts(t){const e={...t,commitment:t&&t.commitment||this.commitment},r=e.filter||e.commitment?[e]:[],n=Tr(await this._rpcRequest("getLargestAccounts",r),Oa);if("error"in n)throw new $s(n.error,"failed to get largest accounts");return n.result}async getTokenLargestAccounts(t,e){const r=this._buildArgs([t.toBase58()],e),n=Tr(await this._rpcRequest("getTokenLargestAccounts",r),Pa);if("error"in n)throw new $s(n.error,"failed to get token largest accounts");return n.result}async getAccountInfoAndContext(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgs([t.toBase58()],r,"base64",n),o=Tr(await this._rpcRequest("getAccountInfo",i),oa(Kr(Ca)));if("error"in o)throw new $s(o.error,`failed to get info about account ${t.toBase58()}`);return o.result}async getParsedAccountInfo(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgs([t.toBase58()],r,"jsonParsed",n),o=Tr(await this._rpcRequest("getAccountInfo",i),oa(Kr(za)));if("error"in o)throw new $s(o.error,`failed to get info about account ${t.toBase58()}`);return o.result}async getAccountInfo(t,e){try{return(await this.getAccountInfoAndContext(t,e)).value}catch(e){throw new Error("failed to get info about account "+t.toBase58()+": "+e)}}async getMultipleParsedAccounts(t,e){const{commitment:r,config:n}=ea(e),i=t.map((t=>t.toBase58())),o=this._buildArgs([i],r,"jsonParsed",n),s=Tr(await this._rpcRequest("getMultipleAccounts",o),oa(Cr(Kr(za))));if("error"in s)throw new $s(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfoAndContext(t,e){const{commitment:r,config:n}=ea(e),i=t.map((t=>t.toBase58())),o=this._buildArgs([i],r,"base64",n),s=Tr(await this._rpcRequest("getMultipleAccounts",o),oa(Cr(Kr(Ca))));if("error"in s)throw new $s(s.error,`failed to get info for accounts ${i}`);return s.result}async getMultipleAccountsInfo(t,e){return(await this.getMultipleAccountsInfoAndContext(t,e)).value}async getStakeActivation(t,e,r){const{commitment:n,config:i}=ea(e),o=this._buildArgs([t.toBase58()],n,void 0,{...i,epoch:null!=r?r:i?.epoch}),s=Tr(await this._rpcRequest("getStakeActivation",o),ia(Wa));if("error"in s)throw new $s(s.error,`failed to get Stake Activation ${t.toBase58()}`);return s.result}async getProgramAccounts(t,e){const{commitment:r,config:n}=ea(e),{encoding:i,...o}=n||{},s=this._buildArgs([t.toBase58()],r,i||"base64",o),a=Tr(await this._rpcRequest("getProgramAccounts",s),ia(Cr(Ua)));if("error"in a)throw new $s(a.error,`failed to get accounts owned by program ${t.toBase58()}`);return a.result}async getParsedProgramAccounts(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgs([t.toBase58()],r,"jsonParsed",n),o=Tr(await this._rpcRequest("getProgramAccounts",i),ia(Cr(Ka)));if("error"in o)throw new $s(o.error,`failed to get accounts owned by program ${t.toBase58()}`);return o.result}async confirmTransaction(t,e){let r,n;if("string"==typeof t)r=t;else{const e=t;if(e.abortSignal?.aborted)return Promise.reject(e.abortSignal.reason);r=e.signature}try{n=Ct.decode(r)}catch(t){throw new Error("signature must be base58 encoded: "+r)}return os(64===n.length,"signature has invalid length"),"string"==typeof t?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)=>{null!=t&&(t.aborted?r(t.reason):t.addEventListener("abort",(()=>{r(t.reason)})))}))}getTransactionConfirmationPromise({commitment:t,signature:e}){let r,n,i=!1;return{abortConfirmation:()=>{n&&(n(),n=void 0),null!=r&&(this.removeSignatureListener(r),r=void 0)},confirmationPromise:new Promise(((o,s)=>{try{r=this.onSignature(e,((t,e)=>{r=void 0;const n={context:e,value:t};o({__type:hs.PROCESSED,response:n})}),t);const a=new Promise((t=>{null==r?t():n=this._onSubscriptionStateChange(r,(e=>{"subscribed"===e&&t()}))}));(async()=>{if(await a,i)return;const r=await this.getSignatureStatus(e);if(i)return;if(null==r)return;const{context:n,value:u}=r;if(null!=u)if(u?.err)s(u.err);else{switch(t){case"confirmed":case"single":case"singleGossip":if("processed"===u.confirmationStatus)return;break;case"finalized":case"max":case"root":if("processed"===u.confirmationStatus||"confirmed"===u.confirmationStatus)return}i=!0,o({__type:hs.PROCESSED,response:{context:n,value:u}})}})()}catch(t){s(t)}}))}}async confirmTransactionUsingBlockHeightExceedanceStrategy({commitment:t,strategy:{abortSignal:e,lastValidBlockHeight:r,signature:n}}){let i=!1;const o=new Promise((e=>{const n=async()=>{try{return await this.getBlockHeight(t)}catch(t){return-1}};(async()=>{let t=await n();if(!i){for(;t<=r;){if(await Is(1e3),i)return;if(t=await n(),i)return}e({__type:hs.BLOCKHEIGHT_EXCEEDED})}})()})),{abortConfirmation:s,confirmationPromise:a}=this.getTransactionConfirmationPromise({commitment:t,signature:n}),u=this.getCancellationPromise(e);let c;try{const t=await Promise.race([u,a,o]);if(t.__type!==hs.PROCESSED)throw new Zo(n);c=t.response}finally{i=!0,s()}return c}async confirmTransactionUsingDurableNonceStrategy({commitment:t,strategy:{abortSignal:e,minContextSlot:r,nonceAccountPubkey:n,nonceValue:i,signature:o}}){let s=!1;const a=new Promise((e=>{let o=i,a=null;const u=async()=>{try{const{context:e,value:i}=await this.getNonceAndContext(n,{commitment:t,minContextSlot:r});return a=e.slot,i?.nonce}catch(t){return o}};(async()=>{if(o=await u(),!s)for(;;){if(i!==o)return void e({__type:hs.NONCE_INVALID,slotInWhichNonceDidAdvance:a});if(await Is(2e3),s)return;if(o=await u(),s)return}})()})),{abortConfirmation:u,confirmationPromise:c}=this.getTransactionConfirmationPromise({commitment:t,signature:o}),h=this.getCancellationPromise(e);let l;try{const e=await Promise.race([h,c,a]);if(e.__type===hs.PROCESSED)l=e.response;else{let n;for(;;){const t=await this.getSignatureStatus(o);if(null==t)break;if(!(t.context.slot<(e.slotInWhichNonceDidAdvance??r))){n=t;break}await Is(400)}if(!n?.value)throw new Jo(o);{const e=t||"finalized",{confirmationStatus:r}=n.value;switch(e){case"processed":case"recent":if("processed"!==r&&"confirmed"!==r&&"finalized"!==r)throw new Jo(o);break;case"confirmed":case"single":case"singleGossip":if("confirmed"!==r&&"finalized"!==r)throw new Jo(o);break;case"finalized":case"max":case"root":if("finalized"!==r)throw new Jo(o)}l={context:n.context,value:{err:n.value.err}}}}}finally{s=!0,u()}return l}async confirmTransactionUsingLegacyTimeoutStrategy({commitment:t,signature:e}){let r;const n=new Promise((e=>{let n=this._confirmTransactionInitialTimeout||6e4;switch(t){case"processed":case"recent":case"single":case"confirmed":case"singleGossip":n=this._confirmTransactionInitialTimeout||3e4}r=setTimeout((()=>e({__type:hs.TIMED_OUT,timeoutMs:n})),n)})),{abortConfirmation:i,confirmationPromise:o}=this.getTransactionConfirmationPromise({commitment:t,signature:e});let s;try{const t=await Promise.race([o,n]);if(t.__type!==hs.PROCESSED)throw new Yo(e,t.timeoutMs/1e3);s=t.response}finally{clearTimeout(r),i()}return s}async getClusterNodes(){const t=Tr(await this._rpcRequest("getClusterNodes",[]),ia(Cr(Xa)));if("error"in t)throw new $s(t.error,"failed to get cluster nodes");return t.result}async getVoteAccounts(t){const e=this._buildArgs([],t),r=Tr(await this._rpcRequest("getVoteAccounts",e),tu);if("error"in r)throw new $s(r.error,"failed to get vote accounts");return r.result}async getSlot(t){const{commitment:e,config:r}=ea(t),n=this._buildArgs([],e,void 0,r),i=Tr(await this._rpcRequest("getSlot",n),ia(Wr()));if("error"in i)throw new $s(i.error,"failed to get slot");return i.result}async getSlotLeader(t){const{commitment:e,config:r}=ea(t),n=this._buildArgs([],e,void 0,r),i=Tr(await this._rpcRequest("getSlotLeader",n),ia(jr()));if("error"in i)throw new $s(i.error,"failed to get slot leader");return i.result}async getSlotLeaders(t,e){const r=[t,e],n=Tr(await this._rpcRequest("getSlotLeaders",r),ia(Cr(Xs)));if("error"in n)throw new $s(n.error,"failed to get slot leaders");return n.result}async getSignatureStatus(t,e){const{context:r,value:n}=await this.getSignatureStatuses([t],e);os(1===n.length);return{context:r,value:n[0]}}async getSignatureStatuses(t,e){const r=[t];e&&r.push(e);const n=Tr(await this._rpcRequest("getSignatureStatuses",r),nu);if("error"in n)throw new $s(n.error,"failed to get signature status");return n.result}async getTransactionCount(t){const{commitment:e,config:r}=ea(t),n=this._buildArgs([],e,void 0,r),i=Tr(await this._rpcRequest("getTransactionCount",n),ia(Wr()));if("error"in i)throw new $s(i.error,"failed to get transaction count");return i.result}async getTotalSupply(t){return(await this.getSupply({commitment:t,excludeNonCirculatingAccountsList:!0})).value.total}async getInflationGovernor(t){const e=this._buildArgs([],t),r=Tr(await this._rpcRequest("getInflationGovernor",e),ka);if("error"in r)throw new $s(r.error,"failed to get inflation");return r.result}async getInflationReward(t,e,r){const{commitment:n,config:i}=ea(r),o=this._buildArgs([t.map((t=>t.toBase58()))],n,void 0,{...i,epoch:null!=e?e:i?.epoch}),s=Tr(await this._rpcRequest("getInflationReward",o),ca);if("error"in s)throw new $s(s.error,"failed to get inflation reward");return s.result}async getInflationRate(){const t=Tr(await this._rpcRequest("getInflationRate",[]),Sa);if("error"in t)throw new $s(t.error,"failed to get inflation rate");return t.result}async getEpochInfo(t){const{commitment:e,config:r}=ea(t),n=this._buildArgs([],e,void 0,r),i=Tr(await this._rpcRequest("getEpochInfo",n),Aa);if("error"in i)throw new $s(i.error,"failed to get epoch info");return i.result}async getEpochSchedule(){const t=Tr(await this._rpcRequest("getEpochSchedule",[]),Ma);if("error"in t)throw new $s(t.error,"failed to get epoch schedule");const e=t.result;return new Hs(e.slotsPerEpoch,e.leaderScheduleSlotOffset,e.warmup,e.firstNormalEpoch,e.firstNormalSlot)}async getLeaderSchedule(){const t=Tr(await this._rpcRequest("getLeaderSchedule",[]),Ia);if("error"in t)throw new $s(t.error,"failed to get leader schedule");return t.result}async getMinimumBalanceForRentExemption(t,e){const r=this._buildArgs([t],e),n=Tr(await this._rpcRequest("getMinimumBalanceForRentExemption",r),iu);return"error"in n?(console.warn("Unable to fetch minimum balance for rent exemption"),0):n.result}async getRecentBlockhashAndContext(t){const e=this._buildArgs([],t),r=Tr(await this._rpcRequest("getRecentBlockhash",e),Bu);if("error"in r)throw new $s(r.error,"failed to get recent blockhash");return r.result}async getRecentPerformanceSamples(t){const e=Tr(await this._rpcRequest("getRecentPerformanceSamples",t?[t]:[]),Tu);if("error"in e)throw new $s(e.error,"failed to get recent performance samples");return e.result}async getFeeCalculatorForBlockhash(t,e){const r=this._buildArgs([t],e),n=Tr(await this._rpcRequest("getFeeCalculatorForBlockhash",r),Ru);if("error"in n)throw new $s(n.error,"failed to get fee calculator");const{context:i,value:o}=n.result;return{context:i,value:null!==o?o.feeCalculator:null}}async getFeeForMessage(t,e){const r=zo(t.serialize()).toString("base64"),n=this._buildArgs([r],e),i=Tr(await this._rpcRequest("getFeeForMessage",n),oa(Kr(Wr())));if("error"in i)throw new $s(i.error,"failed to get fee for message");if(null===i.result)throw new Error("invalid blockhash");return i.result}async getRecentPrioritizationFees(t){const e=t?.lockedWritableAccounts?.map((t=>t.toBase58())),r=this._buildArgs(e?.length?[e]:[]),n=Tr(await this._rpcRequest("getRecentPrioritizationFees",r),_a);if("error"in n)throw new $s(n.error,"failed to get recent prioritization fees");return n.result}async getRecentBlockhash(t){try{return(await this.getRecentBlockhashAndContext(t)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhash(t){try{return(await this.getLatestBlockhashAndContext(t)).value}catch(t){throw new Error("failed to get recent blockhash: "+t)}}async getLatestBlockhashAndContext(t){const{commitment:e,config:r}=ea(t),n=this._buildArgs([],e,void 0,r),i=Tr(await this._rpcRequest("getLatestBlockhash",n),Pu);if("error"in i)throw new $s(i.error,"failed to get latest blockhash");return i.result}async getVersion(){const t=Tr(await this._rpcRequest("getVersion",[]),ia(wa));if("error"in t)throw new $s(t.error,"failed to get version");return t.result}async getGenesisHash(){const t=Tr(await this._rpcRequest("getGenesisHash",[]),ia(jr()));if("error"in t)throw new $s(t.error,"failed to get genesis hash");return t.result}async getBlock(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgsAtLeastConfirmed([t],r,void 0,n),o=await this._rpcRequest("getBlock",i);try{switch(n?.transactionDetails){case"accounts":{const t=Tr(o,ku);if("error"in t)throw t.error;return t.result}case"none":{const t=Tr(o,vu);if("error"in t)throw t.error;return t.result}default:{const t=Tr(o,bu);if("error"in t)throw t.error;const{result:e}=t;return e?{...e,transactions:e.transactions.map((({transaction:t,meta:e,version:r})=>({meta:e,transaction:{...t,message:aa(r,t.message)},version:r})))}:null}}}catch(t){throw new $s(t,"failed to get confirmed block")}}async getParsedBlock(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",n),o=await this._rpcRequest("getBlock",i);try{switch(n?.transactionDetails){case"accounts":{const t=Tr(o,_u);if("error"in t)throw t.error;return t.result}case"none":{const t=Tr(o,Au);if("error"in t)throw t.error;return t.result}default:{const t=Tr(o,Su);if("error"in t)throw t.error;return t.result}}}catch(t){throw new $s(t,"failed to get block")}}async getBlockProduction(t){let e,r;if("string"==typeof t)r=t;else if(t){const{commitment:n,...i}=t;r=n,e=i}const n=this._buildArgs([],r,"base64",e),i=Tr(await this._rpcRequest("getBlockProduction",n),va);if("error"in i)throw new $s(i.error,"failed to get block production information");return i.result}async getTransaction(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgsAtLeastConfirmed([t],r,void 0,n),o=Tr(await this._rpcRequest("getTransaction",i),Eu);if("error"in o)throw new $s(o.error,"failed to get transaction");const s=o.result;return s?{...s,transaction:{...s.transaction,message:aa(s.version,s.transaction.message)}}:s}async getParsedTransaction(t,e){const{commitment:r,config:n}=ea(e),i=this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",n),o=Tr(await this._rpcRequest("getTransaction",i),xu);if("error"in o)throw new $s(o.error,"failed to get transaction");return o.result}async getParsedTransactions(t,e){const{commitment:r,config:n}=ea(e),i=t.map((t=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([t],r,"jsonParsed",n)})));return(await this._rpcBatchRequest(i)).map((t=>{const e=Tr(t,xu);if("error"in e)throw new $s(e.error,"failed to get transactions");return e.result}))}async getTransactions(t,e){const{commitment:r,config:n}=ea(e),i=t.map((t=>({methodName:"getTransaction",args:this._buildArgsAtLeastConfirmed([t],r,void 0,n)})));return(await this._rpcBatchRequest(i)).map((t=>{const e=Tr(t,Eu);if("error"in e)throw new $s(e.error,"failed to get transactions");const r=e.result;return r?{...r,transaction:{...r.transaction,message:aa(r.version,r.transaction.message)}}:r}))}async getConfirmedBlock(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),n=Tr(await this._rpcRequest("getConfirmedBlock",r),Mu);if("error"in n)throw new $s(n.error,"failed to get confirmed block");const i=n.result;if(!i)throw new Error("Confirmed block "+t+" not found");const o={...i,transactions:i.transactions.map((({transaction:t,meta:e})=>{const r=new as(t.message);return{meta:e,transaction:{...t,message:r}}}))};return{...o,transactions:o.transactions.map((({transaction:t,meta:e})=>({meta:e,transaction:fs.populate(t.message,t.signatures)})))}}async getBlocks(t,e,r){const n=this._buildArgsAtLeastConfirmed(void 0!==e?[t,e]:[t],r),i=Tr(await this._rpcRequest("getBlocks",n),ia(Cr(Wr())));if("error"in i)throw new $s(i.error,"failed to get blocks");return i.result}async getBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),n=Tr(await this._rpcRequest("getBlock",r),Iu);if("error"in n)throw new $s(n.error,"failed to get block");const i=n.result;if(!i)throw new Error("Block "+t+" not found");return i}async getConfirmedBlockSignatures(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,void 0,{transactionDetails:"signatures",rewards:!1}),n=Tr(await this._rpcRequest("getConfirmedBlock",r),Iu);if("error"in n)throw new $s(n.error,"failed to get confirmed block");const i=n.result;if(!i)throw new Error("Confirmed block "+t+" not found");return i}async getConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e),n=Tr(await this._rpcRequest("getConfirmedTransaction",r),Eu);if("error"in n)throw new $s(n.error,"failed to get transaction");const i=n.result;if(!i)return i;const o=new as(i.transaction.message),s=i.transaction.signatures;return{...i,transaction:fs.populate(o,s)}}async getParsedConfirmedTransaction(t,e){const r=this._buildArgsAtLeastConfirmed([t],e,"jsonParsed"),n=Tr(await this._rpcRequest("getConfirmedTransaction",r),xu);if("error"in n)throw new $s(n.error,"failed to get confirmed transaction");return n.result}async getParsedConfirmedTransactions(t,e){const r=t.map((t=>({methodName:"getConfirmedTransaction",args:this._buildArgsAtLeastConfirmed([t],e,"jsonParsed")})));return(await this._rpcBatchRequest(r)).map((t=>{const e=Tr(t,xu);if("error"in e)throw new $s(e.error,"failed to get confirmed transactions");return e.result}))}async getConfirmedSignaturesForAddress(t,e,r){let n={},i=await this.getFirstAvailableBlock();for(;!("until"in n)&&!(--e<=0||e<i);)try{const t=await this.getConfirmedBlockSignatures(e,"finalized");t.signatures.length>0&&(n.until=t.signatures[t.signatures.length-1].toString())}catch(t){if(t instanceof Error&&t.message.includes("skipped"))continue;throw t}let o=await this.getSlot("finalized");for(;!("before"in n||++r>o);)try{const t=await this.getConfirmedBlockSignatures(r);t.signatures.length>0&&(n.before=t.signatures[t.signatures.length-1].toString())}catch(t){if(t instanceof Error&&t.message.includes("skipped"))continue;throw t}return(await this.getConfirmedSignaturesForAddress2(t,n)).map((t=>t.signature))}async getConfirmedSignaturesForAddress2(t,e,r){const n=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),i=Tr(await this._rpcRequest("getConfirmedSignaturesForAddress2",n),qa);if("error"in i)throw new $s(i.error,"failed to get confirmed signatures for address");return i.result}async getSignaturesForAddress(t,e,r){const n=this._buildArgsAtLeastConfirmed([t.toBase58()],r,void 0,e),i=Tr(await this._rpcRequest("getSignaturesForAddress",n),Da);if("error"in i)throw new $s(i.error,"failed to get signatures for address");return i.result}async getAddressLookupTable(t,e){const{context:r,value:n}=await this.getAccountInfoAndContext(t,e);let i=null;return null!==n&&(i=new Zs({key:t,state:Zs.deserialize(n.data)})),{context:r,value:i}}async getNonceAndContext(t,e){const{context:r,value:n}=await this.getAccountInfoAndContext(t,e);let i=null;return null!==n&&(i=Rs.fromAccountData(n.data)),{context:r,value:i}}async getNonce(t,e){return await this.getNonceAndContext(t,e).then((t=>t.value)).catch((e=>{throw new Error("failed to get nonce for account "+t.toBase58()+": "+e)}))}async requestAirdrop(t,e){const r=Tr(await this._rpcRequest("requestAirdrop",[t.toBase58(),e]),Lu);if("error"in r)throw new $s(r.error,`airdrop to ${t.toBase58()} failed`);return r.result}async _blockhashWithExpiryBlockHeight(t){if(!t){for(;this._pollingBlockhash;)await Is(100);const t=Date.now()-this._blockhashInfo.lastFetch>=3e4;if(null!==this._blockhashInfo.latestBlockhash&&!t)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 t=0;t<50;t++){const t=await this.getLatestBlockhash("finalized");if(r!==t.blockhash)return this._blockhashInfo={latestBlockhash:t,lastFetch:Date.now(),transactionSignatures:[],simulatedSignatures:[]},t;await Is(200)}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}=ea(t),n=this._buildArgs([],e,"base64",r),i=Tr(await this._rpcRequest("getStakeMinimumDelegation",n),oa(Wr()));if("error"in i)throw new $s(i.error,"failed to get stake minimum delegation");return i.result}async simulateTransaction(t,e,r){if("message"in t){const n=t.serialize(),i=s.from(n).toString("base64");if(Array.isArray(e)||void 0!==r)throw new Error("Invalid arguments");const o=e||{};o.encoding="base64","commitment"in o||(o.commitment=this.commitment);const a=[i,o],u=Tr(await this._rpcRequest("simulateTransaction",a),ba);if("error"in u)throw new Error("failed to simulate transaction: "+u.error.message);return u.result}let n;if(t instanceof fs){let e=t;n=new fs,n.feePayer=e.feePayer,n.instructions=t.instructions,n.nonceInfo=e.nonceInfo,n.signatures=e.signatures}else n=fs.populate(t),n._message=n._json=void 0;if(void 0!==e&&!Array.isArray(e))throw new Error("Invalid arguments");const i=e;if(n.nonceInfo&&i)n.sign(...i);else{let t=this._disableBlockhashCaching;for(;;){const e=await this._blockhashWithExpiryBlockHeight(t);if(n.lastValidBlockHeight=e.lastValidBlockHeight,n.recentBlockhash=e.blockhash,!i)break;if(n.sign(...i),!n.signature)throw new Error("!signature");const r=n.signature.toString("base64");if(!this._blockhashInfo.simulatedSignatures.includes(r)&&!this._blockhashInfo.transactionSignatures.includes(r)){this._blockhashInfo.simulatedSignatures.push(r);break}t=!0}}const o=n._compile(),a=o.serialize(),u=n._serialize(a).toString("base64"),c={encoding:"base64",commitment:this.commitment};if(r){const t=(Array.isArray(r)?r:o.nonProgramIds()).map((t=>t.toBase58()));c.accounts={encoding:"base64",addresses:t}}i&&(c.sigVerify=!0);const h=[u,c],l=Tr(await this._rpcRequest("simulateTransaction",h),ba);if("error"in l){let t;if("data"in l.error&&(t=l.error.data.logs,t&&Array.isArray(t))){const e="\n ",r=e+t.join(e);console.error(l.error.message,r)}throw new Fs("failed to simulate transaction: "+l.error.message,t)}return l.result}async sendTransaction(t,e,r){if("version"in t){if(e&&Array.isArray(e))throw new Error("Invalid arguments");const r=t.serialize();return await this.sendRawTransaction(r,e)}if(void 0===e||!Array.isArray(e))throw new Error("Invalid arguments");const n=e;if(t.nonceInfo)t.sign(...n);else{let e=this._disableBlockhashCaching;for(;;){const r=await this._blockhashWithExpiryBlockHeight(e);if(t.lastValidBlockHeight=r.lastValidBlockHeight,t.recentBlockhash=r.blockhash,t.sign(...n),!t.signature)throw new Error("!signature");const i=t.signature.toString("base64");if(!this._blockhashInfo.transactionSignatures.includes(i)){this._blockhashInfo.transactionSignatures.push(i);break}e=!0}}const i=t.serialize();return await this.sendRawTransaction(i,r)}async sendRawTransaction(t,e){const r=zo(t).toString("base64");return await this.sendEncodedTransaction(r,e)}async sendEncodedTransaction(t,e){const r={encoding:"base64"},n=e&&e.skipPreflight,i=e&&e.preflightCommitment||this.commitment;e&&null!=e.maxRetries&&(r.maxRetries=e.maxRetries),e&&null!=e.minContextSlot&&(r.minContextSlot=e.minContextSlot),n&&(r.skipPreflight=n),i&&(r.preflightCommitment=i);const o=[t,r],s=Tr(await this._rpcRequest("sendTransaction",o),Ou);if("error"in s){let t;throw"data"in s.error&&(t=s.error.data.logs),new Fs("failed to send transaction: "+s.error.message,t)}return s.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){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),1e3!==t?(this._subscriptionCallbacksByServerSubscriptionId={},Object.entries(this._subscriptionsByHash).forEach((([t,e])=>{this._setSubscription(t,{...e,state:"pending"})}))):this._updateSubscriptions()}_setSubscription(t,e){const r=this._subscriptionsByHash[t]?.state;if(this._subscriptionsByHash[t]=e,r!==e.state){const r=this._subscriptionStateChangeCallbacksByHash[t];r&&r.forEach((t=>{try{t(e.state)}catch{}}))}}_onSubscriptionStateChange(t,e){var r;const n=this._subscriptionHashByClientSubscriptionId[t];if(null==n)return()=>{};const i=(r=this._subscriptionStateChangeCallbacksByHash)[n]||(r[n]=new Set);return i.add(e),()=>{i.delete(e),0===i.size&&delete this._subscriptionStateChangeCallbacksByHash[n]}}async _updateSubscriptions(){if(0===Object.keys(this._subscriptionsByHash).length)return void(this._rpcWebSocketConnected&&(this._rpcWebSocketConnected=!1,this._rpcWebSocketIdleTimeout=setTimeout((()=>{this._rpcWebSocketIdleTimeout=null;try{this._rpcWebSocket.close()}catch(t){t instanceof Error&&console.log(`Error when closing socket connection: ${t.message}`)}}),500)));if(null!==this._rpcWebSocketIdleTimeout&&(clearTimeout(this._rpcWebSocketIdleTimeout),this._rpcWebSocketIdleTimeout=null,this._rpcWebSocketConnected=!0),!this._rpcWebSocketConnected)return void this._rpcWebSocket.connect();const t=this._rpcWebSocketGeneration,e=()=>t===this._rpcWebSocketGeneration;await Promise.all(Object.keys(this._subscriptionsByHash).map((async t=>{const r=this._subscriptionsByHash[t];if(void 0!==r)switch(r.state){case"pending":case"unsubscribed":if(0===r.callbacks.size)return delete this._subscriptionsByHash[t],"unsubscribed"===r.state&&delete this._subscriptionCallbacksByServerSubscriptionId[r.serverSubscriptionId],void await this._updateSubscriptions();await(async()=>{const{args:n,method:i}=r;try{this._setSubscription(t,{...r,state:"subscribing"});const e=await this._rpcWebSocket.call(i,n);this._setSubscription(t,{...r,serverSubscriptionId:e,state:"subscribed"}),this._subscriptionCallbacksByServerSubscriptionId[e]=r.callbacks,await this._updateSubscriptions()}catch(o){if(o instanceof Error&&console.error(`${i} error for argument`,n,o.message),!e())return;this._setSubscription(t,{...r,state:"pending"}),await this._updateSubscriptions()}})();break;case"subscribed":0===r.callbacks.size&&await(async()=>{const{serverSubscriptionId:n,unsubscribeMethod:i}=r;if(this._subscriptionsAutoDisposedByRpc.has(n))this._subscriptionsAutoDisposedByRpc.delete(n);else{this._setSubscription(t,{...r,state:"unsubscribing"}),this._setSubscription(t,{...r,state:"unsubscribing"});try{await this._rpcWebSocket.call(i,[n])}catch(n){if(n instanceof Error&&console.error(`${i} error:`,n.message),!e())return;return this._setSubscription(t,{...r,state:"subscribed"}),void await this._updateSubscriptions()}}this._setSubscription(t,{...r,state:"unsubscribed"}),await this._updateSubscriptions()})()}})))}_handleServerNotification(t,e){const r=this._subscriptionCallbacksByServerSubscriptionId[t];void 0!==r&&r.forEach((t=>{try{t(...e)}catch(t){console.error(t)}}))}_wsOnAccountNotification(t){const{result:e,subscription:r}=Tr(t,ja);this._handleServerNotification(r,[e.value,e.context])}_makeSubscription(t,e){const r=this._nextClientSubscriptionId++,n=Ds([t.method,e]),i=this._subscriptionsByHash[n];return void 0===i?this._subscriptionsByHash[n]={...t,args:e,callbacks:new Set([t.callback]),state:"pending"}:i.callbacks.add(t.callback),this._subscriptionHashByClientSubscriptionId[r]=n,this._subscriptionDisposeFunctionsByClientSubscriptionId[r]=async()=>{delete this._subscriptionDisposeFunctionsByClientSubscriptionId[r],delete this._subscriptionHashByClientSubscriptionId[r];const e=this._subscriptionsByHash[n];os(void 0!==e,`Could not find a \`Subscription\` when tearing down client subscription #${r}`),e.callbacks.delete(t.callback),await this._updateSubscriptions()},this._updateSubscriptions(),r}onAccountChange(t,e,r){const n=this._buildArgs([t.toBase58()],r||this._commitment||"finalized","base64");return this._makeSubscription({callback:e,method:"accountSubscribe",unsubscribeMethod:"accountUnsubscribe"},n)}async removeAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"account change")}_wsOnProgramAccountNotification(t){const{result:e,subscription:r}=Tr(t,Fa);this._handleServerNotification(r,[{accountId:e.value.pubkey,accountInfo:e.value.account},e.context])}onProgramAccountChange(t,e,r,n){const i=this._buildArgs([t.toBase58()],r||this._commitment||"finalized","base64",n?{filters:n}:void 0);return this._makeSubscription({callback:e,method:"programSubscribe",unsubscribeMethod:"programUnsubscribe"},i)}async removeProgramAccountChangeListener(t){await this._unsubscribeClientSubscription(t,"program account change")}onLogs(t,e,r){const n=this._buildArgs(["object"==typeof t?{mentions:[t.toString()]}:t],r||this._commitment||"finalized");return this._makeSubscription({callback:e,method:"logsSubscribe",unsubscribeMethod:"logsUnsubscribe"},n)}async removeOnLogsListener(t){await this._unsubscribeClientSubscription(t,"logs")}_wsOnLogsNotification(t){const{result:e,subscription:r}=Tr(t,Uu);this._handleServerNotification(r,[e.value,e.context])}_wsOnSlotNotification(t){const{result:e,subscription:r}=Tr(t,Va);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}=Tr(t,Za);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,n){const i=e||this._commitment;if(i||r||n){let e={};r&&(e.encoding=r),i&&(e.commitment=i),n&&(e=Object.assign(e,n)),t.push(e)}return t}_buildArgsAtLeastConfirmed(t,e,r,n){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,n)}_wsOnSignatureNotification(t){const{result:e,subscription:r}=Tr(t,Ya);"receivedSignature"!==e.value&&this._subscriptionsAutoDisposedByRpc.add(r),this._handleServerNotification(r,"receivedSignature"===e.value?[{type:"received"},e.context]:[{type:"status",result:e.value},e.context])}onSignature(t,e,r){const n=this._buildArgs([t],r||this._commitment||"finalized"),i=this._makeSubscription({callback:(t,r)=>{if("status"===t.type){e(t.result,r);try{this.removeSignatureListener(i)}catch(t){}}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},n);return i}onSignatureWithOptions(t,e,r){const{commitment:n,...i}={...r,commitment:r&&r.commitment||this._commitment||"finalized"},o=this._buildArgs([t],n,void 0,i),s=this._makeSubscription({callback:(t,r)=>{e(t,r);try{this.removeSignatureListener(s)}catch(t){}},method:"signatureSubscribe",unsubscribeMethod:"signatureUnsubscribe"},o);return s}async removeSignatureListener(t){await this._unsubscribeClientSubscription(t,"signature result")}_wsOnRootNotification(t){const{result:e,subscription:r}=Tr(t,Ja);this._handleServerNotification(r,[e])}onRootChange(t){return this._makeSubscription({callback:t,method:"rootSubscribe",unsubscribeMethod:"rootUnsubscribe"},[])}async removeRootChangeListener(t){await this._unsubscribeClientSubscription(t,"root change")}},Ed25519Program:Hu,Enum:class extends Ko{constructor(t){if(super(t),this.enum="",1!==Object.keys(t).length)throw new Error("Enum can only take single value");Object.keys(t).map((t=>{this.enum=t}))}},EpochSchedule:Hs,FeeCalculatorLayout:Bs,Keypair:zu,LAMPORTS_PER_SOL:1e9,LOOKUP_TABLE_INSTRUCTION_LAYOUTS:Ku,Loader:Ns,Lockup:Yu,MAX_SEED_LENGTH:32,Message:as,MessageAccountKeys:Xo,MessageV0:us,NONCE_ACCOUNT_LENGTH:Ts,NonceAccount:Rs,PACKET_DATA_SIZE:$o,PUBLIC_KEY_LENGTH:Do,PublicKey:Ho,SIGNATURE_LENGTH_IN_BYTES:Go,SOLANA_SCHEMA:Wo,STAKE_CONFIG_ID:Gu,STAKE_INSTRUCTION_LAYOUTS:Ju,SYSTEM_INSTRUCTION_LAYOUTS:Cs,SYSVAR_CLOCK_PUBKEY:gs,SYSVAR_EPOCH_SCHEDULE_PUBKEY:ys,SYSVAR_INSTRUCTIONS_PUBKEY:ws,SYSVAR_RECENT_BLOCKHASHES_PUBKEY:bs,SYSVAR_RENT_PUBKEY:vs,SYSVAR_REWARDS_PUBKEY:ks,SYSVAR_SLOT_HASHES_PUBKEY:Ss,SYSVAR_SLOT_HISTORY_PUBKEY:_s,SYSVAR_STAKE_HISTORY_PUBKEY:As,Secp256k1Program:Vu,SendTransactionError:Fs,SolanaJSONRPCError:$s,SolanaJSONRPCErrorCode:{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},StakeAuthorizationLayout:Xu,StakeInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=dr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Ju))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a StakeInstruction");return r}static decodeInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{authorized:e,lockup:r}=xs(Ju.Initialize,t.data);return{stakePubkey:t.keys[0].pubkey,authorized:new Zu(new Ho(e.staker),new Ho(e.withdrawer)),lockup:new Yu(r.unixTimestamp,r.epoch,new Ho(r.custodian))}}static decodeDelegate(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,6),xs(Ju.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}=xs(Ju.Authorize,t.data),n={stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new Ho(e),stakeAuthorizationType:{index:r}};return t.keys.length>3&&(n.custodianPubkey=t.keys[3].pubkey),n}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{newAuthorized:e,stakeAuthorizationType:r,authoritySeed:n,authorityOwner:i}=xs(Ju.AuthorizeWithSeed,t.data),o={stakePubkey:t.keys[0].pubkey,authorityBase:t.keys[1].pubkey,authoritySeed:n,authorityOwner:new Ho(i),newAuthorizedPubkey:new Ho(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}=xs(Ju.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),xs(Ju.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}=xs(Ju.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),xs(Ju.Deactivate,t.data),{stakePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey}}static checkProgramId(t){if(!t.equals(Qu.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}`)}},StakeProgram:Qu,Struct:Ko,SystemInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=dr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(Cs))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a SystemInstruction");return r}static decodeCreateAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e,space:r,programId:n}=xs(Cs.Create,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,lamports:e,space:r,programId:new Ho(n)}}static decodeTransfer(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{lamports:e}=xs(Cs.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:n}=xs(Cs.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 Ho(n)}}static decodeAllocate(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{space:e}=xs(Cs.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:n,programId:i}=xs(Cs.AllocateWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new Ho(e),seed:r,space:n,programId:new Ho(i)}}static decodeAssign(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{programId:e}=xs(Cs.Assign,t.data);return{accountPubkey:t.keys[0].pubkey,programId:new Ho(e)}}static decodeAssignWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,1);const{base:e,seed:r,programId:n}=xs(Cs.AssignWithSeed,t.data);return{accountPubkey:t.keys[0].pubkey,basePubkey:new Ho(e),seed:r,programId:new Ho(n)}}static decodeCreateWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,2);const{base:e,seed:r,lamports:n,space:i,programId:o}=xs(Cs.CreateWithSeed,t.data);return{fromPubkey:t.keys[0].pubkey,newAccountPubkey:t.keys[1].pubkey,basePubkey:new Ho(e),seed:r,lamports:n,space:i,programId:new Ho(o)}}static decodeNonceInitialize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{authorized:e}=xs(Cs.InitializeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:new Ho(e)}}static decodeNonceAdvance(t){return this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3),xs(Cs.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}=xs(Cs.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}=xs(Cs.AuthorizeNonceAccount,t.data);return{noncePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[1].pubkey,newAuthorizedPubkey:new Ho(e)}}static checkProgramId(t){if(!t.equals(Us.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}`)}},SystemProgram:Us,Transaction:fs,TransactionExpiredBlockheightExceededError:Zo,TransactionExpiredNonceInvalidError:Jo,TransactionExpiredTimeoutError:Yo,TransactionInstruction:ds,TransactionMessage:ps,get TransactionStatus(){return hs},VALIDATOR_INFO_KEY:ic,VERSION_PREFIX_MASK:Vo,VOTE_PROGRAM_ID:ac,ValidatorInfo:sc,VersionedMessage:cs,VersionedTransaction:ms,VoteAccount:cc,VoteAuthorizationLayout:rc,VoteInit:tc,VoteInstruction:class{constructor(){}static decodeInstructionType(t){this.checkProgramId(t.programId);const e=dr("instruction").decode(t.data);let r;for(const[t,n]of Object.entries(ec))if(n.index==e){r=t;break}if(!r)throw new Error("Instruction type incorrect; not a VoteInstruction");return r}static decodeInitializeAccount(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,4);const{voteInit:e}=xs(ec.InitializeAccount,t.data);return{votePubkey:t.keys[0].pubkey,nodePubkey:t.keys[3].pubkey,voteInit:new tc(new Ho(e.nodePubkey),new Ho(e.authorizedVoter),new Ho(e.authorizedWithdrawer),e.commission)}}static decodeAuthorize(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{newAuthorized:e,voteAuthorizationType:r}=xs(ec.Authorize,t.data);return{votePubkey:t.keys[0].pubkey,authorizedPubkey:t.keys[2].pubkey,newAuthorizedPubkey:new Ho(e),voteAuthorizationType:{index:r}}}static decodeAuthorizeWithSeed(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:e,currentAuthorityDerivedKeySeed:r,newAuthorized:n,voteAuthorizationType:i}}=xs(ec.AuthorizeWithSeed,t.data);return{currentAuthorityDerivedKeyBasePubkey:t.keys[2].pubkey,currentAuthorityDerivedKeyOwnerPubkey:new Ho(e),currentAuthorityDerivedKeySeed:r,newAuthorizedPubkey:new Ho(n),voteAuthorizationType:{index:i},votePubkey:t.keys[0].pubkey}}static decodeWithdraw(t){this.checkProgramId(t.programId),this.checkKeyLength(t.keys,3);const{lamports:e}=xs(ec.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(nc.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}`)}},VoteProgram:nc,clusterApiUrl:function(t,e){const r=!1===e?"http":"https";if(!t)return fc[r].devnet;const n=fc[r][t];if(!n)throw new Error(`Unknown ${r} cluster: ${t}`);return n},sendAndConfirmRawTransaction:async function(t,e,r,n){let i,o;r&&Object.prototype.hasOwnProperty.call(r,"lastValidBlockHeight")||r&&Object.prototype.hasOwnProperty.call(r,"nonceValue")?(i=r,o=n):o=r;const s=o&&{skipPreflight:o.skipPreflight,preflightCommitment:o.preflightCommitment||o.commitment,minContextSlot:o.minContextSlot},a=await t.sendRawTransaction(e,s),u=o&&o.commitment,c=i?t.confirmTransaction(i,u):t.confirmTransaction(a,u),h=(await c).value;if(h.err)throw new Error(`Raw transaction ${a} failed (${JSON.stringify(h)})`);return a},sendAndConfirmTransaction:Ms}),mc=e(pc);p.exports=function(){function e(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function r(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function n(t,e){if(!t)throw new Error(e)}const i={56:"https://bsc-dataseed1.binance.org",97:"https://data-seed-prebsc-1-s1.binance.org:8545",137:"https://rpc-mainnet.maticvigil.com/",80001:"https://rpc-mumbai.matic.today/",43114:"https://api.avax.network/ext/bc/C/rpc",43113:"https://api.avax-test.network/ext/bc/C/rpc",42161:"https://arb1.arbitrum.io/rpc",421613:"https://endpoints.omniatech.io/v1/arbitrum/goerli/public",10:"https://mainnet.optimism.io",420:"https://goerli.optimism.io"},o={1:"ethereum",5:"ethereum",56:"bsc",97:"bsc",137:"polygon",80001:"polygon",43114:"avalanche",43113:"avalanche",42161:"arbitrum",421613:"arbitrum",10:"optimism",420:"optimism"},s={1:"mainnet",5:"testnet",56:"mainnet",97:"testnet",137:"mainnet",80001:"testnet",43114:"mainnet",43113:"testnet",42161:"mainnet",421613:"testnet",10:"mainnet",420:"testnet"},a={1:"https://wallet-v2.blocto.app",5:"https://wallet-v2-dev.blocto.app",56:"https://wallet-v2.blocto.app",97:"https://wallet-v2-dev.blocto.app",137:"https://wallet-v2.blocto.app",80001:"https://wallet-v2-dev.blocto.app",43114:"https://wallet-v2.blocto.app",43113:"https://wallet-v2-dev.blocto.app",42161:"https://wallet-v2.blocto.app",421613:"https://wallet-v2-dev.blocto.app",10:"https://wallet-v2.blocto.app",420:"https://wallet-v2-dev.blocto.app"},u={prod:"https://wallet-v2.blocto.app",staging:"https://wallet-v2-staging.blocto.app",dev:"https://wallet-v2-dev.blocto.app"},c={devnet:"https://wallet-v2-dev.blocto.app",testnet:"https://wallet-v2-dev.blocto.app","mainnet-beta":"https://wallet-v2.blocto.app"},h=["devnet","testnet","mainnet-beta"],l={1:"https://wallet-v2.blocto.app",2:"https://wallet-v2-dev.blocto.app",3:"https://wallet-v2-dev.blocto.app",4:"https://wallet-v2-dev.blocto.app",5:"https://wallet-v2-staging.blocto.app"};var d;!function(t){t.Mainnet="mainnet",t.Testnet="testnet",t.Devnet="devnet",t.Testing="testing",t.Premainnet="premainnet"}(d||(d={}));const f={1:d.Mainnet,2:d.Testnet,3:d.Devnet,4:d.Testing,5:d.Premainnet},p={1:"https://fullnode.mainnet.aptoslabs.com/v1",2:"https://fullnode.testnet.aptoslabs.com/v1",3:"https://fullnode.devnet.aptoslabs.com/v1",4:"",5:"https://premainnet.aptosdev.com/v1"},m=["connect","disconnect","message","chainChanged","accountsChanged"],g=864e5,y="00000000-0000-0000-0000-000000000000",w="sdk.session",b="undefined"!=typeof window?window.memoryStorage:new class{constructor(){this.storage={}}getItem(t){return this[t]||null}setItem(t,e){this.storage[t]=e}removeItem(t){delete this.storage[t]}};"undefined"!=typeof window&&(window.memoryStorage=b);const v=(()=>{if("undefined"==typeof window)return!1;try{window.localStorage.setItem("local_storage_supported","1");const t=window.localStorage.getItem("local_storage_supported");return window.localStorage.removeItem("local_storage_supported"),"1"===t}catch(t){return!1}})()?window.localStorage:b,k=(t,e=null)=>{const r=((t,e=null)=>{const r=v.getItem(t);try{return r&&JSON.parse(r)||e}catch(t){return r||e}})(t,null);return r?(new Date).getTime()>r.expiry?(A(t),e):r.value:e},S=(t,e)=>v.setItem(t,"string"==typeof e?e:JSON.stringify(e)),_=(t,e,r)=>S(t,{value:e,expiry:(new Date).getTime()+r}),A=t=>{S(t,""),v.removeItem(t)};class M{constructor(t){this.isBlocto=!0,this.isConnecting=!1,this.eventListeners={},this.sessionKey=w,this.off=this.removeListener,this.session=t,m.forEach((t=>{this.eventListeners[t]=[]}))}formatAndSetSessionAccount(t={}){this.session.accounts=Object.keys(t).reduce(((e,r)=>(e[r]=[t[r]],e)),{})}tryRetrieveSessionFromStorage(t){const e=k(this.sessionKey,{}),r=e&&e.code,n=e&&e.address&&e.address[t];this.session.connected=Boolean(r&&n),this.session.code=r||null,this.formatAndSetSessionAccount(e?e.address:{})}request(t){return e(this,void 0,void 0,(function*(){}))}on(t,e){m.includes(t)&&this.eventListeners[t].push(e)}once(){}removeListener(t,e){const r=this.eventListeners[t].findIndex((t=>t===e));-1!==r&&this.eventListeners[t].splice(r,1)}}function I(t){const e=document.createElement("iframe");return e.setAttribute("src",t),e.setAttribute("style","width:100vw;height:100%;position:fixed;top:0;left:0;z-index:2147483646;border:none;"),e}function E(t){document.body.appendChild(t)}function x(t){const e=t&&t.parentNode;e&&e.removeChild instanceof Function&&e.removeChild(t)}var B=(t,e,r=window)=>{r.addEventListener(t,(function n(i){e(i,(()=>r.removeEventListener(t,n)))}))};function P(t,r){return e(this,void 0,void 0,(function*(){if(403===t.status)throw r.session.code=null,A(r.sessionKey),new Error("[Blocto SDK]: Session expired!");return t.json()}))}const T=t=>/\S+@\S+\.\S+/.test(t);function R(){return e(this,void 0,void 0,(function*(){const{networks:t}=yield fetch("https://api.blocto.app/networks/evm").then((t=>t.json()));return t.reduce(((t,e)=>Object.assign(Object.assign({},t),{[e.chain_id]:e})),{})}))}var L,O,C;function U(t){return t?"number"==typeof t?t:t.startsWith("0x")?parseInt(t,16):parseInt(t,10):1}class N extends M{constructor({chainId:t,rpc:e,server:r,appId:u,session:c}){super(c),L.add(this),this.supportNetwork={},this.switchableNetwork={},n(t,"'chainId' is required"),this.chainId=U(t),this.networkId=this.chainId,this.chain=o[this.chainId],this.net=s[this.chainId],n(this.chain,`unsupported 'chainId': ${this.chainId}`),this.rpc=e||i[this.chainId]||"",n(this.rpc,"'rpc' is required for Ethereum"),this.server=r||a[this.chainId]||"",this.appId=u||y,this.switchableNetwork[this.chainId]={name:this.chain,display_name:this.chain,network_type:this.net,wallet_web_url:this.server,rpc_url:this.rpc}}loadSwitchableNetwork(t){return e(this,void 0,void 0,(function*(){return R().then((e=>(this.supportNetwork=e,(null==t?void 0:t.length)&&t.forEach((({chainId:t,rpcUrls:e})=>{if(n(e,"rpcUrls is required for networksList"),!(null==e?void 0:e.length))throw new Error("Empty rpcUrls array");r(this,L,"m",O).call(this,{chainId:U(t),rpcUrls:e})})),null)))}))}send(t,r){return e(this,void 0,void 0,(function*(){switch(!0){case r instanceof Function:return this.sendAsync(t,r);case"string"==typeof t&&Array.isArray(r):return this.sendAsync({jsonrpc:"2.0",method:t,params:r});default:return this.sendAsync(t)}}))}sendAsync(t,r){return e(this,void 0,void 0,(function*(){const e=new Promise((e=>{if(Array.isArray(t)){const r=t.filter((t=>"eth_sendTransaction"===t.method)).map((t=>{var e;return null===(e=t.params)||void 0===e?void 0:e[0]})),n=Math.floor(1e4*Math.random()),i={method:"blocto_sendBatchTransaction",params:r},o=this.request(i),s=t.map((({method:t,params:e},r)=>"eth_sendTransaction"===t?o:this.request({id:n+r+1,jsonrpc:"2.0",method:t,params:e})));Promise.allSettled(s).then((r=>e(r.map(((e,r)=>({id:String(n+r+1),jsonrpc:"2.0",method:t[r].method,result:"fulfilled"===e.status?e.value:void 0,error:"fulfilled"!==e.status?e.reason:void 0}))))))}else this.request(Object.assign(Object.assign({},t),{id:Number(t.id)})).then(e)}));if(!r)return e;e.then((t=>r(null,t))).catch((t=>r(t)))}))}request(t){var i,o,s,a,u,c,h;return e(this,void 0,void 0,(function*(){const e=window.ethereum;if(e&&e.isBlocto)return e.request(t);if(!this.session.connected){const e=null===(i=null==t?void 0:t.params)||void 0===i?void 0:i[0];"eth_requestAccounts"===t.method&&T(e)?yield this.enable(e):yield this.enable()}try{let e=null,i=null;switch(t.method){case"eth_requestAccounts":yield this.fetchAccounts();case"eth_accounts":i=this.session.accounts[this.chain];break;case"eth_coinbase":i=this.session.accounts[this.chain][0];break;case"eth_chainId":i=this.chainId,i=`0x${i.toString(16)}`;break;case"net_version":i=this.networkId||this.chainId,i=`0x${i.toString(16)}`;break;case"eth_signTypedData_v3":case"eth_signTypedData":case"eth_signTypedData_v4":case"personal_sign":case"eth_sign":i=yield this.handleSign(t);break;case"wallet_disconnect":this.handleDisconnect(),i=null;break;case"blocto_sendBatchTransaction":case"eth_sendTransaction":i=yield this.handleSendTransaction(t);break;case"eth_signTransaction":case"eth_sendRawTransaction":i=null;break;case"wallet_addEthereumChain":if(!(null===(s=null===(o=null==t?void 0:t.params)||void 0===o?void 0:o[0])||void 0===s?void 0:s.chainId)||!(null===(u=null===(a=null==t?void 0:t.params)||void 0===a?void 0:a[0])||void 0===u?void 0:u.rpcUrls.length))throw new Error("Invalid params");yield R().then((e=>{var n,i,o;this.supportNetwork=e,r(this,L,"m",O).call(this,{chainId:U(null===(i=null===(n=null==t?void 0:t.params)||void 0===n?void 0:n[0])||void 0===i?void 0:i.chainId),rpcUrls:null===(o=null==t?void 0:t.params)||void 0===o?void 0:o[0].rpcUrls})})),i=null;break;case"wallet_switchEthereumChain":if(!(null===(h=null===(c=null==t?void 0:t.params)||void 0===c?void 0:c[0])||void 0===h?void 0:h.chainId))throw new Error("Invalid params");if(!this.switchableNetwork[U(t.params[0].chainId)]){const t=new Error("This chain has not been added to SDK. Please try wallet_addEthereumChain first.");throw t.code=4902,t}this.chainId=U(t.params[0].chainId),this.networkId=this.chainId,this.chain=this.switchableNetwork[this.chainId].name,this.net=this.switchableNetwork[this.chainId].network_type,n(this.chain,`unsupported 'chainId': ${this.chainId}`),this.rpc=this.switchableNetwork[this.chainId].rpc_url,n(this.rpc,"'rpc' is required"),this.server=this.switchableNetwork[this.chainId].wallet_web_url,yield this.fetchAccounts(),this.eventListeners.chainChanged.forEach((t=>t(this.chainId))),i=null;break;default:e=yield this.handleReadRequests(t)}if(e&&!e.result&&e.error){const t=e.error.message?e.error.message:"Request failed";throw new Error(t)}return e?e.result:i}catch(e){throw console.error(e),e}}))}enable(t){return e(this,void 0,void 0,(function*(){const e=window.ethereum;if(e&&e.isBlocto){if(parseInt(e.chainId,16)!==this.chainId)try{yield e.request({method:"wallet_addEthereumChain",params:[{chainId:`0x${this.chainId.toString(16)}`}]}),this.session.accounts[this.chain]=[e.address]}catch(e){console.error(e)}return new Promise(((t,r)=>setTimeout((()=>e.enable().then(t).catch(r)),10)))}return this.tryRetrieveSessionFromStorage(this.chain),new Promise(((e,r)=>{if("undefined"==typeof window)return r("Currently only supported in browser");if(this.session.connected)return e(this.session.accounts[this.chain]);const n=new URLSearchParams;n.set("l6n",window.location.origin);const i=t&&T(t)?`/${t}`:"",o=I(`${this.server}/${this.appId}/${this.chain}/authn${i}?${n.toString()}`);E(o),B("message",((t,n)=>{const i=t;if(i.origin===this.server){if("ETH:FRAME:RESPONSE"===i.data.type){n(),x(o),this.session.code=i.data.code,this.session.connected=!0,this.eventListeners.connect.forEach((t=>t(this.chainId)));const t=i.data.address;this.formatAndSetSessionAccount(t),_(this.sessionKey,{code:this.session.code,address:t},g),e(this.session.accounts[this.chain])}"ETH:FRAME:CLOSE"===i.data.type&&(n(),x(o),r(new Error("User declined the login request")))}}))}))}))}fetchAccounts(){return e(this,void 0,void 0,(function*(){r(this,L,"m",C).call(this);const{accounts:t}=yield fetch(`${this.server}/api/${this.chain}/accounts`,{headers:{"Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code}}).then((t=>P(t,this)));return this.session.accounts[this.chain]=t,t}))}handleReadRequests(t){return e(this,void 0,void 0,(function*(){return r(this,L,"m",C).call(this),fetch(this.rpc,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({id:1,jsonrpc:"2.0"},t))}).then((t=>t.json()))}))}handleSign({method:t,params:n}){return e(this,void 0,void 0,(function*(){let e="";if(Array.isArray(n))if("eth_sign"===t)e=n[1].slice(2);else if("personal_sign"===t)e=n[0].slice(2);else if(["eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4"].includes(t)){e=n[1];const{domain:t}=JSON.parse(e);if(U(t.chainId)!==U(this.chainId))throw new Error(`Provided chainId "${t.chainId}" must match the active chainId "${this.chainId}"`)}r(this,L,"m",C).call(this);const{signatureId:i}=yield fetch(`${this.server}/api/${this.chain}/user-signature`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify({method:t,message:e})}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const o=I(`${this.server}/${this.appId}/${this.chain}/user-signature/${i}`);return E(o),new Promise(((t,e)=>B("message",((r,n)=>{const i=r;i.origin===this.server&&"ETH:FRAME:RESPONSE"===i.data.type&&("APPROVED"===i.data.status&&(n(),x(o),t(i.data.signature)),"DECLINED"===i.data.status&&(n(),x(o),e(new Error(i.data.errorMessage))))}))))}))}handleSendTransaction(t){return e(this,void 0,void 0,(function*(){r(this,L,"m",C).call(this);const{authorizationId:e}=yield fetch(`${this.server}/api/${this.chain}/authz`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(t.params)}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const n=I(`${this.server}/${this.appId}/${this.chain}/authz/${e}`);return E(n),new Promise(((t,e)=>B("message",((r,i)=>{const o=r;o.origin===this.server&&"ETH:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(i(),x(n),t(o.data.txHash)),"DECLINED"===o.data.status&&(i(),x(n),e(new Error(o.data.errorMessage))))}))))}))}handleDisconnect(){return e(this,void 0,void 0,(function*(){this.session.connected=!1,this.session.code=null,this.session.accounts={},A(w)}))}}L=new WeakSet,O=function({chainId:t,rpcUrls:e}){const r=new URL(e[0]).hostname,{chain_id:n,name:i,display_name:o,network_type:s,blocto_service_environment:a,rpc_endpoint_domains:c}=this.supportNetwork[t];if(c.includes(r)){const t=u[a];this.switchableNetwork[n]={name:i,display_name:o,network_type:s,wallet_web_url:t,rpc_url:e[0]}}else console.warn(`The rpc url ${e[0]} is not supported.`)},C=function(){const t=window.ethereum;if(t&&t.isBlocto&&parseInt(t.chainId,16)!==this.chainId)throw new Error("Blocto SDK network mismatched")};var z=[],K=[],W="undefined"!=typeof Uint8Array?Uint8Array:Array,q=!1;function D(){q=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0;e<64;++e)z[e]=t[e],K[t.charCodeAt(e)]=e;K["-".charCodeAt(0)]=62,K["_".charCodeAt(0)]=63}function j(t,e,r){for(var n,i,o=[],s=e;s<r;s+=3)n=(t[s]<<16)+(t[s+1]<<8)+t[s+2],o.push(z[(i=n)>>18&63]+z[i>>12&63]+z[i>>6&63]+z[63&i]);return o.join("")}function H(t){var e;q||D();for(var r=t.length,n=r%3,i="",o=[],s=16383,a=0,u=r-n;a<u;a+=s)o.push(j(t,a,a+s>u?u:a+s));return 1===n?(e=t[r-1],i+=z[e>>2],i+=z[e<<4&63],i+="=="):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=z[e>>10],i+=z[e>>4&63],i+=z[e<<2&63],i+="="),o.push(i),o.join("")}function F(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<<a)-1,c=u>>1,h=-7,l=r?i-1:0,d=r?-1:1,f=t[e+l];for(l+=d,o=f&(1<<-h)-1,f>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=d,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=d,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),o-=c}return(f?-1:1)*s*Math.pow(2,o-n)}function $(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<<c)-1,l=h>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:o-1,p=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?d/u:d*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+f]=255&a,f+=p,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;t[r+f]=255&s,f+=p,s/=256,c-=8);t[r+f-p]|=128*m}var V={}.toString,G=Array.isArray||function(t){return"[object Array]"==V.call(t)};function Z(){return J.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Y(t,e){if(Z()<e)throw new RangeError("Invalid typed array length");return J.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=J.prototype:(null===t&&(t=new J(e)),t.length=e),t}function J(t,e,r){if(!(J.TYPED_ARRAY_SUPPORT||this instanceof J))return new J(t,e,r);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return tt(this,t)}return X(this,t,e,r)}function X(t,e,r,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,r,n){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return e=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n),J.TYPED_ARRAY_SUPPORT?(t=e).__proto__=J.prototype:t=et(t,e),t}(t,e,r,n):"string"==typeof e?function(t,e,r){if("string"==typeof r&&""!==r||(r="utf8"),!J.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|it(e,r),i=(t=Y(t,n)).write(e,r);return i!==n&&(t=t.slice(0,i)),t}(t,e,r):function(t,e){if(nt(e)){var r=0|rt(e.length);return 0===(t=Y(t,r)).length||e.copy(t,0,0,r),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(n=e.length)!=n?Y(t,0):et(t,e);if("Buffer"===e.type&&G(e.data))return et(t,e.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function Q(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function tt(t,e){if(Q(e),t=Y(t,e<0?0:0|rt(e)),!J.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function et(t,e){var r=e.length<0?0:0|rt(e.length);t=Y(t,r);for(var n=0;n<r;n+=1)t[n]=255&e[n];return t}function rt(t){if(t>=Z())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Z().toString(16)+" bytes");return 0|t}function nt(t){return!(null==t||!t._isBuffer)}function it(t,e){if(nt(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return Tt(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Rt(t).length;default:if(n)return Tt(t).length;e=(""+e).toLowerCase(),n=!0}}function ot(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return vt(this,e,r);case"utf8":case"utf-8":return gt(this,e,r);case"ascii":return wt(this,e,r);case"latin1":case"binary":return bt(this,e,r);case"base64":return mt(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return kt(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function st(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function at(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=J.from(e,n)),nt(e))return 0===e.length?-1:ut(t,e,r,n,i);if("number"==typeof e)return e&=255,J.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):ut(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function ut(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;o<a;o++)if(c(t,o)===c(e,-1===h?0:o-h)){if(-1===h&&(h=o),o-h+1===u)return h*s}else-1!==h&&(o-=o-h),h=-1}else for(r+u>a&&(r=a-u),o=r;o>=0;o--){for(var l=!0,d=0;d<u;d++)if(c(t,o+d)!==c(e,d)){l=!1;break}if(l)return o}return-1}function ct(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s<n;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[r+s]=a}return s}function ht(t,e,r,n){return Lt(Tt(e,t.length-r),t,r,n)}function lt(t,e,r,n){return Lt(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function dt(t,e,r,n){return lt(t,e,r,n)}function ft(t,e,r,n){return Lt(Rt(e),t,r,n)}function pt(t,e,r,n){return Lt(function(t,e){for(var r,n,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)n=(r=t.charCodeAt(s))>>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function mt(t,e,r){return 0===e&&r===t.length?H(t):H(t.slice(e,r))}function gt(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var o,s,a,u,c=t[i],h=null,l=c>239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function(t){var e=t.length;if(e<=yt)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=yt));return r}(n)}J.TYPED_ARRAY_SUPPORT=void 0===t.TYPED_ARRAY_SUPPORT||t.TYPED_ARRAY_SUPPORT,Z(),J.poolSize=8192,J._augment=function(t){return t.__proto__=J.prototype,t},J.from=function(t,e,r){return X(null,t,e,r)},J.TYPED_ARRAY_SUPPORT&&(J.prototype.__proto__=Uint8Array.prototype,J.__proto__=Uint8Array),J.alloc=function(t,e,r){return function(t,e,r,n){return Q(e),e<=0?Y(t,e):void 0!==r?"string"==typeof n?Y(t,e).fill(r,n):Y(t,e).fill(r):Y(t,e)}(null,t,e,r)},J.allocUnsafe=function(t){return tt(null,t)},J.allocUnsafeSlow=function(t){return tt(null,t)},J.isBuffer=function(t){return null!=t&&(!!t._isBuffer||Ot(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&Ot(t.slice(0,0))}(t))},J.compare=function(t,e){if(!nt(t)||!nt(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},J.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},J.concat=function(t,e){if(!G(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return J.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=J.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(!nt(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},J.byteLength=it,J.prototype._isBuffer=!0,J.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)st(this,e,e+1);return this},J.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)st(this,e,e+3),st(this,e+1,e+2);return this},J.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)st(this,e,e+7),st(this,e+1,e+6),st(this,e+2,e+5),st(this,e+3,e+4);return this},J.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?gt(this,0,t):ot.apply(this,arguments)},J.prototype.equals=function(t){if(!nt(t))throw new TypeError("Argument must be a Buffer");return this===t||0===J.compare(this,t)},J.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},J.prototype.compare=function(t,e,r,n,i){if(!nt(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),a=Math.min(o,s),u=this.slice(n,i),c=t.slice(e,r),h=0;h<a;++h)if(u[h]!==c[h]){o=u[h],s=c[h];break}return o<s?-1:s<o?1:0},J.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},J.prototype.indexOf=function(t,e,r){return at(this,t,e,r,!0)},J.prototype.lastIndexOf=function(t,e,r){return at(this,t,e,r,!1)},J.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return ct(this,t,e,r);case"utf8":case"utf-8":return ht(this,t,e,r);case"ascii":return lt(this,t,e,r);case"latin1":case"binary":return dt(this,t,e,r);case"base64":return ft(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pt(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},J.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var yt=4096;function wt(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function bt(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function vt(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=e;o<r;++o)i+=Pt(t[o]);return i}function kt(t,e,r){for(var n=t.slice(e,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function St(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function _t(t,e,r,n,i,o){if(!nt(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function At(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i<o;++i)t[r+i]=(e&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function Mt(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i<o;++i)t[r+i]=e>>>8*(n?i:3-i)&255}function It(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Et(t,e,r,n,i){return i||It(t,0,r,4),$(t,e,r,n,23,4),r+4}function xt(t,e,r,n,i){return i||It(t,0,r,8),$(t,e,r,n,52,8),r+8}J.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t),J.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=J.prototype;else{var i=e-t;r=new J(i,void 0);for(var o=0;o<i;++o)r[o]=this[o+t]}return r},J.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n},J.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},J.prototype.readUInt8=function(t,e){return e||St(t,1,this.length),this[t]},J.prototype.readUInt16LE=function(t,e){return e||St(t,2,this.length),this[t]|this[t+1]<<8},J.prototype.readUInt16BE=function(t,e){return e||St(t,2,this.length),this[t]<<8|this[t+1]},J.prototype.readUInt32LE=function(t,e){return e||St(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},J.prototype.readUInt32BE=function(t,e){return e||St(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},J.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},J.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||St(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},J.prototype.readInt8=function(t,e){return e||St(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},J.prototype.readInt16LE=function(t,e){e||St(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},J.prototype.readInt16BE=function(t,e){e||St(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},J.prototype.readInt32LE=function(t,e){return e||St(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},J.prototype.readInt32BE=function(t,e){return e||St(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},J.prototype.readFloatLE=function(t,e){return e||St(t,4,this.length),F(this,t,!0,23,4)},J.prototype.readFloatBE=function(t,e){return e||St(t,4,this.length),F(this,t,!1,23,4)},J.prototype.readDoubleLE=function(t,e){return e||St(t,8,this.length),F(this,t,!0,52,8)},J.prototype.readDoubleBE=function(t,e){return e||St(t,8,this.length),F(this,t,!1,52,8)},J.prototype.writeUIntLE=function(t,e,r,n){t=+t,e|=0,r|=0,n||_t(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},J.prototype.writeUIntBE=function(t,e,r,n){t=+t,e|=0,r|=0,n||_t(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},J.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,1,255,0),J.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},J.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,65535,0),J.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):At(this,t,e,!0),e+2},J.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,65535,0),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):At(this,t,e,!1),e+2},J.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,4294967295,0),J.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):Mt(this,t,e,!0),e+4},J.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,4294967295,0),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):Mt(this,t,e,!1),e+4},J.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);_t(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},J.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);_t(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},J.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,1,127,-128),J.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},J.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,32767,-32768),J.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):At(this,t,e,!0),e+2},J.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,2,32767,-32768),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):At(this,t,e,!1),e+2},J.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,2147483647,-2147483648),J.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):Mt(this,t,e,!0),e+4},J.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||_t(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),J.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):Mt(this,t,e,!1),e+4},J.prototype.writeFloatLE=function(t,e,r){return Et(this,t,e,!0,r)},J.prototype.writeFloatBE=function(t,e,r){return Et(this,t,e,!1,r)},J.prototype.writeDoubleLE=function(t,e,r){return xt(this,t,e,!0,r)},J.prototype.writeDoubleBE=function(t,e,r){return xt(this,t,e,!1,r)},J.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,o=n-r;if(this===t&&r<e&&e<n)for(i=o-1;i>=0;--i)t[i+e]=this[i+r];else if(o<1e3||!J.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},J.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!J.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=nt(t)?t:Tt(new J(t,n).toString()),a=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%a]}return this};var Bt=/[^+\/0-9A-Za-z-_]/g;function Pt(t){return t<16?"0"+t.toString(16):t.toString(16)}function Tt(t,e){var r;e=e||1/0;for(var n=t.length,i=null,o=[],s=0;s<n;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Rt(t){return function(t){var e,r,n,i,o,s;q||D();var a=t.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[a-2]?2:"="===t[a-1]?1:0,s=new W(3*a/4-o),n=o>0?a-4:a;var u=0;for(e=0,r=0;e<n;e+=4,r+=3)i=K[t.charCodeAt(e)]<<18|K[t.charCodeAt(e+1)]<<12|K[t.charCodeAt(e+2)]<<6|K[t.charCodeAt(e+3)],s[u++]=i>>16&255,s[u++]=i>>8&255,s[u++]=255&i;return 2===o?(i=K[t.charCodeAt(e)]<<2|K[t.charCodeAt(e+1)]>>4,s[u++]=255&i):1===o&&(i=K[t.charCodeAt(e)]<<10|K[t.charCodeAt(e+1)]<<4|K[t.charCodeAt(e+2)]>>2,s[u++]=i>>8&255,s[u++]=255&i),s}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(Bt,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Lt(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function Ot(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function Ct(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ut=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var n=0;n<t.length;n++){var i=t.charAt(n),o=i.charCodeAt(0);if(255!==e[o])throw new TypeError(i+" is ambiguous");e[o]=n}var s=t.length,a=t.charAt(0),u=Math.log(s)/Math.log(256),c=Math.log(256)/Math.log(s);function h(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return new Uint8Array;for(var r=0,n=0,i=0;t[r]===a;)n++,r++;for(var o=(t.length-r)*u+1>>>0,c=new Uint8Array(o);t[r];){var h=e[t.charCodeAt(r)];if(255===h)return;for(var l=0,d=o-1;(0!==h||l<i)&&-1!==d;d--,l++)h+=s*c[d]>>>0,c[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw new Error("Non-zero carry");i=l,r++}for(var f=o-i;f!==o&&0===c[f];)f++;for(var p=new Uint8Array(n+(o-f)),m=n;f!==o;)p[m++]=c[f++];return p}return{encode:function(e){if(e instanceof Uint8Array||(ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e))),!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===e.length)return"";for(var r=0,n=0,i=0,o=e.length;i!==o&&0===e[i];)i++,r++;for(var u=(o-i)*c+1>>>0,h=new Uint8Array(u);i!==o;){for(var l=e[i],d=0,f=u-1;(0!==l||d<n)&&-1!==f;f--,d++)l+=256*h[f]>>>0,h[f]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");n=d,i++}for(var p=u-n;p!==u&&0===h[p];)p++;for(var m=a.repeat(r);p<u;++p)m+=t.charAt(h[p]);return m},decodeUnsafe:h,decode:function(t){var e=h(t);if(e)return e;throw new Error("Non-base"+s+" character")}}},Nt=Ct(Ut("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"));let zt;try{zt=mc}catch(e){}class Kt extends M{constructor({net:t="mainnet-beta",server:e,appId:r,rpc:i,session:o}){if(super(o),n(t,"'net' is required"),n(h.includes(t),"unsupported net"),this.net=t,this.rpc=i||("mainnet-beta"===t?"https://free.rpcpool.com":`https://api.${t}.solana.com`),this.server=e||c[this.net]||"",this.appId=r||y,!zt)throw new Error("No @solana/web3.js installed. Please install it to interact with Solana.")}request(t){return e(this,void 0,void 0,(function*(){this.session.connected||(yield this.connect());try{let e=null,r=null;switch(t.method){case"connect":r=yield this.fetchAccounts();break;case"disconnect":this.disconnect();break;case"getAccounts":r=this.session.accounts.solana.length?this.session.accounts.solana:yield this.fetchAccounts();break;case"getAccountInfo":{const e=yield this.handleReadRequests(t),[n,i]=e.result.value.data;r=Object.assign(Object.assign({},e.result.value),{data:J.from(n,i),owner:new zt.PublicKey(e.result.value.owner)});break}case"convertToProgramWalletTransaction":r=yield this.handleConvertTransaction(t);break;case"signAndSendTransaction":r=yield this.handleSignAndSendTransaction(t);break;case"signTransaction":case"signAllTransactions":throw new Error(`Blocto is program wallet, which doesn't support ${t.method}. Use signAndSendTransaction instead.`);default:e=yield this.handleReadRequests(t)}if(e&&!e.result&&e.error){const t=e.error.message?e.error.message:"Request failed";throw new Error(t)}return e?e.result:r}catch(t){throw console.error(t),t}}))}connect(){return e(this,void 0,void 0,(function*(){const t=window.solana;return t&&t.isBlocto?new Promise((e=>{t.on("connect",(()=>{this.session.accounts.solana=[t.publicKey.toBase58()],e()})),t.connect()})):(this.tryRetrieveSessionFromStorage("solana"),new Promise(((t,e)=>{if("undefined"==typeof window)return e("Currently only supported in browser");if(this.session.connected)return t();const r=encodeURIComponent(window.location.origin),n=I(`${this.server}/${this.appId}/solana/authn?l6n=${r}`);E(n),B("message",((r,i)=>{const o=r;if(o.origin===this.server){if("SOL:FRAME:RESPONSE"===o.data.type){i(),x(n),this.session.code=o.data.code,this.session.connected=!0,this.eventListeners.connect.forEach((t=>t(this.net)));const e=o.data.address;this.formatAndSetSessionAccount(e),_(this.sessionKey,{code:this.session.code,address:e},g),t()}"SOL:FRAME:CLOSE"===o.data.type&&(i(),x(n),e(new Error("User declined the login request")))}}))})))}))}disconnect(){return e(this,void 0,void 0,(function*(){const t=window.solana;t&&t.isBlocto?yield t.disconnect():(this.session.code=null,this.session.accounts={},this.eventListeners.disconnect.forEach((t=>t(null))),this.session.connected=!1)}))}fetchAccounts(){return e(this,void 0,void 0,(function*(){const{accounts:t}=yield fetch(`${this.server}/api/solana/accounts`,{headers:{"Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code}}).then((t=>t.json()));return this.session.accounts.solana=t,t}))}handleReadRequests(t){return e(this,void 0,void 0,(function*(){return fetch(this.rpc,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Object.assign({id:1,jsonrpc:"2.0"},t))}).then((t=>t.json()))}))}convertToProgramWalletTransaction(t){return e(this,void 0,void 0,(function*(){const e=window.solana;if(e&&e.isBlocto)return e.convertToProgramWalletTransaction(t);const r=yield this.request({method:"convertToProgramWalletTransaction",params:{message:t.serializeMessage().toString("hex")}});return this.toTransaction(r,[])}))}signAndSendTransaction(t,r){return e(this,void 0,void 0,(function*(){const e=window.solana;if(e&&e.isBlocto)return e.signAndSendTransaction(t);const n={};if(r){r.commitment&&(n.commitment=r.commitment);const t=r?r._rpcEndpoint:null;t&&t!==this.rpc&&(this.rpc=t,this.disconnect(),yield this.connect())}return this.request({method:"signAndSendTransaction",params:Object.assign({signatures:yield this.collectSignatures(t),message:t.serializeMessage().toString("hex")},n)})}))}toTransaction(t,r){return e(this,void 0,void 0,(function*(){const e=zt.Message.from(J.from(t,"hex")),n=new zt.Transaction;return n.recentBlockhash=e.recentBlockhash,e.header.numRequiredSignatures>0&&(n.feePayer=e.accountKeys[0]),r.forEach(((t,r)=>{const i={signature:t===zt.PublicKey.default.toBase58()?null:Nt.decode(t),publicKey:e.accountKeys[r]};n.signatures.push(i)})),e.instructions.forEach((t=>{const r=t.accounts.map((t=>({pubkey:e.accountKeys[t],isSigner:t<e.header.numRequiredSignatures,isWritable:e.isAccountWritable(t)})));n.instructions.push(new zt.TransactionInstruction({keys:r,programId:e.accountKeys[t.programIdIndex],data:Nt.decode(t.data)}))})),n}))}collectSignatures(t){return e(this,void 0,void 0,(function*(){return t.signatures.reduce(((t,e)=>(e.signature&&(t[e.publicKey.toBase58()]=e.signature.toString("hex")),t)),{})}))}handleConvertTransaction(t){return e(this,void 0,void 0,(function*(){return fetch(`${this.server}/api/solana/convertToWalletTx`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(t.params)}).then((t=>P(t,this)))}))}handleSignAndSendTransaction(t){return e(this,void 0,void 0,(function*(){const{authorizationId:e}=yield fetch(`${this.server}/api/solana/authz`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(t.params)}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const r=I(`${this.server}/${this.appId}/solana/authz/${e}`);return E(r),new Promise(((t,e)=>B("message",((n,i)=>{const o=n;o.origin===this.server&&"SOL:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(i(),x(r),t(o.data.txHash)),"DECLINED"===o.data.status&&(i(),x(r),e(new Error(o.data.errorMessage))))}))))}))}}class Wt extends M{constructor({chainId:t,server:e,appId:r,session:i}){super(i),this.publicKey=[],this.authKey="",n(t,"'chainId' is required"),n(r,"It is necessary to interact with Blocto wallet via your app id. Please visit https://developers.blocto.app for more details."),this.chainId=t,this.networkName=f[t],this.api=p[t];const o=l[t];this.appId=r||y,this.server=e||o||""}get publicAccount(){return{address:this.session.accounts.aptos[0]||null,publicKey:this.publicKey.length?this.publicKey:null,authKey:null,minKeysRequired:2}}network(){return e(this,void 0,void 0,(function*(){return{name:this.networkName,api:this.api,chainId:this.chainId.toString()}}))}isConnected(){return e(this,void 0,void 0,(function*(){return this.session.connected}))}signTransaction(t){return e(this,void 0,void 0,(function*(){const e=window.bloctoAptos;if(e)return e.signTransaction(t);if((yield this.isConnected())||(yield this.connect()),!this.session.accounts.aptos.length)throw new Error("Fail to get account");throw new Error("signTransaction method not supported.")}))}disconnect(){return e(this,void 0,void 0,(function*(){const t=window.bloctoAptos;t?yield t.disconnect():(this.session.code=null,this.session.accounts={},this.session.connected=!1)}))}signAndSubmitTransaction(t,r={}){return e(this,void 0,void 0,(function*(){const e=window.bloctoAptos;if(e)return e.signAndSubmitTransaction(t,r);if((yield this.isConnected())||(yield this.connect()),!this.session.accounts.aptos.length)throw new Error("Fail to get account");const{authorizationId:n}=yield fetch(`${this.server}/api/aptos/authz`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(Object.assign(Object.assign({},t),r))}).then((t=>P(t,this)));if("undefined"==typeof window)throw new Error("Currently only supported in browser");const i=I(`${this.server}/${this.appId}/aptos/authz/${n}`);return E(i),new Promise(((t,e)=>B("message",((r,n)=>{const o=r;o.origin===this.server&&"APTOS:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(n(),x(i),t({hash:o.data.txHash})),"DECLINED"===o.data.status&&(n(),x(i),e(new Error(o.data.errorMessage))))}))))}))}signMessage(t){return e(this,void 0,void 0,(function*(){const e=window.bloctoAptos,r=(t=>{var e,r;const n=Object.assign({},t),{message:i,nonce:o,address:s,application:a,chainId:u}=t;return"string"!=typeof i&&(n.message=null!==(e=String(i))&&void 0!==e?e:""),"string"!=typeof o&&(n.nonce=null!==(r=String(o))&&void 0!==r?r:""),s&&"boolean"!=typeof s&&(n.address=!!s),a&&"boolean"!=typeof a&&(n.application=!!a),u&&"boolean"!=typeof u&&(n.chainId=!!u),n})(t);if(e)return e.signMessage(r);if((yield this.isConnected())||(yield this.connect()),!this.session.accounts.aptos.length)throw new Error("Fail to get account");if("undefined"==typeof window)throw new Error("Currently only supported in browser");const{signatureId:n}=yield fetch(`${this.server}/api/aptos/user-signature`,{method:"POST",headers:{"Content-Type":"application/json","Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code},body:JSON.stringify(r)}).then((t=>P(t,this))),i=I(`${this.server}/${this.appId}/aptos/user-signature/${n}`);return E(i),new Promise(((t,e)=>B("message",((r,n)=>{const o=r;o.origin===this.server&&"APTOS:FRAME:RESPONSE"===o.data.type&&("APPROVED"===o.data.status&&(n(),x(i),t(o.data)),"DECLINED"===o.data.status&&(n(),x(i),e(new Error(o.data.errorMessage))))}))))}))}connect(){return e(this,void 0,void 0,(function*(){const t=window.bloctoAptos;return t?new Promise(((e,r)=>setTimeout((()=>t.connect().then(e).catch(r)),10))):(this.tryRetrieveSessionFromStorage("aptos"),new Promise(((t,r)=>{if("undefined"==typeof window)return r("Currently only supported in browser");if(this.session.connected&&this.session.accounts.aptos.length)return t({address:this.session.accounts.aptos[0],publicKey:this.publicKey,authKey:null,minKeysRequired:2});const n=encodeURIComponent(window.location.origin),i=I(`${this.server}/${this.appId}/aptos/authn?l6n=${n}`);E(i),B("message",((n,o)=>e(this,void 0,void 0,(function*(){const e=n;if(e.origin===this.server){if("APTOS:FRAME:RESPONSE"===e.data.type){o(),x(i),this.session.code=e.data.code,this.session.connected=!0;const n=e.data.address;if(this.formatAndSetSessionAccount(n),_(this.sessionKey,{code:this.session.code,address:n},g),!this.session.accounts.aptos.length)return r();try{const{public_keys:e}=yield fetch(`${this.server}/blocto/aptos/accounts/${this.session.accounts.aptos[0]}`).then((t=>t.json()));this.publicKey=e||[],t({address:this.session.accounts.aptos[0]||"",publicKey:this.publicKey,authKey:null,minKeysRequired:2})}catch(t){return r(e)}}"APTOS:FRAME:CLOSE"===e.data.type&&(o(),x(i),r(new Error("User declined the login request")))}}))))})))}))}fetchAddress(){return e(this,void 0,void 0,(function*(){const{accounts:t}=yield fetch(`${this.server}/api/aptos/accounts`,{headers:{"Blocto-Application-Identifier":this.appId,"Blocto-Session-Identifier":this.session.code}}).then((t=>P(t,this)));return this.session.accounts.aptos=t||[],this.session.accounts.aptos[0]}))}}const qt={connected:!1,code:null,accounts:{}};return class{constructor({appId:t,ethereum:e,solana:r,aptos:n}){e&&(this.ethereum=new N(Object.assign(Object.assign({},e),{appId:t,session:qt}))),r&&(this.solana=new Kt(Object.assign(Object.assign({},r),{appId:t,session:qt}))),n&&(this.aptos=new Wt(Object.assign(Object.assign({},n),{appId:t,session:qt})))}}}();var gc=r(p.exports);function yc({chainId:t,rpcUrl:e,rpc:r,bloctoParams:o},s){return n(this,void 0,void 0,(function*(){let n;if(!t)throw new Error("chainId is required");e?n=e:t&&r&&(n=r[t]);const a=new gc({appId:null==o?void 0:o.appId,ethereum:{chainId:t,rpc:n}}).ethereum;if(!a)throw new Error("No provider");return a.on("connect",s.connect),a.on("disconnect",s.disconnect),a.on("accountsChanged",s.accountsChanged),a.on("chainChanged",s.chainChanged),yield a.request({method:"eth_requestAccounts"}),i(a)}))}export{yc as default};