const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-C1NT52_0.js","./index-BnOBClK3.js","./index-Oz7fKELe.css"])))=>i.map(i=>d[i]);
import{h as T8,j as ji,f as y0,_ as B8}from"./index-BnOBClK3.js";import{r as w0,i as yh,e as Hi,G as _0}from"./inherits_browser-CxSnX98f.js";var e1=function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,a;i<n;i++)(a||!(i in e))&&(a||(a=Array.prototype.slice.call(e,0,i)),a[i]=e[i]);return r.concat(a||Array.prototype.slice.call(e))},q8=function(){function r(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"}return r}(),L8=function(){function r(e){this.version=e,this.type="node",this.name="node",this.os=process.platform}return r}(),U8=function(){function r(e,t,i,n){this.name=e,this.version=t,this.os=i,this.bot=n,this.type="bot-device"}return r}(),$8=function(){function r(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return r}(),z8=function(){function r(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return r}(),F8=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,j8=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,t1=3,k8=[["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",F8]],r1=[["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 H8(r){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new z8:typeof navigator<"u"?V8(navigator.userAgent):W8()}function K8(r){return r!==""&&k8.reduce(function(e,t){var i=t[0],n=t[1];if(e)return e;var a=n.exec(r);return!!a&&[i,a]},!1)}function V8(r){var e=K8(r);if(!e)return null;var t=e[0],i=e[1];if(t==="searchbot")return new $8;var n=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);n?n.length<t1&&(n=e1(e1([],n,!0),J8(t1-n.length),!0)):n=[];var a=n.join("."),f=G8(r),u=j8.exec(r);return u&&u[1]?new U8(t,a,f,u[1]):new q8(t,a,f)}function G8(r){for(var e=0,t=r1.length;e<t;e++){var i=r1[e],n=i[0],a=i[1],f=a.exec(r);if(f)return n}return null}function W8(){var r=typeof process<"u"&&process.version;return r?new L8(process.version.slice(1)):null}function J8(r){for(var e=[],t=0;t<r;t++)e.push("0");return e}var Me={};/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var Fl=function(r,e){return Fl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var n in i)i.hasOwnProperty(n)&&(t[n]=i[n])},Fl(r,e)};function Y8(r,e){Fl(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var jl=function(){return jl=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},jl.apply(this,arguments)};function Q8(r,e){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(r,i[n])&&(t[i[n]]=r[i[n]]);return t}function X8(r,e,t,i){var n=arguments.length,a=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,e,t,i);else for(var u=r.length-1;u>=0;u--)(f=r[u])&&(a=(n<3?f(a):n>3?f(e,t,a):f(e,t))||a);return n>3&&a&&Object.defineProperty(e,t,a),a}function Z8(r,e){return function(t,i){e(t,i,r)}}function e4(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function t4(r,e,t,i){function n(a){return a instanceof t?a:new t(function(f){f(a)})}return new(t||(t=Promise))(function(a,f){function u(y){try{v(i.next(y))}catch(E){f(E)}}function b(y){try{v(i.throw(y))}catch(E){f(E)}}function v(y){y.done?a(y.value):n(y.value).then(u,b)}v((i=i.apply(r,e||[])).next())})}function r4(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,n,a,f;return f={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(f[Symbol.iterator]=function(){return this}),f;function u(v){return function(y){return b([v,y])}}function b(v){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(a=v[0]&2?n.return:v[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,v[1])).done)return a;switch(n=0,a&&(v=[v[0]&2,a.value]),v[0]){case 0:case 1:a=v;break;case 4:return t.label++,{value:v[1],done:!1};case 5:t.label++,n=v[1],v=[0];continue;case 7:v=t.ops.pop(),t.trys.pop();continue;default:if(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(v[0]===6||v[0]===2)){t=0;continue}if(v[0]===3&&(!a||v[1]>a[0]&&v[1]<a[3])){t.label=v[1];break}if(v[0]===6&&t.label<a[1]){t.label=a[1],a=v;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(v);break}a[2]&&t.ops.pop(),t.trys.pop();continue}v=e.call(r,t)}catch(y){v=[6,y],n=0}finally{i=a=0}if(v[0]&5)throw v[1];return{value:v[0]?v[1]:void 0,done:!0}}}function i4(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function n4(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function kl(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Cv(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,a=[],f;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(u){f={error:u}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(f)throw f.error}}return a}function s4(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(Cv(arguments[e]));return r}function a4(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),n=0,e=0;e<t;e++)for(var a=arguments[e],f=0,u=a.length;f<u;f++,n++)i[n]=a[f];return i}function cc(r){return this instanceof cc?(this.v=r,this):new cc(r)}function o4(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,a=[];return n={},f("next"),f("throw"),f("return"),n[Symbol.asyncIterator]=function(){return this},n;function f(C){i[C]&&(n[C]=function(P){return new Promise(function(O,j){a.push([C,P,O,j])>1||u(C,P)})})}function u(C,P){try{b(i[C](P))}catch(O){E(a[0][3],O)}}function b(C){C.value instanceof cc?Promise.resolve(C.value.v).then(v,y):E(a[0][2],C)}function v(C){u("next",C)}function y(C){u("throw",C)}function E(C,P){C(P),a.shift(),a.length&&u(a[0][0],a[0][1])}}function c4(r){var e,t;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,a){e[n]=r[n]?function(f){return(t=!t)?{value:cc(r[n](f)),done:n==="return"}:a?a(f):f}:a}}function f4(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof kl=="function"?kl(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(a){t[a]=r[a]&&function(f){return new Promise(function(u,b){f=r[a](f),n(u,b,f.done,f.value)})}}function n(a,f,u,b){Promise.resolve(b).then(function(v){a({value:v,done:u})},f)}}function h4(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function u4(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e}function l4(r){return r&&r.__esModule?r:{default:r}}function d4(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function p4(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}const g4=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return jl},__asyncDelegator:c4,__asyncGenerator:o4,__asyncValues:f4,__await:cc,__awaiter:t4,__classPrivateFieldGet:d4,__classPrivateFieldSet:p4,__createBinding:i4,__decorate:X8,__exportStar:n4,__extends:Y8,__generator:r4,__importDefault:l4,__importStar:u4,__makeTemplateObject:h4,__metadata:e4,__param:Z8,__read:Cv,__rest:Q8,__spread:s4,__spreadArrays:a4,__values:kl},Symbol.toStringTag,{value:"Module"})),vc=T8(g4);var Zu={},Fo={},i1;function v4(){if(i1)return Fo;i1=1,Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return Fo.delay=r,Fo}var Zs={},el={},ea={},n1;function b4(){return n1||(n1=1,Object.defineProperty(ea,"__esModule",{value:!0}),ea.ONE_THOUSAND=ea.ONE_HUNDRED=void 0,ea.ONE_HUNDRED=100,ea.ONE_THOUSAND=1e3),ea}var tl={},s1;function m4(){return s1||(s1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.ONE_YEAR=r.FOUR_WEEKS=r.THREE_WEEKS=r.TWO_WEEKS=r.ONE_WEEK=r.THIRTY_DAYS=r.SEVEN_DAYS=r.FIVE_DAYS=r.THREE_DAYS=r.ONE_DAY=r.TWENTY_FOUR_HOURS=r.TWELVE_HOURS=r.SIX_HOURS=r.THREE_HOURS=r.ONE_HOUR=r.SIXTY_MINUTES=r.THIRTY_MINUTES=r.TEN_MINUTES=r.FIVE_MINUTES=r.ONE_MINUTE=r.SIXTY_SECONDS=r.THIRTY_SECONDS=r.TEN_SECONDS=r.FIVE_SECONDS=r.ONE_SECOND=void 0,r.ONE_SECOND=1,r.FIVE_SECONDS=5,r.TEN_SECONDS=10,r.THIRTY_SECONDS=30,r.SIXTY_SECONDS=60,r.ONE_MINUTE=r.SIXTY_SECONDS,r.FIVE_MINUTES=r.ONE_MINUTE*5,r.TEN_MINUTES=r.ONE_MINUTE*10,r.THIRTY_MINUTES=r.ONE_MINUTE*30,r.SIXTY_MINUTES=r.ONE_MINUTE*60,r.ONE_HOUR=r.SIXTY_MINUTES,r.THREE_HOURS=r.ONE_HOUR*3,r.SIX_HOURS=r.ONE_HOUR*6,r.TWELVE_HOURS=r.ONE_HOUR*12,r.TWENTY_FOUR_HOURS=r.ONE_HOUR*24,r.ONE_DAY=r.TWENTY_FOUR_HOURS,r.THREE_DAYS=r.ONE_DAY*3,r.FIVE_DAYS=r.ONE_DAY*5,r.SEVEN_DAYS=r.ONE_DAY*7,r.THIRTY_DAYS=r.ONE_DAY*30,r.ONE_WEEK=r.SEVEN_DAYS,r.TWO_WEEKS=r.ONE_WEEK*2,r.THREE_WEEKS=r.ONE_WEEK*3,r.FOUR_WEEKS=r.ONE_WEEK*4,r.ONE_YEAR=r.ONE_DAY*365}(tl)),tl}var a1;function Ov(){return a1||(a1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=vc;e.__exportStar(b4(),r),e.__exportStar(m4(),r)}(el)),el}var o1;function y4(){if(o1)return Zs;o1=1,Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.fromMiliseconds=Zs.toMiliseconds=void 0;const r=Ov();function e(i){return i*r.ONE_THOUSAND}Zs.toMiliseconds=e;function t(i){return Math.floor(i/r.ONE_THOUSAND)}return Zs.fromMiliseconds=t,Zs}var c1;function w4(){return c1||(c1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=vc;e.__exportStar(v4(),r),e.__exportStar(y4(),r)}(Zu)),Zu}var $a={},f1;function _4(){if(f1)return $a;f1=1,Object.defineProperty($a,"__esModule",{value:!0}),$a.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(t){if(this.timestamps.has(t))throw new Error(`Watch already started for label: ${t}`);this.timestamps.set(t,{started:Date.now()})}stop(t){const i=this.get(t);if(typeof i.elapsed<"u")throw new Error(`Watch already stopped for label: ${t}`);const n=Date.now()-i.started;this.timestamps.set(t,{started:i.started,elapsed:n})}get(t){const i=this.timestamps.get(t);if(typeof i>"u")throw new Error(`No timestamp found for label: ${t}`);return i}elapsed(t){const i=this.get(t);return i.elapsed||Date.now()-i.started}}return $a.Watch=r,$a.default=r,$a}var rl={},jo={},h1;function A4(){if(h1)return jo;h1=1,Object.defineProperty(jo,"__esModule",{value:!0}),jo.IWatch=void 0;class r{}return jo.IWatch=r,jo}var u1;function E4(){return u1||(u1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),vc.__exportStar(A4(),r)}(rl)),rl}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=vc;e.__exportStar(w4(),r),e.__exportStar(_4(),r),e.__exportStar(E4(),r),e.__exportStar(Ov(),r)})(Me);var Kt={};Object.defineProperty(Kt,"__esModule",{value:!0});Kt.getLocalStorage=Kt.getLocalStorageOrThrow=Kt.getCrypto=Kt.getCryptoOrThrow=Rv=Kt.getLocation=Kt.getLocationOrThrow=E0=Kt.getNavigator=Kt.getNavigatorOrThrow=A0=Kt.getDocument=Kt.getDocumentOrThrow=Kt.getFromWindowOrThrow=Kt.getFromWindow=void 0;function da(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}Kt.getFromWindow=da;function so(r){const e=da(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}Kt.getFromWindowOrThrow=so;function x4(){return so("document")}Kt.getDocumentOrThrow=x4;function S4(){return da("document")}var A0=Kt.getDocument=S4;function M4(){return so("navigator")}Kt.getNavigatorOrThrow=M4;function I4(){return da("navigator")}var E0=Kt.getNavigator=I4;function D4(){return so("location")}Kt.getLocationOrThrow=D4;function P4(){return da("location")}var Rv=Kt.getLocation=P4;function C4(){return so("crypto")}Kt.getCryptoOrThrow=C4;function O4(){return da("crypto")}Kt.getCrypto=O4;function R4(){return so("localStorage")}Kt.getLocalStorageOrThrow=R4;function N4(){return da("localStorage")}Kt.getLocalStorage=N4;var x0={};Object.defineProperty(x0,"__esModule",{value:!0});var Nv=x0.getWindowMetadata=void 0;const l1=Kt;function T4(){let r,e;try{r=l1.getDocumentOrThrow(),e=l1.getLocationOrThrow()}catch{return null}function t(){const E=r.getElementsByTagName("link"),C=[];for(let P=0;P<E.length;P++){const O=E[P],j=O.getAttribute("rel");if(j&&j.toLowerCase().indexOf("icon")>-1){const W=O.getAttribute("href");if(W)if(W.toLowerCase().indexOf("https:")===-1&&W.toLowerCase().indexOf("http:")===-1&&W.indexOf("//")!==0){let Q=e.protocol+"//"+e.host;if(W.indexOf("/")===0)Q+=W;else{const H=e.pathname.split("/");H.pop();const Y=H.join("/");Q+=Y+"/"+W}C.push(Q)}else if(W.indexOf("//")===0){const Q=e.protocol+W;C.push(Q)}else C.push(W)}}return C}function i(...E){const C=r.getElementsByTagName("meta");for(let P=0;P<C.length;P++){const O=C[P],j=["itemprop","property","name"].map(W=>O.getAttribute(W)).filter(W=>W?E.includes(W):!1);if(j.length&&j){const W=O.getAttribute("content");if(W)return W}}return""}function n(){let E=i("name","og:site_name","og:title","twitter:title");return E||(E=r.title),E}function a(){return i("description","og:description","twitter:description","keywords")}const f=n(),u=a(),b=e.origin,v=t();return{description:u,url:b,icons:v,name:f}}Nv=x0.getWindowMetadata=T4;var fc={},B4=r=>encodeURIComponent(r).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Tv="%[a-f0-9]{2}",d1=new RegExp("("+Tv+")|([^%]+?)","gi"),p1=new RegExp("("+Tv+")+","gi");function Hl(r,e){try{return[decodeURIComponent(r.join(""))]}catch{}if(r.length===1)return r;e=e||1;var t=r.slice(0,e),i=r.slice(e);return Array.prototype.concat.call([],Hl(t),Hl(i))}function q4(r){try{return decodeURIComponent(r)}catch{for(var e=r.match(d1)||[],t=1;t<e.length;t++)r=Hl(e,t).join(""),e=r.match(d1)||[];return r}}function L4(r){for(var e={"%FE%FF":"��","%FF%FE":"��"},t=p1.exec(r);t;){try{e[t[0]]=decodeURIComponent(t[0])}catch{var i=q4(t[0]);i!==t[0]&&(e[t[0]]=i)}t=p1.exec(r)}e["%C2"]="�";for(var n=Object.keys(e),a=0;a<n.length;a++){var f=n[a];r=r.replace(new RegExp(f,"g"),e[f])}return r}var U4=function(r){if(typeof r!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof r+"`");try{return r=r.replace(/\+/g," "),decodeURIComponent(r)}catch{return L4(r)}},$4=(r,e)=>{if(!(typeof r=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e==="")return[r];const t=r.indexOf(e);return t===-1?[r]:[r.slice(0,t),r.slice(t+e.length)]},z4=function(r,e){for(var t={},i=Object.keys(r),n=Array.isArray(e),a=0;a<i.length;a++){var f=i[a],u=r[f];(n?e.indexOf(f)!==-1:e(f,u,r))&&(t[f]=u)}return t};(function(r){const e=B4,t=U4,i=$4,n=z4,a=H=>H==null,f=Symbol("encodeFragmentIdentifier");function u(H){switch(H.arrayFormat){case"index":return Y=>(U,F)=>{const V=U.length;return F===void 0||H.skipNull&&F===null||H.skipEmptyString&&F===""?U:F===null?[...U,[y(Y,H),"[",V,"]"].join("")]:[...U,[y(Y,H),"[",y(V,H),"]=",y(F,H)].join("")]};case"bracket":return Y=>(U,F)=>F===void 0||H.skipNull&&F===null||H.skipEmptyString&&F===""?U:F===null?[...U,[y(Y,H),"[]"].join("")]:[...U,[y(Y,H),"[]=",y(F,H)].join("")];case"colon-list-separator":return Y=>(U,F)=>F===void 0||H.skipNull&&F===null||H.skipEmptyString&&F===""?U:F===null?[...U,[y(Y,H),":list="].join("")]:[...U,[y(Y,H),":list=",y(F,H)].join("")];case"comma":case"separator":case"bracket-separator":{const Y=H.arrayFormat==="bracket-separator"?"[]=":"=";return U=>(F,V)=>V===void 0||H.skipNull&&V===null||H.skipEmptyString&&V===""?F:(V=V===null?"":V,F.length===0?[[y(U,H),Y,y(V,H)].join("")]:[[F,y(V,H)].join(H.arrayFormatSeparator)])}default:return Y=>(U,F)=>F===void 0||H.skipNull&&F===null||H.skipEmptyString&&F===""?U:F===null?[...U,y(Y,H)]:[...U,[y(Y,H),"=",y(F,H)].join("")]}}function b(H){let Y;switch(H.arrayFormat){case"index":return(U,F,V)=>{if(Y=/\[(\d*)\]$/.exec(U),U=U.replace(/\[\d*\]$/,""),!Y){V[U]=F;return}V[U]===void 0&&(V[U]={}),V[U][Y[1]]=F};case"bracket":return(U,F,V)=>{if(Y=/(\[\])$/.exec(U),U=U.replace(/\[\]$/,""),!Y){V[U]=F;return}if(V[U]===void 0){V[U]=[F];return}V[U]=[].concat(V[U],F)};case"colon-list-separator":return(U,F,V)=>{if(Y=/(:list)$/.exec(U),U=U.replace(/:list$/,""),!Y){V[U]=F;return}if(V[U]===void 0){V[U]=[F];return}V[U]=[].concat(V[U],F)};case"comma":case"separator":return(U,F,V)=>{const A=typeof F=="string"&&F.includes(H.arrayFormatSeparator),q=typeof F=="string"&&!A&&E(F,H).includes(H.arrayFormatSeparator);F=q?E(F,H):F;const ae=A||q?F.split(H.arrayFormatSeparator).map(ue=>E(ue,H)):F===null?F:E(F,H);V[U]=ae};case"bracket-separator":return(U,F,V)=>{const A=/(\[\])$/.test(U);if(U=U.replace(/\[\]$/,""),!A){V[U]=F&&E(F,H);return}const q=F===null?[]:F.split(H.arrayFormatSeparator).map(ae=>E(ae,H));if(V[U]===void 0){V[U]=q;return}V[U]=[].concat(V[U],q)};default:return(U,F,V)=>{if(V[U]===void 0){V[U]=F;return}V[U]=[].concat(V[U],F)}}}function v(H){if(typeof H!="string"||H.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function y(H,Y){return Y.encode?Y.strict?e(H):encodeURIComponent(H):H}function E(H,Y){return Y.decode?t(H):H}function C(H){return Array.isArray(H)?H.sort():typeof H=="object"?C(Object.keys(H)).sort((Y,U)=>Number(Y)-Number(U)).map(Y=>H[Y]):H}function P(H){const Y=H.indexOf("#");return Y!==-1&&(H=H.slice(0,Y)),H}function O(H){let Y="";const U=H.indexOf("#");return U!==-1&&(Y=H.slice(U)),Y}function j(H){H=P(H);const Y=H.indexOf("?");return Y===-1?"":H.slice(Y+1)}function W(H,Y){return Y.parseNumbers&&!Number.isNaN(Number(H))&&typeof H=="string"&&H.trim()!==""?H=Number(H):Y.parseBooleans&&H!==null&&(H.toLowerCase()==="true"||H.toLowerCase()==="false")&&(H=H.toLowerCase()==="true"),H}function Q(H,Y){Y=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},Y),v(Y.arrayFormatSeparator);const U=b(Y),F=Object.create(null);if(typeof H!="string"||(H=H.trim().replace(/^[?#&]/,""),!H))return F;for(const V of H.split("&")){if(V==="")continue;let[A,q]=i(Y.decode?V.replace(/\+/g," "):V,"=");q=q===void 0?null:["comma","separator","bracket-separator"].includes(Y.arrayFormat)?q:E(q,Y),U(E(A,Y),q,F)}for(const V of Object.keys(F)){const A=F[V];if(typeof A=="object"&&A!==null)for(const q of Object.keys(A))A[q]=W(A[q],Y);else F[V]=W(A,Y)}return Y.sort===!1?F:(Y.sort===!0?Object.keys(F).sort():Object.keys(F).sort(Y.sort)).reduce((V,A)=>{const q=F[A];return q&&typeof q=="object"&&!Array.isArray(q)?V[A]=C(q):V[A]=q,V},Object.create(null))}r.extract=j,r.parse=Q,r.stringify=(H,Y)=>{if(!H)return"";Y=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},Y),v(Y.arrayFormatSeparator);const U=q=>Y.skipNull&&a(H[q])||Y.skipEmptyString&&H[q]==="",F=u(Y),V={};for(const q of Object.keys(H))U(q)||(V[q]=H[q]);const A=Object.keys(V);return Y.sort!==!1&&A.sort(Y.sort),A.map(q=>{const ae=H[q];return ae===void 0?"":ae===null?y(q,Y):Array.isArray(ae)?ae.length===0&&Y.arrayFormat==="bracket-separator"?y(q,Y)+"[]":ae.reduce(F(q),[]).join("&"):y(q,Y)+"="+y(ae,Y)}).filter(q=>q.length>0).join("&")},r.parseUrl=(H,Y)=>{Y=Object.assign({decode:!0},Y);const[U,F]=i(H,"#");return Object.assign({url:U.split("?")[0]||"",query:Q(j(H),Y)},Y&&Y.parseFragmentIdentifier&&F?{fragmentIdentifier:E(F,Y)}:{})},r.stringifyUrl=(H,Y)=>{Y=Object.assign({encode:!0,strict:!0,[f]:!0},Y);const U=P(H.url).split("?")[0]||"",F=r.extract(H.url),V=r.parse(F,{sort:!1}),A=Object.assign(V,H.query);let q=r.stringify(A,Y);q&&(q=`?${q}`);let ae=O(H.url);return H.fragmentIdentifier&&(ae=`#${Y[f]?y(H.fragmentIdentifier,Y):H.fragmentIdentifier}`),`${U}${q}${ae}`},r.pick=(H,Y,U)=>{U=Object.assign({parseFragmentIdentifier:!0,[f]:!1},U);const{url:F,query:V,fragmentIdentifier:A}=r.parseUrl(H,U);return r.stringifyUrl({url:F,query:n(V,Y),fragmentIdentifier:A},U)},r.exclude=(H,Y,U)=>{const F=Array.isArray(Y)?V=>!Y.includes(V):(V,A)=>!Y(V,A);return r.pick(H,F,U)}})(fc);var S0={},wh={},mt={},Bv={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});function e(u,b){var v=u>>>16&65535,y=u&65535,E=b>>>16&65535,C=b&65535;return y*C+(v*C+y*E<<16>>>0)|0}r.mul=Math.imul||e;function t(u,b){return u+b|0}r.add=t;function i(u,b){return u-b|0}r.sub=i;function n(u,b){return u<<b|u>>>32-b}r.rotl=n;function a(u,b){return u<<32-b|u>>>b}r.rotr=a;function f(u){return typeof u=="number"&&isFinite(u)&&Math.floor(u)===u}r.isInteger=Number.isInteger||f,r.MAX_SAFE_INTEGER=9007199254740991,r.isSafeInteger=function(u){return r.isInteger(u)&&u>=-r.MAX_SAFE_INTEGER&&u<=r.MAX_SAFE_INTEGER}})(Bv);Object.defineProperty(mt,"__esModule",{value:!0});var qv=Bv;function F4(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])<<16>>16}mt.readInt16BE=F4;function j4(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])>>>0}mt.readUint16BE=j4;function k4(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])<<16>>16}mt.readInt16LE=k4;function H4(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])>>>0}mt.readUint16LE=H4;function Lv(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>8,e[t+1]=r>>>0,e}mt.writeUint16BE=Lv;mt.writeInt16BE=Lv;function Uv(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e}mt.writeUint16LE=Uv;mt.writeInt16LE=Uv;function Kl(r,e){return e===void 0&&(e=0),r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}mt.readInt32BE=Kl;function Vl(r,e){return e===void 0&&(e=0),(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}mt.readUint32BE=Vl;function Gl(r,e){return e===void 0&&(e=0),r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e]}mt.readInt32LE=Gl;function Wl(r,e){return e===void 0&&(e=0),(r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e])>>>0}mt.readUint32LE=Wl;function th(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>24,e[t+1]=r>>>16,e[t+2]=r>>>8,e[t+3]=r>>>0,e}mt.writeUint32BE=th;mt.writeInt32BE=th;function rh(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e[t+2]=r>>>16,e[t+3]=r>>>24,e}mt.writeUint32LE=rh;mt.writeInt32LE=rh;function K4(r,e){e===void 0&&(e=0);var t=Kl(r,e),i=Kl(r,e+4);return t*4294967296+i-(i>>31)*4294967296}mt.readInt64BE=K4;function V4(r,e){e===void 0&&(e=0);var t=Vl(r,e),i=Vl(r,e+4);return t*4294967296+i}mt.readUint64BE=V4;function G4(r,e){e===void 0&&(e=0);var t=Gl(r,e),i=Gl(r,e+4);return i*4294967296+t-(t>>31)*4294967296}mt.readInt64LE=G4;function W4(r,e){e===void 0&&(e=0);var t=Wl(r,e),i=Wl(r,e+4);return i*4294967296+t}mt.readUint64LE=W4;function $v(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),th(r/4294967296>>>0,e,t),th(r>>>0,e,t+4),e}mt.writeUint64BE=$v;mt.writeInt64BE=$v;function zv(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),rh(r>>>0,e,t),rh(r/4294967296>>>0,e,t+4),e}mt.writeUint64LE=zv;mt.writeInt64LE=zv;function J4(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintBE: array is too short for the given bitLength");for(var i=0,n=1,a=r/8+t-1;a>=t;a--)i+=e[a]*n,n*=256;return i}mt.readUintBE=J4;function Y4(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintLE: array is too short for the given bitLength");for(var i=0,n=1,a=t;a<t+r/8;a++)i+=e[a]*n,n*=256;return i}mt.readUintLE=Y4;function Q4(r,e,t,i){if(t===void 0&&(t=new Uint8Array(r/8)),i===void 0&&(i=0),r%8!==0)throw new Error("writeUintBE supports only bitLengths divisible by 8");if(!qv.isSafeInteger(e))throw new Error("writeUintBE value must be an integer");for(var n=1,a=r/8+i-1;a>=i;a--)t[a]=e/n&255,n*=256;return t}mt.writeUintBE=Q4;function X4(r,e,t,i){if(t===void 0&&(t=new Uint8Array(r/8)),i===void 0&&(i=0),r%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!qv.isSafeInteger(e))throw new Error("writeUintLE value must be an integer");for(var n=1,a=i;a<i+r/8;a++)t[a]=e/n&255,n*=256;return t}mt.writeUintLE=X4;function Z4(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat32(e)}mt.readFloat32BE=Z4;function e_(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat32(e,!0)}mt.readFloat32LE=e_;function t_(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat64(e)}mt.readFloat64BE=t_;function r_(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat64(e,!0)}mt.readFloat64LE=r_;function i_(r,e,t){e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat32(t,r),e}mt.writeFloat32BE=i_;function n_(r,e,t){e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat32(t,r,!0),e}mt.writeFloat32LE=n_;function s_(r,e,t){e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat64(t,r),e}mt.writeFloat64BE=s_;function a_(r,e,t){e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat64(t,r,!0),e}mt.writeFloat64LE=a_;var Ei={};Object.defineProperty(Ei,"__esModule",{value:!0});function o_(r){for(var e=0;e<r.length;e++)r[e]=0;return r}Ei.wipe=o_;Object.defineProperty(wh,"__esModule",{value:!0});var Lr=mt,Jl=Ei,c_=20;function f_(r,e,t){for(var i=1634760805,n=857760878,a=2036477234,f=1797285236,u=t[3]<<24|t[2]<<16|t[1]<<8|t[0],b=t[7]<<24|t[6]<<16|t[5]<<8|t[4],v=t[11]<<24|t[10]<<16|t[9]<<8|t[8],y=t[15]<<24|t[14]<<16|t[13]<<8|t[12],E=t[19]<<24|t[18]<<16|t[17]<<8|t[16],C=t[23]<<24|t[22]<<16|t[21]<<8|t[20],P=t[27]<<24|t[26]<<16|t[25]<<8|t[24],O=t[31]<<24|t[30]<<16|t[29]<<8|t[28],j=e[3]<<24|e[2]<<16|e[1]<<8|e[0],W=e[7]<<24|e[6]<<16|e[5]<<8|e[4],Q=e[11]<<24|e[10]<<16|e[9]<<8|e[8],H=e[15]<<24|e[14]<<16|e[13]<<8|e[12],Y=i,U=n,F=a,V=f,A=u,q=b,ae=v,ue=y,B=E,m=C,c=P,h=O,g=j,_=W,M=Q,D=H,S=0;S<c_;S+=2)Y=Y+A|0,g^=Y,g=g>>>16|g<<16,B=B+g|0,A^=B,A=A>>>20|A<<12,U=U+q|0,_^=U,_=_>>>16|_<<16,m=m+_|0,q^=m,q=q>>>20|q<<12,F=F+ae|0,M^=F,M=M>>>16|M<<16,c=c+M|0,ae^=c,ae=ae>>>20|ae<<12,V=V+ue|0,D^=V,D=D>>>16|D<<16,h=h+D|0,ue^=h,ue=ue>>>20|ue<<12,F=F+ae|0,M^=F,M=M>>>24|M<<8,c=c+M|0,ae^=c,ae=ae>>>25|ae<<7,V=V+ue|0,D^=V,D=D>>>24|D<<8,h=h+D|0,ue^=h,ue=ue>>>25|ue<<7,U=U+q|0,_^=U,_=_>>>24|_<<8,m=m+_|0,q^=m,q=q>>>25|q<<7,Y=Y+A|0,g^=Y,g=g>>>24|g<<8,B=B+g|0,A^=B,A=A>>>25|A<<7,Y=Y+q|0,D^=Y,D=D>>>16|D<<16,c=c+D|0,q^=c,q=q>>>20|q<<12,U=U+ae|0,g^=U,g=g>>>16|g<<16,h=h+g|0,ae^=h,ae=ae>>>20|ae<<12,F=F+ue|0,_^=F,_=_>>>16|_<<16,B=B+_|0,ue^=B,ue=ue>>>20|ue<<12,V=V+A|0,M^=V,M=M>>>16|M<<16,m=m+M|0,A^=m,A=A>>>20|A<<12,F=F+ue|0,_^=F,_=_>>>24|_<<8,B=B+_|0,ue^=B,ue=ue>>>25|ue<<7,V=V+A|0,M^=V,M=M>>>24|M<<8,m=m+M|0,A^=m,A=A>>>25|A<<7,U=U+ae|0,g^=U,g=g>>>24|g<<8,h=h+g|0,ae^=h,ae=ae>>>25|ae<<7,Y=Y+q|0,D^=Y,D=D>>>24|D<<8,c=c+D|0,q^=c,q=q>>>25|q<<7;Lr.writeUint32LE(Y+i|0,r,0),Lr.writeUint32LE(U+n|0,r,4),Lr.writeUint32LE(F+a|0,r,8),Lr.writeUint32LE(V+f|0,r,12),Lr.writeUint32LE(A+u|0,r,16),Lr.writeUint32LE(q+b|0,r,20),Lr.writeUint32LE(ae+v|0,r,24),Lr.writeUint32LE(ue+y|0,r,28),Lr.writeUint32LE(B+E|0,r,32),Lr.writeUint32LE(m+C|0,r,36),Lr.writeUint32LE(c+P|0,r,40),Lr.writeUint32LE(h+O|0,r,44),Lr.writeUint32LE(g+j|0,r,48),Lr.writeUint32LE(_+W|0,r,52),Lr.writeUint32LE(M+Q|0,r,56),Lr.writeUint32LE(D+H|0,r,60)}function Fv(r,e,t,i,n){if(n===void 0&&(n=0),r.length!==32)throw new Error("ChaCha: key size must be 32 bytes");if(i.length<t.length)throw new Error("ChaCha: destination is shorter than source");var a,f;if(n===0){if(e.length!==8&&e.length!==12)throw new Error("ChaCha nonce must be 8 or 12 bytes");a=new Uint8Array(16),f=a.length-e.length,a.set(e,f)}else{if(e.length!==16)throw new Error("ChaCha nonce with counter must be 16 bytes");a=e,f=n}for(var u=new Uint8Array(64),b=0;b<t.length;b+=64){f_(u,a,r);for(var v=b;v<b+64&&v<t.length;v++)i[v]=t[v]^u[v-b];u_(a,0,f)}return Jl.wipe(u),n===0&&Jl.wipe(a),i}wh.streamXOR=Fv;function h_(r,e,t,i){return i===void 0&&(i=0),Jl.wipe(t),Fv(r,e,t,t,i)}wh.stream=h_;function u_(r,e,t){for(var i=1;t--;)i=i+(r[e]&255)|0,r[e]=i&255,i>>>=8,e++;if(i>0)throw new Error("ChaCha: counter overflow")}var jv={},Ls={};Object.defineProperty(Ls,"__esModule",{value:!0});function l_(r,e,t){return~(r-1)&e|r-1&t}Ls.select=l_;function d_(r,e){return(r|0)-(e|0)-1>>>31&1}Ls.lessOrEqual=d_;function kv(r,e){if(r.length!==e.length)return 0;for(var t=0,i=0;i<r.length;i++)t|=r[i]^e[i];return 1&t-1>>>8}Ls.compare=kv;function p_(r,e){return r.length===0||e.length===0?!1:kv(r,e)!==0}Ls.equal=p_;(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=Ls,t=Ei;r.DIGEST_LENGTH=16;var i=function(){function f(u){this.digestLength=r.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var b=u[0]|u[1]<<8;this._r[0]=b&8191;var v=u[2]|u[3]<<8;this._r[1]=(b>>>13|v<<3)&8191;var y=u[4]|u[5]<<8;this._r[2]=(v>>>10|y<<6)&7939;var E=u[6]|u[7]<<8;this._r[3]=(y>>>7|E<<9)&8191;var C=u[8]|u[9]<<8;this._r[4]=(E>>>4|C<<12)&255,this._r[5]=C>>>1&8190;var P=u[10]|u[11]<<8;this._r[6]=(C>>>14|P<<2)&8191;var O=u[12]|u[13]<<8;this._r[7]=(P>>>11|O<<5)&8065;var j=u[14]|u[15]<<8;this._r[8]=(O>>>8|j<<8)&8191,this._r[9]=j>>>5&127,this._pad[0]=u[16]|u[17]<<8,this._pad[1]=u[18]|u[19]<<8,this._pad[2]=u[20]|u[21]<<8,this._pad[3]=u[22]|u[23]<<8,this._pad[4]=u[24]|u[25]<<8,this._pad[5]=u[26]|u[27]<<8,this._pad[6]=u[28]|u[29]<<8,this._pad[7]=u[30]|u[31]<<8}return f.prototype._blocks=function(u,b,v){for(var y=this._fin?0:2048,E=this._h[0],C=this._h[1],P=this._h[2],O=this._h[3],j=this._h[4],W=this._h[5],Q=this._h[6],H=this._h[7],Y=this._h[8],U=this._h[9],F=this._r[0],V=this._r[1],A=this._r[2],q=this._r[3],ae=this._r[4],ue=this._r[5],B=this._r[6],m=this._r[7],c=this._r[8],h=this._r[9];v>=16;){var g=u[b+0]|u[b+1]<<8;E+=g&8191;var _=u[b+2]|u[b+3]<<8;C+=(g>>>13|_<<3)&8191;var M=u[b+4]|u[b+5]<<8;P+=(_>>>10|M<<6)&8191;var D=u[b+6]|u[b+7]<<8;O+=(M>>>7|D<<9)&8191;var S=u[b+8]|u[b+9]<<8;j+=(D>>>4|S<<12)&8191,W+=S>>>1&8191;var d=u[b+10]|u[b+11]<<8;Q+=(S>>>14|d<<2)&8191;var p=u[b+12]|u[b+13]<<8;H+=(d>>>11|p<<5)&8191;var N=u[b+14]|u[b+15]<<8;Y+=(p>>>8|N<<8)&8191,U+=N>>>5|y;var Z=0,se=Z;se+=E*F,se+=C*(5*h),se+=P*(5*c),se+=O*(5*m),se+=j*(5*B),Z=se>>>13,se&=8191,se+=W*(5*ue),se+=Q*(5*ae),se+=H*(5*q),se+=Y*(5*A),se+=U*(5*V),Z+=se>>>13,se&=8191;var I=Z;I+=E*V,I+=C*F,I+=P*(5*h),I+=O*(5*c),I+=j*(5*m),Z=I>>>13,I&=8191,I+=W*(5*B),I+=Q*(5*ue),I+=H*(5*ae),I+=Y*(5*q),I+=U*(5*A),Z+=I>>>13,I&=8191;var ee=Z;ee+=E*A,ee+=C*V,ee+=P*F,ee+=O*(5*h),ee+=j*(5*c),Z=ee>>>13,ee&=8191,ee+=W*(5*m),ee+=Q*(5*B),ee+=H*(5*ue),ee+=Y*(5*ae),ee+=U*(5*q),Z+=ee>>>13,ee&=8191;var $=Z;$+=E*q,$+=C*A,$+=P*V,$+=O*F,$+=j*(5*h),Z=$>>>13,$&=8191,$+=W*(5*c),$+=Q*(5*m),$+=H*(5*B),$+=Y*(5*ue),$+=U*(5*ae),Z+=$>>>13,$&=8191;var k=Z;k+=E*ae,k+=C*q,k+=P*A,k+=O*V,k+=j*F,Z=k>>>13,k&=8191,k+=W*(5*h),k+=Q*(5*c),k+=H*(5*m),k+=Y*(5*B),k+=U*(5*ue),Z+=k>>>13,k&=8191;var K=Z;K+=E*ue,K+=C*ae,K+=P*q,K+=O*A,K+=j*V,Z=K>>>13,K&=8191,K+=W*F,K+=Q*(5*h),K+=H*(5*c),K+=Y*(5*m),K+=U*(5*B),Z+=K>>>13,K&=8191;var w=Z;w+=E*B,w+=C*ue,w+=P*ae,w+=O*q,w+=j*A,Z=w>>>13,w&=8191,w+=W*V,w+=Q*F,w+=H*(5*h),w+=Y*(5*c),w+=U*(5*m),Z+=w>>>13,w&=8191;var z=Z;z+=E*m,z+=C*B,z+=P*ue,z+=O*ae,z+=j*q,Z=z>>>13,z&=8191,z+=W*A,z+=Q*V,z+=H*F,z+=Y*(5*h),z+=U*(5*c),Z+=z>>>13,z&=8191;var ne=Z;ne+=E*c,ne+=C*m,ne+=P*B,ne+=O*ue,ne+=j*ae,Z=ne>>>13,ne&=8191,ne+=W*q,ne+=Q*A,ne+=H*V,ne+=Y*F,ne+=U*(5*h),Z+=ne>>>13,ne&=8191;var ce=Z;ce+=E*h,ce+=C*c,ce+=P*m,ce+=O*B,ce+=j*ue,Z=ce>>>13,ce&=8191,ce+=W*ae,ce+=Q*q,ce+=H*A,ce+=Y*V,ce+=U*F,Z+=ce>>>13,ce&=8191,Z=(Z<<2)+Z|0,Z=Z+se|0,se=Z&8191,Z=Z>>>13,I+=Z,E=se,C=I,P=ee,O=$,j=k,W=K,Q=w,H=z,Y=ne,U=ce,b+=16,v-=16}this._h[0]=E,this._h[1]=C,this._h[2]=P,this._h[3]=O,this._h[4]=j,this._h[5]=W,this._h[6]=Q,this._h[7]=H,this._h[8]=Y,this._h[9]=U},f.prototype.finish=function(u,b){b===void 0&&(b=0);var v=new Uint16Array(10),y,E,C,P;if(this._leftover){for(P=this._leftover,this._buffer[P++]=1;P<16;P++)this._buffer[P]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(y=this._h[1]>>>13,this._h[1]&=8191,P=2;P<10;P++)this._h[P]+=y,y=this._h[P]>>>13,this._h[P]&=8191;for(this._h[0]+=y*5,y=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=y,y=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=y,v[0]=this._h[0]+5,y=v[0]>>>13,v[0]&=8191,P=1;P<10;P++)v[P]=this._h[P]+y,y=v[P]>>>13,v[P]&=8191;for(v[9]-=8192,E=(y^1)-1,P=0;P<10;P++)v[P]&=E;for(E=~E,P=0;P<10;P++)this._h[P]=this._h[P]&E|v[P];for(this._h[0]=(this._h[0]|this._h[1]<<13)&65535,this._h[1]=(this._h[1]>>>3|this._h[2]<<10)&65535,this._h[2]=(this._h[2]>>>6|this._h[3]<<7)&65535,this._h[3]=(this._h[3]>>>9|this._h[4]<<4)&65535,this._h[4]=(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14)&65535,this._h[5]=(this._h[6]>>>2|this._h[7]<<11)&65535,this._h[6]=(this._h[7]>>>5|this._h[8]<<8)&65535,this._h[7]=(this._h[8]>>>8|this._h[9]<<5)&65535,C=this._h[0]+this._pad[0],this._h[0]=C&65535,P=1;P<8;P++)C=(this._h[P]+this._pad[P]|0)+(C>>>16)|0,this._h[P]=C&65535;return u[b+0]=this._h[0]>>>0,u[b+1]=this._h[0]>>>8,u[b+2]=this._h[1]>>>0,u[b+3]=this._h[1]>>>8,u[b+4]=this._h[2]>>>0,u[b+5]=this._h[2]>>>8,u[b+6]=this._h[3]>>>0,u[b+7]=this._h[3]>>>8,u[b+8]=this._h[4]>>>0,u[b+9]=this._h[4]>>>8,u[b+10]=this._h[5]>>>0,u[b+11]=this._h[5]>>>8,u[b+12]=this._h[6]>>>0,u[b+13]=this._h[6]>>>8,u[b+14]=this._h[7]>>>0,u[b+15]=this._h[7]>>>8,this._finished=!0,this},f.prototype.update=function(u){var b=0,v=u.length,y;if(this._leftover){y=16-this._leftover,y>v&&(y=v);for(var E=0;E<y;E++)this._buffer[this._leftover+E]=u[b+E];if(v-=y,b+=y,this._leftover+=y,this._leftover<16)return this;this._blocks(this._buffer,0,16),this._leftover=0}if(v>=16&&(y=v-v%16,this._blocks(u,b,y),b+=y,v-=y),v){for(var E=0;E<v;E++)this._buffer[this._leftover+E]=u[b+E];this._leftover+=v}return this},f.prototype.digest=function(){if(this._finished)throw new Error("Poly1305 was finished");var u=new Uint8Array(16);return this.finish(u),u},f.prototype.clean=function(){return t.wipe(this._buffer),t.wipe(this._r),t.wipe(this._h),t.wipe(this._pad),this._leftover=0,this._fin=0,this._finished=!0,this},f}();r.Poly1305=i;function n(f,u){var b=new i(f);b.update(u);var v=b.digest();return b.clean(),v}r.oneTimeAuth=n;function a(f,u){return f.length!==r.DIGEST_LENGTH||u.length!==r.DIGEST_LENGTH?!1:e.equal(f,u)}r.equal=a})(jv);(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=wh,t=jv,i=Ei,n=mt,a=Ls;r.KEY_LENGTH=32,r.NONCE_LENGTH=12,r.TAG_LENGTH=16;var f=new Uint8Array(16),u=function(){function b(v){if(this.nonceLength=r.NONCE_LENGTH,this.tagLength=r.TAG_LENGTH,v.length!==r.KEY_LENGTH)throw new Error("ChaCha20Poly1305 needs 32-byte key");this._key=new Uint8Array(v)}return b.prototype.seal=function(v,y,E,C){if(v.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var P=new Uint8Array(16);P.set(v,P.length-v.length);var O=new Uint8Array(32);e.stream(this._key,P,O,4);var j=y.length+this.tagLength,W;if(C){if(C.length!==j)throw new Error("ChaCha20Poly1305: incorrect destination length");W=C}else W=new Uint8Array(j);return e.streamXOR(this._key,P,y,W,4),this._authenticate(W.subarray(W.length-this.tagLength,W.length),O,W.subarray(0,W.length-this.tagLength),E),i.wipe(P),W},b.prototype.open=function(v,y,E,C){if(v.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(y.length<this.tagLength)return null;var P=new Uint8Array(16);P.set(v,P.length-v.length);var O=new Uint8Array(32);e.stream(this._key,P,O,4);var j=new Uint8Array(this.tagLength);if(this._authenticate(j,O,y.subarray(0,y.length-this.tagLength),E),!a.equal(j,y.subarray(y.length-this.tagLength,y.length)))return null;var W=y.length-this.tagLength,Q;if(C){if(C.length!==W)throw new Error("ChaCha20Poly1305: incorrect destination length");Q=C}else Q=new Uint8Array(W);return e.streamXOR(this._key,P,y.subarray(0,y.length-this.tagLength),Q,4),i.wipe(P),Q},b.prototype.clean=function(){return i.wipe(this._key),this},b.prototype._authenticate=function(v,y,E,C){var P=new t.Poly1305(y);C&&(P.update(C),C.length%16>0&&P.update(f.subarray(C.length%16))),P.update(E),E.length%16>0&&P.update(f.subarray(E.length%16));var O=new Uint8Array(8);C&&n.writeUint64LE(C.length,O),P.update(O),n.writeUint64LE(E.length,O),P.update(O);for(var j=P.digest(),W=0;W<j.length;W++)v[W]=j[W];P.clean(),i.wipe(j),i.wipe(O)},b}();r.ChaCha20Poly1305=u})(S0);var Hv={},bc={},M0={};Object.defineProperty(M0,"__esModule",{value:!0});function g_(r){return typeof r.saveState<"u"&&typeof r.restoreState<"u"&&typeof r.cleanSavedState<"u"}M0.isSerializableHash=g_;Object.defineProperty(bc,"__esModule",{value:!0});var An=M0,v_=Ls,b_=Ei,Kv=function(){function r(e,t){this._finished=!1,this._inner=new e,this._outer=new e,this.blockSize=this._outer.blockSize,this.digestLength=this._outer.digestLength;var i=new Uint8Array(this.blockSize);t.length>this.blockSize?this._inner.update(t).finish(i).clean():i.set(t);for(var n=0;n<i.length;n++)i[n]^=54;this._inner.update(i);for(var n=0;n<i.length;n++)i[n]^=106;this._outer.update(i),An.isSerializableHash(this._inner)&&An.isSerializableHash(this._outer)&&(this._innerKeyedState=this._inner.saveState(),this._outerKeyedState=this._outer.saveState()),b_.wipe(i)}return r.prototype.reset=function(){if(!An.isSerializableHash(this._inner)||!An.isSerializableHash(this._outer))throw new Error("hmac: can't reset() because hash doesn't implement restoreState()");return this._inner.restoreState(this._innerKeyedState),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this},r.prototype.clean=function(){An.isSerializableHash(this._inner)&&this._inner.cleanSavedState(this._innerKeyedState),An.isSerializableHash(this._outer)&&this._outer.cleanSavedState(this._outerKeyedState),this._inner.clean(),this._outer.clean()},r.prototype.update=function(e){return this._inner.update(e),this},r.prototype.finish=function(e){return this._finished?(this._outer.finish(e),this):(this._inner.finish(e),this._outer.update(e.subarray(0,this.digestLength)).finish(e),this._finished=!0,this)},r.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},r.prototype.saveState=function(){if(!An.isSerializableHash(this._inner))throw new Error("hmac: can't saveState() because hash doesn't implement it");return this._inner.saveState()},r.prototype.restoreState=function(e){if(!An.isSerializableHash(this._inner)||!An.isSerializableHash(this._outer))throw new Error("hmac: can't restoreState() because hash doesn't implement it");return this._inner.restoreState(e),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this},r.prototype.cleanSavedState=function(e){if(!An.isSerializableHash(this._inner))throw new Error("hmac: can't cleanSavedState() because hash doesn't implement it");this._inner.cleanSavedState(e)},r}();bc.HMAC=Kv;function m_(r,e,t){var i=new Kv(r,e);i.update(t);var n=i.digest();return i.clean(),n}bc.hmac=m_;bc.equal=v_.equal;Object.defineProperty(Hv,"__esModule",{value:!0});var g1=bc,v1=Ei,y_=function(){function r(e,t,i,n){i===void 0&&(i=new Uint8Array(0)),this._counter=new Uint8Array(1),this._hash=e,this._info=n;var a=g1.hmac(this._hash,i,t);this._hmac=new g1.HMAC(e,a),this._buffer=new Uint8Array(this._hmac.digestLength),this._bufpos=this._buffer.length}return r.prototype._fillBuffer=function(){this._counter[0]++;var e=this._counter[0];if(e===0)throw new Error("hkdf: cannot expand more");this._hmac.reset(),e>1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0},r.prototype.expand=function(e){for(var t=new Uint8Array(e),i=0;i<t.length;i++)this._bufpos===this._buffer.length&&this._fillBuffer(),t[i]=this._buffer[this._bufpos++];return t},r.prototype.clean=function(){this._hmac.clean(),v1.wipe(this._buffer),v1.wipe(this._counter),this._bufpos=0},r}(),w_=Hv.HKDF=y_,ao={},_h={},Ah={};Object.defineProperty(Ah,"__esModule",{value:!0});Ah.BrowserRandomSource=void 0;const b1=65536;class __{constructor(){this.isAvailable=!1,this.isInstantiated=!1;const e=typeof self<"u"?self.crypto||self.msCrypto:null;e&&e.getRandomValues!==void 0&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Browser random byte generator is not available.");const t=new Uint8Array(e);for(let i=0;i<t.length;i+=b1)this._crypto.getRandomValues(t.subarray(i,i+Math.min(t.length-i,b1)));return t}}Ah.BrowserRandomSource=__;function A_(r){throw new Error('Could not dynamically require "'+r+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Eh={};Object.defineProperty(Eh,"__esModule",{value:!0});Eh.NodeRandomSource=void 0;const E_=Ei;class x_{constructor(){if(this.isAvailable=!1,this.isInstantiated=!1,typeof A_<"u"){const e=w0;e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Node.js random byte generator is not available.");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error("NodeRandomSource: got fewer bytes than requested");const i=new Uint8Array(e);for(let n=0;n<i.length;n++)i[n]=t[n];return(0,E_.wipe)(t),i}}Eh.NodeRandomSource=x_;Object.defineProperty(_h,"__esModule",{value:!0});_h.SystemRandomSource=void 0;const S_=Ah,M_=Eh;class I_{constructor(){if(this.isAvailable=!1,this.name="",this._source=new S_.BrowserRandomSource,this._source.isAvailable){this.isAvailable=!0,this.name="Browser";return}if(this._source=new M_.NodeRandomSource,this._source.isAvailable){this.isAvailable=!0,this.name="Node";return}}randomBytes(e){if(!this.isAvailable)throw new Error("System random byte generator is not available.");return this._source.randomBytes(e)}}_h.SystemRandomSource=I_;(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.randomStringForEntropy=r.randomString=r.randomUint32=r.randomBytes=r.defaultRandomSource=void 0;const e=_h,t=mt,i=Ei;r.defaultRandomSource=new e.SystemRandomSource;function n(v,y=r.defaultRandomSource){return y.randomBytes(v)}r.randomBytes=n;function a(v=r.defaultRandomSource){const y=n(4,v),E=(0,t.readUint32LE)(y);return(0,i.wipe)(y),E}r.randomUint32=a;const f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function u(v,y=f,E=r.defaultRandomSource){if(y.length<2)throw new Error("randomString charset is too short");if(y.length>256)throw new Error("randomString charset is too long");let C="";const P=y.length,O=256-256%P;for(;v>0;){const j=n(Math.ceil(v*256/O),E);for(let W=0;W<j.length&&v>0;W++){const Q=j[W];Q<O&&(C+=y.charAt(Q%P),v--)}(0,i.wipe)(j)}return C}r.randomString=u;function b(v,y=f,E=r.defaultRandomSource){const C=Math.ceil(v/(Math.log(y.length)/Math.LN2));return u(C,y,E)}r.randomStringForEntropy=b})(ao);var mc={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=mt,t=Ei;r.DIGEST_LENGTH=32,r.BLOCK_SIZE=64;var i=function(){function u(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._state=new Int32Array(8),this._temp=new Int32Array(64),this._buffer=new Uint8Array(128),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return u.prototype._initState=function(){this._state[0]=1779033703,this._state[1]=3144134277,this._state[2]=1013904242,this._state[3]=2773480762,this._state[4]=1359893119,this._state[5]=2600822924,this._state[6]=528734635,this._state[7]=1541459225},u.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},u.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._temp),this.reset()},u.prototype.update=function(b,v){if(v===void 0&&(v=b.length),this._finished)throw new Error("SHA256: can't update because hash was finished.");var y=0;if(this._bytesHashed+=v,this._bufferLength>0){for(;this._bufferLength<this.blockSize&&v>0;)this._buffer[this._bufferLength++]=b[y++],v--;this._bufferLength===this.blockSize&&(a(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(v>=this.blockSize&&(y=a(this._temp,this._state,b,y,v),v%=this.blockSize);v>0;)this._buffer[this._bufferLength++]=b[y++],v--;return this},u.prototype.finish=function(b){if(!this._finished){var v=this._bytesHashed,y=this._bufferLength,E=v/536870912|0,C=v<<3,P=v%64<56?64:128;this._buffer[y]=128;for(var O=y+1;O<P-8;O++)this._buffer[O]=0;e.writeUint32BE(E,this._buffer,P-8),e.writeUint32BE(C,this._buffer,P-4),a(this._temp,this._state,this._buffer,0,P),this._finished=!0}for(var O=0;O<this.digestLength/4;O++)e.writeUint32BE(this._state[O],b,O*4);return this},u.prototype.digest=function(){var b=new Uint8Array(this.digestLength);return this.finish(b),b},u.prototype.saveState=function(){if(this._finished)throw new Error("SHA256: cannot save finished state");return{state:new Int32Array(this._state),buffer:this._bufferLength>0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},u.prototype.restoreState=function(b){return this._state.set(b.state),this._bufferLength=b.bufferLength,b.buffer&&this._buffer.set(b.buffer),this._bytesHashed=b.bytesHashed,this._finished=!1,this},u.prototype.cleanSavedState=function(b){t.wipe(b.state),b.buffer&&t.wipe(b.buffer),b.bufferLength=0,b.bytesHashed=0},u}();r.SHA256=i;var n=new Int32Array([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 a(u,b,v,y,E){for(;E>=64;){for(var C=b[0],P=b[1],O=b[2],j=b[3],W=b[4],Q=b[5],H=b[6],Y=b[7],U=0;U<16;U++){var F=y+U*4;u[U]=e.readUint32BE(v,F)}for(var U=16;U<64;U++){var V=u[U-2],A=(V>>>17|V<<15)^(V>>>19|V<<13)^V>>>10;V=u[U-15];var q=(V>>>7|V<<25)^(V>>>18|V<<14)^V>>>3;u[U]=(A+u[U-7]|0)+(q+u[U-16]|0)}for(var U=0;U<64;U++){var A=(((W>>>6|W<<26)^(W>>>11|W<<21)^(W>>>25|W<<7))+(W&Q^~W&H)|0)+(Y+(n[U]+u[U]|0)|0)|0,q=((C>>>2|C<<30)^(C>>>13|C<<19)^(C>>>22|C<<10))+(C&P^C&O^P&O)|0;Y=H,H=Q,Q=W,W=j+A|0,j=O,O=P,P=C,C=A+q|0}b[0]+=C,b[1]+=P,b[2]+=O,b[3]+=j,b[4]+=W,b[5]+=Q,b[6]+=H,b[7]+=Y,y+=64,E-=64}return y}function f(u){var b=new i;b.update(u);var v=b.digest();return b.clean(),v}r.hash=f})(mc);var I0={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.sharedKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.scalarMultBase=r.scalarMult=r.SHARED_KEY_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=void 0;const e=ao,t=Ei;r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=32,r.SHARED_KEY_LENGTH=32;function i(U){const F=new Float64Array(16);if(U)for(let V=0;V<U.length;V++)F[V]=U[V];return F}const n=new Uint8Array(32);n[0]=9;const a=i([56129,1]);function f(U){let F=1;for(let V=0;V<16;V++){let A=U[V]+F+65535;F=Math.floor(A/65536),U[V]=A-F*65536}U[0]+=F-1+37*(F-1)}function u(U,F,V){const A=~(V-1);for(let q=0;q<16;q++){const ae=A&(U[q]^F[q]);U[q]^=ae,F[q]^=ae}}function b(U,F){const V=i(),A=i();for(let q=0;q<16;q++)A[q]=F[q];f(A),f(A),f(A);for(let q=0;q<2;q++){V[0]=A[0]-65517;for(let ue=1;ue<15;ue++)V[ue]=A[ue]-65535-(V[ue-1]>>16&1),V[ue-1]&=65535;V[15]=A[15]-32767-(V[14]>>16&1);const ae=V[15]>>16&1;V[14]&=65535,u(A,V,1-ae)}for(let q=0;q<16;q++)U[2*q]=A[q]&255,U[2*q+1]=A[q]>>8}function v(U,F){for(let V=0;V<16;V++)U[V]=F[2*V]+(F[2*V+1]<<8);U[15]&=32767}function y(U,F,V){for(let A=0;A<16;A++)U[A]=F[A]+V[A]}function E(U,F,V){for(let A=0;A<16;A++)U[A]=F[A]-V[A]}function C(U,F,V){let A,q,ae=0,ue=0,B=0,m=0,c=0,h=0,g=0,_=0,M=0,D=0,S=0,d=0,p=0,N=0,Z=0,se=0,I=0,ee=0,$=0,k=0,K=0,w=0,z=0,ne=0,ce=0,he=0,ye=0,we=0,Re=0,Qe=0,Pe=0,Ne=V[0],Se=V[1],me=V[2],Ce=V[3],Te=V[4],ve=V[5],Oe=V[6],xe=V[7],be=V[8],Ue=V[9],Ie=V[10],_e=V[11],He=V[12],Ve=V[13],Ee=V[14],Ke=V[15];A=F[0],ae+=A*Ne,ue+=A*Se,B+=A*me,m+=A*Ce,c+=A*Te,h+=A*ve,g+=A*Oe,_+=A*xe,M+=A*be,D+=A*Ue,S+=A*Ie,d+=A*_e,p+=A*He,N+=A*Ve,Z+=A*Ee,se+=A*Ke,A=F[1],ue+=A*Ne,B+=A*Se,m+=A*me,c+=A*Ce,h+=A*Te,g+=A*ve,_+=A*Oe,M+=A*xe,D+=A*be,S+=A*Ue,d+=A*Ie,p+=A*_e,N+=A*He,Z+=A*Ve,se+=A*Ee,I+=A*Ke,A=F[2],B+=A*Ne,m+=A*Se,c+=A*me,h+=A*Ce,g+=A*Te,_+=A*ve,M+=A*Oe,D+=A*xe,S+=A*be,d+=A*Ue,p+=A*Ie,N+=A*_e,Z+=A*He,se+=A*Ve,I+=A*Ee,ee+=A*Ke,A=F[3],m+=A*Ne,c+=A*Se,h+=A*me,g+=A*Ce,_+=A*Te,M+=A*ve,D+=A*Oe,S+=A*xe,d+=A*be,p+=A*Ue,N+=A*Ie,Z+=A*_e,se+=A*He,I+=A*Ve,ee+=A*Ee,$+=A*Ke,A=F[4],c+=A*Ne,h+=A*Se,g+=A*me,_+=A*Ce,M+=A*Te,D+=A*ve,S+=A*Oe,d+=A*xe,p+=A*be,N+=A*Ue,Z+=A*Ie,se+=A*_e,I+=A*He,ee+=A*Ve,$+=A*Ee,k+=A*Ke,A=F[5],h+=A*Ne,g+=A*Se,_+=A*me,M+=A*Ce,D+=A*Te,S+=A*ve,d+=A*Oe,p+=A*xe,N+=A*be,Z+=A*Ue,se+=A*Ie,I+=A*_e,ee+=A*He,$+=A*Ve,k+=A*Ee,K+=A*Ke,A=F[6],g+=A*Ne,_+=A*Se,M+=A*me,D+=A*Ce,S+=A*Te,d+=A*ve,p+=A*Oe,N+=A*xe,Z+=A*be,se+=A*Ue,I+=A*Ie,ee+=A*_e,$+=A*He,k+=A*Ve,K+=A*Ee,w+=A*Ke,A=F[7],_+=A*Ne,M+=A*Se,D+=A*me,S+=A*Ce,d+=A*Te,p+=A*ve,N+=A*Oe,Z+=A*xe,se+=A*be,I+=A*Ue,ee+=A*Ie,$+=A*_e,k+=A*He,K+=A*Ve,w+=A*Ee,z+=A*Ke,A=F[8],M+=A*Ne,D+=A*Se,S+=A*me,d+=A*Ce,p+=A*Te,N+=A*ve,Z+=A*Oe,se+=A*xe,I+=A*be,ee+=A*Ue,$+=A*Ie,k+=A*_e,K+=A*He,w+=A*Ve,z+=A*Ee,ne+=A*Ke,A=F[9],D+=A*Ne,S+=A*Se,d+=A*me,p+=A*Ce,N+=A*Te,Z+=A*ve,se+=A*Oe,I+=A*xe,ee+=A*be,$+=A*Ue,k+=A*Ie,K+=A*_e,w+=A*He,z+=A*Ve,ne+=A*Ee,ce+=A*Ke,A=F[10],S+=A*Ne,d+=A*Se,p+=A*me,N+=A*Ce,Z+=A*Te,se+=A*ve,I+=A*Oe,ee+=A*xe,$+=A*be,k+=A*Ue,K+=A*Ie,w+=A*_e,z+=A*He,ne+=A*Ve,ce+=A*Ee,he+=A*Ke,A=F[11],d+=A*Ne,p+=A*Se,N+=A*me,Z+=A*Ce,se+=A*Te,I+=A*ve,ee+=A*Oe,$+=A*xe,k+=A*be,K+=A*Ue,w+=A*Ie,z+=A*_e,ne+=A*He,ce+=A*Ve,he+=A*Ee,ye+=A*Ke,A=F[12],p+=A*Ne,N+=A*Se,Z+=A*me,se+=A*Ce,I+=A*Te,ee+=A*ve,$+=A*Oe,k+=A*xe,K+=A*be,w+=A*Ue,z+=A*Ie,ne+=A*_e,ce+=A*He,he+=A*Ve,ye+=A*Ee,we+=A*Ke,A=F[13],N+=A*Ne,Z+=A*Se,se+=A*me,I+=A*Ce,ee+=A*Te,$+=A*ve,k+=A*Oe,K+=A*xe,w+=A*be,z+=A*Ue,ne+=A*Ie,ce+=A*_e,he+=A*He,ye+=A*Ve,we+=A*Ee,Re+=A*Ke,A=F[14],Z+=A*Ne,se+=A*Se,I+=A*me,ee+=A*Ce,$+=A*Te,k+=A*ve,K+=A*Oe,w+=A*xe,z+=A*be,ne+=A*Ue,ce+=A*Ie,he+=A*_e,ye+=A*He,we+=A*Ve,Re+=A*Ee,Qe+=A*Ke,A=F[15],se+=A*Ne,I+=A*Se,ee+=A*me,$+=A*Ce,k+=A*Te,K+=A*ve,w+=A*Oe,z+=A*xe,ne+=A*be,ce+=A*Ue,he+=A*Ie,ye+=A*_e,we+=A*He,Re+=A*Ve,Qe+=A*Ee,Pe+=A*Ke,ae+=38*I,ue+=38*ee,B+=38*$,m+=38*k,c+=38*K,h+=38*w,g+=38*z,_+=38*ne,M+=38*ce,D+=38*he,S+=38*ye,d+=38*we,p+=38*Re,N+=38*Qe,Z+=38*Pe,q=1,A=ae+q+65535,q=Math.floor(A/65536),ae=A-q*65536,A=ue+q+65535,q=Math.floor(A/65536),ue=A-q*65536,A=B+q+65535,q=Math.floor(A/65536),B=A-q*65536,A=m+q+65535,q=Math.floor(A/65536),m=A-q*65536,A=c+q+65535,q=Math.floor(A/65536),c=A-q*65536,A=h+q+65535,q=Math.floor(A/65536),h=A-q*65536,A=g+q+65535,q=Math.floor(A/65536),g=A-q*65536,A=_+q+65535,q=Math.floor(A/65536),_=A-q*65536,A=M+q+65535,q=Math.floor(A/65536),M=A-q*65536,A=D+q+65535,q=Math.floor(A/65536),D=A-q*65536,A=S+q+65535,q=Math.floor(A/65536),S=A-q*65536,A=d+q+65535,q=Math.floor(A/65536),d=A-q*65536,A=p+q+65535,q=Math.floor(A/65536),p=A-q*65536,A=N+q+65535,q=Math.floor(A/65536),N=A-q*65536,A=Z+q+65535,q=Math.floor(A/65536),Z=A-q*65536,A=se+q+65535,q=Math.floor(A/65536),se=A-q*65536,ae+=q-1+37*(q-1),q=1,A=ae+q+65535,q=Math.floor(A/65536),ae=A-q*65536,A=ue+q+65535,q=Math.floor(A/65536),ue=A-q*65536,A=B+q+65535,q=Math.floor(A/65536),B=A-q*65536,A=m+q+65535,q=Math.floor(A/65536),m=A-q*65536,A=c+q+65535,q=Math.floor(A/65536),c=A-q*65536,A=h+q+65535,q=Math.floor(A/65536),h=A-q*65536,A=g+q+65535,q=Math.floor(A/65536),g=A-q*65536,A=_+q+65535,q=Math.floor(A/65536),_=A-q*65536,A=M+q+65535,q=Math.floor(A/65536),M=A-q*65536,A=D+q+65535,q=Math.floor(A/65536),D=A-q*65536,A=S+q+65535,q=Math.floor(A/65536),S=A-q*65536,A=d+q+65535,q=Math.floor(A/65536),d=A-q*65536,A=p+q+65535,q=Math.floor(A/65536),p=A-q*65536,A=N+q+65535,q=Math.floor(A/65536),N=A-q*65536,A=Z+q+65535,q=Math.floor(A/65536),Z=A-q*65536,A=se+q+65535,q=Math.floor(A/65536),se=A-q*65536,ae+=q-1+37*(q-1),U[0]=ae,U[1]=ue,U[2]=B,U[3]=m,U[4]=c,U[5]=h,U[6]=g,U[7]=_,U[8]=M,U[9]=D,U[10]=S,U[11]=d,U[12]=p,U[13]=N,U[14]=Z,U[15]=se}function P(U,F){C(U,F,F)}function O(U,F){const V=i();for(let A=0;A<16;A++)V[A]=F[A];for(let A=253;A>=0;A--)P(V,V),A!==2&&A!==4&&C(V,V,F);for(let A=0;A<16;A++)U[A]=V[A]}function j(U,F){const V=new Uint8Array(32),A=new Float64Array(80),q=i(),ae=i(),ue=i(),B=i(),m=i(),c=i();for(let M=0;M<31;M++)V[M]=U[M];V[31]=U[31]&127|64,V[0]&=248,v(A,F);for(let M=0;M<16;M++)ae[M]=A[M];q[0]=B[0]=1;for(let M=254;M>=0;--M){const D=V[M>>>3]>>>(M&7)&1;u(q,ae,D),u(ue,B,D),y(m,q,ue),E(q,q,ue),y(ue,ae,B),E(ae,ae,B),P(B,m),P(c,q),C(q,ue,q),C(ue,ae,m),y(m,q,ue),E(q,q,ue),P(ae,q),E(ue,B,c),C(q,ue,a),y(q,q,B),C(ue,ue,q),C(q,B,c),C(B,ae,A),P(ae,m),u(q,ae,D),u(ue,B,D)}for(let M=0;M<16;M++)A[M+16]=q[M],A[M+32]=ue[M],A[M+48]=ae[M],A[M+64]=B[M];const h=A.subarray(32),g=A.subarray(16);O(h,h),C(g,g,h);const _=new Uint8Array(32);return b(_,g),_}r.scalarMult=j;function W(U){return j(U,n)}r.scalarMultBase=W;function Q(U){if(U.length!==r.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${r.SECRET_KEY_LENGTH} bytes`);const F=new Uint8Array(U);return{publicKey:W(F),secretKey:F}}r.generateKeyPairFromSeed=Q;function H(U){const F=(0,e.randomBytes)(32,U),V=Q(F);return(0,t.wipe)(F),V}r.generateKeyPair=H;function Y(U,F,V=!1){if(U.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(F.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const A=j(U,F);if(V){let q=0;for(let ae=0;ae<A.length;ae++)q|=A[ae];if(q===0)throw new Error("X25519: invalid shared key")}return A}r.sharedKey=Y})(I0);function Vv(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function Yl(r,e){e||(e=r.reduce((n,a)=>n+a.length,0));const t=Vv(e);let i=0;for(const n of r)t.set(n,i),i+=n.length;return t}function D_(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var n=0;n<r.length;n++){var a=r.charAt(n),f=a.charCodeAt(0);if(t[f]!==255)throw new TypeError(a+" is ambiguous");t[f]=n}var u=r.length,b=r.charAt(0),v=Math.log(u)/Math.log(256),y=Math.log(256)/Math.log(u);function E(O){if(O instanceof Uint8Array||(ArrayBuffer.isView(O)?O=new Uint8Array(O.buffer,O.byteOffset,O.byteLength):Array.isArray(O)&&(O=Uint8Array.from(O))),!(O instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(O.length===0)return"";for(var j=0,W=0,Q=0,H=O.length;Q!==H&&O[Q]===0;)Q++,j++;for(var Y=(H-Q)*y+1>>>0,U=new Uint8Array(Y);Q!==H;){for(var F=O[Q],V=0,A=Y-1;(F!==0||V<W)&&A!==-1;A--,V++)F+=256*U[A]>>>0,U[A]=F%u>>>0,F=F/u>>>0;if(F!==0)throw new Error("Non-zero carry");W=V,Q++}for(var q=Y-W;q!==Y&&U[q]===0;)q++;for(var ae=b.repeat(j);q<Y;++q)ae+=r.charAt(U[q]);return ae}function C(O){if(typeof O!="string")throw new TypeError("Expected String");if(O.length===0)return new Uint8Array;var j=0;if(O[j]!==" "){for(var W=0,Q=0;O[j]===b;)W++,j++;for(var H=(O.length-j)*v+1>>>0,Y=new Uint8Array(H);O[j];){var U=t[O.charCodeAt(j)];if(U===255)return;for(var F=0,V=H-1;(U!==0||F<Q)&&V!==-1;V--,F++)U+=u*Y[V]>>>0,Y[V]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");Q=F,j++}if(O[j]!==" "){for(var A=H-Q;A!==H&&Y[A]===0;)A++;for(var q=new Uint8Array(W+(H-A)),ae=W;A!==H;)q[ae++]=Y[A++];return q}}}function P(O){var j=C(O);if(j)return j;throw new Error(`Non-${e} character`)}return{encode:E,decodeUnsafe:C,decode:P}}var P_=D_,C_=P_;const O_=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},R_=r=>new TextEncoder().encode(r),N_=r=>new TextDecoder().decode(r);class T_{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class B_{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 Gv(this,e)}}class q_{constructor(e){this.decoders=e}or(e){return Gv(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Gv=(r,e)=>new q_({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class L_{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new T_(e,t,i),this.decoder=new B_(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const xh=({name:r,prefix:e,encode:t,decode:i})=>new L_(r,e,t,i),yc=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=C_(t,e);return xh({prefix:r,name:e,encode:i,decode:a=>O_(n(a))})},U_=(r,e,t,i)=>{const n={};for(let y=0;y<e.length;++y)n[e[y]]=y;let a=r.length;for(;r[a-1]==="=";)--a;const f=new Uint8Array(a*t/8|0);let u=0,b=0,v=0;for(let y=0;y<a;++y){const E=n[r[y]];if(E===void 0)throw new SyntaxError(`Non-${i} character`);b=b<<t|E,u+=t,u>=8&&(u-=8,f[v++]=255&b>>u)}if(u>=t||255&b<<8-u)throw new SyntaxError("Unexpected end of data");return f},$_=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let a="",f=0,u=0;for(let b=0;b<r.length;++b)for(u=u<<8|r[b],f+=8;f>t;)f-=t,a+=e[n&u>>f];if(f&&(a+=e[n&u<<t-f]),i)for(;a.length*t&7;)a+="=";return a},Ir=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>xh({prefix:e,name:r,encode(n){return $_(n,i,t)},decode(n){return U_(n,i,t,r)}}),z_=xh({prefix:"\0",name:"identity",encode:r=>N_(r),decode:r=>R_(r)}),F_=Object.freeze(Object.defineProperty({__proto__:null,identity:z_},Symbol.toStringTag,{value:"Module"})),j_=Ir({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),k_=Object.freeze(Object.defineProperty({__proto__:null,base2:j_},Symbol.toStringTag,{value:"Module"})),H_=Ir({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),K_=Object.freeze(Object.defineProperty({__proto__:null,base8:H_},Symbol.toStringTag,{value:"Module"})),V_=yc({prefix:"9",name:"base10",alphabet:"0123456789"}),G_=Object.freeze(Object.defineProperty({__proto__:null,base10:V_},Symbol.toStringTag,{value:"Module"})),W_=Ir({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),J_=Ir({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),Y_=Object.freeze(Object.defineProperty({__proto__:null,base16:W_,base16upper:J_},Symbol.toStringTag,{value:"Module"})),Q_=Ir({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),X_=Ir({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Z_=Ir({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e7=Ir({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),t7=Ir({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),r7=Ir({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),i7=Ir({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),n7=Ir({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),s7=Ir({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),a7=Object.freeze(Object.defineProperty({__proto__:null,base32:Q_,base32hex:t7,base32hexpad:i7,base32hexpadupper:n7,base32hexupper:r7,base32pad:Z_,base32padupper:e7,base32upper:X_,base32z:s7},Symbol.toStringTag,{value:"Module"})),o7=yc({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),c7=yc({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),f7=Object.freeze(Object.defineProperty({__proto__:null,base36:o7,base36upper:c7},Symbol.toStringTag,{value:"Module"})),h7=yc({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),u7=yc({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),l7=Object.freeze(Object.defineProperty({__proto__:null,base58btc:h7,base58flickr:u7},Symbol.toStringTag,{value:"Module"})),d7=Ir({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),p7=Ir({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),g7=Ir({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),v7=Ir({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),b7=Object.freeze(Object.defineProperty({__proto__:null,base64:d7,base64pad:p7,base64url:g7,base64urlpad:v7},Symbol.toStringTag,{value:"Module"})),Wv=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),m7=Wv.reduce((r,e,t)=>(r[t]=e,r),[]),y7=Wv.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function w7(r){return r.reduce((e,t)=>(e+=m7[t],e),"")}function _7(r){const e=[];for(const t of r){const i=y7[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const A7=xh({prefix:"🚀",name:"base256emoji",encode:w7,decode:_7}),E7=Object.freeze(Object.defineProperty({__proto__:null,base256emoji:A7},Symbol.toStringTag,{value:"Module"}));new TextEncoder;new TextDecoder;const m1={...F_,...k_,...K_,...G_,...Y_,...a7,...f7,...l7,...b7,...E7};function Jv(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const y1=Jv("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),il=Jv("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Vv(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Yv={utf8:y1,"utf-8":y1,hex:m1.base16,latin1:il,ascii:il,binary:il,...m1};function Sr(r,e="utf8"){const t=Yv[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,"utf8"):t.decoder.decode(`${t.prefix}${r}`)}function zr(r,e="utf8"){const t=Yv[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}var Qv={};const x7="elliptic",S7="6.5.7",M7="EC cryptography",I7="lib/elliptic.js",D7=["lib"],P7={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/"},C7={type:"git",url:"git@github.com:indutny/elliptic"},O7=["EC","Elliptic","curve","Cryptography"],R7="Fedor Indutny <fedor@indutny.com>",N7="MIT",T7={url:"https://github.com/indutny/elliptic/issues"},B7="https://github.com/indutny/elliptic",q7={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"},L7={"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"},U7={name:x7,version:S7,description:M7,main:I7,files:D7,scripts:P7,repository:C7,keywords:O7,author:R7,license:N7,bugs:T7,homepage:B7,devDependencies:q7,dependencies:L7};var xi={},D0={exports:{}};D0.exports;(function(r){(function(e,t){function i(B,m){if(!B)throw new Error(m||"Assertion failed")}function n(B,m){B.super_=m;var c=function(){};c.prototype=m.prototype,B.prototype=new c,B.prototype.constructor=B}function a(B,m,c){if(a.isBN(B))return B;this.negative=0,this.words=null,this.length=0,this.red=null,B!==null&&((m==="le"||m==="be")&&(c=m,m=10),this._init(B||0,m||10,c||"be"))}typeof e=="object"?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=w0.Buffer}catch{}a.isBN=function(m){return m instanceof a?!0:m!==null&&typeof m=="object"&&m.constructor.wordSize===a.wordSize&&Array.isArray(m.words)},a.max=function(m,c){return m.cmp(c)>0?m:c},a.min=function(m,c){return m.cmp(c)<0?m:c},a.prototype._init=function(m,c,h){if(typeof m=="number")return this._initNumber(m,c,h);if(typeof m=="object")return this._initArray(m,c,h);c==="hex"&&(c=16),i(c===(c|0)&&c>=2&&c<=36),m=m.toString().replace(/\s+/g,"");var g=0;m[0]==="-"&&(g++,this.negative=1),g<m.length&&(c===16?this._parseHex(m,g,h):(this._parseBase(m,c,g),h==="le"&&this._initArray(this.toArray(),c,h)))},a.prototype._initNumber=function(m,c,h){m<0&&(this.negative=1,m=-m),m<67108864?(this.words=[m&67108863],this.length=1):m<4503599627370496?(this.words=[m&67108863,m/67108864&67108863],this.length=2):(i(m<9007199254740992),this.words=[m&67108863,m/67108864&67108863,1],this.length=3),h==="le"&&this._initArray(this.toArray(),c,h)},a.prototype._initArray=function(m,c,h){if(i(typeof m.length=="number"),m.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(m.length/3),this.words=new Array(this.length);for(var g=0;g<this.length;g++)this.words[g]=0;var _,M,D=0;if(h==="be")for(g=m.length-1,_=0;g>=0;g-=3)M=m[g]|m[g-1]<<8|m[g-2]<<16,this.words[_]|=M<<D&67108863,this.words[_+1]=M>>>26-D&67108863,D+=24,D>=26&&(D-=26,_++);else if(h==="le")for(g=0,_=0;g<m.length;g+=3)M=m[g]|m[g+1]<<8|m[g+2]<<16,this.words[_]|=M<<D&67108863,this.words[_+1]=M>>>26-D&67108863,D+=24,D>=26&&(D-=26,_++);return this.strip()};function u(B,m){var c=B.charCodeAt(m);return c>=65&&c<=70?c-55:c>=97&&c<=102?c-87:c-48&15}function b(B,m,c){var h=u(B,c);return c-1>=m&&(h|=u(B,c-1)<<4),h}a.prototype._parseHex=function(m,c,h){this.length=Math.ceil((m.length-c)/6),this.words=new Array(this.length);for(var g=0;g<this.length;g++)this.words[g]=0;var _=0,M=0,D;if(h==="be")for(g=m.length-1;g>=c;g-=2)D=b(m,c,g)<<_,this.words[M]|=D&67108863,_>=18?(_-=18,M+=1,this.words[M]|=D>>>26):_+=8;else{var S=m.length-c;for(g=S%2===0?c+1:c;g<m.length;g+=2)D=b(m,c,g)<<_,this.words[M]|=D&67108863,_>=18?(_-=18,M+=1,this.words[M]|=D>>>26):_+=8}this.strip()};function v(B,m,c,h){for(var g=0,_=Math.min(B.length,c),M=m;M<_;M++){var D=B.charCodeAt(M)-48;g*=h,D>=49?g+=D-49+10:D>=17?g+=D-17+10:g+=D}return g}a.prototype._parseBase=function(m,c,h){this.words=[0],this.length=1;for(var g=0,_=1;_<=67108863;_*=c)g++;g--,_=_/c|0;for(var M=m.length-h,D=M%g,S=Math.min(M,M-D)+h,d=0,p=h;p<S;p+=g)d=v(m,p,p+g,c),this.imuln(_),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(D!==0){var N=1;for(d=v(m,p,m.length,c),p=0;p<D;p++)N*=c;this.imuln(N),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},a.prototype.copy=function(m){m.words=new Array(this.length);for(var c=0;c<this.length;c++)m.words[c]=this.words[c];m.length=this.length,m.negative=this.negative,m.red=this.red},a.prototype.clone=function(){var m=new a(null);return this.copy(m),m},a.prototype._expand=function(m){for(;this.length<m;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},a.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var y=["","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"],E=[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],C=[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];a.prototype.toString=function(m,c){m=m||10,c=c|0||1;var h;if(m===16||m==="hex"){h="";for(var g=0,_=0,M=0;M<this.length;M++){var D=this.words[M],S=((D<<g|_)&16777215).toString(16);_=D>>>24-g&16777215,_!==0||M!==this.length-1?h=y[6-S.length]+S+h:h=S+h,g+=2,g>=26&&(g-=26,M--)}for(_!==0&&(h=_.toString(16)+h);h.length%c!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}if(m===(m|0)&&m>=2&&m<=36){var d=E[m],p=C[m];h="";var N=this.clone();for(N.negative=0;!N.isZero();){var Z=N.modn(p).toString(m);N=N.idivn(p),N.isZero()?h=Z+h:h=y[d-Z.length]+Z+h}for(this.isZero()&&(h="0"+h);h.length%c!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var m=this.words[0];return this.length===2?m+=this.words[1]*67108864:this.length===3&&this.words[2]===1?m+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-m:m},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(m,c){return i(typeof f<"u"),this.toArrayLike(f,m,c)},a.prototype.toArray=function(m,c){return this.toArrayLike(Array,m,c)},a.prototype.toArrayLike=function(m,c,h){var g=this.byteLength(),_=h||Math.max(1,g);i(g<=_,"byte array longer than desired length"),i(_>0,"Requested array length <= 0"),this.strip();var M=c==="le",D=new m(_),S,d,p=this.clone();if(M){for(d=0;!p.isZero();d++)S=p.andln(255),p.iushrn(8),D[d]=S;for(;d<_;d++)D[d]=0}else{for(d=0;d<_-g;d++)D[d]=0;for(d=0;!p.isZero();d++)S=p.andln(255),p.iushrn(8),D[_-d-1]=S}return D},Math.clz32?a.prototype._countBits=function(m){return 32-Math.clz32(m)}:a.prototype._countBits=function(m){var c=m,h=0;return c>=4096&&(h+=13,c>>>=13),c>=64&&(h+=7,c>>>=7),c>=8&&(h+=4,c>>>=4),c>=2&&(h+=2,c>>>=2),h+c},a.prototype._zeroBits=function(m){if(m===0)return 26;var c=m,h=0;return c&8191||(h+=13,c>>>=13),c&127||(h+=7,c>>>=7),c&15||(h+=4,c>>>=4),c&3||(h+=2,c>>>=2),c&1||h++,h},a.prototype.bitLength=function(){var m=this.words[this.length-1],c=this._countBits(m);return(this.length-1)*26+c};function P(B){for(var m=new Array(B.bitLength()),c=0;c<m.length;c++){var h=c/26|0,g=c%26;m[c]=(B.words[h]&1<<g)>>>g}return m}a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var m=0,c=0;c<this.length;c++){var h=this._zeroBits(this.words[c]);if(m+=h,h!==26)break}return m},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(m){return this.negative!==0?this.abs().inotn(m).iaddn(1):this.clone()},a.prototype.fromTwos=function(m){return this.testn(m-1)?this.notn(m).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return this.negative!==0},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(m){for(;this.length<m.length;)this.words[this.length++]=0;for(var c=0;c<m.length;c++)this.words[c]=this.words[c]|m.words[c];return this.strip()},a.prototype.ior=function(m){return i((this.negative|m.negative)===0),this.iuor(m)},a.prototype.or=function(m){return this.length>m.length?this.clone().ior(m):m.clone().ior(this)},a.prototype.uor=function(m){return this.length>m.length?this.clone().iuor(m):m.clone().iuor(this)},a.prototype.iuand=function(m){var c;this.length>m.length?c=m:c=this;for(var h=0;h<c.length;h++)this.words[h]=this.words[h]&m.words[h];return this.length=c.length,this.strip()},a.prototype.iand=function(m){return i((this.negative|m.negative)===0),this.iuand(m)},a.prototype.and=function(m){return this.length>m.length?this.clone().iand(m):m.clone().iand(this)},a.prototype.uand=function(m){return this.length>m.length?this.clone().iuand(m):m.clone().iuand(this)},a.prototype.iuxor=function(m){var c,h;this.length>m.length?(c=this,h=m):(c=m,h=this);for(var g=0;g<h.length;g++)this.words[g]=c.words[g]^h.words[g];if(this!==c)for(;g<c.length;g++)this.words[g]=c.words[g];return this.length=c.length,this.strip()},a.prototype.ixor=function(m){return i((this.negative|m.negative)===0),this.iuxor(m)},a.prototype.xor=function(m){return this.length>m.length?this.clone().ixor(m):m.clone().ixor(this)},a.prototype.uxor=function(m){return this.length>m.length?this.clone().iuxor(m):m.clone().iuxor(this)},a.prototype.inotn=function(m){i(typeof m=="number"&&m>=0);var c=Math.ceil(m/26)|0,h=m%26;this._expand(c),h>0&&c--;for(var g=0;g<c;g++)this.words[g]=~this.words[g]&67108863;return h>0&&(this.words[g]=~this.words[g]&67108863>>26-h),this.strip()},a.prototype.notn=function(m){return this.clone().inotn(m)},a.prototype.setn=function(m,c){i(typeof m=="number"&&m>=0);var h=m/26|0,g=m%26;return this._expand(h+1),c?this.words[h]=this.words[h]|1<<g:this.words[h]=this.words[h]&~(1<<g),this.strip()},a.prototype.iadd=function(m){var c;if(this.negative!==0&&m.negative===0)return this.negative=0,c=this.isub(m),this.negative^=1,this._normSign();if(this.negative===0&&m.negative!==0)return m.negative=0,c=this.isub(m),m.negative=1,c._normSign();var h,g;this.length>m.length?(h=this,g=m):(h=m,g=this);for(var _=0,M=0;M<g.length;M++)c=(h.words[M]|0)+(g.words[M]|0)+_,this.words[M]=c&67108863,_=c>>>26;for(;_!==0&&M<h.length;M++)c=(h.words[M]|0)+_,this.words[M]=c&67108863,_=c>>>26;if(this.length=h.length,_!==0)this.words[this.length]=_,this.length++;else if(h!==this)for(;M<h.length;M++)this.words[M]=h.words[M];return this},a.prototype.add=function(m){var c;return m.negative!==0&&this.negative===0?(m.negative=0,c=this.sub(m),m.negative^=1,c):m.negative===0&&this.negative!==0?(this.negative=0,c=m.sub(this),this.negative=1,c):this.length>m.length?this.clone().iadd(m):m.clone().iadd(this)},a.prototype.isub=function(m){if(m.negative!==0){m.negative=0;var c=this.iadd(m);return m.negative=1,c._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(m),this.negative=1,this._normSign();var h=this.cmp(m);if(h===0)return this.negative=0,this.length=1,this.words[0]=0,this;var g,_;h>0?(g=this,_=m):(g=m,_=this);for(var M=0,D=0;D<_.length;D++)c=(g.words[D]|0)-(_.words[D]|0)+M,M=c>>26,this.words[D]=c&67108863;for(;M!==0&&D<g.length;D++)c=(g.words[D]|0)+M,M=c>>26,this.words[D]=c&67108863;if(M===0&&D<g.length&&g!==this)for(;D<g.length;D++)this.words[D]=g.words[D];return this.length=Math.max(this.length,D),g!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(m){return this.clone().isub(m)};function O(B,m,c){c.negative=m.negative^B.negative;var h=B.length+m.length|0;c.length=h,h=h-1|0;var g=B.words[0]|0,_=m.words[0]|0,M=g*_,D=M&67108863,S=M/67108864|0;c.words[0]=D;for(var d=1;d<h;d++){for(var p=S>>>26,N=S&67108863,Z=Math.min(d,m.length-1),se=Math.max(0,d-B.length+1);se<=Z;se++){var I=d-se|0;g=B.words[I]|0,_=m.words[se]|0,M=g*_+N,p+=M/67108864|0,N=M&67108863}c.words[d]=N|0,S=p|0}return S!==0?c.words[d]=S|0:c.length--,c.strip()}var j=function(m,c,h){var g=m.words,_=c.words,M=h.words,D=0,S,d,p,N=g[0]|0,Z=N&8191,se=N>>>13,I=g[1]|0,ee=I&8191,$=I>>>13,k=g[2]|0,K=k&8191,w=k>>>13,z=g[3]|0,ne=z&8191,ce=z>>>13,he=g[4]|0,ye=he&8191,we=he>>>13,Re=g[5]|0,Qe=Re&8191,Pe=Re>>>13,Ne=g[6]|0,Se=Ne&8191,me=Ne>>>13,Ce=g[7]|0,Te=Ce&8191,ve=Ce>>>13,Oe=g[8]|0,xe=Oe&8191,be=Oe>>>13,Ue=g[9]|0,Ie=Ue&8191,_e=Ue>>>13,He=_[0]|0,Ve=He&8191,Ee=He>>>13,Ke=_[1]|0,ut=Ke&8191,Ge=Ke>>>13,_t=_[2]|0,lt=_t&8191,Je=_t>>>13,Et=_[3]|0,Mt=Et&8191,Be=Et>>>13,Xe=_[4]|0,tt=Xe&8191,qe=Xe>>>13,et=_[5]|0,Ze=et&8191,ze=et>>>13,ft=_[6]|0,rt=ft&8191,Fe=ft>>>13,it=_[7]|0,st=it&8191,Le=it>>>13,Ye=_[8]|0,ht=Ye&8191,je=Ye>>>13,Nt=_[9]|0,Tt=Nt&8191,at=Nt>>>13;h.negative=m.negative^c.negative,h.length=19,S=Math.imul(Z,Ve),d=Math.imul(Z,Ee),d=d+Math.imul(se,Ve)|0,p=Math.imul(se,Ee);var bt=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(bt>>>26)|0,bt&=67108863,S=Math.imul(ee,Ve),d=Math.imul(ee,Ee),d=d+Math.imul($,Ve)|0,p=Math.imul($,Ee),S=S+Math.imul(Z,ut)|0,d=d+Math.imul(Z,Ge)|0,d=d+Math.imul(se,ut)|0,p=p+Math.imul(se,Ge)|0;var Cr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,S=Math.imul(K,Ve),d=Math.imul(K,Ee),d=d+Math.imul(w,Ve)|0,p=Math.imul(w,Ee),S=S+Math.imul(ee,ut)|0,d=d+Math.imul(ee,Ge)|0,d=d+Math.imul($,ut)|0,p=p+Math.imul($,Ge)|0,S=S+Math.imul(Z,lt)|0,d=d+Math.imul(Z,Je)|0,d=d+Math.imul(se,lt)|0,p=p+Math.imul(se,Je)|0;var Or=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Or>>>26)|0,Or&=67108863,S=Math.imul(ne,Ve),d=Math.imul(ne,Ee),d=d+Math.imul(ce,Ve)|0,p=Math.imul(ce,Ee),S=S+Math.imul(K,ut)|0,d=d+Math.imul(K,Ge)|0,d=d+Math.imul(w,ut)|0,p=p+Math.imul(w,Ge)|0,S=S+Math.imul(ee,lt)|0,d=d+Math.imul(ee,Je)|0,d=d+Math.imul($,lt)|0,p=p+Math.imul($,Je)|0,S=S+Math.imul(Z,Mt)|0,d=d+Math.imul(Z,Be)|0,d=d+Math.imul(se,Mt)|0,p=p+Math.imul(se,Be)|0;var Rr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,S=Math.imul(ye,Ve),d=Math.imul(ye,Ee),d=d+Math.imul(we,Ve)|0,p=Math.imul(we,Ee),S=S+Math.imul(ne,ut)|0,d=d+Math.imul(ne,Ge)|0,d=d+Math.imul(ce,ut)|0,p=p+Math.imul(ce,Ge)|0,S=S+Math.imul(K,lt)|0,d=d+Math.imul(K,Je)|0,d=d+Math.imul(w,lt)|0,p=p+Math.imul(w,Je)|0,S=S+Math.imul(ee,Mt)|0,d=d+Math.imul(ee,Be)|0,d=d+Math.imul($,Mt)|0,p=p+Math.imul($,Be)|0,S=S+Math.imul(Z,tt)|0,d=d+Math.imul(Z,qe)|0,d=d+Math.imul(se,tt)|0,p=p+Math.imul(se,qe)|0;var Nr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,S=Math.imul(Qe,Ve),d=Math.imul(Qe,Ee),d=d+Math.imul(Pe,Ve)|0,p=Math.imul(Pe,Ee),S=S+Math.imul(ye,ut)|0,d=d+Math.imul(ye,Ge)|0,d=d+Math.imul(we,ut)|0,p=p+Math.imul(we,Ge)|0,S=S+Math.imul(ne,lt)|0,d=d+Math.imul(ne,Je)|0,d=d+Math.imul(ce,lt)|0,p=p+Math.imul(ce,Je)|0,S=S+Math.imul(K,Mt)|0,d=d+Math.imul(K,Be)|0,d=d+Math.imul(w,Mt)|0,p=p+Math.imul(w,Be)|0,S=S+Math.imul(ee,tt)|0,d=d+Math.imul(ee,qe)|0,d=d+Math.imul($,tt)|0,p=p+Math.imul($,qe)|0,S=S+Math.imul(Z,Ze)|0,d=d+Math.imul(Z,ze)|0,d=d+Math.imul(se,Ze)|0,p=p+Math.imul(se,ze)|0;var Tr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Tr>>>26)|0,Tr&=67108863,S=Math.imul(Se,Ve),d=Math.imul(Se,Ee),d=d+Math.imul(me,Ve)|0,p=Math.imul(me,Ee),S=S+Math.imul(Qe,ut)|0,d=d+Math.imul(Qe,Ge)|0,d=d+Math.imul(Pe,ut)|0,p=p+Math.imul(Pe,Ge)|0,S=S+Math.imul(ye,lt)|0,d=d+Math.imul(ye,Je)|0,d=d+Math.imul(we,lt)|0,p=p+Math.imul(we,Je)|0,S=S+Math.imul(ne,Mt)|0,d=d+Math.imul(ne,Be)|0,d=d+Math.imul(ce,Mt)|0,p=p+Math.imul(ce,Be)|0,S=S+Math.imul(K,tt)|0,d=d+Math.imul(K,qe)|0,d=d+Math.imul(w,tt)|0,p=p+Math.imul(w,qe)|0,S=S+Math.imul(ee,Ze)|0,d=d+Math.imul(ee,ze)|0,d=d+Math.imul($,Ze)|0,p=p+Math.imul($,ze)|0,S=S+Math.imul(Z,rt)|0,d=d+Math.imul(Z,Fe)|0,d=d+Math.imul(se,rt)|0,p=p+Math.imul(se,Fe)|0;var Xt=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Xt>>>26)|0,Xt&=67108863,S=Math.imul(Te,Ve),d=Math.imul(Te,Ee),d=d+Math.imul(ve,Ve)|0,p=Math.imul(ve,Ee),S=S+Math.imul(Se,ut)|0,d=d+Math.imul(Se,Ge)|0,d=d+Math.imul(me,ut)|0,p=p+Math.imul(me,Ge)|0,S=S+Math.imul(Qe,lt)|0,d=d+Math.imul(Qe,Je)|0,d=d+Math.imul(Pe,lt)|0,p=p+Math.imul(Pe,Je)|0,S=S+Math.imul(ye,Mt)|0,d=d+Math.imul(ye,Be)|0,d=d+Math.imul(we,Mt)|0,p=p+Math.imul(we,Be)|0,S=S+Math.imul(ne,tt)|0,d=d+Math.imul(ne,qe)|0,d=d+Math.imul(ce,tt)|0,p=p+Math.imul(ce,qe)|0,S=S+Math.imul(K,Ze)|0,d=d+Math.imul(K,ze)|0,d=d+Math.imul(w,Ze)|0,p=p+Math.imul(w,ze)|0,S=S+Math.imul(ee,rt)|0,d=d+Math.imul(ee,Fe)|0,d=d+Math.imul($,rt)|0,p=p+Math.imul($,Fe)|0,S=S+Math.imul(Z,st)|0,d=d+Math.imul(Z,Le)|0,d=d+Math.imul(se,st)|0,p=p+Math.imul(se,Le)|0;var Yr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Yr>>>26)|0,Yr&=67108863,S=Math.imul(xe,Ve),d=Math.imul(xe,Ee),d=d+Math.imul(be,Ve)|0,p=Math.imul(be,Ee),S=S+Math.imul(Te,ut)|0,d=d+Math.imul(Te,Ge)|0,d=d+Math.imul(ve,ut)|0,p=p+Math.imul(ve,Ge)|0,S=S+Math.imul(Se,lt)|0,d=d+Math.imul(Se,Je)|0,d=d+Math.imul(me,lt)|0,p=p+Math.imul(me,Je)|0,S=S+Math.imul(Qe,Mt)|0,d=d+Math.imul(Qe,Be)|0,d=d+Math.imul(Pe,Mt)|0,p=p+Math.imul(Pe,Be)|0,S=S+Math.imul(ye,tt)|0,d=d+Math.imul(ye,qe)|0,d=d+Math.imul(we,tt)|0,p=p+Math.imul(we,qe)|0,S=S+Math.imul(ne,Ze)|0,d=d+Math.imul(ne,ze)|0,d=d+Math.imul(ce,Ze)|0,p=p+Math.imul(ce,ze)|0,S=S+Math.imul(K,rt)|0,d=d+Math.imul(K,Fe)|0,d=d+Math.imul(w,rt)|0,p=p+Math.imul(w,Fe)|0,S=S+Math.imul(ee,st)|0,d=d+Math.imul(ee,Le)|0,d=d+Math.imul($,st)|0,p=p+Math.imul($,Le)|0,S=S+Math.imul(Z,ht)|0,d=d+Math.imul(Z,je)|0,d=d+Math.imul(se,ht)|0,p=p+Math.imul(se,je)|0;var Gi=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,S=Math.imul(Ie,Ve),d=Math.imul(Ie,Ee),d=d+Math.imul(_e,Ve)|0,p=Math.imul(_e,Ee),S=S+Math.imul(xe,ut)|0,d=d+Math.imul(xe,Ge)|0,d=d+Math.imul(be,ut)|0,p=p+Math.imul(be,Ge)|0,S=S+Math.imul(Te,lt)|0,d=d+Math.imul(Te,Je)|0,d=d+Math.imul(ve,lt)|0,p=p+Math.imul(ve,Je)|0,S=S+Math.imul(Se,Mt)|0,d=d+Math.imul(Se,Be)|0,d=d+Math.imul(me,Mt)|0,p=p+Math.imul(me,Be)|0,S=S+Math.imul(Qe,tt)|0,d=d+Math.imul(Qe,qe)|0,d=d+Math.imul(Pe,tt)|0,p=p+Math.imul(Pe,qe)|0,S=S+Math.imul(ye,Ze)|0,d=d+Math.imul(ye,ze)|0,d=d+Math.imul(we,Ze)|0,p=p+Math.imul(we,ze)|0,S=S+Math.imul(ne,rt)|0,d=d+Math.imul(ne,Fe)|0,d=d+Math.imul(ce,rt)|0,p=p+Math.imul(ce,Fe)|0,S=S+Math.imul(K,st)|0,d=d+Math.imul(K,Le)|0,d=d+Math.imul(w,st)|0,p=p+Math.imul(w,Le)|0,S=S+Math.imul(ee,ht)|0,d=d+Math.imul(ee,je)|0,d=d+Math.imul($,ht)|0,p=p+Math.imul($,je)|0,S=S+Math.imul(Z,Tt)|0,d=d+Math.imul(Z,at)|0,d=d+Math.imul(se,Tt)|0,p=p+Math.imul(se,at)|0;var Qr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Qr>>>26)|0,Qr&=67108863,S=Math.imul(Ie,ut),d=Math.imul(Ie,Ge),d=d+Math.imul(_e,ut)|0,p=Math.imul(_e,Ge),S=S+Math.imul(xe,lt)|0,d=d+Math.imul(xe,Je)|0,d=d+Math.imul(be,lt)|0,p=p+Math.imul(be,Je)|0,S=S+Math.imul(Te,Mt)|0,d=d+Math.imul(Te,Be)|0,d=d+Math.imul(ve,Mt)|0,p=p+Math.imul(ve,Be)|0,S=S+Math.imul(Se,tt)|0,d=d+Math.imul(Se,qe)|0,d=d+Math.imul(me,tt)|0,p=p+Math.imul(me,qe)|0,S=S+Math.imul(Qe,Ze)|0,d=d+Math.imul(Qe,ze)|0,d=d+Math.imul(Pe,Ze)|0,p=p+Math.imul(Pe,ze)|0,S=S+Math.imul(ye,rt)|0,d=d+Math.imul(ye,Fe)|0,d=d+Math.imul(we,rt)|0,p=p+Math.imul(we,Fe)|0,S=S+Math.imul(ne,st)|0,d=d+Math.imul(ne,Le)|0,d=d+Math.imul(ce,st)|0,p=p+Math.imul(ce,Le)|0,S=S+Math.imul(K,ht)|0,d=d+Math.imul(K,je)|0,d=d+Math.imul(w,ht)|0,p=p+Math.imul(w,je)|0,S=S+Math.imul(ee,Tt)|0,d=d+Math.imul(ee,at)|0,d=d+Math.imul($,Tt)|0,p=p+Math.imul($,at)|0;var Wi=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Wi>>>26)|0,Wi&=67108863,S=Math.imul(Ie,lt),d=Math.imul(Ie,Je),d=d+Math.imul(_e,lt)|0,p=Math.imul(_e,Je),S=S+Math.imul(xe,Mt)|0,d=d+Math.imul(xe,Be)|0,d=d+Math.imul(be,Mt)|0,p=p+Math.imul(be,Be)|0,S=S+Math.imul(Te,tt)|0,d=d+Math.imul(Te,qe)|0,d=d+Math.imul(ve,tt)|0,p=p+Math.imul(ve,qe)|0,S=S+Math.imul(Se,Ze)|0,d=d+Math.imul(Se,ze)|0,d=d+Math.imul(me,Ze)|0,p=p+Math.imul(me,ze)|0,S=S+Math.imul(Qe,rt)|0,d=d+Math.imul(Qe,Fe)|0,d=d+Math.imul(Pe,rt)|0,p=p+Math.imul(Pe,Fe)|0,S=S+Math.imul(ye,st)|0,d=d+Math.imul(ye,Le)|0,d=d+Math.imul(we,st)|0,p=p+Math.imul(we,Le)|0,S=S+Math.imul(ne,ht)|0,d=d+Math.imul(ne,je)|0,d=d+Math.imul(ce,ht)|0,p=p+Math.imul(ce,je)|0,S=S+Math.imul(K,Tt)|0,d=d+Math.imul(K,at)|0,d=d+Math.imul(w,Tt)|0,p=p+Math.imul(w,at)|0;var Ji=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Ji>>>26)|0,Ji&=67108863,S=Math.imul(Ie,Mt),d=Math.imul(Ie,Be),d=d+Math.imul(_e,Mt)|0,p=Math.imul(_e,Be),S=S+Math.imul(xe,tt)|0,d=d+Math.imul(xe,qe)|0,d=d+Math.imul(be,tt)|0,p=p+Math.imul(be,qe)|0,S=S+Math.imul(Te,Ze)|0,d=d+Math.imul(Te,ze)|0,d=d+Math.imul(ve,Ze)|0,p=p+Math.imul(ve,ze)|0,S=S+Math.imul(Se,rt)|0,d=d+Math.imul(Se,Fe)|0,d=d+Math.imul(me,rt)|0,p=p+Math.imul(me,Fe)|0,S=S+Math.imul(Qe,st)|0,d=d+Math.imul(Qe,Le)|0,d=d+Math.imul(Pe,st)|0,p=p+Math.imul(Pe,Le)|0,S=S+Math.imul(ye,ht)|0,d=d+Math.imul(ye,je)|0,d=d+Math.imul(we,ht)|0,p=p+Math.imul(we,je)|0,S=S+Math.imul(ne,Tt)|0,d=d+Math.imul(ne,at)|0,d=d+Math.imul(ce,Tt)|0,p=p+Math.imul(ce,at)|0;var Xr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,S=Math.imul(Ie,tt),d=Math.imul(Ie,qe),d=d+Math.imul(_e,tt)|0,p=Math.imul(_e,qe),S=S+Math.imul(xe,Ze)|0,d=d+Math.imul(xe,ze)|0,d=d+Math.imul(be,Ze)|0,p=p+Math.imul(be,ze)|0,S=S+Math.imul(Te,rt)|0,d=d+Math.imul(Te,Fe)|0,d=d+Math.imul(ve,rt)|0,p=p+Math.imul(ve,Fe)|0,S=S+Math.imul(Se,st)|0,d=d+Math.imul(Se,Le)|0,d=d+Math.imul(me,st)|0,p=p+Math.imul(me,Le)|0,S=S+Math.imul(Qe,ht)|0,d=d+Math.imul(Qe,je)|0,d=d+Math.imul(Pe,ht)|0,p=p+Math.imul(Pe,je)|0,S=S+Math.imul(ye,Tt)|0,d=d+Math.imul(ye,at)|0,d=d+Math.imul(we,Tt)|0,p=p+Math.imul(we,at)|0;var Si=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Si>>>26)|0,Si&=67108863,S=Math.imul(Ie,Ze),d=Math.imul(Ie,ze),d=d+Math.imul(_e,Ze)|0,p=Math.imul(_e,ze),S=S+Math.imul(xe,rt)|0,d=d+Math.imul(xe,Fe)|0,d=d+Math.imul(be,rt)|0,p=p+Math.imul(be,Fe)|0,S=S+Math.imul(Te,st)|0,d=d+Math.imul(Te,Le)|0,d=d+Math.imul(ve,st)|0,p=p+Math.imul(ve,Le)|0,S=S+Math.imul(Se,ht)|0,d=d+Math.imul(Se,je)|0,d=d+Math.imul(me,ht)|0,p=p+Math.imul(me,je)|0,S=S+Math.imul(Qe,Tt)|0,d=d+Math.imul(Qe,at)|0,d=d+Math.imul(Pe,Tt)|0,p=p+Math.imul(Pe,at)|0;var Mi=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,S=Math.imul(Ie,rt),d=Math.imul(Ie,Fe),d=d+Math.imul(_e,rt)|0,p=Math.imul(_e,Fe),S=S+Math.imul(xe,st)|0,d=d+Math.imul(xe,Le)|0,d=d+Math.imul(be,st)|0,p=p+Math.imul(be,Le)|0,S=S+Math.imul(Te,ht)|0,d=d+Math.imul(Te,je)|0,d=d+Math.imul(ve,ht)|0,p=p+Math.imul(ve,je)|0,S=S+Math.imul(Se,Tt)|0,d=d+Math.imul(Se,at)|0,d=d+Math.imul(me,Tt)|0,p=p+Math.imul(me,at)|0;var fr=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(fr>>>26)|0,fr&=67108863,S=Math.imul(Ie,st),d=Math.imul(Ie,Le),d=d+Math.imul(_e,st)|0,p=Math.imul(_e,Le),S=S+Math.imul(xe,ht)|0,d=d+Math.imul(xe,je)|0,d=d+Math.imul(be,ht)|0,p=p+Math.imul(be,je)|0,S=S+Math.imul(Te,Tt)|0,d=d+Math.imul(Te,at)|0,d=d+Math.imul(ve,Tt)|0,p=p+Math.imul(ve,at)|0;var Yi=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Yi>>>26)|0,Yi&=67108863,S=Math.imul(Ie,ht),d=Math.imul(Ie,je),d=d+Math.imul(_e,ht)|0,p=Math.imul(_e,je),S=S+Math.imul(xe,Tt)|0,d=d+Math.imul(xe,at)|0,d=d+Math.imul(be,Tt)|0,p=p+Math.imul(be,at)|0;var Qi=(D+S|0)+((d&8191)<<13)|0;D=(p+(d>>>13)|0)+(Qi>>>26)|0,Qi&=67108863,S=Math.imul(Ie,Tt),d=Math.imul(Ie,at),d=d+Math.imul(_e,Tt)|0,p=Math.imul(_e,at);var Xi=(D+S|0)+((d&8191)<<13)|0;return D=(p+(d>>>13)|0)+(Xi>>>26)|0,Xi&=67108863,M[0]=bt,M[1]=Cr,M[2]=Or,M[3]=Rr,M[4]=Nr,M[5]=Tr,M[6]=Xt,M[7]=Yr,M[8]=Gi,M[9]=Qr,M[10]=Wi,M[11]=Ji,M[12]=Xr,M[13]=Si,M[14]=Mi,M[15]=fr,M[16]=Yi,M[17]=Qi,M[18]=Xi,D!==0&&(M[19]=D,h.length++),h};Math.imul||(j=O);function W(B,m,c){c.negative=m.negative^B.negative,c.length=B.length+m.length;for(var h=0,g=0,_=0;_<c.length-1;_++){var M=g;g=0;for(var D=h&67108863,S=Math.min(_,m.length-1),d=Math.max(0,_-B.length+1);d<=S;d++){var p=_-d,N=B.words[p]|0,Z=m.words[d]|0,se=N*Z,I=se&67108863;M=M+(se/67108864|0)|0,I=I+D|0,D=I&67108863,M=M+(I>>>26)|0,g+=M>>>26,M&=67108863}c.words[_]=D,h=M,M=g}return h!==0?c.words[_]=h:c.length--,c.strip()}function Q(B,m,c){var h=new H;return h.mulp(B,m,c)}a.prototype.mulTo=function(m,c){var h,g=this.length+m.length;return this.length===10&&m.length===10?h=j(this,m,c):g<63?h=O(this,m,c):g<1024?h=W(this,m,c):h=Q(this,m,c),h};function H(B,m){this.x=B,this.y=m}H.prototype.makeRBT=function(m){for(var c=new Array(m),h=a.prototype._countBits(m)-1,g=0;g<m;g++)c[g]=this.revBin(g,h,m);return c},H.prototype.revBin=function(m,c,h){if(m===0||m===h-1)return m;for(var g=0,_=0;_<c;_++)g|=(m&1)<<c-_-1,m>>=1;return g},H.prototype.permute=function(m,c,h,g,_,M){for(var D=0;D<M;D++)g[D]=c[m[D]],_[D]=h[m[D]]},H.prototype.transform=function(m,c,h,g,_,M){this.permute(M,m,c,h,g,_);for(var D=1;D<_;D<<=1)for(var S=D<<1,d=Math.cos(2*Math.PI/S),p=Math.sin(2*Math.PI/S),N=0;N<_;N+=S)for(var Z=d,se=p,I=0;I<D;I++){var ee=h[N+I],$=g[N+I],k=h[N+I+D],K=g[N+I+D],w=Z*k-se*K;K=Z*K+se*k,k=w,h[N+I]=ee+k,g[N+I]=$+K,h[N+I+D]=ee-k,g[N+I+D]=$-K,I!==S&&(w=d*Z-p*se,se=d*se+p*Z,Z=w)}},H.prototype.guessLen13b=function(m,c){var h=Math.max(c,m)|1,g=h&1,_=0;for(h=h/2|0;h;h=h>>>1)_++;return 1<<_+1+g},H.prototype.conjugate=function(m,c,h){if(!(h<=1))for(var g=0;g<h/2;g++){var _=m[g];m[g]=m[h-g-1],m[h-g-1]=_,_=c[g],c[g]=-c[h-g-1],c[h-g-1]=-_}},H.prototype.normalize13b=function(m,c){for(var h=0,g=0;g<c/2;g++){var _=Math.round(m[2*g+1]/c)*8192+Math.round(m[2*g]/c)+h;m[g]=_&67108863,_<67108864?h=0:h=_/67108864|0}return m},H.prototype.convert13b=function(m,c,h,g){for(var _=0,M=0;M<c;M++)_=_+(m[M]|0),h[2*M]=_&8191,_=_>>>13,h[2*M+1]=_&8191,_=_>>>13;for(M=2*c;M<g;++M)h[M]=0;i(_===0),i((_&-8192)===0)},H.prototype.stub=function(m){for(var c=new Array(m),h=0;h<m;h++)c[h]=0;return c},H.prototype.mulp=function(m,c,h){var g=2*this.guessLen13b(m.length,c.length),_=this.makeRBT(g),M=this.stub(g),D=new Array(g),S=new Array(g),d=new Array(g),p=new Array(g),N=new Array(g),Z=new Array(g),se=h.words;se.length=g,this.convert13b(m.words,m.length,D,g),this.convert13b(c.words,c.length,p,g),this.transform(D,M,S,d,g,_),this.transform(p,M,N,Z,g,_);for(var I=0;I<g;I++){var ee=S[I]*N[I]-d[I]*Z[I];d[I]=S[I]*Z[I]+d[I]*N[I],S[I]=ee}return this.conjugate(S,d,g),this.transform(S,d,se,M,g,_),this.conjugate(se,M,g),this.normalize13b(se,g),h.negative=m.negative^c.negative,h.length=m.length+c.length,h.strip()},a.prototype.mul=function(m){var c=new a(null);return c.words=new Array(this.length+m.length),this.mulTo(m,c)},a.prototype.mulf=function(m){var c=new a(null);return c.words=new Array(this.length+m.length),Q(this,m,c)},a.prototype.imul=function(m){return this.clone().mulTo(m,this)},a.prototype.imuln=function(m){i(typeof m=="number"),i(m<67108864);for(var c=0,h=0;h<this.length;h++){var g=(this.words[h]|0)*m,_=(g&67108863)+(c&67108863);c>>=26,c+=g/67108864|0,c+=_>>>26,this.words[h]=_&67108863}return c!==0&&(this.words[h]=c,this.length++),this},a.prototype.muln=function(m){return this.clone().imuln(m)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(m){var c=P(m);if(c.length===0)return new a(1);for(var h=this,g=0;g<c.length&&c[g]===0;g++,h=h.sqr());if(++g<c.length)for(var _=h.sqr();g<c.length;g++,_=_.sqr())c[g]!==0&&(h=h.mul(_));return h},a.prototype.iushln=function(m){i(typeof m=="number"&&m>=0);var c=m%26,h=(m-c)/26,g=67108863>>>26-c<<26-c,_;if(c!==0){var M=0;for(_=0;_<this.length;_++){var D=this.words[_]&g,S=(this.words[_]|0)-D<<c;this.words[_]=S|M,M=D>>>26-c}M&&(this.words[_]=M,this.length++)}if(h!==0){for(_=this.length-1;_>=0;_--)this.words[_+h]=this.words[_];for(_=0;_<h;_++)this.words[_]=0;this.length+=h}return this.strip()},a.prototype.ishln=function(m){return i(this.negative===0),this.iushln(m)},a.prototype.iushrn=function(m,c,h){i(typeof m=="number"&&m>=0);var g;c?g=(c-c%26)/26:g=0;var _=m%26,M=Math.min((m-_)/26,this.length),D=67108863^67108863>>>_<<_,S=h;if(g-=M,g=Math.max(0,g),S){for(var d=0;d<M;d++)S.words[d]=this.words[d];S.length=M}if(M!==0)if(this.length>M)for(this.length-=M,d=0;d<this.length;d++)this.words[d]=this.words[d+M];else this.words[0]=0,this.length=1;var p=0;for(d=this.length-1;d>=0&&(p!==0||d>=g);d--){var N=this.words[d]|0;this.words[d]=p<<26-_|N>>>_,p=N&D}return S&&p!==0&&(S.words[S.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(m,c,h){return i(this.negative===0),this.iushrn(m,c,h)},a.prototype.shln=function(m){return this.clone().ishln(m)},a.prototype.ushln=function(m){return this.clone().iushln(m)},a.prototype.shrn=function(m){return this.clone().ishrn(m)},a.prototype.ushrn=function(m){return this.clone().iushrn(m)},a.prototype.testn=function(m){i(typeof m=="number"&&m>=0);var c=m%26,h=(m-c)/26,g=1<<c;if(this.length<=h)return!1;var _=this.words[h];return!!(_&g)},a.prototype.imaskn=function(m){i(typeof m=="number"&&m>=0);var c=m%26,h=(m-c)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=h)return this;if(c!==0&&h++,this.length=Math.min(h,this.length),c!==0){var g=67108863^67108863>>>c<<c;this.words[this.length-1]&=g}return this.strip()},a.prototype.maskn=function(m){return this.clone().imaskn(m)},a.prototype.iaddn=function(m){return i(typeof m=="number"),i(m<67108864),m<0?this.isubn(-m):this.negative!==0?this.length===1&&(this.words[0]|0)<m?(this.words[0]=m-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(m),this.negative=1,this):this._iaddn(m)},a.prototype._iaddn=function(m){this.words[0]+=m;for(var c=0;c<this.length&&this.words[c]>=67108864;c++)this.words[c]-=67108864,c===this.length-1?this.words[c+1]=1:this.words[c+1]++;return this.length=Math.max(this.length,c+1),this},a.prototype.isubn=function(m){if(i(typeof m=="number"),i(m<67108864),m<0)return this.iaddn(-m);if(this.negative!==0)return this.negative=0,this.iaddn(m),this.negative=1,this;if(this.words[0]-=m,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var c=0;c<this.length&&this.words[c]<0;c++)this.words[c]+=67108864,this.words[c+1]-=1;return this.strip()},a.prototype.addn=function(m){return this.clone().iaddn(m)},a.prototype.subn=function(m){return this.clone().isubn(m)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(m,c,h){var g=m.length+h,_;this._expand(g);var M,D=0;for(_=0;_<m.length;_++){M=(this.words[_+h]|0)+D;var S=(m.words[_]|0)*c;M-=S&67108863,D=(M>>26)-(S/67108864|0),this.words[_+h]=M&67108863}for(;_<this.length-h;_++)M=(this.words[_+h]|0)+D,D=M>>26,this.words[_+h]=M&67108863;if(D===0)return this.strip();for(i(D===-1),D=0,_=0;_<this.length;_++)M=-(this.words[_]|0)+D,D=M>>26,this.words[_]=M&67108863;return this.negative=1,this.strip()},a.prototype._wordDiv=function(m,c){var h=this.length-m.length,g=this.clone(),_=m,M=_.words[_.length-1]|0,D=this._countBits(M);h=26-D,h!==0&&(_=_.ushln(h),g.iushln(h),M=_.words[_.length-1]|0);var S=g.length-_.length,d;if(c!=="mod"){d=new a(null),d.length=S+1,d.words=new Array(d.length);for(var p=0;p<d.length;p++)d.words[p]=0}var N=g.clone()._ishlnsubmul(_,1,S);N.negative===0&&(g=N,d&&(d.words[S]=1));for(var Z=S-1;Z>=0;Z--){var se=(g.words[_.length+Z]|0)*67108864+(g.words[_.length+Z-1]|0);for(se=Math.min(se/M|0,67108863),g._ishlnsubmul(_,se,Z);g.negative!==0;)se--,g.negative=0,g._ishlnsubmul(_,1,Z),g.isZero()||(g.negative^=1);d&&(d.words[Z]=se)}return d&&d.strip(),g.strip(),c!=="div"&&h!==0&&g.iushrn(h),{div:d||null,mod:g}},a.prototype.divmod=function(m,c,h){if(i(!m.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var g,_,M;return this.negative!==0&&m.negative===0?(M=this.neg().divmod(m,c),c!=="mod"&&(g=M.div.neg()),c!=="div"&&(_=M.mod.neg(),h&&_.negative!==0&&_.iadd(m)),{div:g,mod:_}):this.negative===0&&m.negative!==0?(M=this.divmod(m.neg(),c),c!=="mod"&&(g=M.div.neg()),{div:g,mod:M.mod}):this.negative&m.negative?(M=this.neg().divmod(m.neg(),c),c!=="div"&&(_=M.mod.neg(),h&&_.negative!==0&&_.isub(m)),{div:M.div,mod:_}):m.length>this.length||this.cmp(m)<0?{div:new a(0),mod:this}:m.length===1?c==="div"?{div:this.divn(m.words[0]),mod:null}:c==="mod"?{div:null,mod:new a(this.modn(m.words[0]))}:{div:this.divn(m.words[0]),mod:new a(this.modn(m.words[0]))}:this._wordDiv(m,c)},a.prototype.div=function(m){return this.divmod(m,"div",!1).div},a.prototype.mod=function(m){return this.divmod(m,"mod",!1).mod},a.prototype.umod=function(m){return this.divmod(m,"mod",!0).mod},a.prototype.divRound=function(m){var c=this.divmod(m);if(c.mod.isZero())return c.div;var h=c.div.negative!==0?c.mod.isub(m):c.mod,g=m.ushrn(1),_=m.andln(1),M=h.cmp(g);return M<0||_===1&&M===0?c.div:c.div.negative!==0?c.div.isubn(1):c.div.iaddn(1)},a.prototype.modn=function(m){i(m<=67108863);for(var c=(1<<26)%m,h=0,g=this.length-1;g>=0;g--)h=(c*h+(this.words[g]|0))%m;return h},a.prototype.idivn=function(m){i(m<=67108863);for(var c=0,h=this.length-1;h>=0;h--){var g=(this.words[h]|0)+c*67108864;this.words[h]=g/m|0,c=g%m}return this.strip()},a.prototype.divn=function(m){return this.clone().idivn(m)},a.prototype.egcd=function(m){i(m.negative===0),i(!m.isZero());var c=this,h=m.clone();c.negative!==0?c=c.umod(m):c=c.clone();for(var g=new a(1),_=new a(0),M=new a(0),D=new a(1),S=0;c.isEven()&&h.isEven();)c.iushrn(1),h.iushrn(1),++S;for(var d=h.clone(),p=c.clone();!c.isZero();){for(var N=0,Z=1;!(c.words[0]&Z)&&N<26;++N,Z<<=1);if(N>0)for(c.iushrn(N);N-- >0;)(g.isOdd()||_.isOdd())&&(g.iadd(d),_.isub(p)),g.iushrn(1),_.iushrn(1);for(var se=0,I=1;!(h.words[0]&I)&&se<26;++se,I<<=1);if(se>0)for(h.iushrn(se);se-- >0;)(M.isOdd()||D.isOdd())&&(M.iadd(d),D.isub(p)),M.iushrn(1),D.iushrn(1);c.cmp(h)>=0?(c.isub(h),g.isub(M),_.isub(D)):(h.isub(c),M.isub(g),D.isub(_))}return{a:M,b:D,gcd:h.iushln(S)}},a.prototype._invmp=function(m){i(m.negative===0),i(!m.isZero());var c=this,h=m.clone();c.negative!==0?c=c.umod(m):c=c.clone();for(var g=new a(1),_=new a(0),M=h.clone();c.cmpn(1)>0&&h.cmpn(1)>0;){for(var D=0,S=1;!(c.words[0]&S)&&D<26;++D,S<<=1);if(D>0)for(c.iushrn(D);D-- >0;)g.isOdd()&&g.iadd(M),g.iushrn(1);for(var d=0,p=1;!(h.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(h.iushrn(d);d-- >0;)_.isOdd()&&_.iadd(M),_.iushrn(1);c.cmp(h)>=0?(c.isub(h),g.isub(_)):(h.isub(c),_.isub(g))}var N;return c.cmpn(1)===0?N=g:N=_,N.cmpn(0)<0&&N.iadd(m),N},a.prototype.gcd=function(m){if(this.isZero())return m.abs();if(m.isZero())return this.abs();var c=this.clone(),h=m.clone();c.negative=0,h.negative=0;for(var g=0;c.isEven()&&h.isEven();g++)c.iushrn(1),h.iushrn(1);do{for(;c.isEven();)c.iushrn(1);for(;h.isEven();)h.iushrn(1);var _=c.cmp(h);if(_<0){var M=c;c=h,h=M}else if(_===0||h.cmpn(1)===0)break;c.isub(h)}while(!0);return h.iushln(g)},a.prototype.invm=function(m){return this.egcd(m).a.umod(m)},a.prototype.isEven=function(){return(this.words[0]&1)===0},a.prototype.isOdd=function(){return(this.words[0]&1)===1},a.prototype.andln=function(m){return this.words[0]&m},a.prototype.bincn=function(m){i(typeof m=="number");var c=m%26,h=(m-c)/26,g=1<<c;if(this.length<=h)return this._expand(h+1),this.words[h]|=g,this;for(var _=g,M=h;_!==0&&M<this.length;M++){var D=this.words[M]|0;D+=_,_=D>>>26,D&=67108863,this.words[M]=D}return _!==0&&(this.words[M]=_,this.length++),this},a.prototype.isZero=function(){return this.length===1&&this.words[0]===0},a.prototype.cmpn=function(m){var c=m<0;if(this.negative!==0&&!c)return-1;if(this.negative===0&&c)return 1;this.strip();var h;if(this.length>1)h=1;else{c&&(m=-m),i(m<=67108863,"Number is too big");var g=this.words[0]|0;h=g===m?0:g<m?-1:1}return this.negative!==0?-h|0:h},a.prototype.cmp=function(m){if(this.negative!==0&&m.negative===0)return-1;if(this.negative===0&&m.negative!==0)return 1;var c=this.ucmp(m);return this.negative!==0?-c|0:c},a.prototype.ucmp=function(m){if(this.length>m.length)return 1;if(this.length<m.length)return-1;for(var c=0,h=this.length-1;h>=0;h--){var g=this.words[h]|0,_=m.words[h]|0;if(g!==_){g<_?c=-1:g>_&&(c=1);break}}return c},a.prototype.gtn=function(m){return this.cmpn(m)===1},a.prototype.gt=function(m){return this.cmp(m)===1},a.prototype.gten=function(m){return this.cmpn(m)>=0},a.prototype.gte=function(m){return this.cmp(m)>=0},a.prototype.ltn=function(m){return this.cmpn(m)===-1},a.prototype.lt=function(m){return this.cmp(m)===-1},a.prototype.lten=function(m){return this.cmpn(m)<=0},a.prototype.lte=function(m){return this.cmp(m)<=0},a.prototype.eqn=function(m){return this.cmpn(m)===0},a.prototype.eq=function(m){return this.cmp(m)===0},a.red=function(m){return new ae(m)},a.prototype.toRed=function(m){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),m.convertTo(this)._forceRed(m)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(m){return this.red=m,this},a.prototype.forceRed=function(m){return i(!this.red,"Already a number in reduction context"),this._forceRed(m)},a.prototype.redAdd=function(m){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,m)},a.prototype.redIAdd=function(m){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,m)},a.prototype.redSub=function(m){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,m)},a.prototype.redISub=function(m){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,m)},a.prototype.redShl=function(m){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,m)},a.prototype.redMul=function(m){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,m),this.red.mul(this,m)},a.prototype.redIMul=function(m){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,m),this.red.imul(this,m)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(m){return i(this.red&&!m.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,m)};var Y={k256:null,p224:null,p192:null,p25519:null};function U(B,m){this.name=B,this.p=new a(m,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}U.prototype._tmp=function(){var m=new a(null);return m.words=new Array(Math.ceil(this.n/13)),m},U.prototype.ireduce=function(m){var c=m,h;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),h=c.bitLength();while(h>this.n);var g=h<this.n?-1:c.ucmp(this.p);return g===0?(c.words[0]=0,c.length=1):g>0?c.isub(this.p):c.strip!==void 0?c.strip():c._strip(),c},U.prototype.split=function(m,c){m.iushrn(this.n,0,c)},U.prototype.imulK=function(m){return m.imul(this.k)};function F(){U.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(F,U),F.prototype.split=function(m,c){for(var h=4194303,g=Math.min(m.length,9),_=0;_<g;_++)c.words[_]=m.words[_];if(c.length=g,m.length<=9){m.words[0]=0,m.length=1;return}var M=m.words[9];for(c.words[c.length++]=M&h,_=10;_<m.length;_++){var D=m.words[_]|0;m.words[_-10]=(D&h)<<4|M>>>22,M=D}M>>>=22,m.words[_-10]=M,M===0&&m.length>10?m.length-=10:m.length-=9},F.prototype.imulK=function(m){m.words[m.length]=0,m.words[m.length+1]=0,m.length+=2;for(var c=0,h=0;h<m.length;h++){var g=m.words[h]|0;c+=g*977,m.words[h]=c&67108863,c=g*64+(c/67108864|0)}return m.words[m.length-1]===0&&(m.length--,m.words[m.length-1]===0&&m.length--),m};function V(){U.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(V,U);function A(){U.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(A,U);function q(){U.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(q,U),q.prototype.imulK=function(m){for(var c=0,h=0;h<m.length;h++){var g=(m.words[h]|0)*19+c,_=g&67108863;g>>>=26,m.words[h]=_,c=g}return c!==0&&(m.words[m.length++]=c),m},a._prime=function(m){if(Y[m])return Y[m];var c;if(m==="k256")c=new F;else if(m==="p224")c=new V;else if(m==="p192")c=new A;else if(m==="p25519")c=new q;else throw new Error("Unknown prime "+m);return Y[m]=c,c};function ae(B){if(typeof B=="string"){var m=a._prime(B);this.m=m.p,this.prime=m}else i(B.gtn(1),"modulus must be greater than 1"),this.m=B,this.prime=null}ae.prototype._verify1=function(m){i(m.negative===0,"red works only with positives"),i(m.red,"red works only with red numbers")},ae.prototype._verify2=function(m,c){i((m.negative|c.negative)===0,"red works only with positives"),i(m.red&&m.red===c.red,"red works only with red numbers")},ae.prototype.imod=function(m){return this.prime?this.prime.ireduce(m)._forceRed(this):m.umod(this.m)._forceRed(this)},ae.prototype.neg=function(m){return m.isZero()?m.clone():this.m.sub(m)._forceRed(this)},ae.prototype.add=function(m,c){this._verify2(m,c);var h=m.add(c);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},ae.prototype.iadd=function(m,c){this._verify2(m,c);var h=m.iadd(c);return h.cmp(this.m)>=0&&h.isub(this.m),h},ae.prototype.sub=function(m,c){this._verify2(m,c);var h=m.sub(c);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},ae.prototype.isub=function(m,c){this._verify2(m,c);var h=m.isub(c);return h.cmpn(0)<0&&h.iadd(this.m),h},ae.prototype.shl=function(m,c){return this._verify1(m),this.imod(m.ushln(c))},ae.prototype.imul=function(m,c){return this._verify2(m,c),this.imod(m.imul(c))},ae.prototype.mul=function(m,c){return this._verify2(m,c),this.imod(m.mul(c))},ae.prototype.isqr=function(m){return this.imul(m,m.clone())},ae.prototype.sqr=function(m){return this.mul(m,m)},ae.prototype.sqrt=function(m){if(m.isZero())return m.clone();var c=this.m.andln(3);if(i(c%2===1),c===3){var h=this.m.add(new a(1)).iushrn(2);return this.pow(m,h)}for(var g=this.m.subn(1),_=0;!g.isZero()&&g.andln(1)===0;)_++,g.iushrn(1);i(!g.isZero());var M=new a(1).toRed(this),D=M.redNeg(),S=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new a(2*d*d).toRed(this);this.pow(d,S).cmp(D)!==0;)d.redIAdd(D);for(var p=this.pow(d,g),N=this.pow(m,g.addn(1).iushrn(1)),Z=this.pow(m,g),se=_;Z.cmp(M)!==0;){for(var I=Z,ee=0;I.cmp(M)!==0;ee++)I=I.redSqr();i(ee<se);var $=this.pow(p,new a(1).iushln(se-ee-1));N=N.redMul($),p=$.redSqr(),Z=Z.redMul(p),se=ee}return N},ae.prototype.invm=function(m){var c=m._invmp(this.m);return c.negative!==0?(c.negative=0,this.imod(c).redNeg()):this.imod(c)},ae.prototype.pow=function(m,c){if(c.isZero())return new a(1).toRed(this);if(c.cmpn(1)===0)return m.clone();var h=4,g=new Array(1<<h);g[0]=new a(1).toRed(this),g[1]=m;for(var _=2;_<g.length;_++)g[_]=this.mul(g[_-1],m);var M=g[0],D=0,S=0,d=c.bitLength()%26;for(d===0&&(d=26),_=c.length-1;_>=0;_--){for(var p=c.words[_],N=d-1;N>=0;N--){var Z=p>>N&1;if(M!==g[0]&&(M=this.sqr(M)),Z===0&&D===0){S=0;continue}D<<=1,D|=Z,S++,!(S!==h&&(_!==0||N!==0))&&(M=this.mul(M,g[D]),S=0,D=0)}d=26}return M},ae.prototype.convertTo=function(m){var c=m.umod(this.m);return c===m?c.clone():c},ae.prototype.convertFrom=function(m){var c=m.clone();return c.red=null,c},a.mont=function(m){return new ue(m)};function ue(B){ae.call(this,B),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new a(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)}n(ue,ae),ue.prototype.convertTo=function(m){return this.imod(m.ushln(this.shift))},ue.prototype.convertFrom=function(m){var c=this.imod(m.mul(this.rinv));return c.red=null,c},ue.prototype.imul=function(m,c){if(m.isZero()||c.isZero())return m.words[0]=0,m.length=1,m;var h=m.imul(c),g=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=h.isub(g).iushrn(this.shift),M=_;return _.cmp(this.m)>=0?M=_.isub(this.m):_.cmpn(0)<0&&(M=_.iadd(this.m)),M._forceRed(this)},ue.prototype.mul=function(m,c){if(m.isZero()||c.isZero())return new a(0)._forceRed(this);var h=m.mul(c),g=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=h.isub(g).iushrn(this.shift),M=_;return _.cmp(this.m)>=0?M=_.isub(this.m):_.cmpn(0)<0&&(M=_.iadd(this.m)),M._forceRed(this)},ue.prototype.invm=function(m){var c=this.imod(m._invmp(this.m).mul(this.r2));return c._forceRed(this)}})(r,ji)})(D0);var bs=D0.exports,pa=Xv;function Xv(r,e){if(!r)throw new Error(e||"Assertion failed")}Xv.equal=function(e,t,i){if(e!=t)throw new Error(i||"Assertion failed: "+e+" != "+t)};var P0={};(function(r){var e=r;function t(a,f){if(Array.isArray(a))return a.slice();if(!a)return[];var u=[];if(typeof a!="string"){for(var b=0;b<a.length;b++)u[b]=a[b]|0;return u}if(f==="hex"){a=a.replace(/[^a-z0-9]+/ig,""),a.length%2!==0&&(a="0"+a);for(var b=0;b<a.length;b+=2)u.push(parseInt(a[b]+a[b+1],16))}else for(var b=0;b<a.length;b++){var v=a.charCodeAt(b),y=v>>8,E=v&255;y?u.push(y,E):u.push(E)}return u}e.toArray=t;function i(a){return a.length===1?"0"+a:a}e.zero2=i;function n(a){for(var f="",u=0;u<a.length;u++)f+=i(a[u].toString(16));return f}e.toHex=n,e.encode=function(f,u){return u==="hex"?n(f):f}})(P0);(function(r){var e=r,t=bs,i=pa,n=P0;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function a(y,E,C){var P=new Array(Math.max(y.bitLength(),C)+1),O;for(O=0;O<P.length;O+=1)P[O]=0;var j=1<<E+1,W=y.clone();for(O=0;O<P.length;O++){var Q,H=W.andln(j-1);W.isOdd()?(H>(j>>1)-1?Q=(j>>1)-H:Q=H,W.isubn(Q)):Q=0,P[O]=Q,W.iushrn(1)}return P}e.getNAF=a;function f(y,E){var C=[[],[]];y=y.clone(),E=E.clone();for(var P=0,O=0,j;y.cmpn(-P)>0||E.cmpn(-O)>0;){var W=y.andln(3)+P&3,Q=E.andln(3)+O&3;W===3&&(W=-1),Q===3&&(Q=-1);var H;W&1?(j=y.andln(7)+P&7,(j===3||j===5)&&Q===2?H=-W:H=W):H=0,C[0].push(H);var Y;Q&1?(j=E.andln(7)+O&7,(j===3||j===5)&&W===2?Y=-Q:Y=Q):Y=0,C[1].push(Y),2*P===H+1&&(P=1-P),2*O===Y+1&&(O=1-O),y.iushrn(1),E.iushrn(1)}return C}e.getJSF=f;function u(y,E,C){var P="_"+E;y.prototype[E]=function(){return this[P]!==void 0?this[P]:this[P]=C.call(this)}}e.cachedProperty=u;function b(y){return typeof y=="string"?e.toArray(y,"hex"):y}e.parseBytes=b;function v(y){return new t(y,"hex","le")}e.intFromLE=v})(xi);var C0={exports:{}},nl;C0.exports=function(e){return nl||(nl=new Bs(null)),nl.generate(e)};function Bs(r){this.rand=r}C0.exports.Rand=Bs;Bs.prototype.generate=function(e){return this._rand(e)};Bs.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),i=0;i<t.length;i++)t[i]=this.rand.getByte();return t};if(typeof self=="object")self.crypto&&self.crypto.getRandomValues?Bs.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?Bs.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window=="object"&&(Bs.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var w1=w0;if(typeof w1.randomBytes!="function")throw new Error("Not supported");Bs.prototype._rand=function(e){return w1.randomBytes(e)}}catch{}var Zv=C0.exports,O0={},ta=bs,wc=xi,ih=wc.getNAF,$7=wc.getJSF,nh=wc.assert;function Us(r,e){this.type=r,this.p=new ta(e.p,16),this.red=e.prime?ta.red(e.prime):ta.mont(this.p),this.zero=new ta(0).toRed(this.red),this.one=new ta(1).toRed(this.red),this.two=new ta(2).toRed(this.red),this.n=e.n&&new ta(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Sh=Us;Us.prototype.point=function(){throw new Error("Not implemented")};Us.prototype.validate=function(){throw new Error("Not implemented")};Us.prototype._fixedNafMul=function(e,t){nh(e.precomputed);var i=e._getDoubles(),n=ih(t,1,this._bitLength),a=(1<<i.step+1)-(i.step%2===0?2:1);a/=3;var f=[],u,b;for(u=0;u<n.length;u+=i.step){b=0;for(var v=u+i.step-1;v>=u;v--)b=(b<<1)+n[v];f.push(b)}for(var y=this.jpoint(null,null,null),E=this.jpoint(null,null,null),C=a;C>0;C--){for(u=0;u<f.length;u++)b=f[u],b===C?E=E.mixedAdd(i.points[u]):b===-C&&(E=E.mixedAdd(i.points[u].neg()));y=y.add(E)}return y.toP()};Us.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var a=n.points,f=ih(t,i,this._bitLength),u=this.jpoint(null,null,null),b=f.length-1;b>=0;b--){for(var v=0;b>=0&&f[b]===0;b--)v++;if(b>=0&&v++,u=u.dblp(v),b<0)break;var y=f[b];nh(y!==0),e.type==="affine"?y>0?u=u.mixedAdd(a[y-1>>1]):u=u.mixedAdd(a[-y-1>>1].neg()):y>0?u=u.add(a[y-1>>1]):u=u.add(a[-y-1>>1].neg())}return e.type==="affine"?u.toP():u};Us.prototype._wnafMulAdd=function(e,t,i,n,a){var f=this._wnafT1,u=this._wnafT2,b=this._wnafT3,v=0,y,E,C;for(y=0;y<n;y++){C=t[y];var P=C._getNAFPoints(e);f[y]=P.wnd,u[y]=P.points}for(y=n-1;y>=1;y-=2){var O=y-1,j=y;if(f[O]!==1||f[j]!==1){b[O]=ih(i[O],f[O],this._bitLength),b[j]=ih(i[j],f[j],this._bitLength),v=Math.max(b[O].length,v),v=Math.max(b[j].length,v);continue}var W=[t[O],null,null,t[j]];t[O].y.cmp(t[j].y)===0?(W[1]=t[O].add(t[j]),W[2]=t[O].toJ().mixedAdd(t[j].neg())):t[O].y.cmp(t[j].y.redNeg())===0?(W[1]=t[O].toJ().mixedAdd(t[j]),W[2]=t[O].add(t[j].neg())):(W[1]=t[O].toJ().mixedAdd(t[j]),W[2]=t[O].toJ().mixedAdd(t[j].neg()));var Q=[-3,-1,-5,-7,0,7,5,1,3],H=$7(i[O],i[j]);for(v=Math.max(H[0].length,v),b[O]=new Array(v),b[j]=new Array(v),E=0;E<v;E++){var Y=H[0][E]|0,U=H[1][E]|0;b[O][E]=Q[(Y+1)*3+(U+1)],b[j][E]=0,u[O]=W}}var F=this.jpoint(null,null,null),V=this._wnafT4;for(y=v;y>=0;y--){for(var A=0;y>=0;){var q=!0;for(E=0;E<n;E++)V[E]=b[E][y]|0,V[E]!==0&&(q=!1);if(!q)break;A++,y--}if(y>=0&&A++,F=F.dblp(A),y<0)break;for(E=0;E<n;E++){var ae=V[E];ae!==0&&(ae>0?C=u[E][ae-1>>1]:ae<0&&(C=u[E][-ae-1>>1].neg()),C.type==="affine"?F=F.mixedAdd(C):F=F.add(C))}}for(y=0;y<n;y++)u[y]=null;return a?F:F.toP()};function Ki(r,e){this.curve=r,this.type=e,this.precomputed=null}Us.BasePoint=Ki;Ki.prototype.eq=function(){throw new Error("Not implemented")};Ki.prototype.validate=function(){return this.curve.validate(this)};Us.prototype.decodePoint=function(e,t){e=wc.toArray(e,t);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?nh(e[e.length-1]%2===0):e[0]===7&&nh(e[e.length-1]%2===1);var n=this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));return n}else if((e[0]===2||e[0]===3)&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),e[0]===3);throw new Error("Unknown point format")};Ki.prototype.encodeCompressed=function(e){return this.encode(e,!0)};Ki.prototype._encode=function(e){var t=this.curve.p.byteLength(),i=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",t))};Ki.prototype.encode=function(e,t){return wc.encode(this._encode(t),e)};Ki.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};Ki.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};Ki.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,a=0;a<t;a+=e){for(var f=0;f<e;f++)n=n.dbl();i.push(n)}return{step:e,points:i}};Ki.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),a=1;a<i;a++)t[a]=t[a-1].add(n);return{wnd:e,points:t}};Ki.prototype._getBeta=function(){return null};Ki.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var z7=xi,tr=bs,R0=yh,oo=Sh,F7=z7.assert;function Vi(r){oo.call(this,"short",r),this.a=new tr(r.a,16).toRed(this.red),this.b=new tr(r.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(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}R0(Vi,oo);var j7=Vi;Vi.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new tr(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=n[0].cmp(n[1])<0?n[0]:n[1],t=t.toRed(this.red)}if(e.lambda)i=new tr(e.lambda,16);else{var a=this._getEndoRoots(this.n);this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0?i=a[0]:(i=a[1],F7(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var f;return e.basis?f=e.basis.map(function(u){return{a:new tr(u.a,16),b:new tr(u.b,16)}}):f=this._getEndoBasis(i),{beta:t,lambda:i,basis:f}}};Vi.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:tr.mont(e),i=new tr(2).toRed(t).redInvm(),n=i.redNeg(),a=new tr(3).toRed(t).redNeg().redSqrt().redMul(i),f=n.redAdd(a).fromRed(),u=n.redSub(a).fromRed();return[f,u]};Vi.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),a=new tr(1),f=new tr(0),u=new tr(0),b=new tr(1),v,y,E,C,P,O,j,W=0,Q,H;i.cmpn(0)!==0;){var Y=n.div(i);Q=n.sub(Y.mul(i)),H=u.sub(Y.mul(a));var U=b.sub(Y.mul(f));if(!E&&Q.cmp(t)<0)v=j.neg(),y=a,E=Q.neg(),C=H;else if(E&&++W===2)break;j=Q,n=i,i=Q,u=a,a=H,b=f,f=U}P=Q.neg(),O=H;var F=E.sqr().add(C.sqr()),V=P.sqr().add(O.sqr());return V.cmp(F)>=0&&(P=v,O=y),E.negative&&(E=E.neg(),C=C.neg()),P.negative&&(P=P.neg(),O=O.neg()),[{a:E,b:C},{a:P,b:O}]};Vi.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],a=n.b.mul(e).divRound(this.n),f=i.b.neg().mul(e).divRound(this.n),u=a.mul(i.a),b=f.mul(n.a),v=a.mul(i.b),y=f.mul(n.b),E=e.sub(u).sub(b),C=v.add(y).neg();return{k1:E,k2:C}};Vi.prototype.pointFromX=function(e,t){e=new tr(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var a=n.fromRed().isOdd();return(t&&!a||!t&&a)&&(n=n.redNeg()),this.point(e,n)};Vi.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),a=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(a).cmpn(0)===0};Vi.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,a=this._endoWnafT2,f=0;f<e.length;f++){var u=this._endoSplit(t[f]),b=e[f],v=b._getBeta();u.k1.negative&&(u.k1.ineg(),b=b.neg(!0)),u.k2.negative&&(u.k2.ineg(),v=v.neg(!0)),n[f*2]=b,n[f*2+1]=v,a[f*2]=u.k1,a[f*2+1]=u.k2}for(var y=this._wnafMulAdd(1,n,a,f*2,i),E=0;E<f*2;E++)n[E]=null,a[E]=null;return y};function wr(r,e,t,i){oo.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new tr(e,16),this.y=new tr(t,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)}R0(wr,oo.BasePoint);Vi.prototype.point=function(e,t,i){return new wr(this,e,t,i)};Vi.prototype.pointFromJSON=function(e,t){return wr.fromJSON(this,e,t)};wr.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 i=this.curve,n=function(a){return i.point(a.x.redMul(i.endo.beta),a.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}};wr.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]};wr.fromJSON=function(e,t,i){typeof t=="string"&&(t=JSON.parse(t));var n=e.point(t[0],t[1],i);if(!t[2])return n;function a(u){return e.point(u[0],u[1],i)}var f=t[2];return n.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[n].concat(f.doubles.points.map(a))},naf:f.naf&&{wnd:f.naf.wnd,points:[n].concat(f.naf.points.map(a))}},n};wr.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)+">"};wr.prototype.isInfinity=function(){return this.inf};wr.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))return this.curve.point(null,null);if(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 i=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)};wr.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,i=this.x.redSqr(),n=e.redInvm(),a=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),f=a.redSqr().redISub(this.x.redAdd(this.x)),u=a.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,u)};wr.prototype.getX=function(){return this.x.fromRed()};wr.prototype.getY=function(){return this.y.fromRed()};wr.prototype.mul=function(e){return e=new tr(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)};wr.prototype.mulAdd=function(e,t,i){var n=[this,t],a=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,a):this.curve._wnafMulAdd(1,n,a,2)};wr.prototype.jmulAdd=function(e,t,i){var n=[this,t],a=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,a,!0):this.curve._wnafMulAdd(1,n,a,2,!0)};wr.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)};wr.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(a){return a.neg()};t.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return t};wr.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function Dr(r,e,t,i){oo.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new tr(0)):(this.x=new tr(e,16),this.y=new tr(t,16),this.z=new tr(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}R0(Dr,oo.BasePoint);Vi.prototype.jpoint=function(e,t,i){return new Dr(this,e,t,i)};Dr.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),i=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(i,n)};Dr.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};Dr.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(t),a=e.x.redMul(i),f=this.y.redMul(t.redMul(e.z)),u=e.y.redMul(i.redMul(this.z)),b=n.redSub(a),v=f.redSub(u);if(b.cmpn(0)===0)return v.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var y=b.redSqr(),E=y.redMul(b),C=n.redMul(y),P=v.redSqr().redIAdd(E).redISub(C).redISub(C),O=v.redMul(C.redISub(P)).redISub(f.redMul(E)),j=this.z.redMul(e.z).redMul(b);return this.curve.jpoint(P,O,j)};Dr.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),i=this.x,n=e.x.redMul(t),a=this.y,f=e.y.redMul(t).redMul(this.z),u=i.redSub(n),b=a.redSub(f);if(u.cmpn(0)===0)return b.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var v=u.redSqr(),y=v.redMul(u),E=i.redMul(v),C=b.redSqr().redIAdd(y).redISub(E).redISub(E),P=b.redMul(E.redISub(C)).redISub(a.redMul(y)),O=this.z.redMul(u);return this.curve.jpoint(C,P,O)};Dr.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var i=this;for(t=0;t<e;t++)i=i.dbl();return i}var n=this.curve.a,a=this.curve.tinv,f=this.x,u=this.y,b=this.z,v=b.redSqr().redSqr(),y=u.redAdd(u);for(t=0;t<e;t++){var E=f.redSqr(),C=y.redSqr(),P=C.redSqr(),O=E.redAdd(E).redIAdd(E).redIAdd(n.redMul(v)),j=f.redMul(C),W=O.redSqr().redISub(j.redAdd(j)),Q=j.redISub(W),H=O.redMul(Q);H=H.redIAdd(H).redISub(P);var Y=y.redMul(b);t+1<e&&(v=v.redMul(P)),f=W,b=Y,y=H}return this.curve.jpoint(f,y.redMul(a),b)};Dr.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()};Dr.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),f=a.redSqr(),u=this.x.redAdd(a).redSqr().redISub(n).redISub(f);u=u.redIAdd(u);var b=n.redAdd(n).redIAdd(n),v=b.redSqr().redISub(u).redISub(u),y=f.redIAdd(f);y=y.redIAdd(y),y=y.redIAdd(y),e=v,t=b.redMul(u.redISub(v)).redISub(y),i=this.y.redAdd(this.y)}else{var E=this.x.redSqr(),C=this.y.redSqr(),P=C.redSqr(),O=this.x.redAdd(C).redSqr().redISub(E).redISub(P);O=O.redIAdd(O);var j=E.redAdd(E).redIAdd(E),W=j.redSqr(),Q=P.redIAdd(P);Q=Q.redIAdd(Q),Q=Q.redIAdd(Q),e=W.redISub(O).redISub(O),t=j.redMul(O.redISub(e)).redISub(Q),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)};Dr.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),f=a.redSqr(),u=this.x.redAdd(a).redSqr().redISub(n).redISub(f);u=u.redIAdd(u);var b=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),v=b.redSqr().redISub(u).redISub(u);e=v;var y=f.redIAdd(f);y=y.redIAdd(y),y=y.redIAdd(y),t=b.redMul(u.redISub(v)).redISub(y),i=this.y.redAdd(this.y)}else{var E=this.z.redSqr(),C=this.y.redSqr(),P=this.x.redMul(C),O=this.x.redSub(E).redMul(this.x.redAdd(E));O=O.redAdd(O).redIAdd(O);var j=P.redIAdd(P);j=j.redIAdd(j);var W=j.redAdd(j);e=O.redSqr().redISub(W),i=this.y.redAdd(this.z).redSqr().redISub(C).redISub(E);var Q=C.redSqr();Q=Q.redIAdd(Q),Q=Q.redIAdd(Q),Q=Q.redIAdd(Q),t=O.redMul(j.redISub(e)).redISub(Q)}return this.curve.jpoint(e,t,i)};Dr.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,a=n.redSqr().redSqr(),f=t.redSqr(),u=i.redSqr(),b=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(a)),v=t.redAdd(t);v=v.redIAdd(v);var y=v.redMul(u),E=b.redSqr().redISub(y.redAdd(y)),C=y.redISub(E),P=u.redSqr();P=P.redIAdd(P),P=P.redIAdd(P),P=P.redIAdd(P);var O=b.redMul(C).redISub(P),j=i.redAdd(i).redMul(n);return this.curve.jpoint(E,O,j)};Dr.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr(),n=t.redSqr(),a=e.redAdd(e).redIAdd(e),f=a.redSqr(),u=this.x.redAdd(t).redSqr().redISub(e).redISub(n);u=u.redIAdd(u),u=u.redAdd(u).redIAdd(u),u=u.redISub(f);var b=u.redSqr(),v=n.redIAdd(n);v=v.redIAdd(v),v=v.redIAdd(v),v=v.redIAdd(v);var y=a.redIAdd(u).redSqr().redISub(f).redISub(b).redISub(v),E=t.redMul(y);E=E.redIAdd(E),E=E.redIAdd(E);var C=this.x.redMul(b).redISub(E);C=C.redIAdd(C),C=C.redIAdd(C);var P=this.y.redMul(y.redMul(v.redISub(y)).redISub(u.redMul(b)));P=P.redIAdd(P),P=P.redIAdd(P),P=P.redIAdd(P);var O=this.z.redAdd(u).redSqr().redISub(i).redISub(b);return this.curve.jpoint(C,P,O)};Dr.prototype.mul=function(e,t){return e=new tr(e,t),this.curve._wnafMul(this,e)};Dr.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var n=t.redMul(this.z),a=i.redMul(e.z);return this.y.redMul(a).redISub(e.y.redMul(n)).cmpn(0)===0};Dr.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),a=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(a),this.x.cmp(i)===0)return!0}};Dr.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)+">"};Dr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Ga=bs,eb=yh,Mh=Sh,k7=xi;function co(r){Mh.call(this,"mont",r),this.a=new Ga(r.a,16).toRed(this.red),this.b=new Ga(r.b,16).toRed(this.red),this.i4=new Ga(4).toRed(this.red).redInvm(),this.two=new Ga(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}eb(co,Mh);var H7=co;co.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),n=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t),a=n.redSqrt();return a.redSqr().cmp(n)===0};function yr(r,e,t){Mh.BasePoint.call(this,r,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Ga(e,16),this.z=new Ga(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}eb(yr,Mh.BasePoint);co.prototype.decodePoint=function(e,t){return this.point(k7.toArray(e,t),1)};co.prototype.point=function(e,t){return new yr(this,e,t)};co.prototype.pointFromJSON=function(e){return yr.fromJSON(this,e)};yr.prototype.precompute=function(){};yr.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())};yr.fromJSON=function(e,t){return new yr(e,t[0],t[1]||e.one)};yr.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)+">"};yr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};yr.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),a=t.redSub(n),f=t.redMul(n),u=a.redMul(n.redAdd(this.curve.a24.redMul(a)));return this.curve.point(f,u)};yr.prototype.add=function(){throw new Error("Not supported on Montgomery curve")};yr.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),a=e.x.redAdd(e.z),f=e.x.redSub(e.z),u=f.redMul(i),b=a.redMul(n),v=t.z.redMul(u.redAdd(b).redSqr()),y=t.x.redMul(u.redISub(b).redSqr());return this.curve.point(v,y)};yr.prototype.mul=function(e){for(var t=e.clone(),i=this,n=this.curve.point(null,null),a=this,f=[];t.cmpn(0)!==0;t.iushrn(1))f.push(t.andln(1));for(var u=f.length-1;u>=0;u--)f[u]===0?(i=i.diffAdd(n,a),n=n.dbl()):(n=i.diffAdd(n,a),i=i.dbl());return n};yr.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")};yr.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")};yr.prototype.eq=function(e){return this.getX().cmp(e.getX())===0};yr.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};yr.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var K7=xi,ls=bs,tb=yh,Ih=Sh,V7=K7.assert;function Hn(r){this.twisted=(r.a|0)!==1,this.mOneA=this.twisted&&(r.a|0)===-1,this.extended=this.mOneA,Ih.call(this,"edwards",r),this.a=new ls(r.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new ls(r.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new ls(r.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),V7(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(r.c|0)===1}tb(Hn,Ih);var G7=Hn;Hn.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)};Hn.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)};Hn.prototype.jpoint=function(e,t,i,n){return this.point(e,t,i,n)};Hn.prototype.pointFromX=function(e,t){e=new ls(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),a=this.one.redSub(this.c2.redMul(this.d).redMul(i)),f=n.redMul(a.redInvm()),u=f.redSqrt();if(u.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");var b=u.fromRed().isOdd();return(t&&!b||!t&&b)&&(u=u.redNeg()),this.point(e,u)};Hn.prototype.pointFromY=function(e,t){e=new ls(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),a=i.redMul(this.d).redMul(this.c2).redSub(this.a),f=n.redMul(a.redInvm());if(f.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var u=f.redSqrt();if(u.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");return u.fromRed().isOdd()!==t&&(u=u.redNeg()),this.point(u,e)};Hn.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),i=e.y.redSqr(),n=t.redMul(this.a).redAdd(i),a=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(i)));return n.cmp(a)===0};function Vt(r,e,t,i,n){Ih.BasePoint.call(this,r,"projective"),e===null&&t===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 ls(e,16),this.y=new ls(t,16),this.z=i?new ls(i,16):this.curve.one,this.t=n&&new ls(n,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()))))}tb(Vt,Ih.BasePoint);Hn.prototype.pointFromJSON=function(e){return Vt.fromJSON(this,e)};Hn.prototype.point=function(e,t,i,n){return new Vt(this,e,t,i,n)};Vt.fromJSON=function(e,t){return new Vt(e,t[0],t[1],t[2])};Vt.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)+">"};Vt.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Vt.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(e),a=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),f=n.redAdd(t),u=f.redSub(i),b=n.redSub(t),v=a.redMul(u),y=f.redMul(b),E=a.redMul(b),C=u.redMul(f);return this.curve.point(v,y,C,E)};Vt.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),i=this.y.redSqr(),n,a,f,u,b,v;if(this.curve.twisted){u=this.curve._mulA(t);var y=u.redAdd(i);this.zOne?(n=e.redSub(t).redSub(i).redMul(y.redSub(this.curve.two)),a=y.redMul(u.redSub(i)),f=y.redSqr().redSub(y).redSub(y)):(b=this.z.redSqr(),v=y.redSub(b).redISub(b),n=e.redSub(t).redISub(i).redMul(v),a=y.redMul(u.redSub(i)),f=y.redMul(v))}else u=t.redAdd(i),b=this.curve._mulC(this.z).redSqr(),v=u.redSub(b).redSub(b),n=this.curve._mulC(e.redISub(u)).redMul(v),a=this.curve._mulC(u).redMul(t.redISub(i)),f=u.redMul(v);return this.curve.point(n,a,f)};Vt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()};Vt.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),a=this.z.redMul(e.z.redAdd(e.z)),f=i.redSub(t),u=a.redSub(n),b=a.redAdd(n),v=i.redAdd(t),y=f.redMul(u),E=b.redMul(v),C=f.redMul(v),P=u.redMul(b);return this.curve.point(y,E,P,C)};Vt.prototype._projAdd=function(e){var t=this.z.redMul(e.z),i=t.redSqr(),n=this.x.redMul(e.x),a=this.y.redMul(e.y),f=this.curve.d.redMul(n).redMul(a),u=i.redSub(f),b=i.redAdd(f),v=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(a),y=t.redMul(u).redMul(v),E,C;return this.curve.twisted?(E=t.redMul(b).redMul(a.redSub(this.curve._mulA(n))),C=u.redMul(b)):(E=t.redMul(b).redMul(a.redSub(n)),C=this.curve._mulC(u).redMul(b)),this.curve.point(y,E,C)};Vt.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)};Vt.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)};Vt.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)};Vt.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)};Vt.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=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this};Vt.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Vt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};Vt.prototype.getY=function(){return this.normalize(),this.y.fromRed()};Vt.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};Vt.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var i=e.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),this.x.cmp(t)===0)return!0}};Vt.prototype.toP=Vt.prototype.normalize;Vt.prototype.mixedAdd=Vt.prototype.add;(function(r){var e=r;e.base=Sh,e.short=j7,e.mont=H7,e.edwards=G7})(O0);var Dh={},Ph={},Pt={},W7=pa,J7=yh;Pt.inherits=J7;function Y7(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function Q7(r,e){if(Array.isArray(r))return r.slice();if(!r)return[];var t=[];if(typeof r=="string")if(e){if(e==="hex")for(r=r.replace(/[^a-z0-9]+/ig,""),r.length%2!==0&&(r="0"+r),n=0;n<r.length;n+=2)t.push(parseInt(r[n]+r[n+1],16))}else for(var i=0,n=0;n<r.length;n++){var a=r.charCodeAt(n);a<128?t[i++]=a:a<2048?(t[i++]=a>>6|192,t[i++]=a&63|128):Y7(r,n)?(a=65536+((a&1023)<<10)+(r.charCodeAt(++n)&1023),t[i++]=a>>18|240,t[i++]=a>>12&63|128,t[i++]=a>>6&63|128,t[i++]=a&63|128):(t[i++]=a>>12|224,t[i++]=a>>6&63|128,t[i++]=a&63|128)}else for(n=0;n<r.length;n++)t[n]=r[n]|0;return t}Pt.toArray=Q7;function X7(r){for(var e="",t=0;t<r.length;t++)e+=ib(r[t].toString(16));return e}Pt.toHex=X7;function rb(r){var e=r>>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}Pt.htonl=rb;function Z7(r,e){for(var t="",i=0;i<r.length;i++){var n=r[i];e==="little"&&(n=rb(n)),t+=nb(n.toString(16))}return t}Pt.toHex32=Z7;function ib(r){return r.length===1?"0"+r:r}Pt.zero2=ib;function nb(r){return r.length===7?"0"+r:r.length===6?"00"+r:r.length===5?"000"+r:r.length===4?"0000"+r:r.length===3?"00000"+r:r.length===2?"000000"+r:r.length===1?"0000000"+r:r}Pt.zero8=nb;function e9(r,e,t,i){var n=t-e;W7(n%4===0);for(var a=new Array(n/4),f=0,u=e;f<a.length;f++,u+=4){var b;i==="big"?b=r[u]<<24|r[u+1]<<16|r[u+2]<<8|r[u+3]:b=r[u+3]<<24|r[u+2]<<16|r[u+1]<<8|r[u],a[f]=b>>>0}return a}Pt.join32=e9;function t9(r,e){for(var t=new Array(r.length*4),i=0,n=0;i<r.length;i++,n+=4){var a=r[i];e==="big"?(t[n]=a>>>24,t[n+1]=a>>>16&255,t[n+2]=a>>>8&255,t[n+3]=a&255):(t[n+3]=a>>>24,t[n+2]=a>>>16&255,t[n+1]=a>>>8&255,t[n]=a&255)}return t}Pt.split32=t9;function r9(r,e){return r>>>e|r<<32-e}Pt.rotr32=r9;function i9(r,e){return r<<e|r>>>32-e}Pt.rotl32=i9;function n9(r,e){return r+e>>>0}Pt.sum32=n9;function s9(r,e,t){return r+e+t>>>0}Pt.sum32_3=s9;function a9(r,e,t,i){return r+e+t+i>>>0}Pt.sum32_4=a9;function o9(r,e,t,i,n){return r+e+t+i+n>>>0}Pt.sum32_5=o9;function c9(r,e,t,i){var n=r[e],a=r[e+1],f=i+a>>>0,u=(f<i?1:0)+t+n;r[e]=u>>>0,r[e+1]=f}Pt.sum64=c9;function f9(r,e,t,i){var n=e+i>>>0,a=(n<e?1:0)+r+t;return a>>>0}Pt.sum64_hi=f9;function h9(r,e,t,i){var n=e+i;return n>>>0}Pt.sum64_lo=h9;function u9(r,e,t,i,n,a,f,u){var b=0,v=e;v=v+i>>>0,b+=v<e?1:0,v=v+a>>>0,b+=v<a?1:0,v=v+u>>>0,b+=v<u?1:0;var y=r+t+n+f+b;return y>>>0}Pt.sum64_4_hi=u9;function l9(r,e,t,i,n,a,f,u){var b=e+i+a+u;return b>>>0}Pt.sum64_4_lo=l9;function d9(r,e,t,i,n,a,f,u,b,v){var y=0,E=e;E=E+i>>>0,y+=E<e?1:0,E=E+a>>>0,y+=E<a?1:0,E=E+u>>>0,y+=E<u?1:0,E=E+v>>>0,y+=E<v?1:0;var C=r+t+n+f+b+y;return C>>>0}Pt.sum64_5_hi=d9;function p9(r,e,t,i,n,a,f,u,b,v){var y=e+i+a+u+v;return y>>>0}Pt.sum64_5_lo=p9;function g9(r,e,t){var i=e<<32-t|r>>>t;return i>>>0}Pt.rotr64_hi=g9;function v9(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Pt.rotr64_lo=v9;function b9(r,e,t){return r>>>t}Pt.shr64_hi=b9;function m9(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Pt.shr64_lo=m9;var fo={},_1=Pt,y9=pa;function Ch(){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}fo.BlockHash=Ch;Ch.prototype.update=function(e,t){if(e=_1.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var i=e.length%this._delta8;this.pending=e.slice(e.length-i,e.length),this.pending.length===0&&(this.pending=null),e=_1.join32(e,0,e.length-i,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this};Ch.prototype.digest=function(e){return this.update(this._pad()),y9(this.pending===null),this._digest(e)};Ch.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,i=t-(e+this.padLength)%t,n=new Array(i+this.padLength);n[0]=128;for(var a=1;a<i;a++)n[a]=0;if(e<<=3,this.endian==="big"){for(var f=8;f<this.padLength;f++)n[a++]=0;n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=e>>>24&255,n[a++]=e>>>16&255,n[a++]=e>>>8&255,n[a++]=e&255}else for(n[a++]=e&255,n[a++]=e>>>8&255,n[a++]=e>>>16&255,n[a++]=e>>>24&255,n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=0,f=8;f<this.padLength;f++)n[a++]=0;return n};var ho={},Kn={},w9=Pt,On=w9.rotr32;function _9(r,e,t,i){if(r===0)return sb(e,t,i);if(r===1||r===3)return ob(e,t,i);if(r===2)return ab(e,t,i)}Kn.ft_1=_9;function sb(r,e,t){return r&e^~r&t}Kn.ch32=sb;function ab(r,e,t){return r&e^r&t^e&t}Kn.maj32=ab;function ob(r,e,t){return r^e^t}Kn.p32=ob;function A9(r){return On(r,2)^On(r,13)^On(r,22)}Kn.s0_256=A9;function E9(r){return On(r,6)^On(r,11)^On(r,25)}Kn.s1_256=E9;function x9(r){return On(r,7)^On(r,18)^r>>>3}Kn.g0_256=x9;function S9(r){return On(r,17)^On(r,19)^r>>>10}Kn.g1_256=S9;var Za=Pt,M9=fo,I9=Kn,sl=Za.rotl32,ko=Za.sum32,D9=Za.sum32_5,P9=I9.ft_1,cb=M9.BlockHash,C9=[1518500249,1859775393,2400959708,3395469782];function $n(){if(!(this instanceof $n))return new $n;cb.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Za.inherits($n,cb);var O9=$n;$n.blockSize=512;$n.outSize=160;$n.hmacStrength=80;$n.padLength=64;$n.prototype._update=function(e,t){for(var i=this.W,n=0;n<16;n++)i[n]=e[t+n];for(;n<i.length;n++)i[n]=sl(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var a=this.h[0],f=this.h[1],u=this.h[2],b=this.h[3],v=this.h[4];for(n=0;n<i.length;n++){var y=~~(n/20),E=D9(sl(a,5),P9(y,f,u,b),v,i[n],C9[y]);v=b,b=u,u=sl(f,30),f=a,a=E}this.h[0]=ko(this.h[0],a),this.h[1]=ko(this.h[1],f),this.h[2]=ko(this.h[2],u),this.h[3]=ko(this.h[3],b),this.h[4]=ko(this.h[4],v)};$n.prototype._digest=function(e){return e==="hex"?Za.toHex32(this.h,"big"):Za.split32(this.h,"big")};var eo=Pt,R9=fo,uo=Kn,N9=pa,sn=eo.sum32,T9=eo.sum32_4,B9=eo.sum32_5,q9=uo.ch32,L9=uo.maj32,U9=uo.s0_256,$9=uo.s1_256,z9=uo.g0_256,F9=uo.g1_256,fb=R9.BlockHash,j9=[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 zn(){if(!(this instanceof zn))return new zn;fb.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=j9,this.W=new Array(64)}eo.inherits(zn,fb);var hb=zn;zn.blockSize=512;zn.outSize=256;zn.hmacStrength=192;zn.padLength=64;zn.prototype._update=function(e,t){for(var i=this.W,n=0;n<16;n++)i[n]=e[t+n];for(;n<i.length;n++)i[n]=T9(F9(i[n-2]),i[n-7],z9(i[n-15]),i[n-16]);var a=this.h[0],f=this.h[1],u=this.h[2],b=this.h[3],v=this.h[4],y=this.h[5],E=this.h[6],C=this.h[7];for(N9(this.k.length===i.length),n=0;n<i.length;n++){var P=B9(C,$9(v),q9(v,y,E),this.k[n],i[n]),O=sn(U9(a),L9(a,f,u));C=E,E=y,y=v,v=sn(b,P),b=u,u=f,f=a,a=sn(P,O)}this.h[0]=sn(this.h[0],a),this.h[1]=sn(this.h[1],f),this.h[2]=sn(this.h[2],u),this.h[3]=sn(this.h[3],b),this.h[4]=sn(this.h[4],v),this.h[5]=sn(this.h[5],y),this.h[6]=sn(this.h[6],E),this.h[7]=sn(this.h[7],C)};zn.prototype._digest=function(e){return e==="hex"?eo.toHex32(this.h,"big"):eo.split32(this.h,"big")};var Ql=Pt,ub=hb;function ps(){if(!(this instanceof ps))return new ps;ub.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Ql.inherits(ps,ub);var k9=ps;ps.blockSize=512;ps.outSize=224;ps.hmacStrength=192;ps.padLength=64;ps.prototype._digest=function(e){return e==="hex"?Ql.toHex32(this.h.slice(0,7),"big"):Ql.split32(this.h.slice(0,7),"big")};var hi=Pt,H9=fo,K9=pa,Rn=hi.rotr64_hi,Nn=hi.rotr64_lo,lb=hi.shr64_hi,db=hi.shr64_lo,Ds=hi.sum64,al=hi.sum64_hi,ol=hi.sum64_lo,V9=hi.sum64_4_hi,G9=hi.sum64_4_lo,W9=hi.sum64_5_hi,J9=hi.sum64_5_lo,pb=H9.BlockHash,Y9=[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 dn(){if(!(this instanceof dn))return new dn;pb.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Y9,this.W=new Array(160)}hi.inherits(dn,pb);var gb=dn;dn.blockSize=1024;dn.outSize=512;dn.hmacStrength=192;dn.padLength=128;dn.prototype._prepareBlock=function(e,t){for(var i=this.W,n=0;n<32;n++)i[n]=e[t+n];for(;n<i.length;n+=2){var a=oA(i[n-4],i[n-3]),f=cA(i[n-4],i[n-3]),u=i[n-14],b=i[n-13],v=sA(i[n-30],i[n-29]),y=aA(i[n-30],i[n-29]),E=i[n-32],C=i[n-31];i[n]=V9(a,f,u,b,v,y,E,C),i[n+1]=G9(a,f,u,b,v,y,E,C)}};dn.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,n=this.h[0],a=this.h[1],f=this.h[2],u=this.h[3],b=this.h[4],v=this.h[5],y=this.h[6],E=this.h[7],C=this.h[8],P=this.h[9],O=this.h[10],j=this.h[11],W=this.h[12],Q=this.h[13],H=this.h[14],Y=this.h[15];K9(this.k.length===i.length);for(var U=0;U<i.length;U+=2){var F=H,V=Y,A=iA(C,P),q=nA(C,P),ae=Q9(C,P,O,j,W),ue=X9(C,P,O,j,W,Q),B=this.k[U],m=this.k[U+1],c=i[U],h=i[U+1],g=W9(F,V,A,q,ae,ue,B,m,c,h),_=J9(F,V,A,q,ae,ue,B,m,c,h);F=tA(n,a),V=rA(n,a),A=Z9(n,a,f,u,b),q=eA(n,a,f,u,b,v);var M=al(F,V,A,q),D=ol(F,V,A,q);H=W,Y=Q,W=O,Q=j,O=C,j=P,C=al(y,E,g,_),P=ol(E,E,g,_),y=b,E=v,b=f,v=u,f=n,u=a,n=al(g,_,M,D),a=ol(g,_,M,D)}Ds(this.h,0,n,a),Ds(this.h,2,f,u),Ds(this.h,4,b,v),Ds(this.h,6,y,E),Ds(this.h,8,C,P),Ds(this.h,10,O,j),Ds(this.h,12,W,Q),Ds(this.h,14,H,Y)};dn.prototype._digest=function(e){return e==="hex"?hi.toHex32(this.h,"big"):hi.split32(this.h,"big")};function Q9(r,e,t,i,n){var a=r&t^~r&n;return a<0&&(a+=4294967296),a}function X9(r,e,t,i,n,a){var f=e&i^~e&a;return f<0&&(f+=4294967296),f}function Z9(r,e,t,i,n){var a=r&t^r&n^t&n;return a<0&&(a+=4294967296),a}function eA(r,e,t,i,n,a){var f=e&i^e&a^i&a;return f<0&&(f+=4294967296),f}function tA(r,e){var t=Rn(r,e,28),i=Rn(e,r,2),n=Rn(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function rA(r,e){var t=Nn(r,e,28),i=Nn(e,r,2),n=Nn(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function iA(r,e){var t=Rn(r,e,14),i=Rn(r,e,18),n=Rn(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function nA(r,e){var t=Nn(r,e,14),i=Nn(r,e,18),n=Nn(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function sA(r,e){var t=Rn(r,e,1),i=Rn(r,e,8),n=lb(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function aA(r,e){var t=Nn(r,e,1),i=Nn(r,e,8),n=db(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function oA(r,e){var t=Rn(r,e,19),i=Rn(e,r,29),n=lb(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}function cA(r,e){var t=Nn(r,e,19),i=Nn(e,r,29),n=db(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}var Xl=Pt,vb=gb;function gs(){if(!(this instanceof gs))return new gs;vb.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Xl.inherits(gs,vb);var fA=gs;gs.blockSize=1024;gs.outSize=384;gs.hmacStrength=192;gs.padLength=128;gs.prototype._digest=function(e){return e==="hex"?Xl.toHex32(this.h.slice(0,12),"big"):Xl.split32(this.h.slice(0,12),"big")};ho.sha1=O9;ho.sha224=k9;ho.sha256=hb;ho.sha384=fA;ho.sha512=gb;var bb={},ua=Pt,hA=fo,Tf=ua.rotl32,A1=ua.sum32,Ho=ua.sum32_3,E1=ua.sum32_4,mb=hA.BlockHash;function Fn(){if(!(this instanceof Fn))return new Fn;mb.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}ua.inherits(Fn,mb);bb.ripemd160=Fn;Fn.blockSize=512;Fn.outSize=160;Fn.hmacStrength=192;Fn.padLength=64;Fn.prototype._update=function(e,t){for(var i=this.h[0],n=this.h[1],a=this.h[2],f=this.h[3],u=this.h[4],b=i,v=n,y=a,E=f,C=u,P=0;P<80;P++){var O=A1(Tf(E1(i,x1(P,n,a,f),e[dA[P]+t],uA(P)),gA[P]),u);i=u,u=f,f=Tf(a,10),a=n,n=O,O=A1(Tf(E1(b,x1(79-P,v,y,E),e[pA[P]+t],lA(P)),vA[P]),C),b=C,C=E,E=Tf(y,10),y=v,v=O}O=Ho(this.h[1],a,E),this.h[1]=Ho(this.h[2],f,C),this.h[2]=Ho(this.h[3],u,b),this.h[3]=Ho(this.h[4],i,v),this.h[4]=Ho(this.h[0],n,y),this.h[0]=O};Fn.prototype._digest=function(e){return e==="hex"?ua.toHex32(this.h,"little"):ua.split32(this.h,"little")};function x1(r,e,t,i){return r<=15?e^t^i:r<=31?e&t|~e&i:r<=47?(e|~t)^i:r<=63?e&i|t&~i:e^(t|~i)}function uA(r){return r<=15?0:r<=31?1518500249:r<=47?1859775393:r<=63?2400959708:2840853838}function lA(r){return r<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0}var dA=[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],pA=[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],gA=[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],vA=[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],bA=Pt,mA=pa;function to(r,e,t){if(!(this instanceof to))return new to(r,e,t);this.Hash=r,this.blockSize=r.blockSize/8,this.outSize=r.outSize/8,this.inner=null,this.outer=null,this._init(bA.toArray(e,t))}var yA=to;to.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),mA(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)};to.prototype.update=function(e,t){return this.inner.update(e,t),this};to.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)};(function(r){var e=r;e.utils=Pt,e.common=fo,e.sha=ho,e.ripemd=bb,e.hmac=yA,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160})(Ph);var cl,S1;function wA(){return S1||(S1=1,cl={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"]]}}),cl}(function(r){var e=r,t=Ph,i=O0,n=xi,a=n.assert;function f(v){v.type==="short"?this.curve=new i.short(v):v.type==="edwards"?this.curve=new i.edwards(v):this.curve=new i.mont(v),this.g=this.curve.g,this.n=this.curve.n,this.hash=v.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=f;function u(v,y){Object.defineProperty(e,v,{configurable:!0,enumerable:!0,get:function(){var E=new f(y);return Object.defineProperty(e,v,{configurable:!0,enumerable:!0,value:E}),E}})}u("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:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("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:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("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:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("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:t.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"]}),u("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:t.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"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),u("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:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var b;try{b=wA()}catch{b=void 0}u("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:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",b]})})(Dh);var _A=Ph,ca=P0,yb=pa;function qs(r){if(!(this instanceof qs))return new qs(r);this.hash=r.hash,this.predResist=!!r.predResist,this.outLen=this.hash.outSize,this.minEntropy=r.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=ca.toArray(r.entropy,r.entropyEnc||"hex"),t=ca.toArray(r.nonce,r.nonceEnc||"hex"),i=ca.toArray(r.pers,r.persEnc||"hex");yb(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var AA=qs;qs.prototype._init=function(e,t,i){var n=e.concat(t).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var a=0;a<this.V.length;a++)this.K[a]=0,this.V[a]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656};qs.prototype._hmac=function(){return new _A.hmac(this.hash,this.K)};qs.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())};qs.prototype.reseed=function(e,t,i,n){typeof t!="string"&&(n=i,i=t,t=null),e=ca.toArray(e,t),i=ca.toArray(i,n),yb(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1};qs.prototype.generate=function(e,t,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof t!="string"&&(n=i,i=t,t=null),i&&(i=ca.toArray(i,n||"hex"),this._update(i));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var f=a.slice(0,e);return this._update(i),this._reseed++,ca.encode(f,t)};var EA=bs,xA=xi,Zl=xA.assert;function $r(r,e){this.ec=r,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var SA=$r;$r.fromPublic=function(e,t,i){return t instanceof $r?t:new $r(e,{pub:t,pubEnc:i})};$r.fromPrivate=function(e,t,i){return t instanceof $r?t:new $r(e,{priv:t,privEnc:i})};$r.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"}};$r.prototype.getPublic=function(e,t){return typeof e=="string"&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub};$r.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv};$r.prototype._importPrivate=function(e,t){this.priv=new EA(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)};$r.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?Zl(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Zl(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)};$r.prototype.derive=function(e){return e.validate()||Zl(e.validate(),"public point not validated"),e.mul(this.priv).getX()};$r.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)};$r.prototype.verify=function(e,t){return this.ec.verify(e,t,this)};$r.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var sh=bs,N0=xi,MA=N0.assert;function Oh(r,e){if(r instanceof Oh)return r;this._importDER(r,e)||(MA(r.r&&r.s,"Signature without r or s"),this.r=new sh(r.r,16),this.s=new sh(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var IA=Oh;function DA(){this.place=0}function fl(r,e){var t=r[e.place++];if(!(t&128))return t;var i=t&15;if(i===0||i>4||r[e.place]===0)return!1;for(var n=0,a=0,f=e.place;a<i;a++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function M1(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e<t;)e++;return e===0?r:r.slice(e)}Oh.prototype._importDER=function(e,t){e=N0.toArray(e,t);var i=new DA;if(e[i.place++]!==48)return!1;var n=fl(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var a=fl(e,i);if(a===!1||e[i.place]&128)return!1;var f=e.slice(i.place,a+i.place);if(i.place+=a,e[i.place++]!==2)return!1;var u=fl(e,i);if(u===!1||e.length!==u+i.place||e[i.place]&128)return!1;var b=e.slice(i.place,u+i.place);if(f[0]===0)if(f[1]&128)f=f.slice(1);else return!1;if(b[0]===0)if(b[1]&128)b=b.slice(1);else return!1;return this.r=new sh(f),this.s=new sh(b),this.recoveryParam=null,!0};function hl(r,e){if(e<128){r.push(e);return}var t=1+(Math.log(e)/Math.LN2>>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}Oh.prototype.toDER=function(e){var t=this.r.toArray(),i=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),i[0]&128&&(i=[0].concat(i)),t=M1(t),i=M1(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];hl(n,t.length),n=n.concat(t),n.push(2),hl(n,i.length);var a=n.concat(i),f=[48];return hl(f,a.length),f=f.concat(a),N0.encode(f,e)};var fa=bs,wb=AA,PA=xi,ul=Dh,CA=Zv,_b=PA.assert,T0=SA,Rh=IA;function ki(r){if(!(this instanceof ki))return new ki(r);typeof r=="string"&&(_b(Object.prototype.hasOwnProperty.call(ul,r),"Unknown curve "+r),r=ul[r]),r instanceof ul.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var OA=ki;ki.prototype.keyPair=function(e){return new T0(this,e)};ki.prototype.keyFromPrivate=function(e,t){return T0.fromPrivate(this,e,t)};ki.prototype.keyFromPublic=function(e,t){return T0.fromPublic(this,e,t)};ki.prototype.genKeyPair=function(e){e||(e={});for(var t=new wb({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||CA(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new fa(2));;){var a=new fa(t.generate(i));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}};ki.prototype._truncateToN=function(e,t){var i=e.byteLength()*8-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e};ki.prototype.sign=function(e,t,i,n){typeof i=="object"&&(n=i,i=null),n||(n={}),t=this.keyFromPrivate(t,i),e=this._truncateToN(new fa(e,16));for(var a=this.n.byteLength(),f=t.getPrivate().toArray("be",a),u=e.toArray("be",a),b=new wb({hash:this.hash,entropy:f,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),v=this.n.sub(new fa(1)),y=0;;y++){var E=n.k?n.k(y):new fa(b.generate(this.n.byteLength()));if(E=this._truncateToN(E,!0),!(E.cmpn(1)<=0||E.cmp(v)>=0)){var C=this.g.mul(E);if(!C.isInfinity()){var P=C.getX(),O=P.umod(this.n);if(O.cmpn(0)!==0){var j=E.invm(this.n).mul(O.mul(t.getPrivate()).iadd(e));if(j=j.umod(this.n),j.cmpn(0)!==0){var W=(C.getY().isOdd()?1:0)|(P.cmp(O)!==0?2:0);return n.canonical&&j.cmp(this.nh)>0&&(j=this.n.sub(j),W^=1),new Rh({r:O,s:j,recoveryParam:W})}}}}}};ki.prototype.verify=function(e,t,i,n){e=this._truncateToN(new fa(e,16)),i=this.keyFromPublic(i,n),t=new Rh(t,"hex");var a=t.r,f=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;var u=f.invm(this.n),b=u.mul(e).umod(this.n),v=u.mul(a).umod(this.n),y;return this.curve._maxwellTrick?(y=this.g.jmulAdd(b,i.getPublic(),v),y.isInfinity()?!1:y.eqXToP(a)):(y=this.g.mulAdd(b,i.getPublic(),v),y.isInfinity()?!1:y.getX().umod(this.n).cmp(a)===0)};ki.prototype.recoverPubKey=function(r,e,t,i){_b((3&t)===t,"The recovery param is more than two bits"),e=new Rh(e,i);var n=this.n,a=new fa(r),f=e.r,u=e.s,b=t&1,v=t>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&v)throw new Error("Unable to find sencond key candinate");v?f=this.curve.pointFromX(f.add(this.curve.n),b):f=this.curve.pointFromX(f,b);var y=e.r.invm(n),E=n.sub(a).mul(y).umod(n),C=u.mul(y).umod(n);return this.g.mulAdd(E,f,C)};ki.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new Rh(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(r,e,n)}catch{continue}if(a.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var _c=xi,Ab=_c.assert,I1=_c.parseBytes,lo=_c.cachedProperty;function mr(r,e){this.eddsa=r,this._secret=I1(e.secret),r.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=I1(e.pub)}mr.fromPublic=function(e,t){return t instanceof mr?t:new mr(e,{pub:t})};mr.fromSecret=function(e,t){return t instanceof mr?t:new mr(e,{secret:t})};mr.prototype.secret=function(){return this._secret};lo(mr,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())});lo(mr,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())});lo(mr,"privBytes",function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n});lo(mr,"priv",function(){return this.eddsa.decodeInt(this.privBytes())});lo(mr,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()});lo(mr,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)});mr.prototype.sign=function(e){return Ab(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)};mr.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)};mr.prototype.getSecret=function(e){return Ab(this._secret,"KeyPair is public only"),_c.encode(this.secret(),e)};mr.prototype.getPublic=function(e){return _c.encode(this.pubBytes(),e)};var RA=mr,NA=bs,Nh=xi,D1=Nh.assert,Th=Nh.cachedProperty,TA=Nh.parseBytes;function ga(r,e){this.eddsa=r,typeof e!="object"&&(e=TA(e)),Array.isArray(e)&&(D1(e.length===r.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,r.encodingLength),S:e.slice(r.encodingLength)}),D1(e.R&&e.S,"Signature without R or S"),r.isPoint(e.R)&&(this._R=e.R),e.S instanceof NA&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}Th(ga,"S",function(){return this.eddsa.decodeInt(this.Sencoded())});Th(ga,"R",function(){return this.eddsa.decodePoint(this.Rencoded())});Th(ga,"Rencoded",function(){return this.eddsa.encodePoint(this.R())});Th(ga,"Sencoded",function(){return this.eddsa.encodeInt(this.S())});ga.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};ga.prototype.toHex=function(){return Nh.encode(this.toBytes(),"hex").toUpperCase()};var BA=ga,qA=Ph,LA=Dh,ro=xi,UA=ro.assert,Eb=ro.parseBytes,xb=RA,P1=BA;function ui(r){if(UA(r==="ed25519","only tested with ed25519 so far"),!(this instanceof ui))return new ui(r);r=LA[r].curve,this.curve=r,this.g=r.g,this.g.precompute(r.n.bitLength()+1),this.pointClass=r.point().constructor,this.encodingLength=Math.ceil(r.n.bitLength()/8),this.hash=qA.sha512}var $A=ui;ui.prototype.sign=function(e,t){e=Eb(e);var i=this.keyFromSecret(t),n=this.hashInt(i.messagePrefix(),e),a=this.g.mul(n),f=this.encodePoint(a),u=this.hashInt(f,i.pubBytes(),e).mul(i.priv()),b=n.add(u).umod(this.curve.n);return this.makeSignature({R:a,S:b,Rencoded:f})};ui.prototype.verify=function(e,t,i){if(e=Eb(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var n=this.keyFromPublic(i),a=this.hashInt(t.Rencoded(),n.pubBytes(),e),f=this.g.mul(t.S()),u=t.R().add(n.pub().mul(a));return u.eq(f)};ui.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return ro.intFromLE(e.digest()).umod(this.curve.n)};ui.prototype.keyFromPublic=function(e){return xb.fromPublic(this,e)};ui.prototype.keyFromSecret=function(e){return xb.fromSecret(this,e)};ui.prototype.makeSignature=function(e){return e instanceof P1?e:new P1(this,e)};ui.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t};ui.prototype.decodePoint=function(e){e=ro.parseBytes(e);var t=e.length-1,i=e.slice(0,t).concat(e[t]&-129),n=(e[t]&128)!==0,a=ro.intFromLE(i);return this.curve.pointFromY(a,n)};ui.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)};ui.prototype.decodeInt=function(e){return ro.intFromLE(e)};ui.prototype.isPoint=function(e){return e instanceof this.pointClass};(function(r){var e=r;e.version=U7.version,e.utils=xi,e.rand=Zv,e.curve=O0,e.curves=Dh,e.ec=OA,e.eddsa=$A})(Qv);var B0={},Sb={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=mt,t=Ei;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function u(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return u.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},u.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},u.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},u.prototype.update=function(b,v){if(v===void 0&&(v=b.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var y=0;if(this._bytesHashed+=v,this._bufferLength>0){for(;this._bufferLength<r.BLOCK_SIZE&&v>0;)this._buffer[this._bufferLength++]=b[y++],v--;this._bufferLength===this.blockSize&&(a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(v>=this.blockSize&&(y=a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,b,y,v),v%=this.blockSize);v>0;)this._buffer[this._bufferLength++]=b[y++],v--;return this},u.prototype.finish=function(b){if(!this._finished){var v=this._bytesHashed,y=this._bufferLength,E=v/536870912|0,C=v<<3,P=v%128<112?128:256;this._buffer[y]=128;for(var O=y+1;O<P-8;O++)this._buffer[O]=0;e.writeUint32BE(E,this._buffer,P-8),e.writeUint32BE(C,this._buffer,P-4),a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,P),this._finished=!0}for(var O=0;O<this.digestLength/8;O++)e.writeUint32BE(this._stateHi[O],b,O*8),e.writeUint32BE(this._stateLo[O],b,O*8+4);return this},u.prototype.digest=function(){var b=new Uint8Array(this.digestLength);return this.finish(b),b},u.prototype.saveState=function(){if(this._finished)throw new Error("SHA256: cannot save finished state");return{stateHi:new Int32Array(this._stateHi),stateLo:new Int32Array(this._stateLo),buffer:this._bufferLength>0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},u.prototype.restoreState=function(b){return this._stateHi.set(b.stateHi),this._stateLo.set(b.stateLo),this._bufferLength=b.bufferLength,b.buffer&&this._buffer.set(b.buffer),this._bytesHashed=b.bytesHashed,this._finished=!1,this},u.prototype.cleanSavedState=function(b){t.wipe(b.stateHi),t.wipe(b.stateLo),b.buffer&&t.wipe(b.buffer),b.bufferLength=0,b.bytesHashed=0},u}();r.SHA512=i;var n=new Int32Array([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 a(u,b,v,y,E,C,P){for(var O=v[0],j=v[1],W=v[2],Q=v[3],H=v[4],Y=v[5],U=v[6],F=v[7],V=y[0],A=y[1],q=y[2],ae=y[3],ue=y[4],B=y[5],m=y[6],c=y[7],h,g,_,M,D,S,d,p;P>=128;){for(var N=0;N<16;N++){var Z=8*N+C;u[N]=e.readUint32BE(E,Z),b[N]=e.readUint32BE(E,Z+4)}for(var N=0;N<80;N++){var se=O,I=j,ee=W,$=Q,k=H,K=Y,w=U,z=F,ne=V,ce=A,he=q,ye=ae,we=ue,Re=B,Qe=m,Pe=c;if(h=F,g=c,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=(H>>>14|ue<<18)^(H>>>18|ue<<14)^(ue>>>9|H<<23),g=(ue>>>14|H<<18)^(ue>>>18|H<<14)^(H>>>9|ue<<23),D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,h=H&Y^~H&U,g=ue&B^~ue&m,D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,h=n[N*2],g=n[N*2+1],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,h=u[N%16],g=b[N%16],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,_=d&65535|p<<16,M=D&65535|S<<16,h=_,g=M,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=(O>>>28|V<<4)^(V>>>2|O<<30)^(V>>>7|O<<25),g=(V>>>28|O<<4)^(O>>>2|V<<30)^(O>>>7|V<<25),D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,h=O&j^O&W^j&W,g=V&A^V&q^A&q,D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,z=d&65535|p<<16,Pe=D&65535|S<<16,h=$,g=ye,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=_,g=M,D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,$=d&65535|p<<16,ye=D&65535|S<<16,j=se,W=I,Q=ee,H=$,Y=k,U=K,F=w,O=z,A=ne,q=ce,ae=he,ue=ye,B=we,m=Re,c=Qe,V=Pe,N%16===15)for(var Z=0;Z<16;Z++)h=u[Z],g=b[Z],D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=u[(Z+9)%16],g=b[(Z+9)%16],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,_=u[(Z+1)%16],M=b[(Z+1)%16],h=(_>>>1|M<<31)^(_>>>8|M<<24)^_>>>7,g=(M>>>1|_<<31)^(M>>>8|_<<24)^(M>>>7|_<<25),D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,_=u[(Z+14)%16],M=b[(Z+14)%16],h=(_>>>19|M<<13)^(M>>>29|_<<3)^_>>>6,g=(M>>>19|_<<13)^(_>>>29|M<<3)^(M>>>6|_<<26),D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,u[Z]=d&65535|p<<16,b[Z]=D&65535|S<<16}h=O,g=V,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[0],g=y[0],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[0]=O=d&65535|p<<16,y[0]=V=D&65535|S<<16,h=j,g=A,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[1],g=y[1],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[1]=j=d&65535|p<<16,y[1]=A=D&65535|S<<16,h=W,g=q,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[2],g=y[2],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[2]=W=d&65535|p<<16,y[2]=q=D&65535|S<<16,h=Q,g=ae,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[3],g=y[3],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[3]=Q=d&65535|p<<16,y[3]=ae=D&65535|S<<16,h=H,g=ue,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[4],g=y[4],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[4]=H=d&65535|p<<16,y[4]=ue=D&65535|S<<16,h=Y,g=B,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[5],g=y[5],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[5]=Y=d&65535|p<<16,y[5]=B=D&65535|S<<16,h=U,g=m,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[6],g=y[6],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[6]=U=d&65535|p<<16,y[6]=m=D&65535|S<<16,h=F,g=c,D=g&65535,S=g>>>16,d=h&65535,p=h>>>16,h=v[7],g=y[7],D+=g&65535,S+=g>>>16,d+=h&65535,p+=h>>>16,S+=D>>>16,d+=S>>>16,p+=d>>>16,v[7]=F=d&65535|p<<16,y[7]=c=D&65535|S<<16,C+=128,P-=128}return C}function f(u){var b=new i;b.update(u);var v=b.digest();return b.clean(),v}r.hash=f})(Sb);(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=ao,t=Sb,i=Ei;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n($){const k=new Float64Array(16);if($)for(let K=0;K<$.length;K++)k[K]=$[K];return k}const a=new Uint8Array(32);a[0]=9;const f=n(),u=n([1]),b=n([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),v=n([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),y=n([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),E=n([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),C=n([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function P($,k){for(let K=0;K<16;K++)$[K]=k[K]|0}function O($){let k=1;for(let K=0;K<16;K++){let w=$[K]+k+65535;k=Math.floor(w/65536),$[K]=w-k*65536}$[0]+=k-1+37*(k-1)}function j($,k,K){const w=~(K-1);for(let z=0;z<16;z++){const ne=w&($[z]^k[z]);$[z]^=ne,k[z]^=ne}}function W($,k){const K=n(),w=n();for(let z=0;z<16;z++)w[z]=k[z];O(w),O(w),O(w);for(let z=0;z<2;z++){K[0]=w[0]-65517;for(let ce=1;ce<15;ce++)K[ce]=w[ce]-65535-(K[ce-1]>>16&1),K[ce-1]&=65535;K[15]=w[15]-32767-(K[14]>>16&1);const ne=K[15]>>16&1;K[14]&=65535,j(w,K,1-ne)}for(let z=0;z<16;z++)$[2*z]=w[z]&255,$[2*z+1]=w[z]>>8}function Q($,k){let K=0;for(let w=0;w<32;w++)K|=$[w]^k[w];return(1&K-1>>>8)-1}function H($,k){const K=new Uint8Array(32),w=new Uint8Array(32);return W(K,$),W(w,k),Q(K,w)}function Y($){const k=new Uint8Array(32);return W(k,$),k[0]&1}function U($,k){for(let K=0;K<16;K++)$[K]=k[2*K]+(k[2*K+1]<<8);$[15]&=32767}function F($,k,K){for(let w=0;w<16;w++)$[w]=k[w]+K[w]}function V($,k,K){for(let w=0;w<16;w++)$[w]=k[w]-K[w]}function A($,k,K){let w,z,ne=0,ce=0,he=0,ye=0,we=0,Re=0,Qe=0,Pe=0,Ne=0,Se=0,me=0,Ce=0,Te=0,ve=0,Oe=0,xe=0,be=0,Ue=0,Ie=0,_e=0,He=0,Ve=0,Ee=0,Ke=0,ut=0,Ge=0,_t=0,lt=0,Je=0,Et=0,Mt=0,Be=K[0],Xe=K[1],tt=K[2],qe=K[3],et=K[4],Ze=K[5],ze=K[6],ft=K[7],rt=K[8],Fe=K[9],it=K[10],st=K[11],Le=K[12],Ye=K[13],ht=K[14],je=K[15];w=k[0],ne+=w*Be,ce+=w*Xe,he+=w*tt,ye+=w*qe,we+=w*et,Re+=w*Ze,Qe+=w*ze,Pe+=w*ft,Ne+=w*rt,Se+=w*Fe,me+=w*it,Ce+=w*st,Te+=w*Le,ve+=w*Ye,Oe+=w*ht,xe+=w*je,w=k[1],ce+=w*Be,he+=w*Xe,ye+=w*tt,we+=w*qe,Re+=w*et,Qe+=w*Ze,Pe+=w*ze,Ne+=w*ft,Se+=w*rt,me+=w*Fe,Ce+=w*it,Te+=w*st,ve+=w*Le,Oe+=w*Ye,xe+=w*ht,be+=w*je,w=k[2],he+=w*Be,ye+=w*Xe,we+=w*tt,Re+=w*qe,Qe+=w*et,Pe+=w*Ze,Ne+=w*ze,Se+=w*ft,me+=w*rt,Ce+=w*Fe,Te+=w*it,ve+=w*st,Oe+=w*Le,xe+=w*Ye,be+=w*ht,Ue+=w*je,w=k[3],ye+=w*Be,we+=w*Xe,Re+=w*tt,Qe+=w*qe,Pe+=w*et,Ne+=w*Ze,Se+=w*ze,me+=w*ft,Ce+=w*rt,Te+=w*Fe,ve+=w*it,Oe+=w*st,xe+=w*Le,be+=w*Ye,Ue+=w*ht,Ie+=w*je,w=k[4],we+=w*Be,Re+=w*Xe,Qe+=w*tt,Pe+=w*qe,Ne+=w*et,Se+=w*Ze,me+=w*ze,Ce+=w*ft,Te+=w*rt,ve+=w*Fe,Oe+=w*it,xe+=w*st,be+=w*Le,Ue+=w*Ye,Ie+=w*ht,_e+=w*je,w=k[5],Re+=w*Be,Qe+=w*Xe,Pe+=w*tt,Ne+=w*qe,Se+=w*et,me+=w*Ze,Ce+=w*ze,Te+=w*ft,ve+=w*rt,Oe+=w*Fe,xe+=w*it,be+=w*st,Ue+=w*Le,Ie+=w*Ye,_e+=w*ht,He+=w*je,w=k[6],Qe+=w*Be,Pe+=w*Xe,Ne+=w*tt,Se+=w*qe,me+=w*et,Ce+=w*Ze,Te+=w*ze,ve+=w*ft,Oe+=w*rt,xe+=w*Fe,be+=w*it,Ue+=w*st,Ie+=w*Le,_e+=w*Ye,He+=w*ht,Ve+=w*je,w=k[7],Pe+=w*Be,Ne+=w*Xe,Se+=w*tt,me+=w*qe,Ce+=w*et,Te+=w*Ze,ve+=w*ze,Oe+=w*ft,xe+=w*rt,be+=w*Fe,Ue+=w*it,Ie+=w*st,_e+=w*Le,He+=w*Ye,Ve+=w*ht,Ee+=w*je,w=k[8],Ne+=w*Be,Se+=w*Xe,me+=w*tt,Ce+=w*qe,Te+=w*et,ve+=w*Ze,Oe+=w*ze,xe+=w*ft,be+=w*rt,Ue+=w*Fe,Ie+=w*it,_e+=w*st,He+=w*Le,Ve+=w*Ye,Ee+=w*ht,Ke+=w*je,w=k[9],Se+=w*Be,me+=w*Xe,Ce+=w*tt,Te+=w*qe,ve+=w*et,Oe+=w*Ze,xe+=w*ze,be+=w*ft,Ue+=w*rt,Ie+=w*Fe,_e+=w*it,He+=w*st,Ve+=w*Le,Ee+=w*Ye,Ke+=w*ht,ut+=w*je,w=k[10],me+=w*Be,Ce+=w*Xe,Te+=w*tt,ve+=w*qe,Oe+=w*et,xe+=w*Ze,be+=w*ze,Ue+=w*ft,Ie+=w*rt,_e+=w*Fe,He+=w*it,Ve+=w*st,Ee+=w*Le,Ke+=w*Ye,ut+=w*ht,Ge+=w*je,w=k[11],Ce+=w*Be,Te+=w*Xe,ve+=w*tt,Oe+=w*qe,xe+=w*et,be+=w*Ze,Ue+=w*ze,Ie+=w*ft,_e+=w*rt,He+=w*Fe,Ve+=w*it,Ee+=w*st,Ke+=w*Le,ut+=w*Ye,Ge+=w*ht,_t+=w*je,w=k[12],Te+=w*Be,ve+=w*Xe,Oe+=w*tt,xe+=w*qe,be+=w*et,Ue+=w*Ze,Ie+=w*ze,_e+=w*ft,He+=w*rt,Ve+=w*Fe,Ee+=w*it,Ke+=w*st,ut+=w*Le,Ge+=w*Ye,_t+=w*ht,lt+=w*je,w=k[13],ve+=w*Be,Oe+=w*Xe,xe+=w*tt,be+=w*qe,Ue+=w*et,Ie+=w*Ze,_e+=w*ze,He+=w*ft,Ve+=w*rt,Ee+=w*Fe,Ke+=w*it,ut+=w*st,Ge+=w*Le,_t+=w*Ye,lt+=w*ht,Je+=w*je,w=k[14],Oe+=w*Be,xe+=w*Xe,be+=w*tt,Ue+=w*qe,Ie+=w*et,_e+=w*Ze,He+=w*ze,Ve+=w*ft,Ee+=w*rt,Ke+=w*Fe,ut+=w*it,Ge+=w*st,_t+=w*Le,lt+=w*Ye,Je+=w*ht,Et+=w*je,w=k[15],xe+=w*Be,be+=w*Xe,Ue+=w*tt,Ie+=w*qe,_e+=w*et,He+=w*Ze,Ve+=w*ze,Ee+=w*ft,Ke+=w*rt,ut+=w*Fe,Ge+=w*it,_t+=w*st,lt+=w*Le,Je+=w*Ye,Et+=w*ht,Mt+=w*je,ne+=38*be,ce+=38*Ue,he+=38*Ie,ye+=38*_e,we+=38*He,Re+=38*Ve,Qe+=38*Ee,Pe+=38*Ke,Ne+=38*ut,Se+=38*Ge,me+=38*_t,Ce+=38*lt,Te+=38*Je,ve+=38*Et,Oe+=38*Mt,z=1,w=ne+z+65535,z=Math.floor(w/65536),ne=w-z*65536,w=ce+z+65535,z=Math.floor(w/65536),ce=w-z*65536,w=he+z+65535,z=Math.floor(w/65536),he=w-z*65536,w=ye+z+65535,z=Math.floor(w/65536),ye=w-z*65536,w=we+z+65535,z=Math.floor(w/65536),we=w-z*65536,w=Re+z+65535,z=Math.floor(w/65536),Re=w-z*65536,w=Qe+z+65535,z=Math.floor(w/65536),Qe=w-z*65536,w=Pe+z+65535,z=Math.floor(w/65536),Pe=w-z*65536,w=Ne+z+65535,z=Math.floor(w/65536),Ne=w-z*65536,w=Se+z+65535,z=Math.floor(w/65536),Se=w-z*65536,w=me+z+65535,z=Math.floor(w/65536),me=w-z*65536,w=Ce+z+65535,z=Math.floor(w/65536),Ce=w-z*65536,w=Te+z+65535,z=Math.floor(w/65536),Te=w-z*65536,w=ve+z+65535,z=Math.floor(w/65536),ve=w-z*65536,w=Oe+z+65535,z=Math.floor(w/65536),Oe=w-z*65536,w=xe+z+65535,z=Math.floor(w/65536),xe=w-z*65536,ne+=z-1+37*(z-1),z=1,w=ne+z+65535,z=Math.floor(w/65536),ne=w-z*65536,w=ce+z+65535,z=Math.floor(w/65536),ce=w-z*65536,w=he+z+65535,z=Math.floor(w/65536),he=w-z*65536,w=ye+z+65535,z=Math.floor(w/65536),ye=w-z*65536,w=we+z+65535,z=Math.floor(w/65536),we=w-z*65536,w=Re+z+65535,z=Math.floor(w/65536),Re=w-z*65536,w=Qe+z+65535,z=Math.floor(w/65536),Qe=w-z*65536,w=Pe+z+65535,z=Math.floor(w/65536),Pe=w-z*65536,w=Ne+z+65535,z=Math.floor(w/65536),Ne=w-z*65536,w=Se+z+65535,z=Math.floor(w/65536),Se=w-z*65536,w=me+z+65535,z=Math.floor(w/65536),me=w-z*65536,w=Ce+z+65535,z=Math.floor(w/65536),Ce=w-z*65536,w=Te+z+65535,z=Math.floor(w/65536),Te=w-z*65536,w=ve+z+65535,z=Math.floor(w/65536),ve=w-z*65536,w=Oe+z+65535,z=Math.floor(w/65536),Oe=w-z*65536,w=xe+z+65535,z=Math.floor(w/65536),xe=w-z*65536,ne+=z-1+37*(z-1),$[0]=ne,$[1]=ce,$[2]=he,$[3]=ye,$[4]=we,$[5]=Re,$[6]=Qe,$[7]=Pe,$[8]=Ne,$[9]=Se,$[10]=me,$[11]=Ce,$[12]=Te,$[13]=ve,$[14]=Oe,$[15]=xe}function q($,k){A($,k,k)}function ae($,k){const K=n();let w;for(w=0;w<16;w++)K[w]=k[w];for(w=253;w>=0;w--)q(K,K),w!==2&&w!==4&&A(K,K,k);for(w=0;w<16;w++)$[w]=K[w]}function ue($,k){const K=n();let w;for(w=0;w<16;w++)K[w]=k[w];for(w=250;w>=0;w--)q(K,K),w!==1&&A(K,K,k);for(w=0;w<16;w++)$[w]=K[w]}function B($,k){const K=n(),w=n(),z=n(),ne=n(),ce=n(),he=n(),ye=n(),we=n(),Re=n();V(K,$[1],$[0]),V(Re,k[1],k[0]),A(K,K,Re),F(w,$[0],$[1]),F(Re,k[0],k[1]),A(w,w,Re),A(z,$[3],k[3]),A(z,z,v),A(ne,$[2],k[2]),F(ne,ne,ne),V(ce,w,K),V(he,ne,z),F(ye,ne,z),F(we,w,K),A($[0],ce,he),A($[1],we,ye),A($[2],ye,he),A($[3],ce,we)}function m($,k,K){for(let w=0;w<4;w++)j($[w],k[w],K)}function c($,k){const K=n(),w=n(),z=n();ae(z,k[2]),A(K,k[0],z),A(w,k[1],z),W($,w),$[31]^=Y(K)<<7}function h($,k,K){P($[0],f),P($[1],u),P($[2],u),P($[3],f);for(let w=255;w>=0;--w){const z=K[w/8|0]>>(w&7)&1;m($,k,z),B(k,$),B($,$),m($,k,z)}}function g($,k){const K=[n(),n(),n(),n()];P(K[0],y),P(K[1],E),P(K[2],u),A(K[3],y,E),h($,K,k)}function _($){if($.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const k=(0,t.hash)($);k[0]&=248,k[31]&=127,k[31]|=64;const K=new Uint8Array(32),w=[n(),n(),n(),n()];g(w,k),c(K,w);const z=new Uint8Array(64);return z.set($),z.set(K,32),{publicKey:K,secretKey:z}}r.generateKeyPairFromSeed=_;function M($){const k=(0,e.randomBytes)(32,$),K=_(k);return(0,i.wipe)(k),K}r.generateKeyPair=M;function D($){if($.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array($.subarray(32))}r.extractPublicKeyFromSecretKey=D;const S=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function d($,k){let K,w,z,ne;for(w=63;w>=32;--w){for(K=0,z=w-32,ne=w-12;z<ne;++z)k[z]+=K-16*k[w]*S[z-(w-32)],K=Math.floor((k[z]+128)/256),k[z]-=K*256;k[z]+=K,k[w]=0}for(K=0,z=0;z<32;z++)k[z]+=K-(k[31]>>4)*S[z],K=k[z]>>8,k[z]&=255;for(z=0;z<32;z++)k[z]-=K*S[z];for(w=0;w<32;w++)k[w+1]+=k[w]>>8,$[w]=k[w]&255}function p($){const k=new Float64Array(64);for(let K=0;K<64;K++)k[K]=$[K];for(let K=0;K<64;K++)$[K]=0;d($,k)}function N($,k){const K=new Float64Array(64),w=[n(),n(),n(),n()],z=(0,t.hash)($.subarray(0,32));z[0]&=248,z[31]&=127,z[31]|=64;const ne=new Uint8Array(64);ne.set(z.subarray(32),32);const ce=new t.SHA512;ce.update(ne.subarray(32)),ce.update(k);const he=ce.digest();ce.clean(),p(he),g(w,he),c(ne,w),ce.reset(),ce.update(ne.subarray(0,32)),ce.update($.subarray(32)),ce.update(k);const ye=ce.digest();p(ye);for(let we=0;we<32;we++)K[we]=he[we];for(let we=0;we<32;we++)for(let Re=0;Re<32;Re++)K[we+Re]+=ye[we]*z[Re];return d(ne.subarray(32),K),ne}r.sign=N;function Z($,k){const K=n(),w=n(),z=n(),ne=n(),ce=n(),he=n(),ye=n();return P($[2],u),U($[1],k),q(z,$[1]),A(ne,z,b),V(z,z,$[2]),F(ne,$[2],ne),q(ce,ne),q(he,ce),A(ye,he,ce),A(K,ye,z),A(K,K,ne),ue(K,K),A(K,K,z),A(K,K,ne),A(K,K,ne),A($[0],K,ne),q(w,$[0]),A(w,w,ne),H(w,z)&&A($[0],$[0],C),q(w,$[0]),A(w,w,ne),H(w,z)?-1:(Y($[0])===k[31]>>7&&V($[0],f,$[0]),A($[3],$[0],$[1]),0)}function se($,k,K){const w=new Uint8Array(32),z=[n(),n(),n(),n()],ne=[n(),n(),n(),n()];if(K.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(Z(ne,$))return!1;const ce=new t.SHA512;ce.update(K.subarray(0,32)),ce.update($),ce.update(k);const he=ce.digest();return p(he),h(z,ne,he),g(ne,K.subarray(32)),B(z,ne),c(w,z),!Q(K,w)}r.verify=se;function I($){let k=[n(),n(),n(),n()];if(Z(k,$))throw new Error("Ed25519: invalid public key");let K=n(),w=n(),z=k[1];F(K,u,z),V(w,u,z),ae(w,w),A(K,K,w);let ne=new Uint8Array(32);return W(ne,K),ne}r.convertPublicKeyToX25519=I;function ee($){const k=(0,t.hash)($.subarray(0,32));k[0]&=248,k[31]&=127,k[31]|=64;const K=new Uint8Array(k.subarray(0,32));return(0,i.wipe)(k),K}r.convertSecretKeyToX25519=ee})(B0);const zA="EdDSA",FA="JWT",ah=".",Bh="base64url",Mb="utf8",Ib="utf8",jA=":",kA="did",HA="key",C1="base58btc",KA="z",VA="K36",GA=32,WA=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),JA=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function po(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return JA(r)}catch{return r}}function vs(r){return typeof r=="string"?r:WA(r)||""}function O1(r){return po(zr(Sr(r,Bh),Mb))}function oh(r){return zr(Sr(vs(r),Mb),Bh)}function Db(r){const e=Sr(VA,C1),t=KA+zr(Yl([e,r]),C1);return[kA,HA,t].join(jA)}function YA(r){return zr(r,Bh)}function QA(r){return Sr(r,Bh)}function XA(r){return Sr([oh(r.header),oh(r.payload)].join(ah),Ib)}function ZA(r){return[oh(r.header),oh(r.payload),YA(r.signature)].join(ah)}function e0(r){const e=r.split(ah),t=O1(e[0]),i=O1(e[1]),n=QA(e[2]),a=Sr(e.slice(0,2).join(ah),Ib);return{header:t,payload:i,signature:n,data:a}}function R1(r=ao.randomBytes(GA)){return B0.generateKeyPairFromSeed(r)}async function eE(r,e,t,i,n=Me.fromMiliseconds(Date.now())){const a={alg:zA,typ:FA},f=Db(i.publicKey),u=n+t,b={iss:f,sub:r,aud:e,iat:n,exp:u},v=XA({header:a,payload:b}),y=B0.sign(i.secretKey,v);return ZA({header:a,payload:b,signature:y})}const tE={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"}},rE=":";function ic(r){const[e,t]=r.split(rE);return{namespace:e,reference:t}}function N1(r,e=[]){const t=[];return Object.keys(r).forEach(i=>{if(e.length&&!e.includes(i))return;const n=r[i];t.push(...n.accounts)}),t}function Pb(r,e){return r.includes(":")?[r]:e.chains||[]}var iE=Object.defineProperty,T1=Object.getOwnPropertySymbols,nE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,B1=(r,e,t)=>e in r?iE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,q1=(r,e)=>{for(var t in e||(e={}))nE.call(e,t)&&B1(r,t,e[t]);if(T1)for(var t of T1(e))sE.call(e,t)&&B1(r,t,e[t]);return r};const aE="ReactNative",wi={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},oE="js";function hc(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function Ac(){return!A0()&&!!E0()&&navigator.product===aE}function Ec(){return!hc()&&!!E0()&&!!A0()}function xc(){return Ac()?wi.reactNative:hc()?wi.node:Ec()?wi.browser:wi.unknown}function cE(){var r;try{return Ac()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(r=global.Application)==null?void 0:r.applicationId:void 0}catch{return}}function fE(r,e){let t=fc.parse(r);return t=q1(q1({},t),e),r=fc.stringify(t),r}function hE(){return Nv()||{name:"",description:"",url:"",icons:[""]}}function uE(){if(xc()===wi.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:t,Version:i}=global.Platform;return[t,i].join("-")}const r=H8();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function lE(){var r;const e=xc();return e===wi.browser?[e,((r=Rv())==null?void 0:r.host)||"unknown"].join(":"):e}function dE(r,e,t){const i=uE(),n=lE();return[[r,e].join("-"),[oE,t].join("-"),i,n].join("/")}function pE({protocol:r,version:e,relayUrl:t,sdkVersion:i,auth:n,projectId:a,useOnCloseEvent:f,bundleId:u}){const b=t.split("?"),v=dE(r,e,i),y={auth:n,ua:v,projectId:a,useOnCloseEvent:f||void 0,origin:u||void 0},E=fE(b[1]||"",y);return b[0]+"?"+E}function aa(r,e){return r.filter(t=>e.includes(t)).length===r.length}function Cb(r){return Object.fromEntries(r.entries())}function Ob(r){return new Map(Object.entries(r))}function sa(r=Me.FIVE_MINUTES,e){const t=Me.toMiliseconds(r||Me.FIVE_MINUTES);let i,n,a;return{resolve:f=>{a&&i&&(clearTimeout(a),i(f))},reject:f=>{a&&n&&(clearTimeout(a),n(f))},done:()=>new Promise((f,u)=>{a=setTimeout(()=>{u(new Error(e))},t),i=f,n=u})}}function Ja(r,e,t){return new Promise(async(i,n)=>{const a=setTimeout(()=>n(new Error(t)),e);try{const f=await r;i(f)}catch(f){n(f)}clearTimeout(a)})}function Rb(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function gE(r){return Rb("topic",r)}function vE(r){return Rb("id",r)}function Nb(r){const[e,t]=r.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function xr(r,e){return Me.fromMiliseconds(Date.now()+Me.toMiliseconds(r))}function Cs(r){return Date.now()>=Me.toMiliseconds(r)}function St(r,e){return`${r}${e?`:${e}`:""}`}function Vf(r=[],e=[]){return[...new Set([...r,...e])]}async function bE({id:r,topic:e,wcDeepLink:t}){try{if(!t)return;const i=typeof t=="string"?JSON.parse(t):t;let n=i==null?void 0:i.href;if(typeof n!="string")return;n.endsWith("/")&&(n=n.slice(0,-1));const a=`${n}/wc?requestId=${r}&sessionTopic=${e}`,f=xc();f===wi.browser?a.startsWith("https://")||a.startsWith("http://")?window.open(a,"_blank","noreferrer noopener"):window.open(a,"_self","noreferrer noopener"):f===wi.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(a)}catch(i){console.error(i)}}async function mE(r,e){try{return await r.getItem(e)||(Ec()?localStorage.getItem(e):void 0)}catch(t){console.error(t)}}function yE(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})}var Tb=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wE(r){var e=r.default;if(typeof e=="function"){var t=function(){return e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(i){var n=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return r[i]}})}),t}var Bb={exports:{}};/**
* [js-sha3]{@link https://github.com/emn178/js-sha3}
*
* @version 0.8.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2015-2018
* @license MIT
*/(function(r){(function(){var e="input is invalid type",t="finalize already called",i=typeof window=="object",n=i?window:{};n.JS_SHA3_NO_WINDOW&&(i=!1);var a=!i&&typeof self=="object",f=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;f?n=Tb:a&&(n=self);var u=!n.JS_SHA3_NO_COMMON_JS&&!0&&r.exports,b=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",v="0123456789abcdef".split(""),y=[31,7936,2031616,520093696],E=[4,1024,262144,67108864],C=[1,256,65536,16777216],P=[6,1536,393216,100663296],O=[0,8,16,24],j=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],W=[224,256,384,512],Q=[128,256],H=["hex","buffer","arrayBuffer","array","digest"],Y={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(I){return Object.prototype.toString.call(I)==="[object Array]"}),b&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(I){return typeof I=="object"&&I.buffer&&I.buffer.constructor===ArrayBuffer});for(var U=function(I,ee,$){return function(k){return new N(I,ee,I).update(k)[$]()}},F=function(I,ee,$){return function(k,K){return new N(I,ee,K).update(k)[$]()}},V=function(I,ee,$){return function(k,K,w,z){return h["cshake"+I].update(k,K,w,z)[$]()}},A=function(I,ee,$){return function(k,K,w,z){return h["kmac"+I].update(k,K,w,z)[$]()}},q=function(I,ee,$,k){for(var K=0;K<H.length;++K){var w=H[K];I[w]=ee($,k,w)}return I},ae=function(I,ee){var $=U(I,ee,"hex");return $.create=function(){return new N(I,ee,I)},$.update=function(k){return $.create().update(k)},q($,U,I,ee)},ue=function(I,ee){var $=F(I,ee,"hex");return $.create=function(k){return new N(I,ee,k)},$.update=function(k,K){return $.create(K).update(k)},q($,F,I,ee)},B=function(I,ee){var $=Y[I],k=V(I,ee,"hex");return k.create=function(K,w,z){return!w&&!z?h["shake"+I].create(K):new N(I,ee,K).bytepad([w,z],$)},k.update=function(K,w,z,ne){return k.create(w,z,ne).update(K)},q(k,V,I,ee)},m=function(I,ee){var $=Y[I],k=A(I,ee,"hex");return k.create=function(K,w,z){return new Z(I,ee,w).bytepad(["KMAC",z],$).bytepad([K],$)},k.update=function(K,w,z,ne){return k.create(K,z,ne).update(w)},q(k,A,I,ee)},c=[{name:"keccak",padding:C,bits:W,createMethod:ae},{name:"sha3",padding:P,bits:W,createMethod:ae},{name:"shake",padding:y,bits:Q,createMethod:ue},{name:"cshake",padding:E,bits:Q,createMethod:B},{name:"kmac",padding:E,bits:Q,createMethod:m}],h={},g=[],_=0;_<c.length;++_)for(var M=c[_],D=M.bits,S=0;S<D.length;++S){var d=M.name+"_"+D[S];if(g.push(d),h[d]=M.createMethod(D[S],M.padding),M.name!=="sha3"){var p=M.name+D[S];g.push(p),h[p]=h[d]}}function N(I,ee,$){this.blocks=[],this.s=[],this.padding=ee,this.outputBits=$,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(I<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=$>>5,this.extraBytes=($&31)>>3;for(var k=0;k<50;++k)this.s[k]=0}N.prototype.update=function(I){if(this.finalized)throw new Error(t);var ee,$=typeof I;if($!=="string"){if($==="object"){if(I===null)throw new Error(e);if(b&&I.constructor===ArrayBuffer)I=new Uint8Array(I);else if(!Array.isArray(I)&&(!b||!ArrayBuffer.isView(I)))throw new Error(e)}else throw new Error(e);ee=!0}for(var k=this.blocks,K=this.byteCount,w=I.length,z=this.blockCount,ne=0,ce=this.s,he,ye;ne<w;){if(this.reset)for(this.reset=!1,k[0]=this.block,he=1;he<z+1;++he)k[he]=0;if(ee)for(he=this.start;ne<w&&he<K;++ne)k[he>>2]|=I[ne]<<O[he++&3];else for(he=this.start;ne<w&&he<K;++ne)ye=I.charCodeAt(ne),ye<128?k[he>>2]|=ye<<O[he++&3]:ye<2048?(k[he>>2]|=(192|ye>>6)<<O[he++&3],k[he>>2]|=(128|ye&63)<<O[he++&3]):ye<55296||ye>=57344?(k[he>>2]|=(224|ye>>12)<<O[he++&3],k[he>>2]|=(128|ye>>6&63)<<O[he++&3],k[he>>2]|=(128|ye&63)<<O[he++&3]):(ye=65536+((ye&1023)<<10|I.charCodeAt(++ne)&1023),k[he>>2]|=(240|ye>>18)<<O[he++&3],k[he>>2]|=(128|ye>>12&63)<<O[he++&3],k[he>>2]|=(128|ye>>6&63)<<O[he++&3],k[he>>2]|=(128|ye&63)<<O[he++&3]);if(this.lastByteIndex=he,he>=K){for(this.start=he-K,this.block=k[z],he=0;he<z;++he)ce[he]^=k[he];se(ce),this.reset=!0}else this.start=he}return this},N.prototype.encode=function(I,ee){var $=I&255,k=1,K=[$];for(I=I>>8,$=I&255;$>0;)K.unshift($),I=I>>8,$=I&255,++k;return ee?K.push(k):K.unshift(k),this.update(K),K.length},N.prototype.encodeString=function(I){var ee,$=typeof I;if($!=="string"){if($==="object"){if(I===null)throw new Error(e);if(b&&I.constructor===ArrayBuffer)I=new Uint8Array(I);else if(!Array.isArray(I)&&(!b||!ArrayBuffer.isView(I)))throw new Error(e)}else throw new Error(e);ee=!0}var k=0,K=I.length;if(ee)k=K;else for(var w=0;w<I.length;++w){var z=I.charCodeAt(w);z<128?k+=1:z<2048?k+=2:z<55296||z>=57344?k+=3:(z=65536+((z&1023)<<10|I.charCodeAt(++w)&1023),k+=4)}return k+=this.encode(k*8),this.update(I),k},N.prototype.bytepad=function(I,ee){for(var $=this.encode(ee),k=0;k<I.length;++k)$+=this.encodeString(I[k]);var K=ee-$%ee,w=[];return w.length=K,this.update(w),this},N.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var I=this.blocks,ee=this.lastByteIndex,$=this.blockCount,k=this.s;if(I[ee>>2]|=this.padding[ee&3],this.lastByteIndex===this.byteCount)for(I[0]=I[$],ee=1;ee<$+1;++ee)I[ee]=0;for(I[$-1]|=2147483648,ee=0;ee<$;++ee)k[ee]^=I[ee];se(k)}},N.prototype.toString=N.prototype.hex=function(){this.finalize();for(var I=this.blockCount,ee=this.s,$=this.outputBlocks,k=this.extraBytes,K=0,w=0,z="",ne;w<$;){for(K=0;K<I&&w<$;++K,++w)ne=ee[K],z+=v[ne>>4&15]+v[ne&15]+v[ne>>12&15]+v[ne>>8&15]+v[ne>>20&15]+v[ne>>16&15]+v[ne>>28&15]+v[ne>>24&15];w%I===0&&(se(ee),K=0)}return k&&(ne=ee[K],z+=v[ne>>4&15]+v[ne&15],k>1&&(z+=v[ne>>12&15]+v[ne>>8&15]),k>2&&(z+=v[ne>>20&15]+v[ne>>16&15])),z},N.prototype.arrayBuffer=function(){this.finalize();var I=this.blockCount,ee=this.s,$=this.outputBlocks,k=this.extraBytes,K=0,w=0,z=this.outputBits>>3,ne;k?ne=new ArrayBuffer($+1<<2):ne=new ArrayBuffer(z);for(var ce=new Uint32Array(ne);w<$;){for(K=0;K<I&&w<$;++K,++w)ce[w]=ee[K];w%I===0&&se(ee)}return k&&(ce[K]=ee[K],ne=ne.slice(0,z)),ne},N.prototype.buffer=N.prototype.arrayBuffer,N.prototype.digest=N.prototype.array=function(){this.finalize();for(var I=this.blockCount,ee=this.s,$=this.outputBlocks,k=this.extraBytes,K=0,w=0,z=[],ne,ce;w<$;){for(K=0;K<I&&w<$;++K,++w)ne=w<<2,ce=ee[K],z[ne]=ce&255,z[ne+1]=ce>>8&255,z[ne+2]=ce>>16&255,z[ne+3]=ce>>24&255;w%I===0&&se(ee)}return k&&(ne=w<<2,ce=ee[K],z[ne]=ce&255,k>1&&(z[ne+1]=ce>>8&255),k>2&&(z[ne+2]=ce>>16&255)),z};function Z(I,ee,$){N.call(this,I,ee,$)}Z.prototype=new N,Z.prototype.finalize=function(){return this.encode(this.outputBits,!0),N.prototype.finalize.call(this)};var se=function(I){var ee,$,k,K,w,z,ne,ce,he,ye,we,Re,Qe,Pe,Ne,Se,me,Ce,Te,ve,Oe,xe,be,Ue,Ie,_e,He,Ve,Ee,Ke,ut,Ge,_t,lt,Je,Et,Mt,Be,Xe,tt,qe,et,Ze,ze,ft,rt,Fe,it,st,Le,Ye,ht,je,Nt,Tt,at,bt,Cr,Or,Rr,Nr,Tr,Xt;for(k=0;k<48;k+=2)K=I[0]^I[10]^I[20]^I[30]^I[40],w=I[1]^I[11]^I[21]^I[31]^I[41],z=I[2]^I[12]^I[22]^I[32]^I[42],ne=I[3]^I[13]^I[23]^I[33]^I[43],ce=I[4]^I[14]^I[24]^I[34]^I[44],he=I[5]^I[15]^I[25]^I[35]^I[45],ye=I[6]^I[16]^I[26]^I[36]^I[46],we=I[7]^I[17]^I[27]^I[37]^I[47],Re=I[8]^I[18]^I[28]^I[38]^I[48],Qe=I[9]^I[19]^I[29]^I[39]^I[49],ee=Re^(z<<1|ne>>>31),$=Qe^(ne<<1|z>>>31),I[0]^=ee,I[1]^=$,I[10]^=ee,I[11]^=$,I[20]^=ee,I[21]^=$,I[30]^=ee,I[31]^=$,I[40]^=ee,I[41]^=$,ee=K^(ce<<1|he>>>31),$=w^(he<<1|ce>>>31),I[2]^=ee,I[3]^=$,I[12]^=ee,I[13]^=$,I[22]^=ee,I[23]^=$,I[32]^=ee,I[33]^=$,I[42]^=ee,I[43]^=$,ee=z^(ye<<1|we>>>31),$=ne^(we<<1|ye>>>31),I[4]^=ee,I[5]^=$,I[14]^=ee,I[15]^=$,I[24]^=ee,I[25]^=$,I[34]^=ee,I[35]^=$,I[44]^=ee,I[45]^=$,ee=ce^(Re<<1|Qe>>>31),$=he^(Qe<<1|Re>>>31),I[6]^=ee,I[7]^=$,I[16]^=ee,I[17]^=$,I[26]^=ee,I[27]^=$,I[36]^=ee,I[37]^=$,I[46]^=ee,I[47]^=$,ee=ye^(K<<1|w>>>31),$=we^(w<<1|K>>>31),I[8]^=ee,I[9]^=$,I[18]^=ee,I[19]^=$,I[28]^=ee,I[29]^=$,I[38]^=ee,I[39]^=$,I[48]^=ee,I[49]^=$,Pe=I[0],Ne=I[1],rt=I[11]<<4|I[10]>>>28,Fe=I[10]<<4|I[11]>>>28,Ve=I[20]<<3|I[21]>>>29,Ee=I[21]<<3|I[20]>>>29,Rr=I[31]<<9|I[30]>>>23,Nr=I[30]<<9|I[31]>>>23,et=I[40]<<18|I[41]>>>14,Ze=I[41]<<18|I[40]>>>14,lt=I[2]<<1|I[3]>>>31,Je=I[3]<<1|I[2]>>>31,Se=I[13]<<12|I[12]>>>20,me=I[12]<<12|I[13]>>>20,it=I[22]<<10|I[23]>>>22,st=I[23]<<10|I[22]>>>22,Ke=I[33]<<13|I[32]>>>19,ut=I[32]<<13|I[33]>>>19,Tr=I[42]<<2|I[43]>>>30,Xt=I[43]<<2|I[42]>>>30,Nt=I[5]<<30|I[4]>>>2,Tt=I[4]<<30|I[5]>>>2,Et=I[14]<<6|I[15]>>>26,Mt=I[15]<<6|I[14]>>>26,Ce=I[25]<<11|I[24]>>>21,Te=I[24]<<11|I[25]>>>21,Le=I[34]<<15|I[35]>>>17,Ye=I[35]<<15|I[34]>>>17,Ge=I[45]<<29|I[44]>>>3,_t=I[44]<<29|I[45]>>>3,Ue=I[6]<<28|I[7]>>>4,Ie=I[7]<<28|I[6]>>>4,at=I[17]<<23|I[16]>>>9,bt=I[16]<<23|I[17]>>>9,Be=I[26]<<25|I[27]>>>7,Xe=I[27]<<25|I[26]>>>7,ve=I[36]<<21|I[37]>>>11,Oe=I[37]<<21|I[36]>>>11,ht=I[47]<<24|I[46]>>>8,je=I[46]<<24|I[47]>>>8,ze=I[8]<<27|I[9]>>>5,ft=I[9]<<27|I[8]>>>5,_e=I[18]<<20|I[19]>>>12,He=I[19]<<20|I[18]>>>12,Cr=I[29]<<7|I[28]>>>25,Or=I[28]<<7|I[29]>>>25,tt=I[38]<<8|I[39]>>>24,qe=I[39]<<8|I[38]>>>24,xe=I[48]<<14|I[49]>>>18,be=I[49]<<14|I[48]>>>18,I[0]=Pe^~Se&Ce,I[1]=Ne^~me&Te,I[10]=Ue^~_e&Ve,I[11]=Ie^~He&Ee,I[20]=lt^~Et&Be,I[21]=Je^~Mt&Xe,I[30]=ze^~rt&it,I[31]=ft^~Fe&st,I[40]=Nt^~at&Cr,I[41]=Tt^~bt&Or,I[2]=Se^~Ce&ve,I[3]=me^~Te&Oe,I[12]=_e^~Ve&Ke,I[13]=He^~Ee&ut,I[22]=Et^~Be&tt,I[23]=Mt^~Xe&qe,I[32]=rt^~it&Le,I[33]=Fe^~st&Ye,I[42]=at^~Cr&Rr,I[43]=bt^~Or&Nr,I[4]=Ce^~ve&xe,I[5]=Te^~Oe&be,I[14]=Ve^~Ke&Ge,I[15]=Ee^~ut&_t,I[24]=Be^~tt&et,I[25]=Xe^~qe&Ze,I[34]=it^~Le&ht,I[35]=st^~Ye&je,I[44]=Cr^~Rr&Tr,I[45]=Or^~Nr&Xt,I[6]=ve^~xe&Pe,I[7]=Oe^~be&Ne,I[16]=Ke^~Ge&Ue,I[17]=ut^~_t&Ie,I[26]=tt^~et&lt,I[27]=qe^~Ze&Je,I[36]=Le^~ht&ze,I[37]=Ye^~je&ft,I[46]=Rr^~Tr&Nt,I[47]=Nr^~Xt&Tt,I[8]=xe^~Pe&Se,I[9]=be^~Ne&me,I[18]=Ge^~Ue&_e,I[19]=_t^~Ie&He,I[28]=et^~lt&Et,I[29]=Ze^~Je&Mt,I[38]=ht^~ze&rt,I[39]=je^~ft&Fe,I[48]=Tr^~Nt&at,I[49]=Xt^~Tt&bt,I[0]^=j[k],I[1]^=j[k+1]};if(u)r.exports=h;else for(_=0;_<g.length;++_)n[g[_]]=h[g[_]]})()})(Bb);var _E=Bb.exports;const AE="logger/5.7.0";let L1=!1,U1=!1;const Gf={debug:1,default:2,info:2,warning:3,error:4,off:5};let $1=Gf.default,ll=null;function EE(){try{const r=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{r.push(e)}}),r.length)throw new Error("missing "+r.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(r){return r.message}return null}const z1=EE();var t0;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(t0||(t0={}));var hn;(function(r){r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",r.NETWORK_ERROR="NETWORK_ERROR",r.SERVER_ERROR="SERVER_ERROR",r.TIMEOUT="TIMEOUT",r.BUFFER_OVERRUN="BUFFER_OVERRUN",r.NUMERIC_FAULT="NUMERIC_FAULT",r.MISSING_NEW="MISSING_NEW",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",r.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",r.TRANSACTION_REPLACED="TRANSACTION_REPLACED",r.ACTION_REJECTED="ACTION_REJECTED"})(hn||(hn={}));const F1="0123456789abcdef";let Mr=class dr{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const i=e.toLowerCase();Gf[i]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!($1>Gf[i])&&console.log.apply(console,t)}debug(...e){this._log(dr.levels.DEBUG,e)}info(...e){this._log(dr.levels.INFO,e)}warn(...e){this._log(dr.levels.WARNING,e)}makeError(e,t,i){if(U1)return this.makeError("censored error",t,{});t||(t=dr.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(b=>{const v=i[b];try{if(v instanceof Uint8Array){let y="";for(let E=0;E<v.length;E++)y+=F1[v[E]>>4],y+=F1[v[E]&15];n.push(b+"=Uint8Array(0x"+y+")")}else n.push(b+"="+JSON.stringify(v))}catch{n.push(b+"="+JSON.stringify(i[b].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);const a=e;let f="";switch(t){case hn.NUMERIC_FAULT:{f="NUMERIC_FAULT";const b=e;switch(b){case"overflow":case"underflow":case"division-by-zero":f+="-"+b;break;case"negative-power":case"negative-width":f+="-unsupported";break;case"unbound-bitwise-result":f+="-unbound-result";break}break}case hn.CALL_EXCEPTION:case hn.INSUFFICIENT_FUNDS:case hn.MISSING_NEW:case hn.NONCE_EXPIRED:case hn.REPLACEMENT_UNDERPRICED:case hn.TRANSACTION_REPLACED:case hn.UNPREDICTABLE_GAS_LIMIT:f=t;break}f&&(e+=" [ See: https://links.ethers.org/v5-errors-"+f+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const u=new Error(e);return u.reason=a,u.code=t,Object.keys(i).forEach(function(b){u[b]=i[b]}),u}throwError(e,t,i){throw this.makeError(e,t,i)}throwArgumentError(e,t,i){return this.throwError(e,dr.errors.INVALID_ARGUMENT,{argument:t,value:i})}assert(e,t,i,n){e||this.throwError(t,i,n)}assertArgument(e,t,i,n){e||this.throwArgumentError(t,i,n)}checkNormalize(e){z1&&this.throwError("platform missing String.prototype.normalize",dr.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:z1})}checkSafeUint53(e,t){typeof e=="number"&&(t==null&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,dr.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,dr.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,i){i?i=": "+i:i="",e<t&&this.throwError("missing argument"+i,dr.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+i,dr.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||e==null)&&this.throwError("missing new",dr.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",dr.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",dr.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return ll||(ll=new dr(AE)),ll}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",dr.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),L1){if(!e)return;this.globalLogger().throwError("error censorship permanent",dr.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}U1=!!e,L1=!!t}static setLogLevel(e){const t=Gf[e.toLowerCase()];if(t==null){dr.globalLogger().warn("invalid log level - "+e);return}$1=t}static from(e){return new dr(e)}};Mr.errors=hn,Mr.levels=t0;const xE="bytes/5.7.0",sr=new Mr(xE);function qb(r){return!!r.toHexString}function Ya(r){return r.slice||(r.slice=function(){const e=Array.prototype.slice.call(arguments);return Ya(new Uint8Array(Array.prototype.slice.apply(r,e)))}),r}function SE(r){return _i(r)&&!(r.length%2)||go(r)}function j1(r){return typeof r=="number"&&r==r&&r%1===0}function go(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!j1(r.length)||r.length<0)return!1;for(let e=0;e<r.length;e++){const t=r[e];if(!j1(t)||t<0||t>=256)return!1}return!0}function er(r,e){if(e||(e={}),typeof r=="number"){sr.checkSafeUint53(r,"invalid arrayify value");const t=[];for(;r;)t.unshift(r&255),r=parseInt(String(r/256));return t.length===0&&t.push(0),Ya(new Uint8Array(t))}if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),qb(r)&&(r=r.toHexString()),_i(r)){let t=r.substring(2);t.length%2&&(e.hexPad==="left"?t="0"+t:e.hexPad==="right"?t+="0":sr.throwArgumentError("hex data is odd-length","value",r));const i=[];for(let n=0;n<t.length;n+=2)i.push(parseInt(t.substring(n,n+2),16));return Ya(new Uint8Array(i))}return go(r)?Ya(new Uint8Array(r)):sr.throwArgumentError("invalid arrayify value","value",r)}function ME(r){const e=r.map(n=>er(n)),t=e.reduce((n,a)=>n+a.length,0),i=new Uint8Array(t);return e.reduce((n,a)=>(i.set(a,n),n+a.length),0),Ya(i)}function IE(r,e){r=er(r),r.length>e&&sr.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(r,e-r.length),Ya(t)}function _i(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}const dl="0123456789abcdef";function oi(r,e){if(e||(e={}),typeof r=="number"){sr.checkSafeUint53(r,"invalid hexlify value");let t="";for(;r;)t=dl[r&15]+t,r=Math.floor(r/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if(typeof r=="bigint")return r=r.toString(16),r.length%2?"0x0"+r:"0x"+r;if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),qb(r))return r.toHexString();if(_i(r))return r.length%2&&(e.hexPad==="left"?r="0x0"+r.substring(2):e.hexPad==="right"?r+="0":sr.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(go(r)){let t="0x";for(let i=0;i<r.length;i++){let n=r[i];t+=dl[(n&240)>>4]+dl[n&15]}return t}return sr.throwArgumentError("invalid hexlify value","value",r)}function DE(r){if(typeof r!="string")r=oi(r);else if(!_i(r)||r.length%2)return null;return(r.length-2)/2}function k1(r,e,t){return typeof r!="string"?r=oi(r):(!_i(r)||r.length%2)&&sr.throwArgumentError("invalid hexData","value",r),e=2+2*e,t!=null?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function Tn(r,e){for(typeof r!="string"?r=oi(r):_i(r)||sr.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&sr.throwArgumentError("value out of range","value",arguments[1]);r.length<2*e+2;)r="0x0"+r.substring(2);return r}function Lb(r){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(SE(r)){let t=er(r);t.length===64?(e.v=27+(t[32]>>7),t[32]&=127,e.r=oi(t.slice(0,32)),e.s=oi(t.slice(32,64))):t.length===65?(e.r=oi(t.slice(0,32)),e.s=oi(t.slice(32,64)),e.v=t[64]):sr.throwArgumentError("invalid signature string","signature",r),e.v<27&&(e.v===0||e.v===1?e.v+=27:sr.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=oi(t.slice(32,64))}else{if(e.r=r.r,e.s=r.s,e.v=r.v,e.recoveryParam=r.recoveryParam,e._vs=r._vs,e._vs!=null){const n=IE(er(e._vs),32);e._vs=oi(n);const a=n[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=a:e.recoveryParam!==a&&sr.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),n[0]&=127;const f=oi(n);e.s==null?e.s=f:e.s!==f&&sr.throwArgumentError("signature v mismatch _vs","signature",r)}if(e.recoveryParam==null)e.v==null?sr.throwArgumentError("signature missing v and recoveryParam","signature",r):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const n=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==n&&sr.throwArgumentError("signature recoveryParam mismatch v","signature",r)}e.r==null||!_i(e.r)?sr.throwArgumentError("signature missing or invalid r","signature",r):e.r=Tn(e.r,32),e.s==null||!_i(e.s)?sr.throwArgumentError("signature missing or invalid s","signature",r):e.s=Tn(e.s,32);const t=er(e.s);t[0]>=128&&sr.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(t[0]|=128);const i=oi(t);e._vs&&(_i(e._vs)||sr.throwArgumentError("signature invalid _vs","signature",r),e._vs=Tn(e._vs,32)),e._vs==null?e._vs=i:e._vs!==i&&sr.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function q0(r){return"0x"+_E.keccak_256(er(r))}var Ub={exports:{}},PE={},CE=Object.freeze({__proto__:null,default:PE}),OE=wE(CE);(function(r){(function(e,t){function i(c,h){if(!c)throw new Error(h||"Assertion failed")}function n(c,h){c.super_=h;var g=function(){};g.prototype=h.prototype,c.prototype=new g,c.prototype.constructor=c}function a(c,h,g){if(a.isBN(c))return c;this.negative=0,this.words=null,this.length=0,this.red=null,c!==null&&((h==="le"||h==="be")&&(g=h,h=10),this._init(c||0,h||10,g||"be"))}typeof e=="object"?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=OE.Buffer}catch{}a.isBN=function(c){return c instanceof a?!0:c!==null&&typeof c=="object"&&c.constructor.wordSize===a.wordSize&&Array.isArray(c.words)},a.max=function(c,h){return c.cmp(h)>0?c:h},a.min=function(c,h){return c.cmp(h)<0?c:h},a.prototype._init=function(c,h,g){if(typeof c=="number")return this._initNumber(c,h,g);if(typeof c=="object")return this._initArray(c,h,g);h==="hex"&&(h=16),i(h===(h|0)&&h>=2&&h<=36),c=c.toString().replace(/\s+/g,"");var _=0;c[0]==="-"&&(_++,this.negative=1),_<c.length&&(h===16?this._parseHex(c,_,g):(this._parseBase(c,h,_),g==="le"&&this._initArray(this.toArray(),h,g)))},a.prototype._initNumber=function(c,h,g){c<0&&(this.negative=1,c=-c),c<67108864?(this.words=[c&67108863],this.length=1):c<4503599627370496?(this.words=[c&67108863,c/67108864&67108863],this.length=2):(i(c<9007199254740992),this.words=[c&67108863,c/67108864&67108863,1],this.length=3),g==="le"&&this._initArray(this.toArray(),h,g)},a.prototype._initArray=function(c,h,g){if(i(typeof c.length=="number"),c.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(c.length/3),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var M,D,S=0;if(g==="be")for(_=c.length-1,M=0;_>=0;_-=3)D=c[_]|c[_-1]<<8|c[_-2]<<16,this.words[M]|=D<<S&67108863,this.words[M+1]=D>>>26-S&67108863,S+=24,S>=26&&(S-=26,M++);else if(g==="le")for(_=0,M=0;_<c.length;_+=3)D=c[_]|c[_+1]<<8|c[_+2]<<16,this.words[M]|=D<<S&67108863,this.words[M+1]=D>>>26-S&67108863,S+=24,S>=26&&(S-=26,M++);return this._strip()};function u(c,h){var g=c.charCodeAt(h);if(g>=48&&g<=57)return g-48;if(g>=65&&g<=70)return g-55;if(g>=97&&g<=102)return g-87;i(!1,"Invalid character in "+c)}function b(c,h,g){var _=u(c,g);return g-1>=h&&(_|=u(c,g-1)<<4),_}a.prototype._parseHex=function(c,h,g){this.length=Math.ceil((c.length-h)/6),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var M=0,D=0,S;if(g==="be")for(_=c.length-1;_>=h;_-=2)S=b(c,h,_)<<M,this.words[D]|=S&67108863,M>=18?(M-=18,D+=1,this.words[D]|=S>>>26):M+=8;else{var d=c.length-h;for(_=d%2===0?h+1:h;_<c.length;_+=2)S=b(c,h,_)<<M,this.words[D]|=S&67108863,M>=18?(M-=18,D+=1,this.words[D]|=S>>>26):M+=8}this._strip()};function v(c,h,g,_){for(var M=0,D=0,S=Math.min(c.length,g),d=h;d<S;d++){var p=c.charCodeAt(d)-48;M*=_,p>=49?D=p-49+10:p>=17?D=p-17+10:D=p,i(p>=0&&D<_,"Invalid character"),M+=D}return M}a.prototype._parseBase=function(c,h,g){this.words=[0],this.length=1;for(var _=0,M=1;M<=67108863;M*=h)_++;_--,M=M/h|0;for(var D=c.length-g,S=D%_,d=Math.min(D,D-S)+g,p=0,N=g;N<d;N+=_)p=v(c,N,N+_,h),this.imuln(M),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p);if(S!==0){var Z=1;for(p=v(c,N,c.length,h),N=0;N<S;N++)Z*=h;this.imuln(Z),this.words[0]+p<67108864?this.words[0]+=p:this._iaddn(p)}this._strip()},a.prototype.copy=function(c){c.words=new Array(this.length);for(var h=0;h<this.length;h++)c.words[h]=this.words[h];c.length=this.length,c.negative=this.negative,c.red=this.red};function y(c,h){c.words=h.words,c.length=h.length,c.negative=h.negative,c.red=h.red}if(a.prototype._move=function(c){y(c,this)},a.prototype.clone=function(){var c=new a(null);return this.copy(c),c},a.prototype._expand=function(c){for(;this.length<c;)this.words[this.length++]=0;return this},a.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},a.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=E}catch{a.prototype.inspect=E}else a.prototype.inspect=E;function E(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var C=["","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"],P=[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],O=[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];a.prototype.toString=function(c,h){c=c||10,h=h|0||1;var g;if(c===16||c==="hex"){g="";for(var _=0,M=0,D=0;D<this.length;D++){var S=this.words[D],d=((S<<_|M)&16777215).toString(16);M=S>>>24-_&16777215,_+=2,_>=26&&(_-=26,D--),M!==0||D!==this.length-1?g=C[6-d.length]+d+g:g=d+g}for(M!==0&&(g=M.toString(16)+g);g.length%h!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(c===(c|0)&&c>=2&&c<=36){var p=P[c],N=O[c];g="";var Z=this.clone();for(Z.negative=0;!Z.isZero();){var se=Z.modrn(N).toString(c);Z=Z.idivn(N),Z.isZero()?g=se+g:g=C[p-se.length]+se+g}for(this.isZero()&&(g="0"+g);g.length%h!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var c=this.words[0];return this.length===2?c+=this.words[1]*67108864:this.length===3&&this.words[2]===1?c+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-c:c},a.prototype.toJSON=function(){return this.toString(16,2)},f&&(a.prototype.toBuffer=function(c,h){return this.toArrayLike(f,c,h)}),a.prototype.toArray=function(c,h){return this.toArrayLike(Array,c,h)};var j=function(c,h){return c.allocUnsafe?c.allocUnsafe(h):new c(h)};a.prototype.toArrayLike=function(c,h,g){this._strip();var _=this.byteLength(),M=g||Math.max(1,_);i(_<=M,"byte array longer than desired length"),i(M>0,"Requested array length <= 0");var D=j(c,M),S=h==="le"?"LE":"BE";return this["_toArrayLike"+S](D,_),D},a.prototype._toArrayLikeLE=function(c,h){for(var g=0,_=0,M=0,D=0;M<this.length;M++){var S=this.words[M]<<D|_;c[g++]=S&255,g<c.length&&(c[g++]=S>>8&255),g<c.length&&(c[g++]=S>>16&255),D===6?(g<c.length&&(c[g++]=S>>24&255),_=0,D=0):(_=S>>>24,D+=2)}if(g<c.length)for(c[g++]=_;g<c.length;)c[g++]=0},a.prototype._toArrayLikeBE=function(c,h){for(var g=c.length-1,_=0,M=0,D=0;M<this.length;M++){var S=this.words[M]<<D|_;c[g--]=S&255,g>=0&&(c[g--]=S>>8&255),g>=0&&(c[g--]=S>>16&255),D===6?(g>=0&&(c[g--]=S>>24&255),_=0,D=0):(_=S>>>24,D+=2)}if(g>=0)for(c[g--]=_;g>=0;)c[g--]=0},Math.clz32?a.prototype._countBits=function(c){return 32-Math.clz32(c)}:a.prototype._countBits=function(c){var h=c,g=0;return h>=4096&&(g+=13,h>>>=13),h>=64&&(g+=7,h>>>=7),h>=8&&(g+=4,h>>>=4),h>=2&&(g+=2,h>>>=2),g+h},a.prototype._zeroBits=function(c){if(c===0)return 26;var h=c,g=0;return h&8191||(g+=13,h>>>=13),h&127||(g+=7,h>>>=7),h&15||(g+=4,h>>>=4),h&3||(g+=2,h>>>=2),h&1||g++,g},a.prototype.bitLength=function(){var c=this.words[this.length-1],h=this._countBits(c);return(this.length-1)*26+h};function W(c){for(var h=new Array(c.bitLength()),g=0;g<h.length;g++){var _=g/26|0,M=g%26;h[g]=c.words[_]>>>M&1}return h}a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var c=0,h=0;h<this.length;h++){var g=this._zeroBits(this.words[h]);if(c+=g,g!==26)break}return c},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(c){return this.negative!==0?this.abs().inotn(c).iaddn(1):this.clone()},a.prototype.fromTwos=function(c){return this.testn(c-1)?this.notn(c).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return this.negative!==0},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(c){for(;this.length<c.length;)this.words[this.length++]=0;for(var h=0;h<c.length;h++)this.words[h]=this.words[h]|c.words[h];return this._strip()},a.prototype.ior=function(c){return i((this.negative|c.negative)===0),this.iuor(c)},a.prototype.or=function(c){return this.length>c.length?this.clone().ior(c):c.clone().ior(this)},a.prototype.uor=function(c){return this.length>c.length?this.clone().iuor(c):c.clone().iuor(this)},a.prototype.iuand=function(c){var h;this.length>c.length?h=c:h=this;for(var g=0;g<h.length;g++)this.words[g]=this.words[g]&c.words[g];return this.length=h.length,this._strip()},a.prototype.iand=function(c){return i((this.negative|c.negative)===0),this.iuand(c)},a.prototype.and=function(c){return this.length>c.length?this.clone().iand(c):c.clone().iand(this)},a.prototype.uand=function(c){return this.length>c.length?this.clone().iuand(c):c.clone().iuand(this)},a.prototype.iuxor=function(c){var h,g;this.length>c.length?(h=this,g=c):(h=c,g=this);for(var _=0;_<g.length;_++)this.words[_]=h.words[_]^g.words[_];if(this!==h)for(;_<h.length;_++)this.words[_]=h.words[_];return this.length=h.length,this._strip()},a.prototype.ixor=function(c){return i((this.negative|c.negative)===0),this.iuxor(c)},a.prototype.xor=function(c){return this.length>c.length?this.clone().ixor(c):c.clone().ixor(this)},a.prototype.uxor=function(c){return this.length>c.length?this.clone().iuxor(c):c.clone().iuxor(this)},a.prototype.inotn=function(c){i(typeof c=="number"&&c>=0);var h=Math.ceil(c/26)|0,g=c%26;this._expand(h),g>0&&h--;for(var _=0;_<h;_++)this.words[_]=~this.words[_]&67108863;return g>0&&(this.words[_]=~this.words[_]&67108863>>26-g),this._strip()},a.prototype.notn=function(c){return this.clone().inotn(c)},a.prototype.setn=function(c,h){i(typeof c=="number"&&c>=0);var g=c/26|0,_=c%26;return this._expand(g+1),h?this.words[g]=this.words[g]|1<<_:this.words[g]=this.words[g]&~(1<<_),this._strip()},a.prototype.iadd=function(c){var h;if(this.negative!==0&&c.negative===0)return this.negative=0,h=this.isub(c),this.negative^=1,this._normSign();if(this.negative===0&&c.negative!==0)return c.negative=0,h=this.isub(c),c.negative=1,h._normSign();var g,_;this.length>c.length?(g=this,_=c):(g=c,_=this);for(var M=0,D=0;D<_.length;D++)h=(g.words[D]|0)+(_.words[D]|0)+M,this.words[D]=h&67108863,M=h>>>26;for(;M!==0&&D<g.length;D++)h=(g.words[D]|0)+M,this.words[D]=h&67108863,M=h>>>26;if(this.length=g.length,M!==0)this.words[this.length]=M,this.length++;else if(g!==this)for(;D<g.length;D++)this.words[D]=g.words[D];return this},a.prototype.add=function(c){var h;return c.negative!==0&&this.negative===0?(c.negative=0,h=this.sub(c),c.negative^=1,h):c.negative===0&&this.negative!==0?(this.negative=0,h=c.sub(this),this.negative=1,h):this.length>c.length?this.clone().iadd(c):c.clone().iadd(this)},a.prototype.isub=function(c){if(c.negative!==0){c.negative=0;var h=this.iadd(c);return c.negative=1,h._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(c),this.negative=1,this._normSign();var g=this.cmp(c);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,M;g>0?(_=this,M=c):(_=c,M=this);for(var D=0,S=0;S<M.length;S++)h=(_.words[S]|0)-(M.words[S]|0)+D,D=h>>26,this.words[S]=h&67108863;for(;D!==0&&S<_.length;S++)h=(_.words[S]|0)+D,D=h>>26,this.words[S]=h&67108863;if(D===0&&S<_.length&&_!==this)for(;S<_.length;S++)this.words[S]=_.words[S];return this.length=Math.max(this.length,S),_!==this&&(this.negative=1),this._strip()},a.prototype.sub=function(c){return this.clone().isub(c)};function Q(c,h,g){g.negative=h.negative^c.negative;var _=c.length+h.length|0;g.length=_,_=_-1|0;var M=c.words[0]|0,D=h.words[0]|0,S=M*D,d=S&67108863,p=S/67108864|0;g.words[0]=d;for(var N=1;N<_;N++){for(var Z=p>>>26,se=p&67108863,I=Math.min(N,h.length-1),ee=Math.max(0,N-c.length+1);ee<=I;ee++){var $=N-ee|0;M=c.words[$]|0,D=h.words[ee]|0,S=M*D+se,Z+=S/67108864|0,se=S&67108863}g.words[N]=se|0,p=Z|0}return p!==0?g.words[N]=p|0:g.length--,g._strip()}var H=function(c,h,g){var _=c.words,M=h.words,D=g.words,S=0,d,p,N,Z=_[0]|0,se=Z&8191,I=Z>>>13,ee=_[1]|0,$=ee&8191,k=ee>>>13,K=_[2]|0,w=K&8191,z=K>>>13,ne=_[3]|0,ce=ne&8191,he=ne>>>13,ye=_[4]|0,we=ye&8191,Re=ye>>>13,Qe=_[5]|0,Pe=Qe&8191,Ne=Qe>>>13,Se=_[6]|0,me=Se&8191,Ce=Se>>>13,Te=_[7]|0,ve=Te&8191,Oe=Te>>>13,xe=_[8]|0,be=xe&8191,Ue=xe>>>13,Ie=_[9]|0,_e=Ie&8191,He=Ie>>>13,Ve=M[0]|0,Ee=Ve&8191,Ke=Ve>>>13,ut=M[1]|0,Ge=ut&8191,_t=ut>>>13,lt=M[2]|0,Je=lt&8191,Et=lt>>>13,Mt=M[3]|0,Be=Mt&8191,Xe=Mt>>>13,tt=M[4]|0,qe=tt&8191,et=tt>>>13,Ze=M[5]|0,ze=Ze&8191,ft=Ze>>>13,rt=M[6]|0,Fe=rt&8191,it=rt>>>13,st=M[7]|0,Le=st&8191,Ye=st>>>13,ht=M[8]|0,je=ht&8191,Nt=ht>>>13,Tt=M[9]|0,at=Tt&8191,bt=Tt>>>13;g.negative=c.negative^h.negative,g.length=19,d=Math.imul(se,Ee),p=Math.imul(se,Ke),p=p+Math.imul(I,Ee)|0,N=Math.imul(I,Ke);var Cr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,d=Math.imul($,Ee),p=Math.imul($,Ke),p=p+Math.imul(k,Ee)|0,N=Math.imul(k,Ke),d=d+Math.imul(se,Ge)|0,p=p+Math.imul(se,_t)|0,p=p+Math.imul(I,Ge)|0,N=N+Math.imul(I,_t)|0;var Or=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Or>>>26)|0,Or&=67108863,d=Math.imul(w,Ee),p=Math.imul(w,Ke),p=p+Math.imul(z,Ee)|0,N=Math.imul(z,Ke),d=d+Math.imul($,Ge)|0,p=p+Math.imul($,_t)|0,p=p+Math.imul(k,Ge)|0,N=N+Math.imul(k,_t)|0,d=d+Math.imul(se,Je)|0,p=p+Math.imul(se,Et)|0,p=p+Math.imul(I,Je)|0,N=N+Math.imul(I,Et)|0;var Rr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,d=Math.imul(ce,Ee),p=Math.imul(ce,Ke),p=p+Math.imul(he,Ee)|0,N=Math.imul(he,Ke),d=d+Math.imul(w,Ge)|0,p=p+Math.imul(w,_t)|0,p=p+Math.imul(z,Ge)|0,N=N+Math.imul(z,_t)|0,d=d+Math.imul($,Je)|0,p=p+Math.imul($,Et)|0,p=p+Math.imul(k,Je)|0,N=N+Math.imul(k,Et)|0,d=d+Math.imul(se,Be)|0,p=p+Math.imul(se,Xe)|0,p=p+Math.imul(I,Be)|0,N=N+Math.imul(I,Xe)|0;var Nr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,d=Math.imul(we,Ee),p=Math.imul(we,Ke),p=p+Math.imul(Re,Ee)|0,N=Math.imul(Re,Ke),d=d+Math.imul(ce,Ge)|0,p=p+Math.imul(ce,_t)|0,p=p+Math.imul(he,Ge)|0,N=N+Math.imul(he,_t)|0,d=d+Math.imul(w,Je)|0,p=p+Math.imul(w,Et)|0,p=p+Math.imul(z,Je)|0,N=N+Math.imul(z,Et)|0,d=d+Math.imul($,Be)|0,p=p+Math.imul($,Xe)|0,p=p+Math.imul(k,Be)|0,N=N+Math.imul(k,Xe)|0,d=d+Math.imul(se,qe)|0,p=p+Math.imul(se,et)|0,p=p+Math.imul(I,qe)|0,N=N+Math.imul(I,et)|0;var Tr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Tr>>>26)|0,Tr&=67108863,d=Math.imul(Pe,Ee),p=Math.imul(Pe,Ke),p=p+Math.imul(Ne,Ee)|0,N=Math.imul(Ne,Ke),d=d+Math.imul(we,Ge)|0,p=p+Math.imul(we,_t)|0,p=p+Math.imul(Re,Ge)|0,N=N+Math.imul(Re,_t)|0,d=d+Math.imul(ce,Je)|0,p=p+Math.imul(ce,Et)|0,p=p+Math.imul(he,Je)|0,N=N+Math.imul(he,Et)|0,d=d+Math.imul(w,Be)|0,p=p+Math.imul(w,Xe)|0,p=p+Math.imul(z,Be)|0,N=N+Math.imul(z,Xe)|0,d=d+Math.imul($,qe)|0,p=p+Math.imul($,et)|0,p=p+Math.imul(k,qe)|0,N=N+Math.imul(k,et)|0,d=d+Math.imul(se,ze)|0,p=p+Math.imul(se,ft)|0,p=p+Math.imul(I,ze)|0,N=N+Math.imul(I,ft)|0;var Xt=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Xt>>>26)|0,Xt&=67108863,d=Math.imul(me,Ee),p=Math.imul(me,Ke),p=p+Math.imul(Ce,Ee)|0,N=Math.imul(Ce,Ke),d=d+Math.imul(Pe,Ge)|0,p=p+Math.imul(Pe,_t)|0,p=p+Math.imul(Ne,Ge)|0,N=N+Math.imul(Ne,_t)|0,d=d+Math.imul(we,Je)|0,p=p+Math.imul(we,Et)|0,p=p+Math.imul(Re,Je)|0,N=N+Math.imul(Re,Et)|0,d=d+Math.imul(ce,Be)|0,p=p+Math.imul(ce,Xe)|0,p=p+Math.imul(he,Be)|0,N=N+Math.imul(he,Xe)|0,d=d+Math.imul(w,qe)|0,p=p+Math.imul(w,et)|0,p=p+Math.imul(z,qe)|0,N=N+Math.imul(z,et)|0,d=d+Math.imul($,ze)|0,p=p+Math.imul($,ft)|0,p=p+Math.imul(k,ze)|0,N=N+Math.imul(k,ft)|0,d=d+Math.imul(se,Fe)|0,p=p+Math.imul(se,it)|0,p=p+Math.imul(I,Fe)|0,N=N+Math.imul(I,it)|0;var Yr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Yr>>>26)|0,Yr&=67108863,d=Math.imul(ve,Ee),p=Math.imul(ve,Ke),p=p+Math.imul(Oe,Ee)|0,N=Math.imul(Oe,Ke),d=d+Math.imul(me,Ge)|0,p=p+Math.imul(me,_t)|0,p=p+Math.imul(Ce,Ge)|0,N=N+Math.imul(Ce,_t)|0,d=d+Math.imul(Pe,Je)|0,p=p+Math.imul(Pe,Et)|0,p=p+Math.imul(Ne,Je)|0,N=N+Math.imul(Ne,Et)|0,d=d+Math.imul(we,Be)|0,p=p+Math.imul(we,Xe)|0,p=p+Math.imul(Re,Be)|0,N=N+Math.imul(Re,Xe)|0,d=d+Math.imul(ce,qe)|0,p=p+Math.imul(ce,et)|0,p=p+Math.imul(he,qe)|0,N=N+Math.imul(he,et)|0,d=d+Math.imul(w,ze)|0,p=p+Math.imul(w,ft)|0,p=p+Math.imul(z,ze)|0,N=N+Math.imul(z,ft)|0,d=d+Math.imul($,Fe)|0,p=p+Math.imul($,it)|0,p=p+Math.imul(k,Fe)|0,N=N+Math.imul(k,it)|0,d=d+Math.imul(se,Le)|0,p=p+Math.imul(se,Ye)|0,p=p+Math.imul(I,Le)|0,N=N+Math.imul(I,Ye)|0;var Gi=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,d=Math.imul(be,Ee),p=Math.imul(be,Ke),p=p+Math.imul(Ue,Ee)|0,N=Math.imul(Ue,Ke),d=d+Math.imul(ve,Ge)|0,p=p+Math.imul(ve,_t)|0,p=p+Math.imul(Oe,Ge)|0,N=N+Math.imul(Oe,_t)|0,d=d+Math.imul(me,Je)|0,p=p+Math.imul(me,Et)|0,p=p+Math.imul(Ce,Je)|0,N=N+Math.imul(Ce,Et)|0,d=d+Math.imul(Pe,Be)|0,p=p+Math.imul(Pe,Xe)|0,p=p+Math.imul(Ne,Be)|0,N=N+Math.imul(Ne,Xe)|0,d=d+Math.imul(we,qe)|0,p=p+Math.imul(we,et)|0,p=p+Math.imul(Re,qe)|0,N=N+Math.imul(Re,et)|0,d=d+Math.imul(ce,ze)|0,p=p+Math.imul(ce,ft)|0,p=p+Math.imul(he,ze)|0,N=N+Math.imul(he,ft)|0,d=d+Math.imul(w,Fe)|0,p=p+Math.imul(w,it)|0,p=p+Math.imul(z,Fe)|0,N=N+Math.imul(z,it)|0,d=d+Math.imul($,Le)|0,p=p+Math.imul($,Ye)|0,p=p+Math.imul(k,Le)|0,N=N+Math.imul(k,Ye)|0,d=d+Math.imul(se,je)|0,p=p+Math.imul(se,Nt)|0,p=p+Math.imul(I,je)|0,N=N+Math.imul(I,Nt)|0;var Qr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Qr>>>26)|0,Qr&=67108863,d=Math.imul(_e,Ee),p=Math.imul(_e,Ke),p=p+Math.imul(He,Ee)|0,N=Math.imul(He,Ke),d=d+Math.imul(be,Ge)|0,p=p+Math.imul(be,_t)|0,p=p+Math.imul(Ue,Ge)|0,N=N+Math.imul(Ue,_t)|0,d=d+Math.imul(ve,Je)|0,p=p+Math.imul(ve,Et)|0,p=p+Math.imul(Oe,Je)|0,N=N+Math.imul(Oe,Et)|0,d=d+Math.imul(me,Be)|0,p=p+Math.imul(me,Xe)|0,p=p+Math.imul(Ce,Be)|0,N=N+Math.imul(Ce,Xe)|0,d=d+Math.imul(Pe,qe)|0,p=p+Math.imul(Pe,et)|0,p=p+Math.imul(Ne,qe)|0,N=N+Math.imul(Ne,et)|0,d=d+Math.imul(we,ze)|0,p=p+Math.imul(we,ft)|0,p=p+Math.imul(Re,ze)|0,N=N+Math.imul(Re,ft)|0,d=d+Math.imul(ce,Fe)|0,p=p+Math.imul(ce,it)|0,p=p+Math.imul(he,Fe)|0,N=N+Math.imul(he,it)|0,d=d+Math.imul(w,Le)|0,p=p+Math.imul(w,Ye)|0,p=p+Math.imul(z,Le)|0,N=N+Math.imul(z,Ye)|0,d=d+Math.imul($,je)|0,p=p+Math.imul($,Nt)|0,p=p+Math.imul(k,je)|0,N=N+Math.imul(k,Nt)|0,d=d+Math.imul(se,at)|0,p=p+Math.imul(se,bt)|0,p=p+Math.imul(I,at)|0,N=N+Math.imul(I,bt)|0;var Wi=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Wi>>>26)|0,Wi&=67108863,d=Math.imul(_e,Ge),p=Math.imul(_e,_t),p=p+Math.imul(He,Ge)|0,N=Math.imul(He,_t),d=d+Math.imul(be,Je)|0,p=p+Math.imul(be,Et)|0,p=p+Math.imul(Ue,Je)|0,N=N+Math.imul(Ue,Et)|0,d=d+Math.imul(ve,Be)|0,p=p+Math.imul(ve,Xe)|0,p=p+Math.imul(Oe,Be)|0,N=N+Math.imul(Oe,Xe)|0,d=d+Math.imul(me,qe)|0,p=p+Math.imul(me,et)|0,p=p+Math.imul(Ce,qe)|0,N=N+Math.imul(Ce,et)|0,d=d+Math.imul(Pe,ze)|0,p=p+Math.imul(Pe,ft)|0,p=p+Math.imul(Ne,ze)|0,N=N+Math.imul(Ne,ft)|0,d=d+Math.imul(we,Fe)|0,p=p+Math.imul(we,it)|0,p=p+Math.imul(Re,Fe)|0,N=N+Math.imul(Re,it)|0,d=d+Math.imul(ce,Le)|0,p=p+Math.imul(ce,Ye)|0,p=p+Math.imul(he,Le)|0,N=N+Math.imul(he,Ye)|0,d=d+Math.imul(w,je)|0,p=p+Math.imul(w,Nt)|0,p=p+Math.imul(z,je)|0,N=N+Math.imul(z,Nt)|0,d=d+Math.imul($,at)|0,p=p+Math.imul($,bt)|0,p=p+Math.imul(k,at)|0,N=N+Math.imul(k,bt)|0;var Ji=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Ji>>>26)|0,Ji&=67108863,d=Math.imul(_e,Je),p=Math.imul(_e,Et),p=p+Math.imul(He,Je)|0,N=Math.imul(He,Et),d=d+Math.imul(be,Be)|0,p=p+Math.imul(be,Xe)|0,p=p+Math.imul(Ue,Be)|0,N=N+Math.imul(Ue,Xe)|0,d=d+Math.imul(ve,qe)|0,p=p+Math.imul(ve,et)|0,p=p+Math.imul(Oe,qe)|0,N=N+Math.imul(Oe,et)|0,d=d+Math.imul(me,ze)|0,p=p+Math.imul(me,ft)|0,p=p+Math.imul(Ce,ze)|0,N=N+Math.imul(Ce,ft)|0,d=d+Math.imul(Pe,Fe)|0,p=p+Math.imul(Pe,it)|0,p=p+Math.imul(Ne,Fe)|0,N=N+Math.imul(Ne,it)|0,d=d+Math.imul(we,Le)|0,p=p+Math.imul(we,Ye)|0,p=p+Math.imul(Re,Le)|0,N=N+Math.imul(Re,Ye)|0,d=d+Math.imul(ce,je)|0,p=p+Math.imul(ce,Nt)|0,p=p+Math.imul(he,je)|0,N=N+Math.imul(he,Nt)|0,d=d+Math.imul(w,at)|0,p=p+Math.imul(w,bt)|0,p=p+Math.imul(z,at)|0,N=N+Math.imul(z,bt)|0;var Xr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,d=Math.imul(_e,Be),p=Math.imul(_e,Xe),p=p+Math.imul(He,Be)|0,N=Math.imul(He,Xe),d=d+Math.imul(be,qe)|0,p=p+Math.imul(be,et)|0,p=p+Math.imul(Ue,qe)|0,N=N+Math.imul(Ue,et)|0,d=d+Math.imul(ve,ze)|0,p=p+Math.imul(ve,ft)|0,p=p+Math.imul(Oe,ze)|0,N=N+Math.imul(Oe,ft)|0,d=d+Math.imul(me,Fe)|0,p=p+Math.imul(me,it)|0,p=p+Math.imul(Ce,Fe)|0,N=N+Math.imul(Ce,it)|0,d=d+Math.imul(Pe,Le)|0,p=p+Math.imul(Pe,Ye)|0,p=p+Math.imul(Ne,Le)|0,N=N+Math.imul(Ne,Ye)|0,d=d+Math.imul(we,je)|0,p=p+Math.imul(we,Nt)|0,p=p+Math.imul(Re,je)|0,N=N+Math.imul(Re,Nt)|0,d=d+Math.imul(ce,at)|0,p=p+Math.imul(ce,bt)|0,p=p+Math.imul(he,at)|0,N=N+Math.imul(he,bt)|0;var Si=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Si>>>26)|0,Si&=67108863,d=Math.imul(_e,qe),p=Math.imul(_e,et),p=p+Math.imul(He,qe)|0,N=Math.imul(He,et),d=d+Math.imul(be,ze)|0,p=p+Math.imul(be,ft)|0,p=p+Math.imul(Ue,ze)|0,N=N+Math.imul(Ue,ft)|0,d=d+Math.imul(ve,Fe)|0,p=p+Math.imul(ve,it)|0,p=p+Math.imul(Oe,Fe)|0,N=N+Math.imul(Oe,it)|0,d=d+Math.imul(me,Le)|0,p=p+Math.imul(me,Ye)|0,p=p+Math.imul(Ce,Le)|0,N=N+Math.imul(Ce,Ye)|0,d=d+Math.imul(Pe,je)|0,p=p+Math.imul(Pe,Nt)|0,p=p+Math.imul(Ne,je)|0,N=N+Math.imul(Ne,Nt)|0,d=d+Math.imul(we,at)|0,p=p+Math.imul(we,bt)|0,p=p+Math.imul(Re,at)|0,N=N+Math.imul(Re,bt)|0;var Mi=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,d=Math.imul(_e,ze),p=Math.imul(_e,ft),p=p+Math.imul(He,ze)|0,N=Math.imul(He,ft),d=d+Math.imul(be,Fe)|0,p=p+Math.imul(be,it)|0,p=p+Math.imul(Ue,Fe)|0,N=N+Math.imul(Ue,it)|0,d=d+Math.imul(ve,Le)|0,p=p+Math.imul(ve,Ye)|0,p=p+Math.imul(Oe,Le)|0,N=N+Math.imul(Oe,Ye)|0,d=d+Math.imul(me,je)|0,p=p+Math.imul(me,Nt)|0,p=p+Math.imul(Ce,je)|0,N=N+Math.imul(Ce,Nt)|0,d=d+Math.imul(Pe,at)|0,p=p+Math.imul(Pe,bt)|0,p=p+Math.imul(Ne,at)|0,N=N+Math.imul(Ne,bt)|0;var fr=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(fr>>>26)|0,fr&=67108863,d=Math.imul(_e,Fe),p=Math.imul(_e,it),p=p+Math.imul(He,Fe)|0,N=Math.imul(He,it),d=d+Math.imul(be,Le)|0,p=p+Math.imul(be,Ye)|0,p=p+Math.imul(Ue,Le)|0,N=N+Math.imul(Ue,Ye)|0,d=d+Math.imul(ve,je)|0,p=p+Math.imul(ve,Nt)|0,p=p+Math.imul(Oe,je)|0,N=N+Math.imul(Oe,Nt)|0,d=d+Math.imul(me,at)|0,p=p+Math.imul(me,bt)|0,p=p+Math.imul(Ce,at)|0,N=N+Math.imul(Ce,bt)|0;var Yi=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Yi>>>26)|0,Yi&=67108863,d=Math.imul(_e,Le),p=Math.imul(_e,Ye),p=p+Math.imul(He,Le)|0,N=Math.imul(He,Ye),d=d+Math.imul(be,je)|0,p=p+Math.imul(be,Nt)|0,p=p+Math.imul(Ue,je)|0,N=N+Math.imul(Ue,Nt)|0,d=d+Math.imul(ve,at)|0,p=p+Math.imul(ve,bt)|0,p=p+Math.imul(Oe,at)|0,N=N+Math.imul(Oe,bt)|0;var Qi=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Qi>>>26)|0,Qi&=67108863,d=Math.imul(_e,je),p=Math.imul(_e,Nt),p=p+Math.imul(He,je)|0,N=Math.imul(He,Nt),d=d+Math.imul(be,at)|0,p=p+Math.imul(be,bt)|0,p=p+Math.imul(Ue,at)|0,N=N+Math.imul(Ue,bt)|0;var Xi=(S+d|0)+((p&8191)<<13)|0;S=(N+(p>>>13)|0)+(Xi>>>26)|0,Xi&=67108863,d=Math.imul(_e,at),p=Math.imul(_e,bt),p=p+Math.imul(He,at)|0,N=Math.imul(He,bt);var $s=(S+d|0)+((p&8191)<<13)|0;return S=(N+(p>>>13)|0)+($s>>>26)|0,$s&=67108863,D[0]=Cr,D[1]=Or,D[2]=Rr,D[3]=Nr,D[4]=Tr,D[5]=Xt,D[6]=Yr,D[7]=Gi,D[8]=Qr,D[9]=Wi,D[10]=Ji,D[11]=Xr,D[12]=Si,D[13]=Mi,D[14]=fr,D[15]=Yi,D[16]=Qi,D[17]=Xi,D[18]=$s,S!==0&&(D[19]=S,g.length++),g};Math.imul||(H=Q);function Y(c,h,g){g.negative=h.negative^c.negative,g.length=c.length+h.length;for(var _=0,M=0,D=0;D<g.length-1;D++){var S=M;M=0;for(var d=_&67108863,p=Math.min(D,h.length-1),N=Math.max(0,D-c.length+1);N<=p;N++){var Z=D-N,se=c.words[Z]|0,I=h.words[N]|0,ee=se*I,$=ee&67108863;S=S+(ee/67108864|0)|0,$=$+d|0,d=$&67108863,S=S+($>>>26)|0,M+=S>>>26,S&=67108863}g.words[D]=d,_=S,S=M}return _!==0?g.words[D]=_:g.length--,g._strip()}function U(c,h,g){return Y(c,h,g)}a.prototype.mulTo=function(c,h){var g,_=this.length+c.length;return this.length===10&&c.length===10?g=H(this,c,h):_<63?g=Q(this,c,h):_<1024?g=Y(this,c,h):g=U(this,c,h),g},a.prototype.mul=function(c){var h=new a(null);return h.words=new Array(this.length+c.length),this.mulTo(c,h)},a.prototype.mulf=function(c){var h=new a(null);return h.words=new Array(this.length+c.length),U(this,c,h)},a.prototype.imul=function(c){return this.clone().mulTo(c,this)},a.prototype.imuln=function(c){var h=c<0;h&&(c=-c),i(typeof c=="number"),i(c<67108864);for(var g=0,_=0;_<this.length;_++){var M=(this.words[_]|0)*c,D=(M&67108863)+(g&67108863);g>>=26,g+=M/67108864|0,g+=D>>>26,this.words[_]=D&67108863}return g!==0&&(this.words[_]=g,this.length++),h?this.ineg():this},a.prototype.muln=function(c){return this.clone().imuln(c)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(c){var h=W(c);if(h.length===0)return new a(1);for(var g=this,_=0;_<h.length&&h[_]===0;_++,g=g.sqr());if(++_<h.length)for(var M=g.sqr();_<h.length;_++,M=M.sqr())h[_]!==0&&(g=g.mul(M));return g},a.prototype.iushln=function(c){i(typeof c=="number"&&c>=0);var h=c%26,g=(c-h)/26,_=67108863>>>26-h<<26-h,M;if(h!==0){var D=0;for(M=0;M<this.length;M++){var S=this.words[M]&_,d=(this.words[M]|0)-S<<h;this.words[M]=d|D,D=S>>>26-h}D&&(this.words[M]=D,this.length++)}if(g!==0){for(M=this.length-1;M>=0;M--)this.words[M+g]=this.words[M];for(M=0;M<g;M++)this.words[M]=0;this.length+=g}return this._strip()},a.prototype.ishln=function(c){return i(this.negative===0),this.iushln(c)},a.prototype.iushrn=function(c,h,g){i(typeof c=="number"&&c>=0);var _;h?_=(h-h%26)/26:_=0;var M=c%26,D=Math.min((c-M)/26,this.length),S=67108863^67108863>>>M<<M,d=g;if(_-=D,_=Math.max(0,_),d){for(var p=0;p<D;p++)d.words[p]=this.words[p];d.length=D}if(D!==0)if(this.length>D)for(this.length-=D,p=0;p<this.length;p++)this.words[p]=this.words[p+D];else this.words[0]=0,this.length=1;var N=0;for(p=this.length-1;p>=0&&(N!==0||p>=_);p--){var Z=this.words[p]|0;this.words[p]=N<<26-M|Z>>>M,N=Z&S}return d&&N!==0&&(d.words[d.length++]=N),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(c,h,g){return i(this.negative===0),this.iushrn(c,h,g)},a.prototype.shln=function(c){return this.clone().ishln(c)},a.prototype.ushln=function(c){return this.clone().iushln(c)},a.prototype.shrn=function(c){return this.clone().ishrn(c)},a.prototype.ushrn=function(c){return this.clone().iushrn(c)},a.prototype.testn=function(c){i(typeof c=="number"&&c>=0);var h=c%26,g=(c-h)/26,_=1<<h;if(this.length<=g)return!1;var M=this.words[g];return!!(M&_)},a.prototype.imaskn=function(c){i(typeof c=="number"&&c>=0);var h=c%26,g=(c-h)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=g)return this;if(h!==0&&g++,this.length=Math.min(g,this.length),h!==0){var _=67108863^67108863>>>h<<h;this.words[this.length-1]&=_}return this._strip()},a.prototype.maskn=function(c){return this.clone().imaskn(c)},a.prototype.iaddn=function(c){return i(typeof c=="number"),i(c<67108864),c<0?this.isubn(-c):this.negative!==0?this.length===1&&(this.words[0]|0)<=c?(this.words[0]=c-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(c),this.negative=1,this):this._iaddn(c)},a.prototype._iaddn=function(c){this.words[0]+=c;for(var h=0;h<this.length&&this.words[h]>=67108864;h++)this.words[h]-=67108864,h===this.length-1?this.words[h+1]=1:this.words[h+1]++;return this.length=Math.max(this.length,h+1),this},a.prototype.isubn=function(c){if(i(typeof c=="number"),i(c<67108864),c<0)return this.iaddn(-c);if(this.negative!==0)return this.negative=0,this.iaddn(c),this.negative=1,this;if(this.words[0]-=c,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var h=0;h<this.length&&this.words[h]<0;h++)this.words[h]+=67108864,this.words[h+1]-=1;return this._strip()},a.prototype.addn=function(c){return this.clone().iaddn(c)},a.prototype.subn=function(c){return this.clone().isubn(c)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(c,h,g){var _=c.length+g,M;this._expand(_);var D,S=0;for(M=0;M<c.length;M++){D=(this.words[M+g]|0)+S;var d=(c.words[M]|0)*h;D-=d&67108863,S=(D>>26)-(d/67108864|0),this.words[M+g]=D&67108863}for(;M<this.length-g;M++)D=(this.words[M+g]|0)+S,S=D>>26,this.words[M+g]=D&67108863;if(S===0)return this._strip();for(i(S===-1),S=0,M=0;M<this.length;M++)D=-(this.words[M]|0)+S,S=D>>26,this.words[M]=D&67108863;return this.negative=1,this._strip()},a.prototype._wordDiv=function(c,h){var g=this.length-c.length,_=this.clone(),M=c,D=M.words[M.length-1]|0,S=this._countBits(D);g=26-S,g!==0&&(M=M.ushln(g),_.iushln(g),D=M.words[M.length-1]|0);var d=_.length-M.length,p;if(h!=="mod"){p=new a(null),p.length=d+1,p.words=new Array(p.length);for(var N=0;N<p.length;N++)p.words[N]=0}var Z=_.clone()._ishlnsubmul(M,1,d);Z.negative===0&&(_=Z,p&&(p.words[d]=1));for(var se=d-1;se>=0;se--){var I=(_.words[M.length+se]|0)*67108864+(_.words[M.length+se-1]|0);for(I=Math.min(I/D|0,67108863),_._ishlnsubmul(M,I,se);_.negative!==0;)I--,_.negative=0,_._ishlnsubmul(M,1,se),_.isZero()||(_.negative^=1);p&&(p.words[se]=I)}return p&&p._strip(),_._strip(),h!=="div"&&g!==0&&_.iushrn(g),{div:p||null,mod:_}},a.prototype.divmod=function(c,h,g){if(i(!c.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var _,M,D;return this.negative!==0&&c.negative===0?(D=this.neg().divmod(c,h),h!=="mod"&&(_=D.div.neg()),h!=="div"&&(M=D.mod.neg(),g&&M.negative!==0&&M.iadd(c)),{div:_,mod:M}):this.negative===0&&c.negative!==0?(D=this.divmod(c.neg(),h),h!=="mod"&&(_=D.div.neg()),{div:_,mod:D.mod}):this.negative&c.negative?(D=this.neg().divmod(c.neg(),h),h!=="div"&&(M=D.mod.neg(),g&&M.negative!==0&&M.isub(c)),{div:D.div,mod:M}):c.length>this.length||this.cmp(c)<0?{div:new a(0),mod:this}:c.length===1?h==="div"?{div:this.divn(c.words[0]),mod:null}:h==="mod"?{div:null,mod:new a(this.modrn(c.words[0]))}:{div:this.divn(c.words[0]),mod:new a(this.modrn(c.words[0]))}:this._wordDiv(c,h)},a.prototype.div=function(c){return this.divmod(c,"div",!1).div},a.prototype.mod=function(c){return this.divmod(c,"mod",!1).mod},a.prototype.umod=function(c){return this.divmod(c,"mod",!0).mod},a.prototype.divRound=function(c){var h=this.divmod(c);if(h.mod.isZero())return h.div;var g=h.div.negative!==0?h.mod.isub(c):h.mod,_=c.ushrn(1),M=c.andln(1),D=g.cmp(_);return D<0||M===1&&D===0?h.div:h.div.negative!==0?h.div.isubn(1):h.div.iaddn(1)},a.prototype.modrn=function(c){var h=c<0;h&&(c=-c),i(c<=67108863);for(var g=(1<<26)%c,_=0,M=this.length-1;M>=0;M--)_=(g*_+(this.words[M]|0))%c;return h?-_:_},a.prototype.modn=function(c){return this.modrn(c)},a.prototype.idivn=function(c){var h=c<0;h&&(c=-c),i(c<=67108863);for(var g=0,_=this.length-1;_>=0;_--){var M=(this.words[_]|0)+g*67108864;this.words[_]=M/c|0,g=M%c}return this._strip(),h?this.ineg():this},a.prototype.divn=function(c){return this.clone().idivn(c)},a.prototype.egcd=function(c){i(c.negative===0),i(!c.isZero());var h=this,g=c.clone();h.negative!==0?h=h.umod(c):h=h.clone();for(var _=new a(1),M=new a(0),D=new a(0),S=new a(1),d=0;h.isEven()&&g.isEven();)h.iushrn(1),g.iushrn(1),++d;for(var p=g.clone(),N=h.clone();!h.isZero();){for(var Z=0,se=1;!(h.words[0]&se)&&Z<26;++Z,se<<=1);if(Z>0)for(h.iushrn(Z);Z-- >0;)(_.isOdd()||M.isOdd())&&(_.iadd(p),M.isub(N)),_.iushrn(1),M.iushrn(1);for(var I=0,ee=1;!(g.words[0]&ee)&&I<26;++I,ee<<=1);if(I>0)for(g.iushrn(I);I-- >0;)(D.isOdd()||S.isOdd())&&(D.iadd(p),S.isub(N)),D.iushrn(1),S.iushrn(1);h.cmp(g)>=0?(h.isub(g),_.isub(D),M.isub(S)):(g.isub(h),D.isub(_),S.isub(M))}return{a:D,b:S,gcd:g.iushln(d)}},a.prototype._invmp=function(c){i(c.negative===0),i(!c.isZero());var h=this,g=c.clone();h.negative!==0?h=h.umod(c):h=h.clone();for(var _=new a(1),M=new a(0),D=g.clone();h.cmpn(1)>0&&g.cmpn(1)>0;){for(var S=0,d=1;!(h.words[0]&d)&&S<26;++S,d<<=1);if(S>0)for(h.iushrn(S);S-- >0;)_.isOdd()&&_.iadd(D),_.iushrn(1);for(var p=0,N=1;!(g.words[0]&N)&&p<26;++p,N<<=1);if(p>0)for(g.iushrn(p);p-- >0;)M.isOdd()&&M.iadd(D),M.iushrn(1);h.cmp(g)>=0?(h.isub(g),_.isub(M)):(g.isub(h),M.isub(_))}var Z;return h.cmpn(1)===0?Z=_:Z=M,Z.cmpn(0)<0&&Z.iadd(c),Z},a.prototype.gcd=function(c){if(this.isZero())return c.abs();if(c.isZero())return this.abs();var h=this.clone(),g=c.clone();h.negative=0,g.negative=0;for(var _=0;h.isEven()&&g.isEven();_++)h.iushrn(1),g.iushrn(1);do{for(;h.isEven();)h.iushrn(1);for(;g.isEven();)g.iushrn(1);var M=h.cmp(g);if(M<0){var D=h;h=g,g=D}else if(M===0||g.cmpn(1)===0)break;h.isub(g)}while(!0);return g.iushln(_)},a.prototype.invm=function(c){return this.egcd(c).a.umod(c)},a.prototype.isEven=function(){return(this.words[0]&1)===0},a.prototype.isOdd=function(){return(this.words[0]&1)===1},a.prototype.andln=function(c){return this.words[0]&c},a.prototype.bincn=function(c){i(typeof c=="number");var h=c%26,g=(c-h)/26,_=1<<h;if(this.length<=g)return this._expand(g+1),this.words[g]|=_,this;for(var M=_,D=g;M!==0&&D<this.length;D++){var S=this.words[D]|0;S+=M,M=S>>>26,S&=67108863,this.words[D]=S}return M!==0&&(this.words[D]=M,this.length++),this},a.prototype.isZero=function(){return this.length===1&&this.words[0]===0},a.prototype.cmpn=function(c){var h=c<0;if(this.negative!==0&&!h)return-1;if(this.negative===0&&h)return 1;this._strip();var g;if(this.length>1)g=1;else{h&&(c=-c),i(c<=67108863,"Number is too big");var _=this.words[0]|0;g=_===c?0:_<c?-1:1}return this.negative!==0?-g|0:g},a.prototype.cmp=function(c){if(this.negative!==0&&c.negative===0)return-1;if(this.negative===0&&c.negative!==0)return 1;var h=this.ucmp(c);return this.negative!==0?-h|0:h},a.prototype.ucmp=function(c){if(this.length>c.length)return 1;if(this.length<c.length)return-1;for(var h=0,g=this.length-1;g>=0;g--){var _=this.words[g]|0,M=c.words[g]|0;if(_!==M){_<M?h=-1:_>M&&(h=1);break}}return h},a.prototype.gtn=function(c){return this.cmpn(c)===1},a.prototype.gt=function(c){return this.cmp(c)===1},a.prototype.gten=function(c){return this.cmpn(c)>=0},a.prototype.gte=function(c){return this.cmp(c)>=0},a.prototype.ltn=function(c){return this.cmpn(c)===-1},a.prototype.lt=function(c){return this.cmp(c)===-1},a.prototype.lten=function(c){return this.cmpn(c)<=0},a.prototype.lte=function(c){return this.cmp(c)<=0},a.prototype.eqn=function(c){return this.cmpn(c)===0},a.prototype.eq=function(c){return this.cmp(c)===0},a.red=function(c){return new B(c)},a.prototype.toRed=function(c){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),c.convertTo(this)._forceRed(c)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(c){return this.red=c,this},a.prototype.forceRed=function(c){return i(!this.red,"Already a number in reduction context"),this._forceRed(c)},a.prototype.redAdd=function(c){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,c)},a.prototype.redIAdd=function(c){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,c)},a.prototype.redSub=function(c){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,c)},a.prototype.redISub=function(c){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,c)},a.prototype.redShl=function(c){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,c)},a.prototype.redMul=function(c){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,c),this.red.mul(this,c)},a.prototype.redIMul=function(c){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,c),this.red.imul(this,c)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(c){return i(this.red&&!c.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,c)};var F={k256:null,p224:null,p192:null,p25519:null};function V(c,h){this.name=c,this.p=new a(h,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}V.prototype._tmp=function(){var c=new a(null);return c.words=new Array(Math.ceil(this.n/13)),c},V.prototype.ireduce=function(c){var h=c,g;do this.split(h,this.tmp),h=this.imulK(h),h=h.iadd(this.tmp),g=h.bitLength();while(g>this.n);var _=g<this.n?-1:h.ucmp(this.p);return _===0?(h.words[0]=0,h.length=1):_>0?h.isub(this.p):h.strip!==void 0?h.strip():h._strip(),h},V.prototype.split=function(c,h){c.iushrn(this.n,0,h)},V.prototype.imulK=function(c){return c.imul(this.k)};function A(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(A,V),A.prototype.split=function(c,h){for(var g=4194303,_=Math.min(c.length,9),M=0;M<_;M++)h.words[M]=c.words[M];if(h.length=_,c.length<=9){c.words[0]=0,c.length=1;return}var D=c.words[9];for(h.words[h.length++]=D&g,M=10;M<c.length;M++){var S=c.words[M]|0;c.words[M-10]=(S&g)<<4|D>>>22,D=S}D>>>=22,c.words[M-10]=D,D===0&&c.length>10?c.length-=10:c.length-=9},A.prototype.imulK=function(c){c.words[c.length]=0,c.words[c.length+1]=0,c.length+=2;for(var h=0,g=0;g<c.length;g++){var _=c.words[g]|0;h+=_*977,c.words[g]=h&67108863,h=_*64+(h/67108864|0)}return c.words[c.length-1]===0&&(c.length--,c.words[c.length-1]===0&&c.length--),c};function q(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(q,V);function ae(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(ae,V);function ue(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(ue,V),ue.prototype.imulK=function(c){for(var h=0,g=0;g<c.length;g++){var _=(c.words[g]|0)*19+h,M=_&67108863;_>>>=26,c.words[g]=M,h=_}return h!==0&&(c.words[c.length++]=h),c},a._prime=function(c){if(F[c])return F[c];var h;if(c==="k256")h=new A;else if(c==="p224")h=new q;else if(c==="p192")h=new ae;else if(c==="p25519")h=new ue;else throw new Error("Unknown prime "+c);return F[c]=h,h};function B(c){if(typeof c=="string"){var h=a._prime(c);this.m=h.p,this.prime=h}else i(c.gtn(1),"modulus must be greater than 1"),this.m=c,this.prime=null}B.prototype._verify1=function(c){i(c.negative===0,"red works only with positives"),i(c.red,"red works only with red numbers")},B.prototype._verify2=function(c,h){i((c.negative|h.negative)===0,"red works only with positives"),i(c.red&&c.red===h.red,"red works only with red numbers")},B.prototype.imod=function(c){return this.prime?this.prime.ireduce(c)._forceRed(this):(y(c,c.umod(this.m)._forceRed(this)),c)},B.prototype.neg=function(c){return c.isZero()?c.clone():this.m.sub(c)._forceRed(this)},B.prototype.add=function(c,h){this._verify2(c,h);var g=c.add(h);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},B.prototype.iadd=function(c,h){this._verify2(c,h);var g=c.iadd(h);return g.cmp(this.m)>=0&&g.isub(this.m),g},B.prototype.sub=function(c,h){this._verify2(c,h);var g=c.sub(h);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},B.prototype.isub=function(c,h){this._verify2(c,h);var g=c.isub(h);return g.cmpn(0)<0&&g.iadd(this.m),g},B.prototype.shl=function(c,h){return this._verify1(c),this.imod(c.ushln(h))},B.prototype.imul=function(c,h){return this._verify2(c,h),this.imod(c.imul(h))},B.prototype.mul=function(c,h){return this._verify2(c,h),this.imod(c.mul(h))},B.prototype.isqr=function(c){return this.imul(c,c.clone())},B.prototype.sqr=function(c){return this.mul(c,c)},B.prototype.sqrt=function(c){if(c.isZero())return c.clone();var h=this.m.andln(3);if(i(h%2===1),h===3){var g=this.m.add(new a(1)).iushrn(2);return this.pow(c,g)}for(var _=this.m.subn(1),M=0;!_.isZero()&&_.andln(1)===0;)M++,_.iushrn(1);i(!_.isZero());var D=new a(1).toRed(this),S=D.redNeg(),d=this.m.subn(1).iushrn(1),p=this.m.bitLength();for(p=new a(2*p*p).toRed(this);this.pow(p,d).cmp(S)!==0;)p.redIAdd(S);for(var N=this.pow(p,_),Z=this.pow(c,_.addn(1).iushrn(1)),se=this.pow(c,_),I=M;se.cmp(D)!==0;){for(var ee=se,$=0;ee.cmp(D)!==0;$++)ee=ee.redSqr();i($<I);var k=this.pow(N,new a(1).iushln(I-$-1));Z=Z.redMul(k),N=k.redSqr(),se=se.redMul(N),I=$}return Z},B.prototype.invm=function(c){var h=c._invmp(this.m);return h.negative!==0?(h.negative=0,this.imod(h).redNeg()):this.imod(h)},B.prototype.pow=function(c,h){if(h.isZero())return new a(1).toRed(this);if(h.cmpn(1)===0)return c.clone();var g=4,_=new Array(1<<g);_[0]=new a(1).toRed(this),_[1]=c;for(var M=2;M<_.length;M++)_[M]=this.mul(_[M-1],c);var D=_[0],S=0,d=0,p=h.bitLength()%26;for(p===0&&(p=26),M=h.length-1;M>=0;M--){for(var N=h.words[M],Z=p-1;Z>=0;Z--){var se=N>>Z&1;if(D!==_[0]&&(D=this.sqr(D)),se===0&&S===0){d=0;continue}S<<=1,S|=se,d++,!(d!==g&&(M!==0||Z!==0))&&(D=this.mul(D,_[S]),d=0,S=0)}p=26}return D},B.prototype.convertTo=function(c){var h=c.umod(this.m);return h===c?h.clone():h},B.prototype.convertFrom=function(c){var h=c.clone();return h.red=null,h},a.mont=function(c){return new m(c)};function m(c){B.call(this,c),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new a(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)}n(m,B),m.prototype.convertTo=function(c){return this.imod(c.ushln(this.shift))},m.prototype.convertFrom=function(c){var h=this.imod(c.mul(this.rinv));return h.red=null,h},m.prototype.imul=function(c,h){if(c.isZero()||h.isZero())return c.words[0]=0,c.length=1,c;var g=c.imul(h),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),M=g.isub(_).iushrn(this.shift),D=M;return M.cmp(this.m)>=0?D=M.isub(this.m):M.cmpn(0)<0&&(D=M.iadd(this.m)),D._forceRed(this)},m.prototype.mul=function(c,h){if(c.isZero()||h.isZero())return new a(0)._forceRed(this);var g=c.mul(h),_=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),M=g.isub(_).iushrn(this.shift),D=M;return M.cmp(this.m)>=0?D=M.isub(this.m):M.cmpn(0)<0&&(D=M.iadd(this.m)),D._forceRed(this)},m.prototype.invm=function(c){var h=this.imod(c._invmp(this.m).mul(this.r2));return h._forceRed(this)}})(r,Tb)})(Ub);var vt=Ub.exports;const $b="bignumber/5.7.0";var ch=vt.BN;const cs=new Mr($b),pl={},H1=9007199254740991;function RE(r){return r!=null&&(Wr.isBigNumber(r)||typeof r=="number"&&r%1===0||typeof r=="string"&&!!r.match(/^-?[0-9]+$/)||_i(r)||typeof r=="bigint"||go(r))}let K1=!1,Wr=class fn{constructor(e,t){e!==pl&&cs.throwError("cannot call constructor directly; use BigNumber.from",Mr.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return ni(Dt(this).fromTwos(e))}toTwos(e){return ni(Dt(this).toTwos(e))}abs(){return this._hex[0]==="-"?fn.from(this._hex.substring(1)):this}add(e){return ni(Dt(this).add(Dt(e)))}sub(e){return ni(Dt(this).sub(Dt(e)))}div(e){return fn.from(e).isZero()&&Bi("division-by-zero","div"),ni(Dt(this).div(Dt(e)))}mul(e){return ni(Dt(this).mul(Dt(e)))}mod(e){const t=Dt(e);return t.isNeg()&&Bi("division-by-zero","mod"),ni(Dt(this).umod(t))}pow(e){const t=Dt(e);return t.isNeg()&&Bi("negative-power","pow"),ni(Dt(this).pow(t))}and(e){const t=Dt(e);return(this.isNegative()||t.isNeg())&&Bi("unbound-bitwise-result","and"),ni(Dt(this).and(t))}or(e){const t=Dt(e);return(this.isNegative()||t.isNeg())&&Bi("unbound-bitwise-result","or"),ni(Dt(this).or(t))}xor(e){const t=Dt(e);return(this.isNegative()||t.isNeg())&&Bi("unbound-bitwise-result","xor"),ni(Dt(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&Bi("negative-width","mask"),ni(Dt(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Bi("negative-width","shl"),ni(Dt(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Bi("negative-width","shr"),ni(Dt(this).shrn(e))}eq(e){return Dt(this).eq(Dt(e))}lt(e){return Dt(this).lt(Dt(e))}lte(e){return Dt(this).lte(Dt(e))}gt(e){return Dt(this).gt(Dt(e))}gte(e){return Dt(this).gte(Dt(e))}isNegative(){return this._hex[0]==="-"}isZero(){return Dt(this).isZero()}toNumber(){try{return Dt(this).toNumber()}catch{Bi("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return cs.throwError("this platform does not support BigInt",Mr.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?K1||(K1=!0,cs.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?cs.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Mr.errors.UNEXPECTED_ARGUMENT,{}):cs.throwError("BigNumber.toString does not accept parameters",Mr.errors.UNEXPECTED_ARGUMENT,{})),Dt(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof fn)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new fn(pl,uc(e)):e.match(/^-?[0-9]+$/)?new fn(pl,uc(new ch(e))):cs.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Bi("underflow","BigNumber.from",e),(e>=H1||e<=-H1)&&Bi("overflow","BigNumber.from",e),fn.from(String(e));const t=e;if(typeof t=="bigint")return fn.from(t.toString());if(go(t))return fn.from(oi(t));if(t)if(t.toHexString){const i=t.toHexString();if(typeof i=="string")return fn.from(i)}else{let i=t._hex;if(i==null&&t.type==="BigNumber"&&(i=t.hex),typeof i=="string"&&(_i(i)||i[0]==="-"&&_i(i.substring(1))))return fn.from(i)}return cs.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}};function uc(r){if(typeof r!="string")return uc(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&cs.throwArgumentError("invalid hex","value",r),r=uc(r),r==="0x00"?r:"-"+r;if(r.substring(0,2)!=="0x"&&(r="0x"+r),r==="0x")return"0x00";for(r.length%2&&(r="0x0"+r.substring(2));r.length>4&&r.substring(0,4)==="0x00";)r="0x"+r.substring(4);return r}function ni(r){return Wr.from(uc(r))}function Dt(r){const e=Wr.from(r).toHexString();return e[0]==="-"?new ch("-"+e.substring(3),16):new ch(e.substring(2),16)}function Bi(r,e,t){const i={fault:r,operation:e};return t!=null&&(i.value=t),cs.throwError(r,Mr.errors.NUMERIC_FAULT,i)}function NE(r){return new ch(r,36).toString(16)}const Vr=new Mr($b),nc={},zb=Wr.from(0),Fb=Wr.from(-1);function jb(r,e,t,i){const n={fault:e,operation:t};return i!==void 0&&(n.value=i),Vr.throwError(r,Mr.errors.NUMERIC_FAULT,n)}let sc="0";for(;sc.length<256;)sc+=sc;function L0(r){if(typeof r!="number")try{r=Wr.from(r).toNumber()}catch{}return typeof r=="number"&&r>=0&&r<=256&&!(r%1)?"1"+sc.substring(0,r):Vr.throwArgumentError("invalid decimal size","decimals",r)}function gl(r,e){e==null&&(e=0);const t=L0(e);r=Wr.from(r);const i=r.lt(zb);i&&(r=r.mul(Fb));let n=r.mod(t).toString();for(;n.length<t.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const a=r.div(t).toString();return t.length===1?r=a:r=a+"."+n,i&&(r="-"+r),r}function ns(r,e){e==null&&(e=0);const t=L0(e);(typeof r!="string"||!r.match(/^-?[0-9.]+$/))&&Vr.throwArgumentError("invalid decimal value","value",r);const i=r.substring(0,1)==="-";i&&(r=r.substring(1)),r==="."&&Vr.throwArgumentError("missing value","value",r);const n=r.split(".");n.length>2&&Vr.throwArgumentError("too many decimal points","value",r);let a=n[0],f=n[1];for(a||(a="0"),f||(f="0");f[f.length-1]==="0";)f=f.substring(0,f.length-1);for(f.length>t.length-1&&jb("fractional component exceeds decimals","underflow","parseFixed"),f===""&&(f="0");f.length<t.length-1;)f+="0";const u=Wr.from(a),b=Wr.from(f);let v=u.mul(t).add(b);return i&&(v=v.mul(Fb)),v}let vl=class r0{constructor(e,t,i,n){e!==nc&&Vr.throwError("cannot use FixedFormat constructor; use FixedFormat.from",Mr.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=i,this.decimals=n,this.name=(t?"":"u")+"fixed"+String(i)+"x"+String(n),this._multiplier=L0(n),Object.freeze(this)}static from(e){if(e instanceof r0)return e;typeof e=="number"&&(e=`fixed128x${e}`);let t=!0,i=128,n=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")t=!1;else{const a=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);a||Vr.throwArgumentError("invalid fixed format","format",e),t=a[1]!=="u",i=parseInt(a[2]),n=parseInt(a[3])}}else if(e){const a=(f,u,b)=>e[f]==null?b:(typeof e[f]!==u&&Vr.throwArgumentError("invalid fixed format ("+f+" not "+u+")","format."+f,e[f]),e[f]);t=a("signed","boolean",t),i=a("width","number",i),n=a("decimals","number",n)}return i%8&&Vr.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",i),n>80&&Vr.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new r0(nc,t,i,n)}},kb=class Kr{constructor(e,t,i,n){e!==nc&&Vr.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Mr.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=n,this._hex=t,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&Vr.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=ns(this._value,this.format.decimals),i=ns(e._value,e.format.decimals);return Kr.fromValue(t.add(i),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=ns(this._value,this.format.decimals),i=ns(e._value,e.format.decimals);return Kr.fromValue(t.sub(i),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=ns(this._value,this.format.decimals),i=ns(e._value,e.format.decimals);return Kr.fromValue(t.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=ns(this._value,this.format.decimals),i=ns(e._value,e.format.decimals);return Kr.fromValue(t.mul(this.format._multiplier).div(i),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=Kr.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return this.isNegative()&&i&&(t=t.subUnsafe(V1.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=Kr.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return!this.isNegative()&&i&&(t=t.addUnsafe(V1.toFormat(t.format))),t}round(e){e==null&&(e=0);const t=this.toString().split(".");if(t.length===1&&t.push("0"),(e<0||e>80||e%1)&&Vr.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const i=Kr.from("1"+sc.substring(0,e),this.format),n=TE.toFormat(this.format);return this.mulUnsafe(i).addUnsafe(n).floor().divUnsafe(i)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&Vr.throwArgumentError("invalid byte width","width",e);const t=Wr.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Tn(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Kr.fromString(this._value,e)}static fromValue(e,t,i){return i==null&&t!=null&&!RE(t)&&(i=t,t=null),t==null&&(t=0),i==null&&(i="fixed"),Kr.fromString(gl(e,t),vl.from(i))}static fromString(e,t){t==null&&(t="fixed");const i=vl.from(t),n=ns(e,i.decimals);!i.signed&&n.lt(zb)&&jb("unsigned value cannot be negative","overflow","value",e);let a=null;i.signed?a=n.toTwos(i.width).toHexString():(a=n.toHexString(),a=Tn(a,i.width/8));const f=gl(n,i.decimals);return new Kr(nc,a,f,i)}static fromBytes(e,t){t==null&&(t="fixed");const i=vl.from(t);if(er(e).length>i.width/8)throw new Error("overflow");let n=Wr.from(e);i.signed&&(n=n.fromTwos(i.width));const a=n.toTwos((i.signed?0:1)+i.width).toHexString(),f=gl(n,i.decimals);return new Kr(nc,a,f,i)}static from(e,t){if(typeof e=="string")return Kr.fromString(e,t);if(go(e))return Kr.fromBytes(e,t);try{return Kr.fromValue(e,0,t)}catch(i){if(i.code!==Mr.errors.INVALID_ARGUMENT)throw i}return Vr.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}};const V1=kb.from(1),TE=kb.from("0.5"),BE="strings/5.7.0",qE=new Mr(BE);var fh;(function(r){r.current="",r.NFC="NFC",r.NFD="NFD",r.NFKC="NFKC",r.NFKD="NFKD"})(fh||(fh={}));var G1;(function(r){r.UNEXPECTED_CONTINUE="unexpected continuation byte",r.BAD_PREFIX="bad codepoint prefix",r.OVERRUN="string overrun",r.MISSING_CONTINUE="missing continuation byte",r.OUT_OF_RANGE="out of UTF-8 range",r.UTF16_SURROGATE="UTF-16 surrogate",r.OVERLONG="overlong representation"})(G1||(G1={}));function bl(r,e=fh.current){e!=fh.current&&(qE.checkNormalize(),r=r.normalize(e));let t=[];for(let i=0;i<r.length;i++){const n=r.charCodeAt(i);if(n<128)t.push(n);else if(n<2048)t.push(n>>6|192),t.push(n&63|128);else if((n&64512)==55296){i++;const a=r.charCodeAt(i);if(i>=r.length||(a&64512)!==56320)throw new Error("invalid utf-8 string");const f=65536+((n&1023)<<10)+(a&1023);t.push(f>>18|240),t.push(f>>12&63|128),t.push(f>>6&63|128),t.push(f&63|128)}else t.push(n>>12|224),t.push(n>>6&63|128),t.push(n&63|128)}return er(t)}function LE(r){if(r.length%4!==0)throw new Error("bad data");let e=[];for(let t=0;t<r.length;t+=4)e.push(parseInt(r.substring(t,t+4),16));return e}function ml(r,e){e||(e=function(n){return[parseInt(n,16)]});let t=0,i={};return r.split(",").forEach(n=>{let a=n.split(":");t+=parseInt(a[0],16),i[t]=e(a[1])}),i}function W1(r){let e=0;return r.split(",").map(t=>{let i=t.split("-");i.length===1?i[1]="0":i[1]===""&&(i[1]="1");let n=e+parseInt(i[0],16);return e=parseInt(i[1],16),{l:n,h:e}})}W1("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(r=>parseInt(r,16)),ml("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),ml("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),ml("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",LE),W1("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function UE(r){r=atob(r);const e=[];for(let t=0;t<r.length;t++)e.push(r.charCodeAt(t));return er(e)}function Hb(r,e){e==null&&(e=1);const t=[],i=t.forEach,n=function(a,f){i.call(a,function(u){f>0&&Array.isArray(u)?n(u,f-1):t.push(u)})};return n(r,e),t}function $E(r){const e={};for(let t=0;t<r.length;t++){const i=r[t];e[i[0]]=i[1]}return e}function zE(r){let e=0;function t(){return r[e++]<<8|r[e++]}let i=t(),n=1,a=[0,1];for(let F=1;F<i;F++)a.push(n+=t());let f=t(),u=e;e+=f;let b=0,v=0;function y(){return b==0&&(v=v<<8|r[e++],b=8),v>>--b&1}const E=31,C=Math.pow(2,E),P=C>>>1,O=P>>1,j=C-1;let W=0;for(let F=0;F<E;F++)W=W<<1|y();let Q=[],H=0,Y=C;for(;;){let F=Math.floor(((W-H+1)*n-1)/Y),V=0,A=i;for(;A-V>1;){let ue=V+A>>>1;F<a[ue]?A=ue:V=ue}if(V==0)break;Q.push(V);let q=H+Math.floor(Y*a[V]/n),ae=H+Math.floor(Y*a[V+1]/n)-1;for(;!((q^ae)&P);)W=W<<1&j|y(),q=q<<1&j,ae=ae<<1&j|1;for(;q&~ae&O;)W=W&P|W<<1&j>>>1|y(),q=q<<1^P,ae=(ae^P)<<1|P|1;H=q,Y=1+ae-q}let U=i-4;return Q.map(F=>{switch(F-U){case 3:return U+65792+(r[u++]<<16|r[u++]<<8|r[u++]);case 2:return U+256+(r[u++]<<8|r[u++]);case 1:return U+r[u++];default:return F-1}})}function FE(r){let e=0;return()=>r[e++]}function jE(r){return FE(zE(r))}function kE(r){return r&1?~r>>1:r>>1}function HE(r,e){let t=Array(r);for(let i=0;i<r;i++)t[i]=1+e();return t}function J1(r,e){let t=Array(r);for(let i=0,n=-1;i<r;i++)t[i]=n+=1+e();return t}function KE(r,e){let t=Array(r);for(let i=0,n=0;i<r;i++)t[i]=n+=kE(e());return t}function hh(r,e){let t=J1(r(),r),i=r(),n=J1(i,r),a=HE(i,r);for(let f=0;f<i;f++)for(let u=0;u<a[f];u++)t.push(n[f]+u);return e?t.map(f=>e[f]):t}function VE(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(WE(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(JE(t,r))}return $E(Hb(e))}function GE(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(t)}return e}function Kb(r,e,t){let i=Array(r).fill(void 0).map(()=>[]);for(let n=0;n<e;n++)KE(r,t).forEach((a,f)=>i[f].push(a));return i}function WE(r,e){let t=1+e(),i=e(),n=GE(e),a=Kb(n.length,1+r,e);return Hb(a.map((f,u)=>{const b=f[0],v=f.slice(1);return Array(n[u]).fill(void 0).map((y,E)=>{let C=E*i;return[b+E*t,v.map(P=>P+C)]})}))}function JE(r,e){let t=1+e();return Kb(t,1+r,e).map(i=>[i[0],i.slice(1)])}function YE(r){let e=hh(r).sort((i,n)=>i-n);return t();function t(){let i=[];for(;;){let v=hh(r,e);if(v.length==0)break;i.push({set:new Set(v),node:t()})}i.sort((v,y)=>y.set.size-v.set.size);let n=r(),a=n%3;n=n/3|0;let f=!!(n&1);n>>=1;let u=n==1,b=n==2;return{branches:i,valid:a,fe0f:f,save:u,check:b}}}function QE(){return jE(UE(" "))}const Bf=QE();new Set(hh(Bf)),new Set(hh(Bf)),VE(Bf),YE(Bf);const XE=new Uint8Array(32);XE.fill(0);const ZE=`Ethereum Signed Message:
`;function Vb(r){return typeof r=="string"&&(r=bl(r)),q0(ME([bl(ZE),bl(String(r.length)),r]))}const ex="address/5.7.0",ec=new Mr(ex);function Y1(r){_i(r,20)||ec.throwArgumentError("invalid address","address",r),r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let n=0;n<40;n++)t[n]=e[n].charCodeAt(0);const i=er(q0(t));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(e[n]=e[n].toUpperCase()),(i[n>>1]&15)>=8&&(e[n+1]=e[n+1].toUpperCase());return"0x"+e.join("")}const tx=9007199254740991;function rx(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const U0={};for(let r=0;r<10;r++)U0[String(r)]=String(r);for(let r=0;r<26;r++)U0[String.fromCharCode(65+r)]=String(10+r);const Q1=Math.floor(rx(tx));function ix(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(i=>U0[i]).join("");for(;e.length>=Q1;){let i=e.substring(0,Q1);e=parseInt(i,10)%97+e.substring(i.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}function nx(r){let e=null;if(typeof r!="string"&&ec.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),e=Y1(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==r&&ec.throwArgumentError("bad address checksum","address",r);else if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(r.substring(2,4)!==ix(r)&&ec.throwArgumentError("bad icap checksum","address",r),e=NE(r.substring(4));e.length<40;)e="0"+e;e=Y1("0x"+e)}else ec.throwArgumentError("invalid address","address",r);return e}function Ko(r,e,t){Object.defineProperty(r,e,{enumerable:!0,value:t,writable:!1})}const sx=new Uint8Array(32);sx.fill(0),Wr.from(-1);const ax=Wr.from(0),ox=Wr.from(1);Wr.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Tn(ox.toHexString(),32),Tn(ax.toHexString(),32);var Sn={},Ct={},Sc=Gb;function Gb(r,e){if(!r)throw new Error(e||"Assertion failed")}Gb.equal=function(r,e,t){if(r!=e)throw new Error(t||"Assertion failed: "+r+" != "+e)};var i0={exports:{}};typeof Object.create=="function"?i0.exports=function(r,e){e&&(r.super_=e,r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:i0.exports=function(r,e){if(e){r.super_=e;var t=function(){};t.prototype=e.prototype,r.prototype=new t,r.prototype.constructor=r}};var cx=Sc,fx=i0.exports;Ct.inherits=fx;function hx(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function ux(r,e){if(Array.isArray(r))return r.slice();if(!r)return[];var t=[];if(typeof r=="string")if(e){if(e==="hex")for(r=r.replace(/[^a-z0-9]+/ig,""),r.length%2!==0&&(r="0"+r),n=0;n<r.length;n+=2)t.push(parseInt(r[n]+r[n+1],16))}else for(var i=0,n=0;n<r.length;n++){var a=r.charCodeAt(n);a<128?t[i++]=a:a<2048?(t[i++]=a>>6|192,t[i++]=a&63|128):hx(r,n)?(a=65536+((a&1023)<<10)+(r.charCodeAt(++n)&1023),t[i++]=a>>18|240,t[i++]=a>>12&63|128,t[i++]=a>>6&63|128,t[i++]=a&63|128):(t[i++]=a>>12|224,t[i++]=a>>6&63|128,t[i++]=a&63|128)}else for(n=0;n<r.length;n++)t[n]=r[n]|0;return t}Ct.toArray=ux;function lx(r){for(var e="",t=0;t<r.length;t++)e+=Jb(r[t].toString(16));return e}Ct.toHex=lx;function Wb(r){var e=r>>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}Ct.htonl=Wb;function dx(r,e){for(var t="",i=0;i<r.length;i++){var n=r[i];e==="little"&&(n=Wb(n)),t+=Yb(n.toString(16))}return t}Ct.toHex32=dx;function Jb(r){return r.length===1?"0"+r:r}Ct.zero2=Jb;function Yb(r){return r.length===7?"0"+r:r.length===6?"00"+r:r.length===5?"000"+r:r.length===4?"0000"+r:r.length===3?"00000"+r:r.length===2?"000000"+r:r.length===1?"0000000"+r:r}Ct.zero8=Yb;function px(r,e,t,i){var n=t-e;cx(n%4===0);for(var a=new Array(n/4),f=0,u=e;f<a.length;f++,u+=4){var b;i==="big"?b=r[u]<<24|r[u+1]<<16|r[u+2]<<8|r[u+3]:b=r[u+3]<<24|r[u+2]<<16|r[u+1]<<8|r[u],a[f]=b>>>0}return a}Ct.join32=px;function gx(r,e){for(var t=new Array(r.length*4),i=0,n=0;i<r.length;i++,n+=4){var a=r[i];e==="big"?(t[n]=a>>>24,t[n+1]=a>>>16&255,t[n+2]=a>>>8&255,t[n+3]=a&255):(t[n+3]=a>>>24,t[n+2]=a>>>16&255,t[n+1]=a>>>8&255,t[n]=a&255)}return t}Ct.split32=gx;function vx(r,e){return r>>>e|r<<32-e}Ct.rotr32=vx;function bx(r,e){return r<<e|r>>>32-e}Ct.rotl32=bx;function mx(r,e){return r+e>>>0}Ct.sum32=mx;function yx(r,e,t){return r+e+t>>>0}Ct.sum32_3=yx;function wx(r,e,t,i){return r+e+t+i>>>0}Ct.sum32_4=wx;function _x(r,e,t,i,n){return r+e+t+i+n>>>0}Ct.sum32_5=_x;function Ax(r,e,t,i){var n=r[e],a=r[e+1],f=i+a>>>0,u=(f<i?1:0)+t+n;r[e]=u>>>0,r[e+1]=f}Ct.sum64=Ax;function Ex(r,e,t,i){var n=e+i>>>0,a=(n<e?1:0)+r+t;return a>>>0}Ct.sum64_hi=Ex;function xx(r,e,t,i){var n=e+i;return n>>>0}Ct.sum64_lo=xx;function Sx(r,e,t,i,n,a,f,u){var b=0,v=e;v=v+i>>>0,b+=v<e?1:0,v=v+a>>>0,b+=v<a?1:0,v=v+u>>>0,b+=v<u?1:0;var y=r+t+n+f+b;return y>>>0}Ct.sum64_4_hi=Sx;function Mx(r,e,t,i,n,a,f,u){var b=e+i+a+u;return b>>>0}Ct.sum64_4_lo=Mx;function Ix(r,e,t,i,n,a,f,u,b,v){var y=0,E=e;E=E+i>>>0,y+=E<e?1:0,E=E+a>>>0,y+=E<a?1:0,E=E+u>>>0,y+=E<u?1:0,E=E+v>>>0,y+=E<v?1:0;var C=r+t+n+f+b+y;return C>>>0}Ct.sum64_5_hi=Ix;function Dx(r,e,t,i,n,a,f,u,b,v){var y=e+i+a+u+v;return y>>>0}Ct.sum64_5_lo=Dx;function Px(r,e,t){var i=e<<32-t|r>>>t;return i>>>0}Ct.rotr64_hi=Px;function Cx(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Ct.rotr64_lo=Cx;function Ox(r,e,t){return r>>>t}Ct.shr64_hi=Ox;function Rx(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Ct.shr64_lo=Rx;var vo={},X1=Ct,Nx=Sc;function qf(){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}vo.BlockHash=qf,qf.prototype.update=function(r,e){if(r=X1.toArray(r,e),this.pending?this.pending=this.pending.concat(r):this.pending=r,this.pendingTotal+=r.length,this.pending.length>=this._delta8){r=this.pending;var t=r.length%this._delta8;this.pending=r.slice(r.length-t,r.length),this.pending.length===0&&(this.pending=null),r=X1.join32(r,0,r.length-t,this.endian);for(var i=0;i<r.length;i+=this._delta32)this._update(r,i,i+this._delta32)}return this},qf.prototype.digest=function(r){return this.update(this._pad()),Nx(this.pending===null),this._digest(r)},qf.prototype._pad=function(){var r=this.pendingTotal,e=this._delta8,t=e-(r+this.padLength)%e,i=new Array(t+this.padLength);i[0]=128;for(var n=1;n<t;n++)i[n]=0;if(r<<=3,this.endian==="big"){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=r>>>24&255,i[n++]=r>>>16&255,i[n++]=r>>>8&255,i[n++]=r&255}else for(i[n++]=r&255,i[n++]=r>>>8&255,i[n++]=r>>>16&255,i[n++]=r>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i};var ka={},Vn={},Tx=Ct,Bn=Tx.rotr32;function Bx(r,e,t,i){if(r===0)return Qb(e,t,i);if(r===1||r===3)return Zb(e,t,i);if(r===2)return Xb(e,t,i)}Vn.ft_1=Bx;function Qb(r,e,t){return r&e^~r&t}Vn.ch32=Qb;function Xb(r,e,t){return r&e^r&t^e&t}Vn.maj32=Xb;function Zb(r,e,t){return r^e^t}Vn.p32=Zb;function qx(r){return Bn(r,2)^Bn(r,13)^Bn(r,22)}Vn.s0_256=qx;function Lx(r){return Bn(r,6)^Bn(r,11)^Bn(r,25)}Vn.s1_256=Lx;function Ux(r){return Bn(r,7)^Bn(r,18)^r>>>3}Vn.g0_256=Ux;function $x(r){return Bn(r,17)^Bn(r,19)^r>>>10}Vn.g1_256=$x;var io=Ct,zx=vo,Fx=Vn,yl=io.rotl32,Vo=io.sum32,jx=io.sum32_5,kx=Fx.ft_1,e2=zx.BlockHash,Hx=[1518500249,1859775393,2400959708,3395469782];function Pn(){if(!(this instanceof Pn))return new Pn;e2.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}io.inherits(Pn,e2);var Kx=Pn;Pn.blockSize=512,Pn.outSize=160,Pn.hmacStrength=80,Pn.padLength=64,Pn.prototype._update=function(r,e){for(var t=this.W,i=0;i<16;i++)t[i]=r[e+i];for(;i<t.length;i++)t[i]=yl(t[i-3]^t[i-8]^t[i-14]^t[i-16],1);var n=this.h[0],a=this.h[1],f=this.h[2],u=this.h[3],b=this.h[4];for(i=0;i<t.length;i++){var v=~~(i/20),y=jx(yl(n,5),kx(v,a,f,u),b,t[i],Hx[v]);b=u,u=f,f=yl(a,30),a=n,n=y}this.h[0]=Vo(this.h[0],n),this.h[1]=Vo(this.h[1],a),this.h[2]=Vo(this.h[2],f),this.h[3]=Vo(this.h[3],u),this.h[4]=Vo(this.h[4],b)},Pn.prototype._digest=function(r){return r==="hex"?io.toHex32(this.h,"big"):io.split32(this.h,"big")};var no=Ct,Vx=vo,bo=Vn,Gx=Sc,an=no.sum32,Wx=no.sum32_4,Jx=no.sum32_5,Yx=bo.ch32,Qx=bo.maj32,Xx=bo.s0_256,Zx=bo.s1_256,eS=bo.g0_256,tS=bo.g1_256,t2=Vx.BlockHash,rS=[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 Cn(){if(!(this instanceof Cn))return new Cn;t2.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=rS,this.W=new Array(64)}no.inherits(Cn,t2);var r2=Cn;Cn.blockSize=512,Cn.outSize=256,Cn.hmacStrength=192,Cn.padLength=64,Cn.prototype._update=function(r,e){for(var t=this.W,i=0;i<16;i++)t[i]=r[e+i];for(;i<t.length;i++)t[i]=Wx(tS(t[i-2]),t[i-7],eS(t[i-15]),t[i-16]);var n=this.h[0],a=this.h[1],f=this.h[2],u=this.h[3],b=this.h[4],v=this.h[5],y=this.h[6],E=this.h[7];for(Gx(this.k.length===t.length),i=0;i<t.length;i++){var C=Jx(E,Zx(b),Yx(b,v,y),this.k[i],t[i]),P=an(Xx(n),Qx(n,a,f));E=y,y=v,v=b,b=an(u,C),u=f,f=a,a=n,n=an(C,P)}this.h[0]=an(this.h[0],n),this.h[1]=an(this.h[1],a),this.h[2]=an(this.h[2],f),this.h[3]=an(this.h[3],u),this.h[4]=an(this.h[4],b),this.h[5]=an(this.h[5],v),this.h[6]=an(this.h[6],y),this.h[7]=an(this.h[7],E)},Cn.prototype._digest=function(r){return r==="hex"?no.toHex32(this.h,"big"):no.split32(this.h,"big")};var n0=Ct,i2=r2;function hs(){if(!(this instanceof hs))return new hs;i2.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n0.inherits(hs,i2);var iS=hs;hs.blockSize=512,hs.outSize=224,hs.hmacStrength=192,hs.padLength=64,hs.prototype._digest=function(r){return r==="hex"?n0.toHex32(this.h.slice(0,7),"big"):n0.split32(this.h.slice(0,7),"big")};var li=Ct,nS=vo,sS=Sc,qn=li.rotr64_hi,Ln=li.rotr64_lo,n2=li.shr64_hi,s2=li.shr64_lo,Ps=li.sum64,wl=li.sum64_hi,_l=li.sum64_lo,aS=li.sum64_4_hi,oS=li.sum64_4_lo,cS=li.sum64_5_hi,fS=li.sum64_5_lo,a2=nS.BlockHash,hS=[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 un(){if(!(this instanceof un))return new un;a2.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=hS,this.W=new Array(160)}li.inherits(un,a2);var o2=un;un.blockSize=1024,un.outSize=512,un.hmacStrength=192,un.padLength=128,un.prototype._prepareBlock=function(r,e){for(var t=this.W,i=0;i<32;i++)t[i]=r[e+i];for(;i<t.length;i+=2){var n=_S(t[i-4],t[i-3]),a=AS(t[i-4],t[i-3]),f=t[i-14],u=t[i-13],b=yS(t[i-30],t[i-29]),v=wS(t[i-30],t[i-29]),y=t[i-32],E=t[i-31];t[i]=aS(n,a,f,u,b,v,y,E),t[i+1]=oS(n,a,f,u,b,v,y,E)}},un.prototype._update=function(r,e){this._prepareBlock(r,e);var t=this.W,i=this.h[0],n=this.h[1],a=this.h[2],f=this.h[3],u=this.h[4],b=this.h[5],v=this.h[6],y=this.h[7],E=this.h[8],C=this.h[9],P=this.h[10],O=this.h[11],j=this.h[12],W=this.h[13],Q=this.h[14],H=this.h[15];sS(this.k.length===t.length);for(var Y=0;Y<t.length;Y+=2){var U=Q,F=H,V=bS(E,C),A=mS(E,C),q=uS(E,C,P,O,j),ae=lS(E,C,P,O,j,W),ue=this.k[Y],B=this.k[Y+1],m=t[Y],c=t[Y+1],h=cS(U,F,V,A,q,ae,ue,B,m,c),g=fS(U,F,V,A,q,ae,ue,B,m,c);U=gS(i,n),F=vS(i,n),V=dS(i,n,a,f,u),A=pS(i,n,a,f,u,b);var _=wl(U,F,V,A),M=_l(U,F,V,A);Q=j,H=W,j=P,W=O,P=E,O=C,E=wl(v,y,h,g),C=_l(y,y,h,g),v=u,y=b,u=a,b=f,a=i,f=n,i=wl(h,g,_,M),n=_l(h,g,_,M)}Ps(this.h,0,i,n),Ps(this.h,2,a,f),Ps(this.h,4,u,b),Ps(this.h,6,v,y),Ps(this.h,8,E,C),Ps(this.h,10,P,O),Ps(this.h,12,j,W),Ps(this.h,14,Q,H)},un.prototype._digest=function(r){return r==="hex"?li.toHex32(this.h,"big"):li.split32(this.h,"big")};function uS(r,e,t,i,n){var a=r&t^~r&n;return a<0&&(a+=4294967296),a}function lS(r,e,t,i,n,a){var f=e&i^~e&a;return f<0&&(f+=4294967296),f}function dS(r,e,t,i,n){var a=r&t^r&n^t&n;return a<0&&(a+=4294967296),a}function pS(r,e,t,i,n,a){var f=e&i^e&a^i&a;return f<0&&(f+=4294967296),f}function gS(r,e){var t=qn(r,e,28),i=qn(e,r,2),n=qn(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function vS(r,e){var t=Ln(r,e,28),i=Ln(e,r,2),n=Ln(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function bS(r,e){var t=qn(r,e,14),i=qn(r,e,18),n=qn(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function mS(r,e){var t=Ln(r,e,14),i=Ln(r,e,18),n=Ln(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function yS(r,e){var t=qn(r,e,1),i=qn(r,e,8),n=n2(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function wS(r,e){var t=Ln(r,e,1),i=Ln(r,e,8),n=s2(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function _S(r,e){var t=qn(r,e,19),i=qn(e,r,29),n=n2(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}function AS(r,e){var t=Ln(r,e,19),i=Ln(e,r,29),n=s2(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}var s0=Ct,c2=o2;function us(){if(!(this instanceof us))return new us;c2.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}s0.inherits(us,c2);var ES=us;us.blockSize=1024,us.outSize=384,us.hmacStrength=192,us.padLength=128,us.prototype._digest=function(r){return r==="hex"?s0.toHex32(this.h.slice(0,12),"big"):s0.split32(this.h.slice(0,12),"big")},ka.sha1=Kx,ka.sha224=iS,ka.sha256=r2,ka.sha384=ES,ka.sha512=o2;var f2={},ha=Ct,xS=vo,Lf=ha.rotl32,Z1=ha.sum32,Go=ha.sum32_3,eg=ha.sum32_4,h2=xS.BlockHash;function Mn(){if(!(this instanceof Mn))return new Mn;h2.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}ha.inherits(Mn,h2),f2.ripemd160=Mn,Mn.blockSize=512,Mn.outSize=160,Mn.hmacStrength=192,Mn.padLength=64,Mn.prototype._update=function(r,e){for(var t=this.h[0],i=this.h[1],n=this.h[2],a=this.h[3],f=this.h[4],u=t,b=i,v=n,y=a,E=f,C=0;C<80;C++){var P=Z1(Lf(eg(t,tg(C,i,n,a),r[IS[C]+e],SS(C)),PS[C]),f);t=f,f=a,a=Lf(n,10),n=i,i=P,P=Z1(Lf(eg(u,tg(79-C,b,v,y),r[DS[C]+e],MS(C)),CS[C]),E),u=E,E=y,y=Lf(v,10),v=b,b=P}P=Go(this.h[1],n,y),this.h[1]=Go(this.h[2],a,E),this.h[2]=Go(this.h[3],f,u),this.h[3]=Go(this.h[4],t,b),this.h[4]=Go(this.h[0],i,v),this.h[0]=P},Mn.prototype._digest=function(r){return r==="hex"?ha.toHex32(this.h,"little"):ha.split32(this.h,"little")};function tg(r,e,t,i){return r<=15?e^t^i:r<=31?e&t|~e&i:r<=47?(e|~t)^i:r<=63?e&i|t&~i:e^(t|~i)}function SS(r){return r<=15?0:r<=31?1518500249:r<=47?1859775393:r<=63?2400959708:2840853838}function MS(r){return r<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0}var IS=[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],DS=[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],PS=[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],CS=[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],OS=Ct,RS=Sc;function Qa(r,e,t){if(!(this instanceof Qa))return new Qa(r,e,t);this.Hash=r,this.blockSize=r.blockSize/8,this.outSize=r.outSize/8,this.inner=null,this.outer=null,this._init(OS.toArray(e,t))}var NS=Qa;Qa.prototype._init=function(r){r.length>this.blockSize&&(r=new this.Hash().update(r).digest()),RS(r.length<=this.blockSize);for(var e=r.length;e<this.blockSize;e++)r.push(0);for(e=0;e<r.length;e++)r[e]^=54;for(this.inner=new this.Hash().update(r),e=0;e<r.length;e++)r[e]^=106;this.outer=new this.Hash().update(r)},Qa.prototype.update=function(r,e){return this.inner.update(r,e),this},Qa.prototype.digest=function(r){return this.outer.update(this.inner.digest()),this.outer.digest(r)},function(r){var e=r;e.utils=Ct,e.common=vo,e.sha=ka,e.ripemd=f2,e.hmac=NS,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}(Sn);function mo(r,e,t){return t={path:e,exports:{},require:function(i,n){return TS(i,n??t.path)}},r(t,t.exports),t.exports}function TS(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var $0=u2;function u2(r,e){if(!r)throw new Error(e||"Assertion failed")}u2.equal=function(r,e,t){if(r!=e)throw new Error(t||"Assertion failed: "+r+" != "+e)};var ln=mo(function(r,e){var t=e;function i(f,u){if(Array.isArray(f))return f.slice();if(!f)return[];var b=[];if(typeof f!="string"){for(var v=0;v<f.length;v++)b[v]=f[v]|0;return b}if(u==="hex"){f=f.replace(/[^a-z0-9]+/ig,""),f.length%2!==0&&(f="0"+f);for(var v=0;v<f.length;v+=2)b.push(parseInt(f[v]+f[v+1],16))}else for(var v=0;v<f.length;v++){var y=f.charCodeAt(v),E=y>>8,C=y&255;E?b.push(E,C):b.push(C)}return b}t.toArray=i;function n(f){return f.length===1?"0"+f:f}t.zero2=n;function a(f){for(var u="",b=0;b<f.length;b++)u+=n(f[b].toString(16));return u}t.toHex=a,t.encode=function(f,u){return u==="hex"?a(f):f}}),Ai=mo(function(r,e){var t=e;t.assert=$0,t.toArray=ln.toArray,t.zero2=ln.zero2,t.toHex=ln.toHex,t.encode=ln.encode;function i(b,v,y){var E=new Array(Math.max(b.bitLength(),y)+1);E.fill(0);for(var C=1<<v+1,P=b.clone(),O=0;O<E.length;O++){var j,W=P.andln(C-1);P.isOdd()?(W>(C>>1)-1?j=(C>>1)-W:j=W,P.isubn(j)):j=0,E[O]=j,P.iushrn(1)}return E}t.getNAF=i;function n(b,v){var y=[[],[]];b=b.clone(),v=v.clone();for(var E=0,C=0,P;b.cmpn(-E)>0||v.cmpn(-C)>0;){var O=b.andln(3)+E&3,j=v.andln(3)+C&3;O===3&&(O=-1),j===3&&(j=-1);var W;O&1?(P=b.andln(7)+E&7,(P===3||P===5)&&j===2?W=-O:W=O):W=0,y[0].push(W);var Q;j&1?(P=v.andln(7)+C&7,(P===3||P===5)&&O===2?Q=-j:Q=j):Q=0,y[1].push(Q),2*E===W+1&&(E=1-E),2*C===Q+1&&(C=1-C),b.iushrn(1),v.iushrn(1)}return y}t.getJSF=n;function a(b,v,y){var E="_"+v;b.prototype[v]=function(){return this[E]!==void 0?this[E]:this[E]=y.call(this)}}t.cachedProperty=a;function f(b){return typeof b=="string"?t.toArray(b,"hex"):b}t.parseBytes=f;function u(b){return new vt(b,"hex","le")}t.intFromLE=u}),Uf=Ai.getNAF,BS=Ai.getJSF,uh=Ai.assert;function Ns(r,e){this.type=r,this.p=new vt(e.p,16),this.red=e.prime?vt.red(e.prime):vt.mont(this.p),this.zero=new vt(0).toRed(this.red),this.one=new vt(1).toRed(this.red),this.two=new vt(2).toRed(this.red),this.n=e.n&&new vt(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var va=Ns;Ns.prototype.point=function(){throw new Error("Not implemented")},Ns.prototype.validate=function(){throw new Error("Not implemented")},Ns.prototype._fixedNafMul=function(r,e){uh(r.precomputed);var t=r._getDoubles(),i=Uf(e,1,this._bitLength),n=(1<<t.step+1)-(t.step%2===0?2:1);n/=3;var a=[],f,u;for(f=0;f<i.length;f+=t.step){u=0;for(var b=f+t.step-1;b>=f;b--)u=(u<<1)+i[b];a.push(u)}for(var v=this.jpoint(null,null,null),y=this.jpoint(null,null,null),E=n;E>0;E--){for(f=0;f<a.length;f++)u=a[f],u===E?y=y.mixedAdd(t.points[f]):u===-E&&(y=y.mixedAdd(t.points[f].neg()));v=v.add(y)}return v.toP()},Ns.prototype._wnafMul=function(r,e){var t=4,i=r._getNAFPoints(t);t=i.wnd;for(var n=i.points,a=Uf(e,t,this._bitLength),f=this.jpoint(null,null,null),u=a.length-1;u>=0;u--){for(var b=0;u>=0&&a[u]===0;u--)b++;if(u>=0&&b++,f=f.dblp(b),u<0)break;var v=a[u];uh(v!==0),r.type==="affine"?v>0?f=f.mixedAdd(n[v-1>>1]):f=f.mixedAdd(n[-v-1>>1].neg()):v>0?f=f.add(n[v-1>>1]):f=f.add(n[-v-1>>1].neg())}return r.type==="affine"?f.toP():f},Ns.prototype._wnafMulAdd=function(r,e,t,i,n){var a=this._wnafT1,f=this._wnafT2,u=this._wnafT3,b=0,v,y,E;for(v=0;v<i;v++){E=e[v];var C=E._getNAFPoints(r);a[v]=C.wnd,f[v]=C.points}for(v=i-1;v>=1;v-=2){var P=v-1,O=v;if(a[P]!==1||a[O]!==1){u[P]=Uf(t[P],a[P],this._bitLength),u[O]=Uf(t[O],a[O],this._bitLength),b=Math.max(u[P].length,b),b=Math.max(u[O].length,b);continue}var j=[e[P],null,null,e[O]];e[P].y.cmp(e[O].y)===0?(j[1]=e[P].add(e[O]),j[2]=e[P].toJ().mixedAdd(e[O].neg())):e[P].y.cmp(e[O].y.redNeg())===0?(j[1]=e[P].toJ().mixedAdd(e[O]),j[2]=e[P].add(e[O].neg())):(j[1]=e[P].toJ().mixedAdd(e[O]),j[2]=e[P].toJ().mixedAdd(e[O].neg()));var W=[-3,-1,-5,-7,0,7,5,1,3],Q=BS(t[P],t[O]);for(b=Math.max(Q[0].length,b),u[P]=new Array(b),u[O]=new Array(b),y=0;y<b;y++){var H=Q[0][y]|0,Y=Q[1][y]|0;u[P][y]=W[(H+1)*3+(Y+1)],u[O][y]=0,f[P]=j}}var U=this.jpoint(null,null,null),F=this._wnafT4;for(v=b;v>=0;v--){for(var V=0;v>=0;){var A=!0;for(y=0;y<i;y++)F[y]=u[y][v]|0,F[y]!==0&&(A=!1);if(!A)break;V++,v--}if(v>=0&&V++,U=U.dblp(V),v<0)break;for(y=0;y<i;y++){var q=F[y];q!==0&&(q>0?E=f[y][q-1>>1]:q<0&&(E=f[y][-q-1>>1].neg()),E.type==="affine"?U=U.mixedAdd(E):U=U.add(E))}}for(v=0;v<i;v++)f[v]=null;return n?U:U.toP()};function qi(r,e){this.curve=r,this.type=e,this.precomputed=null}Ns.BasePoint=qi,qi.prototype.eq=function(){throw new Error("Not implemented")},qi.prototype.validate=function(){return this.curve.validate(this)},Ns.prototype.decodePoint=function(r,e){r=Ai.toArray(r,e);var t=this.p.byteLength();if((r[0]===4||r[0]===6||r[0]===7)&&r.length-1===2*t){r[0]===6?uh(r[r.length-1]%2===0):r[0]===7&&uh(r[r.length-1]%2===1);var i=this.point(r.slice(1,1+t),r.slice(1+t,1+2*t));return i}else if((r[0]===2||r[0]===3)&&r.length-1===t)return this.pointFromX(r.slice(1,1+t),r[0]===3);throw new Error("Unknown point format")},qi.prototype.encodeCompressed=function(r){return this.encode(r,!0)},qi.prototype._encode=function(r){var e=this.curve.p.byteLength(),t=this.getX().toArray("be",e);return r?[this.getY().isEven()?2:3].concat(t):[4].concat(t,this.getY().toArray("be",e))},qi.prototype.encode=function(r,e){return Ai.encode(this._encode(e),r)},qi.prototype.precompute=function(r){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,r),e.beta=this._getBeta(),this.precomputed=e,this},qi.prototype._hasDoubles=function(r){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return e?e.points.length>=Math.ceil((r.bitLength()+1)/e.step):!1},qi.prototype._getDoubles=function(r,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],i=this,n=0;n<e;n+=r){for(var a=0;a<r;a++)i=i.dbl();t.push(i)}return{step:r,points:t}},qi.prototype._getNAFPoints=function(r){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],t=(1<<r)-1,i=t===1?null:this.dbl(),n=1;n<t;n++)e[n]=e[n-1].add(i);return{wnd:r,points:e}},qi.prototype._getBeta=function(){return null},qi.prototype.dblp=function(r){for(var e=this,t=0;t<r;t++)e=e.dbl();return e};var z0=mo(function(r){typeof Object.create=="function"?r.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:r.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}}),qS=Ai.assert;function Fi(r){va.call(this,"short",r),this.a=new vt(r.a,16).toRed(this.red),this.b=new vt(r.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(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}z0(Fi,va);var LS=Fi;Fi.prototype._getEndomorphism=function(r){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var e,t;if(r.beta)e=new vt(r.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=i[0].cmp(i[1])<0?i[0]:i[1],e=e.toRed(this.red)}if(r.lambda)t=new vt(r.lambda,16);else{var n=this._getEndoRoots(this.n);this.g.mul(n[0]).x.cmp(this.g.x.redMul(e))===0?t=n[0]:(t=n[1],qS(this.g.mul(t).x.cmp(this.g.x.redMul(e))===0))}var a;return r.basis?a=r.basis.map(function(f){return{a:new vt(f.a,16),b:new vt(f.b,16)}}):a=this._getEndoBasis(t),{beta:e,lambda:t,basis:a}}},Fi.prototype._getEndoRoots=function(r){var e=r===this.p?this.red:vt.mont(r),t=new vt(2).toRed(e).redInvm(),i=t.redNeg(),n=new vt(3).toRed(e).redNeg().redSqrt().redMul(t),a=i.redAdd(n).fromRed(),f=i.redSub(n).fromRed();return[a,f]},Fi.prototype._getEndoBasis=function(r){for(var e=this.n.ushrn(Math.floor(this.n.bitLength()/2)),t=r,i=this.n.clone(),n=new vt(1),a=new vt(0),f=new vt(0),u=new vt(1),b,v,y,E,C,P,O,j=0,W,Q;t.cmpn(0)!==0;){var H=i.div(t);W=i.sub(H.mul(t)),Q=f.sub(H.mul(n));var Y=u.sub(H.mul(a));if(!y&&W.cmp(e)<0)b=O.neg(),v=n,y=W.neg(),E=Q;else if(y&&++j===2)break;O=W,i=t,t=W,f=n,n=Q,u=a,a=Y}C=W.neg(),P=Q;var U=y.sqr().add(E.sqr()),F=C.sqr().add(P.sqr());return F.cmp(U)>=0&&(C=b,P=v),y.negative&&(y=y.neg(),E=E.neg()),C.negative&&(C=C.neg(),P=P.neg()),[{a:y,b:E},{a:C,b:P}]},Fi.prototype._endoSplit=function(r){var e=this.endo.basis,t=e[0],i=e[1],n=i.b.mul(r).divRound(this.n),a=t.b.neg().mul(r).divRound(this.n),f=n.mul(t.a),u=a.mul(i.a),b=n.mul(t.b),v=a.mul(i.b),y=r.sub(f).sub(u),E=b.add(v).neg();return{k1:y,k2:E}},Fi.prototype.pointFromX=function(r,e){r=new vt(r,16),r.red||(r=r.toRed(this.red));var t=r.redSqr().redMul(r).redIAdd(r.redMul(this.a)).redIAdd(this.b),i=t.redSqrt();if(i.redSqr().redSub(t).cmp(this.zero)!==0)throw new Error("invalid point");var n=i.fromRed().isOdd();return(e&&!n||!e&&n)&&(i=i.redNeg()),this.point(r,i)},Fi.prototype.validate=function(r){if(r.inf)return!0;var e=r.x,t=r.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return t.redSqr().redISub(n).cmpn(0)===0},Fi.prototype._endoWnafMulAdd=function(r,e,t){for(var i=this._endoWnafT1,n=this._endoWnafT2,a=0;a<r.length;a++){var f=this._endoSplit(e[a]),u=r[a],b=u._getBeta();f.k1.negative&&(f.k1.ineg(),u=u.neg(!0)),f.k2.negative&&(f.k2.ineg(),b=b.neg(!0)),i[a*2]=u,i[a*2+1]=b,n[a*2]=f.k1,n[a*2+1]=f.k2}for(var v=this._wnafMulAdd(1,i,n,a*2,t),y=0;y<a*2;y++)i[y]=null,n[y]=null;return v};function vr(r,e,t,i){va.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new vt(e,16),this.y=new vt(t,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)}z0(vr,va.BasePoint),Fi.prototype.point=function(r,e,t){return new vr(this,r,e,t)},Fi.prototype.pointFromJSON=function(r,e){return vr.fromJSON(this,r,e)},vr.prototype._getBeta=function(){if(this.curve.endo){var r=this.precomputed;if(r&&r.beta)return r.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(r){var t=this.curve,i=function(n){return t.point(n.x.redMul(t.endo.beta),n.y)};r.beta=e,e.precomputed={beta:null,naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e}},vr.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]},vr.fromJSON=function(r,e,t){typeof e=="string"&&(e=JSON.parse(e));var i=r.point(e[0],e[1],t);if(!e[2])return i;function n(f){return r.point(f[0],f[1],t)}var a=e[2];return i.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[i].concat(a.doubles.points.map(n))},naf:a.naf&&{wnd:a.naf.wnd,points:[i].concat(a.naf.points.map(n))}},i},vr.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)+">"},vr.prototype.isInfinity=function(){return this.inf},vr.prototype.add=function(r){if(this.inf)return r;if(r.inf)return this;if(this.eq(r))return this.dbl();if(this.neg().eq(r))return this.curve.point(null,null);if(this.x.cmp(r.x)===0)return this.curve.point(null,null);var e=this.y.redSub(r.y);e.cmpn(0)!==0&&(e=e.redMul(this.x.redSub(r.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(r.x),i=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,i)},vr.prototype.dbl=function(){if(this.inf)return this;var r=this.y.redAdd(this.y);if(r.cmpn(0)===0)return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),i=r.redInvm(),n=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(i),a=n.redSqr().redISub(this.x.redAdd(this.x)),f=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,f)},vr.prototype.getX=function(){return this.x.fromRed()},vr.prototype.getY=function(){return this.y.fromRed()},vr.prototype.mul=function(r){return r=new vt(r,16),this.isInfinity()?this:this._hasDoubles(r)?this.curve._fixedNafMul(this,r):this.curve.endo?this.curve._endoWnafMulAdd([this],[r]):this.curve._wnafMul(this,r)},vr.prototype.mulAdd=function(r,e,t){var i=[this,e],n=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},vr.prototype.jmulAdd=function(r,e,t){var i=[this,e],n=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},vr.prototype.eq=function(r){return this===r||this.inf===r.inf&&(this.inf||this.x.cmp(r.x)===0&&this.y.cmp(r.y)===0)},vr.prototype.neg=function(r){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(r&&this.precomputed){var t=this.precomputed,i=function(n){return n.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(i)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(i)}}}return e},vr.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var r=this.curve.jpoint(this.x,this.y,this.curve.one);return r};function Ar(r,e,t,i){va.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new vt(0)):(this.x=new vt(e,16),this.y=new vt(t,16),this.z=new vt(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}z0(Ar,va.BasePoint),Fi.prototype.jpoint=function(r,e,t){return new Ar(this,r,e,t)},Ar.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var r=this.z.redInvm(),e=r.redSqr(),t=this.x.redMul(e),i=this.y.redMul(e).redMul(r);return this.curve.point(t,i)},Ar.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ar.prototype.add=function(r){if(this.isInfinity())return r;if(r.isInfinity())return this;var e=r.z.redSqr(),t=this.z.redSqr(),i=this.x.redMul(e),n=r.x.redMul(t),a=this.y.redMul(e.redMul(r.z)),f=r.y.redMul(t.redMul(this.z)),u=i.redSub(n),b=a.redSub(f);if(u.cmpn(0)===0)return b.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var v=u.redSqr(),y=v.redMul(u),E=i.redMul(v),C=b.redSqr().redIAdd(y).redISub(E).redISub(E),P=b.redMul(E.redISub(C)).redISub(a.redMul(y)),O=this.z.redMul(r.z).redMul(u);return this.curve.jpoint(C,P,O)},Ar.prototype.mixedAdd=function(r){if(this.isInfinity())return r.toJ();if(r.isInfinity())return this;var e=this.z.redSqr(),t=this.x,i=r.x.redMul(e),n=this.y,a=r.y.redMul(e).redMul(this.z),f=t.redSub(i),u=n.redSub(a);if(f.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var b=f.redSqr(),v=b.redMul(f),y=t.redMul(b),E=u.redSqr().redIAdd(v).redISub(y).redISub(y),C=u.redMul(y.redISub(E)).redISub(n.redMul(v)),P=this.z.redMul(f);return this.curve.jpoint(E,C,P)},Ar.prototype.dblp=function(r){if(r===0)return this;if(this.isInfinity())return this;if(!r)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var t=this;for(e=0;e<r;e++)t=t.dbl();return t}var i=this.curve.a,n=this.curve.tinv,a=this.x,f=this.y,u=this.z,b=u.redSqr().redSqr(),v=f.redAdd(f);for(e=0;e<r;e++){var y=a.redSqr(),E=v.redSqr(),C=E.redSqr(),P=y.redAdd(y).redIAdd(y).redIAdd(i.redMul(b)),O=a.redMul(E),j=P.redSqr().redISub(O.redAdd(O)),W=O.redISub(j),Q=P.redMul(W);Q=Q.redIAdd(Q).redISub(C);var H=v.redMul(u);e+1<r&&(b=b.redMul(C)),a=j,u=H,v=Q}return this.curve.jpoint(a,v.redMul(n),u)},Ar.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Ar.prototype._zeroDbl=function(){var r,e,t;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),f=this.x.redAdd(n).redSqr().redISub(i).redISub(a);f=f.redIAdd(f);var u=i.redAdd(i).redIAdd(i),b=u.redSqr().redISub(f).redISub(f),v=a.redIAdd(a);v=v.redIAdd(v),v=v.redIAdd(v),r=b,e=u.redMul(f.redISub(b)).redISub(v),t=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),E=this.y.redSqr(),C=E.redSqr(),P=this.x.redAdd(E).redSqr().redISub(y).redISub(C);P=P.redIAdd(P);var O=y.redAdd(y).redIAdd(y),j=O.redSqr(),W=C.redIAdd(C);W=W.redIAdd(W),W=W.redIAdd(W),r=j.redISub(P).redISub(P),e=O.redMul(P.redISub(r)).redISub(W),t=this.y.redMul(this.z),t=t.redIAdd(t)}return this.curve.jpoint(r,e,t)},Ar.prototype._threeDbl=function(){var r,e,t;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),f=this.x.redAdd(n).redSqr().redISub(i).redISub(a);f=f.redIAdd(f);var u=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),b=u.redSqr().redISub(f).redISub(f);r=b;var v=a.redIAdd(a);v=v.redIAdd(v),v=v.redIAdd(v),e=u.redMul(f.redISub(b)).redISub(v),t=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),E=this.y.redSqr(),C=this.x.redMul(E),P=this.x.redSub(y).redMul(this.x.redAdd(y));P=P.redAdd(P).redIAdd(P);var O=C.redIAdd(C);O=O.redIAdd(O);var j=O.redAdd(O);r=P.redSqr().redISub(j),t=this.y.redAdd(this.z).redSqr().redISub(E).redISub(y);var W=E.redSqr();W=W.redIAdd(W),W=W.redIAdd(W),W=W.redIAdd(W),e=P.redMul(O.redISub(r)).redISub(W)}return this.curve.jpoint(r,e,t)},Ar.prototype._dbl=function(){var r=this.curve.a,e=this.x,t=this.y,i=this.z,n=i.redSqr().redSqr(),a=e.redSqr(),f=t.redSqr(),u=a.redAdd(a).redIAdd(a).redIAdd(r.redMul(n)),b=e.redAdd(e);b=b.redIAdd(b);var v=b.redMul(f),y=u.redSqr().redISub(v.redAdd(v)),E=v.redISub(y),C=f.redSqr();C=C.redIAdd(C),C=C.redIAdd(C),C=C.redIAdd(C);var P=u.redMul(E).redISub(C),O=t.redAdd(t).redMul(i);return this.curve.jpoint(y,P,O)},Ar.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var r=this.x.redSqr(),e=this.y.redSqr(),t=this.z.redSqr(),i=e.redSqr(),n=r.redAdd(r).redIAdd(r),a=n.redSqr(),f=this.x.redAdd(e).redSqr().redISub(r).redISub(i);f=f.redIAdd(f),f=f.redAdd(f).redIAdd(f),f=f.redISub(a);var u=f.redSqr(),b=i.redIAdd(i);b=b.redIAdd(b),b=b.redIAdd(b),b=b.redIAdd(b);var v=n.redIAdd(f).redSqr().redISub(a).redISub(u).redISub(b),y=e.redMul(v);y=y.redIAdd(y),y=y.redIAdd(y);var E=this.x.redMul(u).redISub(y);E=E.redIAdd(E),E=E.redIAdd(E);var C=this.y.redMul(v.redMul(b.redISub(v)).redISub(f.redMul(u)));C=C.redIAdd(C),C=C.redIAdd(C),C=C.redIAdd(C);var P=this.z.redAdd(f).redSqr().redISub(t).redISub(u);return this.curve.jpoint(E,C,P)},Ar.prototype.mul=function(r,e){return r=new vt(r,e),this.curve._wnafMul(this,r)},Ar.prototype.eq=function(r){if(r.type==="affine")return this.eq(r.toJ());if(this===r)return!0;var e=this.z.redSqr(),t=r.z.redSqr();if(this.x.redMul(t).redISub(r.x.redMul(e)).cmpn(0)!==0)return!1;var i=e.redMul(this.z),n=t.redMul(r.z);return this.y.redMul(n).redISub(r.y.redMul(i)).cmpn(0)===0},Ar.prototype.eqXToP=function(r){var e=this.z.redSqr(),t=r.toRed(this.curve.red).redMul(e);if(this.x.cmp(t)===0)return!0;for(var i=r.clone(),n=this.curve.redN.redMul(e);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),this.x.cmp(t)===0)return!0}},Ar.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)+">"},Ar.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Wf=mo(function(r,e){var t=e;t.base=va,t.short=LS,t.mont=null,t.edwards=null}),Jf=mo(function(r,e){var t=e,i=Ai.assert;function n(u){u.type==="short"?this.curve=new Wf.short(u):u.type==="edwards"?this.curve=new Wf.edwards(u):this.curve=new Wf.mont(u),this.g=this.curve.g,this.n=this.curve.n,this.hash=u.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}t.PresetCurve=n;function a(u,b){Object.defineProperty(t,u,{configurable:!0,enumerable:!0,get:function(){var v=new n(b);return Object.defineProperty(t,u,{configurable:!0,enumerable:!0,value:v}),v}})}a("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:Sn.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("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:Sn.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("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:Sn.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("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:Sn.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"]}),a("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:Sn.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"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Sn.sha256,gRed:!1,g:["9"]}),a("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:Sn.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var f;try{f=null.crash()}catch{f=void 0}a("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:Sn.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",f]})});function Ts(r){if(!(this instanceof Ts))return new Ts(r);this.hash=r.hash,this.predResist=!!r.predResist,this.outLen=this.hash.outSize,this.minEntropy=r.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=ln.toArray(r.entropy,r.entropyEnc||"hex"),t=ln.toArray(r.nonce,r.nonceEnc||"hex"),i=ln.toArray(r.pers,r.persEnc||"hex");$0(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var rg=Ts;Ts.prototype._init=function(r,e,t){var i=r.concat(e).concat(t);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},Ts.prototype._hmac=function(){return new Sn.hmac(this.hash,this.K)},Ts.prototype._update=function(r){var e=this._hmac().update(this.V).update([0]);r&&(e=e.update(r)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),r&&(this.K=this._hmac().update(this.V).update([1]).update(r).digest(),this.V=this._hmac().update(this.V).digest())},Ts.prototype.reseed=function(r,e,t,i){typeof e!="string"&&(i=t,t=e,e=null),r=ln.toArray(r,e),t=ln.toArray(t,i),$0(r.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(r.concat(t||[])),this._reseed=1},Ts.prototype.generate=function(r,e,t,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof e!="string"&&(i=t,t=e,e=null),t&&(t=ln.toArray(t,i||"hex"),this._update(t));for(var n=[];n.length<r;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var a=n.slice(0,r);return this._update(t),this._reseed++,ln.encode(a,e)};var Al=Ai.assert;function Ur(r,e){this.ec=r,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var El=Ur;Ur.fromPublic=function(r,e,t){return e instanceof Ur?e:new Ur(r,{pub:e,pubEnc:t})},Ur.fromPrivate=function(r,e,t){return e instanceof Ur?e:new Ur(r,{priv:e,privEnc:t})},Ur.prototype.validate=function(){var r=this.getPublic();return r.isInfinity()?{result:!1,reason:"Invalid public key"}:r.validate()?r.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"}},Ur.prototype.getPublic=function(r,e){return typeof r=="string"&&(e=r,r=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,r):this.pub},Ur.prototype.getPrivate=function(r){return r==="hex"?this.priv.toString(16,2):this.priv},Ur.prototype._importPrivate=function(r,e){this.priv=new vt(r,e||16),this.priv=this.priv.umod(this.ec.curve.n)},Ur.prototype._importPublic=function(r,e){if(r.x||r.y){this.ec.curve.type==="mont"?Al(r.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Al(r.x&&r.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(r.x,r.y);return}this.pub=this.ec.curve.decodePoint(r,e)},Ur.prototype.derive=function(r){return r.validate()||Al(r.validate(),"public point not validated"),r.mul(this.priv).getX()},Ur.prototype.sign=function(r,e,t){return this.ec.sign(r,this,e,t)},Ur.prototype.verify=function(r,e){return this.ec.verify(r,e,this)},Ur.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var US=Ai.assert;function qh(r,e){if(r instanceof qh)return r;this._importDER(r,e)||(US(r.r&&r.s,"Signature without r or s"),this.r=new vt(r.r,16),this.s=new vt(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var $f=qh;function $S(){this.place=0}function xl(r,e){var t=r[e.place++];if(!(t&128))return t;var i=t&15;if(i===0||i>4)return!1;for(var n=0,a=0,f=e.place;a<i;a++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function ig(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e<t;)e++;return e===0?r:r.slice(e)}qh.prototype._importDER=function(r,e){r=Ai.toArray(r,e);var t=new $S;if(r[t.place++]!==48)return!1;var i=xl(r,t);if(i===!1||i+t.place!==r.length||r[t.place++]!==2)return!1;var n=xl(r,t);if(n===!1)return!1;var a=r.slice(t.place,n+t.place);if(t.place+=n,r[t.place++]!==2)return!1;var f=xl(r,t);if(f===!1||r.length!==f+t.place)return!1;var u=r.slice(t.place,f+t.place);if(a[0]===0)if(a[1]&128)a=a.slice(1);else return!1;if(u[0]===0)if(u[1]&128)u=u.slice(1);else return!1;return this.r=new vt(a),this.s=new vt(u),this.recoveryParam=null,!0};function Sl(r,e){if(e<128){r.push(e);return}var t=1+(Math.log(e)/Math.LN2>>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}qh.prototype.toDER=function(r){var e=this.r.toArray(),t=this.s.toArray();for(e[0]&128&&(e=[0].concat(e)),t[0]&128&&(t=[0].concat(t)),e=ig(e),t=ig(t);!t[0]&&!(t[1]&128);)t=t.slice(1);var i=[2];Sl(i,e.length),i=i.concat(e),i.push(2),Sl(i,t.length);var n=i.concat(t),a=[48];return Sl(a,n.length),a=a.concat(n),Ai.encode(a,r)};var zS=function(){throw new Error("unsupported")},l2=Ai.assert;function $i(r){if(!(this instanceof $i))return new $i(r);typeof r=="string"&&(l2(Object.prototype.hasOwnProperty.call(Jf,r),"Unknown curve "+r),r=Jf[r]),r instanceof Jf.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var FS=$i;$i.prototype.keyPair=function(r){return new El(this,r)},$i.prototype.keyFromPrivate=function(r,e){return El.fromPrivate(this,r,e)},$i.prototype.keyFromPublic=function(r,e){return El.fromPublic(this,r,e)},$i.prototype.genKeyPair=function(r){r||(r={});for(var e=new rg({hash:this.hash,pers:r.pers,persEnc:r.persEnc||"utf8",entropy:r.entropy||zS(this.hash.hmacStrength),entropyEnc:r.entropy&&r.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),i=this.n.sub(new vt(2));;){var n=new vt(e.generate(t));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},$i.prototype._truncateToN=function(r,e){var t=r.byteLength()*8-this.n.bitLength();return t>0&&(r=r.ushrn(t)),!e&&r.cmp(this.n)>=0?r.sub(this.n):r},$i.prototype.sign=function(r,e,t,i){typeof t=="object"&&(i=t,t=null),i||(i={}),e=this.keyFromPrivate(e,t),r=this._truncateToN(new vt(r,16));for(var n=this.n.byteLength(),a=e.getPrivate().toArray("be",n),f=r.toArray("be",n),u=new rg({hash:this.hash,entropy:a,nonce:f,pers:i.pers,persEnc:i.persEnc||"utf8"}),b=this.n.sub(new vt(1)),v=0;;v++){var y=i.k?i.k(v):new vt(u.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(b)>=0)){var E=this.g.mul(y);if(!E.isInfinity()){var C=E.getX(),P=C.umod(this.n);if(P.cmpn(0)!==0){var O=y.invm(this.n).mul(P.mul(e.getPrivate()).iadd(r));if(O=O.umod(this.n),O.cmpn(0)!==0){var j=(E.getY().isOdd()?1:0)|(C.cmp(P)!==0?2:0);return i.canonical&&O.cmp(this.nh)>0&&(O=this.n.sub(O),j^=1),new $f({r:P,s:O,recoveryParam:j})}}}}}},$i.prototype.verify=function(r,e,t,i){r=this._truncateToN(new vt(r,16)),t=this.keyFromPublic(t,i),e=new $f(e,"hex");var n=e.r,a=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0||a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var f=a.invm(this.n),u=f.mul(r).umod(this.n),b=f.mul(n).umod(this.n),v;return this.curve._maxwellTrick?(v=this.g.jmulAdd(u,t.getPublic(),b),v.isInfinity()?!1:v.eqXToP(n)):(v=this.g.mulAdd(u,t.getPublic(),b),v.isInfinity()?!1:v.getX().umod(this.n).cmp(n)===0)},$i.prototype.recoverPubKey=function(r,e,t,i){l2((3&t)===t,"The recovery param is more than two bits"),e=new $f(e,i);var n=this.n,a=new vt(r),f=e.r,u=e.s,b=t&1,v=t>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&v)throw new Error("Unable to find sencond key candinate");v?f=this.curve.pointFromX(f.add(this.curve.n),b):f=this.curve.pointFromX(f,b);var y=e.r.invm(n),E=n.sub(a).mul(y).umod(n),C=u.mul(y).umod(n);return this.g.mulAdd(E,f,C)},$i.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new $f(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(r,e,n)}catch{continue}if(a.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var jS=mo(function(r,e){var t=e;t.version="6.5.4",t.utils=Ai,t.rand=function(){throw new Error("unsupported")},t.curve=Wf,t.curves=Jf,t.ec=FS,t.eddsa=null}),kS=jS.ec;const HS="signing-key/5.7.0",a0=new Mr(HS);let Ml=null;function Os(){return Ml||(Ml=new kS("secp256k1")),Ml}class KS{constructor(e){Ko(this,"curve","secp256k1"),Ko(this,"privateKey",oi(e)),DE(this.privateKey)!==32&&a0.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=Os().keyFromPrivate(er(this.privateKey));Ko(this,"publicKey","0x"+t.getPublic(!1,"hex")),Ko(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Ko(this,"_isSigningKey",!0)}_addPoint(e){const t=Os().keyFromPublic(er(this.publicKey)),i=Os().keyFromPublic(er(e));return"0x"+t.pub.add(i.pub).encodeCompressed("hex")}signDigest(e){const t=Os().keyFromPrivate(er(this.privateKey)),i=er(e);i.length!==32&&a0.throwArgumentError("bad digest length","digest",e);const n=t.sign(i,{canonical:!0});return Lb({recoveryParam:n.recoveryParam,r:Tn("0x"+n.r.toString(16),32),s:Tn("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const t=Os().keyFromPrivate(er(this.privateKey)),i=Os().keyFromPublic(er(d2(e)));return Tn("0x"+t.derive(i.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function VS(r,e){const t=Lb(e),i={r:er(t.r),s:er(t.s)};return"0x"+Os().recoverPubKey(er(r),i,t.recoveryParam).encode("hex",!1)}function d2(r,e){const t=er(r);return t.length===32?new KS(t).publicKey:t.length===33?"0x"+Os().keyFromPublic(t).getPublic(!1,"hex"):t.length===65?oi(t):a0.throwArgumentError("invalid public or private key","key","[REDACTED]")}var ng;(function(r){r[r.legacy=0]="legacy",r[r.eip2930=1]="eip2930",r[r.eip1559=2]="eip1559"})(ng||(ng={}));function GS(r){const e=d2(r);return nx(k1(q0(k1(e,1)),12))}function WS(r,e){return GS(VS(er(r),e))}const JS="https://rpc.walletconnect.com/v1";async function YS(r,e,t,i,n,a){switch(t.t){case"eip191":return QS(r,e,t.s);case"eip1271":return await XS(r,e,t.s,i,n,a);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}function QS(r,e,t){return WS(Vb(e),t).toLowerCase()===r.toLowerCase()}async function XS(r,e,t,i,n,a){try{const f="0x1626ba7e",u="0000000000000000000000000000000000000000000000000000000000000040",b="0000000000000000000000000000000000000000000000000000000000000041",v=t.substring(2),y=Vb(e).substring(2),E=f+y+u+b+v,C=await fetch(`${a||JS}/?chainId=${i}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:ZS(),jsonrpc:"2.0",method:"eth_call",params:[{to:r,data:E},"latest"]})}),{result:P}=await C.json();return P?P.slice(0,f.length).toLowerCase()===f.toLowerCase():!1}catch(f){return console.error("isValidEip1271Signature: ",f),!1}}function ZS(){return Date.now()+Math.floor(Math.random()*1e3)}var eM=Object.defineProperty,tM=Object.defineProperties,rM=Object.getOwnPropertyDescriptors,sg=Object.getOwnPropertySymbols,iM=Object.prototype.hasOwnProperty,nM=Object.prototype.propertyIsEnumerable,ag=(r,e,t)=>e in r?eM(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,sM=(r,e)=>{for(var t in e||(e={}))iM.call(e,t)&&ag(r,t,e[t]);if(sg)for(var t of sg(e))nM.call(e,t)&&ag(r,t,e[t]);return r},aM=(r,e)=>tM(r,rM(e));const oM="did:pkh:",F0=r=>r==null?void 0:r.split(":"),p2=r=>{const e=r&&F0(r);if(e)return r.includes(oM)?e[3]:e[1]},og=r=>{const e=r&&F0(r);if(e)return e[2]+":"+e[3]},lh=r=>{const e=r&&F0(r);if(e)return e.pop()};async function cg(r){const{cacao:e,projectId:t}=r,{s:i,p:n}=e,a=g2(n,n.iss),f=lh(n.iss);return await YS(f,a,i,p2(n.iss),t)}const g2=(r,e)=>{const t=`${r.domain} wants you to sign in with your Ethereum account:`,i=lh(e);if(!r.aud&&!r.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let n=r.statement||void 0;const a=`URI: ${r.aud||r.uri}`,f=`Version: ${r.version}`,u=`Chain ID: ${p2(e)}`,b=`Nonce: ${r.nonce}`,v=`Issued At: ${r.iat}`,y=r.exp?`Expiration Time: ${r.exp}`:void 0,E=r.nbf?`Not Before: ${r.nbf}`:void 0,C=r.requestId?`Request ID: ${r.requestId}`:void 0,P=r.resources?`Resources:${r.resources.map(j=>`
- ${j}`).join("")}`:void 0,O=Yf(r.resources);if(O){const j=lc(O);n=vM(n,j)}return[t,i,"",n,"",a,f,u,b,v,y,E,C,P].filter(j=>j!=null).join(`
`)};function cM(r){return Buffer.from(JSON.stringify(r)).toString("base64")}function fM(r){return JSON.parse(Buffer.from(r,"base64").toString("utf-8"))}function la(r){if(!r)throw new Error("No recap provided, value is undefined");if(!r.att)throw new Error("No `att` property found");const e=Object.keys(r.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const i=r.att[t];if(Array.isArray(i))throw new Error(`Resource must be an object: ${t}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(i).forEach(n=>{const a=i[n];if(!Array.isArray(a))throw new Error(`Ability limits ${n} must be an array of objects, found: ${a}`);if(!a.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);a.forEach(f=>{if(typeof f!="object")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${f}`)})})})}function hM(r,e,t,i={}){return t==null||t.sort((n,a)=>n.localeCompare(a)),{att:{[r]:uM(e,t,i)}}}function uM(r,e,t={}){e=e==null?void 0:e.sort((n,a)=>n.localeCompare(a));const i=e.map(n=>({[`${r}/${n}`]:[t]}));return Object.assign({},...i)}function v2(r){return la(r),`urn:recap:${cM(r).replace(/=/g,"")}`}function lc(r){const e=fM(r.replace("urn:recap:",""));return la(e),e}function lM(r,e,t){const i=hM(r,e,t);return v2(i)}function dM(r){return r&&r.includes("urn:recap:")}function pM(r,e){const t=lc(r),i=lc(e),n=gM(t,i);return v2(n)}function gM(r,e){la(r),la(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((n,a)=>n.localeCompare(a)),i={att:{}};return t.forEach(n=>{var a,f;Object.keys(((a=r.att)==null?void 0:a[n])||{}).concat(Object.keys(((f=e.att)==null?void 0:f[n])||{})).sort((u,b)=>u.localeCompare(b)).forEach(u=>{var b,v;i.att[n]=aM(sM({},i.att[n]),{[u]:((b=r.att[n])==null?void 0:b[u])||((v=e.att[n])==null?void 0:v[u])})})}),i}function vM(r="",e){la(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(r.includes(t))return r;const i=[];let n=0;Object.keys(e.att).forEach(u=>{const b=Object.keys(e.att[u]).map(E=>({ability:E.split("/")[0],action:E.split("/")[1]}));b.sort((E,C)=>E.action.localeCompare(C.action));const v={};b.forEach(E=>{v[E.ability]||(v[E.ability]=[]),v[E.ability].push(E.action)});const y=Object.keys(v).map(E=>(n++,`(${n}) '${E}': '${v[E].join("', '")}' for '${u}'.`));i.push(y.join(", ").replace(".,","."))});const a=i.join(" "),f=`${t}${a}`;return`${r?r+" ":""}${f}`}function fg(r){var e;const t=lc(r);la(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(n=>n.split("/")[1]):[]}function hg(r){const e=lc(r);la(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(n=>{var a;(a=n==null?void 0:n[0])!=null&&a.chains&&t.push(n[0].chains)})}),[...new Set(t.flat())]}function Yf(r){if(!r)return;const e=r==null?void 0:r[r.length-1];return dM(e)?e:void 0}var bM=Object.defineProperty,mM=Object.defineProperties,yM=Object.getOwnPropertyDescriptors,ug=Object.getOwnPropertySymbols,wM=Object.prototype.hasOwnProperty,_M=Object.prototype.propertyIsEnumerable,lg=(r,e,t)=>e in r?bM(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,AM=(r,e)=>{for(var t in e||(e={}))wM.call(e,t)&&lg(r,t,e[t]);if(ug)for(var t of ug(e))_M.call(e,t)&&lg(r,t,e[t]);return r},EM=(r,e)=>mM(r,yM(e));const b2="base10",Gr="base16",o0="base64pad",j0="utf8",m2=0,ds=1,xM=0,dg=1,c0=12,k0=32;function SM(){const r=I0.generateKeyPair();return{privateKey:zr(r.secretKey,Gr),publicKey:zr(r.publicKey,Gr)}}function f0(){const r=ao.randomBytes(k0);return zr(r,Gr)}function MM(r,e){const t=I0.sharedKey(Sr(r,Gr),Sr(e,Gr),!0),i=new w_(mc.SHA256,t).expand(k0);return zr(i,Gr)}function Qf(r){const e=mc.hash(Sr(r,Gr));return zr(e,Gr)}function fs(r){const e=mc.hash(Sr(r,j0));return zr(e,Gr)}function IM(r){return Sr(`${r}`,b2)}function Mc(r){return Number(zr(r,b2))}function DM(r){const e=IM(typeof r.type<"u"?r.type:m2);if(Mc(e)===ds&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?Sr(r.senderPublicKey,Gr):void 0,i=typeof r.iv<"u"?Sr(r.iv,Gr):ao.randomBytes(c0),n=new S0.ChaCha20Poly1305(Sr(r.symKey,Gr)).seal(i,Sr(r.message,j0));return CM({type:e,sealed:n,iv:i,senderPublicKey:t})}function PM(r){const e=new S0.ChaCha20Poly1305(Sr(r.symKey,Gr)),{sealed:t,iv:i}=dh(r.encoded),n=e.open(i,t);if(n===null)throw new Error("Failed to decrypt");return zr(n,j0)}function CM(r){if(Mc(r.type)===ds){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return zr(Yl([r.type,r.senderPublicKey,r.iv,r.sealed]),o0)}return zr(Yl([r.type,r.iv,r.sealed]),o0)}function dh(r){const e=Sr(r,o0),t=e.slice(xM,dg),i=dg;if(Mc(t)===ds){const u=i+k0,b=u+c0,v=e.slice(i,u),y=e.slice(u,b),E=e.slice(b);return{type:t,sealed:E,iv:y,senderPublicKey:v}}const n=i+c0,a=e.slice(i,n),f=e.slice(n);return{type:t,sealed:f,iv:a}}function OM(r,e){const t=dh(r);return y2({type:Mc(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?zr(t.senderPublicKey,Gr):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function y2(r){const e=(r==null?void 0:r.type)||m2;if(e===ds){if(typeof(r==null?void 0:r.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(r==null?void 0:r.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r==null?void 0:r.senderPublicKey,receiverPublicKey:r==null?void 0:r.receiverPublicKey}}function pg(r){return r.type===ds&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}function RM(r){return new Qv.ec("p256").keyFromPublic({x:Buffer.from(r.x,"base64").toString("hex"),y:Buffer.from(r.y,"base64").toString("hex")},"hex")}function NM(r){let e=r.replace(/-/g,"+").replace(/_/g,"/");const t=e.length%4;return t>0&&(e+="=".repeat(4-t)),e}function TM(r){return Buffer.from(NM(r),"base64")}function BM(r,e){const[t,i,n]=r.split("."),a=TM(n);if(a.length!==64)throw new Error("Invalid signature length");const f=a.slice(0,32).toString("hex"),u=a.slice(32,64).toString("hex"),b=`${t}.${i}`,v=new mc.SHA256().update(Buffer.from(b)).digest(),y=RM(e),E=Buffer.from(v).toString("hex"),C=y.verify(E,{r:f,s:u});if(!C)throw new Error("Invalid signature");const P=e0(r);return EM(AM({},P.payload),{isVerified:C})}const qM="irn";function h0(r){return(r==null?void 0:r.relay)||{protocol:qM}}function tc(r){const e=tE[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var LM=Object.defineProperty,UM=Object.defineProperties,$M=Object.getOwnPropertyDescriptors,gg=Object.getOwnPropertySymbols,zM=Object.prototype.hasOwnProperty,FM=Object.prototype.propertyIsEnumerable,vg=(r,e,t)=>e in r?LM(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,bg=(r,e)=>{for(var t in e||(e={}))zM.call(e,t)&&vg(r,t,e[t]);if(gg)for(var t of gg(e))FM.call(e,t)&&vg(r,t,e[t]);return r},jM=(r,e)=>UM(r,$M(e));function kM(r,e="-"){const t={},i="relay"+e;return Object.keys(r).forEach(n=>{if(n.startsWith(i)){const a=n.replace(i,""),f=r[n];t[a]=f}}),t}function mg(r){r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,i=r.substring(0,e),n=r.substring(e+1,t).split("@"),a=typeof t<"u"?r.substring(t):"",f=fc.parse(a),u=typeof f.methods=="string"?f.methods.split(","):void 0;return{protocol:i,topic:HM(n[0]),version:parseInt(n[1],10),symKey:f.symKey,relay:kM(f),methods:u,expiryTimestamp:f.expiryTimestamp?parseInt(f.expiryTimestamp,10):void 0}}function HM(r){return r.startsWith("//")?r.substring(2):r}function KM(r,e="-"){const t="relay",i={};return Object.keys(r).forEach(n=>{const a=t+e+n;r[n]&&(i[a]=r[n])}),i}function VM(r){return`${r.protocol}:${r.topic}@${r.version}?`+fc.stringify(bg(jM(bg({symKey:r.symKey},KM(r.relay)),{expiryTimestamp:r.expiryTimestamp}),r.methods?{methods:r.methods.join(",")}:{}))}function yo(r){const e=[];return r.forEach(t=>{const[i,n]=t.split(":");e.push(`${i}:${n}`)}),e}function GM(r){const e=[];return Object.values(r).forEach(t=>{e.push(...yo(t.accounts))}),e}function WM(r,e){const t=[];return Object.values(r).forEach(i=>{yo(i.accounts).includes(e)&&t.push(...i.methods)}),t}function JM(r,e){const t=[];return Object.values(r).forEach(i=>{yo(i.accounts).includes(e)&&t.push(...i.events)}),t}function H0(r){return r.includes(":")}function rc(r){return H0(r)?r.split(":")[0]:r}function YM(r){const e={};return r==null||r.forEach(t=>{const[i,n]=t.split(":");e[i]||(e[i]={accounts:[],chains:[],events:[]}),e[i].accounts.push(t),e[i].chains.push(`${i}:${n}`)}),e}function yg(r,e){e=e.map(i=>i.replace("did:pkh:",""));const t=YM(e);for(const[i,n]of Object.entries(t))n.methods?n.methods=Vf(n.methods,r):n.methods=r,n.events=["chainChanged","accountsChanged"];return t}const QM={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},XM={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function Ae(r,e){const{message:t,code:i}=XM[r];return{message:e?`${t} ${e}`:t,code:i}}function $t(r,e){const{message:t,code:i}=QM[r];return{message:e?`${t} ${e}`:t,code:i}}function jn(r,e){return!!Array.isArray(r)}function dc(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function ci(r){return typeof r>"u"}function ar(r,e){return e&&ci(r)?!0:typeof r=="string"&&!!r.trim().length}function K0(r,e){return typeof r=="number"&&!isNaN(r)}function ZM(r,e){const{requiredNamespaces:t}=e,i=Object.keys(r.namespaces),n=Object.keys(t);let a=!0;return aa(n,i)?(i.forEach(f=>{const{accounts:u,methods:b,events:v}=r.namespaces[f],y=yo(u),E=t[f];(!aa(Pb(f,E),y)||!aa(E.methods,b)||!aa(E.events,v))&&(a=!1)}),a):!1}function ph(r){return ar(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function eI(r){if(ar(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&ph(t)}}return!1}function tI(r){if(ar(r,!1))try{return typeof new URL(r)<"u"}catch{return!1}return!1}function rI(r){var e;return(e=r==null?void 0:r.proposer)==null?void 0:e.publicKey}function iI(r){return r==null?void 0:r.topic}function nI(r,e){let t=null;return ar(r==null?void 0:r.publicKey,!1)||(t=Ae("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function wg(r){let e=!0;return jn(r)?r.length&&(e=r.every(t=>ar(t,!1))):e=!1,e}function sI(r,e,t){let i=null;return jn(e)&&e.length?e.forEach(n=>{i||ph(n)||(i=$t("UNSUPPORTED_CHAINS",`${t}, chain ${n} should be a string and conform to "namespace:chainId" format`))}):ph(r)||(i=$t("UNSUPPORTED_CHAINS",`${t}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),i}function aI(r,e,t){let i=null;return Object.entries(r).forEach(([n,a])=>{if(i)return;const f=sI(n,Pb(n,a),`${e} ${t}`);f&&(i=f)}),i}function oI(r,e){let t=null;return jn(r)?r.forEach(i=>{t||eI(i)||(t=$t("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=$t("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function cI(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=oI(i==null?void 0:i.accounts,`${e} namespace`);n&&(t=n)}),t}function fI(r,e){let t=null;return wg(r==null?void 0:r.methods)?wg(r==null?void 0:r.events)||(t=$t("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=$t("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function w2(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=fI(i,`${e}, namespace`);n&&(t=n)}),t}function hI(r,e,t){let i=null;if(r&&dc(r)){const n=w2(r,e);n&&(i=n);const a=aI(r,e,t);a&&(i=a)}else i=Ae("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function Il(r,e){let t=null;if(r&&dc(r)){const i=w2(r,e);i&&(t=i);const n=cI(r,e);n&&(t=n)}else t=Ae("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function _2(r){return ar(r.protocol,!0)}function uI(r,e){let t=!1;return r?r&&jn(r)&&r.length&&r.forEach(i=>{t=_2(i)}):t=!0,t}function lI(r){return typeof r=="number"}function ai(r){return typeof r<"u"&&typeof r!==null}function dI(r){return!(!r||typeof r!="object"||!r.code||!K0(r.code)||!r.message||!ar(r.message,!1))}function pI(r){return!(ci(r)||!ar(r.method,!1))}function gI(r){return!(ci(r)||ci(r.result)&&ci(r.error)||!K0(r.id)||!ar(r.jsonrpc,!1))}function vI(r){return!(ci(r)||!ar(r.name,!1))}function _g(r,e){return!(!ph(e)||!GM(r).includes(e))}function bI(r,e,t){return ar(t,!1)?WM(r,e).includes(t):!1}function mI(r,e,t){return ar(t,!1)?JM(r,e).includes(t):!1}function Ag(r,e,t){let i=null;const n=yI(r),a=wI(e),f=Object.keys(n),u=Object.keys(a),b=Eg(Object.keys(r)),v=Eg(Object.keys(e)),y=b.filter(E=>!v.includes(E));return y.length&&(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces.
      Required: ${y.toString()}
      Received: ${Object.keys(e).toString()}`)),aa(f,u)||(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don't satisfy required namespaces.
      Required: ${f.toString()}
      Approved: ${u.toString()}`)),Object.keys(e).forEach(E=>{if(!E.includes(":")||i)return;const C=yo(e[E].accounts);C.includes(E)||(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${E}
        Required: ${E}
        Approved: ${C.toString()}`))}),f.forEach(E=>{i||(aa(n[E].methods,a[E].methods)?aa(n[E].events,a[E].events)||(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${E}`)):i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${E}`))}),i}function yI(r){const e={};return Object.keys(r).forEach(t=>{var i;t.includes(":")?e[t]=r[t]:(i=r[t].chains)==null||i.forEach(n=>{e[n]={methods:r[t].methods,events:r[t].events}})}),e}function Eg(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function wI(r){const e={};return Object.keys(r).forEach(t=>{if(t.includes(":"))e[t]=r[t];else{const i=yo(r[t].accounts);i==null||i.forEach(n=>{e[n]={accounts:r[t].accounts.filter(a=>a.includes(`${n}:`)),methods:r[t].methods,events:r[t].events}})}}),e}function _I(r,e){return K0(r)&&r<=e.max&&r>=e.min}function xg(){const r=xc();return new Promise(e=>{switch(r){case wi.browser:e(AI());break;case wi.reactNative:e(EI());break;case wi.node:e(xI());break;default:e(!0)}})}function AI(){return Ec()&&(navigator==null?void 0:navigator.onLine)}async function EI(){if(Ac()&&typeof global<"u"&&global!=null&&global.NetInfo){const r=await(global==null?void 0:global.NetInfo.fetch());return r==null?void 0:r.isConnected}return!0}function xI(){return!0}function SI(r){switch(xc()){case wi.browser:MI(r);break;case wi.reactNative:II(r);break}}function MI(r){!Ac()&&Ec()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function II(r){Ac()&&typeof global<"u"&&global!=null&&global.NetInfo&&(global==null||global.NetInfo.addEventListener(e=>r(e==null?void 0:e.isConnected)))}const Dl={};class Wo{static get(e){return Dl[e]}static set(e,t){Dl[e]=t}static delete(e){delete Dl[e]}}const DI=/"(?:_|\\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*:/,PI=/"(?: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*:/,CI=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function OI(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){RI(r);return}return e}function RI(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function zf(r,e={}){if(typeof r!="string")return r;const t=r.trim();if(r[0]==='"'&&r.endsWith('"')&&!r.includes("\\"))return t.slice(1,-1);if(t.length<=9){const i=t.toLowerCase();if(i==="true")return!0;if(i==="false")return!1;if(i==="undefined")return;if(i==="null")return null;if(i==="nan")return Number.NaN;if(i==="infinity")return Number.POSITIVE_INFINITY;if(i==="-infinity")return Number.NEGATIVE_INFINITY}if(!CI.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(DI.test(r)||PI.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,OI)}return JSON.parse(r)}catch(i){if(e.strict)throw i;return r}}function NI(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function br(r,...e){try{return NI(r(...e))}catch(t){return Promise.reject(t)}}function TI(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function BI(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function Xf(r){if(TI(r))return String(r);if(BI(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return Xf(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function A2(){if(typeof Buffer>"u")throw new TypeError("[unstorage] Buffer is not supported!")}const u0="base64:";function qI(r){if(typeof r=="string")return r;A2();const e=Buffer.from(r).toString("base64");return u0+e}function LI(r){return typeof r!="string"||!r.startsWith(u0)?r:(A2(),Buffer.from(r.slice(u0.length),"base64"))}function si(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function UI(...r){return si(r.join(":"))}function Ff(r){return r=si(r),r?r+":":""}const $I="memory",zI=()=>{const r=new Map;return{name:$I,getInstance:()=>r,hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return[...r.keys()]},clear(){r.clear()},dispose(){r.clear()}}};function FI(r={}){const e={mounts:{"":r.driver||zI()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=v=>{for(const y of e.mountpoints)if(v.startsWith(y))return{base:y,relativeKey:v.slice(y.length),driver:e.mounts[y]};return{base:"",relativeKey:v,driver:e.mounts[""]}},i=(v,y)=>e.mountpoints.filter(E=>E.startsWith(v)||y&&v.startsWith(E)).map(E=>({relativeBase:v.length>E.length?v.slice(E.length):void 0,mountpoint:E,driver:e.mounts[E]})),n=(v,y)=>{if(e.watching){y=si(y);for(const E of e.watchListeners)E(v,y)}},a=async()=>{if(!e.watching){e.watching=!0;for(const v in e.mounts)e.unwatch[v]=await Sg(e.mounts[v],n,v)}},f=async()=>{if(e.watching){for(const v in e.unwatch)await e.unwatch[v]();e.unwatch={},e.watching=!1}},u=(v,y,E)=>{const C=new Map,P=O=>{let j=C.get(O.base);return j||(j={driver:O.driver,base:O.base,items:[]},C.set(O.base,j)),j};for(const O of v){const j=typeof O=="string",W=si(j?O:O.key),Q=j?void 0:O.value,H=j||!O.options?y:{...y,...O.options},Y=t(W);P(Y).items.push({key:W,value:Q,relativeKey:Y.relativeKey,options:H})}return Promise.all([...C.values()].map(O=>E(O))).then(O=>O.flat())},b={hasItem(v,y={}){v=si(v);const{relativeKey:E,driver:C}=t(v);return br(C.hasItem,E,y)},getItem(v,y={}){v=si(v);const{relativeKey:E,driver:C}=t(v);return br(C.getItem,E,y).then(P=>zf(P))},getItems(v,y){return u(v,y,E=>E.driver.getItems?br(E.driver.getItems,E.items.map(C=>({key:C.relativeKey,options:C.options})),y).then(C=>C.map(P=>({key:UI(E.base,P.key),value:zf(P.value)}))):Promise.all(E.items.map(C=>br(E.driver.getItem,C.relativeKey,C.options).then(P=>({key:C.key,value:zf(P)})))))},getItemRaw(v,y={}){v=si(v);const{relativeKey:E,driver:C}=t(v);return C.getItemRaw?br(C.getItemRaw,E,y):br(C.getItem,E,y).then(P=>LI(P))},async setItem(v,y,E={}){if(y===void 0)return b.removeItem(v);v=si(v);const{relativeKey:C,driver:P}=t(v);P.setItem&&(await br(P.setItem,C,Xf(y),E),P.watch||n("update",v))},async setItems(v,y){await u(v,y,async E=>{if(E.driver.setItems)return br(E.driver.setItems,E.items.map(C=>({key:C.relativeKey,value:Xf(C.value),options:C.options})),y);E.driver.setItem&&await Promise.all(E.items.map(C=>br(E.driver.setItem,C.relativeKey,Xf(C.value),C.options)))})},async setItemRaw(v,y,E={}){if(y===void 0)return b.removeItem(v,E);v=si(v);const{relativeKey:C,driver:P}=t(v);if(P.setItemRaw)await br(P.setItemRaw,C,y,E);else if(P.setItem)await br(P.setItem,C,qI(y),E);else return;P.watch||n("update",v)},async removeItem(v,y={}){typeof y=="boolean"&&(y={removeMeta:y}),v=si(v);const{relativeKey:E,driver:C}=t(v);C.removeItem&&(await br(C.removeItem,E,y),(y.removeMeta||y.removeMata)&&await br(C.removeItem,E+"$",y),C.watch||n("remove",v))},async getMeta(v,y={}){typeof y=="boolean"&&(y={nativeOnly:y}),v=si(v);const{relativeKey:E,driver:C}=t(v),P=Object.create(null);if(C.getMeta&&Object.assign(P,await br(C.getMeta,E,y)),!y.nativeOnly){const O=await br(C.getItem,E+"$",y).then(j=>zf(j));O&&typeof O=="object"&&(typeof O.atime=="string"&&(O.atime=new Date(O.atime)),typeof O.mtime=="string"&&(O.mtime=new Date(O.mtime)),Object.assign(P,O))}return P},setMeta(v,y,E={}){return this.setItem(v+"$",y,E)},removeMeta(v,y={}){return this.removeItem(v+"$",y)},async getKeys(v,y={}){v=Ff(v);const E=i(v,!0);let C=[];const P=[];for(const O of E){const j=await br(O.driver.getKeys,O.relativeBase,y);for(const W of j){const Q=O.mountpoint+si(W);C.some(H=>Q.startsWith(H))||P.push(Q)}C=[O.mountpoint,...C.filter(W=>!W.startsWith(O.mountpoint))]}return v?P.filter(O=>O.startsWith(v)&&O[O.length-1]!=="$"):P.filter(O=>O[O.length-1]!=="$")},async clear(v,y={}){v=Ff(v),await Promise.all(i(v,!1).map(async E=>{if(E.driver.clear)return br(E.driver.clear,E.relativeBase,y);if(E.driver.removeItem){const C=await E.driver.getKeys(E.relativeBase||"",y);return Promise.all(C.map(P=>E.driver.removeItem(P,y)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(v=>Mg(v)))},async watch(v){return await a(),e.watchListeners.push(v),async()=>{e.watchListeners=e.watchListeners.filter(y=>y!==v),e.watchListeners.length===0&&await f()}},async unwatch(){e.watchListeners=[],await f()},mount(v,y){if(v=Ff(v),v&&e.mounts[v])throw new Error(`already mounted at ${v}`);return v&&(e.mountpoints.push(v),e.mountpoints.sort((E,C)=>C.length-E.length)),e.mounts[v]=y,e.watching&&Promise.resolve(Sg(y,n,v)).then(E=>{e.unwatch[v]=E}).catch(console.error),b},async unmount(v,y=!0){v=Ff(v),!(!v||!e.mounts[v])&&(e.watching&&v in e.unwatch&&(e.unwatch[v](),delete e.unwatch[v]),y&&await Mg(e.mounts[v]),e.mountpoints=e.mountpoints.filter(E=>E!==v),delete e.mounts[v])},getMount(v=""){v=si(v)+":";const y=t(v);return{driver:y.driver,base:y.base}},getMounts(v="",y={}){return v=si(v),i(v,y.parents).map(C=>({driver:C.driver,base:C.mountpoint}))},keys:(v,y={})=>b.getKeys(v,y),get:(v,y={})=>b.getItem(v,y),set:(v,y,E={})=>b.setItem(v,y,E),has:(v,y={})=>b.hasItem(v,y),del:(v,y={})=>b.removeItem(v,y),remove:(v,y={})=>b.removeItem(v,y)};return b}function Sg(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function Mg(r){typeof r.dispose=="function"&&await br(r.dispose)}function ba(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function E2(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=ba(t);return(n,a)=>i.then(f=>a(f.transaction(e,n).objectStore(e)))}let Pl;function Ic(){return Pl||(Pl=E2("keyval-store","keyval")),Pl}function Ig(r,e=Ic()){return e("readonly",t=>ba(t.get(r)))}function jI(r,e,t=Ic()){return t("readwrite",i=>(i.put(e,r),ba(i.transaction)))}function kI(r,e=Ic()){return e("readwrite",t=>(t.delete(r),ba(t.transaction)))}function HI(r=Ic()){return r("readwrite",e=>(e.clear(),ba(e.transaction)))}function KI(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},ba(r.transaction)}function VI(r=Ic()){return r("readonly",e=>{if(e.getAllKeys)return ba(e.getAllKeys());const t=[];return KI(e,i=>t.push(i.key)).then(()=>t)})}const GI="idb-keyval";var WI=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=E2(r.dbName,r.storeName)),{name:GI,options:r,async hasItem(n){return!(typeof await Ig(t(n),i)>"u")},async getItem(n){return await Ig(t(n),i)??null},setItem(n,a){return jI(t(n),a,i)},removeItem(n){return kI(t(n),i)},getKeys(){return VI(i)},clear(){return HI(i)}}};const JI="WALLET_CONNECT_V2_INDEXED_DB",YI="keyvaluestorage";let QI=class{constructor(){this.indexedDb=FI({driver:WI({dbName:JI,storeName:YI})})}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){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,vs(t))}async removeItem(e){await this.indexedDb.removeItem(e)}};var Cl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Zf={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof Cl<"u"&&Cl.localStorage?Zf.exports=Cl.localStorage:typeof window<"u"&&window.localStorage?Zf.exports=window.localStorage:Zf.exports=new e})();function XI(r){var e;return[r[0],po((e=r[1])!=null?e:"")]}let ZI=class{constructor(){this.localStorage=Zf.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(XI)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return po(t)}async setItem(e,t){this.localStorage.setItem(e,vs(t))}async removeItem(e){this.localStorage.removeItem(e)}};const eD="wc_storage_version",Dg=1,tD=async(r,e,t)=>{const i=eD,n=await e.getItem(i);if(n&&n>=Dg){t(e);return}const a=await r.getKeys();if(!a.length){t(e);return}const f=[];for(;a.length;){const u=a.shift();if(!u)continue;const b=u.toLowerCase();if(b.includes("wc@")||b.includes("walletconnect")||b.includes("wc_")||b.includes("wallet_connect")){const v=await r.getItem(u);await e.setItem(u,v),f.push(u)}}await e.setItem(i,Dg),t(e),rD(r,f)},rD=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let iD=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new ZI;this.storage=e;try{const t=new QI;tD(e,t,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=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};class ma{}let nD=class extends ma{constructor(e){super()}};const Pg=Me.FIVE_SECONDS,wo={pulse:"heartbeat_pulse"};let sD=class x2 extends nD{constructor(e){super(e),this.events=new Hi.EventEmitter,this.interval=Pg,this.interval=(e==null?void 0:e.interval)||Pg}static async init(e){const t=new x2(e);return await t.init(),t}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(),Me.toMiliseconds(this.interval))}pulse(){this.events.emit(wo.pulse)}};function aD(r){try{return JSON.stringify(r)}catch{return'"[Circular]"'}}var oD=cD;function cD(r,e,t){var i=t&&t.stringify||aD,n=1;if(typeof r=="object"&&r!==null){var a=e.length+n;if(a===1)return r;var f=new Array(a);f[0]=i(r);for(var u=1;u<a;u++)f[u]=i(e[u]);return f.join(" ")}if(typeof r!="string")return r;var b=e.length;if(b===0)return r;for(var v="",y=1-n,E=-1,C=r&&r.length||0,P=0;P<C;){if(r.charCodeAt(P)===37&&P+1<C){switch(E=E>-1?E:0,r.charCodeAt(P+1)){case 100:case 102:if(y>=b||e[y]==null)break;E<P&&(v+=r.slice(E,P)),v+=Number(e[y]),E=P+2,P++;break;case 105:if(y>=b||e[y]==null)break;E<P&&(v+=r.slice(E,P)),v+=Math.floor(Number(e[y])),E=P+2,P++;break;case 79:case 111:case 106:if(y>=b||e[y]===void 0)break;E<P&&(v+=r.slice(E,P));var O=typeof e[y];if(O==="string"){v+="'"+e[y]+"'",E=P+2,P++;break}if(O==="function"){v+=e[y].name||"<anonymous>",E=P+2,P++;break}v+=i(e[y]),E=P+2,P++;break;case 115:if(y>=b)break;E<P&&(v+=r.slice(E,P)),v+=String(e[y]),E=P+2,P++;break;case 37:E<P&&(v+=r.slice(E,P)),v+="%",E=P+2,P++,y--;break}++y}++P}return E===-1?r:(E<C&&(v+=r.slice(E)),v)}const Cg=oD;var Ha=Un;const pc=mD().console||{},fD={mapHttpRequest:jf,mapHttpResponse:jf,wrapRequestSerializer:Ol,wrapResponseSerializer:Ol,wrapErrorSerializer:Ol,req:jf,res:jf,err:pD};function hD(r,e){return Array.isArray(r)?r.filter(function(i){return i!=="!stdSerializers.err"}):r===!0?Object.keys(e):!1}function Un(r){r=r||{},r.browser=r.browser||{};const e=r.browser.transmit;if(e&&typeof e.send!="function")throw Error("pino: transmit option must have a send function");const t=r.browser.write||pc;r.browser.write&&(r.browser.asObject=!0);const i=r.serializers||{},n=hD(r.browser.serialize,i);let a=r.browser.serialize;Array.isArray(r.browser.serialize)&&r.browser.serialize.indexOf("!stdSerializers.err")>-1&&(a=!1);const f=["error","fatal","warn","info","debug","trace"];typeof t=="function"&&(t.error=t.fatal=t.warn=t.info=t.debug=t.trace=t),r.enabled===!1&&(r.level="silent");const u=r.level||"info",b=Object.create(t);b.log||(b.log=gc),Object.defineProperty(b,"levelVal",{get:y}),Object.defineProperty(b,"level",{get:E,set:C});const v={transmit:e,serialize:n,asObject:r.browser.asObject,levels:f,timestamp:gD(r)};b.levels=Un.levels,b.level=u,b.setMaxListeners=b.getMaxListeners=b.emit=b.addListener=b.on=b.prependListener=b.once=b.prependOnceListener=b.removeListener=b.removeAllListeners=b.listeners=b.listenerCount=b.eventNames=b.write=b.flush=gc,b.serializers=i,b._serialize=n,b._stdErrSerialize=a,b.child=P,e&&(b._logEvent=l0());function y(){return this.level==="silent"?1/0:this.levels.values[this.level]}function E(){return this._level}function C(O){if(O!=="silent"&&!this.levels.values[O])throw Error("unknown level "+O);this._level=O,za(v,b,"error","log"),za(v,b,"fatal","error"),za(v,b,"warn","error"),za(v,b,"info","log"),za(v,b,"debug","log"),za(v,b,"trace","log")}function P(O,j){if(!O)throw new Error("missing bindings for child Pino");j=j||{},n&&O.serializers&&(j.serializers=O.serializers);const W=j.serializers;if(n&&W){var Q=Object.assign({},i,W),H=r.browser.serialize===!0?Object.keys(Q):n;delete O.serializers,Lh([O],H,Q,this._stdErrSerialize)}function Y(U){this._childLevel=(U._childLevel|0)+1,this.error=Fa(U,O,"error"),this.fatal=Fa(U,O,"fatal"),this.warn=Fa(U,O,"warn"),this.info=Fa(U,O,"info"),this.debug=Fa(U,O,"debug"),this.trace=Fa(U,O,"trace"),Q&&(this.serializers=Q,this._serialize=H),e&&(this._logEvent=l0([].concat(U._logEvent.bindings,O)))}return Y.prototype=this,new Y(this)}return b}Un.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}};Un.stdSerializers=fD;Un.stdTimeFunctions=Object.assign({},{nullTime:S2,epochTime:M2,unixTime:vD,isoTime:bD});function za(r,e,t,i){const n=Object.getPrototypeOf(e);e[t]=e.levelVal>e.levels.values[t]?gc:n[t]?n[t]:pc[t]||pc[i]||gc,uD(r,e,t)}function uD(r,e,t){!r.transmit&&e[t]===gc||(e[t]=function(i){return function(){const a=r.timestamp(),f=new Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===pc?pc:this;for(var b=0;b<f.length;b++)f[b]=arguments[b];if(r.serialize&&!r.asObject&&Lh(f,this._serialize,this.serializers,this._stdErrSerialize),r.asObject?i.call(u,lD(this,t,f,a)):i.apply(u,f),r.transmit){const v=r.transmit.level||e.level,y=Un.levels.values[v],E=Un.levels.values[t];if(E<y)return;dD(this,{ts:a,methodLevel:t,methodValue:E,transmitLevel:v,transmitValue:Un.levels.values[r.transmit.level||e.level],send:r.transmit.send,val:e.levelVal},f)}}}(e[t]))}function lD(r,e,t,i){r._serialize&&Lh(t,r._serialize,r.serializers,r._stdErrSerialize);const n=t.slice();let a=n[0];const f={};i&&(f.time=i),f.level=Un.levels.values[e];let u=(r._childLevel|0)+1;if(u<1&&(u=1),a!==null&&typeof a=="object"){for(;u--&&typeof n[0]=="object";)Object.assign(f,n.shift());a=n.length?Cg(n.shift(),n):void 0}else typeof a=="string"&&(a=Cg(n.shift(),n));return a!==void 0&&(f.msg=a),f}function Lh(r,e,t,i){for(const n in r)if(i&&r[n]instanceof Error)r[n]=Un.stdSerializers.err(r[n]);else if(typeof r[n]=="object"&&!Array.isArray(r[n]))for(const a in r[n])e&&e.indexOf(a)>-1&&a in t&&(r[n][a]=t[a](r[n][a]))}function Fa(r,e,t){return function(){const i=new Array(1+arguments.length);i[0]=e;for(var n=1;n<i.length;n++)i[n]=arguments[n-1];return r[t].apply(this,i)}}function dD(r,e,t){const i=e.send,n=e.ts,a=e.methodLevel,f=e.methodValue,u=e.val,b=r._logEvent.bindings;Lh(t,r._serialize||Object.keys(r.serializers),r.serializers,r._stdErrSerialize===void 0?!0:r._stdErrSerialize),r._logEvent.ts=n,r._logEvent.messages=t.filter(function(v){return b.indexOf(v)===-1}),r._logEvent.level.label=a,r._logEvent.level.value=f,i(a,r._logEvent,u),r._logEvent=l0(b)}function l0(r){return{ts:0,messages:[],bindings:r||[],level:{label:"",value:0}}}function pD(r){const e={type:r.constructor.name,msg:r.message,stack:r.stack};for(const t in r)e[t]===void 0&&(e[t]=r[t]);return e}function gD(r){return typeof r.timestamp=="function"?r.timestamp:r.timestamp===!1?S2:M2}function jf(){return{}}function Ol(r){return r}function gc(){}function S2(){return!1}function M2(){return Date.now()}function vD(){return Math.round(Date.now()/1e3)}function bD(){return new Date(Date.now()).toISOString()}function mD(){function r(e){return typeof e<"u"&&e}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return r(self)||r(window)||r(this)||{}}}const Dc=y0(Ha),yD={level:"info"},Pc="custom_context",V0=1e3*1024;let wD=class{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}},Og=class{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new wD(e);if(t.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=t),this.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const t=e.value;return e=e.next,{done:!1,value:t}}}}},I2=class{constructor(e,t=V0){this.level=e??"error",this.levelValue=Ha.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Og(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===Ha.levels.values.error?console.error(e):t===Ha.levels.values.warn?console.warn(e):t===Ha.levels.values.debug?console.debug(e):t===Ha.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(vs({timestamp:new Date().toISOString(),log:e}));const t=typeof e=="string"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new Og(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(vs({extraMetadata:e})),new Blob(t,{type:"application/json"})}},_D=class{constructor(e,t=V0){this.baseChunkLogger=new I2(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const t=URL.createObjectURL(this.logsToBlob(e)),i=document.createElement("a");i.href=t,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)}};class AD{constructor(e,t=V0){this.baseChunkLogger=new I2(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var ED=Object.defineProperty,xD=Object.defineProperties,SD=Object.getOwnPropertyDescriptors,Rg=Object.getOwnPropertySymbols,MD=Object.prototype.hasOwnProperty,ID=Object.prototype.propertyIsEnumerable,Ng=(r,e,t)=>e in r?ED(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,gh=(r,e)=>{for(var t in e||(e={}))MD.call(e,t)&&Ng(r,t,e[t]);if(Rg)for(var t of Rg(e))ID.call(e,t)&&Ng(r,t,e[t]);return r},vh=(r,e)=>xD(r,SD(e));function Uh(r){return vh(gh({},r),{level:(r==null?void 0:r.level)||yD.level})}function DD(r,e=Pc){return r[e]||""}function PD(r,e,t=Pc){return r[t]=e,r}function di(r,e=Pc){let t="";return typeof r.bindings>"u"?t=DD(r,e):t=r.bindings().context||"",t}function CD(r,e,t=Pc){const i=di(r,t);return i.trim()?`${i}/${e}`:e}function Jr(r,e,t=Pc){const i=CD(r,e,t),n=r.child({context:i});return PD(n,i,t)}function OD(r){var e,t;const i=new _D((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Dc(vh(gh({},r.opts),{level:"trace",browser:vh(gh({},(t=r.opts)==null?void 0:t.browser),{write:n=>i.write(n)})})),chunkLoggerController:i}}function RD(r){var e;const t=new AD((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Dc(vh(gh({},r.opts),{level:"trace"}),t),chunkLoggerController:t}}function ND(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?OD(r):RD(r)}let TD=class extends ma{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}},BD=class extends ma{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},qD=class{constructor(e,t){this.logger=e,this.core=t}},LD=class extends ma{constructor(e,t){super(),this.relayer=e,this.logger=t}},UD=class extends ma{constructor(e){super()}},$D=class{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}},zD=class extends ma{constructor(e,t){super(),this.relayer=e,this.logger=t}},FD=class extends ma{constructor(e,t){super(),this.core=e,this.logger=t}},jD=class{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}},kD=class{constructor(e,t){this.projectId=e,this.logger=t}},HD=class{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}},KD=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},VD=class{constructor(e){this.client=e}};const GD="PARSE_ERROR",WD="INVALID_REQUEST",JD="METHOD_NOT_FOUND",YD="INVALID_PARAMS",D2="INTERNAL_ERROR",G0="SERVER_ERROR",QD=[-32700,-32600,-32601,-32602,-32603],ac={[GD]:{code:-32700,message:"Parse error"},[WD]:{code:-32600,message:"Invalid Request"},[JD]:{code:-32601,message:"Method not found"},[YD]:{code:-32602,message:"Invalid params"},[D2]:{code:-32603,message:"Internal error"},[G0]:{code:-32e3,message:"Server error"}},P2=G0;function XD(r){return QD.includes(r)}function Tg(r){return Object.keys(ac).includes(r)?ac[r]:ac[P2]}function ZD(r){const e=Object.values(ac).find(t=>t.code===r);return e||ac[P2]}function C2(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var O2={},ss={},Bg;function eP(){if(Bg)return ss;Bg=1,Object.defineProperty(ss,"__esModule",{value:!0}),ss.isBrowserCryptoAvailable=ss.getSubtleCrypto=ss.getBrowerCrypto=void 0;function r(){return(ji===null||ji===void 0?void 0:ji.crypto)||(ji===null||ji===void 0?void 0:ji.msCrypto)||{}}ss.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}ss.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return ss.isBrowserCryptoAvailable=t,ss}var as={},qg;function tP(){if(qg)return as;qg=1,Object.defineProperty(as,"__esModule",{value:!0}),as.isBrowser=as.isNode=as.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}as.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}as.isNode=e;function t(){return!r()&&!e()}return as.isBrowser=t,as}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=vc;e.__exportStar(eP(),r),e.__exportStar(tP(),r)})(O2);function Rs(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function oa(r=6){return BigInt(Rs(r))}function Xa(r,e,t){return{id:t||Rs(),jsonrpc:"2.0",method:r,params:e}}function $h(r,e){return{id:r,jsonrpc:"2.0",result:e}}function zh(r,e,t){return{id:r,jsonrpc:"2.0",error:rP(e)}}function rP(r,e){return typeof r>"u"?Tg(D2):(typeof r=="string"&&(r=Object.assign(Object.assign({},Tg(G0)),{message:r})),XD(r.code)&&(r=ZD(r.code)),r)}class iP{}class nP extends iP{constructor(){super()}}class sP extends nP{constructor(e){super()}}const aP="^https?:",oP="^wss?:";function cP(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function R2(r,e){const t=cP(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Lg(r){return R2(r,aP)}function Ug(r){return R2(r,oP)}function fP(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function N2(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function W0(r){return N2(r)&&"method"in r}function Fh(r){return N2(r)&&(In(r)||zi(r))}function In(r){return"result"in r}function zi(r){return"error"in r}let gn=class extends sP{constructor(e){super(e),this.events=new Hi.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}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 request(e,t){return this.requestStrict(Xa(e.method,e.params||[],e.id||oa().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(a){n(a)}this.events.on(`${e.id}`,a=>{zi(a)?n(a.error):i(a.result)});try{await this.connection.send(e,t)}catch(a){n(a)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Fh(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}};const hP=()=>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:require("ws"),uP=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",$g=r=>r.split("?")[0],zg=10,lP=hP();let dP=class{constructor(e){if(this.url=e,this.events=new Hi.EventEmitter,this.registering=!1,!Ug(e))throw new 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(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(vs(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Ug(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const n=new URLSearchParams(e).get("origin"),a=O2.isReactNative()?{headers:{origin:n}}:{rejectUnauthorized:!fP(e)},f=new lP(e,[],a);uP()?f.onerror=u=>{const b=u;i(this.emitError(b.error))}:f.on("error",u=>{i(this.emitError(u))}),f.onopen=()=>{this.onOpen(f),t(f)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),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;const t=typeof e.data=="string"?po(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=zh(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return C2(e,$g(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>zg&&this.events.setMaxListeners(zg)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${$g(this.url)}`));return this.events.emit("register_error",t),t}};var bh={exports:{}};bh.exports;(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,a=2,f=9007199254740991,u="[object Arguments]",b="[object Array]",v="[object AsyncFunction]",y="[object Boolean]",E="[object Date]",C="[object Error]",P="[object Function]",O="[object GeneratorFunction]",j="[object Map]",W="[object Number]",Q="[object Null]",H="[object Object]",Y="[object Promise]",U="[object Proxy]",F="[object RegExp]",V="[object Set]",A="[object String]",q="[object Symbol]",ae="[object Undefined]",ue="[object WeakMap]",B="[object ArrayBuffer]",m="[object DataView]",c="[object Float32Array]",h="[object Float64Array]",g="[object Int8Array]",_="[object Int16Array]",M="[object Int32Array]",D="[object Uint8Array]",S="[object Uint8ClampedArray]",d="[object Uint16Array]",p="[object Uint32Array]",N=/[\\^$.*+?()[\]{}|]/g,Z=/^\[object .+?Constructor\]$/,se=/^(?:0|[1-9]\d*)$/,I={};I[c]=I[h]=I[g]=I[_]=I[M]=I[D]=I[S]=I[d]=I[p]=!0,I[u]=I[b]=I[B]=I[y]=I[m]=I[E]=I[C]=I[P]=I[j]=I[W]=I[H]=I[F]=I[V]=I[A]=I[ue]=!1;var ee=typeof ji=="object"&&ji&&ji.Object===Object&&ji,$=typeof self=="object"&&self&&self.Object===Object&&self,k=ee||$||Function("return this")(),K=e&&!e.nodeType&&e,w=K&&!0&&r&&!r.nodeType&&r,z=w&&w.exports===K,ne=z&&ee.process,ce=function(){try{return ne&&ne.binding&&ne.binding("util")}catch{}}(),he=ce&&ce.isTypedArray;function ye(G,te){for(var pe=-1,$e=G==null?0:G.length,jt=0,pt=[];++pe<$e;){var Gt=G[pe];te(Gt,pe,G)&&(pt[jt++]=Gt)}return pt}function we(G,te){for(var pe=-1,$e=te.length,jt=G.length;++pe<$e;)G[jt+pe]=te[pe];return G}function Re(G,te){for(var pe=-1,$e=G==null?0:G.length;++pe<$e;)if(te(G[pe],pe,G))return!0;return!1}function Qe(G,te){for(var pe=-1,$e=Array(G);++pe<G;)$e[pe]=te(pe);return $e}function Pe(G){return function(te){return G(te)}}function Ne(G,te){return G.has(te)}function Se(G,te){return G==null?void 0:G[te]}function me(G){var te=-1,pe=Array(G.size);return G.forEach(function($e,jt){pe[++te]=[jt,$e]}),pe}function Ce(G,te){return function(pe){return G(te(pe))}}function Te(G){var te=-1,pe=Array(G.size);return G.forEach(function($e){pe[++te]=$e}),pe}var ve=Array.prototype,Oe=Function.prototype,xe=Object.prototype,be=k["__core-js_shared__"],Ue=Oe.toString,Ie=xe.hasOwnProperty,_e=function(){var G=/[^.]+$/.exec(be&&be.keys&&be.keys.IE_PROTO||"");return G?"Symbol(src)_1."+G:""}(),He=xe.toString,Ve=RegExp("^"+Ue.call(Ie).replace(N,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ee=z?k.Buffer:void 0,Ke=k.Symbol,ut=k.Uint8Array,Ge=xe.propertyIsEnumerable,_t=ve.splice,lt=Ke?Ke.toStringTag:void 0,Je=Object.getOwnPropertySymbols,Et=Ee?Ee.isBuffer:void 0,Mt=Ce(Object.keys,Object),Be=pi(k,"DataView"),Xe=pi(k,"Map"),tt=pi(k,"Promise"),qe=pi(k,"Set"),et=pi(k,"WeakMap"),Ze=pi(Object,"create"),ze=Wn(Be),ft=Wn(Xe),rt=Wn(tt),Fe=Wn(qe),it=Wn(et),st=Ke?Ke.prototype:void 0,Le=st?st.valueOf:void 0;function Ye(G){var te=-1,pe=G==null?0:G.length;for(this.clear();++te<pe;){var $e=G[te];this.set($e[0],$e[1])}}function ht(){this.__data__=Ze?Ze(null):{},this.size=0}function je(G){var te=this.has(G)&&delete this.__data__[G];return this.size-=te?1:0,te}function Nt(G){var te=this.__data__;if(Ze){var pe=te[G];return pe===i?void 0:pe}return Ie.call(te,G)?te[G]:void 0}function Tt(G){var te=this.__data__;return Ze?te[G]!==void 0:Ie.call(te,G)}function at(G,te){var pe=this.__data__;return this.size+=this.has(G)?0:1,pe[G]=Ze&&te===void 0?i:te,this}Ye.prototype.clear=ht,Ye.prototype.delete=je,Ye.prototype.get=Nt,Ye.prototype.has=Tt,Ye.prototype.set=at;function bt(G){var te=-1,pe=G==null?0:G.length;for(this.clear();++te<pe;){var $e=G[te];this.set($e[0],$e[1])}}function Cr(){this.__data__=[],this.size=0}function Or(G){var te=this.__data__,pe=zs(te,G);if(pe<0)return!1;var $e=te.length-1;return pe==$e?te.pop():_t.call(te,pe,1),--this.size,!0}function Rr(G){var te=this.__data__,pe=zs(te,G);return pe<0?void 0:te[pe][1]}function Nr(G){return zs(this.__data__,G)>-1}function Tr(G,te){var pe=this.__data__,$e=zs(pe,G);return $e<0?(++this.size,pe.push([G,te])):pe[$e][1]=te,this}bt.prototype.clear=Cr,bt.prototype.delete=Or,bt.prototype.get=Rr,bt.prototype.has=Nr,bt.prototype.set=Tr;function Xt(G){var te=-1,pe=G==null?0:G.length;for(this.clear();++te<pe;){var $e=G[te];this.set($e[0],$e[1])}}function Yr(){this.size=0,this.__data__={hash:new Ye,map:new(Xe||bt),string:new Ye}}function Gi(G){var te=ms(this,G).delete(G);return this.size-=te?1:0,te}function Qr(G){return ms(this,G).get(G)}function Wi(G){return ms(this,G).has(G)}function Ji(G,te){var pe=ms(this,G),$e=pe.size;return pe.set(G,te),this.size+=pe.size==$e?0:1,this}Xt.prototype.clear=Yr,Xt.prototype.delete=Gi,Xt.prototype.get=Qr,Xt.prototype.has=Wi,Xt.prototype.set=Ji;function Xr(G){var te=-1,pe=G==null?0:G.length;for(this.__data__=new Xt;++te<pe;)this.add(G[te])}function Si(G){return this.__data__.set(G,i),this}function Mi(G){return this.__data__.has(G)}Xr.prototype.add=Xr.prototype.push=Si,Xr.prototype.has=Mi;function fr(G){var te=this.__data__=new bt(G);this.size=te.size}function Yi(){this.__data__=new bt,this.size=0}function Qi(G){var te=this.__data__,pe=te.delete(G);return this.size=te.size,pe}function Xi(G){return this.__data__.get(G)}function $s(G){return this.__data__.has(G)}function Oc(G,te){var pe=this.__data__;if(pe instanceof bt){var $e=pe.__data__;if(!Xe||$e.length<t-1)return $e.push([G,te]),this.size=++pe.size,this;pe=this.__data__=new Xt($e)}return pe.set(G,te),this.size=pe.size,this}fr.prototype.clear=Yi,fr.prototype.delete=Qi,fr.prototype.get=Xi,fr.prototype.has=$s,fr.prototype.set=Oc;function Rc(G,te){var pe=xa(G),$e=!pe&&Hc(G),jt=!pe&&!$e&&xo(G),pt=!pe&&!$e&&!jt&&Gc(G),Gt=pe||$e||jt||pt,or=Gt?Qe(G.length,String):[],Ot=or.length;for(var kt in G)Ie.call(G,kt)&&!(Gt&&(kt=="length"||jt&&(kt=="offset"||kt=="parent")||pt&&(kt=="buffer"||kt=="byteLength"||kt=="byteOffset")||$c(kt,Ot)))&&or.push(kt);return or}function zs(G,te){for(var pe=G.length;pe--;)if(kc(G[pe][0],te))return pe;return-1}function Ao(G,te,pe){var $e=te(G);return xa(G)?$e:we($e,pe(G))}function Fs(G){return G==null?G===void 0?ae:Q:lt&&lt in Object(G)?Lc(G):Vh(G)}function Eo(G){return ks(G)&&Fs(G)==u}function js(G,te,pe,$e,jt){return G===te?!0:G==null||te==null||!ks(G)&&!ks(te)?G!==G&&te!==te:Nc(G,te,pe,$e,js,jt)}function Nc(G,te,pe,$e,jt,pt){var Gt=xa(G),or=xa(te),Ot=Gt?b:bn(G),kt=or?b:bn(te);Ot=Ot==u?H:Ot,kt=kt==u?H:kt;var rr=Ot==H,Zr=kt==H,cr=Ot==kt;if(cr&&xo(G)){if(!xo(te))return!1;Gt=!0,rr=!1}if(cr&&!rr)return pt||(pt=new fr),Gt||Gc(G)?Aa(G,te,pe,$e,jt,pt):Kh(G,te,Ot,pe,$e,jt,pt);if(!(pe&n)){var Wt=rr&&Ie.call(G,"__wrapped__"),Fr=Zr&&Ie.call(te,"__wrapped__");if(Wt||Fr){var Zi=Wt?G.value():G,Ii=Fr?te.value():te;return pt||(pt=new fr),jt(Zi,Ii,pe,$e,pt)}}return cr?(pt||(pt=new fr),qc(G,te,pe,$e,jt,pt)):!1}function Hh(G){if(!Vc(G)||Fc(G))return!1;var te=Sa(G)?Ve:Z;return te.test(Wn(G))}function Tc(G){return ks(G)&&Kc(G.length)&&!!I[Fs(G)]}function Bc(G){if(!jc(G))return Mt(G);var te=[];for(var pe in Object(G))Ie.call(G,pe)&&pe!="constructor"&&te.push(pe);return te}function Aa(G,te,pe,$e,jt,pt){var Gt=pe&n,or=G.length,Ot=te.length;if(or!=Ot&&!(Gt&&Ot>or))return!1;var kt=pt.get(G);if(kt&&pt.get(te))return kt==te;var rr=-1,Zr=!0,cr=pe&a?new Xr:void 0;for(pt.set(G,te),pt.set(te,G);++rr<or;){var Wt=G[rr],Fr=te[rr];if($e)var Zi=Gt?$e(Fr,Wt,rr,te,G,pt):$e(Wt,Fr,rr,G,te,pt);if(Zi!==void 0){if(Zi)continue;Zr=!1;break}if(cr){if(!Re(te,function(Ii,mn){if(!Ne(cr,mn)&&(Wt===Ii||jt(Wt,Ii,pe,$e,pt)))return cr.push(mn)})){Zr=!1;break}}else if(!(Wt===Fr||jt(Wt,Fr,pe,$e,pt))){Zr=!1;break}}return pt.delete(G),pt.delete(te),Zr}function Kh(G,te,pe,$e,jt,pt,Gt){switch(pe){case m:if(G.byteLength!=te.byteLength||G.byteOffset!=te.byteOffset)return!1;G=G.buffer,te=te.buffer;case B:return!(G.byteLength!=te.byteLength||!pt(new ut(G),new ut(te)));case y:case E:case W:return kc(+G,+te);case C:return G.name==te.name&&G.message==te.message;case F:case A:return G==te+"";case j:var or=me;case V:var Ot=$e&n;if(or||(or=Te),G.size!=te.size&&!Ot)return!1;var kt=Gt.get(G);if(kt)return kt==te;$e|=a,Gt.set(G,te);var rr=Aa(or(G),or(te),$e,jt,pt,Gt);return Gt.delete(G),rr;case q:if(Le)return Le.call(G)==Le.call(te)}return!1}function qc(G,te,pe,$e,jt,pt){var Gt=pe&n,or=Ea(G),Ot=or.length,kt=Ea(te),rr=kt.length;if(Ot!=rr&&!Gt)return!1;for(var Zr=Ot;Zr--;){var cr=or[Zr];if(!(Gt?cr in te:Ie.call(te,cr)))return!1}var Wt=pt.get(G);if(Wt&&pt.get(te))return Wt==te;var Fr=!0;pt.set(G,te),pt.set(te,G);for(var Zi=Gt;++Zr<Ot;){cr=or[Zr];var Ii=G[cr],mn=te[cr];if($e)var So=Gt?$e(mn,Ii,cr,te,G,pt):$e(Ii,mn,cr,G,te,pt);if(!(So===void 0?Ii===mn||jt(Ii,mn,pe,$e,pt):So)){Fr=!1;break}Zi||(Zi=cr=="constructor")}if(Fr&&!Zi){var Hs=G.constructor,pr=te.constructor;Hs!=pr&&"constructor"in G&&"constructor"in te&&!(typeof Hs=="function"&&Hs instanceof Hs&&typeof pr=="function"&&pr instanceof pr)&&(Fr=!1)}return pt.delete(G),pt.delete(te),Fr}function Ea(G){return Ao(G,Jh,Uc)}function ms(G,te){var pe=G.__data__;return zc(te)?pe[typeof te=="string"?"string":"hash"]:pe.map}function pi(G,te){var pe=Se(G,te);return Hh(pe)?pe:void 0}function Lc(G){var te=Ie.call(G,lt),pe=G[lt];try{G[lt]=void 0;var $e=!0}catch{}var jt=He.call(G);return $e&&(te?G[lt]=pe:delete G[lt]),jt}var Uc=Je?function(G){return G==null?[]:(G=Object(G),ye(Je(G),function(te){return Ge.call(G,te)}))}:Ft,bn=Fs;(Be&&bn(new Be(new ArrayBuffer(1)))!=m||Xe&&bn(new Xe)!=j||tt&&bn(tt.resolve())!=Y||qe&&bn(new qe)!=V||et&&bn(new et)!=ue)&&(bn=function(G){var te=Fs(G),pe=te==H?G.constructor:void 0,$e=pe?Wn(pe):"";if($e)switch($e){case ze:return m;case ft:return j;case rt:return Y;case Fe:return V;case it:return ue}return te});function $c(G,te){return te=te??f,!!te&&(typeof G=="number"||se.test(G))&&G>-1&&G%1==0&&G<te}function zc(G){var te=typeof G;return te=="string"||te=="number"||te=="symbol"||te=="boolean"?G!=="__proto__":G===null}function Fc(G){return!!_e&&_e in G}function jc(G){var te=G&&G.constructor,pe=typeof te=="function"&&te.prototype||xe;return G===pe}function Vh(G){return He.call(G)}function Wn(G){if(G!=null){try{return Ue.call(G)}catch{}try{return G+""}catch{}}return""}function kc(G,te){return G===te||G!==G&&te!==te}var Hc=Eo(function(){return arguments}())?Eo:function(G){return ks(G)&&Ie.call(G,"callee")&&!Ge.call(G,"callee")},xa=Array.isArray;function Gh(G){return G!=null&&Kc(G.length)&&!Sa(G)}var xo=Et||zt;function Wh(G,te){return js(G,te)}function Sa(G){if(!Vc(G))return!1;var te=Fs(G);return te==P||te==O||te==v||te==U}function Kc(G){return typeof G=="number"&&G>-1&&G%1==0&&G<=f}function Vc(G){var te=typeof G;return G!=null&&(te=="object"||te=="function")}function ks(G){return G!=null&&typeof G=="object"}var Gc=he?Pe(he):Tc;function Jh(G){return Gh(G)?Rc(G):Bc(G)}function Ft(){return[]}function zt(){return!1}r.exports=Wh})(bh,bh.exports);var pP=bh.exports;const gP=y0(pP);var vP={};function bP(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var n=0;n<r.length;n++){var a=r.charAt(n),f=a.charCodeAt(0);if(t[f]!==255)throw new TypeError(a+" is ambiguous");t[f]=n}var u=r.length,b=r.charAt(0),v=Math.log(u)/Math.log(256),y=Math.log(256)/Math.log(u);function E(O){if(O instanceof Uint8Array||(ArrayBuffer.isView(O)?O=new Uint8Array(O.buffer,O.byteOffset,O.byteLength):Array.isArray(O)&&(O=Uint8Array.from(O))),!(O instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(O.length===0)return"";for(var j=0,W=0,Q=0,H=O.length;Q!==H&&O[Q]===0;)Q++,j++;for(var Y=(H-Q)*y+1>>>0,U=new Uint8Array(Y);Q!==H;){for(var F=O[Q],V=0,A=Y-1;(F!==0||V<W)&&A!==-1;A--,V++)F+=256*U[A]>>>0,U[A]=F%u>>>0,F=F/u>>>0;if(F!==0)throw new Error("Non-zero carry");W=V,Q++}for(var q=Y-W;q!==Y&&U[q]===0;)q++;for(var ae=b.repeat(j);q<Y;++q)ae+=r.charAt(U[q]);return ae}function C(O){if(typeof O!="string")throw new TypeError("Expected String");if(O.length===0)return new Uint8Array;var j=0;if(O[j]!==" "){for(var W=0,Q=0;O[j]===b;)W++,j++;for(var H=(O.length-j)*v+1>>>0,Y=new Uint8Array(H);O[j];){var U=t[O.charCodeAt(j)];if(U===255)return;for(var F=0,V=H-1;(U!==0||F<Q)&&V!==-1;V--,F++)U+=u*Y[V]>>>0,Y[V]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");Q=F,j++}if(O[j]!==" "){for(var A=H-Q;A!==H&&Y[A]===0;)A++;for(var q=new Uint8Array(W+(H-A)),ae=W;A!==H;)q[ae++]=Y[A++];return q}}}function P(O){var j=C(O);if(j)return j;throw new Error(`Non-${e} character`)}return{encode:E,decodeUnsafe:C,decode:P}}var mP=bP,yP=mP;const T2=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},wP=r=>new TextEncoder().encode(r),_P=r=>new TextDecoder().decode(r);class AP{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class EP{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}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 B2(this,e)}}class xP{constructor(e){this.decoders=e}or(e){return B2(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const B2=(r,e)=>new xP({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class SP{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new AP(e,t,i),this.decoder=new EP(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const jh=({name:r,prefix:e,encode:t,decode:i})=>new SP(r,e,t,i),Cc=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=yP(t,e);return jh({prefix:r,name:e,encode:i,decode:a=>T2(n(a))})},MP=(r,e,t,i)=>{const n={};for(let y=0;y<e.length;++y)n[e[y]]=y;let a=r.length;for(;r[a-1]==="=";)--a;const f=new Uint8Array(a*t/8|0);let u=0,b=0,v=0;for(let y=0;y<a;++y){const E=n[r[y]];if(E===void 0)throw new SyntaxError(`Non-${i} character`);b=b<<t|E,u+=t,u>=8&&(u-=8,f[v++]=255&b>>u)}if(u>=t||255&b<<8-u)throw new SyntaxError("Unexpected end of data");return f},IP=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let a="",f=0,u=0;for(let b=0;b<r.length;++b)for(u=u<<8|r[b],f+=8;f>t;)f-=t,a+=e[n&u>>f];if(f&&(a+=e[n&u<<t-f]),i)for(;a.length*t&7;)a+="=";return a},Pr=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>jh({prefix:e,name:r,encode(n){return IP(n,i,t)},decode(n){return MP(n,i,t,r)}}),DP=jh({prefix:"\0",name:"identity",encode:r=>_P(r),decode:r=>wP(r)});var PP=Object.freeze({__proto__:null,identity:DP});const CP=Pr({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var OP=Object.freeze({__proto__:null,base2:CP});const RP=Pr({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var NP=Object.freeze({__proto__:null,base8:RP});const TP=Cc({prefix:"9",name:"base10",alphabet:"0123456789"});var BP=Object.freeze({__proto__:null,base10:TP});const qP=Pr({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),LP=Pr({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var UP=Object.freeze({__proto__:null,base16:qP,base16upper:LP});const $P=Pr({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),zP=Pr({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),FP=Pr({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),jP=Pr({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),kP=Pr({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),HP=Pr({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),KP=Pr({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),VP=Pr({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),GP=Pr({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var WP=Object.freeze({__proto__:null,base32:$P,base32upper:zP,base32pad:FP,base32padupper:jP,base32hex:kP,base32hexupper:HP,base32hexpad:KP,base32hexpadupper:VP,base32z:GP});const JP=Cc({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),YP=Cc({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var QP=Object.freeze({__proto__:null,base36:JP,base36upper:YP});const XP=Cc({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ZP=Cc({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var eC=Object.freeze({__proto__:null,base58btc:XP,base58flickr:ZP});const tC=Pr({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),rC=Pr({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),iC=Pr({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),nC=Pr({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var sC=Object.freeze({__proto__:null,base64:tC,base64pad:rC,base64url:iC,base64urlpad:nC});const q2=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),aC=q2.reduce((r,e,t)=>(r[t]=e,r),[]),oC=q2.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function cC(r){return r.reduce((e,t)=>(e+=aC[t],e),"")}function fC(r){const e=[];for(const t of r){const i=oC[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const hC=jh({prefix:"🚀",name:"base256emoji",encode:cC,decode:fC});var uC=Object.freeze({__proto__:null,base256emoji:hC}),lC=L2,Fg=128,dC=127,pC=~dC,gC=Math.pow(2,31);function L2(r,e,t){e=e||[],t=t||0;for(var i=t;r>=gC;)e[t++]=r&255|Fg,r/=128;for(;r&pC;)e[t++]=r&255|Fg,r>>>=7;return e[t]=r|0,L2.bytes=t-i+1,e}var vC=d0,bC=128,jg=127;function d0(r,i){var t=0,i=i||0,n=0,a=i,f,u=r.length;do{if(a>=u)throw d0.bytes=0,new RangeError("Could not decode varint");f=r[a++],t+=n<28?(f&jg)<<n:(f&jg)*Math.pow(2,n),n+=7}while(f>=bC);return d0.bytes=a-i,t}var mC=Math.pow(2,7),yC=Math.pow(2,14),wC=Math.pow(2,21),_C=Math.pow(2,28),AC=Math.pow(2,35),EC=Math.pow(2,42),xC=Math.pow(2,49),SC=Math.pow(2,56),MC=Math.pow(2,63),IC=function(r){return r<mC?1:r<yC?2:r<wC?3:r<_C?4:r<AC?5:r<EC?6:r<xC?7:r<SC?8:r<MC?9:10},DC={encode:lC,decode:vC,encodingLength:IC},U2=DC;const kg=(r,e,t=0)=>(U2.encode(r,e,t),e),Hg=r=>U2.encodingLength(r),p0=(r,e)=>{const t=e.byteLength,i=Hg(r),n=i+Hg(t),a=new Uint8Array(n+t);return kg(r,a,0),kg(t,a,i),a.set(e,n),new PC(r,t,e,a)};class PC{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const $2=({name:r,code:e,encode:t})=>new CC(r,e,t);class CC{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?p0(this.code,t):t.then(i=>p0(this.code,i))}else throw Error("Unknown type, must be binary type")}}const z2=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),OC=$2({name:"sha2-256",code:18,encode:z2("SHA-256")}),RC=$2({name:"sha2-512",code:19,encode:z2("SHA-512")});var NC=Object.freeze({__proto__:null,sha256:OC,sha512:RC});const F2=0,TC="identity",j2=T2,BC=r=>p0(F2,j2(r)),qC={code:F2,name:TC,encode:j2,digest:BC};var LC=Object.freeze({__proto__:null,identity:qC});new TextEncoder,new TextDecoder;const Kg={...PP,...OP,...NP,...BP,...UP,...WP,...QP,...eC,...sC,...uC};({...NC,...LC});function UC(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function k2(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const Vg=k2("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Rl=k2("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=UC(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),$C={utf8:Vg,"utf-8":Vg,hex:Kg.base16,latin1:Rl,ascii:Rl,binary:Rl,...Kg};function zC(r,e="utf8"){const t=$C[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,"utf8"):t.decoder.decode(`${t.prefix}${r}`)}const H2="wc",K2=2,J0="core",kn=`${H2}@2:${J0}:`,FC={name:J0,logger:"error"},jC={database:":memory:"},kC="crypto",Gg="client_ed25519_seed",HC=Me.ONE_DAY,KC="keychain",VC="0.3",GC="messages",WC="0.3",JC=Me.SIX_HOURS,YC="publisher",V2="irn",QC="error",G2="wss://relay.walletconnect.org",XC="relayer",fi={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"},ZC="_subscription",Li={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},eO=.1,W2="2.15.2",tO=1e4,rO="0.3",iO="WALLETCONNECT_CLIENT_ID",Dn={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},nO="subscription",sO="0.3",aO=Me.FIVE_SECONDS*1e3,oO="pairing",cO="0.3",Jo={wc_pairingDelete:{req:{ttl:Me.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:Me.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Me.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:Me.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:Me.ONE_DAY,prompt:!1,tag:0},res:{ttl:Me.ONE_DAY,prompt:!1,tag:0}}},Wa={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},on={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},fO="history",hO="0.3",uO="expirer",Ui={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},lO="0.3",dO="verify-api",pO="https://verify.walletconnect.com",J2="https://verify.walletconnect.org",oc=J2,gO=`${oc}/v3`,vO=[pO,J2],bO="echo",mO="https://echo.walletconnect.com",xn={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"},os={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"},cn={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"},ra={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"},ia={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"},Yo={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"},yO=.1,wO="event-client",_O=86400,AO="https://pulse.walletconnect.com/batch";class EO{constructor(e,t){this.core=e,this.logger=t,this.keychain=new Map,this.name=KC,this.version=VC,this.initialized=!1,this.storagePrefix=kn,this.init=async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:a}=Ae("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(a)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Jr(t,this.name)}get context(){return di(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Cb(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ob(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class xO{constructor(e,t,i){this.core=e,this.logger=t,this.name=kC,this.randomSessionIdentifier=f0(),this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),a=R1(n);return Db(a.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=SM();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const a=await this.getClientSeed(),f=R1(a),u=this.randomSessionIdentifier;return await eE(u,n,HC,f)},this.generateSharedKey=(n,a,f)=>{this.isInitialized();const u=this.getPrivateKey(n),b=MM(u,a);return this.setSymKey(b,f)},this.setSymKey=async(n,a)=>{this.isInitialized();const f=a||Qf(n);return await this.keychain.set(f,n),f},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,a,f)=>{this.isInitialized();const u=y2(f),b=vs(a);if(pg(u)){const C=u.senderPublicKey,P=u.receiverPublicKey;n=await this.generateSharedKey(C,P)}const v=this.getSymKey(n),{type:y,senderPublicKey:E}=u;return DM({type:y,symKey:v,message:b,senderPublicKey:E})},this.decode=async(n,a,f)=>{this.isInitialized();const u=OM(a,f);if(pg(u)){const b=u.receiverPublicKey,v=u.senderPublicKey;n=await this.generateSharedKey(b,v)}try{const b=this.getSymKey(n),v=PM({symKey:b,encoded:a});return po(v)}catch(b){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(b)}},this.getPayloadType=n=>{const a=dh(n);return Mc(a.type)},this.getPayloadSenderPublicKey=n=>{const a=dh(n);return a.senderPublicKey?zr(a.senderPublicKey,Gr):void 0},this.core=e,this.logger=Jr(t,this.name),this.keychain=i||new EO(this.core,this.logger)}get context(){return di(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(Gg)}catch{e=f0(),await this.keychain.set(Gg,e)}return zC(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class SO extends qD{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=GC,this.version=WC,this.initialized=!1,this.storagePrefix=kn,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const a=fs(n);let f=this.messages.get(i);return typeof f>"u"&&(f={}),typeof f[a]<"u"||(f[a]=n,this.messages.set(i,f),await this.persist()),a},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const a=this.get(i),f=fs(n);return typeof a[f]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Jr(e,this.name),this.core=t}get context(){return di(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Cb(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ob(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class MO extends LD{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new Hi.EventEmitter,this.name=YC,this.queue=new Map,this.publishTimeout=Me.toMiliseconds(Me.ONE_MINUTE),this.failedPublishTimeout=Me.toMiliseconds(Me.ONE_SECOND),this.needsTransportRestart=!1,this.publish=async(i,n,a)=>{var f;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}});const u=(a==null?void 0:a.ttl)||JC,b=h0(a),v=(a==null?void 0:a.prompt)||!1,y=(a==null?void 0:a.tag)||0,E=(a==null?void 0:a.id)||oa().toString(),C={topic:i,message:n,opts:{ttl:u,relay:b,prompt:v,tag:y,id:E,attestation:a==null?void 0:a.attestation}},P=`Failed to publish payload, please try again. id:${E} tag:${y}`,O=Date.now();let j,W=1;try{for(;j===void 0;){if(Date.now()-O>this.publishTimeout)throw new Error(P);this.logger.trace({id:E,attempts:W},`publisher.publish - attempt ${W}`),j=await await Ja(this.rpcPublish(i,n,u,b,v,y,E,a==null?void 0:a.attestation).catch(Q=>this.logger.warn(Q)),this.publishTimeout,P),W++,j||await new Promise(Q=>setTimeout(Q,this.failedPublishTimeout))}this.relayer.events.emit(fi.publish,C),this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{id:E,topic:i,message:n,opts:a}})}catch(Q){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(Q),(f=a==null?void 0:a.internal)!=null&&f.throwOnFailedPublish)throw Q;this.queue.set(E,C)}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=Jr(t,this.name),this.registerEventListeners()}get context(){return di(this.logger)}rpcPublish(e,t,i,n,a,f,u,b){var v,y,E,C;const P={method:tc(n.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:a,tag:f,attestation:b},id:u};return ci((v=P.params)==null?void 0:v.prompt)&&((y=P.params)==null||delete y.prompt),ci((E=P.params)==null?void 0:E.tag)&&((C=P.params)==null||delete C.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:P}),this.relayer.request(P)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:n}=e;await this.publish(t,i,n)})}registerEventListeners(){this.relayer.core.heartbeat.on(wo.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(fi.connection_stalled);return}this.checkQueue()}),this.relayer.on(fi.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class IO{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const n=i.filter(a=>a!==t);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var DO=Object.defineProperty,PO=Object.defineProperties,CO=Object.getOwnPropertyDescriptors,Wg=Object.getOwnPropertySymbols,OO=Object.prototype.hasOwnProperty,RO=Object.prototype.propertyIsEnumerable,Jg=(r,e,t)=>e in r?DO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Qo=(r,e)=>{for(var t in e||(e={}))OO.call(e,t)&&Jg(r,t,e[t]);if(Wg)for(var t of Wg(e))RO.call(e,t)&&Jg(r,t,e[t]);return r},Nl=(r,e)=>PO(r,CO(e));class NO extends zD{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new IO,this.events=new Hi.EventEmitter,this.name=nO,this.version=sO,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=kn,this.subscribeTimeout=Me.toMiliseconds(Me.ONE_MINUTE),this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.pendingBatchMessages=[],this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId())},this.subscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const a=h0(n),f={topic:i,relay:a};this.pending.set(i,f);const u=await this.rpcSubscribe(i,a);return typeof u=="string"&&(this.onSubscribe(u,f),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}})),u}catch(a){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(a),a}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof(n==null?void 0:n.id)<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const n=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((a,f)=>{const u=new Me.Watch;u.start(n);const b=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(b),u.stop(n),a(!0)),u.elapsed(n)>=aO&&(clearInterval(b),u.stop(n),f(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=Jr(t,this.name),this.clientId=""}get context(){return di(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}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}onEnable(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const n=h0(i);await this.rpcUnsubscribe(e,t,n);const a=$t("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,a),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,t){const i={method:tc(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await Ja(this.relayer.request(i).catch(n=>this.logger.warn(n)),this.subscribeTimeout)?fs(e+this.clientId):null}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(fi.connection_stalled)}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:tc(t.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{return await await Ja(this.relayer.request(i).catch(n=>this.logger.warn(n)),this.subscribeTimeout)}catch{this.relayer.events.emit(fi.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:tc(t.protocol).batchFetchMessages,params:{topics:e.map(a=>a.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let n;try{n=await await Ja(this.relayer.request(i).catch(a=>this.logger.warn(a)),this.subscribeTimeout)}catch{this.relayer.events.emit(fi.connection_stalled)}return n}rpcUnsubscribe(e,t,i){const n={method:tc(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,t){this.setSubscription(e,Nl(Qo({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,Qo({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),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,Qo({},t)),this.topicMap.set(t.topic,e),this.events.emit(Dn.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=Ae("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(Dn.deleted,Nl(Qo({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Dn.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t<e;t++){const i=this.cached.splice(0,this.batchSubscribeTopicsLimit);await this.batchFetchMessages(i),await this.batchSubscribe(i)}}this.events.emit(Dn.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Ae("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);jn(t)&&this.onBatchSubscribe(t.map((i,n)=>Nl(Qo({},e[n]),{id:i})))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(this.pendingBatchMessages=this.pendingBatchMessages.concat(t.messages))}async onConnect(){await this.restart(),this.onEnable()}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||!this.relayer.connected)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e),this.pendingBatchMessages.length&&(await this.relayer.handleBatchMessageEvents(this.pendingBatchMessages),this.pendingBatchMessages=[])}registerEventListeners(){this.relayer.core.heartbeat.on(wo.pulse,async()=>{await this.checkPending()}),this.events.on(Dn.created,async e=>{const t=Dn.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(Dn.deleted,async e=>{const t=Dn.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var TO=Object.defineProperty,Yg=Object.getOwnPropertySymbols,BO=Object.prototype.hasOwnProperty,qO=Object.prototype.propertyIsEnumerable,Qg=(r,e,t)=>e in r?TO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,LO=(r,e)=>{for(var t in e||(e={}))BO.call(e,t)&&Qg(r,t,e[t]);if(Yg)for(var t of Yg(e))qO.call(e,t)&&Qg(r,t,e[t]);return r};class UO extends UD{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new Hi.EventEmitter,this.name=XC,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","stalled","interrupted"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.heartBeatTimeout=Me.toMiliseconds(Me.THIRTY_SECONDS+Me.ONE_SECOND),this.request=async t=>{var i,n;this.logger.debug("Publishing Request Payload");const a=t.id||oa().toString();await this.toEstablishConnection();try{const f=this.provider.request(t);this.requestsInFlight.set(a,{promise:f,request:t}),this.logger.trace({id:a,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - attempt to publish...");const u=await new Promise(async(b,v)=>{const y=()=>{v(new Error(`relayer.request - publish interrupted, id: ${a}`))};this.provider.on(Li.disconnect,y);const E=await f;this.provider.off(Li.disconnect,y),b(E)});return this.logger.trace({id:a,method:t.method,topic:(n=t.params)==null?void 0:n.topic},"relayer.request - published"),u}catch(f){throw this.logger.debug(`Failed to Publish Request: ${a}`),f}finally{this.requestsInFlight.delete(a)}},this.resetPingTimeout=()=>{if(hc())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,n;(n=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null||n.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.logger.trace("relayer connected"),this.startPingTimeout(),this.events.emit(fi.connect)},this.onDisconnectHandler=()=>{this.logger.trace("relayer disconnected"),this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(fi.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Li.payload,this.onPayloadHandler),this.provider.on(Li.connect,this.onConnectHandler),this.provider.on(Li.disconnect,this.onDisconnectHandler),this.provider.on(Li.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Jr(e.logger,this.name):Dc(Uh({level:e.logger||QC})),this.messages=new SO(this.logger,e.core),this.subscriber=new NO(this,this.logger),this.publisher=new MO(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||G2,this.projectId=e.projectId,this.bundleId=cE(),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),await this.transportOpen(),this.initialized=!0,setTimeout(async()=>{this.subscriber.topics.length===0&&this.subscriber.pending.size===0&&(this.logger.info("No topics subscribed to after init, closing transport"),await this.transportClose(),this.transportExplicitlyClosed=!1)},tO)}get context(){return di(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now()})}async subscribe(e,t){var i;this.isInitialized();let n=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"",a;const f=u=>{u.topic===e&&(this.subscriber.off(Dn.created,f),a())};return await Promise.all([new Promise(u=>{a=u,this.subscriber.on(Dn.created,f)}),new Promise(async u=>{n=await this.subscriber.subscribe(e,t)||n,u()})]),n}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(){if(!this.hasExperiencedNetworkDisruption&&this.connected&&this.requestsInFlight.size>0)try{await Promise.all(Array.from(this.requestsInFlight.values()).map(e=>e.promise))}catch(e){this.logger.warn(e)}this.hasExperiencedNetworkDisruption||this.connected?await Ja(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),await this.createProvider(),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;try{await new Promise(async(t,i)=>{const n=()=>{this.provider.off(Li.disconnect,n),i(new Error("Connection interrupted while trying to subscribe"))};this.provider.on(Li.disconnect,n),await Ja(this.provider.connect(),Me.toMiliseconds(Me.ONE_MINUTE),`Socket stalled when trying to connect to ${this.relayUrl}`).catch(a=>{i(a)}).finally(()=>{clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0}),this.subscriber.start().catch(a=>{this.logger.error(a),this.onDisconnectHandler()}),this.hasExperiencedNetworkDisruption=!1,t()})}catch(t){this.logger.error(t);const i=t;if(this.hasExperiencedNetworkDisruption=!0,!this.isConnectionStalled(i.message))throw t}finally{this.connectionAttemptInProgress=!1}}async restartTransport(e){this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await xg())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if((e==null?void 0:e.length)===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const t=e.sort((i,n)=>i.publishedAt-n.publishedAt);this.logger.trace(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(n){this.logger.warn(n)}this.logger.trace(`Batch of ${t.length} message events processed`)}startPingTimeout(){var e,t,i,n,a;if(hc())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((a=(n=(i=this.provider)==null?void 0:i.connection)==null?void 0:n.socket)==null||a.once("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(f){this.logger.warn(f)}}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new gn(new dP(pE({sdkVersion:W2,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.debug(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),W0(e)){if(!e.method.endsWith(ZC))return;const t=e.params,{topic:i,message:n,publishedAt:a,attestation:f}=t.data,u={topic:i,message:n,publishedAt:a,attestation:f};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(LO({type:"event",event:t.id},u)),this.events.emit(t.id,u),await this.acknowledgePayload(e),await this.onMessageEvent(u)}else Fh(e)&&this.events.emit(fi.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(fi.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=$h(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Li.payload,this.onPayloadHandler),this.provider.off(Li.connect,this.onConnectHandler),this.provider.off(Li.disconnect,this.onDisconnectHandler),this.provider.off(Li.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await xg();SI(async t=>{e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),this.requestsInFlight.clear(),clearTimeout(this.pingTimeout),this.events.emit(fi.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&(this.reconnectTimeout||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e))},Me.toMiliseconds(eO))))}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&(this.connectionAttemptInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)}),await this.transportOpen())}}var $O=Object.defineProperty,Xg=Object.getOwnPropertySymbols,zO=Object.prototype.hasOwnProperty,FO=Object.prototype.propertyIsEnumerable,Zg=(r,e,t)=>e in r?$O(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ev=(r,e)=>{for(var t in e||(e={}))zO.call(e,t)&&Zg(r,t,e[t]);if(Xg)for(var t of Xg(e))FO.call(e,t)&&Zg(r,t,e[t]);return r};class ya extends $D{constructor(e,t,i,n=kn,a=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=rO,this.cached=[],this.initialized=!1,this.storagePrefix=kn,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(f=>{this.getKey&&f!==null&&!ci(f)?this.map.set(this.getKey(f),f):rI(f)?this.map.set(f.id,f):iI(f)&&this.map.set(f.topic,f)}),this.cached=[],this.initialized=!0)},this.set=async(f,u)=>{this.isInitialized(),this.map.has(f)?await this.update(f,u):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:f,value:u}),this.map.set(f,u),await this.persist())},this.get=f=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:f}),this.getData(f)),this.getAll=f=>(this.isInitialized(),f?this.values.filter(u=>Object.keys(f).every(b=>gP(u[b],f[b]))):this.values),this.update=async(f,u)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:f,update:u});const b=ev(ev({},this.getData(f)),u);this.map.set(f,b),await this.persist()},this.delete=async(f,u)=>{this.isInitialized(),this.map.has(f)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:f,reason:u}),this.map.delete(f),this.addToRecentlyDeleted(f),await this.persist())},this.logger=Jr(t,this.name),this.storagePrefix=n,this.getKey=a}get context(){return di(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){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:n}=Ae("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}const{message:i}=Ae("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=Ae("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class jO{constructor(e,t){this.core=e,this.logger=t,this.name=oO,this.version=cO,this.events=new _0,this.initialized=!1,this.storagePrefix=kn,this.ignoredPayloadTypes=[ds],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async i=>{this.isInitialized();const n=f0(),a=await this.core.crypto.setSymKey(n),f=xr(Me.FIVE_MINUTES),u={protocol:V2},b={topic:a,expiry:f,relay:u,active:!1},v=VM({protocol:this.core.protocol,version:this.core.version,topic:a,symKey:n,relay:u,expiryTimestamp:f,methods:i==null?void 0:i.methods});return this.core.expirer.set(a,f),await this.pairings.set(a,b),await this.core.relayer.subscribe(a),{topic:a,uri:v}},this.pair=async i=>{this.isInitialized();const n=this.core.eventClient.createEvent({properties:{topic:i==null?void 0:i.uri,trace:[xn.pairing_started]}});this.isValidPair(i,n);const{topic:a,symKey:f,relay:u,expiryTimestamp:b,methods:v}=mg(i.uri);n.props.properties.topic=a,n.addTrace(xn.pairing_uri_validation_success),n.addTrace(xn.pairing_uri_not_expired);let y;if(this.pairings.keys.includes(a)){if(y=this.pairings.get(a),n.addTrace(xn.existing_pairing),y.active)throw n.setError(os.active_pairing_already_exists),new Error(`Pairing already exists: ${a}. Please try again with a new connection URI.`);n.addTrace(xn.pairing_not_expired)}const E=b||xr(Me.FIVE_MINUTES),C={topic:a,relay:u,expiry:E,active:!1,methods:v};this.core.expirer.set(a,E),await this.pairings.set(a,C),n.addTrace(xn.store_new_pairing),i.activatePairing&&await this.activate({topic:a}),this.events.emit(Wa.create,C),n.addTrace(xn.emit_inactive_pairing),this.core.crypto.keychain.has(a)||await this.core.crypto.setSymKey(f,a),n.addTrace(xn.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{n.setError(os.no_internet_connection)}try{await this.core.relayer.subscribe(a,{relay:u})}catch(P){throw n.setError(os.subscribe_pairing_topic_failure),P}return n.addTrace(xn.subscribe_pairing_topic_success),C},this.activate=async({topic:i})=>{this.isInitialized();const n=xr(Me.THIRTY_DAYS);this.core.expirer.set(i,n),await this.pairings.update(i,{active:!0,expiry:n})},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:n}=i;if(this.pairings.keys.includes(n)){const a=await this.sendRequest(n,"wc_pairingPing",{}),{done:f,resolve:u,reject:b}=sa();this.events.once(St("pairing_ping",a),({error:v})=>{v?b(v):u()}),await f()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",$t("USER_DISCONNECTED")),await this.deletePairing(n))},this.sendRequest=async(i,n,a)=>{const f=Xa(n,a),u=await this.core.crypto.encode(i,f),b=Jo[n].req;return this.core.history.set(i,f),this.core.relayer.publish(i,u,b),f.id},this.sendResult=async(i,n,a)=>{const f=$h(i,a),u=await this.core.crypto.encode(n,f),b=await this.core.history.get(n,i),v=Jo[b.request.method].res;await this.core.relayer.publish(n,u,v),await this.core.history.resolve(f)},this.sendError=async(i,n,a)=>{const f=zh(i,a),u=await this.core.crypto.encode(n,f),b=await this.core.history.get(n,i),v=Jo[b.request.method]?Jo[b.request.method].res:Jo.unregistered_method.res;await this.core.relayer.publish(n,u,v),await this.core.history.resolve(f)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,$t("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>Cs(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:a}=i;switch(a.method){case"wc_pairingPing":return this.onPairingPingRequest(n,a);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,a);default:return this.onUnknownRpcMethodRequest(n,a)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:a}=i,f=(await this.core.history.get(n,a.id)).request.method;switch(f){case"wc_pairingPing":return this.onPairingPingResponse(n,a);default:return this.onUnknownRpcMethodResponse(f)}},this.onPairingPingRequest=async(i,n)=>{const{id:a}=n;try{this.isValidPing({topic:i}),await this.sendResult(a,i,!0),this.events.emit(Wa.ping,{id:a,topic:i})}catch(f){await this.sendError(a,i,f),this.logger.error(f)}},this.onPairingPingResponse=(i,n)=>{const{id:a}=n;setTimeout(()=>{In(n)?this.events.emit(St("pairing_ping",a),{}):zi(n)&&this.events.emit(St("pairing_ping",a),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:a}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Wa.delete,{id:a,topic:i})}catch(f){await this.sendError(a,i,f),this.logger.error(f)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:a,method:f}=n;try{if(this.registeredMethods.includes(f))return;const u=$t("WC_METHOD_UNSUPPORTED",f);await this.sendError(a,i,u),this.logger.error(u)}catch(u){await this.sendError(a,i,u),this.logger.error(u)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error($t("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=(i,n)=>{var a;if(!ai(i)){const{message:u}=Ae("MISSING_OR_INVALID",`pair() params: ${i}`);throw n.setError(os.malformed_pairing_uri),new Error(u)}if(!tI(i.uri)){const{message:u}=Ae("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw n.setError(os.malformed_pairing_uri),new Error(u)}const f=mg(i==null?void 0:i.uri);if(!((a=f==null?void 0:f.relay)!=null&&a.protocol)){const{message:u}=Ae("MISSING_OR_INVALID","pair() uri#relay-protocol");throw n.setError(os.malformed_pairing_uri),new Error(u)}if(!(f!=null&&f.symKey)){const{message:u}=Ae("MISSING_OR_INVALID","pair() uri#symKey");throw n.setError(os.malformed_pairing_uri),new Error(u)}if(f!=null&&f.expiryTimestamp&&Me.toMiliseconds(f==null?void 0:f.expiryTimestamp)<Date.now()){n.setError(os.pairing_expired);const{message:u}=Ae("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(u)}},this.isValidPing=async i=>{if(!ai(i)){const{message:a}=Ae("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!ai(i)){const{message:a}=Ae("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!ar(i,!1)){const{message:n}=Ae("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=Ae("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(Cs(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=Ae("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Jr(t,this.name),this.pairings=new ya(this.core,this.logger,this.name,this.storagePrefix)}get context(){return di(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(fi.message,async e=>{const{topic:t,message:i}=e;if(!this.pairings.keys.includes(t)||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const n=await this.core.crypto.decode(t,i);try{W0(n)?(this.core.history.set(t,n),this.onRelayEventRequest({topic:t,payload:n})):Fh(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id))}catch(a){this.logger.error(a)}})}registerExpirerEvents(){this.core.expirer.on(Ui.expired,async e=>{const{topic:t}=Nb(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Wa.expire,{topic:t}))})}}class kO extends BD{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new Hi.EventEmitter,this.name=fO,this.version=hO,this.cached=[],this.initialized=!1,this.storagePrefix=kn,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,a)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:a}),this.records.has(n.id))return;const f={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:a,expiry:xr(Me.THIRTY_DAYS)};this.records.set(f.id,f),this.persist(),this.events.emit(on.created,f)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=zi(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.persist(),this.events.emit(on.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(a=>{if(a.topic===i){if(typeof n<"u"&&a.id!==n)return;this.records.delete(a.id),this.events.emit(on.deleted,a)}}),this.persist()},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Jr(t,this.name)}get context(){return di(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(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:Xa(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),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();const t=this.records.get(e);if(!t){const{message:i}=Ae("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(on.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Ae("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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(on.created,e=>{const t=on.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(on.updated,e=>{const t=on.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(on.deleted,e=>{const t=on.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(wo.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{Me.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(on.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class HO extends FD{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new Hi.EventEmitter,this.name=uO,this.version=lO,this.cached=[],this.initialized=!1,this.storagePrefix=kn,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const a=this.formatTarget(i),f={target:a,expiry:n};this.expirations.set(a,f),this.checkExpiry(a,f),this.events.emit(Ui.created,{target:a,expiration:f})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),a=this.getExpiration(n);this.expirations.delete(n),this.events.emit(Ui.deleted,{target:n,expiration:a})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Jr(t,this.name)}get context(){return di(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 gE(e);if(typeof e=="number")return vE(e);const{message:t}=Ae("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new 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(Ui.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Ae("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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){const t=this.expirations.get(e);if(!t){const{message:i}=Ae("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;Me.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Ui.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(wo.pulse,()=>this.checkExpirations()),this.events.on(Ui.created,e=>{const t=Ui.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Ui.expired,e=>{const t=Ui.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Ui.deleted,e=>{const t=Ui.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Jt={};Object.defineProperty(Jt,"__esModule",{value:!0}),Jt.getLocalStorage=Jt.getLocalStorageOrThrow=Jt.getCrypto=Jt.getCryptoOrThrow=Jt.getLocation=Jt.getLocationOrThrow=Jt.getNavigator=Jt.getNavigatorOrThrow=Y2=Jt.getDocument=Jt.getDocumentOrThrow=Jt.getFromWindowOrThrow=Jt.getFromWindow=void 0;function wa(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}Jt.getFromWindow=wa;function _o(r){const e=wa(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}Jt.getFromWindowOrThrow=_o;function KO(){return _o("document")}Jt.getDocumentOrThrow=KO;function VO(){return wa("document")}var Y2=Jt.getDocument=VO;function GO(){return _o("navigator")}Jt.getNavigatorOrThrow=GO;function WO(){return wa("navigator")}Jt.getNavigator=WO;function JO(){return _o("location")}Jt.getLocationOrThrow=JO;function YO(){return wa("location")}Jt.getLocation=YO;function QO(){return _o("crypto")}Jt.getCryptoOrThrow=QO;function XO(){return wa("crypto")}Jt.getCrypto=XO;function ZO(){return _o("localStorage")}Jt.getLocalStorageOrThrow=ZO;function eR(){return wa("localStorage")}Jt.getLocalStorage=eR;class tR extends jD{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,this.name=dO,this.verifyUrlV3=gO,this.storagePrefix=kn,this.version=K2,this.init=async()=>{var n;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&Me.toMiliseconds((n=this.publicKey)==null?void 0:n.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()),this.publicKey||await this.fetchAndPersistPublicKey())},this.register=async n=>{if(!Ec()||this.isDevEnv)return;const a=window.location.origin,{id:f,decryptedId:u}=n,b=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${a}&id=${f}&decryptedId=${u}`;try{const v=Y2(),y=this.startAbortTimer(Me.ONE_SECOND*5),E=await new Promise((C,P)=>{const O=()=>{window.removeEventListener("message",W),v.body.removeChild(j),P("attestation aborted")};this.abortController.signal.addEventListener("abort",O);const j=v.createElement("iframe");j.src=b,j.style.display="none",j.addEventListener("error",O,{signal:this.abortController.signal});const W=Q=>{if(!Q.data)return;const H=JSON.parse(Q.data);if(H.type==="verify_attestation"){if(e0(H.attestation).payload.id!==f)return;clearInterval(y),v.body.removeChild(j),this.abortController.signal.removeEventListener("abort",O),window.removeEventListener("message",W),C(H.attestation===null?"":H.attestation)}};v.body.appendChild(j),window.addEventListener("message",W,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",E),E}catch(v){this.logger.warn(v)}return""},this.resolve=async n=>{if(this.isDevEnv)return"";const{attestationId:a,hash:f,encryptedId:u}=n;if(a===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(a){if(e0(a).payload.id!==u)return;const v=await this.isValidJwtAttestation(a);if(v)return v}if(!f)return;const b=this.getVerifyUrl(n==null?void 0:n.verifyUrl);return this.fetchAttestation(f,b)},this.fetchAttestation=async(n,a)=>{this.logger.debug(`resolving attestation: ${n} from url: ${a}`);const f=this.startAbortTimer(Me.ONE_SECOND*5),u=await fetch(`${a}/attestation/${n}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(f),u.status===200?await u.json():void 0},this.getVerifyUrl=n=>{let a=n||oc;return vO.includes(a)||(this.logger.info(`verify url: ${a}, not included in trusted list, assigning default: ${oc}`),a=oc),a},this.fetchPublicKey=async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const n=this.startAbortTimer(Me.FIVE_SECONDS),a=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(n),await a.json()}catch(n){this.logger.warn(n)}},this.persistPublicKey=async n=>{this.logger.debug("persisting public key to local storage",n),await this.store.setItem(this.storeKey,n),this.publicKey=n},this.removePublicKey=async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0},this.isValidJwtAttestation=async n=>{const a=await this.getPublicKey();try{if(a)return this.validateAttestation(n,a)}catch(u){this.logger.error(u),this.logger.warn("error validating attestation")}const f=await this.fetchAndPersistPublicKey();try{if(f)return this.validateAttestation(n,f)}catch(u){this.logger.error(u),this.logger.warn("error validating attestation")}},this.getPublicKey=async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey(),this.fetchAndPersistPublicKey=async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async a=>{const f=await this.fetchPublicKey();f&&(await this.persistPublicKey(f),a(f))});const n=await this.fetchPromise;return this.fetchPromise=void 0,n},this.validateAttestation=(n,a)=>{const f=BM(n,a.publicKey),u={hasExpired:Me.toMiliseconds(f.exp)<Date.now(),payload:f};if(u.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:u.payload.origin,isScam:u.payload.isScam}},this.logger=Jr(t,this.name),this.abortController=new AbortController,this.isDevEnv=hc()&&vP.IS_VITEST,this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return di(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Me.toMiliseconds(e))}}class rR extends kD{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=bO,this.registerDeviceToken=async i=>{const{clientId:n,token:a,notificationType:f,enableEncrypted:u=!1}=i,b=`${mO}/${this.projectId}/clients`;await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,type:f,token:a,always_raw:u})})},this.logger=Jr(t,this.context)}}var iR=Object.defineProperty,tv=Object.getOwnPropertySymbols,nR=Object.prototype.hasOwnProperty,sR=Object.prototype.propertyIsEnumerable,rv=(r,e,t)=>e in r?iR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xo=(r,e)=>{for(var t in e||(e={}))nR.call(e,t)&&rv(r,t,e[t]);if(tv)for(var t of tv(e))sR.call(e,t)&&rv(r,t,e[t]);return r};class aR extends HD{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,this.context=wO,this.storagePrefix=kn,this.storageVersion=yO,this.events=new Map,this.shouldPersist=!1,this.createEvent=n=>{const{event:a="ERROR",type:f="",properties:{topic:u,trace:b}}=n,v=yE(),y=this.core.projectId||"",E=Date.now(),C=Xo({eventId:v,bundleId:y,timestamp:E,props:{event:a,type:f,properties:{topic:u,trace:b}}},this.setMethods(v));return this.telemetryEnabled&&(this.events.set(v,C),this.shouldPersist=!0),C},this.getEvent=n=>{const{eventId:a,topic:f}=n;if(a)return this.events.get(a);const u=Array.from(this.events.values()).find(b=>b.props.properties.topic===f);if(u)return Xo(Xo({},u),this.setMethods(u.eventId))},this.deleteEvent=n=>{const{eventId:a}=n;this.events.delete(a),this.shouldPersist=!0},this.setEventListeners=()=>{this.core.heartbeat.on(wo.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(n=>{Me.fromMiliseconds(Date.now())-Me.fromMiliseconds(n.timestamp)>_O&&(this.events.delete(n.eventId),this.shouldPersist=!0)})})},this.setMethods=n=>({addTrace:a=>this.addTrace(n,a),setError:a=>this.setError(n,a)}),this.addTrace=(n,a)=>{const f=this.events.get(n);f&&(f.props.properties.trace.push(a),this.events.set(n,f),this.shouldPersist=!0)},this.setError=(n,a)=>{const f=this.events.get(n);f&&(f.props.type=a,f.timestamp=Date.now(),this.events.set(n,f),this.shouldPersist=!0)},this.persist=async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1},this.restore=async()=>{try{const n=await this.core.storage.getItem(this.storageKey)||[];if(!n.length)return;n.forEach(a=>{this.events.set(a.eventId,Xo(Xo({},a),this.setMethods(a.eventId)))})}catch(n){this.logger.warn(n)}},this.submit=async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const n=[];for(const[a,f]of this.events)f.props.type&&n.push(f);if(n.length!==0)try{if((await fetch(`${AO}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${W2}`,{method:"POST",body:JSON.stringify(n)})).ok)for(const a of n)this.events.delete(a.eventId),this.shouldPersist=!0}catch(a){this.logger.warn(a)}},this.logger=Jr(t,this.context),i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var oR=Object.defineProperty,iv=Object.getOwnPropertySymbols,cR=Object.prototype.hasOwnProperty,fR=Object.prototype.propertyIsEnumerable,nv=(r,e,t)=>e in r?oR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,sv=(r,e)=>{for(var t in e||(e={}))cR.call(e,t)&&nv(r,t,e[t]);if(iv)for(var t of iv(e))fR.call(e,t)&&nv(r,t,e[t]);return r};class Y0 extends TD{constructor(e){var t;super(e),this.protocol=H2,this.version=K2,this.name=J0,this.events=new Hi.EventEmitter,this.initialized=!1,this.on=(f,u)=>this.events.on(f,u),this.once=(f,u)=>this.events.once(f,u),this.off=(f,u)=>this.events.off(f,u),this.removeListener=(f,u)=>this.events.removeListener(f,u),this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||G2,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Uh({level:typeof(e==null?void 0:e.logger)=="string"&&e.logger?e.logger:FC.logger}),{logger:n,chunkLoggerController:a}=ND({opts:i,maxSizeInBytes:e==null?void 0:e.maxLogBlobSizeInBytes,loggerOverride:e==null?void 0:e.logger});this.logChunkController=a,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var f,u;(f=this.logChunkController)!=null&&f.downloadLogsBlobInBrowser&&((u=this.logChunkController)==null||u.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Jr(n,this.name),this.heartbeat=new sD,this.crypto=new xO(this,this.logger,e==null?void 0:e.keychain),this.history=new kO(this,this.logger),this.expirer=new HO(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new iD(sv(sv({},jC),e==null?void 0:e.storageOptions)),this.relayer=new UO({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new jO(this,this.logger),this.verify=new tR(this,this.logger,this.storage),this.echoClient=new rR(this.projectId||"",this.logger),this.eventClient=new aR(this,this.logger,e==null?void 0:e.telemetryEnabled)}static async init(e){const t=new Y0(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(iO,i),t}get context(){return di(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}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.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}}}const hR=Y0,Q2="wc",X2=2,Z2="client",Q0=`${Q2}@${X2}:${Z2}:`,Tl={name:Z2,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.com"},av="WALLETCONNECT_DEEPLINK_CHOICE",uR="proposal",em="Proposal expired",lR="session",ja=Me.SEVEN_DAYS,dR="engine",Er={wc_sessionPropose:{req:{ttl:Me.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Me.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Me.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Me.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Me.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Me.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Me.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Me.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Me.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Me.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Me.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Me.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Me.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:Me.FIVE_MINUTES,prompt:!1,tag:1119}}},Bl={min:Me.FIVE_MINUTES,max:Me.SEVEN_DAYS},En={idle:"IDLE",active:"ACTIVE"},pR="request",gR=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],vR="wc",bR="auth",mR="authKeys",yR="pairingTopics",wR="requests",kh=`${vR}@${1.5}:${bR}:`,eh=`${kh}:PUB_KEY`;var _R=Object.defineProperty,AR=Object.defineProperties,ER=Object.getOwnPropertyDescriptors,ov=Object.getOwnPropertySymbols,xR=Object.prototype.hasOwnProperty,SR=Object.prototype.propertyIsEnumerable,cv=(r,e,t)=>e in r?_R(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,lr=(r,e)=>{for(var t in e||(e={}))xR.call(e,t)&&cv(r,t,e[t]);if(ov)for(var t of ov(e))SR.call(e,t)&&cv(r,t,e[t]);return r},na=(r,e)=>AR(r,ER(e));class MR extends VD{constructor(e){super(e),this.name=dR,this.events=new _0,this.initialized=!1,this.requestQueue={state:En.idle,queue:[]},this.sessionRequestQueue={state:En.idle,queue:[]},this.requestQueueDelay=Me.ONE_SECOND,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.relayMessageCache=[],this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),this.client.core.pairing.register({methods:Object.keys(Er)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Me.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{await this.isInitialized();const i=na(lr({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:n,requiredNamespaces:a,optionalNamespaces:f,sessionProperties:u,relays:b}=i;let v=n,y,E=!1;try{v&&(E=this.client.core.pairing.pairings.get(v).active)}catch(U){throw this.client.logger.error(`connect() -> pairing.get(${v}) failed`),U}if(!v||!E){const{topic:U,uri:F}=await this.client.core.pairing.create();v=U,y=F}if(!v){const{message:U}=Ae("NO_MATCHING_KEY",`connect() pairing topic: ${v}`);throw new Error(U)}const C=await this.client.core.crypto.generateKeyPair(),P=Er.wc_sessionPropose.req.ttl||Me.FIVE_MINUTES,O=xr(P),j=lr({requiredNamespaces:a,optionalNamespaces:f,relays:b??[{protocol:V2}],proposer:{publicKey:C,metadata:this.client.metadata},expiryTimestamp:O,pairingTopic:v},u&&{sessionProperties:u}),{reject:W,resolve:Q,done:H}=sa(P,em);this.events.once(St("session_connect"),async({error:U,session:F})=>{if(U)W(U);else if(F){F.self.publicKey=C;const V=na(lr({},F),{pairingTopic:j.pairingTopic,requiredNamespaces:j.requiredNamespaces,optionalNamespaces:j.optionalNamespaces});await this.client.session.set(F.topic,V),await this.setExpiry(F.topic,F.expiry),v&&await this.client.core.pairing.updateMetadata({topic:v,metadata:F.peer.metadata}),this.cleanupDuplicatePairings(V),Q(V)}});const Y=await this.sendRequest({topic:v,method:"wc_sessionPropose",params:j,throwOnFailedPublish:!0});return await this.setProposal(Y,lr({id:Y},j)),{uri:y,approval:H}},this.pair=async t=>{await this.isInitialized();try{return await this.client.core.pairing.pair(t)}catch(i){throw this.client.logger.error("pair() failed"),i}},this.approve=async t=>{var i,n,a;const f=this.client.core.eventClient.createEvent({properties:{topic:(i=t==null?void 0:t.id)==null?void 0:i.toString(),trace:[cn.session_approve_started]}});try{await this.isInitialized()}catch(A){throw f.setError(ra.no_internet_connection),A}try{await this.isValidProposalId(t==null?void 0:t.id)}catch(A){throw this.client.logger.error(`approve() -> proposal.get(${t==null?void 0:t.id}) failed`),f.setError(ra.proposal_not_found),A}try{await this.isValidApprove(t)}catch(A){throw this.client.logger.error("approve() -> isValidApprove() failed"),f.setError(ra.session_approve_namespace_validation_failure),A}const{id:u,relayProtocol:b,namespaces:v,sessionProperties:y,sessionConfig:E}=t,C=this.client.proposal.get(u);this.client.core.eventClient.deleteEvent({eventId:f.eventId});const{pairingTopic:P,proposer:O,requiredNamespaces:j,optionalNamespaces:W}=C;let Q=(n=this.client.core.eventClient)==null?void 0:n.getEvent({topic:P});Q||(Q=(a=this.client.core.eventClient)==null?void 0:a.createEvent({type:cn.session_approve_started,properties:{topic:P,trace:[cn.session_approve_started,cn.session_namespaces_validation_success]}}));const H=await this.client.core.crypto.generateKeyPair(),Y=O.publicKey,U=await this.client.core.crypto.generateSharedKey(H,Y),F=lr(lr({relay:{protocol:b??"irn"},namespaces:v,controller:{publicKey:H,metadata:this.client.metadata},expiry:xr(ja)},y&&{sessionProperties:y}),E&&{sessionConfig:E});Q.addTrace(cn.subscribing_session_topic);try{await this.client.core.relayer.subscribe(U)}catch(A){throw Q.setError(ra.subscribe_session_topic_failure),A}Q.addTrace(cn.subscribe_session_topic_success);const V=na(lr({},F),{topic:U,requiredNamespaces:j,optionalNamespaces:W,pairingTopic:P,acknowledged:!1,self:F.controller,peer:{publicKey:O.publicKey,metadata:O.metadata},controller:H});await this.client.session.set(U,V),Q.addTrace(cn.store_session);try{Q.addTrace(cn.publishing_session_settle),await this.sendRequest({topic:U,method:"wc_sessionSettle",params:F,throwOnFailedPublish:!0}).catch(A=>{throw Q==null||Q.setError(ra.session_settle_publish_failure),A}),Q.addTrace(cn.session_settle_publish_success),Q.addTrace(cn.publishing_session_approve),await this.sendResult({id:u,topic:P,result:{relay:{protocol:b??"irn"},responderPublicKey:H},throwOnFailedPublish:!0}).catch(A=>{throw Q==null||Q.setError(ra.session_approve_publish_failure),A}),Q.addTrace(cn.session_approve_publish_success)}catch(A){throw this.client.logger.error(A),this.client.session.delete(U,$t("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(U),A}return this.client.core.eventClient.deleteEvent({eventId:Q.eventId}),await this.client.core.pairing.updateMetadata({topic:P,metadata:O.metadata}),await this.client.proposal.delete(u,$t("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:P}),await this.setExpiry(U,xr(ja)),{topic:U,acknowledged:()=>Promise.resolve(this.client.session.get(U))}},this.reject=async t=>{await this.isInitialized();try{await this.isValidReject(t)}catch(f){throw this.client.logger.error("reject() -> isValidReject() failed"),f}const{id:i,reason:n}=t;let a;try{a=this.client.proposal.get(i).pairingTopic}catch(f){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),f}a&&(await this.sendError({id:i,topic:a,error:n,rpcOpts:Er.wc_sessionPropose.reject}),await this.client.proposal.delete(i,$t("USER_DISCONNECTED")))},this.update=async t=>{await this.isInitialized();try{await this.isValidUpdate(t)}catch(E){throw this.client.logger.error("update() -> isValidUpdate() failed"),E}const{topic:i,namespaces:n}=t,{done:a,resolve:f,reject:u}=sa(),b=Rs(),v=oa().toString(),y=this.client.session.get(i).namespaces;return this.events.once(St("session_update",b),({error:E})=>{E?u(E):f()}),await this.client.session.update(i,{namespaces:n}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:b,relayRpcId:v}).catch(E=>{this.client.logger.error(E),this.client.session.update(i,{namespaces:y}),u(E)}),{acknowledged:a}},this.extend=async t=>{await this.isInitialized();try{await this.isValidExtend(t)}catch(b){throw this.client.logger.error("extend() -> isValidExtend() failed"),b}const{topic:i}=t,n=Rs(),{done:a,resolve:f,reject:u}=sa();return this.events.once(St("session_extend",n),({error:b})=>{b?u(b):f()}),await this.setExpiry(i,xr(ja)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(b=>{u(b)}),{acknowledged:a}},this.request=async t=>{await this.isInitialized();try{await this.isValidRequest(t)}catch(P){throw this.client.logger.error("request() -> isValidRequest() failed"),P}const{chainId:i,request:n,topic:a,expiry:f=Er.wc_sessionRequest.req.ttl}=t,u=this.client.session.get(a),b=Rs(),v=oa().toString(),{done:y,resolve:E,reject:C}=sa(f,"Request expired. Please try again.");return this.events.once(St("session_request",b),({error:P,result:O})=>{P?C(P):E(O)}),await Promise.all([new Promise(async P=>{await this.sendRequest({clientRpcId:b,relayRpcId:v,topic:a,method:"wc_sessionRequest",params:{request:na(lr({},n),{expiryTimestamp:xr(f)}),chainId:i},expiry:f,throwOnFailedPublish:!0}).catch(O=>C(O)),this.client.events.emit("session_request_sent",{topic:a,request:n,chainId:i,id:b}),P()}),new Promise(async P=>{var O;if(!((O=u.sessionConfig)!=null&&O.disableDeepLink)){const j=await mE(this.client.core.storage,av);bE({id:b,topic:a,wcDeepLink:j})}P()}),y()]).then(P=>P[2])},this.respond=async t=>{await this.isInitialized(),await this.isValidRespond(t);const{topic:i,response:n}=t,{id:a}=n;In(n)?await this.sendResult({id:a,topic:i,result:n.result,throwOnFailedPublish:!0}):zi(n)&&await this.sendError({id:a,topic:i,error:n.error}),this.cleanupAfterResponse(t)},this.ping=async t=>{await this.isInitialized();try{await this.isValidPing(t)}catch(n){throw this.client.logger.error("ping() -> isValidPing() failed"),n}const{topic:i}=t;if(this.client.session.keys.includes(i)){const n=Rs(),a=oa().toString(),{done:f,resolve:u,reject:b}=sa();this.events.once(St("session_ping",n),({error:v})=>{v?b(v):u()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:n,relayRpcId:a}),f()])}else this.client.core.pairing.pairings.keys.includes(i)&&await this.client.core.pairing.ping({topic:i})},this.emit=async t=>{await this.isInitialized(),await this.isValidEmit(t);const{topic:i,event:n,chainId:a}=t,f=oa().toString();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:n,chainId:a},throwOnFailedPublish:!0,relayRpcId:f})},this.disconnect=async t=>{await this.isInitialized(),await this.isValidDisconnect(t);const{topic:i}=t;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:$t("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:i,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(i))await this.client.core.pairing.disconnect({topic:i});else{const{message:n}=Ae("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(n)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(i=>ZM(i,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async t=>{this.isInitialized(),this.isValidAuthenticate(t);const{chains:i,statement:n="",uri:a,domain:f,nonce:u,type:b,exp:v,nbf:y,methods:E=[],expiry:C}=t,P=[...t.resources||[]],{topic:O,uri:j}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"]});this.client.logger.info({message:"Generated new pairing",pairing:{topic:O,uri:j}});const W=await this.client.core.crypto.generateKeyPair(),Q=Qf(W);if(await Promise.all([this.client.auth.authKeys.set(eh,{responseTopic:Q,publicKey:W}),this.client.auth.pairingTopics.set(Q,{topic:Q,pairingTopic:O})]),await this.client.core.relayer.subscribe(Q),this.client.logger.info(`sending request to new pairing topic: ${O}`),E.length>0){const{namespace:c}=ic(i[0]);let h=lM(c,"request",E);Yf(P)&&(h=pM(h,P.pop())),P.push(h)}const H=C&&C>Er.wc_sessionAuthenticate.req.ttl?C:Er.wc_sessionAuthenticate.req.ttl,Y={authPayload:{type:b??"caip122",chains:i,statement:n,aud:a,domain:f,version:"1",nonce:u,iat:new Date().toISOString(),exp:v,nbf:y,resources:P},requester:{publicKey:W,metadata:this.client.metadata},expiryTimestamp:xr(H)},U={eip155:{chains:i,methods:[...new Set(["personal_sign",...E])],events:["chainChanged","accountsChanged"]}},F={requiredNamespaces:{},optionalNamespaces:U,relays:[{protocol:"irn"}],pairingTopic:O,proposer:{publicKey:W,metadata:this.client.metadata},expiryTimestamp:xr(Er.wc_sessionPropose.req.ttl)},{done:V,resolve:A,reject:q}=sa(H,"Request expired"),ae=async({error:c,session:h})=>{if(this.events.off(St("session_request",B),ue),c)q(c);else if(h){h.self.publicKey=W,await this.client.session.set(h.topic,h),await this.setExpiry(h.topic,h.expiry),O&&await this.client.core.pairing.updateMetadata({topic:O,metadata:h.peer.metadata});const g=this.client.session.get(h.topic);await this.deleteProposal(m),A({session:g})}},ue=async c=>{if(await this.deletePendingAuthRequest(B,{message:"fulfilled",code:0}),c.error){const d=$t("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return c.error.code===d.code?void 0:(this.events.off(St("session_connect"),ae),q(c.error.message))}await this.deleteProposal(m),this.events.off(St("session_connect"),ae);const{cacaos:h,responder:g}=c.result,_=[],M=[];for(const d of h){await cg({cacao:d,projectId:this.client.core.projectId})||(this.client.logger.error(d,"Signature verification failed"),q($t("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p}=d,N=Yf(p.resources),Z=[og(p.iss)],se=lh(p.iss);if(N){const I=fg(N),ee=hg(N);_.push(...I),Z.push(...ee)}for(const I of Z)M.push(`${I}:${se}`)}const D=await this.client.core.crypto.generateSharedKey(W,g.publicKey);let S;_.length>0&&(S={topic:D,acknowledged:!0,self:{publicKey:W,metadata:this.client.metadata},peer:g,controller:g.publicKey,expiry:xr(ja),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:O,namespaces:yg([...new Set(_)],[...new Set(M)])},await this.client.core.relayer.subscribe(D),await this.client.session.set(D,S),O&&await this.client.core.pairing.updateMetadata({topic:O,metadata:g.metadata}),S=this.client.session.get(D)),A({auths:h,session:S})},B=Rs(),m=Rs();this.events.once(St("session_connect"),ae),this.events.once(St("session_request",B),ue);try{await Promise.all([this.sendRequest({topic:O,method:"wc_sessionAuthenticate",params:Y,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:B}),this.sendRequest({topic:O,method:"wc_sessionPropose",params:F,expiry:Er.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:m})])}catch(c){throw this.events.off(St("session_connect"),ae),this.events.off(St("session_request",B),ue),c}return await this.setProposal(m,lr({id:m},F)),await this.setAuthRequest(B,{request:na(lr({},Y),{verifyContext:{}}),pairingTopic:O}),{uri:j,response:V}},this.approveSessionAuthenticate=async t=>{const{id:i,auths:n}=t,a=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[ia.authenticated_session_approve_started]}});try{this.isInitialized()}catch(j){throw a.setError(Yo.no_internet_connection),j}const f=this.getPendingAuthRequest(i);if(!f)throw a.setError(Yo.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const u=f.requester.publicKey,b=await this.client.core.crypto.generateKeyPair(),v=Qf(u),y={type:ds,receiverPublicKey:u,senderPublicKey:b},E=[],C=[];for(const j of n){if(!await cg({cacao:j,projectId:this.client.core.projectId})){a.setError(Yo.invalid_cacao);const U=$t("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:v,error:U,encodeOpts:y}),new Error(U.message)}a.addTrace(ia.cacaos_verified);const{p:W}=j,Q=Yf(W.resources),H=[og(W.iss)],Y=lh(W.iss);if(Q){const U=fg(Q),F=hg(Q);E.push(...U),H.push(...F)}for(const U of H)C.push(`${U}:${Y}`)}const P=await this.client.core.crypto.generateSharedKey(b,u);a.addTrace(ia.create_authenticated_session_topic);let O;if((E==null?void 0:E.length)>0){O={topic:P,acknowledged:!0,self:{publicKey:b,metadata:this.client.metadata},peer:{publicKey:u,metadata:f.requester.metadata},controller:u,expiry:xr(ja),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:f.pairingTopic,namespaces:yg([...new Set(E)],[...new Set(C)])},a.addTrace(ia.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(P)}catch(j){throw a.setError(Yo.subscribe_authenticated_session_topic_failure),j}a.addTrace(ia.subscribe_authenticated_session_topic_success),await this.client.session.set(P,O),a.addTrace(ia.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:f.pairingTopic,metadata:f.requester.metadata})}a.addTrace(ia.publishing_authenticated_session_approve);try{await this.sendResult({topic:v,id:i,result:{cacaos:n,responder:{publicKey:b,metadata:this.client.metadata}},encodeOpts:y,throwOnFailedPublish:!0})}catch(j){throw a.setError(Yo.authenticated_session_approve_publish_failure),j}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:f.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:a.eventId}),{session:O}},this.rejectSessionAuthenticate=async t=>{await this.isInitialized();const{id:i,reason:n}=t,a=this.getPendingAuthRequest(i);if(!a)throw new Error(`Could not find pending auth request with id ${i}`);const f=a.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),b=Qf(f),v={type:ds,receiverPublicKey:f,senderPublicKey:u};await this.sendError({id:i,topic:b,error:n,encodeOpts:v,rpcOpts:Er.wc_sessionAuthenticate.reject}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,$t("USER_DISCONNECTED"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:i,iss:n}=t;return g2(i,n)},this.processRelayMessageCache=()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const t=this.relayMessageCache.shift();t&&await this.onRelayMessage(t)}catch(t){this.client.logger.error(t)}},50)},this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const i=this.client.core.pairing.pairings.get(t.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(a=>{var f,u;return((f=a.peerMetadata)==null?void 0:f.url)&&((u=a.peerMetadata)==null?void 0:u.url)===t.peer.metadata.url&&a.topic&&a.topic!==i.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(a=>this.client.core.pairing.disconnect({topic:a.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(i){this.client.logger.error(i)}},this.deleteSession=async t=>{var i;const{topic:n,expirerHasDeleted:a=!1,emitEvent:f=!0,id:u=0}=t,{self:b}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,$t("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(b.publicKey)&&await this.client.core.crypto.deleteKeyPair(b.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),a||this.client.core.expirer.del(n),this.client.core.storage.removeItem(av).catch(v=>this.client.logger.warn(v)),this.getPendingSessionRequests().forEach(v=>{v.topic===n&&this.deletePendingSessionRequest(v.id,$t("USER_DISCONNECTED"))}),n===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=En.idle),f&&this.client.events.emit("session_delete",{id:u,topic:n})},this.deleteProposal=async(t,i)=>{if(i)try{const n=this.client.proposal.get(t),a=this.client.core.eventClient.getEvent({topic:n.pairingTopic});a==null||a.setError(ra.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(t,$t("USER_DISCONNECTED")),i?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"proposal")},this.deletePendingSessionRequest=async(t,i,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,i),n?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(a=>a.id!==t),n&&(this.sessionRequestQueue.state=En.idle,this.client.events.emit("session_request_expire",{id:t}))},this.deletePendingAuthRequest=async(t,i,n=!1)=>{await Promise.all([this.client.auth.requests.delete(t,i),n?Promise.resolve():this.client.core.expirer.del(t)])},this.setExpiry=async(t,i)=>{this.client.session.keys.includes(t)&&(this.client.core.expirer.set(t,i),await this.client.session.update(t,{expiry:i}))},this.setProposal=async(t,i)=>{this.client.core.expirer.set(t,xr(Er.wc_sessionPropose.req.ttl)),await this.client.proposal.set(t,i)},this.setAuthRequest=async(t,i)=>{const{request:n,pairingTopic:a}=i;this.client.core.expirer.set(t,n.expiryTimestamp),await this.client.auth.requests.set(t,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:t,pairingTopic:a,verifyContext:n.verifyContext})},this.setPendingSessionRequest=async t=>{const{id:i,topic:n,params:a,verifyContext:f}=t,u=a.request.expiryTimestamp||xr(Er.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,u),await this.client.pendingRequest.set(i,{id:i,topic:n,params:a,verifyContext:f})},this.sendRequest=async t=>{const{topic:i,method:n,params:a,expiry:f,relayRpcId:u,clientRpcId:b,throwOnFailedPublish:v}=t,y=Xa(n,a,b);let E;try{E=await this.client.core.crypto.encode(i,y)}catch(O){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),O}let C;if(gR.includes(n)){const O=fs(JSON.stringify(y)),j=fs(E);C=await this.client.core.verify.register({id:j,decryptedId:O})}const P=Er[n].req;return P.attestation=C,f&&(P.ttl=f),u&&(P.id=u),this.client.core.history.set(i,y),v?(P.internal=na(lr({},P.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,E,P)):this.client.core.relayer.publish(i,E,P).catch(O=>this.client.logger.error(O)),y.id},this.sendResult=async t=>{const{id:i,topic:n,result:a,throwOnFailedPublish:f,encodeOpts:u}=t,b=$h(i,a);let v;try{v=await this.client.core.crypto.encode(n,b,u)}catch(C){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),C}let y;try{y=await this.client.core.history.get(n,i)}catch(C){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${i}) failed`),C}const E=Er[y.request.method].res;f?(E.internal=na(lr({},E.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,v,E)):this.client.core.relayer.publish(n,v,E).catch(C=>this.client.logger.error(C)),await this.client.core.history.resolve(b)},this.sendError=async t=>{const{id:i,topic:n,error:a,encodeOpts:f,rpcOpts:u}=t,b=zh(i,a);let v;try{v=await this.client.core.crypto.encode(n,b,f)}catch(C){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),C}let y;try{y=await this.client.core.history.get(n,i)}catch(C){throw this.client.logger.error(`sendError() -> history.get(${n}, ${i}) failed`),C}const E=u||Er[y.request.method].res;this.client.core.relayer.publish(n,v,E),await this.client.core.history.resolve(b)},this.cleanup=async()=>{const t=[],i=[];this.client.session.getAll().forEach(n=>{let a=!1;Cs(n.expiry)&&(a=!0),this.client.core.crypto.keychain.has(n.topic)||(a=!0),a&&t.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{Cs(n.expiryTimestamp)&&i.push(n.id)}),await Promise.all([...t.map(n=>this.deleteSession({topic:n})),...i.map(n=>this.deleteProposal(n))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===En.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=En.active;const t=this.requestQueue.queue.shift();if(t)try{await this.processRequest(t)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=En.idle},this.processRequest=async t=>{const{topic:i,payload:n,attestation:a,encryptedId:f}=t,u=n.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:u}))switch(u){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:n,attestation:a,encryptedId:f});case"wc_sessionSettle":return await this.onSessionSettleRequest(i,n);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(i,n);case"wc_sessionExtend":return await this.onSessionExtendRequest(i,n);case"wc_sessionPing":return await this.onSessionPingRequest(i,n);case"wc_sessionDelete":return await this.onSessionDeleteRequest(i,n);case"wc_sessionRequest":return await this.onSessionRequest({topic:i,payload:n,attestation:a,encryptedId:f});case"wc_sessionEvent":return await this.onSessionEventRequest(i,n);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:n,attestation:a,encryptedId:f});default:return this.client.logger.info(`Unsupported request method ${u}`)}},this.onRelayEventResponse=async t=>{const{topic:i,payload:n}=t,a=(await this.client.core.history.get(i,n.id)).request.method;switch(a){case"wc_sessionPropose":return this.onSessionProposeResponse(i,n);case"wc_sessionSettle":return this.onSessionSettleResponse(i,n);case"wc_sessionUpdate":return this.onSessionUpdateResponse(i,n);case"wc_sessionExtend":return this.onSessionExtendResponse(i,n);case"wc_sessionPing":return this.onSessionPingResponse(i,n);case"wc_sessionRequest":return this.onSessionRequestResponse(i,n);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(i,n);default:return this.client.logger.info(`Unsupported response method ${a}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:i}=t,{message:n}=Ae("MISSING_OR_INVALID",`Decoded payload on topic ${i} is not identifiable as a JSON-RPC request or a response.`);throw new Error(n)},this.shouldIgnorePairingRequest=t=>{const{topic:i,requestMethod:n}=t,a=this.expectedPairingMethodMap.get(i);return!a||a.includes(n)?!1:!!(a.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async t=>{const{topic:i,payload:n,attestation:a,encryptedId:f}=t,{params:u,id:b}=n;try{const v=this.client.core.eventClient.getEvent({topic:i});this.isValidConnect(lr({},n.params));const y=u.expiryTimestamp||xr(Er.wc_sessionPropose.req.ttl),E=lr({id:b,pairingTopic:i,expiryTimestamp:y},u);await this.setProposal(b,E);const C=await this.getVerifyContext({attestationId:a,hash:fs(JSON.stringify(n)),encryptedId:f,metadata:E.proposer.metadata});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),v==null||v.setError(os.proposal_listener_not_found)),v==null||v.addTrace(xn.emit_session_proposal),this.client.events.emit("session_proposal",{id:b,params:E,verifyContext:C})}catch(v){await this.sendError({id:b,topic:i,error:v,rpcOpts:Er.wc_sessionPropose.autoReject}),this.client.logger.error(v)}},this.onSessionProposeResponse=async(t,i)=>{const{id:n}=i;if(In(i)){const{result:a}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:a});const f=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:f});const u=f.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:u});const b=a.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:b});const v=await this.client.core.crypto.generateSharedKey(u,b);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:v});const y=await this.client.core.relayer.subscribe(v);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:y}),await this.client.core.pairing.activate({topic:t})}else if(zi(i)){await this.client.proposal.delete(n,$t("USER_DISCONNECTED"));const a=St("session_connect");if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners, 954`);this.events.emit(St("session_connect"),{error:i.error})}},this.onSessionSettleRequest=async(t,i)=>{const{id:n,params:a}=i;try{this.isValidSessionSettleRequest(a);const{relay:f,controller:u,expiry:b,namespaces:v,sessionProperties:y,sessionConfig:E}=i.params,C=lr(lr({topic:t,relay:f,expiry:b,namespaces:v,acknowledged:!0,pairingTopic:"",requiredNamespaces:{},optionalNamespaces:{},controller:u.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:u.publicKey,metadata:u.metadata}},y&&{sessionProperties:y}),E&&{sessionConfig:E}),P=St("session_connect");if(this.events.listenerCount(P)===0)throw new Error(`emitting ${P} without any listeners 997`);this.events.emit(St("session_connect"),{session:C}),await this.sendResult({id:i.id,topic:t,result:!0,throwOnFailedPublish:!0})}catch(f){await this.sendError({id:n,topic:t,error:f}),this.client.logger.error(f)}},this.onSessionSettleResponse=async(t,i)=>{const{id:n}=i;In(i)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(St("session_approve",n),{})):zi(i)&&(await this.client.session.delete(t,$t("USER_DISCONNECTED")),this.events.emit(St("session_approve",n),{error:i.error}))},this.onSessionUpdateRequest=async(t,i)=>{const{params:n,id:a}=i;try{const f=`${t}_session_update`,u=Wo.get(f);if(u&&this.isRequestOutOfSync(u,a)){this.client.logger.info(`Discarding out of sync request - ${a}`),this.sendError({id:a,topic:t,error:$t("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(lr({topic:t},n));try{Wo.set(f,a),await this.client.session.update(t,{namespaces:n.namespaces}),await this.sendResult({id:a,topic:t,result:!0,throwOnFailedPublish:!0})}catch(b){throw Wo.delete(f),b}this.client.events.emit("session_update",{id:a,topic:t,params:n})}catch(f){await this.sendError({id:a,topic:t,error:f}),this.client.logger.error(f)}},this.isRequestOutOfSync=(t,i)=>parseInt(i.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,i)=>{const{id:n}=i,a=St("session_update",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);In(i)?this.events.emit(St("session_update",n),{}):zi(i)&&this.events.emit(St("session_update",n),{error:i.error})},this.onSessionExtendRequest=async(t,i)=>{const{id:n}=i;try{this.isValidExtend({topic:t}),await this.setExpiry(t,xr(ja)),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:n,topic:t})}catch(a){await this.sendError({id:n,topic:t,error:a}),this.client.logger.error(a)}},this.onSessionExtendResponse=(t,i)=>{const{id:n}=i,a=St("session_extend",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);In(i)?this.events.emit(St("session_extend",n),{}):zi(i)&&this.events.emit(St("session_extend",n),{error:i.error})},this.onSessionPingRequest=async(t,i)=>{const{id:n}=i;try{this.isValidPing({topic:t}),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:n,topic:t})}catch(a){await this.sendError({id:n,topic:t,error:a}),this.client.logger.error(a)}},this.onSessionPingResponse=(t,i)=>{const{id:n}=i,a=St("session_ping",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);setTimeout(()=>{In(i)?this.events.emit(St("session_ping",n),{}):zi(i)&&this.events.emit(St("session_ping",n),{error:i.error})},500)},this.onSessionDeleteRequest=async(t,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:t,reason:i.params}),await Promise.all([new Promise(a=>{this.client.core.relayer.once(fi.publish,async()=>{a(await this.deleteSession({topic:t,id:n}))})}),this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:$t("USER_DISCONNECTED")})])}catch(a){this.client.logger.error(a)}},this.onSessionRequest=async t=>{var i;const{topic:n,payload:a,attestation:f,encryptedId:u}=t,{id:b,params:v}=a;try{await this.isValidRequest(lr({topic:n},v));const y=this.client.session.get(n),E=await this.getVerifyContext({attestationId:f,hash:fs(JSON.stringify(Xa("wc_sessionRequest",v,b))),encryptedId:u,metadata:y.peer.metadata}),C={id:b,topic:n,params:v,verifyContext:E};await this.setPendingSessionRequest(C),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(C):(this.addSessionRequestToSessionRequestQueue(C),this.processSessionRequestQueue())}catch(y){await this.sendError({id:b,topic:n,error:y}),this.client.logger.error(y)}},this.onSessionRequestResponse=(t,i)=>{const{id:n}=i,a=St("session_request",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);In(i)?this.events.emit(St("session_request",n),{result:i.result}):zi(i)&&this.events.emit(St("session_request",n),{error:i.error})},this.onSessionEventRequest=async(t,i)=>{const{id:n,params:a}=i;try{const f=`${t}_session_event_${a.event.name}`,u=Wo.get(f);if(u&&this.isRequestOutOfSync(u,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(lr({topic:t},a)),this.client.events.emit("session_event",{id:n,topic:t,params:a}),Wo.set(f,n)}catch(f){await this.sendError({id:n,topic:t,error:f}),this.client.logger.error(f)}},this.onSessionAuthenticateResponse=(t,i)=>{const{id:n}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:i}),In(i)?this.events.emit(St("session_request",n),{result:i.result}):zi(i)&&this.events.emit(St("session_request",n),{error:i.error})},this.onSessionAuthenticateRequest=async t=>{const{topic:i,payload:n,attestation:a,encryptedId:f}=t;try{const{requester:u,authPayload:b,expiryTimestamp:v}=n.params,y=await this.getVerifyContext({attestationId:a,hash:fs(JSON.stringify(n)),encryptedId:f,metadata:this.client.metadata}),E={requester:u,pairingTopic:i,id:n.id,authPayload:b,verifyContext:y,expiryTimestamp:v};await this.setAuthRequest(n.id,{request:E,pairingTopic:i}),this.client.events.emit("session_authenticate",{topic:i,params:n.params,id:n.id,verifyContext:y})}catch(u){this.client.logger.error(u);const b=n.params.requester.publicKey,v=await this.client.core.crypto.generateKeyPair(),y={type:ds,receiverPublicKey:b,senderPublicKey:v};await this.sendError({id:n.id,topic:i,error:u,encodeOpts:y,rpcOpts:Er.wc_sessionAuthenticate.autoReject})}},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=En.idle,this.processSessionRequestQueue()},Me.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:i})=>{const n=this.client.core.history.pending;n.length>0&&n.filter(a=>a.topic===t&&a.request.method==="wc_sessionRequest").forEach(a=>{const f=a.request.id,u=St("session_request",f);if(this.events.listenerCount(u)===0)throw new Error(`emitting ${u} without any listeners`);this.events.emit(St("session_request",a.request.id),{error:i})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===En.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=En.active,this.emitSessionRequest(t)}catch(i){this.client.logger.error(i)}},this.emitSessionRequest=t=>{this.client.events.emit("session_request",t)},this.onPairingCreated=t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const i=this.client.proposal.getAll().find(n=>n.pairingTopic===t.topic);i&&this.onSessionProposeRequest({topic:t.topic,payload:Xa("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})},this.isValidConnect=async t=>{if(!ai(t)){const{message:b}=Ae("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(b)}const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:a,sessionProperties:f,relays:u}=t;if(ci(i)||await this.isValidPairingTopic(i),!uI(u)){const{message:b}=Ae("MISSING_OR_INVALID",`connect() relays: ${u}`);throw new Error(b)}!ci(n)&&dc(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!ci(a)&&dc(a)!==0&&this.validateNamespaces(a,"optionalNamespaces"),ci(f)||this.validateSessionProps(f,"sessionProperties")},this.validateNamespaces=(t,i)=>{const n=hI(t,"connect()",i);if(n)throw new Error(n.message)},this.isValidApprove=async t=>{if(!ai(t))throw new Error(Ae("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:i,namespaces:n,relayProtocol:a,sessionProperties:f}=t;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const u=this.client.proposal.get(i),b=Il(n,"approve()");if(b)throw new Error(b.message);const v=Ag(u.requiredNamespaces,n,"approve()");if(v)throw new Error(v.message);if(!ar(a,!0)){const{message:y}=Ae("MISSING_OR_INVALID",`approve() relayProtocol: ${a}`);throw new Error(y)}ci(f)||this.validateSessionProps(f,"sessionProperties")},this.isValidReject=async t=>{if(!ai(t)){const{message:a}=Ae("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(a)}const{id:i,reason:n}=t;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!dI(n)){const{message:a}=Ae("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(a)}},this.isValidSessionSettleRequest=t=>{if(!ai(t)){const{message:v}=Ae("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(v)}const{relay:i,controller:n,namespaces:a,expiry:f}=t;if(!_2(i)){const{message:v}=Ae("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(v)}const u=nI(n,"onSessionSettleRequest()");if(u)throw new Error(u.message);const b=Il(a,"onSessionSettleRequest()");if(b)throw new Error(b.message);if(Cs(f)){const{message:v}=Ae("EXPIRED","onSessionSettleRequest()");throw new Error(v)}},this.isValidUpdate=async t=>{if(!ai(t)){const{message:b}=Ae("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(b)}const{topic:i,namespaces:n}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const a=this.client.session.get(i),f=Il(n,"update()");if(f)throw new Error(f.message);const u=Ag(a.requiredNamespaces,n,"update()");if(u)throw new Error(u.message)},this.isValidExtend=async t=>{if(!ai(t)){const{message:n}=Ae("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(n)}const{topic:i}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i)},this.isValidRequest=async t=>{if(!ai(t)){const{message:b}=Ae("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(b)}const{topic:i,request:n,chainId:a,expiry:f}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:u}=this.client.session.get(i);if(!_g(u,a)){const{message:b}=Ae("MISSING_OR_INVALID",`request() chainId: ${a}`);throw new Error(b)}if(!pI(n)){const{message:b}=Ae("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(b)}if(!bI(u,a,n.method)){const{message:b}=Ae("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(b)}if(f&&!_I(f,Bl)){const{message:b}=Ae("MISSING_OR_INVALID",`request() expiry: ${f}. Expiry must be a number (in seconds) between ${Bl.min} and ${Bl.max}`);throw new Error(b)}},this.isValidRespond=async t=>{var i;if(!ai(t)){const{message:f}=Ae("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(f)}const{topic:n,response:a}=t;try{await this.isValidSessionTopic(n)}catch(f){throw(i=t==null?void 0:t.response)!=null&&i.id&&this.cleanupAfterResponse(t),f}if(!gI(a)){const{message:f}=Ae("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(a)}`);throw new Error(f)}},this.isValidPing=async t=>{if(!ai(t)){const{message:n}=Ae("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(n)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)},this.isValidEmit=async t=>{if(!ai(t)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(u)}const{topic:i,event:n,chainId:a}=t;await this.isValidSessionTopic(i);const{namespaces:f}=this.client.session.get(i);if(!_g(f,a)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() chainId: ${a}`);throw new Error(u)}if(!vI(n)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(u)}if(!mI(f,a,n.name)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(u)}},this.isValidDisconnect=async t=>{if(!ai(t)){const{message:n}=Ae("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(n)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)},this.isValidAuthenticate=t=>{const{chains:i,uri:n,domain:a,nonce:f}=t;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!ar(n,!1))throw new Error("uri is required parameter");if(!ar(a,!1))throw new Error("domain is required parameter");if(!ar(f,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(b=>ic(b).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:u}=ic(i[0]);if(u!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")},this.getVerifyContext=async t=>{const{attestationId:i,hash:n,encryptedId:a,metadata:f}=t,u={verified:{verifyUrl:f.verifyUrl||oc,validation:"UNKNOWN",origin:f.url||""}};try{const b=await this.client.core.verify.resolve({attestationId:i,hash:n,encryptedId:a,verifyUrl:f.verifyUrl});b&&(u.verified.origin=b.origin,u.verified.isScam=b.isScam,u.verified.validation=b.origin===new URL(f.url).origin?"VALID":"INVALID")}catch(b){this.client.logger.warn(b)}return this.client.logger.debug(`Verify context: ${JSON.stringify(u)}`),u},this.validateSessionProps=(t,i)=>{Object.values(t).forEach(n=>{if(!ar(n,!1)){const{message:a}=Ae("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(n)}`);throw new Error(a)}})},this.getPendingAuthRequest=t=>{const i=this.client.auth.requests.get(t);return typeof i=="object"?i:void 0},this.addToRecentlyDeleted=(t,i)=>{if(this.recentlyDeletedMap.set(t,i),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let n=0;const a=this.recentlyDeletedLimit/2;for(const f of this.recentlyDeletedMap.keys()){if(n++>=a)break;this.recentlyDeletedMap.delete(f)}}},this.checkRecentlyDeleted=t=>{const i=this.recentlyDeletedMap.get(t);if(i){const{message:n}=Ae("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${t}`);throw new Error(n)}}}async isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(fi.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){const{topic:t,message:i,attestation:n}=e,{publicKey:a}=this.client.auth.authKeys.keys.includes(eh)?this.client.auth.authKeys.get(eh):{responseTopic:void 0,publicKey:void 0},f=await this.client.core.crypto.decode(t,i,{receiverPublicKey:a});try{W0(f)?(this.client.core.history.set(t,f),this.onRelayEventRequest({topic:t,payload:f,attestation:n,encryptedId:fs(i)})):Fh(f)?(await this.client.core.history.resolve(f),await this.onRelayEventResponse({topic:t,payload:f}),this.client.core.history.delete(t,f.id)):this.onRelayEventUnknownPayload({topic:t,payload:f})}catch(u){this.client.logger.error(u)}}registerExpirerEvents(){this.client.core.expirer.on(Ui.expired,async e=>{const{topic:t,id:i}=Nb(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,Ae("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,Ae("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i}))})}registerPairingEvents(){this.client.core.pairing.events.on(Wa.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(Wa.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!ar(e,!1)){const{message:t}=Ae("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=Ae("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(Cs(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Ae("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!ar(e,!1)){const{message:t}=Ae("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:t}=Ae("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(Cs(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Ae("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Ae("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new 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(ar(e,!1)){const{message:t}=Ae("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Ae("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!lI(e)){const{message:t}=Ae("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Ae("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(Cs(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Ae("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}}class IR extends ya{constructor(e,t){super(e,t,uR,Q0),this.core=e,this.logger=t}}class DR extends ya{constructor(e,t){super(e,t,lR,Q0),this.core=e,this.logger=t}}class PR extends ya{constructor(e,t){super(e,t,pR,Q0,i=>i.id),this.core=e,this.logger=t}}class CR extends ya{constructor(e,t){super(e,t,mR,kh,()=>eh),this.core=e,this.logger=t}}class OR extends ya{constructor(e,t){super(e,t,yR,kh),this.core=e,this.logger=t}}class RR extends ya{constructor(e,t){super(e,t,wR,kh,i=>i.id),this.core=e,this.logger=t}}class NR{constructor(e,t){this.core=e,this.logger=t,this.authKeys=new CR(this.core,this.logger),this.pairingTopics=new OR(this.core,this.logger),this.requests=new RR(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class X0 extends KD{constructor(e){super(e),this.protocol=Q2,this.version=X2,this.name=Tl.name,this.events=new Hi.EventEmitter,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.removeAllListeners=i=>this.events.removeAllListeners(i),this.connect=async i=>{try{return await this.engine.connect(i)}catch(n){throw this.logger.error(n.message),n}},this.pair=async i=>{try{return await this.engine.pair(i)}catch(n){throw this.logger.error(n.message),n}},this.approve=async i=>{try{return await this.engine.approve(i)}catch(n){throw this.logger.error(n.message),n}},this.reject=async i=>{try{return await this.engine.reject(i)}catch(n){throw this.logger.error(n.message),n}},this.update=async i=>{try{return await this.engine.update(i)}catch(n){throw this.logger.error(n.message),n}},this.extend=async i=>{try{return await this.engine.extend(i)}catch(n){throw this.logger.error(n.message),n}},this.request=async i=>{try{return await this.engine.request(i)}catch(n){throw this.logger.error(n.message),n}},this.respond=async i=>{try{return await this.engine.respond(i)}catch(n){throw this.logger.error(n.message),n}},this.ping=async i=>{try{return await this.engine.ping(i)}catch(n){throw this.logger.error(n.message),n}},this.emit=async i=>{try{return await this.engine.emit(i)}catch(n){throw this.logger.error(n.message),n}},this.disconnect=async i=>{try{return await this.engine.disconnect(i)}catch(n){throw this.logger.error(n.message),n}},this.find=i=>{try{return this.engine.find(i)}catch(n){throw this.logger.error(n.message),n}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(i){throw this.logger.error(i.message),i}},this.authenticate=async i=>{try{return await this.engine.authenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.formatAuthMessage=i=>{try{return this.engine.formatAuthMessage(i)}catch(n){throw this.logger.error(n.message),n}},this.approveSessionAuthenticate=async i=>{try{return await this.engine.approveSessionAuthenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.rejectSessionAuthenticate=async i=>{try{return await this.engine.rejectSessionAuthenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.name=(e==null?void 0:e.name)||Tl.name,this.metadata=(e==null?void 0:e.metadata)||hE(),this.signConfig=e==null?void 0:e.signConfig;const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Dc(Uh({level:(e==null?void 0:e.logger)||Tl.logger}));this.core=(e==null?void 0:e.core)||new hR(e),this.logger=Jr(t,this.name),this.session=new DR(this.core,this.logger),this.proposal=new IR(this.core,this.logger),this.pendingRequest=new PR(this.core,this.logger),this.engine=new MR(this),this.auth=new NR(this.core,this.logger)}static async init(e){const t=new X0(e);return await t.initialize(),t}get context(){return di(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.engine.init(),await this.auth.init(),this.logger.info("SignClient Initialization Success"),this.engine.processRelayMessageCache()}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var g0={exports:{}};(function(r,e){var t=typeof self<"u"?self:ji,i=function(){function a(){this.fetch=!1,this.DOMException=t.DOMException}return a.prototype=t,new a}();(function(a){(function(f){var u={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};function b(h){return h&&DataView.prototype.isPrototypeOf(h)}if(u.arrayBuffer)var v=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],y=ArrayBuffer.isView||function(h){return h&&v.indexOf(Object.prototype.toString.call(h))>-1};function E(h){if(typeof h!="string"&&(h=String(h)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(h))throw new TypeError("Invalid character in header field name");return h.toLowerCase()}function C(h){return typeof h!="string"&&(h=String(h)),h}function P(h){var g={next:function(){var _=h.shift();return{done:_===void 0,value:_}}};return u.iterable&&(g[Symbol.iterator]=function(){return g}),g}function O(h){this.map={},h instanceof O?h.forEach(function(g,_){this.append(_,g)},this):Array.isArray(h)?h.forEach(function(g){this.append(g[0],g[1])},this):h&&Object.getOwnPropertyNames(h).forEach(function(g){this.append(g,h[g])},this)}O.prototype.append=function(h,g){h=E(h),g=C(g);var _=this.map[h];this.map[h]=_?_+", "+g:g},O.prototype.delete=function(h){delete this.map[E(h)]},O.prototype.get=function(h){return h=E(h),this.has(h)?this.map[h]:null},O.prototype.has=function(h){return this.map.hasOwnProperty(E(h))},O.prototype.set=function(h,g){this.map[E(h)]=C(g)},O.prototype.forEach=function(h,g){for(var _ in this.map)this.map.hasOwnProperty(_)&&h.call(g,this.map[_],_,this)},O.prototype.keys=function(){var h=[];return this.forEach(function(g,_){h.push(_)}),P(h)},O.prototype.values=function(){var h=[];return this.forEach(function(g){h.push(g)}),P(h)},O.prototype.entries=function(){var h=[];return this.forEach(function(g,_){h.push([_,g])}),P(h)},u.iterable&&(O.prototype[Symbol.iterator]=O.prototype.entries);function j(h){if(h.bodyUsed)return Promise.reject(new TypeError("Already read"));h.bodyUsed=!0}function W(h){return new Promise(function(g,_){h.onload=function(){g(h.result)},h.onerror=function(){_(h.error)}})}function Q(h){var g=new FileReader,_=W(g);return g.readAsArrayBuffer(h),_}function H(h){var g=new FileReader,_=W(g);return g.readAsText(h),_}function Y(h){for(var g=new Uint8Array(h),_=new Array(g.length),M=0;M<g.length;M++)_[M]=String.fromCharCode(g[M]);return _.join("")}function U(h){if(h.slice)return h.slice(0);var g=new Uint8Array(h.byteLength);return g.set(new Uint8Array(h)),g.buffer}function F(){return this.bodyUsed=!1,this._initBody=function(h){this._bodyInit=h,h?typeof h=="string"?this._bodyText=h:u.blob&&Blob.prototype.isPrototypeOf(h)?this._bodyBlob=h:u.formData&&FormData.prototype.isPrototypeOf(h)?this._bodyFormData=h:u.searchParams&&URLSearchParams.prototype.isPrototypeOf(h)?this._bodyText=h.toString():u.arrayBuffer&&u.blob&&b(h)?(this._bodyArrayBuffer=U(h.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(h)||y(h))?this._bodyArrayBuffer=U(h):this._bodyText=h=Object.prototype.toString.call(h):this._bodyText="",this.headers.get("content-type")||(typeof h=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):u.searchParams&&URLSearchParams.prototype.isPrototypeOf(h)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},u.blob&&(this.blob=function(){var h=j(this);if(h)return h;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?j(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Q)}),this.text=function(){var h=j(this);if(h)return h;if(this._bodyBlob)return H(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(Y(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},u.formData&&(this.formData=function(){return this.text().then(ae)}),this.json=function(){return this.text().then(JSON.parse)},this}var V=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function A(h){var g=h.toUpperCase();return V.indexOf(g)>-1?g:h}function q(h,g){g=g||{};var _=g.body;if(h instanceof q){if(h.bodyUsed)throw new TypeError("Already read");this.url=h.url,this.credentials=h.credentials,g.headers||(this.headers=new O(h.headers)),this.method=h.method,this.mode=h.mode,this.signal=h.signal,!_&&h._bodyInit!=null&&(_=h._bodyInit,h.bodyUsed=!0)}else this.url=String(h);if(this.credentials=g.credentials||this.credentials||"same-origin",(g.headers||!this.headers)&&(this.headers=new O(g.headers)),this.method=A(g.method||this.method||"GET"),this.mode=g.mode||this.mode||null,this.signal=g.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&_)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(_)}q.prototype.clone=function(){return new q(this,{body:this._bodyInit})};function ae(h){var g=new FormData;return h.trim().split("&").forEach(function(_){if(_){var M=_.split("="),D=M.shift().replace(/\+/g," "),S=M.join("=").replace(/\+/g," ");g.append(decodeURIComponent(D),decodeURIComponent(S))}}),g}function ue(h){var g=new O,_=h.replace(/\r?\n[\t ]+/g," ");return _.split(/\r?\n/).forEach(function(M){var D=M.split(":"),S=D.shift().trim();if(S){var d=D.join(":").trim();g.append(S,d)}}),g}F.call(q.prototype);function B(h,g){g||(g={}),this.type="default",this.status=g.status===void 0?200:g.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in g?g.statusText:"OK",this.headers=new O(g.headers),this.url=g.url||"",this._initBody(h)}F.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new O(this.headers),url:this.url})},B.error=function(){var h=new B(null,{status:0,statusText:""});return h.type="error",h};var m=[301,302,303,307,308];B.redirect=function(h,g){if(m.indexOf(g)===-1)throw new RangeError("Invalid status code");return new B(null,{status:g,headers:{location:h}})},f.DOMException=a.DOMException;try{new f.DOMException}catch{f.DOMException=function(g,_){this.message=g,this.name=_;var M=Error(g);this.stack=M.stack},f.DOMException.prototype=Object.create(Error.prototype),f.DOMException.prototype.constructor=f.DOMException}function c(h,g){return new Promise(function(_,M){var D=new q(h,g);if(D.signal&&D.signal.aborted)return M(new f.DOMException("Aborted","AbortError"));var S=new XMLHttpRequest;function d(){S.abort()}S.onload=function(){var p={status:S.status,statusText:S.statusText,headers:ue(S.getAllResponseHeaders()||"")};p.url="responseURL"in S?S.responseURL:p.headers.get("X-Request-URL");var N="response"in S?S.response:S.responseText;_(new B(N,p))},S.onerror=function(){M(new TypeError("Network request failed"))},S.ontimeout=function(){M(new TypeError("Network request failed"))},S.onabort=function(){M(new f.DOMException("Aborted","AbortError"))},S.open(D.method,D.url,!0),D.credentials==="include"?S.withCredentials=!0:D.credentials==="omit"&&(S.withCredentials=!1),"responseType"in S&&u.blob&&(S.responseType="blob"),D.headers.forEach(function(p,N){S.setRequestHeader(N,p)}),D.signal&&(D.signal.addEventListener("abort",d),S.onreadystatechange=function(){S.readyState===4&&D.signal.removeEventListener("abort",d)}),S.send(typeof D._bodyInit>"u"?null:D._bodyInit)})}return c.polyfill=!0,a.fetch||(a.fetch=c,a.Headers=O,a.Request=q,a.Response=B),f.Headers=O,f.Request=q,f.Response=B,f.fetch=c,Object.defineProperty(f,"__esModule",{value:!0}),f})({})})(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var n=i;e=n.fetch,e.default=n.fetch,e.fetch=n.fetch,e.Headers=n.Headers,e.Request=n.Request,e.Response=n.Response,r.exports=e})(g0,g0.exports);var TR=g0.exports;const fv=y0(TR);var BR=Object.defineProperty,qR=Object.defineProperties,LR=Object.getOwnPropertyDescriptors,hv=Object.getOwnPropertySymbols,UR=Object.prototype.hasOwnProperty,$R=Object.prototype.propertyIsEnumerable,uv=(r,e,t)=>e in r?BR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,lv=(r,e)=>{for(var t in e||(e={}))UR.call(e,t)&&uv(r,t,e[t]);if(hv)for(var t of hv(e))$R.call(e,t)&&uv(r,t,e[t]);return r},dv=(r,e)=>qR(r,LR(e));const zR={Accept:"application/json","Content-Type":"application/json"},FR="POST",pv={headers:zR,method:FR},gv=10;class Gn{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new Hi.EventEmitter,this.isAvailable=!1,this.registering=!1,!Lg(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}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(){if(!this.isAvailable)throw new Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{const t=vs(e),i=await(await fv(this.url,dv(lv({},pv),{body:t}))).json();this.onPayload({data:i})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!Lg(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return n(new Error("HTTP connection is missing or invalid"));i()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){const t=vs({id:1,jsonrpc:"2.0",method:"test",params:[]});await fv(e,dv(lv({},pv),{body:t}))}this.onOpen()}catch(t){const i=this.parseError(t);throw this.events.emit("register_error",i),this.onClose(),i}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?po(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=zh(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return C2(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>gv&&this.events.setMaxListeners(gv)}}const vv="error",jR="wss://relay.walletconnect.com",kR="wc",HR="universal_provider",bv=`${kR}@2:${HR}:`,KR="https://rpc.walletconnect.com/v1/",Ka="generic",vn={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var Zo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},v0={exports:{}};/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/(function(r,e){(function(){var t,i="4.17.21",n=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",f="Expected a function",u="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",v=500,y="__lodash_placeholder__",E=1,C=2,P=4,O=1,j=2,W=1,Q=2,H=4,Y=8,U=16,F=32,V=64,A=128,q=256,ae=512,ue=30,B="...",m=800,c=16,h=1,g=2,_=3,M=1/0,D=9007199254740991,S=17976931348623157e292,d=NaN,p=4294967295,N=p-1,Z=p>>>1,se=[["ary",A],["bind",W],["bindKey",Q],["curry",Y],["curryRight",U],["flip",ae],["partial",F],["partialRight",V],["rearg",q]],I="[object Arguments]",ee="[object Array]",$="[object AsyncFunction]",k="[object Boolean]",K="[object Date]",w="[object DOMException]",z="[object Error]",ne="[object Function]",ce="[object GeneratorFunction]",he="[object Map]",ye="[object Number]",we="[object Null]",Re="[object Object]",Qe="[object Promise]",Pe="[object Proxy]",Ne="[object RegExp]",Se="[object Set]",me="[object String]",Ce="[object Symbol]",Te="[object Undefined]",ve="[object WeakMap]",Oe="[object WeakSet]",xe="[object ArrayBuffer]",be="[object DataView]",Ue="[object Float32Array]",Ie="[object Float64Array]",_e="[object Int8Array]",He="[object Int16Array]",Ve="[object Int32Array]",Ee="[object Uint8Array]",Ke="[object Uint8ClampedArray]",ut="[object Uint16Array]",Ge="[object Uint32Array]",_t=/\b__p \+= '';/g,lt=/\b(__p \+=) '' \+/g,Je=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Et=/&(?:amp|lt|gt|quot|#39);/g,Mt=/[&<>"']/g,Be=RegExp(Et.source),Xe=RegExp(Mt.source),tt=/<%-([\s\S]+?)%>/g,qe=/<%([\s\S]+?)%>/g,et=/<%=([\s\S]+?)%>/g,Ze=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ze=/^\w*$/,ft=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rt=/[\\^$.*+?()[\]{}|]/g,Fe=RegExp(rt.source),it=/^\s+/,st=/\s/,Le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ye=/\{\n\/\* \[wrapped with (.+)\] \*/,ht=/,? & /,je=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Nt=/[()=,{}\[\]\/\s]/,Tt=/\\(\\)?/g,at=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bt=/\w*$/,Cr=/^[-+]0x[0-9a-f]+$/i,Or=/^0b[01]+$/i,Rr=/^\[object .+?Constructor\]$/,Nr=/^0o[0-7]+$/i,Tr=/^(?:0|[1-9]\d*)$/,Xt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Yr=/($^)/,Gi=/['\n\r\u2028\u2029\\]/g,Qr="\\ud800-\\udfff",Wi="\\u0300-\\u036f",Ji="\\ufe20-\\ufe2f",Xr="\\u20d0-\\u20ff",Si=Wi+Ji+Xr,Mi="\\u2700-\\u27bf",fr="a-z\\xdf-\\xf6\\xf8-\\xff",Yi="\\xac\\xb1\\xd7\\xf7",Qi="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Xi="\\u2000-\\u206f",$s=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Oc="A-Z\\xc0-\\xd6\\xd8-\\xde",Rc="\\ufe0e\\ufe0f",zs=Yi+Qi+Xi+$s,Ao="['’]",Fs="["+Qr+"]",Eo="["+zs+"]",js="["+Si+"]",Nc="\\d+",Hh="["+Mi+"]",Tc="["+fr+"]",Bc="[^"+Qr+zs+Nc+Mi+fr+Oc+"]",Aa="\\ud83c[\\udffb-\\udfff]",Kh="(?:"+js+"|"+Aa+")",qc="[^"+Qr+"]",Ea="(?:\\ud83c[\\udde6-\\uddff]){2}",ms="[\\ud800-\\udbff][\\udc00-\\udfff]",pi="["+Oc+"]",Lc="\\u200d",Uc="(?:"+Tc+"|"+Bc+")",bn="(?:"+pi+"|"+Bc+")",$c="(?:"+Ao+"(?:d|ll|m|re|s|t|ve))?",zc="(?:"+Ao+"(?:D|LL|M|RE|S|T|VE))?",Fc=Kh+"?",jc="["+Rc+"]?",Vh="(?:"+Lc+"(?:"+[qc,Ea,ms].join("|")+")"+jc+Fc+")*",Wn="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",kc="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Hc=jc+Fc+Vh,xa="(?:"+[Hh,Ea,ms].join("|")+")"+Hc,Gh="(?:"+[qc+js+"?",js,Ea,ms,Fs].join("|")+")",xo=RegExp(Ao,"g"),Wh=RegExp(js,"g"),Sa=RegExp(Aa+"(?="+Aa+")|"+Gh+Hc,"g"),Kc=RegExp([pi+"?"+Tc+"+"+$c+"(?="+[Eo,pi,"$"].join("|")+")",bn+"+"+zc+"(?="+[Eo,pi+Uc,"$"].join("|")+")",pi+"?"+Uc+"+"+$c,pi+"+"+zc,kc,Wn,Nc,xa].join("|"),"g"),Vc=RegExp("["+Lc+Qr+Si+Rc+"]"),ks=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Gc=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Jh=-1,Ft={};Ft[Ue]=Ft[Ie]=Ft[_e]=Ft[He]=Ft[Ve]=Ft[Ee]=Ft[Ke]=Ft[ut]=Ft[Ge]=!0,Ft[I]=Ft[ee]=Ft[xe]=Ft[k]=Ft[be]=Ft[K]=Ft[z]=Ft[ne]=Ft[he]=Ft[ye]=Ft[Re]=Ft[Ne]=Ft[Se]=Ft[me]=Ft[ve]=!1;var zt={};zt[I]=zt[ee]=zt[xe]=zt[be]=zt[k]=zt[K]=zt[Ue]=zt[Ie]=zt[_e]=zt[He]=zt[Ve]=zt[he]=zt[ye]=zt[Re]=zt[Ne]=zt[Se]=zt[me]=zt[Ce]=zt[Ee]=zt[Ke]=zt[ut]=zt[Ge]=!0,zt[z]=zt[ne]=zt[ve]=!1;var G={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",Ĳ:"IJ",ĳ:"ij",Œ:"Oe",œ:"oe",ŉ:"'n",ſ:"s"},te={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},pe={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},$e={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},jt=parseFloat,pt=parseInt,Gt=typeof Zo=="object"&&Zo&&Zo.Object===Object&&Zo,or=typeof self=="object"&&self&&self.Object===Object&&self,Ot=Gt||or||Function("return this")(),kt=e&&!e.nodeType&&e,rr=kt&&!0&&r&&!r.nodeType&&r,Zr=rr&&rr.exports===kt,cr=Zr&&Gt.process,Wt=function(){try{var re=rr&&rr.require&&rr.require("util").types;return re||cr&&cr.binding&&cr.binding("util")}catch{}}(),Fr=Wt&&Wt.isArrayBuffer,Zi=Wt&&Wt.isDate,Ii=Wt&&Wt.isMap,mn=Wt&&Wt.isRegExp,So=Wt&&Wt.isSet,Hs=Wt&&Wt.isTypedArray;function pr(re,fe,oe){switch(oe.length){case 0:return re.call(fe);case 1:return re.call(fe,oe[0]);case 2:return re.call(fe,oe[0],oe[1]);case 3:return re.call(fe,oe[0],oe[1],oe[2])}return re.apply(fe,oe)}function im(re,fe,oe,ke){for(var dt=-1,Bt=re==null?0:re.length;++dt<Bt;){var hr=re[dt];fe(ke,hr,oe(hr),re)}return ke}function Di(re,fe){for(var oe=-1,ke=re==null?0:re.length;++oe<ke&&fe(re[oe],oe,re)!==!1;);return re}function nm(re,fe){for(var oe=re==null?0:re.length;oe--&&fe(re[oe],oe,re)!==!1;);return re}function td(re,fe){for(var oe=-1,ke=re==null?0:re.length;++oe<ke;)if(!fe(re[oe],oe,re))return!1;return!0}function ys(re,fe){for(var oe=-1,ke=re==null?0:re.length,dt=0,Bt=[];++oe<ke;){var hr=re[oe];fe(hr,oe,re)&&(Bt[dt++]=hr)}return Bt}function Wc(re,fe){var oe=re==null?0:re.length;return!!oe&&Ma(re,fe,0)>-1}function Yh(re,fe,oe){for(var ke=-1,dt=re==null?0:re.length;++ke<dt;)if(oe(fe,re[ke]))return!0;return!1}function Yt(re,fe){for(var oe=-1,ke=re==null?0:re.length,dt=Array(ke);++oe<ke;)dt[oe]=fe(re[oe],oe,re);return dt}function ws(re,fe){for(var oe=-1,ke=fe.length,dt=re.length;++oe<ke;)re[dt+oe]=fe[oe];return re}function Qh(re,fe,oe,ke){var dt=-1,Bt=re==null?0:re.length;for(ke&&Bt&&(oe=re[++dt]);++dt<Bt;)oe=fe(oe,re[dt],dt,re);return oe}function sm(re,fe,oe,ke){var dt=re==null?0:re.length;for(ke&&dt&&(oe=re[--dt]);dt--;)oe=fe(oe,re[dt],dt,re);return oe}function Xh(re,fe){for(var oe=-1,ke=re==null?0:re.length;++oe<ke;)if(fe(re[oe],oe,re))return!0;return!1}var am=Zh("length");function om(re){return re.split("")}function cm(re){return re.match(je)||[]}function rd(re,fe,oe){var ke;return oe(re,function(dt,Bt,hr){if(fe(dt,Bt,hr))return ke=Bt,!1}),ke}function Jc(re,fe,oe,ke){for(var dt=re.length,Bt=oe+(ke?1:-1);ke?Bt--:++Bt<dt;)if(fe(re[Bt],Bt,re))return Bt;return-1}function Ma(re,fe,oe){return fe===fe?wm(re,fe,oe):Jc(re,id,oe)}function fm(re,fe,oe,ke){for(var dt=oe-1,Bt=re.length;++dt<Bt;)if(ke(re[dt],fe))return dt;return-1}function id(re){return re!==re}function nd(re,fe){var oe=re==null?0:re.length;return oe?tu(re,fe)/oe:d}function Zh(re){return function(fe){return fe==null?t:fe[re]}}function eu(re){return function(fe){return re==null?t:re[fe]}}function sd(re,fe,oe,ke,dt){return dt(re,function(Bt,hr,Ht){oe=ke?(ke=!1,Bt):fe(oe,Bt,hr,Ht)}),oe}function hm(re,fe){var oe=re.length;for(re.sort(fe);oe--;)re[oe]=re[oe].value;return re}function tu(re,fe){for(var oe,ke=-1,dt=re.length;++ke<dt;){var Bt=fe(re[ke]);Bt!==t&&(oe=oe===t?Bt:oe+Bt)}return oe}function ru(re,fe){for(var oe=-1,ke=Array(re);++oe<re;)ke[oe]=fe(oe);return ke}function um(re,fe){return Yt(fe,function(oe){return[oe,re[oe]]})}function ad(re){return re&&re.slice(0,hd(re)+1).replace(it,"")}function gi(re){return function(fe){return re(fe)}}function iu(re,fe){return Yt(fe,function(oe){return re[oe]})}function Mo(re,fe){return re.has(fe)}function od(re,fe){for(var oe=-1,ke=re.length;++oe<ke&&Ma(fe,re[oe],0)>-1;);return oe}function cd(re,fe){for(var oe=re.length;oe--&&Ma(fe,re[oe],0)>-1;);return oe}function lm(re,fe){for(var oe=re.length,ke=0;oe--;)re[oe]===fe&&++ke;return ke}var dm=eu(G),pm=eu(te);function gm(re){return"\\"+$e[re]}function vm(re,fe){return re==null?t:re[fe]}function Ia(re){return Vc.test(re)}function bm(re){return ks.test(re)}function mm(re){for(var fe,oe=[];!(fe=re.next()).done;)oe.push(fe.value);return oe}function nu(re){var fe=-1,oe=Array(re.size);return re.forEach(function(ke,dt){oe[++fe]=[dt,ke]}),oe}function fd(re,fe){return function(oe){return re(fe(oe))}}function _s(re,fe){for(var oe=-1,ke=re.length,dt=0,Bt=[];++oe<ke;){var hr=re[oe];(hr===fe||hr===y)&&(re[oe]=y,Bt[dt++]=oe)}return Bt}function Yc(re){var fe=-1,oe=Array(re.size);return re.forEach(function(ke){oe[++fe]=ke}),oe}function ym(re){var fe=-1,oe=Array(re.size);return re.forEach(function(ke){oe[++fe]=[ke,ke]}),oe}function wm(re,fe,oe){for(var ke=oe-1,dt=re.length;++ke<dt;)if(re[ke]===fe)return ke;return-1}function _m(re,fe,oe){for(var ke=oe+1;ke--;)if(re[ke]===fe)return ke;return ke}function Da(re){return Ia(re)?Em(re):am(re)}function en(re){return Ia(re)?xm(re):om(re)}function hd(re){for(var fe=re.length;fe--&&st.test(re.charAt(fe)););return fe}var Am=eu(pe);function Em(re){for(var fe=Sa.lastIndex=0;Sa.test(re);)++fe;return fe}function xm(re){return re.match(Sa)||[]}function Sm(re){return re.match(Kc)||[]}var Mm=function re(fe){fe=fe==null?Ot:Pa.defaults(Ot.Object(),fe,Pa.pick(Ot,Gc));var oe=fe.Array,ke=fe.Date,dt=fe.Error,Bt=fe.Function,hr=fe.Math,Ht=fe.Object,su=fe.RegExp,Im=fe.String,Pi=fe.TypeError,Qc=oe.prototype,Dm=Bt.prototype,Ca=Ht.prototype,Xc=fe["__core-js_shared__"],Zc=Dm.toString,Ut=Ca.hasOwnProperty,Pm=0,ud=function(){var s=/[^.]+$/.exec(Xc&&Xc.keys&&Xc.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""}(),ef=Ca.toString,Cm=Zc.call(Ht),Om=Ot._,Rm=su("^"+Zc.call(Ut).replace(rt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),tf=Zr?fe.Buffer:t,As=fe.Symbol,rf=fe.Uint8Array,ld=tf?tf.allocUnsafe:t,nf=fd(Ht.getPrototypeOf,Ht),dd=Ht.create,pd=Ca.propertyIsEnumerable,sf=Qc.splice,gd=As?As.isConcatSpreadable:t,Io=As?As.iterator:t,Ks=As?As.toStringTag:t,af=function(){try{var s=Ys(Ht,"defineProperty");return s({},"",{}),s}catch{}}(),Nm=fe.clearTimeout!==Ot.clearTimeout&&fe.clearTimeout,Tm=ke&&ke.now!==Ot.Date.now&&ke.now,Bm=fe.setTimeout!==Ot.setTimeout&&fe.setTimeout,of=hr.ceil,cf=hr.floor,au=Ht.getOwnPropertySymbols,qm=tf?tf.isBuffer:t,vd=fe.isFinite,Lm=Qc.join,Um=fd(Ht.keys,Ht),ur=hr.max,Br=hr.min,$m=ke.now,zm=fe.parseInt,bd=hr.random,Fm=Qc.reverse,ou=Ys(fe,"DataView"),Do=Ys(fe,"Map"),cu=Ys(fe,"Promise"),Oa=Ys(fe,"Set"),Po=Ys(fe,"WeakMap"),Co=Ys(Ht,"create"),ff=Po&&new Po,Ra={},jm=Qs(ou),km=Qs(Do),Hm=Qs(cu),Km=Qs(Oa),Vm=Qs(Po),hf=As?As.prototype:t,Oo=hf?hf.valueOf:t,md=hf?hf.toString:t;function T(s){if(Zt(s)&&!gt(s)&&!(s instanceof It)){if(s instanceof Ci)return s;if(Ut.call(s,"__wrapped__"))return yp(s)}return new Ci(s)}var Na=function(){function s(){}return function(o){if(!Qt(o))return{};if(dd)return dd(o);s.prototype=o;var l=new s;return s.prototype=t,l}}();function uf(){}function Ci(s,o){this.__wrapped__=s,this.__actions__=[],this.__chain__=!!o,this.__index__=0,this.__values__=t}T.templateSettings={escape:tt,evaluate:qe,interpolate:et,variable:"",imports:{_:T}},T.prototype=uf.prototype,T.prototype.constructor=T,Ci.prototype=Na(uf.prototype),Ci.prototype.constructor=Ci;function It(s){this.__wrapped__=s,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=p,this.__views__=[]}function Gm(){var s=new It(this.__wrapped__);return s.__actions__=ei(this.__actions__),s.__dir__=this.__dir__,s.__filtered__=this.__filtered__,s.__iteratees__=ei(this.__iteratees__),s.__takeCount__=this.__takeCount__,s.__views__=ei(this.__views__),s}function Wm(){if(this.__filtered__){var s=new It(this);s.__dir__=-1,s.__filtered__=!0}else s=this.clone(),s.__dir__*=-1;return s}function Jm(){var s=this.__wrapped__.value(),o=this.__dir__,l=gt(s),x=o<0,R=l?s.length:0,L=o6(0,R,this.__views__),J=L.start,X=L.end,ie=X-J,le=x?X:J-1,de=this.__iteratees__,ge=de.length,De=0,We=Br(ie,this.__takeCount__);if(!l||!x&&R==ie&&We==ie)return jd(s,this.__actions__);var ot=[];e:for(;ie--&&De<We;){le+=o;for(var wt=-1,ct=s[le];++wt<ge;){var xt=de[wt],Rt=xt.iteratee,mi=xt.type,Hr=Rt(ct);if(mi==g)ct=Hr;else if(!Hr){if(mi==h)continue e;break e}}ot[De++]=ct}return ot}It.prototype=Na(uf.prototype),It.prototype.constructor=It;function Vs(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var x=s[o];this.set(x[0],x[1])}}function Ym(){this.__data__=Co?Co(null):{},this.size=0}function Qm(s){var o=this.has(s)&&delete this.__data__[s];return this.size-=o?1:0,o}function Xm(s){var o=this.__data__;if(Co){var l=o[s];return l===b?t:l}return Ut.call(o,s)?o[s]:t}function Zm(s){var o=this.__data__;return Co?o[s]!==t:Ut.call(o,s)}function e3(s,o){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=Co&&o===t?b:o,this}Vs.prototype.clear=Ym,Vs.prototype.delete=Qm,Vs.prototype.get=Xm,Vs.prototype.has=Zm,Vs.prototype.set=e3;function Jn(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var x=s[o];this.set(x[0],x[1])}}function t3(){this.__data__=[],this.size=0}function r3(s){var o=this.__data__,l=lf(o,s);if(l<0)return!1;var x=o.length-1;return l==x?o.pop():sf.call(o,l,1),--this.size,!0}function i3(s){var o=this.__data__,l=lf(o,s);return l<0?t:o[l][1]}function n3(s){return lf(this.__data__,s)>-1}function s3(s,o){var l=this.__data__,x=lf(l,s);return x<0?(++this.size,l.push([s,o])):l[x][1]=o,this}Jn.prototype.clear=t3,Jn.prototype.delete=r3,Jn.prototype.get=i3,Jn.prototype.has=n3,Jn.prototype.set=s3;function Yn(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var x=s[o];this.set(x[0],x[1])}}function a3(){this.size=0,this.__data__={hash:new Vs,map:new(Do||Jn),string:new Vs}}function o3(s){var o=xf(this,s).delete(s);return this.size-=o?1:0,o}function c3(s){return xf(this,s).get(s)}function f3(s){return xf(this,s).has(s)}function h3(s,o){var l=xf(this,s),x=l.size;return l.set(s,o),this.size+=l.size==x?0:1,this}Yn.prototype.clear=a3,Yn.prototype.delete=o3,Yn.prototype.get=c3,Yn.prototype.has=f3,Yn.prototype.set=h3;function Gs(s){var o=-1,l=s==null?0:s.length;for(this.__data__=new Yn;++o<l;)this.add(s[o])}function u3(s){return this.__data__.set(s,b),this}function l3(s){return this.__data__.has(s)}Gs.prototype.add=Gs.prototype.push=u3,Gs.prototype.has=l3;function tn(s){var o=this.__data__=new Jn(s);this.size=o.size}function d3(){this.__data__=new Jn,this.size=0}function p3(s){var o=this.__data__,l=o.delete(s);return this.size=o.size,l}function g3(s){return this.__data__.get(s)}function v3(s){return this.__data__.has(s)}function b3(s,o){var l=this.__data__;if(l instanceof Jn){var x=l.__data__;if(!Do||x.length<n-1)return x.push([s,o]),this.size=++l.size,this;l=this.__data__=new Yn(x)}return l.set(s,o),this.size=l.size,this}tn.prototype.clear=d3,tn.prototype.delete=p3,tn.prototype.get=g3,tn.prototype.has=v3,tn.prototype.set=b3;function yd(s,o){var l=gt(s),x=!l&&Xs(s),R=!l&&!x&&Is(s),L=!l&&!x&&!R&&La(s),J=l||x||R||L,X=J?ru(s.length,Im):[],ie=X.length;for(var le in s)(o||Ut.call(s,le))&&!(J&&(le=="length"||R&&(le=="offset"||le=="parent")||L&&(le=="buffer"||le=="byteLength"||le=="byteOffset")||es(le,ie)))&&X.push(le);return X}function wd(s){var o=s.length;return o?s[yu(0,o-1)]:t}function m3(s,o){return Sf(ei(s),Ws(o,0,s.length))}function y3(s){return Sf(ei(s))}function fu(s,o,l){(l!==t&&!rn(s[o],l)||l===t&&!(o in s))&&Qn(s,o,l)}function Ro(s,o,l){var x=s[o];(!(Ut.call(s,o)&&rn(x,l))||l===t&&!(o in s))&&Qn(s,o,l)}function lf(s,o){for(var l=s.length;l--;)if(rn(s[l][0],o))return l;return-1}function w3(s,o,l,x){return Es(s,function(R,L,J){o(x,R,l(R),J)}),x}function _d(s,o){return s&&wn(o,gr(o),s)}function _3(s,o){return s&&wn(o,ri(o),s)}function Qn(s,o,l){o=="__proto__"&&af?af(s,o,{configurable:!0,enumerable:!0,value:l,writable:!0}):s[o]=l}function hu(s,o){for(var l=-1,x=o.length,R=oe(x),L=s==null;++l<x;)R[l]=L?t:Hu(s,o[l]);return R}function Ws(s,o,l){return s===s&&(l!==t&&(s=s<=l?s:l),o!==t&&(s=s>=o?s:o)),s}function Oi(s,o,l,x,R,L){var J,X=o&E,ie=o&C,le=o&P;if(l&&(J=R?l(s,x,R,L):l(s)),J!==t)return J;if(!Qt(s))return s;var de=gt(s);if(de){if(J=f6(s),!X)return ei(s,J)}else{var ge=qr(s),De=ge==ne||ge==ce;if(Is(s))return Kd(s,X);if(ge==Re||ge==I||De&&!R){if(J=ie||De?{}:hp(s),!X)return ie?X3(s,_3(J,s)):Q3(s,_d(J,s))}else{if(!zt[ge])return R?s:{};J=h6(s,ge,X)}}L||(L=new tn);var We=L.get(s);if(We)return We;L.set(s,J),$p(s)?s.forEach(function(ct){J.add(Oi(ct,o,l,ct,s,L))}):Lp(s)&&s.forEach(function(ct,xt){J.set(xt,Oi(ct,o,l,xt,s,L))});var ot=le?ie?Cu:Pu:ie?ri:gr,wt=de?t:ot(s);return Di(wt||s,function(ct,xt){wt&&(xt=ct,ct=s[xt]),Ro(J,xt,Oi(ct,o,l,xt,s,L))}),J}function A3(s){var o=gr(s);return function(l){return Ad(l,s,o)}}function Ad(s,o,l){var x=l.length;if(s==null)return!x;for(s=Ht(s);x--;){var R=l[x],L=o[R],J=s[R];if(J===t&&!(R in s)||!L(J))return!1}return!0}function Ed(s,o,l){if(typeof s!="function")throw new Pi(f);return $o(function(){s.apply(t,l)},o)}function No(s,o,l,x){var R=-1,L=Wc,J=!0,X=s.length,ie=[],le=o.length;if(!X)return ie;l&&(o=Yt(o,gi(l))),x?(L=Yh,J=!1):o.length>=n&&(L=Mo,J=!1,o=new Gs(o));e:for(;++R<X;){var de=s[R],ge=l==null?de:l(de);if(de=x||de!==0?de:0,J&&ge===ge){for(var De=le;De--;)if(o[De]===ge)continue e;ie.push(de)}else L(o,ge,x)||ie.push(de)}return ie}var Es=Yd(yn),xd=Yd(lu,!0);function E3(s,o){var l=!0;return Es(s,function(x,R,L){return l=!!o(x,R,L),l}),l}function df(s,o,l){for(var x=-1,R=s.length;++x<R;){var L=s[x],J=o(L);if(J!=null&&(X===t?J===J&&!bi(J):l(J,X)))var X=J,ie=L}return ie}function x3(s,o,l,x){var R=s.length;for(l=yt(l),l<0&&(l=-l>R?0:R+l),x=x===t||x>R?R:yt(x),x<0&&(x+=R),x=l>x?0:Fp(x);l<x;)s[l++]=o;return s}function Sd(s,o){var l=[];return Es(s,function(x,R,L){o(x,R,L)&&l.push(x)}),l}function _r(s,o,l,x,R){var L=-1,J=s.length;for(l||(l=l6),R||(R=[]);++L<J;){var X=s[L];o>0&&l(X)?o>1?_r(X,o-1,l,x,R):ws(R,X):x||(R[R.length]=X)}return R}var uu=Qd(),Md=Qd(!0);function yn(s,o){return s&&uu(s,o,gr)}function lu(s,o){return s&&Md(s,o,gr)}function pf(s,o){return ys(o,function(l){return ts(s[l])})}function Js(s,o){o=Ss(o,s);for(var l=0,x=o.length;s!=null&&l<x;)s=s[_n(o[l++])];return l&&l==x?s:t}function Id(s,o,l){var x=o(s);return gt(s)?x:ws(x,l(s))}function jr(s){return s==null?s===t?Te:we:Ks&&Ks in Ht(s)?a6(s):y6(s)}function du(s,o){return s>o}function S3(s,o){return s!=null&&Ut.call(s,o)}function M3(s,o){return s!=null&&o in Ht(s)}function I3(s,o,l){return s>=Br(o,l)&&s<ur(o,l)}function pu(s,o,l){for(var x=l?Yh:Wc,R=s[0].length,L=s.length,J=L,X=oe(L),ie=1/0,le=[];J--;){var de=s[J];J&&o&&(de=Yt(de,gi(o))),ie=Br(de.length,ie),X[J]=!l&&(o||R>=120&&de.length>=120)?new Gs(J&&de):t}de=s[0];var ge=-1,De=X[0];e:for(;++ge<R&&le.length<ie;){var We=de[ge],ot=o?o(We):We;if(We=l||We!==0?We:0,!(De?Mo(De,ot):x(le,ot,l))){for(J=L;--J;){var wt=X[J];if(!(wt?Mo(wt,ot):x(s[J],ot,l)))continue e}De&&De.push(ot),le.push(We)}}return le}function D3(s,o,l,x){return yn(s,function(R,L,J){o(x,l(R),L,J)}),x}function To(s,o,l){o=Ss(o,s),s=pp(s,o);var x=s==null?s:s[_n(Ni(o))];return x==null?t:pr(x,s,l)}function Dd(s){return Zt(s)&&jr(s)==I}function P3(s){return Zt(s)&&jr(s)==xe}function C3(s){return Zt(s)&&jr(s)==K}function Bo(s,o,l,x,R){return s===o?!0:s==null||o==null||!Zt(s)&&!Zt(o)?s!==s&&o!==o:O3(s,o,l,x,Bo,R)}function O3(s,o,l,x,R,L){var J=gt(s),X=gt(o),ie=J?ee:qr(s),le=X?ee:qr(o);ie=ie==I?Re:ie,le=le==I?Re:le;var de=ie==Re,ge=le==Re,De=ie==le;if(De&&Is(s)){if(!Is(o))return!1;J=!0,de=!1}if(De&&!de)return L||(L=new tn),J||La(s)?op(s,o,l,x,R,L):n6(s,o,ie,l,x,R,L);if(!(l&O)){var We=de&&Ut.call(s,"__wrapped__"),ot=ge&&Ut.call(o,"__wrapped__");if(We||ot){var wt=We?s.value():s,ct=ot?o.value():o;return L||(L=new tn),R(wt,ct,l,x,L)}}return De?(L||(L=new tn),s6(s,o,l,x,R,L)):!1}function R3(s){return Zt(s)&&qr(s)==he}function gu(s,o,l,x){var R=l.length,L=R,J=!x;if(s==null)return!L;for(s=Ht(s);R--;){var X=l[R];if(J&&X[2]?X[1]!==s[X[0]]:!(X[0]in s))return!1}for(;++R<L;){X=l[R];var ie=X[0],le=s[ie],de=X[1];if(J&&X[2]){if(le===t&&!(ie in s))return!1}else{var ge=new tn;if(x)var De=x(le,de,ie,s,o,ge);if(!(De===t?Bo(de,le,O|j,x,ge):De))return!1}}return!0}function Pd(s){if(!Qt(s)||p6(s))return!1;var o=ts(s)?Rm:Rr;return o.test(Qs(s))}function N3(s){return Zt(s)&&jr(s)==Ne}function T3(s){return Zt(s)&&qr(s)==Se}function B3(s){return Zt(s)&&Of(s.length)&&!!Ft[jr(s)]}function Cd(s){return typeof s=="function"?s:s==null?ii:typeof s=="object"?gt(s)?Nd(s[0],s[1]):Rd(s):Xp(s)}function vu(s){if(!Uo(s))return Um(s);var o=[];for(var l in Ht(s))Ut.call(s,l)&&l!="constructor"&&o.push(l);return o}function q3(s){if(!Qt(s))return m6(s);var o=Uo(s),l=[];for(var x in s)x=="constructor"&&(o||!Ut.call(s,x))||l.push(x);return l}function bu(s,o){return s<o}function Od(s,o){var l=-1,x=ti(s)?oe(s.length):[];return Es(s,function(R,L,J){x[++l]=o(R,L,J)}),x}function Rd(s){var o=Ru(s);return o.length==1&&o[0][2]?lp(o[0][0],o[0][1]):function(l){return l===s||gu(l,s,o)}}function Nd(s,o){return Tu(s)&&up(o)?lp(_n(s),o):function(l){var x=Hu(l,s);return x===t&&x===o?Ku(l,s):Bo(o,x,O|j)}}function gf(s,o,l,x,R){s!==o&&uu(o,function(L,J){if(R||(R=new tn),Qt(L))L3(s,o,J,l,gf,x,R);else{var X=x?x(qu(s,J),L,J+"",s,o,R):t;X===t&&(X=L),fu(s,J,X)}},ri)}function L3(s,o,l,x,R,L,J){var X=qu(s,l),ie=qu(o,l),le=J.get(ie);if(le){fu(s,l,le);return}var de=L?L(X,ie,l+"",s,o,J):t,ge=de===t;if(ge){var De=gt(ie),We=!De&&Is(ie),ot=!De&&!We&&La(ie);de=ie,De||We||ot?gt(X)?de=X:ir(X)?de=ei(X):We?(ge=!1,de=Kd(ie,!0)):ot?(ge=!1,de=Vd(ie,!0)):de=[]:zo(ie)||Xs(ie)?(de=X,Xs(X)?de=jp(X):(!Qt(X)||ts(X))&&(de=hp(ie))):ge=!1}ge&&(J.set(ie,de),R(de,ie,x,L,J),J.delete(ie)),fu(s,l,de)}function Td(s,o){var l=s.length;if(l)return o+=o<0?l:0,es(o,l)?s[o]:t}function Bd(s,o,l){o.length?o=Yt(o,function(L){return gt(L)?function(J){return Js(J,L.length===1?L[0]:L)}:L}):o=[ii];var x=-1;o=Yt(o,gi(nt()));var R=Od(s,function(L,J,X){var ie=Yt(o,function(le){return le(L)});return{criteria:ie,index:++x,value:L}});return hm(R,function(L,J){return Y3(L,J,l)})}function U3(s,o){return qd(s,o,function(l,x){return Ku(s,x)})}function qd(s,o,l){for(var x=-1,R=o.length,L={};++x<R;){var J=o[x],X=Js(s,J);l(X,J)&&qo(L,Ss(J,s),X)}return L}function $3(s){return function(o){return Js(o,s)}}function mu(s,o,l,x){var R=x?fm:Ma,L=-1,J=o.length,X=s;for(s===o&&(o=ei(o)),l&&(X=Yt(s,gi(l)));++L<J;)for(var ie=0,le=o[L],de=l?l(le):le;(ie=R(X,de,ie,x))>-1;)X!==s&&sf.call(X,ie,1),sf.call(s,ie,1);return s}function Ld(s,o){for(var l=s?o.length:0,x=l-1;l--;){var R=o[l];if(l==x||R!==L){var L=R;es(R)?sf.call(s,R,1):Au(s,R)}}return s}function yu(s,o){return s+cf(bd()*(o-s+1))}function z3(s,o,l,x){for(var R=-1,L=ur(of((o-s)/(l||1)),0),J=oe(L);L--;)J[x?L:++R]=s,s+=l;return J}function wu(s,o){var l="";if(!s||o<1||o>D)return l;do o%2&&(l+=s),o=cf(o/2),o&&(s+=s);while(o);return l}function At(s,o){return Lu(dp(s,o,ii),s+"")}function F3(s){return wd(Ua(s))}function j3(s,o){var l=Ua(s);return Sf(l,Ws(o,0,l.length))}function qo(s,o,l,x){if(!Qt(s))return s;o=Ss(o,s);for(var R=-1,L=o.length,J=L-1,X=s;X!=null&&++R<L;){var ie=_n(o[R]),le=l;if(ie==="__proto__"||ie==="constructor"||ie==="prototype")return s;if(R!=J){var de=X[ie];le=x?x(de,ie,X):t,le===t&&(le=Qt(de)?de:es(o[R+1])?[]:{})}Ro(X,ie,le),X=X[ie]}return s}var Ud=ff?function(s,o){return ff.set(s,o),s}:ii,k3=af?function(s,o){return af(s,"toString",{configurable:!0,enumerable:!1,value:Gu(o),writable:!0})}:ii;function H3(s){return Sf(Ua(s))}function Ri(s,o,l){var x=-1,R=s.length;o<0&&(o=-o>R?0:R+o),l=l>R?R:l,l<0&&(l+=R),R=o>l?0:l-o>>>0,o>>>=0;for(var L=oe(R);++x<R;)L[x]=s[x+o];return L}function K3(s,o){var l;return Es(s,function(x,R,L){return l=o(x,R,L),!l}),!!l}function vf(s,o,l){var x=0,R=s==null?x:s.length;if(typeof o=="number"&&o===o&&R<=Z){for(;x<R;){var L=x+R>>>1,J=s[L];J!==null&&!bi(J)&&(l?J<=o:J<o)?x=L+1:R=L}return R}return _u(s,o,ii,l)}function _u(s,o,l,x){var R=0,L=s==null?0:s.length;if(L===0)return 0;o=l(o);for(var J=o!==o,X=o===null,ie=bi(o),le=o===t;R<L;){var de=cf((R+L)/2),ge=l(s[de]),De=ge!==t,We=ge===null,ot=ge===ge,wt=bi(ge);if(J)var ct=x||ot;else le?ct=ot&&(x||De):X?ct=ot&&De&&(x||!We):ie?ct=ot&&De&&!We&&(x||!wt):We||wt?ct=!1:ct=x?ge<=o:ge<o;ct?R=de+1:L=de}return Br(L,N)}function $d(s,o){for(var l=-1,x=s.length,R=0,L=[];++l<x;){var J=s[l],X=o?o(J):J;if(!l||!rn(X,ie)){var ie=X;L[R++]=J===0?0:J}}return L}function zd(s){return typeof s=="number"?s:bi(s)?d:+s}function vi(s){if(typeof s=="string")return s;if(gt(s))return Yt(s,vi)+"";if(bi(s))return md?md.call(s):"";var o=s+"";return o=="0"&&1/s==-M?"-0":o}function xs(s,o,l){var x=-1,R=Wc,L=s.length,J=!0,X=[],ie=X;if(l)J=!1,R=Yh;else if(L>=n){var le=o?null:r6(s);if(le)return Yc(le);J=!1,R=Mo,ie=new Gs}else ie=o?[]:X;e:for(;++x<L;){var de=s[x],ge=o?o(de):de;if(de=l||de!==0?de:0,J&&ge===ge){for(var De=ie.length;De--;)if(ie[De]===ge)continue e;o&&ie.push(ge),X.push(de)}else R(ie,ge,l)||(ie!==X&&ie.push(ge),X.push(de))}return X}function Au(s,o){return o=Ss(o,s),s=pp(s,o),s==null||delete s[_n(Ni(o))]}function Fd(s,o,l,x){return qo(s,o,l(Js(s,o)),x)}function bf(s,o,l,x){for(var R=s.length,L=x?R:-1;(x?L--:++L<R)&&o(s[L],L,s););return l?Ri(s,x?0:L,x?L+1:R):Ri(s,x?L+1:0,x?R:L)}function jd(s,o){var l=s;return l instanceof It&&(l=l.value()),Qh(o,function(x,R){return R.func.apply(R.thisArg,ws([x],R.args))},l)}function Eu(s,o,l){var x=s.length;if(x<2)return x?xs(s[0]):[];for(var R=-1,L=oe(x);++R<x;)for(var J=s[R],X=-1;++X<x;)X!=R&&(L[R]=No(L[R]||J,s[X],o,l));return xs(_r(L,1),o,l)}function kd(s,o,l){for(var x=-1,R=s.length,L=o.length,J={};++x<R;){var X=x<L?o[x]:t;l(J,s[x],X)}return J}function xu(s){return ir(s)?s:[]}function Su(s){return typeof s=="function"?s:ii}function Ss(s,o){return gt(s)?s:Tu(s,o)?[s]:mp(qt(s))}var V3=At;function Ms(s,o,l){var x=s.length;return l=l===t?x:l,!o&&l>=x?s:Ri(s,o,l)}var Hd=Nm||function(s){return Ot.clearTimeout(s)};function Kd(s,o){if(o)return s.slice();var l=s.length,x=ld?ld(l):new s.constructor(l);return s.copy(x),x}function Mu(s){var o=new s.constructor(s.byteLength);return new rf(o).set(new rf(s)),o}function G3(s,o){var l=o?Mu(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.byteLength)}function W3(s){var o=new s.constructor(s.source,bt.exec(s));return o.lastIndex=s.lastIndex,o}function J3(s){return Oo?Ht(Oo.call(s)):{}}function Vd(s,o){var l=o?Mu(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.length)}function Gd(s,o){if(s!==o){var l=s!==t,x=s===null,R=s===s,L=bi(s),J=o!==t,X=o===null,ie=o===o,le=bi(o);if(!X&&!le&&!L&&s>o||L&&J&&ie&&!X&&!le||x&&J&&ie||!l&&ie||!R)return 1;if(!x&&!L&&!le&&s<o||le&&l&&R&&!x&&!L||X&&l&&R||!J&&R||!ie)return-1}return 0}function Y3(s,o,l){for(var x=-1,R=s.criteria,L=o.criteria,J=R.length,X=l.length;++x<J;){var ie=Gd(R[x],L[x]);if(ie){if(x>=X)return ie;var le=l[x];return ie*(le=="desc"?-1:1)}}return s.index-o.index}function Wd(s,o,l,x){for(var R=-1,L=s.length,J=l.length,X=-1,ie=o.length,le=ur(L-J,0),de=oe(ie+le),ge=!x;++X<ie;)de[X]=o[X];for(;++R<J;)(ge||R<L)&&(de[l[R]]=s[R]);for(;le--;)de[X++]=s[R++];return de}function Jd(s,o,l,x){for(var R=-1,L=s.length,J=-1,X=l.length,ie=-1,le=o.length,de=ur(L-X,0),ge=oe(de+le),De=!x;++R<de;)ge[R]=s[R];for(var We=R;++ie<le;)ge[We+ie]=o[ie];for(;++J<X;)(De||R<L)&&(ge[We+l[J]]=s[R++]);return ge}function ei(s,o){var l=-1,x=s.length;for(o||(o=oe(x));++l<x;)o[l]=s[l];return o}function wn(s,o,l,x){var R=!l;l||(l={});for(var L=-1,J=o.length;++L<J;){var X=o[L],ie=x?x(l[X],s[X],X,l,s):t;ie===t&&(ie=s[X]),R?Qn(l,X,ie):Ro(l,X,ie)}return l}function Q3(s,o){return wn(s,Nu(s),o)}function X3(s,o){return wn(s,cp(s),o)}function mf(s,o){return function(l,x){var R=gt(l)?im:w3,L=o?o():{};return R(l,s,nt(x,2),L)}}function Ta(s){return At(function(o,l){var x=-1,R=l.length,L=R>1?l[R-1]:t,J=R>2?l[2]:t;for(L=s.length>3&&typeof L=="function"?(R--,L):t,J&&kr(l[0],l[1],J)&&(L=R<3?t:L,R=1),o=Ht(o);++x<R;){var X=l[x];X&&s(o,X,x,L)}return o})}function Yd(s,o){return function(l,x){if(l==null)return l;if(!ti(l))return s(l,x);for(var R=l.length,L=o?R:-1,J=Ht(l);(o?L--:++L<R)&&x(J[L],L,J)!==!1;);return l}}function Qd(s){return function(o,l,x){for(var R=-1,L=Ht(o),J=x(o),X=J.length;X--;){var ie=J[s?X:++R];if(l(L[ie],ie,L)===!1)break}return o}}function Z3(s,o,l){var x=o&W,R=Lo(s);function L(){var J=this&&this!==Ot&&this instanceof L?R:s;return J.apply(x?l:this,arguments)}return L}function Xd(s){return function(o){o=qt(o);var l=Ia(o)?en(o):t,x=l?l[0]:o.charAt(0),R=l?Ms(l,1).join(""):o.slice(1);return x[s]()+R}}function Ba(s){return function(o){return Qh(Yp(Jp(o).replace(xo,"")),s,"")}}function Lo(s){return function(){var o=arguments;switch(o.length){case 0:return new s;case 1:return new s(o[0]);case 2:return new s(o[0],o[1]);case 3:return new s(o[0],o[1],o[2]);case 4:return new s(o[0],o[1],o[2],o[3]);case 5:return new s(o[0],o[1],o[2],o[3],o[4]);case 6:return new s(o[0],o[1],o[2],o[3],o[4],o[5]);case 7:return new s(o[0],o[1],o[2],o[3],o[4],o[5],o[6])}var l=Na(s.prototype),x=s.apply(l,o);return Qt(x)?x:l}}function e6(s,o,l){var x=Lo(s);function R(){for(var L=arguments.length,J=oe(L),X=L,ie=qa(R);X--;)J[X]=arguments[X];var le=L<3&&J[0]!==ie&&J[L-1]!==ie?[]:_s(J,ie);if(L-=le.length,L<l)return ip(s,o,yf,R.placeholder,t,J,le,t,t,l-L);var de=this&&this!==Ot&&this instanceof R?x:s;return pr(de,this,J)}return R}function Zd(s){return function(o,l,x){var R=Ht(o);if(!ti(o)){var L=nt(l,3);o=gr(o),l=function(X){return L(R[X],X,R)}}var J=s(o,l,x);return J>-1?R[L?o[J]:J]:t}}function ep(s){return Zn(function(o){var l=o.length,x=l,R=Ci.prototype.thru;for(s&&o.reverse();x--;){var L=o[x];if(typeof L!="function")throw new Pi(f);if(R&&!J&&Ef(L)=="wrapper")var J=new Ci([],!0)}for(x=J?x:l;++x<l;){L=o[x];var X=Ef(L),ie=X=="wrapper"?Ou(L):t;ie&&Bu(ie[0])&&ie[1]==(A|Y|F|q)&&!ie[4].length&&ie[9]==1?J=J[Ef(ie[0])].apply(J,ie[3]):J=L.length==1&&Bu(L)?J[X]():J.thru(L)}return function(){var le=arguments,de=le[0];if(J&&le.length==1&&gt(de))return J.plant(de).value();for(var ge=0,De=l?o[ge].apply(this,le):de;++ge<l;)De=o[ge].call(this,De);return De}})}function yf(s,o,l,x,R,L,J,X,ie,le){var de=o&A,ge=o&W,De=o&Q,We=o&(Y|U),ot=o&ae,wt=De?t:Lo(s);function ct(){for(var xt=arguments.length,Rt=oe(xt),mi=xt;mi--;)Rt[mi]=arguments[mi];if(We)var Hr=qa(ct),yi=lm(Rt,Hr);if(x&&(Rt=Wd(Rt,x,R,We)),L&&(Rt=Jd(Rt,L,J,We)),xt-=yi,We&&xt<le){var nr=_s(Rt,Hr);return ip(s,o,yf,ct.placeholder,l,Rt,nr,X,ie,le-xt)}var nn=ge?l:this,is=De?nn[s]:s;return xt=Rt.length,X?Rt=w6(Rt,X):ot&&xt>1&&Rt.reverse(),de&&ie<xt&&(Rt.length=ie),this&&this!==Ot&&this instanceof ct&&(is=wt||Lo(is)),is.apply(nn,Rt)}return ct}function tp(s,o){return function(l,x){return D3(l,s,o(x),{})}}function wf(s,o){return function(l,x){var R;if(l===t&&x===t)return o;if(l!==t&&(R=l),x!==t){if(R===t)return x;typeof l=="string"||typeof x=="string"?(l=vi(l),x=vi(x)):(l=zd(l),x=zd(x)),R=s(l,x)}return R}}function Iu(s){return Zn(function(o){return o=Yt(o,gi(nt())),At(function(l){var x=this;return s(o,function(R){return pr(R,x,l)})})})}function _f(s,o){o=o===t?" ":vi(o);var l=o.length;if(l<2)return l?wu(o,s):o;var x=wu(o,of(s/Da(o)));return Ia(o)?Ms(en(x),0,s).join(""):x.slice(0,s)}function t6(s,o,l,x){var R=o&W,L=Lo(s);function J(){for(var X=-1,ie=arguments.length,le=-1,de=x.length,ge=oe(de+ie),De=this&&this!==Ot&&this instanceof J?L:s;++le<de;)ge[le]=x[le];for(;ie--;)ge[le++]=arguments[++X];return pr(De,R?l:this,ge)}return J}function rp(s){return function(o,l,x){return x&&typeof x!="number"&&kr(o,l,x)&&(l=x=t),o=rs(o),l===t?(l=o,o=0):l=rs(l),x=x===t?o<l?1:-1:rs(x),z3(o,l,x,s)}}function Af(s){return function(o,l){return typeof o=="string"&&typeof l=="string"||(o=Ti(o),l=Ti(l)),s(o,l)}}function ip(s,o,l,x,R,L,J,X,ie,le){var de=o&Y,ge=de?J:t,De=de?t:J,We=de?L:t,ot=de?t:L;o|=de?F:V,o&=~(de?V:F),o&H||(o&=~(W|Q));var wt=[s,o,R,We,ge,ot,De,X,ie,le],ct=l.apply(t,wt);return Bu(s)&&gp(ct,wt),ct.placeholder=x,vp(ct,s,o)}function Du(s){var o=hr[s];return function(l,x){if(l=Ti(l),x=x==null?0:Br(yt(x),292),x&&vd(l)){var R=(qt(l)+"e").split("e"),L=o(R[0]+"e"+(+R[1]+x));return R=(qt(L)+"e").split("e"),+(R[0]+"e"+(+R[1]-x))}return o(l)}}var r6=Oa&&1/Yc(new Oa([,-0]))[1]==M?function(s){return new Oa(s)}:Yu;function np(s){return function(o){var l=qr(o);return l==he?nu(o):l==Se?ym(o):um(o,s(o))}}function Xn(s,o,l,x,R,L,J,X){var ie=o&Q;if(!ie&&typeof s!="function")throw new Pi(f);var le=x?x.length:0;if(le||(o&=~(F|V),x=R=t),J=J===t?J:ur(yt(J),0),X=X===t?X:yt(X),le-=R?R.length:0,o&V){var de=x,ge=R;x=R=t}var De=ie?t:Ou(s),We=[s,o,l,x,R,de,ge,L,J,X];if(De&&b6(We,De),s=We[0],o=We[1],l=We[2],x=We[3],R=We[4],X=We[9]=We[9]===t?ie?0:s.length:ur(We[9]-le,0),!X&&o&(Y|U)&&(o&=~(Y|U)),!o||o==W)var ot=Z3(s,o,l);else o==Y||o==U?ot=e6(s,o,X):(o==F||o==(W|F))&&!R.length?ot=t6(s,o,l,x):ot=yf.apply(t,We);var wt=De?Ud:gp;return vp(wt(ot,We),s,o)}function sp(s,o,l,x){return s===t||rn(s,Ca[l])&&!Ut.call(x,l)?o:s}function ap(s,o,l,x,R,L){return Qt(s)&&Qt(o)&&(L.set(o,s),gf(s,o,t,ap,L),L.delete(o)),s}function i6(s){return zo(s)?t:s}function op(s,o,l,x,R,L){var J=l&O,X=s.length,ie=o.length;if(X!=ie&&!(J&&ie>X))return!1;var le=L.get(s),de=L.get(o);if(le&&de)return le==o&&de==s;var ge=-1,De=!0,We=l&j?new Gs:t;for(L.set(s,o),L.set(o,s);++ge<X;){var ot=s[ge],wt=o[ge];if(x)var ct=J?x(wt,ot,ge,o,s,L):x(ot,wt,ge,s,o,L);if(ct!==t){if(ct)continue;De=!1;break}if(We){if(!Xh(o,function(xt,Rt){if(!Mo(We,Rt)&&(ot===xt||R(ot,xt,l,x,L)))return We.push(Rt)})){De=!1;break}}else if(!(ot===wt||R(ot,wt,l,x,L))){De=!1;break}}return L.delete(s),L.delete(o),De}function n6(s,o,l,x,R,L,J){switch(l){case be:if(s.byteLength!=o.byteLength||s.byteOffset!=o.byteOffset)return!1;s=s.buffer,o=o.buffer;case xe:return!(s.byteLength!=o.byteLength||!L(new rf(s),new rf(o)));case k:case K:case ye:return rn(+s,+o);case z:return s.name==o.name&&s.message==o.message;case Ne:case me:return s==o+"";case he:var X=nu;case Se:var ie=x&O;if(X||(X=Yc),s.size!=o.size&&!ie)return!1;var le=J.get(s);if(le)return le==o;x|=j,J.set(s,o);var de=op(X(s),X(o),x,R,L,J);return J.delete(s),de;case Ce:if(Oo)return Oo.call(s)==Oo.call(o)}return!1}function s6(s,o,l,x,R,L){var J=l&O,X=Pu(s),ie=X.length,le=Pu(o),de=le.length;if(ie!=de&&!J)return!1;for(var ge=ie;ge--;){var De=X[ge];if(!(J?De in o:Ut.call(o,De)))return!1}var We=L.get(s),ot=L.get(o);if(We&&ot)return We==o&&ot==s;var wt=!0;L.set(s,o),L.set(o,s);for(var ct=J;++ge<ie;){De=X[ge];var xt=s[De],Rt=o[De];if(x)var mi=J?x(Rt,xt,De,o,s,L):x(xt,Rt,De,s,o,L);if(!(mi===t?xt===Rt||R(xt,Rt,l,x,L):mi)){wt=!1;break}ct||(ct=De=="constructor")}if(wt&&!ct){var Hr=s.constructor,yi=o.constructor;Hr!=yi&&"constructor"in s&&"constructor"in o&&!(typeof Hr=="function"&&Hr instanceof Hr&&typeof yi=="function"&&yi instanceof yi)&&(wt=!1)}return L.delete(s),L.delete(o),wt}function Zn(s){return Lu(dp(s,t,Ap),s+"")}function Pu(s){return Id(s,gr,Nu)}function Cu(s){return Id(s,ri,cp)}var Ou=ff?function(s){return ff.get(s)}:Yu;function Ef(s){for(var o=s.name+"",l=Ra[o],x=Ut.call(Ra,o)?l.length:0;x--;){var R=l[x],L=R.func;if(L==null||L==s)return R.name}return o}function qa(s){var o=Ut.call(T,"placeholder")?T:s;return o.placeholder}function nt(){var s=T.iteratee||Wu;return s=s===Wu?Cd:s,arguments.length?s(arguments[0],arguments[1]):s}function xf(s,o){var l=s.__data__;return d6(o)?l[typeof o=="string"?"string":"hash"]:l.map}function Ru(s){for(var o=gr(s),l=o.length;l--;){var x=o[l],R=s[x];o[l]=[x,R,up(R)]}return o}function Ys(s,o){var l=vm(s,o);return Pd(l)?l:t}function a6(s){var o=Ut.call(s,Ks),l=s[Ks];try{s[Ks]=t;var x=!0}catch{}var R=ef.call(s);return x&&(o?s[Ks]=l:delete s[Ks]),R}var Nu=au?function(s){return s==null?[]:(s=Ht(s),ys(au(s),function(o){return pd.call(s,o)}))}:Qu,cp=au?function(s){for(var o=[];s;)ws(o,Nu(s)),s=nf(s);return o}:Qu,qr=jr;(ou&&qr(new ou(new ArrayBuffer(1)))!=be||Do&&qr(new Do)!=he||cu&&qr(cu.resolve())!=Qe||Oa&&qr(new Oa)!=Se||Po&&qr(new Po)!=ve)&&(qr=function(s){var o=jr(s),l=o==Re?s.constructor:t,x=l?Qs(l):"";if(x)switch(x){case jm:return be;case km:return he;case Hm:return Qe;case Km:return Se;case Vm:return ve}return o});function o6(s,o,l){for(var x=-1,R=l.length;++x<R;){var L=l[x],J=L.size;switch(L.type){case"drop":s+=J;break;case"dropRight":o-=J;break;case"take":o=Br(o,s+J);break;case"takeRight":s=ur(s,o-J);break}}return{start:s,end:o}}function c6(s){var o=s.match(Ye);return o?o[1].split(ht):[]}function fp(s,o,l){o=Ss(o,s);for(var x=-1,R=o.length,L=!1;++x<R;){var J=_n(o[x]);if(!(L=s!=null&&l(s,J)))break;s=s[J]}return L||++x!=R?L:(R=s==null?0:s.length,!!R&&Of(R)&&es(J,R)&&(gt(s)||Xs(s)))}function f6(s){var o=s.length,l=new s.constructor(o);return o&&typeof s[0]=="string"&&Ut.call(s,"index")&&(l.index=s.index,l.input=s.input),l}function hp(s){return typeof s.constructor=="function"&&!Uo(s)?Na(nf(s)):{}}function h6(s,o,l){var x=s.constructor;switch(o){case xe:return Mu(s);case k:case K:return new x(+s);case be:return G3(s,l);case Ue:case Ie:case _e:case He:case Ve:case Ee:case Ke:case ut:case Ge:return Vd(s,l);case he:return new x;case ye:case me:return new x(s);case Ne:return W3(s);case Se:return new x;case Ce:return J3(s)}}function u6(s,o){var l=o.length;if(!l)return s;var x=l-1;return o[x]=(l>1?"& ":"")+o[x],o=o.join(l>2?", ":" "),s.replace(Le,`{
/* [wrapped with `+o+`] */
`)}function l6(s){return gt(s)||Xs(s)||!!(gd&&s&&s[gd])}function es(s,o){var l=typeof s;return o=o??D,!!o&&(l=="number"||l!="symbol"&&Tr.test(s))&&s>-1&&s%1==0&&s<o}function kr(s,o,l){if(!Qt(l))return!1;var x=typeof o;return(x=="number"?ti(l)&&es(o,l.length):x=="string"&&o in l)?rn(l[o],s):!1}function Tu(s,o){if(gt(s))return!1;var l=typeof s;return l=="number"||l=="symbol"||l=="boolean"||s==null||bi(s)?!0:ze.test(s)||!Ze.test(s)||o!=null&&s in Ht(o)}function d6(s){var o=typeof s;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?s!=="__proto__":s===null}function Bu(s){var o=Ef(s),l=T[o];if(typeof l!="function"||!(o in It.prototype))return!1;if(s===l)return!0;var x=Ou(l);return!!x&&s===x[0]}function p6(s){return!!ud&&ud in s}var g6=Xc?ts:Xu;function Uo(s){var o=s&&s.constructor,l=typeof o=="function"&&o.prototype||Ca;return s===l}function up(s){return s===s&&!Qt(s)}function lp(s,o){return function(l){return l==null?!1:l[s]===o&&(o!==t||s in Ht(l))}}function v6(s){var o=Pf(s,function(x){return l.size===v&&l.clear(),x}),l=o.cache;return o}function b6(s,o){var l=s[1],x=o[1],R=l|x,L=R<(W|Q|A),J=x==A&&l==Y||x==A&&l==q&&s[7].length<=o[8]||x==(A|q)&&o[7].length<=o[8]&&l==Y;if(!(L||J))return s;x&W&&(s[2]=o[2],R|=l&W?0:H);var X=o[3];if(X){var ie=s[3];s[3]=ie?Wd(ie,X,o[4]):X,s[4]=ie?_s(s[3],y):o[4]}return X=o[5],X&&(ie=s[5],s[5]=ie?Jd(ie,X,o[6]):X,s[6]=ie?_s(s[5],y):o[6]),X=o[7],X&&(s[7]=X),x&A&&(s[8]=s[8]==null?o[8]:Br(s[8],o[8])),s[9]==null&&(s[9]=o[9]),s[0]=o[0],s[1]=R,s}function m6(s){var o=[];if(s!=null)for(var l in Ht(s))o.push(l);return o}function y6(s){return ef.call(s)}function dp(s,o,l){return o=ur(o===t?s.length-1:o,0),function(){for(var x=arguments,R=-1,L=ur(x.length-o,0),J=oe(L);++R<L;)J[R]=x[o+R];R=-1;for(var X=oe(o+1);++R<o;)X[R]=x[R];return X[o]=l(J),pr(s,this,X)}}function pp(s,o){return o.length<2?s:Js(s,Ri(o,0,-1))}function w6(s,o){for(var l=s.length,x=Br(o.length,l),R=ei(s);x--;){var L=o[x];s[x]=es(L,l)?R[L]:t}return s}function qu(s,o){if(!(o==="constructor"&&typeof s[o]=="function")&&o!="__proto__")return s[o]}var gp=bp(Ud),$o=Bm||function(s,o){return Ot.setTimeout(s,o)},Lu=bp(k3);function vp(s,o,l){var x=o+"";return Lu(s,u6(x,_6(c6(x),l)))}function bp(s){var o=0,l=0;return function(){var x=$m(),R=c-(x-l);if(l=x,R>0){if(++o>=m)return arguments[0]}else o=0;return s.apply(t,arguments)}}function Sf(s,o){var l=-1,x=s.length,R=x-1;for(o=o===t?x:o;++l<o;){var L=yu(l,R),J=s[L];s[L]=s[l],s[l]=J}return s.length=o,s}var mp=v6(function(s){var o=[];return s.charCodeAt(0)===46&&o.push(""),s.replace(ft,function(l,x,R,L){o.push(R?L.replace(Tt,"$1"):x||l)}),o});function _n(s){if(typeof s=="string"||bi(s))return s;var o=s+"";return o=="0"&&1/s==-M?"-0":o}function Qs(s){if(s!=null){try{return Zc.call(s)}catch{}try{return s+""}catch{}}return""}function _6(s,o){return Di(se,function(l){var x="_."+l[0];o&l[1]&&!Wc(s,x)&&s.push(x)}),s.sort()}function yp(s){if(s instanceof It)return s.clone();var o=new Ci(s.__wrapped__,s.__chain__);return o.__actions__=ei(s.__actions__),o.__index__=s.__index__,o.__values__=s.__values__,o}function A6(s,o,l){(l?kr(s,o,l):o===t)?o=1:o=ur(yt(o),0);var x=s==null?0:s.length;if(!x||o<1)return[];for(var R=0,L=0,J=oe(of(x/o));R<x;)J[L++]=Ri(s,R,R+=o);return J}function E6(s){for(var o=-1,l=s==null?0:s.length,x=0,R=[];++o<l;){var L=s[o];L&&(R[x++]=L)}return R}function x6(){var s=arguments.length;if(!s)return[];for(var o=oe(s-1),l=arguments[0],x=s;x--;)o[x-1]=arguments[x];return ws(gt(l)?ei(l):[l],_r(o,1))}var S6=At(function(s,o){return ir(s)?No(s,_r(o,1,ir,!0)):[]}),M6=At(function(s,o){var l=Ni(o);return ir(l)&&(l=t),ir(s)?No(s,_r(o,1,ir,!0),nt(l,2)):[]}),I6=At(function(s,o){var l=Ni(o);return ir(l)&&(l=t),ir(s)?No(s,_r(o,1,ir,!0),t,l):[]});function D6(s,o,l){var x=s==null?0:s.length;return x?(o=l||o===t?1:yt(o),Ri(s,o<0?0:o,x)):[]}function P6(s,o,l){var x=s==null?0:s.length;return x?(o=l||o===t?1:yt(o),o=x-o,Ri(s,0,o<0?0:o)):[]}function C6(s,o){return s&&s.length?bf(s,nt(o,3),!0,!0):[]}function O6(s,o){return s&&s.length?bf(s,nt(o,3),!0):[]}function R6(s,o,l,x){var R=s==null?0:s.length;return R?(l&&typeof l!="number"&&kr(s,o,l)&&(l=0,x=R),x3(s,o,l,x)):[]}function wp(s,o,l){var x=s==null?0:s.length;if(!x)return-1;var R=l==null?0:yt(l);return R<0&&(R=ur(x+R,0)),Jc(s,nt(o,3),R)}function _p(s,o,l){var x=s==null?0:s.length;if(!x)return-1;var R=x-1;return l!==t&&(R=yt(l),R=l<0?ur(x+R,0):Br(R,x-1)),Jc(s,nt(o,3),R,!0)}function Ap(s){var o=s==null?0:s.length;return o?_r(s,1):[]}function N6(s){var o=s==null?0:s.length;return o?_r(s,M):[]}function T6(s,o){var l=s==null?0:s.length;return l?(o=o===t?1:yt(o),_r(s,o)):[]}function B6(s){for(var o=-1,l=s==null?0:s.length,x={};++o<l;){var R=s[o];x[R[0]]=R[1]}return x}function Ep(s){return s&&s.length?s[0]:t}function q6(s,o,l){var x=s==null?0:s.length;if(!x)return-1;var R=l==null?0:yt(l);return R<0&&(R=ur(x+R,0)),Ma(s,o,R)}function L6(s){var o=s==null?0:s.length;return o?Ri(s,0,-1):[]}var U6=At(function(s){var o=Yt(s,xu);return o.length&&o[0]===s[0]?pu(o):[]}),$6=At(function(s){var o=Ni(s),l=Yt(s,xu);return o===Ni(l)?o=t:l.pop(),l.length&&l[0]===s[0]?pu(l,nt(o,2)):[]}),z6=At(function(s){var o=Ni(s),l=Yt(s,xu);return o=typeof o=="function"?o:t,o&&l.pop(),l.length&&l[0]===s[0]?pu(l,t,o):[]});function F6(s,o){return s==null?"":Lm.call(s,o)}function Ni(s){var o=s==null?0:s.length;return o?s[o-1]:t}function j6(s,o,l){var x=s==null?0:s.length;if(!x)return-1;var R=x;return l!==t&&(R=yt(l),R=R<0?ur(x+R,0):Br(R,x-1)),o===o?_m(s,o,R):Jc(s,id,R,!0)}function k6(s,o){return s&&s.length?Td(s,yt(o)):t}var H6=At(xp);function xp(s,o){return s&&s.length&&o&&o.length?mu(s,o):s}function K6(s,o,l){return s&&s.length&&o&&o.length?mu(s,o,nt(l,2)):s}function V6(s,o,l){return s&&s.length&&o&&o.length?mu(s,o,t,l):s}var G6=Zn(function(s,o){var l=s==null?0:s.length,x=hu(s,o);return Ld(s,Yt(o,function(R){return es(R,l)?+R:R}).sort(Gd)),x});function W6(s,o){var l=[];if(!(s&&s.length))return l;var x=-1,R=[],L=s.length;for(o=nt(o,3);++x<L;){var J=s[x];o(J,x,s)&&(l.push(J),R.push(x))}return Ld(s,R),l}function Uu(s){return s==null?s:Fm.call(s)}function J6(s,o,l){var x=s==null?0:s.length;return x?(l&&typeof l!="number"&&kr(s,o,l)?(o=0,l=x):(o=o==null?0:yt(o),l=l===t?x:yt(l)),Ri(s,o,l)):[]}function Y6(s,o){return vf(s,o)}function Q6(s,o,l){return _u(s,o,nt(l,2))}function X6(s,o){var l=s==null?0:s.length;if(l){var x=vf(s,o);if(x<l&&rn(s[x],o))return x}return-1}function Z6(s,o){return vf(s,o,!0)}function ey(s,o,l){return _u(s,o,nt(l,2),!0)}function ty(s,o){var l=s==null?0:s.length;if(l){var x=vf(s,o,!0)-1;if(rn(s[x],o))return x}return-1}function ry(s){return s&&s.length?$d(s):[]}function iy(s,o){return s&&s.length?$d(s,nt(o,2)):[]}function ny(s){var o=s==null?0:s.length;return o?Ri(s,1,o):[]}function sy(s,o,l){return s&&s.length?(o=l||o===t?1:yt(o),Ri(s,0,o<0?0:o)):[]}function ay(s,o,l){var x=s==null?0:s.length;return x?(o=l||o===t?1:yt(o),o=x-o,Ri(s,o<0?0:o,x)):[]}function oy(s,o){return s&&s.length?bf(s,nt(o,3),!1,!0):[]}function cy(s,o){return s&&s.length?bf(s,nt(o,3)):[]}var fy=At(function(s){return xs(_r(s,1,ir,!0))}),hy=At(function(s){var o=Ni(s);return ir(o)&&(o=t),xs(_r(s,1,ir,!0),nt(o,2))}),uy=At(function(s){var o=Ni(s);return o=typeof o=="function"?o:t,xs(_r(s,1,ir,!0),t,o)});function ly(s){return s&&s.length?xs(s):[]}function dy(s,o){return s&&s.length?xs(s,nt(o,2)):[]}function py(s,o){return o=typeof o=="function"?o:t,s&&s.length?xs(s,t,o):[]}function $u(s){if(!(s&&s.length))return[];var o=0;return s=ys(s,function(l){if(ir(l))return o=ur(l.length,o),!0}),ru(o,function(l){return Yt(s,Zh(l))})}function Sp(s,o){if(!(s&&s.length))return[];var l=$u(s);return o==null?l:Yt(l,function(x){return pr(o,t,x)})}var gy=At(function(s,o){return ir(s)?No(s,o):[]}),vy=At(function(s){return Eu(ys(s,ir))}),by=At(function(s){var o=Ni(s);return ir(o)&&(o=t),Eu(ys(s,ir),nt(o,2))}),my=At(function(s){var o=Ni(s);return o=typeof o=="function"?o:t,Eu(ys(s,ir),t,o)}),yy=At($u);function wy(s,o){return kd(s||[],o||[],Ro)}function _y(s,o){return kd(s||[],o||[],qo)}var Ay=At(function(s){var o=s.length,l=o>1?s[o-1]:t;return l=typeof l=="function"?(s.pop(),l):t,Sp(s,l)});function Mp(s){var o=T(s);return o.__chain__=!0,o}function Ey(s,o){return o(s),s}function Mf(s,o){return o(s)}var xy=Zn(function(s){var o=s.length,l=o?s[0]:0,x=this.__wrapped__,R=function(L){return hu(L,s)};return o>1||this.__actions__.length||!(x instanceof It)||!es(l)?this.thru(R):(x=x.slice(l,+l+(o?1:0)),x.__actions__.push({func:Mf,args:[R],thisArg:t}),new Ci(x,this.__chain__).thru(function(L){return o&&!L.length&&L.push(t),L}))});function Sy(){return Mp(this)}function My(){return new Ci(this.value(),this.__chain__)}function Iy(){this.__values__===t&&(this.__values__=zp(this.value()));var s=this.__index__>=this.__values__.length,o=s?t:this.__values__[this.__index__++];return{done:s,value:o}}function Dy(){return this}function Py(s){for(var o,l=this;l instanceof uf;){var x=yp(l);x.__index__=0,x.__values__=t,o?R.__wrapped__=x:o=x;var R=x;l=l.__wrapped__}return R.__wrapped__=s,o}function Cy(){var s=this.__wrapped__;if(s instanceof It){var o=s;return this.__actions__.length&&(o=new It(this)),o=o.reverse(),o.__actions__.push({func:Mf,args:[Uu],thisArg:t}),new Ci(o,this.__chain__)}return this.thru(Uu)}function Oy(){return jd(this.__wrapped__,this.__actions__)}var Ry=mf(function(s,o,l){Ut.call(s,l)?++s[l]:Qn(s,l,1)});function Ny(s,o,l){var x=gt(s)?td:E3;return l&&kr(s,o,l)&&(o=t),x(s,nt(o,3))}function Ty(s,o){var l=gt(s)?ys:Sd;return l(s,nt(o,3))}var By=Zd(wp),qy=Zd(_p);function Ly(s,o){return _r(If(s,o),1)}function Uy(s,o){return _r(If(s,o),M)}function $y(s,o,l){return l=l===t?1:yt(l),_r(If(s,o),l)}function Ip(s,o){var l=gt(s)?Di:Es;return l(s,nt(o,3))}function Dp(s,o){var l=gt(s)?nm:xd;return l(s,nt(o,3))}var zy=mf(function(s,o,l){Ut.call(s,l)?s[l].push(o):Qn(s,l,[o])});function Fy(s,o,l,x){s=ti(s)?s:Ua(s),l=l&&!x?yt(l):0;var R=s.length;return l<0&&(l=ur(R+l,0)),Rf(s)?l<=R&&s.indexOf(o,l)>-1:!!R&&Ma(s,o,l)>-1}var jy=At(function(s,o,l){var x=-1,R=typeof o=="function",L=ti(s)?oe(s.length):[];return Es(s,function(J){L[++x]=R?pr(o,J,l):To(J,o,l)}),L}),ky=mf(function(s,o,l){Qn(s,l,o)});function If(s,o){var l=gt(s)?Yt:Od;return l(s,nt(o,3))}function Hy(s,o,l,x){return s==null?[]:(gt(o)||(o=o==null?[]:[o]),l=x?t:l,gt(l)||(l=l==null?[]:[l]),Bd(s,o,l))}var Ky=mf(function(s,o,l){s[l?0:1].push(o)},function(){return[[],[]]});function Vy(s,o,l){var x=gt(s)?Qh:sd,R=arguments.length<3;return x(s,nt(o,4),l,R,Es)}function Gy(s,o,l){var x=gt(s)?sm:sd,R=arguments.length<3;return x(s,nt(o,4),l,R,xd)}function Wy(s,o){var l=gt(s)?ys:Sd;return l(s,Cf(nt(o,3)))}function Jy(s){var o=gt(s)?wd:F3;return o(s)}function Yy(s,o,l){(l?kr(s,o,l):o===t)?o=1:o=yt(o);var x=gt(s)?m3:j3;return x(s,o)}function Qy(s){var o=gt(s)?y3:H3;return o(s)}function Xy(s){if(s==null)return 0;if(ti(s))return Rf(s)?Da(s):s.length;var o=qr(s);return o==he||o==Se?s.size:vu(s).length}function Zy(s,o,l){var x=gt(s)?Xh:K3;return l&&kr(s,o,l)&&(o=t),x(s,nt(o,3))}var e5=At(function(s,o){if(s==null)return[];var l=o.length;return l>1&&kr(s,o[0],o[1])?o=[]:l>2&&kr(o[0],o[1],o[2])&&(o=[o[0]]),Bd(s,_r(o,1),[])}),Df=Tm||function(){return Ot.Date.now()};function t5(s,o){if(typeof o!="function")throw new Pi(f);return s=yt(s),function(){if(--s<1)return o.apply(this,arguments)}}function Pp(s,o,l){return o=l?t:o,o=s&&o==null?s.length:o,Xn(s,A,t,t,t,t,o)}function Cp(s,o){var l;if(typeof o!="function")throw new Pi(f);return s=yt(s),function(){return--s>0&&(l=o.apply(this,arguments)),s<=1&&(o=t),l}}var zu=At(function(s,o,l){var x=W;if(l.length){var R=_s(l,qa(zu));x|=F}return Xn(s,x,o,l,R)}),Op=At(function(s,o,l){var x=W|Q;if(l.length){var R=_s(l,qa(Op));x|=F}return Xn(o,x,s,l,R)});function Rp(s,o,l){o=l?t:o;var x=Xn(s,Y,t,t,t,t,t,o);return x.placeholder=Rp.placeholder,x}function Np(s,o,l){o=l?t:o;var x=Xn(s,U,t,t,t,t,t,o);return x.placeholder=Np.placeholder,x}function Tp(s,o,l){var x,R,L,J,X,ie,le=0,de=!1,ge=!1,De=!0;if(typeof s!="function")throw new Pi(f);o=Ti(o)||0,Qt(l)&&(de=!!l.leading,ge="maxWait"in l,L=ge?ur(Ti(l.maxWait)||0,o):L,De="trailing"in l?!!l.trailing:De);function We(nr){var nn=x,is=R;return x=R=t,le=nr,J=s.apply(is,nn),J}function ot(nr){return le=nr,X=$o(xt,o),de?We(nr):J}function wt(nr){var nn=nr-ie,is=nr-le,Zp=o-nn;return ge?Br(Zp,L-is):Zp}function ct(nr){var nn=nr-ie,is=nr-le;return ie===t||nn>=o||nn<0||ge&&is>=L}function xt(){var nr=Df();if(ct(nr))return Rt(nr);X=$o(xt,wt(nr))}function Rt(nr){return X=t,De&&x?We(nr):(x=R=t,J)}function mi(){X!==t&&Hd(X),le=0,x=ie=R=X=t}function Hr(){return X===t?J:Rt(Df())}function yi(){var nr=Df(),nn=ct(nr);if(x=arguments,R=this,ie=nr,nn){if(X===t)return ot(ie);if(ge)return Hd(X),X=$o(xt,o),We(ie)}return X===t&&(X=$o(xt,o)),J}return yi.cancel=mi,yi.flush=Hr,yi}var r5=At(function(s,o){return Ed(s,1,o)}),i5=At(function(s,o,l){return Ed(s,Ti(o)||0,l)});function n5(s){return Xn(s,ae)}function Pf(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new Pi(f);var l=function(){var x=arguments,R=o?o.apply(this,x):x[0],L=l.cache;if(L.has(R))return L.get(R);var J=s.apply(this,x);return l.cache=L.set(R,J)||L,J};return l.cache=new(Pf.Cache||Yn),l}Pf.Cache=Yn;function Cf(s){if(typeof s!="function")throw new Pi(f);return function(){var o=arguments;switch(o.length){case 0:return!s.call(this);case 1:return!s.call(this,o[0]);case 2:return!s.call(this,o[0],o[1]);case 3:return!s.call(this,o[0],o[1],o[2])}return!s.apply(this,o)}}function s5(s){return Cp(2,s)}var a5=V3(function(s,o){o=o.length==1&&gt(o[0])?Yt(o[0],gi(nt())):Yt(_r(o,1),gi(nt()));var l=o.length;return At(function(x){for(var R=-1,L=Br(x.length,l);++R<L;)x[R]=o[R].call(this,x[R]);return pr(s,this,x)})}),Fu=At(function(s,o){var l=_s(o,qa(Fu));return Xn(s,F,t,o,l)}),Bp=At(function(s,o){var l=_s(o,qa(Bp));return Xn(s,V,t,o,l)}),o5=Zn(function(s,o){return Xn(s,q,t,t,t,o)});function c5(s,o){if(typeof s!="function")throw new Pi(f);return o=o===t?o:yt(o),At(s,o)}function f5(s,o){if(typeof s!="function")throw new Pi(f);return o=o==null?0:ur(yt(o),0),At(function(l){var x=l[o],R=Ms(l,0,o);return x&&ws(R,x),pr(s,this,R)})}function h5(s,o,l){var x=!0,R=!0;if(typeof s!="function")throw new Pi(f);return Qt(l)&&(x="leading"in l?!!l.leading:x,R="trailing"in l?!!l.trailing:R),Tp(s,o,{leading:x,maxWait:o,trailing:R})}function u5(s){return Pp(s,1)}function l5(s,o){return Fu(Su(o),s)}function d5(){if(!arguments.length)return[];var s=arguments[0];return gt(s)?s:[s]}function p5(s){return Oi(s,P)}function g5(s,o){return o=typeof o=="function"?o:t,Oi(s,P,o)}function v5(s){return Oi(s,E|P)}function b5(s,o){return o=typeof o=="function"?o:t,Oi(s,E|P,o)}function m5(s,o){return o==null||Ad(s,o,gr(o))}function rn(s,o){return s===o||s!==s&&o!==o}var y5=Af(du),w5=Af(function(s,o){return s>=o}),Xs=Dd(function(){return arguments}())?Dd:function(s){return Zt(s)&&Ut.call(s,"callee")&&!pd.call(s,"callee")},gt=oe.isArray,_5=Fr?gi(Fr):P3;function ti(s){return s!=null&&Of(s.length)&&!ts(s)}function ir(s){return Zt(s)&&ti(s)}function A5(s){return s===!0||s===!1||Zt(s)&&jr(s)==k}var Is=qm||Xu,E5=Zi?gi(Zi):C3;function x5(s){return Zt(s)&&s.nodeType===1&&!zo(s)}function S5(s){if(s==null)return!0;if(ti(s)&&(gt(s)||typeof s=="string"||typeof s.splice=="function"||Is(s)||La(s)||Xs(s)))return!s.length;var o=qr(s);if(o==he||o==Se)return!s.size;if(Uo(s))return!vu(s).length;for(var l in s)if(Ut.call(s,l))return!1;return!0}function M5(s,o){return Bo(s,o)}function I5(s,o,l){l=typeof l=="function"?l:t;var x=l?l(s,o):t;return x===t?Bo(s,o,t,l):!!x}function ju(s){if(!Zt(s))return!1;var o=jr(s);return o==z||o==w||typeof s.message=="string"&&typeof s.name=="string"&&!zo(s)}function D5(s){return typeof s=="number"&&vd(s)}function ts(s){if(!Qt(s))return!1;var o=jr(s);return o==ne||o==ce||o==$||o==Pe}function qp(s){return typeof s=="number"&&s==yt(s)}function Of(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=D}function Qt(s){var o=typeof s;return s!=null&&(o=="object"||o=="function")}function Zt(s){return s!=null&&typeof s=="object"}var Lp=Ii?gi(Ii):R3;function P5(s,o){return s===o||gu(s,o,Ru(o))}function C5(s,o,l){return l=typeof l=="function"?l:t,gu(s,o,Ru(o),l)}function O5(s){return Up(s)&&s!=+s}function R5(s){if(g6(s))throw new dt(a);return Pd(s)}function N5(s){return s===null}function T5(s){return s==null}function Up(s){return typeof s=="number"||Zt(s)&&jr(s)==ye}function zo(s){if(!Zt(s)||jr(s)!=Re)return!1;var o=nf(s);if(o===null)return!0;var l=Ut.call(o,"constructor")&&o.constructor;return typeof l=="function"&&l instanceof l&&Zc.call(l)==Cm}var ku=mn?gi(mn):N3;function B5(s){return qp(s)&&s>=-D&&s<=D}var $p=So?gi(So):T3;function Rf(s){return typeof s=="string"||!gt(s)&&Zt(s)&&jr(s)==me}function bi(s){return typeof s=="symbol"||Zt(s)&&jr(s)==Ce}var La=Hs?gi(Hs):B3;function q5(s){return s===t}function L5(s){return Zt(s)&&qr(s)==ve}function U5(s){return Zt(s)&&jr(s)==Oe}var $5=Af(bu),z5=Af(function(s,o){return s<=o});function zp(s){if(!s)return[];if(ti(s))return Rf(s)?en(s):ei(s);if(Io&&s[Io])return mm(s[Io]());var o=qr(s),l=o==he?nu:o==Se?Yc:Ua;return l(s)}function rs(s){if(!s)return s===0?s:0;if(s=Ti(s),s===M||s===-M){var o=s<0?-1:1;return o*S}return s===s?s:0}function yt(s){var o=rs(s),l=o%1;return o===o?l?o-l:o:0}function Fp(s){return s?Ws(yt(s),0,p):0}function Ti(s){if(typeof s=="number")return s;if(bi(s))return d;if(Qt(s)){var o=typeof s.valueOf=="function"?s.valueOf():s;s=Qt(o)?o+"":o}if(typeof s!="string")return s===0?s:+s;s=ad(s);var l=Or.test(s);return l||Nr.test(s)?pt(s.slice(2),l?2:8):Cr.test(s)?d:+s}function jp(s){return wn(s,ri(s))}function F5(s){return s?Ws(yt(s),-D,D):s===0?s:0}function qt(s){return s==null?"":vi(s)}var j5=Ta(function(s,o){if(Uo(o)||ti(o)){wn(o,gr(o),s);return}for(var l in o)Ut.call(o,l)&&Ro(s,l,o[l])}),kp=Ta(function(s,o){wn(o,ri(o),s)}),Nf=Ta(function(s,o,l,x){wn(o,ri(o),s,x)}),k5=Ta(function(s,o,l,x){wn(o,gr(o),s,x)}),H5=Zn(hu);function K5(s,o){var l=Na(s);return o==null?l:_d(l,o)}var V5=At(function(s,o){s=Ht(s);var l=-1,x=o.length,R=x>2?o[2]:t;for(R&&kr(o[0],o[1],R)&&(x=1);++l<x;)for(var L=o[l],J=ri(L),X=-1,ie=J.length;++X<ie;){var le=J[X],de=s[le];(de===t||rn(de,Ca[le])&&!Ut.call(s,le))&&(s[le]=L[le])}return s}),G5=At(function(s){return s.push(t,ap),pr(Hp,t,s)});function W5(s,o){return rd(s,nt(o,3),yn)}function J5(s,o){return rd(s,nt(o,3),lu)}function Y5(s,o){return s==null?s:uu(s,nt(o,3),ri)}function Q5(s,o){return s==null?s:Md(s,nt(o,3),ri)}function X5(s,o){return s&&yn(s,nt(o,3))}function Z5(s,o){return s&&lu(s,nt(o,3))}function ew(s){return s==null?[]:pf(s,gr(s))}function tw(s){return s==null?[]:pf(s,ri(s))}function Hu(s,o,l){var x=s==null?t:Js(s,o);return x===t?l:x}function rw(s,o){return s!=null&&fp(s,o,S3)}function Ku(s,o){return s!=null&&fp(s,o,M3)}var iw=tp(function(s,o,l){o!=null&&typeof o.toString!="function"&&(o=ef.call(o)),s[o]=l},Gu(ii)),nw=tp(function(s,o,l){o!=null&&typeof o.toString!="function"&&(o=ef.call(o)),Ut.call(s,o)?s[o].push(l):s[o]=[l]},nt),sw=At(To);function gr(s){return ti(s)?yd(s):vu(s)}function ri(s){return ti(s)?yd(s,!0):q3(s)}function aw(s,o){var l={};return o=nt(o,3),yn(s,function(x,R,L){Qn(l,o(x,R,L),x)}),l}function ow(s,o){var l={};return o=nt(o,3),yn(s,function(x,R,L){Qn(l,R,o(x,R,L))}),l}var cw=Ta(function(s,o,l){gf(s,o,l)}),Hp=Ta(function(s,o,l,x){gf(s,o,l,x)}),fw=Zn(function(s,o){var l={};if(s==null)return l;var x=!1;o=Yt(o,function(L){return L=Ss(L,s),x||(x=L.length>1),L}),wn(s,Cu(s),l),x&&(l=Oi(l,E|C|P,i6));for(var R=o.length;R--;)Au(l,o[R]);return l});function hw(s,o){return Kp(s,Cf(nt(o)))}var uw=Zn(function(s,o){return s==null?{}:U3(s,o)});function Kp(s,o){if(s==null)return{};var l=Yt(Cu(s),function(x){return[x]});return o=nt(o),qd(s,l,function(x,R){return o(x,R[0])})}function lw(s,o,l){o=Ss(o,s);var x=-1,R=o.length;for(R||(R=1,s=t);++x<R;){var L=s==null?t:s[_n(o[x])];L===t&&(x=R,L=l),s=ts(L)?L.call(s):L}return s}function dw(s,o,l){return s==null?s:qo(s,o,l)}function pw(s,o,l,x){return x=typeof x=="function"?x:t,s==null?s:qo(s,o,l,x)}var Vp=np(gr),Gp=np(ri);function gw(s,o,l){var x=gt(s),R=x||Is(s)||La(s);if(o=nt(o,4),l==null){var L=s&&s.constructor;R?l=x?new L:[]:Qt(s)?l=ts(L)?Na(nf(s)):{}:l={}}return(R?Di:yn)(s,function(J,X,ie){return o(l,J,X,ie)}),l}function vw(s,o){return s==null?!0:Au(s,o)}function bw(s,o,l){return s==null?s:Fd(s,o,Su(l))}function mw(s,o,l,x){return x=typeof x=="function"?x:t,s==null?s:Fd(s,o,Su(l),x)}function Ua(s){return s==null?[]:iu(s,gr(s))}function yw(s){return s==null?[]:iu(s,ri(s))}function ww(s,o,l){return l===t&&(l=o,o=t),l!==t&&(l=Ti(l),l=l===l?l:0),o!==t&&(o=Ti(o),o=o===o?o:0),Ws(Ti(s),o,l)}function _w(s,o,l){return o=rs(o),l===t?(l=o,o=0):l=rs(l),s=Ti(s),I3(s,o,l)}function Aw(s,o,l){if(l&&typeof l!="boolean"&&kr(s,o,l)&&(o=l=t),l===t&&(typeof o=="boolean"?(l=o,o=t):typeof s=="boolean"&&(l=s,s=t)),s===t&&o===t?(s=0,o=1):(s=rs(s),o===t?(o=s,s=0):o=rs(o)),s>o){var x=s;s=o,o=x}if(l||s%1||o%1){var R=bd();return Br(s+R*(o-s+jt("1e-"+((R+"").length-1))),o)}return yu(s,o)}var Ew=Ba(function(s,o,l){return o=o.toLowerCase(),s+(l?Wp(o):o)});function Wp(s){return Vu(qt(s).toLowerCase())}function Jp(s){return s=qt(s),s&&s.replace(Xt,dm).replace(Wh,"")}function xw(s,o,l){s=qt(s),o=vi(o);var x=s.length;l=l===t?x:Ws(yt(l),0,x);var R=l;return l-=o.length,l>=0&&s.slice(l,R)==o}function Sw(s){return s=qt(s),s&&Xe.test(s)?s.replace(Mt,pm):s}function Mw(s){return s=qt(s),s&&Fe.test(s)?s.replace(rt,"\\$&"):s}var Iw=Ba(function(s,o,l){return s+(l?"-":"")+o.toLowerCase()}),Dw=Ba(function(s,o,l){return s+(l?" ":"")+o.toLowerCase()}),Pw=Xd("toLowerCase");function Cw(s,o,l){s=qt(s),o=yt(o);var x=o?Da(s):0;if(!o||x>=o)return s;var R=(o-x)/2;return _f(cf(R),l)+s+_f(of(R),l)}function Ow(s,o,l){s=qt(s),o=yt(o);var x=o?Da(s):0;return o&&x<o?s+_f(o-x,l):s}function Rw(s,o,l){s=qt(s),o=yt(o);var x=o?Da(s):0;return o&&x<o?_f(o-x,l)+s:s}function Nw(s,o,l){return l||o==null?o=0:o&&(o=+o),zm(qt(s).replace(it,""),o||0)}function Tw(s,o,l){return(l?kr(s,o,l):o===t)?o=1:o=yt(o),wu(qt(s),o)}function Bw(){var s=arguments,o=qt(s[0]);return s.length<3?o:o.replace(s[1],s[2])}var qw=Ba(function(s,o,l){return s+(l?"_":"")+o.toLowerCase()});function Lw(s,o,l){return l&&typeof l!="number"&&kr(s,o,l)&&(o=l=t),l=l===t?p:l>>>0,l?(s=qt(s),s&&(typeof o=="string"||o!=null&&!ku(o))&&(o=vi(o),!o&&Ia(s))?Ms(en(s),0,l):s.split(o,l)):[]}var Uw=Ba(function(s,o,l){return s+(l?" ":"")+Vu(o)});function $w(s,o,l){return s=qt(s),l=l==null?0:Ws(yt(l),0,s.length),o=vi(o),s.slice(l,l+o.length)==o}function zw(s,o,l){var x=T.templateSettings;l&&kr(s,o,l)&&(o=t),s=qt(s),o=Nf({},o,x,sp);var R=Nf({},o.imports,x.imports,sp),L=gr(R),J=iu(R,L),X,ie,le=0,de=o.interpolate||Yr,ge="__p += '",De=su((o.escape||Yr).source+"|"+de.source+"|"+(de===et?at:Yr).source+"|"+(o.evaluate||Yr).source+"|$","g"),We="//# sourceURL="+(Ut.call(o,"sourceURL")?(o.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Jh+"]")+`
`;s.replace(De,function(ct,xt,Rt,mi,Hr,yi){return Rt||(Rt=mi),ge+=s.slice(le,yi).replace(Gi,gm),xt&&(X=!0,ge+=`' +
__e(`+xt+`) +
'`),Hr&&(ie=!0,ge+=`';
`+Hr+`;
__p += '`),Rt&&(ge+=`' +
((__t = (`+Rt+`)) == null ? '' : __t) +
'`),le=yi+ct.length,ct}),ge+=`';
`;var ot=Ut.call(o,"variable")&&o.variable;if(!ot)ge=`with (obj) {
`+ge+`
}
`;else if(Nt.test(ot))throw new dt(u);ge=(ie?ge.replace(_t,""):ge).replace(lt,"$1").replace(Je,"$1;"),ge="function("+(ot||"obj")+`) {
`+(ot?"":`obj || (obj = {});
`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(ie?`, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
`:`;
`)+ge+`return __p
}`;var wt=Qp(function(){return Bt(L,We+"return "+ge).apply(t,J)});if(wt.source=ge,ju(wt))throw wt;return wt}function Fw(s){return qt(s).toLowerCase()}function jw(s){return qt(s).toUpperCase()}function kw(s,o,l){if(s=qt(s),s&&(l||o===t))return ad(s);if(!s||!(o=vi(o)))return s;var x=en(s),R=en(o),L=od(x,R),J=cd(x,R)+1;return Ms(x,L,J).join("")}function Hw(s,o,l){if(s=qt(s),s&&(l||o===t))return s.slice(0,hd(s)+1);if(!s||!(o=vi(o)))return s;var x=en(s),R=cd(x,en(o))+1;return Ms(x,0,R).join("")}function Kw(s,o,l){if(s=qt(s),s&&(l||o===t))return s.replace(it,"");if(!s||!(o=vi(o)))return s;var x=en(s),R=od(x,en(o));return Ms(x,R).join("")}function Vw(s,o){var l=ue,x=B;if(Qt(o)){var R="separator"in o?o.separator:R;l="length"in o?yt(o.length):l,x="omission"in o?vi(o.omission):x}s=qt(s);var L=s.length;if(Ia(s)){var J=en(s);L=J.length}if(l>=L)return s;var X=l-Da(x);if(X<1)return x;var ie=J?Ms(J,0,X).join(""):s.slice(0,X);if(R===t)return ie+x;if(J&&(X+=ie.length-X),ku(R)){if(s.slice(X).search(R)){var le,de=ie;for(R.global||(R=su(R.source,qt(bt.exec(R))+"g")),R.lastIndex=0;le=R.exec(de);)var ge=le.index;ie=ie.slice(0,ge===t?X:ge)}}else if(s.indexOf(vi(R),X)!=X){var De=ie.lastIndexOf(R);De>-1&&(ie=ie.slice(0,De))}return ie+x}function Gw(s){return s=qt(s),s&&Be.test(s)?s.replace(Et,Am):s}var Ww=Ba(function(s,o,l){return s+(l?" ":"")+o.toUpperCase()}),Vu=Xd("toUpperCase");function Yp(s,o,l){return s=qt(s),o=l?t:o,o===t?bm(s)?Sm(s):cm(s):s.match(o)||[]}var Qp=At(function(s,o){try{return pr(s,t,o)}catch(l){return ju(l)?l:new dt(l)}}),Jw=Zn(function(s,o){return Di(o,function(l){l=_n(l),Qn(s,l,zu(s[l],s))}),s});function Yw(s){var o=s==null?0:s.length,l=nt();return s=o?Yt(s,function(x){if(typeof x[1]!="function")throw new Pi(f);return[l(x[0]),x[1]]}):[],At(function(x){for(var R=-1;++R<o;){var L=s[R];if(pr(L[0],this,x))return pr(L[1],this,x)}})}function Qw(s){return A3(Oi(s,E))}function Gu(s){return function(){return s}}function Xw(s,o){return s==null||s!==s?o:s}var Zw=ep(),e8=ep(!0);function ii(s){return s}function Wu(s){return Cd(typeof s=="function"?s:Oi(s,E))}function t8(s){return Rd(Oi(s,E))}function r8(s,o){return Nd(s,Oi(o,E))}var i8=At(function(s,o){return function(l){return To(l,s,o)}}),n8=At(function(s,o){return function(l){return To(s,l,o)}});function Ju(s,o,l){var x=gr(o),R=pf(o,x);l==null&&!(Qt(o)&&(R.length||!x.length))&&(l=o,o=s,s=this,R=pf(o,gr(o)));var L=!(Qt(l)&&"chain"in l)||!!l.chain,J=ts(s);return Di(R,function(X){var ie=o[X];s[X]=ie,J&&(s.prototype[X]=function(){var le=this.__chain__;if(L||le){var de=s(this.__wrapped__),ge=de.__actions__=ei(this.__actions__);return ge.push({func:ie,args:arguments,thisArg:s}),de.__chain__=le,de}return ie.apply(s,ws([this.value()],arguments))})}),s}function s8(){return Ot._===this&&(Ot._=Om),this}function Yu(){}function a8(s){return s=yt(s),At(function(o){return Td(o,s)})}var o8=Iu(Yt),c8=Iu(td),f8=Iu(Xh);function Xp(s){return Tu(s)?Zh(_n(s)):$3(s)}function h8(s){return function(o){return s==null?t:Js(s,o)}}var u8=rp(),l8=rp(!0);function Qu(){return[]}function Xu(){return!1}function d8(){return{}}function p8(){return""}function g8(){return!0}function v8(s,o){if(s=yt(s),s<1||s>D)return[];var l=p,x=Br(s,p);o=nt(o),s-=p;for(var R=ru(x,o);++l<s;)o(l);return R}function b8(s){return gt(s)?Yt(s,_n):bi(s)?[s]:ei(mp(qt(s)))}function m8(s){var o=++Pm;return qt(s)+o}var y8=wf(function(s,o){return s+o},0),w8=Du("ceil"),_8=wf(function(s,o){return s/o},1),A8=Du("floor");function E8(s){return s&&s.length?df(s,ii,du):t}function x8(s,o){return s&&s.length?df(s,nt(o,2),du):t}function S8(s){return nd(s,ii)}function M8(s,o){return nd(s,nt(o,2))}function I8(s){return s&&s.length?df(s,ii,bu):t}function D8(s,o){return s&&s.length?df(s,nt(o,2),bu):t}var P8=wf(function(s,o){return s*o},1),C8=Du("round"),O8=wf(function(s,o){return s-o},0);function R8(s){return s&&s.length?tu(s,ii):0}function N8(s,o){return s&&s.length?tu(s,nt(o,2)):0}return T.after=t5,T.ary=Pp,T.assign=j5,T.assignIn=kp,T.assignInWith=Nf,T.assignWith=k5,T.at=H5,T.before=Cp,T.bind=zu,T.bindAll=Jw,T.bindKey=Op,T.castArray=d5,T.chain=Mp,T.chunk=A6,T.compact=E6,T.concat=x6,T.cond=Yw,T.conforms=Qw,T.constant=Gu,T.countBy=Ry,T.create=K5,T.curry=Rp,T.curryRight=Np,T.debounce=Tp,T.defaults=V5,T.defaultsDeep=G5,T.defer=r5,T.delay=i5,T.difference=S6,T.differenceBy=M6,T.differenceWith=I6,T.drop=D6,T.dropRight=P6,T.dropRightWhile=C6,T.dropWhile=O6,T.fill=R6,T.filter=Ty,T.flatMap=Ly,T.flatMapDeep=Uy,T.flatMapDepth=$y,T.flatten=Ap,T.flattenDeep=N6,T.flattenDepth=T6,T.flip=n5,T.flow=Zw,T.flowRight=e8,T.fromPairs=B6,T.functions=ew,T.functionsIn=tw,T.groupBy=zy,T.initial=L6,T.intersection=U6,T.intersectionBy=$6,T.intersectionWith=z6,T.invert=iw,T.invertBy=nw,T.invokeMap=jy,T.iteratee=Wu,T.keyBy=ky,T.keys=gr,T.keysIn=ri,T.map=If,T.mapKeys=aw,T.mapValues=ow,T.matches=t8,T.matchesProperty=r8,T.memoize=Pf,T.merge=cw,T.mergeWith=Hp,T.method=i8,T.methodOf=n8,T.mixin=Ju,T.negate=Cf,T.nthArg=a8,T.omit=fw,T.omitBy=hw,T.once=s5,T.orderBy=Hy,T.over=o8,T.overArgs=a5,T.overEvery=c8,T.overSome=f8,T.partial=Fu,T.partialRight=Bp,T.partition=Ky,T.pick=uw,T.pickBy=Kp,T.property=Xp,T.propertyOf=h8,T.pull=H6,T.pullAll=xp,T.pullAllBy=K6,T.pullAllWith=V6,T.pullAt=G6,T.range=u8,T.rangeRight=l8,T.rearg=o5,T.reject=Wy,T.remove=W6,T.rest=c5,T.reverse=Uu,T.sampleSize=Yy,T.set=dw,T.setWith=pw,T.shuffle=Qy,T.slice=J6,T.sortBy=e5,T.sortedUniq=ry,T.sortedUniqBy=iy,T.split=Lw,T.spread=f5,T.tail=ny,T.take=sy,T.takeRight=ay,T.takeRightWhile=oy,T.takeWhile=cy,T.tap=Ey,T.throttle=h5,T.thru=Mf,T.toArray=zp,T.toPairs=Vp,T.toPairsIn=Gp,T.toPath=b8,T.toPlainObject=jp,T.transform=gw,T.unary=u5,T.union=fy,T.unionBy=hy,T.unionWith=uy,T.uniq=ly,T.uniqBy=dy,T.uniqWith=py,T.unset=vw,T.unzip=$u,T.unzipWith=Sp,T.update=bw,T.updateWith=mw,T.values=Ua,T.valuesIn=yw,T.without=gy,T.words=Yp,T.wrap=l5,T.xor=vy,T.xorBy=by,T.xorWith=my,T.zip=yy,T.zipObject=wy,T.zipObjectDeep=_y,T.zipWith=Ay,T.entries=Vp,T.entriesIn=Gp,T.extend=kp,T.extendWith=Nf,Ju(T,T),T.add=y8,T.attempt=Qp,T.camelCase=Ew,T.capitalize=Wp,T.ceil=w8,T.clamp=ww,T.clone=p5,T.cloneDeep=v5,T.cloneDeepWith=b5,T.cloneWith=g5,T.conformsTo=m5,T.deburr=Jp,T.defaultTo=Xw,T.divide=_8,T.endsWith=xw,T.eq=rn,T.escape=Sw,T.escapeRegExp=Mw,T.every=Ny,T.find=By,T.findIndex=wp,T.findKey=W5,T.findLast=qy,T.findLastIndex=_p,T.findLastKey=J5,T.floor=A8,T.forEach=Ip,T.forEachRight=Dp,T.forIn=Y5,T.forInRight=Q5,T.forOwn=X5,T.forOwnRight=Z5,T.get=Hu,T.gt=y5,T.gte=w5,T.has=rw,T.hasIn=Ku,T.head=Ep,T.identity=ii,T.includes=Fy,T.indexOf=q6,T.inRange=_w,T.invoke=sw,T.isArguments=Xs,T.isArray=gt,T.isArrayBuffer=_5,T.isArrayLike=ti,T.isArrayLikeObject=ir,T.isBoolean=A5,T.isBuffer=Is,T.isDate=E5,T.isElement=x5,T.isEmpty=S5,T.isEqual=M5,T.isEqualWith=I5,T.isError=ju,T.isFinite=D5,T.isFunction=ts,T.isInteger=qp,T.isLength=Of,T.isMap=Lp,T.isMatch=P5,T.isMatchWith=C5,T.isNaN=O5,T.isNative=R5,T.isNil=T5,T.isNull=N5,T.isNumber=Up,T.isObject=Qt,T.isObjectLike=Zt,T.isPlainObject=zo,T.isRegExp=ku,T.isSafeInteger=B5,T.isSet=$p,T.isString=Rf,T.isSymbol=bi,T.isTypedArray=La,T.isUndefined=q5,T.isWeakMap=L5,T.isWeakSet=U5,T.join=F6,T.kebabCase=Iw,T.last=Ni,T.lastIndexOf=j6,T.lowerCase=Dw,T.lowerFirst=Pw,T.lt=$5,T.lte=z5,T.max=E8,T.maxBy=x8,T.mean=S8,T.meanBy=M8,T.min=I8,T.minBy=D8,T.stubArray=Qu,T.stubFalse=Xu,T.stubObject=d8,T.stubString=p8,T.stubTrue=g8,T.multiply=P8,T.nth=k6,T.noConflict=s8,T.noop=Yu,T.now=Df,T.pad=Cw,T.padEnd=Ow,T.padStart=Rw,T.parseInt=Nw,T.random=Aw,T.reduce=Vy,T.reduceRight=Gy,T.repeat=Tw,T.replace=Bw,T.result=lw,T.round=C8,T.runInContext=re,T.sample=Jy,T.size=Xy,T.snakeCase=qw,T.some=Zy,T.sortedIndex=Y6,T.sortedIndexBy=Q6,T.sortedIndexOf=X6,T.sortedLastIndex=Z6,T.sortedLastIndexBy=ey,T.sortedLastIndexOf=ty,T.startCase=Uw,T.startsWith=$w,T.subtract=O8,T.sum=R8,T.sumBy=N8,T.template=zw,T.times=v8,T.toFinite=rs,T.toInteger=yt,T.toLength=Fp,T.toLower=Fw,T.toNumber=Ti,T.toSafeInteger=F5,T.toString=qt,T.toUpper=jw,T.trim=kw,T.trimEnd=Hw,T.trimStart=Kw,T.truncate=Vw,T.unescape=Gw,T.uniqueId=m8,T.upperCase=Ww,T.upperFirst=Vu,T.each=Ip,T.eachRight=Dp,T.first=Ep,Ju(T,function(){var s={};return yn(T,function(o,l){Ut.call(T.prototype,l)||(s[l]=o)}),s}(),{chain:!1}),T.VERSION=i,Di(["bind","bindKey","curry","curryRight","partial","partialRight"],function(s){T[s].placeholder=T}),Di(["drop","take"],function(s,o){It.prototype[s]=function(l){l=l===t?1:ur(yt(l),0);var x=this.__filtered__&&!o?new It(this):this.clone();return x.__filtered__?x.__takeCount__=Br(l,x.__takeCount__):x.__views__.push({size:Br(l,p),type:s+(x.__dir__<0?"Right":"")}),x},It.prototype[s+"Right"]=function(l){return this.reverse()[s](l).reverse()}}),Di(["filter","map","takeWhile"],function(s,o){var l=o+1,x=l==h||l==_;It.prototype[s]=function(R){var L=this.clone();return L.__iteratees__.push({iteratee:nt(R,3),type:l}),L.__filtered__=L.__filtered__||x,L}}),Di(["head","last"],function(s,o){var l="take"+(o?"Right":"");It.prototype[s]=function(){return this[l](1).value()[0]}}),Di(["initial","tail"],function(s,o){var l="drop"+(o?"":"Right");It.prototype[s]=function(){return this.__filtered__?new It(this):this[l](1)}}),It.prototype.compact=function(){return this.filter(ii)},It.prototype.find=function(s){return this.filter(s).head()},It.prototype.findLast=function(s){return this.reverse().find(s)},It.prototype.invokeMap=At(function(s,o){return typeof s=="function"?new It(this):this.map(function(l){return To(l,s,o)})}),It.prototype.reject=function(s){return this.filter(Cf(nt(s)))},It.prototype.slice=function(s,o){s=yt(s);var l=this;return l.__filtered__&&(s>0||o<0)?new It(l):(s<0?l=l.takeRight(-s):s&&(l=l.drop(s)),o!==t&&(o=yt(o),l=o<0?l.dropRight(-o):l.take(o-s)),l)},It.prototype.takeRightWhile=function(s){return this.reverse().takeWhile(s).reverse()},It.prototype.toArray=function(){return this.take(p)},yn(It.prototype,function(s,o){var l=/^(?:filter|find|map|reject)|While$/.test(o),x=/^(?:head|last)$/.test(o),R=T[x?"take"+(o=="last"?"Right":""):o],L=x||/^find/.test(o);R&&(T.prototype[o]=function(){var J=this.__wrapped__,X=x?[1]:arguments,ie=J instanceof It,le=X[0],de=ie||gt(J),ge=function(xt){var Rt=R.apply(T,ws([xt],X));return x&&De?Rt[0]:Rt};de&&l&&typeof le=="function"&&le.length!=1&&(ie=de=!1);var De=this.__chain__,We=!!this.__actions__.length,ot=L&&!De,wt=ie&&!We;if(!L&&de){J=wt?J:new It(this);var ct=s.apply(J,X);return ct.__actions__.push({func:Mf,args:[ge],thisArg:t}),new Ci(ct,De)}return ot&&wt?s.apply(this,X):(ct=this.thru(ge),ot?x?ct.value()[0]:ct.value():ct)})}),Di(["pop","push","shift","sort","splice","unshift"],function(s){var o=Qc[s],l=/^(?:push|sort|unshift)$/.test(s)?"tap":"thru",x=/^(?:pop|shift)$/.test(s);T.prototype[s]=function(){var R=arguments;if(x&&!this.__chain__){var L=this.value();return o.apply(gt(L)?L:[],R)}return this[l](function(J){return o.apply(gt(J)?J:[],R)})}}),yn(It.prototype,function(s,o){var l=T[o];if(l){var x=l.name+"";Ut.call(Ra,x)||(Ra[x]=[]),Ra[x].push({name:o,func:l})}}),Ra[yf(t,Q).name]=[{name:"wrapper",func:t}],It.prototype.clone=Gm,It.prototype.reverse=Wm,It.prototype.value=Jm,T.prototype.at=xy,T.prototype.chain=Sy,T.prototype.commit=My,T.prototype.next=Iy,T.prototype.plant=Py,T.prototype.reverse=Cy,T.prototype.toJSON=T.prototype.valueOf=T.prototype.value=Oy,T.prototype.first=T.prototype.head,Io&&(T.prototype[Io]=Dy),T},Pa=Mm();rr?((rr.exports=Pa)._=Pa,kt._=Pa):Ot._=Pa}).call(Zo)})(v0,v0.exports);var VR=Object.defineProperty,GR=Object.defineProperties,WR=Object.getOwnPropertyDescriptors,mv=Object.getOwnPropertySymbols,JR=Object.prototype.hasOwnProperty,YR=Object.prototype.propertyIsEnumerable,yv=(r,e,t)=>e in r?VR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,kf=(r,e)=>{for(var t in e||(e={}))JR.call(e,t)&&yv(r,t,e[t]);if(mv)for(var t of mv(e))YR.call(e,t)&&yv(r,t,e[t]);return r},QR=(r,e)=>GR(r,WR(e));function pn(r,e,t){var i;const n=ic(r);return((i=e.rpcMap)==null?void 0:i[n.reference])||`${KR}?chainId=${n.namespace}:${n.reference}&projectId=${t}`}function _a(r){return r.includes(":")?r.split(":")[1]:r}function tm(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function XR(r,e){const t=Object.keys(e.namespaces).filter(n=>n.includes(r));if(!t.length)return[];const i=[];return t.forEach(n=>{const a=e.namespaces[n].accounts;i.push(...a)}),i}function ql(r={},e={}){const t=wv(r),i=wv(e);return v0.exports.merge(t,i)}function wv(r){var e,t,i,n;const a={};if(!dc(r))return a;for(const[f,u]of Object.entries(r)){const b=H0(f)?[f]:u.chains,v=u.methods||[],y=u.events||[],E=u.rpcMap||{},C=rc(f);a[C]=QR(kf(kf({},a[C]),u),{chains:Vf(b,(e=a[C])==null?void 0:e.chains),methods:Vf(v,(t=a[C])==null?void 0:t.methods),events:Vf(y,(i=a[C])==null?void 0:i.events),rpcMap:kf(kf({},E),(n=a[C])==null?void 0:n.rpcMap)})}return a}function ZR(r){return r.includes(":")?r.split(":")[2]:r}function _v(r){const e={};for(const[t,i]of Object.entries(r)){const n=i.methods||[],a=i.events||[],f=i.accounts||[],u=H0(t)?[t]:i.chains?i.chains:tm(i.accounts);e[t]={chains:u,methods:n,events:a,accounts:f}}return e}function Ll(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const rm={},Lt=r=>rm[r],Ul=(r,e)=>{rm[r]=e};class eN{constructor(e){this.name="polkadot",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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;const e=this.namespace.chains[0];if(!e)throw new 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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=_a(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}var tN=Object.defineProperty,rN=Object.defineProperties,iN=Object.getOwnPropertyDescriptors,Av=Object.getOwnPropertySymbols,nN=Object.prototype.hasOwnProperty,sN=Object.prototype.propertyIsEnumerable,Ev=(r,e,t)=>e in r?tN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xv=(r,e)=>{for(var t in e||(e={}))nN.call(e,t)&&Ev(r,t,e[t]);if(Av)for(var t of Av(e))sN.call(e,t)&&Ev(r,t,e[t]);return r},Sv=(r,e)=>rN(r,iN(e));class aN{constructor(e){this.name="eip155",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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)}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(vn.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;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const i=t||pn(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=parseInt(_a(t));e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,i;let n=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";n=n.startsWith("0x")?n:`0x${n}`;const a=parseInt(n,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:n}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. 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){var t,i,n;const a=(i=(t=e.request)==null?void 0:t.params)==null?void 0:i[0];if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const f=this.client.session.get(e.topic),u=((n=f==null?void 0:f.sessionProperties)==null?void 0:n.capabilities)||{};if(u!=null&&u[a])return u==null?void 0:u[a];const b=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Sv(xv({},f.sessionProperties||{}),{capabilities:Sv(xv({},u||{}),{[a]:b})})})}catch(v){console.warn("Failed to update session with capabilities",v)}return b}}class oN{constructor(e){this.name="solana",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=_a(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}class cN{constructor(e){this.name="cosmos",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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;const e=this.namespace.chains[0];if(!e)throw new 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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=_a(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}class fN{constructor(e){this.name="algorand",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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]){const i=t||pn(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new gn(new Gn(i,Lt("disableProviderPing")))}}class hN{constructor(e){this.name="cip34",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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;const e=this.namespace.chains[0];if(!e)throw new 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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const i=this.getCardanoRPCUrl(t),n=_a(t);e[n]=this.createHttpProvider(n,i)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||this.getCardanoRPCUrl(e);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}class uN{constructor(e){this.name="elrond",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=_a(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}class lN{constructor(e){this.name="multiversx",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=_a(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}class dN{constructor(e){this.name="near",this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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;const e=this.namespace.chains[0];if(!e)throw new 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]){const i=t||pn(`${this.name}:${e}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace);return typeof i>"u"?void 0:new gn(new Gn(i,Lt("disableProviderPing")))}}class pN{constructor(e){this.name=Ka,this.namespace=e.namespace,this.events=Lt("events"),this.client=Lt("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(vn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){var e,t;const i={};return(t=(e=this.namespace)==null?void 0:e.accounts)==null||t.forEach(n=>{const a=ic(n);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(n)}),i}getHttpProvider(e){const t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||pn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new gn(new Gn(i,Lt("disableProviderPing")))}}var gN=Object.defineProperty,vN=Object.defineProperties,bN=Object.getOwnPropertyDescriptors,Mv=Object.getOwnPropertySymbols,mN=Object.prototype.hasOwnProperty,yN=Object.prototype.propertyIsEnumerable,Iv=(r,e,t)=>e in r?gN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Hf=(r,e)=>{for(var t in e||(e={}))mN.call(e,t)&&Iv(r,t,e[t]);if(Mv)for(var t of Mv(e))yN.call(e,t)&&Iv(r,t,e[t]);return r},$l=(r,e)=>vN(r,bN(e));class Z0{constructor(e){this.events=new _0,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=e,this.logger=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Dc(Uh({level:(e==null?void 0:e.logger)||vv})),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const t=new Z0(e);return await t.initialize(),t}async request(e,t,i){const[n,a]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(n).request({request:Hf({},e),chainId:`${n}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,n){const a=new Date().getTime();this.request(e,i,n).then(f=>t(null,$h(a,f))).catch(f=>t(f,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:$t("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:t,response:i}=await this.client.authenticate(e);t&&(this.uri=t,this.events.emit("display_uri",t));const n=await i();if(this.session=n.session,this.session){const a=_v(this.session.namespaces);this.namespaces=ql(this.namespaces,a),this.persist("namespaces",this.namespaces),this.onConnect()}return n}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){this.shouldAbortPairingAttempt=!1;let t=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(t>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:i,approval:n}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});i&&(this.uri=i,this.events.emit("display_uri",i)),await n().then(a=>{this.session=a;const f=_v(a.namespaces);this.namespaces=ql(this.namespaces,f),this.persist("namespaces",this.namespaces)}).catch(a=>{if(a.message!==em)throw a;t++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[i,n]=this.validateChain(e),a=this.getProvider(i);a.name===Ka?a.setDefaultChain(`${i}:${n}`,t):a.setDefaultChain(n,t)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(jn(t)){for(const i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const e=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[e]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await X0.init({core:this.providerOpts.core,logger:this.providerOpts.logger||vv,relayUrl:this.providerOpts.relayUrl||jR,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.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>rc(t)))];Ul("client",this.client),Ul("events",this.events),Ul("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const i=XR(t,this.session),n=tm(i),a=ql(this.namespaces,this.optionalNamespaces),f=$l(Hf({},a[t]),{accounts:i,chains:n});switch(t){case"eip155":this.rpcProviders[t]=new aN({namespace:f});break;case"algorand":this.rpcProviders[t]=new fN({namespace:f});break;case"solana":this.rpcProviders[t]=new oN({namespace:f});break;case"cosmos":this.rpcProviders[t]=new cN({namespace:f});break;case"polkadot":this.rpcProviders[t]=new eN({namespace:f});break;case"cip34":this.rpcProviders[t]=new hN({namespace:f});break;case"elrond":this.rpcProviders[t]=new uN({namespace:f});break;case"multiversx":this.rpcProviders[t]=new lN({namespace:f});break;case"near":this.rpcProviders[t]=new dN({namespace:f});break;default:this.rpcProviders[Ka]?this.rpcProviders[Ka].updateNamespace(f):this.rpcProviders[Ka]=new pN({namespace:f})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:i}=t;if(i.name==="accountsChanged"){const n=i.data;n&&jn(n)&&this.events.emit("accountsChanged",n.map(ZR))}else if(i.name==="chainChanged"){const n=t.chainId,a=t.event.data,f=rc(n),u=Ll(n)!==Ll(a)?`${f}:${Ll(a)}`:n;this.onChainChanged(u)}else this.events.emit(i.name,i.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i;const{namespaces:n}=t,a=(i=this.client)==null?void 0:i.session.get(e);this.session=$l(Hf({},a),{namespaces:n}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",$l(Hf({},$t("USER_DISCONNECTED")),{data:e.topic}))}),this.on(vn.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Ka]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:i,sessionProperties:n}=e;t&&Object.keys(t).length&&(this.namespaces=t),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=n,this.persist("namespaces",t),this.persist("optionalNamespaces",i)}validateChain(e){const[t,i]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(f=>rc(f)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];const n=rc(Object.keys(this.namespaces)[0]),a=this.rpcProviders[n].getDefaultChain();return[n,a]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[i,n]=this.validateChain(e);n&&(t||this.getProvider(i).setDefaultChain(n),this.namespaces[i]?this.namespaces[i].defaultChain=n:this.namespaces[`${i}:${n}`]?this.namespaces[`${i}:${n}`].defaultChain=n:this.namespaces[`${i}:${n}`]={defaultChain:n},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",n))}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(e,t){this.client.core.storage.setItem(`${bv}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${bv}/${e}`)}}const wN=Z0,_N="wc",AN="ethereum_provider",EN=`${_N}@2:${AN}:`,xN="https://rpc.walletconnect.com/v1/",b0=["eth_sendTransaction","personal_sign"],SN=["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_sendCalls","wallet_getCapabilities","wallet_getCallsStatus","wallet_showCallsStatus"],m0=["chainChanged","accountsChanged"],MN=["chainChanged","accountsChanged","message","disconnect","connect"];var IN=Object.defineProperty,DN=Object.defineProperties,PN=Object.getOwnPropertyDescriptors,Dv=Object.getOwnPropertySymbols,CN=Object.prototype.hasOwnProperty,ON=Object.prototype.propertyIsEnumerable,Pv=(r,e,t)=>e in r?IN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Va=(r,e)=>{for(var t in e||(e={}))CN.call(e,t)&&Pv(r,t,e[t]);if(Dv)for(var t of Dv(e))ON.call(e,t)&&Pv(r,t,e[t]);return r},zl=(r,e)=>DN(r,PN(e));function mh(r){return Number(r[0].split(":")[1])}function Kf(r){return`0x${r.toString(16)}`}function RN(r){const{chains:e,optionalChains:t,methods:i,optionalMethods:n,events:a,optionalEvents:f,rpcMap:u}=r;if(!jn(e))throw new Error("Invalid chains");const b={chains:e,methods:i||b0,events:a||m0,rpcMap:Va({},e.length?{[mh(e)]:u[mh(e)]}:{})},v=a==null?void 0:a.filter(P=>!m0.includes(P)),y=i==null?void 0:i.filter(P=>!b0.includes(P));if(!t&&!f&&!n&&!(v!=null&&v.length)&&!(y!=null&&y.length))return{required:e.length?b:void 0};const E=(v==null?void 0:v.length)&&(y==null?void 0:y.length)||!t,C={chains:[...new Set(E?b.chains.concat(t||[]):t)],methods:[...new Set(b.methods.concat(n!=null&&n.length?n:SN))],events:[...new Set(b.events.concat(f!=null&&f.length?f:MN))],rpcMap:u};return{required:e.length?b:void 0,optional:t.length?C:void 0}}class ed{constructor(){this.events=new Hi.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=EN,this.on=(e,t)=>(this.events.on(e,t),this),this.once=(e,t)=>(this.events.once(e,t),this),this.removeListener=(e,t)=>(this.events.removeListener(e,t),this),this.off=(e,t)=>(this.events.off(e,t),this),this.parseAccount=e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e,this.signer={},this.rpc={}}static async init(e){const t=new ed;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,i){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:t,optional:i}=RN(this.rpc);try{const n=await new Promise(async(f,u)=>{var b;this.rpc.showQrModal&&((b=this.modal)==null||b.subscribeModal(v=>{!v.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),u(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(zl(Va({namespaces:Va({},t&&{[this.namespace]:t})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e==null?void 0:e.pairingTopic})).then(v=>{f(v)}).catch(v=>{u(new Error(v.message))})});if(!n)return;const a=N1(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:a),this.setAccounts(a),this.events.emit("connect",{chainId:Kf(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async authenticate(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e==null?void 0:e.chains});try{const t=await new Promise(async(n,a)=>{var f;this.rpc.showQrModal&&((f=this.modal)==null||f.subscribeModal(u=>{!u.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),a(new Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(zl(Va({},e),{chains:this.rpc.chains})).then(u=>{n(u)}).catch(u=>{a(new Error(u.message))})}),i=t.session;if(i){const n=N1(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:n),this.setAccounts(n),this.events.emit("connect",{chainId:Kf(this.chainId)})}return t}catch(t){throw this.signer.logger.error(t),t}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",e=>{const{params:t}=e,{event:i}=t;i.name==="accountsChanged"?(this.accounts=this.parseAccounts(i.data),this.events.emit("accountsChanged",this.accounts)):i.name==="chainChanged"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",Kf(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",zl(Va({},$t("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,i;this.rpc.showQrModal&&((t=this.modal)==null||t.closeModal(),(i=this.modal)==null||i.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",Kf(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,i,n]=e.split(":");return{chainId:`${t}:${i}`,address:n}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,i;const n=(t=e==null?void 0:e.chains)!=null?t:[],a=(i=e==null?void 0:e.optionalChains)!=null?i:[],f=n.concat(a);if(!f.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const u=n.length?(e==null?void 0:e.methods)||b0:[],b=n.length?(e==null?void 0:e.events)||m0:[],v=(e==null?void 0:e.optionalMethods)||[],y=(e==null?void 0:e.optionalEvents)||[],E=(e==null?void 0:e.rpcMap)||this.buildRpcMap(f,e.projectId),C=(e==null?void 0:e.qrModalOptions)||void 0;return{chains:n==null?void 0:n.map(P=>this.formatChainId(P)),optionalChains:a.map(P=>this.formatChainId(P)),methods:u,events:b,optionalMethods:v,optionalEvents:y,rpcMap:E,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:C,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const i={};return e.forEach(n=>{i[n]=this.getRpcUrl(n,t)}),i}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?mh(this.rpc.chains):mh(this.rpc.optionalChains),this.signer=await wN.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let t;try{const{WalletConnectModal:i}=await B8(()=>import("./index-C1NT52_0.js").then(n=>n.i),__vite__mapDeps([0,1,2]),import.meta.url);t=i}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(t)try{this.modal=new t(Va({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:i,rpcMap:n}=e;t&&jn(t)&&(this.rpc.chains=t.map(a=>this.formatChainId(a)),t.forEach(a=>{this.rpc.rpcMap[a]=(n==null?void 0:n[a])||this.getRpcUrl(a)})),i&&jn(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i==null?void 0:i.map(a=>this.formatChainId(a)),i.forEach(a=>{this.rpc.rpcMap[a]=(n==null?void 0:n[a])||this.getRpcUrl(a)}))}getRpcUrl(e,t){var i;return((i=this.rpc.rpcMap)==null?void 0:i[e])||`${xN}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t==null?void 0:t.accounts),this.setAccounts(t==null?void 0:t.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(t=>this.signer.logger.warn(t))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}}const nT=ed;export{nT as EthereumProvider,MN as OPTIONAL_EVENTS,SN as OPTIONAL_METHODS,m0 as REQUIRED_EVENTS,b0 as REQUIRED_METHODS,ed as default};
