@acedatacloud/nexior 3.277.7 → 3.277.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ApiCodeButton-Y9Q_5rli.js → ApiCodeButton-C6gLCf-Z.js} +1 -1
- package/dist/assets/{AskUserQuestionCard-DLRlAMse.js → AskUserQuestionCard-BO__kKe-.js} +1 -1
- package/dist/assets/{Auth-BeSjk7e1.js → Auth-rjG5v1Zu.js} +1 -1
- package/dist/assets/{Bare-DUhpP3zK.js → Bare-Bv4yJF2-.js} +1 -1
- package/dist/assets/{BotPlaceholder-CmBwrP9p.js → BotPlaceholder-C_RrL6-x.js} +1 -1
- package/dist/assets/{BottomFooter-BtB7WcAf.js → BottomFooter-DYHEXkR8.js} +1 -1
- package/dist/assets/{Callback-DIGJnTzu.js → Callback-Ds0Qhhfa.js} +1 -1
- package/dist/assets/{Console-CNz0OtR1.js → Console-BvjrA-Id.js} +1 -1
- package/dist/assets/{Consumption-BcXshl57.js → Consumption-sxyES3IM.js} +1 -1
- package/dist/assets/{Conversation-Yejcsd_l.js → Conversation-B1LkXj8C.js} +1 -1
- package/dist/assets/{CopyToClipboard-DKALNPi7.js → CopyToClipboard-D8uYio89.js} +1 -1
- package/dist/assets/{Detail-Cb8zWJZn.js → Detail-Cl54B-QS.js} +2 -2
- package/dist/assets/{Extra-DFC-4yut.js → Extra-Bph1prs-.js} +1 -1
- package/dist/assets/{FilePreview-BItfNOPI.js → FilePreview-CEk-YWC4.js} +1 -1
- package/dist/assets/{Hailuo-CHXl4NNt.js → Hailuo-Du-s8XoS.js} +1 -1
- package/dist/assets/{History-CoTacsWJ.js → History-CehzioRT.js} +1 -1
- package/dist/assets/{ImagePreview-VrmtU7qi.js → ImagePreview-A5Uxs7St.js} +1 -1
- package/dist/assets/{ImageWrapper-Cj_3NER2.js → ImageWrapper-q6dGYlku.js} +1 -1
- package/dist/assets/{Index-CvN5XU7X.js → Index--SVe2gf_.js} +1 -1
- package/dist/assets/{Index-C49SnyNX.js → Index-B7ye1jps.js} +1 -1
- package/dist/assets/{Index-DXxRfT2C.js → Index-BFRB5Ecn.js} +1 -1
- package/dist/assets/{Index-CCkRnDX-.js → Index-BMZ7QDn4.js} +1 -1
- package/dist/assets/{Index-Dh9vOFuk.js → Index-BVgjeXqY.js} +1 -1
- package/dist/assets/{Index-nzn0-FGr.js → Index-BWmJj-Ec.js} +1 -1
- package/dist/assets/{Index-C_C-cDCk.js → Index-BoY2-aI0.js} +1 -1
- package/dist/assets/{Index-CQhN1bKZ.js → Index-BsuuQ9Qp.js} +1 -1
- package/dist/assets/{Index-OfACtBsb.js → Index-C3FIbYj_.js} +1 -1
- package/dist/assets/{Index-CPda-Gep.js → Index-CMp0mfWb.js} +1 -1
- package/dist/assets/{Index-DWhenZJw.js → Index-CSvFys2c.js} +1 -1
- package/dist/assets/{Index-BsIW-qVJ.js → Index-CmmpTMc1.js} +1 -1
- package/dist/assets/{Index-aS18-qH2.js → Index-CuP83G9I.js} +1 -1
- package/dist/assets/{Index-COhR9NHw.js → Index-CwCpcpVC.js} +1 -1
- package/dist/assets/{Index-CiFK-INX.js → Index-DAwffrvQ.js} +1 -1
- package/dist/assets/{Index-D_XsT1hJ.js → Index-DHWhU527.js} +1 -1
- package/dist/assets/{Index-C91NISmr.js → Index-DY12tQiR.js} +1 -1
- package/dist/assets/{Index-DchoGZNw.js → Index-DlHycozQ.js} +1 -1
- package/dist/assets/{Index-Mq7J7PCH.js → Index-DpOrn0vY.js} +1 -1
- package/dist/assets/{Index-Dh_WztNK.js → Index-DqOVMWDG.js} +1 -1
- package/dist/assets/{Index-DbE7gIS8.js → Index-Dqq9aZ6K.js} +1 -1
- package/dist/assets/{Index-Dlr5P381.js → Index-Tsvr1KQ_.js} +1 -1
- package/dist/assets/{Index-BEty5F9Y.js → Index-V_h8KuLe.js} +1 -1
- package/dist/assets/{Index-eGZrn73w.js → Index-cvsVkl66.js} +1 -1
- package/dist/assets/{Index-aOhzAx-8.js → Index-ocSH7ZvZ.js} +1 -1
- package/dist/assets/{Index-BqQhGaaQ.js → Index-t0Cs_RZ8.js} +1 -1
- package/dist/assets/{Invitees-8UIAwt3T.js → Invitees-RCGTpw5d.js} +1 -1
- package/dist/assets/{List-ClpqUs8T.js → List-BCTIkbqi.js} +1 -1
- package/dist/assets/{List-B88nyiGl.js → List-BzAI-ui9.js} +1 -1
- package/dist/assets/{List-glRu4-KI.js → List-Cr7s548x.js} +1 -1
- package/dist/assets/{Main-B1NDFJbM.js → Main-BqfD4til.js} +1 -1
- package/dist/assets/{Model-D9hSM64C.js → Model-Bekj6zqJ.js} +1 -1
- package/dist/assets/{Navigator-DcAalEr7.js → Navigator-dkWMjJ7c.js} +1 -1
- package/dist/assets/{NoTasks-CDPKmc0O.js → NoTasks-Ze_beGGE.js} +1 -1
- package/dist/assets/{NotFound-B7xuzAHt.js → NotFound-DdFf8s7r.js} +1 -1
- package/dist/assets/{Pagination-DQWsJkPb.js → Pagination-uSqRcf5u.js} +1 -1
- package/dist/assets/{Pay-BqHbXrV7.js → Pay-CJG9KOs8.js} +1 -1
- package/dist/assets/{Player-BVzCxJuX.js → Player-C-7R8A5A.js} +1 -1
- package/dist/assets/{Seedance-CO_ACLOb.js → Seedance-BThH9nJK.js} +1 -1
- package/dist/assets/{Status-CM7g9Fus.js → Status-BEBUGjir.js} +1 -1
- package/dist/assets/{Subscribe-D3WI3_NZ.js → Subscribe-Cxb0qpvf.js} +1 -1
- package/dist/assets/{TabSwitcher-yeYGN8ZT.js → TabSwitcher-fa4ctxOn.js} +1 -1
- package/dist/assets/{Tts-Rn_B26TY.js → Tts-C-6DTKCA.js} +1 -1
- package/dist/assets/{VideoPlayer-B0BnYp4m.js → VideoPlayer-DDKrB3TS.js} +1 -1
- package/dist/assets/{avatar-BOVF6M1O.js → avatar-B-r-EyXw.js} +1 -1
- package/dist/assets/{basic-HSZ3j8Aq.js → basic-qB2zBf_T.js} +1 -1
- package/dist/assets/{chat-D_Fzwt0g.js → chat-DnQdfCwY.js} +1 -1
- package/dist/assets/{codingBridge-C7Me6g4e.js → codingBridge-N0BY_pbA.js} +1 -1
- package/dist/assets/{codingBridgeNotify-CRwsxbsg.js → codingBridgeNotify-jR2fwnrs.js} +2 -2
- package/dist/assets/{collapse-BByE_tIe.js → collapse-ldIH3UFR.js} +1 -1
- package/dist/assets/constants-BvG5EAGh.js +3 -0
- package/dist/assets/{createTaskActions-W-WP8ugD.js → createTaskActions-H9Ak_ksZ.js} +1 -1
- package/dist/assets/{date-picker-B16ejAVW.js → date-picker-DU59CcgU.js} +1 -1
- package/dist/assets/{dropdown-CDNHTiOm.js → dropdown-Dbdq5MEd.js} +1 -1
- package/dist/assets/{esm-BU6OIiFF.js → esm-BNNSASAI.js} +2 -2
- package/dist/assets/{esm-SA2Cpj9c.js → esm-BWKCQlE-.js} +1 -1
- package/dist/assets/esm-BWW4nO7I.js +1 -0
- package/dist/assets/{esm-DxE4PNaE.js → esm-C3UFPwEA.js} +1 -1
- package/dist/assets/{esm-DByi5aXQ.js → esm-DrjL-zKA.js} +1 -1
- package/dist/assets/{esm-jOYXlAjt.js → esm-DtiDy7oQ.js} +2 -2
- package/dist/assets/{esm-Ct_RJBy4.js → esm-YSQHICP5.js} +3 -3
- package/dist/assets/{fish-o5DuhCTt.js → fish-Dtp6I8Fd.js} +1 -1
- package/dist/assets/{flux-D5wQ2ETV.js → flux-Dg2kTyMv.js} +1 -1
- package/dist/assets/{grokvideo-RY6WG57V.js → grokvideo-C6jRvGkV.js} +1 -1
- package/dist/assets/{hailuo-cwddKK4W.js → hailuo-BBLTKTAc.js} +1 -1
- package/dist/assets/{headshots-_6sK9NHU.js → headshots-Clf9mqgV.js} +1 -1
- package/dist/assets/{image-BpgWG7Wr.js → image-BIhkq-3S.js} +1 -1
- package/dist/assets/{index-9aLmMXtF.js → index-BbCaZ5EZ.js} +16 -16
- package/dist/assets/{index.browser.esm-BARMNPSn.js → index.browser.esm-D2oXUHNB.js} +1 -1
- package/dist/assets/{index.es-CPGZoImb.js → index.es-DInZDd-8.js} +1 -1
- package/dist/assets/{input-number-Dojjbmgd.js → input-number-B63gxX1G.js} +1 -1
- package/dist/assets/{kling-BLd5qd0h.js → kling-CIq0k3a9.js} +1 -1
- package/dist/assets/{luma-BpCgEYu9.js → luma-BTc_oEx8.js} +1 -1
- package/dist/assets/{midjourney-pI4qbgAr.js → midjourney-CGSfGnTI.js} +1 -1
- package/dist/assets/{nanobanana-DmFImJqS.js → nanobanana-Co7IvZDU.js} +1 -1
- package/dist/assets/{openaiimage-D8EWWNA5.js → openaiimage-CiYgF1oS.js} +1 -1
- package/dist/assets/{pagination-BUcfBY5t.js → pagination-sho_4mvI.js} +1 -1
- package/dist/assets/{pika-B06LH_T_.js → pika-DFeGWhry.js} +1 -1
- package/dist/assets/{pixverse-DFri-5k9.js → pixverse-DPpyC5XF.js} +1 -1
- package/dist/assets/{popover-EL8tc-fj.js → popover-CUhgirVQ.js} +1 -1
- package/dist/assets/{producer-DnAioqTF.js → producer-joKKn6M4.js} +1 -1
- package/dist/assets/{qrart-g9aM5n4x.js → qrart-DmLZ7wWd.js} +1 -1
- package/dist/assets/{row-CJohDy7r.js → row-CaRpmAhk.js} +1 -1
- package/dist/assets/{seedance-B9l3jEdZ.js → seedance-BPVDnit8.js} +1 -1
- package/dist/assets/{seedream-D3v2h7En.js → seedream-1PZNci1g.js} +1 -1
- package/dist/assets/{select-DSfc3P7w.js → select-BxVmNFP6.js} +1 -1
- package/dist/assets/{serp-cUft_8S7.js → serp-u19n44y7.js} +1 -1
- package/dist/assets/{slider-Ca9y-nJ6.js → slider-CZsrZNiU.js} +1 -1
- package/dist/assets/{solana-wallets-Li4pR758.js → solana-wallets-Dvz6LEc2.js} +2 -2
- package/dist/assets/{solana-wallets-vue-BFiGM348.js → solana-wallets-vue-nV27NBhX.js} +1 -1
- package/dist/assets/{sora-t2Uu-3D1.js → sora-DL1Eu3V_.js} +1 -1
- package/dist/assets/{suno-DLPyeVpj.js → suno-D0R4gb6S.js} +1 -1
- package/dist/assets/{switch-BCKqt9Fm.js → switch-qy9A_eGr.js} +1 -1
- package/dist/assets/{tabs-4duYXl7P.js → tabs-DwY1eAPe.js} +1 -1
- package/dist/assets/{upload-Dpji6gne.js → upload-B6XSKv2u.js} +1 -1
- package/dist/assets/{veo-DRZVdaXn.js → veo-CYfZPVE4.js} +1 -1
- package/dist/assets/{wan-fGAG8--r.js → wan-dwlkdz78.js} +1 -1
- package/dist/assets/{web-D4DgfsnP.js → web-BCYCv9_i.js} +1 -1
- package/dist/assets/{web-CKx9bJ4m.js → web-BNYAxux2.js} +1 -1
- package/dist/assets/{web-B3V3-JKa.js → web-CiJfTemP.js} +1 -1
- package/dist/assets/{web-CfMoKA6n.js → web-CqJ0KFOe.js} +1 -1
- package/dist/assets/{web-CHalUllj.js → web-_Pa-5yYB.js} +1 -1
- package/dist/assets/{webextrator-Dchdft_g.js → webextrator-CxXqfJm3.js} +1 -1
- package/dist/index.html +5 -3
- package/package.json +2 -1
- package/dist/assets/constants-BJfzUALM.js +0 -3
- package/dist/assets/esm-C7syfVMu.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-CBKdYWfq.js","assets/rolldown-runtime--c01j_DQ.js","assets/utils-CGq_Culp.js","assets/secp256k1-ClVDFbCG.js","assets/utils-Br0svb7K.js","assets/basic-
|
|
2
|
-
import{a as e,n as t,o as n,r,t as i}from"./rolldown-runtime--c01j_DQ.js";import{t as a}from"./preload-helper-zJ_50EbN.js";import{Pn as o}from"./index-9aLmMXtF.js";import{$ as s,A as c,B as l,C as u,D as d,E as f,F as p,H as m,I as h,J as g,K as _,L as v,M as y,N as b,O as x,P as S,Q as C,R as w,S as T,T as E,U as D,V as O,W as k,Y as A,Z as j,_ as M,at as N,b as P,c as F,d as I,et as L,f as R,g as z,h as ee,it as B,j as V,k as te,l as H,m as ne,nt as re,p as U,q as ie,rt as ae,tt as oe,u as se,v as ce,w as le,x as ue,y as de,z as fe}from"./ConstantsUtil-CiJQ7E9o.js";import{a as pe,r as me,t as he}from"./index.browser.esm-BARMNPSn.js";import{i as W,n as ge,r as _e}from"./ConnectorUtil-BNHqGaBo.js";import{a as ve,c as ye,d as be,f as xe,h as Se,l as Ce,m as we,n as Te,t as Ee,u as De}from"./utils-Br0svb7K.js";import{E as Oe,T as ke,b as Ae,g as je,l as Me,m as Ne,n as Pe,o as Fe,s as Ie,w as Le,y as Re}from"./esm-XM2jj6jY.js";import{a as ze,c as Be,d as Ve,f as He,h as Ue,l as We,m as Ge,n as Ke,t as qe,u as Je}from"./utils-CGq_Culp.js";var Ye={validateCaipAddress(e){if(e.split(`:`)?.length!==3)throw Error(`Invalid CAIP Address`);return e},parseCaipAddress(e){let t=e.split(`:`);if(t.length!==3)throw Error(`Invalid CAIP-10 address: ${e}`);let[n,r,i]=t;if(!n||!r||!i)throw Error(`Invalid CAIP-10 address: ${e}`);return{chainNamespace:n,chainId:r,address:i}},parseCaipNetworkId(e){let t=e.split(`:`);if(t.length!==2)throw Error(`Invalid CAIP-2 network id: ${e}`);let[n,r]=t;if(!n||!r)throw Error(`Invalid CAIP-2 network id: ${e}`);return{chainNamespace:n,chainId:r}}},Xe=r({__assign:()=>bt,__asyncDelegator:()=>ft,__asyncGenerator:()=>dt,__asyncValues:()=>pt,__await:()=>ut,__awaiter:()=>nt,__classPrivateFieldGet:()=>_t,__classPrivateFieldSet:()=>vt,__createBinding:()=>it,__decorate:()=>$e,__exportStar:()=>at,__extends:()=>Ze,__generator:()=>rt,__importDefault:()=>gt,__importStar:()=>ht,__makeTemplateObject:()=>mt,__metadata:()=>tt,__param:()=>et,__read:()=>st,__rest:()=>Qe,__spread:()=>ct,__spreadArrays:()=>lt,__values:()=>ot});function Ze(e,t){yt(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Qe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function $e(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function et(e,t){return function(n,r){t(n,r,e)}}function tt(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}function nt(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function rt(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(o){if(r)throw TypeError(`Generator is already executing.`);for(;n;)try{if(r=1,i&&(a=o[0]&2?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[o[0]&2,a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]<a[3])){n.label=o[1];break}if(o[0]===6&&n.label<a[1]){n.label=a[1],a=o;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(o);break}a[2]&&n.ops.pop(),n.trys.pop();continue}o=t.call(e,n)}catch(e){o=[6,e],i=0}finally{r=a=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}function it(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}function at(e,t){for(var n in e)n!==`default`&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ot(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function st(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function ct(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(st(arguments[t]));return e}function lt(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)r[i]=a[o];return r}function ut(e){return this instanceof ut?(this.v=e,this):new ut(e)}function dt(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},o(`next`),o(`throw`),o(`return`),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||s(e,t)})})}function s(e,t){try{c(r[e](t))}catch(e){d(a[0][3],e)}}function c(e){e.value instanceof ut?Promise.resolve(e.value.v).then(l,u):d(a[0][2],e)}function l(e){s(`next`,e)}function u(e){s(`throw`,e)}function d(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function ft(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:ut(e[r](t)),done:r===`return`}:i?i(t):t}:i}}function pt(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof ot==`function`?ot(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function mt(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function ht(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function gt(e){return e&&e.__esModule?e:{default:e}}function _t(e,t){if(!t.has(e))throw TypeError(`attempted to get private field on non-instance`);return t.get(e)}function vt(e,t,n){if(!t.has(e))throw TypeError(`attempted to set private field on non-instance`);return t.set(e,n),n}var yt,bt,xt=t((()=>{yt=function(e,t){return yt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},yt(e,t)},bt=function(){return bt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},bt.apply(this,arguments)}})),St=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.delay=void 0;function t(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}e.delay=t})),Ct=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ONE_THOUSAND=e.ONE_HUNDRED=void 0,e.ONE_HUNDRED=100,e.ONE_THOUSAND=1e3})),wt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ONE_YEAR=e.FOUR_WEEKS=e.THREE_WEEKS=e.TWO_WEEKS=e.ONE_WEEK=e.THIRTY_DAYS=e.SEVEN_DAYS=e.FIVE_DAYS=e.THREE_DAYS=e.ONE_DAY=e.TWENTY_FOUR_HOURS=e.TWELVE_HOURS=e.SIX_HOURS=e.THREE_HOURS=e.ONE_HOUR=e.SIXTY_MINUTES=e.THIRTY_MINUTES=e.TEN_MINUTES=e.FIVE_MINUTES=e.ONE_MINUTE=e.SIXTY_SECONDS=e.THIRTY_SECONDS=e.TEN_SECONDS=e.FIVE_SECONDS=e.ONE_SECOND=void 0,e.ONE_SECOND=1,e.FIVE_SECONDS=5,e.TEN_SECONDS=10,e.THIRTY_SECONDS=30,e.SIXTY_SECONDS=60,e.ONE_MINUTE=e.SIXTY_SECONDS,e.FIVE_MINUTES=e.ONE_MINUTE*5,e.TEN_MINUTES=e.ONE_MINUTE*10,e.THIRTY_MINUTES=e.ONE_MINUTE*30,e.SIXTY_MINUTES=e.ONE_MINUTE*60,e.ONE_HOUR=e.SIXTY_MINUTES,e.THREE_HOURS=e.ONE_HOUR*3,e.SIX_HOURS=e.ONE_HOUR*6,e.TWELVE_HOURS=e.ONE_HOUR*12,e.TWENTY_FOUR_HOURS=e.ONE_HOUR*24,e.ONE_DAY=e.TWENTY_FOUR_HOURS,e.THREE_DAYS=e.ONE_DAY*3,e.FIVE_DAYS=e.ONE_DAY*5,e.SEVEN_DAYS=e.ONE_DAY*7,e.THIRTY_DAYS=e.ONE_DAY*30,e.ONE_WEEK=e.SEVEN_DAYS,e.TWO_WEEKS=e.ONE_WEEK*2,e.THREE_WEEKS=e.ONE_WEEK*3,e.FOUR_WEEKS=e.ONE_WEEK*4,e.ONE_YEAR=e.ONE_DAY*365})),Tt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(xt(),e(Xe));n.__exportStar(Ct(),t),n.__exportStar(wt(),t)})),Et=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.fromMiliseconds=e.toMiliseconds=void 0;var t=Tt();function n(e){return e*t.ONE_THOUSAND}e.toMiliseconds=n;function r(e){return Math.floor(e/t.ONE_THOUSAND)}e.fromMiliseconds=r})),Dt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(xt(),e(Xe));n.__exportStar(St(),t),n.__exportStar(Et(),t)})),Ot=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Watch=void 0;var t=class{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(t.elapsed!==void 0)throw Error(`Watch already stopped for label: ${e}`);let n=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:n})}get(e){let t=this.timestamps.get(e);if(t===void 0)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e);return t.elapsed||Date.now()-t.started}};e.Watch=t,e.default=t})),kt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IWatch=void 0,e.IWatch=class{}})),At=i((t=>{Object.defineProperty(t,"__esModule",{value:!0}),(xt(),e(Xe)).__exportStar(kt(),t)})),jt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(xt(),e(Xe));n.__exportStar(Dt(),t),n.__exportStar(Ot(),t),n.__exportStar(At(),t),n.__exportStar(Tt(),t)})),Mt=class{},Nt=n(O()),G=jt(),Pt=class extends Mt{constructor(e){super()}},Ft=G.FIVE_SECONDS,It={pulse:`heartbeat_pulse`},Lt=class e extends Pt{constructor(e){super(e),this.events=new Nt.EventEmitter,this.interval=Ft,this.interval=e?.interval||Ft}static async init(t){let n=new e(t);return await n.init(),n}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),(0,G.toMiliseconds)(this.interval))}pulse(){this.events.emit(It.pulse)}},Rt=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,zt=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Bt=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Vt(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){Ht(e);return}return t}function Ht(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ut(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!Bt.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(Rt.test(e)||zt.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,Vt)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}function Wt(e){return!e||typeof e.then!=`function`?Promise.resolve(e):e}function Gt(e,...t){try{return Wt(e(...t))}catch(e){return Promise.reject(e)}}function Kt(e){let t=typeof e;return e===null||t!==`object`&&t!==`function`}function qt(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}function Jt(e){if(Kt(e))return String(e);if(qt(e)||Array.isArray(e))return JSON.stringify(e);if(typeof e.toJSON==`function`)return Jt(e.toJSON());throw Error(`[unstorage] Cannot stringify value!`)}var Yt=`base64:`;function Xt(e){return typeof e==`string`?e:Yt+$t(e)}function Zt(e){return typeof e!=`string`||!e.startsWith(Yt)?e:Qt(e.slice(7))}function Qt(e){return globalThis.Buffer?Buffer.from(e,`base64`):Uint8Array.from(globalThis.atob(e),e=>e.codePointAt(0))}function $t(e){return globalThis.Buffer?Buffer.from(e).toString(`base64`):globalThis.btoa(String.fromCodePoint(...e))}function en(e){return e&&e.split(`?`)[0]?.replace(/[/\\]/g,`:`).replace(/:+/g,`:`).replace(/^:|:$/g,``)||``}function tn(...e){return en(e.join(`:`))}function nn(e){return e=en(e),e?e+`:`:``}function rn(e,t){if(t===void 0)return!0;let n=0,r=e.indexOf(`:`);for(;r>-1;)n++,r=e.indexOf(`:`,r+1);return n<=t}function an(e,t){return t?e.startsWith(t)&&e[e.length-1]!==`$`:e[e.length-1]!==`$`}function on(e){return e}var sn=`memory`,cn=on(()=>{let e=new Map;return{name:sn,getInstance:()=>e,hasItem(t){return e.has(t)},getItem(t){return e.get(t)??null},getItemRaw(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},setItemRaw(t,n){e.set(t,n)},removeItem(t){e.delete(t)},getKeys(){return[...e.keys()]},clear(){e.clear()},dispose(){e.clear()}}});function ln(e={}){let t={mounts:{"":e.driver||cn()},mountpoints:[``],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(let n of t.mountpoints)if(e.startsWith(n))return{base:n,relativeKey:e.slice(n.length),driver:t.mounts[n]};return{base:``,relativeKey:e,driver:t.mounts[``]}},r=(e,n)=>t.mountpoints.filter(t=>t.startsWith(e)||n&&e.startsWith(t)).map(n=>({relativeBase:e.length>n.length?e.slice(n.length):void 0,mountpoint:n,driver:t.mounts[n]})),i=(e,n)=>{if(t.watching){n=en(n);for(let r of t.watchListeners)r(e,n)}},a=async()=>{if(!t.watching){t.watching=!0;for(let e in t.mounts)t.unwatch[e]=await un(t.mounts[e],i,e)}},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},s=(e,t,r)=>{let i=new Map,a=e=>{let t=i.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},i.set(e.base,t)),t};for(let r of e){let e=typeof r==`string`,i=en(e?r:r.key),o=e?void 0:r.value,s=e||!r.options?t:{...t,...r.options},c=n(i);a(c).items.push({key:i,value:o,relativeKey:c.relativeKey,options:s})}return Promise.all([...i.values()].map(e=>r(e))).then(e=>e.flat())},c={hasItem(e,t={}){e=en(e);let{relativeKey:r,driver:i}=n(e);return Gt(i.hasItem,r,t)},getItem(e,t={}){e=en(e);let{relativeKey:r,driver:i}=n(e);return Gt(i.getItem,r,t).then(e=>Ut(e))},getItems(e,t={}){return s(e,t,e=>e.driver.getItems?Gt(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:tn(e.base,t.key),value:Ut(t.value)}))):Promise.all(e.items.map(t=>Gt(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:Ut(e)})))))},getItemRaw(e,t={}){e=en(e);let{relativeKey:r,driver:i}=n(e);return i.getItemRaw?Gt(i.getItemRaw,r,t):Gt(i.getItem,r,t).then(e=>Zt(e))},async setItem(e,t,r={}){if(t===void 0)return c.removeItem(e);e=en(e);let{relativeKey:a,driver:o}=n(e);o.setItem&&(await Gt(o.setItem,a,Jt(t),r),o.watch||i(`update`,e))},async setItems(e,t){await s(e,t,async e=>{if(e.driver.setItems)return Gt(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:Jt(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>Gt(e.driver.setItem,t.relativeKey,Jt(t.value),t.options)))})},async setItemRaw(e,t,r={}){if(t===void 0)return c.removeItem(e,r);e=en(e);let{relativeKey:a,driver:o}=n(e);if(o.setItemRaw)await Gt(o.setItemRaw,a,t,r);else if(o.setItem)await Gt(o.setItem,a,Xt(t),r);else return;o.watch||i(`update`,e)},async removeItem(e,t={}){typeof t==`boolean`&&(t={removeMeta:t}),e=en(e);let{relativeKey:r,driver:a}=n(e);a.removeItem&&(await Gt(a.removeItem,r,t),(t.removeMeta||t.removeMata)&&await Gt(a.removeItem,r+`$`,t),a.watch||i(`remove`,e))},async getMeta(e,t={}){typeof t==`boolean`&&(t={nativeOnly:t}),e=en(e);let{relativeKey:r,driver:i}=n(e),a=Object.create(null);if(i.getMeta&&Object.assign(a,await Gt(i.getMeta,r,t)),!t.nativeOnly){let e=await Gt(i.getItem,r+`$`,t).then(e=>Ut(e));e&&typeof e==`object`&&(typeof e.atime==`string`&&(e.atime=new Date(e.atime)),typeof e.mtime==`string`&&(e.mtime=new Date(e.mtime)),Object.assign(a,e))}return a},setMeta(e,t,n={}){return this.setItem(e+`$`,t,n)},removeMeta(e,t={}){return this.removeItem(e+`$`,t)},async getKeys(e,t={}){e=nn(e);let n=r(e,!0),i=[],a=[],o=!0;for(let e of n){e.driver.flags?.maxDepth||(o=!1);let n=await Gt(e.driver.getKeys,e.relativeBase,t);for(let t of n){let n=e.mountpoint+en(t);i.some(e=>n.startsWith(e))||a.push(n)}i=[e.mountpoint,...i.filter(t=>!t.startsWith(e.mountpoint))]}let s=t.maxDepth!==void 0&&!o;return a.filter(n=>(!s||rn(n,t.maxDepth))&&an(n,e))},async clear(e,t={}){e=nn(e),await Promise.all(r(e,!1).map(async e=>{if(e.driver.clear)return Gt(e.driver.clear,e.relativeBase,t);if(e.driver.removeItem){let n=await e.driver.getKeys(e.relativeBase||``,t);return Promise.all(n.map(n=>e.driver.removeItem(n,t)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>dn(e)))},async watch(e){return await a(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,n){if(e=nn(e),e&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>t.length-e.length)),t.mounts[e]=n,t.watching&&Promise.resolve(un(n,i,e)).then(n=>{t.unwatch[e]=n}).catch(console.error),c},async unmount(e,n=!0){e=nn(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e]?.(),delete t.unwatch[e]),n&&await dn(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=``){e=en(e)+`:`;let t=n(e);return{driver:t.driver,base:t.base}},getMounts(e=``,t={}){return e=en(e),r(e,t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))},keys:(e,t={})=>c.getKeys(e,t),get:(e,t={})=>c.getItem(e,t),set:(e,t,n={})=>c.setItem(e,t,n),has:(e,t={})=>c.hasItem(e,t),del:(e,t={})=>c.removeItem(e,t),remove:(e,t={})=>c.removeItem(e,t)};return c}function un(e,t,n){return e.watch?e.watch((e,r)=>t(e,n+r)):()=>{}}async function dn(e){typeof e.dispose==`function`&&await Gt(e.dispose)}function fn(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function pn(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=fn(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var mn;function hn(){return mn||=pn(`keyval-store`,`keyval`),mn}function gn(e,t=hn()){return t(`readonly`,t=>fn(t.get(e)))}function _n(e,t,n=hn()){return n(`readwrite`,n=>(n.put(t,e),fn(n.transaction)))}function vn(e,t=hn()){return t(`readwrite`,t=>(t.delete(e),fn(t.transaction)))}function yn(e=hn()){return e(`readwrite`,e=>(e.clear(),fn(e.transaction)))}function bn(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},fn(e.transaction)}function xn(e=hn()){return e(`readonly`,e=>{if(e.getAllKeys)return fn(e.getAllKeys());let t=[];return bn(e,e=>t.push(e.key)).then(()=>t)})}var Sn=`idb-keyval`,Cn=(e={})=>{let t=e.base&&e.base.length>0?`${e.base}:`:``,n=e=>t+e,r;return e.dbName&&e.storeName&&(r=pn(e.dbName,e.storeName)),{name:Sn,options:e,async hasItem(e){return!(typeof await gn(n(e),r)>`u`)},async getItem(e){return await gn(n(e),r)??null},setItem(e,t){return _n(n(e),t,r)},removeItem(e){return vn(n(e),r)},getKeys(){return xn(r)},clear(){return yn(r)}}},wn=`WALLET_CONNECT_V2_INDEXED_DB`,Tn=`keyvaluestorage`,En=class{constructor(){this.indexedDb=ln({driver:Cn({dbName:wn,storeName:Tn})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,l(t))}async removeItem(e){await this.indexedDb.removeItem(e)}},Dn=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},On={exports:{}};(function(){let e;function t(){}e=t,e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e||=0,Object.keys(this)[e]},e.prototype.__defineGetter__(`length`,function(){return Object.keys(this).length}),typeof Dn<`u`&&Dn.localStorage?On.exports=Dn.localStorage:typeof window<`u`&&window.localStorage?On.exports=window.localStorage:On.exports=new t})();function kn(e){return[e[0],fe(e[1]??``)]}var An=class{constructor(){this.localStorage=On.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(kn)}async getItem(e){let t=this.localStorage.getItem(e);if(t!==null)return fe(t)}async setItem(e,t){this.localStorage.setItem(e,l(t))}async removeItem(e){this.localStorage.removeItem(e)}},jn=`wc_storage_version`,Mn=1,Nn=async(e,t,n)=>{let r=jn,i=await t.getItem(r);if(i&&i>=Mn){n(t);return}let a=await e.getKeys();if(!a.length){n(t);return}let o=[];for(;a.length;){let n=a.shift();if(!n)continue;let r=n.toLowerCase();if(r.includes(`wc@`)||r.includes(`walletconnect`)||r.includes(`wc_`)||r.includes(`wallet_connect`)){let r=await e.getItem(n);await t.setItem(n,r),o.push(n)}}await t.setItem(r,Mn),n(t),Pn(e,o)},Pn=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})},Fn=class{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new An;this.storage=e;try{Nn(e,new En,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}},In=Object.defineProperty,Ln=(e,t,n)=>t in e?In(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rn=(e,t,n)=>Ln(e,typeof t==`symbol`?t:t+``,n),zn=class extends Mt{constructor(e){super(),this.opts=e,Rn(this,`protocol`,`wc`),Rn(this,`version`,2)}},Bn=Object.defineProperty,Vn=(e,t,n)=>t in e?Bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hn=(e,t,n)=>Vn(e,typeof t==`symbol`?t:t+``,n),Un=class extends Mt{constructor(e,t){super(),this.core=e,this.logger=t,Hn(this,`records`,new Map)}},Wn=class{constructor(e,t){this.logger=e,this.core=t}},Gn=class extends Mt{constructor(e,t){super(),this.relayer=e,this.logger=t}},Kn=class extends Mt{constructor(e){super()}},qn=class{constructor(e,t,n,r){this.core=e,this.logger=t,this.name=n}},Jn=class extends Mt{constructor(e,t){super(),this.relayer=e,this.logger=t}},Yn=class extends Mt{constructor(e,t){super(),this.core=e,this.logger=t}},Xn=class{constructor(e,t,n){this.core=e,this.logger=t,this.store=n}},Zn=class{constructor(e,t){this.projectId=e,this.logger=t}},Qn=class{constructor(e,t,n){this.core=e,this.logger=t,this.telemetryEnabled=n}},$n=Object.defineProperty,er=(e,t,n)=>t in e?$n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tr=(e,t,n)=>er(e,typeof t==`symbol`?t:t+``,n),nr=class{constructor(e){this.opts=e,tr(this,`protocol`,`wc`),tr(this,`version`,2)}},rr=class{constructor(e){this.client=e}};function ir(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ar(e,...t){if(!ir(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function or(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function sr(e,t){ar(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}var cr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0,lr=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);function ur(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got `+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function dr(e){return typeof e==`string`&&(e=ur(e)),ar(e),e}var fr=class{clone(){return this._cloneInto()}};function pr(e){let t=t=>e().update(dr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function mr(e=32){if(cr&&typeof cr.getRandomValues==`function`)return cr.getRandomValues(new Uint8Array(e));if(cr&&typeof cr.randomBytes==`function`)return cr.randomBytes(e);throw Error(`crypto.getRandomValues must be defined`)}function hr(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}var gr=class extends fr{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=lr(this.buffer)}update(e){or(this);let{view:t,buffer:n,blockLen:r}=this;e=dr(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=lr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){or(this),sr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;hr(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=lr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.length=r,e.pos=o,e.finished=i,e.destroyed=a,r%t&&e.buffer.set(n),e}},_r=BigInt(2**32-1),vr=BigInt(32);function yr(e,t=!1){return t?{h:Number(e&_r),l:Number(e>>vr&_r)}:{h:Number(e>>vr&_r)|0,l:Number(e&_r)|0}}function br(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=yr(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var xr=(e,t)=>BigInt(e>>>0)<<vr|BigInt(t>>>0),Sr=(e,t,n)=>e>>>n,Cr=(e,t,n)=>e<<32-n|t>>>n,wr=(e,t,n)=>e>>>n|t<<32-n,Tr=(e,t,n)=>e<<32-n|t>>>n,Er=(e,t,n)=>e<<64-n|t>>>n-32,Dr=(e,t,n)=>e>>>n-32|t<<64-n,Or=(e,t)=>t,kr=(e,t)=>e,Ar=(e,t,n)=>e<<n|t>>>32-n,jr=(e,t,n)=>t<<n|e>>>32-n,Mr=(e,t,n)=>t<<n-32|e>>>64-n,Nr=(e,t,n)=>e<<n-32|t>>>64-n;function Pr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var K={fromBig:yr,split:br,toBig:xr,shrSH:Sr,shrSL:Cr,rotrSH:wr,rotrSL:Tr,rotrBH:Er,rotrBL:Dr,rotr32H:Or,rotr32L:kr,rotlSH:Ar,rotlSL:jr,rotlBH:Mr,rotlBL:Nr,add:Pr,add3L:(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),add3H:(e,t,n,r)=>t+n+r+(e/2**32|0)|0,add4L:(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),add4H:(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,add5H:(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,add5L:(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0)},[Fr,Ir]=K.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`.split(`.`).map(e=>BigInt(e))),Lr=new Uint32Array(80),Rr=new Uint32Array(80),zr=class extends gr{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(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Lr[n]=e.getUint32(t),Rr[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Lr[e-15]|0,n=Rr[e-15]|0,r=K.rotrSH(t,n,1)^K.rotrSH(t,n,8)^K.shrSH(t,n,7),i=K.rotrSL(t,n,1)^K.rotrSL(t,n,8)^K.shrSL(t,n,7),a=Lr[e-2]|0,o=Rr[e-2]|0,s=K.rotrSH(a,o,19)^K.rotrBH(a,o,61)^K.shrSH(a,o,6),c=K.rotrSL(a,o,19)^K.rotrBL(a,o,61)^K.shrSL(a,o,6),l=K.add4L(i,c,Rr[e-7],Rr[e-16]);Lr[e]=K.add4H(l,r,s,Lr[e-7],Lr[e-16])|0,Rr[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=K.rotrSH(u,d,14)^K.rotrSH(u,d,18)^K.rotrBH(u,d,41),v=K.rotrSL(u,d,14)^K.rotrSL(u,d,18)^K.rotrBL(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=K.add5L(_,v,b,Ir[e],Rr[e]),S=K.add5H(x,g,t,y,Fr[e],Lr[e]),C=x|0,w=K.rotrSH(n,r,28)^K.rotrBH(n,r,34)^K.rotrBH(n,r,39),T=K.rotrSL(n,r,28)^K.rotrBL(n,r,34)^K.rotrBL(n,r,39),E=n&i^n&o^i&o,D=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=K.add(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let O=K.add3L(C,T,D);n=K.add3H(O,S,w,E),r=O|0}({h:n,l:r}=K.add(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=K.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=K.add(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=K.add(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=K.add(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=K.add(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=K.add(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=K.add(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Lr.fill(0),Rr.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)}},Br=pr(()=>new zr),Vr=BigInt(0),Hr=BigInt(1),Ur=BigInt(2);function Wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Gr(e){if(!Wr(e))throw Error(`Uint8Array expected`)}function Kr(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}var qr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Jr(e){Gr(e);let t=``;for(let n=0;n<e.length;n++)t+=qr[e[n]];return t}function Yr(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Vr:BigInt(`0x`+e)}var Xr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Zr(e){if(e>=Xr._0&&e<=Xr._9)return e-Xr._0;if(e>=Xr.A&&e<=Xr.F)return e-(Xr.A-10);if(e>=Xr.a&&e<=Xr.f)return e-(Xr.a-10)}function Qr(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=Zr(e.charCodeAt(i)),a=Zr(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function $r(e){return Yr(Jr(e))}function ei(e){return Gr(e),Yr(Jr(Uint8Array.from(e).reverse()))}function ti(e,t){return Qr(e.toString(16).padStart(t*2,`0`))}function ni(e,t){return ti(e,t).reverse()}function ri(e,t,n){let r;if(typeof t==`string`)try{r=Qr(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Wr(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function ii(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Gr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}var ai=e=>typeof e==`bigint`&&Vr<=e;function oi(e,t,n){return ai(e)&&ai(t)&&ai(n)&&t<=e&&e<n}function si(e,t,n,r){if(!oi(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function ci(e){let t;for(t=0;e>Vr;e>>=Hr,t+=1);return t}var li=e=>(Ur<<BigInt(e-1))-Hr,ui={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||Wr(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function di(e,t,n={}){let r=(t,n,r)=>{let i=ui[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function fi(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var pi=BigInt(0),mi=BigInt(1),hi=BigInt(2),gi=BigInt(3),_i=BigInt(4),vi=BigInt(5),yi=BigInt(8);function bi(e,t){let n=e%t;return n>=pi?n:t+n}function xi(e,t,n){if(t<pi)throw Error(`invalid exponent, negatives unsupported`);if(n<=pi)throw Error(`invalid modulus`);if(n===mi)return pi;let r=mi;for(;t>pi;)t&mi&&(r=r*e%n),e=e*e%n,t>>=mi;return r}function Si(e,t,n){let r=e;for(;t-- >pi;)r*=r,r%=n;return r}function Ci(e,t){if(e===pi)throw Error(`invert: expected non-zero number`);if(t<=pi)throw Error(`invert: expected positive modulus, got `+t);let n=bi(e,t),r=t,i=pi,a=mi;for(;n!==pi;){let e=r/n,t=r%n,o=i-a*e;r=n,n=t,i=a,a=o}if(r!==mi)throw Error(`invert: does not exist`);return bi(i,t)}function wi(e){let t=(e-mi)/hi,n,r,i;for(n=e-mi,r=0;n%hi===pi;n/=hi,r++);for(i=hi;i<e&&xi(i,t,e)!==e-mi;i++)if(i>1e3)throw Error(`Cannot find square root: likely non-prime P`);if(r===1){let t=(e+mi)/_i;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}let a=(n+mi)/hi;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw Error(`Cannot find square root`);let s=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(o,a),u=e.pow(o,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<s&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(c,mi<<BigInt(s-t-1));c=e.sqr(n),l=e.mul(l,n),u=e.mul(u,c),s=t}return l}}function Ti(e){if(e%_i===gi){let t=(e+mi)/_i;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}if(e%yi===vi){let t=(e-vi)/yi;return function(e,n){let r=e.mul(n,hi),i=e.pow(r,t),a=e.mul(n,i),o=e.mul(e.mul(a,hi),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error(`Cannot find square root`);return s}}return wi(e)}var Ei=(e,t)=>(bi(e,t)&mi)===mi,Di=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Oi(e){return di(e,Di.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function ki(e,t,n){if(n<pi)throw Error(`invalid exponent, negatives unsupported`);if(n===pi)return e.ONE;if(n===mi)return t;let r=e.ONE,i=t;for(;n>pi;)n&mi&&(r=e.mul(r,i)),i=e.sqr(i),n>>=mi;return r}function Ai(e,t){let n=Array(t.length),r=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),i=e.inv(r);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),i),n}function ji(e,t){let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Mi(e,t,n=!1,r={}){if(e<=pi)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=ji(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:li(i),ZERO:pi,ONE:mi,create:t=>bi(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return pi<=t&&t<e},is0:e=>e===pi,isOdd:e=>(e&mi)===mi,neg:t=>bi(-t,e),eql:(e,t)=>e===t,sqr:t=>bi(t*t,e),add:(t,n)=>bi(t+n,e),sub:(t,n)=>bi(t-n,e),mul:(t,n)=>bi(t*n,e),pow:(e,t)=>ki(s,e,t),div:(t,n)=>bi(t*Ci(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Ci(t,e),sqrt:r.sqrt||(t=>(o||=Ti(e),o(s,t))),invertBatch:e=>Ai(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?ni(e,a):ti(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?ei(e):$r(e)}});return Object.freeze(s)}var Ni=BigInt(0),Pi=BigInt(1);function Fi(e,t){let n=t.negate();return e?n:t}function Ii(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Li(e,t){return Ii(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}function Ri(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function zi(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}var Bi=new WeakMap,Vi=new WeakMap;function Hi(e){return Vi.get(e)||1}function Ui(e,t){return{constTimeNegate:Fi,hasPrecomputes(e){return Hi(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Ni;)n&Pi&&(r=r.add(i)),i=i.double(),n>>=Pi;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Li(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let{windows:a,windowSize:o}=Li(n,t),s=e.ZERO,c=e.BASE,l=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let e=0;e<a;e++){let t=e*o,n=Number(i&l);i>>=d,n>o&&(n-=u,i+=Pi);let a=t,f=t+Math.abs(n)-1,p=e%2!=0,m=n<0;n===0?c=c.add(Fi(p,r[a])):s=s.add(Fi(m,r[f]))}return{p:s,f:c}},wNAFUnsafe(n,r,i,a=e.ZERO){let{windows:o,windowSize:s}=Li(n,t),c=BigInt(2**n-1),l=2**n,u=BigInt(n);for(let e=0;e<o;e++){let t=e*s;if(i===Ni)break;let n=Number(i&c);if(i>>=u,n>s&&(n-=l,i+=Pi),n===0)continue;let o=r[t+Math.abs(n)-1];n<0&&(o=o.negate()),a=a.add(o)}return a},getPrecomputes(e,t,n){let r=Bi.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Bi.set(t,n(r))),r},wNAFCached(e,t,n){let r=Hi(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Hi(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Ii(n,t),Vi.set(e,n),Bi.delete(e)}}}function Wi(e,t,n,r){if(Ri(n,e),zi(r,t),n.length!==r.length)throw Error(`arrays of points and scalars must have equal length`);let i=e.ZERO,a=ci(BigInt(n.length)),o=a>12?a-3:a>4?a-2:a?2:1,s=(1<<o)-1,c=Array(s+1).fill(i),l=Math.floor((t.BITS-1)/o)*o,u=i;for(let e=l;e>=0;e-=o){c.fill(i);for(let t=0;t<r.length;t++){let i=r[t],a=Number(i>>BigInt(e)&BigInt(s));c[a]=c[a].add(n[t])}let t=i;for(let e=c.length-1,n=i;e>0;e--)n=n.add(c[e]),t=t.add(n);if(u=u.add(t),e!==0)for(let e=0;e<o;e++)u=u.double()}return u}function Gi(e){return Oi(e.Fp),di(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...ji(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ki=BigInt(0),qi=BigInt(1),Ji=BigInt(2),Yi=BigInt(8),Xi={zip215:!0};function Zi(e){let t=Gi(e);return di(e,{hash:`function`,a:`bigint`,d:`bigint`,randomBytes:`function`},{adjustScalarBytes:`function`,domain:`function`,uvRatio:`function`,mapToCurve:`function`}),Object.freeze({...t})}function Qi(e){let t=Zi(e),{Fp:n,n:r,prehash:i,hash:a,randomBytes:o,nByteLength:s,h:c}=t,l=Ji<<BigInt(s*8)-qi,u=n.create,d=Mi(t.n,t.nBitLength),f=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e*n.inv(t))}}catch{return{isValid:!1,value:Ki}}}),p=t.adjustScalarBytes||(e=>e),m=t.domain||((e,t,n)=>{if(Kr(`phflag`,n),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e});function h(e,t){si(`coordinate `+e,t,Ki,l)}function g(e){if(!(e instanceof y))throw Error(`ExtendedPoint expected`)}let _=fi((e,t)=>{let{ex:r,ey:i,ez:a}=e,o=e.is0();t??=o?Yi:n.inv(a);let s=u(r*t),c=u(i*t),l=u(a*t);if(o)return{x:Ki,y:qi};if(l!==qi)throw Error(`invZ was invalid`);return{x:s,y:c}}),v=fi(e=>{let{a:n,d:r}=t;if(e.is0())throw Error(`bad point: ZERO`);let{ex:i,ey:a,ez:o,et:s}=e,c=u(i*i),l=u(a*a),d=u(o*o),f=u(d*d);if(u(d*u(u(c*n)+l))!==u(f+u(r*u(c*l))))throw Error(`bad point: equation left != right (1)`);if(u(i*a)!==u(o*s))throw Error(`bad point: equation left != right (2)`);return!0});class y{constructor(e,t,n,r){this.ex=e,this.ey=t,this.ez=n,this.et=r,h(`x`,e),h(`y`,t),h(`z`,n),h(`t`,r),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof y)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return h(`x`,t),h(`y`,n),new y(t,n,qi,u(t*n))}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.ez));return e.map((e,n)=>e.toAffine(t[n])).map(y.fromAffine)}static msm(e,t){return Wi(y,d,e,t)}_setWindowSize(e){S.setWindowSize(this,e)}assertValidity(){v(this)}equals(e){g(e);let{ex:t,ey:n,ez:r}=this,{ex:i,ey:a,ez:o}=e,s=u(t*o),c=u(i*r),l=u(n*o),d=u(a*r);return s===c&&l===d}is0(){return this.equals(y.ZERO)}negate(){return new y(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=t,{ex:n,ey:r,ez:i}=this,a=u(n*n),o=u(r*r),s=u(Ji*u(i*i)),c=u(e*a),l=n+r,d=u(u(l*l)-a-o),f=c+o,p=f-s,m=c-o,h=u(d*p),g=u(f*m),_=u(d*m);return new y(h,g,u(p*f),_)}add(e){g(e);let{a:n,d:r}=t,{ex:i,ey:a,ez:o,et:s}=this,{ex:c,ey:l,ez:d,et:f}=e;if(n===BigInt(-1)){let e=u((a-i)*(l+c)),t=u((a+i)*(l-c)),n=u(t-e);if(n===Ki)return this.double();let r=u(o*Ji*f),p=u(s*Ji*d),m=p+r,h=t+e,g=p-r,_=u(m*n),v=u(h*g),b=u(m*g);return new y(_,v,u(n*h),b)}let p=u(i*c),m=u(a*l),h=u(s*r*f),_=u(o*d),v=u((i+a)*(c+l)-p-m),b=_-h,x=_+h,S=u(m-n*p),C=u(v*b),w=u(x*S),T=u(v*S);return new y(C,w,u(b*x),T)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,e,y.normalizeZ)}multiply(e){let t=e;si(`scalar`,t,qi,r);let{p:n,f:i}=this.wNAF(t);return y.normalizeZ([n,i])[0]}multiplyUnsafe(e,t=y.ZERO){let n=e;return si(`scalar`,n,Ki,r),n===Ki?x:this.is0()||n===qi?this:S.wNAFCachedUnsafe(this,n,y.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,r).is0()}toAffine(e){return _(this,e)}clearCofactor(){let{h:e}=t;return e===qi?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){let{d:i,a}=t,o=n.BYTES;e=ri(`pointHex`,e,o),Kr(`zip215`,r);let s=e.slice(),c=e[o-1];s[o-1]=c&-129;let d=ei(s);si(`pointHex.y`,d,Ki,r?l:n.ORDER);let p=u(d*d),{isValid:m,value:h}=f(u(p-qi),u(i*p-a));if(!m)throw Error(`Point.fromHex: invalid y coordinate`);let g=(h&qi)===qi,_=(c&128)!=0;if(!r&&h===Ki&&_)throw Error(`Point.fromHex: x=0 and x_0=1`);return _!==g&&(h=u(-h)),y.fromAffine({x:h,y:d})}static fromPrivateKey(e){return T(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=ni(t,n.BYTES);return r[r.length-1]|=e&qi?128:0,r}toHex(){return Jr(this.toRawBytes())}}y.BASE=new y(t.Gx,t.Gy,qi,u(t.Gx*t.Gy)),y.ZERO=new y(Ki,qi,qi,Ki);let{BASE:b,ZERO:x}=y,S=Ui(y,s*8);function C(e){return bi(e,r)}function w(e){return C(ei(e))}function T(e){let t=n.BYTES;e=ri(`private key`,e,t);let r=ri(`hashed private key`,a(e),2*t),i=p(r.slice(0,t)),o=r.slice(t,2*t),s=w(i),c=b.multiply(s);return{head:i,prefix:o,scalar:s,point:c,pointBytes:c.toRawBytes()}}function E(e){return T(e).pointBytes}function D(e=new Uint8Array,...t){return w(a(m(ii(...t),ri(`context`,e),!!i)))}function O(e,t,a={}){e=ri(`message`,e),i&&(e=i(e));let{prefix:o,scalar:s,pointBytes:c}=T(t),l=D(a.context,o,e),u=b.multiply(l).toRawBytes(),d=C(l+D(a.context,u,c,e)*s);return si(`signature.s`,d,Ki,r),ri(`result`,ii(u,ni(d,n.BYTES)),n.BYTES*2)}let k=Xi;function A(e,t,r,a=k){let{context:o,zip215:s}=a,c=n.BYTES;e=ri(`signature`,e,2*c),t=ri(`message`,t),r=ri(`publicKey`,r,c),s!==void 0&&Kr(`zip215`,s),i&&(t=i(t));let l=ei(e.slice(c,2*c)),u,d,f;try{u=y.fromHex(r,s),d=y.fromHex(e.slice(0,c),s),f=b.multiplyUnsafe(l)}catch{return!1}if(!s&&u.isSmallOrder())return!1;let p=D(o,d.toRawBytes(),u.toRawBytes(),t);return d.add(u.multiplyUnsafe(p)).subtract(f).clearCofactor().equals(y.ZERO)}return b._setWindowSize(8),{CURVE:t,getPublicKey:E,sign:O,verify:A,ExtendedPoint:y,utils:{getExtendedPublicKey:T,randomPrivateKey:()=>o(n.BYTES),precompute(e=8,t=y.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}}}}var $i=BigInt(`57896044618658097711785492504343953926634992332820282019728792003956564819949`),ea=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`),ta=BigInt(1),na=BigInt(2),ra=BigInt(5),ia=BigInt(8);function aa(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=$i,o=e*e%a*e%a,s=Si(Si(o,na,a)*o%a,ta,a)*e%a,c=Si(s,ra,a)*s%a,l=Si(c,t,a)*c%a,u=Si(l,n,a)*l%a,d=Si(u,r,a)*u%a;return{pow_p_5_8:Si(Si(Si(Si(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,na,a)*e%a,b2:o}}function oa(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function sa(e,t){let n=$i,r=bi(t*t*t,n),i=aa(e*bi(r*r*t,n)).pow_p_5_8,a=bi(e*r*i,n),o=bi(t*a*a,n),s=a,c=bi(a*ea,n),l=o===e,u=o===bi(-e,n),d=o===bi(-e*ea,n);return l&&(a=s),(u||d)&&(a=c),Ei(a,n)&&(a=bi(-a,n)),{isValid:l||u,value:a}}var ca=Mi($i,void 0,!0),la=Qi({a:BigInt(-1),d:BigInt(`37095705934669439343138083508754565189542113879843219016388785533085940283555`),Fp:ca,n:BigInt(`7237005577332262213973186563042994240857116359379907606001950938285454250989`),h:ia,Gx:BigInt(`15112221349535400772501151409588531511454012693041857206046113283949847762202`),Gy:BigInt(`46316835694926478169428394003475163141307993866256225615783033603165251855960`),hash:Br,randomBytes:mr,adjustScalarBytes:oa,uvRatio:sa}),ua=`EdDSA`,da=`base64url`,fa=`utf8`,pa=`utf8`,ma=`base58btc`;function ha(e){return globalThis.Buffer==null?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ga(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ha(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function _a(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=ga(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return ha(n)}function va(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var ya=va,ba=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},xa=e=>new TextEncoder().encode(e),Sa=e=>new TextDecoder().decode(e),Ca=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},wa=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e==`string`){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(`Can only multibase decode strings`)}or(e){return Ea(this,e)}},Ta=class{constructor(e){this.decoders=e}or(e){return Ea(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ea=(e,t)=>new Ta({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Da=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new Ca(e,t,n),this.decoder=new wa(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Oa=({name:e,prefix:t,encode:n,decode:r})=>new Da(e,t,n,r),ka=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=ya(n,t);return Oa({prefix:e,name:t,encode:r,decode:e=>ba(i(e))})},Aa=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},ja=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},Ma=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Oa({prefix:t,name:e,encode(e){return ja(e,r,n)},decode(t){return Aa(t,r,n,e)}}),Na=Oa({prefix:`\0`,name:`identity`,encode:e=>Sa(e),decode:e=>xa(e)}),Pa=Object.freeze({__proto__:null,identity:Na}),Fa=Ma({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),Ia=Object.freeze({__proto__:null,base2:Fa}),La=Ma({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),Ra=Object.freeze({__proto__:null,base8:La}),za=ka({prefix:`9`,name:`base10`,alphabet:`0123456789`}),Ba=Object.freeze({__proto__:null,base10:za}),Va=Ma({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Ha=Ma({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Ua=Object.freeze({__proto__:null,base16:Va,base16upper:Ha}),Wa=Ma({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),Ga=Ma({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),Ka=Ma({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),qa=Ma({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),Ja=Ma({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),Ya=Ma({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),Xa=Ma({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),Za=Ma({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),Qa=Ma({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),$a=Object.freeze({__proto__:null,base32:Wa,base32upper:Ga,base32pad:Ka,base32padupper:qa,base32hex:Ja,base32hexupper:Ya,base32hexpad:Xa,base32hexpadupper:Za,base32z:Qa}),eo=ka({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),to=ka({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),no=Object.freeze({__proto__:null,base36:eo,base36upper:to}),ro=ka({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),io=ka({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),ao=Object.freeze({__proto__:null,base58btc:ro,base58flickr:io}),oo=Ma({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),so=Ma({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),co=Ma({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),lo=Ma({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),uo=Object.freeze({__proto__:null,base64:oo,base64pad:so,base64url:co,base64urlpad:lo}),fo=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),po=fo.reduce((e,t,n)=>(e[n]=t,e),[]),mo=fo.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function ho(e){return e.reduce((e,t)=>(e+=po[t],e),``)}function go(e){let t=[];for(let n of e){let e=mo[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var _o=Oa({prefix:`🚀`,name:`base256emoji`,encode:ho,decode:go}),vo=Object.freeze({__proto__:null,base256emoji:_o}),yo=Co,bo=128,xo=-128,So=2**31;function Co(e,t,n){t||=[],n||=0;for(var r=n;e>=So;)t[n++]=e&255|bo,e/=128;for(;e&xo;)t[n++]=e&255|bo,e>>>=7;return t[n]=e|0,Co.bytes=n-r+1,t}var wo=Do,To=128,Eo=127;function Do(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw Do.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&Eo)<<r:(a&Eo)*2**r,r+=7}while(a>=To);return Do.bytes=i-t,n}var Oo=2**7,ko=2**14,Ao=2**21,jo=2**28,Mo=2**35,No=2**42,Po=2**49,Fo=2**56,Io=2**63,Lo={encode:yo,decode:wo,encodingLength:function(e){return e<Oo?1:e<ko?2:e<Ao?3:e<jo?4:e<Mo?5:e<No?6:e<Po?7:e<Fo?8:e<Io?9:10}},Ro=(e,t,n=0)=>(Lo.encode(e,t,n),t),zo=e=>Lo.encodingLength(e),Bo=(e,t)=>{let n=t.byteLength,r=zo(e),i=r+zo(n),a=new Uint8Array(i+n);return Ro(e,a,0),Ro(n,a,r),a.set(t,i),new Vo(e,n,t,a)},Vo=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},Ho=({name:e,code:t,encode:n})=>new Uo(e,t,n),Uo=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Bo(this.code,t):t.then(e=>Bo(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},Wo=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Go=Ho({name:`sha2-256`,code:18,encode:Wo(`SHA-256`)}),Ko=Ho({name:`sha2-512`,code:19,encode:Wo(`SHA-512`)}),qo=Object.freeze({__proto__:null,sha256:Go,sha512:Ko}),Jo=0,Yo=`identity`,Xo=ba,Zo=Object.freeze({__proto__:null,identity:{code:Jo,name:Yo,encode:Xo,digest:e=>Bo(Jo,Xo(e))}});new TextEncoder,new TextDecoder;var Qo={...Pa,...Ia,...Ra,...Ba,...Ua,...$a,...no,...ao,...uo,...vo};({...qo,...Zo});function $o(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var es=$o(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),ts=$o(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=ga(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),ns={utf8:es,"utf-8":es,hex:Qo.base16,latin1:ts,ascii:ts,binary:ts,...Qo};function rs(e,t=`utf8`){let n=ns[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf8`):n.encoder.encode(e).substring(1)}function is(e,t=`utf8`){let n=ns[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ha(globalThis.Buffer.from(e,`utf-8`)):n.decoder.decode(`${n.prefix}${e}`)}function as(e){return fe(rs(is(e,da),fa))}function os(e){return rs(is(l(e),fa),da)}function ss(e){return[`did`,`key`,`z`+rs(_a([is(`K36`,ma),e]),ma)].join(`:`)}function cs(e){return rs(e,da)}function ls(e){return is(e,da)}function us(e){return is([os(e.header),os(e.payload)].join(`.`),pa)}function ds(e){return[os(e.header),os(e.payload),cs(e.signature)].join(`.`)}function fs(e){let t=e.split(`.`);return{header:as(t[0]),payload:as(t[1]),signature:ls(t[2]),data:is(t.slice(0,2).join(`.`),pa)}}function ps(e=mr(32)){let t=la.getPublicKey(e);return{secretKey:_a([e,t]),publicKey:t}}async function ms(e,t,n,r,i=(0,G.fromMiliseconds)(Date.now())){let a={alg:ua,typ:`JWT`},o={iss:ss(r.publicKey),sub:e,aud:t,iat:i,exp:i+n},s=us({header:a,payload:o});return ds({header:a,payload:o,signature:la.sign(s,r.secretKey.slice(0,32))})}var hs=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},gs=function(){function e(e,t,n){this.name=e,this.version=t,this.os=n,this.type=`browser`}return e}(),_s=function(){function e(e){this.version=e,this.type=`node`,this.name=`node`,this.os=process.platform}return e}(),vs=function(){function e(e,t,n,r){this.name=e,this.version=t,this.os=n,this.bot=r,this.type=`bot-device`}return e}(),ys=function(){function e(){this.type=`bot`,this.bot=!0,this.name=`bot`,this.version=null,this.os=null}return e}(),bs=function(){function e(){this.type=`react-native`,this.name=`react-native`,this.version=null,this.os=null}return e}(),xs=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Ss=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Cs=3,ws=[[`aol`,/AOLShield\/([0-9\._]+)/],[`edge`,/Edge\/([0-9\._]+)/],[`edge-ios`,/EdgiOS\/([0-9\._]+)/],[`yandexbrowser`,/YaBrowser\/([0-9\._]+)/],[`kakaotalk`,/KAKAOTALK\s([0-9\.]+)/],[`samsung`,/SamsungBrowser\/([0-9\.]+)/],[`silk`,/\bSilk\/([0-9._-]+)\b/],[`miui`,/MiuiBrowser\/([0-9\.]+)$/],[`beaker`,/BeakerBrowser\/([0-9\.]+)/],[`edge-chromium`,/EdgA?\/([0-9\.]+)/],[`chromium-webview`,/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],[`chrome`,/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],[`phantomjs`,/PhantomJS\/([0-9\.]+)(:?\s|$)/],[`crios`,/CriOS\/([0-9\.]+)(:?\s|$)/],[`firefox`,/Firefox\/([0-9\.]+)(?:\s|$)/],[`fxios`,/FxiOS\/([0-9\.]+)/],[`opera-mini`,/Opera Mini.*Version\/([0-9\.]+)/],[`opera`,/Opera\/([0-9\.]+)(?:\s|$)/],[`opera`,/OPR\/([0-9\.]+)(:?\s|$)/],[`pie`,/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],[`pie`,/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],[`netfront`,/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],[`ie`,/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],[`ie`,/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],[`ie`,/MSIE\s(7\.0)/],[`bb10`,/BB10;\sTouch.*Version\/([0-9\.]+)/],[`android`,/Android\s([0-9\.]+)/],[`ios`,/Version\/([0-9\._]+).*Mobile.*Safari.*/],[`safari`,/Version\/([0-9\._]+).*Safari/],[`facebook`,/FB[AS]V\/([0-9\.]+)/],[`instagram`,/Instagram\s([0-9\.]+)/],[`ios-webview`,/AppleWebKit\/([0-9\.]+).*Mobile/],[`ios-webview`,/AppleWebKit\/([0-9\.]+).*Gecko\)$/],[`curl`,/^curl\/([0-9\.]+)$/],[`searchbot`,xs]],Ts=[[`iOS`,/iP(hone|od|ad)/],[`Android OS`,/Android/],[`BlackBerry OS`,/BlackBerry|BB10/],[`Windows Mobile`,/IEMobile/],[`Amazon OS`,/Kindle/],[`Windows 3.11`,/Win16/],[`Windows 95`,/(Windows 95)|(Win95)|(Windows_95)/],[`Windows 98`,/(Windows 98)|(Win98)/],[`Windows 2000`,/(Windows NT 5.0)|(Windows 2000)/],[`Windows XP`,/(Windows NT 5.1)|(Windows XP)/],[`Windows Server 2003`,/(Windows NT 5.2)/],[`Windows Vista`,/(Windows NT 6.0)/],[`Windows 7`,/(Windows NT 6.1)/],[`Windows 8`,/(Windows NT 6.2)/],[`Windows 8.1`,/(Windows NT 6.3)/],[`Windows 10`,/(Windows NT 10.0)/],[`Windows ME`,/Windows ME/],[`Windows CE`,/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],[`Open BSD`,/OpenBSD/],[`Sun OS`,/SunOS/],[`Chrome OS`,/CrOS/],[`Linux`,/(Linux)|(X11)/],[`Mac OS`,/(Mac_PowerPC)|(Macintosh)/],[`QNX`,/QNX/],[`BeOS`,/BeOS/],[`OS/2`,/OS\/2/]];function Es(e){return e?Os(e):typeof document>`u`&&typeof navigator<`u`&&navigator.product===`ReactNative`?new bs:typeof navigator<`u`?Os(navigator.userAgent):As()}function Ds(e){return e!==``&&ws.reduce(function(t,n){var r=n[0],i=n[1];if(t)return t;var a=i.exec(e);return!!a&&[r,a]},!1)}function Os(e){var t=Ds(e);if(!t)return null;var n=t[0],r=t[1];if(n===`searchbot`)return new ys;var i=r[1]&&r[1].split(`.`).join(`_`).split(`_`).slice(0,3);i?i.length<Cs&&(i=hs(hs([],i,!0),js(Cs-i.length),!0)):i=[];var a=i.join(`.`),o=ks(e),s=Ss.exec(e);return s&&s[1]?new vs(n,a,o,s[1]):new gs(n,a,o)}function ks(e){for(var t=0,n=Ts.length;t<n;t++){var r=Ts[t],i=r[0];if(r[1].exec(e))return i}return null}function As(){return typeof process<`u`&&process.version?new _s(process.version.slice(1)):null}function js(e){for(var t=[],n=0;n<e;n++)t.push(`0`);return t}var Ms=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getLocalStorage=e.getLocalStorageOrThrow=e.getCrypto=e.getCryptoOrThrow=e.getLocation=e.getLocationOrThrow=e.getNavigator=e.getNavigatorOrThrow=e.getDocument=e.getDocumentOrThrow=e.getFromWindowOrThrow=e.getFromWindow=void 0;function t(e){let t;return typeof window<`u`&&window[e]!==void 0&&(t=window[e]),t}e.getFromWindow=t;function n(e){let n=t(e);if(!n)throw Error(`${e} is not defined in Window`);return n}e.getFromWindowOrThrow=n;function r(){return n(`document`)}e.getDocumentOrThrow=r;function i(){return t(`document`)}e.getDocument=i;function a(){return n(`navigator`)}e.getNavigatorOrThrow=a;function o(){return t(`navigator`)}e.getNavigator=o;function s(){return n(`location`)}e.getLocationOrThrow=s;function c(){return t(`location`)}e.getLocation=c;function l(){return n(`crypto`)}e.getCryptoOrThrow=l;function u(){return t(`crypto`)}e.getCrypto=u;function d(){return n(`localStorage`)}e.getLocalStorageOrThrow=d;function f(){return t(`localStorage`)}e.getLocalStorage=f})),Ns=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getWindowMetadata=void 0;var t=Ms();function n(){let e,n;try{e=t.getDocumentOrThrow(),n=t.getLocationOrThrow()}catch{return null}function r(){let t=e.getElementsByTagName(`link`),r=[];for(let e=0;e<t.length;e++){let i=t[e],a=i.getAttribute(`rel`);if(a&&a.toLowerCase().indexOf(`icon`)>-1){let e=i.getAttribute(`href`);if(e)if(e.toLowerCase().indexOf(`https:`)===-1&&e.toLowerCase().indexOf(`http:`)===-1&&e.indexOf(`//`)!==0){let t=n.protocol+`//`+n.host;if(e.indexOf(`/`)===0)t+=e;else{let r=n.pathname.split(`/`);r.pop();let i=r.join(`/`);t+=i+`/`+e}r.push(t)}else if(e.indexOf(`//`)===0){let t=n.protocol+e;r.push(t)}else r.push(e)}}return r}function i(...t){let n=e.getElementsByTagName(`meta`);for(let e=0;e<n.length;e++){let r=n[e],i=[`itemprop`,`property`,`name`].map(e=>r.getAttribute(e)).filter(e=>e?t.includes(e):!1);if(i.length&&i){let e=r.getAttribute(`content`);if(e)return e}}return``}function a(){let t=i(`name`,`og:site_name`,`og:title`,`twitter:title`);return t||=e.title,t}function o(){return i(`description`,`og:description`,`twitter:description`,`keywords`)}let s=a();return{description:o(),url:n.origin,icons:r(),name:s}}e.getWindowMetadata=n})),Ps=Ms(),Fs=Ns();function Is(e){if(e.length>=255)throw TypeError(`Alphabet too long`);let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let n=0;n<e.length;n++){let r=e.charAt(n),i=r.charCodeAt(0);if(t[i]!==255)throw TypeError(r+` is ambiguous`);t[i]=n}let n=e.length,r=e.charAt(0),i=Math.log(n)/Math.log(256),a=Math.log(256)/Math.log(n);function o(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;let i=0,o=0,s=0,c=t.length;for(;s!==c&&t[s]===0;)s++,i++;let l=(c-s)*a+1>>>0,u=new Uint8Array(l);for(;s!==c;){let e=t[s],r=0;for(let t=l-1;(e!==0||r<o)&&t!==-1;t--,r++)e+=256*u[t]>>>0,u[t]=e%n>>>0,e=e/n>>>0;if(e!==0)throw Error(`Non-zero carry`);o=r,s++}let d=l-o;for(;d!==l&&u[d]===0;)d++;let f=r.repeat(i);for(;d<l;++d)f+=e.charAt(u[d]);return f}function s(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;let a=0,o=0,s=0;for(;e[a]===r;)o++,a++;let c=(e.length-a)*i+1>>>0,l=new Uint8Array(c);for(;a<e.length;){let r=e.charCodeAt(a);if(r>255)return;let i=t[r];if(i===255)return;let o=0;for(let e=c-1;(i!==0||o<s)&&e!==-1;e--,o++)i+=n*l[e]>>>0,l[e]=i%256>>>0,i=i/256>>>0;if(i!==0)throw Error(`Non-zero carry`);s=o,a++}let u=c-s;for(;u!==c&&l[u]===0;)u++;let d=new Uint8Array(o+(c-u)),f=o;for(;u!==c;)d[f++]=l[u++];return d}function c(e){let t=s(e);if(t)return t;throw Error(`Non-base`+n+` character`)}return{encode:o,decodeUnsafe:s,decode:c}}var Ls=Is(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`);function Rs(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function zs(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=Rs(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Bs(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var Vs=Bs,Hs=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},Us=e=>new TextEncoder().encode(e),Ws=e=>new TextDecoder().decode(e),Gs=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},Ks=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e==`string`){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(`Can only multibase decode strings`)}or(e){return Js(this,e)}},qs=class{constructor(e){this.decoders=e}or(e){return Js(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Js=(e,t)=>new qs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ys=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new Gs(e,t,n),this.decoder=new Ks(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Xs=({name:e,prefix:t,encode:n,decode:r})=>new Ys(e,t,n,r),Zs=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=Vs(n,t);return Xs({prefix:e,name:t,encode:r,decode:e=>Hs(i(e))})},Qs=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},$s=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},ec=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Xs({prefix:t,name:e,encode(e){return $s(e,r,n)},decode(t){return Qs(t,r,n,e)}}),tc=r({identity:()=>nc}),nc=Xs({prefix:`\0`,name:`identity`,encode:e=>Ws(e),decode:e=>Us(e)}),rc=r({base2:()=>ic}),ic=ec({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),ac=r({base8:()=>oc}),oc=ec({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),sc=r({base10:()=>cc}),cc=Zs({prefix:`9`,name:`base10`,alphabet:`0123456789`}),lc=r({base16:()=>uc,base16upper:()=>dc}),uc=ec({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),dc=ec({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),fc=r({base32:()=>pc,base32hex:()=>_c,base32hexpad:()=>yc,base32hexpadupper:()=>bc,base32hexupper:()=>vc,base32pad:()=>hc,base32padupper:()=>gc,base32upper:()=>mc,base32z:()=>xc}),pc=ec({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),mc=ec({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),hc=ec({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),gc=ec({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),_c=ec({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),vc=ec({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),yc=ec({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),bc=ec({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),xc=ec({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),Sc=r({base36:()=>Cc,base36upper:()=>wc}),Cc=Zs({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),wc=Zs({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),Tc=r({base58btc:()=>Ec,base58flickr:()=>Dc}),Ec=Zs({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),Dc=Zs({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),Oc=r({base64:()=>kc,base64pad:()=>Ac,base64url:()=>jc,base64urlpad:()=>Mc}),kc=ec({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),Ac=ec({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),jc=ec({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),Mc=ec({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),Nc=r({base256emoji:()=>zc}),Pc=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),Fc=Pc.reduce((e,t,n)=>(e[n]=t,e),[]),Ic=Pc.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function Lc(e){return e.reduce((e,t)=>(e+=Fc[t],e),``)}function Rc(e){let t=[];for(let n of e){let e=Ic[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var zc=Xs({prefix:`🚀`,name:`base256emoji`,encode:Lc,decode:Rc}),Bc=Wc,Vc=128,Hc=-128,Uc=2**31;function Wc(e,t,n){t||=[],n||=0;for(var r=n;e>=Uc;)t[n++]=e&255|Vc,e/=128;for(;e&Hc;)t[n++]=e&255|Vc,e>>>=7;return t[n]=e|0,Wc.bytes=n-r+1,t}var Gc=Jc,Kc=128,qc=127;function Jc(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw Jc.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&qc)<<r:(a&qc)*2**r,r+=7}while(a>=Kc);return Jc.bytes=i-t,n}var Yc=2**7,Xc=2**14,Zc=2**21,Qc=2**28,$c=2**35,el=2**42,tl=2**49,nl=2**56,rl=2**63,il={encode:Bc,decode:Gc,encodingLength:function(e){return e<Yc?1:e<Xc?2:e<Zc?3:e<Qc?4:e<$c?5:e<el?6:e<tl?7:e<nl?8:e<rl?9:10}},al=(e,t,n=0)=>(il.encode(e,t,n),t),ol=e=>il.encodingLength(e),sl=(e,t)=>{let n=t.byteLength,r=ol(e),i=r+ol(n),a=new Uint8Array(i+n);return al(e,a,0),al(n,a,r),a.set(t,i),new cl(e,n,t,a)},cl=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},ll=({name:e,code:t,encode:n})=>new ul(e,t,n),ul=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?sl(this.code,t):t.then(e=>sl(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},dl=r({sha256:()=>pl,sha512:()=>ml}),fl=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),pl=ll({name:`sha2-256`,code:18,encode:fl(`SHA-256`)}),ml=ll({name:`sha2-512`,code:19,encode:fl(`SHA-512`)}),hl=r({identity:()=>yl}),gl=0,_l=`identity`,vl=Hs,yl={code:gl,name:_l,encode:vl,digest:e=>sl(gl,vl(e))};new TextEncoder,new TextDecoder;var bl={...tc,...rc,...ac,...sc,...lc,...fc,...Sc,...Tc,...Oc,...Nc};({...dl,...hl});function xl(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var Sl=xl(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),Cl=xl(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=Rs(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),wl={utf8:Sl,"utf-8":Sl,hex:bl.base16,latin1:Cl,ascii:Cl,binary:Cl,...bl};function Tl(e,t=`utf8`){let n=wl[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}function El(e,t=`utf8`){let n=wl[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf8`):n.encoder.encode(e).substring(1)}var Dl=r({author:()=>Il,bugs:()=>Ll,default:()=>Vl,dependencies:()=>Bl,description:()=>Al,devDependencies:()=>zl,files:()=>Ml,homepage:()=>Rl,keywords:()=>Fl,license:()=>`MIT`,main:()=>jl,name:()=>Ol,repository:()=>Pl,scripts:()=>Nl,version:()=>kl}),Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl,Vl,Hl=t((()=>{Ol=`elliptic`,kl=`6.6.1`,Al=`EC cryptography`,jl=`lib/elliptic.js`,Ml=[`lib`],Nl={lint:`eslint lib test`,"lint:fix":`npm run lint -- --fix`,unit:`istanbul test _mocha --reporter=spec test/index.js`,test:`npm run lint && npm run unit`,version:`grunt dist && git add dist/`},Pl={type:`git`,url:`git@github.com:indutny/elliptic`},Fl=[`EC`,`Elliptic`,`curve`,`Cryptography`],Il=`Fedor Indutny <fedor@indutny.com>`,Ll={url:`https://github.com/indutny/elliptic/issues`},Rl=`https://github.com/indutny/elliptic`,zl={brfs:`^2.0.2`,coveralls:`^3.1.0`,eslint:`^7.6.0`,grunt:`^1.2.1`,"grunt-browserify":`^5.3.0`,"grunt-cli":`^1.3.2`,"grunt-contrib-connect":`^3.0.0`,"grunt-contrib-copy":`^1.0.0`,"grunt-contrib-uglify":`^5.0.0`,"grunt-mocha-istanbul":`^5.0.2`,"grunt-saucelabs":`^9.0.1`,istanbul:`^0.4.5`,mocha:`^8.0.1`},Bl={"bn.js":`^4.11.9`,brorand:`^1.1.0`,"hash.js":`^1.0.0`,"hmac-drbg":`^1.0.1`,inherits:`^2.0.4`,"minimalistic-assert":`^1.0.1`,"minimalistic-crypto-utils":`^1.0.1`},Vl={name:Ol,version:kl,description:Al,main:jl,files:Ml,scripts:Nl,repository:Pl,keywords:Fl,author:Il,license:`MIT`,bugs:Ll,homepage:Rl,devDependencies:zl,dependencies:Bl}})),Ul=i(((e,t)=>{(function(e,t){function n(e,t){if(!e)throw Error(t||`Assertion failed`)}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,e!==null&&((t===`le`||t===`be`)&&(n=t,t=10),this._init(e||0,t||10,n||`be`))}typeof e==`object`?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;var a;try{a=typeof window<`u`&&window.Buffer!==void 0?window.Buffer:o().Buffer}catch{}i.isBN=function(e){return e instanceof i?!0:typeof e==`object`&&!!e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if(typeof e==`number`)return this._initNumber(e,t,r);if(typeof e==`object`)return this._initArray(e,t,r);t===`hex`&&(t=16),n(t===(t|0)&&t>=2&&t<=36),e=e.toString().replace(/\s+/g,``);var i=0;e[0]===`-`&&(i++,this.negative=1),i<e.length&&(t===16?this._parseHex(e,i,r):(this._parseBase(e,t,i),r===`le`&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[e&67108863],this.length=1):e<4503599627370496?(this.words=[e&67108863,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[e&67108863,e/67108864&67108863,1],this.length=3),r===`le`&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n(typeof e.length==`number`),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(r===`be`)for(i=e.length-1,a=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,s+=24,s>=26&&(s-=26,a++);else if(r===`le`)for(i=0,a=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,s+=24,s>=26&&(s-=26,a++);return this.strip()};function s(e,t){var n=e.charCodeAt(t);return n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function c(e,t,n){var r=s(e,n);return n-1>=t&&(r|=s(e,n-1)<<4),r}i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i=0,a=0,o;if(n===`be`)for(r=e.length-1;r>=t;r-=2)o=c(e,t,r)<<i,this.words[a]|=o&67108863,i>=18?(i-=18,a+=1,this.words[a]|=o>>>26):i+=8;else for(r=(e.length-t)%2==0?t+1:t;r<e.length;r+=2)o=c(e,t,r)<<i,this.words[a]|=o&67108863,i>=18?(i-=18,a+=1,this.words[a]|=o>>>26):i+=8;this.strip()};function l(e,t,n,r){for(var i=0,a=Math.min(e.length,n),o=t;o<a;o++){var s=e.charCodeAt(o)-48;i*=r,s>=49?i+=s-49+10:s>=17?i+=s-17+10:i+=s}return i}i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var a=e.length-n,o=a%r,s=Math.min(a,a-o)+n,c=0,u=n;u<s;u+=r)c=l(e,u,u+r,t),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(o!==0){var d=1;for(c=l(e,u,e.length,t),u=0;u<o;u++)d*=t;this.imuln(d),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this.strip()},i.prototype.copy=function(e){e.words=Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?`<BN-R: `:`<BN: `)+this.toString(16)+`>`};var u=`.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`.split(`.`),d=[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],f=[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];i.prototype.toString=function(e,t){e||=10,t=t|0||1;var r;if(e===16||e===`hex`){r=``;for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],c=((s<<i|a)&16777215).toString(16);a=s>>>24-i&16777215,i+=2,i>=26&&(i-=26,o--),r=a!==0||o!==this.length-1?u[6-c.length]+c+r:c+r}for(a!==0&&(r=a.toString(16)+r);r.length%t!==0;)r=`0`+r;return this.negative!==0&&(r=`-`+r),r}if(e===(e|0)&&e>=2&&e<=36){var l=d[e],p=f[e];r=``;var m=this.clone();for(m.negative=0;!m.isZero();){var h=m.modn(p).toString(e);m=m.idivn(p),r=m.isZero()?h+r:u[l-h.length]+h+r}for(this.isZero()&&(r=`0`+r);r.length%t!==0;)r=`0`+r;return this.negative!==0&&(r=`-`+r),r}n(!1,`Base should be between 2 and 36`)},i.prototype.toNumber=function(){var e=this.words[0];return this.length===2?e+=this.words[1]*67108864:this.length===3&&this.words[2]===1?e+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,`Number can only safely store up to 53 bits`),this.negative===0?e:-e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return n(a!==void 0),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,`byte array longer than desired length`),n(a>0,`Requested array length <= 0`),this.strip();var o=t===`le`,s=new e(a),c,l,u=this.clone();if(o){for(l=0;!u.isZero();l++)c=u.andln(255),u.iushrn(8),s[l]=c;for(;l<a;l++)s[l]=0}else{for(l=0;l<a-i;l++)s[l]=0;for(l=0;!u.isZero();l++)c=u.andln(255),u.iushrn(8),s[a-l-1]=c}return s},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(e===0)return 26;var t=e,n=0;return t&8191||(n+=13,t>>>=13),t&127||(n+=7,t>>>=7),t&15||(n+=4,t>>>=4),t&3||(n+=2,t>>>=2),t&1||n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t};function p(e){for(var t=Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=(e.words[r]&1<<i)>>>i}return t}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,n!==26)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return this.negative===0?this.clone():this.abs().inotn(e).iaddn(1)},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return this.negative!==0},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},i.prototype.ior=function(e){return n((this.negative|e.negative)===0),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){for(var t=this.length>e.length?e:this,n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this.strip()},i.prototype.iand=function(e){return n((this.negative|e.negative)===0),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},i.prototype.ixor=function(e){return n((this.negative|e.negative)===0),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n(typeof e==`number`&&e>=0);var t=Math.ceil(e/26)|0,r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=~this.words[i]&67108863;return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n(typeof e==`number`&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),t?this.words[r]=this.words[r]|1<<i:this.words[r]=this.words[r]&~(1<<i),this.strip()},i.prototype.iadd=function(e){var t;if(this.negative!==0&&e.negative===0)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(this.negative===0&&e.negative!==0)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();var n,r;this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,a=0;a<r.length;a++)t=(n.words[a]|0)+(r.words[a]|0)+i,this.words[a]=t&67108863,i=t>>>26;for(;i!==0&&a<n.length;a++)t=(n.words[a]|0)+i,this.words[a]=t&67108863,i=t>>>26;if(this.length=n.length,i!==0)this.words[this.length]=i,this.length++;else if(n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this},i.prototype.add=function(e){var t;return e.negative!==0&&this.negative===0?(e.negative=0,t=this.sub(e),e.negative^=1,t):e.negative===0&&this.negative!==0?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n=this.cmp(e);if(n===0)return this.negative=0,this.length=1,this.words[0]=0,this;var r,i;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,o=0;o<i.length;o++)t=(r.words[o]|0)-(i.words[o]|0)+a,a=t>>26,this.words[o]=t&67108863;for(;a!==0&&o<r.length;o++)t=(r.words[o]|0)+a,a=t>>26,this.words[o]=t&67108863;if(a===0&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(e){return this.clone().isub(e)};function m(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=e.words[0]|0,a=t.words[0]|0,o=i*a,s=o&67108863,c=o/67108864|0;n.words[0]=s;for(var l=1;l<r;l++){for(var u=c>>>26,d=c&67108863,f=Math.min(l,t.length-1),p=Math.max(0,l-e.length+1);p<=f;p++){var m=l-p|0;i=e.words[m]|0,a=t.words[p]|0,o=i*a+d,u+=o/67108864|0,d=o&67108863}n.words[l]=d|0,c=u|0}return c===0?n.length--:n.words[l]=c|0,n.strip()}var h=function(e,t,n){var r=e.words,i=t.words,a=n.words,o=0,s,c,l,u=r[0]|0,d=u&8191,f=u>>>13,p=r[1]|0,m=p&8191,h=p>>>13,g=r[2]|0,_=g&8191,v=g>>>13,y=r[3]|0,b=y&8191,x=y>>>13,S=r[4]|0,C=S&8191,w=S>>>13,T=r[5]|0,E=T&8191,D=T>>>13,O=r[6]|0,k=O&8191,A=O>>>13,j=r[7]|0,M=j&8191,N=j>>>13,P=r[8]|0,F=P&8191,I=P>>>13,L=r[9]|0,R=L&8191,z=L>>>13,ee=i[0]|0,B=ee&8191,V=ee>>>13,te=i[1]|0,H=te&8191,ne=te>>>13,re=i[2]|0,U=re&8191,ie=re>>>13,ae=i[3]|0,oe=ae&8191,se=ae>>>13,ce=i[4]|0,le=ce&8191,ue=ce>>>13,de=i[5]|0,fe=de&8191,pe=de>>>13,me=i[6]|0,he=me&8191,W=me>>>13,ge=i[7]|0,_e=ge&8191,ve=ge>>>13,ye=i[8]|0,be=ye&8191,xe=ye>>>13,Se=i[9]|0,Ce=Se&8191,we=Se>>>13;n.negative=e.negative^t.negative,n.length=19,s=Math.imul(d,B),c=Math.imul(d,V),c=c+Math.imul(f,B)|0,l=Math.imul(f,V);var Te=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Te>>>26)|0,Te&=67108863,s=Math.imul(m,B),c=Math.imul(m,V),c=c+Math.imul(h,B)|0,l=Math.imul(h,V),s=s+Math.imul(d,H)|0,c=c+Math.imul(d,ne)|0,c=c+Math.imul(f,H)|0,l=l+Math.imul(f,ne)|0;var Ee=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,s=Math.imul(_,B),c=Math.imul(_,V),c=c+Math.imul(v,B)|0,l=Math.imul(v,V),s=s+Math.imul(m,H)|0,c=c+Math.imul(m,ne)|0,c=c+Math.imul(h,H)|0,l=l+Math.imul(h,ne)|0,s=s+Math.imul(d,U)|0,c=c+Math.imul(d,ie)|0,c=c+Math.imul(f,U)|0,l=l+Math.imul(f,ie)|0;var De=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(De>>>26)|0,De&=67108863,s=Math.imul(b,B),c=Math.imul(b,V),c=c+Math.imul(x,B)|0,l=Math.imul(x,V),s=s+Math.imul(_,H)|0,c=c+Math.imul(_,ne)|0,c=c+Math.imul(v,H)|0,l=l+Math.imul(v,ne)|0,s=s+Math.imul(m,U)|0,c=c+Math.imul(m,ie)|0,c=c+Math.imul(h,U)|0,l=l+Math.imul(h,ie)|0,s=s+Math.imul(d,oe)|0,c=c+Math.imul(d,se)|0,c=c+Math.imul(f,oe)|0,l=l+Math.imul(f,se)|0;var Oe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,s=Math.imul(C,B),c=Math.imul(C,V),c=c+Math.imul(w,B)|0,l=Math.imul(w,V),s=s+Math.imul(b,H)|0,c=c+Math.imul(b,ne)|0,c=c+Math.imul(x,H)|0,l=l+Math.imul(x,ne)|0,s=s+Math.imul(_,U)|0,c=c+Math.imul(_,ie)|0,c=c+Math.imul(v,U)|0,l=l+Math.imul(v,ie)|0,s=s+Math.imul(m,oe)|0,c=c+Math.imul(m,se)|0,c=c+Math.imul(h,oe)|0,l=l+Math.imul(h,se)|0,s=s+Math.imul(d,le)|0,c=c+Math.imul(d,ue)|0,c=c+Math.imul(f,le)|0,l=l+Math.imul(f,ue)|0;var ke=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(ke>>>26)|0,ke&=67108863,s=Math.imul(E,B),c=Math.imul(E,V),c=c+Math.imul(D,B)|0,l=Math.imul(D,V),s=s+Math.imul(C,H)|0,c=c+Math.imul(C,ne)|0,c=c+Math.imul(w,H)|0,l=l+Math.imul(w,ne)|0,s=s+Math.imul(b,U)|0,c=c+Math.imul(b,ie)|0,c=c+Math.imul(x,U)|0,l=l+Math.imul(x,ie)|0,s=s+Math.imul(_,oe)|0,c=c+Math.imul(_,se)|0,c=c+Math.imul(v,oe)|0,l=l+Math.imul(v,se)|0,s=s+Math.imul(m,le)|0,c=c+Math.imul(m,ue)|0,c=c+Math.imul(h,le)|0,l=l+Math.imul(h,ue)|0,s=s+Math.imul(d,fe)|0,c=c+Math.imul(d,pe)|0,c=c+Math.imul(f,fe)|0,l=l+Math.imul(f,pe)|0;var Ae=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,s=Math.imul(k,B),c=Math.imul(k,V),c=c+Math.imul(A,B)|0,l=Math.imul(A,V),s=s+Math.imul(E,H)|0,c=c+Math.imul(E,ne)|0,c=c+Math.imul(D,H)|0,l=l+Math.imul(D,ne)|0,s=s+Math.imul(C,U)|0,c=c+Math.imul(C,ie)|0,c=c+Math.imul(w,U)|0,l=l+Math.imul(w,ie)|0,s=s+Math.imul(b,oe)|0,c=c+Math.imul(b,se)|0,c=c+Math.imul(x,oe)|0,l=l+Math.imul(x,se)|0,s=s+Math.imul(_,le)|0,c=c+Math.imul(_,ue)|0,c=c+Math.imul(v,le)|0,l=l+Math.imul(v,ue)|0,s=s+Math.imul(m,fe)|0,c=c+Math.imul(m,pe)|0,c=c+Math.imul(h,fe)|0,l=l+Math.imul(h,pe)|0,s=s+Math.imul(d,he)|0,c=c+Math.imul(d,W)|0,c=c+Math.imul(f,he)|0,l=l+Math.imul(f,W)|0;var je=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(je>>>26)|0,je&=67108863,s=Math.imul(M,B),c=Math.imul(M,V),c=c+Math.imul(N,B)|0,l=Math.imul(N,V),s=s+Math.imul(k,H)|0,c=c+Math.imul(k,ne)|0,c=c+Math.imul(A,H)|0,l=l+Math.imul(A,ne)|0,s=s+Math.imul(E,U)|0,c=c+Math.imul(E,ie)|0,c=c+Math.imul(D,U)|0,l=l+Math.imul(D,ie)|0,s=s+Math.imul(C,oe)|0,c=c+Math.imul(C,se)|0,c=c+Math.imul(w,oe)|0,l=l+Math.imul(w,se)|0,s=s+Math.imul(b,le)|0,c=c+Math.imul(b,ue)|0,c=c+Math.imul(x,le)|0,l=l+Math.imul(x,ue)|0,s=s+Math.imul(_,fe)|0,c=c+Math.imul(_,pe)|0,c=c+Math.imul(v,fe)|0,l=l+Math.imul(v,pe)|0,s=s+Math.imul(m,he)|0,c=c+Math.imul(m,W)|0,c=c+Math.imul(h,he)|0,l=l+Math.imul(h,W)|0,s=s+Math.imul(d,_e)|0,c=c+Math.imul(d,ve)|0,c=c+Math.imul(f,_e)|0,l=l+Math.imul(f,ve)|0;var Me=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Me>>>26)|0,Me&=67108863,s=Math.imul(F,B),c=Math.imul(F,V),c=c+Math.imul(I,B)|0,l=Math.imul(I,V),s=s+Math.imul(M,H)|0,c=c+Math.imul(M,ne)|0,c=c+Math.imul(N,H)|0,l=l+Math.imul(N,ne)|0,s=s+Math.imul(k,U)|0,c=c+Math.imul(k,ie)|0,c=c+Math.imul(A,U)|0,l=l+Math.imul(A,ie)|0,s=s+Math.imul(E,oe)|0,c=c+Math.imul(E,se)|0,c=c+Math.imul(D,oe)|0,l=l+Math.imul(D,se)|0,s=s+Math.imul(C,le)|0,c=c+Math.imul(C,ue)|0,c=c+Math.imul(w,le)|0,l=l+Math.imul(w,ue)|0,s=s+Math.imul(b,fe)|0,c=c+Math.imul(b,pe)|0,c=c+Math.imul(x,fe)|0,l=l+Math.imul(x,pe)|0,s=s+Math.imul(_,he)|0,c=c+Math.imul(_,W)|0,c=c+Math.imul(v,he)|0,l=l+Math.imul(v,W)|0,s=s+Math.imul(m,_e)|0,c=c+Math.imul(m,ve)|0,c=c+Math.imul(h,_e)|0,l=l+Math.imul(h,ve)|0,s=s+Math.imul(d,be)|0,c=c+Math.imul(d,xe)|0,c=c+Math.imul(f,be)|0,l=l+Math.imul(f,xe)|0;var Ne=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,s=Math.imul(R,B),c=Math.imul(R,V),c=c+Math.imul(z,B)|0,l=Math.imul(z,V),s=s+Math.imul(F,H)|0,c=c+Math.imul(F,ne)|0,c=c+Math.imul(I,H)|0,l=l+Math.imul(I,ne)|0,s=s+Math.imul(M,U)|0,c=c+Math.imul(M,ie)|0,c=c+Math.imul(N,U)|0,l=l+Math.imul(N,ie)|0,s=s+Math.imul(k,oe)|0,c=c+Math.imul(k,se)|0,c=c+Math.imul(A,oe)|0,l=l+Math.imul(A,se)|0,s=s+Math.imul(E,le)|0,c=c+Math.imul(E,ue)|0,c=c+Math.imul(D,le)|0,l=l+Math.imul(D,ue)|0,s=s+Math.imul(C,fe)|0,c=c+Math.imul(C,pe)|0,c=c+Math.imul(w,fe)|0,l=l+Math.imul(w,pe)|0,s=s+Math.imul(b,he)|0,c=c+Math.imul(b,W)|0,c=c+Math.imul(x,he)|0,l=l+Math.imul(x,W)|0,s=s+Math.imul(_,_e)|0,c=c+Math.imul(_,ve)|0,c=c+Math.imul(v,_e)|0,l=l+Math.imul(v,ve)|0,s=s+Math.imul(m,be)|0,c=c+Math.imul(m,xe)|0,c=c+Math.imul(h,be)|0,l=l+Math.imul(h,xe)|0,s=s+Math.imul(d,Ce)|0,c=c+Math.imul(d,we)|0,c=c+Math.imul(f,Ce)|0,l=l+Math.imul(f,we)|0;var Pe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,s=Math.imul(R,H),c=Math.imul(R,ne),c=c+Math.imul(z,H)|0,l=Math.imul(z,ne),s=s+Math.imul(F,U)|0,c=c+Math.imul(F,ie)|0,c=c+Math.imul(I,U)|0,l=l+Math.imul(I,ie)|0,s=s+Math.imul(M,oe)|0,c=c+Math.imul(M,se)|0,c=c+Math.imul(N,oe)|0,l=l+Math.imul(N,se)|0,s=s+Math.imul(k,le)|0,c=c+Math.imul(k,ue)|0,c=c+Math.imul(A,le)|0,l=l+Math.imul(A,ue)|0,s=s+Math.imul(E,fe)|0,c=c+Math.imul(E,pe)|0,c=c+Math.imul(D,fe)|0,l=l+Math.imul(D,pe)|0,s=s+Math.imul(C,he)|0,c=c+Math.imul(C,W)|0,c=c+Math.imul(w,he)|0,l=l+Math.imul(w,W)|0,s=s+Math.imul(b,_e)|0,c=c+Math.imul(b,ve)|0,c=c+Math.imul(x,_e)|0,l=l+Math.imul(x,ve)|0,s=s+Math.imul(_,be)|0,c=c+Math.imul(_,xe)|0,c=c+Math.imul(v,be)|0,l=l+Math.imul(v,xe)|0,s=s+Math.imul(m,Ce)|0,c=c+Math.imul(m,we)|0,c=c+Math.imul(h,Ce)|0,l=l+Math.imul(h,we)|0;var Fe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,s=Math.imul(R,U),c=Math.imul(R,ie),c=c+Math.imul(z,U)|0,l=Math.imul(z,ie),s=s+Math.imul(F,oe)|0,c=c+Math.imul(F,se)|0,c=c+Math.imul(I,oe)|0,l=l+Math.imul(I,se)|0,s=s+Math.imul(M,le)|0,c=c+Math.imul(M,ue)|0,c=c+Math.imul(N,le)|0,l=l+Math.imul(N,ue)|0,s=s+Math.imul(k,fe)|0,c=c+Math.imul(k,pe)|0,c=c+Math.imul(A,fe)|0,l=l+Math.imul(A,pe)|0,s=s+Math.imul(E,he)|0,c=c+Math.imul(E,W)|0,c=c+Math.imul(D,he)|0,l=l+Math.imul(D,W)|0,s=s+Math.imul(C,_e)|0,c=c+Math.imul(C,ve)|0,c=c+Math.imul(w,_e)|0,l=l+Math.imul(w,ve)|0,s=s+Math.imul(b,be)|0,c=c+Math.imul(b,xe)|0,c=c+Math.imul(x,be)|0,l=l+Math.imul(x,xe)|0,s=s+Math.imul(_,Ce)|0,c=c+Math.imul(_,we)|0,c=c+Math.imul(v,Ce)|0,l=l+Math.imul(v,we)|0;var Ie=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,s=Math.imul(R,oe),c=Math.imul(R,se),c=c+Math.imul(z,oe)|0,l=Math.imul(z,se),s=s+Math.imul(F,le)|0,c=c+Math.imul(F,ue)|0,c=c+Math.imul(I,le)|0,l=l+Math.imul(I,ue)|0,s=s+Math.imul(M,fe)|0,c=c+Math.imul(M,pe)|0,c=c+Math.imul(N,fe)|0,l=l+Math.imul(N,pe)|0,s=s+Math.imul(k,he)|0,c=c+Math.imul(k,W)|0,c=c+Math.imul(A,he)|0,l=l+Math.imul(A,W)|0,s=s+Math.imul(E,_e)|0,c=c+Math.imul(E,ve)|0,c=c+Math.imul(D,_e)|0,l=l+Math.imul(D,ve)|0,s=s+Math.imul(C,be)|0,c=c+Math.imul(C,xe)|0,c=c+Math.imul(w,be)|0,l=l+Math.imul(w,xe)|0,s=s+Math.imul(b,Ce)|0,c=c+Math.imul(b,we)|0,c=c+Math.imul(x,Ce)|0,l=l+Math.imul(x,we)|0;var Le=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Le>>>26)|0,Le&=67108863,s=Math.imul(R,le),c=Math.imul(R,ue),c=c+Math.imul(z,le)|0,l=Math.imul(z,ue),s=s+Math.imul(F,fe)|0,c=c+Math.imul(F,pe)|0,c=c+Math.imul(I,fe)|0,l=l+Math.imul(I,pe)|0,s=s+Math.imul(M,he)|0,c=c+Math.imul(M,W)|0,c=c+Math.imul(N,he)|0,l=l+Math.imul(N,W)|0,s=s+Math.imul(k,_e)|0,c=c+Math.imul(k,ve)|0,c=c+Math.imul(A,_e)|0,l=l+Math.imul(A,ve)|0,s=s+Math.imul(E,be)|0,c=c+Math.imul(E,xe)|0,c=c+Math.imul(D,be)|0,l=l+Math.imul(D,xe)|0,s=s+Math.imul(C,Ce)|0,c=c+Math.imul(C,we)|0,c=c+Math.imul(w,Ce)|0,l=l+Math.imul(w,we)|0;var Re=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Re>>>26)|0,Re&=67108863,s=Math.imul(R,fe),c=Math.imul(R,pe),c=c+Math.imul(z,fe)|0,l=Math.imul(z,pe),s=s+Math.imul(F,he)|0,c=c+Math.imul(F,W)|0,c=c+Math.imul(I,he)|0,l=l+Math.imul(I,W)|0,s=s+Math.imul(M,_e)|0,c=c+Math.imul(M,ve)|0,c=c+Math.imul(N,_e)|0,l=l+Math.imul(N,ve)|0,s=s+Math.imul(k,be)|0,c=c+Math.imul(k,xe)|0,c=c+Math.imul(A,be)|0,l=l+Math.imul(A,xe)|0,s=s+Math.imul(E,Ce)|0,c=c+Math.imul(E,we)|0,c=c+Math.imul(D,Ce)|0,l=l+Math.imul(D,we)|0;var ze=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(ze>>>26)|0,ze&=67108863,s=Math.imul(R,he),c=Math.imul(R,W),c=c+Math.imul(z,he)|0,l=Math.imul(z,W),s=s+Math.imul(F,_e)|0,c=c+Math.imul(F,ve)|0,c=c+Math.imul(I,_e)|0,l=l+Math.imul(I,ve)|0,s=s+Math.imul(M,be)|0,c=c+Math.imul(M,xe)|0,c=c+Math.imul(N,be)|0,l=l+Math.imul(N,xe)|0,s=s+Math.imul(k,Ce)|0,c=c+Math.imul(k,we)|0,c=c+Math.imul(A,Ce)|0,l=l+Math.imul(A,we)|0;var Be=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Be>>>26)|0,Be&=67108863,s=Math.imul(R,_e),c=Math.imul(R,ve),c=c+Math.imul(z,_e)|0,l=Math.imul(z,ve),s=s+Math.imul(F,be)|0,c=c+Math.imul(F,xe)|0,c=c+Math.imul(I,be)|0,l=l+Math.imul(I,xe)|0,s=s+Math.imul(M,Ce)|0,c=c+Math.imul(M,we)|0,c=c+Math.imul(N,Ce)|0,l=l+Math.imul(N,we)|0;var Ve=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ve>>>26)|0,Ve&=67108863,s=Math.imul(R,be),c=Math.imul(R,xe),c=c+Math.imul(z,be)|0,l=Math.imul(z,xe),s=s+Math.imul(F,Ce)|0,c=c+Math.imul(F,we)|0,c=c+Math.imul(I,Ce)|0,l=l+Math.imul(I,we)|0;var He=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(He>>>26)|0,He&=67108863,s=Math.imul(R,Ce),c=Math.imul(R,we),c=c+Math.imul(z,Ce)|0,l=Math.imul(z,we);var Ue=(o+s|0)+((c&8191)<<13)|0;return o=(l+(c>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,a[0]=Te,a[1]=Ee,a[2]=De,a[3]=Oe,a[4]=ke,a[5]=Ae,a[6]=je,a[7]=Me,a[8]=Ne,a[9]=Pe,a[10]=Fe,a[11]=Ie,a[12]=Le,a[13]=Re,a[14]=ze,a[15]=Be,a[16]=Ve,a[17]=He,a[18]=Ue,o!==0&&(a[19]=o,n.length++),n};Math.imul||(h=m);function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,a=0;a<n.length-1;a++){var o=i;i=0;for(var s=r&67108863,c=Math.min(a,t.length-1),l=Math.max(0,a-e.length+1);l<=c;l++){var u=a-l,d=(e.words[u]|0)*(t.words[l]|0),f=d&67108863;o=o+(d/67108864|0)|0,f=f+s|0,s=f&67108863,o=o+(f>>>26)|0,i+=o>>>26,o&=67108863}n.words[a]=s,r=o,o=i}return r===0?n.length--:n.words[a]=r,n.strip()}function _(e,t,n){return new v().mulp(e,t,n)}i.prototype.mulTo=function(e,t){var n,r=this.length+e.length;return n=this.length===10&&e.length===10?h(this,e,t):r<63?m(this,e,t):r<1024?g(this,e,t):_(this,e,t),n};function v(e,t){this.x=e,this.y=t}v.prototype.makeRBT=function(e){for(var t=Array(e),n=i.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,n,e);return t},v.prototype.revBin=function(e,t,n){if(e===0||e===n-1)return e;for(var r=0,i=0;i<t;i++)r|=(e&1)<<t-i-1,e>>=1;return r},v.prototype.permute=function(e,t,n,r,i,a){for(var o=0;o<a;o++)r[o]=t[e[o]],i[o]=n[e[o]]},v.prototype.transform=function(e,t,n,r,i,a){this.permute(a,e,t,n,r,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,c=Math.cos(2*Math.PI/s),l=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var d=c,f=l,p=0;p<o;p++){var m=n[u+p],h=r[u+p],g=n[u+p+o],_=r[u+p+o],v=d*g-f*_;_=d*_+f*g,g=v,n[u+p]=m+g,r[u+p]=h+_,n[u+p+o]=m-g,r[u+p+o]=h-_,p!==s&&(v=c*d-l*f,f=c*f+l*d,d=v)}},v.prototype.guessLen13b=function(e,t){var n=Math.max(t,e)|1,r=n&1,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},v.prototype.conjugate=function(e,t,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=e[r];e[r]=e[n-r-1],e[n-r-1]=i,i=t[r],t[r]=-t[n-r-1],t[n-r-1]=-i}},v.prototype.normalize13b=function(e,t){for(var n=0,r=0;r<t/2;r++){var i=Math.round(e[2*r+1]/t)*8192+Math.round(e[2*r]/t)+n;e[r]=i&67108863,n=i<67108864?0:i/67108864|0}return e},v.prototype.convert13b=function(e,t,r,i){for(var a=0,o=0;o<t;o++)a+=e[o]|0,r[2*o]=a&8191,a>>>=13,r[2*o+1]=a&8191,a>>>=13;for(o=2*t;o<i;++o)r[o]=0;n(a===0),n((a&-8192)==0)},v.prototype.stub=function(e){for(var t=Array(e),n=0;n<e;n++)t[n]=0;return t},v.prototype.mulp=function(e,t,n){var r=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(r),a=this.stub(r),o=Array(r),s=Array(r),c=Array(r),l=Array(r),u=Array(r),d=Array(r),f=n.words;f.length=r,this.convert13b(e.words,e.length,o,r),this.convert13b(t.words,t.length,l,r),this.transform(o,a,s,c,r,i),this.transform(l,a,u,d,r,i);for(var p=0;p<r;p++){var m=s[p]*u[p]-c[p]*d[p];c[p]=s[p]*d[p]+c[p]*u[p],s[p]=m}return this.conjugate(s,c,r),this.transform(s,c,f,a,r,i),this.conjugate(f,a,r),this.normalize13b(f,r),n.negative=e.negative^t.negative,n.length=e.length+t.length,n.strip()},i.prototype.mul=function(e){var t=new i(null);return t.words=Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=Array(this.length+e.length),_(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){n(typeof e==`number`),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(this.words[r]|0)*e,a=(i&67108863)+(t&67108863);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=a&67108863}return t!==0&&(this.words[r]=t,this.length++),this.length=e===0?1:this.length,this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=p(e);if(t.length===0)return new i(1);for(var n=this,r=0;r<t.length&&t[r]===0;r++,n=n.sqr());if(++r<t.length)for(var a=n.sqr();r<t.length;r++,a=a.sqr())t[r]!==0&&(n=n.mul(a));return n},i.prototype.iushln=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26,i=67108863>>>26-t<<26-t,a;if(t!==0){var o=0;for(a=0;a<this.length;a++){var s=this.words[a]&i,c=(this.words[a]|0)-s<<t;this.words[a]=c|o,o=s>>>26-t}o&&(this.words[a]=o,this.length++)}if(r!==0){for(a=this.length-1;a>=0;a--)this.words[a+r]=this.words[a];for(a=0;a<r;a++)this.words[a]=0;this.length+=r}return this.strip()},i.prototype.ishln=function(e){return n(this.negative===0),this.iushln(e)},i.prototype.iushrn=function(e,t,r){n(typeof e==`number`&&e>=0);var i=t?(t-t%26)/26:0,a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,c=r;if(i-=o,i=Math.max(0,i),c){for(var l=0;l<o;l++)c.words[l]=this.words[l];c.length=o}if(o!==0)if(this.length>o)for(this.length-=o,l=0;l<this.length;l++)this.words[l]=this.words[l+o];else this.words[0]=0,this.length=1;var u=0;for(l=this.length-1;l>=0&&(u!==0||l>=i);l--){var d=this.words[l]|0;this.words[l]=u<<26-a|d>>>a,u=d&s}return c&&u!==0&&(c.words[c.length++]=u),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,r){return n(this.negative===0),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return this.length<=r?!1:!!(this.words[r]&i)},i.prototype.imaskn=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26;if(n(this.negative===0,`imaskn works only with positive numbers`),this.length<=r)return this;if(t!==0&&r++,this.length=Math.min(r,this.length),t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n(typeof e==`number`),n(e<67108864),e<0?this.isubn(-e):this.negative===0?this._iaddn(e):this.length===1&&(this.words[0]|0)<e?(this.words[0]=e-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n(typeof e==`number`),n(e<67108864),e<0)return this.iaddn(-e);if(this.negative!==0)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,--this.words[t+1];return this.strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var i=e.length+r,a;this._expand(i);var o,s=0;for(a=0;a<e.length;a++){o=(this.words[a+r]|0)+s;var c=(e.words[a]|0)*t;o-=c&67108863,s=(o>>26)-(c/67108864|0),this.words[a+r]=o&67108863}for(;a<this.length-r;a++)o=(this.words[a+r]|0)+s,s=o>>26,this.words[a+r]=o&67108863;if(s===0)return this.strip();for(n(s===-1),s=0,a=0;a<this.length;a++)o=-(this.words[a]|0)+s,s=o>>26,this.words[a]=o&67108863;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=this.length-e.length,r=this.clone(),a=e,o=a.words[a.length-1]|0;n=26-this._countBits(o),n!==0&&(a=a.ushln(n),r.iushln(n),o=a.words[a.length-1]|0);var s=r.length-a.length,c;if(t!==`mod`){c=new i(null),c.length=s+1,c.words=Array(c.length);for(var l=0;l<c.length;l++)c.words[l]=0}var u=r.clone()._ishlnsubmul(a,1,s);u.negative===0&&(r=u,c&&(c.words[s]=1));for(var d=s-1;d>=0;d--){var f=(r.words[a.length+d]|0)*67108864+(r.words[a.length+d-1]|0);for(f=Math.min(f/o|0,67108863),r._ishlnsubmul(a,f,d);r.negative!==0;)f--,r.negative=0,r._ishlnsubmul(a,1,d),r.isZero()||(r.negative^=1);c&&(c.words[d]=f)}return c&&c.strip(),r.strip(),t!==`div`&&n!==0&&r.iushrn(n),{div:c||null,mod:r}},i.prototype.divmod=function(e,t,r){if(n(!e.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var a,o,s;return this.negative!==0&&e.negative===0?(s=this.neg().divmod(e,t),t!==`mod`&&(a=s.div.neg()),t!==`div`&&(o=s.mod.neg(),r&&o.negative!==0&&o.iadd(e)),{div:a,mod:o}):this.negative===0&&e.negative!==0?(s=this.divmod(e.neg(),t),t!==`mod`&&(a=s.div.neg()),{div:a,mod:s.mod}):(this.negative&e.negative)===0?e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:e.length===1?t===`div`?{div:this.divn(e.words[0]),mod:null}:t===`mod`?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t):(s=this.neg().divmod(e.neg(),t),t!==`div`&&(o=s.mod.neg(),r&&o.negative!==0&&o.isub(e)),{div:s.div,mod:o})},i.prototype.div=function(e){return this.divmod(e,`div`,!1).div},i.prototype.mod=function(e){return this.divmod(e,`mod`,!1).mod},i.prototype.umod=function(e){return this.divmod(e,`mod`,!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=t.div.negative===0?t.mod:t.mod.isub(e),r=e.ushrn(1),i=e.andln(1),a=n.cmp(r);return a<0||i===1&&a===0?t.div:t.div.negative===0?t.div.iaddn(1):t.div.isubn(1)},i.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(this.words[i]|0))%e;return r},i.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(this.words[r]|0)+t*67108864;this.words[r]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(e.negative===0),n(!e.isZero());var t=this,r=e.clone();t=t.negative===0?t.clone():t.umod(e);for(var a=new i(1),o=new i(0),s=new i(0),c=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var u=r.clone(),d=t.clone();!t.isZero();){for(var f=0,p=1;(t.words[0]&p)===0&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(d)),a.iushrn(1),o.iushrn(1);for(var m=0,h=1;(r.words[0]&h)===0&&m<26;++m,h<<=1);if(m>0)for(r.iushrn(m);m-- >0;)(s.isOdd()||c.isOdd())&&(s.iadd(u),c.isub(d)),s.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s),o.isub(c)):(r.isub(t),s.isub(a),c.isub(o))}return{a:s,b:c,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(e.negative===0),n(!e.isZero());var t=this,r=e.clone();t=t.negative===0?t.clone():t.umod(e);for(var a=new i(1),o=new i(0),s=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,l=1;(t.words[0]&l)===0&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);for(var u=0,d=1;(r.words[0]&d)===0&&u<26;++u,d<<=1);if(u>0)for(r.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o)):(r.isub(t),o.isub(a))}var f=t.cmpn(1)===0?a:o;return f.cmpn(0)<0&&f.iadd(e),f},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);do{for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var a=t;t=n,n=a}else if(i===0||n.cmpn(1)===0)break;t.isub(n)}while(!0);return n.iushln(r)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(this.words[0]&1)==0},i.prototype.isOdd=function(){return(this.words[0]&1)==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n(typeof e==`number`);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;a!==0&&o<this.length;o++){var s=this.words[o]|0;s+=a,a=s>>>26,s&=67108863,this.words[o]=s}return a!==0&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this.strip();var r;if(this.length>1)r=1;else{t&&(e=-e),n(e<=67108863,`Number is too big`);var i=this.words[0]|0;r=i===e?0:i<e?-1:1}return this.negative===0?r:-r|0},i.prototype.cmp=function(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);return this.negative===0?t:-t|0},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=this.words[n]|0,i=e.words[n]|0;if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},i.prototype.gtn=function(e){return this.cmpn(e)===1},i.prototype.gt=function(e){return this.cmp(e)===1},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return this.cmpn(e)===-1},i.prototype.lt=function(e){return this.cmp(e)===-1},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return this.cmpn(e)===0},i.prototype.eq=function(e){return this.cmp(e)===0},i.red=function(e){return new T(e)},i.prototype.toRed=function(e){return n(!this.red,`Already a number in reduction context`),n(this.negative===0,`red works only with positives`),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,`fromRed works only with numbers in reduction context`),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,`Already a number in reduction context`),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,`redAdd works only with red numbers`),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,`redIAdd works only with red numbers`),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,`redSub works only with red numbers`),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,`redISub works only with red numbers`),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,`redShl works only with red numbers`),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,`redMul works only with red numbers`),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,`redMul works only with red numbers`),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,`redSqr works only with red numbers`),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,`redISqr works only with red numbers`),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,`redSqrt works only with red numbers`),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,`redInvm works only with red numbers`),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,`redNeg works only with red numbers`),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,`redPow(normalNum)`),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}b.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t=e,n;do this.split(t,this.tmp),t=this.imulK(t),t=t.iadd(this.tmp),n=t.bitLength();while(n>this.n);var r=n<this.n?-1:t.ucmp(this.p);return r===0?(t.words[0]=0,t.length=1):r>0?t.isub(this.p):t.strip===void 0?t._strip():t.strip(),t},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)};function x(){b.call(this,`k256`,`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f`)}r(x,b),x.prototype.split=function(e,t){for(var n=4194303,r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9){e.words[0]=0,e.length=1;return}var a=e.words[9];for(t.words[t.length++]=a&n,i=10;i<e.length;i++){var o=e.words[i]|0;e.words[i-10]=(o&n)<<4|a>>>22,a=o}a>>>=22,e.words[i-10]=a,a===0&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=e.words[n]|0;t+=r*977,e.words[n]=t&67108863,t=r*64+(t/67108864|0)}return e.words[e.length-1]===0&&(e.length--,e.words[e.length-1]===0&&e.length--),e};function S(){b.call(this,`p224`,`ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001`)}r(S,b);function C(){b.call(this,`p192`,`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff`)}r(C,b);function w(){b.call(this,`25519`,`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`)}r(w,b),w.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=(e.words[n]|0)*19+t,i=r&67108863;r>>>=26,e.words[n]=i,t=r}return t!==0&&(e.words[e.length++]=t),e},i._prime=function(e){if(y[e])return y[e];var t;if(e===`k256`)t=new x;else if(e===`p224`)t=new S;else if(e===`p192`)t=new C;else if(e===`p25519`)t=new w;else throw Error(`Unknown prime `+e);return y[e]=t,t};function T(e){if(typeof e==`string`){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),`modulus must be greater than 1`),this.m=e,this.prime=null}T.prototype._verify1=function(e){n(e.negative===0,`red works only with positives`),n(e.red,`red works only with red numbers`)},T.prototype._verify2=function(e,t){n((e.negative|t.negative)===0,`red works only with positives`),n(e.red&&e.red===t.red,`red works only with red numbers`)},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},T.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),t===3){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&a.andln(1)===0;)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),c=s.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);this.pow(u,l).cmp(c)!==0;)u.redIAdd(c);for(var d=this.pow(u,a),f=this.pow(e,a.addn(1).iushrn(1)),p=this.pow(e,a),m=o;p.cmp(s)!==0;){for(var h=p,g=0;h.cmp(s)!==0;g++)h=h.redSqr();n(g<m);var _=this.pow(d,new i(1).iushln(m-g-1));f=f.redMul(_),d=_.redSqr(),p=p.redMul(d),m=g}return f},T.prototype.invm=function(e){var t=e._invmp(this.m);return t.negative===0?this.imod(t):(t.negative=0,this.imod(t).redNeg())},T.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var n=4,r=Array(1<<n);r[0]=new i(1).toRed(this),r[1]=e;for(var a=2;a<r.length;a++)r[a]=this.mul(r[a-1],e);var o=r[0],s=0,c=0,l=t.bitLength()%26;for(l===0&&(l=26),a=t.length-1;a>=0;a--){for(var u=t.words[a],d=l-1;d>=0;d--){var f=u>>d&1;if(o!==r[0]&&(o=this.sqr(o)),f===0&&s===0){c=0;continue}s<<=1,s|=f,c++,!(c!==n&&(a!==0||d!==0))&&(o=this.mul(o,r[s]),c=0,s=0)}l=26}return o},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new E(e)};function E(e){T.call(this,e),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)}r(E,T),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=n.isub(r).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}})(t===void 0||t,e)})),Wl=i(((e,t)=>{t.exports=n;function n(e,t){if(!e)throw Error(t||`Assertion failed`)}n.equal=function(e,t,n){if(e!=t)throw Error(n||`Assertion failed: `+e+` != `+t)}})),Gl=i((e=>{var t=e;function n(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if(typeof e!=`string`){for(var r=0;r<e.length;r++)n[r]=e[r]|0;return n}if(t===`hex`){e=e.replace(/[^a-z0-9]+/gi,``),e.length%2!=0&&(e=`0`+e);for(var r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(var r=0;r<e.length;r++){var i=e.charCodeAt(r),a=i>>8,o=i&255;a?n.push(a,o):n.push(o)}return n}t.toArray=n;function r(e){return e.length===1?`0`+e:e}t.zero2=r;function i(e){for(var t=``,n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}t.toHex=i,t.encode=function(e,t){return t===`hex`?i(e):e}})),Kl=i((e=>{var t=e,n=Ul(),r=Wl(),i=Gl();t.assert=r,t.toArray=i.toArray,t.zero2=i.zero2,t.toHex=i.toHex,t.encode=i.encode;function a(e,t,n){var r=Array(Math.max(e.bitLength(),n)+1),i;for(i=0;i<r.length;i+=1)r[i]=0;var a=1<<t+1,o=e.clone();for(i=0;i<r.length;i++){var s,c=o.andln(a-1);o.isOdd()?(s=c>(a>>1)-1?(a>>1)-c:c,o.isubn(s)):s=0,r[i]=s,o.iushrn(1)}return r}t.getNAF=a;function o(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r=0,i=0,a;e.cmpn(-r)>0||t.cmpn(-i)>0;){var o=e.andln(3)+r&3,s=t.andln(3)+i&3;o===3&&(o=-1),s===3&&(s=-1);var c;o&1?(a=e.andln(7)+r&7,c=(a===3||a===5)&&s===2?-o:o):c=0,n[0].push(c);var l;s&1?(a=t.andln(7)+i&7,l=(a===3||a===5)&&o===2?-s:s):l=0,n[1].push(l),2*r===c+1&&(r=1-r),2*i===l+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return n}t.getJSF=o;function s(e,t,n){var r=`_`+t;e.prototype[t]=function(){return this[r]===void 0?this[r]=n.call(this):this[r]}}t.cachedProperty=s;function c(e){return typeof e==`string`?t.toArray(e,`hex`):e}t.parseBytes=c;function l(e){return new n(e,`hex`,`le`)}t.intFromLE=l})),ql=i(((e,t)=>{var n;t.exports=function(e){return n||=new r(null),n.generate(e)};function r(e){this.rand=e}if(t.exports.Rand=r,r.prototype.generate=function(e){return this._rand(e)},r.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n<t.length;n++)t[n]=this.rand.getByte();return t},typeof self==`object`)self.crypto&&self.crypto.getRandomValues?r.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?r.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window==`object`&&(r.prototype._rand=function(){throw Error(`Not implemented yet`)});else try{var i=o();if(typeof i.randomBytes!=`function`)throw Error(`Not supported`);r.prototype._rand=function(e){return i.randomBytes(e)}}catch{}})),Jl=i(((e,t)=>{var n=Ul(),r=Kl(),i=r.getNAF,a=r.getJSF,o=r.assert;function s(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}t.exports=s,s.prototype.point=function(){throw Error(`Not implemented`)},s.prototype.validate=function(){throw Error(`Not implemented`)},s.prototype._fixedNafMul=function(e,t){o(e.precomputed);var n=e._getDoubles(),r=i(t,1,this._bitLength),a=(1<<n.step+1)-(n.step%2==0?2:1);a/=3;var s=[],c,l;for(c=0;c<r.length;c+=n.step){l=0;for(var u=c+n.step-1;u>=c;u--)l=(l<<1)+r[u];s.push(l)}for(var d=this.jpoint(null,null,null),f=this.jpoint(null,null,null),p=a;p>0;p--){for(c=0;c<s.length;c++)l=s[c],l===p?f=f.mixedAdd(n.points[c]):l===-p&&(f=f.mixedAdd(n.points[c].neg()));d=d.add(f)}return d.toP()},s.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var a=r.points,s=i(t,n,this._bitLength),c=this.jpoint(null,null,null),l=s.length-1;l>=0;l--){for(var u=0;l>=0&&s[l]===0;l--)u++;if(l>=0&&u++,c=c.dblp(u),l<0)break;var d=s[l];o(d!==0),c=e.type===`affine`?d>0?c.mixedAdd(a[d-1>>1]):c.mixedAdd(a[-d-1>>1].neg()):d>0?c.add(a[d-1>>1]):c.add(a[-d-1>>1].neg())}return e.type===`affine`?c.toP():c},s.prototype._wnafMulAdd=function(e,t,n,r,o){var s=this._wnafT1,c=this._wnafT2,l=this._wnafT3,u=0,d,f,p;for(d=0;d<r;d++){p=t[d];var m=p._getNAFPoints(e);s[d]=m.wnd,c[d]=m.points}for(d=r-1;d>=1;d-=2){var h=d-1,g=d;if(s[h]!==1||s[g]!==1){l[h]=i(n[h],s[h],this._bitLength),l[g]=i(n[g],s[g],this._bitLength),u=Math.max(l[h].length,u),u=Math.max(l[g].length,u);continue}var _=[t[h],null,null,t[g]];t[h].y.cmp(t[g].y)===0?(_[1]=t[h].add(t[g]),_[2]=t[h].toJ().mixedAdd(t[g].neg())):t[h].y.cmp(t[g].y.redNeg())===0?(_[1]=t[h].toJ().mixedAdd(t[g]),_[2]=t[h].add(t[g].neg())):(_[1]=t[h].toJ().mixedAdd(t[g]),_[2]=t[h].toJ().mixedAdd(t[g].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],y=a(n[h],n[g]);for(u=Math.max(y[0].length,u),l[h]=Array(u),l[g]=Array(u),f=0;f<u;f++){var b=y[0][f]|0,x=y[1][f]|0;l[h][f]=v[(b+1)*3+(x+1)],l[g][f]=0,c[h]=_}}var S=this.jpoint(null,null,null),C=this._wnafT4;for(d=u;d>=0;d--){for(var w=0;d>=0;){var T=!0;for(f=0;f<r;f++)C[f]=l[f][d]|0,C[f]!==0&&(T=!1);if(!T)break;w++,d--}if(d>=0&&w++,S=S.dblp(w),d<0)break;for(f=0;f<r;f++){var E=C[f];E!==0&&(E>0?p=c[f][E-1>>1]:E<0&&(p=c[f][-E-1>>1].neg()),S=p.type===`affine`?S.mixedAdd(p):S.add(p))}}for(d=0;d<r;d++)c[d]=null;return o?S:S.toP()};function c(e,t){this.curve=e,this.type=t,this.precomputed=null}s.BasePoint=c,c.prototype.eq=function(){throw Error(`Not implemented`)},c.prototype.validate=function(){return this.curve.validate(this)},s.prototype.decodePoint=function(e,t){e=r.toArray(e,t);var n=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1==2*n)return e[0]===6?o(e[e.length-1]%2==0):e[0]===7&&o(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((e[0]===2||e[0]===3)&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),e[0]===3);throw Error(`Unknown point format`)},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray(`be`,t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray(`be`,t))},c.prototype.encode=function(e,t){return r.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return t?t.points.length>=Math.ceil((e.bitLength()+1)/t.step):!1},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var a=0;a<e;a++)r=r.dbl();n.push(r)}return{step:e,points:n}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=n===1?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}})),Yl=i(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Xl=i(((e,t)=>{var n=Kl(),r=Ul(),i=Yl(),a=Jl(),o=n.assert;function s(e){a.call(this,`short`,e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}i(s,a),t.exports=s,s.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,n;if(e.beta)t=new r(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1],t=t.toRed(this.red)}if(e.lambda)n=new r(e.lambda,16);else{var a=this._getEndoRoots(this.n);this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0?n=a[0]:(n=a[1],o(this.g.mul(n).x.cmp(this.g.x.redMul(t))===0))}var s=e.basis?e.basis.map(function(e){return{a:new r(e.a,16),b:new r(e.b,16)}}):this._getEndoBasis(n);return{beta:t,lambda:n,basis:s}}},s.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:r.mont(e),n=new r(2).toRed(t).redInvm(),i=n.redNeg(),a=new r(3).toRed(t).redNeg().redSqrt().redMul(n);return[i.redAdd(a).fromRed(),i.redSub(a).fromRed()]},s.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),n=e,i=this.n.clone(),a=new r(1),o=new r(0),s=new r(0),c=new r(1),l,u,d,f,p,m,h,g=0,_,v;n.cmpn(0)!==0;){var y=i.div(n);_=i.sub(y.mul(n)),v=s.sub(y.mul(a));var b=c.sub(y.mul(o));if(!d&&_.cmp(t)<0)l=h.neg(),u=a,d=_.neg(),f=v;else if(d&&++g===2)break;h=_,i=n,n=_,s=a,a=v,c=o,o=b}p=_.neg(),m=v;var x=d.sqr().add(f.sqr());return p.sqr().add(m.sqr()).cmp(x)>=0&&(p=l,m=u),d.negative&&(d=d.neg(),f=f.neg()),p.negative&&(p=p.neg(),m=m.neg()),[{a:d,b:f},{a:p,b:m}]},s.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),a=n.b.neg().mul(e).divRound(this.n),o=i.mul(n.a),s=a.mul(r.a),c=i.mul(n.b),l=a.mul(r.b);return{k1:e.sub(o).sub(s),k2:c.add(l).neg()}},s.prototype.pointFromX=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(i.redSqr().redSub(n).cmp(this.zero)!==0)throw Error(`invalid point`);var a=i.fromRed().isOdd();return(t&&!a||!t&&a)&&(i=i.redNeg()),this.point(e,i)},s.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return n.redSqr().redISub(i).cmpn(0)===0},s.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,a=0;a<e.length;a++){var o=this._endoSplit(t[a]),s=e[a],c=s._getBeta();o.k1.negative&&(o.k1.ineg(),s=s.neg(!0)),o.k2.negative&&(o.k2.ineg(),c=c.neg(!0)),r[a*2]=s,r[a*2+1]=c,i[a*2]=o.k1,i[a*2+1]=o.k2}for(var l=this._wnafMulAdd(1,r,i,a*2,n),u=0;u<a*2;u++)r[u]=null,i[u]=null;return l};function c(e,t,n,i){a.BasePoint.call(this,e,`affine`),t===null&&n===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(t,16),this.y=new r(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}i(c,a.BasePoint),s.prototype.point=function(e,t,n){return new c(this,e,t,n)},s.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,n){typeof t==`string`&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var a=t[2];return r.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[r].concat(a.doubles.points.map(i))},naf:a.naf&&{wnd:a.naf.wnd,points:[r].concat(a.naf.points.map(i))}},r},c.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` y: `+this.y.fromRed().toString(16,2)+`>`},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e)||this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),a=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new r(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)};function l(e,t,n,i){a.BasePoint.call(this,e,`jacobian`),t===null&&n===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(t,16),this.y=new r(n,16),this.z=new r(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}i(l,a.BasePoint),s.prototype.jpoint=function(e,t,n){return new l(this,e,t,n)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),a=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),s=r.redSub(i),c=a.redSub(o);if(s.cmpn(0)===0)return c.cmpn(0)===0?this.dbl():this.curve.jpoint(null,null,null);var l=s.redSqr(),u=l.redMul(s),d=r.redMul(l),f=c.redSqr().redIAdd(u).redISub(d).redISub(d),p=c.redMul(d.redISub(f)).redISub(a.redMul(u)),m=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(f,p,m)},l.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),o=n.redSub(r),s=i.redSub(a);if(o.cmpn(0)===0)return s.cmpn(0)===0?this.dbl():this.curve.jpoint(null,null,null);var c=o.redSqr(),l=c.redMul(o),u=n.redMul(c),d=s.redSqr().redIAdd(l).redISub(u).redISub(u),f=s.redMul(u.redISub(d)).redISub(i.redMul(l)),p=this.z.redMul(o);return this.curve.jpoint(d,f,p)},l.prototype.dblp=function(e){if(e===0||this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,a=this.x,o=this.y,s=this.z,c=s.redSqr().redSqr(),l=o.redAdd(o);for(t=0;t<e;t++){var u=a.redSqr(),d=l.redSqr(),f=d.redSqr(),p=u.redAdd(u).redIAdd(u).redIAdd(r.redMul(c)),m=a.redMul(d),h=p.redSqr().redISub(m.redAdd(m)),g=m.redISub(h),_=p.redMul(g);_=_.redIAdd(_).redISub(f);var v=l.redMul(s);t+1<e&&(c=c.redMul(f)),a=h,s=v,l=_}return this.curve.jpoint(a,l.redMul(i),s)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},l.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(a);o=o.redIAdd(o);var s=r.redAdd(r).redIAdd(r),c=s.redSqr().redISub(o).redISub(o),l=a.redIAdd(a);l=l.redIAdd(l),l=l.redIAdd(l),e=c,t=s.redMul(o.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),d=this.y.redSqr(),f=d.redSqr(),p=this.x.redAdd(d).redSqr().redISub(u).redISub(f);p=p.redIAdd(p);var m=u.redAdd(u).redIAdd(u),h=m.redSqr(),g=f.redIAdd(f);g=g.redIAdd(g),g=g.redIAdd(g),e=h.redISub(p).redISub(p),t=m.redMul(p.redISub(e)).redISub(g),n=this.y.redMul(this.z),n=n.redIAdd(n)}return this.curve.jpoint(e,t,n)},l.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(a);o=o.redIAdd(o);var s=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),c=s.redSqr().redISub(o).redISub(o);e=c;var l=a.redIAdd(a);l=l.redIAdd(l),l=l.redIAdd(l),t=s.redMul(o.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),d=this.y.redSqr(),f=this.x.redMul(d),p=this.x.redSub(u).redMul(this.x.redAdd(u));p=p.redAdd(p).redIAdd(p);var m=f.redIAdd(f);m=m.redIAdd(m);var h=m.redAdd(m);e=p.redSqr().redISub(h),n=this.y.redAdd(this.z).redSqr().redISub(d).redISub(u);var g=d.redSqr();g=g.redIAdd(g),g=g.redIAdd(g),g=g.redIAdd(g),t=p.redMul(m.redISub(e)).redISub(g)}return this.curve.jpoint(e,t,n)},l.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),a=t.redSqr(),o=n.redSqr(),s=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(i)),c=t.redAdd(t);c=c.redIAdd(c);var l=c.redMul(o),u=s.redSqr().redISub(l.redAdd(l)),d=l.redISub(u),f=o.redSqr();f=f.redIAdd(f),f=f.redIAdd(f),f=f.redIAdd(f);var p=s.redMul(d).redISub(f),m=n.redAdd(n).redMul(r);return this.curve.jpoint(u,p,m)},l.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),a=i.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(r);o=o.redIAdd(o),o=o.redAdd(o).redIAdd(o),o=o.redISub(a);var s=o.redSqr(),c=r.redIAdd(r);c=c.redIAdd(c),c=c.redIAdd(c),c=c.redIAdd(c);var l=i.redIAdd(o).redSqr().redISub(a).redISub(s).redISub(c),u=t.redMul(l);u=u.redIAdd(u),u=u.redIAdd(u);var d=this.x.redMul(s).redISub(u);d=d.redIAdd(d),d=d.redIAdd(d);var f=this.y.redMul(l.redMul(c.redISub(l)).redISub(o.redMul(s)));f=f.redIAdd(f),f=f.redIAdd(f),f=f.redIAdd(f);var p=this.z.redAdd(o).redSqr().redISub(n).redISub(s);return this.curve.jpoint(d,f,p)},l.prototype.mul=function(e,t){return e=new r(e,t),this.curve._wnafMul(this,e)},l.prototype.eq=function(e){if(e.type===`affine`)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)===0},l.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(n)===0)return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),this.x.cmp(n)===0)return!0}},l.prototype.inspect=function(){return this.isInfinity()?`<EC JPoint Infinity>`:`<EC JPoint x: `+this.x.toString(16,2)+` y: `+this.y.toString(16,2)+` z: `+this.z.toString(16,2)+`>`},l.prototype.isInfinity=function(){return this.z.cmpn(0)===0}})),Zl=i(((e,t)=>{var n=Ul(),r=Yl(),i=Jl(),a=Kl();function o(e){i.call(this,`mont`,e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}r(o,i),t.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return r.redSqrt().redSqr().cmp(r)===0};function s(e,t,r){i.BasePoint.call(this,e,`projective`),t===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(s,i.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},o.prototype.point=function(e,t){return new s(this,e,t)},o.prototype.pointFromJSON=function(e){return s.fromJSON(this,e)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray(`be`,this.curve.p.byteLength())},s.fromJSON=function(e,t){return new s(e,t[0],t[1]||e.one)},s.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` z: `+this.z.fromRed().toString(16,2)+`>`},s.prototype.isInfinity=function(){return this.z.cmpn(0)===0},s.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},s.prototype.add=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(n),o=i.redMul(r),s=t.z.redMul(a.redAdd(o).redSqr()),c=t.x.redMul(a.redISub(o).redSqr());return this.curve.point(s,c)},s.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=this,a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var o=a.length-1;o>=0;o--)a[o]===0?(n=n.diffAdd(r,i),r=r.dbl()):(r=n.diffAdd(r,i),n=n.dbl());return r},s.prototype.mulAdd=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.jumlAdd=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()}})),Ql=i(((e,t)=>{var n=Kl(),r=Ul(),i=Yl(),a=Jl(),o=n.assert;function s(e){this.twisted=(e.a|0)!=1,this.mOneA=this.twisted&&(e.a|0)==-1,this.extended=this.mOneA,a.call(this,`edwards`,e),this.a=new r(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new r(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new r(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(e.c|0)==1}i(s,a),t.exports=s,s.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},s.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},s.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},s.prototype.pointFromX=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),i=this.c2.redSub(this.a.redMul(n)),a=this.one.redSub(this.c2.redMul(this.d).redMul(n)),o=i.redMul(a.redInvm()),s=o.redSqrt();if(s.redSqr().redSub(o).cmp(this.zero)!==0)throw Error(`invalid point`);var c=s.fromRed().isOdd();return(t&&!c||!t&&c)&&(s=s.redNeg()),this.point(e,s)},s.prototype.pointFromY=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),i=n.redSub(this.c2),a=n.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(a.redInvm());if(o.cmp(this.zero)===0){if(t)throw Error(`invalid point`);return this.point(this.zero,e)}var s=o.redSqrt();if(s.redSqr().redSub(o).cmp(this.zero)!==0)throw Error(`invalid point`);return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},s.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return r.cmp(i)===0};function c(e,t,n,i,o){a.BasePoint.call(this,e,`projective`),t===null&&n===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new r(t,16),this.y=new r(n,16),this.z=i?new r(i,16):this.curve.one,this.t=o&&new r(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}i(c,a.BasePoint),s.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},s.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` y: `+this.y.fromRed().toString(16,2)+` z: `+this.z.fromRed().toString(16,2)+`>`},c.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=r.redAdd(t),o=a.redSub(n),s=r.redSub(t),c=i.redMul(o),l=a.redMul(s),u=i.redMul(s),d=o.redMul(a);return this.curve.point(c,l,d,u)},c.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),n=this.y.redSqr(),r,i,a,o,s,c;if(this.curve.twisted){o=this.curve._mulA(t);var l=o.redAdd(n);this.zOne?(r=e.redSub(t).redSub(n).redMul(l.redSub(this.curve.two)),i=l.redMul(o.redSub(n)),a=l.redSqr().redSub(l).redSub(l)):(s=this.z.redSqr(),c=l.redSub(s).redISub(s),r=e.redSub(t).redISub(n).redMul(c),i=l.redMul(o.redSub(n)),a=l.redMul(c))}else o=t.redAdd(n),s=this.curve._mulC(this.z).redSqr(),c=o.redSub(s).redSub(s),r=this.curve._mulC(e.redISub(o)).redMul(c),i=this.curve._mulC(o).redMul(t.redISub(n)),a=o.redMul(c);return this.curve.point(r,i,a)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),a=n.redSub(t),o=i.redSub(r),s=i.redAdd(r),c=n.redAdd(t),l=a.redMul(o),u=s.redMul(c),d=a.redMul(c),f=o.redMul(s);return this.curve.point(l,u,f,d)},c.prototype._projAdd=function(e){var t=this.z.redMul(e.z),n=t.redSqr(),r=this.x.redMul(e.x),i=this.y.redMul(e.y),a=this.curve.d.redMul(r).redMul(i),o=n.redSub(a),s=n.redAdd(a),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(r).redISub(i),l=t.redMul(o).redMul(c),u,d;return this.curve.twisted?(u=t.redMul(s).redMul(i.redSub(this.curve._mulA(r))),d=o.redMul(s)):(u=t.redMul(s).redMul(i.redSub(r)),d=this.curve._mulC(o).redMul(s)),this.curve.point(l,u,d)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&=this.t.redMul(e),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),this.x.cmp(t)===0)return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add})),$l=i((e=>{var t=e;t.base=Jl(),t.short=Xl(),t.mont=Zl(),t.edwards=Ql()})),eu=i((e=>{var t=Wl();e.inherits=Yl();function n(e,t){return(e.charCodeAt(t)&64512)!=55296||t<0||t+1>=e.length?!1:(e.charCodeAt(t+1)&64512)==56320}function r(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e==`string`){if(!t)for(var i=0,a=0;a<e.length;a++){var o=e.charCodeAt(a);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=o&63|128):n(e,a)?(o=65536+((o&1023)<<10)+(e.charCodeAt(++a)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=o&63|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=o&63|128)}else if(t===`hex`)for(e=e.replace(/[^a-z0-9]+/gi,``),e.length%2!=0&&(e=`0`+e),a=0;a<e.length;a+=2)r.push(parseInt(e[a]+e[a+1],16))}else for(a=0;a<e.length;a++)r[a]=e[a]|0;return r}e.toArray=r;function i(e){for(var t=``,n=0;n<e.length;n++)t+=s(e[n].toString(16));return t}e.toHex=i;function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24)>>>0}e.htonl=a;function o(e,t){for(var n=``,r=0;r<e.length;r++){var i=e[r];t===`little`&&(i=a(i)),n+=c(i.toString(16))}return n}e.toHex32=o;function s(e){return e.length===1?`0`+e:e}e.zero2=s;function c(e){return e.length===7?`0`+e:e.length===6?`00`+e:e.length===5?`000`+e:e.length===4?`0000`+e:e.length===3?`00000`+e:e.length===2?`000000`+e:e.length===1?`0000000`+e:e}e.zero8=c;function l(e,n,r,i){var a=r-n;t(a%4==0);for(var o=Array(a/4),s=0,c=n;s<o.length;s++,c+=4)o[s]=(i===`big`?e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3]:e[c+3]<<24|e[c+2]<<16|e[c+1]<<8|e[c])>>>0;return o}e.join32=l;function u(e,t){for(var n=Array(e.length*4),r=0,i=0;r<e.length;r++,i+=4){var a=e[r];t===`big`?(n[i]=a>>>24,n[i+1]=a>>>16&255,n[i+2]=a>>>8&255,n[i+3]=a&255):(n[i+3]=a>>>24,n[i+2]=a>>>16&255,n[i+1]=a>>>8&255,n[i]=a&255)}return n}e.split32=u;function d(e,t){return e>>>t|e<<32-t}e.rotr32=d;function f(e,t){return e<<t|e>>>32-t}e.rotl32=f;function p(e,t){return e+t>>>0}e.sum32=p;function m(e,t,n){return e+t+n>>>0}e.sum32_3=m;function h(e,t,n,r){return e+t+n+r>>>0}e.sum32_4=h;function g(e,t,n,r,i){return e+t+n+r+i>>>0}e.sum32_5=g;function _(e,t,n,r){var i=e[t],a=r+e[t+1]>>>0;e[t]=+(a<r)+n+i>>>0,e[t+1]=a}e.sum64=_;function v(e,t,n,r){return+(t+r>>>0<t)+e+n>>>0}e.sum64_hi=v;function y(e,t,n,r){return t+r>>>0}e.sum64_lo=y;function b(e,t,n,r,i,a,o,s){var c=0,l=t;return l=l+r>>>0,c+=+(l<t),l=l+a>>>0,c+=+(l<a),l=l+s>>>0,c+=+(l<s),e+n+i+o+c>>>0}e.sum64_4_hi=b;function x(e,t,n,r,i,a,o,s){return t+r+a+s>>>0}e.sum64_4_lo=x;function S(e,t,n,r,i,a,o,s,c,l){var u=0,d=t;return d=d+r>>>0,u+=+(d<t),d=d+a>>>0,u+=+(d<a),d=d+s>>>0,u+=+(d<s),d=d+l>>>0,u+=+(d<l),e+n+i+o+c+u>>>0}e.sum64_5_hi=S;function C(e,t,n,r,i,a,o,s,c,l){return t+r+a+s+l>>>0}e.sum64_5_lo=C;function w(e,t,n){return(t<<32-n|e>>>n)>>>0}e.rotr64_hi=w;function T(e,t,n){return(e<<32-n|t>>>n)>>>0}e.rotr64_lo=T;function E(e,t,n){return e>>>n}e.shr64_hi=E;function D(e,t,n){return(e<<32-n|t>>>n)>>>0}e.shr64_lo=D})),tu=i((e=>{var t=eu(),n=Wl();function r(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=`big`,this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=r,r.prototype.update=function(e,n){if(e=t.toArray(e,n),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var r=e.length%this._delta8;this.pending=e.slice(e.length-r,e.length),this.pending.length===0&&(this.pending=null),e=t.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},r.prototype.digest=function(e){return this.update(this._pad()),n(this.pending===null),this._digest(e)},r.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,this.endian===`big`){for(var a=8;a<this.padLength;a++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=e&255}else for(r[i++]=e&255,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,a=8;a<this.padLength;a++)r[i++]=0;return r}})),nu=i((e=>{var t=eu().rotr32;function n(e,t,n,o){if(e===0)return r(t,n,o);if(e===1||e===3)return a(t,n,o);if(e===2)return i(t,n,o)}e.ft_1=n;function r(e,t,n){return e&t^~e&n}e.ch32=r;function i(e,t,n){return e&t^e&n^t&n}e.maj32=i;function a(e,t,n){return e^t^n}e.p32=a;function o(e){return t(e,2)^t(e,13)^t(e,22)}e.s0_256=o;function s(e){return t(e,6)^t(e,11)^t(e,25)}e.s1_256=s;function c(e){return t(e,7)^t(e,18)^e>>>3}e.g0_256=c;function l(e){return t(e,17)^t(e,19)^e>>>10}e.g1_256=l})),ru=i(((e,t)=>{var n=eu(),r=tu(),i=nu(),a=n.rotl32,o=n.sum32,s=n.sum32_5,c=i.ft_1,l=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}n.inherits(d,l),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=a(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],l=this.h[1],d=this.h[2],f=this.h[3],p=this.h[4];for(r=0;r<n.length;r++){var m=~~(r/20),h=s(a(i,5),c(m,l,d,f),p,n[r],u[m]);p=f,f=d,d=a(l,30),l=i,i=h}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],l),this.h[2]=o(this.h[2],d),this.h[3]=o(this.h[3],f),this.h[4]=o(this.h[4],p)},d.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)}})),iu=i(((e,t)=>{var n=eu(),r=tu(),i=nu(),a=Wl(),o=n.sum32,s=n.sum32_4,c=n.sum32_5,l=i.ch32,u=i.maj32,d=i.s0_256,f=i.s1_256,p=i.g0_256,m=i.g1_256,h=r.BlockHash,g=[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];function _(){if(!(this instanceof _))return new _;h.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=Array(64)}n.inherits(_,h),t.exports=_,_.blockSize=512,_.outSize=256,_.hmacStrength=192,_.padLength=64,_.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=s(m(n[r-2]),n[r-7],p(n[r-15]),n[r-16]);var i=this.h[0],h=this.h[1],g=this.h[2],_=this.h[3],v=this.h[4],y=this.h[5],b=this.h[6],x=this.h[7];for(a(this.k.length===n.length),r=0;r<n.length;r++){var S=c(x,f(v),l(v,y,b),this.k[r],n[r]),C=o(d(i),u(i,h,g));x=b,b=y,y=v,v=o(_,S),_=g,g=h,h=i,i=o(S,C)}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],h),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],_),this.h[4]=o(this.h[4],v),this.h[5]=o(this.h[5],y),this.h[6]=o(this.h[6],b),this.h[7]=o(this.h[7],x)},_.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)}})),au=i(((e,t)=>{var n=eu(),r=iu();function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(i,r),t.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h.slice(0,7),`big`):n.split32(this.h.slice(0,7),`big`)}})),ou=i(((e,t)=>{var n=eu(),r=tu(),i=Wl(),a=n.rotr64_hi,o=n.rotr64_lo,s=n.shr64_hi,c=n.shr64_lo,l=n.sum64,u=n.sum64_hi,d=n.sum64_lo,f=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,h=n.sum64_5_lo,g=r.BlockHash,_=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=_,this.W=Array(160)}n.inherits(v,g),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=k(n[r-4],n[r-3]),a=A(n[r-4],n[r-3]),o=n[r-14],s=n[r-13],c=D(n[r-30],n[r-29]),l=O(n[r-30],n[r-29]),u=n[r-32],d=n[r-31];n[r]=f(i,a,o,s,c,l,u,d),n[r+1]=p(i,a,o,s,c,l,u,d)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],a=this.h[1],o=this.h[2],s=this.h[3],c=this.h[4],f=this.h[5],p=this.h[6],g=this.h[7],_=this.h[8],v=this.h[9],D=this.h[10],O=this.h[11],k=this.h[12],A=this.h[13],j=this.h[14],M=this.h[15];i(this.k.length===n.length);for(var N=0;N<n.length;N+=2){var P=j,F=M,I=T(_,v),L=E(_,v),R=y(_,v,D,O,k,A),z=b(_,v,D,O,k,A),ee=this.k[N],B=this.k[N+1],V=n[N],te=n[N+1],H=m(P,F,I,L,R,z,ee,B,V,te),ne=h(P,F,I,L,R,z,ee,B,V,te);P=C(r,a),F=w(r,a),I=x(r,a,o,s,c,f),L=S(r,a,o,s,c,f);var re=u(P,F,I,L),U=d(P,F,I,L);j=k,M=A,k=D,A=O,D=_,O=v,_=u(p,g,H,ne),v=d(g,g,H,ne),p=c,g=f,c=o,f=s,o=r,s=a,r=u(H,ne,re,U),a=d(H,ne,re,U)}l(this.h,0,r,a),l(this.h,2,o,s),l(this.h,4,c,f),l(this.h,6,p,g),l(this.h,8,_,v),l(this.h,10,D,O),l(this.h,12,k,A),l(this.h,14,j,M)},v.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)};function y(e,t,n,r,i){var a=e&n^~e&i;return a<0&&(a+=4294967296),a}function b(e,t,n,r,i,a){var o=t&r^~t&a;return o<0&&(o+=4294967296),o}function x(e,t,n,r,i){var a=e&n^e&i^n&i;return a<0&&(a+=4294967296),a}function S(e,t,n,r,i,a){var o=t&r^t&a^r&a;return o<0&&(o+=4294967296),o}function C(e,t){var n=a(e,t,28),r=a(t,e,2),i=a(t,e,7),o=n^r^i;return o<0&&(o+=4294967296),o}function w(e,t){var n=o(e,t,28),r=o(t,e,2),i=o(t,e,7),a=n^r^i;return a<0&&(a+=4294967296),a}function T(e,t){var n=a(e,t,14),r=a(e,t,18),i=a(t,e,9),o=n^r^i;return o<0&&(o+=4294967296),o}function E(e,t){var n=o(e,t,14),r=o(e,t,18),i=o(t,e,9),a=n^r^i;return a<0&&(a+=4294967296),a}function D(e,t){var n=a(e,t,1),r=a(e,t,8),i=s(e,t,7),o=n^r^i;return o<0&&(o+=4294967296),o}function O(e,t){var n=o(e,t,1),r=o(e,t,8),i=c(e,t,7),a=n^r^i;return a<0&&(a+=4294967296),a}function k(e,t){var n=a(e,t,19),r=a(t,e,29),i=s(e,t,6),o=n^r^i;return o<0&&(o+=4294967296),o}function A(e,t){var n=o(e,t,19),r=o(t,e,29),i=c(e,t,6),a=n^r^i;return a<0&&(a+=4294967296),a}})),su=i(((e,t)=>{var n=eu(),r=ou();function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(i,r),t.exports=i,i.blockSize=1024,i.outSize=384,i.hmacStrength=192,i.padLength=128,i.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h.slice(0,12),`big`):n.split32(this.h.slice(0,12),`big`)}})),cu=i((e=>{e.sha1=ru(),e.sha224=au(),e.sha256=iu(),e.sha384=su(),e.sha512=ou()})),lu=i((e=>{var t=eu(),n=tu(),r=t.rotl32,i=t.sum32,a=t.sum32_3,o=t.sum32_4,s=n.BlockHash;function c(){if(!(this instanceof c))return new c;s.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=`little`}t.inherits(c,s),e.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(e,t){for(var n=this.h[0],s=this.h[1],c=this.h[2],g=this.h[3],_=this.h[4],v=n,y=s,b=c,x=g,S=_,C=0;C<80;C++){var w=i(r(o(n,l(C,s,c,g),e[f[C]+t],u(C)),m[C]),_);n=_,_=g,g=r(c,10),c=s,s=w,w=i(r(o(v,l(79-C,y,b,x),e[p[C]+t],d(C)),h[C]),S),v=S,S=x,x=r(b,10),b=y,y=w}w=a(this.h[1],c,x),this.h[1]=a(this.h[2],g,S),this.h[2]=a(this.h[3],_,v),this.h[3]=a(this.h[4],n,y),this.h[4]=a(this.h[0],s,b),this.h[0]=w},c.prototype._digest=function(e){return e===`hex`?t.toHex32(this.h,`little`):t.split32(this.h,`little`)};function l(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function u(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function d(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]})),uu=i(((e,t)=>{var n=eu(),r=Wl();function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}t.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=new this.Hash().update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=new this.Hash().update(e)},i.prototype.update=function(e,t){return this.inner.update(e,t),this},i.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}})),du=i((e=>{var t=e;t.utils=eu(),t.common=tu(),t.sha=cu(),t.ripemd=lu(),t.hmac=uu(),t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160})),fu=i(((e,t)=>{t.exports={doubles:{step:4,points:[[`e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a`,`f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821`],[`8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508`,`11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf`],[`175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739`,`d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695`],[`363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640`,`4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9`],[`8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c`,`4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36`],[`723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda`,`96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f`],[`eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa`,`5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999`],[`100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0`,`cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09`],[`e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d`,`9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d`],[`feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d`,`e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088`],[`da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1`,`9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d`],[`53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0`,`5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8`],[`8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047`,`10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a`],[`385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862`,`283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453`],[`6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7`,`7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160`],[`3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd`,`56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0`],[`85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83`,`7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6`],[`948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a`,`53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589`],[`6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8`,`bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17`],[`e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d`,`4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda`],[`e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725`,`7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd`],[`213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754`,`4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2`],[`4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c`,`17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6`],[`fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6`,`6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f`],[`76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39`,`c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01`],[`c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891`,`893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3`],[`d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b`,`febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f`],[`b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03`,`2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7`],[`e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d`,`eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78`],[`a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070`,`7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1`],[`90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4`,`e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150`],[`8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da`,`662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82`],[`e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11`,`1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc`],[`8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e`,`efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b`],[`e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41`,`2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51`],[`b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef`,`67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45`],[`d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8`,`db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120`],[`324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d`,`648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84`],[`4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96`,`35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d`],[`9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd`,`ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d`],[`6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5`,`9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8`],[`a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266`,`40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8`],[`7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71`,`34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac`],[`928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac`,`c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f`],[`85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751`,`1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962`],[`ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e`,`493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907`],[`827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241`,`c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec`],[`eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3`,`be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d`],[`e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f`,`4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414`],[`1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19`,`aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd`],[`146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be`,`b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0`],[`fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9`,`6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811`],[`da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2`,`8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1`],[`a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13`,`7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c`],[`174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c`,`ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73`],[`959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba`,`2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd`],[`d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151`,`e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405`],[`64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073`,`d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589`],[`8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458`,`38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e`],[`13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b`,`69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27`],[`bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366`,`d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1`],[`8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa`,`40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482`],[`8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0`,`620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945`],[`dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787`,`7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573`],[`f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e`,`ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82`]]},naf:{wnd:7,points:[[`f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9`,`388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672`],[`2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4`,`d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6`],[`5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc`,`6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da`],[`acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe`,`cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37`],[`774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb`,`d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b`],[`f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8`,`ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81`],[`d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e`,`581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58`],[`defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34`,`4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77`],[`2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c`,`85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a`],[`352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5`,`321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c`],[`2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f`,`2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67`],[`9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714`,`73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402`],[`daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729`,`a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55`],[`c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db`,`2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482`],[`6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4`,`e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82`],[`1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5`,`b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396`],[`605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479`,`2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49`],[`62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d`,`80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf`],[`80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f`,`1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a`],[`7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb`,`d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7`],[`d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9`,`eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933`],[`49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963`,`758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a`],[`77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74`,`958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6`],[`f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530`,`e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37`],[`463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b`,`5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e`],[`f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247`,`cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6`],[`caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1`,`cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476`],[`2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120`,`4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40`],[`7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435`,`91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61`],[`754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18`,`673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683`],[`e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8`,`59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5`],[`186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb`,`3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b`],[`df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f`,`55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417`],[`5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143`,`efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868`],[`290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba`,`e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a`],[`af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45`,`f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6`],[`766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a`,`744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996`],[`59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e`,`c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e`],[`f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8`,`e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d`],[`7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c`,`30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2`],[`948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519`,`e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e`],[`7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab`,`100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437`],[`3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca`,`ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311`],[`d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf`,`8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4`],[`1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610`,`68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575`],[`733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4`,`f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d`],[`15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c`,`d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d`],[`a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940`,`edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629`],[`e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980`,`a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06`],[`311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3`,`66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374`],[`34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf`,`9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee`],[`f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63`,`4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1`],[`d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448`,`fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b`],[`32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf`,`5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661`],[`7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5`,`8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6`],[`ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6`,`8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e`],[`16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5`,`5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d`],[`eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99`,`f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc`],[`78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51`,`f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4`],[`494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5`,`42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c`],[`a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5`,`204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b`],[`c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997`,`4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913`],[`841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881`,`73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154`],[`5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5`,`39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865`],[`36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66`,`d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc`],[`336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726`,`ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224`],[`8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede`,`6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e`],[`1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94`,`60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6`],[`85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31`,`3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511`],[`29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51`,`b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b`],[`a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252`,`ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2`],[`4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5`,`cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c`],[`d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b`,`6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3`],[`ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4`,`322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d`],[`af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f`,`6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700`],[`e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889`,`2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4`],[`591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246`,`b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196`],[`11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984`,`998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4`],[`3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a`,`b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257`],[`cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030`,`bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13`],[`c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197`,`6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096`],[`c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593`,`c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38`],[`a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef`,`21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f`],[`347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38`,`60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448`],[`da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a`,`49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a`],[`c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111`,`5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4`],[`4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502`,`7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437`],[`3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea`,`be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7`],[`cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26`,`8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d`],[`b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986`,`39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a`],[`d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e`,`62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54`],[`48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4`,`25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77`],[`dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda`,`ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517`],[`6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859`,`cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10`],[`e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f`,`f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125`],[`eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c`,`6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e`],[`13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942`,`fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1`],[`ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a`,`1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2`],[`b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80`,`5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423`],[`ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d`,`438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8`],[`8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1`,`cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758`],[`52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63`,`c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375`],[`e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352`,`6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d`],[`7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193`,`ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec`],[`5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00`,`9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0`],[`32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58`,`ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c`],[`e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7`,`d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4`],[`8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8`,`c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f`],[`4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e`,`67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649`],[`3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d`,`cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826`],[`674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b`,`299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5`],[`d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f`,`f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87`],[`30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6`,`462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b`],[`be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297`,`62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc`],[`93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a`,`7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c`],[`b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c`,`ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f`],[`d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52`,`4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a`],[`d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb`,`bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46`],[`463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065`,`bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f`],[`7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917`,`603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03`],[`74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9`,`cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08`],[`30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3`,`553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8`],[`9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57`,`712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373`],[`176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66`,`ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3`],[`75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8`,`9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8`],[`809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721`,`9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1`],[`1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180`,`4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9`]]}}})),pu=i((e=>{var t=e,n=du(),r=$l(),i=Kl().assert;function a(e){e.type===`short`?this.curve=new r.short(e):e.type===`edwards`?this.curve=new r.edwards(e):this.curve=new r.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),`Invalid curve`),i(this.g.mul(this.n).isInfinity(),`Invalid curve, G*N != O`)}t.PresetCurve=a;function o(e,n){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=new a(n);return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:r}),r}})}o(`p192`,{type:`short`,prime:`p192`,p:`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff`,a:`ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc`,b:`64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1`,n:`ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831`,hash:n.sha256,gRed:!1,g:[`188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012`,`07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811`]}),o(`p224`,{type:`short`,prime:`p224`,p:`ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001`,a:`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe`,b:`b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4`,n:`ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d`,hash:n.sha256,gRed:!1,g:[`b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21`,`bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34`]}),o(`p256`,{type:`short`,prime:null,p:`ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff`,a:`ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc`,b:`5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b`,n:`ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551`,hash:n.sha256,gRed:!1,g:[`6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296`,`4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5`]}),o(`p384`,{type:`short`,prime:null,p:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff`,a:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc`,b:`b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef`,n:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973`,hash:n.sha384,gRed:!1,g:[`aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7`,`3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f`]}),o(`p521`,{type:`short`,prime:null,p:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff`,a:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc`,b:`00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00`,n:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409`,hash:n.sha512,gRed:!1,g:[`000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66`,`00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650`]}),o(`curve25519`,{type:`mont`,prime:`p25519`,p:`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`,a:`76d06`,b:`1`,n:`1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed`,hash:n.sha256,gRed:!1,g:[`9`]}),o(`ed25519`,{type:`edwards`,prime:`p25519`,p:`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`,a:`-1`,c:`1`,d:`52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3`,n:`1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed`,hash:n.sha256,gRed:!1,g:[`216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`,`6666666666666666666666666666666666666666666666666666666666666658`]});var s;try{s=fu()}catch{s=void 0}o(`secp256k1`,{type:`short`,prime:`k256`,p:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f`,a:`0`,b:`7`,n:`ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141`,h:`1`,hash:n.sha256,beta:`7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`,lambda:`5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72`,basis:[{a:`3086d221a7d46bcde86c90e49284eb15`,b:`-e4437ed6010e88286f547fa90abfe4c3`},{a:`114ca50f7a8e2f3f657c1108d9d44cfd8`,b:`3086d221a7d46bcde86c90e49284eb15`}],gRed:!1,g:[`79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798`,`483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8`,s]})})),mu=i(((e,t)=>{var n=du(),r=Gl(),i=Wl();function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=r.toArray(e.entropy,e.entropyEnc||`hex`),n=r.toArray(e.nonce,e.nonceEnc||`hex`),o=r.toArray(e.pers,e.persEnc||`hex`);i(t.length>=this.minEntropy/8,`Not enough entropy. Minimum is: `+this.minEntropy+` bits`),this._init(t,n,o)}t.exports=a,a.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,n,a){typeof t!=`string`&&(a=n,n=t,t=null),e=r.toArray(e,t),n=r.toArray(n,a),i(e.length>=this.minEntropy/8,`Not enough entropy. Minimum is: `+this.minEntropy+` bits`),this._update(e.concat(n||[])),this._reseed=1},a.prototype.generate=function(e,t,n,i){if(this._reseed>this.reseedInterval)throw Error(`Reseed is required`);typeof t!=`string`&&(i=n,n=t,t=null),n&&(n=r.toArray(n,i||`hex`),this._update(n));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var o=a.slice(0,e);return this._update(n),this._reseed++,r.encode(o,t)}})),hu=i(((e,t)=>{var n=Ul(),r=Kl().assert;function i(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}t.exports=i,i.fromPublic=function(e,t,n){return t instanceof i?t:new i(e,{pub:t,pubEnc:n})},i.fromPrivate=function(e,t,n){return t instanceof i?t:new i(e,{priv:t,privEnc:n})},i.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:`Invalid public key`}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:`Public key * N != O`}:{result:!1,reason:`Public key is not a point`}},i.prototype.getPublic=function(e,t){return typeof e==`string`&&(t=e,e=null),this.pub||=this.ec.g.mul(this.priv),t?this.pub.encode(t,e):this.pub},i.prototype.getPrivate=function(e){return e===`hex`?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type===`mont`?r(e.x,`Need x coordinate`):(this.ec.curve.type===`short`||this.ec.curve.type===`edwards`)&&r(e.x&&e.y,`Need both x and y coordinate`),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},i.prototype.derive=function(e){return e.validate()||r(e.validate(),`public point not validated`),e.mul(this.priv).getX()},i.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},i.prototype.verify=function(e,t,n){return this.ec.verify(e,t,this,void 0,n)},i.prototype.inspect=function(){return`<Key priv: `+(this.priv&&this.priv.toString(16,2))+` pub: `+(this.pub&&this.pub.inspect())+` >`}})),gu=i(((e,t)=>{var n=Ul(),r=Kl(),i=r.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(i(e.r&&e.s,`Signature without r or s`),this.r=new n(e.r,16),this.s=new n(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}t.exports=a;function o(){this.place=0}function s(e,t){var n=e[t.place++];if(!(n&128))return n;var r=n&15;if(r===0||r>4||e[t.place]===0)return!1;for(var i=0,a=0,o=t.place;a<r;a++,o++)i<<=8,i|=e[o],i>>>=0;return i<=127?!1:(t.place=o,i)}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(e[t+1]&128)&&t<n;)t++;return t===0?e:e.slice(t)}a.prototype._importDER=function(e,t){e=r.toArray(e,t);var i=new o;if(e[i.place++]!==48)return!1;var a=s(e,i);if(a===!1||a+i.place!==e.length||e[i.place++]!==2)return!1;var c=s(e,i);if(c===!1||e[i.place]&128)return!1;var l=e.slice(i.place,c+i.place);if(i.place+=c,e[i.place++]!==2)return!1;var u=s(e,i);if(u===!1||e.length!==u+i.place||e[i.place]&128)return!1;var d=e.slice(i.place,u+i.place);if(l[0]===0)if(l[1]&128)l=l.slice(1);else return!1;if(d[0]===0)if(d[1]&128)d=d.slice(1);else return!1;return this.r=new n(l),this.s=new n(d),this.recoveryParam=null,!0};function l(e,t){if(t<128){e.push(t);return}var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(n|128);--n;)e.push(t>>>(n<<3)&255);e.push(t)}a.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),n[0]&128&&(n=[0].concat(n)),t=c(t),n=c(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var i=[2];l(i,t.length),i=i.concat(t),i.push(2),l(i,n.length);var a=i.concat(n),o=[48];return l(o,a.length),o=o.concat(a),r.encode(o,e)}})),_u=i(((e,t)=>{var n=Ul(),r=mu(),i=Kl(),a=pu(),o=ql(),s=i.assert,c=hu(),l=gu();function u(e){if(!(this instanceof u))return new u(e);typeof e==`string`&&(s(Object.prototype.hasOwnProperty.call(a,e),`Unknown curve `+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}t.exports=u,u.prototype.keyPair=function(e){return new c(this,e)},u.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},u.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},u.prototype.genKeyPair=function(e){e||={};for(var t=new r({hash:this.hash,pers:e.pers,persEnc:e.persEnc||`utf8`,entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||`utf8`,nonce:this.n.toArray()}),i=this.n.byteLength(),a=this.n.sub(new n(2));;){var s=new n(t.generate(i));if(!(s.cmp(a)>0))return s.iaddn(1),this.keyFromPrivate(s)}},u.prototype._truncateToN=function(e,t,r){var i;if(n.isBN(e)||typeof e==`number`)e=new n(e,16),i=e.byteLength();else if(typeof e==`object`)i=e.length,e=new n(e,16);else{var a=e.toString();i=a.length+1>>>1,e=new n(a,16)}typeof r!=`number`&&(r=i*8);var o=r-this.n.bitLength();return o>0&&(e=e.ushrn(o)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},u.prototype.sign=function(e,t,i,a){if(typeof i==`object`&&(a=i,i=null),a||={},typeof e!=`string`&&typeof e!=`number`&&!n.isBN(e)){s(typeof e==`object`&&e&&typeof e.length==`number`,`Expected message to be an array-like, a hex string, or a BN instance`),s(e.length>>>0===e.length);for(var o=0;o<e.length;o++)s((e[o]&255)===e[o])}t=this.keyFromPrivate(t,i),e=this._truncateToN(e,!1,a.msgBitLength),s(!e.isNeg(),`Can not sign a negative message`);var c=this.n.byteLength(),u=t.getPrivate().toArray(`be`,c),d=e.toArray(`be`,c);s(new n(d).eq(e),`Can not sign message`);for(var f=new r({hash:this.hash,entropy:u,nonce:d,pers:a.pers,persEnc:a.persEnc||`utf8`}),p=this.n.sub(new n(1)),m=0;;m++){var h=a.k?a.k(m):new n(f.generate(this.n.byteLength()));if(h=this._truncateToN(h,!0),!(h.cmpn(1)<=0||h.cmp(p)>=0)){var g=this.g.mul(h);if(!g.isInfinity()){var _=g.getX(),v=_.umod(this.n);if(v.cmpn(0)!==0){var y=h.invm(this.n).mul(v.mul(t.getPrivate()).iadd(e));if(y=y.umod(this.n),y.cmpn(0)!==0){var b=!!g.getY().isOdd()|(_.cmp(v)===0?0:2);return a.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),b^=1),new l({r:v,s:y,recoveryParam:b})}}}}}},u.prototype.verify=function(e,t,n,r,i){i||={},e=this._truncateToN(e,!1,i.msgBitLength),n=this.keyFromPublic(n,r),t=new l(t,`hex`);var a=t.r,o=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s=o.invm(this.n),c=s.mul(e).umod(this.n),u=s.mul(a).umod(this.n),d;return this.curve._maxwellTrick?(d=this.g.jmulAdd(c,n.getPublic(),u),d.isInfinity()?!1:d.eqXToP(a)):(d=this.g.mulAdd(c,n.getPublic(),u),d.isInfinity()?!1:d.getX().umod(this.n).cmp(a)===0)},u.prototype.recoverPubKey=function(e,t,r,i){s((3&r)===r,`The recovery param is more than two bits`),t=new l(t,i);var a=this.n,o=new n(e),c=t.r,u=t.s,d=r&1,f=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw Error(`Unable to find sencond key candinate`);c=f?this.curve.pointFromX(c.add(this.curve.n),d):this.curve.pointFromX(c,d);var p=t.r.invm(a),m=a.sub(o).mul(p).umod(a),h=u.mul(p).umod(a);return this.g.mulAdd(m,c,h)},u.prototype.getKeyRecoveryParam=function(e,t,n,r){if(t=new l(t,r),t.recoveryParam!==null)return t.recoveryParam;for(var i=0;i<4;i++){var a;try{a=this.recoverPubKey(e,t,i)}catch{continue}if(a.eq(n))return i}throw Error(`Unable to find valid recovery factor`)}})),vu=i(((e,t)=>{var n=Kl(),r=n.assert,i=n.parseBytes,a=n.cachedProperty;function o(e,t){this.eddsa=e,this._secret=i(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=i(t.pub)}o.fromPublic=function(e,t){return t instanceof o?t:new o(e,{pub:t})},o.fromSecret=function(e,t){return t instanceof o?t:new o(e,{secret:t})},o.prototype.secret=function(){return this._secret},a(o,`pubBytes`,function(){return this.eddsa.encodePoint(this.pub())}),a(o,`pub`,function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),a(o,`privBytes`,function(){var e=this.eddsa,t=this.hash(),n=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[n]&=127,r[n]|=64,r}),a(o,`priv`,function(){return this.eddsa.decodeInt(this.privBytes())}),a(o,`hash`,function(){return this.eddsa.hash().update(this.secret()).digest()}),a(o,`messagePrefix`,function(){return this.hash().slice(this.eddsa.encodingLength)}),o.prototype.sign=function(e){return r(this._secret,`KeyPair can only verify`),this.eddsa.sign(e,this)},o.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},o.prototype.getSecret=function(e){return r(this._secret,`KeyPair is public only`),n.encode(this.secret(),e)},o.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},t.exports=o})),yu=i(((e,t)=>{var n=Ul(),r=Kl(),i=r.assert,a=r.cachedProperty,o=r.parseBytes;function s(e,t){this.eddsa=e,typeof t!=`object`&&(t=o(t)),Array.isArray(t)&&(i(t.length===e.encodingLength*2,`Signature has invalid size`),t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),i(t.R&&t.S,`Signature without R or S`),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(s,`S`,function(){return this.eddsa.decodeInt(this.Sencoded())}),a(s,`R`,function(){return this.eddsa.decodePoint(this.Rencoded())}),a(s,`Rencoded`,function(){return this.eddsa.encodePoint(this.R())}),a(s,`Sencoded`,function(){return this.eddsa.encodeInt(this.S())}),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return r.encode(this.toBytes(),`hex`).toUpperCase()},t.exports=s})),bu=i(((e,t)=>{var n=du(),r=pu(),i=Kl(),a=i.assert,o=i.parseBytes,s=vu(),c=yu();function l(e){if(a(e===`ed25519`,`only tested with ed25519 so far`),!(this instanceof l))return new l(e);e=r[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}t.exports=l,l.prototype.sign=function(e,t){e=o(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),a=this.encodePoint(i),s=this.hashInt(a,n.pubBytes(),e).mul(n.priv()),c=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:c,Rencoded:a})},l.prototype.verify=function(e,t,n){if(e=o(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(a)},l.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return i.intFromLE(e.digest()).umod(this.curve.n)},l.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},l.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},l.prototype.makeSignature=function(e){return e instanceof c?e:new c(this,e)},l.prototype.encodePoint=function(e){var t=e.getY().toArray(`le`,this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},l.prototype.decodePoint=function(e){e=i.parseBytes(e);var t=e.length-1,n=e.slice(0,t).concat(e[t]&-129),r=(e[t]&128)!=0,a=i.intFromLE(n);return this.curve.pointFromY(a,r)},l.prototype.encodeInt=function(e){return e.toArray(`le`,this.encodingLength)},l.prototype.decodeInt=function(e){return i.intFromLE(e)},l.prototype.isPoint=function(e){return e instanceof this.pointClass}})),xu=i((t=>{var n=t;n.version=(Hl(),e(Dl).default).version,n.utils=Kl(),n.rand=ql(),n.curve=$l(),n.curves=pu(),n.ec=_u(),n.eddsa=bu()}))(),Su={waku:{publish:`waku_publish`,batchPublish:`waku_batchPublish`,subscribe:`waku_subscribe`,batchSubscribe:`waku_batchSubscribe`,subscription:`waku_subscription`,unsubscribe:`waku_unsubscribe`,batchUnsubscribe:`waku_batchUnsubscribe`,batchFetchMessages:`waku_batchFetchMessages`},irn:{publish:`irn_publish`,batchPublish:`irn_batchPublish`,subscribe:`irn_subscribe`,batchSubscribe:`irn_batchSubscribe`,subscription:`irn_subscription`,unsubscribe:`irn_unsubscribe`,batchUnsubscribe:`irn_batchUnsubscribe`,batchFetchMessages:`irn_batchFetchMessages`},iridium:{publish:`iridium_publish`,batchPublish:`iridium_batchPublish`,subscribe:`iridium_subscribe`,batchSubscribe:`iridium_batchSubscribe`,subscription:`iridium_subscription`,unsubscribe:`iridium_unsubscribe`,batchUnsubscribe:`iridium_batchUnsubscribe`,batchFetchMessages:`iridium_batchFetchMessages`}},Cu=i(((e,t)=>{t.exports=function(){throw Error(`ws does not work in the browser. Browser clients must use the native WebSocket object`)}})),wu=()=>typeof WebSocket<`u`?WebSocket:typeof global<`u`&&typeof global.WebSocket<`u`?global.WebSocket:typeof window<`u`&&typeof window.WebSocket<`u`?window.WebSocket:typeof self<`u`&&typeof self.WebSocket<`u`?self.WebSocket:Cu(),Tu=()=>typeof WebSocket<`u`||typeof global<`u`&&typeof global.WebSocket<`u`||typeof window<`u`&&typeof window.WebSocket<`u`||typeof self<`u`&&typeof self.WebSocket<`u`,Eu=e=>e.split(`?`)[0],Du=10,Ou=wu(),ku=class{constructor(e){if(this.url=e,this.events=new Nt.EventEmitter,this.registering=!1,!d(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<`u`}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>`u`){t(Error(`Connection already closed`));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>`u`&&(this.socket=await this.register());try{this.socket.send(l(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!d(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount(`register_error`)>=e||this.events.listenerCount(`open`)>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once(`register_error`,e=>{this.resetMaxListeners(),t(e)}),this.events.once(`open`,()=>{if(this.resetMaxListeners(),typeof this.socket>`u`)return t(Error(`WebSocket connection is missing or invalid`));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{let r=new Ou(e,[],(0,ue.isReactNative)()?void 0:{rejectUnauthorized:!f(e)});Tu()?r.onerror=e=>{let t=e;n(this.emitError(t.error))}:r.on(`error`,e=>{n(this.emitError(e))}),r.onopen=()=>{this.onOpen(r),t(r)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),this.socket=e,this.registering=!1,this.events.emit(`open`)}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(`close`,e)}onPayload(e){if(typeof e.data>`u`)return;let t=typeof e.data==`string`?fe(e.data):e.data;this.events.emit(`payload`,t)}onError(e,t){let n=this.parseError(t),r=x(e,n.message||n.toString());this.events.emit(`payload`,r)}parseError(e,t=this.url){return b(e,Eu(t),`WS`)}resetMaxListeners(){this.events.getMaxListeners()>Du&&this.events.setMaxListeners(Du)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${Eu(this.url)}`));return this.events.emit(`register_error`,t),t}};function Au(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function ju(e){return Au(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Mu=`2.48.8`,Nu={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Mu}`},Pu=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Nu.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Nu.version?[`Version: ${Nu.version}`]:[]].join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-CBKdYWfq.js","assets/rolldown-runtime--c01j_DQ.js","assets/utils-CGq_Culp.js","assets/secp256k1-ClVDFbCG.js","assets/utils-Br0svb7K.js","assets/basic-qB2zBf_T.js","assets/index-BbCaZ5EZ.js","assets/preload-helper-zJ_50EbN.js","assets/constants-BvG5EAGh.js","assets/vendor-chart-mdwpew_o.js","assets/vendor-axios-Ck2ffRoh.js","assets/button-DWzbdjZV.js","assets/use-deprecated-CPfQu7wa.js","assets/install-ClulZuUd.js","assets/en-CpRrS3Ur.js","assets/runtime-Cvku-lF9.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/use-dialog-Daprv7SC.js","assets/teleport-B3tPbGeJ.js","assets/aria-CQaCu-Fx.js","assets/event-BGnHezxC.js","assets/scroll-Dk1pKbmY.js","assets/vnode-BMVwTmkF.js","assets/use-aria-B1wQLdcx.js","assets/vendor-vue-router-ChMPprnO.js","assets/index-DDM8TkaO.css","assets/lit-Czpkz5lw.js","assets/wui-text-IdpNh4yv.js","assets/ConstantsUtil-CiJQ7E9o.js","assets/ConnectorUtil-BNHqGaBo.js","assets/w3m-modal-CcAeUAZf.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e,n as t,o as n,r,t as i}from"./rolldown-runtime--c01j_DQ.js";import{t as a}from"./preload-helper-zJ_50EbN.js";import{Pn as o}from"./index-BbCaZ5EZ.js";import{$ as s,A as c,B as l,C as u,D as d,E as f,F as p,H as m,I as h,J as g,K as _,L as v,M as y,N as b,O as x,P as S,Q as C,R as w,S as T,T as E,U as D,V as O,W as k,Y as A,Z as j,_ as M,at as N,b as P,c as F,d as I,et as L,f as R,g as z,h as ee,it as B,j as V,k as te,l as H,m as ne,nt as re,p as U,q as ie,rt as ae,tt as oe,u as se,v as ce,w as le,x as ue,y as de,z as fe}from"./ConstantsUtil-CiJQ7E9o.js";import{a as pe,r as me,t as he}from"./index.browser.esm-D2oXUHNB.js";import{i as W,n as ge,r as _e}from"./ConnectorUtil-BNHqGaBo.js";import{a as ve,c as ye,d as be,f as xe,h as Se,l as Ce,m as we,n as Te,t as Ee,u as De}from"./utils-Br0svb7K.js";import{E as Oe,T as ke,b as Ae,g as je,l as Me,m as Ne,n as Pe,o as Fe,s as Ie,w as Le,y as Re}from"./esm-XM2jj6jY.js";import{a as ze,c as Be,d as Ve,f as He,h as Ue,l as We,m as Ge,n as Ke,t as qe,u as Je}from"./utils-CGq_Culp.js";var Ye={validateCaipAddress(e){if(e.split(`:`)?.length!==3)throw Error(`Invalid CAIP Address`);return e},parseCaipAddress(e){let t=e.split(`:`);if(t.length!==3)throw Error(`Invalid CAIP-10 address: ${e}`);let[n,r,i]=t;if(!n||!r||!i)throw Error(`Invalid CAIP-10 address: ${e}`);return{chainNamespace:n,chainId:r,address:i}},parseCaipNetworkId(e){let t=e.split(`:`);if(t.length!==2)throw Error(`Invalid CAIP-2 network id: ${e}`);let[n,r]=t;if(!n||!r)throw Error(`Invalid CAIP-2 network id: ${e}`);return{chainNamespace:n,chainId:r}}},Xe=r({__assign:()=>bt,__asyncDelegator:()=>ft,__asyncGenerator:()=>dt,__asyncValues:()=>pt,__await:()=>ut,__awaiter:()=>nt,__classPrivateFieldGet:()=>_t,__classPrivateFieldSet:()=>vt,__createBinding:()=>it,__decorate:()=>$e,__exportStar:()=>at,__extends:()=>Ze,__generator:()=>rt,__importDefault:()=>gt,__importStar:()=>ht,__makeTemplateObject:()=>mt,__metadata:()=>tt,__param:()=>et,__read:()=>st,__rest:()=>Qe,__spread:()=>ct,__spreadArrays:()=>lt,__values:()=>ot});function Ze(e,t){yt(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Qe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function $e(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function et(e,t){return function(n,r){t(n,r,e)}}function tt(e,t){if(typeof Reflect==`object`&&typeof Reflect.metadata==`function`)return Reflect.metadata(e,t)}function nt(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function rt(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(o){if(r)throw TypeError(`Generator is already executing.`);for(;n;)try{if(r=1,i&&(a=o[0]&2?i.return:o[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,o[1])).done)return a;switch(i=0,a&&(o=[o[0]&2,a.value]),o[0]){case 0:case 1:a=o;break;case 4:return n.label++,{value:o[1],done:!1};case 5:n.label++,i=o[1],o=[0];continue;case 7:o=n.ops.pop(),n.trys.pop();continue;default:if((a=n.trys,!(a=a.length>0&&a[a.length-1]))&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]<a[3])){n.label=o[1];break}if(o[0]===6&&n.label<a[1]){n.label=a[1],a=o;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(o);break}a[2]&&n.ops.pop(),n.trys.pop();continue}o=t.call(e,n)}catch(e){o=[6,e],i=0}finally{r=a=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}function it(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]}function at(e,t){for(var n in e)n!==`default`&&!t.hasOwnProperty(n)&&(t[n]=e[n])}function ot(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function st(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function ct(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(st(arguments[t]));return e}function lt(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var a=arguments[t],o=0,s=a.length;o<s;o++,i++)r[i]=a[o];return r}function ut(e){return this instanceof ut?(this.v=e,this):new ut(e)}function dt(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},o(`next`),o(`throw`),o(`return`),i[Symbol.asyncIterator]=function(){return this},i;function o(e){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||s(e,t)})})}function s(e,t){try{c(r[e](t))}catch(e){d(a[0][3],e)}}function c(e){e.value instanceof ut?Promise.resolve(e.value.v).then(l,u):d(a[0][2],e)}function l(e){s(`next`,e)}function u(e){s(`throw`,e)}function d(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function ft(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:ut(e[r](t)),done:r===`return`}:i?i(t):t}:i}}function pt(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof ot==`function`?ot(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}function mt(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function ht(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function gt(e){return e&&e.__esModule?e:{default:e}}function _t(e,t){if(!t.has(e))throw TypeError(`attempted to get private field on non-instance`);return t.get(e)}function vt(e,t,n){if(!t.has(e))throw TypeError(`attempted to set private field on non-instance`);return t.set(e,n),n}var yt,bt,xt=t((()=>{yt=function(e,t){return yt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},yt(e,t)},bt=function(){return bt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},bt.apply(this,arguments)}})),St=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.delay=void 0;function t(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}e.delay=t})),Ct=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ONE_THOUSAND=e.ONE_HUNDRED=void 0,e.ONE_HUNDRED=100,e.ONE_THOUSAND=1e3})),wt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ONE_YEAR=e.FOUR_WEEKS=e.THREE_WEEKS=e.TWO_WEEKS=e.ONE_WEEK=e.THIRTY_DAYS=e.SEVEN_DAYS=e.FIVE_DAYS=e.THREE_DAYS=e.ONE_DAY=e.TWENTY_FOUR_HOURS=e.TWELVE_HOURS=e.SIX_HOURS=e.THREE_HOURS=e.ONE_HOUR=e.SIXTY_MINUTES=e.THIRTY_MINUTES=e.TEN_MINUTES=e.FIVE_MINUTES=e.ONE_MINUTE=e.SIXTY_SECONDS=e.THIRTY_SECONDS=e.TEN_SECONDS=e.FIVE_SECONDS=e.ONE_SECOND=void 0,e.ONE_SECOND=1,e.FIVE_SECONDS=5,e.TEN_SECONDS=10,e.THIRTY_SECONDS=30,e.SIXTY_SECONDS=60,e.ONE_MINUTE=e.SIXTY_SECONDS,e.FIVE_MINUTES=e.ONE_MINUTE*5,e.TEN_MINUTES=e.ONE_MINUTE*10,e.THIRTY_MINUTES=e.ONE_MINUTE*30,e.SIXTY_MINUTES=e.ONE_MINUTE*60,e.ONE_HOUR=e.SIXTY_MINUTES,e.THREE_HOURS=e.ONE_HOUR*3,e.SIX_HOURS=e.ONE_HOUR*6,e.TWELVE_HOURS=e.ONE_HOUR*12,e.TWENTY_FOUR_HOURS=e.ONE_HOUR*24,e.ONE_DAY=e.TWENTY_FOUR_HOURS,e.THREE_DAYS=e.ONE_DAY*3,e.FIVE_DAYS=e.ONE_DAY*5,e.SEVEN_DAYS=e.ONE_DAY*7,e.THIRTY_DAYS=e.ONE_DAY*30,e.ONE_WEEK=e.SEVEN_DAYS,e.TWO_WEEKS=e.ONE_WEEK*2,e.THREE_WEEKS=e.ONE_WEEK*3,e.FOUR_WEEKS=e.ONE_WEEK*4,e.ONE_YEAR=e.ONE_DAY*365})),Tt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(xt(),e(Xe));n.__exportStar(Ct(),t),n.__exportStar(wt(),t)})),Et=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.fromMiliseconds=e.toMiliseconds=void 0;var t=Tt();function n(e){return e*t.ONE_THOUSAND}e.toMiliseconds=n;function r(e){return Math.floor(e/t.ONE_THOUSAND)}e.fromMiliseconds=r})),Dt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(xt(),e(Xe));n.__exportStar(St(),t),n.__exportStar(Et(),t)})),Ot=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Watch=void 0;var t=class{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(t.elapsed!==void 0)throw Error(`Watch already stopped for label: ${e}`);let n=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:n})}get(e){let t=this.timestamps.get(e);if(t===void 0)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e);return t.elapsed||Date.now()-t.started}};e.Watch=t,e.default=t})),kt=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IWatch=void 0,e.IWatch=class{}})),At=i((t=>{Object.defineProperty(t,"__esModule",{value:!0}),(xt(),e(Xe)).__exportStar(kt(),t)})),jt=i((t=>{Object.defineProperty(t,"__esModule",{value:!0});var n=(xt(),e(Xe));n.__exportStar(Dt(),t),n.__exportStar(Ot(),t),n.__exportStar(At(),t),n.__exportStar(Tt(),t)})),Mt=class{},Nt=n(O()),G=jt(),Pt=class extends Mt{constructor(e){super()}},Ft=G.FIVE_SECONDS,It={pulse:`heartbeat_pulse`},Lt=class e extends Pt{constructor(e){super(e),this.events=new Nt.EventEmitter,this.interval=Ft,this.interval=e?.interval||Ft}static async init(t){let n=new e(t);return await n.init(),n}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),(0,G.toMiliseconds)(this.interval))}pulse(){this.events.emit(It.pulse)}},Rt=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,zt=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Bt=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Vt(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){Ht(e);return}return t}function Ht(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ut(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!Bt.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(Rt.test(e)||zt.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,Vt)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}function Wt(e){return!e||typeof e.then!=`function`?Promise.resolve(e):e}function Gt(e,...t){try{return Wt(e(...t))}catch(e){return Promise.reject(e)}}function Kt(e){let t=typeof e;return e===null||t!==`object`&&t!==`function`}function qt(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}function Jt(e){if(Kt(e))return String(e);if(qt(e)||Array.isArray(e))return JSON.stringify(e);if(typeof e.toJSON==`function`)return Jt(e.toJSON());throw Error(`[unstorage] Cannot stringify value!`)}var Yt=`base64:`;function Xt(e){return typeof e==`string`?e:Yt+$t(e)}function Zt(e){return typeof e!=`string`||!e.startsWith(Yt)?e:Qt(e.slice(7))}function Qt(e){return globalThis.Buffer?Buffer.from(e,`base64`):Uint8Array.from(globalThis.atob(e),e=>e.codePointAt(0))}function $t(e){return globalThis.Buffer?Buffer.from(e).toString(`base64`):globalThis.btoa(String.fromCodePoint(...e))}function en(e){return e&&e.split(`?`)[0]?.replace(/[/\\]/g,`:`).replace(/:+/g,`:`).replace(/^:|:$/g,``)||``}function tn(...e){return en(e.join(`:`))}function nn(e){return e=en(e),e?e+`:`:``}function rn(e,t){if(t===void 0)return!0;let n=0,r=e.indexOf(`:`);for(;r>-1;)n++,r=e.indexOf(`:`,r+1);return n<=t}function an(e,t){return t?e.startsWith(t)&&e[e.length-1]!==`$`:e[e.length-1]!==`$`}function on(e){return e}var sn=`memory`,cn=on(()=>{let e=new Map;return{name:sn,getInstance:()=>e,hasItem(t){return e.has(t)},getItem(t){return e.get(t)??null},getItemRaw(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},setItemRaw(t,n){e.set(t,n)},removeItem(t){e.delete(t)},getKeys(){return[...e.keys()]},clear(){e.clear()},dispose(){e.clear()}}});function ln(e={}){let t={mounts:{"":e.driver||cn()},mountpoints:[``],watching:!1,watchListeners:[],unwatch:{}},n=e=>{for(let n of t.mountpoints)if(e.startsWith(n))return{base:n,relativeKey:e.slice(n.length),driver:t.mounts[n]};return{base:``,relativeKey:e,driver:t.mounts[``]}},r=(e,n)=>t.mountpoints.filter(t=>t.startsWith(e)||n&&e.startsWith(t)).map(n=>({relativeBase:e.length>n.length?e.slice(n.length):void 0,mountpoint:n,driver:t.mounts[n]})),i=(e,n)=>{if(t.watching){n=en(n);for(let r of t.watchListeners)r(e,n)}},a=async()=>{if(!t.watching){t.watching=!0;for(let e in t.mounts)t.unwatch[e]=await un(t.mounts[e],i,e)}},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},s=(e,t,r)=>{let i=new Map,a=e=>{let t=i.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},i.set(e.base,t)),t};for(let r of e){let e=typeof r==`string`,i=en(e?r:r.key),o=e?void 0:r.value,s=e||!r.options?t:{...t,...r.options},c=n(i);a(c).items.push({key:i,value:o,relativeKey:c.relativeKey,options:s})}return Promise.all([...i.values()].map(e=>r(e))).then(e=>e.flat())},c={hasItem(e,t={}){e=en(e);let{relativeKey:r,driver:i}=n(e);return Gt(i.hasItem,r,t)},getItem(e,t={}){e=en(e);let{relativeKey:r,driver:i}=n(e);return Gt(i.getItem,r,t).then(e=>Ut(e))},getItems(e,t={}){return s(e,t,e=>e.driver.getItems?Gt(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:tn(e.base,t.key),value:Ut(t.value)}))):Promise.all(e.items.map(t=>Gt(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:Ut(e)})))))},getItemRaw(e,t={}){e=en(e);let{relativeKey:r,driver:i}=n(e);return i.getItemRaw?Gt(i.getItemRaw,r,t):Gt(i.getItem,r,t).then(e=>Zt(e))},async setItem(e,t,r={}){if(t===void 0)return c.removeItem(e);e=en(e);let{relativeKey:a,driver:o}=n(e);o.setItem&&(await Gt(o.setItem,a,Jt(t),r),o.watch||i(`update`,e))},async setItems(e,t){await s(e,t,async e=>{if(e.driver.setItems)return Gt(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:Jt(e.value),options:e.options})),t);e.driver.setItem&&await Promise.all(e.items.map(t=>Gt(e.driver.setItem,t.relativeKey,Jt(t.value),t.options)))})},async setItemRaw(e,t,r={}){if(t===void 0)return c.removeItem(e,r);e=en(e);let{relativeKey:a,driver:o}=n(e);if(o.setItemRaw)await Gt(o.setItemRaw,a,t,r);else if(o.setItem)await Gt(o.setItem,a,Xt(t),r);else return;o.watch||i(`update`,e)},async removeItem(e,t={}){typeof t==`boolean`&&(t={removeMeta:t}),e=en(e);let{relativeKey:r,driver:a}=n(e);a.removeItem&&(await Gt(a.removeItem,r,t),(t.removeMeta||t.removeMata)&&await Gt(a.removeItem,r+`$`,t),a.watch||i(`remove`,e))},async getMeta(e,t={}){typeof t==`boolean`&&(t={nativeOnly:t}),e=en(e);let{relativeKey:r,driver:i}=n(e),a=Object.create(null);if(i.getMeta&&Object.assign(a,await Gt(i.getMeta,r,t)),!t.nativeOnly){let e=await Gt(i.getItem,r+`$`,t).then(e=>Ut(e));e&&typeof e==`object`&&(typeof e.atime==`string`&&(e.atime=new Date(e.atime)),typeof e.mtime==`string`&&(e.mtime=new Date(e.mtime)),Object.assign(a,e))}return a},setMeta(e,t,n={}){return this.setItem(e+`$`,t,n)},removeMeta(e,t={}){return this.removeItem(e+`$`,t)},async getKeys(e,t={}){e=nn(e);let n=r(e,!0),i=[],a=[],o=!0;for(let e of n){e.driver.flags?.maxDepth||(o=!1);let n=await Gt(e.driver.getKeys,e.relativeBase,t);for(let t of n){let n=e.mountpoint+en(t);i.some(e=>n.startsWith(e))||a.push(n)}i=[e.mountpoint,...i.filter(t=>!t.startsWith(e.mountpoint))]}let s=t.maxDepth!==void 0&&!o;return a.filter(n=>(!s||rn(n,t.maxDepth))&&an(n,e))},async clear(e,t={}){e=nn(e),await Promise.all(r(e,!1).map(async e=>{if(e.driver.clear)return Gt(e.driver.clear,e.relativeBase,t);if(e.driver.removeItem){let n=await e.driver.getKeys(e.relativeBase||``,t);return Promise.all(n.map(n=>e.driver.removeItem(n,t)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>dn(e)))},async watch(e){return await a(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),t.watchListeners.length===0&&await o()}},async unwatch(){t.watchListeners=[],await o()},mount(e,n){if(e=nn(e),e&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>t.length-e.length)),t.mounts[e]=n,t.watching&&Promise.resolve(un(n,i,e)).then(n=>{t.unwatch[e]=n}).catch(console.error),c},async unmount(e,n=!0){e=nn(e),!(!e||!t.mounts[e])&&(t.watching&&e in t.unwatch&&(t.unwatch[e]?.(),delete t.unwatch[e]),n&&await dn(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=``){e=en(e)+`:`;let t=n(e);return{driver:t.driver,base:t.base}},getMounts(e=``,t={}){return e=en(e),r(e,t.parents).map(e=>({driver:e.driver,base:e.mountpoint}))},keys:(e,t={})=>c.getKeys(e,t),get:(e,t={})=>c.getItem(e,t),set:(e,t,n={})=>c.setItem(e,t,n),has:(e,t={})=>c.hasItem(e,t),del:(e,t={})=>c.removeItem(e,t),remove:(e,t={})=>c.removeItem(e,t)};return c}function un(e,t,n){return e.watch?e.watch((e,r)=>t(e,n+r)):()=>{}}async function dn(e){typeof e.dispose==`function`&&await Gt(e.dispose)}function fn(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function pn(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=fn(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var mn;function hn(){return mn||=pn(`keyval-store`,`keyval`),mn}function gn(e,t=hn()){return t(`readonly`,t=>fn(t.get(e)))}function _n(e,t,n=hn()){return n(`readwrite`,n=>(n.put(t,e),fn(n.transaction)))}function vn(e,t=hn()){return t(`readwrite`,t=>(t.delete(e),fn(t.transaction)))}function yn(e=hn()){return e(`readwrite`,e=>(e.clear(),fn(e.transaction)))}function bn(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},fn(e.transaction)}function xn(e=hn()){return e(`readonly`,e=>{if(e.getAllKeys)return fn(e.getAllKeys());let t=[];return bn(e,e=>t.push(e.key)).then(()=>t)})}var Sn=`idb-keyval`,Cn=(e={})=>{let t=e.base&&e.base.length>0?`${e.base}:`:``,n=e=>t+e,r;return e.dbName&&e.storeName&&(r=pn(e.dbName,e.storeName)),{name:Sn,options:e,async hasItem(e){return!(typeof await gn(n(e),r)>`u`)},async getItem(e){return await gn(n(e),r)??null},setItem(e,t){return _n(n(e),t,r)},removeItem(e){return vn(n(e),r)},getKeys(){return xn(r)},clear(){return yn(r)}}},wn=`WALLET_CONNECT_V2_INDEXED_DB`,Tn=`keyvaluestorage`,En=class{constructor(){this.indexedDb=ln({driver:Cn({dbName:wn,storeName:Tn})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,l(t))}async removeItem(e){await this.indexedDb.removeItem(e)}},Dn=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},On={exports:{}};(function(){let e;function t(){}e=t,e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e||=0,Object.keys(this)[e]},e.prototype.__defineGetter__(`length`,function(){return Object.keys(this).length}),typeof Dn<`u`&&Dn.localStorage?On.exports=Dn.localStorage:typeof window<`u`&&window.localStorage?On.exports=window.localStorage:On.exports=new t})();function kn(e){return[e[0],fe(e[1]??``)]}var An=class{constructor(){this.localStorage=On.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(kn)}async getItem(e){let t=this.localStorage.getItem(e);if(t!==null)return fe(t)}async setItem(e,t){this.localStorage.setItem(e,l(t))}async removeItem(e){this.localStorage.removeItem(e)}},jn=`wc_storage_version`,Mn=1,Nn=async(e,t,n)=>{let r=jn,i=await t.getItem(r);if(i&&i>=Mn){n(t);return}let a=await e.getKeys();if(!a.length){n(t);return}let o=[];for(;a.length;){let n=a.shift();if(!n)continue;let r=n.toLowerCase();if(r.includes(`wc@`)||r.includes(`walletconnect`)||r.includes(`wc_`)||r.includes(`wallet_connect`)){let r=await e.getItem(n);await t.setItem(n,r),o.push(n)}}await t.setItem(r,Mn),n(t),Pn(e,o)},Pn=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})},Fn=class{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new An;this.storage=e;try{Nn(e,new En,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}},In=Object.defineProperty,Ln=(e,t,n)=>t in e?In(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rn=(e,t,n)=>Ln(e,typeof t==`symbol`?t:t+``,n),zn=class extends Mt{constructor(e){super(),this.opts=e,Rn(this,`protocol`,`wc`),Rn(this,`version`,2)}},Bn=Object.defineProperty,Vn=(e,t,n)=>t in e?Bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hn=(e,t,n)=>Vn(e,typeof t==`symbol`?t:t+``,n),Un=class extends Mt{constructor(e,t){super(),this.core=e,this.logger=t,Hn(this,`records`,new Map)}},Wn=class{constructor(e,t){this.logger=e,this.core=t}},Gn=class extends Mt{constructor(e,t){super(),this.relayer=e,this.logger=t}},Kn=class extends Mt{constructor(e){super()}},qn=class{constructor(e,t,n,r){this.core=e,this.logger=t,this.name=n}},Jn=class extends Mt{constructor(e,t){super(),this.relayer=e,this.logger=t}},Yn=class extends Mt{constructor(e,t){super(),this.core=e,this.logger=t}},Xn=class{constructor(e,t,n){this.core=e,this.logger=t,this.store=n}},Zn=class{constructor(e,t){this.projectId=e,this.logger=t}},Qn=class{constructor(e,t,n){this.core=e,this.logger=t,this.telemetryEnabled=n}},$n=Object.defineProperty,er=(e,t,n)=>t in e?$n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tr=(e,t,n)=>er(e,typeof t==`symbol`?t:t+``,n),nr=class{constructor(e){this.opts=e,tr(this,`protocol`,`wc`),tr(this,`version`,2)}},rr=class{constructor(e){this.client=e}};function ir(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function ar(e,...t){if(!ir(e))throw Error(`Uint8Array expected`);if(t.length>0&&!t.includes(e.length))throw Error(`Uint8Array expected of length `+t+`, got length=`+e.length)}function or(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function sr(e,t){ar(e);let n=t.outputLen;if(e.length<n)throw Error(`digestInto() expects output buffer of length at least `+n)}var cr=typeof globalThis==`object`&&`crypto`in globalThis?globalThis.crypto:void 0,lr=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);function ur(e){if(typeof e!=`string`)throw Error(`utf8ToBytes expected string, got `+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function dr(e){return typeof e==`string`&&(e=ur(e)),ar(e),e}var fr=class{clone(){return this._cloneInto()}};function pr(e){let t=t=>e().update(dr(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function mr(e=32){if(cr&&typeof cr.getRandomValues==`function`)return cr.getRandomValues(new Uint8Array(e));if(cr&&typeof cr.randomBytes==`function`)return cr.randomBytes(e);throw Error(`crypto.getRandomValues must be defined`)}function hr(e,t,n,r){if(typeof e.setBigUint64==`function`)return e.setBigUint64(t,n,r);let i=BigInt(32),a=BigInt(4294967295),o=Number(n>>i&a),s=Number(n&a),c=r?4:0,l=r?0:4;e.setUint32(t+c,o,r),e.setUint32(t+l,s,r)}var gr=class extends fr{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=lr(this.buffer)}update(e){or(this);let{view:t,buffer:n,blockLen:r}=this;e=dr(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=lr(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){or(this),sr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;hr(n,r-8,BigInt(this.length*8),i),this.process(n,0);let o=lr(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen should be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.length=r,e.pos=o,e.finished=i,e.destroyed=a,r%t&&e.buffer.set(n),e}},_r=BigInt(2**32-1),vr=BigInt(32);function yr(e,t=!1){return t?{h:Number(e&_r),l:Number(e>>vr&_r)}:{h:Number(e>>vr&_r)|0,l:Number(e&_r)|0}}function br(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:a,l:o}=yr(e[i],t);[n[i],r[i]]=[a,o]}return[n,r]}var xr=(e,t)=>BigInt(e>>>0)<<vr|BigInt(t>>>0),Sr=(e,t,n)=>e>>>n,Cr=(e,t,n)=>e<<32-n|t>>>n,wr=(e,t,n)=>e>>>n|t<<32-n,Tr=(e,t,n)=>e<<32-n|t>>>n,Er=(e,t,n)=>e<<64-n|t>>>n-32,Dr=(e,t,n)=>e>>>n-32|t<<64-n,Or=(e,t)=>t,kr=(e,t)=>e,Ar=(e,t,n)=>e<<n|t>>>32-n,jr=(e,t,n)=>t<<n|e>>>32-n,Mr=(e,t,n)=>t<<n-32|e>>>64-n,Nr=(e,t,n)=>e<<n-32|t>>>64-n;function Pr(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var K={fromBig:yr,split:br,toBig:xr,shrSH:Sr,shrSL:Cr,rotrSH:wr,rotrSL:Tr,rotrBH:Er,rotrBL:Dr,rotr32H:Or,rotr32L:kr,rotlSH:Ar,rotlSL:jr,rotlBH:Mr,rotlBL:Nr,add:Pr,add3L:(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),add3H:(e,t,n,r)=>t+n+r+(e/2**32|0)|0,add4L:(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),add4H:(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,add5H:(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,add5L:(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0)},[Fr,Ir]=K.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`.split(`.`).map(e=>BigInt(e))),Lr=new Uint32Array(80),Rr=new Uint32Array(80),zr=class extends gr{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(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)Lr[n]=e.getUint32(t),Rr[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=Lr[e-15]|0,n=Rr[e-15]|0,r=K.rotrSH(t,n,1)^K.rotrSH(t,n,8)^K.shrSH(t,n,7),i=K.rotrSL(t,n,1)^K.rotrSL(t,n,8)^K.shrSL(t,n,7),a=Lr[e-2]|0,o=Rr[e-2]|0,s=K.rotrSH(a,o,19)^K.rotrBH(a,o,61)^K.shrSH(a,o,6),c=K.rotrSL(a,o,19)^K.rotrBL(a,o,61)^K.shrSL(a,o,6),l=K.add4L(i,c,Rr[e-7],Rr[e-16]);Lr[e]=K.add4H(l,r,s,Lr[e-7],Lr[e-16])|0,Rr[e]=l|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=K.rotrSH(u,d,14)^K.rotrSH(u,d,18)^K.rotrBH(u,d,41),v=K.rotrSL(u,d,14)^K.rotrSL(u,d,18)^K.rotrBL(u,d,41),y=u&f^~u&m,b=d&p^~d&h,x=K.add5L(_,v,b,Ir[e],Rr[e]),S=K.add5H(x,g,t,y,Fr[e],Lr[e]),C=x|0,w=K.rotrSH(n,r,28)^K.rotrBH(n,r,34)^K.rotrBH(n,r,39),T=K.rotrSL(n,r,28)^K.rotrBL(n,r,34)^K.rotrBL(n,r,39),E=n&i^n&o^i&o,D=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=K.add(c|0,l|0,S|0,C|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let O=K.add3L(C,T,D);n=K.add3H(O,S,w,E),r=O|0}({h:n,l:r}=K.add(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=K.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=K.add(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=K.add(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=K.add(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=K.add(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=K.add(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=K.add(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){Lr.fill(0),Rr.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)}},Br=pr(()=>new zr),Vr=BigInt(0),Hr=BigInt(1),Ur=BigInt(2);function Wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function Gr(e){if(!Wr(e))throw Error(`Uint8Array expected`)}function Kr(e,t){if(typeof t!=`boolean`)throw Error(e+` boolean expected, got `+t)}var qr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Jr(e){Gr(e);let t=``;for(let n=0;n<e.length;n++)t+=qr[e[n]];return t}function Yr(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);return e===``?Vr:BigInt(`0x`+e)}var Xr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Zr(e){if(e>=Xr._0&&e<=Xr._9)return e-Xr._0;if(e>=Xr.A&&e<=Xr.F)return e-(Xr.A-10);if(e>=Xr.a&&e<=Xr.f)return e-(Xr.a-10)}function Qr(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=Zr(e.charCodeAt(i)),a=Zr(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function $r(e){return Yr(Jr(e))}function ei(e){return Gr(e),Yr(Jr(Uint8Array.from(e).reverse()))}function ti(e,t){return Qr(e.toString(16).padStart(t*2,`0`))}function ni(e,t){return ti(e,t).reverse()}function ri(e,t,n){let r;if(typeof t==`string`)try{r=Qr(t)}catch(t){throw Error(e+` must be hex string or Uint8Array, cause: `+t)}else if(Wr(t))r=Uint8Array.from(t);else throw Error(e+` must be hex string or Uint8Array`);let i=r.length;if(typeof n==`number`&&i!==n)throw Error(e+` of length `+n+` expected, got `+i);return r}function ii(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];Gr(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}var ai=e=>typeof e==`bigint`&&Vr<=e;function oi(e,t,n){return ai(e)&&ai(t)&&ai(n)&&t<=e&&e<n}function si(e,t,n,r){if(!oi(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function ci(e){let t;for(t=0;e>Vr;e>>=Hr,t+=1);return t}var li=e=>(Ur<<BigInt(e-1))-Hr,ui={bigint:e=>typeof e==`bigint`,function:e=>typeof e==`function`,boolean:e=>typeof e==`boolean`,string:e=>typeof e==`string`,stringOrUint8Array:e=>typeof e==`string`||Wr(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e==`function`&&Number.isSafeInteger(e.outputLen)};function di(e,t,n={}){let r=(t,n,r)=>{let i=ui[n];if(typeof i!=`function`)throw Error(`invalid validator function`);let a=e[t];if(!(r&&a===void 0)&&!i(a,e))throw Error(`param `+String(t)+` is invalid. Expected `+n+`, got `+a)};for(let[e,n]of Object.entries(t))r(e,n,!1);for(let[e,t]of Object.entries(n))r(e,t,!0);return e}function fi(e){let t=new WeakMap;return(n,...r)=>{let i=t.get(n);if(i!==void 0)return i;let a=e(n,...r);return t.set(n,a),a}}var pi=BigInt(0),mi=BigInt(1),hi=BigInt(2),gi=BigInt(3),_i=BigInt(4),vi=BigInt(5),yi=BigInt(8);function bi(e,t){let n=e%t;return n>=pi?n:t+n}function xi(e,t,n){if(t<pi)throw Error(`invalid exponent, negatives unsupported`);if(n<=pi)throw Error(`invalid modulus`);if(n===mi)return pi;let r=mi;for(;t>pi;)t&mi&&(r=r*e%n),e=e*e%n,t>>=mi;return r}function Si(e,t,n){let r=e;for(;t-- >pi;)r*=r,r%=n;return r}function Ci(e,t){if(e===pi)throw Error(`invert: expected non-zero number`);if(t<=pi)throw Error(`invert: expected positive modulus, got `+t);let n=bi(e,t),r=t,i=pi,a=mi;for(;n!==pi;){let e=r/n,t=r%n,o=i-a*e;r=n,n=t,i=a,a=o}if(r!==mi)throw Error(`invert: does not exist`);return bi(i,t)}function wi(e){let t=(e-mi)/hi,n,r,i;for(n=e-mi,r=0;n%hi===pi;n/=hi,r++);for(i=hi;i<e&&xi(i,t,e)!==e-mi;i++)if(i>1e3)throw Error(`Cannot find square root: likely non-prime P`);if(r===1){let t=(e+mi)/_i;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}let a=(n+mi)/hi;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw Error(`Cannot find square root`);let s=r,c=e.pow(e.mul(e.ONE,i),n),l=e.pow(o,a),u=e.pow(o,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<s&&!e.eql(n,e.ONE);t++)n=e.sqr(n);let n=e.pow(c,mi<<BigInt(s-t-1));c=e.sqr(n),l=e.mul(l,n),u=e.mul(u,c),s=t}return l}}function Ti(e){if(e%_i===gi){let t=(e+mi)/_i;return function(e,n){let r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw Error(`Cannot find square root`);return r}}if(e%yi===vi){let t=(e-vi)/yi;return function(e,n){let r=e.mul(n,hi),i=e.pow(r,t),a=e.mul(n,i),o=e.mul(e.mul(a,hi),i),s=e.mul(a,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw Error(`Cannot find square root`);return s}}return wi(e)}var Ei=(e,t)=>(bi(e,t)&mi)===mi,Di=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function Oi(e){return di(e,Di.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,MASK:`bigint`,BYTES:`isSafeInteger`,BITS:`isSafeInteger`}))}function ki(e,t,n){if(n<pi)throw Error(`invalid exponent, negatives unsupported`);if(n===pi)return e.ONE;if(n===mi)return t;let r=e.ONE,i=t;for(;n>pi;)n&mi&&(r=e.mul(r,i)),i=e.sqr(i),n>>=mi;return r}function Ai(e,t){let n=Array(t.length),r=t.reduce((t,r,i)=>e.is0(r)?t:(n[i]=t,e.mul(t,r)),e.ONE),i=e.inv(r);return t.reduceRight((t,r,i)=>e.is0(r)?t:(n[i]=e.mul(t,n[i]),e.mul(t,r)),i),n}function ji(e,t){let n=t===void 0?e.toString(2).length:t;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function Mi(e,t,n=!1,r={}){if(e<=pi)throw Error(`invalid field: expected ORDER > 0, got `+e);let{nBitLength:i,nByteLength:a}=ji(e,t);if(a>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);let o,s=Object.freeze({ORDER:e,isLE:n,BITS:i,BYTES:a,MASK:li(i),ZERO:pi,ONE:mi,create:t=>bi(t,e),isValid:t=>{if(typeof t!=`bigint`)throw Error(`invalid field element: expected bigint, got `+typeof t);return pi<=t&&t<e},is0:e=>e===pi,isOdd:e=>(e&mi)===mi,neg:t=>bi(-t,e),eql:(e,t)=>e===t,sqr:t=>bi(t*t,e),add:(t,n)=>bi(t+n,e),sub:(t,n)=>bi(t-n,e),mul:(t,n)=>bi(t*n,e),pow:(e,t)=>ki(s,e,t),div:(t,n)=>bi(t*Ci(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Ci(t,e),sqrt:r.sqrt||(t=>(o||=Ti(e),o(s,t))),invertBatch:e=>Ai(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?ni(e,a):ti(e,a),fromBytes:e=>{if(e.length!==a)throw Error(`Field.fromBytes: expected `+a+` bytes, got `+e.length);return n?ei(e):$r(e)}});return Object.freeze(s)}var Ni=BigInt(0),Pi=BigInt(1);function Fi(e,t){let n=t.negate();return e?n:t}function Ii(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function Li(e,t){return Ii(e,t),{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}function Ri(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function zi(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}var Bi=new WeakMap,Vi=new WeakMap;function Hi(e){return Vi.get(e)||1}function Ui(e,t){return{constTimeNegate:Fi,hasPrecomputes(e){return Hi(e)!==1},unsafeLadder(t,n,r=e.ZERO){let i=t;for(;n>Ni;)n&Pi&&(r=r.add(i)),i=i.double(),n>>=Pi;return r},precomputeWindow(e,n){let{windows:r,windowSize:i}=Li(n,t),a=[],o=e,s=o;for(let e=0;e<r;e++){s=o,a.push(s);for(let e=1;e<i;e++)s=s.add(o),a.push(s);o=s.double()}return a},wNAF(n,r,i){let{windows:a,windowSize:o}=Li(n,t),s=e.ZERO,c=e.BASE,l=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let e=0;e<a;e++){let t=e*o,n=Number(i&l);i>>=d,n>o&&(n-=u,i+=Pi);let a=t,f=t+Math.abs(n)-1,p=e%2!=0,m=n<0;n===0?c=c.add(Fi(p,r[a])):s=s.add(Fi(m,r[f]))}return{p:s,f:c}},wNAFUnsafe(n,r,i,a=e.ZERO){let{windows:o,windowSize:s}=Li(n,t),c=BigInt(2**n-1),l=2**n,u=BigInt(n);for(let e=0;e<o;e++){let t=e*s;if(i===Ni)break;let n=Number(i&c);if(i>>=u,n>s&&(n-=l,i+=Pi),n===0)continue;let o=r[t+Math.abs(n)-1];n<0&&(o=o.negate()),a=a.add(o)}return a},getPrecomputes(e,t,n){let r=Bi.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&Bi.set(t,n(r))),r},wNAFCached(e,t,n){let r=Hi(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)},wNAFCachedUnsafe(e,t,n,r){let i=Hi(e);return i===1?this.unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)},setWindowSize(e,n){Ii(n,t),Vi.set(e,n),Bi.delete(e)}}}function Wi(e,t,n,r){if(Ri(n,e),zi(r,t),n.length!==r.length)throw Error(`arrays of points and scalars must have equal length`);let i=e.ZERO,a=ci(BigInt(n.length)),o=a>12?a-3:a>4?a-2:a?2:1,s=(1<<o)-1,c=Array(s+1).fill(i),l=Math.floor((t.BITS-1)/o)*o,u=i;for(let e=l;e>=0;e-=o){c.fill(i);for(let t=0;t<r.length;t++){let i=r[t],a=Number(i>>BigInt(e)&BigInt(s));c[a]=c[a].add(n[t])}let t=i;for(let e=c.length-1,n=i;e>0;e--)n=n.add(c[e]),t=t.add(n);if(u=u.add(t),e!==0)for(let e=0;e<o;e++)u=u.double()}return u}function Gi(e){return Oi(e.Fp),di(e,{n:`bigint`,h:`bigint`,Gx:`field`,Gy:`field`},{nBitLength:`isSafeInteger`,nByteLength:`isSafeInteger`}),Object.freeze({...ji(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ki=BigInt(0),qi=BigInt(1),Ji=BigInt(2),Yi=BigInt(8),Xi={zip215:!0};function Zi(e){let t=Gi(e);return di(e,{hash:`function`,a:`bigint`,d:`bigint`,randomBytes:`function`},{adjustScalarBytes:`function`,domain:`function`,uvRatio:`function`,mapToCurve:`function`}),Object.freeze({...t})}function Qi(e){let t=Zi(e),{Fp:n,n:r,prehash:i,hash:a,randomBytes:o,nByteLength:s,h:c}=t,l=Ji<<BigInt(s*8)-qi,u=n.create,d=Mi(t.n,t.nBitLength),f=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:n.sqrt(e*n.inv(t))}}catch{return{isValid:!1,value:Ki}}}),p=t.adjustScalarBytes||(e=>e),m=t.domain||((e,t,n)=>{if(Kr(`phflag`,n),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e});function h(e,t){si(`coordinate `+e,t,Ki,l)}function g(e){if(!(e instanceof y))throw Error(`ExtendedPoint expected`)}let _=fi((e,t)=>{let{ex:r,ey:i,ez:a}=e,o=e.is0();t??=o?Yi:n.inv(a);let s=u(r*t),c=u(i*t),l=u(a*t);if(o)return{x:Ki,y:qi};if(l!==qi)throw Error(`invZ was invalid`);return{x:s,y:c}}),v=fi(e=>{let{a:n,d:r}=t;if(e.is0())throw Error(`bad point: ZERO`);let{ex:i,ey:a,ez:o,et:s}=e,c=u(i*i),l=u(a*a),d=u(o*o),f=u(d*d);if(u(d*u(u(c*n)+l))!==u(f+u(r*u(c*l))))throw Error(`bad point: equation left != right (1)`);if(u(i*a)!==u(o*s))throw Error(`bad point: equation left != right (2)`);return!0});class y{constructor(e,t,n,r){this.ex=e,this.ey=t,this.ez=n,this.et=r,h(`x`,e),h(`y`,t),h(`z`,n),h(`t`,r),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof y)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return h(`x`,t),h(`y`,n),new y(t,n,qi,u(t*n))}static normalizeZ(e){let t=n.invertBatch(e.map(e=>e.ez));return e.map((e,n)=>e.toAffine(t[n])).map(y.fromAffine)}static msm(e,t){return Wi(y,d,e,t)}_setWindowSize(e){S.setWindowSize(this,e)}assertValidity(){v(this)}equals(e){g(e);let{ex:t,ey:n,ez:r}=this,{ex:i,ey:a,ez:o}=e,s=u(t*o),c=u(i*r),l=u(n*o),d=u(a*r);return s===c&&l===d}is0(){return this.equals(y.ZERO)}negate(){return new y(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=t,{ex:n,ey:r,ez:i}=this,a=u(n*n),o=u(r*r),s=u(Ji*u(i*i)),c=u(e*a),l=n+r,d=u(u(l*l)-a-o),f=c+o,p=f-s,m=c-o,h=u(d*p),g=u(f*m),_=u(d*m);return new y(h,g,u(p*f),_)}add(e){g(e);let{a:n,d:r}=t,{ex:i,ey:a,ez:o,et:s}=this,{ex:c,ey:l,ez:d,et:f}=e;if(n===BigInt(-1)){let e=u((a-i)*(l+c)),t=u((a+i)*(l-c)),n=u(t-e);if(n===Ki)return this.double();let r=u(o*Ji*f),p=u(s*Ji*d),m=p+r,h=t+e,g=p-r,_=u(m*n),v=u(h*g),b=u(m*g);return new y(_,v,u(n*h),b)}let p=u(i*c),m=u(a*l),h=u(s*r*f),_=u(o*d),v=u((i+a)*(c+l)-p-m),b=_-h,x=_+h,S=u(m-n*p),C=u(v*b),w=u(x*S),T=u(v*S);return new y(C,w,u(b*x),T)}subtract(e){return this.add(e.negate())}wNAF(e){return S.wNAFCached(this,e,y.normalizeZ)}multiply(e){let t=e;si(`scalar`,t,qi,r);let{p:n,f:i}=this.wNAF(t);return y.normalizeZ([n,i])[0]}multiplyUnsafe(e,t=y.ZERO){let n=e;return si(`scalar`,n,Ki,r),n===Ki?x:this.is0()||n===qi?this:S.wNAFCachedUnsafe(this,n,y.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return S.unsafeLadder(this,r).is0()}toAffine(e){return _(this,e)}clearCofactor(){let{h:e}=t;return e===qi?this:this.multiplyUnsafe(e)}static fromHex(e,r=!1){let{d:i,a}=t,o=n.BYTES;e=ri(`pointHex`,e,o),Kr(`zip215`,r);let s=e.slice(),c=e[o-1];s[o-1]=c&-129;let d=ei(s);si(`pointHex.y`,d,Ki,r?l:n.ORDER);let p=u(d*d),{isValid:m,value:h}=f(u(p-qi),u(i*p-a));if(!m)throw Error(`Point.fromHex: invalid y coordinate`);let g=(h&qi)===qi,_=(c&128)!=0;if(!r&&h===Ki&&_)throw Error(`Point.fromHex: x=0 and x_0=1`);return _!==g&&(h=u(-h)),y.fromAffine({x:h,y:d})}static fromPrivateKey(e){return T(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=ni(t,n.BYTES);return r[r.length-1]|=e&qi?128:0,r}toHex(){return Jr(this.toRawBytes())}}y.BASE=new y(t.Gx,t.Gy,qi,u(t.Gx*t.Gy)),y.ZERO=new y(Ki,qi,qi,Ki);let{BASE:b,ZERO:x}=y,S=Ui(y,s*8);function C(e){return bi(e,r)}function w(e){return C(ei(e))}function T(e){let t=n.BYTES;e=ri(`private key`,e,t);let r=ri(`hashed private key`,a(e),2*t),i=p(r.slice(0,t)),o=r.slice(t,2*t),s=w(i),c=b.multiply(s);return{head:i,prefix:o,scalar:s,point:c,pointBytes:c.toRawBytes()}}function E(e){return T(e).pointBytes}function D(e=new Uint8Array,...t){return w(a(m(ii(...t),ri(`context`,e),!!i)))}function O(e,t,a={}){e=ri(`message`,e),i&&(e=i(e));let{prefix:o,scalar:s,pointBytes:c}=T(t),l=D(a.context,o,e),u=b.multiply(l).toRawBytes(),d=C(l+D(a.context,u,c,e)*s);return si(`signature.s`,d,Ki,r),ri(`result`,ii(u,ni(d,n.BYTES)),n.BYTES*2)}let k=Xi;function A(e,t,r,a=k){let{context:o,zip215:s}=a,c=n.BYTES;e=ri(`signature`,e,2*c),t=ri(`message`,t),r=ri(`publicKey`,r,c),s!==void 0&&Kr(`zip215`,s),i&&(t=i(t));let l=ei(e.slice(c,2*c)),u,d,f;try{u=y.fromHex(r,s),d=y.fromHex(e.slice(0,c),s),f=b.multiplyUnsafe(l)}catch{return!1}if(!s&&u.isSmallOrder())return!1;let p=D(o,d.toRawBytes(),u.toRawBytes(),t);return d.add(u.multiplyUnsafe(p)).subtract(f).clearCofactor().equals(y.ZERO)}return b._setWindowSize(8),{CURVE:t,getPublicKey:E,sign:O,verify:A,ExtendedPoint:y,utils:{getExtendedPublicKey:T,randomPrivateKey:()=>o(n.BYTES),precompute(e=8,t=y.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}}}}var $i=BigInt(`57896044618658097711785492504343953926634992332820282019728792003956564819949`),ea=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`),ta=BigInt(1),na=BigInt(2),ra=BigInt(5),ia=BigInt(8);function aa(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=$i,o=e*e%a*e%a,s=Si(Si(o,na,a)*o%a,ta,a)*e%a,c=Si(s,ra,a)*s%a,l=Si(c,t,a)*c%a,u=Si(l,n,a)*l%a,d=Si(u,r,a)*u%a;return{pow_p_5_8:Si(Si(Si(Si(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,na,a)*e%a,b2:o}}function oa(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function sa(e,t){let n=$i,r=bi(t*t*t,n),i=aa(e*bi(r*r*t,n)).pow_p_5_8,a=bi(e*r*i,n),o=bi(t*a*a,n),s=a,c=bi(a*ea,n),l=o===e,u=o===bi(-e,n),d=o===bi(-e*ea,n);return l&&(a=s),(u||d)&&(a=c),Ei(a,n)&&(a=bi(-a,n)),{isValid:l||u,value:a}}var ca=Mi($i,void 0,!0),la=Qi({a:BigInt(-1),d:BigInt(`37095705934669439343138083508754565189542113879843219016388785533085940283555`),Fp:ca,n:BigInt(`7237005577332262213973186563042994240857116359379907606001950938285454250989`),h:ia,Gx:BigInt(`15112221349535400772501151409588531511454012693041857206046113283949847762202`),Gy:BigInt(`46316835694926478169428394003475163141307993866256225615783033603165251855960`),hash:Br,randomBytes:mr,adjustScalarBytes:oa,uvRatio:sa}),ua=`EdDSA`,da=`base64url`,fa=`utf8`,pa=`utf8`,ma=`base58btc`;function ha(e){return globalThis.Buffer==null?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function ga(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ha(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function _a(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=ga(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return ha(n)}function va(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var ya=va,ba=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},xa=e=>new TextEncoder().encode(e),Sa=e=>new TextDecoder().decode(e),Ca=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},wa=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e==`string`){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(`Can only multibase decode strings`)}or(e){return Ea(this,e)}},Ta=class{constructor(e){this.decoders=e}or(e){return Ea(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ea=(e,t)=>new Ta({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Da=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new Ca(e,t,n),this.decoder=new wa(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Oa=({name:e,prefix:t,encode:n,decode:r})=>new Da(e,t,n,r),ka=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=ya(n,t);return Oa({prefix:e,name:t,encode:r,decode:e=>ba(i(e))})},Aa=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},ja=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},Ma=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Oa({prefix:t,name:e,encode(e){return ja(e,r,n)},decode(t){return Aa(t,r,n,e)}}),Na=Oa({prefix:`\0`,name:`identity`,encode:e=>Sa(e),decode:e=>xa(e)}),Pa=Object.freeze({__proto__:null,identity:Na}),Fa=Ma({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),Ia=Object.freeze({__proto__:null,base2:Fa}),La=Ma({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),Ra=Object.freeze({__proto__:null,base8:La}),za=ka({prefix:`9`,name:`base10`,alphabet:`0123456789`}),Ba=Object.freeze({__proto__:null,base10:za}),Va=Ma({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),Ha=Ma({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),Ua=Object.freeze({__proto__:null,base16:Va,base16upper:Ha}),Wa=Ma({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),Ga=Ma({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),Ka=Ma({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),qa=Ma({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),Ja=Ma({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),Ya=Ma({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),Xa=Ma({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),Za=Ma({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),Qa=Ma({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),$a=Object.freeze({__proto__:null,base32:Wa,base32upper:Ga,base32pad:Ka,base32padupper:qa,base32hex:Ja,base32hexupper:Ya,base32hexpad:Xa,base32hexpadupper:Za,base32z:Qa}),eo=ka({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),to=ka({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),no=Object.freeze({__proto__:null,base36:eo,base36upper:to}),ro=ka({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),io=ka({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),ao=Object.freeze({__proto__:null,base58btc:ro,base58flickr:io}),oo=Ma({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),so=Ma({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),co=Ma({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),lo=Ma({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),uo=Object.freeze({__proto__:null,base64:oo,base64pad:so,base64url:co,base64urlpad:lo}),fo=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),po=fo.reduce((e,t,n)=>(e[n]=t,e),[]),mo=fo.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function ho(e){return e.reduce((e,t)=>(e+=po[t],e),``)}function go(e){let t=[];for(let n of e){let e=mo[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var _o=Oa({prefix:`🚀`,name:`base256emoji`,encode:ho,decode:go}),vo=Object.freeze({__proto__:null,base256emoji:_o}),yo=Co,bo=128,xo=-128,So=2**31;function Co(e,t,n){t||=[],n||=0;for(var r=n;e>=So;)t[n++]=e&255|bo,e/=128;for(;e&xo;)t[n++]=e&255|bo,e>>>=7;return t[n]=e|0,Co.bytes=n-r+1,t}var wo=Do,To=128,Eo=127;function Do(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw Do.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&Eo)<<r:(a&Eo)*2**r,r+=7}while(a>=To);return Do.bytes=i-t,n}var Oo=2**7,ko=2**14,Ao=2**21,jo=2**28,Mo=2**35,No=2**42,Po=2**49,Fo=2**56,Io=2**63,Lo={encode:yo,decode:wo,encodingLength:function(e){return e<Oo?1:e<ko?2:e<Ao?3:e<jo?4:e<Mo?5:e<No?6:e<Po?7:e<Fo?8:e<Io?9:10}},Ro=(e,t,n=0)=>(Lo.encode(e,t,n),t),zo=e=>Lo.encodingLength(e),Bo=(e,t)=>{let n=t.byteLength,r=zo(e),i=r+zo(n),a=new Uint8Array(i+n);return Ro(e,a,0),Ro(n,a,r),a.set(t,i),new Vo(e,n,t,a)},Vo=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},Ho=({name:e,code:t,encode:n})=>new Uo(e,t,n),Uo=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?Bo(this.code,t):t.then(e=>Bo(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},Wo=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Go=Ho({name:`sha2-256`,code:18,encode:Wo(`SHA-256`)}),Ko=Ho({name:`sha2-512`,code:19,encode:Wo(`SHA-512`)}),qo=Object.freeze({__proto__:null,sha256:Go,sha512:Ko}),Jo=0,Yo=`identity`,Xo=ba,Zo=Object.freeze({__proto__:null,identity:{code:Jo,name:Yo,encode:Xo,digest:e=>Bo(Jo,Xo(e))}});new TextEncoder,new TextDecoder;var Qo={...Pa,...Ia,...Ra,...Ba,...Ua,...$a,...no,...ao,...uo,...vo};({...qo,...Zo});function $o(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var es=$o(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),ts=$o(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=ga(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),ns={utf8:es,"utf-8":es,hex:Qo.base16,latin1:ts,ascii:ts,binary:ts,...Qo};function rs(e,t=`utf8`){let n=ns[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf8`):n.encoder.encode(e).substring(1)}function is(e,t=`utf8`){let n=ns[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ha(globalThis.Buffer.from(e,`utf-8`)):n.decoder.decode(`${n.prefix}${e}`)}function as(e){return fe(rs(is(e,da),fa))}function os(e){return rs(is(l(e),fa),da)}function ss(e){return[`did`,`key`,`z`+rs(_a([is(`K36`,ma),e]),ma)].join(`:`)}function cs(e){return rs(e,da)}function ls(e){return is(e,da)}function us(e){return is([os(e.header),os(e.payload)].join(`.`),pa)}function ds(e){return[os(e.header),os(e.payload),cs(e.signature)].join(`.`)}function fs(e){let t=e.split(`.`);return{header:as(t[0]),payload:as(t[1]),signature:ls(t[2]),data:is(t.slice(0,2).join(`.`),pa)}}function ps(e=mr(32)){let t=la.getPublicKey(e);return{secretKey:_a([e,t]),publicKey:t}}async function ms(e,t,n,r,i=(0,G.fromMiliseconds)(Date.now())){let a={alg:ua,typ:`JWT`},o={iss:ss(r.publicKey),sub:e,aud:t,iat:i,exp:i+n},s=us({header:a,payload:o});return ds({header:a,payload:o,signature:la.sign(s,r.secretKey.slice(0,32))})}var hs=function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))},gs=function(){function e(e,t,n){this.name=e,this.version=t,this.os=n,this.type=`browser`}return e}(),_s=function(){function e(e){this.version=e,this.type=`node`,this.name=`node`,this.os=process.platform}return e}(),vs=function(){function e(e,t,n,r){this.name=e,this.version=t,this.os=n,this.bot=r,this.type=`bot-device`}return e}(),ys=function(){function e(){this.type=`bot`,this.bot=!0,this.name=`bot`,this.version=null,this.os=null}return e}(),bs=function(){function e(){this.type=`react-native`,this.name=`react-native`,this.version=null,this.os=null}return e}(),xs=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Ss=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Cs=3,ws=[[`aol`,/AOLShield\/([0-9\._]+)/],[`edge`,/Edge\/([0-9\._]+)/],[`edge-ios`,/EdgiOS\/([0-9\._]+)/],[`yandexbrowser`,/YaBrowser\/([0-9\._]+)/],[`kakaotalk`,/KAKAOTALK\s([0-9\.]+)/],[`samsung`,/SamsungBrowser\/([0-9\.]+)/],[`silk`,/\bSilk\/([0-9._-]+)\b/],[`miui`,/MiuiBrowser\/([0-9\.]+)$/],[`beaker`,/BeakerBrowser\/([0-9\.]+)/],[`edge-chromium`,/EdgA?\/([0-9\.]+)/],[`chromium-webview`,/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],[`chrome`,/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],[`phantomjs`,/PhantomJS\/([0-9\.]+)(:?\s|$)/],[`crios`,/CriOS\/([0-9\.]+)(:?\s|$)/],[`firefox`,/Firefox\/([0-9\.]+)(?:\s|$)/],[`fxios`,/FxiOS\/([0-9\.]+)/],[`opera-mini`,/Opera Mini.*Version\/([0-9\.]+)/],[`opera`,/Opera\/([0-9\.]+)(?:\s|$)/],[`opera`,/OPR\/([0-9\.]+)(:?\s|$)/],[`pie`,/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],[`pie`,/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],[`netfront`,/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],[`ie`,/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],[`ie`,/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],[`ie`,/MSIE\s(7\.0)/],[`bb10`,/BB10;\sTouch.*Version\/([0-9\.]+)/],[`android`,/Android\s([0-9\.]+)/],[`ios`,/Version\/([0-9\._]+).*Mobile.*Safari.*/],[`safari`,/Version\/([0-9\._]+).*Safari/],[`facebook`,/FB[AS]V\/([0-9\.]+)/],[`instagram`,/Instagram\s([0-9\.]+)/],[`ios-webview`,/AppleWebKit\/([0-9\.]+).*Mobile/],[`ios-webview`,/AppleWebKit\/([0-9\.]+).*Gecko\)$/],[`curl`,/^curl\/([0-9\.]+)$/],[`searchbot`,xs]],Ts=[[`iOS`,/iP(hone|od|ad)/],[`Android OS`,/Android/],[`BlackBerry OS`,/BlackBerry|BB10/],[`Windows Mobile`,/IEMobile/],[`Amazon OS`,/Kindle/],[`Windows 3.11`,/Win16/],[`Windows 95`,/(Windows 95)|(Win95)|(Windows_95)/],[`Windows 98`,/(Windows 98)|(Win98)/],[`Windows 2000`,/(Windows NT 5.0)|(Windows 2000)/],[`Windows XP`,/(Windows NT 5.1)|(Windows XP)/],[`Windows Server 2003`,/(Windows NT 5.2)/],[`Windows Vista`,/(Windows NT 6.0)/],[`Windows 7`,/(Windows NT 6.1)/],[`Windows 8`,/(Windows NT 6.2)/],[`Windows 8.1`,/(Windows NT 6.3)/],[`Windows 10`,/(Windows NT 10.0)/],[`Windows ME`,/Windows ME/],[`Windows CE`,/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],[`Open BSD`,/OpenBSD/],[`Sun OS`,/SunOS/],[`Chrome OS`,/CrOS/],[`Linux`,/(Linux)|(X11)/],[`Mac OS`,/(Mac_PowerPC)|(Macintosh)/],[`QNX`,/QNX/],[`BeOS`,/BeOS/],[`OS/2`,/OS\/2/]];function Es(e){return e?Os(e):typeof document>`u`&&typeof navigator<`u`&&navigator.product===`ReactNative`?new bs:typeof navigator<`u`?Os(navigator.userAgent):As()}function Ds(e){return e!==``&&ws.reduce(function(t,n){var r=n[0],i=n[1];if(t)return t;var a=i.exec(e);return!!a&&[r,a]},!1)}function Os(e){var t=Ds(e);if(!t)return null;var n=t[0],r=t[1];if(n===`searchbot`)return new ys;var i=r[1]&&r[1].split(`.`).join(`_`).split(`_`).slice(0,3);i?i.length<Cs&&(i=hs(hs([],i,!0),js(Cs-i.length),!0)):i=[];var a=i.join(`.`),o=ks(e),s=Ss.exec(e);return s&&s[1]?new vs(n,a,o,s[1]):new gs(n,a,o)}function ks(e){for(var t=0,n=Ts.length;t<n;t++){var r=Ts[t],i=r[0];if(r[1].exec(e))return i}return null}function As(){return typeof process<`u`&&process.version?new _s(process.version.slice(1)):null}function js(e){for(var t=[],n=0;n<e;n++)t.push(`0`);return t}var Ms=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getLocalStorage=e.getLocalStorageOrThrow=e.getCrypto=e.getCryptoOrThrow=e.getLocation=e.getLocationOrThrow=e.getNavigator=e.getNavigatorOrThrow=e.getDocument=e.getDocumentOrThrow=e.getFromWindowOrThrow=e.getFromWindow=void 0;function t(e){let t;return typeof window<`u`&&window[e]!==void 0&&(t=window[e]),t}e.getFromWindow=t;function n(e){let n=t(e);if(!n)throw Error(`${e} is not defined in Window`);return n}e.getFromWindowOrThrow=n;function r(){return n(`document`)}e.getDocumentOrThrow=r;function i(){return t(`document`)}e.getDocument=i;function a(){return n(`navigator`)}e.getNavigatorOrThrow=a;function o(){return t(`navigator`)}e.getNavigator=o;function s(){return n(`location`)}e.getLocationOrThrow=s;function c(){return t(`location`)}e.getLocation=c;function l(){return n(`crypto`)}e.getCryptoOrThrow=l;function u(){return t(`crypto`)}e.getCrypto=u;function d(){return n(`localStorage`)}e.getLocalStorageOrThrow=d;function f(){return t(`localStorage`)}e.getLocalStorage=f})),Ns=i((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getWindowMetadata=void 0;var t=Ms();function n(){let e,n;try{e=t.getDocumentOrThrow(),n=t.getLocationOrThrow()}catch{return null}function r(){let t=e.getElementsByTagName(`link`),r=[];for(let e=0;e<t.length;e++){let i=t[e],a=i.getAttribute(`rel`);if(a&&a.toLowerCase().indexOf(`icon`)>-1){let e=i.getAttribute(`href`);if(e)if(e.toLowerCase().indexOf(`https:`)===-1&&e.toLowerCase().indexOf(`http:`)===-1&&e.indexOf(`//`)!==0){let t=n.protocol+`//`+n.host;if(e.indexOf(`/`)===0)t+=e;else{let r=n.pathname.split(`/`);r.pop();let i=r.join(`/`);t+=i+`/`+e}r.push(t)}else if(e.indexOf(`//`)===0){let t=n.protocol+e;r.push(t)}else r.push(e)}}return r}function i(...t){let n=e.getElementsByTagName(`meta`);for(let e=0;e<n.length;e++){let r=n[e],i=[`itemprop`,`property`,`name`].map(e=>r.getAttribute(e)).filter(e=>e?t.includes(e):!1);if(i.length&&i){let e=r.getAttribute(`content`);if(e)return e}}return``}function a(){let t=i(`name`,`og:site_name`,`og:title`,`twitter:title`);return t||=e.title,t}function o(){return i(`description`,`og:description`,`twitter:description`,`keywords`)}let s=a();return{description:o(),url:n.origin,icons:r(),name:s}}e.getWindowMetadata=n})),Ps=Ms(),Fs=Ns();function Is(e){if(e.length>=255)throw TypeError(`Alphabet too long`);let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let n=0;n<e.length;n++){let r=e.charAt(n),i=r.charCodeAt(0);if(t[i]!==255)throw TypeError(r+` is ambiguous`);t[i]=n}let n=e.length,r=e.charAt(0),i=Math.log(n)/Math.log(256),a=Math.log(256)/Math.log(n);function o(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;let i=0,o=0,s=0,c=t.length;for(;s!==c&&t[s]===0;)s++,i++;let l=(c-s)*a+1>>>0,u=new Uint8Array(l);for(;s!==c;){let e=t[s],r=0;for(let t=l-1;(e!==0||r<o)&&t!==-1;t--,r++)e+=256*u[t]>>>0,u[t]=e%n>>>0,e=e/n>>>0;if(e!==0)throw Error(`Non-zero carry`);o=r,s++}let d=l-o;for(;d!==l&&u[d]===0;)d++;let f=r.repeat(i);for(;d<l;++d)f+=e.charAt(u[d]);return f}function s(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;let a=0,o=0,s=0;for(;e[a]===r;)o++,a++;let c=(e.length-a)*i+1>>>0,l=new Uint8Array(c);for(;a<e.length;){let r=e.charCodeAt(a);if(r>255)return;let i=t[r];if(i===255)return;let o=0;for(let e=c-1;(i!==0||o<s)&&e!==-1;e--,o++)i+=n*l[e]>>>0,l[e]=i%256>>>0,i=i/256>>>0;if(i!==0)throw Error(`Non-zero carry`);s=o,a++}let u=c-s;for(;u!==c&&l[u]===0;)u++;let d=new Uint8Array(o+(c-u)),f=o;for(;u!==c;)d[f++]=l[u++];return d}function c(e){let t=s(e);if(t)return t;throw Error(`Non-base`+n+` character`)}return{encode:o,decodeUnsafe:s,decode:c}}var Ls=Is(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`);function Rs(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function zs(e,t){t||=e.reduce((e,t)=>e+t.length,0);let n=Rs(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Bs(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var Vs=Bs,Hs=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},Us=e=>new TextEncoder().encode(e),Ws=e=>new TextDecoder().decode(e),Gs=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},Ks=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e==`string`){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(`Can only multibase decode strings`)}or(e){return Js(this,e)}},qs=class{constructor(e){this.decoders=e}or(e){return Js(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Js=(e,t)=>new qs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ys=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new Gs(e,t,n),this.decoder=new Ks(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Xs=({name:e,prefix:t,encode:n,decode:r})=>new Ys(e,t,n,r),Zs=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=Vs(n,t);return Xs({prefix:e,name:t,encode:r,decode:e=>Hs(i(e))})},Qs=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},$s=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},ec=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>Xs({prefix:t,name:e,encode(e){return $s(e,r,n)},decode(t){return Qs(t,r,n,e)}}),tc=r({identity:()=>nc}),nc=Xs({prefix:`\0`,name:`identity`,encode:e=>Ws(e),decode:e=>Us(e)}),rc=r({base2:()=>ic}),ic=ec({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),ac=r({base8:()=>oc}),oc=ec({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),sc=r({base10:()=>cc}),cc=Zs({prefix:`9`,name:`base10`,alphabet:`0123456789`}),lc=r({base16:()=>uc,base16upper:()=>dc}),uc=ec({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),dc=ec({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),fc=r({base32:()=>pc,base32hex:()=>_c,base32hexpad:()=>yc,base32hexpadupper:()=>bc,base32hexupper:()=>vc,base32pad:()=>hc,base32padupper:()=>gc,base32upper:()=>mc,base32z:()=>xc}),pc=ec({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),mc=ec({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),hc=ec({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),gc=ec({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),_c=ec({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),vc=ec({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),yc=ec({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),bc=ec({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),xc=ec({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),Sc=r({base36:()=>Cc,base36upper:()=>wc}),Cc=Zs({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),wc=Zs({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),Tc=r({base58btc:()=>Ec,base58flickr:()=>Dc}),Ec=Zs({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),Dc=Zs({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),Oc=r({base64:()=>kc,base64pad:()=>Ac,base64url:()=>jc,base64urlpad:()=>Mc}),kc=ec({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),Ac=ec({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),jc=ec({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),Mc=ec({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),Nc=r({base256emoji:()=>zc}),Pc=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),Fc=Pc.reduce((e,t,n)=>(e[n]=t,e),[]),Ic=Pc.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function Lc(e){return e.reduce((e,t)=>(e+=Fc[t],e),``)}function Rc(e){let t=[];for(let n of e){let e=Ic[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var zc=Xs({prefix:`🚀`,name:`base256emoji`,encode:Lc,decode:Rc}),Bc=Wc,Vc=128,Hc=-128,Uc=2**31;function Wc(e,t,n){t||=[],n||=0;for(var r=n;e>=Uc;)t[n++]=e&255|Vc,e/=128;for(;e&Hc;)t[n++]=e&255|Vc,e>>>=7;return t[n]=e|0,Wc.bytes=n-r+1,t}var Gc=Jc,Kc=128,qc=127;function Jc(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw Jc.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&qc)<<r:(a&qc)*2**r,r+=7}while(a>=Kc);return Jc.bytes=i-t,n}var Yc=2**7,Xc=2**14,Zc=2**21,Qc=2**28,$c=2**35,el=2**42,tl=2**49,nl=2**56,rl=2**63,il={encode:Bc,decode:Gc,encodingLength:function(e){return e<Yc?1:e<Xc?2:e<Zc?3:e<Qc?4:e<$c?5:e<el?6:e<tl?7:e<nl?8:e<rl?9:10}},al=(e,t,n=0)=>(il.encode(e,t,n),t),ol=e=>il.encodingLength(e),sl=(e,t)=>{let n=t.byteLength,r=ol(e),i=r+ol(n),a=new Uint8Array(i+n);return al(e,a,0),al(n,a,r),a.set(t,i),new cl(e,n,t,a)},cl=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},ll=({name:e,code:t,encode:n})=>new ul(e,t,n),ul=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?sl(this.code,t):t.then(e=>sl(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},dl=r({sha256:()=>pl,sha512:()=>ml}),fl=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),pl=ll({name:`sha2-256`,code:18,encode:fl(`SHA-256`)}),ml=ll({name:`sha2-512`,code:19,encode:fl(`SHA-512`)}),hl=r({identity:()=>yl}),gl=0,_l=`identity`,vl=Hs,yl={code:gl,name:_l,encode:vl,digest:e=>sl(gl,vl(e))};new TextEncoder,new TextDecoder;var bl={...tc,...rc,...ac,...sc,...lc,...fc,...Sc,...Tc,...Oc,...Nc};({...dl,...hl});function xl(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var Sl=xl(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),Cl=xl(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=Rs(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),wl={utf8:Sl,"utf-8":Sl,hex:bl.base16,latin1:Cl,ascii:Cl,binary:Cl,...bl};function Tl(e,t=`utf8`){let n=wl[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}function El(e,t=`utf8`){let n=wl[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`utf8`):n.encoder.encode(e).substring(1)}var Dl=r({author:()=>Il,bugs:()=>Ll,default:()=>Vl,dependencies:()=>Bl,description:()=>Al,devDependencies:()=>zl,files:()=>Ml,homepage:()=>Rl,keywords:()=>Fl,license:()=>`MIT`,main:()=>jl,name:()=>Ol,repository:()=>Pl,scripts:()=>Nl,version:()=>kl}),Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl,Bl,Vl,Hl=t((()=>{Ol=`elliptic`,kl=`6.6.1`,Al=`EC cryptography`,jl=`lib/elliptic.js`,Ml=[`lib`],Nl={lint:`eslint lib test`,"lint:fix":`npm run lint -- --fix`,unit:`istanbul test _mocha --reporter=spec test/index.js`,test:`npm run lint && npm run unit`,version:`grunt dist && git add dist/`},Pl={type:`git`,url:`git@github.com:indutny/elliptic`},Fl=[`EC`,`Elliptic`,`curve`,`Cryptography`],Il=`Fedor Indutny <fedor@indutny.com>`,Ll={url:`https://github.com/indutny/elliptic/issues`},Rl=`https://github.com/indutny/elliptic`,zl={brfs:`^2.0.2`,coveralls:`^3.1.0`,eslint:`^7.6.0`,grunt:`^1.2.1`,"grunt-browserify":`^5.3.0`,"grunt-cli":`^1.3.2`,"grunt-contrib-connect":`^3.0.0`,"grunt-contrib-copy":`^1.0.0`,"grunt-contrib-uglify":`^5.0.0`,"grunt-mocha-istanbul":`^5.0.2`,"grunt-saucelabs":`^9.0.1`,istanbul:`^0.4.5`,mocha:`^8.0.1`},Bl={"bn.js":`^4.11.9`,brorand:`^1.1.0`,"hash.js":`^1.0.0`,"hmac-drbg":`^1.0.1`,inherits:`^2.0.4`,"minimalistic-assert":`^1.0.1`,"minimalistic-crypto-utils":`^1.0.1`},Vl={name:Ol,version:kl,description:Al,main:jl,files:Ml,scripts:Nl,repository:Pl,keywords:Fl,author:Il,license:`MIT`,bugs:Ll,homepage:Rl,devDependencies:zl,dependencies:Bl}})),Ul=i(((e,t)=>{(function(e,t){function n(e,t){if(!e)throw Error(t||`Assertion failed`)}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,e!==null&&((t===`le`||t===`be`)&&(n=t,t=10),this._init(e||0,t||10,n||`be`))}typeof e==`object`?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;var a;try{a=typeof window<`u`&&window.Buffer!==void 0?window.Buffer:o().Buffer}catch{}i.isBN=function(e){return e instanceof i?!0:typeof e==`object`&&!!e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if(typeof e==`number`)return this._initNumber(e,t,r);if(typeof e==`object`)return this._initArray(e,t,r);t===`hex`&&(t=16),n(t===(t|0)&&t>=2&&t<=36),e=e.toString().replace(/\s+/g,``);var i=0;e[0]===`-`&&(i++,this.negative=1),i<e.length&&(t===16?this._parseHex(e,i,r):(this._parseBase(e,t,i),r===`le`&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[e&67108863],this.length=1):e<4503599627370496?(this.words=[e&67108863,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[e&67108863,e/67108864&67108863,1],this.length=3),r===`le`&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n(typeof e.length==`number`),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(r===`be`)for(i=e.length-1,a=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,s+=24,s>=26&&(s-=26,a++);else if(r===`le`)for(i=0,a=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,s+=24,s>=26&&(s-=26,a++);return this.strip()};function s(e,t){var n=e.charCodeAt(t);return n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:n-48&15}function c(e,t,n){var r=s(e,n);return n-1>=t&&(r|=s(e,n-1)<<4),r}i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i=0,a=0,o;if(n===`be`)for(r=e.length-1;r>=t;r-=2)o=c(e,t,r)<<i,this.words[a]|=o&67108863,i>=18?(i-=18,a+=1,this.words[a]|=o>>>26):i+=8;else for(r=(e.length-t)%2==0?t+1:t;r<e.length;r+=2)o=c(e,t,r)<<i,this.words[a]|=o&67108863,i>=18?(i-=18,a+=1,this.words[a]|=o>>>26):i+=8;this.strip()};function l(e,t,n,r){for(var i=0,a=Math.min(e.length,n),o=t;o<a;o++){var s=e.charCodeAt(o)-48;i*=r,s>=49?i+=s-49+10:s>=17?i+=s-17+10:i+=s}return i}i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var a=e.length-n,o=a%r,s=Math.min(a,a-o)+n,c=0,u=n;u<s;u+=r)c=l(e,u,u+r,t),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(o!==0){var d=1;for(c=l(e,u,e.length,t),u=0;u<o;u++)d*=t;this.imuln(d),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this.strip()},i.prototype.copy=function(e){e.words=Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?`<BN-R: `:`<BN: `)+this.toString(16)+`>`};var u=`.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`.split(`.`),d=[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],f=[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];i.prototype.toString=function(e,t){e||=10,t=t|0||1;var r;if(e===16||e===`hex`){r=``;for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],c=((s<<i|a)&16777215).toString(16);a=s>>>24-i&16777215,i+=2,i>=26&&(i-=26,o--),r=a!==0||o!==this.length-1?u[6-c.length]+c+r:c+r}for(a!==0&&(r=a.toString(16)+r);r.length%t!==0;)r=`0`+r;return this.negative!==0&&(r=`-`+r),r}if(e===(e|0)&&e>=2&&e<=36){var l=d[e],p=f[e];r=``;var m=this.clone();for(m.negative=0;!m.isZero();){var h=m.modn(p).toString(e);m=m.idivn(p),r=m.isZero()?h+r:u[l-h.length]+h+r}for(this.isZero()&&(r=`0`+r);r.length%t!==0;)r=`0`+r;return this.negative!==0&&(r=`-`+r),r}n(!1,`Base should be between 2 and 36`)},i.prototype.toNumber=function(){var e=this.words[0];return this.length===2?e+=this.words[1]*67108864:this.length===3&&this.words[2]===1?e+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,`Number can only safely store up to 53 bits`),this.negative===0?e:-e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return n(a!==void 0),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,`byte array longer than desired length`),n(a>0,`Requested array length <= 0`),this.strip();var o=t===`le`,s=new e(a),c,l,u=this.clone();if(o){for(l=0;!u.isZero();l++)c=u.andln(255),u.iushrn(8),s[l]=c;for(;l<a;l++)s[l]=0}else{for(l=0;l<a-i;l++)s[l]=0;for(l=0;!u.isZero();l++)c=u.andln(255),u.iushrn(8),s[a-l-1]=c}return s},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(e===0)return 26;var t=e,n=0;return t&8191||(n+=13,t>>>=13),t&127||(n+=7,t>>>=7),t&15||(n+=4,t>>>=4),t&3||(n+=2,t>>>=2),t&1||n++,n},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t};function p(e){for(var t=Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=(e.words[r]&1<<i)>>>i}return t}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,n!==26)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return this.negative===0?this.clone():this.abs().inotn(e).iaddn(1)},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return this.negative!==0},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},i.prototype.ior=function(e){return n((this.negative|e.negative)===0),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){for(var t=this.length>e.length?e:this,n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this.strip()},i.prototype.iand=function(e){return n((this.negative|e.negative)===0),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},i.prototype.ixor=function(e){return n((this.negative|e.negative)===0),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n(typeof e==`number`&&e>=0);var t=Math.ceil(e/26)|0,r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=~this.words[i]&67108863;return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n(typeof e==`number`&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),t?this.words[r]=this.words[r]|1<<i:this.words[r]=this.words[r]&~(1<<i),this.strip()},i.prototype.iadd=function(e){var t;if(this.negative!==0&&e.negative===0)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(this.negative===0&&e.negative!==0)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();var n,r;this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,a=0;a<r.length;a++)t=(n.words[a]|0)+(r.words[a]|0)+i,this.words[a]=t&67108863,i=t>>>26;for(;i!==0&&a<n.length;a++)t=(n.words[a]|0)+i,this.words[a]=t&67108863,i=t>>>26;if(this.length=n.length,i!==0)this.words[this.length]=i,this.length++;else if(n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this},i.prototype.add=function(e){var t;return e.negative!==0&&this.negative===0?(e.negative=0,t=this.sub(e),e.negative^=1,t):e.negative===0&&this.negative!==0?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n=this.cmp(e);if(n===0)return this.negative=0,this.length=1,this.words[0]=0,this;var r,i;n>0?(r=this,i=e):(r=e,i=this);for(var a=0,o=0;o<i.length;o++)t=(r.words[o]|0)-(i.words[o]|0)+a,a=t>>26,this.words[o]=t&67108863;for(;a!==0&&o<r.length;o++)t=(r.words[o]|0)+a,a=t>>26,this.words[o]=t&67108863;if(a===0&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(e){return this.clone().isub(e)};function m(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=e.words[0]|0,a=t.words[0]|0,o=i*a,s=o&67108863,c=o/67108864|0;n.words[0]=s;for(var l=1;l<r;l++){for(var u=c>>>26,d=c&67108863,f=Math.min(l,t.length-1),p=Math.max(0,l-e.length+1);p<=f;p++){var m=l-p|0;i=e.words[m]|0,a=t.words[p]|0,o=i*a+d,u+=o/67108864|0,d=o&67108863}n.words[l]=d|0,c=u|0}return c===0?n.length--:n.words[l]=c|0,n.strip()}var h=function(e,t,n){var r=e.words,i=t.words,a=n.words,o=0,s,c,l,u=r[0]|0,d=u&8191,f=u>>>13,p=r[1]|0,m=p&8191,h=p>>>13,g=r[2]|0,_=g&8191,v=g>>>13,y=r[3]|0,b=y&8191,x=y>>>13,S=r[4]|0,C=S&8191,w=S>>>13,T=r[5]|0,E=T&8191,D=T>>>13,O=r[6]|0,k=O&8191,A=O>>>13,j=r[7]|0,M=j&8191,N=j>>>13,P=r[8]|0,F=P&8191,I=P>>>13,L=r[9]|0,R=L&8191,z=L>>>13,ee=i[0]|0,B=ee&8191,V=ee>>>13,te=i[1]|0,H=te&8191,ne=te>>>13,re=i[2]|0,U=re&8191,ie=re>>>13,ae=i[3]|0,oe=ae&8191,se=ae>>>13,ce=i[4]|0,le=ce&8191,ue=ce>>>13,de=i[5]|0,fe=de&8191,pe=de>>>13,me=i[6]|0,he=me&8191,W=me>>>13,ge=i[7]|0,_e=ge&8191,ve=ge>>>13,ye=i[8]|0,be=ye&8191,xe=ye>>>13,Se=i[9]|0,Ce=Se&8191,we=Se>>>13;n.negative=e.negative^t.negative,n.length=19,s=Math.imul(d,B),c=Math.imul(d,V),c=c+Math.imul(f,B)|0,l=Math.imul(f,V);var Te=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Te>>>26)|0,Te&=67108863,s=Math.imul(m,B),c=Math.imul(m,V),c=c+Math.imul(h,B)|0,l=Math.imul(h,V),s=s+Math.imul(d,H)|0,c=c+Math.imul(d,ne)|0,c=c+Math.imul(f,H)|0,l=l+Math.imul(f,ne)|0;var Ee=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,s=Math.imul(_,B),c=Math.imul(_,V),c=c+Math.imul(v,B)|0,l=Math.imul(v,V),s=s+Math.imul(m,H)|0,c=c+Math.imul(m,ne)|0,c=c+Math.imul(h,H)|0,l=l+Math.imul(h,ne)|0,s=s+Math.imul(d,U)|0,c=c+Math.imul(d,ie)|0,c=c+Math.imul(f,U)|0,l=l+Math.imul(f,ie)|0;var De=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(De>>>26)|0,De&=67108863,s=Math.imul(b,B),c=Math.imul(b,V),c=c+Math.imul(x,B)|0,l=Math.imul(x,V),s=s+Math.imul(_,H)|0,c=c+Math.imul(_,ne)|0,c=c+Math.imul(v,H)|0,l=l+Math.imul(v,ne)|0,s=s+Math.imul(m,U)|0,c=c+Math.imul(m,ie)|0,c=c+Math.imul(h,U)|0,l=l+Math.imul(h,ie)|0,s=s+Math.imul(d,oe)|0,c=c+Math.imul(d,se)|0,c=c+Math.imul(f,oe)|0,l=l+Math.imul(f,se)|0;var Oe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,s=Math.imul(C,B),c=Math.imul(C,V),c=c+Math.imul(w,B)|0,l=Math.imul(w,V),s=s+Math.imul(b,H)|0,c=c+Math.imul(b,ne)|0,c=c+Math.imul(x,H)|0,l=l+Math.imul(x,ne)|0,s=s+Math.imul(_,U)|0,c=c+Math.imul(_,ie)|0,c=c+Math.imul(v,U)|0,l=l+Math.imul(v,ie)|0,s=s+Math.imul(m,oe)|0,c=c+Math.imul(m,se)|0,c=c+Math.imul(h,oe)|0,l=l+Math.imul(h,se)|0,s=s+Math.imul(d,le)|0,c=c+Math.imul(d,ue)|0,c=c+Math.imul(f,le)|0,l=l+Math.imul(f,ue)|0;var ke=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(ke>>>26)|0,ke&=67108863,s=Math.imul(E,B),c=Math.imul(E,V),c=c+Math.imul(D,B)|0,l=Math.imul(D,V),s=s+Math.imul(C,H)|0,c=c+Math.imul(C,ne)|0,c=c+Math.imul(w,H)|0,l=l+Math.imul(w,ne)|0,s=s+Math.imul(b,U)|0,c=c+Math.imul(b,ie)|0,c=c+Math.imul(x,U)|0,l=l+Math.imul(x,ie)|0,s=s+Math.imul(_,oe)|0,c=c+Math.imul(_,se)|0,c=c+Math.imul(v,oe)|0,l=l+Math.imul(v,se)|0,s=s+Math.imul(m,le)|0,c=c+Math.imul(m,ue)|0,c=c+Math.imul(h,le)|0,l=l+Math.imul(h,ue)|0,s=s+Math.imul(d,fe)|0,c=c+Math.imul(d,pe)|0,c=c+Math.imul(f,fe)|0,l=l+Math.imul(f,pe)|0;var Ae=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,s=Math.imul(k,B),c=Math.imul(k,V),c=c+Math.imul(A,B)|0,l=Math.imul(A,V),s=s+Math.imul(E,H)|0,c=c+Math.imul(E,ne)|0,c=c+Math.imul(D,H)|0,l=l+Math.imul(D,ne)|0,s=s+Math.imul(C,U)|0,c=c+Math.imul(C,ie)|0,c=c+Math.imul(w,U)|0,l=l+Math.imul(w,ie)|0,s=s+Math.imul(b,oe)|0,c=c+Math.imul(b,se)|0,c=c+Math.imul(x,oe)|0,l=l+Math.imul(x,se)|0,s=s+Math.imul(_,le)|0,c=c+Math.imul(_,ue)|0,c=c+Math.imul(v,le)|0,l=l+Math.imul(v,ue)|0,s=s+Math.imul(m,fe)|0,c=c+Math.imul(m,pe)|0,c=c+Math.imul(h,fe)|0,l=l+Math.imul(h,pe)|0,s=s+Math.imul(d,he)|0,c=c+Math.imul(d,W)|0,c=c+Math.imul(f,he)|0,l=l+Math.imul(f,W)|0;var je=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(je>>>26)|0,je&=67108863,s=Math.imul(M,B),c=Math.imul(M,V),c=c+Math.imul(N,B)|0,l=Math.imul(N,V),s=s+Math.imul(k,H)|0,c=c+Math.imul(k,ne)|0,c=c+Math.imul(A,H)|0,l=l+Math.imul(A,ne)|0,s=s+Math.imul(E,U)|0,c=c+Math.imul(E,ie)|0,c=c+Math.imul(D,U)|0,l=l+Math.imul(D,ie)|0,s=s+Math.imul(C,oe)|0,c=c+Math.imul(C,se)|0,c=c+Math.imul(w,oe)|0,l=l+Math.imul(w,se)|0,s=s+Math.imul(b,le)|0,c=c+Math.imul(b,ue)|0,c=c+Math.imul(x,le)|0,l=l+Math.imul(x,ue)|0,s=s+Math.imul(_,fe)|0,c=c+Math.imul(_,pe)|0,c=c+Math.imul(v,fe)|0,l=l+Math.imul(v,pe)|0,s=s+Math.imul(m,he)|0,c=c+Math.imul(m,W)|0,c=c+Math.imul(h,he)|0,l=l+Math.imul(h,W)|0,s=s+Math.imul(d,_e)|0,c=c+Math.imul(d,ve)|0,c=c+Math.imul(f,_e)|0,l=l+Math.imul(f,ve)|0;var Me=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Me>>>26)|0,Me&=67108863,s=Math.imul(F,B),c=Math.imul(F,V),c=c+Math.imul(I,B)|0,l=Math.imul(I,V),s=s+Math.imul(M,H)|0,c=c+Math.imul(M,ne)|0,c=c+Math.imul(N,H)|0,l=l+Math.imul(N,ne)|0,s=s+Math.imul(k,U)|0,c=c+Math.imul(k,ie)|0,c=c+Math.imul(A,U)|0,l=l+Math.imul(A,ie)|0,s=s+Math.imul(E,oe)|0,c=c+Math.imul(E,se)|0,c=c+Math.imul(D,oe)|0,l=l+Math.imul(D,se)|0,s=s+Math.imul(C,le)|0,c=c+Math.imul(C,ue)|0,c=c+Math.imul(w,le)|0,l=l+Math.imul(w,ue)|0,s=s+Math.imul(b,fe)|0,c=c+Math.imul(b,pe)|0,c=c+Math.imul(x,fe)|0,l=l+Math.imul(x,pe)|0,s=s+Math.imul(_,he)|0,c=c+Math.imul(_,W)|0,c=c+Math.imul(v,he)|0,l=l+Math.imul(v,W)|0,s=s+Math.imul(m,_e)|0,c=c+Math.imul(m,ve)|0,c=c+Math.imul(h,_e)|0,l=l+Math.imul(h,ve)|0,s=s+Math.imul(d,be)|0,c=c+Math.imul(d,xe)|0,c=c+Math.imul(f,be)|0,l=l+Math.imul(f,xe)|0;var Ne=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,s=Math.imul(R,B),c=Math.imul(R,V),c=c+Math.imul(z,B)|0,l=Math.imul(z,V),s=s+Math.imul(F,H)|0,c=c+Math.imul(F,ne)|0,c=c+Math.imul(I,H)|0,l=l+Math.imul(I,ne)|0,s=s+Math.imul(M,U)|0,c=c+Math.imul(M,ie)|0,c=c+Math.imul(N,U)|0,l=l+Math.imul(N,ie)|0,s=s+Math.imul(k,oe)|0,c=c+Math.imul(k,se)|0,c=c+Math.imul(A,oe)|0,l=l+Math.imul(A,se)|0,s=s+Math.imul(E,le)|0,c=c+Math.imul(E,ue)|0,c=c+Math.imul(D,le)|0,l=l+Math.imul(D,ue)|0,s=s+Math.imul(C,fe)|0,c=c+Math.imul(C,pe)|0,c=c+Math.imul(w,fe)|0,l=l+Math.imul(w,pe)|0,s=s+Math.imul(b,he)|0,c=c+Math.imul(b,W)|0,c=c+Math.imul(x,he)|0,l=l+Math.imul(x,W)|0,s=s+Math.imul(_,_e)|0,c=c+Math.imul(_,ve)|0,c=c+Math.imul(v,_e)|0,l=l+Math.imul(v,ve)|0,s=s+Math.imul(m,be)|0,c=c+Math.imul(m,xe)|0,c=c+Math.imul(h,be)|0,l=l+Math.imul(h,xe)|0,s=s+Math.imul(d,Ce)|0,c=c+Math.imul(d,we)|0,c=c+Math.imul(f,Ce)|0,l=l+Math.imul(f,we)|0;var Pe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,s=Math.imul(R,H),c=Math.imul(R,ne),c=c+Math.imul(z,H)|0,l=Math.imul(z,ne),s=s+Math.imul(F,U)|0,c=c+Math.imul(F,ie)|0,c=c+Math.imul(I,U)|0,l=l+Math.imul(I,ie)|0,s=s+Math.imul(M,oe)|0,c=c+Math.imul(M,se)|0,c=c+Math.imul(N,oe)|0,l=l+Math.imul(N,se)|0,s=s+Math.imul(k,le)|0,c=c+Math.imul(k,ue)|0,c=c+Math.imul(A,le)|0,l=l+Math.imul(A,ue)|0,s=s+Math.imul(E,fe)|0,c=c+Math.imul(E,pe)|0,c=c+Math.imul(D,fe)|0,l=l+Math.imul(D,pe)|0,s=s+Math.imul(C,he)|0,c=c+Math.imul(C,W)|0,c=c+Math.imul(w,he)|0,l=l+Math.imul(w,W)|0,s=s+Math.imul(b,_e)|0,c=c+Math.imul(b,ve)|0,c=c+Math.imul(x,_e)|0,l=l+Math.imul(x,ve)|0,s=s+Math.imul(_,be)|0,c=c+Math.imul(_,xe)|0,c=c+Math.imul(v,be)|0,l=l+Math.imul(v,xe)|0,s=s+Math.imul(m,Ce)|0,c=c+Math.imul(m,we)|0,c=c+Math.imul(h,Ce)|0,l=l+Math.imul(h,we)|0;var Fe=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,s=Math.imul(R,U),c=Math.imul(R,ie),c=c+Math.imul(z,U)|0,l=Math.imul(z,ie),s=s+Math.imul(F,oe)|0,c=c+Math.imul(F,se)|0,c=c+Math.imul(I,oe)|0,l=l+Math.imul(I,se)|0,s=s+Math.imul(M,le)|0,c=c+Math.imul(M,ue)|0,c=c+Math.imul(N,le)|0,l=l+Math.imul(N,ue)|0,s=s+Math.imul(k,fe)|0,c=c+Math.imul(k,pe)|0,c=c+Math.imul(A,fe)|0,l=l+Math.imul(A,pe)|0,s=s+Math.imul(E,he)|0,c=c+Math.imul(E,W)|0,c=c+Math.imul(D,he)|0,l=l+Math.imul(D,W)|0,s=s+Math.imul(C,_e)|0,c=c+Math.imul(C,ve)|0,c=c+Math.imul(w,_e)|0,l=l+Math.imul(w,ve)|0,s=s+Math.imul(b,be)|0,c=c+Math.imul(b,xe)|0,c=c+Math.imul(x,be)|0,l=l+Math.imul(x,xe)|0,s=s+Math.imul(_,Ce)|0,c=c+Math.imul(_,we)|0,c=c+Math.imul(v,Ce)|0,l=l+Math.imul(v,we)|0;var Ie=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,s=Math.imul(R,oe),c=Math.imul(R,se),c=c+Math.imul(z,oe)|0,l=Math.imul(z,se),s=s+Math.imul(F,le)|0,c=c+Math.imul(F,ue)|0,c=c+Math.imul(I,le)|0,l=l+Math.imul(I,ue)|0,s=s+Math.imul(M,fe)|0,c=c+Math.imul(M,pe)|0,c=c+Math.imul(N,fe)|0,l=l+Math.imul(N,pe)|0,s=s+Math.imul(k,he)|0,c=c+Math.imul(k,W)|0,c=c+Math.imul(A,he)|0,l=l+Math.imul(A,W)|0,s=s+Math.imul(E,_e)|0,c=c+Math.imul(E,ve)|0,c=c+Math.imul(D,_e)|0,l=l+Math.imul(D,ve)|0,s=s+Math.imul(C,be)|0,c=c+Math.imul(C,xe)|0,c=c+Math.imul(w,be)|0,l=l+Math.imul(w,xe)|0,s=s+Math.imul(b,Ce)|0,c=c+Math.imul(b,we)|0,c=c+Math.imul(x,Ce)|0,l=l+Math.imul(x,we)|0;var Le=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Le>>>26)|0,Le&=67108863,s=Math.imul(R,le),c=Math.imul(R,ue),c=c+Math.imul(z,le)|0,l=Math.imul(z,ue),s=s+Math.imul(F,fe)|0,c=c+Math.imul(F,pe)|0,c=c+Math.imul(I,fe)|0,l=l+Math.imul(I,pe)|0,s=s+Math.imul(M,he)|0,c=c+Math.imul(M,W)|0,c=c+Math.imul(N,he)|0,l=l+Math.imul(N,W)|0,s=s+Math.imul(k,_e)|0,c=c+Math.imul(k,ve)|0,c=c+Math.imul(A,_e)|0,l=l+Math.imul(A,ve)|0,s=s+Math.imul(E,be)|0,c=c+Math.imul(E,xe)|0,c=c+Math.imul(D,be)|0,l=l+Math.imul(D,xe)|0,s=s+Math.imul(C,Ce)|0,c=c+Math.imul(C,we)|0,c=c+Math.imul(w,Ce)|0,l=l+Math.imul(w,we)|0;var Re=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Re>>>26)|0,Re&=67108863,s=Math.imul(R,fe),c=Math.imul(R,pe),c=c+Math.imul(z,fe)|0,l=Math.imul(z,pe),s=s+Math.imul(F,he)|0,c=c+Math.imul(F,W)|0,c=c+Math.imul(I,he)|0,l=l+Math.imul(I,W)|0,s=s+Math.imul(M,_e)|0,c=c+Math.imul(M,ve)|0,c=c+Math.imul(N,_e)|0,l=l+Math.imul(N,ve)|0,s=s+Math.imul(k,be)|0,c=c+Math.imul(k,xe)|0,c=c+Math.imul(A,be)|0,l=l+Math.imul(A,xe)|0,s=s+Math.imul(E,Ce)|0,c=c+Math.imul(E,we)|0,c=c+Math.imul(D,Ce)|0,l=l+Math.imul(D,we)|0;var ze=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(ze>>>26)|0,ze&=67108863,s=Math.imul(R,he),c=Math.imul(R,W),c=c+Math.imul(z,he)|0,l=Math.imul(z,W),s=s+Math.imul(F,_e)|0,c=c+Math.imul(F,ve)|0,c=c+Math.imul(I,_e)|0,l=l+Math.imul(I,ve)|0,s=s+Math.imul(M,be)|0,c=c+Math.imul(M,xe)|0,c=c+Math.imul(N,be)|0,l=l+Math.imul(N,xe)|0,s=s+Math.imul(k,Ce)|0,c=c+Math.imul(k,we)|0,c=c+Math.imul(A,Ce)|0,l=l+Math.imul(A,we)|0;var Be=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Be>>>26)|0,Be&=67108863,s=Math.imul(R,_e),c=Math.imul(R,ve),c=c+Math.imul(z,_e)|0,l=Math.imul(z,ve),s=s+Math.imul(F,be)|0,c=c+Math.imul(F,xe)|0,c=c+Math.imul(I,be)|0,l=l+Math.imul(I,xe)|0,s=s+Math.imul(M,Ce)|0,c=c+Math.imul(M,we)|0,c=c+Math.imul(N,Ce)|0,l=l+Math.imul(N,we)|0;var Ve=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(Ve>>>26)|0,Ve&=67108863,s=Math.imul(R,be),c=Math.imul(R,xe),c=c+Math.imul(z,be)|0,l=Math.imul(z,xe),s=s+Math.imul(F,Ce)|0,c=c+Math.imul(F,we)|0,c=c+Math.imul(I,Ce)|0,l=l+Math.imul(I,we)|0;var He=(o+s|0)+((c&8191)<<13)|0;o=(l+(c>>>13)|0)+(He>>>26)|0,He&=67108863,s=Math.imul(R,Ce),c=Math.imul(R,we),c=c+Math.imul(z,Ce)|0,l=Math.imul(z,we);var Ue=(o+s|0)+((c&8191)<<13)|0;return o=(l+(c>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,a[0]=Te,a[1]=Ee,a[2]=De,a[3]=Oe,a[4]=ke,a[5]=Ae,a[6]=je,a[7]=Me,a[8]=Ne,a[9]=Pe,a[10]=Fe,a[11]=Ie,a[12]=Le,a[13]=Re,a[14]=ze,a[15]=Be,a[16]=Ve,a[17]=He,a[18]=Ue,o!==0&&(a[19]=o,n.length++),n};Math.imul||(h=m);function g(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,a=0;a<n.length-1;a++){var o=i;i=0;for(var s=r&67108863,c=Math.min(a,t.length-1),l=Math.max(0,a-e.length+1);l<=c;l++){var u=a-l,d=(e.words[u]|0)*(t.words[l]|0),f=d&67108863;o=o+(d/67108864|0)|0,f=f+s|0,s=f&67108863,o=o+(f>>>26)|0,i+=o>>>26,o&=67108863}n.words[a]=s,r=o,o=i}return r===0?n.length--:n.words[a]=r,n.strip()}function _(e,t,n){return new v().mulp(e,t,n)}i.prototype.mulTo=function(e,t){var n,r=this.length+e.length;return n=this.length===10&&e.length===10?h(this,e,t):r<63?m(this,e,t):r<1024?g(this,e,t):_(this,e,t),n};function v(e,t){this.x=e,this.y=t}v.prototype.makeRBT=function(e){for(var t=Array(e),n=i.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,n,e);return t},v.prototype.revBin=function(e,t,n){if(e===0||e===n-1)return e;for(var r=0,i=0;i<t;i++)r|=(e&1)<<t-i-1,e>>=1;return r},v.prototype.permute=function(e,t,n,r,i,a){for(var o=0;o<a;o++)r[o]=t[e[o]],i[o]=n[e[o]]},v.prototype.transform=function(e,t,n,r,i,a){this.permute(a,e,t,n,r,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,c=Math.cos(2*Math.PI/s),l=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var d=c,f=l,p=0;p<o;p++){var m=n[u+p],h=r[u+p],g=n[u+p+o],_=r[u+p+o],v=d*g-f*_;_=d*_+f*g,g=v,n[u+p]=m+g,r[u+p]=h+_,n[u+p+o]=m-g,r[u+p+o]=h-_,p!==s&&(v=c*d-l*f,f=c*f+l*d,d=v)}},v.prototype.guessLen13b=function(e,t){var n=Math.max(t,e)|1,r=n&1,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},v.prototype.conjugate=function(e,t,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=e[r];e[r]=e[n-r-1],e[n-r-1]=i,i=t[r],t[r]=-t[n-r-1],t[n-r-1]=-i}},v.prototype.normalize13b=function(e,t){for(var n=0,r=0;r<t/2;r++){var i=Math.round(e[2*r+1]/t)*8192+Math.round(e[2*r]/t)+n;e[r]=i&67108863,n=i<67108864?0:i/67108864|0}return e},v.prototype.convert13b=function(e,t,r,i){for(var a=0,o=0;o<t;o++)a+=e[o]|0,r[2*o]=a&8191,a>>>=13,r[2*o+1]=a&8191,a>>>=13;for(o=2*t;o<i;++o)r[o]=0;n(a===0),n((a&-8192)==0)},v.prototype.stub=function(e){for(var t=Array(e),n=0;n<e;n++)t[n]=0;return t},v.prototype.mulp=function(e,t,n){var r=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(r),a=this.stub(r),o=Array(r),s=Array(r),c=Array(r),l=Array(r),u=Array(r),d=Array(r),f=n.words;f.length=r,this.convert13b(e.words,e.length,o,r),this.convert13b(t.words,t.length,l,r),this.transform(o,a,s,c,r,i),this.transform(l,a,u,d,r,i);for(var p=0;p<r;p++){var m=s[p]*u[p]-c[p]*d[p];c[p]=s[p]*d[p]+c[p]*u[p],s[p]=m}return this.conjugate(s,c,r),this.transform(s,c,f,a,r,i),this.conjugate(f,a,r),this.normalize13b(f,r),n.negative=e.negative^t.negative,n.length=e.length+t.length,n.strip()},i.prototype.mul=function(e){var t=new i(null);return t.words=Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=Array(this.length+e.length),_(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){n(typeof e==`number`),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(this.words[r]|0)*e,a=(i&67108863)+(t&67108863);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=a&67108863}return t!==0&&(this.words[r]=t,this.length++),this.length=e===0?1:this.length,this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=p(e);if(t.length===0)return new i(1);for(var n=this,r=0;r<t.length&&t[r]===0;r++,n=n.sqr());if(++r<t.length)for(var a=n.sqr();r<t.length;r++,a=a.sqr())t[r]!==0&&(n=n.mul(a));return n},i.prototype.iushln=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26,i=67108863>>>26-t<<26-t,a;if(t!==0){var o=0;for(a=0;a<this.length;a++){var s=this.words[a]&i,c=(this.words[a]|0)-s<<t;this.words[a]=c|o,o=s>>>26-t}o&&(this.words[a]=o,this.length++)}if(r!==0){for(a=this.length-1;a>=0;a--)this.words[a+r]=this.words[a];for(a=0;a<r;a++)this.words[a]=0;this.length+=r}return this.strip()},i.prototype.ishln=function(e){return n(this.negative===0),this.iushln(e)},i.prototype.iushrn=function(e,t,r){n(typeof e==`number`&&e>=0);var i=t?(t-t%26)/26:0,a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,c=r;if(i-=o,i=Math.max(0,i),c){for(var l=0;l<o;l++)c.words[l]=this.words[l];c.length=o}if(o!==0)if(this.length>o)for(this.length-=o,l=0;l<this.length;l++)this.words[l]=this.words[l+o];else this.words[0]=0,this.length=1;var u=0;for(l=this.length-1;l>=0&&(u!==0||l>=i);l--){var d=this.words[l]|0;this.words[l]=u<<26-a|d>>>a,u=d&s}return c&&u!==0&&(c.words[c.length++]=u),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,r){return n(this.negative===0),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return this.length<=r?!1:!!(this.words[r]&i)},i.prototype.imaskn=function(e){n(typeof e==`number`&&e>=0);var t=e%26,r=(e-t)/26;if(n(this.negative===0,`imaskn works only with positive numbers`),this.length<=r)return this;if(t!==0&&r++,this.length=Math.min(r,this.length),t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n(typeof e==`number`),n(e<67108864),e<0?this.isubn(-e):this.negative===0?this._iaddn(e):this.length===1&&(this.words[0]|0)<e?(this.words[0]=e-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n(typeof e==`number`),n(e<67108864),e<0)return this.iaddn(-e);if(this.negative!==0)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,--this.words[t+1];return this.strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var i=e.length+r,a;this._expand(i);var o,s=0;for(a=0;a<e.length;a++){o=(this.words[a+r]|0)+s;var c=(e.words[a]|0)*t;o-=c&67108863,s=(o>>26)-(c/67108864|0),this.words[a+r]=o&67108863}for(;a<this.length-r;a++)o=(this.words[a+r]|0)+s,s=o>>26,this.words[a+r]=o&67108863;if(s===0)return this.strip();for(n(s===-1),s=0,a=0;a<this.length;a++)o=-(this.words[a]|0)+s,s=o>>26,this.words[a]=o&67108863;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var n=this.length-e.length,r=this.clone(),a=e,o=a.words[a.length-1]|0;n=26-this._countBits(o),n!==0&&(a=a.ushln(n),r.iushln(n),o=a.words[a.length-1]|0);var s=r.length-a.length,c;if(t!==`mod`){c=new i(null),c.length=s+1,c.words=Array(c.length);for(var l=0;l<c.length;l++)c.words[l]=0}var u=r.clone()._ishlnsubmul(a,1,s);u.negative===0&&(r=u,c&&(c.words[s]=1));for(var d=s-1;d>=0;d--){var f=(r.words[a.length+d]|0)*67108864+(r.words[a.length+d-1]|0);for(f=Math.min(f/o|0,67108863),r._ishlnsubmul(a,f,d);r.negative!==0;)f--,r.negative=0,r._ishlnsubmul(a,1,d),r.isZero()||(r.negative^=1);c&&(c.words[d]=f)}return c&&c.strip(),r.strip(),t!==`div`&&n!==0&&r.iushrn(n),{div:c||null,mod:r}},i.prototype.divmod=function(e,t,r){if(n(!e.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var a,o,s;return this.negative!==0&&e.negative===0?(s=this.neg().divmod(e,t),t!==`mod`&&(a=s.div.neg()),t!==`div`&&(o=s.mod.neg(),r&&o.negative!==0&&o.iadd(e)),{div:a,mod:o}):this.negative===0&&e.negative!==0?(s=this.divmod(e.neg(),t),t!==`mod`&&(a=s.div.neg()),{div:a,mod:s.mod}):(this.negative&e.negative)===0?e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:e.length===1?t===`div`?{div:this.divn(e.words[0]),mod:null}:t===`mod`?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t):(s=this.neg().divmod(e.neg(),t),t!==`div`&&(o=s.mod.neg(),r&&o.negative!==0&&o.isub(e)),{div:s.div,mod:o})},i.prototype.div=function(e){return this.divmod(e,`div`,!1).div},i.prototype.mod=function(e){return this.divmod(e,`mod`,!1).mod},i.prototype.umod=function(e){return this.divmod(e,`mod`,!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=t.div.negative===0?t.mod:t.mod.isub(e),r=e.ushrn(1),i=e.andln(1),a=n.cmp(r);return a<0||i===1&&a===0?t.div:t.div.negative===0?t.div.iaddn(1):t.div.isubn(1)},i.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(this.words[i]|0))%e;return r},i.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(this.words[r]|0)+t*67108864;this.words[r]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(e.negative===0),n(!e.isZero());var t=this,r=e.clone();t=t.negative===0?t.clone():t.umod(e);for(var a=new i(1),o=new i(0),s=new i(0),c=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var u=r.clone(),d=t.clone();!t.isZero();){for(var f=0,p=1;(t.words[0]&p)===0&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(d)),a.iushrn(1),o.iushrn(1);for(var m=0,h=1;(r.words[0]&h)===0&&m<26;++m,h<<=1);if(m>0)for(r.iushrn(m);m-- >0;)(s.isOdd()||c.isOdd())&&(s.iadd(u),c.isub(d)),s.iushrn(1),c.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s),o.isub(c)):(r.isub(t),s.isub(a),c.isub(o))}return{a:s,b:c,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(e.negative===0),n(!e.isZero());var t=this,r=e.clone();t=t.negative===0?t.clone():t.umod(e);for(var a=new i(1),o=new i(0),s=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,l=1;(t.words[0]&l)===0&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(s),a.iushrn(1);for(var u=0,d=1;(r.words[0]&d)===0&&u<26;++u,d<<=1);if(u>0)for(r.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(s),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o)):(r.isub(t),o.isub(a))}var f=t.cmpn(1)===0?a:o;return f.cmpn(0)<0&&f.iadd(e),f},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);do{for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var a=t;t=n,n=a}else if(i===0||n.cmpn(1)===0)break;t.isub(n)}while(!0);return n.iushln(r)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(this.words[0]&1)==0},i.prototype.isOdd=function(){return(this.words[0]&1)==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n(typeof e==`number`);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;a!==0&&o<this.length;o++){var s=this.words[o]|0;s+=a,a=s>>>26,s&=67108863,this.words[o]=s}return a!==0&&(this.words[o]=a,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this.strip();var r;if(this.length>1)r=1;else{t&&(e=-e),n(e<=67108863,`Number is too big`);var i=this.words[0]|0;r=i===e?0:i<e?-1:1}return this.negative===0?r:-r|0},i.prototype.cmp=function(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);return this.negative===0?t:-t|0},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=this.words[n]|0,i=e.words[n]|0;if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},i.prototype.gtn=function(e){return this.cmpn(e)===1},i.prototype.gt=function(e){return this.cmp(e)===1},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return this.cmpn(e)===-1},i.prototype.lt=function(e){return this.cmp(e)===-1},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return this.cmpn(e)===0},i.prototype.eq=function(e){return this.cmp(e)===0},i.red=function(e){return new T(e)},i.prototype.toRed=function(e){return n(!this.red,`Already a number in reduction context`),n(this.negative===0,`red works only with positives`),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,`fromRed works only with numbers in reduction context`),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,`Already a number in reduction context`),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,`redAdd works only with red numbers`),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,`redIAdd works only with red numbers`),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,`redSub works only with red numbers`),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,`redISub works only with red numbers`),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,`redShl works only with red numbers`),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,`redMul works only with red numbers`),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,`redMul works only with red numbers`),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,`redSqr works only with red numbers`),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,`redISqr works only with red numbers`),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,`redSqrt works only with red numbers`),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,`redInvm works only with red numbers`),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,`redNeg works only with red numbers`),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,`redPow(normalNum)`),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}b.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t=e,n;do this.split(t,this.tmp),t=this.imulK(t),t=t.iadd(this.tmp),n=t.bitLength();while(n>this.n);var r=n<this.n?-1:t.ucmp(this.p);return r===0?(t.words[0]=0,t.length=1):r>0?t.isub(this.p):t.strip===void 0?t._strip():t.strip(),t},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)};function x(){b.call(this,`k256`,`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f`)}r(x,b),x.prototype.split=function(e,t){for(var n=4194303,r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9){e.words[0]=0,e.length=1;return}var a=e.words[9];for(t.words[t.length++]=a&n,i=10;i<e.length;i++){var o=e.words[i]|0;e.words[i-10]=(o&n)<<4|a>>>22,a=o}a>>>=22,e.words[i-10]=a,a===0&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=e.words[n]|0;t+=r*977,e.words[n]=t&67108863,t=r*64+(t/67108864|0)}return e.words[e.length-1]===0&&(e.length--,e.words[e.length-1]===0&&e.length--),e};function S(){b.call(this,`p224`,`ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001`)}r(S,b);function C(){b.call(this,`p192`,`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff`)}r(C,b);function w(){b.call(this,`25519`,`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`)}r(w,b),w.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=(e.words[n]|0)*19+t,i=r&67108863;r>>>=26,e.words[n]=i,t=r}return t!==0&&(e.words[e.length++]=t),e},i._prime=function(e){if(y[e])return y[e];var t;if(e===`k256`)t=new x;else if(e===`p224`)t=new S;else if(e===`p192`)t=new C;else if(e===`p25519`)t=new w;else throw Error(`Unknown prime `+e);return y[e]=t,t};function T(e){if(typeof e==`string`){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),`modulus must be greater than 1`),this.m=e,this.prime=null}T.prototype._verify1=function(e){n(e.negative===0,`red works only with positives`),n(e.red,`red works only with red numbers`)},T.prototype._verify2=function(e,t){n((e.negative|t.negative)===0,`red works only with positives`),n(e.red&&e.red===t.red,`red works only with red numbers`)},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},T.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),t===3){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&a.andln(1)===0;)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),c=s.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);this.pow(u,l).cmp(c)!==0;)u.redIAdd(c);for(var d=this.pow(u,a),f=this.pow(e,a.addn(1).iushrn(1)),p=this.pow(e,a),m=o;p.cmp(s)!==0;){for(var h=p,g=0;h.cmp(s)!==0;g++)h=h.redSqr();n(g<m);var _=this.pow(d,new i(1).iushln(m-g-1));f=f.redMul(_),d=_.redSqr(),p=p.redMul(d),m=g}return f},T.prototype.invm=function(e){var t=e._invmp(this.m);return t.negative===0?this.imod(t):(t.negative=0,this.imod(t).redNeg())},T.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var n=4,r=Array(1<<n);r[0]=new i(1).toRed(this),r[1]=e;for(var a=2;a<r.length;a++)r[a]=this.mul(r[a-1],e);var o=r[0],s=0,c=0,l=t.bitLength()%26;for(l===0&&(l=26),a=t.length-1;a>=0;a--){for(var u=t.words[a],d=l-1;d>=0;d--){var f=u>>d&1;if(o!==r[0]&&(o=this.sqr(o)),f===0&&s===0){c=0;continue}s<<=1,s|=f,c++,!(c!==n&&(a!==0||d!==0))&&(o=this.mul(o,r[s]),c=0,s=0)}l=26}return o},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new E(e)};function E(e){T.call(this,e),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)}r(E,T),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=n.isub(r).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}})(t===void 0||t,e)})),Wl=i(((e,t)=>{t.exports=n;function n(e,t){if(!e)throw Error(t||`Assertion failed`)}n.equal=function(e,t,n){if(e!=t)throw Error(n||`Assertion failed: `+e+` != `+t)}})),Gl=i((e=>{var t=e;function n(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if(typeof e!=`string`){for(var r=0;r<e.length;r++)n[r]=e[r]|0;return n}if(t===`hex`){e=e.replace(/[^a-z0-9]+/gi,``),e.length%2!=0&&(e=`0`+e);for(var r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(var r=0;r<e.length;r++){var i=e.charCodeAt(r),a=i>>8,o=i&255;a?n.push(a,o):n.push(o)}return n}t.toArray=n;function r(e){return e.length===1?`0`+e:e}t.zero2=r;function i(e){for(var t=``,n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}t.toHex=i,t.encode=function(e,t){return t===`hex`?i(e):e}})),Kl=i((e=>{var t=e,n=Ul(),r=Wl(),i=Gl();t.assert=r,t.toArray=i.toArray,t.zero2=i.zero2,t.toHex=i.toHex,t.encode=i.encode;function a(e,t,n){var r=Array(Math.max(e.bitLength(),n)+1),i;for(i=0;i<r.length;i+=1)r[i]=0;var a=1<<t+1,o=e.clone();for(i=0;i<r.length;i++){var s,c=o.andln(a-1);o.isOdd()?(s=c>(a>>1)-1?(a>>1)-c:c,o.isubn(s)):s=0,r[i]=s,o.iushrn(1)}return r}t.getNAF=a;function o(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r=0,i=0,a;e.cmpn(-r)>0||t.cmpn(-i)>0;){var o=e.andln(3)+r&3,s=t.andln(3)+i&3;o===3&&(o=-1),s===3&&(s=-1);var c;o&1?(a=e.andln(7)+r&7,c=(a===3||a===5)&&s===2?-o:o):c=0,n[0].push(c);var l;s&1?(a=t.andln(7)+i&7,l=(a===3||a===5)&&o===2?-s:s):l=0,n[1].push(l),2*r===c+1&&(r=1-r),2*i===l+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return n}t.getJSF=o;function s(e,t,n){var r=`_`+t;e.prototype[t]=function(){return this[r]===void 0?this[r]=n.call(this):this[r]}}t.cachedProperty=s;function c(e){return typeof e==`string`?t.toArray(e,`hex`):e}t.parseBytes=c;function l(e){return new n(e,`hex`,`le`)}t.intFromLE=l})),ql=i(((e,t)=>{var n;t.exports=function(e){return n||=new r(null),n.generate(e)};function r(e){this.rand=e}if(t.exports.Rand=r,r.prototype.generate=function(e){return this._rand(e)},r.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n<t.length;n++)t[n]=this.rand.getByte();return t},typeof self==`object`)self.crypto&&self.crypto.getRandomValues?r.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?r.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window==`object`&&(r.prototype._rand=function(){throw Error(`Not implemented yet`)});else try{var i=o();if(typeof i.randomBytes!=`function`)throw Error(`Not supported`);r.prototype._rand=function(e){return i.randomBytes(e)}}catch{}})),Jl=i(((e,t)=>{var n=Ul(),r=Kl(),i=r.getNAF,a=r.getJSF,o=r.assert;function s(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}t.exports=s,s.prototype.point=function(){throw Error(`Not implemented`)},s.prototype.validate=function(){throw Error(`Not implemented`)},s.prototype._fixedNafMul=function(e,t){o(e.precomputed);var n=e._getDoubles(),r=i(t,1,this._bitLength),a=(1<<n.step+1)-(n.step%2==0?2:1);a/=3;var s=[],c,l;for(c=0;c<r.length;c+=n.step){l=0;for(var u=c+n.step-1;u>=c;u--)l=(l<<1)+r[u];s.push(l)}for(var d=this.jpoint(null,null,null),f=this.jpoint(null,null,null),p=a;p>0;p--){for(c=0;c<s.length;c++)l=s[c],l===p?f=f.mixedAdd(n.points[c]):l===-p&&(f=f.mixedAdd(n.points[c].neg()));d=d.add(f)}return d.toP()},s.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var a=r.points,s=i(t,n,this._bitLength),c=this.jpoint(null,null,null),l=s.length-1;l>=0;l--){for(var u=0;l>=0&&s[l]===0;l--)u++;if(l>=0&&u++,c=c.dblp(u),l<0)break;var d=s[l];o(d!==0),c=e.type===`affine`?d>0?c.mixedAdd(a[d-1>>1]):c.mixedAdd(a[-d-1>>1].neg()):d>0?c.add(a[d-1>>1]):c.add(a[-d-1>>1].neg())}return e.type===`affine`?c.toP():c},s.prototype._wnafMulAdd=function(e,t,n,r,o){var s=this._wnafT1,c=this._wnafT2,l=this._wnafT3,u=0,d,f,p;for(d=0;d<r;d++){p=t[d];var m=p._getNAFPoints(e);s[d]=m.wnd,c[d]=m.points}for(d=r-1;d>=1;d-=2){var h=d-1,g=d;if(s[h]!==1||s[g]!==1){l[h]=i(n[h],s[h],this._bitLength),l[g]=i(n[g],s[g],this._bitLength),u=Math.max(l[h].length,u),u=Math.max(l[g].length,u);continue}var _=[t[h],null,null,t[g]];t[h].y.cmp(t[g].y)===0?(_[1]=t[h].add(t[g]),_[2]=t[h].toJ().mixedAdd(t[g].neg())):t[h].y.cmp(t[g].y.redNeg())===0?(_[1]=t[h].toJ().mixedAdd(t[g]),_[2]=t[h].add(t[g].neg())):(_[1]=t[h].toJ().mixedAdd(t[g]),_[2]=t[h].toJ().mixedAdd(t[g].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],y=a(n[h],n[g]);for(u=Math.max(y[0].length,u),l[h]=Array(u),l[g]=Array(u),f=0;f<u;f++){var b=y[0][f]|0,x=y[1][f]|0;l[h][f]=v[(b+1)*3+(x+1)],l[g][f]=0,c[h]=_}}var S=this.jpoint(null,null,null),C=this._wnafT4;for(d=u;d>=0;d--){for(var w=0;d>=0;){var T=!0;for(f=0;f<r;f++)C[f]=l[f][d]|0,C[f]!==0&&(T=!1);if(!T)break;w++,d--}if(d>=0&&w++,S=S.dblp(w),d<0)break;for(f=0;f<r;f++){var E=C[f];E!==0&&(E>0?p=c[f][E-1>>1]:E<0&&(p=c[f][-E-1>>1].neg()),S=p.type===`affine`?S.mixedAdd(p):S.add(p))}}for(d=0;d<r;d++)c[d]=null;return o?S:S.toP()};function c(e,t){this.curve=e,this.type=t,this.precomputed=null}s.BasePoint=c,c.prototype.eq=function(){throw Error(`Not implemented`)},c.prototype.validate=function(){return this.curve.validate(this)},s.prototype.decodePoint=function(e,t){e=r.toArray(e,t);var n=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1==2*n)return e[0]===6?o(e[e.length-1]%2==0):e[0]===7&&o(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((e[0]===2||e[0]===3)&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),e[0]===3);throw Error(`Unknown point format`)},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray(`be`,t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray(`be`,t))},c.prototype.encode=function(e,t){return r.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return t?t.points.length>=Math.ceil((e.bitLength()+1)/t.step):!1},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var a=0;a<e;a++)r=r.dbl();n.push(r)}return{step:e,points:n}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=n===1?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}})),Yl=i(((e,t)=>{typeof Object.create==`function`?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Xl=i(((e,t)=>{var n=Kl(),r=Ul(),i=Yl(),a=Jl(),o=n.assert;function s(e){a.call(this,`short`,e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(e),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}i(s,a),t.exports=s,s.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,n;if(e.beta)t=new r(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1],t=t.toRed(this.red)}if(e.lambda)n=new r(e.lambda,16);else{var a=this._getEndoRoots(this.n);this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0?n=a[0]:(n=a[1],o(this.g.mul(n).x.cmp(this.g.x.redMul(t))===0))}var s=e.basis?e.basis.map(function(e){return{a:new r(e.a,16),b:new r(e.b,16)}}):this._getEndoBasis(n);return{beta:t,lambda:n,basis:s}}},s.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:r.mont(e),n=new r(2).toRed(t).redInvm(),i=n.redNeg(),a=new r(3).toRed(t).redNeg().redSqrt().redMul(n);return[i.redAdd(a).fromRed(),i.redSub(a).fromRed()]},s.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),n=e,i=this.n.clone(),a=new r(1),o=new r(0),s=new r(0),c=new r(1),l,u,d,f,p,m,h,g=0,_,v;n.cmpn(0)!==0;){var y=i.div(n);_=i.sub(y.mul(n)),v=s.sub(y.mul(a));var b=c.sub(y.mul(o));if(!d&&_.cmp(t)<0)l=h.neg(),u=a,d=_.neg(),f=v;else if(d&&++g===2)break;h=_,i=n,n=_,s=a,a=v,c=o,o=b}p=_.neg(),m=v;var x=d.sqr().add(f.sqr());return p.sqr().add(m.sqr()).cmp(x)>=0&&(p=l,m=u),d.negative&&(d=d.neg(),f=f.neg()),p.negative&&(p=p.neg(),m=m.neg()),[{a:d,b:f},{a:p,b:m}]},s.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),a=n.b.neg().mul(e).divRound(this.n),o=i.mul(n.a),s=a.mul(r.a),c=i.mul(n.b),l=a.mul(r.b);return{k1:e.sub(o).sub(s),k2:c.add(l).neg()}},s.prototype.pointFromX=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(i.redSqr().redSub(n).cmp(this.zero)!==0)throw Error(`invalid point`);var a=i.fromRed().isOdd();return(t&&!a||!t&&a)&&(i=i.redNeg()),this.point(e,i)},s.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return n.redSqr().redISub(i).cmpn(0)===0},s.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,a=0;a<e.length;a++){var o=this._endoSplit(t[a]),s=e[a],c=s._getBeta();o.k1.negative&&(o.k1.ineg(),s=s.neg(!0)),o.k2.negative&&(o.k2.ineg(),c=c.neg(!0)),r[a*2]=s,r[a*2+1]=c,i[a*2]=o.k1,i[a*2+1]=o.k2}for(var l=this._wnafMulAdd(1,r,i,a*2,n),u=0;u<a*2;u++)r[u]=null,i[u]=null;return l};function c(e,t,n,i){a.BasePoint.call(this,e,`affine`),t===null&&n===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(t,16),this.y=new r(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}i(c,a.BasePoint),s.prototype.point=function(e,t,n){return new c(this,e,t,n)},s.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,n){typeof t==`string`&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var a=t[2];return r.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[r].concat(a.doubles.points.map(i))},naf:a.naf&&{wnd:a.naf.wnd,points:[r].concat(a.naf.points.map(i))}},r},c.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` y: `+this.y.fromRed().toString(16,2)+`>`},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e)||this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),a=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,o)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new r(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)};function l(e,t,n,i){a.BasePoint.call(this,e,`jacobian`),t===null&&n===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(t,16),this.y=new r(n,16),this.z=new r(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}i(l,a.BasePoint),s.prototype.jpoint=function(e,t,n){return new l(this,e,t,n)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),a=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),s=r.redSub(i),c=a.redSub(o);if(s.cmpn(0)===0)return c.cmpn(0)===0?this.dbl():this.curve.jpoint(null,null,null);var l=s.redSqr(),u=l.redMul(s),d=r.redMul(l),f=c.redSqr().redIAdd(u).redISub(d).redISub(d),p=c.redMul(d.redISub(f)).redISub(a.redMul(u)),m=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(f,p,m)},l.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),o=n.redSub(r),s=i.redSub(a);if(o.cmpn(0)===0)return s.cmpn(0)===0?this.dbl():this.curve.jpoint(null,null,null);var c=o.redSqr(),l=c.redMul(o),u=n.redMul(c),d=s.redSqr().redIAdd(l).redISub(u).redISub(u),f=s.redMul(u.redISub(d)).redISub(i.redMul(l)),p=this.z.redMul(o);return this.curve.jpoint(d,f,p)},l.prototype.dblp=function(e){if(e===0||this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,a=this.x,o=this.y,s=this.z,c=s.redSqr().redSqr(),l=o.redAdd(o);for(t=0;t<e;t++){var u=a.redSqr(),d=l.redSqr(),f=d.redSqr(),p=u.redAdd(u).redIAdd(u).redIAdd(r.redMul(c)),m=a.redMul(d),h=p.redSqr().redISub(m.redAdd(m)),g=m.redISub(h),_=p.redMul(g);_=_.redIAdd(_).redISub(f);var v=l.redMul(s);t+1<e&&(c=c.redMul(f)),a=h,s=v,l=_}return this.curve.jpoint(a,l.redMul(i),s)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},l.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(a);o=o.redIAdd(o);var s=r.redAdd(r).redIAdd(r),c=s.redSqr().redISub(o).redISub(o),l=a.redIAdd(a);l=l.redIAdd(l),l=l.redIAdd(l),e=c,t=s.redMul(o.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),d=this.y.redSqr(),f=d.redSqr(),p=this.x.redAdd(d).redSqr().redISub(u).redISub(f);p=p.redIAdd(p);var m=u.redAdd(u).redIAdd(u),h=m.redSqr(),g=f.redIAdd(f);g=g.redIAdd(g),g=g.redIAdd(g),e=h.redISub(p).redISub(p),t=m.redMul(p.redISub(e)).redISub(g),n=this.y.redMul(this.z),n=n.redIAdd(n)}return this.curve.jpoint(e,t,n)},l.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),a=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(a);o=o.redIAdd(o);var s=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),c=s.redSqr().redISub(o).redISub(o);e=c;var l=a.redIAdd(a);l=l.redIAdd(l),l=l.redIAdd(l),t=s.redMul(o.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),d=this.y.redSqr(),f=this.x.redMul(d),p=this.x.redSub(u).redMul(this.x.redAdd(u));p=p.redAdd(p).redIAdd(p);var m=f.redIAdd(f);m=m.redIAdd(m);var h=m.redAdd(m);e=p.redSqr().redISub(h),n=this.y.redAdd(this.z).redSqr().redISub(d).redISub(u);var g=d.redSqr();g=g.redIAdd(g),g=g.redIAdd(g),g=g.redIAdd(g),t=p.redMul(m.redISub(e)).redISub(g)}return this.curve.jpoint(e,t,n)},l.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),a=t.redSqr(),o=n.redSqr(),s=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(i)),c=t.redAdd(t);c=c.redIAdd(c);var l=c.redMul(o),u=s.redSqr().redISub(l.redAdd(l)),d=l.redISub(u),f=o.redSqr();f=f.redIAdd(f),f=f.redIAdd(f),f=f.redIAdd(f);var p=s.redMul(d).redISub(f),m=n.redAdd(n).redMul(r);return this.curve.jpoint(u,p,m)},l.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),a=i.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(r);o=o.redIAdd(o),o=o.redAdd(o).redIAdd(o),o=o.redISub(a);var s=o.redSqr(),c=r.redIAdd(r);c=c.redIAdd(c),c=c.redIAdd(c),c=c.redIAdd(c);var l=i.redIAdd(o).redSqr().redISub(a).redISub(s).redISub(c),u=t.redMul(l);u=u.redIAdd(u),u=u.redIAdd(u);var d=this.x.redMul(s).redISub(u);d=d.redIAdd(d),d=d.redIAdd(d);var f=this.y.redMul(l.redMul(c.redISub(l)).redISub(o.redMul(s)));f=f.redIAdd(f),f=f.redIAdd(f),f=f.redIAdd(f);var p=this.z.redAdd(o).redSqr().redISub(n).redISub(s);return this.curve.jpoint(d,f,p)},l.prototype.mul=function(e,t){return e=new r(e,t),this.curve._wnafMul(this,e)},l.prototype.eq=function(e){if(e.type===`affine`)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)===0},l.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(n)===0)return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),this.x.cmp(n)===0)return!0}},l.prototype.inspect=function(){return this.isInfinity()?`<EC JPoint Infinity>`:`<EC JPoint x: `+this.x.toString(16,2)+` y: `+this.y.toString(16,2)+` z: `+this.z.toString(16,2)+`>`},l.prototype.isInfinity=function(){return this.z.cmpn(0)===0}})),Zl=i(((e,t)=>{var n=Ul(),r=Yl(),i=Jl(),a=Kl();function o(e){i.call(this,`mont`,e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}r(o,i),t.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return r.redSqrt().redSqr().cmp(r)===0};function s(e,t,r){i.BasePoint.call(this,e,`projective`),t===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}r(s,i.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(a.toArray(e,t),1)},o.prototype.point=function(e,t){return new s(this,e,t)},o.prototype.pointFromJSON=function(e){return s.fromJSON(this,e)},s.prototype.precompute=function(){},s.prototype._encode=function(){return this.getX().toArray(`be`,this.curve.p.byteLength())},s.fromJSON=function(e,t){return new s(e,t[0],t[1]||e.one)},s.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` z: `+this.z.fromRed().toString(16,2)+`>`},s.prototype.isInfinity=function(){return this.z.cmpn(0)===0},s.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},s.prototype.add=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(n),o=i.redMul(r),s=t.z.redMul(a.redAdd(o).redSqr()),c=t.x.redMul(a.redISub(o).redSqr());return this.curve.point(s,c)},s.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=this,a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var o=a.length-1;o>=0;o--)a[o]===0?(n=n.diffAdd(r,i),r=r.dbl()):(r=n.diffAdd(r,i),n=n.dbl());return r},s.prototype.mulAdd=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.jumlAdd=function(){throw Error(`Not supported on Montgomery curve`)},s.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},s.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},s.prototype.getX=function(){return this.normalize(),this.x.fromRed()}})),Ql=i(((e,t)=>{var n=Kl(),r=Ul(),i=Yl(),a=Jl(),o=n.assert;function s(e){this.twisted=(e.a|0)!=1,this.mOneA=this.twisted&&(e.a|0)==-1,this.extended=this.mOneA,a.call(this,`edwards`,e),this.a=new r(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new r(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new r(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(e.c|0)==1}i(s,a),t.exports=s,s.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},s.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},s.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},s.prototype.pointFromX=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),i=this.c2.redSub(this.a.redMul(n)),a=this.one.redSub(this.c2.redMul(this.d).redMul(n)),o=i.redMul(a.redInvm()),s=o.redSqrt();if(s.redSqr().redSub(o).cmp(this.zero)!==0)throw Error(`invalid point`);var c=s.fromRed().isOdd();return(t&&!c||!t&&c)&&(s=s.redNeg()),this.point(e,s)},s.prototype.pointFromY=function(e,t){e=new r(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),i=n.redSub(this.c2),a=n.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(a.redInvm());if(o.cmp(this.zero)===0){if(t)throw Error(`invalid point`);return this.point(this.zero,e)}var s=o.redSqrt();if(s.redSqr().redSub(o).cmp(this.zero)!==0)throw Error(`invalid point`);return s.fromRed().isOdd()!==t&&(s=s.redNeg()),this.point(s,e)},s.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return r.cmp(i)===0};function c(e,t,n,i,o){a.BasePoint.call(this,e,`projective`),t===null&&n===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new r(t,16),this.y=new r(n,16),this.z=i?new r(i,16):this.curve.one,this.t=o&&new r(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}i(c,a.BasePoint),s.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},s.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?`<EC Point Infinity>`:`<EC Point x: `+this.x.fromRed().toString(16,2)+` y: `+this.y.fromRed().toString(16,2)+` z: `+this.z.fromRed().toString(16,2)+`>`},c.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=r.redAdd(t),o=a.redSub(n),s=r.redSub(t),c=i.redMul(o),l=a.redMul(s),u=i.redMul(s),d=o.redMul(a);return this.curve.point(c,l,d,u)},c.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),n=this.y.redSqr(),r,i,a,o,s,c;if(this.curve.twisted){o=this.curve._mulA(t);var l=o.redAdd(n);this.zOne?(r=e.redSub(t).redSub(n).redMul(l.redSub(this.curve.two)),i=l.redMul(o.redSub(n)),a=l.redSqr().redSub(l).redSub(l)):(s=this.z.redSqr(),c=l.redSub(s).redISub(s),r=e.redSub(t).redISub(n).redMul(c),i=l.redMul(o.redSub(n)),a=l.redMul(c))}else o=t.redAdd(n),s=this.curve._mulC(this.z).redSqr(),c=o.redSub(s).redSub(s),r=this.curve._mulC(e.redISub(o)).redMul(c),i=this.curve._mulC(o).redMul(t.redISub(n)),a=o.redMul(c);return this.curve.point(r,i,a)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),a=n.redSub(t),o=i.redSub(r),s=i.redAdd(r),c=n.redAdd(t),l=a.redMul(o),u=s.redMul(c),d=a.redMul(c),f=o.redMul(s);return this.curve.point(l,u,f,d)},c.prototype._projAdd=function(e){var t=this.z.redMul(e.z),n=t.redSqr(),r=this.x.redMul(e.x),i=this.y.redMul(e.y),a=this.curve.d.redMul(r).redMul(i),o=n.redSub(a),s=n.redAdd(a),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(r).redISub(i),l=t.redMul(o).redMul(c),u,d;return this.curve.twisted?(u=t.redMul(s).redMul(i.redSub(this.curve._mulA(r))),d=o.redMul(s)):(u=t.redMul(s).redMul(i.redSub(r)),d=this.curve._mulC(o).redMul(s)),this.curve.point(l,u,d)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&=this.t.redMul(e),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),this.x.cmp(t)===0)return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add})),$l=i((e=>{var t=e;t.base=Jl(),t.short=Xl(),t.mont=Zl(),t.edwards=Ql()})),eu=i((e=>{var t=Wl();e.inherits=Yl();function n(e,t){return(e.charCodeAt(t)&64512)!=55296||t<0||t+1>=e.length?!1:(e.charCodeAt(t+1)&64512)==56320}function r(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e==`string`){if(!t)for(var i=0,a=0;a<e.length;a++){var o=e.charCodeAt(a);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=o&63|128):n(e,a)?(o=65536+((o&1023)<<10)+(e.charCodeAt(++a)&1023),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=o&63|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=o&63|128)}else if(t===`hex`)for(e=e.replace(/[^a-z0-9]+/gi,``),e.length%2!=0&&(e=`0`+e),a=0;a<e.length;a+=2)r.push(parseInt(e[a]+e[a+1],16))}else for(a=0;a<e.length;a++)r[a]=e[a]|0;return r}e.toArray=r;function i(e){for(var t=``,n=0;n<e.length;n++)t+=s(e[n].toString(16));return t}e.toHex=i;function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24)>>>0}e.htonl=a;function o(e,t){for(var n=``,r=0;r<e.length;r++){var i=e[r];t===`little`&&(i=a(i)),n+=c(i.toString(16))}return n}e.toHex32=o;function s(e){return e.length===1?`0`+e:e}e.zero2=s;function c(e){return e.length===7?`0`+e:e.length===6?`00`+e:e.length===5?`000`+e:e.length===4?`0000`+e:e.length===3?`00000`+e:e.length===2?`000000`+e:e.length===1?`0000000`+e:e}e.zero8=c;function l(e,n,r,i){var a=r-n;t(a%4==0);for(var o=Array(a/4),s=0,c=n;s<o.length;s++,c+=4)o[s]=(i===`big`?e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3]:e[c+3]<<24|e[c+2]<<16|e[c+1]<<8|e[c])>>>0;return o}e.join32=l;function u(e,t){for(var n=Array(e.length*4),r=0,i=0;r<e.length;r++,i+=4){var a=e[r];t===`big`?(n[i]=a>>>24,n[i+1]=a>>>16&255,n[i+2]=a>>>8&255,n[i+3]=a&255):(n[i+3]=a>>>24,n[i+2]=a>>>16&255,n[i+1]=a>>>8&255,n[i]=a&255)}return n}e.split32=u;function d(e,t){return e>>>t|e<<32-t}e.rotr32=d;function f(e,t){return e<<t|e>>>32-t}e.rotl32=f;function p(e,t){return e+t>>>0}e.sum32=p;function m(e,t,n){return e+t+n>>>0}e.sum32_3=m;function h(e,t,n,r){return e+t+n+r>>>0}e.sum32_4=h;function g(e,t,n,r,i){return e+t+n+r+i>>>0}e.sum32_5=g;function _(e,t,n,r){var i=e[t],a=r+e[t+1]>>>0;e[t]=+(a<r)+n+i>>>0,e[t+1]=a}e.sum64=_;function v(e,t,n,r){return+(t+r>>>0<t)+e+n>>>0}e.sum64_hi=v;function y(e,t,n,r){return t+r>>>0}e.sum64_lo=y;function b(e,t,n,r,i,a,o,s){var c=0,l=t;return l=l+r>>>0,c+=+(l<t),l=l+a>>>0,c+=+(l<a),l=l+s>>>0,c+=+(l<s),e+n+i+o+c>>>0}e.sum64_4_hi=b;function x(e,t,n,r,i,a,o,s){return t+r+a+s>>>0}e.sum64_4_lo=x;function S(e,t,n,r,i,a,o,s,c,l){var u=0,d=t;return d=d+r>>>0,u+=+(d<t),d=d+a>>>0,u+=+(d<a),d=d+s>>>0,u+=+(d<s),d=d+l>>>0,u+=+(d<l),e+n+i+o+c+u>>>0}e.sum64_5_hi=S;function C(e,t,n,r,i,a,o,s,c,l){return t+r+a+s+l>>>0}e.sum64_5_lo=C;function w(e,t,n){return(t<<32-n|e>>>n)>>>0}e.rotr64_hi=w;function T(e,t,n){return(e<<32-n|t>>>n)>>>0}e.rotr64_lo=T;function E(e,t,n){return e>>>n}e.shr64_hi=E;function D(e,t,n){return(e<<32-n|t>>>n)>>>0}e.shr64_lo=D})),tu=i((e=>{var t=eu(),n=Wl();function r(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=`big`,this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=r,r.prototype.update=function(e,n){if(e=t.toArray(e,n),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var r=e.length%this._delta8;this.pending=e.slice(e.length-r,e.length),this.pending.length===0&&(this.pending=null),e=t.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},r.prototype.digest=function(e){return this.update(this._pad()),n(this.pending===null),this._digest(e)},r.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,this.endian===`big`){for(var a=8;a<this.padLength;a++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=e&255}else for(r[i++]=e&255,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,a=8;a<this.padLength;a++)r[i++]=0;return r}})),nu=i((e=>{var t=eu().rotr32;function n(e,t,n,o){if(e===0)return r(t,n,o);if(e===1||e===3)return a(t,n,o);if(e===2)return i(t,n,o)}e.ft_1=n;function r(e,t,n){return e&t^~e&n}e.ch32=r;function i(e,t,n){return e&t^e&n^t&n}e.maj32=i;function a(e,t,n){return e^t^n}e.p32=a;function o(e){return t(e,2)^t(e,13)^t(e,22)}e.s0_256=o;function s(e){return t(e,6)^t(e,11)^t(e,25)}e.s1_256=s;function c(e){return t(e,7)^t(e,18)^e>>>3}e.g0_256=c;function l(e){return t(e,17)^t(e,19)^e>>>10}e.g1_256=l})),ru=i(((e,t)=>{var n=eu(),r=tu(),i=nu(),a=n.rotl32,o=n.sum32,s=n.sum32_5,c=i.ft_1,l=r.BlockHash,u=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}n.inherits(d,l),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=a(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],l=this.h[1],d=this.h[2],f=this.h[3],p=this.h[4];for(r=0;r<n.length;r++){var m=~~(r/20),h=s(a(i,5),c(m,l,d,f),p,n[r],u[m]);p=f,f=d,d=a(l,30),l=i,i=h}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],l),this.h[2]=o(this.h[2],d),this.h[3]=o(this.h[3],f),this.h[4]=o(this.h[4],p)},d.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)}})),iu=i(((e,t)=>{var n=eu(),r=tu(),i=nu(),a=Wl(),o=n.sum32,s=n.sum32_4,c=n.sum32_5,l=i.ch32,u=i.maj32,d=i.s0_256,f=i.s1_256,p=i.g0_256,m=i.g1_256,h=r.BlockHash,g=[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];function _(){if(!(this instanceof _))return new _;h.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=Array(64)}n.inherits(_,h),t.exports=_,_.blockSize=512,_.outSize=256,_.hmacStrength=192,_.padLength=64,_.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=s(m(n[r-2]),n[r-7],p(n[r-15]),n[r-16]);var i=this.h[0],h=this.h[1],g=this.h[2],_=this.h[3],v=this.h[4],y=this.h[5],b=this.h[6],x=this.h[7];for(a(this.k.length===n.length),r=0;r<n.length;r++){var S=c(x,f(v),l(v,y,b),this.k[r],n[r]),C=o(d(i),u(i,h,g));x=b,b=y,y=v,v=o(_,S),_=g,g=h,h=i,i=o(S,C)}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],h),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],_),this.h[4]=o(this.h[4],v),this.h[5]=o(this.h[5],y),this.h[6]=o(this.h[6],b),this.h[7]=o(this.h[7],x)},_.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)}})),au=i(((e,t)=>{var n=eu(),r=iu();function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(i,r),t.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h.slice(0,7),`big`):n.split32(this.h.slice(0,7),`big`)}})),ou=i(((e,t)=>{var n=eu(),r=tu(),i=Wl(),a=n.rotr64_hi,o=n.rotr64_lo,s=n.shr64_hi,c=n.shr64_lo,l=n.sum64,u=n.sum64_hi,d=n.sum64_lo,f=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,h=n.sum64_5_lo,g=r.BlockHash,_=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=_,this.W=Array(160)}n.inherits(v,g),t.exports=v,v.blockSize=1024,v.outSize=512,v.hmacStrength=192,v.padLength=128,v.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=k(n[r-4],n[r-3]),a=A(n[r-4],n[r-3]),o=n[r-14],s=n[r-13],c=D(n[r-30],n[r-29]),l=O(n[r-30],n[r-29]),u=n[r-32],d=n[r-31];n[r]=f(i,a,o,s,c,l,u,d),n[r+1]=p(i,a,o,s,c,l,u,d)}},v.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],a=this.h[1],o=this.h[2],s=this.h[3],c=this.h[4],f=this.h[5],p=this.h[6],g=this.h[7],_=this.h[8],v=this.h[9],D=this.h[10],O=this.h[11],k=this.h[12],A=this.h[13],j=this.h[14],M=this.h[15];i(this.k.length===n.length);for(var N=0;N<n.length;N+=2){var P=j,F=M,I=T(_,v),L=E(_,v),R=y(_,v,D,O,k,A),z=b(_,v,D,O,k,A),ee=this.k[N],B=this.k[N+1],V=n[N],te=n[N+1],H=m(P,F,I,L,R,z,ee,B,V,te),ne=h(P,F,I,L,R,z,ee,B,V,te);P=C(r,a),F=w(r,a),I=x(r,a,o,s,c,f),L=S(r,a,o,s,c,f);var re=u(P,F,I,L),U=d(P,F,I,L);j=k,M=A,k=D,A=O,D=_,O=v,_=u(p,g,H,ne),v=d(g,g,H,ne),p=c,g=f,c=o,f=s,o=r,s=a,r=u(H,ne,re,U),a=d(H,ne,re,U)}l(this.h,0,r,a),l(this.h,2,o,s),l(this.h,4,c,f),l(this.h,6,p,g),l(this.h,8,_,v),l(this.h,10,D,O),l(this.h,12,k,A),l(this.h,14,j,M)},v.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h,`big`):n.split32(this.h,`big`)};function y(e,t,n,r,i){var a=e&n^~e&i;return a<0&&(a+=4294967296),a}function b(e,t,n,r,i,a){var o=t&r^~t&a;return o<0&&(o+=4294967296),o}function x(e,t,n,r,i){var a=e&n^e&i^n&i;return a<0&&(a+=4294967296),a}function S(e,t,n,r,i,a){var o=t&r^t&a^r&a;return o<0&&(o+=4294967296),o}function C(e,t){var n=a(e,t,28),r=a(t,e,2),i=a(t,e,7),o=n^r^i;return o<0&&(o+=4294967296),o}function w(e,t){var n=o(e,t,28),r=o(t,e,2),i=o(t,e,7),a=n^r^i;return a<0&&(a+=4294967296),a}function T(e,t){var n=a(e,t,14),r=a(e,t,18),i=a(t,e,9),o=n^r^i;return o<0&&(o+=4294967296),o}function E(e,t){var n=o(e,t,14),r=o(e,t,18),i=o(t,e,9),a=n^r^i;return a<0&&(a+=4294967296),a}function D(e,t){var n=a(e,t,1),r=a(e,t,8),i=s(e,t,7),o=n^r^i;return o<0&&(o+=4294967296),o}function O(e,t){var n=o(e,t,1),r=o(e,t,8),i=c(e,t,7),a=n^r^i;return a<0&&(a+=4294967296),a}function k(e,t){var n=a(e,t,19),r=a(t,e,29),i=s(e,t,6),o=n^r^i;return o<0&&(o+=4294967296),o}function A(e,t){var n=o(e,t,19),r=o(t,e,29),i=c(e,t,6),a=n^r^i;return a<0&&(a+=4294967296),a}})),su=i(((e,t)=>{var n=eu(),r=ou();function i(){if(!(this instanceof i))return new i;r.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(i,r),t.exports=i,i.blockSize=1024,i.outSize=384,i.hmacStrength=192,i.padLength=128,i.prototype._digest=function(e){return e===`hex`?n.toHex32(this.h.slice(0,12),`big`):n.split32(this.h.slice(0,12),`big`)}})),cu=i((e=>{e.sha1=ru(),e.sha224=au(),e.sha256=iu(),e.sha384=su(),e.sha512=ou()})),lu=i((e=>{var t=eu(),n=tu(),r=t.rotl32,i=t.sum32,a=t.sum32_3,o=t.sum32_4,s=n.BlockHash;function c(){if(!(this instanceof c))return new c;s.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=`little`}t.inherits(c,s),e.ripemd160=c,c.blockSize=512,c.outSize=160,c.hmacStrength=192,c.padLength=64,c.prototype._update=function(e,t){for(var n=this.h[0],s=this.h[1],c=this.h[2],g=this.h[3],_=this.h[4],v=n,y=s,b=c,x=g,S=_,C=0;C<80;C++){var w=i(r(o(n,l(C,s,c,g),e[f[C]+t],u(C)),m[C]),_);n=_,_=g,g=r(c,10),c=s,s=w,w=i(r(o(v,l(79-C,y,b,x),e[p[C]+t],d(C)),h[C]),S),v=S,S=x,x=r(b,10),b=y,y=w}w=a(this.h[1],c,x),this.h[1]=a(this.h[2],g,S),this.h[2]=a(this.h[3],_,v),this.h[3]=a(this.h[4],n,y),this.h[4]=a(this.h[0],s,b),this.h[0]=w},c.prototype._digest=function(e){return e===`hex`?t.toHex32(this.h,`little`):t.split32(this.h,`little`)};function l(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function u(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function d(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]})),uu=i(((e,t)=>{var n=eu(),r=Wl();function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}t.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),r(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=new this.Hash().update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=new this.Hash().update(e)},i.prototype.update=function(e,t){return this.inner.update(e,t),this},i.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}})),du=i((e=>{var t=e;t.utils=eu(),t.common=tu(),t.sha=cu(),t.ripemd=lu(),t.hmac=uu(),t.sha1=t.sha.sha1,t.sha256=t.sha.sha256,t.sha224=t.sha.sha224,t.sha384=t.sha.sha384,t.sha512=t.sha.sha512,t.ripemd160=t.ripemd.ripemd160})),fu=i(((e,t)=>{t.exports={doubles:{step:4,points:[[`e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a`,`f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821`],[`8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508`,`11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf`],[`175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739`,`d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695`],[`363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640`,`4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9`],[`8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c`,`4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36`],[`723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda`,`96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f`],[`eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa`,`5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999`],[`100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0`,`cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09`],[`e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d`,`9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d`],[`feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d`,`e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088`],[`da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1`,`9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d`],[`53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0`,`5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8`],[`8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047`,`10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a`],[`385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862`,`283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453`],[`6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7`,`7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160`],[`3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd`,`56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0`],[`85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83`,`7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6`],[`948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a`,`53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589`],[`6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8`,`bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17`],[`e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d`,`4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda`],[`e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725`,`7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd`],[`213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754`,`4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2`],[`4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c`,`17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6`],[`fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6`,`6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f`],[`76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39`,`c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01`],[`c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891`,`893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3`],[`d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b`,`febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f`],[`b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03`,`2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7`],[`e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d`,`eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78`],[`a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070`,`7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1`],[`90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4`,`e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150`],[`8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da`,`662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82`],[`e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11`,`1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc`],[`8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e`,`efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b`],[`e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41`,`2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51`],[`b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef`,`67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45`],[`d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8`,`db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120`],[`324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d`,`648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84`],[`4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96`,`35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d`],[`9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd`,`ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d`],[`6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5`,`9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8`],[`a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266`,`40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8`],[`7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71`,`34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac`],[`928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac`,`c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f`],[`85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751`,`1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962`],[`ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e`,`493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907`],[`827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241`,`c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec`],[`eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3`,`be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d`],[`e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f`,`4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414`],[`1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19`,`aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd`],[`146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be`,`b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0`],[`fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9`,`6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811`],[`da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2`,`8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1`],[`a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13`,`7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c`],[`174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c`,`ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73`],[`959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba`,`2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd`],[`d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151`,`e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405`],[`64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073`,`d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589`],[`8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458`,`38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e`],[`13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b`,`69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27`],[`bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366`,`d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1`],[`8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa`,`40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482`],[`8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0`,`620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945`],[`dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787`,`7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573`],[`f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e`,`ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82`]]},naf:{wnd:7,points:[[`f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9`,`388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672`],[`2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4`,`d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6`],[`5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc`,`6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da`],[`acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe`,`cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37`],[`774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb`,`d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b`],[`f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8`,`ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81`],[`d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e`,`581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58`],[`defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34`,`4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77`],[`2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c`,`85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a`],[`352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5`,`321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c`],[`2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f`,`2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67`],[`9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714`,`73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402`],[`daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729`,`a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55`],[`c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db`,`2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482`],[`6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4`,`e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82`],[`1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5`,`b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396`],[`605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479`,`2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49`],[`62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d`,`80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf`],[`80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f`,`1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a`],[`7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb`,`d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7`],[`d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9`,`eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933`],[`49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963`,`758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a`],[`77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74`,`958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6`],[`f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530`,`e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37`],[`463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b`,`5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e`],[`f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247`,`cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6`],[`caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1`,`cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476`],[`2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120`,`4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40`],[`7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435`,`91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61`],[`754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18`,`673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683`],[`e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8`,`59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5`],[`186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb`,`3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b`],[`df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f`,`55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417`],[`5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143`,`efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868`],[`290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba`,`e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a`],[`af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45`,`f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6`],[`766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a`,`744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996`],[`59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e`,`c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e`],[`f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8`,`e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d`],[`7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c`,`30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2`],[`948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519`,`e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e`],[`7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab`,`100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437`],[`3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca`,`ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311`],[`d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf`,`8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4`],[`1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610`,`68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575`],[`733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4`,`f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d`],[`15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c`,`d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d`],[`a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940`,`edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629`],[`e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980`,`a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06`],[`311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3`,`66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374`],[`34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf`,`9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee`],[`f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63`,`4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1`],[`d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448`,`fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b`],[`32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf`,`5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661`],[`7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5`,`8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6`],[`ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6`,`8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e`],[`16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5`,`5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d`],[`eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99`,`f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc`],[`78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51`,`f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4`],[`494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5`,`42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c`],[`a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5`,`204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b`],[`c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997`,`4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913`],[`841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881`,`73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154`],[`5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5`,`39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865`],[`36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66`,`d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc`],[`336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726`,`ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224`],[`8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede`,`6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e`],[`1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94`,`60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6`],[`85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31`,`3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511`],[`29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51`,`b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b`],[`a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252`,`ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2`],[`4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5`,`cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c`],[`d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b`,`6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3`],[`ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4`,`322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d`],[`af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f`,`6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700`],[`e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889`,`2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4`],[`591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246`,`b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196`],[`11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984`,`998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4`],[`3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a`,`b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257`],[`cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030`,`bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13`],[`c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197`,`6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096`],[`c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593`,`c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38`],[`a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef`,`21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f`],[`347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38`,`60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448`],[`da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a`,`49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a`],[`c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111`,`5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4`],[`4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502`,`7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437`],[`3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea`,`be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7`],[`cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26`,`8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d`],[`b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986`,`39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a`],[`d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e`,`62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54`],[`48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4`,`25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77`],[`dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda`,`ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517`],[`6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859`,`cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10`],[`e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f`,`f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125`],[`eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c`,`6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e`],[`13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942`,`fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1`],[`ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a`,`1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2`],[`b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80`,`5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423`],[`ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d`,`438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8`],[`8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1`,`cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758`],[`52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63`,`c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375`],[`e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352`,`6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d`],[`7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193`,`ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec`],[`5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00`,`9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0`],[`32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58`,`ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c`],[`e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7`,`d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4`],[`8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8`,`c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f`],[`4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e`,`67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649`],[`3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d`,`cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826`],[`674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b`,`299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5`],[`d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f`,`f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87`],[`30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6`,`462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b`],[`be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297`,`62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc`],[`93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a`,`7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c`],[`b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c`,`ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f`],[`d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52`,`4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a`],[`d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb`,`bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46`],[`463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065`,`bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f`],[`7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917`,`603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03`],[`74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9`,`cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08`],[`30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3`,`553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8`],[`9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57`,`712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373`],[`176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66`,`ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3`],[`75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8`,`9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8`],[`809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721`,`9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1`],[`1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180`,`4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9`]]}}})),pu=i((e=>{var t=e,n=du(),r=$l(),i=Kl().assert;function a(e){e.type===`short`?this.curve=new r.short(e):e.type===`edwards`?this.curve=new r.edwards(e):this.curve=new r.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),`Invalid curve`),i(this.g.mul(this.n).isInfinity(),`Invalid curve, G*N != O`)}t.PresetCurve=a;function o(e,n){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){var r=new a(n);return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:r}),r}})}o(`p192`,{type:`short`,prime:`p192`,p:`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff`,a:`ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc`,b:`64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1`,n:`ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831`,hash:n.sha256,gRed:!1,g:[`188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012`,`07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811`]}),o(`p224`,{type:`short`,prime:`p224`,p:`ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001`,a:`ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe`,b:`b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4`,n:`ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d`,hash:n.sha256,gRed:!1,g:[`b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21`,`bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34`]}),o(`p256`,{type:`short`,prime:null,p:`ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff`,a:`ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc`,b:`5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b`,n:`ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551`,hash:n.sha256,gRed:!1,g:[`6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296`,`4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5`]}),o(`p384`,{type:`short`,prime:null,p:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff`,a:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc`,b:`b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef`,n:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973`,hash:n.sha384,gRed:!1,g:[`aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7`,`3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f`]}),o(`p521`,{type:`short`,prime:null,p:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff`,a:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc`,b:`00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00`,n:`000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409`,hash:n.sha512,gRed:!1,g:[`000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66`,`00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650`]}),o(`curve25519`,{type:`mont`,prime:`p25519`,p:`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`,a:`76d06`,b:`1`,n:`1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed`,hash:n.sha256,gRed:!1,g:[`9`]}),o(`ed25519`,{type:`edwards`,prime:`p25519`,p:`7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed`,a:`-1`,c:`1`,d:`52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3`,n:`1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed`,hash:n.sha256,gRed:!1,g:[`216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`,`6666666666666666666666666666666666666666666666666666666666666658`]});var s;try{s=fu()}catch{s=void 0}o(`secp256k1`,{type:`short`,prime:`k256`,p:`ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f`,a:`0`,b:`7`,n:`ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141`,h:`1`,hash:n.sha256,beta:`7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee`,lambda:`5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72`,basis:[{a:`3086d221a7d46bcde86c90e49284eb15`,b:`-e4437ed6010e88286f547fa90abfe4c3`},{a:`114ca50f7a8e2f3f657c1108d9d44cfd8`,b:`3086d221a7d46bcde86c90e49284eb15`}],gRed:!1,g:[`79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798`,`483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8`,s]})})),mu=i(((e,t)=>{var n=du(),r=Gl(),i=Wl();function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=r.toArray(e.entropy,e.entropyEnc||`hex`),n=r.toArray(e.nonce,e.nonceEnc||`hex`),o=r.toArray(e.pers,e.persEnc||`hex`);i(t.length>=this.minEntropy/8,`Not enough entropy. Minimum is: `+this.minEntropy+` bits`),this._init(t,n,o)}t.exports=a,a.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,n,a){typeof t!=`string`&&(a=n,n=t,t=null),e=r.toArray(e,t),n=r.toArray(n,a),i(e.length>=this.minEntropy/8,`Not enough entropy. Minimum is: `+this.minEntropy+` bits`),this._update(e.concat(n||[])),this._reseed=1},a.prototype.generate=function(e,t,n,i){if(this._reseed>this.reseedInterval)throw Error(`Reseed is required`);typeof t!=`string`&&(i=n,n=t,t=null),n&&(n=r.toArray(n,i||`hex`),this._update(n));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var o=a.slice(0,e);return this._update(n),this._reseed++,r.encode(o,t)}})),hu=i(((e,t)=>{var n=Ul(),r=Kl().assert;function i(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}t.exports=i,i.fromPublic=function(e,t,n){return t instanceof i?t:new i(e,{pub:t,pubEnc:n})},i.fromPrivate=function(e,t,n){return t instanceof i?t:new i(e,{priv:t,privEnc:n})},i.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:`Invalid public key`}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:`Public key * N != O`}:{result:!1,reason:`Public key is not a point`}},i.prototype.getPublic=function(e,t){return typeof e==`string`&&(t=e,e=null),this.pub||=this.ec.g.mul(this.priv),t?this.pub.encode(t,e):this.pub},i.prototype.getPrivate=function(e){return e===`hex`?this.priv.toString(16,2):this.priv},i.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},i.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type===`mont`?r(e.x,`Need x coordinate`):(this.ec.curve.type===`short`||this.ec.curve.type===`edwards`)&&r(e.x&&e.y,`Need both x and y coordinate`),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},i.prototype.derive=function(e){return e.validate()||r(e.validate(),`public point not validated`),e.mul(this.priv).getX()},i.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},i.prototype.verify=function(e,t,n){return this.ec.verify(e,t,this,void 0,n)},i.prototype.inspect=function(){return`<Key priv: `+(this.priv&&this.priv.toString(16,2))+` pub: `+(this.pub&&this.pub.inspect())+` >`}})),gu=i(((e,t)=>{var n=Ul(),r=Kl(),i=r.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(i(e.r&&e.s,`Signature without r or s`),this.r=new n(e.r,16),this.s=new n(e.s,16),e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}t.exports=a;function o(){this.place=0}function s(e,t){var n=e[t.place++];if(!(n&128))return n;var r=n&15;if(r===0||r>4||e[t.place]===0)return!1;for(var i=0,a=0,o=t.place;a<r;a++,o++)i<<=8,i|=e[o],i>>>=0;return i<=127?!1:(t.place=o,i)}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(e[t+1]&128)&&t<n;)t++;return t===0?e:e.slice(t)}a.prototype._importDER=function(e,t){e=r.toArray(e,t);var i=new o;if(e[i.place++]!==48)return!1;var a=s(e,i);if(a===!1||a+i.place!==e.length||e[i.place++]!==2)return!1;var c=s(e,i);if(c===!1||e[i.place]&128)return!1;var l=e.slice(i.place,c+i.place);if(i.place+=c,e[i.place++]!==2)return!1;var u=s(e,i);if(u===!1||e.length!==u+i.place||e[i.place]&128)return!1;var d=e.slice(i.place,u+i.place);if(l[0]===0)if(l[1]&128)l=l.slice(1);else return!1;if(d[0]===0)if(d[1]&128)d=d.slice(1);else return!1;return this.r=new n(l),this.s=new n(d),this.recoveryParam=null,!0};function l(e,t){if(t<128){e.push(t);return}var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(n|128);--n;)e.push(t>>>(n<<3)&255);e.push(t)}a.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),n[0]&128&&(n=[0].concat(n)),t=c(t),n=c(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var i=[2];l(i,t.length),i=i.concat(t),i.push(2),l(i,n.length);var a=i.concat(n),o=[48];return l(o,a.length),o=o.concat(a),r.encode(o,e)}})),_u=i(((e,t)=>{var n=Ul(),r=mu(),i=Kl(),a=pu(),o=ql(),s=i.assert,c=hu(),l=gu();function u(e){if(!(this instanceof u))return new u(e);typeof e==`string`&&(s(Object.prototype.hasOwnProperty.call(a,e),`Unknown curve `+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}t.exports=u,u.prototype.keyPair=function(e){return new c(this,e)},u.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},u.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},u.prototype.genKeyPair=function(e){e||={};for(var t=new r({hash:this.hash,pers:e.pers,persEnc:e.persEnc||`utf8`,entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||`utf8`,nonce:this.n.toArray()}),i=this.n.byteLength(),a=this.n.sub(new n(2));;){var s=new n(t.generate(i));if(!(s.cmp(a)>0))return s.iaddn(1),this.keyFromPrivate(s)}},u.prototype._truncateToN=function(e,t,r){var i;if(n.isBN(e)||typeof e==`number`)e=new n(e,16),i=e.byteLength();else if(typeof e==`object`)i=e.length,e=new n(e,16);else{var a=e.toString();i=a.length+1>>>1,e=new n(a,16)}typeof r!=`number`&&(r=i*8);var o=r-this.n.bitLength();return o>0&&(e=e.ushrn(o)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},u.prototype.sign=function(e,t,i,a){if(typeof i==`object`&&(a=i,i=null),a||={},typeof e!=`string`&&typeof e!=`number`&&!n.isBN(e)){s(typeof e==`object`&&e&&typeof e.length==`number`,`Expected message to be an array-like, a hex string, or a BN instance`),s(e.length>>>0===e.length);for(var o=0;o<e.length;o++)s((e[o]&255)===e[o])}t=this.keyFromPrivate(t,i),e=this._truncateToN(e,!1,a.msgBitLength),s(!e.isNeg(),`Can not sign a negative message`);var c=this.n.byteLength(),u=t.getPrivate().toArray(`be`,c),d=e.toArray(`be`,c);s(new n(d).eq(e),`Can not sign message`);for(var f=new r({hash:this.hash,entropy:u,nonce:d,pers:a.pers,persEnc:a.persEnc||`utf8`}),p=this.n.sub(new n(1)),m=0;;m++){var h=a.k?a.k(m):new n(f.generate(this.n.byteLength()));if(h=this._truncateToN(h,!0),!(h.cmpn(1)<=0||h.cmp(p)>=0)){var g=this.g.mul(h);if(!g.isInfinity()){var _=g.getX(),v=_.umod(this.n);if(v.cmpn(0)!==0){var y=h.invm(this.n).mul(v.mul(t.getPrivate()).iadd(e));if(y=y.umod(this.n),y.cmpn(0)!==0){var b=!!g.getY().isOdd()|(_.cmp(v)===0?0:2);return a.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),b^=1),new l({r:v,s:y,recoveryParam:b})}}}}}},u.prototype.verify=function(e,t,n,r,i){i||={},e=this._truncateToN(e,!1,i.msgBitLength),n=this.keyFromPublic(n,r),t=new l(t,`hex`);var a=t.r,o=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s=o.invm(this.n),c=s.mul(e).umod(this.n),u=s.mul(a).umod(this.n),d;return this.curve._maxwellTrick?(d=this.g.jmulAdd(c,n.getPublic(),u),d.isInfinity()?!1:d.eqXToP(a)):(d=this.g.mulAdd(c,n.getPublic(),u),d.isInfinity()?!1:d.getX().umod(this.n).cmp(a)===0)},u.prototype.recoverPubKey=function(e,t,r,i){s((3&r)===r,`The recovery param is more than two bits`),t=new l(t,i);var a=this.n,o=new n(e),c=t.r,u=t.s,d=r&1,f=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw Error(`Unable to find sencond key candinate`);c=f?this.curve.pointFromX(c.add(this.curve.n),d):this.curve.pointFromX(c,d);var p=t.r.invm(a),m=a.sub(o).mul(p).umod(a),h=u.mul(p).umod(a);return this.g.mulAdd(m,c,h)},u.prototype.getKeyRecoveryParam=function(e,t,n,r){if(t=new l(t,r),t.recoveryParam!==null)return t.recoveryParam;for(var i=0;i<4;i++){var a;try{a=this.recoverPubKey(e,t,i)}catch{continue}if(a.eq(n))return i}throw Error(`Unable to find valid recovery factor`)}})),vu=i(((e,t)=>{var n=Kl(),r=n.assert,i=n.parseBytes,a=n.cachedProperty;function o(e,t){this.eddsa=e,this._secret=i(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=i(t.pub)}o.fromPublic=function(e,t){return t instanceof o?t:new o(e,{pub:t})},o.fromSecret=function(e,t){return t instanceof o?t:new o(e,{secret:t})},o.prototype.secret=function(){return this._secret},a(o,`pubBytes`,function(){return this.eddsa.encodePoint(this.pub())}),a(o,`pub`,function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),a(o,`privBytes`,function(){var e=this.eddsa,t=this.hash(),n=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[n]&=127,r[n]|=64,r}),a(o,`priv`,function(){return this.eddsa.decodeInt(this.privBytes())}),a(o,`hash`,function(){return this.eddsa.hash().update(this.secret()).digest()}),a(o,`messagePrefix`,function(){return this.hash().slice(this.eddsa.encodingLength)}),o.prototype.sign=function(e){return r(this._secret,`KeyPair can only verify`),this.eddsa.sign(e,this)},o.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},o.prototype.getSecret=function(e){return r(this._secret,`KeyPair is public only`),n.encode(this.secret(),e)},o.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},t.exports=o})),yu=i(((e,t)=>{var n=Ul(),r=Kl(),i=r.assert,a=r.cachedProperty,o=r.parseBytes;function s(e,t){this.eddsa=e,typeof t!=`object`&&(t=o(t)),Array.isArray(t)&&(i(t.length===e.encodingLength*2,`Signature has invalid size`),t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),i(t.R&&t.S,`Signature without R or S`),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}a(s,`S`,function(){return this.eddsa.decodeInt(this.Sencoded())}),a(s,`R`,function(){return this.eddsa.decodePoint(this.Rencoded())}),a(s,`Rencoded`,function(){return this.eddsa.encodePoint(this.R())}),a(s,`Sencoded`,function(){return this.eddsa.encodeInt(this.S())}),s.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},s.prototype.toHex=function(){return r.encode(this.toBytes(),`hex`).toUpperCase()},t.exports=s})),bu=i(((e,t)=>{var n=du(),r=pu(),i=Kl(),a=i.assert,o=i.parseBytes,s=vu(),c=yu();function l(e){if(a(e===`ed25519`,`only tested with ed25519 so far`),!(this instanceof l))return new l(e);e=r[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}t.exports=l,l.prototype.sign=function(e,t){e=o(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),a=this.encodePoint(i),s=this.hashInt(a,n.pubBytes(),e).mul(n.priv()),c=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:c,Rencoded:a})},l.prototype.verify=function(e,t,n){if(e=o(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(a)},l.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return i.intFromLE(e.digest()).umod(this.curve.n)},l.prototype.keyFromPublic=function(e){return s.fromPublic(this,e)},l.prototype.keyFromSecret=function(e){return s.fromSecret(this,e)},l.prototype.makeSignature=function(e){return e instanceof c?e:new c(this,e)},l.prototype.encodePoint=function(e){var t=e.getY().toArray(`le`,this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},l.prototype.decodePoint=function(e){e=i.parseBytes(e);var t=e.length-1,n=e.slice(0,t).concat(e[t]&-129),r=(e[t]&128)!=0,a=i.intFromLE(n);return this.curve.pointFromY(a,r)},l.prototype.encodeInt=function(e){return e.toArray(`le`,this.encodingLength)},l.prototype.decodeInt=function(e){return i.intFromLE(e)},l.prototype.isPoint=function(e){return e instanceof this.pointClass}})),xu=i((t=>{var n=t;n.version=(Hl(),e(Dl).default).version,n.utils=Kl(),n.rand=ql(),n.curve=$l(),n.curves=pu(),n.ec=_u(),n.eddsa=bu()}))(),Su={waku:{publish:`waku_publish`,batchPublish:`waku_batchPublish`,subscribe:`waku_subscribe`,batchSubscribe:`waku_batchSubscribe`,subscription:`waku_subscription`,unsubscribe:`waku_unsubscribe`,batchUnsubscribe:`waku_batchUnsubscribe`,batchFetchMessages:`waku_batchFetchMessages`},irn:{publish:`irn_publish`,batchPublish:`irn_batchPublish`,subscribe:`irn_subscribe`,batchSubscribe:`irn_batchSubscribe`,subscription:`irn_subscription`,unsubscribe:`irn_unsubscribe`,batchUnsubscribe:`irn_batchUnsubscribe`,batchFetchMessages:`irn_batchFetchMessages`},iridium:{publish:`iridium_publish`,batchPublish:`iridium_batchPublish`,subscribe:`iridium_subscribe`,batchSubscribe:`iridium_batchSubscribe`,subscription:`iridium_subscription`,unsubscribe:`iridium_unsubscribe`,batchUnsubscribe:`iridium_batchUnsubscribe`,batchFetchMessages:`iridium_batchFetchMessages`}},Cu=i(((e,t)=>{t.exports=function(){throw Error(`ws does not work in the browser. Browser clients must use the native WebSocket object`)}})),wu=()=>typeof WebSocket<`u`?WebSocket:typeof global<`u`&&typeof global.WebSocket<`u`?global.WebSocket:typeof window<`u`&&typeof window.WebSocket<`u`?window.WebSocket:typeof self<`u`&&typeof self.WebSocket<`u`?self.WebSocket:Cu(),Tu=()=>typeof WebSocket<`u`||typeof global<`u`&&typeof global.WebSocket<`u`||typeof window<`u`&&typeof window.WebSocket<`u`||typeof self<`u`&&typeof self.WebSocket<`u`,Eu=e=>e.split(`?`)[0],Du=10,Ou=wu(),ku=class{constructor(e){if(this.url=e,this.events=new Nt.EventEmitter,this.registering=!1,!d(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<`u`}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>`u`){t(Error(`Connection already closed`));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>`u`&&(this.socket=await this.register());try{this.socket.send(l(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!d(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount(`register_error`)>=e||this.events.listenerCount(`open`)>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once(`register_error`,e=>{this.resetMaxListeners(),t(e)}),this.events.once(`open`,()=>{if(this.resetMaxListeners(),typeof this.socket>`u`)return t(Error(`WebSocket connection is missing or invalid`));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{let r=new Ou(e,[],(0,ue.isReactNative)()?void 0:{rejectUnauthorized:!f(e)});Tu()?r.onerror=e=>{let t=e;n(this.emitError(t.error))}:r.on(`error`,e=>{n(this.emitError(e))}),r.onopen=()=>{this.onOpen(r),t(r)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),this.socket=e,this.registering=!1,this.events.emit(`open`)}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit(`close`,e)}onPayload(e){if(typeof e.data>`u`)return;let t=typeof e.data==`string`?fe(e.data):e.data;this.events.emit(`payload`,t)}onError(e,t){let n=this.parseError(t),r=x(e,n.message||n.toString());this.events.emit(`payload`,r)}parseError(e,t=this.url){return b(e,Eu(t),`WS`)}resetMaxListeners(){this.events.getMaxListeners()>Du&&this.events.setMaxListeners(Du)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${Eu(this.url)}`));return this.events.emit(`register_error`,t),t}};function Au(e,{strict:t=!0}={}){return!e||typeof e!=`string`?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith(`0x`)}function ju(e){return Au(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}var Mu=`2.48.8`,Nu={getDocsUrl:({docsBaseUrl:e,docsPath:t=``,docsSlug:n})=>t?`${e??`https://viem.sh`}${t}${n?`#${n}`:``}`:void 0,version:`viem@${Mu}`},Pu=class e extends Error{constructor(t,n={}){let r=n.cause instanceof e?n.cause.details:n.cause?.message?n.cause.message:n.details,i=n.cause instanceof e&&n.cause.docsPath||n.docsPath,a=Nu.getDocsUrl?.({...n,docsPath:i}),o=[t||`An error occurred.`,``,...n.metaMessages?[...n.metaMessages,``]:[],...a?[`Docs: ${a}`]:[],...r?[`Details: ${r}`]:[],...Nu.version?[`Version: ${Nu.version}`]:[]].join(`
|
|
3
3
|
`);super(o,n.cause?{cause:n.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`BaseError`}),this.details=r,this.docsPath=i,this.metaMessages=n.metaMessages,this.name=n.name??this.name,this.shortMessage=t,this.version=Mu}walk(e){return Fu(this,e)}};function Fu(e,t){return t?.(e)?e:e&&typeof e==`object`&&`cause`in e&&e.cause!==void 0?Fu(e.cause,t):t?null:e}var Iu=class extends Pu{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:`SizeExceedsPaddingSizeError`})}};function Lu(e,{dir:t,size:n=32}={}){return typeof e==`string`?Ru(e,{dir:t,size:n}):zu(e,{dir:t,size:n})}function Ru(e,{dir:t,size:n=32}={}){if(n===null)return e;let r=e.replace(`0x`,``);if(r.length>n*2)throw new Iu({size:Math.ceil(r.length/2),targetSize:n,type:`hex`});return`0x${r[t===`right`?`padEnd`:`padStart`](n*2,`0`)}`}function zu(e,{dir:t,size:n=32}={}){if(n===null)return e;if(e.length>n)throw new Iu({size:e.length,targetSize:n,type:`bytes`});let r=new Uint8Array(n);for(let i=0;i<n;i++){let a=t===`right`;r[a?i:n-i-1]=e[a?i:e.length-i-1]}return r}var Bu=class extends Pu{constructor({max:e,min:t,signed:n,size:r,value:i}){super(`Number "${i}" is not in safe ${r?`${r*8}-bit ${n?`signed`:`unsigned`} `:``}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:`IntegerOutOfRangeError`})}},Vu=class extends Pu{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:`SizeOverflowError`})}};function Hu(e,{size:t}){if(ju(e)>t)throw new Vu({givenSize:ju(e),maxSize:t})}var Uu=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Wu(e,t={}){return typeof e==`number`||typeof e==`bigint`?qu(e,t):typeof e==`string`?Yu(e,t):typeof e==`boolean`?Gu(e,t):Ku(e,t)}function Gu(e,t={}){let n=`0x${Number(e)}`;return typeof t.size==`number`?(Hu(n,{size:t.size}),Lu(n,{size:t.size})):n}function Ku(e,t={}){let n=``;for(let t=0;t<e.length;t++)n+=Uu[e[t]];let r=`0x${n}`;return typeof t.size==`number`?(Hu(r,{size:t.size}),Lu(r,{dir:`right`,size:t.size})):r}function qu(e,t={}){let{signed:n,size:r}=t,i=BigInt(e),a;r?a=n?(1n<<BigInt(r)*8n-1n)-1n:2n**(BigInt(r)*8n)-1n:typeof e==`number`&&(a=BigInt(2**53-1));let o=typeof a==`bigint`&&n?-a-1n:0;if(a&&i>a||i<o){let t=typeof e==`bigint`?`n`:``;throw new Bu({max:a?`${a}${t}`:void 0,min:`${o}${t}`,signed:n,size:r,value:`${e}${t}`})}let s=`0x${(n&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?Lu(s,{size:r}):s}var Ju=new TextEncoder;function Yu(e,t={}){return Ku(Ju.encode(e),t)}var Xu=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&(super.delete(e),super.set(e,t)),t}set(e,t){if(super.has(e)&&super.delete(e),super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=super.keys().next().value;e!==void 0&&super.delete(e)}return this}},Zu=(e,t,n)=>JSON.stringify(e,(e,n)=>{let r=typeof n==`bigint`?n.toString():n;return typeof t==`function`?t(e,r):r},n),Qu={ether:-9,wei:9};function $u(e,t=`wei`){return ne(e,Qu[t])}var ed=e=>{try{let t=new URL(e);return!t.username&&!t.password?e:(t.username=``,t.password=``,t.toString())}catch{return e}},td=class extends Pu{constructor({body:e,cause:t,details:n,headers:r,status:i,url:a}){super(`HTTP request failed.`,{cause:t,details:n,metaMessages:[i&&`Status: ${i}`,`URL: ${ed(a)}`,e&&`Request body: ${Zu(e)}`].filter(Boolean),name:`HttpRequestError`}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=e,this.headers=r,this.status=i,this.url=a}},nd=class extends Pu{constructor({body:e,error:t,url:n}){super(`RPC Request failed.`,{cause:t,details:t.message,metaMessages:[`URL: ${ed(n)}`,`Request body: ${Zu(e)}`],name:`RpcRequestError`}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t.code,this.data=t.data,this.url=n}},rd=class extends Pu{constructor({body:e,url:t}){super(`The request took too long to respond.`,{details:`The request timed out.`,metaMessages:[`URL: ${ed(t)}`,`Request body: ${Zu(e)}`],name:`TimeoutError`}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.url=t}},id=-1,ad=class extends Pu{constructor(e,{code:t,docsPath:n,metaMessages:r,name:i,shortMessage:a}){super(a,{cause:e,docsPath:n,metaMessages:r||e?.metaMessages,name:i||`RpcError`}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=i||e.name,this.code=e instanceof nd?e.code:t??id}},od=class extends ad{constructor(e,t){super(e,t),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=t.data}},sd=class e extends ad{constructor(t){super(t,{code:e.code,name:`ParseRpcError`,shortMessage:`Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.`})}};Object.defineProperty(sd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});var cd=class e extends ad{constructor(t){super(t,{code:e.code,name:`InvalidRequestRpcError`,shortMessage:`JSON is not a valid request object.`})}};Object.defineProperty(cd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});var ld=class e extends ad{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotFoundRpcError`,shortMessage:`The method${n?` "${n}"`:``} does not exist / is not available.`})}};Object.defineProperty(ld,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});var ud=class e extends ad{constructor(t){super(t,{code:e.code,name:`InvalidParamsRpcError`,shortMessage:[`Invalid parameters were provided to the RPC method.`,`Double check you have provided the correct parameters.`].join(`
|
|
4
4
|
`)})}};Object.defineProperty(ud,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});var dd=class e extends ad{constructor(t){super(t,{code:e.code,name:`InternalRpcError`,shortMessage:`An internal error was received.`})}};Object.defineProperty(dd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});var fd=class e extends ad{constructor(t){super(t,{code:e.code,name:`InvalidInputRpcError`,shortMessage:[`Missing or invalid parameters.`,`Double check you have provided the correct parameters.`].join(`
|
|
5
5
|
`)})}};Object.defineProperty(fd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});var pd=class e extends ad{constructor(t){super(t,{code:e.code,name:`ResourceNotFoundRpcError`,shortMessage:`Requested resource not found.`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:`ResourceNotFoundRpcError`})}};Object.defineProperty(pd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});var md=class e extends ad{constructor(t){super(t,{code:e.code,name:`ResourceUnavailableRpcError`,shortMessage:`Requested resource not available.`})}};Object.defineProperty(md,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});var hd=class e extends ad{constructor(t){super(t,{code:e.code,name:`TransactionRejectedRpcError`,shortMessage:`Transaction creation failed.`})}};Object.defineProperty(hd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});var gd=class e extends ad{constructor(t,{method:n}={}){super(t,{code:e.code,name:`MethodNotSupportedRpcError`,shortMessage:`Method${n?` "${n}"`:``} is not supported.`})}};Object.defineProperty(gd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});var _d=class e extends ad{constructor(t){super(t,{code:e.code,name:`LimitExceededRpcError`,shortMessage:`Request exceeds defined limit.`})}};Object.defineProperty(_d,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});var vd=class e extends ad{constructor(t){super(t,{code:e.code,name:`JsonRpcVersionUnsupportedError`,shortMessage:`Version of JSON-RPC protocol is not supported.`})}};Object.defineProperty(vd,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});var yd=class e extends od{constructor(t){super(t,{code:e.code,name:`UserRejectedRequestError`,shortMessage:`User rejected the request.`})}};Object.defineProperty(yd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});var bd=class e extends od{constructor(t){super(t,{code:e.code,name:`UnauthorizedProviderError`,shortMessage:`The requested method and/or account has not been authorized by the user.`})}};Object.defineProperty(bd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});var xd=class e extends od{constructor(t,{method:n}={}){super(t,{code:e.code,name:`UnsupportedProviderMethodError`,shortMessage:`The Provider does not support the requested method${n?` " ${n}"`:``}.`})}};Object.defineProperty(xd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});var Sd=class e extends od{constructor(t){super(t,{code:e.code,name:`ProviderDisconnectedError`,shortMessage:`The Provider is disconnected from all chains.`})}};Object.defineProperty(Sd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});var Cd=class e extends od{constructor(t){super(t,{code:e.code,name:`ChainDisconnectedError`,shortMessage:`The Provider is not connected to the requested chain.`})}};Object.defineProperty(Cd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});var wd=class e extends od{constructor(t){super(t,{code:e.code,name:`SwitchChainError`,shortMessage:`An error occurred when attempting to switch chain.`})}};Object.defineProperty(wd,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});var Td=class e extends od{constructor(t){super(t,{code:e.code,name:`UnsupportedNonOptionalCapabilityError`,shortMessage:`This Wallet does not support a capability that was not marked as optional.`})}};Object.defineProperty(Td,"code",{enumerable:!0,configurable:!0,writable:!0,value:5700});var Ed=class e extends od{constructor(t){super(t,{code:e.code,name:`UnsupportedChainIdError`,shortMessage:`This Wallet does not support the requested chain ID.`})}};Object.defineProperty(Ed,"code",{enumerable:!0,configurable:!0,writable:!0,value:5710});var Dd=class e extends od{constructor(t){super(t,{code:e.code,name:`DuplicateIdError`,shortMessage:`There is already a bundle submitted with this ID.`})}};Object.defineProperty(Dd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5720});var Od=class e extends od{constructor(t){super(t,{code:e.code,name:`UnknownBundleIdError`,shortMessage:`This bundle id is unknown / has not been submitted`})}};Object.defineProperty(Od,"code",{enumerable:!0,configurable:!0,writable:!0,value:5730});var kd=class e extends od{constructor(t){super(t,{code:e.code,name:`BundleTooLargeError`,shortMessage:`The call bundle is too large for the Wallet to process.`})}};Object.defineProperty(kd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5740});var Ad=class e extends od{constructor(t){super(t,{code:e.code,name:`AtomicReadyWalletRejectedUpgradeError`,shortMessage:`The Wallet can support atomicity after an upgrade, but the user rejected the upgrade.`})}};Object.defineProperty(Ad,"code",{enumerable:!0,configurable:!0,writable:!0,value:5750});var jd=class e extends od{constructor(t){super(t,{code:e.code,name:`AtomicityNotSupportedError`,shortMessage:`The wallet does not support atomic execution but the request requires it.`})}};Object.defineProperty(jd,"code",{enumerable:!0,configurable:!0,writable:!0,value:5760});var Md=class e extends od{constructor(t){super(t,{code:e.code,name:`WalletConnectSessionSettlementError`,shortMessage:`WalletConnect session settlement failed.`})}};Object.defineProperty(Md,"code",{enumerable:!0,configurable:!0,writable:!0,value:7e3});var Nd=class extends ad{constructor(e){super(e,{name:`UnknownRpcError`,shortMessage:`An unknown RPC error occurred.`})}},Pd=class extends Pu{constructor({cause:e,message:t}={}){let n=t?.replace(`execution reverted: `,``)?.replace(`execution reverted`,``);super(`Execution reverted ${n?`with reason: ${n}`:`for an unknown reason`}.`,{cause:e,name:`ExecutionRevertedError`})}};Object.defineProperty(Pd,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(Pd,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted|gas required exceeds allowance/}),Object.defineProperty(class extends Pu{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${$u(t)} gwei`:``}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e,name:`FeeCapTooHighError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/}),Object.defineProperty(class extends Pu{constructor({cause:e,maxFeePerGas:t}={}){super(`The fee cap (\`maxFeePerGas\`${t?` = ${$u(t)}`:``} gwei) cannot be lower than the block base fee.`,{cause:e,name:`FeeCapTooLowError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/}),Object.defineProperty(class extends Pu{constructor({cause:e,nonce:t}={}){super(`Nonce provided for the transaction ${t?`(${t}) `:``}is higher than the next one expected.`,{cause:e,name:`NonceTooHighError`})}},"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/}),Object.defineProperty(class extends Pu{constructor({cause:e,nonce:t}={}){super([`Nonce provided for the transaction ${t?`(${t}) `:``}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(`
|
|
@@ -25,4 +25,4 @@ ${e.length}`,n=new TextEncoder().encode(t+e);return`0x`+Buffer.from(eI(n)).toStr
|
|
|
25
25
|
Required: ${o.toString()}
|
|
26
26
|
Approved: ${s.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(`:`)||r)return;let i=cz(t[e].accounts);i.includes(e)||(r=Z(`NON_CONFORMING_NAMESPACES`,`${n} namespaces accounts don't satisfy namespace accounts for ${e}
|
|
27
27
|
Required: ${e}
|
|
28
|
-
Approved: ${i.toString()}`))}),o.forEach(e=>{r||(HP(i[e].methods,a[e].methods)?HP(i[e].events,a[e].events)||(r=Z(`NON_CONFORMING_NAMESPACES`,`${n} namespaces events don't satisfy namespace events for ${e}`)):r=Z(`NON_CONFORMING_NAMESPACES`,`${n} namespaces methods don't satisfy namespace methods for ${e}`))}),r}function Qz(e){let t={};return Object.keys(e).forEach(n=>{var r;n.includes(`:`)?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(r=>{t[r]={methods:e[n].methods,events:e[n].events}})}),t}function $z(e){return[...new Set(e.map(e=>e.includes(`:`)?e.split(`:`)[0]:e))]}function eB(e){let t={};return Object.keys(e).forEach(n=>{n.includes(`:`)?t[n]=e[n]:cz(e[n].accounts)?.forEach(r=>{t[r]={accounts:e[n].accounts.filter(e=>e.includes(`${r}:`)),methods:e[n].methods,events:e[n].events}})}),t}function tB(e,t){return Cz(e,!1)&&e<=t.max&&e>=t.min}function nB(){let e=PP();return new Promise(t=>{switch(e){case OP.browser:t(rB());break;case OP.reactNative:t(iB());break;case OP.node:t(aB());break;default:t(!0)}})}function rB(){return NP()&&navigator?.onLine}async function iB(){return AP()&&typeof global<`u`&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function aB(){return!0}function oB(e){switch(PP()){case OP.browser:sB(e);break;case OP.reactNative:cB(e);break;case OP.node:break}}function sB(e){!AP()&&NP()&&(window.addEventListener(`online`,()=>e(!0)),window.addEventListener(`offline`,()=>e(!1)))}function cB(e){AP()&&typeof global<`u`&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}var lB={},uB=class{static get(e){return lB[e]}static set(e,t){lB[e]=t}static delete(e){delete lB[e]}},dB=`core`,fB=`wc@2:${dB}:`,pB={name:dB,logger:`error`},mB={database:`:memory:`},hB=`crypto`,gB=`client_ed25519_seed`,_B=G.ONE_DAY,vB=`keychain`,yB=`messages`,bB=G.SIX_HOURS,xB=`publisher`,SB=`relayer`,CB={message:`relayer_message`,message_ack:`relayer_message_ack`,connect:`relayer_connect`,disconnect:`relayer_disconnect`,error:`relayer_error`,connection_stalled:`relayer_connection_stalled`,transport_closed:`relayer_transport_closed`,publish:`relayer_publish`},wB={payload:`payload`,connect:`connect`,disconnect:`disconnect`,error:`error`},TB=`2.19.1`,EB={link_mode:`link_mode`,relay:`relay`},DB={inbound:`inbound`,outbound:`outbound`},OB=`WALLETCONNECT_CLIENT_ID`,kB={created:`subscription_created`,deleted:`subscription_deleted`,expired:`subscription_expired`,disabled:`subscription_disabled`,sync:`subscription_sync`,resubscribed:`subscription_resubscribed`};G.THIRTY_DAYS;var AB=`subscription`;G.FIVE_SECONDS*1e3;var jB=`pairing`;G.THIRTY_DAYS;var MB={wc_pairingDelete:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:G.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:G.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:G.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:G.ONE_DAY,prompt:!1,tag:0},res:{ttl:G.ONE_DAY,prompt:!1,tag:0}}},NB={create:`pairing_create`,expire:`pairing_expire`,delete:`pairing_delete`,ping:`pairing_ping`},PB={created:`history_created`,updated:`history_updated`,deleted:`history_deleted`,sync:`history_sync`},FB=`history`,IB=`expirer`,LB={created:`expirer_created`,deleted:`expirer_deleted`,expired:`expirer_expired`,sync:`expirer_sync`};G.ONE_DAY;var RB=`verify-api`,zB=`https://verify.walletconnect.com`,BB=`https://verify.walletconnect.org`,VB=`${BB}/v3`,HB=[zB,BB],UB=`echo`,WB=`https://echo.walletconnect.com`,GB={pairing_started:`pairing_started`,pairing_uri_validation_success:`pairing_uri_validation_success`,pairing_uri_not_expired:`pairing_uri_not_expired`,store_new_pairing:`store_new_pairing`,subscribing_pairing_topic:`subscribing_pairing_topic`,subscribe_pairing_topic_success:`subscribe_pairing_topic_success`,existing_pairing:`existing_pairing`,pairing_not_expired:`pairing_not_expired`,emit_inactive_pairing:`emit_inactive_pairing`,emit_session_proposal:`emit_session_proposal`,subscribing_to_pairing_topic:`subscribing_to_pairing_topic`},KB={no_wss_connection:`no_wss_connection`,no_internet_connection:`no_internet_connection`,malformed_pairing_uri:`malformed_pairing_uri`,active_pairing_already_exists:`active_pairing_already_exists`,subscribe_pairing_topic_failure:`subscribe_pairing_topic_failure`,pairing_expired:`pairing_expired`,proposal_expired:`proposal_expired`,proposal_listener_not_found:`proposal_listener_not_found`},qB={session_approve_started:`session_approve_started`,proposal_not_expired:`proposal_not_expired`,session_namespaces_validation_success:`session_namespaces_validation_success`,create_session_topic:`create_session_topic`,subscribing_session_topic:`subscribing_session_topic`,subscribe_session_topic_success:`subscribe_session_topic_success`,publishing_session_approve:`publishing_session_approve`,session_approve_publish_success:`session_approve_publish_success`,store_session:`store_session`,publishing_session_settle:`publishing_session_settle`,session_settle_publish_success:`session_settle_publish_success`},JB={no_internet_connection:`no_internet_connection`,no_wss_connection:`no_wss_connection`,proposal_expired:`proposal_expired`,subscribe_session_topic_failure:`subscribe_session_topic_failure`,session_approve_publish_failure:`session_approve_publish_failure`,session_settle_publish_failure:`session_settle_publish_failure`,session_approve_namespace_validation_failure:`session_approve_namespace_validation_failure`,proposal_not_found:`proposal_not_found`},YB={authenticated_session_approve_started:`authenticated_session_approve_started`,authenticated_session_not_expired:`authenticated_session_not_expired`,chains_caip2_compliant:`chains_caip2_compliant`,chains_evm_compliant:`chains_evm_compliant`,create_authenticated_session_topic:`create_authenticated_session_topic`,cacaos_verified:`cacaos_verified`,store_authenticated_session:`store_authenticated_session`,subscribing_authenticated_session_topic:`subscribing_authenticated_session_topic`,subscribe_authenticated_session_topic_success:`subscribe_authenticated_session_topic_success`,publishing_authenticated_session_approve:`publishing_authenticated_session_approve`,authenticated_session_approve_publish_success:`authenticated_session_approve_publish_success`},XB={no_internet_connection:`no_internet_connection`,no_wss_connection:`no_wss_connection`,missing_session_authenticate_request:`missing_session_authenticate_request`,session_authenticate_request_expired:`session_authenticate_request_expired`,chains_caip2_compliant_failure:`chains_caip2_compliant_failure`,chains_evm_compliant_failure:`chains_evm_compliant_failure`,invalid_cacao:`invalid_cacao`,subscribe_authenticated_session_topic_failure:`subscribe_authenticated_session_topic_failure`,authenticated_session_approve_publish_failure:`authenticated_session_approve_publish_failure`,authenticated_session_pending_request_not_found:`authenticated_session_pending_request_not_found`},ZB=.1,QB=`event-client`,$B=`https://pulse.walletconnect.org/batch`;function eV(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var tV=eV,nV=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},rV=e=>new TextEncoder().encode(e),iV=e=>new TextDecoder().decode(e),aV=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},oV=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e==`string`){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(`Can only multibase decode strings`)}or(e){return cV(this,e)}},sV=class{constructor(e){this.decoders=e}or(e){return cV(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},cV=(e,t)=>new sV({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),lV=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new aV(e,t,n),this.decoder=new oV(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},uV=({name:e,prefix:t,encode:n,decode:r})=>new lV(e,t,n,r),dV=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=tV(n,t);return uV({prefix:e,name:t,encode:r,decode:e=>nV(i(e))})},fV=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},pV=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},mV=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>uV({prefix:t,name:e,encode(e){return pV(e,r,n)},decode(t){return fV(t,r,n,e)}}),hV=uV({prefix:`\0`,name:`identity`,encode:e=>iV(e),decode:e=>rV(e)}),gV=Object.freeze({__proto__:null,identity:hV}),_V=mV({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),vV=Object.freeze({__proto__:null,base2:_V}),yV=mV({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),bV=Object.freeze({__proto__:null,base8:yV}),xV=dV({prefix:`9`,name:`base10`,alphabet:`0123456789`}),SV=Object.freeze({__proto__:null,base10:xV}),CV=mV({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),wV=mV({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),TV=Object.freeze({__proto__:null,base16:CV,base16upper:wV}),EV=mV({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),DV=mV({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),OV=mV({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),kV=mV({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),AV=mV({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),jV=mV({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),MV=mV({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),NV=mV({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),PV=mV({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),FV=Object.freeze({__proto__:null,base32:EV,base32upper:DV,base32pad:OV,base32padupper:kV,base32hex:AV,base32hexupper:jV,base32hexpad:MV,base32hexpadupper:NV,base32z:PV}),IV=dV({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),LV=dV({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),RV=Object.freeze({__proto__:null,base36:IV,base36upper:LV}),zV=dV({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),BV=dV({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),VV=Object.freeze({__proto__:null,base58btc:zV,base58flickr:BV}),HV=mV({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),UV=mV({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),WV=mV({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),GV=mV({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),KV=Object.freeze({__proto__:null,base64:HV,base64pad:UV,base64url:WV,base64urlpad:GV}),qV=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),JV=qV.reduce((e,t,n)=>(e[n]=t,e),[]),YV=qV.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function XV(e){return e.reduce((e,t)=>(e+=JV[t],e),``)}function ZV(e){let t=[];for(let n of e){let e=YV[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var QV=uV({prefix:`🚀`,name:`base256emoji`,encode:XV,decode:ZV}),$V=Object.freeze({__proto__:null,base256emoji:QV}),eH=iH,tH=128,nH=-128,rH=2**31;function iH(e,t,n){t||=[],n||=0;for(var r=n;e>=rH;)t[n++]=e&255|tH,e/=128;for(;e&nH;)t[n++]=e&255|tH,e>>>=7;return t[n]=e|0,iH.bytes=n-r+1,t}var aH=cH,oH=128,sH=127;function cH(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw cH.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&sH)<<r:(a&sH)*2**r,r+=7}while(a>=oH);return cH.bytes=i-t,n}var lH=2**7,uH=2**14,dH=2**21,fH=2**28,pH=2**35,mH=2**42,hH=2**49,gH=2**56,_H=2**63,vH={encode:eH,decode:aH,encodingLength:function(e){return e<lH?1:e<uH?2:e<dH?3:e<fH?4:e<pH?5:e<mH?6:e<hH?7:e<gH?8:e<_H?9:10}},yH=(e,t,n=0)=>(vH.encode(e,t,n),t),bH=e=>vH.encodingLength(e),xH=(e,t)=>{let n=t.byteLength,r=bH(e),i=r+bH(n),a=new Uint8Array(i+n);return yH(e,a,0),yH(n,a,r),a.set(t,i),new SH(e,n,t,a)},SH=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},CH=({name:e,code:t,encode:n})=>new wH(e,t,n),wH=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?xH(this.code,t):t.then(e=>xH(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},TH=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),EH=CH({name:`sha2-256`,code:18,encode:TH(`SHA-256`)}),DH=CH({name:`sha2-512`,code:19,encode:TH(`SHA-512`)}),OH=Object.freeze({__proto__:null,sha256:EH,sha512:DH}),kH=0,AH=`identity`,jH=nV,MH=Object.freeze({__proto__:null,identity:{code:kH,name:AH,encode:jH,digest:e=>xH(kH,jH(e))}});new TextEncoder,new TextDecoder;var NH={...gV,...vV,...bV,...SV,...TV,...FV,...RV,...VV,...KV,...$V};({...OH,...MH});function PH(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function FH(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var IH=FH(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),LH=FH(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=PH(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),RH={utf8:IH,"utf-8":IH,hex:NH.base16,latin1:LH,ascii:LH,binary:LH,...NH};function zH(e,t=`utf8`){let n=RH[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}var BH=Object.defineProperty,VH=(e,t,n)=>t in e?BH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HH=(e,t,n)=>VH(e,typeof t==`symbol`?t:t+``,n),UH=class{constructor(e,t){this.core=e,this.logger=t,HH(this,`keychain`,new Map),HH(this,`name`,vB),HH(this,`version`,`0.3`),HH(this,`initialized`,!1),HH(this,`storagePrefix`,fB),HH(this,`init`,async()=>{if(!this.initialized){let e=await this.getKeyChain();typeof e<`u`&&(this.keychain=e),this.initialized=!0}}),HH(this,`has`,e=>(this.isInitialized(),this.keychain.has(e))),HH(this,`set`,async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),HH(this,`get`,e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>`u`){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}),HH(this,`del`,async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=p(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,UP(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?WP(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},WH=Object.defineProperty,GH=(e,t,n)=>t in e?WH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,KH=(e,t,n)=>GH(e,typeof t==`symbol`?t:t+``,n),qH=class{constructor(e,t,n){this.core=e,this.logger=t,KH(this,`name`,hB),KH(this,`keychain`),KH(this,`randomSessionIdentifier`,PR()),KH(this,`initialized`,!1),KH(this,`init`,async()=>{this.initialized||=(await this.keychain.init(),!0)}),KH(this,`hasKeys`,e=>(this.isInitialized(),this.keychain.has(e))),KH(this,`getClientId`,async()=>(this.isInitialized(),ss(ps(await this.getClientSeed()).publicKey))),KH(this,`generateKeyPair`,()=>{this.isInitialized();let e=NR();return this.setPrivateKey(e.publicKey,e.privateKey)}),KH(this,`signJWT`,async e=>{this.isInitialized();let t=ps(await this.getClientSeed()),n=this.randomSessionIdentifier;return await ms(n,e,_B,t)}),KH(this,`generateSharedKey`,(e,t,n)=>{this.isInitialized();let r=FR(this.getPrivateKey(e),t);return this.setSymKey(r,n)}),KH(this,`setSymKey`,async(e,t)=>{this.isInitialized();let n=t||IR(e);return await this.keychain.set(n,e),n}),KH(this,`deleteKeyPair`,async e=>{this.isInitialized(),await this.keychain.del(e)}),KH(this,`deleteSymKey`,async e=>{this.isInitialized(),await this.keychain.del(e)}),KH(this,`encode`,async(e,t,n)=>{this.isInitialized();let r=qR(n),i=l(t);if(YR(r))return HR(i,n?.encoding);if(JR(r)){let t=r.senderPublicKey,n=r.receiverPublicKey;e=await this.generateSharedKey(t,n)}let a=this.getSymKey(e),{type:o,senderPublicKey:s}=r;return BR({type:o,symKey:a,message:i,senderPublicKey:s,encoding:n?.encoding})}),KH(this,`decode`,async(e,t,n)=>{this.isInitialized();let r=KR(t,n);if(YR(r))return fe(UR(t,n?.encoding));if(JR(r)){let t=r.receiverPublicKey,n=r.senderPublicKey;e=await this.generateSharedKey(t,n)}try{return fe(VR({symKey:this.getSymKey(e),encoded:t,encoding:n?.encoding}))}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),KH(this,`getPayloadType`,(e,t=ER)=>zR(GR({encoded:e,encoding:t}).type)),KH(this,`getPayloadSenderPublicKey`,(e,t=ER)=>{let n=GR({encoded:e,encoding:t});return n.senderPublicKey?El(n.senderPublicKey,TR):void 0}),this.core=e,this.logger=p(t,this.name),this.keychain=n||new UH(this.core,this.logger)}get context(){return w(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=``;try{e=this.keychain.get(gB)}catch{e=PR(),await this.keychain.set(gB,e)}return zH(e,`base16`)}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},JH=Object.defineProperty,YH=Object.defineProperties,XH=Object.getOwnPropertyDescriptors,ZH=Object.getOwnPropertySymbols,QH=Object.prototype.hasOwnProperty,$H=Object.prototype.propertyIsEnumerable,eU=(e,t,n)=>t in e?JH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tU=(e,t)=>{for(var n in t||={})QH.call(t,n)&&eU(e,n,t[n]);if(ZH)for(var n of ZH(t))$H.call(t,n)&&eU(e,n,t[n]);return e},nU=(e,t)=>YH(e,XH(t)),rU=(e,t,n)=>eU(e,typeof t==`symbol`?t:t+``,n),iU=class extends Wn{constructor(e,t){super(e,t),this.logger=e,this.core=t,rU(this,`messages`,new Map),rU(this,`messagesWithoutClientAck`,new Map),rU(this,`name`,yB),rU(this,`version`,`0.3`),rU(this,`initialized`,!1),rU(this,`storagePrefix`,fB),rU(this,`init`,async()=>{if(!this.initialized){this.logger.trace(`Initialized`);try{let e=await this.getRelayerMessages();typeof e<`u`&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();typeof t<`u`&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),rU(this,`set`,async(e,t,n)=>{this.isInitialized();let r=LR(t),i=this.messages.get(e);if(typeof i>`u`&&(i={}),typeof i[r]<`u`)return r;if(i[r]=t,this.messages.set(e,i),n===DB.inbound){let n=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,nU(tU({},n),{[r]:t}))}return await this.persist(),r}),rU(this,`get`,e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>`u`&&(t={}),t}),rU(this,`getWithoutAck`,e=>{this.isInitialized();let t={};for(let n of e){let e=this.messagesWithoutClientAck.get(n)||{};t[n]=Object.values(e)}return t}),rU(this,`has`,(e,t)=>(this.isInitialized(),typeof this.get(e)[LR(t)]<`u`)),rU(this,`ack`,async(e,t)=>{this.isInitialized();let n=this.messagesWithoutClientAck.get(e);if(typeof n>`u`)return;let r=LR(t);delete n[r],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,n),await this.persist()}),rU(this,`del`,async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=p(e,this.name),this.core=t}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name+`_withoutClientAck`}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,UP(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,UP(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?WP(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<`u`?WP(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},aU=Object.defineProperty,oU=Object.defineProperties,sU=Object.getOwnPropertyDescriptors,cU=Object.getOwnPropertySymbols,lU=Object.prototype.hasOwnProperty,uU=Object.prototype.propertyIsEnumerable,dU=(e,t,n)=>t in e?aU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fU=(e,t)=>{for(var n in t||={})lU.call(t,n)&&dU(e,n,t[n]);if(cU)for(var n of cU(t))uU.call(t,n)&&dU(e,n,t[n]);return e},pU=(e,t)=>oU(e,sU(t)),mU=(e,t,n)=>dU(e,typeof t==`symbol`?t:t+``,n),hU=class extends Gn{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,mU(this,`events`,new Nt.EventEmitter),mU(this,`name`,xB),mU(this,`queue`,new Map),mU(this,`publishTimeout`,(0,G.toMiliseconds)(G.ONE_MINUTE)),mU(this,`initialPublishTimeout`,(0,G.toMiliseconds)(G.ONE_SECOND*15)),mU(this,`needsTransportRestart`,!1),mU(this,`publish`,async(e,t,n)=>{var r;this.logger.debug(`Publishing Payload`),this.logger.trace({type:`method`,method:`publish`,params:{topic:e,message:t,opts:n}});let i=n?.ttl||bB,a=ez(n),o=n?.prompt||!1,s=n?.tag||0,c=n?.id||V().toString(),l={topic:e,message:t,opts:{ttl:i,relay:a,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}},u=`Failed to publish payload, please try again. id:${c} tag:${s}`;try{let r=new Promise(async r=>{let a=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(CB.publish,a),r(l))};this.relayer.events.on(CB.publish,a);let u=KP(new Promise((r,a)=>{this.rpcPublish({topic:e,message:t,ttl:i,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}).then(r).catch(e=>{this.logger.warn(e,e?.message),a(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${s}`);try{await u,this.events.removeListener(CB.publish,a)}catch(e){this.queue.set(c,pU(fU({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:`method`,method:`publish`,params:{id:c,topic:e,message:t,opts:n}}),await KP(r,this.publishTimeout,u)}catch(e){if(this.logger.debug(`Failed to Publish Payload`),this.logger.error(e),(r=n?.internal)!=null&&r.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),mU(this,`on`,(e,t)=>{this.events.on(e,t)}),mU(this,`once`,(e,t)=>{this.events.once(e,t)}),mU(this,`off`,(e,t)=>{this.events.off(e,t)}),mU(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=p(t,this.name),this.registerEventListeners()}get context(){return w(this.logger)}async rpcPublish(e){var t,n;let{topic:r,message:i,ttl:a=bB,prompt:o,tag:s,id:c,attestation:l,tvf:u}=e,d={method:tz(ez().protocol).publish,params:fU({topic:r,message:i,ttl:a,prompt:o,tag:s,attestation:l},u),id:c};xz(d.params?.prompt)&&((t=d.params)==null||delete t.prompt),xz(d.params?.tag)&&((n=d.params)==null||delete n.tag),this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`message`,direction:`outgoing`,request:d});let f=await this.relayer.request(d);return this.relayer.events.emit(CB.publish,e),this.logger.debug(`Successfully Published Payload`),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let n=e.attempt+1;this.queue.set(t,pU(fU({},e),{attempt:n}));let{topic:r,message:i,opts:a,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${n}`),await this.rpcPublish(pU(fU({},e),{topic:r,message:i,ttl:a.ttl,prompt:a.prompt,tag:a.tag,id:a.id,attestation:o,tvf:a.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(It.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(CB.connection_stalled);return}this.checkQueue()}),this.relayer.on(CB.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},gU=Object.defineProperty,_U=(e,t,n)=>t in e?gU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vU=(e,t,n)=>_U(e,typeof t==`symbol`?t:t+``,n),yU=class{constructor(){vU(this,`map`,new Map),vU(this,`set`,(e,t)=>{let n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])}),vU(this,`get`,e=>this.map.get(e)||[]),vU(this,`exists`,(e,t)=>this.get(e).includes(t)),vU(this,`delete`,(e,t)=>{if(typeof t>`u`){this.map.delete(e);return}if(!this.map.has(e))return;let n=this.get(e);if(!this.exists(e,t))return;let r=n.filter(e=>e!==t);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),vU(this,`clear`,()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}},bU=Object.defineProperty,xU=Object.defineProperties,SU=Object.getOwnPropertyDescriptors,CU=Object.getOwnPropertySymbols,wU=Object.prototype.hasOwnProperty,TU=Object.prototype.propertyIsEnumerable,EU=(e,t,n)=>t in e?bU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DU=(e,t)=>{for(var n in t||={})wU.call(t,n)&&EU(e,n,t[n]);if(CU)for(var n of CU(t))TU.call(t,n)&&EU(e,n,t[n]);return e},OU=(e,t)=>xU(e,SU(t)),kU=(e,t,n)=>EU(e,typeof t==`symbol`?t:t+``,n),AU=class extends Jn{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,kU(this,`subscriptions`,new Map),kU(this,`topicMap`,new yU),kU(this,`events`,new Nt.EventEmitter),kU(this,`name`,AB),kU(this,`version`,`0.3`),kU(this,`pending`,new Map),kU(this,`cached`,[]),kU(this,`initialized`,!1),kU(this,`storagePrefix`,fB),kU(this,`subscribeTimeout`,(0,G.toMiliseconds)(G.ONE_MINUTE)),kU(this,`initialSubscribeTimeout`,(0,G.toMiliseconds)(G.ONE_SECOND*15)),kU(this,`clientId`),kU(this,`batchSubscribeTopicsLimit`,500),kU(this,`init`,async()=>{this.initialized||(this.logger.trace(`Initialized`),this.registerEventListeners(),await this.restore()),this.initialized=!0}),kU(this,`subscribe`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Subscribing Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}});try{let n=ez(t),r={topic:e,relay:n,transportType:t?.transportType};this.pending.set(e,r);let i=await this.rpcSubscribe(e,n,t);return typeof i==`string`&&(this.onSubscribe(i,r),this.logger.debug(`Successfully Subscribed Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}})),i}catch(e){throw this.logger.debug(`Failed to Subscribe Topic`),this.logger.error(e),e}}),kU(this,`unsubscribe`,async(e,t)=>{this.isInitialized(),typeof t?.id<`u`?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),kU(this,`isSubscribed`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),kU(this,`isKnownTopic`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),kU(this,`on`,(e,t)=>{this.events.on(e,t)}),kU(this,`once`,(e,t)=>{this.events.once(e,t)}),kU(this,`off`,(e,t)=>{this.events.off(e,t)}),kU(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),kU(this,`start`,async()=>{await this.onConnect()}),kU(this,`stop`,async()=>{await this.onDisconnect()}),kU(this,`restart`,async()=>{await this.restore(),await this.onRestart()}),kU(this,`checkPending`,async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),kU(this,`registerEventListeners`,()=>{this.relayer.core.heartbeat.on(It.pulse,async()=>{await this.checkPending()}),this.events.on(kB.created,async e=>{let t=kB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()}),this.events.on(kB.deleted,async e=>{let t=kB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=p(t,this.name),this.clientId=``}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+`//`+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let n=this.topicMap.get(e);await Promise.all(n.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,n){this.logger.debug(`Unsubscribing Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}});try{let r=ez(n);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);let i=vz(`USER_DISCONNECTED`,`${this.name}, ${e}`);await this.onUnsubscribe(e,t,i),this.logger.debug(`Successfully Unsubscribed Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}})}catch(e){throw this.logger.debug(`Failed to Unsubscribe Topic`),this.logger.error(e),e}}async rpcSubscribe(e,t,n){(!n||n?.transportType===EB.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});let r={method:tz(t.protocol).subscribe,params:{topic:e}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:r});let i=n?.internal?.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(n?.transportType===EB.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(r).catch(e=>this.logger.warn(e))},(0,G.toMiliseconds)(G.ONE_SECOND)),t;let a=await KP(new Promise(async t=>{let n=r=>{r.topic===e&&(this.events.removeListener(kB.created,n),t(r.id))};this.events.on(kB.created,n);try{let i=await KP(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(kB.created,n),t(i)}catch{}}),this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&i)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug(`Outgoing Relay Subscribe Payload stalled`),this.relayer.events.emit(CB.connection_stalled),i)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t=e[0].relay,n={method:tz(t.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});try{await await KP(new Promise(e=>{this.relayer.request(n).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,`rpcBatchSubscribe failed, please try again`)}catch{this.relayer.events.emit(CB.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;let t=e[0].relay,n={method:tz(t.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});let r;try{r=await await KP(new Promise((e,t)=>{this.relayer.request(n).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,`rpcBatchFetchMessages failed, please try again`)}catch{this.relayer.events.emit(CB.connection_stalled)}return r}rpcUnsubscribe(e,t,n){let r={method:tz(n.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:r}),this.relayer.request(r)}onSubscribe(e,t){this.setSubscription(e,OU(DU({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,DU({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug(`Setting subscription`),this.logger.trace({type:`method`,method:`setSubscription`,id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,DU({},t)),this.topicMap.set(t.topic,e),this.events.emit(kB.created,t)}getSubscription(e){this.logger.debug(`Getting subscription`),this.logger.trace({type:`method`,method:`getSubscription`,id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug(`Deleting subscription`),this.logger.trace({type:`method`,method:`deleteSubscription`,id:e,reason:t});let n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(kB.deleted,OU(DU({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(kB.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let n=0;n<t;n++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(kB.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>`u`||!e.length)return;if(this.subscriptions.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>OU(DU({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await fF((0,G.toMiliseconds)(G.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||=await this.relayer.core.crypto.getClientId(),this.clientId}async getSubscriptionId(e){return LR(e+await this.getClientId())}},jU=Object.defineProperty,MU=Object.getOwnPropertySymbols,NU=Object.prototype.hasOwnProperty,PU=Object.prototype.propertyIsEnumerable,FU=(e,t,n)=>t in e?jU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IU=(e,t)=>{for(var n in t||={})NU.call(t,n)&&FU(e,n,t[n]);if(MU)for(var n of MU(t))PU.call(t,n)&&FU(e,n,t[n]);return e},LU=(e,t,n)=>FU(e,typeof t==`symbol`?t:t+``,n),RU=class extends Kn{constructor(e){super(e),LU(this,`protocol`,`wc`),LU(this,`version`,2),LU(this,`core`),LU(this,`logger`),LU(this,`events`,new Nt.EventEmitter),LU(this,`provider`),LU(this,`messages`),LU(this,`subscriber`),LU(this,`publisher`),LU(this,`name`,SB),LU(this,`transportExplicitlyClosed`,!1),LU(this,`initialized`,!1),LU(this,`connectionAttemptInProgress`,!1),LU(this,`relayUrl`),LU(this,`projectId`),LU(this,`packageName`),LU(this,`bundleId`),LU(this,`hasExperiencedNetworkDisruption`,!1),LU(this,`pingTimeout`),LU(this,`heartBeatTimeout`,(0,G.toMiliseconds)(G.THIRTY_SECONDS+G.FIVE_SECONDS)),LU(this,`reconnectTimeout`),LU(this,`connectPromise`),LU(this,`reconnectInProgress`,!1),LU(this,`requestsInFlight`,[]),LU(this,`connectTimeout`,(0,G.toMiliseconds)(G.ONE_SECOND*15)),LU(this,`request`,async e=>{this.logger.debug(`Publishing Request Payload`);let t=e.id||V().toString();await this.toEstablishConnection();try{this.logger.trace({id:t,method:e.method,topic:e.params?.topic},`relayer.request - publishing...`);let n=`${t}:${e.params?.tag||``}`;this.requestsInFlight.push(n);let r=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==n),r}catch(e){throw this.logger.debug(`Failed to Publish Request: ${t}`),e}}),LU(this,`resetPingTimeout`,()=>{kP()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t;try{this.logger.debug({},`pingTimeout: Connection stalled, terminating...`),(t=(e=this.provider?.connection?.socket)?.terminate)==null||t.call(e)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),LU(this,`onPayloadHandler`,e=>{this.onProviderPayload(e),this.resetPingTimeout()}),LU(this,`onConnectHandler`,()=>{this.logger.warn({},`Relayer connected 🛜`),this.startPingTimeout(),this.events.emit(CB.connect)}),LU(this,`onDisconnectHandler`,()=>{this.logger.warn({},`Relayer disconnected 🛑`),this.requestsInFlight=[],this.onProviderDisconnect()}),LU(this,`onProviderErrorHandler`,e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(CB.error,e),this.logger.fatal(`Fatal socket error received, closing transport`),this.transportClose()}),LU(this,`registerProviderListeners`,()=>{this.provider.on(wB.payload,this.onPayloadHandler),this.provider.on(wB.connect,this.onConnectHandler),this.provider.on(wB.disconnect,this.onDisconnectHandler),this.provider.on(wB.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<`u`&&typeof e.logger!=`string`?p(e.logger,this.name):(0,h.default)(v({level:e.logger||`error`})),this.messages=new iU(this.logger,e.core),this.subscriber=new AU(this,this.logger),this.publisher=new hU(this,this.logger),this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.projectId=e.projectId,jP()?this.packageName=FP():MP()&&(this.bundleId=FP()),this.provider={}}async init(){if(this.logger.trace(`Initialized`),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return w(this.logger)}get connected(){return this.provider?.connection?.socket?.readyState===1||!1}get connecting(){return this.provider?.connection?.socket?.readyState===0||this.connectPromise!==void 0||!1}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:EB.relay},DB.outbound)}async subscribe(e,t){this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===`relay`)&&await this.toEstablishConnection();let n=typeof t?.internal?.throwOnFailedPublish>`u`?!0:t?.internal?.throwOnFailedPublish,r=this.subscriber.topicMap.get(e)?.[0]||``,i,a=t=>{t.topic===e&&(this.subscriber.off(kB.created,a),i())};return await Promise.all([new Promise(e=>{i=e,this.subscriber.on(kB.created,a)}),new Promise(async(i,a)=>{r=await this.subscriber.subscribe(e,IU({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&a(e)})||r,i()})]),r}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await KP(this.provider.disconnect(),2e3,`provider.disconnect()`).catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn(`Starting WS connection skipped because the client has no topics to work with.`);return}if(this.connectPromise?(this.logger.debug({},`Waiting for existing connection attempt to resolve...`),await this.connectPromise,this.logger.debug({},`Existing connection attempt resolved`)):(this.connectPromise=new Promise(async(t,n)=>{await this.connect(e).then(t).catch(n).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},`Restarting transport...`),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await nB())throw Error(`No internet connection detected. Please restart your network and try again.`)}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(`Batch message events is empty. Ignoring...`);return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(let e of t)try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,`Error while processing batch message event: `+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:n}=e;if(!t.sessionExists){let e={topic:n,expiry:ZP(G.FIVE_MINUTES),relay:{protocol:`irn`},active:!1};await this.core.pairing.pairings.set(n,e)}this.events.emit(CB.message,e),await this.recordMessageEvent(e,DB.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(wB.disconnect,n),await KP(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(wB.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(wB.disconnect,n),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(wB.disconnect,n)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop();let t=e;this.logger.warn({},t.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,G.toMiliseconds)(t*1))),t++}}startPingTimeout(){var e,t;if(kP())try{(e=this.provider?.connection)!=null&&e.socket&&((t=this.provider?.connection?.socket)==null||t.on(`ping`,()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new P(new ku(VP({sdkVersion:TB,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){let{topic:n,message:r}=e;await this.messages.set(n,r,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let r=this.messages.has(t,n);return r&&this.logger.warn(`Ignoring duplicate message: ${n}`),r}async onProviderPayload(e){if(this.logger.debug(`Incoming Relay Payload`),this.logger.trace({type:`payload`,direction:`incoming`,payload:e}),u(e)){if(!e.method.endsWith(`_subscription`))return;let t=e.params,{topic:n,message:r,publishedAt:i,attestation:a}=t.data,o={topic:n,message:r,publishedAt:i,transportType:EB.relay,attestation:a};this.logger.debug(`Emitting Relayer Payload`),this.logger.trace(IU({type:`event`,event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else le(e)&&this.events.emit(CB.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,DB.inbound),this.events.emit(CB.message,e))}async acknowledgePayload(e){let t=c(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(wB.payload,this.onPayloadHandler),this.provider.off(wB.connect,this.onConnectHandler),this.provider.off(wB.disconnect,this.onDisconnectHandler),this.provider.off(wB.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await nB();oB(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(CB.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,G.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}};function zU(){}function BU(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)===`[object Object]`:!1}function VU(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function HU(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var UU=`[object RegExp]`,WU=`[object String]`,GU=`[object Number]`,KU=`[object Boolean]`,qU=`[object Arguments]`,JU=`[object Symbol]`,YU=`[object Date]`,XU=`[object Map]`,ZU=`[object Set]`,QU=`[object Array]`,$U=`[object Function]`,eW=`[object ArrayBuffer]`,tW=`[object Object]`,nW=`[object Error]`,rW=`[object DataView]`,iW=`[object Uint8Array]`,aW=`[object Uint8ClampedArray]`,oW=`[object Uint16Array]`,sW=`[object Uint32Array]`,cW=`[object BigUint64Array]`,lW=`[object Int8Array]`,uW=`[object Int16Array]`,dW=`[object Int32Array]`,fW=`[object BigInt64Array]`,pW=`[object Float32Array]`,mW=`[object Float64Array]`;function hW(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function gW(e,t,n){return _W(e,t,void 0,void 0,void 0,void 0,n)}function _W(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return vW(e,t,a,o)}return vW(e,t,a,o)}function vW(e,t,n,r){if(Object.is(e,t))return!0;let i=HU(e),a=HU(t);if(i===qU&&(i=tW),a===qU&&(a=tW),i!==a)return!1;switch(i){case WU:return e.toString()===t.toString();case GU:return hW(e.valueOf(),t.valueOf());case KU:case YU:case JU:return Object.is(e.valueOf(),t.valueOf());case UU:return e.source===t.source&&e.flags===t.flags;case $U:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case XU:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!_W(a,t.get(i),i,e,t,n,r))return!1;return!0;case ZU:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;o<i.length;o++){let s=i[o],c=a.findIndex(i=>_W(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case QU:case iW:case aW:case oW:case sW:case cW:case lW:case uW:case dW:case fW:case pW:case mW:if(typeof Buffer<`u`&&Buffer.isBuffer(e)!==Buffer.isBuffer(t)||e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!_W(e[i],t[i],i,e,t,n,r))return!1;return!0;case eW:return e.byteLength===t.byteLength?vW(new Uint8Array(e),new Uint8Array(t),n,r):!1;case rW:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:vW(new Uint8Array(e),new Uint8Array(t),n,r);case nW:return e.name===t.name&&e.message===t.message;case tW:{if(!(vW(e.constructor,t.constructor,n,r)||BU(e)&&BU(t)))return!1;let i=[...Object.keys(e),...VU(e)],a=[...Object.keys(t),...VU(t)];if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++){let o=i[a],s=e[o];if(!Object.hasOwn(t,o))return!1;let c=t[o];if(!_W(s,c,o,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function yW(e,t){return gW(e,t,zU)}var bW=Object.defineProperty,xW=Object.getOwnPropertySymbols,SW=Object.prototype.hasOwnProperty,CW=Object.prototype.propertyIsEnumerable,wW=(e,t,n)=>t in e?bW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TW=(e,t)=>{for(var n in t||={})SW.call(t,n)&&wW(e,n,t[n]);if(xW)for(var n of xW(t))CW.call(t,n)&&wW(e,n,t[n]);return e},EW=(e,t,n)=>wW(e,typeof t==`symbol`?t:t+``,n),DW=class extends qn{constructor(e,t,n,r=fB,i=void 0){super(e,t,n,r),this.core=e,this.logger=t,this.name=n,EW(this,`map`,new Map),EW(this,`version`,`0.3`),EW(this,`cached`,[]),EW(this,`initialized`,!1),EW(this,`getKey`),EW(this,`storagePrefix`,fB),EW(this,`recentlyDeleted`,[]),EW(this,`recentlyDeletedLimit`,200),EW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>{this.getKey&&e!==null&&!xz(e)?this.map.set(this.getKey(e),e):Oz(e)?this.map.set(e.id,e):kz(e)&&this.map.set(e.topic,e)}),this.cached=[],!0)}),EW(this,`set`,async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug(`Setting value`),this.logger.trace({type:`method`,method:`set`,key:e,value:t}),this.map.set(e,t),await this.persist())}),EW(this,`get`,e=>(this.isInitialized(),this.logger.debug(`Getting value`),this.logger.trace({type:`method`,method:`get`,key:e}),this.getData(e))),EW(this,`getAll`,e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(n=>yW(t[n],e[n]))):this.values)),EW(this,`update`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Updating value`),this.logger.trace({type:`method`,method:`update`,key:e,update:t});let n=TW(TW({},this.getData(e)),t);this.map.set(e,n),await this.persist()}),EW(this,`delete`,async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug(`Deleting value`),this.logger.trace({type:`method`,method:`delete`,key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=p(t,this.name),this.storagePrefix=r,this.getKey=i}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>`u`||!e.length)return;if(this.map.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},OW=Object.defineProperty,kW=(e,t,n)=>t in e?OW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>kW(e,typeof t==`symbol`?t:t+``,n),AW=class{constructor(e,t){this.core=e,this.logger=t,Q(this,`name`,jB),Q(this,`version`,`0.3`),Q(this,`events`,new Nt.default),Q(this,`pairings`),Q(this,`initialized`,!1),Q(this,`storagePrefix`,fB),Q(this,`ignoredPayloadTypes`,[1]),Q(this,`registeredMethods`,[]),Q(this,`init`,async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(`Initialized`))}),Q(this,`register`,({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),Q(this,`create`,async e=>{this.isInitialized();let t=PR(),n=await this.core.crypto.setSymKey(t),r=ZP(G.FIVE_MINUTES),i={protocol:`irn`},a={topic:n,expiry:r,relay:i,active:!1,methods:e?.methods},o=oz({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:t,relay:i,expiryTimestamp:r,methods:e?.methods});return this.events.emit(NB.create,a),this.core.expirer.set(n,r),await this.pairings.set(n,a),await this.core.relayer.subscribe(n,{transportType:e?.transportType}),{topic:n,uri:o}}),Q(this,`pair`,async e=>{this.isInitialized();let t=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[GB.pairing_started]}});this.isValidPair(e,t);let{topic:n,symKey:r,relay:i,expiryTimestamp:a,methods:o}=rz(e.uri);t.props.properties.topic=n,t.addTrace(GB.pairing_uri_validation_success),t.addTrace(GB.pairing_uri_not_expired);let s;if(this.pairings.keys.includes(n)){if(s=this.pairings.get(n),t.addTrace(GB.existing_pairing),s.active)throw t.setError(KB.active_pairing_already_exists),Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);t.addTrace(GB.pairing_not_expired)}let c=a||ZP(G.FIVE_MINUTES),l={topic:n,relay:i,expiry:c,active:!1,methods:o};this.core.expirer.set(n,c),await this.pairings.set(n,l),t.addTrace(GB.store_new_pairing),e.activatePairing&&await this.activate({topic:n}),this.events.emit(NB.create,l),t.addTrace(GB.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(r,n),t.addTrace(GB.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{t.setError(KB.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:i})}catch(e){throw t.setError(KB.subscribe_pairing_topic_failure),e}return t.addTrace(GB.subscribe_pairing_topic_success),l}),Q(this,`activate`,async({topic:e})=>{this.isInitialized();let t=ZP(G.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),Q(this,`ping`,async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn(`ping() is deprecated and will be removed in the next major release.`);let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,`wc_pairingPing`,{}),{done:n,resolve:r,reject:i}=GP();this.events.once($P(`pairing_ping`,e),({error:e})=>{e?i(e):r()}),await n()}}),Q(this,`updateExpiry`,async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),Q(this,`updateMetadata`,async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),Q(this,`getPairings`,()=>(this.isInitialized(),this.pairings.values)),Q(this,`disconnect`,async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,`wc_pairingDelete`,vz(`USER_DISCONNECTED`)),await this.deletePairing(t))}),Q(this,`formatUriFromPairing`,e=>{this.isInitialized();let{topic:t,relay:n,expiry:r,methods:i}=e,a=this.core.crypto.keychain.get(t);return oz({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:a,relay:n,expiryTimestamp:r,methods:i})}),Q(this,`sendRequest`,async(e,t,n)=>{let r=te(t,n),i=await this.core.crypto.encode(e,r),a=MB[t].req;return this.core.history.set(e,r),this.core.relayer.publish(e,i,a),r.id}),Q(this,`sendResult`,async(e,t,n)=>{let r=c(e,n),i=await this.core.crypto.encode(t,r),a=MB[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,i,a),await this.core.history.resolve(r)}),Q(this,`sendError`,async(e,t,n)=>{let r=x(e,n),i=await this.core.crypto.encode(t,r),a=(await this.core.history.get(t,e)).request.method,o=MB[a]?MB[a].res:MB.unregistered_method.res;await this.core.relayer.publish(t,i,o),await this.core.history.resolve(r)}),Q(this,`deletePairing`,async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,vz(`USER_DISCONNECTED`)),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),Q(this,`cleanup`,async()=>{let e=this.pairings.getAll().filter(e=>QP(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),Q(this,`onRelayEventRequest`,async e=>{let{topic:t,payload:n}=e;switch(n.method){case`wc_pairingPing`:return await this.onPairingPingRequest(t,n);case`wc_pairingDelete`:return await this.onPairingDeleteRequest(t,n);default:return await this.onUnknownRpcMethodRequest(t,n)}}),Q(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n}=e,r=(await this.core.history.get(t,n.id)).request.method;switch(r){case`wc_pairingPing`:return this.onPairingPingResponse(t,n);default:return this.onUnknownRpcMethodResponse(r)}}),Q(this,`onPairingPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult(n,e,!0),this.events.emit(NB.ping,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Q(this,`onPairingPingResponse`,(e,t)=>{let{id:n}=t;setTimeout(()=>{E(t)?this.events.emit($P(`pairing_ping`,n),{}):T(t)&&this.events.emit($P(`pairing_ping`,n),{error:t.error})},500)}),Q(this,`onPairingDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(NB.delete,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Q(this,`onUnknownRpcMethodRequest`,async(e,t)=>{let{id:n,method:r}=t;try{if(this.registeredMethods.includes(r))return;let t=vz(`WC_METHOD_UNSUPPORTED`,r);await this.sendError(n,e,t),this.logger.error(t)}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Q(this,`onUnknownRpcMethodResponse`,e=>{this.registeredMethods.includes(e)||this.logger.error(vz(`WC_METHOD_UNSUPPORTED`,e))}),Q(this,`isValidPair`,(e,t)=>{var n;if(!Uz(e)){let{message:n}=Z(`MISSING_OR_INVALID`,`pair() params: ${e}`);throw t.setError(KB.malformed_pairing_uri),Error(n)}if(!Dz(e.uri)){let{message:n}=Z(`MISSING_OR_INVALID`,`pair() uri: ${e.uri}`);throw t.setError(KB.malformed_pairing_uri),Error(n)}let r=rz(e?.uri);if(!((n=r?.relay)!=null&&n.protocol)){let{message:e}=Z(`MISSING_OR_INVALID`,`pair() uri#relay-protocol`);throw t.setError(KB.malformed_pairing_uri),Error(e)}if(!(r!=null&&r.symKey)){let{message:e}=Z(`MISSING_OR_INVALID`,`pair() uri#symKey`);throw t.setError(KB.malformed_pairing_uri),Error(e)}if(r!=null&&r.expiryTimestamp&&(0,G.toMiliseconds)(r?.expiryTimestamp)<Date.now()){t.setError(KB.pairing_expired);let{message:e}=Z(`EXPIRED`,`pair() URI has expired. Please try again with a new connection URI.`);throw Error(e)}}),Q(this,`isValidPing`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),Q(this,`isValidDisconnect`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),Q(this,`isValidPairingTopic`,async e=>{if(!Sz(e,!1)){let{message:t}=Z(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(QP(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=Z(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=p(t,this.name),this.pairings=new DW(this.core,this.logger,this.name,this.storagePrefix)}get context(){return w(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(CB.message,async e=>{let{topic:t,message:n,transportType:r}=e;if(this.pairings.keys.includes(t)&&r!==EB.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))try{let e=await this.core.crypto.decode(t,n);u(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):le(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,n)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(LB.expired,async e=>{let{topic:t}=XP(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(NB.expire,{topic:t}))})}},jW=Object.defineProperty,MW=(e,t,n)=>t in e?jW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NW=(e,t,n)=>MW(e,typeof t==`symbol`?t:t+``,n),PW=class extends Un{constructor(e,t){super(e,t),this.core=e,this.logger=t,NW(this,`records`,new Map),NW(this,`events`,new Nt.EventEmitter),NW(this,`name`,FB),NW(this,`version`,`0.3`),NW(this,`cached`,[]),NW(this,`initialized`,!1),NW(this,`storagePrefix`,fB),NW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),!0)}),NW(this,`set`,(e,t,n)=>{if(this.isInitialized(),this.logger.debug(`Setting JSON-RPC request history record`),this.logger.trace({type:`method`,method:`set`,topic:e,request:t,chainId:n}),this.records.has(t.id))return;let r={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:n,expiry:ZP(G.THIRTY_DAYS)};this.records.set(r.id,r),this.persist(),this.events.emit(PB.created,r)}),NW(this,`resolve`,async e=>{if(this.isInitialized(),this.logger.debug(`Updating JSON-RPC response history record`),this.logger.trace({type:`method`,method:`update`,response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>`u`&&(t.response=T(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(PB.updated,t))}),NW(this,`get`,async(e,t)=>(this.isInitialized(),this.logger.debug(`Getting record`),this.logger.trace({type:`method`,method:`get`,topic:e,id:t}),await this.getRecord(t))),NW(this,`delete`,(e,t)=>{this.isInitialized(),this.logger.debug(`Deleting record`),this.logger.trace({type:`method`,method:`delete`,id:t}),this.values.forEach(n=>{if(n.topic===e){if(typeof t<`u`&&n.id!==t)return;this.records.delete(n.id),this.events.emit(PB.deleted,n)}}),this.persist()}),NW(this,`exists`,async(e,t)=>(this.isInitialized(),this.records.has(t)?(await this.getRecord(t)).topic===e:!1)),NW(this,`on`,(e,t)=>{this.events.on(e,t)}),NW(this,`once`,(e,t)=>{this.events.once(e,t)}),NW(this,`off`,(e,t)=>{this.events.off(e,t)}),NW(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=p(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){let e=[];return this.values.forEach(t=>{if(typeof t.response<`u`)return;let n={topic:t.topic,request:te(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(PB.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>`u`||!e.length)return;if(this.records.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(PB.created,e=>{let t=PB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(PB.updated,e=>{let t=PB.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(PB.deleted,e=>{let t=PB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.core.heartbeat.on(It.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,G.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(PB.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},FW=Object.defineProperty,IW=(e,t,n)=>t in e?FW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LW=(e,t,n)=>IW(e,typeof t==`symbol`?t:t+``,n),RW=class extends Yn{constructor(e,t){super(e,t),this.core=e,this.logger=t,LW(this,`expirations`,new Map),LW(this,`events`,new Nt.EventEmitter),LW(this,`name`,IB),LW(this,`version`,`0.3`),LW(this,`cached`,[]),LW(this,`initialized`,!1),LW(this,`storagePrefix`,fB),LW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),!0)}),LW(this,`has`,e=>{try{let t=this.formatTarget(e);return typeof this.getExpiration(t)<`u`}catch{return!1}}),LW(this,`set`,(e,t)=>{this.isInitialized();let n=this.formatTarget(e),r={target:n,expiry:t};this.expirations.set(n,r),this.checkExpiry(n,r),this.events.emit(LB.created,{target:n,expiration:r})}),LW(this,`get`,e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),LW(this,`del`,e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),n=this.getExpiration(t);this.expirations.delete(t),this.events.emit(LB.deleted,{target:t,expiration:n})}}),LW(this,`on`,(e,t)=>{this.events.on(e,t)}),LW(this,`once`,(e,t)=>{this.events.once(e,t)}),LW(this,`off`,(e,t)=>{this.events.off(e,t)}),LW(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=p(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==`string`)return JP(e);if(typeof e==`number`)return YP(e);let{message:t}=Z(`UNKNOWN_TYPE`,`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(LB.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>`u`||!e.length)return;if(this.expirations.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:n}=t;(0,G.toMiliseconds)(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(LB.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(It.pulse,()=>this.checkExpirations()),this.events.on(LB.created,e=>{let t=LB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(LB.expired,e=>{let t=LB.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(LB.deleted,e=>{let t=LB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},zW=Object.defineProperty,BW=(e,t,n)=>t in e?zW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VW=(e,t,n)=>BW(e,typeof t==`symbol`?t:t+``,n),HW=class extends Xn{constructor(e,t,n){super(e,t,n),this.core=e,this.logger=t,this.store=n,VW(this,`name`,RB),VW(this,`abortController`),VW(this,`isDevEnv`),VW(this,`verifyUrlV3`,VB),VW(this,`storagePrefix`,fB),VW(this,`version`,2),VW(this,`publicKey`),VW(this,`fetchPromise`),VW(this,`init`,async()=>{this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,G.toMiliseconds)(this.publicKey?.expiresAt)<Date.now()&&(this.logger.debug(`verify v2 public key expired`),await this.removePublicKey()))}),VW(this,`register`,async e=>{if(!NP()||this.isDevEnv)return;let t=window.location.origin,{id:n,decryptedId:r}=e,i=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${n}&decryptedId=${r}`;try{let e=(0,Ps.getDocument)(),t=this.startAbortTimer(G.ONE_SECOND*5),r=await new Promise((r,a)=>{let o=()=>{window.removeEventListener(`message`,c),e.body.removeChild(s),a(`attestation aborted`)};this.abortController.signal.addEventListener(`abort`,o);let s=e.createElement(`iframe`);s.src=i,s.style.display=`none`,s.addEventListener(`error`,o,{signal:this.abortController.signal});let c=i=>{if(i.data&&typeof i.data==`string`)try{let a=JSON.parse(i.data);if(a.type===`verify_attestation`){if(fs(a.attestation).payload.id!==n)return;clearInterval(t),e.body.removeChild(s),this.abortController.signal.removeEventListener(`abort`,o),window.removeEventListener(`message`,c),r(a.attestation===null?``:a.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(s),window.addEventListener(`message`,c,{signal:this.abortController.signal})});return this.logger.debug(`jwt attestation`,r),r}catch(e){this.logger.warn(e)}return``}),VW(this,`resolve`,async e=>{if(this.isDevEnv)return``;let{attestationId:t,hash:n,encryptedId:r}=e;if(t===``){this.logger.debug(`resolve: attestationId is empty, skipping`);return}if(t){if(fs(t).payload.id!==r)return;let e=await this.isValidJwtAttestation(t);if(e){if(!e.isVerified){this.logger.warn(`resolve: jwt attestation: origin url not verified`);return}return e}}if(!n)return;let i=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(n,i)}),VW(this,`fetchAttestation`,async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let n=this.startAbortTimer(G.ONE_SECOND*5),r=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(n),r.status===200?await r.json():void 0}),VW(this,`getVerifyUrl`,e=>{let t=e||`https://verify.walletconnect.org`;return HB.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: https://verify.walletconnect.org`),t=`https://verify.walletconnect.org`),t}),VW(this,`fetchPublicKey`,async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(G.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),VW(this,`persistPublicKey`,async e=>{this.logger.debug(`persisting public key to local storage`,e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),VW(this,`removePublicKey`,async()=>{this.logger.debug(`removing verify v2 public key from storage`),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),VW(this,`isValidJwtAttestation`,async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}let n=await this.fetchAndPersistPublicKey();try{if(n)return this.validateAttestation(e,n)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}}),VW(this,`getPublicKey`,async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),VW(this,`fetchAndPersistPublicKey`,async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),VW(this,`validateAttestation`,(e,t)=>{let n=$R(e,t.publicKey),r={hasExpired:(0,G.toMiliseconds)(n.exp)<Date.now(),payload:n};if(r.hasExpired)throw this.logger.warn(`resolve: jwt attestation expired`),Error(`JWT attestation expired`);return{origin:r.payload.origin,isScam:r.payload.isScam,isVerified:r.payload.isVerified}}),this.logger=p(t,this.name),this.abortController=new AbortController,this.isDevEnv=sF(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//verify:public:key`}get context(){return w(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,G.toMiliseconds)(e))}},UW=Object.defineProperty,WW=(e,t,n)=>t in e?UW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GW=(e,t,n)=>WW(e,typeof t==`symbol`?t:t+``,n),KW=class extends Zn{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,GW(this,`context`,UB),GW(this,`registerDeviceToken`,async e=>{let{clientId:t,token:n,notificationType:r,enableEncrypted:i=!1}=e,a=`${WB}/${this.projectId}/clients`;await fetch(a,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({client_id:t,type:r,token:n,always_raw:i})})}),this.logger=p(t,this.context)}},qW=Object.defineProperty,JW=Object.getOwnPropertySymbols,YW=Object.prototype.hasOwnProperty,XW=Object.prototype.propertyIsEnumerable,ZW=(e,t,n)=>t in e?qW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QW=(e,t)=>{for(var n in t||={})YW.call(t,n)&&ZW(e,n,t[n]);if(JW)for(var n of JW(t))XW.call(t,n)&&ZW(e,n,t[n]);return e},$W=(e,t,n)=>ZW(e,typeof t==`symbol`?t:t+``,n),eG=class extends Qn{constructor(e,t,n=!0){super(e,t,n),this.core=e,this.logger=t,$W(this,`context`,QB),$W(this,`storagePrefix`,fB),$W(this,`storageVersion`,ZB),$W(this,`events`,new Map),$W(this,`shouldPersist`,!1),$W(this,`init`,async()=>{if(!sF())try{let e={eventId:oF(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:`INIT`,type:``,properties:{client_id:await this.core.crypto.getClientId(),user_agent:BP(this.core.relayer.protocol,this.core.relayer.version,TB)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),$W(this,`createEvent`,e=>{let{event:t=`ERROR`,type:n=``,properties:{topic:r,trace:i}}=e,a=oF(),o=this.core.projectId||``,s=QW({eventId:a,timestamp:Date.now(),props:{event:t,type:n,properties:{topic:r,trace:i}},bundleId:o,domain:this.getAppDomain()},this.setMethods(a));return this.telemetryEnabled&&(this.events.set(a,s),this.shouldPersist=!0),s}),$W(this,`getEvent`,e=>{let{eventId:t,topic:n}=e;if(t)return this.events.get(t);let r=Array.from(this.events.values()).find(e=>e.props.properties.topic===n);if(r)return QW(QW({},r),this.setMethods(r.eventId))}),$W(this,`deleteEvent`,e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),$W(this,`setEventListeners`,()=>{this.core.heartbeat.on(It.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,G.fromMiliseconds)(Date.now())-(0,G.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),$W(this,`setMethods`,e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),$W(this,`addTrace`,(e,t)=>{let n=this.events.get(e);n&&(n.props.properties.trace.push(t),this.events.set(e,n),this.shouldPersist=!0)}),$W(this,`setError`,(e,t)=>{let n=this.events.get(e);n&&(n.props.type=t,n.timestamp=Date.now(),this.events.set(e,n),this.shouldPersist=!0)}),$W(this,`persist`,async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),$W(this,`restore`,async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,QW(QW({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),$W(this,`submit`,async()=>{if(!this.telemetryEnabled||this.events.size===0)return;let e=[];for(let[t,n]of this.events)n.props.type&&e.push(n);if(e.length!==0)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),$W(this,`sendEvent`,async e=>{let t=this.getAppDomain()?``:`&sp=desktop`;return await fetch(`${$B}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${TB}${t}`,{method:`POST`,body:JSON.stringify(e)})}),$W(this,`getAppDomain`,()=>LP().url),this.logger=p(t,this.context),this.telemetryEnabled=n,n?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+`//`+this.context}},tG=Object.defineProperty,nG=Object.getOwnPropertySymbols,rG=Object.prototype.hasOwnProperty,iG=Object.prototype.propertyIsEnumerable,aG=(e,t,n)=>t in e?tG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oG=(e,t)=>{for(var n in t||={})rG.call(t,n)&&aG(e,n,t[n]);if(nG)for(var n of nG(t))iG.call(t,n)&&aG(e,n,t[n]);return e},sG=(e,t,n)=>aG(e,typeof t==`symbol`?t:t+``,n),cG=class e extends zn{constructor(e){var t;super(e),sG(this,`protocol`,`wc`),sG(this,`version`,2),sG(this,`name`,dB),sG(this,`relayUrl`),sG(this,`projectId`),sG(this,`customStoragePrefix`),sG(this,`events`,new Nt.EventEmitter),sG(this,`logger`),sG(this,`heartbeat`),sG(this,`relayer`),sG(this,`crypto`),sG(this,`storage`),sG(this,`history`),sG(this,`expirer`),sG(this,`pairing`),sG(this,`verify`),sG(this,`echoClient`),sG(this,`linkModeSupportedApps`),sG(this,`eventClient`),sG(this,`initialized`,!1),sG(this,`logChunkController`),sG(this,`on`,(e,t)=>this.events.on(e,t)),sG(this,`once`,(e,t)=>this.events.once(e,t)),sG(this,`off`,(e,t)=>this.events.off(e,t)),sG(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),sG(this,`dispatchEnvelope`,({topic:e,message:t,sessionExists:n})=>{if(!e||!t)return;let r={topic:e,message:t,publishedAt:Date.now(),transportType:EB.link_mode};this.relayer.onLinkMessageEvent(r,{sessionExists:n})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:``;let{logger:n,chunkLoggerController:r}=S({opts:v({level:typeof e?.logger==`string`&&e.logger?e.logger:pB.logger,name:dB}),maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=r,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;(e=this.logChunkController)!=null&&e.downloadLogsBlobInBrowser&&((t=this.logChunkController)==null||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=p(n,this.name),this.heartbeat=new Lt,this.crypto=new qH(this,this.logger,e?.keychain),this.history=new PW(this,this.logger),this.expirer=new RW(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Fn(oG(oG({},mB),e?.storageOptions)),this.relayer=new RU({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new AW(this,this.logger),this.verify=new HW(this,this.logger,this.storage),this.echoClient=new KW(this.projectId||``,this.logger),this.linkModeSupportedApps=[],this.eventClient=new eG(this,this.logger,e?.telemetryEnabled)}static async init(t){let n=new e(t);await n.initialize();let r=await n.crypto.getClientId();return await n.storage.setItem(OB,r),n}get context(){return w(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){return this.logChunkController?.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(`WALLETCONNECT_LINK_MODE_APPS`,this.linkModeSupportedApps))}async initialize(){this.logger.trace(`Initialized`);try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(`WALLETCONNECT_LINK_MODE_APPS`)||[],this.initialized=!0,this.logger.info(`Core Initialization Success`)}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}},lG=`client`,uG=`wc@2:${lG}:`,dG={name:lG,logger:`error`,controller:!1,relayUrl:`wss://relay.walletconnect.org`},fG=`WALLETCONNECT_DEEPLINK_CHOICE`,pG=`proposal`;G.THIRTY_DAYS;var mG=`Proposal expired`,hG=`session`,gG=G.SEVEN_DAYS,_G=`engine`,vG={wc_sessionPropose:{req:{ttl:G.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1104},res:{ttl:G.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1106},res:{ttl:G.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:G.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:G.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1112},res:{ttl:G.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1114},res:{ttl:G.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:G.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:G.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1119}}},yG={min:G.FIVE_MINUTES,max:G.SEVEN_DAYS},bG={idle:`IDLE`,active:`ACTIVE`},xG={eth_sendTransaction:{key:``},eth_sendRawTransaction:{key:``},wallet_sendCalls:{key:``},solana_signTransaction:{key:`signature`},solana_signAllTransactions:{key:`transactions`},solana_signAndSendTransaction:{key:`signature`}},SG=`request`,CG=[`wc_sessionPropose`,`wc_sessionRequest`,`wc_authRequest`,`wc_sessionAuthenticate`],wG=`auth`,TG=`authKeys`,EG=`pairingTopics`,DG=`requests`,OG=`wc@1.5:${wG}:`,kG=`${OG}:PUB_KEY`,AG=Object.defineProperty,jG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,NG=Object.getOwnPropertySymbols,PG=Object.prototype.hasOwnProperty,FG=Object.prototype.propertyIsEnumerable,IG=(e,t,n)=>t in e?AG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LG=(e,t)=>{for(var n in t||={})PG.call(t,n)&&IG(e,n,t[n]);if(NG)for(var n of NG(t))FG.call(t,n)&&IG(e,n,t[n]);return e},RG=(e,t)=>jG(e,MG(t)),$=(e,t,n)=>IG(e,typeof t==`symbol`?t:t+``,n),zG=class extends rr{constructor(e){super(e),$(this,`name`,_G),$(this,`events`,new Nt.default),$(this,`initialized`,!1),$(this,`requestQueue`,{state:bG.idle,queue:[]}),$(this,`sessionRequestQueue`,{state:bG.idle,queue:[]}),$(this,`requestQueueDelay`,G.ONE_SECOND),$(this,`expectedPairingMethodMap`,new Map),$(this,`recentlyDeletedMap`,new Map),$(this,`recentlyDeletedLimit`,200),$(this,`relayMessageCache`,[]),$(this,`pendingSessions`,new Map),$(this,`init`,async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(vG)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,G.toMiliseconds)(this.requestQueueDelay)))}),$(this,`connect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=RG(LG({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t);let{pairingTopic:n,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:a,scopedProperties:o,relays:s}=t,c=n,l,u=!1;try{if(c){let e=this.client.core.pairing.pairings.get(c);this.client.logger.warn(`connect() with existing pairing topic is deprecated and will be removed in the next major release.`),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${c}) failed`),e}if(!c||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();c=e,l=t}if(!c){let{message:e}=Z(`NO_MATCHING_KEY`,`connect() pairing topic: ${c}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),f=vG.wc_sessionPropose.req.ttl||G.FIVE_MINUTES,p=ZP(f),m=RG(LG(LG({requiredNamespaces:r,optionalNamespaces:i,relays:s??[{protocol:`irn`}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:p,pairingTopic:c},a&&{sessionProperties:a}),o&&{scopedProperties:o}),{id:y()}),h=$P(`session_connect`,m.id),{reject:g,resolve:_,done:v}=GP(f,mG),b=({id:e})=>{e===m.id&&(this.client.events.off(`proposal_expire`,b),this.pendingSessions.delete(m.id),this.events.emit(h,{error:{message:`Proposal expired`,code:0}}))};return this.client.events.on(`proposal_expire`,b),this.events.once(h,({error:e,session:t})=>{this.client.events.off(`proposal_expire`,b),e?g(e):t&&_(t)}),await this.sendRequest({topic:c,method:`wc_sessionPropose`,params:m,throwOnFailedPublish:!0,clientRpcId:m.id}),await this.setProposal(m.id,m),{uri:l,approval:v}}),$(this,`pair`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error(`pair() failed`),e}}),$(this,`approve`,async e=>{let t=this.client.core.eventClient.createEvent({properties:{topic:(e?.id)?.toString(),trace:[qB.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw t.setError(JB.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(n){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),t.setError(JB.proposal_not_found),n}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error(`approve() -> isValidApprove() failed`),t.setError(JB.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:r,namespaces:i,sessionProperties:a,scopedProperties:o,sessionConfig:s}=e,c=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:t.eventId});let{pairingTopic:l,proposer:u,requiredNamespaces:d,optionalNamespaces:f}=c,p=this.client.core.eventClient?.getEvent({topic:l});p||=this.client.core.eventClient?.createEvent({type:qB.session_approve_started,properties:{topic:l,trace:[qB.session_approve_started,qB.session_namespaces_validation_success]}});let m=await this.client.core.crypto.generateKeyPair(),h=u.publicKey,g=await this.client.core.crypto.generateSharedKey(m,h),_=LG(LG(LG({relay:{protocol:r??`irn`},namespaces:i,controller:{publicKey:m,metadata:this.client.metadata},expiry:ZP(gG)},a&&{sessionProperties:a}),o&&{scopedProperties:o}),s&&{sessionConfig:s}),v=EB.relay;p.addTrace(qB.subscribing_session_topic);try{await this.client.core.relayer.subscribe(g,{transportType:v})}catch(e){throw p.setError(JB.subscribe_session_topic_failure),e}p.addTrace(qB.subscribe_session_topic_success);let y=RG(LG({},_),{topic:g,requiredNamespaces:d,optionalNamespaces:f,pairingTopic:l,acknowledged:!1,self:_.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:m,transportType:EB.relay});await this.client.session.set(g,y),p.addTrace(qB.store_session);try{p.addTrace(qB.publishing_session_settle),await this.sendRequest({topic:g,method:`wc_sessionSettle`,params:_,throwOnFailedPublish:!0}).catch(e=>{throw p?.setError(JB.session_settle_publish_failure),e}),p.addTrace(qB.session_settle_publish_success),p.addTrace(qB.publishing_session_approve),await this.sendResult({id:n,topic:l,result:{relay:{protocol:r??`irn`},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw p?.setError(JB.session_approve_publish_failure),e}),p.addTrace(qB.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(g,vz(`USER_DISCONNECTED`)),await this.client.core.relayer.unsubscribe(g),e}return this.client.core.eventClient.deleteEvent({eventId:p.eventId}),await this.client.core.pairing.updateMetadata({topic:l,metadata:u.metadata}),await this.client.proposal.delete(n,vz(`USER_DISCONNECTED`)),await this.client.core.pairing.activate({topic:l}),await this.setExpiry(g,ZP(gG)),{topic:g,acknowledged:()=>Promise.resolve(this.client.session.get(g))}}),$(this,`reject`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error(`reject() -> isValidReject() failed`),e}let{id:t,reason:n}=e,r;try{r=this.client.proposal.get(t).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),e}r&&(await this.sendError({id:t,topic:r,error:n,rpcOpts:vG.wc_sessionPropose.reject}),await this.client.proposal.delete(t,vz(`USER_DISCONNECTED`)))}),$(this,`update`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error(`update() -> isValidUpdate() failed`),e}let{topic:t,namespaces:n}=e,{done:r,resolve:i,reject:a}=GP(),o=y(),s=V().toString(),c=this.client.session.get(t).namespaces;return this.events.once($P(`session_update`,o),({error:e})=>{e?a(e):i()}),await this.client.session.update(t,{namespaces:n}),await this.sendRequest({topic:t,method:`wc_sessionUpdate`,params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:s}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),a(e)}),{acknowledged:r}}),$(this,`extend`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error(`extend() -> isValidExtend() failed`),e}let{topic:t}=e,n=y(),{done:r,resolve:i,reject:a}=GP();return this.events.once($P(`session_extend`,n),({error:e})=>{e?a(e):i()}),await this.setExpiry(t,ZP(gG)),this.sendRequest({topic:t,method:`wc_sessionExtend`,params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(e=>{a(e)}),{acknowledged:r}}),$(this,`request`,async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error(`request() -> isValidRequest() failed`),e}let{chainId:t,request:n,topic:r,expiry:i=vG.wc_sessionRequest.req.ttl}=e,a=this.client.session.get(r);a?.transportType===EB.relay&&await this.confirmOnlineStateOrThrow();let o=y(),s=V().toString(),{done:c,resolve:l,reject:u}=GP(i,`Request expired. Please try again.`);this.events.once($P(`session_request`,o),({error:e,result:t})=>{e?u(e):l(t)});let d=`wc_sessionRequest`,f=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(f)return await this.sendRequest({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:{request:RG(LG({},n),{expiryTimestamp:ZP(i)}),chainId:t},expiry:i,throwOnFailedPublish:!0,appLink:f}).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),await c();let p={request:RG(LG({},n),{expiryTimestamp:ZP(i)}),chainId:t},m=this.shouldSetTVF(d,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(LG({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:p,expiry:i,throwOnFailedPublish:!0},m&&{tvf:this.getTVFParams(o,p)})).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),e()}),new Promise(async e=>{var t;(t=a.sessionConfig)!=null&&t.disableDeepLink||await tF({id:o,topic:r,wcDeepLink:await iF(this.client.core.storage,fG)}),e()}),c()]).then(e=>e[2])}),$(this,`respond`,async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:n}=e,{id:r}=n,i=this.client.session.get(t);i.transportType===EB.relay&&await this.confirmOnlineStateOrThrow();let a=this.getAppLinkIfEnabled(i.peer.metadata,i.transportType);E(n)?await this.sendResult({id:r,topic:t,result:n.result,throwOnFailedPublish:!0,appLink:a}):T(n)&&await this.sendError({id:r,topic:t,error:n.error,appLink:a}),this.cleanupAfterResponse(e)}),$(this,`ping`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error(`ping() -> isValidPing() failed`),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=y(),n=V().toString(),{done:r,resolve:i,reject:a}=GP();this.events.once($P(`session_ping`,e),({error:e})=>{e?a(e):i()}),await Promise.all([this.sendRequest({topic:t,method:`wc_sessionPing`,params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:n}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(`ping() on pairing topic is deprecated and will be removed in the next major release.`),await this.client.core.pairing.ping({topic:t}))}),$(this,`emit`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:n,chainId:r}=e,i=V().toString(),a=y();await this.sendRequest({topic:t,method:`wc_sessionEvent`,params:{event:n,chainId:r},throwOnFailedPublish:!0,relayRpcId:i,clientRpcId:a})}),$(this,`disconnect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:`wc_sessionDelete`,params:vz(`USER_DISCONNECTED`),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=Z(`MISMATCHED_TOPIC`,`Session or pairing topic not found: ${t}`);throw Error(e)}}),$(this,`find`,e=>(this.isInitialized(),this.client.session.getAll().filter(t=>wz(t,e)))),$(this,`getPendingSessionRequests`,()=>this.client.pendingRequest.getAll()),$(this,`authenticate`,async(e,t)=>{this.isInitialized(),this.isValidAuthenticate(e);let n=t&&this.client.core.linkModeSupportedApps.includes(t)&&this.client.metadata.redirect?.linkMode,r=n?EB.link_mode:EB.relay;r===EB.relay&&await this.confirmOnlineStateOrThrow();let{chains:i,statement:a=``,uri:o,domain:s,nonce:c,type:l,exp:u,nbf:d,methods:f=[],expiry:p}=e,m=[...e.resources||[]],{topic:h,uri:g}=await this.client.core.pairing.create({methods:[`wc_sessionAuthenticate`],transportType:r});this.client.logger.info({message:`Generated new pairing`,pairing:{topic:h,uri:g}});let _=await this.client.core.crypto.generateKeyPair(),v=IR(_);if(await Promise.all([this.client.auth.authKeys.set(kG,{responseTopic:v,publicKey:_}),this.client.auth.pairingTopics.set(v,{topic:v,pairingTopic:h})]),await this.client.core.relayer.subscribe(v,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${h}`),f.length>0){let{namespace:e}=EP(i[0]),t=jI(e,`request`,f);RI(m)&&(t=NI(t,m.pop())),m.push(t)}let b=p&&p>vG.wc_sessionAuthenticate.req.ttl?p:vG.wc_sessionAuthenticate.req.ttl,x={authPayload:{type:l??`caip122`,chains:i,statement:a,aud:o,domain:s,version:`1`,nonce:c,iat:new Date().toISOString(),exp:u,nbf:d,resources:m},requester:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:ZP(b)},S={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:i,methods:[...new Set([`personal_sign`,...f])],events:[`chainChanged`,`accountsChanged`]}},relays:[{protocol:`irn`}],pairingTopic:h,proposer:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:ZP(vG.wc_sessionPropose.req.ttl),id:y()},{done:C,resolve:w,reject:T}=GP(b,`Request expired`),E=y(),D=$P(`session_connect`,S.id),O=$P(`session_request`,E),k=async({error:e,session:t})=>{this.events.off(O,A),e?T(e):t&&w({session:t})},A=async e=>{var n,i,a;if(await this.deletePendingAuthRequest(E,{message:`fulfilled`,code:0}),e.error){let t=vz(`WC_METHOD_UNSUPPORTED`,`wc_sessionAuthenticate`);return e.error.code===t.code?void 0:(this.events.off(D,k),T(e.error.message))}await this.deleteProposal(S.id),this.events.off(D,k);let{cacaos:o,responder:s}=e.result,c=[],l=[];for(let e of o){await SI({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,`Signature verification failed`),T(vz(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`)));let{p:t}=e,n=RI(t.resources),r=[bI(t.iss)],i=xI(t.iss);if(n){let e=II(n),t=LI(n);c.push(...e),r.push(...t)}for(let e of r)l.push(`${e}:${i}`)}let u=await this.client.core.crypto.generateSharedKey(_,s.publicKey),d;c.length>0&&(d={topic:u,acknowledged:!0,self:{publicKey:_,metadata:this.client.metadata},peer:s,controller:s.publicKey,expiry:ZP(gG),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:h,namespaces:hz([...new Set(c)],[...new Set(l)]),transportType:r},await this.client.core.relayer.subscribe(u,{transportType:r}),await this.client.session.set(u,d),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:s.metadata}),d=this.client.session.get(u)),(n=this.client.metadata.redirect)!=null&&n.linkMode&&(i=s.metadata.redirect)!=null&&i.linkMode&&(a=s.metadata.redirect)!=null&&a.universal&&t&&(this.client.core.addLinkModeSupportedApp(s.metadata.redirect.universal),this.client.session.update(u,{transportType:EB.link_mode})),w({auths:o,session:d})};this.events.once(D,k),this.events.once(O,A);let j;try{if(n){let e=te(`wc_sessionAuthenticate`,x,E);this.client.core.history.set(h,e),j=sz(t,h,await this.client.core.crypto.encode(``,e,{type:2,encoding:DR}))}else await Promise.all([this.sendRequest({topic:h,method:`wc_sessionAuthenticate`,params:x,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:E}),this.sendRequest({topic:h,method:`wc_sessionPropose`,params:S,expiry:vG.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:S.id})])}catch(e){throw this.events.off(D,k),this.events.off(O,A),e}return await this.setProposal(S.id,S),await this.setAuthRequest(E,{request:RG(LG({},x),{verifyContext:{}}),pairingTopic:h,transportType:r}),{uri:j??g,response:C}}),$(this,`approveSessionAuthenticate`,async e=>{let{id:t,auths:n}=e,r=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[YB.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(XB.no_internet_connection),e}let i=this.getPendingAuthRequest(t);if(!i)throw r.setError(XB.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${t}`);let a=i.transportType||EB.relay;a===EB.relay&&await this.confirmOnlineStateOrThrow();let o=i.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),c=IR(o),l={type:1,receiverPublicKey:o,senderPublicKey:s},u=[],d=[];for(let e of n){if(!await SI({cacao:e,projectId:this.client.core.projectId})){r.setError(XB.invalid_cacao);let e=vz(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`);throw await this.sendError({id:t,topic:c,error:e,encodeOpts:l}),Error(e.message)}r.addTrace(YB.cacaos_verified);let{p:n}=e,i=RI(n.resources),a=[bI(n.iss)],o=xI(n.iss);if(i){let e=II(i),t=LI(i);u.push(...e),a.push(...t)}for(let e of a)d.push(`${e}:${o}`)}let f=await this.client.core.crypto.generateSharedKey(s,o);r.addTrace(YB.create_authenticated_session_topic);let p;if(u?.length>0){p={topic:f,acknowledged:!0,self:{publicKey:s,metadata:this.client.metadata},peer:{publicKey:o,metadata:i.requester.metadata},controller:o,expiry:ZP(gG),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:i.pairingTopic,namespaces:hz([...new Set(u)],[...new Set(d)]),transportType:a},r.addTrace(YB.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:a})}catch(e){throw r.setError(XB.subscribe_authenticated_session_topic_failure),e}r.addTrace(YB.subscribe_authenticated_session_topic_success),await this.client.session.set(f,p),r.addTrace(YB.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:i.pairingTopic,metadata:i.requester.metadata})}r.addTrace(YB.publishing_authenticated_session_approve);try{await this.sendResult({topic:c,id:t,result:{cacaos:n,responder:{publicKey:s,metadata:this.client.metadata}},encodeOpts:l,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(i.requester.metadata,a)})}catch(e){throw r.setError(XB.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(t,{message:`fulfilled`,code:0}),await this.client.core.pairing.activate({topic:i.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:p}}),$(this,`rejectSessionAuthenticate`,async e=>{this.isInitialized();let{id:t,reason:n}=e,r=this.getPendingAuthRequest(t);if(!r)throw Error(`Could not find pending auth request with id ${t}`);r.transportType===EB.relay&&await this.confirmOnlineStateOrThrow();let i=r.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),o=IR(i),s={type:1,receiverPublicKey:i,senderPublicKey:a};await this.sendError({id:t,topic:o,error:n,encodeOpts:s,rpcOpts:vG.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(r.requester.metadata,r.transportType)}),await this.client.auth.requests.delete(t,{message:`rejected`,code:0}),await this.client.proposal.delete(t,vz(`USER_DISCONNECTED`))}),$(this,`formatAuthMessage`,e=>{this.isInitialized();let{request:t,iss:n}=e;return CI(t,n)}),$(this,`processRelayMessageCache`,()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),$(this,`cleanupDuplicatePairings`,async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(n=>n.peerMetadata?.url&&n.peerMetadata?.url===e.peer.metadata.url&&n.topic&&n.topic!==t.topic);if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info(`Duplicate pairings clean up finished`)}catch(e){this.client.logger.error(e)}}),$(this,`deleteSession`,async e=>{let{topic:t,expirerHasDeleted:n=!1,emitEvent:r=!0,id:i=0}=e,{self:a}=this.client.session.get(t);await this.client.core.relayer.unsubscribe(t),await this.client.session.delete(t,vz(`USER_DISCONNECTED`)),this.addToRecentlyDeleted(t,`session`),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(t)&&await this.client.core.crypto.deleteSymKey(t),n||this.client.core.expirer.del(t),this.client.core.storage.removeItem(fG).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===t&&this.deletePendingSessionRequest(e.id,vz(`USER_DISCONNECTED`))}),t===this.sessionRequestQueue.queue[0]?.topic&&(this.sessionRequestQueue.state=bG.idle),r&&this.client.events.emit(`session_delete`,{id:i,topic:t})}),$(this,`deleteProposal`,async(e,t)=>{if(t)try{let t=this.client.proposal.get(e);this.client.core.eventClient.getEvent({topic:t.pairingTopic})?.setError(JB.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,vz(`USER_DISCONNECTED`)),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`proposal`)}),$(this,`deletePendingSessionRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`request`),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),n&&(this.sessionRequestQueue.state=bG.idle,this.client.events.emit(`session_request_expire`,{id:e}))}),$(this,`deletePendingAuthRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)])}),$(this,`setExpiry`,async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),$(this,`setProposal`,async(e,t)=>{this.client.core.expirer.set(e,ZP(vG.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),$(this,`setAuthRequest`,async(e,t)=>{let{request:n,pairingTopic:r,transportType:i=EB.relay}=t;this.client.core.expirer.set(e,n.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:e,pairingTopic:r,verifyContext:n.verifyContext,transportType:i})}),$(this,`setPendingSessionRequest`,async e=>{let{id:t,topic:n,params:r,verifyContext:i}=e,a=r.request.expiryTimestamp||ZP(vG.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,a),await this.client.pendingRequest.set(t,{id:t,topic:n,params:r,verifyContext:i})}),$(this,`sendRequest`,async e=>{let{topic:t,method:n,params:r,expiry:i,relayRpcId:a,clientRpcId:o,throwOnFailedPublish:s,appLink:c,tvf:l}=e,u=te(n,r,o),d,f=!!c;try{let e=f?DR:ER;d=await this.client.core.crypto.encode(t,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),e}let p;if(CG.includes(n)){let e=LR(JSON.stringify(u)),t=LR(d);p=await this.client.core.verify.register({id:t,decryptedId:e})}let m=vG[n].req;if(m.attestation=p,i&&(m.ttl=i),a&&(m.id=a),this.client.core.history.set(t,u),f){let e=sz(c,t,d);await global.Linking.openURL(e,this.client.name)}else{let e=vG[n].req;i&&(e.ttl=i),a&&(e.id=a),e.tvf=RG(LG({},l),{correlationId:u.id}),s?(e.internal=RG(LG({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,e)):this.client.core.relayer.publish(t,d,e).catch(e=>this.client.logger.error(e))}return u.id}),$(this,`sendResult`,async e=>{let{id:t,topic:n,result:r,throwOnFailedPublish:i,encodeOpts:a,appLink:o}=e,s=c(t,r),l,u=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=u?DR:ER;l=await this.client.core.crypto.encode(n,s,RG(LG({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),e}let d,f;try{d=await this.client.core.history.get(n,t);let e=d.request;try{this.shouldSetTVF(e.method,e.params)&&(f=this.getTVFParams(t,e.params,r))}catch(e){this.client.logger.warn(`sendResult() -> getTVFParams() failed`,e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${t}) failed`),e}if(u){let e=sz(o,n,l);await global.Linking.openURL(e,this.client.name)}else{let e=vG[d.request.method].res;e.tvf=RG(LG({},f),{correlationId:t}),i?(e.internal=RG(LG({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,l,e)):this.client.core.relayer.publish(n,l,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(s)}),$(this,`sendError`,async e=>{let{id:t,topic:n,error:r,encodeOpts:i,rpcOpts:a,appLink:o}=e,s=x(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?DR:ER;c=await this.client.core.crypto.encode(n,s,RG(LG({},i||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}let u;try{u=await this.client.core.history.get(n,t)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${t}) failed`),e}if(l){let e=sz(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=u.request.method,t=a||vG[e].res;this.client.core.relayer.publish(n,c,t)}await this.client.core.history.resolve(s)}),$(this,`cleanup`,async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let n=!1;QP(t.expiry)&&(n=!0),this.client.core.crypto.keychain.has(t.topic)||(n=!0),n&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{QP(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),$(this,`onProviderMessageEvent`,async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),$(this,`onRelayEventRequest`,async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),$(this,`processRequestsQueue`,async()=>{if(this.requestQueue.state===bG.active){this.client.logger.info(`Request queue already active, skipping...`);return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=bG.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=bG.idle}),$(this,`processRequest`,async e=>{let{topic:t,payload:n,attestation:r,transportType:i,encryptedId:a}=e,o=n.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case`wc_sessionPropose`:return await this.onSessionProposeRequest({topic:t,payload:n,attestation:r,encryptedId:a});case`wc_sessionSettle`:return await this.onSessionSettleRequest(t,n);case`wc_sessionUpdate`:return await this.onSessionUpdateRequest(t,n);case`wc_sessionExtend`:return await this.onSessionExtendRequest(t,n);case`wc_sessionPing`:return await this.onSessionPingRequest(t,n);case`wc_sessionDelete`:return await this.onSessionDeleteRequest(t,n);case`wc_sessionRequest`:return await this.onSessionRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});case`wc_sessionEvent`:return await this.onSessionEventRequest(t,n);case`wc_sessionAuthenticate`:return await this.onSessionAuthenticateRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),$(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n,transportType:r}=e,i=(await this.client.core.history.get(t,n.id)).request.method;switch(i){case`wc_sessionPropose`:return this.onSessionProposeResponse(t,n,r);case`wc_sessionSettle`:return this.onSessionSettleResponse(t,n);case`wc_sessionUpdate`:return this.onSessionUpdateResponse(t,n);case`wc_sessionExtend`:return this.onSessionExtendResponse(t,n);case`wc_sessionPing`:return this.onSessionPingResponse(t,n);case`wc_sessionRequest`:return this.onSessionRequestResponse(t,n);case`wc_sessionAuthenticate`:return this.onSessionAuthenticateResponse(t,n);default:return this.client.logger.info(`Unsupported response method ${i}`)}}),$(this,`onRelayEventUnknownPayload`,e=>{let{topic:t}=e,{message:n}=Z(`MISSING_OR_INVALID`,`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(n)}),$(this,`shouldIgnorePairingRequest`,e=>{let{topic:t,requestMethod:n}=e,r=this.expectedPairingMethodMap.get(t);return!r||r.includes(n)?!1:!!(r.includes(`wc_sessionAuthenticate`)&&this.client.events.listenerCount(`session_authenticate`)>0)}),$(this,`onSessionProposeRequest`,async e=>{let{topic:t,payload:n,attestation:r,encryptedId:i}=e,{params:a,id:o}=n;try{let e=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(`session_proposal`)===0&&(console.warn(`No listener for session_proposal event`),e?.setError(KB.proposal_listener_not_found)),this.isValidConnect(LG({},n.params));let s=LG({id:o,pairingTopic:t,expiryTimestamp:a.expiryTimestamp||ZP(vG.wc_sessionPropose.req.ttl)},a);await this.setProposal(o,s);let c=await this.getVerifyContext({attestationId:r,hash:LR(JSON.stringify(n)),encryptedId:i,metadata:s.proposer.metadata});e?.addTrace(GB.emit_session_proposal),this.client.events.emit(`session_proposal`,{id:o,params:s,verifyContext:c})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:vG.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),$(this,`onSessionProposeResponse`,async(e,t,n)=>{let{id:r}=t;if(E(t)){let{result:i}=t;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,result:i});let a=this.client.proposal.get(r);this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,proposal:a});let o=a.proposer.publicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,selfPublicKey:o});let s=i.responderPublicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,peerPublicKey:s});let c=await this.client.core.crypto.generateSharedKey(o,s);this.pendingSessions.set(r,{sessionTopic:c,pairingTopic:e,proposalId:r,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:n});this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if(T(t)){await this.client.proposal.delete(r,vz(`USER_DISCONNECTED`));let e=$P(`session_connect`,r);if(this.events.listenerCount(e)===0)throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),$(this,`onSessionSettleRequest`,async(e,t)=>{let{id:n,params:r}=t;try{this.isValidSessionSettleRequest(r);let{relay:n,controller:i,expiry:a,namespaces:o,sessionProperties:s,scopedProperties:c,sessionConfig:l}=t.params,u=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!u)return this.client.logger.error(`Pending session not found for topic ${e}`);let d=this.client.proposal.get(u.proposalId),f=RG(LG(LG(LG({topic:e,relay:n,expiry:a,namespaces:o,acknowledged:!0,pairingTopic:u.pairingTopic,requiredNamespaces:d.requiredNamespaces,optionalNamespaces:d.optionalNamespaces,controller:i.publicKey,self:{publicKey:u.publicKey,metadata:this.client.metadata},peer:{publicKey:i.publicKey,metadata:i.metadata}},s&&{sessionProperties:s}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:EB.relay});await this.client.session.set(f.topic,f),await this.setExpiry(f.topic,f.expiry),await this.client.core.pairing.updateMetadata({topic:u.pairingTopic,metadata:f.peer.metadata}),this.client.events.emit(`session_connect`,{session:f}),this.events.emit($P(`session_connect`,u.proposalId),{session:f}),this.pendingSessions.delete(u.proposalId),this.deleteProposal(u.proposalId,!1),this.cleanupDuplicatePairings(f),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionSettleResponse`,async(e,t)=>{let{id:n}=t;E(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit($P(`session_approve`,n),{})):T(t)&&(await this.client.session.delete(e,vz(`USER_DISCONNECTED`)),this.events.emit($P(`session_approve`,n),{error:t.error}))}),$(this,`onSessionUpdateRequest`,async(e,t)=>{let{params:n,id:r}=t;try{let t=`${e}_session_update`,i=uB.get(t);if(i&&this.isRequestOutOfSync(i,r)){this.client.logger.warn(`Discarding out of sync request - ${r}`),this.sendError({id:r,topic:e,error:vz(`INVALID_UPDATE_REQUEST`)});return}this.isValidUpdate(LG({topic:e},n));try{uB.set(t,r),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw uB.delete(t),e}this.client.events.emit(`session_update`,{id:r,topic:e,params:n})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`isRequestOutOfSync`,(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),$(this,`onSessionUpdateResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_update`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);E(t)?this.events.emit($P(`session_update`,n),{}):T(t)&&this.events.emit($P(`session_update`,n),{error:t.error})}),$(this,`onSessionExtendRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,ZP(gG)),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_extend`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionExtendResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_extend`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);E(t)?this.events.emit($P(`session_extend`,n),{}):T(t)&&this.events.emit($P(`session_extend`,n),{error:t.error})}),$(this,`onSessionPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_ping`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionPingResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_ping`,n);setTimeout(()=>{if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners 2176`);E(t)?this.events.emit($P(`session_ping`,n),{}):T(t)&&this.events.emit($P(`session_ping`,n),{error:t.error})},500)}),$(this,`onSessionDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(CB.publish,async()=>{t(await this.deleteSession({topic:e,id:n}))})}),this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:vz(`USER_DISCONNECTED`)})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),$(this,`onSessionRequest`,async e=>{var t,n;let{topic:r,payload:i,attestation:a,encryptedId:o,transportType:s}=e,{id:c,params:l}=i;try{await this.isValidRequest(LG({topic:r},l));let e=this.client.session.get(r),i={id:c,topic:r,params:l,verifyContext:await this.getVerifyContext({attestationId:a,hash:LR(JSON.stringify(te(`wc_sessionRequest`,l,c))),encryptedId:o,metadata:e.peer.metadata,transportType:s})};await this.setPendingSessionRequest(i),s===EB.link_mode&&(t=e.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.peer.metadata.redirect?.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(i):(this.addSessionRequestToSessionRequestQueue(i),this.processSessionRequestQueue())}catch(e){await this.sendError({id:c,topic:r,error:e}),this.client.logger.error(e)}}),$(this,`onSessionRequestResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);E(t)?this.events.emit($P(`session_request`,n),{result:t.result}):T(t)&&this.events.emit($P(`session_request`,n),{error:t.error})}),$(this,`onSessionEventRequest`,async(e,t)=>{let{id:n,params:r}=t;try{let t=`${e}_session_event_${r.event.name}`,i=uB.get(t);if(i&&this.isRequestOutOfSync(i,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(LG({topic:e},r)),this.client.events.emit(`session_event`,{id:n,topic:e,params:r}),uB.set(t,n)}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionAuthenticateResponse`,(e,t)=>{let{id:n}=t;this.client.logger.trace({type:`method`,method:`onSessionAuthenticateResponse`,topic:e,payload:t}),E(t)?this.events.emit($P(`session_request`,n),{result:t.result}):T(t)&&this.events.emit($P(`session_request`,n),{error:t.error})}),$(this,`onSessionAuthenticateRequest`,async e=>{var t;let{topic:n,payload:r,attestation:i,encryptedId:a,transportType:o}=e;try{let{requester:e,authPayload:s,expiryTimestamp:c}=r.params,l=await this.getVerifyContext({attestationId:i,hash:LR(JSON.stringify(r)),encryptedId:a,metadata:e.metadata,transportType:o}),u={requester:e,pairingTopic:n,id:r.id,authPayload:s,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(r.id,{request:u,pairingTopic:n,transportType:o}),o===EB.link_mode&&(t=e.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit(`session_authenticate`,{topic:n,params:r.params,id:r.id,verifyContext:l})}catch(e){this.client.logger.error(e);let t=r.params.requester.publicKey,i=await this.client.core.crypto.generateKeyPair(),a=this.getAppLinkIfEnabled(r.params.requester.metadata,o),s={type:1,receiverPublicKey:t,senderPublicKey:i};await this.sendError({id:r.id,topic:n,error:e,encodeOpts:s,rpcOpts:vG.wc_sessionAuthenticate.autoReject,appLink:a})}}),$(this,`addSessionRequestToSessionRequestQueue`,e=>{this.sessionRequestQueue.queue.push(e)}),$(this,`cleanupAfterResponse`,e=>{this.deletePendingSessionRequest(e.response.id,{message:`fulfilled`,code:0}),setTimeout(()=>{this.sessionRequestQueue.state=bG.idle,this.processSessionRequestQueue()},(0,G.toMiliseconds)(this.requestQueueDelay))}),$(this,`cleanupPendingSentRequestsForTopic`,({topic:e,error:t})=>{let n=this.client.core.history.pending;n.length>0&&n.filter(t=>t.topic===e&&t.request.method===`wc_sessionRequest`).forEach(e=>{let n=e.request.id,r=$P(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);this.events.emit($P(`session_request`,e.request.id),{error:t})})}),$(this,`processSessionRequestQueue`,()=>{if(this.sessionRequestQueue.state===bG.active){this.client.logger.info(`session request queue is already active.`);return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(`session request queue is empty.`);return}try{this.sessionRequestQueue.state=bG.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),$(this,`emitSessionRequest`,e=>{this.client.events.emit(`session_request`,e)}),$(this,`onPairingCreated`,e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:te(`wc_sessionPropose`,RG(LG({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),$(this,`isValidConnect`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:n,optionalNamespaces:r,sessionProperties:i,scopedProperties:a,relays:o}=e;if(xz(t)||await this.isValidPairingTopic(t),!Vz(o,!0)){let{message:e}=Z(`MISSING_OR_INVALID`,`connect() relays: ${o}`);throw Error(e)}if(!xz(n)&&bz(n)!==0&&this.validateNamespaces(n,`requiredNamespaces`),!xz(r)&&bz(r)!==0&&this.validateNamespaces(r,`optionalNamespaces`),xz(i)||this.validateSessionProps(i,`sessionProperties`),!xz(a)){this.validateSessionProps(a,`scopedProperties`);let e=Object.keys(n||{}).concat(Object.keys(r||{}));if(!Object.keys(a).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),$(this,`validateNamespaces`,(e,t)=>{let n=Rz(e,`connect()`,t);if(n)throw Error(n.message)}),$(this,`isValidApprove`,async e=>{if(!Uz(e))throw Error(Z(`MISSING_OR_INVALID`,`approve() params: ${e}`).message);let{id:t,namespaces:n,relayProtocol:r,sessionProperties:i,scopedProperties:a}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),s=zz(n,`approve()`);if(s)throw Error(s.message);let c=Zz(o.requiredNamespaces,n,`approve()`);if(c)throw Error(c.message);if(!Sz(r,!0)){let{message:e}=Z(`MISSING_OR_INVALID`,`approve() relayProtocol: ${r}`);throw Error(e)}if(xz(i)||this.validateSessionProps(i,`sessionProperties`),!xz(a)){this.validateSessionProps(a,`scopedProperties`);let e=new Set(Object.keys(n));if(!Object.keys(a).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(e).join(`, `)}`)}}),$(this,`isValidReject`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`reject() params: ${e}`);throw Error(t)}let{id:t,reason:n}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Wz(n)){let{message:e}=Z(`MISSING_OR_INVALID`,`reject() reason: ${JSON.stringify(n)}`);throw Error(e)}}),$(this,`isValidSessionSettleRequest`,e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:n,namespaces:r,expiry:i}=e;if(!Bz(t)){let{message:e}=Z(`MISSING_OR_INVALID`,`onSessionSettleRequest() relay protocol should be a string`);throw Error(e)}let a=Az(n,`onSessionSettleRequest()`);if(a)throw Error(a.message);let o=zz(r,`onSessionSettleRequest()`);if(o)throw Error(o.message);if(QP(i)){let{message:e}=Z(`EXPIRED`,`onSessionSettleRequest()`);throw Error(e)}}),$(this,`isValidUpdate`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:n}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let r=this.client.session.get(t),i=zz(n,`update()`);if(i)throw Error(i.message);let a=Zz(r.requiredNamespaces,n,`update()`);if(a)throw Error(a.message)}),$(this,`isValidExtend`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),$(this,`isValidRequest`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`request() params: ${e}`);throw Error(t)}let{topic:t,request:n,chainId:r,expiry:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:a}=this.client.session.get(t);if(!Jz(a,r)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() chainId: ${r}`);throw Error(e)}if(!Gz(n)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() ${JSON.stringify(n)}`);throw Error(e)}if(!Yz(a,r,n.method)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() method: ${n.method}`);throw Error(e)}if(i&&!tB(i,yG)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() expiry: ${i}. Expiry must be a number (in seconds) between ${yG.min} and ${yG.max}`);throw Error(e)}}),$(this,`isValidRespond`,async e=>{var t;if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`respond() params: ${e}`);throw Error(t)}let{topic:n,response:r}=e;try{await this.isValidSessionTopic(n)}catch(n){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),n}if(!Kz(r)){let{message:e}=Z(`MISSING_OR_INVALID`,`respond() response: ${JSON.stringify(r)}`);throw Error(e)}}),$(this,`isValidPing`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),$(this,`isValidEmit`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`emit() params: ${e}`);throw Error(t)}let{topic:t,event:n,chainId:r}=e;await this.isValidSessionTopic(t);let{namespaces:i}=this.client.session.get(t);if(!Jz(i,r)){let{message:e}=Z(`MISSING_OR_INVALID`,`emit() chainId: ${r}`);throw Error(e)}if(!qz(n)){let{message:e}=Z(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}if(!Xz(i,r,n.name)){let{message:e}=Z(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}}),$(this,`isValidDisconnect`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),$(this,`isValidAuthenticate`,e=>{let{chains:t,uri:n,domain:r,nonce:i}=e;if(!Array.isArray(t)||t.length===0)throw Error(`chains is required and must be a non-empty array`);if(!Sz(n,!1))throw Error(`uri is required parameter`);if(!Sz(r,!1))throw Error(`domain is required parameter`);if(!Sz(i,!1))throw Error(`nonce is required parameter`);if([...new Set(t.map(e=>EP(e).namespace))].length>1)throw Error(`Multi-namespace requests are not supported. Please request single namespace only.`);let{namespace:a}=EP(t[0]);if(a!==`eip155`)throw Error(`Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.`)}),$(this,`getVerifyContext`,async e=>{let{attestationId:t,hash:n,encryptedId:r,metadata:i,transportType:a}=e,o={verified:{verifyUrl:i.verifyUrl||`https://verify.walletconnect.org`,validation:`UNKNOWN`,origin:i.url||``}};try{if(a===EB.link_mode){let e=this.getAppLinkIfEnabled(i,a);return o.verified.validation=e&&new URL(e).origin===new URL(i.url).origin?`VALID`:`INVALID`,o}let e=await this.client.core.verify.resolve({attestationId:t,hash:n,encryptedId:r,verifyUrl:i.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(i.url).origin?`VALID`:`INVALID`)}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),$(this,`validateSessionProps`,(e,t)=>{Object.values(e).forEach((n,r)=>{if(n==null){let{message:i}=Z(`MISSING_OR_INVALID`,`${t} must contain an existing value for each key. Received: ${n} for key ${Object.keys(e)[r]}`);throw Error(i)}})}),$(this,`getPendingAuthRequest`,e=>{let t=this.client.auth.requests.get(e);return typeof t==`object`?t:void 0}),$(this,`addToRecentlyDeleted`,(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let n of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(n)}}}),$(this,`checkRecentlyDeleted`,e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:n}=Z(`MISSING_OR_INVALID`,`Record was recently deleted - ${t}: ${e}`);throw Error(n)}}),$(this,`isLinkModeEnabled`,(e,t)=>!e||t!==EB.link_mode?!1:this.client.metadata?.redirect?.linkMode===!0&&this.client.metadata?.redirect?.universal!==void 0&&this.client.metadata?.redirect?.universal!==``&&e?.redirect?.universal!==void 0&&e?.redirect?.universal!==``&&e?.redirect?.linkMode===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<`u`),$(this,`getAppLinkIfEnabled`,(e,t)=>this.isLinkModeEnabled(e,t)?e?.redirect?.universal:void 0),$(this,`handleLinkModeMessage`,({url:e})=>{if(!e||!e.includes(`wc_ev`)||!e.includes(`topic`))return;let t=aF(e,`topic`)||``,n=decodeURIComponent(aF(e,`wc_ev`)||``),r=this.client.session.keys.includes(t);r&&this.client.session.update(t,{transportType:EB.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:n,sessionExists:r})}),$(this,`registerLinkModeListeners`,async()=>{var e;if(sF()||AP()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){let e=global==null?void 0:global.Linking;if(typeof e<`u`){e.addEventListener(`url`,this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),$(this,`shouldSetTVF`,(e,t)=>{if(!t||e!==`wc_sessionRequest`)return!1;let{request:n}=t;return Object.keys(xG).includes(n.method)}),$(this,`getTVFParams`,(e,t,n)=>{try{let r=t.request.method,i=this.extractTxHashesFromResult(r,n);return RG(LG({correlationId:e,rpcMethods:[r],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[t.request.params?.[0]?.to]}),{txHashes:i})}catch(e){this.client.logger.warn(`Error getting TVF params`,e)}return{}}),$(this,`isValidContractData`,e=>{if(!e)return!1;try{let t=e?.data||e?.[0]?.data;if(!t.startsWith(`0x`))return!1;let n=t.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2==0:!1}catch{}return!1}),$(this,`extractTxHashesFromResult`,(e,t)=>{try{let n=xG[e];if(typeof t==`string`)return[t];let r=t[n.key];if(yz(r))return e===`solana_signAllTransactions`?r.map(e=>sI(e)):r;if(typeof r==`string`)return[r]}catch(e){this.client.logger.warn(`Error extracting tx hashes from result`,e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,n]of Object.entries(t))for(let t of n)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn(`processPendingMessageEvents failed`,e)}}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(CB.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:n,attestation:r,transportType:i}=e,{publicKey:a}=this.client.auth.authKeys.keys.includes(kG)?this.client.auth.authKeys.get(kG):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,n,{receiverPublicKey:a,encoding:i===EB.link_mode?DR:ER});u(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:r,transportType:i,encryptedId:LR(n)})):le(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:i}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:i}),await this.client.core.relayer.messages.ack(t,n)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(LB.expired,async e=>{let{topic:t,id:n}=XP(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Z(`EXPIRED`),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,Z(`EXPIRED`),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit(`session_expire`,{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit(`proposal_expire`,{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(NB.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(NB.delete,e=>{this.addToRecentlyDeleted(e.topic,`pairing`)})}isValidPairingTopic(e){if(!Sz(e,!1)){let{message:t}=Z(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(QP(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=Z(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!Sz(e,!1)){let{message:t}=Z(`MISSING_OR_INVALID`,`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`session topic doesn't exist: ${e}`);throw Error(t)}if(QP(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=Z(`EXPIRED`,`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(Sz(e,!1)){let{message:t}=Z(`NO_MATCHING_KEY`,`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=Z(`MISSING_OR_INVALID`,`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if(!Hz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`proposal id doesn't exist: ${e}`);throw Error(t)}if(QP(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=Z(`EXPIRED`,`proposal id: ${e}`);throw Error(t)}}},BG=class extends DW{constructor(e,t){super(e,t,pG,uG),this.core=e,this.logger=t}},VG=class extends DW{constructor(e,t){super(e,t,hG,uG),this.core=e,this.logger=t}},HG=class extends DW{constructor(e,t){super(e,t,SG,uG,e=>e.id),this.core=e,this.logger=t}},UG=class extends DW{constructor(e,t){super(e,t,TG,OG,()=>kG),this.core=e,this.logger=t}},WG=class extends DW{constructor(e,t){super(e,t,EG,OG),this.core=e,this.logger=t}},GG=class extends DW{constructor(e,t){super(e,t,DG,OG,e=>e.id),this.core=e,this.logger=t}},KG=Object.defineProperty,qG=(e,t,n)=>t in e?KG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JG=(e,t,n)=>qG(e,typeof t==`symbol`?t:t+``,n),YG=class{constructor(e,t){this.core=e,this.logger=t,JG(this,`authKeys`),JG(this,`pairingTopics`),JG(this,`requests`),this.authKeys=new UG(this.core,this.logger),this.pairingTopics=new WG(this.core,this.logger),this.requests=new GG(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}},XG=Object.defineProperty,ZG=(e,t,n)=>t in e?XG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QG=(e,t,n)=>ZG(e,typeof t==`symbol`?t:t+``,n),$G=class e extends nr{constructor(e){super(e),QG(this,`protocol`,`wc`),QG(this,`version`,2),QG(this,`name`,dG.name),QG(this,`metadata`),QG(this,`core`),QG(this,`logger`),QG(this,`events`,new Nt.EventEmitter),QG(this,`engine`),QG(this,`session`),QG(this,`proposal`),QG(this,`pendingRequest`),QG(this,`auth`),QG(this,`signConfig`),QG(this,`on`,(e,t)=>this.events.on(e,t)),QG(this,`once`,(e,t)=>this.events.once(e,t)),QG(this,`off`,(e,t)=>this.events.off(e,t)),QG(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),QG(this,`removeAllListeners`,e=>this.events.removeAllListeners(e)),QG(this,`connect`,async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`pair`,async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`approve`,async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`reject`,async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`update`,async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`extend`,async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`request`,async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`respond`,async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`ping`,async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`emit`,async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`disconnect`,async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`find`,e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`getPendingSessionRequests`,()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),QG(this,`authenticate`,async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`formatAuthMessage`,e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`approveSessionAuthenticate`,async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`rejectSessionAuthenticate`,async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||dG.name,this.metadata=e?.metadata||LP(),this.signConfig=e?.signConfig;let t=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,h.default)(v({level:e?.logger||dG.logger}));this.core=e?.core||new cG(e),this.logger=p(t,this.name),this.session=new VG(this.core,this.logger),this.proposal=new BG(this.core,this.logger),this.pendingRequest=new HG(this.core,this.logger),this.engine=new zG(this),this.auth=new YG(this.core,this.logger)}static async init(t){let n=new e(t);return await n.initialize(),n}get context(){return w(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(`Initialized`);try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(`SignClient Initialization Success`),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,G.toMiliseconds)(G.ONE_SECOND))}catch(e){throw this.logger.info(`SignClient Initialization Failure`),this.logger.error(e.message),e}}},eK=`error`,tK=`wss://relay.walletconnect.org`,nK=`wc@2:universal_provider:`,rK=`https://rpc.walletconnect.org/v1/`,iK=`generic`,aK=`${rK}bundler`,oK={DEFAULT_CHAIN_CHANGED:`default_chain_changed`};function sK(){}function cK(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function lK(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uK(e){if(cK(e))return e;if(Array.isArray(e)||lK(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),n=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new n(e);if(e instanceof RegExp){let t=new n(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new n(e.buffer.slice(0));if(e instanceof Error){let t=new n(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return typeof File<`u`&&e instanceof File?new n([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e==`object`?Object.assign(Object.create(t),e):e}function dK(e){return typeof e==`object`&&!!e}function fK(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function pK(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var mK=`[object RegExp]`,hK=`[object String]`,gK=`[object Number]`,_K=`[object Boolean]`,vK=`[object Arguments]`,yK=`[object Symbol]`,bK=`[object Date]`,xK=`[object Map]`,SK=`[object Set]`,CK=`[object Array]`,wK=`[object ArrayBuffer]`,TK=`[object Object]`,EK=`[object DataView]`,DK=`[object Uint8Array]`,OK=`[object Uint8ClampedArray]`,kK=`[object Uint16Array]`,AK=`[object Uint32Array]`,jK=`[object Int8Array]`,MK=`[object Int16Array]`,NK=`[object Int32Array]`,PK=`[object Float32Array]`,FK=`[object Float64Array]`;function IK(e,t){return LK(e,void 0,e,new Map,t)}function LK(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!=null)return a;if(cK(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=LK(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,LK(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(LK(a,void 0,n,r,i));return t}if(typeof Buffer<`u`&&Buffer.isBuffer(e))return e.subarray();if(lK(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=LK(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),RK(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),RK(t,e,n,r,i),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),RK(t,e,n,r,i),t}if(e instanceof Error){let t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,RK(t,e,n,r,i),t}if(typeof e==`object`&&zK(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),RK(t,e,n,r,i),t}return e}function RK(e,t,n=e,r,i){let a=[...Object.keys(t),...fK(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=LK(t[s],s,n,r,i))}}function zK(e){switch(pK(e)){case vK:case CK:case wK:case EK:case _K:case bK:case PK:case FK:case jK:case MK:case NK:case xK:case gK:case TK:case mK:case SK:case hK:case yK:case DK:case OK:case kK:case AK:return!0;default:return!1}}function BK(e,t){return IK(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!=null)return o;if(typeof e==`object`)switch(Object.prototype.toString.call(e)){case gK:case hK:case _K:{let t=new e.constructor(e?.valueOf());return RK(t,e),t}case vK:{let t={};return RK(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function VK(e){return BK(e)}function HK(e){return typeof e==`object`&&!!e&&pK(e)===`[object Arguments]`}function UK(e){return lK(e)}function WK(e){if(typeof e!=`object`||!e)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!==`[object Object]`){let t=e[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${t}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function GK(e,...t){let n=t.slice(0,-1),r=t[t.length-1],i=e;for(let e=0;e<n.length;e++){let t=n[e];i=KK(i,t,r,new Map)}return i}function KK(e,t,n,r){if(cK(e)&&(e=Object(e)),typeof t!=`object`||!t)return e;if(r.has(t))return uK(r.get(t));if(r.set(t,e),Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]=t[e]??void 0}let i=[...Object.keys(t),...fK(t)];for(let a=0;a<i.length;a++){let o=i[a],s=t[o],c=e[o];if(HK(s)&&(s={...s}),HK(c)&&(c={...c}),typeof Buffer<`u`&&Buffer.isBuffer(s)&&(s=VK(s)),Array.isArray(s))if(typeof c==`object`&&c){let e=[],t=Reflect.ownKeys(c);for(let n=0;n<t.length;n++){let r=t[n];e[r]=c[r]}c=e}else c=[];let l=n(c,s,o,e,t,r);l==null?Array.isArray(s)||dK(c)&&dK(s)?e[o]=KK(c,s,n,r):c==null&&WK(s)?e[o]=KK({},s,n,r):c==null&&UK(s)?e[o]=VK(s):(c===void 0||s!==void 0)&&(e[o]=s):e[o]=l}return e}function qK(e,...t){return GK(e,...t,sK)}var JK=Object.defineProperty,YK=Object.defineProperties,XK=Object.getOwnPropertyDescriptors,ZK=Object.getOwnPropertySymbols,QK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,eq=(e,t,n)=>t in e?JK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tq=(e,t)=>{for(var n in t||={})QK.call(t,n)&&eq(e,n,t[n]);if(ZK)for(var n of ZK(t))$K.call(t,n)&&eq(e,n,t[n]);return e},nq=(e,t)=>YK(e,XK(t));function rq(e,t,n){let r=EP(e);return t.rpcMap?.[r.reference]||`${rK}?chainId=${r.namespace}:${r.reference}&projectId=${n}`}function iq(e){return e.includes(`:`)?e.split(`:`)[1]:e}function aq(e){return e.map(e=>`${e.split(`:`)[0]}:${e.split(`:`)[1]}`)}function oq(e,t){let n=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!n.length)return[];let r=[];return n.forEach(e=>{let n=t.namespaces[e].accounts;r.push(...n)}),r}function sq(e={},t={}){return qK(cq(e),cq(t))}function cq(e){let t={};if(!bz(e))return t;for(let[n,r]of Object.entries(e)){let e=fz(n)?[n]:r.chains,i=r.methods||[],a=r.events||[],o=r.rpcMap||{},s=pz(n);t[s]=nq(tq(tq({},t[s]),r),{chains:eF(e,t[s]?.chains),methods:eF(i,t[s]?.methods),events:eF(a,t[s]?.events),rpcMap:tq(tq({},o),t[s]?.rpcMap)})}return t}function lq(e){return e.includes(`:`)?e.split(`:`)[2]:e}function uq(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.methods||[],i=r.events||[],a=r.accounts||[];t[n]={chains:fz(n)?[n]:r.chains?r.chains:aq(r.accounts),methods:e,events:i,accounts:a}}return t}function dq(e){return typeof e==`number`?e:e.includes(`0x`)?parseInt(e,16):(e=e.includes(`:`)?e.split(`:`)[1]:e,isNaN(Number(e))?e:Number(e))}var fq={},pq=e=>fq[e],mq=(e,t)=>{fq[e]=t},hq=Object.defineProperty,gq=(e,t,n)=>t in e?hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_q=(e,t,n)=>gq(e,typeof t==`symbol`?t:t+``,n),vq=class{constructor(e){_q(this,`name`,`polkadot`),_q(this,`client`),_q(this,`httpProviders`),_q(this,`events`),_q(this,`namespace`),_q(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},yq=Object.defineProperty,bq=Object.defineProperties,xq=Object.getOwnPropertyDescriptors,Sq=Object.getOwnPropertySymbols,Cq=Object.prototype.hasOwnProperty,wq=Object.prototype.propertyIsEnumerable,Tq=(e,t,n)=>t in e?yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||={})Cq.call(t,n)&&Tq(e,n,t[n]);if(Sq)for(var n of Sq(t))wq.call(t,n)&&Tq(e,n,t[n]);return e},Dq=(e,t)=>bq(e,xq(t)),Oq=(e,t,n)=>Tq(e,typeof t==`symbol`?t:t+``,n),kq=class{constructor(e){Oq(this,`name`,`eip155`),Oq(this,`client`),Oq(this,`chainId`),Oq(this,`namespace`),Oq(this,`httpProviders`),Oq(this,`events`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case`eth_requestAccounts`:return this.getAccounts();case`eth_accounts`:return this.getAccounts();case`wallet_switchEthereumChain`:return await this.handleSwitchChain(e);case`eth_chainId`:return parseInt(this.getDefaultChain());case`wallet_getCapabilities`:return await this.getCapabilities(e);case`wallet_getCallsStatus`:return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}createHttpProvider(e,t){let n=t||rq(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=parseInt(iq(t));e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){let t=e.request.params?e.request.params[0]?.chainId:`0x0`;t=t.startsWith(`0x`)?t:`0x${t}`;let n=parseInt(t,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else if(this.namespace.methods.includes(`wallet_switchEthereumChain`))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:t}]},chainId:this.namespace.chains?.[0]}),this.setDefaultChain(`${n}`);else throw Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){let t=e.request?.params?.[0];if(!t)throw Error("Missing address parameter in `wallet_getCapabilities` request");let n=this.client.session.get(e.topic),r=n?.sessionProperties?.capabilities||{};if(r!=null&&r[t])return r?.[t];let i=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Dq(Eq({},n.sessionProperties||{}),{capabilities:Dq(Eq({},r||{}),{[t]:i})})})}catch(e){console.warn(`Failed to update session with capabilities`,e)}return i}async getCallStatus(e){let t=this.client.session.get(e.topic),n=t.sessionProperties?.bundler_name;if(n){let t=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn(`Failed to fetch call status from bundler`,e,t)}}let r=t.sessionProperties?.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,e)}catch(e){console.warn(`Failed to fetch call status from custom bundler`,e,r)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error(`Fetching call status not approved by the wallet.`)}async getUserOperationReceipt(e,t){let n=new URL(e),r=await fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(te(`eth_getUserOperationReceipt`,[t.request.params?.[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${aK}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}},Aq=Object.defineProperty,jq=(e,t,n)=>t in e?Aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mq=(e,t,n)=>jq(e,typeof t==`symbol`?t:t+``,n),Nq=class{constructor(e){Mq(this,`name`,`solana`),Mq(this,`client`),Mq(this,`httpProviders`),Mq(this,`events`),Mq(this,`namespace`),Mq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Pq=Object.defineProperty,Fq=(e,t,n)=>t in e?Pq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iq=(e,t,n)=>Fq(e,typeof t==`symbol`?t:t+``,n),Lq=class{constructor(e){Iq(this,`name`,`cosmos`),Iq(this,`client`),Iq(this,`httpProviders`),Iq(this,`events`),Iq(this,`namespace`),Iq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Rq=Object.defineProperty,zq=(e,t,n)=>t in e?Rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t,n)=>zq(e,typeof t==`symbol`?t:t+``,n),Vq=class{constructor(e){Bq(this,`name`,`algorand`),Bq(this,`client`),Bq(this,`httpProviders`),Bq(this,`events`),Bq(this,`namespace`),Bq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);return typeof n>`u`?void 0:new P(new de(n,pq(`disableProviderPing`)))}},Hq=Object.defineProperty,Uq=(e,t,n)=>t in e?Hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wq=(e,t,n)=>Uq(e,typeof t==`symbol`?t:t+``,n),Gq=class{constructor(e){Wq(this,`name`,`cip34`),Wq(this,`client`),Wq(this,`httpProviders`),Wq(this,`events`),Wq(this,`namespace`),Wq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=this.getCardanoRPCUrl(t),r=iq(t);e[r]=this.createHttpProvider(r,n)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||this.getCardanoRPCUrl(e);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Kq=Object.defineProperty,qq=(e,t,n)=>t in e?Kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jq=(e,t,n)=>qq(e,typeof t==`symbol`?t:t+``,n),Yq=class{constructor(e){Jq(this,`name`,`elrond`),Jq(this,`client`),Jq(this,`httpProviders`),Jq(this,`events`),Jq(this,`namespace`),Jq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Xq=Object.defineProperty,Zq=(e,t,n)=>t in e?Xq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t,n)=>Zq(e,typeof t==`symbol`?t:t+``,n),$q=class{constructor(e){Qq(this,`name`,`multiversx`),Qq(this,`client`),Qq(this,`httpProviders`),Qq(this,`events`),Qq(this,`namespace`),Qq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},eJ=Object.defineProperty,tJ=(e,t,n)=>t in e?eJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nJ=(e,t,n)=>tJ(e,typeof t==`symbol`?t:t+``,n),rJ=class{constructor(e){nJ(this,`name`,`near`),nJ(this,`client`),nJ(this,`httpProviders`),nJ(this,`events`),nJ(this,`namespace`),nJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace);return typeof n>`u`?void 0:new P(new de(n,pq(`disableProviderPing`)))}},iJ=Object.defineProperty,aJ=(e,t,n)=>t in e?iJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oJ=(e,t,n)=>aJ(e,typeof t==`symbol`?t:t+``,n),sJ=class{constructor(e){oJ(this,`name`,`tezos`),oJ(this,`client`),oJ(this,`httpProviders`),oJ(this,`events`),oJ(this,`namespace`),oJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace);return typeof n>`u`?void 0:new P(new de(n))}},cJ=Object.defineProperty,lJ=(e,t,n)=>t in e?cJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uJ=(e,t,n)=>lJ(e,typeof t==`symbol`?t:t+``,n),dJ=class{constructor(e){uJ(this,`name`,iK),uJ(this,`client`),uJ(this,`httpProviders`),uJ(this,`events`),uJ(this,`namespace`),uJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){var e;let t={};return(e=this.namespace?.accounts)==null||e.forEach(e=>{let n=EP(e);t[`${n.namespace}:${n.reference}`]=this.createHttpProvider(e)}),t}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},fJ=Object.defineProperty,pJ=Object.defineProperties,mJ=Object.getOwnPropertyDescriptors,hJ=Object.getOwnPropertySymbols,gJ=Object.prototype.hasOwnProperty,_J=Object.prototype.propertyIsEnumerable,vJ=(e,t,n)=>t in e?fJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yJ=(e,t)=>{for(var n in t||={})gJ.call(t,n)&&vJ(e,n,t[n]);if(hJ)for(var n of hJ(t))_J.call(t,n)&&vJ(e,n,t[n]);return e},bJ=(e,t)=>pJ(e,mJ(t)),xJ=(e,t,n)=>vJ(e,typeof t==`symbol`?t:t+``,n),SJ=class e{constructor(e){xJ(this,`client`),xJ(this,`namespaces`),xJ(this,`optionalNamespaces`),xJ(this,`sessionProperties`),xJ(this,`scopedProperties`),xJ(this,`events`,new Nt.default),xJ(this,`rpcProviders`,{}),xJ(this,`session`),xJ(this,`providerOpts`),xJ(this,`logger`),xJ(this,`uri`),xJ(this,`disableProviderPing`,!1),this.providerOpts=e,this.logger=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,h.default)(v({level:e?.logger||eK})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(t){let n=new e(t);return await n.initialize(),n}async request(e,t,n){let[r,i]=this.validateChain(t);if(!this.session)throw Error(`Please call connect() before request()`);return await this.getProvider(r).request({request:yJ({},e),chainId:`${r}:${i}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,r){let i=new Date().getTime();this.request(e,n,r).then(e=>t(null,c(i,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error(`Sign Client not initialized`);return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){if(!this.session)throw Error(`Please call connect() before enable()`);await this.client.disconnect({topic:this.session?.topic,reason:vz(`USER_DISCONNECTED`)}),await this.cleanup()}async connect(e){if(!this.client)throw Error(`Sign Client not initialized`);if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error(`Sign Client not initialized`);this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:n,response:r}=await this.client.authenticate(e,t);n&&(this.uri=n,this.events.emit(`display_uri`,n));let i=await r();if(this.session=i.session,this.session){let e=uq(this.session.namespaces);this.namespaces=sq(this.namespaces,e),await this.persist(`namespaces`,this.namespaces),this.onConnect()}return i}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:n}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit(`display_uri`,t));let r=await n();this.session=r;let i=uq(r.namespaces);return this.namespaces=sq(this.namespaces,i),await this.persist(`namespaces`,this.namespaces),await this.persist(`optionalNamespaces`,this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[n,r]=this.validateChain(e),i=this.getProvider(n);i.name===iK?i.setDefaultChain(`${n}:${r}`,t):i.setDefaultChain(r,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info(`Cleaning up inactive pairings...`);let t=this.client.pairing.getAll();if(yz(t)){for(let n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn(`abortPairingAttempt is deprecated. This is now a no-op.`)}async checkStorage(){this.namespaces=await this.getFromStore(`namespaces`)||{},this.optionalNamespaces=await this.getFromStore(`optionalNamespaces`)||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(`Initialized`),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){if(this.client=this.providerOpts.client||await $G.init({core:this.providerOpts.core,logger:this.providerOpts.logger||eK,relayUrl:this.providerOpts.relayUrl||tK,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(e){throw this.logger.error(`Failed to get session`,e),Error(`The provided session: ${this.providerOpts?.session?.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace(`SignClient Initialized`)}createProviders(){if(!this.client)throw Error(`Sign Client not initialized`);if(!this.session)throw Error(`Session not initialized. Please call connect() before enable()`);let e=[...new Set(Object.keys(this.session.namespaces).map(e=>pz(e)))];mq(`client`,this.client),mq(`events`,this.events),mq(`disableProviderPing`,this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=oq(e,this.session),n=aq(t),r=bJ(yJ({},sq(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:n});switch(e){case`eip155`:this.rpcProviders[e]=new kq({namespace:r});break;case`algorand`:this.rpcProviders[e]=new Vq({namespace:r});break;case`solana`:this.rpcProviders[e]=new Nq({namespace:r});break;case`cosmos`:this.rpcProviders[e]=new Lq({namespace:r});break;case`polkadot`:this.rpcProviders[e]=new vq({namespace:r});break;case`cip34`:this.rpcProviders[e]=new Gq({namespace:r});break;case`elrond`:this.rpcProviders[e]=new Yq({namespace:r});break;case`multiversx`:this.rpcProviders[e]=new $q({namespace:r});break;case`near`:this.rpcProviders[e]=new rJ({namespace:r});break;case`tezos`:this.rpcProviders[e]=new sJ({namespace:r});break;default:this.rpcProviders[iK]?this.rpcProviders[iK].updateNamespace(r):this.rpcProviders[iK]=new dJ({namespace:r})}})}registerEventListeners(){if(typeof this.client>`u`)throw Error(`Sign Client is not initialized`);this.client.on(`session_ping`,e=>{let{topic:t}=e;t===this.session?.topic&&this.events.emit(`session_ping`,e)}),this.client.on(`session_event`,e=>{let{params:t,topic:n}=e;if(n!==this.session?.topic)return;let{event:r}=t;if(r.name===`accountsChanged`){let e=r.data;e&&yz(e)&&this.events.emit(`accountsChanged`,e.map(lq))}else if(r.name===`chainChanged`){let e=t.chainId,n=t.event.data,r=pz(e),i=dq(e)===dq(n)?e:`${r}:${dq(n)}`;this.onChainChanged(i)}else this.events.emit(r.name,r.data);this.events.emit(`session_event`,e)}),this.client.on(`session_update`,({topic:e,params:t})=>{if(e!==this.session?.topic)return;let{namespaces:n}=t,r=this.client?.session.get(e);this.session=bJ(yJ({},r),{namespaces:n}),this.onSessionUpdate(),this.events.emit(`session_update`,{topic:e,params:t})}),this.client.on(`session_delete`,async e=>{e.topic===this.session?.topic&&(await this.cleanup(),this.events.emit(`session_delete`,e),this.events.emit(`disconnect`,bJ(yJ({},vz(`USER_DISCONNECTED`)),{data:e.topic})))}),this.on(oK.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[iK]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{this.getProvider(e).updateNamespace(this.session?.namespaces[e])})}setNamespaces(e){let{namespaces:t,optionalNamespaces:n,sessionProperties:r,scopedProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=r,this.scopedProperties=i}validateChain(e){let[t,n]=e?.split(`:`)||[``,``];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(e=>pz(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];let r=pz(Object.keys(this.namespaces)[0]);return[r,this.rpcProviders[r].getDefaultChain()]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[n,r]=this.validateChain(e);r&&(t||this.getProvider(n).setDefaultChain(r),this.namespaces[n]?this.namespaces[n].defaultChain=r:this.namespaces[`${n}:${r}`]?this.namespaces[`${n}:${r}`].defaultChain=r:this.namespaces[`${n}:${r}`]={defaultChain:r},this.events.emit(`chainChanged`,r),await this.persist(`namespaces`,this.namespaces))}onConnect(){this.createProviders(),this.events.emit(`connect`,{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(`namespaces`),await this.deleteFromStore(`optionalNamespaces`),await this.deleteFromStore(`sessionProperties`),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){let n=this.session?.topic||``;await this.client.core.storage.setItem(`${nK}/${e}${n}`,t)}async getFromStore(e){let t=this.session?.topic||``;return await this.client.core.storage.getItem(`${nK}/${e}${t}`)}async deleteFromStore(e){let t=this.session?.topic||``;await this.client.core.storage.removeItem(`${nK}/${e}${t}`)}async cleanupStorage(){try{if(this.client?.session.length>0)return;let e=await this.client.core.storage.getKeys();for(let t of e)t.startsWith(nK)&&await this.client.core.storage.removeItem(t)}catch(e){this.logger.warn(`Failed to cleanup storage`,e)}}},CJ={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};function wJ(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}var TJ=wJ({id:`5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,name:`Solana`,network:`solana-mainnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!1,chainNamespace:`solana`,caipNetworkId:`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,deprecatedCaipNetworkId:`solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ`}),EJ=wJ({id:`EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,name:`Solana Devnet`,network:`solana-devnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,deprecatedCaipNetworkId:`solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K`}),DJ=wJ({id:`4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`,name:`Solana Testnet`,network:`solana-testnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`});wJ({id:`000000000019d6689c085ae165831e93`,caipNetworkId:`bip122:000000000019d6689c085ae165831e93`,chainNamespace:`bip122`,name:`Bitcoin`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}}}),wJ({id:`000000000933ea01ad0ee984209779ba`,caipNetworkId:`bip122:000000000933ea01ad0ee984209779ba`,chainNamespace:`bip122`,name:`Bitcoin Testnet`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},testnet:!0});var OJ={solana:[`solana_signMessage`,`solana_signTransaction`,`solana_requestAccounts`,`solana_getAccounts`,`solana_signAllTransactions`,`solana_signAndSendTransaction`],eip155:[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_showCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],bip122:[`sendTransfer`,`signMessage`,`signPsbt`,`getAccountAddresses`]},kJ={getMethodsByChainNamespace(e){return OJ[e]||[]},createDefaultNamespace(e){return{methods:this.getMethodsByChainNamespace(e),events:[`accountsChanged`,`chainChanged`],chains:[],rpcMap:{}}},applyNamespaceOverrides(e,t){if(!t)return{...e};let n={...e},r=new Set;if(t.methods&&Object.keys(t.methods).forEach(e=>r.add(e)),t.chains&&Object.keys(t.chains).forEach(e=>r.add(e)),t.events&&Object.keys(t.events).forEach(e=>r.add(e)),t.rpcMap&&Object.keys(t.rpcMap).forEach(e=>{let[t]=e.split(`:`);t&&r.add(t)}),r.forEach(e=>{n[e]||(n[e]=this.createDefaultNamespace(e))}),t.methods&&Object.entries(t.methods).forEach(([e,t])=>{n[e]&&(n[e].methods=t)}),t.chains&&Object.entries(t.chains).forEach(([e,t])=>{n[e]&&(n[e].chains=t)}),t.events&&Object.entries(t.events).forEach(([e,t])=>{n[e]&&(n[e].events=t)}),t.rpcMap){let e=new Set;Object.entries(t.rpcMap).forEach(([t,r])=>{let[i,a]=t.split(`:`);!i||!a||!n[i]||(n[i].rpcMap||(n[i].rpcMap={}),e.has(i)||(n[i].rpcMap={},e.add(i)),n[i].rpcMap[a]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:i}=t,a=i.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let o=`${r}:${n}`,s=e[r];switch(s.chains.push(o),o){case TJ.caipNetworkId:s.chains.push(TJ.deprecatedCaipNetworkId);break;case EJ.caipNetworkId:s.chains.push(EJ.deprecatedCaipNetworkId);break;default:}return s?.rpcMap&&a&&(s.rpcMap[n]=a),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await uf.resolveName(e);return(Object.values(t?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let[t,n]=e.split(`:`);return`${t}:${n}`});return Array.from(new Set([...t,...n]))})},isSessionEventData(e){return typeof e==`object`&&!!e&&`id`in e&&`topic`in e&&`params`in e&&typeof e.params==`object`&&e.params!==null&&`chainId`in e.params&&`event`in e.params&&typeof e.params.event==`object`&&e.params.event!==null}},AJ=class{constructor({provider:e,caipNetworks:t,namespace:n}){this.id=L.CONNECTOR_ID.WALLET_CONNECT,this.name=df.ConnectorNamesMap[L.CONNECTOR_ID.WALLET_CONNECT],this.type=`WALLET_CONNECT`,this.imageId=df.ConnectorImageIds[L.CONNECTOR_ID.WALLET_CONNECT],this.caipNetworks=t,this.provider=e,this.chain=n}get chains(){return this.caipNetworks}async connectWalletConnect(){if(!await this.authenticate()){let e=g.state.universalProviderConfigOverride,t=kJ.createNamespaces(this.caipNetworks,e);await this.provider.connect({optionalNamespaces:t})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){let e=this.chains.map(e=>e.caipNetworkId);return M.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:jJ})}},jJ=[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],MJ=class{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,e&&this.construct(e)}construct(e){this.caipNetworks=e.networks,this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.caipNetworks||[]}setAuthProvider(e){this.addConnector({id:L.CONNECTOR_ID.AUTH,type:`AUTH`,name:L.CONNECTOR_NAMES.AUTH,provider:e,imageId:df.ConnectorImageIds[L.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){let t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(e=>t.has(e.id)?!1:(t.add(e.id),!0)),this.emit(`connectors`,this.availableConnectors)}setStatus(e,t){I.setStatus(e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){let n=this.eventListeners.get(e);n&&n.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){let n=this.eventListeners.get(e);n&&n.forEach(e=>e(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){let{caipNetwork:t,providerType:n}=e;if(!e.provider)return;let r=`provider`in e.provider?e.provider.provider:e.provider;if(n===`WALLET_CONNECT`){r.setDefaultChain(t.caipNetworkId);return}if(r&&n===`AUTH`){let e=r;await e.switchNetwork(t.caipNetworkId);let n=await e.getUser({chainId:t.caipNetworkId,preferredAccountType:g.state.defaultAccountTypes[t.chainNamespace]});this.emit(`switchNetwork`,n)}}getWalletConnectConnector(){let e=this.connectors.find(e=>e instanceof AJ);if(!e)throw Error(`WalletConnectConnector not found`);return e}},NJ=class extends MJ{setUniversalProvider(e){this.addConnector(new AJ({provider:e,caipNetworks:this.caipNetworks||[],namespace:this.namespace}))}async connect(e){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:Number(e.chainId),provider:this.provider,address:``})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn(`UniversalAdapter:disconnect - error`,e)}}async getAccounts({namespace:e}){let t=this.provider?.session?.namespaces?.[e]?.accounts?.map(e=>{let[,,t]=e.split(`:`);return t}).filter((e,t,n)=>n.indexOf(e)===t)||[];return Promise.resolve({accounts:t.map(t=>j.createAccount(e,t,e===`bip122`?`payment`:`eoa`))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&s.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:`0.00`,symbol:e.caipNetwork?.nativeCurrency.symbol||``};if(I.state.balanceLoading&&e.chainId===U.state.activeCaipNetwork?.id)return{balance:I.state.balance||`0.00`,symbol:I.state.balanceSymbol||``};let t=(await I.fetchTokenBalance()).find(t=>t.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&t.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:t?.quantity.numeric||`0.00`,symbol:t?.symbol||e.caipNetwork?.nativeCurrency.symbol||``}}async signMessage(e){let{provider:t,message:n,address:r}=e;if(!t)throw Error(`UniversalAdapter:signMessage - provider is undefined`);let i=``;return i=U.state.activeCaipNetwork?.chainNamespace===L.CHAIN.SOLANA?(await t.request({method:`solana_signMessage`,params:{message:Ls.encode(new TextEncoder().encode(n)),pubkey:r}},U.state.activeCaipNetwork?.caipNetworkId)).signature:await t.request({method:`personal_sign`,params:[n,r]},U.state.activeCaipNetwork?.caipNetworkId),{signature:i}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async getProfile(){return Promise.resolve({profileImage:``,profileName:``})}async sendTransaction(){return Promise.resolve({hash:``})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:``})}async getEnsAddress(){return Promise.resolve({address:!1})}parseUnits(){return 0n}formatUnits(){return`0`}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve(`0x`)}async syncConnection(){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:1,provider:this.provider,address:``})}async switchNetwork(e){let{caipNetwork:t}=e,n=this.getWalletConnectConnector();if(t.chainNamespace===L.CHAIN.EVM)try{await n.provider?.request({method:`wallet_switchEthereumChain`,params:[{chainId:Wu(t.id)}]})}catch(e){if(e.code===CJ.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||e.code===CJ.ERROR_INVALID_CHAIN_ID||e.code===CJ.ERROR_CODE_DEFAULT||e?.data?.originalError?.code===CJ.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await n.provider?.request({method:`wallet_addEthereumChain`,params:[{chainId:Wu(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw Error(`Chain is not supported`)}}n.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(e=>e.type===`WALLET_CONNECT`)?.provider}},PJ=class{constructor(e){this.hasSwitchedToPreferredAccountTypeOnConnect=!1,this.chainNamespaces=[],this.reportedAlertErrors={},this.getCaipNetwork=e=>e?U.getNetworkData(e)?.caipNetwork||U.getRequestedCaipNetworks(e).filter(t=>t.chainNamespace===e)?.[0]:U.state.activeCaipNetwork||this.defaultCaipNetwork,this.getCaipNetworkId=()=>{let e=this.getCaipNetwork();if(e)return e.id},this.getCaipNetworks=e=>U.getRequestedCaipNetworks(e),this.getActiveChainNamespace=()=>U.state.activeChain,this.setRequestedCaipNetworks=(e,t)=>{U.setRequestedCaipNetworks(e,t)},this.getApprovedCaipNetworkIds=()=>U.getAllApprovedCaipNetworkIds(),this.getCaipAddress=e=>U.state.activeChain===e||!e?U.state.activeCaipAddress:U.getAccountProp(`caipAddress`,e),this.setClientId=e=>{R.setClientId(e)},this.getProvider=e=>xf.getProvider(e),this.getProviderType=e=>xf.getProviderId(e),this.getPreferredAccountType=()=>I.state.preferredAccountType,this.setCaipAddress=(e,t)=>{I.setCaipAddress(e,t)},this.setBalance=(e,t,n)=>{I.setBalance(e,t,n)},this.setProfileName=(e,t)=>{I.setProfileName(e,t)},this.setProfileImage=(e,t)=>{I.setProfileImage(e,t)},this.setUser=(e,t)=>{I.setUser(e,t),g.state.enableEmbedded&&se.close()},this.resetAccount=e=>{I.resetAccount(e)},this.setCaipNetwork=e=>{U.setActiveCaipNetwork(e)},this.setCaipNetworkOfNamespace=(e,t)=>{U.setChainNetworkData(t,{caipNetwork:e})},this.setAllAccounts=(e,t)=>{I.setAllAccounts(e,t),g.setHasMultipleAddresses(e?.length>1)},this.setStatus=(e,t)=>{I.setStatus(e,t),m.isConnected()?C.setConnectionStatus(`connected`):C.setConnectionStatus(`disconnected`)},this.getAddressByChainNamespace=e=>U.getAccountProp(`address`,e),this.setConnectors=e=>{let t=[...m.getConnectors(),...e];m.setConnectors(t)},this.fetchIdentity=e=>R.fetchIdentity(e),this.getReownName=e=>uf.getNamesForAddress(e),this.getConnectors=()=>m.getConnectors(),this.getConnectorImage=e=>A.getConnectorImage(e),this.setConnectedWalletInfo=(e,t)=>{let n=xf.getProviderId(t),r=e?{...e,type:n}:void 0;I.setConnectedWalletInfo(r,t)},this.getIsConnectedState=()=>!!U.state.activeCaipAddress,this.addAddressLabel=(e,t,n)=>{I.addAddressLabel(e,t,n)},this.removeAddressLabel=(e,t)=>{I.removeAddressLabel(e,t)},this.getAddress=e=>U.state.activeChain===e||!e?I.state.address:U.getAccountProp(`address`,e),this.setApprovedCaipNetworksData=e=>U.setApprovedCaipNetworksData(e),this.resetNetwork=e=>{U.resetNetwork(e)},this.addConnector=e=>{m.addConnector(e)},this.resetWcConnection=()=>{z.resetWcConnection()},this.setAddressExplorerUrl=(e,t)=>{I.setAddressExplorerUrl(e,t)},this.setSmartAccountDeployed=(e,t)=>{I.setSmartAccountDeployed(e,t)},this.setSmartAccountEnabledNetworks=(e,t)=>{U.setSmartAccountEnabledNetworks(e,t)},this.setPreferredAccountType=(e,t)=>{I.setPreferredAccountType(e,t)},this.setEIP6963Enabled=e=>{g.setEIP6963Enabled(e)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect(`ApproveTransaction`)}else this.open({view:`ApproveTransaction`})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=[...new Set(this.caipNetworks?.map(e=>e.chainNamespace))],this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.initialize(e),this.sendInitializeEvent(e)}async initialize(e){this.initControllers(e),await this.initChainAdapters(),await this.injectModalUi(),await this.syncExistingConnection(),ee.set({initialized:!0})}sendInitializeEvent(e){let{...t}=e;delete t.adapters,_.sendEvent({type:`track`,event:`INITIALIZE`,properties:{...t,networks:e.networks.map(e=>e.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&D.setThemeMode(e.themeMode),e.themeVariables&&D.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw Error(`ConnectionControllerClient and NetworkControllerClient must be set`);U.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});let t=this.getDefaultNetwork();t&&U.setActiveCaipNetwork(t)}initializeConnectionController(e){z.setWcBasic(e.basic??!1)}initializeConnectorController(){m.initialize(this.chainNamespaces)}initializeOptionsController(e){g.setDebug(e.debug!==!1),g.setEnableWalletConnect(e.enableWalletConnect!==!1),g.setEnableWalletGuide(e.enableWalletGuide!==!1),g.setEnableWallets(e.enableWallets!==!1),g.setEIP6963Enabled(e.enableEIP6963!==!1),g.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),g.setEnableAuthLogger(e.enableAuthLogger!==!1),g.setCustomRpcUrls(e.customRpcUrls),g.setSdkVersion(e.sdkVersion),g.setProjectId(e.projectId),g.setEnableEmbedded(e.enableEmbedded),g.setAllWallets(e.allWallets),g.setIncludeWalletIds(e.includeWalletIds),g.setExcludeWalletIds(e.excludeWalletIds),g.setFeaturedWalletIds(e.featuredWalletIds),g.setTokens(e.tokens),g.setTermsConditionsUrl(e.termsConditionsUrl),g.setPrivacyPolicyUrl(e.privacyPolicyUrl),g.setCustomWallets(e.customWallets),g.setFeatures(e.features),g.setAllowUnsupportedChain(e.allowUnsupportedChain),g.setDefaultAccountTypes(e.defaultAccountTypes),g.setUniversalProviderConfigOverride(e.universalProviderConfigOverride);let t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),g.setMetadata(e.metadata),g.setDisableAppend(e.disableAppend),g.setEnableEmbedded(e.enableEmbedded),g.setSIWX(e.siwx),!e.projectId){ie.open(ff.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}if(e.adapters?.find(e=>e.namespace===L.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw Error("Cannot set both `siweConfig` and `siwx` options");g.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return typeof window<`u`&&typeof document<`u`?{name:document.getElementsByTagName(`title`)?.[0]?.textContent||``,description:document.querySelector(`meta[property="og:description"]`)?.content||``,url:window.location.origin,icons:[document.querySelector(`link[rel~="icon"]`)?.href||``]}:null}setUnsupportedNetwork(e){let t=this.getActiveChainNamespace();if(t){let n=vf.getUnsupportedNetwork(`${t}:${e}`);U.setActiveCaipNetwork(n)}}getDefaultNetwork(){return vf.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return vf.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return vf.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){let t=e.networks.find(t=>t.id===e.defaultNetwork?.id);return t?vf.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{let e=U.state.activeChain,t=this.getAdapter(e),n=this.getCaipNetwork(e)?.id;if(!t)throw Error(`Adapter not found`);let r=await t.connectWalletConnect(n);this.close(),this.setClientId(r?.clientId||null),C.setConnectedNamespaces([...U.state.chains.keys()]),this.chainNamespaces.forEach(e=>{m.setConnectorId(W.CONNECTOR_TYPE_WALLET_CONNECT,e)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:t,type:n,provider:r,chain:i,caipNetwork:a})=>{let o=U.state.activeChain,s=i||o,c=this.getAdapter(s);if(i&&i!==o&&!a){let e=this.caipNetworks?.find(e=>e.chainNamespace===i);e&&this.setCaipNetwork(e)}if(!c)throw Error(`Adapter not found`);let l=this.getCaipNetwork(s),u=await c.connect({id:e,info:t,type:n,provider:r,chainId:a?.id||l?.id,rpcUrl:a?.rpcUrls?.default?.http?.[0]||l?.rpcUrls?.default?.http?.[0]});if(!u)return;C.addConnectedNamespace(s),this.syncProvider({...u,chainNamespace:s}),await this.syncAccount({...u,chainNamespace:s});let{accounts:d}=await c.getAccounts({namespace:s,id:e});this.setAllAccounts(d,s)},reconnectExternal:async({id:e,info:t,type:n,provider:r})=>{let i=U.state.activeChain,a=this.getAdapter(i);a?.reconnect&&(await a?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),C.addConnectedNamespace(i))},disconnect:async e=>{let t=e||U.state.activeChain,n=this.getAdapter(t),r=xf.getProvider(t),i=xf.getProviderId(t);await n?.disconnect({provider:r,providerType:i}),C.removeConnectedNamespace(t),xf.resetChain(t),this.setUser(void 0,t),this.setStatus(`disconnected`,t),this.hasSwitchedToPreferredAccountTypeOnConnect=!1},checkInstalled:e=>e?e.some(e=>!!window.ethereum?.[String(e)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(U.state.activeChain)?.signMessage({message:e,address:I.state.address,provider:xf.getProvider(U.state.activeChain)}))?.signature||``,sendTransaction:async e=>{if(e.chainNamespace===L.CHAIN.EVM){let t=this.getAdapter(U.state.activeChain),n=xf.getProvider(U.state.activeChain);return(await t?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:n}))?.hash||``}return``},estimateGas:async e=>{if(e.chainNamespace===L.CHAIN.EVM){let t=this.getAdapter(U.state.activeChain),n=xf.getProvider(U.state.activeChain),r=this.getCaipNetwork();if(!r)throw Error(`CaipNetwork is undefined`);return(await t?.estimateGas({...e,provider:n,caipNetwork:r}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.getAdapter(U.state.activeChain)?.getProfile({address:I.state.address,chainId:Number(this.getCaipNetwork()?.id)}))?.profileImage||!1,getEnsAddress:async e=>{let t=this.getAdapter(U.state.activeChain),n=this.getCaipNetwork();return n&&(await t?.getEnsAddress({name:e,caipNetwork:n}))?.address||!1},writeContract:async e=>{let t=this.getAdapter(U.state.activeChain),n=this.getCaipNetwork(),r=this.getCaipAddress(),i=xf.getProvider(U.state.activeChain);if(!n||!r)throw Error(`CaipNetwork or CaipAddress is undefined`);return(await t?.writeContract({...e,caipNetwork:n,provider:i,caipAddress:r}))?.hash},parseUnits:(e,t)=>this.getAdapter(U.state.activeChain)?.parseUnits({value:e,decimals:t})??0n,formatUnits:(e,t)=>this.getAdapter(U.state.activeChain)?.formatUnits({value:e,decimals:t})??`0`,getCapabilities:async e=>await this.getAdapter(U.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(U.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{let t=this.getAdapter(U.state.activeChain);return t?.revokePermissions?await t.revokePermissions(e):`0x`},walletGetAssets:async e=>await this.getAdapter(U.state.activeChain)?.walletGetAssets(e)??{}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},z.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(xf.getProviderId(U.state.activeChain)===W.CONNECTOR_TYPE_WALLET_CONNECT){let e=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name===`MetaMask Wallet`,approvedCaipNetworkIds:this.getChainsFromNamespaces(e)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;let t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){let n=xf.getProvider(t),r=xf.getProviderId(t);if(e.chainNamespace===U.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:n,providerType:r});else if(this.setCaipNetwork(e),r===W.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{let n=this.getAddressByChainNamespace(t);n&&this.syncAccount({address:n,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let{chainId:t,chainNamespace:n}=Ye.parseCaipAddress(e);return`${n}:${t}`});return Array.from(new Set([...t,...n]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,n)=>{let r=e?.find(e=>e.namespace===n);return r?(t[n]=r,t[n].namespace=n,t[n].construct({namespace:n,projectId:this.options?.projectId,networks:this.caipNetworks})):t[n]=new NJ({namespace:n,networks:this.caipNetworks}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on(`connectors`,this.setConnectors.bind(this))}listenAdapter(e){let t=this.getAdapter(e);if(!t)return;let n=C.getConnectionStatus();n===`connected`?this.setStatus(`connecting`,e):(n===`disconnected`&&C.clearAddressCache(),this.setStatus(n,e)),t.on(`switchNetwork`,({address:t,chainId:n})=>{let r=this.caipNetworks?.find(e=>e.id===n||e.caipNetworkId===n),i=U.state.activeChain===e,a=U.getAccountProp(`address`,e);if(r){let r=i&&t?t:a;r&&this.syncAccount({address:r,chainId:n,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on(`disconnect`,this.disconnect.bind(this,e)),t.on(`pendingTransactions`,()=>{let e=I.state.address,t=U.state.activeCaipNetwork;!e||!t?.id||this.updateNativeBalance(e,t.id,t.chainNamespace)}),t.on(`accountChanged`,({address:t,chainId:n})=>{let r=U.state.activeChain===e;r&&n?this.syncAccount({address:t,chainId:n,chainNamespace:e}):r&&U.state.activeCaipNetwork?.id?this.syncAccount({address:t,chainId:U.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(t,n,e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{let t=m.getConnectorId(e);switch(this.setStatus(`connecting`,e),t){case L.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case L.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(t){console.warn(`AppKit couldn't sync existing connection`,t),this.setStatus(`disconnected`,e)}}async syncAdapterConnection(e){let t=this.getAdapter(e),n=m.getConnectorId(e),r=this.getCaipNetwork(e),i=m.getConnectors(e).find(e=>e.id===n);try{if(!t||!i)throw Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw Error(`CaipNetwork not found`);let n=await t?.syncConnection({namespace:e,id:i.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});if(n){let r=await t?.getAccounts({namespace:e,id:i.id});r&&r.accounts.length>0?this.setAllAccounts(r.accounts,e):this.setAllAccounts([j.createAccount(e,n.address,`eoa`)],e),this.syncProvider({...n,chainNamespace:e}),await this.syncAccount({...n,chainNamespace:e}),this.setStatus(`connected`,e)}else this.setStatus(`disconnected`,e)}catch{this.setStatus(`disconnected`,e)}}async syncWalletConnectAccount(){let e=this.chainNamespaces.map(async e=>{let t=this.getAdapter(e),n=this.universalProvider?.session?.namespaces?.[e]?.accounts||[],r=U.state.activeCaipNetwork?.id,i=n.find(e=>{let{chainId:t}=Ye.parseCaipAddress(e);return t===r?.toString()})||n[0];if(i){let n=Ye.validateCaipAddress(i),{chainId:r,address:a}=Ye.parseCaipAddress(n);if(xf.setProviderId(e,W.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&U.state.activeCaipNetwork&&t?.namespace!==L.CHAIN.EVM){let n=t?.getWalletConnectProvider({caipNetworks:this.caipNetworks,provider:this.universalProvider,activeCaipNetwork:U.state.activeCaipNetwork});xf.setProvider(e,n)}else xf.setProvider(e,this.universalProvider);m.setConnectorId(L.CONNECTOR_ID.WALLET_CONNECT,e),C.addConnectedNamespace(e),this.syncWalletConnectAccounts(e),await this.syncAccount({address:a,chainId:r,chainNamespace:e})}else this.setStatus(`disconnected`,e);await U.setApprovedCaipNetworksData(e)});await Promise.all(e)}syncWalletConnectAccounts(e){let t=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(e=>{let{address:t}=Ye.parseCaipAddress(e);return t}).filter((e,t,n)=>n.indexOf(e)===t);t&&this.setAllAccounts(t.map(t=>j.createAccount(e,t,e===`bip122`?`payment`:`eoa`)),e)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){xf.setProviderId(r,e),xf.setProvider(r,t),m.setConnectorId(n,r)}async syncAccount(e){let t=e.chainNamespace===U.state.activeChain,n=U.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:a}=e,{chainId:o}=C.getActiveNetworkProps(),s=i||o,c=U.state.activeCaipNetwork?.name===L.UNSUPPORTED_NETWORK_NAME,l=U.getNetworkProp(`supportsAllNetworks`,a);if(this.setStatus(`connected`,a),!(c&&!l)&&s){let e=this.caipNetworks?.find(e=>e.id.toString()===s.toString()),i=this.caipNetworks?.find(e=>e.chainNamespace===a);if(!l&&!e&&!i){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>Ye.parseCaipNetworkId(e)?.chainId===s.toString()),r=t.find(e=>Ye.parseCaipNetworkId(e)?.chainNamespace===a);e=this.caipNetworks?.find(e=>e.caipNetworkId===n),i=this.caipNetworks?.find(e=>e.caipNetworkId===r||`deprecatedCaipNetworkId`in e&&e.deprecatedCaipNetworkId===r)}let o=e||i;o?.chainNamespace===U.state.activeChain?g.state.enableNetworkSwitch&&!g.state.allowUnsupportedChain&&U.state.activeCaipNetwork?.name===L.UNSUPPORTED_NETWORK_NAME?U.showUnsupportedChainUI():this.setCaipNetwork(o):t||n&&this.setCaipNetworkOfNamespace(n,a),this.syncConnectedWalletInfo(a),_e.isLowerCaseMatch(r,I.state.address)||this.syncAccountInfo(r,o?.id,a),t?await this.syncBalance({address:r,chainId:o?.id,chainNamespace:a}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:a})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),i=t||r?.split(`:`)[1];if(!i)return;let a=`${n}:${i}:${e}`;this.setCaipAddress(a,n),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,t){try{let n=await this.getReownName(e);if(n[0]){let e=n[0];this.setProfileName(e.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){let t=m.getConnectorId(e),n=xf.getProviderId(e);if(n===W.CONNECTOR_TYPE_ANNOUNCED||n===W.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>e.id===t);if(n){let{info:t,name:r,imageUrl:i}=n,a=i||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:a,...t},e)}}}else if(n===W.CONNECTOR_TYPE_WALLET_CONNECT){let t=xf.getProvider(e);t?.session&&this.setConnectedWalletInfo({...t.session.peer.metadata,name:t.session.peer.metadata.name,icon:t.session.peer.metadata.icons?.[0]},e)}else if(t)if(t===L.CONNECTOR_ID.COINBASE){let t=this.getConnectors().find(e=>e.id===L.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:`Coinbase Wallet`,icon:this.getConnectorImage(t)},e)}else this.setConnectedWalletInfo({name:t},e)}async syncBalance(e){!oe.getNetworksByNamespace(this.caipNetworks,e.chainNamespace).find(t=>t.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async updateNativeBalance(e,t,n){let r=this.getAdapter(n);if(r){let i=await r.getBalance({address:e,chainId:t,caipNetwork:this.getCaipNetwork(n),tokens:this.options.tokens});this.setBalance(i.balance,i.symbol,n)}}async initializeUniversalAdapter(){let e=mf.createLogger((e,...t)=>{e&&this.handleAlertError(e),console.error(...t)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:``,description:this.options?.metadata?this.options?.metadata.description:``,url:this.options?.metadata?this.options?.metadata.url:``,icons:this.options?.metadata?this.options?.metadata.icons:[``]},logger:e};g.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await SJ.init(t),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on(`display_uri`,e=>{z.setUri(e)}),this.universalProvider.on(`connect`,z.finalizeWcConnection),this.universalProvider.on(`disconnect`,()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),z.resetWcConnection()}),this.universalProvider.on(`chainChanged`,e=>{let t=this.caipNetworks?.find(t=>t.id==e),n=this.getCaipNetwork();if(!t){this.setUnsupportedNetwork(e);return}n?.id!==t?.id&&this.setCaipNetwork(t)}),this.universalProvider.on(`session_event`,e=>{if(kJ.isSessionEventData(e)){let{name:t,data:n}=e.params.event;t===`accountsChanged`&&Array.isArray(n)&&j.isCaipAddress(n[0])&&this.syncAccount(Ye.parseCaipAddress(n[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&j.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){_.sendEvent({type:`error`,event:`INTERNAL_SDK_ERROR`,properties:{errorType:`UniversalProviderInitError`,errorMessage:e instanceof Error?e.message:`Unknown`,uncaught:!1}}),console.error(`AppKit:getUniversalProvider - Cannot create provider`,e)}return this.universalProvider}handleAlertError(e){let[t,n]=Object.entries(ff.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:i}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=ff.ALERT_ERRORS[i];e&&(ie.open(e,`error`),this.reportedAlertErrors[t]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;let t=e.namespace;if(!t)return;this.createClients();let n=e;n.namespace=t,n.construct({namespace:t,projectId:this.options?.projectId,networks:this.caipNetworks}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=n)}async open(e){await this.injectModalUi(),e?.uri&&z.setUri(e.uri),await se.open(e)}async close(){await this.injectModalUi(),se.close()}setLoading(e,t){se.setLoading(e,t)}async disconnect(e){await z.disconnect(e)}getError(){return``}getChainId(){return U.state.activeCaipNetwork?.id}async switchNetwork(e){let t=this.caipNetworks?.find(t=>t.id===e.id);if(!t){ie.open(ff.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,`error`);return}await U.switchActiveNetwork(t)}getWalletProvider(){return U.state.activeChain?xf.state.providers[U.state.activeChain]:null}getWalletProviderType(){return xf.getProviderId(U.state.activeChain)}subscribeProviders(e){return xf.subscribeProviders(e)}getThemeMode(){return D.state.themeMode}getThemeVariables(){return D.state.themeVariables}setThemeMode(e){D.setThemeMode(e),F(D.state.themeMode)}setTermsConditionsUrl(e){g.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){g.setPrivacyPolicyUrl(e)}setThemeVariables(e){D.setThemeVariables(e),H(D.state.themeVariables)}subscribeTheme(e){return D.subscribe(e)}getWalletInfo(){return I.state.connectedWalletInfo}getAccount(e){let t=m.getAuthConnector(e),n=U.getAccountData(e);if(n)return{allAccounts:n.allAccounts,caipAddress:n.caipAddress,address:j.getPlainAddress(n.caipAddress),isConnected:!!n.caipAddress,status:n.status,embeddedWalletInfo:t?{user:n.user,authProvider:n.socialProvider||`email`,accountType:n.preferredAccountType,isSmartAccountDeployed:!!n.smartAccountDeployed}:void 0}}subscribeAccount(e,t){let n=()=>{let n=this.getAccount(t);n&&e(n)};t?U.subscribeChainProp(`accountState`,n,t):U.subscribe(n),m.subscribe(n)}subscribeNetwork(e){return U.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e){return I.subscribeKey(`connectedWalletInfo`,e)}subscribeShouldUpdateToAddress(e){I.subscribeKey(`shouldUpdateToAddress`,e)}subscribeCaipNetworkChange(e){U.subscribeKey(`activeCaipNetwork`,e)}getState(){return ee.state}subscribeState(e){return ee.subscribe(e)}showErrorMessage(e){ce.showError(e)}showSuccessMessage(e){ce.showSuccess(e)}getEvent(){return{..._.state}}subscribeEvents(e){return _.subscribe(e)}replace(e){k.replace(e)}redirect(e){k.push(e)}popTransactionStack(e){k.popTransactionStack(e)}isOpen(){return se.state.open}isTransactionStackEmpty(){return k.state.transactionStack.length===0}isTransactionShouldReplaceView(){return k.state.transactionStack[k.state.transactionStack.length-1]?.replace}static getInstance(){return this.instance}updateFeatures(e){g.setFeatures(e)}updateOptions(e){let t={...g.state||{},...e};g.setOptions(t)}setConnectMethodsOrder(e){g.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){g.setWalletFeaturesOrder(e)}setCollapseWallets(e){g.setCollapseWallets(e)}setSocialsOrder(e){g.setSocialsOrder(e)}getConnectMethodsOrder(){return ge.getConnectOrderMethod(g.state.features,m.getConnectors())}removeAdapter(e){let t=this.getIsConnectedState(),n=this.getAdapter(e);if(!n||!this.chainAdapters||t)return;let r=this.caipNetworks?.filter(t=>t.chainNamespace!==e);U.removeAdapter(e),m.removeAdapter(e),this.chainNamespaces=this.chainNamespaces.filter(t=>t!==e),this.caipNetworks=r,n.removeAllEventListeners(),Reflect.deleteProperty(this.chainAdapters,e)}addAdapter(e,t){let n=e.namespace;if(!this.connectionControllerClient||!this.networkControllerClient||!this.chainAdapters||!n)return;let r=this.extendCaipNetworks({...this.options,networks:t});this.caipNetworks=[...this.caipNetworks||[],...r],this.createAdapter(e),this.initChainAdapter(n),U.addAdapter(e,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient},r)}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);let n=this.extendCaipNetwork(t,this.options);U.addNetwork(n),this.caipNetworks&&!this.caipNetworks?.find(e=>e.id===n.id)&&this.caipNetworks.push(n)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);if(!this.caipNetworks?.find(e=>e.id===t))throw Error(`Network with ID ${t} not found`);if(!this.caipNetworks)return;let n=this.caipNetworks.filter(n=>n.chainNamespace===e&&n.id!==t);if(!n?.length)throw Error(`Cannot remove last network for a namespace`);U.removeNetwork(e,t),this.caipNetworks=[...n]}},FJ=!1,IJ=class extends PJ{async open(e){m.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&z.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!FJ&&j.isClient()){if(await a(()=>import(`./basic-HSZ3j8Aq.js`),__vite__mapDeps([5,6,1,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),await a(()=>import(`./w3m-modal-CcAeUAZf.js`),__vite__mapDeps([31,27,28,7,29,1])),!document.querySelector(`w3m-modal`)){let e=document.createElement(`w3m-modal`);!g.state.disableAppend&&!g.state.enableEmbedded&&document.body.insertAdjacentElement(`beforeend`,e)}FJ=!0}}},LJ=`1.7.2`;function RJ(e){return new IJ({...e,basic:!0,sdkVersion:`html-core-${LJ}`})}var zJ=class e extends Error{constructor(){super(),Object.setPrototypeOf(this,e.prototype)}},BJ=class extends Error{constructor(e){super(`WalletConnect Adapter - Method ${e} is not supported by the wallet`),this.name=`WalletConnectFeatureNotSupportedError`}};function VJ(e){let t=[e];return e===Dp.Mainnet||e===Dp.Deprecated_Mainnet?(t=[Dp.Mainnet,Dp.Deprecated_Mainnet],e===Dp.Deprecated_Mainnet&&console.warn(HJ.mainnet)):(e===Dp.Deprecated_Devnet||e===Dp.Devnet)&&(t=[Dp.Devnet,Dp.Deprecated_Devnet],Dp.Deprecated_Devnet&&console.warn(HJ.devnet)),t}var HJ={mainnet:`You are using a deprecated chain ID for Solana Mainnet, please use ${Dp.Mainnet} instead.`,devnet:`You are using a deprecated chain ID for Solana Devnet, please use ${Dp.Devnet} instead.`,wallet:`The connected wallet is using a deprecated chain ID for Solana. Please, contact them to upgrade. You can learn more at https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip10.md#chain-ids`};function UJ(e,t){let n=e.namespaces.solana?.accounts.map(e=>`solana:${e.split(`:`)[1]}`);if(t===Dp.Mainnet)return n?.find(e=>e===Dp.Mainnet)?Dp.Mainnet:(console.warn(HJ.wallet),Dp.Deprecated_Mainnet);if(t===Dp.Devnet)return n?.find(e=>e===Dp.Devnet)?Dp.Devnet:(console.warn(HJ.wallet),Dp.Deprecated_Devnet);throw Error(`WalletConnect Solana Adapter: Unable to get a default chain from the session.`)}function WJ(e){return{optionalNamespaces:{solana:{chains:VJ(e),methods:[Ep.signTransaction,Ep.signMessage],events:[]}}}}var GJ=class e extends Error{constructor(){super(`QR Code Modal was closed by user`),Object.setPrototypeOf(this,e.prototype),this.name=`QRCodeModalError`}},KJ=class{_UniversalProvider;_session;_modal;_projectId;_network;_ConnectQueueResolver;constructor(e){if(this.initClient(e.options),this._network=e.network,!e.options.projectId)throw Error(`WalletConnect Adapter: Project ID is undefined`);this._projectId=e.options.projectId}async connect(){if(this._UniversalProvider||await new Promise(e=>{this._ConnectQueueResolver=e}),!this._UniversalProvider)throw Error(`WalletConnect Adapter - Universal Provider was undefined while calling 'connect()'`);if(this._UniversalProvider.session){this._session=this._UniversalProvider.session;let e=UJ(this._session,this._network);return this._network=e,this._UniversalProvider.setDefaultChain(e),{publicKey:this.publicKey}}await this.initModal();let e=WJ(this._network);this._modal?.open();let t=new AbortController,n=t.signal;this._modal?.subscribeState(e=>{e.open||t.abort(new GJ)});try{let t=await Promise.race([this._UniversalProvider?.connect(e),new Promise((e,t)=>{n.addEventListener(`abort`,()=>{t(n.reason)})})]);if(this._modal?.close(),this._session=t,!t)throw new Ne;let r=UJ(t,this._network);return this._network=r,this._UniversalProvider?.setDefaultChain(r),{publicKey:this.publicKey}}catch(e){throw this._modal?.close(),e}}async disconnect(){if(this._UniversalProvider?.session){if(await this.initModal(),!this._modal)throw Error(`WalletConnect Adapter -Modal is undefined: unable to disconnect`);await this.client.disconnect(),this._session=void 0}else throw new zJ}get client(){if(this._UniversalProvider)return this._UniversalProvider;throw new zJ}get session(){if(!this._session)throw new zJ;return this._session}get publicKey(){if(this._UniversalProvider?.session&&this._session){let{address:e}=eh(this._session?.namespaces.solana?.accounts[0]??``);return new he(e)}throw new zJ}async signTransaction(e){this.checkIfWalletSupportsMethod(Ep.signTransaction);let t=Ie(e),n=t?{}:e,{signature:r,transaction:i}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signTransaction,params:{...n,transaction:this.serialize(e)}}});return i?this.deserialize(i,t):(e.addSignature(this.publicKey,Buffer.from(Ls.decode(r))),e)}async signMessage(e){this.checkIfWalletSupportsMethod(Ep.signMessage);let{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signMessage,params:{pubkey:this.publicKey.toString(),message:Ls.encode(e)}}});return Ls.decode(t)}async signAndSendTransaction(e){this.checkIfWalletSupportsMethod(Ep.signAndSendTransaction);let{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signAndSendTransaction,params:{transaction:this.serialize(e)}}});return t}async signAllTransactions(e){try{this.checkIfWalletSupportsMethod(Ep.signAllTransactions);let t=e.map(e=>this.serialize(e)),{transactions:n}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signAllTransactions,params:{transactions:t}}});return e.map((e,t)=>Ie(e)?this.deserialize(n[t]??``,!0):this.deserialize(n[t]??``))}catch(t){if(t instanceof BJ){let t=e.map(e=>this.signTransaction(e));return await Promise.all(t)}throw t}}async initClient(e){let t=await bP.init(e);this._UniversalProvider=t,this._ConnectQueueResolver&&this._ConnectQueueResolver(!0)}async initModal(){if(!this._modal){if(!this._UniversalProvider)throw Error(`WalletConnect Adapter - cannot init modal when Universal Provider is undefined`);this._modal=RJ({projectId:this._projectId,universalProvider:this._UniversalProvider,networks:[TJ,EJ,DJ],manualWCControl:!0})}}serialize(e){return Buffer.from(e.serialize({verifySignatures:!1})).toString(`base64`)}deserialize(e,t=!1){return t?pe.deserialize(Buffer.from(e,`base64`)):me.from(Buffer.from(e,`base64`))}checkIfWalletSupportsMethod(e){if(!this.session.namespaces.solana?.methods.includes(e))throw new BJ(e)}},qJ=`WalletConnect`,JJ=class extends Fe{name=qJ;url=`https://walletconnect.org`;icon=`data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE4NSIgdmlld0JveD0iMCAwIDMwMCAxODUiIHdpZHRoPSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTYxLjQzODU0MjkgMzYuMjU2MjYxMmM0OC45MTEyMjQxLTQ3Ljg4ODE2NjMgMTI4LjIxMTk4NzEtNDcuODg4MTY2MyAxNzcuMTIzMjA5MSAwbDUuODg2NTQ1IDUuNzYzNDE3NGMyLjQ0NTU2MSAyLjM5NDQwODEgMi40NDU1NjEgNi4yNzY1MTEyIDAgOC42NzA5MjA0bC0yMC4xMzY2OTUgMTkuNzE1NTAzYy0xLjIyMjc4MSAxLjE5NzIwNTEtMy4yMDUzIDEuMTk3MjA1MS00LjQyODA4MSAwbC04LjEwMDU4NC03LjkzMTE0NzljLTM0LjEyMTY5Mi0zMy40MDc5ODE3LTg5LjQ0Mzg4Ni0zMy40MDc5ODE3LTEyMy41NjU1Nzg4IDBsLTguNjc1MDU2MiA4LjQ5MzYwNTFjLTEuMjIyNzgxNiAxLjE5NzIwNDEtMy4yMDUzMDEgMS4xOTcyMDQxLTQuNDI4MDgwNiAwbC0yMC4xMzY2OTQ5LTE5LjcxNTUwMzFjLTIuNDQ1NTYxMi0yLjM5NDQwOTItMi40NDU1NjEyLTYuMjc2NTEyMiAwLTguNjcwOTIwNHptMjE4Ljc2Nzc5NjEgNDAuNzczNzQ0OSAxNy45MjE2OTcgMTcuNTQ2ODk3YzIuNDQ1NTQ5IDIuMzk0Mzk2OSAyLjQ0NTU2MyA2LjI3NjQ3NjkuMDAwMDMxIDguNjcwODg5OWwtODAuODEwMTcxIDc5LjEyMTEzNGMtMi40NDU1NDQgMi4zOTQ0MjYtNi40MTA1ODIgMi4zOTQ0NTMtOC44NTYxNi4wMDAwNjItLjAwMDAxLS4wMDAwMS0uMDAwMDIyLS4wMDAwMjItLjAwMDAzMi0uMDAwMDMybC01Ny4zNTQxNDMtNTYuMTU0NTcyYy0uNjExMzktLjU5ODYwMi0xLjYwMjY1LS41OTg2MDItMi4yMTQwNCAwLS4wMDAwMDQuMDAwMDA0LS4wMDAwMDcuMDAwMDA4LS4wMDAwMTEuMDAwMDExbC01Ny4zNTI5MjEyIDU2LjE1NDUzMWMtMi40NDU1MzY4IDIuMzk0NDMyLTYuNDEwNTc1NSAyLjM5NDQ3Mi04Ljg1NjE2MTIuMDAwMDg3LS4wMDAwMTQzLS4wMDAwMTQtLjAwMDAyOTYtLjAwMDAyOC0uMDAwMDQ0OS0uMDAwMDQ0bC04MC44MTI0MTk0My03OS4xMjIxODVjLTIuNDQ1NTYwMjEtMi4zOTQ0MDgtMi40NDU1NjAyMS02LjI3NjUxMTUgMC04LjY3MDkxOTdsMTcuOTIxNzI5NjMtMTcuNTQ2ODY3M2MyLjQ0NTU2MDItMi4zOTQ0MDgyIDYuNDEwNTk4OS0yLjM5NDQwODIgOC44NTYxNjAyIDBsNTcuMzU0OTc3NSA1Ni4xNTUzNTdjLjYxMTM5MDguNTk4NjAyIDEuNjAyNjQ5LjU5ODYwMiAyLjIxNDAzOTggMCAuMDAwMDA5Mi0uMDAwMDA5LjAwMDAxNzQtLjAwMDAxNy4wMDAwMjY1LS4wMDAwMjRsNTcuMzUyMTAzMS01Ni4xNTUzMzNjMi40NDU1MDUtMi4zOTQ0NjMzIDYuNDEwNTQ0LTIuMzk0NTUzMSA4Ljg1NjE2MS0uMDAwMi4wMDAwMzQuMDAwMDMzNi4wMDAwNjguMDAwMDY3My4wMDAxMDEuMDAwMTAxbDU3LjM1NDkwMiA1Ni4xNTU0MzJjLjYxMTM5LjU5ODYwMSAxLjYwMjY1LjU5ODYwMSAyLjIxNDA0IDBsNTcuMzUzOTc1LTU2LjE1NDMyNDljMi40NDU1NjEtMi4zOTQ0MDkyIDYuNDEwNTk5LTIuMzk0NDA5MiA4Ljg1NjE2IDB6IiBmaWxsPSIjM2I5OWZjIi8+PC9zdmc+`;supportedTransactionVersions=new Set([`legacy`,0]);_publicKey;_connecting;_wallet;_config;_readyState;_onDisconnect;constructor(e){super(),this._publicKey=null,this._connecting=!1,this._config=e,this._wallet=null,this._readyState=typeof window>`u`?Me.Unsupported:Me.Loadable,this._onDisconnect=this.disconnect.bind(this)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==Me.Loadable)throw new Ae;this._connecting=!0,this._wallet=new KJ({network:this._config.network===Pe.Mainnet?Tp.Mainnet:Tp.Devnet,options:this._config.options});let{publicKey:e}=await this._wallet.connect();this._publicKey=e,this.emit(`connect`,e),this._wallet.client.on(`session_delete`,this._onDisconnect)}catch(e){throw e.constructor.name===`QRCodeModalError`||e instanceof Error&&e.name===`QRCodeModalError`?new Oe:(this._connecting=!1,e)}finally{this._connecting=!1}}async disconnect(){let e=this._wallet;if(e){e.client.off(`session_delete`,this._onDisconnect),this._publicKey=null;try{e.client.session&&await e.disconnect()}catch(e){console.error(`WalletConnectWalletAdapter: disconnect error`,e),this.emit(`error`,new je(e?.message,e))}}this.emit(`disconnect`)}async signTransaction(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signTransaction(e)}catch(e){throw new ke(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signMessage(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signMessage(e)}catch(e){throw new Le(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signAndSendTransaction(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signAndSendTransaction(e)}catch(e){throw new ke(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signAllTransactions(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signAllTransactions(e)}catch(e){throw new ke(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}};export{JJ as WalletConnectWalletAdapter,qJ as WalletConnectWalletName};
|
|
28
|
+
Approved: ${i.toString()}`))}),o.forEach(e=>{r||(HP(i[e].methods,a[e].methods)?HP(i[e].events,a[e].events)||(r=Z(`NON_CONFORMING_NAMESPACES`,`${n} namespaces events don't satisfy namespace events for ${e}`)):r=Z(`NON_CONFORMING_NAMESPACES`,`${n} namespaces methods don't satisfy namespace methods for ${e}`))}),r}function Qz(e){let t={};return Object.keys(e).forEach(n=>{var r;n.includes(`:`)?t[n]=e[n]:(r=e[n].chains)==null||r.forEach(r=>{t[r]={methods:e[n].methods,events:e[n].events}})}),t}function $z(e){return[...new Set(e.map(e=>e.includes(`:`)?e.split(`:`)[0]:e))]}function eB(e){let t={};return Object.keys(e).forEach(n=>{n.includes(`:`)?t[n]=e[n]:cz(e[n].accounts)?.forEach(r=>{t[r]={accounts:e[n].accounts.filter(e=>e.includes(`${r}:`)),methods:e[n].methods,events:e[n].events}})}),t}function tB(e,t){return Cz(e,!1)&&e<=t.max&&e>=t.min}function nB(){let e=PP();return new Promise(t=>{switch(e){case OP.browser:t(rB());break;case OP.reactNative:t(iB());break;case OP.node:t(aB());break;default:t(!0)}})}function rB(){return NP()&&navigator?.onLine}async function iB(){return AP()&&typeof global<`u`&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function aB(){return!0}function oB(e){switch(PP()){case OP.browser:sB(e);break;case OP.reactNative:cB(e);break;case OP.node:break}}function sB(e){!AP()&&NP()&&(window.addEventListener(`online`,()=>e(!0)),window.addEventListener(`offline`,()=>e(!1)))}function cB(e){AP()&&typeof global<`u`&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(t=>e(t?.isConnected))}var lB={},uB=class{static get(e){return lB[e]}static set(e,t){lB[e]=t}static delete(e){delete lB[e]}},dB=`core`,fB=`wc@2:${dB}:`,pB={name:dB,logger:`error`},mB={database:`:memory:`},hB=`crypto`,gB=`client_ed25519_seed`,_B=G.ONE_DAY,vB=`keychain`,yB=`messages`,bB=G.SIX_HOURS,xB=`publisher`,SB=`relayer`,CB={message:`relayer_message`,message_ack:`relayer_message_ack`,connect:`relayer_connect`,disconnect:`relayer_disconnect`,error:`relayer_error`,connection_stalled:`relayer_connection_stalled`,transport_closed:`relayer_transport_closed`,publish:`relayer_publish`},wB={payload:`payload`,connect:`connect`,disconnect:`disconnect`,error:`error`},TB=`2.19.1`,EB={link_mode:`link_mode`,relay:`relay`},DB={inbound:`inbound`,outbound:`outbound`},OB=`WALLETCONNECT_CLIENT_ID`,kB={created:`subscription_created`,deleted:`subscription_deleted`,expired:`subscription_expired`,disabled:`subscription_disabled`,sync:`subscription_sync`,resubscribed:`subscription_resubscribed`};G.THIRTY_DAYS;var AB=`subscription`;G.FIVE_SECONDS*1e3;var jB=`pairing`;G.THIRTY_DAYS;var MB={wc_pairingDelete:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:G.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:G.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:G.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:G.ONE_DAY,prompt:!1,tag:0},res:{ttl:G.ONE_DAY,prompt:!1,tag:0}}},NB={create:`pairing_create`,expire:`pairing_expire`,delete:`pairing_delete`,ping:`pairing_ping`},PB={created:`history_created`,updated:`history_updated`,deleted:`history_deleted`,sync:`history_sync`},FB=`history`,IB=`expirer`,LB={created:`expirer_created`,deleted:`expirer_deleted`,expired:`expirer_expired`,sync:`expirer_sync`};G.ONE_DAY;var RB=`verify-api`,zB=`https://verify.walletconnect.com`,BB=`https://verify.walletconnect.org`,VB=`${BB}/v3`,HB=[zB,BB],UB=`echo`,WB=`https://echo.walletconnect.com`,GB={pairing_started:`pairing_started`,pairing_uri_validation_success:`pairing_uri_validation_success`,pairing_uri_not_expired:`pairing_uri_not_expired`,store_new_pairing:`store_new_pairing`,subscribing_pairing_topic:`subscribing_pairing_topic`,subscribe_pairing_topic_success:`subscribe_pairing_topic_success`,existing_pairing:`existing_pairing`,pairing_not_expired:`pairing_not_expired`,emit_inactive_pairing:`emit_inactive_pairing`,emit_session_proposal:`emit_session_proposal`,subscribing_to_pairing_topic:`subscribing_to_pairing_topic`},KB={no_wss_connection:`no_wss_connection`,no_internet_connection:`no_internet_connection`,malformed_pairing_uri:`malformed_pairing_uri`,active_pairing_already_exists:`active_pairing_already_exists`,subscribe_pairing_topic_failure:`subscribe_pairing_topic_failure`,pairing_expired:`pairing_expired`,proposal_expired:`proposal_expired`,proposal_listener_not_found:`proposal_listener_not_found`},qB={session_approve_started:`session_approve_started`,proposal_not_expired:`proposal_not_expired`,session_namespaces_validation_success:`session_namespaces_validation_success`,create_session_topic:`create_session_topic`,subscribing_session_topic:`subscribing_session_topic`,subscribe_session_topic_success:`subscribe_session_topic_success`,publishing_session_approve:`publishing_session_approve`,session_approve_publish_success:`session_approve_publish_success`,store_session:`store_session`,publishing_session_settle:`publishing_session_settle`,session_settle_publish_success:`session_settle_publish_success`},JB={no_internet_connection:`no_internet_connection`,no_wss_connection:`no_wss_connection`,proposal_expired:`proposal_expired`,subscribe_session_topic_failure:`subscribe_session_topic_failure`,session_approve_publish_failure:`session_approve_publish_failure`,session_settle_publish_failure:`session_settle_publish_failure`,session_approve_namespace_validation_failure:`session_approve_namespace_validation_failure`,proposal_not_found:`proposal_not_found`},YB={authenticated_session_approve_started:`authenticated_session_approve_started`,authenticated_session_not_expired:`authenticated_session_not_expired`,chains_caip2_compliant:`chains_caip2_compliant`,chains_evm_compliant:`chains_evm_compliant`,create_authenticated_session_topic:`create_authenticated_session_topic`,cacaos_verified:`cacaos_verified`,store_authenticated_session:`store_authenticated_session`,subscribing_authenticated_session_topic:`subscribing_authenticated_session_topic`,subscribe_authenticated_session_topic_success:`subscribe_authenticated_session_topic_success`,publishing_authenticated_session_approve:`publishing_authenticated_session_approve`,authenticated_session_approve_publish_success:`authenticated_session_approve_publish_success`},XB={no_internet_connection:`no_internet_connection`,no_wss_connection:`no_wss_connection`,missing_session_authenticate_request:`missing_session_authenticate_request`,session_authenticate_request_expired:`session_authenticate_request_expired`,chains_caip2_compliant_failure:`chains_caip2_compliant_failure`,chains_evm_compliant_failure:`chains_evm_compliant_failure`,invalid_cacao:`invalid_cacao`,subscribe_authenticated_session_topic_failure:`subscribe_authenticated_session_topic_failure`,authenticated_session_approve_publish_failure:`authenticated_session_approve_publish_failure`,authenticated_session_pending_request_not_found:`authenticated_session_pending_request_not_found`},ZB=.1,QB=`event-client`,$B=`https://pulse.walletconnect.org/batch`;function eV(e,t){if(e.length>=255)throw TypeError(`Alphabet too long`);for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var i=0;i<e.length;i++){var a=e.charAt(i),o=a.charCodeAt(0);if(n[o]!==255)throw TypeError(a+` is ambiguous`);n[o]=i}var s=e.length,c=e.charAt(0),l=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function d(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError(`Expected Uint8Array`);if(t.length===0)return``;for(var n=0,r=0,i=0,a=t.length;i!==a&&t[i]===0;)i++,n++;for(var o=(a-i)*u+1>>>0,l=new Uint8Array(o);i!==a;){for(var d=t[i],f=0,p=o-1;(d!==0||f<r)&&p!==-1;p--,f++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(d!==0)throw Error(`Non-zero carry`);r=f,i++}for(var m=o-r;m!==o&&l[m]===0;)m++;for(var h=c.repeat(n);m<o;++m)h+=e.charAt(l[m]);return h}function f(e){if(typeof e!=`string`)throw TypeError(`Expected String`);if(e.length===0)return new Uint8Array;var t=0;if(e[t]!==` `){for(var r=0,i=0;e[t]===c;)r++,t++;for(var a=(e.length-t)*l+1>>>0,o=new Uint8Array(a);e[t];){var u=n[e.charCodeAt(t)];if(u===255)return;for(var d=0,f=a-1;(u!==0||d<i)&&f!==-1;f--,d++)u+=s*o[f]>>>0,o[f]=u%256>>>0,u=u/256>>>0;if(u!==0)throw Error(`Non-zero carry`);i=d,t++}if(e[t]!==` `){for(var p=a-i;p!==a&&o[p]===0;)p++;for(var m=new Uint8Array(r+(a-p)),h=r;p!==a;)m[h++]=o[p++];return m}}}function p(e){var n=f(e);if(n)return n;throw Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var tV=eV,nV=e=>{if(e instanceof Uint8Array&&e.constructor.name===`Uint8Array`)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error(`Unknown type, must be binary type`)},rV=e=>new TextEncoder().encode(e),iV=e=>new TextDecoder().decode(e),aV=class{constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error(`Unknown type, must be binary type`)}},oV=class{constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw Error(`Invalid prefix character`);this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e==`string`){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error(`Can only multibase decode strings`)}or(e){return cV(this,e)}},sV=class{constructor(e){this.decoders=e}or(e){return cV(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},cV=(e,t)=>new sV({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),lV=class{constructor(e,t,n,r){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=r,this.encoder=new aV(e,t,n),this.decoder=new oV(e,t,r)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},uV=({name:e,prefix:t,encode:n,decode:r})=>new lV(e,t,n,r),dV=({prefix:e,name:t,alphabet:n})=>{let{encode:r,decode:i}=tV(n,t);return uV({prefix:e,name:t,encode:r,decode:e=>nV(i(e))})},fV=(e,t,n,r)=>{let i={};for(let e=0;e<t.length;++e)i[t[e]]=e;let a=e.length;for(;e[a-1]===`=`;)--a;let o=new Uint8Array(a*n/8|0),s=0,c=0,l=0;for(let t=0;t<a;++t){let a=i[e[t]];if(a===void 0)throw SyntaxError(`Non-${r} character`);c=c<<n|a,s+=n,s>=8&&(s-=8,o[l++]=255&c>>s)}if(s>=n||255&c<<8-s)throw SyntaxError(`Unexpected end of data`);return o},pV=(e,t,n)=>{let r=t[t.length-1]===`=`,i=(1<<n)-1,a=``,o=0,s=0;for(let r=0;r<e.length;++r)for(s=s<<8|e[r],o+=8;o>n;)o-=n,a+=t[i&s>>o];if(o&&(a+=t[i&s<<n-o]),r)for(;a.length*n&7;)a+=`=`;return a},mV=({name:e,prefix:t,bitsPerChar:n,alphabet:r})=>uV({prefix:t,name:e,encode(e){return pV(e,r,n)},decode(t){return fV(t,r,n,e)}}),hV=uV({prefix:`\0`,name:`identity`,encode:e=>iV(e),decode:e=>rV(e)}),gV=Object.freeze({__proto__:null,identity:hV}),_V=mV({prefix:`0`,name:`base2`,alphabet:`01`,bitsPerChar:1}),vV=Object.freeze({__proto__:null,base2:_V}),yV=mV({prefix:`7`,name:`base8`,alphabet:`01234567`,bitsPerChar:3}),bV=Object.freeze({__proto__:null,base8:yV}),xV=dV({prefix:`9`,name:`base10`,alphabet:`0123456789`}),SV=Object.freeze({__proto__:null,base10:xV}),CV=mV({prefix:`f`,name:`base16`,alphabet:`0123456789abcdef`,bitsPerChar:4}),wV=mV({prefix:`F`,name:`base16upper`,alphabet:`0123456789ABCDEF`,bitsPerChar:4}),TV=Object.freeze({__proto__:null,base16:CV,base16upper:wV}),EV=mV({prefix:`b`,name:`base32`,alphabet:`abcdefghijklmnopqrstuvwxyz234567`,bitsPerChar:5}),DV=mV({prefix:`B`,name:`base32upper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,bitsPerChar:5}),OV=mV({prefix:`c`,name:`base32pad`,alphabet:`abcdefghijklmnopqrstuvwxyz234567=`,bitsPerChar:5}),kV=mV({prefix:`C`,name:`base32padupper`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=`,bitsPerChar:5}),AV=mV({prefix:`v`,name:`base32hex`,alphabet:`0123456789abcdefghijklmnopqrstuv`,bitsPerChar:5}),jV=mV({prefix:`V`,name:`base32hexupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV`,bitsPerChar:5}),MV=mV({prefix:`t`,name:`base32hexpad`,alphabet:`0123456789abcdefghijklmnopqrstuv=`,bitsPerChar:5}),NV=mV({prefix:`T`,name:`base32hexpadupper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUV=`,bitsPerChar:5}),PV=mV({prefix:`h`,name:`base32z`,alphabet:`ybndrfg8ejkmcpqxot1uwisza345h769`,bitsPerChar:5}),FV=Object.freeze({__proto__:null,base32:EV,base32upper:DV,base32pad:OV,base32padupper:kV,base32hex:AV,base32hexupper:jV,base32hexpad:MV,base32hexpadupper:NV,base32z:PV}),IV=dV({prefix:`k`,name:`base36`,alphabet:`0123456789abcdefghijklmnopqrstuvwxyz`}),LV=dV({prefix:`K`,name:`base36upper`,alphabet:`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`}),RV=Object.freeze({__proto__:null,base36:IV,base36upper:LV}),zV=dV({name:`base58btc`,prefix:`z`,alphabet:`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`}),BV=dV({name:`base58flickr`,prefix:`Z`,alphabet:`123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ`}),VV=Object.freeze({__proto__:null,base58btc:zV,base58flickr:BV}),HV=mV({prefix:`m`,name:`base64`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,bitsPerChar:6}),UV=mV({prefix:`M`,name:`base64pad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`,bitsPerChar:6}),WV=mV({prefix:`u`,name:`base64url`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,bitsPerChar:6}),GV=mV({prefix:`U`,name:`base64urlpad`,alphabet:`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=`,bitsPerChar:6}),KV=Object.freeze({__proto__:null,base64:HV,base64pad:UV,base64url:WV,base64urlpad:GV}),qV=Array.from(`🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂`),JV=qV.reduce((e,t,n)=>(e[n]=t,e),[]),YV=qV.reduce((e,t,n)=>(e[t.codePointAt(0)]=n,e),[]);function XV(e){return e.reduce((e,t)=>(e+=JV[t],e),``)}function ZV(e){let t=[];for(let n of e){let e=YV[n.codePointAt(0)];if(e===void 0)throw Error(`Non-base256emoji character: ${n}`);t.push(e)}return new Uint8Array(t)}var QV=uV({prefix:`🚀`,name:`base256emoji`,encode:XV,decode:ZV}),$V=Object.freeze({__proto__:null,base256emoji:QV}),eH=iH,tH=128,nH=-128,rH=2**31;function iH(e,t,n){t||=[],n||=0;for(var r=n;e>=rH;)t[n++]=e&255|tH,e/=128;for(;e&nH;)t[n++]=e&255|tH,e>>>=7;return t[n]=e|0,iH.bytes=n-r+1,t}var aH=cH,oH=128,sH=127;function cH(e,t){var n=0,t=t||0,r=0,i=t,a,o=e.length;do{if(i>=o)throw cH.bytes=0,RangeError(`Could not decode varint`);a=e[i++],n+=r<28?(a&sH)<<r:(a&sH)*2**r,r+=7}while(a>=oH);return cH.bytes=i-t,n}var lH=2**7,uH=2**14,dH=2**21,fH=2**28,pH=2**35,mH=2**42,hH=2**49,gH=2**56,_H=2**63,vH={encode:eH,decode:aH,encodingLength:function(e){return e<lH?1:e<uH?2:e<dH?3:e<fH?4:e<pH?5:e<mH?6:e<hH?7:e<gH?8:e<_H?9:10}},yH=(e,t,n=0)=>(vH.encode(e,t,n),t),bH=e=>vH.encodingLength(e),xH=(e,t)=>{let n=t.byteLength,r=bH(e),i=r+bH(n),a=new Uint8Array(i+n);return yH(e,a,0),yH(n,a,r),a.set(t,i),new SH(e,n,t,a)},SH=class{constructor(e,t,n,r){this.code=e,this.size=t,this.digest=n,this.bytes=r}},CH=({name:e,code:t,encode:n})=>new wH(e,t,n),wH=class{constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?xH(this.code,t):t.then(e=>xH(this.code,e))}else throw Error(`Unknown type, must be binary type`)}},TH=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),EH=CH({name:`sha2-256`,code:18,encode:TH(`SHA-256`)}),DH=CH({name:`sha2-512`,code:19,encode:TH(`SHA-512`)}),OH=Object.freeze({__proto__:null,sha256:EH,sha512:DH}),kH=0,AH=`identity`,jH=nV,MH=Object.freeze({__proto__:null,identity:{code:kH,name:AH,encode:jH,digest:e=>xH(kH,jH(e))}});new TextEncoder,new TextDecoder;var NH={...gV,...vV,...bV,...SV,...TV,...FV,...RV,...VV,...KV,...$V};({...OH,...MH});function PH(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function FH(e,t,n,r){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:n},decoder:{decode:r}}}var IH=FH(`utf8`,`u`,e=>`u`+new TextDecoder(`utf8`).decode(e),e=>new TextEncoder().encode(e.substring(1))),LH=FH(`ascii`,`a`,e=>{let t=`a`;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},e=>{e=e.substring(1);let t=PH(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}),RH={utf8:IH,"utf-8":IH,hex:NH.base16,latin1:LH,ascii:LH,binary:LH,...NH};function zH(e,t=`utf8`){let n=RH[t];if(!n)throw Error(`Unsupported encoding "${t}"`);return(t===`utf8`||t===`utf-8`)&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e,`utf8`):n.decoder.decode(`${n.prefix}${e}`)}var BH=Object.defineProperty,VH=(e,t,n)=>t in e?BH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HH=(e,t,n)=>VH(e,typeof t==`symbol`?t:t+``,n),UH=class{constructor(e,t){this.core=e,this.logger=t,HH(this,`keychain`,new Map),HH(this,`name`,vB),HH(this,`version`,`0.3`),HH(this,`initialized`,!1),HH(this,`storagePrefix`,fB),HH(this,`init`,async()=>{if(!this.initialized){let e=await this.getKeyChain();typeof e<`u`&&(this.keychain=e),this.initialized=!0}}),HH(this,`has`,e=>(this.isInitialized(),this.keychain.has(e))),HH(this,`set`,async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),HH(this,`get`,e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>`u`){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}),HH(this,`del`,async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=p(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,UP(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?WP(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},WH=Object.defineProperty,GH=(e,t,n)=>t in e?WH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,KH=(e,t,n)=>GH(e,typeof t==`symbol`?t:t+``,n),qH=class{constructor(e,t,n){this.core=e,this.logger=t,KH(this,`name`,hB),KH(this,`keychain`),KH(this,`randomSessionIdentifier`,PR()),KH(this,`initialized`,!1),KH(this,`init`,async()=>{this.initialized||=(await this.keychain.init(),!0)}),KH(this,`hasKeys`,e=>(this.isInitialized(),this.keychain.has(e))),KH(this,`getClientId`,async()=>(this.isInitialized(),ss(ps(await this.getClientSeed()).publicKey))),KH(this,`generateKeyPair`,()=>{this.isInitialized();let e=NR();return this.setPrivateKey(e.publicKey,e.privateKey)}),KH(this,`signJWT`,async e=>{this.isInitialized();let t=ps(await this.getClientSeed()),n=this.randomSessionIdentifier;return await ms(n,e,_B,t)}),KH(this,`generateSharedKey`,(e,t,n)=>{this.isInitialized();let r=FR(this.getPrivateKey(e),t);return this.setSymKey(r,n)}),KH(this,`setSymKey`,async(e,t)=>{this.isInitialized();let n=t||IR(e);return await this.keychain.set(n,e),n}),KH(this,`deleteKeyPair`,async e=>{this.isInitialized(),await this.keychain.del(e)}),KH(this,`deleteSymKey`,async e=>{this.isInitialized(),await this.keychain.del(e)}),KH(this,`encode`,async(e,t,n)=>{this.isInitialized();let r=qR(n),i=l(t);if(YR(r))return HR(i,n?.encoding);if(JR(r)){let t=r.senderPublicKey,n=r.receiverPublicKey;e=await this.generateSharedKey(t,n)}let a=this.getSymKey(e),{type:o,senderPublicKey:s}=r;return BR({type:o,symKey:a,message:i,senderPublicKey:s,encoding:n?.encoding})}),KH(this,`decode`,async(e,t,n)=>{this.isInitialized();let r=KR(t,n);if(YR(r))return fe(UR(t,n?.encoding));if(JR(r)){let t=r.receiverPublicKey,n=r.senderPublicKey;e=await this.generateSharedKey(t,n)}try{return fe(VR({symKey:this.getSymKey(e),encoded:t,encoding:n?.encoding}))}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),KH(this,`getPayloadType`,(e,t=ER)=>zR(GR({encoded:e,encoding:t}).type)),KH(this,`getPayloadSenderPublicKey`,(e,t=ER)=>{let n=GR({encoded:e,encoding:t});return n.senderPublicKey?El(n.senderPublicKey,TR):void 0}),this.core=e,this.logger=p(t,this.name),this.keychain=n||new UH(this.core,this.logger)}get context(){return w(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e=``;try{e=this.keychain.get(gB)}catch{e=PR(),await this.keychain.set(gB,e)}return zH(e,`base16`)}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},JH=Object.defineProperty,YH=Object.defineProperties,XH=Object.getOwnPropertyDescriptors,ZH=Object.getOwnPropertySymbols,QH=Object.prototype.hasOwnProperty,$H=Object.prototype.propertyIsEnumerable,eU=(e,t,n)=>t in e?JH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tU=(e,t)=>{for(var n in t||={})QH.call(t,n)&&eU(e,n,t[n]);if(ZH)for(var n of ZH(t))$H.call(t,n)&&eU(e,n,t[n]);return e},nU=(e,t)=>YH(e,XH(t)),rU=(e,t,n)=>eU(e,typeof t==`symbol`?t:t+``,n),iU=class extends Wn{constructor(e,t){super(e,t),this.logger=e,this.core=t,rU(this,`messages`,new Map),rU(this,`messagesWithoutClientAck`,new Map),rU(this,`name`,yB),rU(this,`version`,`0.3`),rU(this,`initialized`,!1),rU(this,`storagePrefix`,fB),rU(this,`init`,async()=>{if(!this.initialized){this.logger.trace(`Initialized`);try{let e=await this.getRelayerMessages();typeof e<`u`&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();typeof t<`u`&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),rU(this,`set`,async(e,t,n)=>{this.isInitialized();let r=LR(t),i=this.messages.get(e);if(typeof i>`u`&&(i={}),typeof i[r]<`u`)return r;if(i[r]=t,this.messages.set(e,i),n===DB.inbound){let n=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,nU(tU({},n),{[r]:t}))}return await this.persist(),r}),rU(this,`get`,e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>`u`&&(t={}),t}),rU(this,`getWithoutAck`,e=>{this.isInitialized();let t={};for(let n of e){let e=this.messagesWithoutClientAck.get(n)||{};t[n]=Object.values(e)}return t}),rU(this,`has`,(e,t)=>(this.isInitialized(),typeof this.get(e)[LR(t)]<`u`)),rU(this,`ack`,async(e,t)=>{this.isInitialized();let n=this.messagesWithoutClientAck.get(e);if(typeof n>`u`)return;let r=LR(t);delete n[r],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,n),await this.persist()}),rU(this,`del`,async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=p(e,this.name),this.core=t}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name+`_withoutClientAck`}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,UP(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,UP(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return typeof e<`u`?WP(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<`u`?WP(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},aU=Object.defineProperty,oU=Object.defineProperties,sU=Object.getOwnPropertyDescriptors,cU=Object.getOwnPropertySymbols,lU=Object.prototype.hasOwnProperty,uU=Object.prototype.propertyIsEnumerable,dU=(e,t,n)=>t in e?aU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fU=(e,t)=>{for(var n in t||={})lU.call(t,n)&&dU(e,n,t[n]);if(cU)for(var n of cU(t))uU.call(t,n)&&dU(e,n,t[n]);return e},pU=(e,t)=>oU(e,sU(t)),mU=(e,t,n)=>dU(e,typeof t==`symbol`?t:t+``,n),hU=class extends Gn{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,mU(this,`events`,new Nt.EventEmitter),mU(this,`name`,xB),mU(this,`queue`,new Map),mU(this,`publishTimeout`,(0,G.toMiliseconds)(G.ONE_MINUTE)),mU(this,`initialPublishTimeout`,(0,G.toMiliseconds)(G.ONE_SECOND*15)),mU(this,`needsTransportRestart`,!1),mU(this,`publish`,async(e,t,n)=>{var r;this.logger.debug(`Publishing Payload`),this.logger.trace({type:`method`,method:`publish`,params:{topic:e,message:t,opts:n}});let i=n?.ttl||bB,a=ez(n),o=n?.prompt||!1,s=n?.tag||0,c=n?.id||V().toString(),l={topic:e,message:t,opts:{ttl:i,relay:a,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}},u=`Failed to publish payload, please try again. id:${c} tag:${s}`;try{let r=new Promise(async r=>{let a=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(CB.publish,a),r(l))};this.relayer.events.on(CB.publish,a);let u=KP(new Promise((r,a)=>{this.rpcPublish({topic:e,message:t,ttl:i,prompt:o,tag:s,id:c,attestation:n?.attestation,tvf:n?.tvf}).then(r).catch(e=>{this.logger.warn(e,e?.message),a(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${s}`);try{await u,this.events.removeListener(CB.publish,a)}catch(e){this.queue.set(c,pU(fU({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:`method`,method:`publish`,params:{id:c,topic:e,message:t,opts:n}}),await KP(r,this.publishTimeout,u)}catch(e){if(this.logger.debug(`Failed to Publish Payload`),this.logger.error(e),(r=n?.internal)!=null&&r.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),mU(this,`on`,(e,t)=>{this.events.on(e,t)}),mU(this,`once`,(e,t)=>{this.events.once(e,t)}),mU(this,`off`,(e,t)=>{this.events.off(e,t)}),mU(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=p(t,this.name),this.registerEventListeners()}get context(){return w(this.logger)}async rpcPublish(e){var t,n;let{topic:r,message:i,ttl:a=bB,prompt:o,tag:s,id:c,attestation:l,tvf:u}=e,d={method:tz(ez().protocol).publish,params:fU({topic:r,message:i,ttl:a,prompt:o,tag:s,attestation:l},u),id:c};xz(d.params?.prompt)&&((t=d.params)==null||delete t.prompt),xz(d.params?.tag)&&((n=d.params)==null||delete n.tag),this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`message`,direction:`outgoing`,request:d});let f=await this.relayer.request(d);return this.relayer.events.emit(CB.publish,e),this.logger.debug(`Successfully Published Payload`),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let n=e.attempt+1;this.queue.set(t,pU(fU({},e),{attempt:n}));let{topic:r,message:i,opts:a,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${n}`),await this.rpcPublish(pU(fU({},e),{topic:r,message:i,ttl:a.ttl,prompt:a.prompt,tag:a.tag,id:a.id,attestation:o,tvf:a.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(It.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(CB.connection_stalled);return}this.checkQueue()}),this.relayer.on(CB.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}},gU=Object.defineProperty,_U=(e,t,n)=>t in e?gU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vU=(e,t,n)=>_U(e,typeof t==`symbol`?t:t+``,n),yU=class{constructor(){vU(this,`map`,new Map),vU(this,`set`,(e,t)=>{let n=this.get(e);this.exists(e,t)||this.map.set(e,[...n,t])}),vU(this,`get`,e=>this.map.get(e)||[]),vU(this,`exists`,(e,t)=>this.get(e).includes(t)),vU(this,`delete`,(e,t)=>{if(typeof t>`u`){this.map.delete(e);return}if(!this.map.has(e))return;let n=this.get(e);if(!this.exists(e,t))return;let r=n.filter(e=>e!==t);if(!r.length){this.map.delete(e);return}this.map.set(e,r)}),vU(this,`clear`,()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}},bU=Object.defineProperty,xU=Object.defineProperties,SU=Object.getOwnPropertyDescriptors,CU=Object.getOwnPropertySymbols,wU=Object.prototype.hasOwnProperty,TU=Object.prototype.propertyIsEnumerable,EU=(e,t,n)=>t in e?bU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DU=(e,t)=>{for(var n in t||={})wU.call(t,n)&&EU(e,n,t[n]);if(CU)for(var n of CU(t))TU.call(t,n)&&EU(e,n,t[n]);return e},OU=(e,t)=>xU(e,SU(t)),kU=(e,t,n)=>EU(e,typeof t==`symbol`?t:t+``,n),AU=class extends Jn{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,kU(this,`subscriptions`,new Map),kU(this,`topicMap`,new yU),kU(this,`events`,new Nt.EventEmitter),kU(this,`name`,AB),kU(this,`version`,`0.3`),kU(this,`pending`,new Map),kU(this,`cached`,[]),kU(this,`initialized`,!1),kU(this,`storagePrefix`,fB),kU(this,`subscribeTimeout`,(0,G.toMiliseconds)(G.ONE_MINUTE)),kU(this,`initialSubscribeTimeout`,(0,G.toMiliseconds)(G.ONE_SECOND*15)),kU(this,`clientId`),kU(this,`batchSubscribeTopicsLimit`,500),kU(this,`init`,async()=>{this.initialized||(this.logger.trace(`Initialized`),this.registerEventListeners(),await this.restore()),this.initialized=!0}),kU(this,`subscribe`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Subscribing Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}});try{let n=ez(t),r={topic:e,relay:n,transportType:t?.transportType};this.pending.set(e,r);let i=await this.rpcSubscribe(e,n,t);return typeof i==`string`&&(this.onSubscribe(i,r),this.logger.debug(`Successfully Subscribed Topic`),this.logger.trace({type:`method`,method:`subscribe`,params:{topic:e,opts:t}})),i}catch(e){throw this.logger.debug(`Failed to Subscribe Topic`),this.logger.error(e),e}}),kU(this,`unsubscribe`,async(e,t)=>{this.isInitialized(),typeof t?.id<`u`?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),kU(this,`isSubscribed`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),kU(this,`isKnownTopic`,e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),kU(this,`on`,(e,t)=>{this.events.on(e,t)}),kU(this,`once`,(e,t)=>{this.events.once(e,t)}),kU(this,`off`,(e,t)=>{this.events.off(e,t)}),kU(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),kU(this,`start`,async()=>{await this.onConnect()}),kU(this,`stop`,async()=>{await this.onDisconnect()}),kU(this,`restart`,async()=>{await this.restore(),await this.onRestart()}),kU(this,`checkPending`,async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),kU(this,`registerEventListeners`,()=>{this.relayer.core.heartbeat.on(It.pulse,async()=>{await this.checkPending()}),this.events.on(kB.created,async e=>{let t=kB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()}),this.events.on(kB.deleted,async e=>{let t=kB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=p(t,this.name),this.clientId=``}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+`//`+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let n=!1;try{n=this.getSubscription(e).topic===t}catch{}return n}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let n=this.topicMap.get(e);await Promise.all(n.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,n){this.logger.debug(`Unsubscribing Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}});try{let r=ez(n);await this.restartToComplete({topic:e,id:t,relay:r}),await this.rpcUnsubscribe(e,t,r);let i=vz(`USER_DISCONNECTED`,`${this.name}, ${e}`);await this.onUnsubscribe(e,t,i),this.logger.debug(`Successfully Unsubscribed Topic`),this.logger.trace({type:`method`,method:`unsubscribe`,params:{topic:e,id:t,opts:n}})}catch(e){throw this.logger.debug(`Failed to Unsubscribe Topic`),this.logger.error(e),e}}async rpcSubscribe(e,t,n){(!n||n?.transportType===EB.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});let r={method:tz(t.protocol).subscribe,params:{topic:e}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:r});let i=n?.internal?.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(n?.transportType===EB.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(r).catch(e=>this.logger.warn(e))},(0,G.toMiliseconds)(G.ONE_SECOND)),t;let a=await KP(new Promise(async t=>{let n=r=>{r.topic===e&&(this.events.removeListener(kB.created,n),t(r.id))};this.events.on(kB.created,n);try{let i=await KP(new Promise((e,t)=>{this.relayer.request(r).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(kB.created,n),t(i)}catch{}}),this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&i)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug(`Outgoing Relay Subscribe Payload stalled`),this.relayer.events.emit(CB.connection_stalled),i)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t=e[0].relay,n={method:tz(t.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});try{await await KP(new Promise(e=>{this.relayer.request(n).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,`rpcBatchSubscribe failed, please try again`)}catch{this.relayer.events.emit(CB.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;let t=e[0].relay,n={method:tz(t.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:n});let r;try{r=await await KP(new Promise((e,t)=>{this.relayer.request(n).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,`rpcBatchFetchMessages failed, please try again`)}catch{this.relayer.events.emit(CB.connection_stalled)}return r}rpcUnsubscribe(e,t,n){let r={method:tz(n.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug(`Outgoing Relay Payload`),this.logger.trace({type:`payload`,direction:`outgoing`,request:r}),this.relayer.request(r)}onSubscribe(e,t){this.setSubscription(e,OU(DU({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,DU({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,n){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,n),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug(`Setting subscription`),this.logger.trace({type:`method`,method:`setSubscription`,id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,DU({},t)),this.topicMap.set(t.topic,e),this.events.emit(kB.created,t)}getSubscription(e){this.logger.debug(`Getting subscription`),this.logger.trace({type:`method`,method:`getSubscription`,id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug(`Deleting subscription`),this.logger.trace({type:`method`,method:`deleteSubscription`,id:e,reason:t});let n=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(n.topic,e),this.events.emit(kB.deleted,OU(DU({},n),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(kB.sync)}async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let n=0;n<t;n++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(kB.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>`u`||!e.length)return;if(this.subscriptions.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>OU(DU({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await fF((0,G.toMiliseconds)(G.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||=await this.relayer.core.crypto.getClientId(),this.clientId}async getSubscriptionId(e){return LR(e+await this.getClientId())}},jU=Object.defineProperty,MU=Object.getOwnPropertySymbols,NU=Object.prototype.hasOwnProperty,PU=Object.prototype.propertyIsEnumerable,FU=(e,t,n)=>t in e?jU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IU=(e,t)=>{for(var n in t||={})NU.call(t,n)&&FU(e,n,t[n]);if(MU)for(var n of MU(t))PU.call(t,n)&&FU(e,n,t[n]);return e},LU=(e,t,n)=>FU(e,typeof t==`symbol`?t:t+``,n),RU=class extends Kn{constructor(e){super(e),LU(this,`protocol`,`wc`),LU(this,`version`,2),LU(this,`core`),LU(this,`logger`),LU(this,`events`,new Nt.EventEmitter),LU(this,`provider`),LU(this,`messages`),LU(this,`subscriber`),LU(this,`publisher`),LU(this,`name`,SB),LU(this,`transportExplicitlyClosed`,!1),LU(this,`initialized`,!1),LU(this,`connectionAttemptInProgress`,!1),LU(this,`relayUrl`),LU(this,`projectId`),LU(this,`packageName`),LU(this,`bundleId`),LU(this,`hasExperiencedNetworkDisruption`,!1),LU(this,`pingTimeout`),LU(this,`heartBeatTimeout`,(0,G.toMiliseconds)(G.THIRTY_SECONDS+G.FIVE_SECONDS)),LU(this,`reconnectTimeout`),LU(this,`connectPromise`),LU(this,`reconnectInProgress`,!1),LU(this,`requestsInFlight`,[]),LU(this,`connectTimeout`,(0,G.toMiliseconds)(G.ONE_SECOND*15)),LU(this,`request`,async e=>{this.logger.debug(`Publishing Request Payload`);let t=e.id||V().toString();await this.toEstablishConnection();try{this.logger.trace({id:t,method:e.method,topic:e.params?.topic},`relayer.request - publishing...`);let n=`${t}:${e.params?.tag||``}`;this.requestsInFlight.push(n);let r=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==n),r}catch(e){throw this.logger.debug(`Failed to Publish Request: ${t}`),e}}),LU(this,`resetPingTimeout`,()=>{kP()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t;try{this.logger.debug({},`pingTimeout: Connection stalled, terminating...`),(t=(e=this.provider?.connection?.socket)?.terminate)==null||t.call(e)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),LU(this,`onPayloadHandler`,e=>{this.onProviderPayload(e),this.resetPingTimeout()}),LU(this,`onConnectHandler`,()=>{this.logger.warn({},`Relayer connected 🛜`),this.startPingTimeout(),this.events.emit(CB.connect)}),LU(this,`onDisconnectHandler`,()=>{this.logger.warn({},`Relayer disconnected 🛑`),this.requestsInFlight=[],this.onProviderDisconnect()}),LU(this,`onProviderErrorHandler`,e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(CB.error,e),this.logger.fatal(`Fatal socket error received, closing transport`),this.transportClose()}),LU(this,`registerProviderListeners`,()=>{this.provider.on(wB.payload,this.onPayloadHandler),this.provider.on(wB.connect,this.onConnectHandler),this.provider.on(wB.disconnect,this.onDisconnectHandler),this.provider.on(wB.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<`u`&&typeof e.logger!=`string`?p(e.logger,this.name):(0,h.default)(v({level:e.logger||`error`})),this.messages=new iU(this.logger,e.core),this.subscriber=new AU(this,this.logger),this.publisher=new hU(this,this.logger),this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.projectId=e.projectId,jP()?this.packageName=FP():MP()&&(this.bundleId=FP()),this.provider={}}async init(){if(this.logger.trace(`Initialized`),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return w(this.logger)}get connected(){return this.provider?.connection?.socket?.readyState===1||!1}get connecting(){return this.provider?.connection?.socket?.readyState===0||this.connectPromise!==void 0||!1}async publish(e,t,n){this.isInitialized(),await this.publisher.publish(e,t,n),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:EB.relay},DB.outbound)}async subscribe(e,t){this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType===`relay`)&&await this.toEstablishConnection();let n=typeof t?.internal?.throwOnFailedPublish>`u`?!0:t?.internal?.throwOnFailedPublish,r=this.subscriber.topicMap.get(e)?.[0]||``,i,a=t=>{t.topic===e&&(this.subscriber.off(kB.created,a),i())};return await Promise.all([new Promise(e=>{i=e,this.subscriber.on(kB.created,a)}),new Promise(async(i,a)=>{r=await this.subscriber.subscribe(e,IU({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&a(e)})||r,i()})]),r}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await KP(this.provider.disconnect(),2e3,`provider.disconnect()`).catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn(`Starting WS connection skipped because the client has no topics to work with.`);return}if(this.connectPromise?(this.logger.debug({},`Waiting for existing connection attempt to resolve...`),await this.connectPromise,this.logger.debug({},`Existing connection attempt resolved`)):(this.connectPromise=new Promise(async(t,n)=>{await this.connect(e).then(t).catch(n).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},`Restarting transport...`),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await nB())throw Error(`No internet connection detected. Please restart your network and try again.`)}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace(`Batch message events is empty. Ignoring...`);return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(let e of t)try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,`Error while processing batch message event: `+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:n}=e;if(!t.sessionExists){let e={topic:n,expiry:ZP(G.FIVE_MINUTES),relay:{protocol:`irn`},active:!1};await this.core.pairing.pairings.set(n,e)}this.events.emit(CB.message,e),await this.recordMessageEvent(e,DB.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(wB.disconnect,n),await KP(new Promise((e,t)=>{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(wB.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let n=()=>{t(Error(`Connection interrupted while trying to subscribe`))};this.provider.once(wB.disconnect,n),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(wB.disconnect,n)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop();let t=e;this.logger.warn({},t.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,G.toMiliseconds)(t*1))),t++}}startPingTimeout(){var e,t;if(kP())try{(e=this.provider?.connection)!=null&&e.socket&&((t=this.provider?.connection?.socket)==null||t.on(`ping`,()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new P(new ku(VP({sdkVersion:TB,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){let{topic:n,message:r}=e;await this.messages.set(n,r,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:n}=e;if(!n||n.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${n}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let r=this.messages.has(t,n);return r&&this.logger.warn(`Ignoring duplicate message: ${n}`),r}async onProviderPayload(e){if(this.logger.debug(`Incoming Relay Payload`),this.logger.trace({type:`payload`,direction:`incoming`,payload:e}),u(e)){if(!e.method.endsWith(`_subscription`))return;let t=e.params,{topic:n,message:r,publishedAt:i,attestation:a}=t.data,o={topic:n,message:r,publishedAt:i,transportType:EB.relay,attestation:a};this.logger.debug(`Emitting Relayer Payload`),this.logger.trace(IU({type:`event`,event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else le(e)&&this.events.emit(CB.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,DB.inbound),this.events.emit(CB.message,e))}async acknowledgePayload(e){let t=c(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(wB.payload,this.onPayloadHandler),this.provider.off(wB.connect,this.onConnectHandler),this.provider.off(wB.disconnect,this.onDisconnectHandler),this.provider.off(wB.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await nB();oB(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(CB.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,G.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.connect()}};function zU(){}function BU(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)===`[object Object]`:!1}function VU(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function HU(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var UU=`[object RegExp]`,WU=`[object String]`,GU=`[object Number]`,KU=`[object Boolean]`,qU=`[object Arguments]`,JU=`[object Symbol]`,YU=`[object Date]`,XU=`[object Map]`,ZU=`[object Set]`,QU=`[object Array]`,$U=`[object Function]`,eW=`[object ArrayBuffer]`,tW=`[object Object]`,nW=`[object Error]`,rW=`[object DataView]`,iW=`[object Uint8Array]`,aW=`[object Uint8ClampedArray]`,oW=`[object Uint16Array]`,sW=`[object Uint32Array]`,cW=`[object BigUint64Array]`,lW=`[object Int8Array]`,uW=`[object Int16Array]`,dW=`[object Int32Array]`,fW=`[object BigInt64Array]`,pW=`[object Float32Array]`,mW=`[object Float64Array]`;function hW(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function gW(e,t,n){return _W(e,t,void 0,void 0,void 0,void 0,n)}function _W(e,t,n,r,i,a,o){let s=o(e,t,n,r,i,a);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case`bigint`:case`string`:case`boolean`:case`symbol`:case`undefined`:return e===t;case`number`:return e===t||Object.is(e,t);case`function`:return e===t;case`object`:return vW(e,t,a,o)}return vW(e,t,a,o)}function vW(e,t,n,r){if(Object.is(e,t))return!0;let i=HU(e),a=HU(t);if(i===qU&&(i=tW),a===qU&&(a=tW),i!==a)return!1;switch(i){case WU:return e.toString()===t.toString();case GU:return hW(e.valueOf(),t.valueOf());case KU:case YU:case JU:return Object.is(e.valueOf(),t.valueOf());case UU:return e.source===t.source&&e.flags===t.flags;case $U:return e===t}n??=new Map;let o=n.get(e),s=n.get(t);if(o!=null&&s!=null)return o===t;n.set(e,t),n.set(t,e);try{switch(i){case XU:if(e.size!==t.size)return!1;for(let[i,a]of e.entries())if(!t.has(i)||!_W(a,t.get(i),i,e,t,n,r))return!1;return!0;case ZU:{if(e.size!==t.size)return!1;let i=Array.from(e.values()),a=Array.from(t.values());for(let o=0;o<i.length;o++){let s=i[o],c=a.findIndex(i=>_W(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case QU:case iW:case aW:case oW:case sW:case cW:case lW:case uW:case dW:case fW:case pW:case mW:if(typeof Buffer<`u`&&Buffer.isBuffer(e)!==Buffer.isBuffer(t)||e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!_W(e[i],t[i],i,e,t,n,r))return!1;return!0;case eW:return e.byteLength===t.byteLength?vW(new Uint8Array(e),new Uint8Array(t),n,r):!1;case rW:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:vW(new Uint8Array(e),new Uint8Array(t),n,r);case nW:return e.name===t.name&&e.message===t.message;case tW:{if(!(vW(e.constructor,t.constructor,n,r)||BU(e)&&BU(t)))return!1;let i=[...Object.keys(e),...VU(e)],a=[...Object.keys(t),...VU(t)];if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++){let o=i[a],s=e[o];if(!Object.hasOwn(t,o))return!1;let c=t[o];if(!_W(s,c,o,e,t,n,r))return!1}return!0}default:return!1}}finally{n.delete(e),n.delete(t)}}function yW(e,t){return gW(e,t,zU)}var bW=Object.defineProperty,xW=Object.getOwnPropertySymbols,SW=Object.prototype.hasOwnProperty,CW=Object.prototype.propertyIsEnumerable,wW=(e,t,n)=>t in e?bW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,TW=(e,t)=>{for(var n in t||={})SW.call(t,n)&&wW(e,n,t[n]);if(xW)for(var n of xW(t))CW.call(t,n)&&wW(e,n,t[n]);return e},EW=(e,t,n)=>wW(e,typeof t==`symbol`?t:t+``,n),DW=class extends qn{constructor(e,t,n,r=fB,i=void 0){super(e,t,n,r),this.core=e,this.logger=t,this.name=n,EW(this,`map`,new Map),EW(this,`version`,`0.3`),EW(this,`cached`,[]),EW(this,`initialized`,!1),EW(this,`getKey`),EW(this,`storagePrefix`,fB),EW(this,`recentlyDeleted`,[]),EW(this,`recentlyDeletedLimit`,200),EW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>{this.getKey&&e!==null&&!xz(e)?this.map.set(this.getKey(e),e):Oz(e)?this.map.set(e.id,e):kz(e)&&this.map.set(e.topic,e)}),this.cached=[],!0)}),EW(this,`set`,async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug(`Setting value`),this.logger.trace({type:`method`,method:`set`,key:e,value:t}),this.map.set(e,t),await this.persist())}),EW(this,`get`,e=>(this.isInitialized(),this.logger.debug(`Getting value`),this.logger.trace({type:`method`,method:`get`,key:e}),this.getData(e))),EW(this,`getAll`,e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(n=>yW(t[n],e[n]))):this.values)),EW(this,`update`,async(e,t)=>{this.isInitialized(),this.logger.debug(`Updating value`),this.logger.trace({type:`method`,method:`update`,key:e,update:t});let n=TW(TW({},this.getData(e)),t);this.map.set(e,n),await this.persist()}),EW(this,`delete`,async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug(`Deleting value`),this.logger.trace({type:`method`,method:`delete`,key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=p(t,this.name),this.storagePrefix=r,this.getKey=i}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>`u`||!e.length)return;if(this.map.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},OW=Object.defineProperty,kW=(e,t,n)=>t in e?OW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t,n)=>kW(e,typeof t==`symbol`?t:t+``,n),AW=class{constructor(e,t){this.core=e,this.logger=t,Q(this,`name`,jB),Q(this,`version`,`0.3`),Q(this,`events`,new Nt.default),Q(this,`pairings`),Q(this,`initialized`,!1),Q(this,`storagePrefix`,fB),Q(this,`ignoredPayloadTypes`,[1]),Q(this,`registeredMethods`,[]),Q(this,`init`,async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace(`Initialized`))}),Q(this,`register`,({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),Q(this,`create`,async e=>{this.isInitialized();let t=PR(),n=await this.core.crypto.setSymKey(t),r=ZP(G.FIVE_MINUTES),i={protocol:`irn`},a={topic:n,expiry:r,relay:i,active:!1,methods:e?.methods},o=oz({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:t,relay:i,expiryTimestamp:r,methods:e?.methods});return this.events.emit(NB.create,a),this.core.expirer.set(n,r),await this.pairings.set(n,a),await this.core.relayer.subscribe(n,{transportType:e?.transportType}),{topic:n,uri:o}}),Q(this,`pair`,async e=>{this.isInitialized();let t=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[GB.pairing_started]}});this.isValidPair(e,t);let{topic:n,symKey:r,relay:i,expiryTimestamp:a,methods:o}=rz(e.uri);t.props.properties.topic=n,t.addTrace(GB.pairing_uri_validation_success),t.addTrace(GB.pairing_uri_not_expired);let s;if(this.pairings.keys.includes(n)){if(s=this.pairings.get(n),t.addTrace(GB.existing_pairing),s.active)throw t.setError(KB.active_pairing_already_exists),Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);t.addTrace(GB.pairing_not_expired)}let c=a||ZP(G.FIVE_MINUTES),l={topic:n,relay:i,expiry:c,active:!1,methods:o};this.core.expirer.set(n,c),await this.pairings.set(n,l),t.addTrace(GB.store_new_pairing),e.activatePairing&&await this.activate({topic:n}),this.events.emit(NB.create,l),t.addTrace(GB.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(r,n),t.addTrace(GB.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{t.setError(KB.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:i})}catch(e){throw t.setError(KB.subscribe_pairing_topic_failure),e}return t.addTrace(GB.subscribe_pairing_topic_success),l}),Q(this,`activate`,async({topic:e})=>{this.isInitialized();let t=ZP(G.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),Q(this,`ping`,async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn(`ping() is deprecated and will be removed in the next major release.`);let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,`wc_pairingPing`,{}),{done:n,resolve:r,reject:i}=GP();this.events.once($P(`pairing_ping`,e),({error:e})=>{e?i(e):r()}),await n()}}),Q(this,`updateExpiry`,async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),Q(this,`updateMetadata`,async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),Q(this,`getPairings`,()=>(this.isInitialized(),this.pairings.values)),Q(this,`disconnect`,async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,`wc_pairingDelete`,vz(`USER_DISCONNECTED`)),await this.deletePairing(t))}),Q(this,`formatUriFromPairing`,e=>{this.isInitialized();let{topic:t,relay:n,expiry:r,methods:i}=e,a=this.core.crypto.keychain.get(t);return oz({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:a,relay:n,expiryTimestamp:r,methods:i})}),Q(this,`sendRequest`,async(e,t,n)=>{let r=te(t,n),i=await this.core.crypto.encode(e,r),a=MB[t].req;return this.core.history.set(e,r),this.core.relayer.publish(e,i,a),r.id}),Q(this,`sendResult`,async(e,t,n)=>{let r=c(e,n),i=await this.core.crypto.encode(t,r),a=MB[(await this.core.history.get(t,e)).request.method].res;await this.core.relayer.publish(t,i,a),await this.core.history.resolve(r)}),Q(this,`sendError`,async(e,t,n)=>{let r=x(e,n),i=await this.core.crypto.encode(t,r),a=(await this.core.history.get(t,e)).request.method,o=MB[a]?MB[a].res:MB.unregistered_method.res;await this.core.relayer.publish(t,i,o),await this.core.history.resolve(r)}),Q(this,`deletePairing`,async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,vz(`USER_DISCONNECTED`)),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),Q(this,`cleanup`,async()=>{let e=this.pairings.getAll().filter(e=>QP(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),Q(this,`onRelayEventRequest`,async e=>{let{topic:t,payload:n}=e;switch(n.method){case`wc_pairingPing`:return await this.onPairingPingRequest(t,n);case`wc_pairingDelete`:return await this.onPairingDeleteRequest(t,n);default:return await this.onUnknownRpcMethodRequest(t,n)}}),Q(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n}=e,r=(await this.core.history.get(t,n.id)).request.method;switch(r){case`wc_pairingPing`:return this.onPairingPingResponse(t,n);default:return this.onUnknownRpcMethodResponse(r)}}),Q(this,`onPairingPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult(n,e,!0),this.events.emit(NB.ping,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Q(this,`onPairingPingResponse`,(e,t)=>{let{id:n}=t;setTimeout(()=>{E(t)?this.events.emit($P(`pairing_ping`,n),{}):T(t)&&this.events.emit($P(`pairing_ping`,n),{error:t.error})},500)}),Q(this,`onPairingDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(NB.delete,{id:n,topic:e})}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Q(this,`onUnknownRpcMethodRequest`,async(e,t)=>{let{id:n,method:r}=t;try{if(this.registeredMethods.includes(r))return;let t=vz(`WC_METHOD_UNSUPPORTED`,r);await this.sendError(n,e,t),this.logger.error(t)}catch(t){await this.sendError(n,e,t),this.logger.error(t)}}),Q(this,`onUnknownRpcMethodResponse`,e=>{this.registeredMethods.includes(e)||this.logger.error(vz(`WC_METHOD_UNSUPPORTED`,e))}),Q(this,`isValidPair`,(e,t)=>{var n;if(!Uz(e)){let{message:n}=Z(`MISSING_OR_INVALID`,`pair() params: ${e}`);throw t.setError(KB.malformed_pairing_uri),Error(n)}if(!Dz(e.uri)){let{message:n}=Z(`MISSING_OR_INVALID`,`pair() uri: ${e.uri}`);throw t.setError(KB.malformed_pairing_uri),Error(n)}let r=rz(e?.uri);if(!((n=r?.relay)!=null&&n.protocol)){let{message:e}=Z(`MISSING_OR_INVALID`,`pair() uri#relay-protocol`);throw t.setError(KB.malformed_pairing_uri),Error(e)}if(!(r!=null&&r.symKey)){let{message:e}=Z(`MISSING_OR_INVALID`,`pair() uri#symKey`);throw t.setError(KB.malformed_pairing_uri),Error(e)}if(r!=null&&r.expiryTimestamp&&(0,G.toMiliseconds)(r?.expiryTimestamp)<Date.now()){t.setError(KB.pairing_expired);let{message:e}=Z(`EXPIRED`,`pair() URI has expired. Please try again with a new connection URI.`);throw Error(e)}}),Q(this,`isValidPing`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),Q(this,`isValidDisconnect`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),Q(this,`isValidPairingTopic`,async e=>{if(!Sz(e,!1)){let{message:t}=Z(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(QP(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=Z(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=p(t,this.name),this.pairings=new DW(this.core,this.logger,this.name,this.storagePrefix)}get context(){return w(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(CB.message,async e=>{let{topic:t,message:n,transportType:r}=e;if(this.pairings.keys.includes(t)&&r!==EB.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(n)))try{let e=await this.core.crypto.decode(t,n);u(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):le(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,n)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(LB.expired,async e=>{let{topic:t}=XP(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(NB.expire,{topic:t}))})}},jW=Object.defineProperty,MW=(e,t,n)=>t in e?jW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,NW=(e,t,n)=>MW(e,typeof t==`symbol`?t:t+``,n),PW=class extends Un{constructor(e,t){super(e,t),this.core=e,this.logger=t,NW(this,`records`,new Map),NW(this,`events`,new Nt.EventEmitter),NW(this,`name`,FB),NW(this,`version`,`0.3`),NW(this,`cached`,[]),NW(this,`initialized`,!1),NW(this,`storagePrefix`,fB),NW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),!0)}),NW(this,`set`,(e,t,n)=>{if(this.isInitialized(),this.logger.debug(`Setting JSON-RPC request history record`),this.logger.trace({type:`method`,method:`set`,topic:e,request:t,chainId:n}),this.records.has(t.id))return;let r={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:n,expiry:ZP(G.THIRTY_DAYS)};this.records.set(r.id,r),this.persist(),this.events.emit(PB.created,r)}),NW(this,`resolve`,async e=>{if(this.isInitialized(),this.logger.debug(`Updating JSON-RPC response history record`),this.logger.trace({type:`method`,method:`update`,response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>`u`&&(t.response=T(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(PB.updated,t))}),NW(this,`get`,async(e,t)=>(this.isInitialized(),this.logger.debug(`Getting record`),this.logger.trace({type:`method`,method:`get`,topic:e,id:t}),await this.getRecord(t))),NW(this,`delete`,(e,t)=>{this.isInitialized(),this.logger.debug(`Deleting record`),this.logger.trace({type:`method`,method:`delete`,id:t}),this.values.forEach(n=>{if(n.topic===e){if(typeof t<`u`&&n.id!==t)return;this.records.delete(n.id),this.events.emit(PB.deleted,n)}}),this.persist()}),NW(this,`exists`,async(e,t)=>(this.isInitialized(),this.records.has(t)?(await this.getRecord(t)).topic===e:!1)),NW(this,`on`,(e,t)=>{this.events.on(e,t)}),NW(this,`once`,(e,t)=>{this.events.once(e,t)}),NW(this,`off`,(e,t)=>{this.events.off(e,t)}),NW(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=p(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){let e=[];return this.values.forEach(t=>{if(typeof t.response<`u`)return;let n={topic:t.topic,request:te(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(n)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(PB.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>`u`||!e.length)return;if(this.records.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(PB.created,e=>{let t=PB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(PB.updated,e=>{let t=PB.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.events.on(PB.deleted,e=>{let t=PB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,record:e})}),this.core.heartbeat.on(It.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,G.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(PB.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},FW=Object.defineProperty,IW=(e,t,n)=>t in e?FW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LW=(e,t,n)=>IW(e,typeof t==`symbol`?t:t+``,n),RW=class extends Yn{constructor(e,t){super(e,t),this.core=e,this.logger=t,LW(this,`expirations`,new Map),LW(this,`events`,new Nt.EventEmitter),LW(this,`name`,IB),LW(this,`version`,`0.3`),LW(this,`cached`,[]),LW(this,`initialized`,!1),LW(this,`storagePrefix`,fB),LW(this,`init`,async()=>{this.initialized||=(this.logger.trace(`Initialized`),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),!0)}),LW(this,`has`,e=>{try{let t=this.formatTarget(e);return typeof this.getExpiration(t)<`u`}catch{return!1}}),LW(this,`set`,(e,t)=>{this.isInitialized();let n=this.formatTarget(e),r={target:n,expiry:t};this.expirations.set(n,r),this.checkExpiry(n,r),this.events.emit(LB.created,{target:n,expiration:r})}),LW(this,`get`,e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),LW(this,`del`,e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),n=this.getExpiration(t);this.expirations.delete(t),this.events.emit(LB.deleted,{target:t,expiration:n})}}),LW(this,`on`,(e,t)=>{this.events.on(e,t)}),LW(this,`once`,(e,t)=>{this.events.once(e,t)}),LW(this,`off`,(e,t)=>{this.events.off(e,t)}),LW(this,`removeListener`,(e,t)=>{this.events.removeListener(e,t)}),this.logger=p(t,this.name)}get context(){return w(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//`+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e==`string`)return JP(e);if(typeof e==`number`)return YP(e);let{message:t}=Z(`UNKNOWN_TYPE`,`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(LB.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>`u`||!e.length)return;if(this.expirations.size){let{message:e}=Z(`RESTORE_WILL_OVERRIDE`,this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:`method`,method:`restore`,expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=Z(`NO_MATCHING_KEY`,`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:n}=t;(0,G.toMiliseconds)(n)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(LB.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(It.pulse,()=>this.checkExpirations()),this.events.on(LB.created,e=>{let t=LB.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(LB.expired,e=>{let t=LB.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()}),this.events.on(LB.deleted,e=>{let t=LB.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:`event`,event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}},zW=Object.defineProperty,BW=(e,t,n)=>t in e?zW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VW=(e,t,n)=>BW(e,typeof t==`symbol`?t:t+``,n),HW=class extends Xn{constructor(e,t,n){super(e,t,n),this.core=e,this.logger=t,this.store=n,VW(this,`name`,RB),VW(this,`abortController`),VW(this,`isDevEnv`),VW(this,`verifyUrlV3`,VB),VW(this,`storagePrefix`,fB),VW(this,`version`,2),VW(this,`publicKey`),VW(this,`fetchPromise`),VW(this,`init`,async()=>{this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,G.toMiliseconds)(this.publicKey?.expiresAt)<Date.now()&&(this.logger.debug(`verify v2 public key expired`),await this.removePublicKey()))}),VW(this,`register`,async e=>{if(!NP()||this.isDevEnv)return;let t=window.location.origin,{id:n,decryptedId:r}=e,i=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${n}&decryptedId=${r}`;try{let e=(0,Ps.getDocument)(),t=this.startAbortTimer(G.ONE_SECOND*5),r=await new Promise((r,a)=>{let o=()=>{window.removeEventListener(`message`,c),e.body.removeChild(s),a(`attestation aborted`)};this.abortController.signal.addEventListener(`abort`,o);let s=e.createElement(`iframe`);s.src=i,s.style.display=`none`,s.addEventListener(`error`,o,{signal:this.abortController.signal});let c=i=>{if(i.data&&typeof i.data==`string`)try{let a=JSON.parse(i.data);if(a.type===`verify_attestation`){if(fs(a.attestation).payload.id!==n)return;clearInterval(t),e.body.removeChild(s),this.abortController.signal.removeEventListener(`abort`,o),window.removeEventListener(`message`,c),r(a.attestation===null?``:a.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(s),window.addEventListener(`message`,c,{signal:this.abortController.signal})});return this.logger.debug(`jwt attestation`,r),r}catch(e){this.logger.warn(e)}return``}),VW(this,`resolve`,async e=>{if(this.isDevEnv)return``;let{attestationId:t,hash:n,encryptedId:r}=e;if(t===``){this.logger.debug(`resolve: attestationId is empty, skipping`);return}if(t){if(fs(t).payload.id!==r)return;let e=await this.isValidJwtAttestation(t);if(e){if(!e.isVerified){this.logger.warn(`resolve: jwt attestation: origin url not verified`);return}return e}}if(!n)return;let i=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(n,i)}),VW(this,`fetchAttestation`,async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let n=this.startAbortTimer(G.ONE_SECOND*5),r=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(n),r.status===200?await r.json():void 0}),VW(this,`getVerifyUrl`,e=>{let t=e||`https://verify.walletconnect.org`;return HB.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: https://verify.walletconnect.org`),t=`https://verify.walletconnect.org`),t}),VW(this,`fetchPublicKey`,async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(G.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),VW(this,`persistPublicKey`,async e=>{this.logger.debug(`persisting public key to local storage`,e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),VW(this,`removePublicKey`,async()=>{this.logger.debug(`removing verify v2 public key from storage`),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),VW(this,`isValidJwtAttestation`,async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}let n=await this.fetchAndPersistPublicKey();try{if(n)return this.validateAttestation(e,n)}catch(e){this.logger.error(e),this.logger.warn(`error validating attestation`)}}),VW(this,`getPublicKey`,async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),VW(this,`fetchAndPersistPublicKey`,async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),VW(this,`validateAttestation`,(e,t)=>{let n=$R(e,t.publicKey),r={hasExpired:(0,G.toMiliseconds)(n.exp)<Date.now(),payload:n};if(r.hasExpired)throw this.logger.warn(`resolve: jwt attestation expired`),Error(`JWT attestation expired`);return{origin:r.payload.origin,isScam:r.payload.isScam,isVerified:r.payload.isVerified}}),this.logger=p(t,this.name),this.abortController=new AbortController,this.isDevEnv=sF(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+`//verify:public:key`}get context(){return w(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,G.toMiliseconds)(e))}},UW=Object.defineProperty,WW=(e,t,n)=>t in e?UW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,GW=(e,t,n)=>WW(e,typeof t==`symbol`?t:t+``,n),KW=class extends Zn{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,GW(this,`context`,UB),GW(this,`registerDeviceToken`,async e=>{let{clientId:t,token:n,notificationType:r,enableEncrypted:i=!1}=e,a=`${WB}/${this.projectId}/clients`;await fetch(a,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({client_id:t,type:r,token:n,always_raw:i})})}),this.logger=p(t,this.context)}},qW=Object.defineProperty,JW=Object.getOwnPropertySymbols,YW=Object.prototype.hasOwnProperty,XW=Object.prototype.propertyIsEnumerable,ZW=(e,t,n)=>t in e?qW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QW=(e,t)=>{for(var n in t||={})YW.call(t,n)&&ZW(e,n,t[n]);if(JW)for(var n of JW(t))XW.call(t,n)&&ZW(e,n,t[n]);return e},$W=(e,t,n)=>ZW(e,typeof t==`symbol`?t:t+``,n),eG=class extends Qn{constructor(e,t,n=!0){super(e,t,n),this.core=e,this.logger=t,$W(this,`context`,QB),$W(this,`storagePrefix`,fB),$W(this,`storageVersion`,ZB),$W(this,`events`,new Map),$W(this,`shouldPersist`,!1),$W(this,`init`,async()=>{if(!sF())try{let e={eventId:oF(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:`INIT`,type:``,properties:{client_id:await this.core.crypto.getClientId(),user_agent:BP(this.core.relayer.protocol,this.core.relayer.version,TB)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),$W(this,`createEvent`,e=>{let{event:t=`ERROR`,type:n=``,properties:{topic:r,trace:i}}=e,a=oF(),o=this.core.projectId||``,s=QW({eventId:a,timestamp:Date.now(),props:{event:t,type:n,properties:{topic:r,trace:i}},bundleId:o,domain:this.getAppDomain()},this.setMethods(a));return this.telemetryEnabled&&(this.events.set(a,s),this.shouldPersist=!0),s}),$W(this,`getEvent`,e=>{let{eventId:t,topic:n}=e;if(t)return this.events.get(t);let r=Array.from(this.events.values()).find(e=>e.props.properties.topic===n);if(r)return QW(QW({},r),this.setMethods(r.eventId))}),$W(this,`deleteEvent`,e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),$W(this,`setEventListeners`,()=>{this.core.heartbeat.on(It.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,G.fromMiliseconds)(Date.now())-(0,G.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),$W(this,`setMethods`,e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),$W(this,`addTrace`,(e,t)=>{let n=this.events.get(e);n&&(n.props.properties.trace.push(t),this.events.set(e,n),this.shouldPersist=!0)}),$W(this,`setError`,(e,t)=>{let n=this.events.get(e);n&&(n.props.type=t,n.timestamp=Date.now(),this.events.set(e,n),this.shouldPersist=!0)}),$W(this,`persist`,async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),$W(this,`restore`,async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,QW(QW({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),$W(this,`submit`,async()=>{if(!this.telemetryEnabled||this.events.size===0)return;let e=[];for(let[t,n]of this.events)n.props.type&&e.push(n);if(e.length!==0)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),$W(this,`sendEvent`,async e=>{let t=this.getAppDomain()?``:`&sp=desktop`;return await fetch(`${$B}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${TB}${t}`,{method:`POST`,body:JSON.stringify(e)})}),$W(this,`getAppDomain`,()=>LP().url),this.logger=p(t,this.context),this.telemetryEnabled=n,n?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+`//`+this.context}},tG=Object.defineProperty,nG=Object.getOwnPropertySymbols,rG=Object.prototype.hasOwnProperty,iG=Object.prototype.propertyIsEnumerable,aG=(e,t,n)=>t in e?tG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oG=(e,t)=>{for(var n in t||={})rG.call(t,n)&&aG(e,n,t[n]);if(nG)for(var n of nG(t))iG.call(t,n)&&aG(e,n,t[n]);return e},sG=(e,t,n)=>aG(e,typeof t==`symbol`?t:t+``,n),cG=class e extends zn{constructor(e){var t;super(e),sG(this,`protocol`,`wc`),sG(this,`version`,2),sG(this,`name`,dB),sG(this,`relayUrl`),sG(this,`projectId`),sG(this,`customStoragePrefix`),sG(this,`events`,new Nt.EventEmitter),sG(this,`logger`),sG(this,`heartbeat`),sG(this,`relayer`),sG(this,`crypto`),sG(this,`storage`),sG(this,`history`),sG(this,`expirer`),sG(this,`pairing`),sG(this,`verify`),sG(this,`echoClient`),sG(this,`linkModeSupportedApps`),sG(this,`eventClient`),sG(this,`initialized`,!1),sG(this,`logChunkController`),sG(this,`on`,(e,t)=>this.events.on(e,t)),sG(this,`once`,(e,t)=>this.events.once(e,t)),sG(this,`off`,(e,t)=>this.events.off(e,t)),sG(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),sG(this,`dispatchEnvelope`,({topic:e,message:t,sessionExists:n})=>{if(!e||!t)return;let r={topic:e,message:t,publishedAt:Date.now(),transportType:EB.link_mode};this.relayer.onLinkMessageEvent(r,{sessionExists:n})}),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||`wss://relay.walletconnect.org`,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:``;let{logger:n,chunkLoggerController:r}=S({opts:v({level:typeof e?.logger==`string`&&e.logger?e.logger:pB.logger,name:dB}),maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=r,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;(e=this.logChunkController)!=null&&e.downloadLogsBlobInBrowser&&((t=this.logChunkController)==null||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=p(n,this.name),this.heartbeat=new Lt,this.crypto=new qH(this,this.logger,e?.keychain),this.history=new PW(this,this.logger),this.expirer=new RW(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Fn(oG(oG({},mB),e?.storageOptions)),this.relayer=new RU({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new AW(this,this.logger),this.verify=new HW(this,this.logger,this.storage),this.echoClient=new KW(this.projectId||``,this.logger),this.linkModeSupportedApps=[],this.eventClient=new eG(this,this.logger,e?.telemetryEnabled)}static async init(t){let n=new e(t);await n.initialize();let r=await n.crypto.getClientId();return await n.storage.setItem(OB,r),n}get context(){return w(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){return this.logChunkController?.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(`WALLETCONNECT_LINK_MODE_APPS`,this.linkModeSupportedApps))}async initialize(){this.logger.trace(`Initialized`);try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(`WALLETCONNECT_LINK_MODE_APPS`)||[],this.initialized=!0,this.logger.info(`Core Initialization Success`)}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}},lG=`client`,uG=`wc@2:${lG}:`,dG={name:lG,logger:`error`,controller:!1,relayUrl:`wss://relay.walletconnect.org`},fG=`WALLETCONNECT_DEEPLINK_CHOICE`,pG=`proposal`;G.THIRTY_DAYS;var mG=`Proposal expired`,hG=`session`,gG=G.SEVEN_DAYS,_G=`engine`,vG={wc_sessionPropose:{req:{ttl:G.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1104},res:{ttl:G.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1106},res:{ttl:G.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:G.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:G.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1112},res:{ttl:G.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:G.ONE_DAY,prompt:!1,tag:1114},res:{ttl:G.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:G.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:G.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:G.FIVE_MINUTES,prompt:!1,tag:1119}}},yG={min:G.FIVE_MINUTES,max:G.SEVEN_DAYS},bG={idle:`IDLE`,active:`ACTIVE`},xG={eth_sendTransaction:{key:``},eth_sendRawTransaction:{key:``},wallet_sendCalls:{key:``},solana_signTransaction:{key:`signature`},solana_signAllTransactions:{key:`transactions`},solana_signAndSendTransaction:{key:`signature`}},SG=`request`,CG=[`wc_sessionPropose`,`wc_sessionRequest`,`wc_authRequest`,`wc_sessionAuthenticate`],wG=`auth`,TG=`authKeys`,EG=`pairingTopics`,DG=`requests`,OG=`wc@1.5:${wG}:`,kG=`${OG}:PUB_KEY`,AG=Object.defineProperty,jG=Object.defineProperties,MG=Object.getOwnPropertyDescriptors,NG=Object.getOwnPropertySymbols,PG=Object.prototype.hasOwnProperty,FG=Object.prototype.propertyIsEnumerable,IG=(e,t,n)=>t in e?AG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LG=(e,t)=>{for(var n in t||={})PG.call(t,n)&&IG(e,n,t[n]);if(NG)for(var n of NG(t))FG.call(t,n)&&IG(e,n,t[n]);return e},RG=(e,t)=>jG(e,MG(t)),$=(e,t,n)=>IG(e,typeof t==`symbol`?t:t+``,n),zG=class extends rr{constructor(e){super(e),$(this,`name`,_G),$(this,`events`,new Nt.default),$(this,`initialized`,!1),$(this,`requestQueue`,{state:bG.idle,queue:[]}),$(this,`sessionRequestQueue`,{state:bG.idle,queue:[]}),$(this,`requestQueueDelay`,G.ONE_SECOND),$(this,`expectedPairingMethodMap`,new Map),$(this,`recentlyDeletedMap`,new Map),$(this,`recentlyDeletedLimit`,200),$(this,`relayMessageCache`,[]),$(this,`pendingSessions`,new Map),$(this,`init`,async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(vG)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,G.toMiliseconds)(this.requestQueueDelay)))}),$(this,`connect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=RG(LG({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t);let{pairingTopic:n,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:a,scopedProperties:o,relays:s}=t,c=n,l,u=!1;try{if(c){let e=this.client.core.pairing.pairings.get(c);this.client.logger.warn(`connect() with existing pairing topic is deprecated and will be removed in the next major release.`),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${c}) failed`),e}if(!c||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();c=e,l=t}if(!c){let{message:e}=Z(`NO_MATCHING_KEY`,`connect() pairing topic: ${c}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),f=vG.wc_sessionPropose.req.ttl||G.FIVE_MINUTES,p=ZP(f),m=RG(LG(LG({requiredNamespaces:r,optionalNamespaces:i,relays:s??[{protocol:`irn`}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:p,pairingTopic:c},a&&{sessionProperties:a}),o&&{scopedProperties:o}),{id:y()}),h=$P(`session_connect`,m.id),{reject:g,resolve:_,done:v}=GP(f,mG),b=({id:e})=>{e===m.id&&(this.client.events.off(`proposal_expire`,b),this.pendingSessions.delete(m.id),this.events.emit(h,{error:{message:`Proposal expired`,code:0}}))};return this.client.events.on(`proposal_expire`,b),this.events.once(h,({error:e,session:t})=>{this.client.events.off(`proposal_expire`,b),e?g(e):t&&_(t)}),await this.sendRequest({topic:c,method:`wc_sessionPropose`,params:m,throwOnFailedPublish:!0,clientRpcId:m.id}),await this.setProposal(m.id,m),{uri:l,approval:v}}),$(this,`pair`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error(`pair() failed`),e}}),$(this,`approve`,async e=>{let t=this.client.core.eventClient.createEvent({properties:{topic:(e?.id)?.toString(),trace:[qB.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw t.setError(JB.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(n){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),t.setError(JB.proposal_not_found),n}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error(`approve() -> isValidApprove() failed`),t.setError(JB.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:r,namespaces:i,sessionProperties:a,scopedProperties:o,sessionConfig:s}=e,c=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:t.eventId});let{pairingTopic:l,proposer:u,requiredNamespaces:d,optionalNamespaces:f}=c,p=this.client.core.eventClient?.getEvent({topic:l});p||=this.client.core.eventClient?.createEvent({type:qB.session_approve_started,properties:{topic:l,trace:[qB.session_approve_started,qB.session_namespaces_validation_success]}});let m=await this.client.core.crypto.generateKeyPair(),h=u.publicKey,g=await this.client.core.crypto.generateSharedKey(m,h),_=LG(LG(LG({relay:{protocol:r??`irn`},namespaces:i,controller:{publicKey:m,metadata:this.client.metadata},expiry:ZP(gG)},a&&{sessionProperties:a}),o&&{scopedProperties:o}),s&&{sessionConfig:s}),v=EB.relay;p.addTrace(qB.subscribing_session_topic);try{await this.client.core.relayer.subscribe(g,{transportType:v})}catch(e){throw p.setError(JB.subscribe_session_topic_failure),e}p.addTrace(qB.subscribe_session_topic_success);let y=RG(LG({},_),{topic:g,requiredNamespaces:d,optionalNamespaces:f,pairingTopic:l,acknowledged:!1,self:_.controller,peer:{publicKey:u.publicKey,metadata:u.metadata},controller:m,transportType:EB.relay});await this.client.session.set(g,y),p.addTrace(qB.store_session);try{p.addTrace(qB.publishing_session_settle),await this.sendRequest({topic:g,method:`wc_sessionSettle`,params:_,throwOnFailedPublish:!0}).catch(e=>{throw p?.setError(JB.session_settle_publish_failure),e}),p.addTrace(qB.session_settle_publish_success),p.addTrace(qB.publishing_session_approve),await this.sendResult({id:n,topic:l,result:{relay:{protocol:r??`irn`},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw p?.setError(JB.session_approve_publish_failure),e}),p.addTrace(qB.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(g,vz(`USER_DISCONNECTED`)),await this.client.core.relayer.unsubscribe(g),e}return this.client.core.eventClient.deleteEvent({eventId:p.eventId}),await this.client.core.pairing.updateMetadata({topic:l,metadata:u.metadata}),await this.client.proposal.delete(n,vz(`USER_DISCONNECTED`)),await this.client.core.pairing.activate({topic:l}),await this.setExpiry(g,ZP(gG)),{topic:g,acknowledged:()=>Promise.resolve(this.client.session.get(g))}}),$(this,`reject`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error(`reject() -> isValidReject() failed`),e}let{id:t,reason:n}=e,r;try{r=this.client.proposal.get(t).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),e}r&&(await this.sendError({id:t,topic:r,error:n,rpcOpts:vG.wc_sessionPropose.reject}),await this.client.proposal.delete(t,vz(`USER_DISCONNECTED`)))}),$(this,`update`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error(`update() -> isValidUpdate() failed`),e}let{topic:t,namespaces:n}=e,{done:r,resolve:i,reject:a}=GP(),o=y(),s=V().toString(),c=this.client.session.get(t).namespaces;return this.events.once($P(`session_update`,o),({error:e})=>{e?a(e):i()}),await this.client.session.update(t,{namespaces:n}),await this.sendRequest({topic:t,method:`wc_sessionUpdate`,params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:s}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),a(e)}),{acknowledged:r}}),$(this,`extend`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error(`extend() -> isValidExtend() failed`),e}let{topic:t}=e,n=y(),{done:r,resolve:i,reject:a}=GP();return this.events.once($P(`session_extend`,n),({error:e})=>{e?a(e):i()}),await this.setExpiry(t,ZP(gG)),this.sendRequest({topic:t,method:`wc_sessionExtend`,params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(e=>{a(e)}),{acknowledged:r}}),$(this,`request`,async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error(`request() -> isValidRequest() failed`),e}let{chainId:t,request:n,topic:r,expiry:i=vG.wc_sessionRequest.req.ttl}=e,a=this.client.session.get(r);a?.transportType===EB.relay&&await this.confirmOnlineStateOrThrow();let o=y(),s=V().toString(),{done:c,resolve:l,reject:u}=GP(i,`Request expired. Please try again.`);this.events.once($P(`session_request`,o),({error:e,result:t})=>{e?u(e):l(t)});let d=`wc_sessionRequest`,f=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(f)return await this.sendRequest({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:{request:RG(LG({},n),{expiryTimestamp:ZP(i)}),chainId:t},expiry:i,throwOnFailedPublish:!0,appLink:f}).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),await c();let p={request:RG(LG({},n),{expiryTimestamp:ZP(i)}),chainId:t},m=this.shouldSetTVF(d,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(LG({clientRpcId:o,relayRpcId:s,topic:r,method:d,params:p,expiry:i,throwOnFailedPublish:!0},m&&{tvf:this.getTVFParams(o,p)})).catch(e=>u(e)),this.client.events.emit(`session_request_sent`,{topic:r,request:n,chainId:t,id:o}),e()}),new Promise(async e=>{var t;(t=a.sessionConfig)!=null&&t.disableDeepLink||await tF({id:o,topic:r,wcDeepLink:await iF(this.client.core.storage,fG)}),e()}),c()]).then(e=>e[2])}),$(this,`respond`,async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:n}=e,{id:r}=n,i=this.client.session.get(t);i.transportType===EB.relay&&await this.confirmOnlineStateOrThrow();let a=this.getAppLinkIfEnabled(i.peer.metadata,i.transportType);E(n)?await this.sendResult({id:r,topic:t,result:n.result,throwOnFailedPublish:!0,appLink:a}):T(n)&&await this.sendError({id:r,topic:t,error:n.error,appLink:a}),this.cleanupAfterResponse(e)}),$(this,`ping`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error(`ping() -> isValidPing() failed`),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=y(),n=V().toString(),{done:r,resolve:i,reject:a}=GP();this.events.once($P(`session_ping`,e),({error:e})=>{e?a(e):i()}),await Promise.all([this.sendRequest({topic:t,method:`wc_sessionPing`,params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:n}),r()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn(`ping() on pairing topic is deprecated and will be removed in the next major release.`),await this.client.core.pairing.ping({topic:t}))}),$(this,`emit`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:n,chainId:r}=e,i=V().toString(),a=y();await this.sendRequest({topic:t,method:`wc_sessionEvent`,params:{event:n,chainId:r},throwOnFailedPublish:!0,relayRpcId:i,clientRpcId:a})}),$(this,`disconnect`,async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:`wc_sessionDelete`,params:vz(`USER_DISCONNECTED`),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=Z(`MISMATCHED_TOPIC`,`Session or pairing topic not found: ${t}`);throw Error(e)}}),$(this,`find`,e=>(this.isInitialized(),this.client.session.getAll().filter(t=>wz(t,e)))),$(this,`getPendingSessionRequests`,()=>this.client.pendingRequest.getAll()),$(this,`authenticate`,async(e,t)=>{this.isInitialized(),this.isValidAuthenticate(e);let n=t&&this.client.core.linkModeSupportedApps.includes(t)&&this.client.metadata.redirect?.linkMode,r=n?EB.link_mode:EB.relay;r===EB.relay&&await this.confirmOnlineStateOrThrow();let{chains:i,statement:a=``,uri:o,domain:s,nonce:c,type:l,exp:u,nbf:d,methods:f=[],expiry:p}=e,m=[...e.resources||[]],{topic:h,uri:g}=await this.client.core.pairing.create({methods:[`wc_sessionAuthenticate`],transportType:r});this.client.logger.info({message:`Generated new pairing`,pairing:{topic:h,uri:g}});let _=await this.client.core.crypto.generateKeyPair(),v=IR(_);if(await Promise.all([this.client.auth.authKeys.set(kG,{responseTopic:v,publicKey:_}),this.client.auth.pairingTopics.set(v,{topic:v,pairingTopic:h})]),await this.client.core.relayer.subscribe(v,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${h}`),f.length>0){let{namespace:e}=EP(i[0]),t=jI(e,`request`,f);RI(m)&&(t=NI(t,m.pop())),m.push(t)}let b=p&&p>vG.wc_sessionAuthenticate.req.ttl?p:vG.wc_sessionAuthenticate.req.ttl,x={authPayload:{type:l??`caip122`,chains:i,statement:a,aud:o,domain:s,version:`1`,nonce:c,iat:new Date().toISOString(),exp:u,nbf:d,resources:m},requester:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:ZP(b)},S={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:i,methods:[...new Set([`personal_sign`,...f])],events:[`chainChanged`,`accountsChanged`]}},relays:[{protocol:`irn`}],pairingTopic:h,proposer:{publicKey:_,metadata:this.client.metadata},expiryTimestamp:ZP(vG.wc_sessionPropose.req.ttl),id:y()},{done:C,resolve:w,reject:T}=GP(b,`Request expired`),E=y(),D=$P(`session_connect`,S.id),O=$P(`session_request`,E),k=async({error:e,session:t})=>{this.events.off(O,A),e?T(e):t&&w({session:t})},A=async e=>{var n,i,a;if(await this.deletePendingAuthRequest(E,{message:`fulfilled`,code:0}),e.error){let t=vz(`WC_METHOD_UNSUPPORTED`,`wc_sessionAuthenticate`);return e.error.code===t.code?void 0:(this.events.off(D,k),T(e.error.message))}await this.deleteProposal(S.id),this.events.off(D,k);let{cacaos:o,responder:s}=e.result,c=[],l=[];for(let e of o){await SI({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,`Signature verification failed`),T(vz(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`)));let{p:t}=e,n=RI(t.resources),r=[bI(t.iss)],i=xI(t.iss);if(n){let e=II(n),t=LI(n);c.push(...e),r.push(...t)}for(let e of r)l.push(`${e}:${i}`)}let u=await this.client.core.crypto.generateSharedKey(_,s.publicKey),d;c.length>0&&(d={topic:u,acknowledged:!0,self:{publicKey:_,metadata:this.client.metadata},peer:s,controller:s.publicKey,expiry:ZP(gG),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:h,namespaces:hz([...new Set(c)],[...new Set(l)]),transportType:r},await this.client.core.relayer.subscribe(u,{transportType:r}),await this.client.session.set(u,d),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:s.metadata}),d=this.client.session.get(u)),(n=this.client.metadata.redirect)!=null&&n.linkMode&&(i=s.metadata.redirect)!=null&&i.linkMode&&(a=s.metadata.redirect)!=null&&a.universal&&t&&(this.client.core.addLinkModeSupportedApp(s.metadata.redirect.universal),this.client.session.update(u,{transportType:EB.link_mode})),w({auths:o,session:d})};this.events.once(D,k),this.events.once(O,A);let j;try{if(n){let e=te(`wc_sessionAuthenticate`,x,E);this.client.core.history.set(h,e),j=sz(t,h,await this.client.core.crypto.encode(``,e,{type:2,encoding:DR}))}else await Promise.all([this.sendRequest({topic:h,method:`wc_sessionAuthenticate`,params:x,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:E}),this.sendRequest({topic:h,method:`wc_sessionPropose`,params:S,expiry:vG.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:S.id})])}catch(e){throw this.events.off(D,k),this.events.off(O,A),e}return await this.setProposal(S.id,S),await this.setAuthRequest(E,{request:RG(LG({},x),{verifyContext:{}}),pairingTopic:h,transportType:r}),{uri:j??g,response:C}}),$(this,`approveSessionAuthenticate`,async e=>{let{id:t,auths:n}=e,r=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[YB.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(XB.no_internet_connection),e}let i=this.getPendingAuthRequest(t);if(!i)throw r.setError(XB.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${t}`);let a=i.transportType||EB.relay;a===EB.relay&&await this.confirmOnlineStateOrThrow();let o=i.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),c=IR(o),l={type:1,receiverPublicKey:o,senderPublicKey:s},u=[],d=[];for(let e of n){if(!await SI({cacao:e,projectId:this.client.core.projectId})){r.setError(XB.invalid_cacao);let e=vz(`SESSION_SETTLEMENT_FAILED`,`Signature verification failed`);throw await this.sendError({id:t,topic:c,error:e,encodeOpts:l}),Error(e.message)}r.addTrace(YB.cacaos_verified);let{p:n}=e,i=RI(n.resources),a=[bI(n.iss)],o=xI(n.iss);if(i){let e=II(i),t=LI(i);u.push(...e),a.push(...t)}for(let e of a)d.push(`${e}:${o}`)}let f=await this.client.core.crypto.generateSharedKey(s,o);r.addTrace(YB.create_authenticated_session_topic);let p;if(u?.length>0){p={topic:f,acknowledged:!0,self:{publicKey:s,metadata:this.client.metadata},peer:{publicKey:o,metadata:i.requester.metadata},controller:o,expiry:ZP(gG),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:`irn`},pairingTopic:i.pairingTopic,namespaces:hz([...new Set(u)],[...new Set(d)]),transportType:a},r.addTrace(YB.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:a})}catch(e){throw r.setError(XB.subscribe_authenticated_session_topic_failure),e}r.addTrace(YB.subscribe_authenticated_session_topic_success),await this.client.session.set(f,p),r.addTrace(YB.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:i.pairingTopic,metadata:i.requester.metadata})}r.addTrace(YB.publishing_authenticated_session_approve);try{await this.sendResult({topic:c,id:t,result:{cacaos:n,responder:{publicKey:s,metadata:this.client.metadata}},encodeOpts:l,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(i.requester.metadata,a)})}catch(e){throw r.setError(XB.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(t,{message:`fulfilled`,code:0}),await this.client.core.pairing.activate({topic:i.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:p}}),$(this,`rejectSessionAuthenticate`,async e=>{this.isInitialized();let{id:t,reason:n}=e,r=this.getPendingAuthRequest(t);if(!r)throw Error(`Could not find pending auth request with id ${t}`);r.transportType===EB.relay&&await this.confirmOnlineStateOrThrow();let i=r.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),o=IR(i),s={type:1,receiverPublicKey:i,senderPublicKey:a};await this.sendError({id:t,topic:o,error:n,encodeOpts:s,rpcOpts:vG.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(r.requester.metadata,r.transportType)}),await this.client.auth.requests.delete(t,{message:`rejected`,code:0}),await this.client.proposal.delete(t,vz(`USER_DISCONNECTED`))}),$(this,`formatAuthMessage`,e=>{this.isInitialized();let{request:t,iss:n}=e;return CI(t,n)}),$(this,`processRelayMessageCache`,()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),$(this,`cleanupDuplicatePairings`,async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(n=>n.peerMetadata?.url&&n.peerMetadata?.url===e.peer.metadata.url&&n.topic&&n.topic!==t.topic);if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info(`Duplicate pairings clean up finished`)}catch(e){this.client.logger.error(e)}}),$(this,`deleteSession`,async e=>{let{topic:t,expirerHasDeleted:n=!1,emitEvent:r=!0,id:i=0}=e,{self:a}=this.client.session.get(t);await this.client.core.relayer.unsubscribe(t),await this.client.session.delete(t,vz(`USER_DISCONNECTED`)),this.addToRecentlyDeleted(t,`session`),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(t)&&await this.client.core.crypto.deleteSymKey(t),n||this.client.core.expirer.del(t),this.client.core.storage.removeItem(fG).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===t&&this.deletePendingSessionRequest(e.id,vz(`USER_DISCONNECTED`))}),t===this.sessionRequestQueue.queue[0]?.topic&&(this.sessionRequestQueue.state=bG.idle),r&&this.client.events.emit(`session_delete`,{id:i,topic:t})}),$(this,`deleteProposal`,async(e,t)=>{if(t)try{let t=this.client.proposal.get(e);this.client.core.eventClient.getEvent({topic:t.pairingTopic})?.setError(JB.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,vz(`USER_DISCONNECTED`)),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`proposal`)}),$(this,`deletePendingSessionRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,`request`),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),n&&(this.sessionRequestQueue.state=bG.idle,this.client.events.emit(`session_request_expire`,{id:e}))}),$(this,`deletePendingAuthRequest`,async(e,t,n=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),n?Promise.resolve():this.client.core.expirer.del(e)])}),$(this,`setExpiry`,async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),$(this,`setProposal`,async(e,t)=>{this.client.core.expirer.set(e,ZP(vG.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),$(this,`setAuthRequest`,async(e,t)=>{let{request:n,pairingTopic:r,transportType:i=EB.relay}=t;this.client.core.expirer.set(e,n.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:e,pairingTopic:r,verifyContext:n.verifyContext,transportType:i})}),$(this,`setPendingSessionRequest`,async e=>{let{id:t,topic:n,params:r,verifyContext:i}=e,a=r.request.expiryTimestamp||ZP(vG.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,a),await this.client.pendingRequest.set(t,{id:t,topic:n,params:r,verifyContext:i})}),$(this,`sendRequest`,async e=>{let{topic:t,method:n,params:r,expiry:i,relayRpcId:a,clientRpcId:o,throwOnFailedPublish:s,appLink:c,tvf:l}=e,u=te(n,r,o),d,f=!!c;try{let e=f?DR:ER;d=await this.client.core.crypto.encode(t,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),e}let p;if(CG.includes(n)){let e=LR(JSON.stringify(u)),t=LR(d);p=await this.client.core.verify.register({id:t,decryptedId:e})}let m=vG[n].req;if(m.attestation=p,i&&(m.ttl=i),a&&(m.id=a),this.client.core.history.set(t,u),f){let e=sz(c,t,d);await global.Linking.openURL(e,this.client.name)}else{let e=vG[n].req;i&&(e.ttl=i),a&&(e.id=a),e.tvf=RG(LG({},l),{correlationId:u.id}),s?(e.internal=RG(LG({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,e)):this.client.core.relayer.publish(t,d,e).catch(e=>this.client.logger.error(e))}return u.id}),$(this,`sendResult`,async e=>{let{id:t,topic:n,result:r,throwOnFailedPublish:i,encodeOpts:a,appLink:o}=e,s=c(t,r),l,u=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=u?DR:ER;l=await this.client.core.crypto.encode(n,s,RG(LG({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),e}let d,f;try{d=await this.client.core.history.get(n,t);let e=d.request;try{this.shouldSetTVF(e.method,e.params)&&(f=this.getTVFParams(t,e.params,r))}catch(e){this.client.logger.warn(`sendResult() -> getTVFParams() failed`,e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${t}) failed`),e}if(u){let e=sz(o,n,l);await global.Linking.openURL(e,this.client.name)}else{let e=vG[d.request.method].res;e.tvf=RG(LG({},f),{correlationId:t}),i?(e.internal=RG(LG({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,l,e)):this.client.core.relayer.publish(n,l,e).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(s)}),$(this,`sendError`,async e=>{let{id:t,topic:n,error:r,encodeOpts:i,rpcOpts:a,appLink:o}=e,s=x(t,r),c,l=o&&typeof(global==null?void 0:global.Linking)<`u`;try{let e=l?DR:ER;c=await this.client.core.crypto.encode(n,s,RG(LG({},i||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}let u;try{u=await this.client.core.history.get(n,t)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${t}) failed`),e}if(l){let e=sz(o,n,c);await global.Linking.openURL(e,this.client.name)}else{let e=u.request.method,t=a||vG[e].res;this.client.core.relayer.publish(n,c,t)}await this.client.core.history.resolve(s)}),$(this,`cleanup`,async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let n=!1;QP(t.expiry)&&(n=!0),this.client.core.crypto.keychain.has(t.topic)||(n=!0),n&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{QP(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),$(this,`onProviderMessageEvent`,async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),$(this,`onRelayEventRequest`,async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),$(this,`processRequestsQueue`,async()=>{if(this.requestQueue.state===bG.active){this.client.logger.info(`Request queue already active, skipping...`);return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=bG.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=bG.idle}),$(this,`processRequest`,async e=>{let{topic:t,payload:n,attestation:r,transportType:i,encryptedId:a}=e,o=n.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case`wc_sessionPropose`:return await this.onSessionProposeRequest({topic:t,payload:n,attestation:r,encryptedId:a});case`wc_sessionSettle`:return await this.onSessionSettleRequest(t,n);case`wc_sessionUpdate`:return await this.onSessionUpdateRequest(t,n);case`wc_sessionExtend`:return await this.onSessionExtendRequest(t,n);case`wc_sessionPing`:return await this.onSessionPingRequest(t,n);case`wc_sessionDelete`:return await this.onSessionDeleteRequest(t,n);case`wc_sessionRequest`:return await this.onSessionRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});case`wc_sessionEvent`:return await this.onSessionEventRequest(t,n);case`wc_sessionAuthenticate`:return await this.onSessionAuthenticateRequest({topic:t,payload:n,attestation:r,encryptedId:a,transportType:i});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),$(this,`onRelayEventResponse`,async e=>{let{topic:t,payload:n,transportType:r}=e,i=(await this.client.core.history.get(t,n.id)).request.method;switch(i){case`wc_sessionPropose`:return this.onSessionProposeResponse(t,n,r);case`wc_sessionSettle`:return this.onSessionSettleResponse(t,n);case`wc_sessionUpdate`:return this.onSessionUpdateResponse(t,n);case`wc_sessionExtend`:return this.onSessionExtendResponse(t,n);case`wc_sessionPing`:return this.onSessionPingResponse(t,n);case`wc_sessionRequest`:return this.onSessionRequestResponse(t,n);case`wc_sessionAuthenticate`:return this.onSessionAuthenticateResponse(t,n);default:return this.client.logger.info(`Unsupported response method ${i}`)}}),$(this,`onRelayEventUnknownPayload`,e=>{let{topic:t}=e,{message:n}=Z(`MISSING_OR_INVALID`,`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(n)}),$(this,`shouldIgnorePairingRequest`,e=>{let{topic:t,requestMethod:n}=e,r=this.expectedPairingMethodMap.get(t);return!r||r.includes(n)?!1:!!(r.includes(`wc_sessionAuthenticate`)&&this.client.events.listenerCount(`session_authenticate`)>0)}),$(this,`onSessionProposeRequest`,async e=>{let{topic:t,payload:n,attestation:r,encryptedId:i}=e,{params:a,id:o}=n;try{let e=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount(`session_proposal`)===0&&(console.warn(`No listener for session_proposal event`),e?.setError(KB.proposal_listener_not_found)),this.isValidConnect(LG({},n.params));let s=LG({id:o,pairingTopic:t,expiryTimestamp:a.expiryTimestamp||ZP(vG.wc_sessionPropose.req.ttl)},a);await this.setProposal(o,s);let c=await this.getVerifyContext({attestationId:r,hash:LR(JSON.stringify(n)),encryptedId:i,metadata:s.proposer.metadata});e?.addTrace(GB.emit_session_proposal),this.client.events.emit(`session_proposal`,{id:o,params:s,verifyContext:c})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:vG.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),$(this,`onSessionProposeResponse`,async(e,t,n)=>{let{id:r}=t;if(E(t)){let{result:i}=t;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,result:i});let a=this.client.proposal.get(r);this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,proposal:a});let o=a.proposer.publicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,selfPublicKey:o});let s=i.responderPublicKey;this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,peerPublicKey:s});let c=await this.client.core.crypto.generateSharedKey(o,s);this.pendingSessions.set(r,{sessionTopic:c,pairingTopic:e,proposalId:r,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:n});this.client.logger.trace({type:`method`,method:`onSessionProposeResponse`,subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if(T(t)){await this.client.proposal.delete(r,vz(`USER_DISCONNECTED`));let e=$P(`session_connect`,r);if(this.events.listenerCount(e)===0)throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),$(this,`onSessionSettleRequest`,async(e,t)=>{let{id:n,params:r}=t;try{this.isValidSessionSettleRequest(r);let{relay:n,controller:i,expiry:a,namespaces:o,sessionProperties:s,scopedProperties:c,sessionConfig:l}=t.params,u=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!u)return this.client.logger.error(`Pending session not found for topic ${e}`);let d=this.client.proposal.get(u.proposalId),f=RG(LG(LG(LG({topic:e,relay:n,expiry:a,namespaces:o,acknowledged:!0,pairingTopic:u.pairingTopic,requiredNamespaces:d.requiredNamespaces,optionalNamespaces:d.optionalNamespaces,controller:i.publicKey,self:{publicKey:u.publicKey,metadata:this.client.metadata},peer:{publicKey:i.publicKey,metadata:i.metadata}},s&&{sessionProperties:s}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:EB.relay});await this.client.session.set(f.topic,f),await this.setExpiry(f.topic,f.expiry),await this.client.core.pairing.updateMetadata({topic:u.pairingTopic,metadata:f.peer.metadata}),this.client.events.emit(`session_connect`,{session:f}),this.events.emit($P(`session_connect`,u.proposalId),{session:f}),this.pendingSessions.delete(u.proposalId),this.deleteProposal(u.proposalId,!1),this.cleanupDuplicatePairings(f),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionSettleResponse`,async(e,t)=>{let{id:n}=t;E(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit($P(`session_approve`,n),{})):T(t)&&(await this.client.session.delete(e,vz(`USER_DISCONNECTED`)),this.events.emit($P(`session_approve`,n),{error:t.error}))}),$(this,`onSessionUpdateRequest`,async(e,t)=>{let{params:n,id:r}=t;try{let t=`${e}_session_update`,i=uB.get(t);if(i&&this.isRequestOutOfSync(i,r)){this.client.logger.warn(`Discarding out of sync request - ${r}`),this.sendError({id:r,topic:e,error:vz(`INVALID_UPDATE_REQUEST`)});return}this.isValidUpdate(LG({topic:e},n));try{uB.set(t,r),await this.client.session.update(e,{namespaces:n.namespaces}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw uB.delete(t),e}this.client.events.emit(`session_update`,{id:r,topic:e,params:n})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`isRequestOutOfSync`,(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),$(this,`onSessionUpdateResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_update`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);E(t)?this.events.emit($P(`session_update`,n),{}):T(t)&&this.events.emit($P(`session_update`,n),{error:t.error})}),$(this,`onSessionExtendRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,ZP(gG)),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_extend`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionExtendResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_extend`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);E(t)?this.events.emit($P(`session_extend`,n),{}):T(t)&&this.events.emit($P(`session_extend`,n),{error:t.error})}),$(this,`onSessionPingRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit(`session_ping`,{id:n,topic:e})}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionPingResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_ping`,n);setTimeout(()=>{if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners 2176`);E(t)?this.events.emit($P(`session_ping`,n),{}):T(t)&&this.events.emit($P(`session_ping`,n),{error:t.error})},500)}),$(this,`onSessionDeleteRequest`,async(e,t)=>{let{id:n}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(CB.publish,async()=>{t(await this.deleteSession({topic:e,id:n}))})}),this.sendResult({id:n,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:vz(`USER_DISCONNECTED`)})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),$(this,`onSessionRequest`,async e=>{var t,n;let{topic:r,payload:i,attestation:a,encryptedId:o,transportType:s}=e,{id:c,params:l}=i;try{await this.isValidRequest(LG({topic:r},l));let e=this.client.session.get(r),i={id:c,topic:r,params:l,verifyContext:await this.getVerifyContext({attestationId:a,hash:LR(JSON.stringify(te(`wc_sessionRequest`,l,c))),encryptedId:o,metadata:e.peer.metadata,transportType:s})};await this.setPendingSessionRequest(i),s===EB.link_mode&&(t=e.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.peer.metadata.redirect?.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(i):(this.addSessionRequestToSessionRequestQueue(i),this.processSessionRequestQueue())}catch(e){await this.sendError({id:c,topic:r,error:e}),this.client.logger.error(e)}}),$(this,`onSessionRequestResponse`,(e,t)=>{let{id:n}=t,r=$P(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);E(t)?this.events.emit($P(`session_request`,n),{result:t.result}):T(t)&&this.events.emit($P(`session_request`,n),{error:t.error})}),$(this,`onSessionEventRequest`,async(e,t)=>{let{id:n,params:r}=t;try{let t=`${e}_session_event_${r.event.name}`,i=uB.get(t);if(i&&this.isRequestOutOfSync(i,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(LG({topic:e},r)),this.client.events.emit(`session_event`,{id:n,topic:e,params:r}),uB.set(t,n)}catch(t){await this.sendError({id:n,topic:e,error:t}),this.client.logger.error(t)}}),$(this,`onSessionAuthenticateResponse`,(e,t)=>{let{id:n}=t;this.client.logger.trace({type:`method`,method:`onSessionAuthenticateResponse`,topic:e,payload:t}),E(t)?this.events.emit($P(`session_request`,n),{result:t.result}):T(t)&&this.events.emit($P(`session_request`,n),{error:t.error})}),$(this,`onSessionAuthenticateRequest`,async e=>{var t;let{topic:n,payload:r,attestation:i,encryptedId:a,transportType:o}=e;try{let{requester:e,authPayload:s,expiryTimestamp:c}=r.params,l=await this.getVerifyContext({attestationId:i,hash:LR(JSON.stringify(r)),encryptedId:a,metadata:e.metadata,transportType:o}),u={requester:e,pairingTopic:n,id:r.id,authPayload:s,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(r.id,{request:u,pairingTopic:n,transportType:o}),o===EB.link_mode&&(t=e.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit(`session_authenticate`,{topic:n,params:r.params,id:r.id,verifyContext:l})}catch(e){this.client.logger.error(e);let t=r.params.requester.publicKey,i=await this.client.core.crypto.generateKeyPair(),a=this.getAppLinkIfEnabled(r.params.requester.metadata,o),s={type:1,receiverPublicKey:t,senderPublicKey:i};await this.sendError({id:r.id,topic:n,error:e,encodeOpts:s,rpcOpts:vG.wc_sessionAuthenticate.autoReject,appLink:a})}}),$(this,`addSessionRequestToSessionRequestQueue`,e=>{this.sessionRequestQueue.queue.push(e)}),$(this,`cleanupAfterResponse`,e=>{this.deletePendingSessionRequest(e.response.id,{message:`fulfilled`,code:0}),setTimeout(()=>{this.sessionRequestQueue.state=bG.idle,this.processSessionRequestQueue()},(0,G.toMiliseconds)(this.requestQueueDelay))}),$(this,`cleanupPendingSentRequestsForTopic`,({topic:e,error:t})=>{let n=this.client.core.history.pending;n.length>0&&n.filter(t=>t.topic===e&&t.request.method===`wc_sessionRequest`).forEach(e=>{let n=e.request.id,r=$P(`session_request`,n);if(this.events.listenerCount(r)===0)throw Error(`emitting ${r} without any listeners`);this.events.emit($P(`session_request`,e.request.id),{error:t})})}),$(this,`processSessionRequestQueue`,()=>{if(this.sessionRequestQueue.state===bG.active){this.client.logger.info(`session request queue is already active.`);return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info(`session request queue is empty.`);return}try{this.sessionRequestQueue.state=bG.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),$(this,`emitSessionRequest`,e=>{this.client.events.emit(`session_request`,e)}),$(this,`onPairingCreated`,e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:te(`wc_sessionPropose`,RG(LG({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),$(this,`isValidConnect`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:n,optionalNamespaces:r,sessionProperties:i,scopedProperties:a,relays:o}=e;if(xz(t)||await this.isValidPairingTopic(t),!Vz(o,!0)){let{message:e}=Z(`MISSING_OR_INVALID`,`connect() relays: ${o}`);throw Error(e)}if(!xz(n)&&bz(n)!==0&&this.validateNamespaces(n,`requiredNamespaces`),!xz(r)&&bz(r)!==0&&this.validateNamespaces(r,`optionalNamespaces`),xz(i)||this.validateSessionProps(i,`sessionProperties`),!xz(a)){this.validateSessionProps(a,`scopedProperties`);let e=Object.keys(n||{}).concat(Object.keys(r||{}));if(!Object.keys(a).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),$(this,`validateNamespaces`,(e,t)=>{let n=Rz(e,`connect()`,t);if(n)throw Error(n.message)}),$(this,`isValidApprove`,async e=>{if(!Uz(e))throw Error(Z(`MISSING_OR_INVALID`,`approve() params: ${e}`).message);let{id:t,namespaces:n,relayProtocol:r,sessionProperties:i,scopedProperties:a}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),s=zz(n,`approve()`);if(s)throw Error(s.message);let c=Zz(o.requiredNamespaces,n,`approve()`);if(c)throw Error(c.message);if(!Sz(r,!0)){let{message:e}=Z(`MISSING_OR_INVALID`,`approve() relayProtocol: ${r}`);throw Error(e)}if(xz(i)||this.validateSessionProps(i,`sessionProperties`),!xz(a)){this.validateSessionProps(a,`scopedProperties`);let e=new Set(Object.keys(n));if(!Object.keys(a).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(e).join(`, `)}`)}}),$(this,`isValidReject`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`reject() params: ${e}`);throw Error(t)}let{id:t,reason:n}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!Wz(n)){let{message:e}=Z(`MISSING_OR_INVALID`,`reject() reason: ${JSON.stringify(n)}`);throw Error(e)}}),$(this,`isValidSessionSettleRequest`,e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:n,namespaces:r,expiry:i}=e;if(!Bz(t)){let{message:e}=Z(`MISSING_OR_INVALID`,`onSessionSettleRequest() relay protocol should be a string`);throw Error(e)}let a=Az(n,`onSessionSettleRequest()`);if(a)throw Error(a.message);let o=zz(r,`onSessionSettleRequest()`);if(o)throw Error(o.message);if(QP(i)){let{message:e}=Z(`EXPIRED`,`onSessionSettleRequest()`);throw Error(e)}}),$(this,`isValidUpdate`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:n}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let r=this.client.session.get(t),i=zz(n,`update()`);if(i)throw Error(i.message);let a=Zz(r.requiredNamespaces,n,`update()`);if(a)throw Error(a.message)}),$(this,`isValidExtend`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),$(this,`isValidRequest`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`request() params: ${e}`);throw Error(t)}let{topic:t,request:n,chainId:r,expiry:i}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:a}=this.client.session.get(t);if(!Jz(a,r)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() chainId: ${r}`);throw Error(e)}if(!Gz(n)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() ${JSON.stringify(n)}`);throw Error(e)}if(!Yz(a,r,n.method)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() method: ${n.method}`);throw Error(e)}if(i&&!tB(i,yG)){let{message:e}=Z(`MISSING_OR_INVALID`,`request() expiry: ${i}. Expiry must be a number (in seconds) between ${yG.min} and ${yG.max}`);throw Error(e)}}),$(this,`isValidRespond`,async e=>{var t;if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`respond() params: ${e}`);throw Error(t)}let{topic:n,response:r}=e;try{await this.isValidSessionTopic(n)}catch(n){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),n}if(!Kz(r)){let{message:e}=Z(`MISSING_OR_INVALID`,`respond() response: ${JSON.stringify(r)}`);throw Error(e)}}),$(this,`isValidPing`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),$(this,`isValidEmit`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`emit() params: ${e}`);throw Error(t)}let{topic:t,event:n,chainId:r}=e;await this.isValidSessionTopic(t);let{namespaces:i}=this.client.session.get(t);if(!Jz(i,r)){let{message:e}=Z(`MISSING_OR_INVALID`,`emit() chainId: ${r}`);throw Error(e)}if(!qz(n)){let{message:e}=Z(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}if(!Xz(i,r,n.name)){let{message:e}=Z(`MISSING_OR_INVALID`,`emit() event: ${JSON.stringify(n)}`);throw Error(e)}}),$(this,`isValidDisconnect`,async e=>{if(!Uz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),$(this,`isValidAuthenticate`,e=>{let{chains:t,uri:n,domain:r,nonce:i}=e;if(!Array.isArray(t)||t.length===0)throw Error(`chains is required and must be a non-empty array`);if(!Sz(n,!1))throw Error(`uri is required parameter`);if(!Sz(r,!1))throw Error(`domain is required parameter`);if(!Sz(i,!1))throw Error(`nonce is required parameter`);if([...new Set(t.map(e=>EP(e).namespace))].length>1)throw Error(`Multi-namespace requests are not supported. Please request single namespace only.`);let{namespace:a}=EP(t[0]);if(a!==`eip155`)throw Error(`Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.`)}),$(this,`getVerifyContext`,async e=>{let{attestationId:t,hash:n,encryptedId:r,metadata:i,transportType:a}=e,o={verified:{verifyUrl:i.verifyUrl||`https://verify.walletconnect.org`,validation:`UNKNOWN`,origin:i.url||``}};try{if(a===EB.link_mode){let e=this.getAppLinkIfEnabled(i,a);return o.verified.validation=e&&new URL(e).origin===new URL(i.url).origin?`VALID`:`INVALID`,o}let e=await this.client.core.verify.resolve({attestationId:t,hash:n,encryptedId:r,verifyUrl:i.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(i.url).origin?`VALID`:`INVALID`)}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),$(this,`validateSessionProps`,(e,t)=>{Object.values(e).forEach((n,r)=>{if(n==null){let{message:i}=Z(`MISSING_OR_INVALID`,`${t} must contain an existing value for each key. Received: ${n} for key ${Object.keys(e)[r]}`);throw Error(i)}})}),$(this,`getPendingAuthRequest`,e=>{let t=this.client.auth.requests.get(e);return typeof t==`object`?t:void 0}),$(this,`addToRecentlyDeleted`,(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let n of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(n)}}}),$(this,`checkRecentlyDeleted`,e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:n}=Z(`MISSING_OR_INVALID`,`Record was recently deleted - ${t}: ${e}`);throw Error(n)}}),$(this,`isLinkModeEnabled`,(e,t)=>!e||t!==EB.link_mode?!1:this.client.metadata?.redirect?.linkMode===!0&&this.client.metadata?.redirect?.universal!==void 0&&this.client.metadata?.redirect?.universal!==``&&e?.redirect?.universal!==void 0&&e?.redirect?.universal!==``&&e?.redirect?.linkMode===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<`u`),$(this,`getAppLinkIfEnabled`,(e,t)=>this.isLinkModeEnabled(e,t)?e?.redirect?.universal:void 0),$(this,`handleLinkModeMessage`,({url:e})=>{if(!e||!e.includes(`wc_ev`)||!e.includes(`topic`))return;let t=aF(e,`topic`)||``,n=decodeURIComponent(aF(e,`wc_ev`)||``),r=this.client.session.keys.includes(t);r&&this.client.session.update(t,{transportType:EB.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:n,sessionExists:r})}),$(this,`registerLinkModeListeners`,async()=>{var e;if(sF()||AP()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){let e=global==null?void 0:global.Linking;if(typeof e<`u`){e.addEventListener(`url`,this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),$(this,`shouldSetTVF`,(e,t)=>{if(!t||e!==`wc_sessionRequest`)return!1;let{request:n}=t;return Object.keys(xG).includes(n.method)}),$(this,`getTVFParams`,(e,t,n)=>{try{let r=t.request.method,i=this.extractTxHashesFromResult(r,n);return RG(LG({correlationId:e,rpcMethods:[r],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[t.request.params?.[0]?.to]}),{txHashes:i})}catch(e){this.client.logger.warn(`Error getting TVF params`,e)}return{}}),$(this,`isValidContractData`,e=>{if(!e)return!1;try{let t=e?.data||e?.[0]?.data;if(!t.startsWith(`0x`))return!1;let n=t.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2==0:!1}catch{}return!1}),$(this,`extractTxHashesFromResult`,(e,t)=>{try{let n=xG[e];if(typeof t==`string`)return[t];let r=t[n.key];if(yz(r))return e===`solana_signAllTransactions`?r.map(e=>sI(e)):r;if(typeof r==`string`)return[r]}catch(e){this.client.logger.warn(`Error extracting tx hashes from result`,e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,n]of Object.entries(t))for(let t of n)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn(`processPendingMessageEvents failed`,e)}}isInitialized(){if(!this.initialized){let{message:e}=Z(`NOT_INITIALIZED`,this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(CB.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:n,attestation:r,transportType:i}=e,{publicKey:a}=this.client.auth.authKeys.keys.includes(kG)?this.client.auth.authKeys.get(kG):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,n,{receiverPublicKey:a,encoding:i===EB.link_mode?DR:ER});u(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:r,transportType:i,encryptedId:LR(n)})):le(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:i}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:i}),await this.client.core.relayer.messages.ack(t,n)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(LB.expired,async e=>{let{topic:t,id:n}=XP(e.target);if(n&&this.client.pendingRequest.keys.includes(n))return await this.deletePendingSessionRequest(n,Z(`EXPIRED`),!0);if(n&&this.client.auth.requests.keys.includes(n))return await this.deletePendingAuthRequest(n,Z(`EXPIRED`),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit(`session_expire`,{topic:t})):n&&(await this.deleteProposal(n,!0),this.client.events.emit(`proposal_expire`,{id:n}))})}registerPairingEvents(){this.client.core.pairing.events.on(NB.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(NB.delete,e=>{this.addToRecentlyDeleted(e.topic,`pairing`)})}isValidPairingTopic(e){if(!Sz(e,!1)){let{message:t}=Z(`MISSING_OR_INVALID`,`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`pairing topic doesn't exist: ${e}`);throw Error(t)}if(QP(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=Z(`EXPIRED`,`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!Sz(e,!1)){let{message:t}=Z(`MISSING_OR_INVALID`,`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`session topic doesn't exist: ${e}`);throw Error(t)}if(QP(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=Z(`EXPIRED`,`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(Sz(e,!1)){let{message:t}=Z(`NO_MATCHING_KEY`,`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=Z(`MISSING_OR_INVALID`,`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if(!Hz(e)){let{message:t}=Z(`MISSING_OR_INVALID`,`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=Z(`NO_MATCHING_KEY`,`proposal id doesn't exist: ${e}`);throw Error(t)}if(QP(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=Z(`EXPIRED`,`proposal id: ${e}`);throw Error(t)}}},BG=class extends DW{constructor(e,t){super(e,t,pG,uG),this.core=e,this.logger=t}},VG=class extends DW{constructor(e,t){super(e,t,hG,uG),this.core=e,this.logger=t}},HG=class extends DW{constructor(e,t){super(e,t,SG,uG,e=>e.id),this.core=e,this.logger=t}},UG=class extends DW{constructor(e,t){super(e,t,TG,OG,()=>kG),this.core=e,this.logger=t}},WG=class extends DW{constructor(e,t){super(e,t,EG,OG),this.core=e,this.logger=t}},GG=class extends DW{constructor(e,t){super(e,t,DG,OG,e=>e.id),this.core=e,this.logger=t}},KG=Object.defineProperty,qG=(e,t,n)=>t in e?KG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,JG=(e,t,n)=>qG(e,typeof t==`symbol`?t:t+``,n),YG=class{constructor(e,t){this.core=e,this.logger=t,JG(this,`authKeys`),JG(this,`pairingTopics`),JG(this,`requests`),this.authKeys=new UG(this.core,this.logger),this.pairingTopics=new WG(this.core,this.logger),this.requests=new GG(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}},XG=Object.defineProperty,ZG=(e,t,n)=>t in e?XG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QG=(e,t,n)=>ZG(e,typeof t==`symbol`?t:t+``,n),$G=class e extends nr{constructor(e){super(e),QG(this,`protocol`,`wc`),QG(this,`version`,2),QG(this,`name`,dG.name),QG(this,`metadata`),QG(this,`core`),QG(this,`logger`),QG(this,`events`,new Nt.EventEmitter),QG(this,`engine`),QG(this,`session`),QG(this,`proposal`),QG(this,`pendingRequest`),QG(this,`auth`),QG(this,`signConfig`),QG(this,`on`,(e,t)=>this.events.on(e,t)),QG(this,`once`,(e,t)=>this.events.once(e,t)),QG(this,`off`,(e,t)=>this.events.off(e,t)),QG(this,`removeListener`,(e,t)=>this.events.removeListener(e,t)),QG(this,`removeAllListeners`,e=>this.events.removeAllListeners(e)),QG(this,`connect`,async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`pair`,async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`approve`,async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`reject`,async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`update`,async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`extend`,async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`request`,async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`respond`,async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`ping`,async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`emit`,async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`disconnect`,async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`find`,e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`getPendingSessionRequests`,()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),QG(this,`authenticate`,async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`formatAuthMessage`,e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`approveSessionAuthenticate`,async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),QG(this,`rejectSessionAuthenticate`,async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||dG.name,this.metadata=e?.metadata||LP(),this.signConfig=e?.signConfig;let t=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,h.default)(v({level:e?.logger||dG.logger}));this.core=e?.core||new cG(e),this.logger=p(t,this.name),this.session=new VG(this.core,this.logger),this.proposal=new BG(this.core,this.logger),this.pendingRequest=new HG(this.core,this.logger),this.engine=new zG(this),this.auth=new YG(this.core,this.logger)}static async init(t){let n=new e(t);return await n.initialize(),n}get context(){return w(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace(`Initialized`);try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info(`SignClient Initialization Success`),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,G.toMiliseconds)(G.ONE_SECOND))}catch(e){throw this.logger.info(`SignClient Initialization Failure`),this.logger.error(e.message),e}}},eK=`error`,tK=`wss://relay.walletconnect.org`,nK=`wc@2:universal_provider:`,rK=`https://rpc.walletconnect.org/v1/`,iK=`generic`,aK=`${rK}bundler`,oK={DEFAULT_CHAIN_CHANGED:`default_chain_changed`};function sK(){}function cK(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function lK(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function uK(e){if(cK(e))return e;if(Array.isArray(e)||lK(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),n=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new n(e);if(e instanceof RegExp){let t=new n(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new n(e.buffer.slice(0));if(e instanceof Error){let t=new n(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return typeof File<`u`&&e instanceof File?new n([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e==`object`?Object.assign(Object.create(t),e):e}function dK(e){return typeof e==`object`&&!!e}function fK(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function pK(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var mK=`[object RegExp]`,hK=`[object String]`,gK=`[object Number]`,_K=`[object Boolean]`,vK=`[object Arguments]`,yK=`[object Symbol]`,bK=`[object Date]`,xK=`[object Map]`,SK=`[object Set]`,CK=`[object Array]`,wK=`[object ArrayBuffer]`,TK=`[object Object]`,EK=`[object DataView]`,DK=`[object Uint8Array]`,OK=`[object Uint8ClampedArray]`,kK=`[object Uint16Array]`,AK=`[object Uint32Array]`,jK=`[object Int8Array]`,MK=`[object Int16Array]`,NK=`[object Int32Array]`,PK=`[object Float32Array]`,FK=`[object Float64Array]`;function IK(e,t){return LK(e,void 0,e,new Map,t)}function LK(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!=null)return a;if(cK(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=LK(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,LK(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(LK(a,void 0,n,r,i));return t}if(typeof Buffer<`u`&&Buffer.isBuffer(e))return e.subarray();if(lK(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=LK(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),RK(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),RK(t,e,n,r,i),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),RK(t,e,n,r,i),t}if(e instanceof Error){let t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,RK(t,e,n,r,i),t}if(typeof e==`object`&&zK(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),RK(t,e,n,r,i),t}return e}function RK(e,t,n=e,r,i){let a=[...Object.keys(t),...fK(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=LK(t[s],s,n,r,i))}}function zK(e){switch(pK(e)){case vK:case CK:case wK:case EK:case _K:case bK:case PK:case FK:case jK:case MK:case NK:case xK:case gK:case TK:case mK:case SK:case hK:case yK:case DK:case OK:case kK:case AK:return!0;default:return!1}}function BK(e,t){return IK(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!=null)return o;if(typeof e==`object`)switch(Object.prototype.toString.call(e)){case gK:case hK:case _K:{let t=new e.constructor(e?.valueOf());return RK(t,e),t}case vK:{let t={};return RK(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function VK(e){return BK(e)}function HK(e){return typeof e==`object`&&!!e&&pK(e)===`[object Arguments]`}function UK(e){return lK(e)}function WK(e){if(typeof e!=`object`||!e)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!==`[object Object]`){let t=e[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${t}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function GK(e,...t){let n=t.slice(0,-1),r=t[t.length-1],i=e;for(let e=0;e<n.length;e++){let t=n[e];i=KK(i,t,r,new Map)}return i}function KK(e,t,n,r){if(cK(e)&&(e=Object(e)),typeof t!=`object`||!t)return e;if(r.has(t))return uK(r.get(t));if(r.set(t,e),Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]=t[e]??void 0}let i=[...Object.keys(t),...fK(t)];for(let a=0;a<i.length;a++){let o=i[a],s=t[o],c=e[o];if(HK(s)&&(s={...s}),HK(c)&&(c={...c}),typeof Buffer<`u`&&Buffer.isBuffer(s)&&(s=VK(s)),Array.isArray(s))if(typeof c==`object`&&c){let e=[],t=Reflect.ownKeys(c);for(let n=0;n<t.length;n++){let r=t[n];e[r]=c[r]}c=e}else c=[];let l=n(c,s,o,e,t,r);l==null?Array.isArray(s)||dK(c)&&dK(s)?e[o]=KK(c,s,n,r):c==null&&WK(s)?e[o]=KK({},s,n,r):c==null&&UK(s)?e[o]=VK(s):(c===void 0||s!==void 0)&&(e[o]=s):e[o]=l}return e}function qK(e,...t){return GK(e,...t,sK)}var JK=Object.defineProperty,YK=Object.defineProperties,XK=Object.getOwnPropertyDescriptors,ZK=Object.getOwnPropertySymbols,QK=Object.prototype.hasOwnProperty,$K=Object.prototype.propertyIsEnumerable,eq=(e,t,n)=>t in e?JK(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tq=(e,t)=>{for(var n in t||={})QK.call(t,n)&&eq(e,n,t[n]);if(ZK)for(var n of ZK(t))$K.call(t,n)&&eq(e,n,t[n]);return e},nq=(e,t)=>YK(e,XK(t));function rq(e,t,n){let r=EP(e);return t.rpcMap?.[r.reference]||`${rK}?chainId=${r.namespace}:${r.reference}&projectId=${n}`}function iq(e){return e.includes(`:`)?e.split(`:`)[1]:e}function aq(e){return e.map(e=>`${e.split(`:`)[0]}:${e.split(`:`)[1]}`)}function oq(e,t){let n=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!n.length)return[];let r=[];return n.forEach(e=>{let n=t.namespaces[e].accounts;r.push(...n)}),r}function sq(e={},t={}){return qK(cq(e),cq(t))}function cq(e){let t={};if(!bz(e))return t;for(let[n,r]of Object.entries(e)){let e=fz(n)?[n]:r.chains,i=r.methods||[],a=r.events||[],o=r.rpcMap||{},s=pz(n);t[s]=nq(tq(tq({},t[s]),r),{chains:eF(e,t[s]?.chains),methods:eF(i,t[s]?.methods),events:eF(a,t[s]?.events),rpcMap:tq(tq({},o),t[s]?.rpcMap)})}return t}function lq(e){return e.includes(`:`)?e.split(`:`)[2]:e}function uq(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.methods||[],i=r.events||[],a=r.accounts||[];t[n]={chains:fz(n)?[n]:r.chains?r.chains:aq(r.accounts),methods:e,events:i,accounts:a}}return t}function dq(e){return typeof e==`number`?e:e.includes(`0x`)?parseInt(e,16):(e=e.includes(`:`)?e.split(`:`)[1]:e,isNaN(Number(e))?e:Number(e))}var fq={},pq=e=>fq[e],mq=(e,t)=>{fq[e]=t},hq=Object.defineProperty,gq=(e,t,n)=>t in e?hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_q=(e,t,n)=>gq(e,typeof t==`symbol`?t:t+``,n),vq=class{constructor(e){_q(this,`name`,`polkadot`),_q(this,`client`),_q(this,`httpProviders`),_q(this,`events`),_q(this,`namespace`),_q(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},yq=Object.defineProperty,bq=Object.defineProperties,xq=Object.getOwnPropertyDescriptors,Sq=Object.getOwnPropertySymbols,Cq=Object.prototype.hasOwnProperty,wq=Object.prototype.propertyIsEnumerable,Tq=(e,t,n)=>t in e?yq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Eq=(e,t)=>{for(var n in t||={})Cq.call(t,n)&&Tq(e,n,t[n]);if(Sq)for(var n of Sq(t))wq.call(t,n)&&Tq(e,n,t[n]);return e},Dq=(e,t)=>bq(e,xq(t)),Oq=(e,t,n)=>Tq(e,typeof t==`symbol`?t:t+``,n),kq=class{constructor(e){Oq(this,`name`,`eip155`),Oq(this,`client`),Oq(this,`chainId`),Oq(this,`namespace`),Oq(this,`httpProviders`),Oq(this,`events`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case`eth_requestAccounts`:return this.getAccounts();case`eth_accounts`:return this.getAccounts();case`wallet_switchEthereumChain`:return await this.handleSwitchChain(e);case`eth_chainId`:return parseInt(this.getDefaultChain());case`wallet_getCapabilities`:return await this.getCapabilities(e);case`wallet_getCallsStatus`:return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}createHttpProvider(e,t){let n=t||rq(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=parseInt(iq(t));e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){let t=e.request.params?e.request.params[0]?.chainId:`0x0`;t=t.startsWith(`0x`)?t:`0x${t}`;let n=parseInt(t,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else if(this.namespace.methods.includes(`wallet_switchEthereumChain`))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:t}]},chainId:this.namespace.chains?.[0]}),this.setDefaultChain(`${n}`);else throw Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){let t=e.request?.params?.[0];if(!t)throw Error("Missing address parameter in `wallet_getCapabilities` request");let n=this.client.session.get(e.topic),r=n?.sessionProperties?.capabilities||{};if(r!=null&&r[t])return r?.[t];let i=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Dq(Eq({},n.sessionProperties||{}),{capabilities:Dq(Eq({},r||{}),{[t]:i})})})}catch(e){console.warn(`Failed to update session with capabilities`,e)}return i}async getCallStatus(e){let t=this.client.session.get(e.topic),n=t.sessionProperties?.bundler_name;if(n){let t=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn(`Failed to fetch call status from bundler`,e,t)}}let r=t.sessionProperties?.bundler_url;if(r)try{return await this.getUserOperationReceipt(r,e)}catch(e){console.warn(`Failed to fetch call status from custom bundler`,e,r)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error(`Fetching call status not approved by the wallet.`)}async getUserOperationReceipt(e,t){let n=new URL(e),r=await fetch(n,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(te(`eth_getUserOperationReceipt`,[t.request.params?.[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${aK}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}},Aq=Object.defineProperty,jq=(e,t,n)=>t in e?Aq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mq=(e,t,n)=>jq(e,typeof t==`symbol`?t:t+``,n),Nq=class{constructor(e){Mq(this,`name`,`solana`),Mq(this,`client`),Mq(this,`httpProviders`),Mq(this,`events`),Mq(this,`namespace`),Mq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Pq=Object.defineProperty,Fq=(e,t,n)=>t in e?Pq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Iq=(e,t,n)=>Fq(e,typeof t==`symbol`?t:t+``,n),Lq=class{constructor(e){Iq(this,`name`,`cosmos`),Iq(this,`client`),Iq(this,`httpProviders`),Iq(this,`events`),Iq(this,`namespace`),Iq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Rq=Object.defineProperty,zq=(e,t,n)=>t in e?Rq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bq=(e,t,n)=>zq(e,typeof t==`symbol`?t:t+``,n),Vq=class{constructor(e){Bq(this,`name`,`algorand`),Bq(this,`client`),Bq(this,`httpProviders`),Bq(this,`events`),Bq(this,`namespace`),Bq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);return typeof n>`u`?void 0:new P(new de(n,pq(`disableProviderPing`)))}},Hq=Object.defineProperty,Uq=(e,t,n)=>t in e?Hq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wq=(e,t,n)=>Uq(e,typeof t==`symbol`?t:t+``,n),Gq=class{constructor(e){Wq(this,`name`,`cip34`),Wq(this,`client`),Wq(this,`httpProviders`),Wq(this,`events`),Wq(this,`namespace`),Wq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=this.getCardanoRPCUrl(t),r=iq(t);e[r]=this.createHttpProvider(r,n)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||this.getCardanoRPCUrl(e);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Kq=Object.defineProperty,qq=(e,t,n)=>t in e?Kq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Jq=(e,t,n)=>qq(e,typeof t==`symbol`?t:t+``,n),Yq=class{constructor(e){Jq(this,`name`,`elrond`),Jq(this,`client`),Jq(this,`httpProviders`),Jq(this,`events`),Jq(this,`namespace`),Jq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},Xq=Object.defineProperty,Zq=(e,t,n)=>t in e?Xq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qq=(e,t,n)=>Zq(e,typeof t==`symbol`?t:t+``,n),$q=class{constructor(e){Qq(this,`name`,`multiversx`),Qq(this,`client`),Qq(this,`httpProviders`),Qq(this,`events`),Qq(this,`namespace`),Qq(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let n=iq(t);e[n]=this.createHttpProvider(n,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},eJ=Object.defineProperty,tJ=(e,t,n)=>t in e?eJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nJ=(e,t,n)=>tJ(e,typeof t==`symbol`?t:t+``,n),rJ=class{constructor(e){nJ(this,`name`,`near`),nJ(this,`client`),nJ(this,`httpProviders`),nJ(this,`events`),nJ(this,`namespace`),nJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t,this.namespace.rpcMap?.[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace);return typeof n>`u`?void 0:new P(new de(n,pq(`disableProviderPing`)))}},iJ=Object.defineProperty,aJ=(e,t,n)=>t in e?iJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oJ=(e,t,n)=>aJ(e,typeof t==`symbol`?t:t+``,n),sJ=class{constructor(e){oJ(this,`name`,`tezos`),oJ(this,`client`),oJ(this,`httpProviders`),oJ(this,`events`),oJ(this,`namespace`),oJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let n=t||rq(`${this.name}:${e}`,this.namespace);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,n)}this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace);return typeof n>`u`?void 0:new P(new de(n))}},cJ=Object.defineProperty,lJ=(e,t,n)=>t in e?cJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uJ=(e,t,n)=>lJ(e,typeof t==`symbol`?t:t+``,n),dJ=class{constructor(e){uJ(this,`name`,iK),uJ(this,`client`),uJ(this,`httpProviders`),uJ(this,`events`),uJ(this,`namespace`),uJ(this,`chainId`),this.namespace=e.namespace,this.events=pq(`events`),this.client=pq(`client`),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(oK.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error(`ChainId not found`);return e.split(`:`)[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(`:`)[1]===this.chainId.toString()).map(e=>e.split(`:`)[2]))]:[]}createHttpProviders(){var e;let t={};return(e=this.namespace?.accounts)==null||e.forEach(e=>{let n=EP(e);t[`${n.namespace}:${n.reference}`]=this.createHttpProvider(e)}),t}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>`u`)throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let n=this.createHttpProvider(e,t);n&&(this.httpProviders[e]=n)}createHttpProvider(e,t){let n=t||rq(e,this.namespace,this.client.core.projectId);if(!n)throw Error(`No RPC url provided for chainId: ${e}`);return new P(new de(n,pq(`disableProviderPing`)))}},fJ=Object.defineProperty,pJ=Object.defineProperties,mJ=Object.getOwnPropertyDescriptors,hJ=Object.getOwnPropertySymbols,gJ=Object.prototype.hasOwnProperty,_J=Object.prototype.propertyIsEnumerable,vJ=(e,t,n)=>t in e?fJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yJ=(e,t)=>{for(var n in t||={})gJ.call(t,n)&&vJ(e,n,t[n]);if(hJ)for(var n of hJ(t))_J.call(t,n)&&vJ(e,n,t[n]);return e},bJ=(e,t)=>pJ(e,mJ(t)),xJ=(e,t,n)=>vJ(e,typeof t==`symbol`?t:t+``,n),SJ=class e{constructor(e){xJ(this,`client`),xJ(this,`namespaces`),xJ(this,`optionalNamespaces`),xJ(this,`sessionProperties`),xJ(this,`scopedProperties`),xJ(this,`events`,new Nt.default),xJ(this,`rpcProviders`,{}),xJ(this,`session`),xJ(this,`providerOpts`),xJ(this,`logger`),xJ(this,`uri`),xJ(this,`disableProviderPing`,!1),this.providerOpts=e,this.logger=typeof e?.logger<`u`&&typeof e?.logger!=`string`?e.logger:(0,h.default)(v({level:e?.logger||eK})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(t){let n=new e(t);return await n.initialize(),n}async request(e,t,n){let[r,i]=this.validateChain(t);if(!this.session)throw Error(`Please call connect() before request()`);return await this.getProvider(r).request({request:yJ({},e),chainId:`${r}:${i}`,topic:this.session.topic,expiry:n})}sendAsync(e,t,n,r){let i=new Date().getTime();this.request(e,n,r).then(e=>t(null,c(i,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error(`Sign Client not initialized`);return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){if(!this.session)throw Error(`Please call connect() before enable()`);await this.client.disconnect({topic:this.session?.topic,reason:vz(`USER_DISCONNECTED`)}),await this.cleanup()}async connect(e){if(!this.client)throw Error(`Sign Client not initialized`);if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error(`Sign Client not initialized`);this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:n,response:r}=await this.client.authenticate(e,t);n&&(this.uri=n,this.events.emit(`display_uri`,n));let i=await r();if(this.session=i.session,this.session){let e=uq(this.session.namespaces);this.namespaces=sq(this.namespaces,e),await this.persist(`namespaces`,this.namespaces),this.onConnect()}return i}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:n}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit(`display_uri`,t));let r=await n();this.session=r;let i=uq(r.namespaces);return this.namespaces=sq(this.namespaces,i),await this.persist(`namespaces`,this.namespaces),await this.persist(`optionalNamespaces`,this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[n,r]=this.validateChain(e),i=this.getProvider(n);i.name===iK?i.setDefaultChain(`${n}:${r}`,t):i.setDefaultChain(r,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info(`Cleaning up inactive pairings...`);let t=this.client.pairing.getAll();if(yz(t)){for(let n of t)e.deletePairings?this.client.core.expirer.set(n.topic,0):await this.client.core.relayer.subscriber.unsubscribe(n.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn(`abortPairingAttempt is deprecated. This is now a no-op.`)}async checkStorage(){this.namespaces=await this.getFromStore(`namespaces`)||{},this.optionalNamespaces=await this.getFromStore(`optionalNamespaces`)||{},this.session&&this.createProviders()}async initialize(){this.logger.trace(`Initialized`),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){if(this.client=this.providerOpts.client||await $G.init({core:this.providerOpts.core,logger:this.providerOpts.logger||eK,relayUrl:this.providerOpts.relayUrl||tK,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(e){throw this.logger.error(`Failed to get session`,e),Error(`The provided session: ${this.providerOpts?.session?.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace(`SignClient Initialized`)}createProviders(){if(!this.client)throw Error(`Sign Client not initialized`);if(!this.session)throw Error(`Session not initialized. Please call connect() before enable()`);let e=[...new Set(Object.keys(this.session.namespaces).map(e=>pz(e)))];mq(`client`,this.client),mq(`events`,this.events),mq(`disableProviderPing`,this.disableProviderPing),e.forEach(e=>{if(!this.session)return;let t=oq(e,this.session),n=aq(t),r=bJ(yJ({},sq(this.namespaces,this.optionalNamespaces)[e]),{accounts:t,chains:n});switch(e){case`eip155`:this.rpcProviders[e]=new kq({namespace:r});break;case`algorand`:this.rpcProviders[e]=new Vq({namespace:r});break;case`solana`:this.rpcProviders[e]=new Nq({namespace:r});break;case`cosmos`:this.rpcProviders[e]=new Lq({namespace:r});break;case`polkadot`:this.rpcProviders[e]=new vq({namespace:r});break;case`cip34`:this.rpcProviders[e]=new Gq({namespace:r});break;case`elrond`:this.rpcProviders[e]=new Yq({namespace:r});break;case`multiversx`:this.rpcProviders[e]=new $q({namespace:r});break;case`near`:this.rpcProviders[e]=new rJ({namespace:r});break;case`tezos`:this.rpcProviders[e]=new sJ({namespace:r});break;default:this.rpcProviders[iK]?this.rpcProviders[iK].updateNamespace(r):this.rpcProviders[iK]=new dJ({namespace:r})}})}registerEventListeners(){if(typeof this.client>`u`)throw Error(`Sign Client is not initialized`);this.client.on(`session_ping`,e=>{let{topic:t}=e;t===this.session?.topic&&this.events.emit(`session_ping`,e)}),this.client.on(`session_event`,e=>{let{params:t,topic:n}=e;if(n!==this.session?.topic)return;let{event:r}=t;if(r.name===`accountsChanged`){let e=r.data;e&&yz(e)&&this.events.emit(`accountsChanged`,e.map(lq))}else if(r.name===`chainChanged`){let e=t.chainId,n=t.event.data,r=pz(e),i=dq(e)===dq(n)?e:`${r}:${dq(n)}`;this.onChainChanged(i)}else this.events.emit(r.name,r.data);this.events.emit(`session_event`,e)}),this.client.on(`session_update`,({topic:e,params:t})=>{if(e!==this.session?.topic)return;let{namespaces:n}=t,r=this.client?.session.get(e);this.session=bJ(yJ({},r),{namespaces:n}),this.onSessionUpdate(),this.events.emit(`session_update`,{topic:e,params:t})}),this.client.on(`session_delete`,async e=>{e.topic===this.session?.topic&&(await this.cleanup(),this.events.emit(`session_delete`,e),this.events.emit(`disconnect`,bJ(yJ({},vz(`USER_DISCONNECTED`)),{data:e.topic})))}),this.on(oK.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[iK]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{this.getProvider(e).updateNamespace(this.session?.namespaces[e])})}setNamespaces(e){let{namespaces:t,optionalNamespaces:n,sessionProperties:r,scopedProperties:i}=e;t&&Object.keys(t).length&&(this.namespaces=t),n&&Object.keys(n).length&&(this.optionalNamespaces=n),this.sessionProperties=r,this.scopedProperties=i}validateChain(e){let[t,n]=e?.split(`:`)||[``,``];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,n];if(t&&!Object.keys(this.namespaces||{}).map(e=>pz(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&n)return[t,n];let r=pz(Object.keys(this.namespaces)[0]);return[r,this.rpcProviders[r].getDefaultChain()]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[n,r]=this.validateChain(e);r&&(t||this.getProvider(n).setDefaultChain(r),this.namespaces[n]?this.namespaces[n].defaultChain=r:this.namespaces[`${n}:${r}`]?this.namespaces[`${n}:${r}`].defaultChain=r:this.namespaces[`${n}:${r}`]={defaultChain:r},this.events.emit(`chainChanged`,r),await this.persist(`namespaces`,this.namespaces))}onConnect(){this.createProviders(),this.events.emit(`connect`,{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore(`namespaces`),await this.deleteFromStore(`optionalNamespaces`),await this.deleteFromStore(`sessionProperties`),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){let n=this.session?.topic||``;await this.client.core.storage.setItem(`${nK}/${e}${n}`,t)}async getFromStore(e){let t=this.session?.topic||``;return await this.client.core.storage.getItem(`${nK}/${e}${t}`)}async deleteFromStore(e){let t=this.session?.topic||``;await this.client.core.storage.removeItem(`${nK}/${e}${t}`)}async cleanupStorage(){try{if(this.client?.session.length>0)return;let e=await this.client.core.storage.getKeys();for(let t of e)t.startsWith(nK)&&await this.client.core.storage.removeItem(t)}catch(e){this.logger.warn(`Failed to cleanup storage`,e)}}},CJ={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603};function wJ(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}var TJ=wJ({id:`5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,name:`Solana`,network:`solana-mainnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!1,chainNamespace:`solana`,caipNetworkId:`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,deprecatedCaipNetworkId:`solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ`}),EJ=wJ({id:`EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,name:`Solana Devnet`,network:`solana-devnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,deprecatedCaipNetworkId:`solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K`}),DJ=wJ({id:`4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`,name:`Solana Testnet`,network:`solana-testnet`,nativeCurrency:{name:`Solana`,symbol:`SOL`,decimals:9},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},blockExplorers:{default:{name:`Solscan`,url:`https://solscan.io`}},testnet:!0,chainNamespace:`solana`,caipNetworkId:`solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z`});wJ({id:`000000000019d6689c085ae165831e93`,caipNetworkId:`bip122:000000000019d6689c085ae165831e93`,chainNamespace:`bip122`,name:`Bitcoin`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}}}),wJ({id:`000000000933ea01ad0ee984209779ba`,caipNetworkId:`bip122:000000000933ea01ad0ee984209779ba`,chainNamespace:`bip122`,name:`Bitcoin Testnet`,nativeCurrency:{name:`Bitcoin`,symbol:`BTC`,decimals:8},rpcUrls:{default:{http:[`https://rpc.walletconnect.org/v1`]}},testnet:!0});var OJ={solana:[`solana_signMessage`,`solana_signTransaction`,`solana_requestAccounts`,`solana_getAccounts`,`solana_signAllTransactions`,`solana_signAndSendTransaction`],eip155:[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_showCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],bip122:[`sendTransfer`,`signMessage`,`signPsbt`,`getAccountAddresses`]},kJ={getMethodsByChainNamespace(e){return OJ[e]||[]},createDefaultNamespace(e){return{methods:this.getMethodsByChainNamespace(e),events:[`accountsChanged`,`chainChanged`],chains:[],rpcMap:{}}},applyNamespaceOverrides(e,t){if(!t)return{...e};let n={...e},r=new Set;if(t.methods&&Object.keys(t.methods).forEach(e=>r.add(e)),t.chains&&Object.keys(t.chains).forEach(e=>r.add(e)),t.events&&Object.keys(t.events).forEach(e=>r.add(e)),t.rpcMap&&Object.keys(t.rpcMap).forEach(e=>{let[t]=e.split(`:`);t&&r.add(t)}),r.forEach(e=>{n[e]||(n[e]=this.createDefaultNamespace(e))}),t.methods&&Object.entries(t.methods).forEach(([e,t])=>{n[e]&&(n[e].methods=t)}),t.chains&&Object.entries(t.chains).forEach(([e,t])=>{n[e]&&(n[e].chains=t)}),t.events&&Object.entries(t.events).forEach(([e,t])=>{n[e]&&(n[e].events=t)}),t.rpcMap){let e=new Set;Object.entries(t.rpcMap).forEach(([t,r])=>{let[i,a]=t.split(`:`);!i||!a||!n[i]||(n[i].rpcMap||(n[i].rpcMap={}),e.has(i)||(n[i].rpcMap={},e.add(i)),n[i].rpcMap[a]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:i}=t,a=i.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let o=`${r}:${n}`,s=e[r];switch(s.chains.push(o),o){case TJ.caipNetworkId:s.chains.push(TJ.deprecatedCaipNetworkId);break;case EJ.caipNetworkId:s.chains.push(EJ.deprecatedCaipNetworkId);break;default:}return s?.rpcMap&&a&&(s.rpcMap[n]=a),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await uf.resolveName(e);return(Object.values(t?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let[t,n]=e.split(`:`);return`${t}:${n}`});return Array.from(new Set([...t,...n]))})},isSessionEventData(e){return typeof e==`object`&&!!e&&`id`in e&&`topic`in e&&`params`in e&&typeof e.params==`object`&&e.params!==null&&`chainId`in e.params&&`event`in e.params&&typeof e.params.event==`object`&&e.params.event!==null}},AJ=class{constructor({provider:e,caipNetworks:t,namespace:n}){this.id=L.CONNECTOR_ID.WALLET_CONNECT,this.name=df.ConnectorNamesMap[L.CONNECTOR_ID.WALLET_CONNECT],this.type=`WALLET_CONNECT`,this.imageId=df.ConnectorImageIds[L.CONNECTOR_ID.WALLET_CONNECT],this.caipNetworks=t,this.provider=e,this.chain=n}get chains(){return this.caipNetworks}async connectWalletConnect(){if(!await this.authenticate()){let e=g.state.universalProviderConfigOverride,t=kJ.createNamespaces(this.caipNetworks,e);await this.provider.connect({optionalNamespaces:t})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){let e=this.chains.map(e=>e.caipNetworkId);return M.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:jJ})}},jJ=[`eth_accounts`,`eth_requestAccounts`,`eth_sendRawTransaction`,`eth_sign`,`eth_signTransaction`,`eth_signTypedData`,`eth_signTypedData_v3`,`eth_signTypedData_v4`,`eth_sendTransaction`,`personal_sign`,`wallet_switchEthereumChain`,`wallet_addEthereumChain`,`wallet_getPermissions`,`wallet_requestPermissions`,`wallet_registerOnboarding`,`wallet_watchAsset`,`wallet_scanQRCode`,`wallet_getCallsStatus`,`wallet_sendCalls`,`wallet_getCapabilities`,`wallet_grantPermissions`,`wallet_revokePermissions`,`wallet_getAssets`],MJ=class{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,e&&this.construct(e)}construct(e){this.caipNetworks=e.networks,this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.caipNetworks||[]}setAuthProvider(e){this.addConnector({id:L.CONNECTOR_ID.AUTH,type:`AUTH`,name:L.CONNECTOR_NAMES.AUTH,provider:e,imageId:df.ConnectorImageIds[L.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){let t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(e=>t.has(e.id)?!1:(t.add(e.id),!0)),this.emit(`connectors`,this.availableConnectors)}setStatus(e,t){I.setStatus(e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){let n=this.eventListeners.get(e);n&&n.delete(t)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){let n=this.eventListeners.get(e);n&&n.forEach(e=>e(t))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){let{caipNetwork:t,providerType:n}=e;if(!e.provider)return;let r=`provider`in e.provider?e.provider.provider:e.provider;if(n===`WALLET_CONNECT`){r.setDefaultChain(t.caipNetworkId);return}if(r&&n===`AUTH`){let e=r;await e.switchNetwork(t.caipNetworkId);let n=await e.getUser({chainId:t.caipNetworkId,preferredAccountType:g.state.defaultAccountTypes[t.chainNamespace]});this.emit(`switchNetwork`,n)}}getWalletConnectConnector(){let e=this.connectors.find(e=>e instanceof AJ);if(!e)throw Error(`WalletConnectConnector not found`);return e}},NJ=class extends MJ{setUniversalProvider(e){this.addConnector(new AJ({provider:e,caipNetworks:this.caipNetworks||[],namespace:this.namespace}))}async connect(e){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:Number(e.chainId),provider:this.provider,address:``})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn(`UniversalAdapter:disconnect - error`,e)}}async getAccounts({namespace:e}){let t=this.provider?.session?.namespaces?.[e]?.accounts?.map(e=>{let[,,t]=e.split(`:`);return t}).filter((e,t,n)=>n.indexOf(e)===t)||[];return Promise.resolve({accounts:t.map(t=>j.createAccount(e,t,e===`bip122`?`payment`:`eoa`))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&s.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:`0.00`,symbol:e.caipNetwork?.nativeCurrency.symbol||``};if(I.state.balanceLoading&&e.chainId===U.state.activeCaipNetwork?.id)return{balance:I.state.balance||`0.00`,symbol:I.state.balanceSymbol||``};let t=(await I.fetchTokenBalance()).find(t=>t.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&t.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:t?.quantity.numeric||`0.00`,symbol:t?.symbol||e.caipNetwork?.nativeCurrency.symbol||``}}async signMessage(e){let{provider:t,message:n,address:r}=e;if(!t)throw Error(`UniversalAdapter:signMessage - provider is undefined`);let i=``;return i=U.state.activeCaipNetwork?.chainNamespace===L.CHAIN.SOLANA?(await t.request({method:`solana_signMessage`,params:{message:Ls.encode(new TextEncoder().encode(n)),pubkey:r}},U.state.activeCaipNetwork?.caipNetworkId)).signature:await t.request({method:`personal_sign`,params:[n,r]},U.state.activeCaipNetwork?.caipNetworkId),{signature:i}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async getProfile(){return Promise.resolve({profileImage:``,profileName:``})}async sendTransaction(){return Promise.resolve({hash:``})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:``})}async getEnsAddress(){return Promise.resolve({address:!1})}parseUnits(){return 0n}formatUnits(){return`0`}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve(`0x`)}async syncConnection(){return Promise.resolve({id:`WALLET_CONNECT`,type:`WALLET_CONNECT`,chainId:1,provider:this.provider,address:``})}async switchNetwork(e){let{caipNetwork:t}=e,n=this.getWalletConnectConnector();if(t.chainNamespace===L.CHAIN.EVM)try{await n.provider?.request({method:`wallet_switchEthereumChain`,params:[{chainId:Wu(t.id)}]})}catch(e){if(e.code===CJ.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||e.code===CJ.ERROR_INVALID_CHAIN_ID||e.code===CJ.ERROR_CODE_DEFAULT||e?.data?.originalError?.code===CJ.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await n.provider?.request({method:`wallet_addEthereumChain`,params:[{chainId:Wu(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch{throw Error(`Chain is not supported`)}}n.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(e=>e.type===`WALLET_CONNECT`)?.provider}},PJ=class{constructor(e){this.hasSwitchedToPreferredAccountTypeOnConnect=!1,this.chainNamespaces=[],this.reportedAlertErrors={},this.getCaipNetwork=e=>e?U.getNetworkData(e)?.caipNetwork||U.getRequestedCaipNetworks(e).filter(t=>t.chainNamespace===e)?.[0]:U.state.activeCaipNetwork||this.defaultCaipNetwork,this.getCaipNetworkId=()=>{let e=this.getCaipNetwork();if(e)return e.id},this.getCaipNetworks=e=>U.getRequestedCaipNetworks(e),this.getActiveChainNamespace=()=>U.state.activeChain,this.setRequestedCaipNetworks=(e,t)=>{U.setRequestedCaipNetworks(e,t)},this.getApprovedCaipNetworkIds=()=>U.getAllApprovedCaipNetworkIds(),this.getCaipAddress=e=>U.state.activeChain===e||!e?U.state.activeCaipAddress:U.getAccountProp(`caipAddress`,e),this.setClientId=e=>{R.setClientId(e)},this.getProvider=e=>xf.getProvider(e),this.getProviderType=e=>xf.getProviderId(e),this.getPreferredAccountType=()=>I.state.preferredAccountType,this.setCaipAddress=(e,t)=>{I.setCaipAddress(e,t)},this.setBalance=(e,t,n)=>{I.setBalance(e,t,n)},this.setProfileName=(e,t)=>{I.setProfileName(e,t)},this.setProfileImage=(e,t)=>{I.setProfileImage(e,t)},this.setUser=(e,t)=>{I.setUser(e,t),g.state.enableEmbedded&&se.close()},this.resetAccount=e=>{I.resetAccount(e)},this.setCaipNetwork=e=>{U.setActiveCaipNetwork(e)},this.setCaipNetworkOfNamespace=(e,t)=>{U.setChainNetworkData(t,{caipNetwork:e})},this.setAllAccounts=(e,t)=>{I.setAllAccounts(e,t),g.setHasMultipleAddresses(e?.length>1)},this.setStatus=(e,t)=>{I.setStatus(e,t),m.isConnected()?C.setConnectionStatus(`connected`):C.setConnectionStatus(`disconnected`)},this.getAddressByChainNamespace=e=>U.getAccountProp(`address`,e),this.setConnectors=e=>{let t=[...m.getConnectors(),...e];m.setConnectors(t)},this.fetchIdentity=e=>R.fetchIdentity(e),this.getReownName=e=>uf.getNamesForAddress(e),this.getConnectors=()=>m.getConnectors(),this.getConnectorImage=e=>A.getConnectorImage(e),this.setConnectedWalletInfo=(e,t)=>{let n=xf.getProviderId(t),r=e?{...e,type:n}:void 0;I.setConnectedWalletInfo(r,t)},this.getIsConnectedState=()=>!!U.state.activeCaipAddress,this.addAddressLabel=(e,t,n)=>{I.addAddressLabel(e,t,n)},this.removeAddressLabel=(e,t)=>{I.removeAddressLabel(e,t)},this.getAddress=e=>U.state.activeChain===e||!e?I.state.address:U.getAccountProp(`address`,e),this.setApprovedCaipNetworksData=e=>U.setApprovedCaipNetworksData(e),this.resetNetwork=e=>{U.resetNetwork(e)},this.addConnector=e=>{m.addConnector(e)},this.resetWcConnection=()=>{z.resetWcConnection()},this.setAddressExplorerUrl=(e,t)=>{I.setAddressExplorerUrl(e,t)},this.setSmartAccountDeployed=(e,t)=>{I.setSmartAccountDeployed(e,t)},this.setSmartAccountEnabledNetworks=(e,t)=>{U.setSmartAccountEnabledNetworks(e,t)},this.setPreferredAccountType=(e,t)=>{I.setPreferredAccountType(e,t)},this.setEIP6963Enabled=e=>{g.setEIP6963Enabled(e)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect(`ApproveTransaction`)}else this.open({view:`ApproveTransaction`})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=[...new Set(this.caipNetworks?.map(e=>e.chainNamespace))],this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.initialize(e),this.sendInitializeEvent(e)}async initialize(e){this.initControllers(e),await this.initChainAdapters(),await this.injectModalUi(),await this.syncExistingConnection(),ee.set({initialized:!0})}sendInitializeEvent(e){let{...t}=e;delete t.adapters,_.sendEvent({type:`track`,event:`INITIALIZE`,properties:{...t,networks:e.networks.map(e=>e.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&D.setThemeMode(e.themeMode),e.themeVariables&&D.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw Error(`ConnectionControllerClient and NetworkControllerClient must be set`);U.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});let t=this.getDefaultNetwork();t&&U.setActiveCaipNetwork(t)}initializeConnectionController(e){z.setWcBasic(e.basic??!1)}initializeConnectorController(){m.initialize(this.chainNamespaces)}initializeOptionsController(e){g.setDebug(e.debug!==!1),g.setEnableWalletConnect(e.enableWalletConnect!==!1),g.setEnableWalletGuide(e.enableWalletGuide!==!1),g.setEnableWallets(e.enableWallets!==!1),g.setEIP6963Enabled(e.enableEIP6963!==!1),g.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),g.setEnableAuthLogger(e.enableAuthLogger!==!1),g.setCustomRpcUrls(e.customRpcUrls),g.setSdkVersion(e.sdkVersion),g.setProjectId(e.projectId),g.setEnableEmbedded(e.enableEmbedded),g.setAllWallets(e.allWallets),g.setIncludeWalletIds(e.includeWalletIds),g.setExcludeWalletIds(e.excludeWalletIds),g.setFeaturedWalletIds(e.featuredWalletIds),g.setTokens(e.tokens),g.setTermsConditionsUrl(e.termsConditionsUrl),g.setPrivacyPolicyUrl(e.privacyPolicyUrl),g.setCustomWallets(e.customWallets),g.setFeatures(e.features),g.setAllowUnsupportedChain(e.allowUnsupportedChain),g.setDefaultAccountTypes(e.defaultAccountTypes),g.setUniversalProviderConfigOverride(e.universalProviderConfigOverride);let t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),g.setMetadata(e.metadata),g.setDisableAppend(e.disableAppend),g.setEnableEmbedded(e.enableEmbedded),g.setSIWX(e.siwx),!e.projectId){ie.open(ff.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,`error`);return}if(e.adapters?.find(e=>e.namespace===L.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw Error("Cannot set both `siweConfig` and `siwx` options");g.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return typeof window<`u`&&typeof document<`u`?{name:document.getElementsByTagName(`title`)?.[0]?.textContent||``,description:document.querySelector(`meta[property="og:description"]`)?.content||``,url:window.location.origin,icons:[document.querySelector(`link[rel~="icon"]`)?.href||``]}:null}setUnsupportedNetwork(e){let t=this.getActiveChainNamespace();if(t){let n=vf.getUnsupportedNetwork(`${t}:${e}`);U.setActiveCaipNetwork(n)}}getDefaultNetwork(){return vf.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return vf.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return vf.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){let t=e.networks.find(t=>t.id===e.defaultNetwork?.id);return t?vf.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{let e=U.state.activeChain,t=this.getAdapter(e),n=this.getCaipNetwork(e)?.id;if(!t)throw Error(`Adapter not found`);let r=await t.connectWalletConnect(n);this.close(),this.setClientId(r?.clientId||null),C.setConnectedNamespaces([...U.state.chains.keys()]),this.chainNamespaces.forEach(e=>{m.setConnectorId(W.CONNECTOR_TYPE_WALLET_CONNECT,e)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:t,type:n,provider:r,chain:i,caipNetwork:a})=>{let o=U.state.activeChain,s=i||o,c=this.getAdapter(s);if(i&&i!==o&&!a){let e=this.caipNetworks?.find(e=>e.chainNamespace===i);e&&this.setCaipNetwork(e)}if(!c)throw Error(`Adapter not found`);let l=this.getCaipNetwork(s),u=await c.connect({id:e,info:t,type:n,provider:r,chainId:a?.id||l?.id,rpcUrl:a?.rpcUrls?.default?.http?.[0]||l?.rpcUrls?.default?.http?.[0]});if(!u)return;C.addConnectedNamespace(s),this.syncProvider({...u,chainNamespace:s}),await this.syncAccount({...u,chainNamespace:s});let{accounts:d}=await c.getAccounts({namespace:s,id:e});this.setAllAccounts(d,s)},reconnectExternal:async({id:e,info:t,type:n,provider:r})=>{let i=U.state.activeChain,a=this.getAdapter(i);a?.reconnect&&(await a?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),C.addConnectedNamespace(i))},disconnect:async e=>{let t=e||U.state.activeChain,n=this.getAdapter(t),r=xf.getProvider(t),i=xf.getProviderId(t);await n?.disconnect({provider:r,providerType:i}),C.removeConnectedNamespace(t),xf.resetChain(t),this.setUser(void 0,t),this.setStatus(`disconnected`,t),this.hasSwitchedToPreferredAccountTypeOnConnect=!1},checkInstalled:e=>e?e.some(e=>!!window.ethereum?.[String(e)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(U.state.activeChain)?.signMessage({message:e,address:I.state.address,provider:xf.getProvider(U.state.activeChain)}))?.signature||``,sendTransaction:async e=>{if(e.chainNamespace===L.CHAIN.EVM){let t=this.getAdapter(U.state.activeChain),n=xf.getProvider(U.state.activeChain);return(await t?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:n}))?.hash||``}return``},estimateGas:async e=>{if(e.chainNamespace===L.CHAIN.EVM){let t=this.getAdapter(U.state.activeChain),n=xf.getProvider(U.state.activeChain),r=this.getCaipNetwork();if(!r)throw Error(`CaipNetwork is undefined`);return(await t?.estimateGas({...e,provider:n,caipNetwork:r}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.getAdapter(U.state.activeChain)?.getProfile({address:I.state.address,chainId:Number(this.getCaipNetwork()?.id)}))?.profileImage||!1,getEnsAddress:async e=>{let t=this.getAdapter(U.state.activeChain),n=this.getCaipNetwork();return n&&(await t?.getEnsAddress({name:e,caipNetwork:n}))?.address||!1},writeContract:async e=>{let t=this.getAdapter(U.state.activeChain),n=this.getCaipNetwork(),r=this.getCaipAddress(),i=xf.getProvider(U.state.activeChain);if(!n||!r)throw Error(`CaipNetwork or CaipAddress is undefined`);return(await t?.writeContract({...e,caipNetwork:n,provider:i,caipAddress:r}))?.hash},parseUnits:(e,t)=>this.getAdapter(U.state.activeChain)?.parseUnits({value:e,decimals:t})??0n,formatUnits:(e,t)=>this.getAdapter(U.state.activeChain)?.formatUnits({value:e,decimals:t})??`0`,getCapabilities:async e=>await this.getAdapter(U.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(U.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{let t=this.getAdapter(U.state.activeChain);return t?.revokePermissions?await t.revokePermissions(e):`0x`},walletGetAssets:async e=>await this.getAdapter(U.state.activeChain)?.walletGetAssets(e)??{}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},z.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(xf.getProviderId(U.state.activeChain)===W.CONNECTOR_TYPE_WALLET_CONNECT){let e=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name===`MetaMask Wallet`,approvedCaipNetworkIds:this.getChainsFromNamespaces(e)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;let t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){let n=xf.getProvider(t),r=xf.getProviderId(t);if(e.chainNamespace===U.state.activeChain)await this.getAdapter(t)?.switchNetwork({caipNetwork:e,provider:n,providerType:r});else if(this.setCaipNetwork(e),r===W.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{let n=this.getAddressByChainNamespace(t);n&&this.syncAccount({address:n,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>{let t=e.chains||[],n=e.accounts.map(e=>{let{chainId:t,chainNamespace:n}=Ye.parseCaipAddress(e);return`${n}:${t}`});return Array.from(new Set([...t,...n]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,n)=>{let r=e?.find(e=>e.namespace===n);return r?(t[n]=r,t[n].namespace=n,t[n].construct({namespace:n,projectId:this.options?.projectId,networks:this.caipNetworks})):t[n]=new NJ({namespace:n,networks:this.caipNetworks}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on(`connectors`,this.setConnectors.bind(this))}listenAdapter(e){let t=this.getAdapter(e);if(!t)return;let n=C.getConnectionStatus();n===`connected`?this.setStatus(`connecting`,e):(n===`disconnected`&&C.clearAddressCache(),this.setStatus(n,e)),t.on(`switchNetwork`,({address:t,chainId:n})=>{let r=this.caipNetworks?.find(e=>e.id===n||e.caipNetworkId===n),i=U.state.activeChain===e,a=U.getAccountProp(`address`,e);if(r){let r=i&&t?t:a;r&&this.syncAccount({address:r,chainId:n,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on(`disconnect`,this.disconnect.bind(this,e)),t.on(`pendingTransactions`,()=>{let e=I.state.address,t=U.state.activeCaipNetwork;!e||!t?.id||this.updateNativeBalance(e,t.id,t.chainNamespace)}),t.on(`accountChanged`,({address:t,chainId:n})=>{let r=U.state.activeChain===e;r&&n?this.syncAccount({address:t,chainId:n,chainNamespace:e}):r&&U.state.activeCaipNetwork?.id?this.syncAccount({address:t,chainId:U.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(t,n,e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{let t=m.getConnectorId(e);switch(this.setStatus(`connecting`,e),t){case L.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case L.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(t){console.warn(`AppKit couldn't sync existing connection`,t),this.setStatus(`disconnected`,e)}}async syncAdapterConnection(e){let t=this.getAdapter(e),n=m.getConnectorId(e),r=this.getCaipNetwork(e),i=m.getConnectors(e).find(e=>e.id===n);try{if(!t||!i)throw Error(`Adapter or connector not found for namespace ${e}`);if(!r?.id)throw Error(`CaipNetwork not found`);let n=await t?.syncConnection({namespace:e,id:i.id,chainId:r.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]});if(n){let r=await t?.getAccounts({namespace:e,id:i.id});r&&r.accounts.length>0?this.setAllAccounts(r.accounts,e):this.setAllAccounts([j.createAccount(e,n.address,`eoa`)],e),this.syncProvider({...n,chainNamespace:e}),await this.syncAccount({...n,chainNamespace:e}),this.setStatus(`connected`,e)}else this.setStatus(`disconnected`,e)}catch{this.setStatus(`disconnected`,e)}}async syncWalletConnectAccount(){let e=this.chainNamespaces.map(async e=>{let t=this.getAdapter(e),n=this.universalProvider?.session?.namespaces?.[e]?.accounts||[],r=U.state.activeCaipNetwork?.id,i=n.find(e=>{let{chainId:t}=Ye.parseCaipAddress(e);return t===r?.toString()})||n[0];if(i){let n=Ye.validateCaipAddress(i),{chainId:r,address:a}=Ye.parseCaipAddress(n);if(xf.setProviderId(e,W.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&U.state.activeCaipNetwork&&t?.namespace!==L.CHAIN.EVM){let n=t?.getWalletConnectProvider({caipNetworks:this.caipNetworks,provider:this.universalProvider,activeCaipNetwork:U.state.activeCaipNetwork});xf.setProvider(e,n)}else xf.setProvider(e,this.universalProvider);m.setConnectorId(L.CONNECTOR_ID.WALLET_CONNECT,e),C.addConnectedNamespace(e),this.syncWalletConnectAccounts(e),await this.syncAccount({address:a,chainId:r,chainNamespace:e})}else this.setStatus(`disconnected`,e);await U.setApprovedCaipNetworksData(e)});await Promise.all(e)}syncWalletConnectAccounts(e){let t=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(e=>{let{address:t}=Ye.parseCaipAddress(e);return t}).filter((e,t,n)=>n.indexOf(e)===t);t&&this.setAllAccounts(t.map(t=>j.createAccount(e,t,e===`bip122`?`payment`:`eoa`)),e)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){xf.setProviderId(r,e),xf.setProvider(r,t),m.setConnectorId(n,r)}async syncAccount(e){let t=e.chainNamespace===U.state.activeChain,n=U.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:a}=e,{chainId:o}=C.getActiveNetworkProps(),s=i||o,c=U.state.activeCaipNetwork?.name===L.UNSUPPORTED_NETWORK_NAME,l=U.getNetworkProp(`supportsAllNetworks`,a);if(this.setStatus(`connected`,a),!(c&&!l)&&s){let e=this.caipNetworks?.find(e=>e.id.toString()===s.toString()),i=this.caipNetworks?.find(e=>e.chainNamespace===a);if(!l&&!e&&!i){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>Ye.parseCaipNetworkId(e)?.chainId===s.toString()),r=t.find(e=>Ye.parseCaipNetworkId(e)?.chainNamespace===a);e=this.caipNetworks?.find(e=>e.caipNetworkId===n),i=this.caipNetworks?.find(e=>e.caipNetworkId===r||`deprecatedCaipNetworkId`in e&&e.deprecatedCaipNetworkId===r)}let o=e||i;o?.chainNamespace===U.state.activeChain?g.state.enableNetworkSwitch&&!g.state.allowUnsupportedChain&&U.state.activeCaipNetwork?.name===L.UNSUPPORTED_NETWORK_NAME?U.showUnsupportedChainUI():this.setCaipNetwork(o):t||n&&this.setCaipNetworkOfNamespace(n,a),this.syncConnectedWalletInfo(a),_e.isLowerCaseMatch(r,I.state.address)||this.syncAccountInfo(r,o?.id,a),t?await this.syncBalance({address:r,chainId:o?.id,chainNamespace:a}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:a})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),i=t||r?.split(`:`)[1];if(!i)return;let a=`${n}:${i}:${e}`;this.setCaipAddress(a,n),await this.syncIdentity({address:e,chainId:i,chainNamespace:n})}async syncReownName(e,t){try{let n=await this.getReownName(e);if(n[0]){let e=n[0];this.setProfileName(e.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){let t=m.getConnectorId(e),n=xf.getProviderId(e);if(n===W.CONNECTOR_TYPE_ANNOUNCED||n===W.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>e.id===t);if(n){let{info:t,name:r,imageUrl:i}=n,a=i||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:a,...t},e)}}}else if(n===W.CONNECTOR_TYPE_WALLET_CONNECT){let t=xf.getProvider(e);t?.session&&this.setConnectedWalletInfo({...t.session.peer.metadata,name:t.session.peer.metadata.name,icon:t.session.peer.metadata.icons?.[0]},e)}else if(t)if(t===L.CONNECTOR_ID.COINBASE){let t=this.getConnectors().find(e=>e.id===L.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:`Coinbase Wallet`,icon:this.getConnectorImage(t)},e)}else this.setConnectedWalletInfo({name:t},e)}async syncBalance(e){!oe.getNetworksByNamespace(this.caipNetworks,e.chainNamespace).find(t=>t.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async updateNativeBalance(e,t,n){let r=this.getAdapter(n);if(r){let i=await r.getBalance({address:e,chainId:t,caipNetwork:this.getCaipNetwork(n),tokens:this.options.tokens});this.setBalance(i.balance,i.symbol,n)}}async initializeUniversalAdapter(){let e=mf.createLogger((e,...t)=>{e&&this.handleAlertError(e),console.error(...t)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:``,description:this.options?.metadata?this.options?.metadata.description:``,url:this.options?.metadata?this.options?.metadata.url:``,icons:this.options?.metadata?this.options?.metadata.icons:[``]},logger:e};g.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await SJ.init(t),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on(`display_uri`,e=>{z.setUri(e)}),this.universalProvider.on(`connect`,z.finalizeWcConnection),this.universalProvider.on(`disconnect`,()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),z.resetWcConnection()}),this.universalProvider.on(`chainChanged`,e=>{let t=this.caipNetworks?.find(t=>t.id==e),n=this.getCaipNetwork();if(!t){this.setUnsupportedNetwork(e);return}n?.id!==t?.id&&this.setCaipNetwork(t)}),this.universalProvider.on(`session_event`,e=>{if(kJ.isSessionEventData(e)){let{name:t,data:n}=e.params.event;t===`accountsChanged`&&Array.isArray(n)&&j.isCaipAddress(n[0])&&this.syncAccount(Ye.parseCaipAddress(n[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&j.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){_.sendEvent({type:`error`,event:`INTERNAL_SDK_ERROR`,properties:{errorType:`UniversalProviderInitError`,errorMessage:e instanceof Error?e.message:`Unknown`,uncaught:!1}}),console.error(`AppKit:getUniversalProvider - Cannot create provider`,e)}return this.universalProvider}handleAlertError(e){let[t,n]=Object.entries(ff.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:i}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=ff.ALERT_ERRORS[i];e&&(ie.open(e,`error`),this.reportedAlertErrors[t]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;let t=e.namespace;if(!t)return;this.createClients();let n=e;n.namespace=t,n.construct({namespace:t,projectId:this.options?.projectId,networks:this.caipNetworks}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=n)}async open(e){await this.injectModalUi(),e?.uri&&z.setUri(e.uri),await se.open(e)}async close(){await this.injectModalUi(),se.close()}setLoading(e,t){se.setLoading(e,t)}async disconnect(e){await z.disconnect(e)}getError(){return``}getChainId(){return U.state.activeCaipNetwork?.id}async switchNetwork(e){let t=this.caipNetworks?.find(t=>t.id===e.id);if(!t){ie.open(ff.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,`error`);return}await U.switchActiveNetwork(t)}getWalletProvider(){return U.state.activeChain?xf.state.providers[U.state.activeChain]:null}getWalletProviderType(){return xf.getProviderId(U.state.activeChain)}subscribeProviders(e){return xf.subscribeProviders(e)}getThemeMode(){return D.state.themeMode}getThemeVariables(){return D.state.themeVariables}setThemeMode(e){D.setThemeMode(e),F(D.state.themeMode)}setTermsConditionsUrl(e){g.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){g.setPrivacyPolicyUrl(e)}setThemeVariables(e){D.setThemeVariables(e),H(D.state.themeVariables)}subscribeTheme(e){return D.subscribe(e)}getWalletInfo(){return I.state.connectedWalletInfo}getAccount(e){let t=m.getAuthConnector(e),n=U.getAccountData(e);if(n)return{allAccounts:n.allAccounts,caipAddress:n.caipAddress,address:j.getPlainAddress(n.caipAddress),isConnected:!!n.caipAddress,status:n.status,embeddedWalletInfo:t?{user:n.user,authProvider:n.socialProvider||`email`,accountType:n.preferredAccountType,isSmartAccountDeployed:!!n.smartAccountDeployed}:void 0}}subscribeAccount(e,t){let n=()=>{let n=this.getAccount(t);n&&e(n)};t?U.subscribeChainProp(`accountState`,n,t):U.subscribe(n),m.subscribe(n)}subscribeNetwork(e){return U.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e){return I.subscribeKey(`connectedWalletInfo`,e)}subscribeShouldUpdateToAddress(e){I.subscribeKey(`shouldUpdateToAddress`,e)}subscribeCaipNetworkChange(e){U.subscribeKey(`activeCaipNetwork`,e)}getState(){return ee.state}subscribeState(e){return ee.subscribe(e)}showErrorMessage(e){ce.showError(e)}showSuccessMessage(e){ce.showSuccess(e)}getEvent(){return{..._.state}}subscribeEvents(e){return _.subscribe(e)}replace(e){k.replace(e)}redirect(e){k.push(e)}popTransactionStack(e){k.popTransactionStack(e)}isOpen(){return se.state.open}isTransactionStackEmpty(){return k.state.transactionStack.length===0}isTransactionShouldReplaceView(){return k.state.transactionStack[k.state.transactionStack.length-1]?.replace}static getInstance(){return this.instance}updateFeatures(e){g.setFeatures(e)}updateOptions(e){let t={...g.state||{},...e};g.setOptions(t)}setConnectMethodsOrder(e){g.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){g.setWalletFeaturesOrder(e)}setCollapseWallets(e){g.setCollapseWallets(e)}setSocialsOrder(e){g.setSocialsOrder(e)}getConnectMethodsOrder(){return ge.getConnectOrderMethod(g.state.features,m.getConnectors())}removeAdapter(e){let t=this.getIsConnectedState(),n=this.getAdapter(e);if(!n||!this.chainAdapters||t)return;let r=this.caipNetworks?.filter(t=>t.chainNamespace!==e);U.removeAdapter(e),m.removeAdapter(e),this.chainNamespaces=this.chainNamespaces.filter(t=>t!==e),this.caipNetworks=r,n.removeAllEventListeners(),Reflect.deleteProperty(this.chainAdapters,e)}addAdapter(e,t){let n=e.namespace;if(!this.connectionControllerClient||!this.networkControllerClient||!this.chainAdapters||!n)return;let r=this.extendCaipNetworks({...this.options,networks:t});this.caipNetworks=[...this.caipNetworks||[],...r],this.createAdapter(e),this.initChainAdapter(n),U.addAdapter(e,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient},r)}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);let n=this.extendCaipNetwork(t,this.options);U.addNetwork(n),this.caipNetworks&&!this.caipNetworks?.find(e=>e.id===n.id)&&this.caipNetworks.push(n)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);if(!this.caipNetworks?.find(e=>e.id===t))throw Error(`Network with ID ${t} not found`);if(!this.caipNetworks)return;let n=this.caipNetworks.filter(n=>n.chainNamespace===e&&n.id!==t);if(!n?.length)throw Error(`Cannot remove last network for a namespace`);U.removeNetwork(e,t),this.caipNetworks=[...n]}},FJ=!1,IJ=class extends PJ{async open(e){m.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&z.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!FJ&&j.isClient()){if(await a(()=>import(`./basic-qB2zBf_T.js`),__vite__mapDeps([5,6,1,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30])),await a(()=>import(`./w3m-modal-CcAeUAZf.js`),__vite__mapDeps([31,27,28,7,29,1])),!document.querySelector(`w3m-modal`)){let e=document.createElement(`w3m-modal`);!g.state.disableAppend&&!g.state.enableEmbedded&&document.body.insertAdjacentElement(`beforeend`,e)}FJ=!0}}},LJ=`1.7.2`;function RJ(e){return new IJ({...e,basic:!0,sdkVersion:`html-core-${LJ}`})}var zJ=class e extends Error{constructor(){super(),Object.setPrototypeOf(this,e.prototype)}},BJ=class extends Error{constructor(e){super(`WalletConnect Adapter - Method ${e} is not supported by the wallet`),this.name=`WalletConnectFeatureNotSupportedError`}};function VJ(e){let t=[e];return e===Dp.Mainnet||e===Dp.Deprecated_Mainnet?(t=[Dp.Mainnet,Dp.Deprecated_Mainnet],e===Dp.Deprecated_Mainnet&&console.warn(HJ.mainnet)):(e===Dp.Deprecated_Devnet||e===Dp.Devnet)&&(t=[Dp.Devnet,Dp.Deprecated_Devnet],Dp.Deprecated_Devnet&&console.warn(HJ.devnet)),t}var HJ={mainnet:`You are using a deprecated chain ID for Solana Mainnet, please use ${Dp.Mainnet} instead.`,devnet:`You are using a deprecated chain ID for Solana Devnet, please use ${Dp.Devnet} instead.`,wallet:`The connected wallet is using a deprecated chain ID for Solana. Please, contact them to upgrade. You can learn more at https://github.com/ChainAgnostic/namespaces/blob/main/solana/caip10.md#chain-ids`};function UJ(e,t){let n=e.namespaces.solana?.accounts.map(e=>`solana:${e.split(`:`)[1]}`);if(t===Dp.Mainnet)return n?.find(e=>e===Dp.Mainnet)?Dp.Mainnet:(console.warn(HJ.wallet),Dp.Deprecated_Mainnet);if(t===Dp.Devnet)return n?.find(e=>e===Dp.Devnet)?Dp.Devnet:(console.warn(HJ.wallet),Dp.Deprecated_Devnet);throw Error(`WalletConnect Solana Adapter: Unable to get a default chain from the session.`)}function WJ(e){return{optionalNamespaces:{solana:{chains:VJ(e),methods:[Ep.signTransaction,Ep.signMessage],events:[]}}}}var GJ=class e extends Error{constructor(){super(`QR Code Modal was closed by user`),Object.setPrototypeOf(this,e.prototype),this.name=`QRCodeModalError`}},KJ=class{_UniversalProvider;_session;_modal;_projectId;_network;_ConnectQueueResolver;constructor(e){if(this.initClient(e.options),this._network=e.network,!e.options.projectId)throw Error(`WalletConnect Adapter: Project ID is undefined`);this._projectId=e.options.projectId}async connect(){if(this._UniversalProvider||await new Promise(e=>{this._ConnectQueueResolver=e}),!this._UniversalProvider)throw Error(`WalletConnect Adapter - Universal Provider was undefined while calling 'connect()'`);if(this._UniversalProvider.session){this._session=this._UniversalProvider.session;let e=UJ(this._session,this._network);return this._network=e,this._UniversalProvider.setDefaultChain(e),{publicKey:this.publicKey}}await this.initModal();let e=WJ(this._network);this._modal?.open();let t=new AbortController,n=t.signal;this._modal?.subscribeState(e=>{e.open||t.abort(new GJ)});try{let t=await Promise.race([this._UniversalProvider?.connect(e),new Promise((e,t)=>{n.addEventListener(`abort`,()=>{t(n.reason)})})]);if(this._modal?.close(),this._session=t,!t)throw new Ne;let r=UJ(t,this._network);return this._network=r,this._UniversalProvider?.setDefaultChain(r),{publicKey:this.publicKey}}catch(e){throw this._modal?.close(),e}}async disconnect(){if(this._UniversalProvider?.session){if(await this.initModal(),!this._modal)throw Error(`WalletConnect Adapter -Modal is undefined: unable to disconnect`);await this.client.disconnect(),this._session=void 0}else throw new zJ}get client(){if(this._UniversalProvider)return this._UniversalProvider;throw new zJ}get session(){if(!this._session)throw new zJ;return this._session}get publicKey(){if(this._UniversalProvider?.session&&this._session){let{address:e}=eh(this._session?.namespaces.solana?.accounts[0]??``);return new he(e)}throw new zJ}async signTransaction(e){this.checkIfWalletSupportsMethod(Ep.signTransaction);let t=Ie(e),n=t?{}:e,{signature:r,transaction:i}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signTransaction,params:{...n,transaction:this.serialize(e)}}});return i?this.deserialize(i,t):(e.addSignature(this.publicKey,Buffer.from(Ls.decode(r))),e)}async signMessage(e){this.checkIfWalletSupportsMethod(Ep.signMessage);let{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signMessage,params:{pubkey:this.publicKey.toString(),message:Ls.encode(e)}}});return Ls.decode(t)}async signAndSendTransaction(e){this.checkIfWalletSupportsMethod(Ep.signAndSendTransaction);let{signature:t}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signAndSendTransaction,params:{transaction:this.serialize(e)}}});return t}async signAllTransactions(e){try{this.checkIfWalletSupportsMethod(Ep.signAllTransactions);let t=e.map(e=>this.serialize(e)),{transactions:n}=await this.client.client.request({chainId:this._network,topic:this.session.topic,request:{method:Ep.signAllTransactions,params:{transactions:t}}});return e.map((e,t)=>Ie(e)?this.deserialize(n[t]??``,!0):this.deserialize(n[t]??``))}catch(t){if(t instanceof BJ){let t=e.map(e=>this.signTransaction(e));return await Promise.all(t)}throw t}}async initClient(e){let t=await bP.init(e);this._UniversalProvider=t,this._ConnectQueueResolver&&this._ConnectQueueResolver(!0)}async initModal(){if(!this._modal){if(!this._UniversalProvider)throw Error(`WalletConnect Adapter - cannot init modal when Universal Provider is undefined`);this._modal=RJ({projectId:this._projectId,universalProvider:this._UniversalProvider,networks:[TJ,EJ,DJ],manualWCControl:!0})}}serialize(e){return Buffer.from(e.serialize({verifySignatures:!1})).toString(`base64`)}deserialize(e,t=!1){return t?pe.deserialize(Buffer.from(e,`base64`)):me.from(Buffer.from(e,`base64`))}checkIfWalletSupportsMethod(e){if(!this.session.namespaces.solana?.methods.includes(e))throw new BJ(e)}},qJ=`WalletConnect`,JJ=class extends Fe{name=qJ;url=`https://walletconnect.org`;icon=`data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE4NSIgdmlld0JveD0iMCAwIDMwMCAxODUiIHdpZHRoPSIzMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTYxLjQzODU0MjkgMzYuMjU2MjYxMmM0OC45MTEyMjQxLTQ3Ljg4ODE2NjMgMTI4LjIxMTk4NzEtNDcuODg4MTY2MyAxNzcuMTIzMjA5MSAwbDUuODg2NTQ1IDUuNzYzNDE3NGMyLjQ0NTU2MSAyLjM5NDQwODEgMi40NDU1NjEgNi4yNzY1MTEyIDAgOC42NzA5MjA0bC0yMC4xMzY2OTUgMTkuNzE1NTAzYy0xLjIyMjc4MSAxLjE5NzIwNTEtMy4yMDUzIDEuMTk3MjA1MS00LjQyODA4MSAwbC04LjEwMDU4NC03LjkzMTE0NzljLTM0LjEyMTY5Mi0zMy40MDc5ODE3LTg5LjQ0Mzg4Ni0zMy40MDc5ODE3LTEyMy41NjU1Nzg4IDBsLTguNjc1MDU2MiA4LjQ5MzYwNTFjLTEuMjIyNzgxNiAxLjE5NzIwNDEtMy4yMDUzMDEgMS4xOTcyMDQxLTQuNDI4MDgwNiAwbC0yMC4xMzY2OTQ5LTE5LjcxNTUwMzFjLTIuNDQ1NTYxMi0yLjM5NDQwOTItMi40NDU1NjEyLTYuMjc2NTEyMiAwLTguNjcwOTIwNHptMjE4Ljc2Nzc5NjEgNDAuNzczNzQ0OSAxNy45MjE2OTcgMTcuNTQ2ODk3YzIuNDQ1NTQ5IDIuMzk0Mzk2OSAyLjQ0NTU2MyA2LjI3NjQ3NjkuMDAwMDMxIDguNjcwODg5OWwtODAuODEwMTcxIDc5LjEyMTEzNGMtMi40NDU1NDQgMi4zOTQ0MjYtNi40MTA1ODIgMi4zOTQ0NTMtOC44NTYxNi4wMDAwNjItLjAwMDAxLS4wMDAwMS0uMDAwMDIyLS4wMDAwMjItLjAwMDAzMi0uMDAwMDMybC01Ny4zNTQxNDMtNTYuMTU0NTcyYy0uNjExMzktLjU5ODYwMi0xLjYwMjY1LS41OTg2MDItMi4yMTQwNCAwLS4wMDAwMDQuMDAwMDA0LS4wMDAwMDcuMDAwMDA4LS4wMDAwMTEuMDAwMDExbC01Ny4zNTI5MjEyIDU2LjE1NDUzMWMtMi40NDU1MzY4IDIuMzk0NDMyLTYuNDEwNTc1NSAyLjM5NDQ3Mi04Ljg1NjE2MTIuMDAwMDg3LS4wMDAwMTQzLS4wMDAwMTQtLjAwMDAyOTYtLjAwMDAyOC0uMDAwMDQ0OS0uMDAwMDQ0bC04MC44MTI0MTk0My03OS4xMjIxODVjLTIuNDQ1NTYwMjEtMi4zOTQ0MDgtMi40NDU1NjAyMS02LjI3NjUxMTUgMC04LjY3MDkxOTdsMTcuOTIxNzI5NjMtMTcuNTQ2ODY3M2MyLjQ0NTU2MDItMi4zOTQ0MDgyIDYuNDEwNTk4OS0yLjM5NDQwODIgOC44NTYxNjAyIDBsNTcuMzU0OTc3NSA1Ni4xNTUzNTdjLjYxMTM5MDguNTk4NjAyIDEuNjAyNjQ5LjU5ODYwMiAyLjIxNDAzOTggMCAuMDAwMDA5Mi0uMDAwMDA5LjAwMDAxNzQtLjAwMDAxNy4wMDAwMjY1LS4wMDAwMjRsNTcuMzUyMTAzMS01Ni4xNTUzMzNjMi40NDU1MDUtMi4zOTQ0NjMzIDYuNDEwNTQ0LTIuMzk0NTUzMSA4Ljg1NjE2MS0uMDAwMi4wMDAwMzQuMDAwMDMzNi4wMDAwNjguMDAwMDY3My4wMDAxMDEuMDAwMTAxbDU3LjM1NDkwMiA1Ni4xNTU0MzJjLjYxMTM5LjU5ODYwMSAxLjYwMjY1LjU5ODYwMSAyLjIxNDA0IDBsNTcuMzUzOTc1LTU2LjE1NDMyNDljMi40NDU1NjEtMi4zOTQ0MDkyIDYuNDEwNTk5LTIuMzk0NDA5MiA4Ljg1NjE2IDB6IiBmaWxsPSIjM2I5OWZjIi8+PC9zdmc+`;supportedTransactionVersions=new Set([`legacy`,0]);_publicKey;_connecting;_wallet;_config;_readyState;_onDisconnect;constructor(e){super(),this._publicKey=null,this._connecting=!1,this._config=e,this._wallet=null,this._readyState=typeof window>`u`?Me.Unsupported:Me.Loadable,this._onDisconnect=this.disconnect.bind(this)}get publicKey(){return this._publicKey}get connecting(){return this._connecting}get readyState(){return this._readyState}async connect(){try{if(this.connected||this.connecting)return;if(this._readyState!==Me.Loadable)throw new Ae;this._connecting=!0,this._wallet=new KJ({network:this._config.network===Pe.Mainnet?Tp.Mainnet:Tp.Devnet,options:this._config.options});let{publicKey:e}=await this._wallet.connect();this._publicKey=e,this.emit(`connect`,e),this._wallet.client.on(`session_delete`,this._onDisconnect)}catch(e){throw e.constructor.name===`QRCodeModalError`||e instanceof Error&&e.name===`QRCodeModalError`?new Oe:(this._connecting=!1,e)}finally{this._connecting=!1}}async disconnect(){let e=this._wallet;if(e){e.client.off(`session_delete`,this._onDisconnect),this._publicKey=null;try{e.client.session&&await e.disconnect()}catch(e){console.error(`WalletConnectWalletAdapter: disconnect error`,e),this.emit(`error`,new je(e?.message,e))}}this.emit(`disconnect`)}async signTransaction(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signTransaction(e)}catch(e){throw new ke(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signMessage(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signMessage(e)}catch(e){throw new Le(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signAndSendTransaction(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signAndSendTransaction(e)}catch(e){throw new ke(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}async signAllTransactions(e){try{let t=this._wallet;if(!t)throw new Re;try{return await t.signAllTransactions(e)}catch(e){throw new ke(e?.message,e)}}catch(e){throw this.emit(`error`,e),e}}};export{JJ as WalletConnectWalletAdapter,qJ as WalletConnectWalletName};
|